COMS W3261: Computer Science Theory, Spring 2013


General information | Introduction | List of topics | Prerequisites
Grading | Textbook | Related courses | Lectures | Problem sets



General information

Instructor: Seung Geol Choi. Office: 511 CSB. Office hours: Mon/Wed 10am-11am
Teaching assistants:
Classroom: NORTHWEST CO 501
Time: Tue/Thu 11:40am-12:55pm

Introduction

This is a three-credit required course for the undergraduate CS program.

This course provides an introduction to models of computation, computability, and complexity. In particular, we will ask the question, "What are the fundamental capabilities and limitations of computers?"


List of topics


Prerequisites

The course prerequisites are Discrete Math (COMS W3203) and, to a lesser degree, Data Structures (COMS W3137), or the instructor's permission.


Grading

  • The homework constitutes 20%, midterm constitutes 40%, and the final constitutes 40% of the final grade.
  • There will be 5 problem sets for the homework. Late homework may be submitted up until the beginning of the next class after the homework is due for a penalty of 30% off the grade. For an exception, you must have your undergraduate advisor contact me.
  • All students are assumed to be aware of the computer science department academic honesty policy. Homework should constitute your own work. Collaboration in groups of two or three students is allowed, but not required. Collaboration in groups of more than three students is not allowed. You should write your own solution, and list the names of all people that you collaborated with. If you use a source other than the textbook in doing your assignment, explain the material from the source in your own words and acknowledge the source. In any case, you are not allowed to look at written solutions of any other student, even if you worked on solving the homework together. Collaboration without acknowledgment is considered cheating.

Textbook

We will use Introduction to the Theory of Computation, Third Edition by Michael Sipser, Course Technology. The second edition will also be fine. Copies are currently available at the Columbia bookstore, and there are copies on reserve at the Engineering Library. The book's website and errata are available here.

Optional text: Introduction to Automata Theory, Languages and Computation by John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman


The following courses are closely related to the topics covered in this course:

See the theory group's webpage for more information and a list of past and current theory courses.

In addition, the following courses benefit from and relate to some of the topics covered by this course:


Tentative Plan

1/22 L01: Introduction, Finite Automata Chap 0, 1.1
1/24 L02: Designing Finite Automata, regular operations Chap 1.1
1/29 L03: NFA Chap 1.2
1/31 L04: Equivalence of NFAs and DFAs, closure under regular operations Chap 1.2
2/5 L05: Regular expressions Chap 1.3 HW1
2/7 L06: Regular expressions, equivalence with Finite Automata Chap 1.3
2/12 L07: The pumping lemma Chap 1.4
2/14 L08: Contrext-free grammars Chap 2.1 HW1due,HW2
2/19 L09: Pushdown Automata Chap 2.2
2/21 L10: Pushdown Automata Chap 2.2
2/26 L11: Non-context-free Lanaguages (guest lecture) Chap 2.3 HW2due
2/28 Review (guest lecture)
3/5 Midterm 1 HW3
3/7 L12: Turing Machines Chap 3.1
3/12 L13: Variants of TMs Chap 3.1, 3.2
3/14 L14: Vairants of TMs Chap 3.2
3/19 Spring Break
3/21 Spring Break
3/26 L15: Church-Turing Thesis, decidable languages Chap 3.3, 4.1 HW3due,HW4
3/28 L16: The diagonalization method, an undecidable language Chap 4.2
4/2 L17: An undecidable language, a Turing-unrecognizable language Chap 4.2
4/4 L18: Undecidable problems from language theory Chap 5.1 HW4due
4/9 L19: Undecidable problems from language theory II Chap 5.1
4/11 Midterm 2
4/16 L20: A simple undecidable problem Chap 5.2
4/18 L21: Mapping reducibility Chap 5.3 HW5
4/23 L22: Measuring complexity Chap 7.1
4/25 L23: Complexity relation ships among models, the class P Chap 7.1, 7.2
4/30 L24: The class P, the class NP Chap 7.2, 7.3 HW5due
5/2 L25: NP-Completeness Chap 7.4
5/16 Final

Problem sets