Neuroevolution is a technique that uses genetic algorithms to train neural networks. It evolves network topologies, weights, and hyperparameters without relying on backpropagation or large labeled training datasets. The NEAT algorithm is introduced as a prominent neuroevolution method. It uses speciation to protect innovative network topologies and incremental evolution. NEAT encodes networks and uses historical markings to solve the competing conventions problem during crossover. Extensions to NEAT aim to further improve the scalability and efficiency of neuroevolution.