A Guide to Follow This Course

Learn about the objectives of the course and the intended audience.

We'll cover the following

Why this course?

Genetic algorithms are a powerful and often overlooked tool for solving difficult problems. Some of the most beautiful solutions to practical problems are inspired by or modeled after solutions found in nature. Genetic algorithms are no exception. Inspired by the original optimization algorithm, evolution, genetic algorithms can be used to solve a variety of problems in various fields. As you’ll see in this course, genetic algorithms have applications in finance, logistics, artificial intelligence, and more.

Unfortunately, despite being one of the first “artificial intelligence” algorithms, there’s a surprising lack of resources available for programmers to explore how to use evolution to solve problems. Furthermore, there are no books or courses designed specifically with Elixir programmers in mind.

The goal behind creating this course is to bring forward a field of programming that Elixir programmers have never interacted with before. Since technology is rapidly evolving, programmers need to constantly seek out and learn new fields and new technologies. While Elixir may not be the ideal language for solving computationally expensive problems overall, a programmer shouldn’t be forced to learn an entire new language just to learn about genetic algorithms.

We hope this course forces you to think outside your comfort zone and inspires you to further explore the beauty of genetic algorithms.

Intended audience

This course is for programmers with some experience or familiarity working with Elixir who want to expand their knowledge into the field of genetic algorithms.

While Elixir is not traditionally thought of as a language suited for computationally expensive problems, its simple syntax, and functional style allow us to solve optimization problems with idiomatic solutions that leverage genetic algorithms. These solutions gently introduce the user to genetic algorithms and optimization problems without the overhead of learning a completely new programming language.

Note: If you have no experience with Elixir, you might find this course difficult to follow at times. Before getting started, we recommend checking out Elixir school or the Elixir guides to get some familiarity with the language.