|Instructor Info:||Lee Spector|
Office Extension x5352
Genetic programming is a computational technique that harnesses the mechanisms of natural evolution -- including genetic recombination, mutation, and natural selection -- to synthesize computer programs automatically from input/output specifications. It has been applied to a wide range of problems spanning several areas of science, engineering, and the arts. In this course students will explore several variations of the genetic programming technique and apply them to problems of their choosing. Prerequisite: One programming course (any language)
Students will be evaluated on the basis of class participation, including weekly "show and tell" presentation assignments, a portfolio that includes code for a large-scale project, and a project presentation. It is essential that all students attend every class session except in cases of illness or genuine emergencies. It is also expected that students will, through their programming work and their class participation, demonstrate both an understanding of the material covered in class and growth with respect to programming skills. Students falling significantly short of these expectations -- for example, students with more than one unexcused absence -- should not expect to receive evaluations.
Texts and Other Materials
The required texts are:
We will be programming in the Clojure programming language, using the Counterclockwise integrated development environment and in some cases the leiningen build tool. Many other environments are available for developing Clojure code and students are welcome to use whatever they wish, but only Counterclockwise usage will be supported in class.
We will learn about Clojure and genetic programming from the texts listed above and also from the professor's:
We will also use a variety of Clojure-related online resources. Students should become familiar with all of these sites at the beginning of the course, and use them as needed:
Division I Distribution Credit
Work Time Expectations
Class Format and Schedule
These activities are not entirely distinct, and they will be interleaved to some extent throughout the semester.
Every Thursday class will begin with a show and tell session, in which each student is expected to briefly present and run recent programming work to the class, using the projected computer. Each student must present new work every Thursday. Expectations regarding presentation content and format will be discussed in class.
Policies in Regards to Illness, Epidemic, or Pandemic
All Hampshire College students and faculty, whether at Hampshire or at other institutions, are bound by the ethics of academic integrity. The entire description and college policy can be found in Non Satis Non Scire at handbook.hampshire.edu under Academic Policies/Ethics of Scholarship. Plagiarism is the representation of someone else’s work as one’s own. Both deliberate and inadvertent misrepresentations of another’s work as your own are considered plagiarism and are serious breaches of academic honesty and integrity. All sources used or consulted in the process of writing papers, examinations, preparing oral presentations, course assignments, artistic productions, and so on, must be cited. Sources include material from books, journals or any other printed source, the work of other students, faculty, or staff, information from the Internet, software programs and other electronic material, designs and ideas.
All cases of suspected plagiarism or academic dishonesty will be referred to the Dean of Advising who will review documentation and meet with student and faculty member. Individual faculty, in consultation with the Dean of Advising, will decide the most appropriate consequence in the context of the class. This can range from revising and resubmitting an assignment to failing the course. Beyond the consequence in the course, CASA considers first offenses as opportunities for education and official warning. Multiple or egregious offenses will have more serious consequences. Suspected instances of other breaches of the ethics of academic integrity, such as the falsification of data, will be treated with the same seriousness as plagiarism and will follow the same process.
Skip Course Information