IPT Logotipo do IPT

Ano Letivo: 2023/24

Engenharia Informática

Introduction to Programming and Problem Solving

<< back to Curriculum Plan

Publication in the Diário da República: Despacho n.º 8644/2020 - 08/09/2020

7 ECTS; 1º Ano, 1º Semestre, 42,0 PL + 28,0 TP , Cód. 911931.

Lecturer
- Paulo Sérgio Correia Monteiro (2)
- António Manuel Rodrigues Manso (1)(2)

(1) Docente Responsável
(2) Docente que lecciona

Prerequisites
Not applicable

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.
1) Introduction to algorithms and problem solving.

2) Natural and formal languages:
a- Natural and formal languages
b- Pseudocodes and flowcharts.
c- Programming languages.

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

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

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

6) 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.

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

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

9) 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
Practical assessment: 70%
- Construction of a portfolio of algorithms
- Resolution of practical tests
- Minimum grade in the practical assessment: 10 out of 20.
Theoretical evaluation: 30%
- Theoretical test without consultation.
- Minimum grade in the theoretical evaluation: 7 out of 20.

Bibliography
- Cormen, T. e Leiserson, C. e Rivest, R. e , . (2009). Introduction to Algorithms. USA: MIT Press
- Costa, E. (2015). Programação em Python - Fundamentos e Resolução de Problemas. Lisboa: FCA

Teaching Method
Lectures focusing on content presentation and demonstration. Practicals to apply and validate theoretical concepts.

Software used in class
Algorithmi
Pycharm
eLearning platform

 

 

 


<< back to Curriculum Plan
NP4552
Financiamento
KreativEu
erasmus
catedra
b-on
portugal2020
centro2020
compete2020
crusoe
fct
feder
fse
poch
portugal2030
poseur
prr
santander
republica
UE next generation
Centro 2030
Lisboa 2020
Compete 2030
co-financiado