TeSP - Tecnologia e Programação em Sistemas de Informação, Publication in the Diário da República - Despacho n.º 6191/2020

5 ECTS; 1º Ano, Anual, 68,0 TP

- António Manuel Rodrigues Manso


1) Know and understand the principles of structured programming.
2) Design and analyze algorithms for solving problems using pseudocodes and flowcharts.
3) Implement and test algorithms in high-level programming languages.

1) Introduction to algorithms and problem solving.

2) Computational calculation and simple data types:
a- Definition of data types.
b- Operators and functions.
c- Computational expressions.

3) Sequential processing:
a- Definition of variables.
b- Instructions for reading data.
c- Computational calculation instructions.
d- Instructions for writing information.

4) Conditional decision:
a- Relational operators and logical operators.
b- Instructions for simple decisions.
c- Instructions for multiple decisions.

5) Repetition and iteration:
a- Iteration of a set of values.
b- Repetition with initial conditions.
c- Repeat with final conditions.
d- Instructions for changing the flow of cycles.

6) Modularization of programs:
a- Top-down approach to problem solving.
b- Functions and procedures.
c- Parameters and function return.
d- Recursion.

7) Vectors and matrices:
a- Definition and manipulation of data sets.
b- Sorting and searching algorithms.
c- Matrix definition and manipulation.
d- Algorithms about matrices.

8) Programming in a high-level language:
a- Introduction to python programming.
b- Processing of simple data structures.
c- Exploration of language modules and packages.

Evaluation Methodology
Continuous evaluation:
1.Construction of an algorithm portfolio : 70% (minimum of 10/20)
2. Written test: 30% (minimum of 7/20)

Assessment by exam:
1.Written proof: 100%

- Cormen, T. e Leiserson, C. e Rivest, R. e Stein, C. (2009). Introduction to Algorithms, 3rd edition. (pp. 1-1000). MIT Press: MIT Press

Method of interaction
Lectures for presentation and demonstration of the syllabus. Classes practices for implementation and validation of theoretical concepts by solving small exercises.

Software used in class
eLearning platform