Introduction to Evolutionary Computing Syllabus

Department of Computer Science and Software Engineering
Samuel Ginn College of Engineering, Auburn University
Fall 2019 COMP 5970-002/6970-003/6976-V04 (3 credit hours)

Course Description

This course introduces the field of evolutionary computing (EC) and surveys the major types of evolutionary algorithms (EAs), a class of stochastic, population-based algorithms inspired by natural evolution theory, genetics, and population dynamics, capable of solving complex optimization and modeling problems. This is a rigorous and programming intensive course in which students will implement course concepts to gain hands-on experience in solving complex problems with EAs. Some popular types of EAs that will be reviewed are Genetic Algorithms, Evolution Strategies, Genetic Programming, Differential Evolution, Learning Classifier Systems, and Hyper-heuristics. This course will follow a unified approach focusing on the general characteristics of all EA types. It is the first in a two-course sequence on EC and is a prereq for the second course, Research Methods in Evolutionary Computing (COMP 7970/7976), which tentatively will be offered in Spring 2020.

Student Learning Outcomes (SLOs)

This course has five main SLOs for all students (COMP 5970/6970/6976):
(1) a solid understanding of core EC concepts and EA mechanisms,
(2) the knowledge of how to identify (real-world) problems for which EC is appropriate,
(3) the ability to implement and configure EAs to solve appropriate problems,
(4) the capability to perform statistical analysis on stochastic algorithms such as EAs, and
(5) the skills necessary to write basic technical reports on solving problems with EC.

This course has two additional SLOs for graduate and undergraduate honors students (COMP 6970/6976):
(6) the ability to analyze and explain EA behavior, and
(7) the skills necessary to write formal technical reports in the field of EC.

Justification for Graduate Credit

Graduate credit is justified for the 6000-level sections because of additional required assignments beyond the 5000-level section which provide a more advanced understanding of the course material as well as its assessment.

Prerequisites & Intended Audience

The prerequisites for this course are COMP 3270 - Introduction to Algorithms and STAT 3600 - Probability and Statistics. This course is aimed at both undergraduate & graduate students in any science or engineering degree program who are proficient in a procedural programming language, have a solid understanding of data structures and algorithms, and have a basic understanding of statistics. If in doubt, contact the instructor!

Coding Requirements

The programming language Python 3 (or even better Cython 3) is recommended for this course, but C++, C#, and Java are also preapproved; other programming languages need instructor approval.
All code should be properly commented and documented. You are required to consistently employ a high-quality coding style. For coding style advice and examples of high-quality style guides, see Dr. T's Coding Advice. If in doubt, contact the TAs!

Instructional Team

Instructor
Name Daniel Tauritz, Ph.D.
Office 3127E Shelby Center
Office hours Dynamic Office Hours Schedule or by appointment
E-mail dtauritz@auburn.edu
WWW https://www.eng.auburn.edu/~drt0015/
Office phone +1-334-844-6353

Teaching Assistant Info
NameDeacon SealsSean Harris
E-maildjs0080@auburn.edusnh0037@auburn.edu
Lab hours & venueDynamic class schedule or by appointment

