COURSE DESCRIPTION AND APPLICATION INFORMATION

Course Name Code Semester T+A+L (hour/week) Type (C / O) Local Credit ECTS
Theory of Computation CE 516 Fall-Spring 03+00+00 Elective 3 7.5
Academic Unit: Department of Computer Engineering
Mode of Delivery: Face to face
Prerequisites: None
Language of Instruction: English
Level of Course Unit: Graduate
Course Coordinator: Öznur YAŞAR DİNER
Course Lecturer(s): Öznur YAŞAR DİNER
Course Objectives: This course aims to introduce the fundamentals of the theory of computation and how its used in computer science.
Course Contents: Finite Automata, Languages. Turing Machines. Gödel`s Incompleteness Theorems. Complexity Theory (Time Complexity and Space Complexity) Approximation Algorithms, Probabilistic Algorithms.
Learning Outcomes of the Course Unit (LO):
  • 1- Demonstrate advanced knowledge of formal computation and its relationship to languages
  • 2- Distinguish different computing languages and classify their respective types
  • 3- Show a competent understanding of the basic concepts of complexity theory.
  • 4- Correctly define computational complexity classes and analyze the time and space complexity of algorithms
  • 5- Present procedures of proving NP-completeness and NP-hardness, and be able to provide proofs for network design problems defined as decision problems
Planned Learning Activities and Teaching Methods: Lecture, Discussion, Sampling, Problem Solving, Question and Answer, Group Work


WEEKLY SUBJECTS AND RELATED PREPARATIONS

WeekSubjectsRelated Preperation
1 Introduction and Overview of Finite Automata Sipser CHP 0, CHP 1.1
2 Nondeterministic finite automaton. NFA vs DFA. Sipser CHP 1.2
3 Regular Expressions and Languages Sipser CHP 1.3, 1.4
4 Context-Free Grammars and Languages Sipser CHP 2.1, 2.2
5 Pushdown Automata and More on CFLs Sipser CHP 2.3, 2.4
6 Turing machines Sipser CHP 3.1, 3.2
7 Decidability and Undecidability Sipser CHP 4.1, 4.2
8 Reducibility Sipser CHP 5.1, 5.2
9 Time Complexity Sipser CHP 7.1, 7.2, 7.3
10 NP-Completeness Sipser CHP 7.4, 7.5
11 Space Complexity Sipser CHP 8.1, 8.2, 8.3
12 NL-completeness Sipser CHP 8.4, 8.5
13 Approximation Algorithms Sipser CHP 10.1
14 Probabilistic Algorithms Sipser CHP 10.2


REQUIRED AND RECOMMENDED READING

Introduction to the Theory of Computation, Michael Sipser, 2012.


OTHER COURSE RESOURCES

1. Introduction to Automata Theory, Languages, and Computation (3rd Edition)
John E. Hopcroft , Rajeev Motwani , Jeffrey D. Ullman, 2016.
2. Computational Complexity, Christos H. Papadimitriou, 1993.
3. Approximation Algorithms, Vijay V. Vazirani, 2001.
4. Computers and Intractability, Micheal R. Garey and David S. Johnson, 1979.


ASSESSMENT METHODS AND CRITERIA

Semester RequirementsNumberPercentage of Grade (%)
Project 1 30
Midterms / Oral Exams / Quizes 1 40
Midterms 1 30
Total: 3 100


WORKLOAD

EventsCountDuration (Hours)Total Workload (hour)
Course Hours14342
Project12020
Preparation for Presentation / Jury11010
Extra-Class Activities (reading,individiual work, etc.)14570
Final Exam122
Presentation111
Midterms122
Out-of-Class Studies where Students are Active14342
Presentation of Project Reports111
Total Workload (hour):190


THE RELATIONSHIP BETWEEN COURSE LEARNING OUTCOMES (LO) AND PROGRAM QUALIFICATIONS (PQ)

# PQ1 PQ2 PQ3 PQ4 PQ5 PQ6 PQ7 PQ8 PQ9 PQ10
LO1                    
LO2                    
LO3                    
LO4                    
LO5