Syllabus for CS 484: Bio-Inspired AI Spring 2011
Section 01: TTh 9:30-10:20am
Office Hours
- MWF 9:30-10:20am, 11:30am-1:20pm
Contact Information:
Textbook
- Primary text: Bio-Inspired AI by
Dario Flordano and Caludio Mattiussi, MIT Press, 2008. ISBN 978-0-262-06271-8
- A Python book that I like is:
Learning
Python by Mark Lutz, O'Reilly Media Inc. 2009, Fourth Edition
Prerequisites
The prerequisite for this class is permission from the instructor.
Generally I have given permission to anyone who has taken CS 480
Artificial Intelligence. I would be willing to consider other
possible prerequisites.
This is a 400-level computer science class and I
will expect you to be able to learn things on your own outside of
class, as well as keep up with material that is presented at a fairly
rapid pace in class.
Course Objectives
- Look at (mostly) recent work in AI that is inspired by biological
systems or concepts.
- Introduce biological topics such as evolution, cells, neural
networks, developmental systems, immune systems and behavior.
- Understand and sometimes build AI systems that explore and use
these biological ideas.
- Explore a particular bio-inspired AI topic in more detail through a significant
software project.
Class Attendance
I would like you to come to class. We will be exploring these
topics together and having us all together will help.
I understand that you will
occasionally have to miss class. However, whether you are in class or
not you will be responsible for all deadlines and all materials taught
or assigned. Graded activities such as tests, quizzes, in-class
projects, etc. . . may not be made up. Exceptions to this
will be at my discretion and must be arranged with me before
the missed class. Be aware that in class I will cover significant
amounts of material that is not covered by the textbook.
Grading
- 35% for homework and programming assignments (two significant
programming assignments, plus some amount of other stuff)
- 30% for one in-class exam and the final exam
- 25% for your semester-long project (project will be
evaluated at a few points during the semester)
- 10% for the class that you lead
Honesty
Anyone submitting work to be graded which, in my estimation and beyond
reasonable doubt, is not his or her work alone will receive an F. No
group work is allowed unless I explicitly indicate that you can work
in groups. When you do hand in group work, you must always
indicate that it is group work and who was involved in it. You are
welcome to discuss assignments with anyone, but all work you hand in
must be your own. Corrolary: If you provide work you produce to
others, you are aiding and abetting their dishonesty and thus being
dishonest yourself. Providing your work to others or giving answers to
others is not acceptable.
ADA Statement
If you have a disability for which you are or may be requesting an
accommodation, you are encouraged to contact both your instructor
and the Disability Services office (x4478) as soon as possible.
Organization of the class
This is still under development, but my best idea so far of how
this class will work is:
- We will spend some amount of class time going through sections of
the BioAI book. At first I will lead these classes. Later in the
semester, pairs of students will lead the class for the day, both
using the textbook slides and bringing in other relevant
material.
- As much as possible we will try to look at actual working programs
(often Java applets) that demonstrate ideas we are discussing in
class. We should all be on the lookout for relevant online
examples.
- You will have two significant programming assignments, one
involving Genetic Algorithms and the other involving Neural Networks.
These will both be fairly structured (by me) and will be done in
Python. The Genetic Algorithm assignment will go out around January
20 (or perhaps January 25). The Neural Network assignment will be
somewhat later in the semester.
- There may be a few homework assignments or brief quizzes,
especially if I think that people are not reading and absorbing the
material in the book. This will not be a major component of the
class.
- I'm think that we will have one in-class exam (probably roughly
half way through the semester) and a final exam. I guess I am open to
the possibility of take-home exams, especially for the final. This
whole area is still open to discussion.
- You will do a significant software project that explores one of
the ideas not otherwise covered in detail in class. You will do this
in groups of two or (perhaps) three. This assignment will have
multiple due-dates, somewhat like the AI class project. You will be
free to use whatever language and pre-existing software you choose,
upon approval by me. You will present your projects in class during
the later part of the semester. I'm thinking that each project will
get half of a class to present, so I will have fairly high
presentation expectations.
- I have assigned grading percentages to each of these components of
the class. I am somewhat open to negotiating these if you would like
to, although we have to settle definitively early in the
semester.