Skip Course Information

Course Information

Instructor Info:Lee Spector
Office Extension x5352
TA Info:Alec Goebel
Office Extension x4356
Term: 2013S
Meeting Info: Tuesday Thursday
12:30 PM - 01:50 PM Adele Simmons Hall (ASH) 126
12:30 PM - 01:50 PM Adele Simmons Hall (ASH) 126

Students in this course will become members of research teams focusing on projects designated by the instructor. Projects will involve open research questions in artificial intelligence, artificial life, or computational models of cognitive systems. They will be oriented toward the production of publishable results and/or distributable software systems. Students will gain skills that will be useful for Division III project work and graduate-level research. Prerequisite: one programming course (any language)

Course Objectives:
  • To engage in scientific/technological inquiry.
  • To work collaboratively with classmates, the professor, and the larger research community.
  • To understand be able to navigate current research literature.
Evaluation Criteria:
  • Attendance: Because this class is entirely focused on group project work it is particularly important to attend every session.
  • Participation: Each student is expected to be continuously engaged in course-related activities throughout the semester, to be responsive (always within 24 hours) to classmates and the professor via electronic mail, and to participate actively in class presentations and discussions.
  • Portfolio: Each student is expected to submit a well-organized portfolio at the end of the term that presents the student's work for the course. Details regarding what the portfolio should contain (e.g. code, documentation, experimental results) will depend on the specific projects undertaken.

Students will be evaluated with respect to their performance relative to the expectations listed above. Students falling significantly short of these expectations -- for example, students with more than one unexcused absense -- should not expect to receive evaluations.

Additional Info:

There is no text for this course. Project-specific readings will be assigned on an as-need basis.

Many projects in the class will use the Clojure programming language. Students who do not yet know the language will be supported in learning it quickly at the beginning of the semester, in part through the use of the professor's clojinc examples and problem sets. A wide variety of Clojure tools and libraries may also be used; these will depend on the projects launched and will be discussed in class.


Students may use their own computers, the Macs in ASH 126, and the high performance computing cluster in the Hampshire College Cluster Computing Facility.

Division I Distribution Credit

Successful completion of this course satisfies the Divison I distribution requirement in Mind, Brain, and Information.


This course is intended to serve students with a wide range of backgrounds. Students with little previous experience should resist being intimidated and bear in mind that I take background into account in writing evaluations. Students with extensive previous experience should note that the class is structured to provide ample opportunities for more advanced work.

Policies in Regards to Illness, Epidemic, or Pandemic

If you have a fever, please stay home, take good care of yourself, and contact me by email or phone. When you are able to work at home you should be able to participate in classes and to submit work electronically. If your illness makes it impossible for you to meet the course deadlines then contact me and we will negotiate an accommodation.

Plagiarism Policy

Hampshire College has a rigorous policy on plagiarism, outlined in detail in the student handbook. As stated in College documents "Plagiarism (from the Latin for 'kidnapper') is a term covering everything from inadvertently passing off as one’s own the work of another because of ignorance, time constraints, or careless note-taking, to hiring a ghost writer to produce an examination or course paper." In particular, it covers false citation, false data, intentional poor documentation, papers written by others, unacknowledged multiple authors or collaboration, unacknowledged multiple submission, and other forms of academic dishonesty. The penalties are severe, so you should always be proactive in identifying all sources. When in doubt you should ask me about what is and isn't appropriate.

In this course we will often be sharing and borrowing code. This is an important aspect of the course and an important aspect of modern programming practice. This does not mean, however, that it is acceptable to submit code that is not your own without acknowledging sources. Sources should be clearly and explicitly provided in everything that you produce.