Please note! Course description is confirmed for two academic years (1.8.2018-31.7.2020), which means that in general, e.g. Learning outcomes, assessment methods and key content stays unchanged. However, via course syllabus, it is possible to specify or change the course execution in each realization of the course, such as how the contact sessions are organized, assessment methods weighted or materials used.
LEARNING OUTCOMES
After the course you know the most important mathematical models of computation and their characteristics. You can model computation using finite automata and describe simple syntactic patterns with regular expressions and context-free grammars. You understand the possibilities and limitations of the computation models and description formalisms studied during the course, and know their relationships. You understand how the Turing machine model characterises everything that can be computed with a computer program, and that there are well-defined problems that cannot be solved by any program.
Credits: 5
Schedule: 12.01.2021 - 14.04.2021
Teacher in charge (valid 01.08.2020-31.07.2022): Pekka Orponen
Teacher in charge (applies in this implementation): Pekka Orponen
Contact information for the course (applies in this implementation):
CEFR level (applies in this implementation):
Language of instruction and studies (valid 01.08.2020-31.07.2022):
Teaching language: English
Languages of study attainment: English
CONTENT, ASSESSMENT AND WORKLOAD
Content
Valid 01.08.2020-31.07.2022:
Finite automata and regular languages. Context-free grammars and pushdown automata. Turing machines and computability.
Assessment Methods and Criteria
Valid 01.08.2020-31.07.2022:
Exam, tutorial problems and computerised assignments.
Workload
Valid 01.08.2020-31.07.2022:
Lectures, teaching in small groups, independent work and exam.
DETAILS
Study Material
Valid 01.08.2020-31.07.2022:
Lecture notes/slides and other separately announced study material. Supporting textbook (recommended but not obligatory): Michael Sipser, Introduction to the Theory of Computation.
Substitutes for Courses
Valid 01.08.2020-31.07.2022:
CS-C2150 Theoretical Computer Science.
Prerequisites
Valid 01.08.2020-31.07.2022:
CS-A1110 Programming 1 and CS-A1120 Programming 2 or CS-A1111 Basic Course in Programming Y1 and CS-A1121 Basic Course in Programming Y2,
MS-A0401/A0402/A0409 Foundations of discrete mathematics.
SDG: Sustainable Development Goals
9 Industry, Innovation and Infrastructure
FURTHER INFORMATION
- Teacher: Aarts Sander
- Teacher: Kuoppala Siiri
- Teacher: Nguyen Trang
- Teacher: Orponen Pekka