Fundamentos da Programação
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Fundamentos da Programação |
Ocorrência: 2009/2010 - 1S
Ciclos de Estudo/Cursos
Língua de trabalho
Português
Objetivos
1 - INTRODUÇÃO
Os engenheiros informáticos requerem conhecimentos elevados de técnicas de programação que só pode ser consolidados com uma boa base de fundamentos da programação.
2 - OBJETIVOS ESPECÍFICOS
Desenvolver o conhecimento básico para resolver problemas de programação de média complexidade.
3 - CONHECIMENTO PRÉVIO
Nenhum conhecimento prévio é necessário.
4 - DISTRIBUIÇÃO PERCENTUAL
Componente científica: 40%
Componente tecnológica: 60%
5 - RESULTADOS DA APRENDIZAGEM
No final da unidade curricular, o aluno deverá ter capacidade para resolver situações de programação de média complexidade.
Mais especificamente, o estudante deverá ser capaz de:
- Desenvolver os algoritmos para a resolução dos problemas adotando uma abordagem estruturada;
- Selecionar e criar as abstrações adequadas, tanto ao nível dos procedimentos como dos dados;
- Utilizar como ferramenta de desenvolvimento a linguagem Scheme, caracterizada por uma sintaxe simples.
Programa
Abstracção procedimental: elementos de programação em Scheme, procedimentos e processos, recursividade e iteração, ordem de crescimento dos processos.
Abstracção de dados: selectores e construtores, barreiras de abstracção, listas, exemplo de uma abstracção (conjuntos).
Abstracções com dados mutáveis: construtores, selectores, modificadores, listas mutáveis, filas de espera, tabelas, vectores e ficheiros de texto.
Bibliografia Obrigatória
F. Nunes Ferreira, António Coelho; Scheme na descoberta da programação, FEUPedições (formato e-book), 2008
Bibliografia Complementar
Springer, George;
Scheme and the Art of Programming. ISBN: 0-262-19288-8
Abelson, Harold;
Structure and interpretation of computer programs. ISBN: 0-262-01077-1 (disponível em http://mitpress.mit.edu/sicp/full-text/book/book.html)
Métodos de ensino e atividades de aprendizagem
Procura-se um envolvimento participado e contínuo dos alunos no estudo e discussão dos temas da unidade curricular e em trabalhos de programação. Estes trabalhos, a contar para a avaliação, deverão ser normalmente realizados em computador, num período aproximadamente mensal.
O aluno será incentivado a procurar ideias para resolver os problemas, pô-las em movimento, com implementações elegantes, legíveis e, tanto quanto possível, eficientes, em tempo (de cálculo) e em espaço (de memória), tendo como ferramenta de desenvolvimento a linguagem Scheme.
• Aulas Teóricas: exposição dos temas programáticos e discussão de exemplos utilizando computador e projector de vídeo.
• Aulas Teórico-Práticas: Apresentação, discussão e desenvolvimento de exercícios de programação em Scheme.
A título experimental e com carácter não obrigatório, será facultada fora de aulas, uma vez por semana, uma prova de auto-avaliação, realizada em computador e submetida no Moodle para avaliação automática.
Software
http://www.drscheme.org/
Tipo de avaliação
Avaliação distribuída sem exame final
Componentes de Avaliação
Descrição |
Tipo |
Tempo (Horas) |
Peso (%) |
Data Conclusão |
Participação presencial (estimativa) |
Participação presencial |
60,00 |
|
|
Prova Prática 1 |
Exame |
2,00 |
|
2009-11-04 |
Prova Prática 2 |
Exame |
2,00 |
|
2009-12-09 |
Prova Prática 3 |
Exame |
2,00 |
|
2010-01-20 |
Prova escrita, com consulta |
Exame |
2,00 |
|
2010-01-27 |
Auto-testes semanais (facultativos) ou estudo |
Exame |
15,00 |
|
|
|
Total: |
- |
0,00 |
|
Componentes de Ocupação
Descrição |
Tipo |
Tempo (Horas) |
Data Conclusão |
Trabalhos fora de aulas |
Estudo autónomo |
79 |
|
|
Total: |
79,00 |
|
Obtenção de frequência
Não exceder o limite de faltas estabelecido pelas Normas de Avaliação (25% do número de aulas teórico-práticas previstas) e obter uma classificação mínima de 30% na média ponderada das componentes AD, PP1, PP2 e PP3 (ver pesos destas componentes na fórmula da classificação final).
Fórmula de cálculo da classificação final
As várias componentes de avaliação:
• AD - Apreciação do desempenho dos alunos face aos exercícios propostos à turma.
• PP1, PP2, PP3 - Realização de provas práticas em computador (em 3 quartas-feiras, pelas 15:00)
• PE - Realização de uma prova escrita com consulta.
Classificação = PP1 * 0.10 + PP2 * 0.15 + PP3 * 0.30 + AD * 0.05 + PE * 0.40
Observações:
1- É condição de aprovação a obtenção de uma classificação mínima de 30% na componente PE.
2- Se, por decisão do docente, não ocorrer alguma das componentes de avaliação, a cotação correspondente será atribuída às outras avaliações, proporcionalmente ao respectivo peso.
3- Se a classificação obtida for igual ou superior a 16 valores, o aluno poderá ser submetido a uma prova oral, por iniciativa da equipa docente. Neste caso, a classificação final será a média aritmética das classificações obtidas na prova escrita e na prova oral.
Provas e trabalhos especiais
Não previsto
Avaliação especial (TE, DA, ...)
Consta de uma prova prática em computador (PP) e de uma prova escrita (PE) com consulta.
Classificação = PP * 0.50 + PE * 0.50
Observações:
1- É condição de aprovação a obtenção de uma classificação mínima de 30% em cada uma das provas PP e PE.
2- Se, por decisão do docente, não ocorrer alguma das componentes de avaliação, a cotação correspondente será atribuída à outra avaliação.
3- Se a classificação obtida for igual ou superior a 16 valores, o aluno poderá ser submetido a uma prova oral, por iniciativa da equipa docente. Neste caso, a classificação final será a média aritmética das classificações obtidas na prova escrita e na prova oral.
Melhoria de classificação
Consta apenas de uma prova escrita (PE) com consulta, numa escala de 0 a 20 valores.
Observação:
Se a classificação obtida for igual ou superior a 16 valores, o aluno poderá ser submetido a uma prova oral, por iniciativa da equipa docente. Neste caso, a classificação final será a média aritmética das classificações obtidas na prova escrita e na prova oral.
Observações
Não são exigidos pré-requisitos.