CS 301 Languages and Automata

Fall 2010: (Call no 10647 (class) and 10645 (discussion))

Instructor: Ajay Kshemkalyani
Email: first name @ uic.edu
Class meeting times: TR 9:30 - 10:45pm in LC A6
Office Hours (in 915 SEO): T,R 11:00 - 11:50pm

TA: Min Shen
Email: mshen6 @ uic.edu
Recitation section time: F 12:00-12:50pm in SES 238
The recitation section meetings will begin from the third week, i.e., Sept 10. We may occasionally skip it in some week.
Office Hours (in 932 SEO): W 3:00-5:00pm; F 10:00-11:00 am and 1:00-2:00pm, phone 996-5941.

Textbooks and other Resources

Web page: Please read it regularly. All announcements will be made here, in addition to tracking the course progress during the semester.

Course Description

This course focuses on theoretical principles. You will not be programming in this course.
This course presents some of the most fundamental results in theoretical Computer Science. These results attempt to answer, in a precise mathematical sense, the following two questions, which are of practical as well as philosophical interest: We focus on problems rather than on specific algorithms for solving problems. To answer both questions mathematically, we need to start by formalizing the notion of "computer" or "machine". So the course outline breaks naturally into three parts:
  1. Models of computation (Automata Theory) (Sipser: Chapters 1, 2, 3)
  2. What can we compute? (Computability Theory) (Sipser: Chapters 4, 5)
  3. How efficient can we compute? (Complexity Theory) (Sipser: Chapters 7, 8)
The specific contents we plan to cover are as follows.
  1. Chapter 0: Introduction, mathematical notation, proof techniques
  2. Chapter 1: Deterministic finite automata (DFA), nondeterministic finite automata (NFA); RE=NFA, nonregular languages/RE pumping lemma
  3. Chapter 2: Context-free grammars (CFG), Chomsky normal form, all RL are CFG; Pushdown automata (PDA), Non-CF languages/CFL pumping lemma
  4. Chapter 3: Turing machines (TMs), TM decidable languages, TM recognizable languages, Equivalence between multitape TMs, Equivalence between nondeterministic TMs and other models, Church-Turing thesis
  5. Chapter 4: Decidable languages, decidability RL/PDAs/RE; Decidability CFLs/CFGs, Halting problem, counting/diagonalization; Undecidability of the Halting problem, TM unrecognizable languages
  6. Chapter 5: Computation histories, examples of undecidable languages; TM computable functions, mapping reducibility
  7. Chapter 7 (we will try to cover some sections from this chapter): Time-complexity, polynomial time (P), languages in P, Strong Church-Turing thesis; Nondeterministic polynomial time (NP), SAT; Polynomial time reductions, NP-completeness, 3SAT versus CLIQUE, Cook-Levin Theorem; Proof Cook-Levin theorem, NP-completeness of SAT and 3SAT, proving NP-completeness; NP-completeness of HAMPATH, SUBSET SUM
  8. Chapter 8 (we may not have time for this chapter): Space complexity, Savitch's theorem, PSPACE, PSPACE completeness, TQBF.

Course Progress and Announcements

  1. Week 1
  2. Week 2
  3. Week 3
  4. Week 4
  5. Week 5
  6. Week 6
  7. Week 7
  8. Week 8
  9. Week 9
  10. Week 10
  11. Week 11
  12. Week 12
  13. Week 13
  14. Week 14
  15. Week 15 v
  16. Week 16 (Final): W Dec 8, 10:30am - 12:30pm
    Syllabus: Chapters 0, 1, 2, 3, 4, 5.1 up to and including Theorem 5.9, (pgs 199-200 of 5.2), Linked documents under "Textbooks and Other Resources" section above.
    Emphasis is on Chapters 4 and 5.

Course Requirements

You are expected to be familiar with all the material covered in the lectures and in the relevant sections of the textbook. Attending lectures is highly advisable, because some of the lectures and homework problems will be drawn from material not in the text, and you will be responsible for this material. There will be several homework problem sets, two midterm exams, and a final exam.

Grading

Your final grade will be based on the sum of your problem set, midterms, and final exam scores. The following is only a TENTATIVE breakup of the evaluation scheme and is subject to changes as the course progresses. The full scale of grades ("A" - "E") will be used.

You may view, but please do not copy or download this file: Final raw scores on Dec 9, 2010.
Please do not email me for letter grades. I will decide on them probably next week, by which time you will be able to access your official semester grades. I am travelling and out of email contact from this weekend till Thursday 12/16. I enjoyed teaching your batch! I hope you also found the course useful.

Reading Assignments

In general there will be no specific reading assignments. However, the relevant sections from the textbook will be pointed out in class. It is recommended that you make yourself familiar with the material prior to class, and it is a good strategy to read the pertinent sections again right after class to make sure you understand them.

It is crucial that you continuously stay on top of the material, because every new topic and every new homework builds on previous results. If you don't understand the material at the beginning, it will be difficult to catch up later. Please do not wait until the last moment to do your homework -- start thinking about the problems on the day they are handed out!

Homework Assignments

Examinations

There will be two in-class mid-term exams during the normal lecture time. They are tentatively scheduled for October 5 and November 9.

The mid-terms will be cumulative, but they will concentrate on new material. The final exam will be comprehensive. In all exams you will be allowed to bring one letter-size sheet of hand-written notes. No other material will be allowed.

Academic Integrity

The work you submit in this course must be the result of your individual effort. You may discuss homework problems and general proof strategies or algorithms with other students in the course, but you must not collaborate in the detailed development or actual writing of problem sets. This implies that one student should never have in his or her possession a copy of all or part of another student's homework. It is your responsibility to protect your work from unauthorized access. In writing up your homework you are allowed to use any book, paper, or published material. However, you are not allowed to ask others for specific solutions, either in person or by using electronic forums such as newsgroups. Of course, during the administration of exams any form of cooperation or help is forbidden.

Any dishonest behavior will be severely penalized and may lead to failure in the course. Academic dishonesty has no place in a university; it is unfair to the majority of the students. Besides, a proper grounding in firm ethical behavior is essential to being a good citizen, and the university is probably the last institution that can instill these values before you step in to the real world as an independent contributor.