SylabUZ
Course name | Theoretical foundations of computer science |
Course ID | 11.3-WE-INFP-TFCS-Er |
Faculty | Faculty of Computer Science, Electrical Engineering and Automatics |
Field of study | Computer Science |
Education profile | academic |
Level of studies | First-cycle Erasmus programme |
Beginning semester | winter term 2022/2023 |
Semester | 2 |
ECTS credits to win | 5 |
Course type | obligatory |
Teaching language | english |
Author of syllabus |
|
The class form | Hours per semester (full-time) | Hours per week (full-time) | Hours per semester (part-time) | Hours per week (part-time) | Form of assignment |
Lecture | 30 | 2 | - | - | Exam |
Class | 30 | 2 | - | - | Credit with grade |
Algorithms and Data Structures, Computational Logic, Linear Algebra, Mathematical Analysis.
Algorithms and their properties: correctness, partial correctness, halting property; proving correctnes and the halting property.
Computational complexity of algorithms (worst and average case complexity). Upper and lower bound on the compexity of an algorithmic problem, inherent complexity and the complexity gap. Determining the complexity of algorithms. Notation for asymptotic growth rates.
Foundations of automata theory, languages and computation: grammars and languages, finite automata, regular languages and regular expressions, context-free grammars and context-free languages, normal forms of grammars, derivation trees, pushdown automata, context-sensitive languages and linear bounded automata, Turing machines and recursively enumerable languages, the Chomsky hierarchy.
Counter automatons and Turing machines. Accepting vs deciding. Time and space complexity. Random access machine. Classes of algorithmic problems: P, NP NP-complete and PSPACE. Proving NP-completeness. Open problems on computational complexity. Limits of computabiliity and decidability. Church-Turing thesis.
Parallel and probabilistic algorithms. Product complexity. Chandra-Stockmeyer parallel computation thesis. Nick's class. RNC algorithms.
Lectures: conventional lectures
Exercises: whiteboard problem solving, presentations, discussions
Outcome description | Outcome symbols | Methods of verification | The class form |
Lectures: the passing condition is to obtaing a positive grade from the final exam.
Exercises: the passing condition is to obtain a positive grade from all tests.
Course: it is necesssary to pass both lectures and exercises.
Calculation of the final grade: lecture 50% + exercises 50%
Modified by dr hab. inż. Piotr Borowiecki, prof. UZ (last modification: 21-04-2022 01:01)