Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
L5315
Acrónimo :
L5315
Ciclo :
1.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :

Carga Horária / Course Load


Semestre :
1
Créditos ECTS :
6.0
Aula Teórica (T) :
0.0h/sem
Aula Teórico-Prática (TP) :
18.0h/sem
Aula Prática e Laboratorial (PL) :
36.0h/sem
Trabalho de Campo (TC) :
0.0h/sem
Seminario (S) :
0.0h/sem
Estágio (E) :
0.0h/sem
Orientação Tutorial (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
55.0h/sem
Trabalho Autónomo :
95.0
Horas de Trabalho Total :
150.0h/sem

Área científica / Scientific area


Ciências e Tecnologias da Programação

Departamento / Department


Departamento de Ciências e Tecnologias da Informação

Ano letivo / Execution Year


2024/2025

Pré-requisitos / Pre-Requisites


Aprovação a Introdução à Programação

Objetivos Gerais / Objectives


Atingir um nível de programação que permita desenvolver aplicações de média escala em colaboração. Aprender os principais conceitos associados a linguagens de alto nível orientadas para objetos.

Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes


No final do período letivo o aluno deverá ser capaz de: OA1. Usar uma linguagem de programação orientada para objetos para desenhar, implementar, testar e depurar pequenas aplicações. OA2. Entender e aplicar os conceitos de abstração, encapsulamento, herança e polimorfismo. OA3. Saber utilizar as estruturas de dados fundamentais de uma biblioteca (pilhas, filas, árvores, tabelas de dispersão). OA4. Aplicar mecanismos de controlo de erros. OA5. Explicar a utilidade da utilização de padrões de desenho de software e demonstrar a sua utilização em casos simples.

Conteúdos Programáticos / Syllabus


CP1. Pacotes e encapsulamento CP2. Leitura e escrita de ficheiros CP3. Exceções e tratamento de erros CP4. Polimorfismo and interfaces CP5. Classes anónimas e lambdas CP6. Herança CP7. Coleções e classes genéricas CP8. Introdução aos padrões de desenho

Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular units content dovetails with the specified learning outcomes


Os CP contribuem em geral para o OA1 (aprender a usar uma liguagem OO) dado que são exemplificados e exercitados com uma linguagem OO. O CP1 e 4 a 6 contribuem para entender e exercitar os conceitos mencionados no OA2 (abstração, encapsulamento, herança e polimorfismo). Os CP2, 7 e 8 destinam-se a solidificar o conhecimento das estruturas de dados fundamentais de uma biblioteca standard (OA3). Os objetivos 4 e 5, exceções e padrões de desenho, estão muito diretamente relacionados com os CP 3 e 8, respetivamente. A relação entre os Conteúdos Programáticos e os Objetivos de Aprendizagem é a seguinte: CP1 - OA1, OA2 CP2 - OA1, OA4 CP3 - OA1, OA4 CP4 - OA1, OA2, OA5 CP5 - OA1, OA2 CP6 - OA1, OA2, OA5 CP7 - OA1, OA3 CP8 - OA5

Avaliação / Assessment


Sendo uma UC de caráter eminentemente prático, este UC não tem avaliação por exame a 100%, só havendo avaliação ao longo do semestre. Na avaliação ao longo do semestre há 2 modalidades: A e B. Modalidade A (necessário presença em mais de 2/3 das aulas práticas e fazer o Teste 1): - Participação na aula (25%, grupos de 2 ou individual) - Prova escrita (Teste 1) a meio do semestre (25%, individual, nota mínima de 8 valores) - Projeto (50%, grupos de 2 ou individual, entrega e discussão na última semana de aulas, nota mínima de 8 valores) Modalidade B: - Prova escrita a meio do semestre (25%), (individual, nota mínima de 8 valores) - Prova escrita na data da 1ª época (25%, parte da matéria ou 50%, toda a matéria - neste caso pode substituir o teste 1, caso este tenha nota <8), (individual, nota mínima de 8 valores) - Projeto (50%, grupos de 2 ou individual, entrega e discussão na última semana de aulas, nota mínima de 8 valores) Independentemente da modalidade seguida, a nota da componente "Projeto" é limitada pelo desempenho demonstrado individualmente numa discussão oral, de acordo com a seguinte regra: - Muito bom desempenho - sem limite; - Bom desempenho - limite de 16 val. - Desempenho suficiente - limite de 12 val. - Mau desempenho na discussão - reprovado à UC. A avaliação em época especial é composta por projeto e teste, valendo 50% cada componente. Melhoria de nota só pode ser feita repetindo o processo de avaliação no ano seguinte.

Metodologias de Ensino / Teaching methodologies


Nas aulas TP são introduzidos os temas semanais em estudo através de exposições breves e da implementação de programas de exemplo. Nas aulas práticas de 3h são realizados exercícios: no início o docente tem um papel ativo na resolução, mas depois passam a ser resolvidos de forma mais autónoma pelos estudantes. As aulas servem também para acompanhamento dos projetos. Espera-se que um estudante use 5h/semana em trabalho autónomo, sendo importante a leitura dos guiões antes das aulas práticas.

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes


Esta disciplina ministra conhecimentos em que a prática guiada é fundamental. Daí que o intercalar de exposição com prática (sensivelmente em módulos de 1h30 teórico-prática e 3h de prática) é, no nosso ponto de vista, a metodologia mais adequada. É também pela mesma razão que o projeto é fundamental para a avaliação. O alinhamento entre cada instrumento de avaliação e os objectivos de aprendizagem é o seguinte: O Projeto e a participação têm impacto em todos os objetivos de aprendizagem, dado que obrigam a pôr em prática toda a matéria. Os Testes são especialmente úteis para solidificar os objetivos OA1 e 3

Observações / Observations


A obrigatoriedade de aprovação no projeto também se aplica à época especial. Caso o estudante já tenha realizado e obtido aprovação no projeto durante o período normal de lecionação da UC, o mesmo será considerado para a época especial. Caso ainda não tenha realizado o projeto, deverá entregá-lo até à data definida e realizar a discussão. Nessa situação, a data limite para entrega e a discussão serão agendadas para a semana que antecede a época especial.

Bibliografia Principal / Main Bibliography


Folhas de apoio disponíveis no e-learning. Y. Daniel Liang, "Introduction to Java Programming: Comprehensive Version" 10th Ed. Prentice-Hall / Pearson, 2015.

Bibliografia Secundária / Secondary Bibliography


F. Mário Martins, "Java 8 POO + Construções Funcionais", FCA - Editora de Informática, 2017. ISBN: 978-972-722-838-6 (portuguese) Ken Arnold, James Gosling e David Holmes, "The JavaTM Programming Language", 3ª edição, Addison-Wesley, 2000. ISBN: 0-201-70433-1 Bruce Eckel, "Thinking in Java", 3ª edição, Prentice Hall, 2002. ISBN: 0-13-100287-2 Gamma, Helm, Johnson & Vlissides (1994). Design Patterns. Addison-Wesley. ISBN 0-201-63361-2. Java resources at http://java.sun.com; (tutorials and Java Aplication Programming Interface)

Data da última atualização / Last Update Date


2024-07-18