CS Department Logo

COMS W3261
Computer Science Theory
Fall 2012
  Class meets 1:10-2:25pm, Mondays and Wednesdays, Room 602 Hamilton.
Courseworks class bulletin board is at https://courseworks.columbia.edu

Solutions to homework assignment #4 have been posted on Courseworks.

Homework Assignment #5 is due in class Wednesday, December 5, 2012.

The final exam will be in class Monday, December 10, 2012.

 Teaching Staff
 Name   email   Office hours    Location 
Prof. Al Aho   aho@cs.columbia.edu   Mondays and Wednesdays 3:00-4:00pm   513 CSB
Afreen Azad   aa3165@columbia.edu   Wednesdays 11:00am-1:00pm   TA Room, 122 Mudd
Karan Bathla   kb2658@columbia.edu   Tuesdays 5:40-7:40pm   TA Room, 122 Mudd
Neeraja Ramanan   nr2404@columbia.edu   Thursdays 4:00-6:00pm   TA Room, 122 Mudd
Zhang Yao   yz2498@columbia.edu   Wed 9:15-10:15am and Thu 8:45-9:45am   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 2012
Date  Lecture  Reading 
Sep 5   Introduction to CS Theory  HMU, Ch. 1  
Sep 10   Regular Expressions   HMU, Sects. 3.1, 3.3  
Sep 12   Finite Automata   HMU, Chs. 2 and 3  
Sep 12   Homework Assignment #1   Due Sep 24  
Sep 17   Equivalence of Regular Expressions and Finite Automata   HMU, Ch. 3 
Sep 19   Pumping Lemma for Regular Languages   HMU, Sect. 4.1  
Sep 24   Properties of Regular Languages   HMU, Ch. 4 
Sep 26   Context-Free Grammars   HMU, Ch. 5 
Oct 1   Pushdown Automata   HMU, Ch. 6 
Oct 1   Homework Assignment #2   Due Oct 15 
Oct 3   CFGs and PDAs   HMU, Sect. 7.1 
Oct 8   Properties of CFL's   HMU, Ch. 7 
Oct 10   Decision and Closure Properties of CFL's   HMU, Ch. 7 
Oct 15   Turing Machines   HMU, Ch. 8 
Oct 24   Variants of Turing Machines   HMU, Ch. 8 
Oct 29   Homework Assignment #3   Due Nov 14 
Nov 7   Algorithms and the Church-Turing Hypothesis   HMU, Ch. 8, Sect. 9.1 
Nov 12   The Universal Language and Post's Correspondence Problem   HMU, Sects. 9.2-9.6 
Nov 14   Undecidable Problems and Rice's Theorem   HMU, Ch. 9, Sect. 10.1 
Nov 14   Homework Assignment #4   Due Nov 28  
Nov 19   The Classes P and NP   HMU, Sects. 10.1-10.2 
Nov 26   Satisfiability   HMU, Sects. 10.1-10.3  
Nov 28   Lambda Calculus I    
Nov 28   Edwards: Lambda Calculus    
Nov 28   Homework Assignment #5   Due Dec 5  
Dec 3   Lambda Calculus II    
Dec 5   Final Review    
 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 August 14, 2012