Miscellaneous Class Information
Required textbook A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing, Second Edition, Springer, 2015, ISBN 978-3-662-44873-1 [Companion website: http://evolutionarycomputation.org]
Class website https://www.eng.auburn.edu/~drt0015/courses/ec/intro/2019fall/
Lecture times Mondays, Wednesdays, Fridays 9:00-9:50 AM
Lecture venue Shelby Center 1120
Class schedule Dynamic schedule

Grading Information
Exams (3 during semester + 1 comprehensive final) 40% of total grade
Assignments 60% of total grade
Final Letter Grade [90-100]: A, [80-90>: B, [70-80>: C, [60-70>: D, <60: F

Class Policies

Exam Policy
There will be three exams during the semester and one comprehensive final exam during finals week which counts double. Distance education students will use an approved proctoring service. The cumulative exam grade will be determined as follows:
Max((Exam1+Exam2+Exam3)/3,(Exam1+Exam2+Exam3+2*Final-Min(Exam1,Exam2,Exam3))/4)
This means that students happy with their grade at the end of the semester can skip taking the comprehensive final exam, but it also means that taking the final exam can only improve your grade, never lower it.

Attendance & Makeup Policy
Consistent with AU's policy on class attendance, students are expected to attend all scheduled class sessions, and at the instructor's discretion role will be taken. However, the instructor will not penalize for missing classes, so there is no need to seek excused absences, except for exams. Per the above stated Exam Policy, the worst exam grade will be dropped, thus causing the Final Exam to act as a univerisal makeup exam. For students with properly authorized excused absences as defined by the Student Policy eHandbook, upon appropriate verification, and in excess of the default makeup already provided, will have their exam grade modified to exclude the excess missed exams due to excused absences as follows. In case of missing two semester exams due to excused absences, the final exam will be considered makeup for both and the cumulative exam grade will be determined as follows:
Max((Exam1+Exam2+Exam3)/3,(Exam1+2*Final)/3)
In case of missing all three semester exams due to excused absences, the final exam will be considered makeup for all three and the cumulative exam grade will be equal to the final exam grade.

Distance students who work during class time are not expected to attend regular class sessions, but if at all possible will need to have exams proctored at the same time as the rest of the class. Exceptions need to be approved in advance by the instructor.

Assignment Deadline Extension Policy
For distance education students, if an assignment deadline is known in advance to pose a hardness, then with sufficient notice the instructor will attempt to accommodate all reasonable requests for extended deadlines (example of a reasonable request: a working professional needing to travel for their job).

For all students, if an assignment deadline cannot be reasonably met due to any of the same circumstances stipulated by the Student Policy eHandbook for properly authorized excused absences, the instructor will attempt to accomodate all reasonable requests for extended deadlines (exampe of a reasonable request: a student has a documented illness for three days in the period between the due dates for the second and third assignment and requests a three day extension for the third assignment).

Submission Policy
Technical reports need to be electronically typeset and submitted in PDF file format. You are encouraged, but not required, to typeset using LaTeX.
All assignments are due strictly at 10:00pm central time on their respective due dates and are to be submitted as specified in the assignment write-ups. Students are responsible for submitting their assignments well before the deadline to avoid last minute system-related (or other) issues. The default penalty for late submission is a 5% point deduction for the first 24 hour period and a 10% point deduction for every additional 24 hour period. So 1 hour late and 23 hours late both result in a 5% point deduction, 25 hours late results in a 15% point deduction, etc.

Re-grading Policy
Any assignment re-grading requests must be made to the TAs, not to the instructor, within one week of the day the assignment grade and feedback was posted. Even if you believe that you found an error in grading, it will not be re-graded if you request re-grading after this deadline. If the re-grading issue cannot be resolved with the TA, then and only then can an appeal be made to the instructor.

Any exam re-grading requests must be made to the instructor, not to the TAs, within one week of the day the exam grade was posted. Even if you believe that you found an error in grading, it will not be re-graded if you request re-grading after this deadline.

Assistance Policy
For general questions about the course material and the assignments which reasonably may be assumed to be of interest to other students in the class, you must use the discussions feature of Canvas. This will provide the fastest response time as other students may know the answer and the TAs as well as the instructor will be monitoring it to provide answers as needed.
If you need personal assistance with understanding the course material, then see the instructor during his office hours or make an appointment with the instructor to meet outside his office hours, but do not seek the assistance from the TAs.
If you need personal assistance with the assignments, then see the TAs during their lab hours or make an appointment with the TAs to meet outside their lab hours, but do not seek the assistance of the instructor, nor that of other students.

Communication Policy
Information related to this class will be communicated in class as well as online via Canvas, E-mail, and the assignment submission system (tentatively GitHub Classroom). Panopto class recordings will be available via Canvas to all enrolled students. Students are expected to monitor all these communication channels.

ADA Policy
The instructor will make all reasonable accomodations to comply with the provisions of the Americans with Disabilities Act. Students who need accommodations need to electronically submit their approved accommodations through AU Access and to make an individual appointment with the instructor as soon as possible during the first week of classes. Students who have not established accommodations through the Office of Accessibility, but need accommodations, need to as soon as possible make an appointment with the Office of Accessibility, 1228 Haley Center, 844-2096 (V/TT).

Academic Honesty
All portions of the Auburn University Student Academic Honesty code (Title XII) found in the Student Policy eHandbook apply to this class. All academic honesty violations or alleged violations of the SGA Code of Laws will be reported to the Office of the Provost, which will then refer the case to the Academic Honesty Committee.

You may discuss assignments with classmates. However, you are individually responsible for solving all assignments, including writing your own code. You are not allowed to view nor copy code or problem solutions from anyone. You may reuse code subject to the restrictions stated in the relevant assignment writeup. If you are having difficulties, don't cheat, instead seek assistance per the Assistance Policy.

Classroom Behavior
The Auburn University Classroom Behavior Policy articulatede in the Student Policy eHandbook is strictly followed in this course.

Emergency Contingency
If normal class and/or lab activities are disrupted due to illness, emergency, or crisis situation (such as an H1N1 flu outbreak), the syllabus and other course plans and assignments may be modified to allow completion of the course. If this occurs, an addendum to your syllabus and/or course assignments will replace the original materials.