General Information
Course: CMSC 15100 Introduction to Computer Science I Instructor: John Reppy JCL 253 TAs: Yuxi Chen Joe Wingerter Lang Yu Lecture 1: MWF 11:30-12:20 Ryerson 251 Lecture 2: MWF 1:30-2:20 Ryerson 251 Labs: W 2:30-3:50 Lab 1 (CSIL 3) W 2:30-3:50 Lab 2 (CSIL 4) W 4:00-5:20 Lab 3 (CSIL 3) W 4:00-5:20 Lab 4 (CSIL 4) W 5:30-6:50 Lab 5 (CSIL 3) W 5:30-6:50 Lab 6 (CSIL 4) Piazza: http://piazza.com/uchicago/winter2019/cmsc15100/home PhoenixForge: https://phoenixforge.cs.uchicago.edu
Overview
Welcome to CS151! The course syllabus contains detailed information on all aspects of the course.
The instructor for CS151 is John Reppy.
Course content will appear both at this site and on Piazza. 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 11:30am (Section 1) and 1:30pm (Section 2) in Ryerson 251 — please be on time.
Labs
Lab assignments will be posted to Piazza the day of the lab; the first lab is also available HERE.
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 2:30–3:50 (CSIL 3, CSIL 4)
- Wednesday 4:00–5:20 (CSIL 3, CSIL 4)
- Wednesday 5:30–6:50 (CSIL 3, CSIL 4)
Office Hours
- Monday: 11:00–12:00, Lang Yu (JCL 236)
- Monday: 3:00–4:00, John Reppy (JCL 253)
- Tuesday: 4:00–5:00, Joe Wingerter (JCL 236)
- Thursday: 2:00–3:00, John Reppy (JCL 253)
- Friday 10:00–11:00, Yuxi Chen (JCL 236)
- Friday 3:00–4:00, John Reppy (JCL 253)
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.
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
The midterm will be on Wednesday February 13 and the final will be on Wednesday March 13. Both exams will be given in Kent 107. In addition, there will be short (under five minutes) quizzes given at the beginning of lecture on Fridays.
Links
How to Design Programs (Second Edition) by Felleisen, Findler, Flatt and
Krishnamurthi.
The full text is available online.
Version Control with Subversion by Pilato, Collins-Sussman and Fitzpatrick (full text online) [website]
Piazza (Q&A, announcements, course materials) [website]
UNIX Tutorial for Beginners [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.