This document provides an introduction to genetic algorithms. It discusses the historical development of evolutionary computation, including genetic algorithms, genetic programming, evolutionary strategies, and evolutionary programming. The key features of evolutionary computation are described, such as particulate genes and population genetics, the adaptive code book, and the genotype/phenotype dichotomy. Advantages of evolutionary computation are highlighted, including conceptual simplicity, broad applicability, hybridization with other methods, parallelism, robustness to dynamic changes, and solving problems with no known solutions. The document concludes with a discussion of applications of evolutionary computation.