Métodos de Ensino
As aulas desta unidade curricular são de natureza teórico-prática.
Os conteúdos programáticos são lecionados através da exposição dos conceitos, seguida da demonstração da sua aplicação recorrendo a exemplos práticos. Após o que os alunos resolvem exercícios práticos relativos aos temas abordados.
A exposição dos conceitos apoiar-se-á na utilização de apresentações para a explanação do tópico em questão, conjugada com a implementação real do código correspondente a exemplos ilustrativos de cada tópico. No final de cada exemplo, os alunos são instados a proporem soluções alternativas para aquele problema.
Na fase inicial da unidade curricular é fortemente incentivada a execução, passo a passo, dos primeiros programas elaborados. Neste processo é realizada uma inspeção exaustiva dos conteúdos das variáveis envolvidas e observada a sequência de execução do programa em causa.
Sendo a programação uma atividade eminentemente prática, após apresentação de qualquer tópico dos conteúdos programáticos é fomentada uma forte componente de resolução de exercícios práticos existente num caderno de exercícios fornecido aos alunos e que cobre a totalidade dos tópicos do programa.
Também é incentivado o estudo autónomo, fora da sala de aula, através da indicação de um conjunto de bibliografia específica para cada capítulo do programa.
Resultados de Aprendizagem
Esta UC é crucial na licenciatura em Informática de Gestão dado que as competências de programação constituem um pressuposto na aquisição de conhecimentos de unidades subsequentes.
Os alunos deverão obter competências que lhes permitam:
O1 -Entender a noção de programa e de algoritmo. Conceber algoritmos básicos.
O2 -Compreender os elementos principais da linguagem Python.
O3 -Perceber a noção de tipo e conhecer diferentes tipos de dados.
O4 -Conhecer operadores e respetivas precedências.
O5 -Compreender o funcionamento das diferentes estruturas de controlo de fluxo: sequenciais, seleção e repetição.
O6 -Entender a noção de módulo, função, parâmetro e argumento. Perceber como utilizar funções.
O7 -Entender a noção de estrutura de dados e conhecer as existentes: Listas, Tuplos, Conjuntos, Dicionários e Cadeias de caracteres.
O8 -Entender a noção de exceção, conhecer os diferentes tipos de exceções e saber fazer o seu tratamento.
O9 -Conhecer e utilizar as bibliotecas existentes.
Programa
1. Introdução à programação
1.1. Algoritmos
1.2. Linguagens de programação
1.3. Frameworks
2. Introdução à Linguagem Python
3. Tipos de dados
4. Operadores e precedência
5. Estruturas de controlo de fluxo
5.1. Sequenciais
5.2. De seleção
5.3. De repetição
6. Programação modular e Funções
6.1. Introdução
6.2. Parâmetros e argumentos
6.3. Recursividade
7. Estruturas de dados
7.1. Listas
7.2. Tuplos
7.3. Conjuntos
7.4. Dicionários
7.5. Cadeias de caracteres
8. Exceções
9. Bibliotecas
Estágio(s)
NAO
Bibliografia
Bibliografia Base:
- • Introdução à Algoritmia e Programação com Python; Filipe Portela E Tiago C. Pereira; FCA; ISBN: 978-972-722-931-4, 2023.
- • Materiais de apoio às aulas.
- • https://docs.python.org/3/
Bibliografia Complementar:
- • Introduction to Computation and Programming Using Python, third edition; John V. Guttag; The MIT Press; ISBN: 9780262363440, 2021.
- • Fluent Python: Clear, Concise, and Effective Programming; Luciano Ramalho 2nd Edition; O’Reilly; ISBN: 978-1492056355; 2022.
- • https://www.w3schools.com/python/default.asp
- • https://learning.edx.org/course/course-v1:HarvardX+CS50P+Python/home