A deterministic extractor is a function that extracts almost perfect random bits from a weak random source. In this research monograph the author constructs deterministic extractors for several types of sources. A basic theme in this work is a methodology of recycling randomness which enables increasing the output length of deterministic extractors to near optimal length. The author's main work examines deterministic extractors for bit-fixing sources, deterministic extractors for affine sources and polynomial sources over large fields, and increasing the output length of zero-error dispersers. This work will be of interest to researchers and graduate students in combinatorics and theoretical computer science.