Laboratório de Programação — Apresentação Pedro Vasconcelos, Manuel Barbosa, DCC/FCUP Fevereiro 2016 Objetivos • Consolidação de conhecimentos de algoritmia, estruturas de dados e programação • Realização de projetos de média dimensão: – em grupo (2 alunos); – implementados em Java. Metodologia • • • • • • • decomposição em funções, métodos, classes e objetos prototipagem funcional em Haskell implementação em Java utilização de APIs existentes desenho de novas APIs escrita de testes unitários e documentação discussão e crítica de código-fonte Técnicas e Ferramentas • programação em Java com interfaces e genéricos • utilização dum ambiente integrado de desenvolvimento (IDE) • utilização dum sistema de controlo de versões (colaboração no grupo) Funcionamento • Aulas teórico-práticas (2× por semana) 1 • 1ª aula de exposição e discussão; • 2ª aula em laboratório Avaliação • Dois trabalhos (75% da nota) 1. Jogo simples (20%) 2. Editor de texto (2 fases: 25% + 30%) • Exame final (25% da nota) – cotação mínima de 50% no exame! • Datas de apresentação de trabalhos: em breve • Em caso de plágio: – reprovação por fraude – eventualmente processo disciplinar Software recomendado • • • • JSE 7 (Java Platform Standard Edition 7) ou OpenJDK 7 GHCi (interpretador de Haskell) IntelliJ IDEA (ambiente de desenvolvimento) Git (sistema de controlo de versões) Bibliografia Sobre linguagens: • Data Structures and Algorithms in Java (4th edition), M. Goodrich and R. Tamassia • Java 7 Pocket Guide (2nd edition), R. Liguori and P. Linguori • Programming in Haskell, G. Hutton Mais bibliografia e apontadores durante as aulas. 2