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, 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., Παπαδημητρίου Χρίστος Χ., 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

In a classroom, also with video lectures.