Object Oriented Programming
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Ciências Informáticas |
Ocorrência: 2023/2024 - 1S
Ciclos de Estudo/Cursos
Sigla |
Nº de Estudantes |
Plano de Estudos |
Anos Curriculares |
Créditos UCN |
Créditos ECTS |
Horas de Contacto |
Horas Totais |
TINFT |
22 |
Plano Estudos_2018_19 |
1 |
- |
6 |
60 |
162 |
Docência - Responsabilidades
Língua de trabalho
Portuguese
Objetivos
Understand and apply the advanced concepts of object-oriented programming based on the Java language.
Apply the advanced concepts of object-oriented programming using the Java language.
Knowing how to design application solutions according to the object-oriented paradigm.
Resultados de aprendizagem e competências
At the end of the curricular unit, the student should know how to analyze a problem, model a solution using simple techniques, write unit tests of the proposed solution and implement the solution. This solution must integrate advanced object-oriented programming concepts and different Java collections.
Modo de trabalho
Presencial
Programa
Review fundamental concepts of object orientation using the Java language:
Classes, Objects, State and Attributes, Behavior and Methods, Message passing.
Decision instructions and logical operators. Expressions.
Primitive types and reference types.
Class composition.
Advanced object-oriented concepts:
Application of the basic concepts of OOP.
Class inheritance.
Polymorphism.
Abstract Classes and Interfaces.
Generic Classes.
Collections.
Modularity and encapsulation.
Use of class libraries.
Class organization: packages and visibility.
Application design:
Class design: cohesion and coupling.
Responsibility-oriented class design
Graphical interface using JavaFX:
Introduction to JavaFX.
Events and Panels.
Controls and Properties.
Windows and shapes.
Dialogues, Effects and Animations.
Bibliografia Obrigatória
David Barnes & Michael Kölling; Objects First with Java (6th Edition), Pearson Education Limited, 2016. ISBN: 9781292159089
Métodos de ensino e atividades de aprendizagem
Theoretical-practical classes
- Theoretical concepts.
- Practical examples developed during classes.
- Execution of laboratory work.
Autonomous work
- Realization of a project for evaluation (divided into two phases).
- Theoretical and practical monitoring in classes.
Software
IDE NetBeans para desenvolvimento em Java: http://netbeans.org
Adicional: IDE IntelliJ para desenvolvimento em Java: https://www.jetbrains.com/idea/
Tipo de avaliação
Distributed evaluation with final exam
Componentes de Avaliação
Designation |
Peso (%) |
Teste |
50,00 |
Trabalho laboratorial |
50,00 |
Total: |
100,00 |
Componentes de Ocupação
Designation |
Tempo (Horas) |
Estudo autónomo |
40,00 |
Frequência das aulas |
60,00 |
Trabalho laboratorial |
60,00 |
Total: |
160,00 |
Obtenção de frequência
Consisting of two components: Practical and Theoretical
Practice:
- 1 Project (min. 9.5 values) + Labs
Theoretical:
- 2 Theoretical tests (min. 9.5 values)
or
- 1 Exam (min. 9.5 values)
Fórmula de cálculo da classificação final
Regular Season:
Practical Component:
- 80% Project + 20% Labs.
Theoretical Component:
- By Tests: Average of the 2 tests.
- By Exam: Exam grade.
Final grade: 50% Practical + 50% Theoretical
Appeal and Special Season:
In case of use, in Normal Season, of one of the Components, Practical or Theoretical, it will be reused.
Practical Component (if there was no use of this component in the Normal Season, the project must be delivered, in its entirety, in the Appeal/Special Season).
Theoretical Component (if this component was not used in the Normal Season, the exam must be carried out in the Appeal/Special Season).
Final grade: 50% Practical + 50% Theoretical