Include a brief summary of the course topics and requirements, the general format of the course, and the methods of evaluation. == Skills and knowledge students should have prior to beginning the course: == * Solid programming skills (CIS 2500) * Discrete mathematics and introduction to graphs (CIS 1910/2910) * Algorithms and basic analysis (CIS 3490) == Course Topics: == * Finite Automatons/Regular languages * Pushdown Automatons/Context free languages * Turing machines and variants * Undecidable languages (Halting Problem) * Np-completeness == Course Format: == * Lecture format: Standard lectures * Online materials location and format: Courselink, notes/assignments posted * Lab or tutorial format and expectations: No lab/tutorial == Method of evaluation: == * Number of Assignments: 5 * Number of Graded Labs: 0 * Number of Quizzes: 11 * Formal Midterm? Yes * Course project? No * Final Exam? Yes * Group work? No * mostly programming assignments? No * Written documents? No