Welcome to the summer 2015 instance of CS 151! The course is taught by Nicholas Seltzer, Lecturer in the Computer Science department. For majors and non-majors alike, we hope you will find this course to be a stimulating, challenging and horizon-expanding experience.

Click here for the syllabus.

In the summer quarter, lecture is in Ryerson 251, and meets Monday, Wednesday and Friday from 1:30–3:30pm. Two hours is a long time to sit in one place on a beautiful summer afternoon; I will try to make it bearable by delivering two distinct lectures with an intermediate break, during which I will more or less insist you get up and walk around.

Each student must attend weekly lab sessions from 4–6pm on Wednesday afternoons. Labs are held in the Computer Science Instruction Lab, commonly known as CSIL, in the Crerar Library.

The text for the course is How to Design Programs by Felleisen et al. The full text is available free online so it is not necessary to purchase a hard copy. If, however, you would like to read the text as an actual book, it is available on campus at the Seminary Co-op Bookstore and on the Internet, new and used, at the usual online bookstores.

You may use the department's computers for your work, but in the likely event that you intend to work on your own machine, you will need to download and install Racket and subversion. (Installation instructions for subversion vary by platform; we will assist you with subversion when the time comes.)

As the course gets going, the flow of questions and answers becomes steady. We will use the piazza system to help manage the traffic. You will need a piazza account to participate.

If you have any remaining questions about the course, please send email to the instructor at nseltzer .at. cs .dot. uchicago .dot. edu.

Evaluation

Your grade in this course will be computed according to the following formula:

Late work will not be accepted. Our time frame is compressed and you must keep up. Exceptions to this policy will be granted only in the case of extraordinary circumstances.

Academic Honesty

As the world of computer programming becomes ever vaster and the Internet becomes ever more populated with ripe fruits to copy and paste, your personal ethics are absolutely essential in maintaining the worth and integrity of your education. Remember that an honest failure is of infinitely greater value than a dishonest success. I can't amplify this enough.

College-wide honesty guidelines are here. The college's policies are always the last word, if there is any uncertainty.

The following rules of thumb summarize honesty as it pertains to this course:

  1. Do not copy anyone's work.
  2. Do not allow your work to be copied by anyone.
  3. Do not submit work identical to another student's.
  4. Document all collaboration.
  5. Credit your sources.

To expand on the second rule, sharing completed or partially completed work in advance of its deadline in any way, including posting to the Internet, is expressly forbidden.

When it is time to do the actual coding, writing, etc., do your own work. Your work.

Dishonest behavior will result in serious consequences.