The instructional mode for the campus sections (COMP 5660-001/6660-001) of this course is Face-to-Face except potentially for the exams which will be synchronous and may require Face-to-Face or Online Synchronous depending on circumstances during Fall Semester 2022. The instructional mode for the distance section (COMP 6660-D01) is Online Asynchronous, although distance students are encouraged to participate synchronously whenever possible.
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 2024. It is also one of several possible prereqs for the AI for Security course sequence anticipated to be offered this coming Spring 2023 (5000/6000-level) and Fall 2023 (7000-level).
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.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!
Instructor
Name | Daniel Tauritz, Ph.D. |
Office hours | Dynamic Office Hours Schedule or by appointment |
dtauritz@auburn.edu | |
WWW | https://bonsai.auburn.edu/dtauritz/ |
Teaching Assistant Info
Name | Deacon Seals | Sean Harris | Braden Tisdale | Jason Barbieri |
djs0080@auburn.edu | snh0037@auburn.edu | bnt0008@auburn.edu | jab0180@auburn.edu | |
TA lab hours | Dynamic 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/2022fall/ |
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 |
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 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).
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
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. 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.
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.
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.