Evolutionary Computing Syllabus

Department of Computer Science and Software Engineering
Samuel Ginn College of Engineering, Auburn University
Fall 2024 COMP 5660-001/6660-001/6660-D01 (3 credit hours)

This syllabus is subject to change. Substantive changes will be announced via appropriate channels.
Published: August 15, 2024; Updated: October 30, 2024

Instructional Mode

The instructional mode for the campus sections (COMP 5660-001/6660-001) of this course is Face-to-Face. The instructional mode for the distance section (COMP 6660-D01) is Online Asynchronous, although distance students are encouraged to participate synchronously whenever possible.

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 7660), which tentatively will be offered next in Spring 2026.

Student Learning Outcomes (SLOs)

This course has five main SLOs for all students (COMP 5660/6660):
(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 6660):
(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 either STAT 3010 - Statistics for Engineers and Scientists or 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 is required for this course (no exceptions). 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 & Miscellaneous Class Information

Instructor
Name Daniel Tauritz, Ph.D.
Office hours Dynamic Office Hours Schedule or by appointment
E-mail dtauritz@auburn.edu
WWW https://bonsai.auburn.edu/dtauritz/

Teaching Assistant Info
NameJames BrowningSean HarrisBraden Tisdale
E-mailjlb0181@auburn.edusnh0037@auburn.edubnt0008@auburn.edu
TA lab hoursDynamic 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 http://bonsai.auburn.edu/dtauritz/courses/ec/intro/2024fall/
Lecture times Mondays, Wednesdays, Fridays 11:00-11:50 AM
Class schedule Dynamic schedule

Grading Information

The relative assessment category weights and mapping to letter grades are as follows:
Meet with Dr. T 1% of total grade
Exams (3 during semester + 1 comprehensive final) 45% of total grade
Assignments 54% of total grade
Final Letter Grade [90-100]: A, [80-90>: B, [70-80>: C, [60-70>: D, <60: F

Note that the max grade for the weighted average of all assignments in Assignment Series 1, including bonus points, is capped at 100%; note that Assignment 0 is included for this calculation. The max grade for the weighted average of all assignments in Assignment Series 2, including bonus points, is uncapped. The overall assignment grade is capped at 100%. This allows you to use Assignment Series 2 to try and make up for poor performance on Assignment Series 1, but not for poor performance on exams. The point distributions are as follows:
Assignment Series 1 Assignment Series 2
Assignment 0: 10 pointsAssignment 2a: 100 points
Assignment 1a: 40 pointsAssignment 2b: 100 points
Assignment 1b: 100 pointsAssignment 2c: 200 points
Assignment 1c: 100 points 
Assignment 1d: 100 points 

Class Policies

Attendance
Per AU's Policy on Class Attendance, on campus students should attend in-person, although roll will not be taken. Many years of teaching this course shows a strong correlation between attendance and performance: active learning is promoted by an active classroom environment. To provide students maximum flexibility, the lecture recordings are made available via Panopto in Canvas.

Exam Policy
To promote academic honesty and grading efficiency, exams are held synchronously during scheduled class time and the final exam is held synchronously during the final exam time assigned by the Office of the Registrar (distance students are strongly encouraged to take the exams at the same time as the rest of the class, but if needed can arrange a different time with the instructor). There will be three exams during the semester and one comprehensive final exam which counts double. The worst exam grade will be dropped, thus causing the Final Exam to act as a universal makeup exam. 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.

Students with properly authorized excused absences as defined by AU's Policy on Class Attendance will have their exam grade modified to exclude the missed exams due to properly authorized excused absences as follows:

Assignment Deadline Extension Policy
If an assignment deadline cannot be reasonably met due to any of the circumstances stipulated by AU's Policy on Class Attendance for properly authorized excused absences, the instructor will attempt to accommodate all reasonable requests for extended deadlines (example 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).
In acknowledgment that sometimes a student may need more time than anticipated even in the absence of a circumstance that qualifies as a properly authorized excused absence, each student is allocated three assignment extension days that they can apply in any way they choose. Each time they want to exercise this option, they need to inform the instructor before submitting the impacted 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.

Generative Artificial Intelligence Tools
In general, I encourage the use of productivity enhancement tools, including generative AI tools such as ChatGPT or Copilot, to become proficient in their use as future employers will expect you to be. However, the assignments in this class have been carefully crafted to provide you with vital learning experiences by having you, not a generative AI tool, complete them; hence I discourage the use of generative AI tools for completing the assignments in this class, except for checking the grammar in reports.
If you do use a generative AI tool to assist in any aspect of these assignments, then you should include the following statement in that submission's assignment report: "The author acknowledges the use of [Generative AI Tool Name] developed by [Generative AI Tool Provider] in the preparation of this assignment. It was used in the following way(s): [grammatical correction of report, code generation, answering concept questions, 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

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

Your Auburn University email address (@auburn.edu) is the university-approved form of communication between the instructional team and students. Email is preferred to the Canvas messaging feature. Emails that you send to the instructor or to a teaching assistant should come from your @auburn.edu email address. Sending emails from addresses other than @auburn.edu could result in you not receiving a response to your message.

All course announcements will be posted to Discord, Canvas and/or sent to your @auburn.edu address. All email communications from the instructor and TAs to you will be sent to your @auburn.edu address. You are expected to check Discord, Canvas and your @auburn.edu account daily.

Follow the steps in the video linked here to set your notifications preferences and specify that all course alerts are routed to your Auburn University email address (userid@auburn.edu). You can contact Auburn University's OIT Service Desk for assistance forwarding mail sent to your Auburn email address to a different email address that you regularly check. Additionally, it is your responsibility to read class announcements sent by the instructional team. These are posted in Discord and/or Canvas, and you can configure your notification preferences to receive an email each time a new announcement is posted.

ADA Policy
The instructor will make all reasonable accommodations to comply with the provisions of the Americans with Disabilities Act (ADA). Students who need accommodations should submit their approved accommodations through the AIM Student Portal on AU Access and follow up with the instructor about an appointment. It is important for the student to complete these steps as soon as possible; accommodations are not retroactive. Students who have not established accommodations through the Office of Accessibility but need accommodations should contact the Office of Accessibility at ACCESSIBILITY@auburn.edu or (334) 844-2096 (Voice/TT). The Office of Accessibility is located in Haley Center 1228.

Academic Honesty
Academic honesty is critical to the entire educational process and is a serious matter in this course. Issues surrounding violations of academic honesty will be handled per AU's Student Academic Honesty Code. You are encouraged to familiarize yourself with this policy and the academic honesty resources and tips available from: https://www.auburn.edu/academic/provost/academic-honesty/.

What constitutes cheating on exams is obvious and everyone understands that anything other than individual work on these is wrong. Where many students are unsure of what is allowable and what is not allowable is in the completion of programming assignments. I encourage students to form study groups, help each other learn the course material, and help each other solve problems. Collaborative problem solving is a great way to learn. However, collaborative problem solving must be restricted to the level of concepts, strategies, and algorithms; it should never involve source code (not even viewing another's source code nor helping them debug their code). You may reuse code subject to the restrictions stated in the relevant assignment writeup. If you're in doubt about a certain practice, it's best to ask rather than assume it's okay. If you are having difficulties, don't cheat, instead seek assistance per the Assistance Policy.

Classroom Behavior
AU's Policy on Classroom Behavior is strictly followed in this course. It is my intent to protect intellectual diversity and free expression in this class. All students in this course are expected to respect their fellow classmates and actively participate in fostering a respectful learning environment. If you experience anything in this class that makes you feel uncomfortable, please bring it to my attention so that we can discuss the appropriate action to take. As appropriate, you can report an incident, concern, or complaint as detailed at: https://studentaffairs.auburn.edu/complaint-concern/ Please let me know ways to improve the effectiveness of the course for you personally or for other students. Your suggestions are encouraged and appreciated.

Names and Pronouns
Many people go by a name in daily life that is different from their legal name. In this classroom, the TAs and I will strive to refer to people by their preferred name. Pronouns are a way to affirm someone's identity. They are simply a public way in which people are referred to in place of their name (e.g., "he" or "she" or "they" or "ze" or something else). In this classroom, you are invited to share what pronouns you go by, and the TAs and I will strive to refer to you using the pronouns that you shared.

Data Collection and Use Disclosure
Any and all results of graded items in the course are potential data sources for assessment and educational research, and may be used in publications related to educational research and accreditation. All such use will be anonymous. No personal intellectual property (IP) will be infringed.

Extended Student Absence
If illness causes you to be unable to participate for an extended period in the course, please contact the instructor as soon as possible to discuss your options.

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

Auburn University Transition to Remote Operations
In the event that the University is forced to move to remote operations and fully online instruction, for instance due to a pandemic, you would need to be able to attend class sessions and lab hours remotely, do assignments remotely, and take exams remotely. While this hopefully will not be the case, you should personally plan now for this contingency to ensure that you will be able to minimize the disruption this move could cause to your personal living and study arrangements.