CS378: Computational Intelligence in Game Research
Unique# 53930, T/Th 3:30-5 GDC 6.202
Instructor: Joel Lehman
Office hours: Wed 3-5pm or by appointment
Teaching Assistant: Reza Mahjourian
Office hours: Thrs 1-3pm or by appointment
The purpose of this class is to prepare students for doing research in the area of computational intelligence in games. To accomplish this, the class focuses primarily on learning about computational intelligence techniques and video game programing. In particular, the research focus of the FRI lab is on applying neuroevolution, where simulated brains are bred through simulated evolution to perform tasks, to video games. A series of lab assignments build upon each other to introduce neuroevolution and its role in games. The culmination of the class is a small project that extends upon one of the homework assignments and is presented on the last day of class.
Students will be assigned to cohorts of 3 to 4 students. Each cohort will meet together with your peer-mentor(s) once a week for an hour (you will work with your peer mentors to find an appropriate time). This meeting will take place in the FRI lab. Note that these meetings should be treated as in lab time and should be used primarily for working on the weekly lab assignment. This time is scheduled so that you will have access to a peer-mentor.
Tuesday meetings will be for lecture, and thursday meetings will be for class discussion over the reading material. Readings will be assigned weekly and posted on canvas. Note that class reading should be done on your own time, not in lab. Lab assignments are assigned on Tuesday and are due either one or two weeks later on Wednesday before 8pm. You may work in groups within your cohort or individually on labs.
All course-related materials, such as handouts, announcements, and slides, will be posted on Canvas (http://canvas.utexas.edu).
Both the TA and I are available during posted office hours or at other times by appointment. Do not hesitate to request an appointment if you cannot make it to the posted office hours. The most effective way to request an appointment for office hours is to suggest several times (via email) that work for you. I do not typically make appointments before 9am, after 5pm, or on Mondays.
Students are encouraged to use the lab in GDC2.212 as a collaborative workspace (keycode will be distributed through canvas).
Lab reports 45%
Final project 35%
There will be several lab reports due over the course of the semester. Labs will be posted Monday evening and are due the following Wednesday by 8pm at the latest. The lab grading rubric will be posted to canvas.
Students will earn a perfect participation grade if they attend every class and contribute to class discussion. Cohort meetings with the peer mentor count toward participation. Each student may miss at most 2 classes and 1 cohort meeting. After that they will receive a zero for that day of participation unless they can obtain an excused absence.
During the final four weeks of the semester you will design and carry out projects either
individually or in groups of up to four students (at your choice). Each individual or group will submit a final written report and will give an oral presentation to the class during the last week of class.
How to succeed in this class
1. Keep trying. This is a problem-solving class, not one focused on memorization. The only way to get better at solving problems is to keep trying. A goal is to become as independent as possible. Of course you will still encounter problems that you need help to overcome. At a minimum you should google for solutions to your problem before you seek outside help.
2. Begin your homework before the last minute. Incubating ideas over time works much better than trying to cram it all in. And it’s less stressful too.
3.Attend all lectures and cohort meetings. Participate in in-class activities.
4.Come prepared to class and read the assigned material.
Tentative Course Schedule (Subject to Change)
Week - Lab Assignment
Jan 13 - Hill Climbing/Evolutionary Algorithms
Jan 20 - Hill Climbing/Evolutionary Algorithms
Jan 27 - Simulations/Games
Feb 3 - Simulations/Games
Feb 10 - Neural Networks/Neuroevolution
Feb 17 - Neural Networks/Neuroevolution
Feb 24 - OpenNERO Lab
Mar 3 - Neuroevolution + Games
Mar 10 - No class: Spring Break
Mar 17 - OpenNERO Tournament
Mar 24 - Braincraft
Mar 30 - EvoSphere
Apr 7 - Project Proposals
Apr 14 - Final Projects
Apr 21 - Final Projects
Apr 28 - Final Projects
Invent with python: http://inventwithpython.com/pygame/chapters/
Nature of code: http://natureofcode.com/book/chapter-10-neural-networks/
Code academy: http://www.codecademy.com/
Python tutorial: http://docs.python.org/tutorial/