Instructor: Prof. George Ferguson <firstname.lastname@example.org>
Office: CSB731 (see instructor website for office hours)
Lectures: Mon & Wed 1150-1305 in Dewey 1-101
Web: BlackBoard and www.cs.rochester.edu/u/ferguson/csc/173/Spring2017/
Hossein Faghihi Sereshgi <email@example.com> (Grad TA)
Jackson Abascal <firstname.lastname@example.org>
Alex Benishek <email@example.com>
Antonio Cardenas <firstname.lastname@example.org>
Claudia Sofía Carrillo Vázquez <email@example.com>
Po-Chun Chiu <firstname.lastname@example.org>
Mara Hollenback <email@example.com>
Adam Kaplan <firstname.lastname@example.org>
TA Study Sessions: Tue & Thu 1940-2055 (740PM-855PM) in CSB632
This course is an introduction to some of the most important formal models of computation, and their application to real-world computing problems. We learn the formal models, we learn the techniques for analyzing and understanding formal models, and we learn how theory and practice go hand in hand in Computer Science.
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. The following guide may be helpful: C for Java Programmers (PDF).
CSC172, MTH150. No exceptions.
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: http://infolab.stanford.edu/~ullman/focs.html
Additional readings and resources will be assigned as needed and posted to BlackBoard.
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. Many students find these workshops VERY HELPFUL. Time and place TBA.
There is a project for every unit. The projects are designed to deepen your understanding of the material in preparation for the unit exam. You are encouraged to start (and finish) projects EARLY.
There are FIVE (5) exams, one for each unit of the class. These will take place during class time.
There is a final exam during the final exam period, as scheduled by the Registrar. 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 will be equally weighted in the final grade.
Late projects will not be accepted and will receive a grade of ZERO (0).
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):
|B: Above Average||>=80%|
|C: Minimum Satisfactory Grade||>=70%|
|D: Minimum Passing Grade||>=60%|
All appeals of exam or project grades must be made within ONE WEEK of the grade being posted.
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.
Network connectivity problems are also NOT an excuse for not submitting work to BlackBoard on time. CSC173 students are all familiar with BlackBoard, for better or worse. Upload early just in case.
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.
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: www.rochester.edu/college/honesty
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:
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.