Description

You have reached the Piazza page for the Northeastern University, College of Computer and Information Science, Fall 2012 session of Theory of Computation, also known as "CS3800 12F." This is an undergraduate course on the theory of computation. It serves as an introduction to formal models of languages and computation. Topics covered include finite automata and regular languages, pushdown automata and context-free languages, Turing machines, computability, and NP-completeness.

General Information

Where
WVH 108
When
MWR - 1:35 PM ~ 2:40 PM
Date Range
Sep 05, 2012 - Dec 05, 2012
Prerequisites
■ CS2510, Fundamentals of Computer Science 2,
■ CS2800, Logic and Computation.

- As important, perhaps, is the material from CS1800, Discrete Structures, which itself is a prerequisite for CS2800.
Readings
We will be following closely the slides available on this page (see resources tab), so you do not need to buy any book for this class. However, we list next a few books that cover overlapping material:

■ Introduction to the Theory of Computation, 3rd Edition, Sipser.
■ Introduction to Automata Theory, Languages, and Computation, 3rd Edition, Hopcroft, Motwani, Ullman.

For links to errata, go to the tab Resources then section General Resources.
Course Outline
Slides corresponding to each part of the course can be found in the Resources tab. Some bigger files are also available in smaller chunks.

Note 1: Slides will be updates throughout the course. Make sure you have the last version.

Note 2: Direct links to course materials are available on the instructor's web page at http://www.ccs.neu.edu/home/viola/

+ Overview of class — Readings: Slide #01

+ Math primer — Readings: Think like pros, Slide #02

+ Regular languages and finite automata — Readings: Slides #03-10
--- DFAs
--- regular operations
--- closure properties
--- non-determinism
--- equivalence of NFAs and DFAs
--- regular expressions
--- equivalence of RE and FA
--- the pumping lemma

+ Context-free languages and pushdown automata — Readings: Slide #11
--- context-free grammars
--- ambiguity
--- pushdown automata
--- equivalence of CFLs and PDAs
--- pumping lemma for CFLs
--- closure properties

+ Turing Machines and Computability — Readings: Slides #12-14
--- Turing Machine variants
--- Church-Turing thesis
--- cardinality of infinite sets
--- diagonalization
--- undecidability
--- Halting Problem
--- reducibility
--- Rice's theorem

+ Complexity — Readings: Slides #15-18
--- P and NP
--- NP-Completeness
--- the Cook-Levin Theorem
Tentative Schedule
2012-09-05 Wednesday -- First class
2012-09-06 Thursday
2012-09-10 Monday
2012-09-12 Wednesday
2012-09-13 Thursday
2012-09-17 Monday -- PS 1 OUT
2012-09-19 Wednesday
2012-09-20 Thursday
2012-09-24 Monday -- PS 1 DUE
2012-09-26 Wednesday
2012-09-27 Thursday
2012-10-01 Monday -- QUIZ 1
2012-10-03 Wednesday
2012-10-04 Thursday -- PS 2 OUT
2012-10-08 Monday -- Columbus Day -- no classes
2012-10-10 Wednesday
2012-10-11 Thursday
2012-10-15 Monday -- PS 2 DUE
2012-10-17 Wednesday
2012-10-18 Thursday
2012-10-22 Monday -- QUIZ 2
2012-10-24 Wednesday
2012-10-25 Thursday
2012-10-29 Monday -- PS 3 OUT / MID-CLASS SURVEY
2012-10-31 Wednesday
2012-11-01 Thursday
2012-11-05 Monday -- PS 3 DUE
2012-11-07 Wednesday
2012-11-08 Thursday
2012-11-12 Monday -- Veterans Day -- no classes
2012-11-14 Wednesday
2012-11-15 Thursday
2012-11-19 Monday -- QUIZ 3
2012-11-21 Wednesday -- Thanksgiving -- no classes
2012-11-22 Thursday -- Thanksgiving -- no classes
2012-11-26 Monday -- PS 4 OUT
2012-11-28 Wednesday
2012-11-29 Thursday
2012-12-03 Monday -- PS 4 DUE
2012-12-05 Wednesday -- last class
Grading
Your final grade is calculated as follows:

● Quizzes: 80%
● Problem Sets: 20%

There will be about 4 quizzes. The last quiz will be held during exam week. The other quizzes will be held during regular class times. Half of your least-scoring quiz will be "dropped." That is, it will not count towards your final grade. Quizzes are "closed-book." You cannot bring any book, notes, or electronic device.

Your least-scoring problem-set will also be "dropped." That is, it will not count toward your final problem-set grade.
Problem Sets
When solving a problem you can use all the results seen in class. You should not use other sources. I want you to spend your time thinking about the problems, not searching for a solution on the web.

