CS Department Logo

COMS W3261
Computer Science Theory
Fall 2014
  Class meets 1:10-2:25pm, Mondays and Wednesdays, 833 Mudd.

Final will be Monday, December 8, 2014.
Students whose last names begin A-R should go to room 833 Mudd.
Students whose last names begin S-Z should go to room 627 Mudd.

Course webpage: https://www.cs.columbia.edu/~aho/cs3261
Courseworks website: https://courseworks.columbia.edu
Piazza bulletin board: https://piazza.com/columbia/fall2014/comsw3261
 Teaching Staff
 Name   email   Office hours    Location 
Prof. Al Aho   aho@cs.columbia.edu   Mondays and Wednesdays 3:00-4:00pm   513 CSB
Shangshang Chen   sc3399@columbia.edu   Fridays 4:00pm-6:00pm   TA Room, 122 Mudd
Rhea Goel   rg2936@columbia.edu   Mondays 4:00-6:00pm   TA Room, 122 Mudd
Daniel Park   sjp2172@columbia.edu   Thursdays 3:00-5:00pm   TA Room, 122 Mudd
Sagar Sarda   ss4355@columbia.edu   Mon 11:00-1:00, Tue 4:00-6:00   TA Room, 122 Mudd
Alisha Sindhwani   as4312@columbia.edu   Wed 3:00-4:00, Wed 5:30-6:30   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 modern 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 2014
Date  Lecture  Reading 
Sep 3   Introduction to CS Theory  HMU, Ch. 1  
Sep 8   Finite Automata   HMU, Ch. 2 
Sep 10   Regular Expressions   HMU, Ch. 2, Sects. 3.1, 3.3.1  
Sep 10   Homework Assignment #1   Due Sep 24  
Sep 15   Equivalence of Regular Expressions and Finite Automata   HMU, Ch. 3  
Sep 17   Properties of Regular Languages   HMU, Sect. 4.1, 4.2  
Sep 22   Decision Problems for Regular Languages; Minimizing States   HMU, Ch. 4 
Sep 24   Context-Free Grammars   HMU, Ch. 5 
Sep 29   Pushdown Automata   HMU, Ch. 6 
Sep 29   Homework Assignment #2   Due Oct 14 
Oct 1   Equivalence of CFG's and PDA's   HMU, Sect. 7.1 
Oct 6   CNF, Pumping Lemma, CYK Algorithm   HMU, Ch. 7 
Oct 8   Closure and Decision Properties of CFL's   HMU, Ch. 7 
Oct 13   Turing Machines   HMU, Ch. 8 
Oct 15   Variants of Turing Machines   HMU, Ch. 8 
Oct 20   Algorithms and the Church-Turing Thesis   HMU, Ch. 8, Sect. 9.1 
Oct 22   Midterm   HMU, Chs. 1-7  
Oct 27   The Universal Language   HMU, Sects. 9.1-9.2 
Oct 27   Homework Assignment #3   Due Nov 10 
Oct 29   Post's Correspondence Problem   HMU, Sects. 9.4-9.5 
Nov 3   Academic Holiday    
Nov 5   Undecidable Problems   HMU, Ch. 9  
Nov 10   The Classes P and NP   HMU, Sect. 10.1 
Nov 12   Satisfiability   HMU, Sects. 10.1-10.3  
Nov 12   Homework Assignment #4   Due Nov 24  
Nov 17   NP and Co-NP   HMU, Sects. 10.3, 11.1  
Nov 19   Introduction to the Lambda Calculus    
Nov 24   The Lambda Calculus II    
Nov 24   Homework Assignment #5   Due Dec 3  
Dec 1   The Lambda Calculus III    
Dec 8   Final Exam, 833 & 627 Mudd   Lectures 1-23  
 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, Third Edition
Cengage Learning, 2013

  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 20 % Best four homeworks out of five
40 % Midterm
40 % Final

aho@cs.columbia.edu Updated December 7, 2014