This is a survey of pseudorandomness, the theory of efficiently generating objects that "look random" despite being constructed using little or no randomness. This theory has significance for a number of areas in computer science and mathematics, including computational complexity, algorithms, cryptography, combinatorics, communications, and additive number theory. Our treatment places particular emphasis on the intimate connections that have been discovered between a variety of fundamental "pseudorandom objects" that at first seem very different in nature: expander graphs, randomness extractors, list-decodable error-correcting codes, samplers, and pseudorandom generators. The structure of the presentation is meant to be suitable for teaching in a graduate-level course, with exercises accompanying each section.Cryptography: Randomization is central to cryptography. Indeed, cryptography is concerned with protecting secrets, and how can something be secret if it is deterministically fixed? For example, we assume that cryptographic keys are chosen at random (e.g., uniformly from the set of n-bit strings). In addition to the keys, it is known that often the cryptographic algorithms themselves (e.g., for encryption) must be randomized to achieve satisfactory notions of security (e.g., that no partial information about the message is leaked).Combinatorial Constructions: Randomness is often used to prove the existence of combinatorial objects with a desired property. Specifically, if one can show that a randomly chosen object has the property with nonzero probability, then it follows that such an object must, in fact, exist. A famous example due to Erdős is the existence of Ramsey graphs: A randomly chosen n-vertex graph has no clique or independent set of size 2 log n with high probability. We will see several other applications of this "Probabilistic Method" in this survey, such as with two important objects mentioned below: expander graphs and errorcorrecting codes.Though these applications of randomness are interesting and rich topics of study in their own right, they are not the focus of this survey. Rather, we ask the following: Main Question: Can we reduce or even eliminate the use of randomness in these settings?We have several motivations for doing this.