Objetivos de aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes)
São objetivos de aprendizagem os seguintes Conhecimentos e Aptidões:
1) CONHECIMENTOS
C1) Caracterizar os princípios e técnicas da programação aplicando o paradigma da Programação Orientada a Objetos (OO). C2) Compreender e explicar os fundamentos da identificação, prevenção, deteção e tratamento de erros em software.
C3) Compreender e explicar os fundamentos da conceção, implementação e execução de testes de software.
2) APTIDÕES
AP1) Planear soluções de software aplicando princípios, modelos e técnicas da programação orientada a objetos.
AP2) Desenvolver aplicações utilizando o paradigma da programação orientada a objetos. AP3) Planear e implementar mecanismos de tratamento de exceções em aplicações de software. AP4) Conceber, implementar e executar testes unitários de software.
Conteúdos programáticos
CP1 . Introdução ao Paradigma da Programação Orientada a Objetos
- Diferenças entre programação estruturada e programação orientada a objetos.
- Motivação e vantagens da abordagem orientada a objetos.
CP2 . Programação Orientada a Objetos
- Conceitos fundamentais de POO: objetos e classes; atributos, métodos e mensagens; criação e manipulação de instâncias. - Abstração de classes: modelação de classes e separação entre conceito e implementação. - Encapsulamento: proteção do estado interno das classes e controlo de acesso. - Relações entre classes: composição, agregação e herança. - Polimorfismo: sobreposição de métodos e sobrecarga de métodos.
- Classes e interfaces abstratas: generalização de comportamentos e modelação de classes flexíveis e reutilizáveis.
CP3 . Qualidade do Código e Robustez
- Gestão de exceções para controlo de erros e falhas.
- Testes unitários e automatizados.
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular
1. Correspondência entre C1, AP1, AP2 e os conteúdos CP1 e CP2. Os conteúdos de CP1 e CP2 asseguram a concretização do núcleo central da unidade curricular. O CP1 fundamenta o conhecimento especializado previsto em C1, ao introduzir o paradigma da Programação Orientada a Objetos e contrastá-lo com a programação estruturada, estabelecendo motivações e vantagens que suportam o desenvolvimento das aptidões AP1 e AP2. O CP2 aprofunda os elementos estruturantes da POO, permitindo aos estudantes adquirir as competências necessárias ao planeamento e implementação de aplicações segundo este paradigma.
2. Correspondência entre C2, C3, AP3, AP4 e o conteúdo CP3. O conteúdo de CP3 garante a operacionalização dos conhecimentos e aptidões relacionados com a robustez e qualidade do software. A temática do tratamento de exceções concretiza os objetivos definidos em C2 e suporta a aplicação prática descrita em AP3. A introdução aos testes unitários e automatizados responde aos conhecimentos previstos em C3 e viabiliza o desenvolvimento das competências associadas a AP4.
3. Síntese. O programa evidencia uma estrutura coerente e progressiva, garantindo que cada objetivo se encontra adequadamente refletido nos conteúdos ministrados. Esta articulação assegura a eficácia formativa da unidade curricular e a consistência entre os resultados pretendidos e as atividades de ensino-aprendizagem.
Metodologias de ensino e de aprendizagem específicas da unidade curricular articuladas com o modelo pedagógico
A unidade curricular recorre a metodologias ativas e centradas na prática, orientadas para o desenvolvimento das aptidões previstas (AP1-AP4). As principais metodologias adotadas incluem:
- Aulas teórico-práticas, destinadas à apresentação, discussão e consolidação dos princípios estruturantes da Programação Orientada a Objetos (CP1 e CP2). - Resolução de exercícios e problemas, permitindo a aplicação progressiva dos conhecimentos e o desenvolvimento das aptidões de planeamento e implementação de software (AP1 e AP2). - Atividades práticas e pequenos projetos, que incentivam a implementação de soluções robustas e a integração de práticas de qualidade, incluindo tratamento de exceções e testes (CP3; AP3 e AP4). - Acompanhamento prático com feedback regular, apoiando o desenvolvimento autónomo, a reflexão crítica e o aperfeiçoamento das competências (CP1- CP3).
Avaliação
1. Avaliação Contínua
- Instrumentos de avaliação: dois testes escritos individuais, T1 e T2.
- Condições de aprovação. Para aprovação por avaliação contínua, o estudante deve cumprir cumulativamente:
- T1 >= 7,5 valores
- T2 >= 7,5 valores
- Assiduidade >= 75%
- Classificações superiores a 16 valores podem ser condicionadas a uma defesa oral opcional:
- Se o estudante optar pela defesa oral, a classificação final será ajustada após essa prova.
- Se o estudante prescindir da defesa, será automaticamente atribuída a classificação de 16 valores.
2. Os Exames não incluem prova oral.
Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da unidade curricular
As metodologias de ensino adotadas evidenciam uma correspondência clara com os conhecimentos (C1-C3) e as aptidões (AP1-AP4) definidos para a unidade curricular. As aulas teórico-práticas contribuem para o desenvolvimento dos conhecimentos fundamentais sobre o paradigma da Programação Orientada a Objetos e sobre mecanismos de qualidade e robustez (C1-C3). A resolução de problemas e as atividades práticas permitem aos estudantes aplicar esses conhecimentos no planeamento e implementação de soluções de software, apoiando diretamente o desenvolvimento das aptidões AP1 e AP2. A realização de pequenos projetos e a prática orientada com feedback contínuo promovem a consolidação das competências relacionadas com o tratamento de exceções e a execução de testes de software (AP3 e AP4). A avaliação contínua está alinhada com estas metodologias, verificando tanto a aquisição dos conhecimentos como a capacidade de os aplicar em contextos práticos, assegurando assim a coerência global entre objetivos de aprendizagem, metodologias e avaliação.
Bibliografia de consulta (existência obrigatória)
Livros
Furgeri, S. (2010). JAVA 7: Ensino didático. Érica.
Martins, F. M. (2009). JAVA 6 e programação orientada pelos objectos (3.ª ed.). FCA.
Martins, F. M. (2012). JAVA 6 e programação orientada pelos objectos (4.ª ed.). FCA.
Martins, M. (n.d.). Programação orientada a objectos. FCA.
Recursos online
Oracle. (2018). The Java tutorials. https://docs.oracle.com/javase/tutorial/
Vogella, L. (2018). Using the Eclipse IDE for Java programming - Tutorial. https://www.vogella.com/tutorials/Eclipse/article.html#exportingprojects