Undergraduate Program

The Art of Programming

Course: CSC  161
Term: Spring 2010-2011

The formulation and solution of problems using computers is increasingly important in all of the sciences and humanities. This course introduces core concepts and techniques of programming using the language Python. Lab required. This course is the recommended first course for the B.A. in Computer Science, as well as for non-CS majors. It may be followed by CSC 162, CSC171, or CSC 172. This course has no prerequisites.


Python Programming: An Introduction to Computer Science 2nd Edition, by John Zelle.

Supplemental books (purchase not required):
Python for Software Design: How to Think Like a Computer Scientist, by Allen Downey. Free online version, hardcopy on library reserve.
Python Programming in Context, by Bradley Miller & David Ranum. On library reserve.

Class Schedule

Monday & Wednesday 4:50-6:05pm
Meliora 203
Midterm exam 02/23 in class
Midterm exam 04/06 in class
Final exam 05/06 12:30 pm


Amit Singhal <singhal@cs.rochester.edu>
Office hours: Mondays/Wednesdays before and after class – by appointment ONLY
Phone: (585)477-6711

Teaching Assistant

Jansen Orfan <jorfan@cs.rochester.edu>



First labs meet Tuesday January 18
MW 3:25-4:40 Gavett 244
MW 6:15-7:30 Harkness 114
TR 2:00-3:15 Gavett 244
TR 3:25-4:40 Gavett 244

Lab attendance is NOT required. However, the labs are there for you to get assistance with programing assignments and you are encouraged to go to the lab if you have not completed the assignment for that week. Grad TA office hours are NOT TO BE USED for programming assignment help.

You may go to a lab other than the one you are signed up for IF there is space available. The labs have limited computing resources and students signed up for a particular lab section will get preference when using lab resources at that time.


Computing Resources