CSC173: Computation and Formal Systems
Fall 2016

General Information

Instructor: Prof. George Ferguson <>

Office: CSB731 (see instructor website for office hours)

Lectures: Tue/Thu 1400-1515 in Lattimore 201

Web: BlackBoard and

Course Goals

This course is an investigation of several formal systems influential in Computer Science, and also some of their applications. These will include:

Complete details are available in the Course Calendar.

We will use the C programming language for all projects in this course. We will not spend much time learning C specifically. You will learn to adapt what you know from earlier Computer Science courses to programming in C if you don't know it already.


CSC172, MTH150. No exceptions.

Textbook & Resources

Aho and Ullman, Foundations of Computer Science.

This book is excellent and also out of print. This is good news for you, since that means that it is legally available free on the web:

Additional readings and resources will be assigned as needed and posted to BlackBoard.

Course Work

There is homework for every class. Homework will NOT be graded. We will go over the previous homework at the start of each class.

We do not have official CETL workshops, but the TAs will hold regular informal workshops. Time and place TBA.

There will be FIVE (5) exams, one for each unit of the class. These will take place during class time.

There will be a project for every unit, due after the exam for the unit.

There will be a final exam during the final exam period. The final exam will consist of five sections, one for each unit.

This course does NOT permit additional work for extra credit under any circumstances.


Each unit exam will be equally weighted in the final grade.

Late projects will not be accepted and will receive a grade of ZERO (0).

Grade Breakdown:

Letter grades will follow the Official University of Rochester Grading Scheme. Note that the University scheme puts average somewhere between C and B. The following table is an estimate of how the numeric grades will map onto the letter grades (subject to change):

A: Excellent >=90%
B: Above Average >=80%
C: Minimum Satisfactory Grade >=70%
D: Minimum Passing Grade >=60%
E: Fail <60%

All appeals of exam or project grades must be made within ONE WEEK of the grade being posted.

Course Policies

We hope that you will want to attend class (lecture), but attendance is NOT required other than for exams. If you chose not to attend, you may miss important announcements or information about the course.

Computer crashes, malfunctions, and catastrophic loss of files are NOT valid excuses for not submitting work on time. CSC173 students are Computer Scientists. You should know how to deal with this by now. Backup your files regularly to at least one external drive and/or cloud storage. You can always complete your assignments using IT Center computers.

Students with an appropriate excuse for missing any exam or project deadline must make arrangements IN ADVANCE.

Students with an accommodation for any aspect of the course must make arrangements through the Center for Excellence in Teaching and Learning (CETL) IN ADVANCE. Then, as instructed by CETL, contact the instructor to confirm your arrangements. Do not leave this until the last minute either.

Students who are unable to attend or complete any part of the course due to illness should contact the instructor AS SOON AS POSSIBLE. Please note that the University Health Service (UHS) does not provide retroactive excuses for missed classes. Students who are seen at UHS for an illness or injury can ask for documentation that verifies the date of their visit(s) to UHS without mention of the reason for the visit. Students with extended or severe illness should contact the College Center for Advising Services (CCAS) for advice and assistance.

Academic Honesty and Collaboration

All assignments and activities associated with this course must be performed in accordance with the University of Rochester's Academic Honesty Policy. More information is available at:

You will learn the most if you do all the work in this course ON YOUR OWN.

Collaboration on projects is permitted, subject to the following requirements:

Policy on Electronics

You do not need any electronics in class and they will not help you or your fellow students seated near you.

Unless you are taking notes with a laptop, you do not need it.

Even if you think you want to take notes with a laptop, you may be interested to know that research shows that students who take notes using pen and paper retain significantly more of the information. Typing your handwritten notes into the computer after class improves understanding even more.

Please note Section V.7 of the College's Academic Honesty policy regarding Unauthorized Recording, Distribution or Publication of Course-Related Materials.