General Information
Course: CMSC 15100 Introduction to Computer Science I Instructors: John Reppy Ryerson 256 Timothy Black Ryerson 253A TAs: Andrew Mcnutt Joe Wingerter Lecture 1 (Reppy): MWF 1:30-2:20 Ryerson 251 Lecture 2 (Black): MWF 2:30-3:20 Cummings 101 Labs: W 3:30-4:50 Lab 1 (CSIL 1) W 3:30-4:50 Lab 2 (CSIL 2) W 5:00-6:20 Lab 3 (CSIL 1) W 5:00-6:20 Lab 4 (CSIL 2) W 6:30-7:50 Lab 5 (CSIL 1) W 6:30-7:50 Lab 6 (CSIL 2)
Overview
Welcome to CS151! The course syllabus contains detailed information on all aspects of the course.
The instructors for CS151 are John Reppy and Timothy Black.
Course content will appear both at this site and on piazza. As such you will need to register for a piazza account. You should have received an invitation, with registration instructions, to the piazza course site at your uchicago.edu email address. Please let us know as soon as possible if you have not received an invitation.
Please read our very own Notes on Typed Racket here.
Lectures
The lectures are MWF at 1:30pm in Ryerson 251 (Section 1) and 2:30 in Cummings 101 (Section 2) — please be on time.
Labs
The lab exercises are linked to from the index to coursework.
Attendance at lab sessions is expected and you are responsible for the material presented in labs. Labs are held in the CSIL (Computer Science Instructional Laboratory) on the first floor of the John Crerar Library. Labs are held at four different times; you must register for one of them, and attend that one each week.
The lab meeting times are as follows:
- Wednesday 3:30–4:50 (CSIL 1, CSIL 2)
- Wednesday 5:00–6:20 (CSIL 1, CSIL 2)
- Wednesday 6:30–7:50 (CSIL 1, CSIL 2)
Office Hours
- Monday: 12:00–1:00, Timothy Black (Eckhart 129)
- Monday: 3:00–4:00, John Reppy (Ryerson 256)
- Tuesday: 11:00am–12:00, John Reppy (Ryerson 256)
- Tuesday: 1:30–2:30, Timothy Black (Ryerson 255)
- Wednesday: 11:00–12:00, John Reppy (Ryerson 256)
- Thursday: 2:30–3:30, Timothy Black (Eckhart 129)
- Friday 3:00–4:00, John Reppy (Ryerson 256)
Or by appointment.
Please also keep the Harper tutors in mind. Tutors are on staff every Sunday through Thursdays night from 7pm–11pm starting 2nd week.
Course Work
The assignments in this class are all programming assignments, but they come in three different flavors:
- Lab assignments These will be posted before Lab on Wednesdays and will be due on Fridays. The Lab TAs will usually present material specific to the lab and be available to help while you work during Lab.
- Homework assignments: These exercises will be posted on Thursdays or Fridays and will be due the following Tuesday.
- Projects The course project is a larger programming exercise that will be split into two parts. The project will be assigned in the second half of the term.
The first lab assignment is posted HERE. All other assignments will be posted on Piazza in the resources section.
WARNING: assignments are posted as HTML documents and often contain mathematical notation. We have found that the Chrome browser often does not correctly render the mathematical notation; therefore, we recommend that you use a different browser (e.g., Firefox or Safari).
We use svn, which is a distributed version control system, to collect assignments. The use of svn will de explained in the first lab.
Exams and Quizzes
There are two evening exams scheduled for this class in 6th and 10th weeks.
Links
How to Design Programs by Felleisen, Findler, Flatt and Krishnamurthi (full text online) [website]
Version Control with Subversion by Pilato, Collins-Sussman and Fitzpatrick (full text online) [website]
Piazza (Q&A, announcements, course materials) [website]
Introduction to the Mac OS X Command Line [website]
Academic Honesty
College-wide honesty guidelines are here.
The following rules of thumb summarize honesty as it pertains to CS151:
- Never copy work from any other source and submit it as your own.
- Never allow your work to be copied.
- Never submit work identical to another student's.
- Document all collaboration.
- Cite your sources.