FUC - Programação Avançada 1.º Semestre 2018/2019 - ISCTE-IUL - ISCTE - Instituto Universitário de Lisboa
Pré-requisitos Programação Orientada por Objetos
Objectivos Desenvolvimento de sistemas de software com boas propriedades relativas à sua manutenção e evolução requer o domínio de conceitos e tecnologias de programação avançada, em articulação com desenho de software. Nesta Unidade Curricular os alunos são expostos a matérias avançadas que assentam em noções prévias de programação orientada por objetos, com uma forte componente prática. A aplicação prática de conceitos é feita com base na linguagem e plataformas baseadas em Java.
Programa CP1. Primitivas de reflexão (Java)
CP2. Definição de anotações (Java)
CP3. Primitivas de programação orientada por aspetos (AspectJ)
CP4. Orientações para desenho de APIs (application programming interface)
CP5. Sistemas baseados em componentes (OSGi, open services gateway initiative)
CP6. Plataformas para desenvolvimento de sistemas extensíveis baseados em plugins (Equinox/Eclipse)
- Quizzes sobre leituras ou visionamento de palestras exigidas (20%)
- Projeto de individual (80%)
Sempre que possível, será proposto um projeto colaborativo, significando isto que o resultado final é um sistema de componentes composto pelas contribuições dos vários alunos. Há abertura para propostas alternativas de projetos que envolvam as matérias abordadas.
Aprovação à UC requer um mínimo de 75% de presenças nas aulas.
Processo de ensino-aprendizagem Serão utilizadas as seguintes metodologias de ensino-aprendizagem(MEA):
MEA1: Expositivas, para apresentação da motivação para as matérias abordadas e demonstração de aplicações práticas
MEA2: Participativas, através da resolução de exercícios práticos
MEA3: Argumentativas, através de um acompanhamento próximo e discussão das opções seguidas no projeto
Bibliografia básica Joshua Bloch, Effective Java (Second Edition), 2008.
Ramnivas Laddad, AspectJ in Action, Manning, Greenwich, Connecticut, 2003.
Erich Gamma, Kent Beck, Contributing to Eclipse: Principles, Patterns, and Plug-Ins, Addison-Wesley, 2003.
Jeff McAffer, Paul VanderLei, Simon Archer, OSGi and Equinox: Creating Highly Modular Java Systems, Addison-Wesley Professional, 2010.
Bibliografia complementar Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.