CSC 333 Automata, Grammers and Computability 
Study of three classical formal models of computationfinite state machines, contextfree grammars, and Turing machinesand the corresponding families of formal languages. Power and limitations of each model. Parsing. Nondeterminism. The Halting Problem and undecidability. The classes P and NP, and NPcompleteness. 3 credit hours. 

• Prerequisite  

CSC 226 Applied Discrete Mathematics or an equivalent discrete mathematics course (a grade of B or better is strongly recommended). This material is reviewed briefly in the introduction to the text. A student taking CSC 333 must either be a CSC major or have a GPA of at least 2.75. Must be comfortable with Java. We will have several programming projects including compiler design and implementation. 

• Course Objectives  
Upon successful completion of this course, a student will be able to:
Learning Outcomes: Part I: Automata Theory:
Part II: Computational Theory:
Part III: Computability Theory:


• Course Requirements  
Grades will be based on: Homework  25% 

• Textbook  
No textbooks are required. The instructor will provide all the relevant materials for the course. 

• Computer and Internet Requirements  
NCSU and Engineering Online have recommended minimum specifications for computers. For details, click here. 

• Instructor  
Dr. Nagiza Samatova, Professor Computer ScienceEngineering 2272 EBII NCSU Campus Raleigh, NC 27695 
Phone: 9195137575 
