You need to activate javascript for this site.
Menu Conteúdo Rodapé
  1. Home
  2. Courses
  3. Mathematics and Applications
  4. Computation Theory

Computation Theory

Code 14813
Year 3
Semester S1
ECTS Credits 6
Workload PL(30H)/T(30H)
Scientific area Informatics
Entry requirements --
Mode of delivery face-to-face
Work placements Not applicable.
Learning outcomes There are limits to the ability of problem solving by a computer.
In order to explore these limits in this unit the student shall formally define the concept of computing power of the machines and study their theoretical limit and thus be able to define formally what is and what isn't a program, an algorithm.
To understand the concepts underlying programming languages in thus unit we shall study formally the constructs that determine the expression (or computing power) of programming languages, as well as the behavior of the programs.
Syllabus A. Introduction and Basic Concepts
B. Finite-state Automata
C. Theory of Formal Languages
D. Pushdown Automata
E. Turing Machines
F. Non-computability and Undecidability
G. Others Models of Computation
H. Computational Complexity
I. Programming in Computer Models (practical-laboratory classes)
Main Bibliography "An Introduction to Formal Languages and Automata", 4th Ed, 2006
Peter Linz
Jones and Bartelett Computer Science

"Teoria da Computação - Computabilidade e Complexidade", 2010
Francisco Coelho e João Pedro Neto
Escolar Editora

"Elements for the Theory of Computation", 2nd Ed, 1998
Harry Lewis and Christos Papadimitriou
Prentice Hall, 1998.

"Models of Computation and Formal Languages", 1998
R. Gregory Taylor
Oxford University Press

"Introduction to Automata Theory, Languages and Computation", 2nd Ed, 2001
John Hopcroft, Rajeev Motwani, Jeffrey Ullman
Addison Wesley
Teaching Methodologies and Assessment Criteria In order to guarantee that students achieve the main goals expected for this course, classes will be divided into the following types:
- 2h/week theoretical classes (T) for showing the main theoretical concepts, methods and algorithms, using the board, oral discussion and data projection as main tools;
- 2h/week practical classes (PL), which will serve for applying and testing concepts learned during the theoretical classes, by problem solving and exercise sheets containing proofs to construct; There will also be a practical programming component.

Evaluation:
- 2 Written Tests (WT) - 16 points (80%) divided by 2 times (8 point each).
- 1 Evaluation of Knowledge on Practical Classes (PC) - 4 points (20%).

WT 1: 16/11/2021; WT 2: 11/01/2022; PC: 06/12/2021 or 07/12/2021
Language Portuguese. Tutorial support is available in English.
Last updated on: 2022-07-11

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