IPT Logotipo do IPT

Ano Letivo: 2020/21

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
- Ana Cristina Barata Pires Lopes (2)
- António Manuel Rodrigues Manso (1)(2)
- Paulo Alexandre Gomes dos Santos (2)

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

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.
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: 50%
1. Construction of an algorithms portfolio: 25%
2. Resolution of practical exercises in python: 25%


Theoretical assessment: 50%
1. Two tests: 25% + 25%
2. One exam: 50%
Minimum grade in the theoretical assessment: 7 out of 20.

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

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
b-on
santander
erasmus
catedra
portugal2020
centro2020
compete2020
crusoe
fct
feder
fse
poch
portugal2030
poseur
prr
republica
UE next generation
Centro 2030
Lisboa 2020
co-financiado