Syllabus

____________________________________________________


General syllabus

Note: click on the following link, and actually read it; it's part of the syllabus:
SyllabusGeneral


Course description

Introduces evolutionary algorithms, a class of stochastic, population-based algorithms inspired by natural evolution theory (e.g., genetic algorithms), capable of solving complex problems for which other techniques fail. Students will implement course concepts, tackling science, engineering, and/or business problems.


Prerequisite

  • Grade of "C" or better in both:
    • Comp Sci 2500
    • >3000-level Probability and Statistics course
  • A good attitude, work ethic, and an interest in EC!

Textbook

http://www.evolutionarycomputation.org/


Which virtual machine / OS for this class?

This class is more flexible in regard to which OS, with some notes for you to consider:

  1. I develop assignments on Fedora, and the Docker containers we grade on git-classes CI/CD will be Fedora.
  2. OpenSuse is easy, rolling, pleasant, well-documented. I have a convenient OVA for newbies, and non-CS students in courses like Bioinformatics (see syllabus). It should generally work as Fedora would in the relevant ways for assignments (and not break things for you).
  3. Debian-based would be OK, though you'll have more work for setup, as it's antiquated. It also comes out of the box with stuff like the PATH set up incorrectly...
  4. If you run some other Linux else bare-metal, it'll almost certainly work, and I'm happy to field questions.

Which programming language for this class?

Multiple!
Python, C, Java (really!), Clojure (Lisp on Java), and/or push (pyshgp)



Backlinks: index:Classes:EvolutionaryComputation