CS Department Logo

COMS W3261
Computer Science Theory
Fall 2011
 Announcements
  Class meets 1:10-2:25pm, Mondays and Wednesdays, 209 Havemeyer.
Courseworks class bulletin board is at https://courseworks.columbia.edu

Homework Assignment #3 is now posted on Courseworks/COMS W3261/Assignments.
   It is due in class, 1:10pm, Monday, November 21, 2011.

Final: Monday, December 12, 2011 (in class)
 Teaching Staff
 Name   email   Office hours    Location 
Prof. Al Aho   aho@cs.columbia.edu   Mon, Tue, Wed 2:45-3:45   513 CSB
 
Aishwarya Seshadri   as3907@columbia.edu   Fri 10:00-12:00 noon   TA Room, 122 Mudd
Kui Tang   kt2384@columbia.edu   Tue and Thu 2:35-3:35   TA Room, 122 Mudd
 
 Course Overview
  In Computer Science Theory you will learn computational thinking and get to know the fundamental models of computation that underly computer hardware, software, and programming languages. You will also discover that there are limits on how quickly computers can solve some problems and that there are some problems that no computer can solve.

The course will cover the important formal languages in the Chomsky hierarchy -- the regular sets, the context-free languages, and the recursively enumerable sets -- as well as the formalisms that generate these languages and the machines that recognize them. The course will also introduce the basic concepts of computability and complexity theory by focusing on the question, "What are the fundamental capabilities and limitations of computers?"

The concepts covered in this course will be amply illustrated by applications to current programming languages, algorithms, natural language processing, and hardware and software design.

 Pre- or Corequisites
  COMS W3137 Data Structures and Algorithms
  COMS W3203 Discrete Mathematics
 Schedule 2011
Date  Lecture  Reading 
Sep 7   Introduction to CS Theory  HMU, Ch. 1  
Sep 12   Regular Expressions   HMU, Sect. 3.1  
Sep 14   Finite Automata   HMU, Chs. 2 and 3  
Sep 19   Equivalence of Regular Expressions and Finite Automata   HMU, Ch. 3  
Sep 21   Properties of Regular Languages   HMU, Ch. 4 
Sep 22   Context-Free Grammars   HMU, Ch. 5 
Sep 27   Pushdown Automata   HMU, Ch. 6 
Oct 3   CNF and the Pumping Lemma for CFL's   HMU, Sects. 7.1-7.2 
Oct 5   Properties of CFL's   HMU, Ch. 7 
Oct 10   Midterm Review - 1   HMU, Chs. 1-7 
Oct 12   Midterm Review - 2   HMU, Chs. 1-7 
Oct 19   Turing Machines   HMU, Ch. 8 
Oct 24   Programming Techniques for Turing Machines   HMU, Ch. 8 
Oct 26   Algorithms and the Church-Turing Hypothesis   HMU, Ch. 8 
Nov 2   Undecidability   HMU, Sects. 9.1-9.2 
Nov 9   Post's Correspondence Problem   HMU, Sects. 9.3-9.6 
Nov 14   Undecidable Problems and Rice's Theorem   HMU, Ch. 9 
Nov 16   Lambda Calculus    
Nov 21   Edwards: Lambda Calculus    
Nov 23   The Classes P and NP   HMU, Sects. 10.1-10.2  
Nov 28   Review of Answers to HW#3    
Nov 30   Satisfiability   HMU, Sects. 10.1-10.3  
Dec 5   SAT is NP-Complete   HMU, Sects. 10.1-10.3  
Dec 7   Final Review   HMU, Chs. 1-10  
 Required Text
  John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman
Introduction to Automata Theory, Languages, and Computation, Third Edition
Pearson/Addison-Wesley, 2007, ISBN 0-321-45536-3
 Additional References
  Michael Sipser
Introduction to the Theory of Computation, Second Edition
Thomson, 2006

  Alfred V. Aho and Jeffrey D. Ullman
Foundations of Computer Science, C Edition
W. H. Freeman, 1995
An online version of this book is available here.
 Class Policies
  Grading 30 % Homeworks
30 % Midterm
40 % Final

aho@cs.columbia.edu Updated September 7, 2011