CS 208: Computing Theory: Spring, 2008/2009
Assoc. Prof. Dr. Brahim Hnich
Location/Time/Contact Information
- Computer Engineering Group:
Lecture Room M202; Lecture Times:
Tuesdays 8:30—11:20 AM
- Software Engineering Group:
Lecture Room M202; Lecture Times: Wednesdays 13:30—16:20 PM
Room 415
Email: brahim.hnich@ieu.edu.tr
Office Hours: Tuesdays 13:00--15:00
Description:
The
Computing Theory course provides a study
of formal languages and the theory of automata with an emphasis on Church’s
thesis and the “algorithm=machine” point of view. The following topics will be
included: regular expressions and context-free languages, finite and pushdown
automata, Turing machines, computability, undecidability, and complexity of
problems.
Textbooks:
- Harry R. Lewis and C.H. Papadimitriou. "Elements of the Theory
of Computation", ISBN 0-13-272741-2, Prentice Hall. (Reference
Book)
- Michael Sipser. "Introduction to the
Theory of Computation", ISBN 053494728X, PWS Publishing Company.
- Michael R. Garey and David S. Johnson. “Computer and Intractability",
ISBN 0-7167-1045-5, W.H. Freeman and Company.
- C.H. Papadimitriou. “Computational Complexity",
ISBN 0-201-53082-1, Addison-Wesley Publishing Company, Inc.
Exams and Grading:
- 6 Homeworks: 30%
- Midterm Exam: 30%
- Tuesday’s Section: April 21st
- Wednesday’s Section: April 22nd
- Final Exam: 40%
Programme
- Part A: Preliminaries
- Introduction
- Mathematical Notations for
Computations
- Part B: Automata Theory
- Finite State Automata
- Context Free Grammars
- Part C: Computability Theory
- Turing Machines
- Decidability and
Undecidability
- Reducibility
- Part D: Complexity Theory
- Time Complexity
- Intractability
- Space complexity
- Part E: Summary and Concluding
Remarks
Lecture Notes
Part A
Part B
Part C
Part D
Part E
Homeworks
If you have
any question about homework, you may either contact me or send an email to
Ozgur at ozgurakgun @ gmail.com who is preparing the homeworks and the
solutions.
- Homework 1: download here.
- Due Date for Homework 1: March
24th for Tuesday’s section and March 25th for the
Wednesday’s section.
- Solution for Homework 1:
download here.
- Homework 2: download here.
- Due Date for Homework 1: April
7th for Tuesday’s section and April 8th for the
Wednesday’s section.
- Solution for Homework 2:
download here.
- Homework 3&4: download here.
- Due Date: for Tuesday’s
section April 21st and April 22nd for Wednesday’s
section
- Solution for Homework 3&4:
download here.
- Homework 5: download here.
- Due Date: for Tuesday’s
section May 12th and May 13th for Wednesday’s section
- Solution for Homework 5:
download here.
- Homework 6: download here.
- Due Date: Last day of lecture
- Solution for Homework 6:
download here
Resources
JFLAP is software
for experimenting with formal languages topics including nondeterministic
finite automata, nondeterministic pushdown automata, multi-tape Turing
machines, several types of grammars, parsing, and L-systems.
JFLAP website: http://www.jflap.org
Challenges
- Design a DFA accepting all
strings over the alphabet {0,1} such that the number of 0’s is divisible
by five, and the number of 1’s divisible by 3.
- Design a DFA accepting all
strings over the alphabet {0,1}
beginning with a 1 that, when interpreted as a binary integer, is a multiple of 5.
For example, strings 101, 1010, and 1111 are accepted whereas strings 0,
100, and 111 are rejected.