Concepts of Programming - CSPP 50101
This course is an introduction to programming -- no prior programming
knowledge or experience is required. The goal is to familiarize students with
the fundamental components of structured programming -- memory management,
algorithms, data structures, modular design, etc. The course emphasizes
fundamental concepts and elementary program design. Upon completion of the
course, students should be well prepared to branch out into more modern,
application-specific, and/or higher-level programming models.
- First class: Monday, 20 June 2011
- Lecture: Monday 5:30pm-8:30pm, Ryerson 251
- Lab A: Wednesday 7:10-8:40pm, Ryerson 403
- Lab B: Saturday 12:00-1:30pm, Ryerson 403 (except first week)
- Mailing List: cspp50101 at mailman.cs.uchicago.edu
- Calendar: CSPP 50101 schedule
- Instructor: Nick Russo
- Office: Ryerson 254
- Office Hours: flexible, send me an email
- Lab TA: Sonjia Waxmonsky
- TA/grader: Paul Bossi
- grader: Sven Auhagen
- Midterm Exam: Monday, 25 July 2011
- Final Exam: Monday, 12 September 2011
- Required: C Primer Plus
(5th Edition) by Stephen Prata. Recommended by past students. Available online through Safari.
- Recommended:
- C For Dummies,
2nd Edition by Dan Gookin. Cheap, basic, verbose. Meant for beginners.
- The C Programming
Language, Second Edition (K&R), by Brian W. Kernighan and Dennis M. Ritchie. Classic,
widely-known, dense, useful. Rewards careful reading.
- System
Programming with C and Unix, by Adam Hoover. Includes a quick review of C. System Programming
isn't our goal, but it was the original purpose of C. Introduces related topics such as programming
tools, memory layout, and libraries, critical for beginning programmers.
- C: A
Reference Manual, Fifth Edition, by Samuel P. Harbison III and Guy L. Steele Jr. Comprehensive
reference, much more up-to-date than K&R, highly recommended.
Course grades will be calculated from:
- Homework: [250pts] There will be nine full homeworks, two half-credit homeworks during weeks with
a holiday, and extra credit problems. The contribution from homework is capped at 250 points.
- Labs: [100pts] There will be ten labs, one per week except two holiday weeks and finals week.
- Exams: [150pts] There will be a 50-point mid-term 6th week, and a 100-point final exam.
Students are expected to have read and understood the University's
policy on Academic Integrity, as detailed in the Student
Manual of University Policies and Regulations.