Introdução à Programação para Ciência e Engenharia
Objetivos
Saber: as construções do fragmento coberto de Python; construir uma aplicação no fragmento a partir de uma especificação informal, com a metodologia definida; os componentes e ferramentas básicas de um ambiente de desenvolvimento de software e sua função.
Fazer: desenvolver programas de pequena dimensão, segundo certas convenções; desenvolver algoritmos simples; entender código escrito no fragmento coberto de Python; utilizar ferramentas de programação e interpretar os seus resultados; realizar, em grupo, um mini-projecto de desenvolvimento de software, integrando competências.
Desenvolver: hábitos de trabalho, individuais e em grupo, e de cumprimento de prazos; preocupação com a organização, o rigor e a execução de planos de trabalho.
Caracterização geral
Código
12566
Créditos
6.0
Professor responsável
Carla Maria Gonçalves Ferreira
Horas
Semanais - 5
Totais - 62
Idioma de ensino
Português
Pré-requisitos
A disponibilizar brevemente
Bibliografia
- Think Python, Allen B. Downey, 2nd edition, O’Reilly, 2015.
- Fundamentals of Python: First Programs, Kenneth A. Lambert, 1st Edition, 2011.
Método de ensino
Esta cadeira tem um forte caráter aplicado e a nota final depende da capacidade de resolver problemas de programação práticos usando a linguagem Python.
Nas aulas teóricas, os conceitos fundamentais da cadeira são transmitidos, exemplificados e discutidos.
Nas aulas práticas, os alunos resolvem pequenos problemas onde aplicam os conceitos e técnicas estudados. Parte desses problemas estarão disponíveis num sistema de avaliação automática de programas (Mooshak).
O projeto final da cadeira é realizado parcialmente nas aulas práticas e parcialmente fora das aulas. O projeto final é importante pois destina-se a sedimentar tudo o que se aprendeu ao longo da disciplina e a ganhar desenvoltura na resolução de programas de programação.
Método de avaliação
Elementos da avaliação
Os elementos de avaliação são os seguintes, com os pesos na nota final indicados:
- T1 - Teste 1 - 30%
- T2 - Teste 2 - 45%
- PR - Projeto prático - 20%
- PA - Partipação nas aulas - 5%
- ER - Exame de recurso - 75%
Cada um destes elementos de avaliação é cotado até 20 valores.
Os projectos são efectuados por grupos de dois alunos. Poderão haver discussões de projectos para alguns grupos.
Notas das componentes prática e teórica
A nota da componente prática é definida como:
- PRAT = PR
A nota da componente teórica é definida de duas formas diferentes, consoante o momento em que a nota é obtida (por avaliação contínua ou exame final):
- TEOR= (0.30*T1 + 0.45*T2) / 0.75
- TEOR = ER
Frequência
A nota de frequência é igual à nota da parte prática:
- FREQ = PRAT
Nota final e Aprovação
A nota final calcula-se assim:
- FINAL = 0.20 * FREQ + 0.75 * TEOR + 0.05 * PA
A aprovação na cadeira é determinada pela seguinte condição:
- Aprovação = FREQ >= 9.5 e TEOR >= 9.5
As notas intermédias são arredondadas para duas casas decimais.
A nota final é um número inteiro.
Validade da frequência obtida neste ano
A frequência obtida no ano letivo corrente será valida apenas no próximo ano letivo.
Frequência do ano anterior
A frequência obtida no ano anteriore é válida no ano letivo corrente e transita automaticamente. Permite-se também que essa nota seja melhorada, fazendo o projeto do ano corrente.
Fraude
Qualquer tipo de fraude em qualquer elemento de avaliação implica a impossibilidade de fazer a cadeira no ano lectivo corrente (mesmo que haja exames marcados).
Conteúdo
1. Introdução às linguagens de programação;2. Noções básicas de Python; 3. Variáveis e tipos de dados; 4. Legibilidade de código; 5. Metodologias de programação; 6. Estruturas de controle; 7. estruturas de repetição; 8. Funções e módulos; 9. Strings; 10. Leitura e gravação de dados em armazenamento persistente; 11. Estruturas de dados básicas: arrays, listas, dicionários, tuplos; 12. Algoritmos básicos: ordenação e procura dicotómica, percursos de dicionários; 13. Design e estrutura de programação; 14: Bibliotecas para manipulação e visualização de dados. 15. Seleção de algoritmos científicos fundamentais relevantes à area do curso (biologia, física, etc).
Cursos
Cursos onde a unidade curricular é leccionada: