Object-Oriented Programming

Year
2
Academic year
2022-2023
Code
01000131
Subject Area
Computer Science
Language of Instruction
Portuguese
Mode of Delivery
Face-to-face
Duration
SEMESTRIAL
ECTS Credits
6.0
Type
Compulsory
Level
1st Cycle Studies

Recommended Prerequisites

Introduction to Programming

Teaching Methods

The teaching methodology follows a model of two theoretical-practical classes per week, with two hours each. The classes combine an expository component including concepts, principles, examples and good practices, with a practical component in which students apply the knowledge in modeling and programming exercises.

Learning Outcomes

This course aims to give the students knowledge in Object Oriented Programming. The course will address techniques of modeling, analysis, and development of applications following the object-oriented programming paradigm. The programming language used will be Java, since it is a dominant language in terms of object orientation, and it is also suitable for teaching this paradigm.

Upon the successful completion of this course, the student should be prepared to model problems according to the object-oriented paradigm and develop applications in Java following good practices of object-oriented programming, namely, encapsulation, inheritance, and polymorphism, as well as error handling.

Work Placement(s)

No

Syllabus

1 - Introduction
2 - Classes and objects
3 - Basic Java concepts
3.1 - Variables and operators
3.2 - Expressions, instructions and blocks
3.3 - Flow control
3.4 - Methods
4 - Fundamental Java classes
4.1 - Basic input and output
4.2 - Number representation
4.3 - String representation
5 - Object oriented programming concepts
5.1 - Encapsulation
5.2 - Inheritance
5.3 - Polymorphism
6 - Application development
6.1 - Modelling
6.2 - Interfaces
6.3 - Collections
6.4 - Error management and exceptions

Head Lecturer(s)

Marília Pascoal Curado

Assessment Methods

Assessment
Project: 40.0%
Exam: 60.0%

Bibliography

"Java 8 - POO + Construções Funcionais", F. Mário Martins, FCA Editora, ISBN: 978-972-722-838-6, 2017
"Fundamentos de Programação em Java", A. J. Mendes e M. J. Marcelino, FCA Editora, ISBN: 978-972-722-637-5, 2012
"Core Java Volume I--Fundamentals (11th Edition)", Cay Horstman, Pearson Editors, ISBN: 978-0135166307, 2018
"The Java Tutorials", https://docs.oracle.com/javase/tutorial/java/index.html