You need to activate javascript for this site.
Menu Conteúdo Rodapé
  1. Home
  2. Courses
  3. Computer Science and Engineering
  4. Theory of Computing

Theory of Computing

Code 14343
Year 3
Semester S1
ECTS Credits 6
Workload PL(30H)/T(30H)
Scientific area Informatics
Entry requirements NA
Mode of delivery face-to-face
Work placements Not applicable.
Learning outcomes Understand the computing capacity of classical machines, as well as their theoretical limits.
Understand how classical computers handle problems.
Understand the fundamental concepts that support the languages of a classical computer.
Syllabus A. Introduction and Basic Concepts
B. Finite Automata
C. Regular Expressions and Languages
D. Pushdown automata
E. Turing machines
F. Incomputability and undecidability
G. Alternative Computing Models
H. Introduction to Computational Complexity
I. Programming in Models of Computation (practical-laboratory classes)
Main Bibliography Michael Sipser. Introducton to the Theory of Computation (3rd Edition). Cengage Learning, 2012.
John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. Introduction to Automata Theory, Languages, and Computation (3rd Edition). Addison Wesley, 2006.
Teaching Methodologies and Assessment Criteria In order for the student to acquire the required skills, the student is provided for:
- 2h/week of theoretical classes (ET) for oral exposure of theoretical concepts, methods and algorithms, also using writing on the board, discussing ideas with students, and projection of slides;
- 2h/week of practical-laboratory classes (PL), in which the student will apply and test the concepts, methods and algorithms presented in the theoretical classes, through the resolution of exercises that are included in forms created for this purpose;
Language Portuguese. Tutorial support is available in English.
Last updated on: 2026-01-12

The cookies used in this website do not collect personal information that helps to identify you. By continuing you agree to the cookie policy.