Title Theory of Computation
Lesson Code 321-6700
Semester 5
ECTS 5
Hours (Theory) 3
Hours (Lab) 0
Faculty Kaporis Alexis

Syllabus

Regular languages, finite automata (deterministic or, non deterministic), pumping lemma for regular languages. Grammars for context free languages, pushdown automata, pumping lemma. Turing machines, computability and Church-Turing thesis. Non computability, halting problem. Time complexity, class P, Cook-Carp Thesis. NP completeness and time reductions. Space complexity and Savitch's theorem.

Learning Outcomes

  • When the student completes the course succesfully:
  • She will have the knowledge to identify the limits of the current models of computation.
  • She will have the skills to study computing machines.
  • She will have the capability to study the power of various computing models.

Prerequisite Courses

Not required.

Basic Textbooks

1. Sipser Michael, Introduction to the Theory of Computation.
2. Lewis Harry R., Christos Papadimitriou, Elements of the Theory of Computation.

Additional References

Information and Computation

Teaching and Learning Methods

 

Activity Semester workload
Lectures 39 hours
   
Personal study 83 hours
   
Final exams 3 hours
Course total 125 hours (5 ECTS)

 

Student Performance Evaluation

Lectures with slides. The lectures appear in videos to help the understanding.

Language of Instruction and Examinations

Greek (English for Erasmus students)

Delivery Mode

Face-to-face