Fundamentos da Programação
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Fundamentos da Programação |
Ocorrência: 2006/2007 - 1S
Ciclos de Estudo/Cursos
Língua de trabalho
Português
Objetivos
No final da disciplina, o aluno deverá saber abordar situações de programação de média complexidade, criando as necessárias abstracções, tanto ao nível dos procedimentos como dos dados.
O aluno será incentivado a encontrar 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, 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, procedimentos definidos localmente.
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, introdução à programação orientada por objectos.
Bibliografia Obrigatória
F. Nunes Ferreira; • Programação com Scheme (disponível na página da disciplina.)
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 disciplina e em trabalhos de programação. Estes trabalhos, a contar para a avaliação, deverão ser normalmente realizados em computador, de 3 em 3 semanas, durante as aulas TP.
• 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. Realização de testes de avaliação, sempre que possível em computador.
Software
DrScheme
Tipo de avaliação
Avaliação distribuída sem exame final
Componentes de Avaliação
Descrição |
Tipo |
Tempo (Horas) |
Peso (%) |
Data Conclusão |
Aulas da disciplina (estimativa) |
Participação presencial |
56,00 |
|
|
Prova Prática 1 |
Exame |
2,00 |
|
2006-10-18 |
Prova Prática 2 |
Exame |
2,00 |
|
2006-11-22 |
Prova Prática 3 |
Exame |
2,00 |
|
2007-01-10 |
Prova Escrita |
Exame |
2,00 |
|
2007-01-17 |
|
Total: |
- |
0,00 |
|
Componentes de Ocupação
Descrição |
Tipo |
Tempo (Horas) |
Data Conclusão |
Acompanhamento das aulas |
Estudo autónomo |
89 |
2007-01-17 |
|
Total: |
89,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% no conjunto das componentes Ad e Pp1, Pp2 e Pp3.
Fórmula de cálculo da classificação final
As várias componentes de avaliação decorrerão nas aulas teórico-práticas:
• Ad - Apreciação do desempenho dos alunos face aos exercícios propostos à turma.
• Pp1, Pp2, Pp3 - Realização de provas práticas em computador.
• Pe - Realização de uma prova escrita com consulta.
Classificação = Pp1 * 0.10 + Pp2 * 0.15 + Pp 3 * 0.20 + Ad * 0.15 + 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 Classificação 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 da classificação obtida na prova oral e da Classificação.
Provas e trabalhos especiais
Não previstos.
Avaliação especial (TE, DA, ...)
Consta de uma prova prática em computador (Pp) e de uma Prova escrita (Pe) com consulta, aplicando-se o previsto em Observações em Fórmula de cálculo da classificação final.
Classificação = Pp * 0.50 + Pe * 0.50
Melhoria de classificação
Consta de uma prova prática em computador (Pp) e de uma Prova escrita (Pe) com consulta, aplicando-se o previsto em Observações em Fórmula de cálculo da classificação final.
Classificação = Pp * 0.50 + Pe * 0.50
Observações
Não são exigidos pré-requisitos.