This document provides an introduction to genetic algorithms. It begins with a brief overview of genetic algorithms and some of their applications, such as image processing, protein structure prediction, chip layout design, and analysis of time series data. The rest of the document covers the typical components of a genetic algorithm, including an initial population of solutions, a fitness function, operators to combine solutions and introduce mutations, and iteration of these steps over generations. Code implementations and further resources are also discussed.