Departamento de Informática (UM)

Página de Unidade Curricular

DesignaçãoCódigoCursoRegimeRegente

Introdução aos Paradigmas da Programação

14455 [J204N3]

Licenciatura em Engenharia Biomédica [ENGBIOM]

S2

Dalila Alves Durães

Objetivos

Dada a variedade de paradigmas e linguagens de programação, esta unidade curricular opta por realçar o paradigma da programação orientada a objetos relacionando sempre com os restantes paradigmas apresentados. Depois de introduzidos os modelos e as metodologias de desenvolvimento de software, serão abordados os diversos tipos de dados e estruturas de dados acompanhados do desenvolvimento de algoritmos de aplicação.
Posteriormente, serão exploradas estruturas de dados abstratas e serão desenvolvidas soluções algorítmicas para problemas complexos. Paralelamente, em ambiente laboratorial é apresentado o conceito da programação orientada a objetos e implementados os diversos algoritmos previamente estudados.

Programa

1. Modelos e metodologias de desenvolvimento de software
2. Paradigmas de programação imperativo, lógico, funcional e orientada a objetos
3. Programação orientada a objetos
4. Tipos abstratos de dados
5. Programação orientada a eventos
6. Algoritmos e programação

Bibliografia

Booch, G., Rumbaugh, J. & Jacobson, I. (2005). The unified modeling language user guide. Upper Saddle River, NJ: Addison-Wesley.

Cormen, T. (2009). Introduction to algorithms. Cambridge, Mass: MIT Press.

Pressman, R. & Maxim, B. (2020). Software engineering : a practitioner's approach. New York, NY: McGraw-Hill Education.

Lott, S. (2019). Mastering object-oriented Python : build powerful applications with reusable code using OOP design patterns and Python 3.7. Birmingham: Packt Publishing.

Budd, T. (2002). An introduction to object-oriented programming. Boston: Addison-Wesley.

Resultados da aprendizagem

- Discutir os modelos e metodologias de desenvolvimento de software;
- Demonstrar capacidade de resolução dos problemas inerentes à execução das tarefas de programação de computadores ao nível algorítmico e de estruturas de dados;
- Discutir os diversos paradigmas de programação;
- Aplicar a linguagem de programação Python na programação por objetos de sistemas informáticos;
- Avaliar a complexidade dos algoritmos.

Método de avaliação

Avaliação contínua, que integra 2 componentes de avaliação, uma componente teórica e uma componente prática. A componente teórica constituída por uma prova teórica final e a componente prática constituída por trabalhos práticos individuais e de grupo. A classificação final daUC é determinada pelo cálculo da média ponderada das classificações obtidas sendo considerado 50-70% para a componente teórica e 30-50% para a componente prática. A classificação teórica pode ser recuperada em todas as épocas de exame definidas.

Funcionamento

Turno: T 1; Docente: Dalila Alves Durães; Dep.: DI; Horas: 30.
Turno: TP 1; Docente: Dalila Alves Durães; Dep.: DI; Horas: 30.
Turno: TP 2; Docente: Filipa Tinoco Ferraz; Dep.: DI; Horas: 30.

[ Outras UCs do Departamento ]