CSCI 397: Genetic Algorithms (F02)

Department of Computer Science
Washington & Lee University

 CS397 (Fall 2002): Genetic Algorithms


Course instructor: Prof. Simon Levy (Parmly 407B, x8419,

Office hours: MWF 2-4 and by appointment.

This page:

Course Requirements

  • Prereqs: Programming competence (Java, C, or C++); a little theory (inductive proofs)
  • Homework (“thought exercises” and coding)
  • Final programming project (individual or team)
  • Class participation: This is a seminar, and a goal will be to have everyone present a paper or unassigned section of the book, as well as a final project summary, if we have time.
  • Each of these three (homework, project, participation) will count for approximately 1/3 of your final grade. This policy is flexible; for example, if you have trouble with some of the problem sets but do an outstanding final project, the project grade will count more.


Guidelines – please read them carefully and be sure that you understand them.

  • Problem Set 1 (due Monday 23 September). Postscript PDF
    Java Roulette wheel class: Class file | Documentation | Source code
    Double-Precision Floating-Point Arrays class: Class file | Documentation | Source code
  • Problem Set 2 (due Friday 11 October). Postscript | PDF
    BoolTree class: Zip file | Documentation | Source code
    New Java Roulette wheel class: Class file | Documentation | Source code
    New Double-Precision Floating-Point Arrays class: Zip file | Documentation

FINAL PROJECT: Proposal Due Monday 16 October

This project can be as simple as replicating published results; for example, implementing Hillis’s sorting networks GA, or something equally non-trivial. Or, more likely, it will be a research problem from your own area of interest (math, geology, programming languages) that you’d like to try and solve with a GA. The actual project should take about a month of work, and be summarized in a 5-10 page writeup, with references, that you will present to the class at the end of the term.



  • AI Helps Gamers Keep on Playing : Using a GA to learn a human player’s strategy (Check out the nerd in the byline!)
  • The DEMO Lab : My old stomping ground! Lots of cool GA-related papers, interactive games, animations, etc.