Fall 2002, CS173 Computation and Formal Systems

Vital Information

Course Description

CSC 173 is the third course in the pre-major sequence for Computer Science, following CSC 171 (Computer Programming) and CSC 172 (Data Structures). The course serves two principal purposes:

  1. It introduces students to formal systems of importance in computer science, and explains their usefulness for real world computation. In this sense, the course might well be subtitled Computer Science is not (just) programming.
  2. It makes the transition from Java on personal computers to C on Unix. Most of the department's upper-level courses use C or C++, and while Java is of large (and increasing) commercial importance, industrial strength programming of large systems is likely to continue to be be done in C and C++. Given time constraints, we will focus on C, rather than C++, as the transition language this term.


Online Notes and Schedule


We will likely have 6 fairly large programming assignments throughout the semester. Together the projects will be worth 50% of your semester grade.


Every 2-3 weeks a homework assignment will be handed out. Homework will not be collected, but for every homework handed out, there will be one quiz based on it. On the announced day, you will be asked to solve, in class (10 minutes) and without notes/book, one of the homework questions (chosen randomly). Together, the quiz grades will make up 10% of your semester grade.

Make-up quizzes will not be allowed unless you have a good reason and arrange for the make-up PRIOR to the in-class quiz.

The assignments will be handed out in class, and made available online. Watch this space.


There will be two exams: a midterm (20%) and a cumulative final (20%). Old exams

Additional Resources