CSC 171
Introduction to Computer Programming

Spring, 2013

Syllabus Calendar Homework Assignments Moodle PSP Recipes Language stuff Coding examples


In the first week of class, we'd like you to fill out this pre-term survey, so we know what your backgrounds are.

Subsequently (ideally every few days), we'd like you to fill out the daily survey on Moodle to help us keep track of what people are finding easy, and what people are having trouble with.

Getting Help

My office hours are MWF 12:00-1:00, T 10:00-3:00, in Post 203 (or perhaps downstairs in the Math/CS department computer lab, Post 102).

There are also several Math/CS department tutors who can help with this class: see the department tutoring schedule.

Who should take this course?

This is a first programming course; it doesn't assume that you have done any computer programming. If you have, however, you may still learn a lot from it; talk to the instructor to decide whether you should skip it and go into CSC 172.

The course is open to CS/CMIS majors, minors, and people who just want to learn what this "computer programming" thing is all about. CS and CMIS majors should take this course in their first or second semester, as it's a prerequisite for many other CS courses. For math majors, this course counts as your programming requirement. For students majoring in something other than CS, CMIS, or math, this course counts towards your math/science distribution requirement. Such students are welcome, but may wish to consider taking the less-intense CSC 160 instead.

Although the course has no prerequisites, it is nonetheless hard work. There will be five to eight homework assignments, most of which will require hours of programming, either in a computer lab or at your home computer.

Schedule and Attendance

This course meets five (5) times a week: lectures on Monday, Wednesday, and Friday mornings, and labs on Monday and Wednesday afternoons. You must register for both section 1 (lecture) and section 10 (lab). You are expected to attend both lectures and labs; we'll have new material to cover in both. This is a 4-credit course, which means you should expect to spend 12 hours/week on it: 3 in lecture, 3 in lab, and another 6 on homework and reading.

My experience teaching various beginning programming courses over the years has shown the importance of keeping up with the schedule. Students who fall behind tend to stay behind, and either drop or fail. We don't want anybody to drop or fail; if you fear that you're falling behind, talk to us as soon as possible and we'll work with you to solve the problem while it's still solvable.


We don't really have a textbook for this course, but see the Syllabus for suggestions for supplementary reading.

Software support

To do programming assignments on your home computer, you'll need to download and install the Java development environment BlueJ.

We'll use several software libraries written specially for this course. As of Mar. 7, 2013, these ZIP files are new versions; I'm pretty sure the Mac version works, but haven't been able to test the Windows and Windows 7 versions yet. To install them, start by installing BlueJ (above), and then download either the Mac version, the Windows version, or the Windows 7 version. Unzipping any of these will give you a folder that contains a README.TXT file with further instructions.

We've set up some forms for entering and viewing PSP data. You may use these forms to record defect and time information. To use the forms successfully, make sure your browser accepts JavaScript and cookies. (For more information about PSP, read Watts Humphrey's Introduction to the Personal Software Process.)

Reading List

You are visitor number to this page since June 4, 2001.
Last modified:
Stephen Bloch /