Some of the exercises will be routine, but others will be more challenging. I do not expect you to solve all of the homework problems, but I hope that you will benefit from working on the more difficult ones. A few hints on the homework assignments:

-- Start early: Difficult problems are not typically solved in one sitting. Start early and let the ideas come to you over the course of a few days.

-- Be rigorous: CS3800 is a theory course, and as such, a certain level of mathematical rigor will be expected in your solutions.

-- Be concise: Express your solutions at the proper level of detail. Give enough details to clearly present your solution, but not so many that the main ideas are obscured.

-- Work with others: Some of the problems will be difficult, and it will often be helpful to discuss them with others. Feel free to form study groups. However, the idea is for everyone to understand the problems and experience working through the solutions, so you may not simply "give" a solution to another classmate. In particular, each student must write up his or her own homework solutions and must not read or copy the solutions of others. If you work with others on a problem, you must note with whom you discussed the problem at the beginning of your solution write-up.

Announcements

Final things
12/16/12 - 10:39 AM
Hi all,
I was a great pleasure teaching such a strong group of students. Keep up the good work in your future CS classes. If you ever have any questions about CS classes or research, I will always be happy to hear from you and my door is always open. A few reminders:

1) *Please, please, please log onto TRACE and fill out evaluations.* TODAY IS THE LAST DAY. Only half of you did it so far, let's make it 100% ;-) It would be invaluable for me and the College to get all your input.

2) If you are around, you can pick up your exams and left-over homework during my regular office hours, this Thursday 2:45 to 4pm. Otherwise send me an email after you are back.

3) The winners of the Top Piazza Contributor prize are:
John McGuiness
14 contributions; 60 days online
Eric
13 contributions; 75 days online
Daniel Calacci
12 contributions; 89 days online
Congratulations!! Again, either come Thursday or send me email to collect your prize.
Thanks also to all the other students for contributing to Piazza in various ways.

Hope to see you around the department next term! Happy holidays!
Emanuele
#general
TRACE
12/14/12 - 4:29 PM
Please remember to fill the TRACE evaluations, which expire in 2 days. We need 100% but we only received 40% so far.

Have a good week end!
#general
Final quiz
12/02/12 - 11:42 AM
I see on myneu that the final quiz has been scheduled by the registrar for

8:00 am - 10:00 am M Shillman Hall 105 Dec 10, 2012

It will have the same format as the other quizzes.
#quiz4
Problem Set 4
11/26/12 - 1:37 PM
Due: Monday 3 before class start.
Questions: 39e, 39f, 46d, 46e from the quiz sample file (quizsample.pdf)
You can find it on the resources tab --- https://piazza.com/northeastern/fall2012/cs3800/resources

You can either give it to the instructor or the TA, or you can place it in the Homework Box outside WVH 266 office.
PS3 Extension: Due 2012-11-08 Thursday before class.
11/06/12 - 4:23 PM
It has been brought to my attention that the TA was late for his office hours on Monday, and so some of you could not get help.
Because of this we are extending the due date to
2012-11-08 Thursday before class.
This gives you an extra chance to go to office hours on Wednesday.

If you have already handed in your problem set, but you still want to take advantage of the extra time, please just submit extra pages, with new or reworked solutions, and we will grade accordingly.
#problem_set3
Hint for Problem 1.(a) in PS3
11/02/12 - 9:11 AM
A few people have asked me for a hint on Problem 1.(a) in PS3. Here it is:

First solve it in the case that m=q=0.
Then solve it in the case that m=0 only.
Then solve the whole thing.
#problem_set3
PS3 now due by Tuesday November 6th at 5PM.
11/01/12 - 3:50 PM
We are postponing the due date of PS3 to Tuesday November 6th at 5PM.
This gives you a full week to work on it, and an extra chance to go to Office Hours on Monday.
#problem_set3
Problem Set 3
10/30/12 - 4:53 PM
Due: Monday Nov. 5 before class start.

Filename: H3.pdf
You can view it on the course page: https://piazza.com/northeastern/fall2012/cs3800/resources

Note: Because of the storm Sandy, this problem set is out one day later than originally planned.

Update: This problem set is now due by Tuesday November 6th at 5PM.
#problem_set3

Staff Office Hours

Hamid Jahanjou
--
--
Emanuele Viola
--
--

Quiz Samples

Nothing has been added to the Quiz Samples section, yet. Stay tuned!

Slides

Nothing has been added to the Slides section, yet. Stay tuned!

Problem Sets

Nothing has been added to the Problem Sets section, yet. Stay tuned!