EE 599-001 - Evolutionary Computing
EE 699-001 - Advanced Evolutionary Computing

Preliminary ABET-style Syllabus

CATALOG DATA:

EE 599 - Evolutionary Computing: 3 Credits

EE 699 - Advanced Evolutionary Computing: 3 Credits

Evolutionary Computing (EC) is about the use of computer simulation of evolutionary processes to solve engineering problems. This course will give students an understanding of, and experience with, evolutionary computing including both Genetic search Algorithms (GAs) and Genetic Programming (GP). The focus will be on solving complex engineering design problems using these techniques. In addition to specific assignments, each student will be expected to work on at least one "open" problem that they will propose. The solution approach for the "open" problem will be described in a short write-up and presented to the class. C programming will be required to implement the design tools.

Grading will be based on two in-class exams, a number of programming assignments, and the presentation of the students solution to their final assignment. At the end of the course, each student will be required to summarize their final assignment approach and results in a brief paper, and a short (~10 minute) presentation to the class. The report should be in a form suitable for submission to the IEEE student paper contest and students also are expected to present their project at ECE Day unless excused by the instructor. It is expected that the exams and assignments will count for approximately equal portions of the grade.

The primary difference between graduate and undergraduate versions of this course is scope of the assignments; the graduate students will be given broader and more "open" assignments, whereas undergraduates will have more details and implementation hints specified for them. Further, undergraduates may be permitted to do their final project in small teams.

TEXTBOOK:

None required - Course notes

COORDINATOR:

Dr. Henry G. Dietz, Professor

GOALS:

The goal of this course is to enable students to use evolutionary computing methods, including a range of GA and GP techniques, to solve engineering problems. The focus is more on engineering than on theoretical artificial intelligence; thus, emphasis will be placed on concepts involving how engineering domain-specific knowledge can be used to enhance evolutionary techniques.

PREREQUISITE:

For EE599: Undergraduate standing and fluency in C or a similar programming language

For EE699: Graduate standing and fluency in C or a similar programming language

TOPICS:

  1. Introduction
  2. Genetic Algorithm
  3. Genetic Programming
  4. Case studies
  5. Graduate project presentations and discussions

OUTCOMES:

Upon completion of this course the students should demonstrate the ability to:

  1. Understand the evolutionary computing approach, how it differs from other computational problem-solving techniques, and under what circumstances it can be used effectively.
  2. Understand the basic Genetic Algorithm and various advanced versions.
  3. Use a Genetic Algorithm to solve a given engineering problem.
  4. Use engineering domain-specific knowledge to improve the effectiveness of the Genetic Algorithm.
  5. Understand basic Genetic Programming and various advanced versions.
  6. Use Genetic Programming to solve a given engineering problem.
  7. Use engineering domain-specific knowledge to improve the effectiveness of Genetic Programming.

COMPUTER USAGE:

Students will perform open-ended experiments using evolutionary computing to solve engineering problems.

DESIGN CONTENT:

Students will design the evolutionary computing approaches for their problems. Implementation of these approaches will largely reuse code provided to them, with only a small amount of new coding required. The design content, which is the bulk of the effort in the projects, is the casting of a problem in a form appropriate for an evolutionary computing solution and the determination of the appropriate parameters for the GA/GP search.

CLASS SCHEDULE:

Lecture 3 hours per week.

PROFESSIONAL CONTRIBUTION:

Engineering Science: 1 Credit (33%)

Engineering Design: 2 Credits (67%)

RELATION OF COURSE TO PROGRAM OBJECTIVES:

These course outcomes fulfill the following program objectives:

PREPARED BY: Henry G. Dietz DATE: August 25, 2004 (last update: August 24, 2005)


http://aggregate.org/EC/ Advanced Evolutionary Computing