**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

**Lecturer**

- António Manuel Rodrigues Manso

**Prerequisites**

**Objectives**

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.

**Program**

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%

**Bibliography**

- 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**

Algorithmi

Pycharm

eLearning platform