Introduction to Object-oriented Programming
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Ciências Informáticas |
Ocorrência: 2022/2023 - 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 |
20 |
Plano Estudos_2018_19 |
1 |
- |
6 |
60 |
162 |
Docência - Responsabilidades
Língua de trabalho
Portuguese
Objetivos
This curricular unit has the following learning objectives:
- understand the basic concepts of programming based on the Java language;
- understand the basic concepts of object-oriented programming;
- apply the previous concepts in problem solving;
- develop applications centered on the good use of the Java language.
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 and implement the solution. This solution must integrate basic object-oriented programming concepts and some Java collections.
Modo de trabalho
Presencial
Programa
Object Oriented Programming Paradigm
History and evolution of programming languages.
Fundamental concepts of object orientation: Classes, Objects, State and Attributes, Behavior and Methods, Message passing.
Data abstraction and information concealment.
Modularity and encapsulation.
Classes and Instantiation.
Basic Concepts of Object Oriented Programming using the Java language
Classes and objects, attributes and data types, object creation, constructors, methods and parameters.
Decision instructions and logical operators. Expressions.
Primitive types and reference types.
Class composition.
Class methods and variables. Constants.
Repeat instructions.
Object grouping: Arrays and collections. Generic classes.
Application of the basic concepts of Object Oriented Programming
Application identifiers and documentation.
Use of class libraries.
Class organization: packages and visibility.
Class design: cohesion and coupling.
Responsibility-oriented class design
Code rewriting (Refactoring).
Bibliografia Obrigatória
David Barnes & Michael Kölling; Objects First with Java (6th Edition), Pearson Education Limited, 2016. ISBN: 978-1292159041
Métodos de ensino e atividades de aprendizagem
Theoretical-practical classes
- Theoretical concepts
- Practical examples developed during classes.
laboratory classes
- Execution of laboratory work.
Autonomous work
- Realization of a project.
- Theoretical and practical monitoring
Software
BlueJ e Apache NetBeans
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 |
30,00 |
Frequência das aulas |
75,00 |
Trabalho laboratorial |
55,00 |
Total: |
160,00 |
Obtenção de frequência
Consisting of two components: Practical and Theoretical
Practice:
1 Project
Min 9.5 values
Theoretical:
2 Theoretical tests
Min. 7.5 values in each.
Min. 9.5 mean values in both tests
Or
Exam: 9.5 points
Fórmula de cálculo da classificação final
Final grade: 50% Practical + 50% Theoretical