CS410: Formal Lang/Abst Machines

This course studies the theoretical underpinnings of modern computer science, focusing on three main models of computation: DFA, PDA, and Turing Machines. Students determine model capabilities and limitations: what is and is not computable by each of them. Complexity issues related to the various models will also be discussed.

Pre: CS 310 and MATH 375

 Course Information

Lecturer: Yanwei Wu, --@mnsu.edu  389-2831
Office Hours: click here or by appointment (send email).
Office:
224 Wissink Hall

Start Date : Aug-24-09; End date Dec-12-09. See MSU academic calendar for Fall 2009.

ClassTime :  M, W,F 9:00-9:50 AM
Classroom : TR C317

 Midterm: 10/19/2009, class time (tentative). Final exam TUE, Dec 8, 2009, 8:00AM to 10:00AM, in the -- See MSU 2009 fall final schedule for more details.

 

Course Syllabus [Class Syllabus here] [Class Slides here]

 

1. Basic Mathematical Objects and Concepts.

(a) Sets, Logic, Functions, Relations and Languages

(b) Mathematical Proofs

2. Regular Language and Finite Automata

(a) Formal deŻnitions of automata, regular expressions and equivalence

with automata

(b) Non-deterministic FA and their equivalence to deterministic FA

(c) Pumping Lemma to show that a language is not regular

3. Context-Free Language and Push-down Automata

(a) Formal deŻnition of push-down automata and equivalence with context-

free grammars

(b) Pumping Lemma to show that a language is not context-free

4. Turing Machines and Their Languages

(a) Formal deŻnition of a Turing machine

(b) Various models of TMs and their equivalence

5. Unsolvable Problems and Computable Functions

(a) The Halting problem

(b) Mapping reducibility

(c) Undecidable problems in language models

(d) Recursive Function Theory

6. Introduction to Computational Complexity

(a) The classes P and NP

(b) NP-Completeness and the Cook's theorem

(c) Polynomial reducibility

(d) NP-Complete problems

Course Assignments

5 Homeworks.

Homework 1: hw1.pdf  hw1.tex   hw1_solution.pdf

Homework 2: hw2.pdf  hw2.tex  hw2_solution.pdf

Homework 3: hw3.pdf  hw3.tex  hw3_solution.pdf

Homework 4: hw4.pdf  hw4.tex  hw4_solution.doc

Homework 5: hw5.pdf  hw5.tex

 

Course Books

TEXT BOOK:

Title: Introduction to Languages and the Theory of Computation

Author: Martin

Publisher: McGraw-Hill

ISBN: 9780136097204

GOOD BOOKs:

(1) Introduction to Theory of Computing, M. Sipser. (recommended)

(2) Introduction to Automata Theory, Languages and Computation, J. Hopcroft, J.D. Ullman and R. Motwani.

(3) Complexity Theory, by Papadimitriou

(4) Elements of the Theory of Computation, by Lewis and Papadimitriou

Course Grading and Requirements:

 

For all students:

Assignments (40%), Midterm (30%), Final Examination (30%).

 

Exams: you will be responsible for all material covered in lectures, homework, and assigned readings.

The format of the exams will be announced shortly—

 

Homeworks:

1.      You may take an automatic extension by handing in the assignment on the specified extended due date (within a week of the original due date) and time but with 10% deduction on this homework grade.

2.      No late assignments handed in after the extended deadline will be accepted. Requests for an additional extension will almost always be denied.

3.      In this course you are allowed to discuss the problems with your classmates, and to work together. If you choose to do so, please indicate the name(s) of the people with whom you have worked. Otherwise, it will be treated as cheating! Keep in mind that you may discuss assignment problems, general proof strategies, or general algorithms with other students in the course, but you cannot collaborate in the detail development or actual writing of problem sets. When you submit the hardcopy of your solution, please help us by stapling all written pages, labeling them with your name, and clearly labeling each problem. You don't want us to lose part of your assignment or not see your answers, do you?.

 

         

 

 

last updated on August 25th, 2009