Computation III

Objectives

This course is designed to provide students with a solid understanding of object-oriented programming (OOP), covering essential concepts such as class and method definition, library utilization, and more, using the Python programming language. It is assumed that the students attended the programming courses taught during the first year of the underlying bachelor degree at NOVA IMS.

General characterization

Code

100029

Credits

6.0

Responsible teacher

João Pedro Martins Ribeiro da Fonseca

Hours

Weekly - Available soon

Total - Available soon

Teaching language

Portuguese. If there are Erasmus students, classes will be taught in English

Prerequisites

The course will be held in English language.
Basic knowledge from the high school, in particular mathematical and logical issues
and the basic knowledge of imperative programming is required.

Bibliography

Teaching method

Theoretical classes will be held using the blackboard
and projecting slides. Practical classes will be held
in computer rooms and laboratories, allowing the students
to apply the concepts that have been explained previously
by solving programming exercises.

Evaluation method

The examination consists in a written test that will contain
both theoretical questions and the implementation of some
Java programs.

Subject matter

- Classes and objects in Java
- the concept of reference: basics on memory management in Java
- Methods with complex data types: definition and invocation
- Array of reference
- Information hiding and encapsulation. Visibility modifiers on methods
- Inheritance and polymorphism in Java
- Constructors
- Overloading and overriding
- Class methods and class attributes

Programs

Programs where the course is taught: