Computation III

Objectives

The aim of this course is to get the elements of object-oriented programming. Java will be the basic reference language.

At the end of the course the student is expected to master the major abstraction mechanisms useful in the analysis and design of software applications.

He/She will be capable of designing, developing and testing Java programs.

A part of the course will be dedicated to the design of algorithms using OOP. Applications related to graphs will be presented.

General characterization

Code

100029

Credits

6.0

Responsible teacher

Mauro Castelli

Hours

Weekly - Available soon

Total - Available soon

Teaching language

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

Prerequisites

O curso será realizado em inglês.
Conhecimento básico dos cursos anteriores, programação imperativa,  matemática e lógica são necessários para frequentar o curso.

Bibliography

Java: The Complete Reference, (Ninth Edition) Herbert Schildt;

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

First epoch:

Project with discussion

 

Second epoch:

70% - Exam
30% - Project (the same as the first epoch)

Subject matter

- UML: requirements, use cases, class diagram
- 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 modifier
- Abstract classes
- Interfaces
- Algorithms on graphs
- Dynamic Programming (depending on schedule)

Programs

Programs where the course is taught: