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
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


2023/2024

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 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


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


A avaliação pode ser realizada segundo uma das seguintes modalidades: Modalidade A: - Exercícios realizados em aula (20%, grupos de 2 ou individual) - Prova escrita a meio do semestre (30%, individual, nota mínima de 7 val.) - Projeto (50%, grupos de 2 ou individual) Modalidade B: - Prova escrita a meio do semestre ou em época especial (50%, individual, nota mínima de 7 val.) - Projeto (50%, grupos de 2 ou individual) 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. Dado o caráter prático da UC não há lugar a avaliação por exame. A avaliação em época especial segue a modalidade B. 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: Projeto: OA1, 2, 3, 4 e 5 Testes/Exame: OA2, 3, 4 e 5

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-02-16