| CS 581: Theory of Computation 3 credits
 Text:Sipser, Michael, Introduction to the Theory of Computation, second edition, PWS, 2005.
 (The first edition is now out of print.)
 Course Objectives: 
						Introduce students to the classic results in theoretical computer science that classify problems according to the machines that can solve them and the resources required by those machines. This includes basic results relating to computable functions, decidability, and complexity theory.
						Master basic proof techniques used in these results including induction, diagonalization, and reduction.
						Illuminate the relationship between logic and computation.
					 Assumptions: 
						Students have been exposed to the concepts of regular expressions, context free grammars, and programming in a general purpose language. They have applied these concepts to solve problems such as lexical analysis, parsing, and code generation.
						Students are familiar with discrete mathematics, including sets, sequences, induction and elementary graph theory.
					 Lectures: Subject to Change 
						Course Overview & Mechanics (3/29)
							
								Review notation, set theory, proof, diagonalization
								Assignments 0 and 1 are given at the first lecture
							Regular Languages 1 (3/31)
					      
								Definition, Closure properties, nondeterminism, regular expressions
						  Regular Languages 2 (4/5)
					      
								Equivalence of regular expressions and NFAs, 
						  Regular Languages 3 (4/7)
					      
						    Nonregular languages, Distinguishability
					      Context Free Languages 1 (4/12)
							
							  Myhill Nerode
							  Context Free Languages
				  CFL 2 (4/14)
							
							  Equivalence of PDAs/CFGs                                							
							  Pumping lemma, applications                                
				  Turing Machines 1 (4/19)
						  
						    PL for CFLs                            
						    Introduction to Turing machines
					        Church-Turing hypothesis
					        Multi-tape Turing machines
			              Turing Machines 2 (4/21)
					
					  Nondeterministic Turing machines                         
					  Language Problems                        
					  Undecidable problems exist
					Reduction 1 (4/26)
							
							  Reduction                                
							  Examples of reductions                                
							  Mid-term review                                
						  Mid-term (4/28)                                
				Reduction 2 (5/3)
                             
							   Computation Histories                                
							   Post correspondence problem
						       Relationship to logic                                
                            Reduction 3 (5/5)
					      
								Rice's theorem                                
								Primitive Recursive functions
					      Recursion Theory 1 (5/10)
							[Probable guest lectue]
				  
								Partial Recursive functions
							    Equivilence of partial recursive functions and Turing machines
							    Lambda calculus                                                              
			    Recursion Theory 2 (5/12)
						  [Probable guest lecture]
				  
								Fixed points and recursion
						        General recursion
						        Programming systems                                                                
						  Recursion Theory 3 (5/17)
						  
								Pairing functions
						        S-m-n theorem
						        Recursion theorem for acceptable programming systems                                                              
						  Recursion Theory 4 (5/19)
                        	
								Recursion theorem applications
                        	    Recursion theorem corolaries (alternate formations)
                        	    Logic:  formulas, terms, sentences
                        	    Logical theories                                                                                           
                        	Logic (5/24)
                          
				Logic 2 (5/26)                            
						  Representability                            
                            Incompleteness                            
                            Goedel's theorem
No lecture 5/31, Memorial Day.  PSU Closed.           
				Complexity 1 (6/2)
                          
                            Time and Space complexity
                            The classes P and NP
                            P-time reduction 
                            NP-completeness
					  	    Cook-Levin theorem                            
			              Final Exam
					    (6/7)
					    
							  Topics: Comprehensive, in-class exam.
				  1930 - 2120
					     |  |