Saltar para:
Logótipo
Você está em: Início > EIC0111

Laboratório de Programação Orientada por Objectos

Código: EIC0111     Sigla: LPOO

Áreas Científicas
Classificação Área Científica
OFICIAL Programação

Ocorrência: 2010/2011 - 2S

Ativa? Sim
Unidade Responsável: Departamento de Engenharia Informática
Curso/CE Responsável: Mestrado Integrado em Engenharia Informática e Computação

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
MIEIC 103 Plano de estudos a partir de 2009/10 2 - 6 70 162

Língua de trabalho

Português

Objetivos

Objectivos:
Desenvolver competências de desenvolvimento de programas (desenho, programação e teste) com alguma complexidade, utilizando tecnologias orientadas por objectos, nomeadamente a linguagem de programação Java, a linguagem de modelação Unified Modeling Language (UML), o IDE Eclipse, e o "framework" de testes unitários JUnit.

Resultados de aprendizagem:
No final da unidade curricular, os estudantes deverão:
- saber desenvolver (desenhar, codificar, documentar, analisar, testar e manter) programas orientados por objectos com UML e Java;
- saber utilizar ferramentas de suporte às várias fases do desenvolvimento e manutenção de programas;
- ser capazes de reutilizar padrões e "frameworks".

Programa

A linguagem Java: elementos da linguagem e diferenças em relação a C++.
Testes unitários e "test-driven development" com JUnit.
Bibliotecas do Java (Java API): visão geral, colecções, entrada/saída e interfaces gráficas.
Desenho orientado por objectos com UML (Unified Modeling Language): princípios de desenho orientado por objectos, visão geral de UML, diagramas de classes, diagramas de sequência, diagramas de estados, processo de desenvolvimento guiado por modelos, exemplos.
Padrões de desenho ("design patterns").
Documentação de programas e normas de codificação.
Refabricação de código ("refactoring").
Ferramentas de análise dinâmica de programas ("debugging", "profiling").
Controlo de versões.
Tópicos opcionais a abordar nas últimas aulas teóricas: reflexão e informação dinâmica de tipos; desenho por contractos ("design by contract"); características de outras linguagens orientadas por objectos; concorrência ("multithreading"); programação segura ("secure programming"); meta-programação.
Projecto integrado.

Bibliografia Obrigatória

Bruce Eckel; Thinking in Java. ISBN: 0-13-027363-5 (4ª edição ou superior)
Russ Miles and Kim Hamilton; Learning UML 2.0. ISBN: 978-0-596-00982-3

Bibliografia Complementar

Kent Beck; Test-driven development. ISBN: 978-0-32-114653-3
Erich Gamma... [et al.]; Design patterns. ISBN: 0-201-63361-2
Martin Fowler ; with contributions by kent Beck... [et al.]; Refactoring. ISBN: 0-201-48567-2

Métodos de ensino e atividades de aprendizagem

Aulas teóricas de exposição e discussão dos tópicos programáticos, mais concentradas no início do semestre.
Aulas práticas em laboratório de desenvolvimento iterativo de dois projectos em tecnologias orientada por objectos, em grupos de 2 estudantes:
- um primeiro "projecto guiado", com enunciado idêntico para todos os grupos (a fornecer incrementalmente ao longo das semanas de acordo com os tópicos abordados nas aulas teóricas), a realizar na primeira metade do semestre;
- um segundo "projecto integrado", com enunciados distintos para os diferentes grupos, a realizar na segunda metada do semestre, se possível em coordenação com outras unidades curriculares do mesmo semestre.
Mini-teste individual de programação em computador a meio do semestre.

Software

Eclipse
Enterprise Architect

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 70,00
Projecto guiado - parte fora das aulas (4h * 6 semanas) Defesa pública de dissertação, de relatório de projeto ou estágio, ou de tese 24,00 2011-04-01
Projecto integrado - parte fora das aulas (4h * 8 semanas) Defesa pública de dissertação, de relatório de projeto ou estágio, ou de tese 32,00 2011-06-03
Prova individual de programação em computador Exame 4,00 2011-03-16
Apresentação e discussão do projecto integrado Exame 2,00 2011-06-10
Total: - 0,00

Componentes de Ocupação

Descrição Tipo Tempo (Horas) Data Conclusão
Estudo individual (2h * 15 semanas) Estudo autónomo 30 2011-06-09
Total: 30,00

Fórmula de cálculo da classificação final

Componentes de avaliação e respectivos pesos:
- 15% - prova prática individual de programação em computador;
- 25% - projecto guiado;
- 20% - entrega intermédia do projecto integrado;
- 40% - entrega final do projecto integrado.

Todas as componentes têm uma classificação mínima de 40%.

Avaliação especial (TE, DA, ...)

Todas as componentes são obrigatórias para todos os estudantes.
Os alunos dispensados de frequência às aulas (trabalhadores estudantes, etc.), devem apresentar os trabalhos nas mesmas datas dos restantes estudantes e apresentar regularmente aos docentes a evolução dos trabalhos.

Melhoria de classificação

Frequência da unidade curricular no ano seguinte.
Recomendar Página Voltar ao Topo
Copyright 1996-2024 © Faculdade de Engenharia da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2024-09-29 às 20:58:14 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias