Object Oriented Programming

Base Knowledge

NA

Teaching Methodologies

1       – Expository method: an explanatory method were theoretical foundations and concepts are presented by theteacher and discussed with the class, followed by demonstrative examples;

2       – Experimental method: an active method were the student develops the knowledge through the use of problemsolving and project development, individually and in group dynamics.

Learning Results

It is expected that by the end of the course each student is entitled to:

1. Know the basic concepts of Object Oriented Programming (OOP): objects, classes, polymorphism, inheritance;

2. Model and manage static and dynamic data structures (tables, vectors, hash tables and java collections);

3. Interact with persistent storage: files (binary, text and object files);4. Be able to structure, develop, run, and test programs using Java language.

Program

1. Introduction to Java Language;

2. Object Oriented Programming: Class and Objects;

3. Handling exceptions;

4. Data structures: Arrays and Matrixes;

5. Vectors, Hash tables and Java Collections; iteration of vectors and Hash tables;

6. Files: Text, Binaries and Object files; Java Properties; data input; files and directories management;

7. Object Oriented Programming: Inheritance e Polymorphism.

Grading Methods

Periodic evaluation
  • - two individual assignments (15% each) - 30.0%
  • - two group projects (35% each) - 70.0%
Final evaluation
  • - one individual written examination (40%) - 40.0%
  • - one individual project (60%) - 60.0%

Internship(s)

NAO

Bibliography

“Java 8 – POO + Construções Funcionais”; F.Mário Martins; FCA ISBN: 9789727228386; 2017

“Curso Prático de Java”; Carla Jesus; FCA; ISBN: 9789727227501; 2013

“Projectos de POO em Java”; F. Mário Martins; FCA; ISBN: 9789727227921; 2014

“Java in a Nutshell – A Desktop Quick Reference”, 6.a Edição; David Flanagan; O’Reilly; ISBN: 1449370829; 2014