Schedule III

Base Knowledge

Students must master concepts of procedural programming and algorithms.

It is recommended the completion of the following courses:
– Programming I;
– Programming II.

Teaching Methodologies

This curricular unit does not have regular classes, only the moments of evaluation by Exam.

The expository and practical components occurred in the previous academic year.

Learning Results

At the end of the curricular unit the student will be able to:

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

2. Implement and manage static (uni- and multi-dimensional tables) and dynamic (java collections, namely arrays, vectors and hashtables) data structures;

3. Use persistent memory structures: files (binary, text and objects);

4. Plan, develop and test programs using the Java language.

Program

1. Introduction to the Java language; Structure and syntax;

2. Object Oriented Programming (OOP): Classes and Objects;

3. Exception Handling;

4. Static data structures: One-dimensional and Multidimensional Tables

5. Dynamic data structures: Java Collections, including Arrays, Vectors and Hashtables; Search and iteration in data structures;

6. Files: Text, Binaries and Objects; Java Properties; Reading data from input devices; Manipulation of files and directories; Data streams;

7. Object Oriented Programming (OOP): Inheritance and Polymorphism.

Curricular Unit Teachers

Grading Methods

Avaliação Periódica
  • - Trabalho Prático 1 + 2 - 30.0%
  • - Projecto 2 - 35.0%
  • - Projecto 1 - 35.0%
Avaliação Final
  • - Prova Escrita - 30.0%
  • - Projecto - 70.0%

Internship(s)

NAO

Bibliography

Flanagan, D. , & Evans, B. (2014). Java in a nutshell – A desktop quick reference (7th ed). O’Reilly.

Jesus, C. (2013). Curso prático de java. FCA.

Martins, F. (2017). Java 8 – POO + construções funcionais. FCA.

Martins, F. (2014). Projectos de POO em java. FCA.

Urma, R., Fusco, M., & Mycroft, A. (2018). Modern java in action – Lambdas, streams, functional and reactive programming. Manning.