Syllabus
Evolutionary Computation
Contact Information Course Description Course Goals and Objectives Course Outline Calendar
Course Materials Grading Attendance and Participation Assignments Honesty

Contact Information

Professor Richard J. Povinelli, Ph.D.
E-mail richard.povinelli@marquette.edu
Homepage http://povinelli.eece.mu.edu
D2L https://d2l.mu.edu/
Phone 414.288.7088
Office Hours EN221

Course Description and Prerequisites

Evolutionary computation consists of a set of search methods based on the Darwinian principle of survival of the fittest.The methods include genetic algorithms, evolutionary strategies, and evolutionary and genetic programming. These methods have been successfully applied to many different problem domains including optimization, learning, control, and scheduling. This course will provide students with the background and knowledge to implement various evolutionary computation algorithms, discuss tradeoffs between different evolutionary algorithms and other search methods, and discuss issues related to the application and performance evaluation of evolutionary algorithms.

Prerequisites: Data structures (COSC 2100 or 2110); calculus 1 (MATH 1450); discrete math (MATH 2100 or 2105)

Course Goals

By the end of this course, you should...
  • To discuss and evaluate the field of evolutionary computation, including theory and application.

Course Objectives

 
By the end of this course, you should...
  • Be able to explain and apply a simple genetic algorithm (sGA).
  • Be able to explain and apply an advanced genetic algorithms.
  • Be able to explain and apply evolutionary strategies.
  • Be able to explain and apply evolutionary and genetic programming.
  • Be able to explain the theoretical foundations for genetic algorithms.
  • Be able to compare and contrast different evolutionary algorithms.
  • Be able to use the internet as a resource for research including newsgroups and appropriate webpages

 

Graduate students should also...
  • Be able to conduct a literature review.
  • Be able to critique others writing including journal articles, research proposals, journal article critiques, and conference papers.
  • Be able to use online literature search tools.
  • Be able to use a reference librarian as a resource for research.

Course Outline

What When
Problems to Be Solved wk 1
Evolutionary Computing: The Origins wk 1-2
What is an Evolutionary Algorithm? wk 2-3
Representation, Mutation, and Recombination wk 3-4
Fitness, Selection, and Population Management wk 4-7
Popular Evolutionary Algorithm Variants wk 8-9
Parameters and Parameter Tuning wk 10
Parameter Control wk 11
Working with Evolutionary Algorithms wk 12
Advanced Topics wk 13-15

Calendar

Calendar Feeds: ICAL HTML

Course Materials

Required Text

Grading

Undergraduate

What Number Value per Total
Assignments 6 50 300
Midterm 1 200 200
Final 1 250 250
Project 1 250 250
Total     1000

Graduate

What Number Value per Total
Assignments 6 50 300
Midterm 1 200 200
Final 1 250 250
Project 1 250 250
Article Reviews 5 20 100
Critiques 5 5 25
Total     1125

NOTE: All dates and numbers are subject to change as deemed necessary!

Grade Scale

93+ A
90-93 A-
87-90 B+
83-87 B
80-83 B-
77-80 C+
73-77 C
70-73 C-
67-70 D+
60-67 D
0-60 F

The grading scale is the most stringent one you will be held to, i.e. I can give you a higher letter grade than shown on the scale, but never a lower one. If you have missing assignments, you are inelligible to receive a higher grade.

Late Assignments

I will deduct 5% for assignments up to one day late, 10% for two days late, and 15% for up to three days late, and so on up to a maximum of 50% off. Assignments are due at the beginning of class. They are late after that. Assignments are not accepted after solutions have been distributed, nor after the last day of class. In class assignments are only accepted during the class period they are assigned.

Attendance and Participation

I have always enjoyed teaching classes where the students actively participate - a conversation is more fun than a monologue! Although there is no specific credit assigned for attending, it is still expected. There may be in class graded assignments. These may be turned in only during the class period they are given.

Assignments

Undergraduates should expect to spend, on average, from six (6) to nine (9) hours per week on preparation for this class. Graduate students should expect to spend an additional three hours per week. This time is in addition to the three (3) hours of lecture you are expected to attend every week. Homework assignments are due at the beginning of class.

All written portions of assignments must be created using a word processor. No part of the writeup may be hand drawn. The assignments are to be well written with proper spelling and grammar. Points will be deducted for poorly written assignments. Written portions of assignments must be turned in as MS Word documents (.docx format). Code and other portions must be submitted in the proper electronic format. I will deducted 5% from incorrectly formatted assignments.

All assignments must be turned in via D2L. Assignments are due according to the the time specified in the calendar.

Homeworks

There will be six (6) homeworks, which will be collected and graded. The homework assignments will be scaled to 400 points. The homeworks will be combinations of questions from the book and programming problems. You must cite, using IEEE format, your references including online ones.

Assignments

Reading, problems, and programming exercises will be assigned on a regular basis.

Project

There will be one (1) project. This will be a larger effort using evolutionary algorithms to solve some reasonably complex problem.

Article Reviews (Graduate Students Only)

There will be five (5) article reviews. This will help you understand the relevant literature for your research project. You will identify articles that are relevant to the course topic, if you are unsure of its relevance double check with the instructor. For each article you will write a 1 page summary and a 1 page critique.

Critiques (Graduate Students Only)

Critiquing others work is an excellent mechanism for improving your own. It is backbone of the peer review process. You will be expected to evaluating others work including critiquing others article reviews, research proposals, conference papers, and conference presentations.

Exams

There will be two exams for this course. One will be a midterm and the other a final.

Academic Integrity