COMP 7612: Foundations of Computing (Spring 2017)


Time, place

Tuesday/Thursday 5:30pm-6:55pm
Dunn Hall 119


Thomas Watson
Dunn Hall 315

Office hours

Tuesday/Thursday 12:30pm-1:30pm


Sambriddhi Mainali



In this course you will learn about fundamental questions concerning the power and limitations of computation: What problems can be solved by computer? What problems can be solved time-efficiently? What problems can be solved space-efficiently? How can computation be mathematically defined?

Topics include: review of proof techniques, reductions, NP and NP-complete problems, relations among complexity classes, diagonalization (time hierarchy, relativization, NP-intermediate problems, undecidability), finite automata, defining computability (partial recursive functions, λ-calculus, Turing machines), logarithmic space and graph reachability, polynomial space and games, special topics as time permits.


Undergraduate-level courses on algorithms, data structures, and discrete mathematics.


Required: The Nature of Computation by Cristopher Moore and Stephan Mertens
Also: Prof. Watson's notes on proof techniques, finite automata, and Turing machines


There will be eleven homework assignments, each covering the material of two lectures. See the calendar at the end of this webpage for the schedule. You may discuss homework problems with other students, but you must write up solutions entirely on your own (and in your own words). You must submit each homework as a single file in the corresponding dropbox folder in the elearn website for the course. If you choose to handwrite your homework solutions (rather than using software such as LaTeX), you may turn in a scan or photo (with all problems combined into a single file), as long as the image quality is good enough that the TA will have no problem reading it. If the TA finds it difficult to read one of your solutions, you will get 0 points for that problem.

Homework is due right before the beginning of lecture, and late homeworks cannot be accepted since model solutions will be distributed in class. Each student's lowest homework score from the whole semester will be automatically dropped from the final grade calculation, so if extenuating circumstances prevent you from submitting a homework on time, this "freebie" will cover it by allowing you to take a 0 without harming your final grade.


The midterm exam is on March 23rd in class (5:30pm-6:55pm, Dunn Hall 119) and will cover homeworks 1-7.

The final exam is on May 4th (5:30pm-7:30pm, Dunn Hall 119) and will be cumulative but with somewhat of an emphasis on homeworks 8-11.

For the midterm you may bring one double-sided sheet of notes, and for the final exam you may bring two double-sided sheets of notes (feel free to use your midterm sheet for one of them). Your sheets of notes may be typed. You may not use anything else during an exam; this means no calculators, textbooks, smartphones, earbuds, or anything else.


6% each for the ten highest homework scores
15% for the midterm exam
25% for the final exam

We will calculate final letter grades in two different ways; then each student will receive the higher of the two letter grades. One way is a fixed grading scale, with the following cutoffs:

A ≥ 90%    A- ≥ 82%    B+ ≥ 74%    B ≥ 66%    B- ≥ 58%    C+ ≥ 50%    C ≥ 42%

The other way is a curve, with the following percentages of students receiving each grade:

A: 18%    A-: 18%    B+: 18%    B: 18%    B-: 18%    C+: 5%    C: 5%

However, we will feel free to give an F to any student who clearly did not put effort into the course (or an A+ to any student with truly exceptional performance).


Plagiarism or cheating behavior in any form is unethical and detrimental to proper education and will not be tolerated. All work submitted by a student (projects, programming assignments, lab assignments, quizzes, tests, etc.) is expected to be a student's own work. The plagiarism is incurred when any part of anybody else's work is passed as your own (no proper credit is listed to the sources in your own work) so the reader is led to believe it is therefore your own effort. Students are allowed and encouraged to discuss with each other and look up resources in the literature, but appropriate references must be included for the materials consulted, and appropriate citations made when the material is taken verbatim.

If plagiarism or cheating occurs, the student will receive a failing grade on the assignment and (at the instructor's discretion) a failing grade in the course. The course instructor may also decide to forward the incident to the Office of Student Conduct for further disciplinary action. For further information on U of M code of student conduct and academic discipline procedures, please refer to:


Jan 17:lecture 1
Jan 19:lecture 2, hw 1 assigned
Jan 24:lecture 3
Jan 26:lecture 4, hw 1 due, hw 2 assigned
Jan 31:lecture 5
Feb 02:lecture 6, hw 2 due, hw 3 assigned
Feb 07:lecture 7
Feb 09:lecture 8, hw 3 due, hw 4 assigned
Feb 14:lecture 9
Feb 16:lecture 10, hw 4 due, hw 5 assigned
Feb 21:lecture 11
Feb 23:lecture 12, hw 5 due, hw 6 assigned
Feb 28:lecture 13
Mar 02:lecture 14, hw 6 due, hw 7 assigned
Mar 07:spring break - no class
Mar 09:spring break - no class
Mar 14:lecture 15
Mar 16:lecture 16, hw 7 due, hw 8 assigned
Mar 21:review
Mar 23:midterm exam (in class)
Mar 28:lecture 17
Mar 30:lecture 18, hw 8 due, hw 9 assigned
Apr 04:lecture 19
Apr 06:no class (due to NCUR)
Apr 11:lecture 20, hw 9 due, hw 10 assigned
Apr 13:lecture 21
Apr 18:lecture 22, hw 10 due, hw 11 assigned
Apr 20:lecture 23
Apr 25:review, hw 11 due
Apr 27:study day
May 04:final exam (5:30pm-7:30pm, Dunn Hall 119)