Evolutionary Computing Syllabus

Department of Computer Science and Software Engineering
Samuel Ginn College of Engineering, Auburn University
Fall 2021 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: July 27, 2021

Instructional Mode

The instructional mode for the campus sections (COMP 5660-001/6660-001) of this course is Face-to-Face Flexible except potentially for the exams which will be synchronous and may require Face-to-Face or Online Synchronous depending on circumstances during Fall Semester 2021. The instructional mode for the distance section (COMP 6660-D01) is Online Asynchronous, although distance students are encouraged to participate synchronously whenever possible. In other words, the course instructor will be present in the classroom, campus students may choose to attend lectures in person or remotely, and distance students may choose to remotely participate synchronously or watch at their convenience asynchronously. For the campus sections, the synchronous course activities consist of the scheduled class sessions and scheduled final exam session, TA lab hours, and instructor office hours; the only required synchronous activity is the exams.

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 (7000-level), which tentatively will be offered next in Spring 2022. It is also one of several possible prereqs for the AI for Security course sequence anticipated to be offered this coming Spring 2022 (5000/6000-level) and Fall 2022 (7000-level).

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 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

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

Teaching Assistant Info
NameDeacon SealsSean HarrisBraden TisdaleNathaniel "Nate" Kamrath
E-maildjs0080@auburn.edusnh0037@auburn.edubnt0008@auburn.edunrk0009@auburn.edu
Zoom 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/2021fall/
Lecture times Mondays, Wednesdays, Fridays 11:00-11:50 AM
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

Attendance
To provide students maximum flexibility during the ongoing COVID-19 pandemic, the lecture sessions of this class are offered synchronously via Zoom and the lecture recordings will be made available via Panopto in Canvas. Attendance is not mandatory; however, all students are strongly encouraged to attend live whenever possible. Many years of teaching this course shows a strong correlation between attendance and performance: active learning is promoted by an active classroom environment.
To avoid unnecessarily increasing the bandwidth demands, live attendees should keep their video off and their microphone muted when not speaking; video is appreciated but optional when speaking. Although you may be participating from your domicile, our Zoom meetings are professional interactions. You should behave as you would in a normal F2F classroom. To the extent possible, please minimize distractions in the background. I reserve the right to dismiss anyone from a Zoom meeting whose environment or behavior is distracting or problematic. If you have any issues with sharing your video feed, adhering to this policy, or anything else related to your use of Zoom please notify me via email in the first week of class. I’m happy to consider and provide accommodations, but you will need to be in communication with me.

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 the Student Policy eHandbook will have their exam grade modified to exclude the missed exams due to properly authorized excused absences as follows:

Assignment Deadline Extension Policy
For distance 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 Zoom office hours or make a Zoom appointment with the instructor to meet at an alternate time, but do not seek the assistance from the TAs.
If you need personal assistance with the assignments, then see the TAs during their Zoom lab hours or make a Zoom appointment with the TAs to meet at an alternate time, but do not seek the assistance of the instructor, nor that of other students.

Communication Policy
Information related to this class will be communicated during lectures, as well as via Canvas, E-mail, course website, and the assignment submission system (GitHub Classroom). Class recordings will be available via 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 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 both 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 Canvas, and you can configure your notification preferences to receive an email each time a new announcement is posted.

Asynchronous assistance may be provided via platforms such as Discord.

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
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 the 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
The Auburn University Classroom Behavior Policy articulated in the Student Policy eHandbook is strictly followed in this course.

Diversity and Inclusion Statement
It is my intent that students from all diverse backgrounds and perspectives be well served by this course, that students’ learning needs be addressed both in and out of class, and that the diversity that students bring to this class be viewed as a resource, strength, and benefit. It is my intent to present materials and activities that are respectful of diversity: gender, religion, sexuality, disability, age, socioeconomic status, veteran status, ethnicity, race, and culture. All students in this course are expected to respect their fellow classmates and actively participate in fostering an inclusive learning environment. If you experience anything in this class that makes you feel uncomfortable, please bring it to my attention and we will formulate a response. If you would prefer to remain anonymous you may complete a Bias Incident Report which will maintain your confidentiality.

Your suggestions are encouraged and appreciated. Please let me know ways to improve the effectiveness of the course for you personally or for other students or student groups.

Names and Pronouns
Many people might go by a name in daily life that is different from their legal name. In this classroom, we will refer to people by the names that they go by. 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 we will refer to people using the pronouns that they share.

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.

Extended Instructor Absence
If illness causes the instructor to be unable to teach the course for an extended period, a back-up instructional solution will be executed to ensure that the course will proceed uninterrupted.

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 new wave of COVID-19 or other 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.

Emergency Contingency
If normal class and/or lab activities are disrupted due to illness, emergency, or crisis situations (such as a COVID-19 outbreak), 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.