Time: MWF 10:30-11:35
Location: LS G12
Professor: David Galles
Office: HR 542
Office Hours: TR 10-12 or by appointment
Though these are my stated office hours, I am in my office most of the day.
If my door is open (and it usually is), I am happy to talk with students.
Required: Lewis & Papadimitriou, Elements of the Theory of Computation, 2nd edition
CS 245 - Data Structures and Algorithms
Math 201/202 Discrete Mathematics
Grades will be given according to scores on written homework assignments, midterms and finals, according to the following percentages.
|Final||30%||Monday, December 14th, 2015, 10:00 AM-12:00 PM.
Grades will be on a straight scale, with approximately:
|A||90% and above|
|F||61% and below|
These are percentages are upper limits -- thus a score of 90 is guaranteed to get at least an A-, 80 is guaranteed to get at least a B-, and so on.
You are not allowed to use resources other than those approved by me for completing your homework. Specifically, you are not to use homework solutions from previous iterations of this course. If you have access to old solutions, throw them out now!! If you get perfect scores on the 25% of the questions that are repeated, and flail on the 75% of the questions that are new, you will raise a red flag. You are also not allowed to search the web for solutions to the homework problems. You may discuss problems with other students, but each student must write up the solutions on his or her own. You should never look at the solution of another student.
The homework assignments for this class are conceptually difficult. In fact, I will be assigning homework that I do not expect you to be able to complete on your own! To succeed in the homework for the class, you must:
- Start work on the homework right after it is assigned, working until you get stuck. When you get stuck on one problem, put it aside and work on the others.
- Come by my office to discuss difficulties you are having with various problems.
- Using the hints & techniques from our discussion, go back and work on your own until you get stuck again.
- Come by my office (again) to discuss the problems, now that you have a greater understanding of the issues
- Work more on the problem on you own.
- Repeat (and repeat!), as necessary.
Note that for this strategy to work, you need to start on the
homework assignments soon after they are they are assigned, especially
since homework will be due weekly. I am expecting a large amount
of work from you –
but I am willing to give a large amount of assistance in return.
Finals and Midterms
Both midterms and the final will be closed notes. If you have a conflict with the midterm dates and times, see me now to see if we can work something out. Requests to change midterm dates after the first week or two of class will be politely and respectfully refused. The final date cannot be changed except under extraordinary circumstances. Conflicting airline reservations are not extraordinary circumstances.
Homework is due by the start of class on the due date. Late homeworks WILL NOT BE ACCEPTED. If you have difficulty with an assignment, or some type of time conflict, the correct time to see me is before it is due.
Functions & Relations
Deterministic Finite Automata (DFA)
Non-Deterministic Finite Automata (NFA)
Equivalence of DFAs, NFAs, and Regular Expressions
Context-Free Grammar (CFG)
Push-Down Automata (deterministic & non-deterministic) (PDA)
Equivalence of CFGs and PDAs
Definition of a Turing machine
Extensions of Turing machines
Non-Deterministic Turing machines
Equivalence of various Turing machine formalisms
Universal Turing Machines
Other unsolvable problems
Computational Complexity & NP-Completeness
the class P
the class NP
the class NP-Complete
Dealing with NP-Completeness