UAc
0105886

Programming Focused in Objects

Objectives

It is intended to provide students with knowledge about the paradigm of object-oriented programming, na introduction to drawing classes through the UML and some knowledge of design patterns, both for development and the applications refactoring.

Students must acquire the following skills: knowledge of object-oriented programming, their advantages, disadvantages and limitations; analyse problems and devise the solution according to the object-oriented paradigm; practice of software production, according to the object-oriented paradigm using the Java programming language, using UML as a modelling language, knowing how to use design patterns and have some mastery of the written unit tests.

The student will be able to design, code and design applications of small and medium scale, using Java.

Syllabus

1. Objects, classes and composition

2. Class hierarchy and inheritance

3. Abstract classes and interfaces

4. Drawing classes, using the UML notation

5. GUIs (Swing)

7. Java Collections and parameterized types

8. Handling errors (exceptions)

9. Inputs / outputs (files)

10. Design patterns: Singleton, Composite, State, Template Method, Strategy, Decorator, Factory Method, Abstract Factory, Simple Factory, Observer, Visitor, Adapter, Façade, Bridge, Proxy

Teaching Methods

In the lectures are provided the exposure of concepts accompanied by examples, which are worked in practical classes, allowing students to work independently, but supervised. The modeling is done in Astah and programming in NetBeans.

Moodle is used to deliver content and interact with students through forums.

Bibliography

Essencial

- Larman, C. (2004) Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall. ISBN: ‎ 978-013-148-906-6
- Martins, F. (2017) Java 8 - POO + Construções Funcionais, FCA. ISBN: 978-972-722-838-6
- Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1994) Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley. ISBN 0-201-63361-2.

Complementar

- Martins, F. (2014). Projetos de POO em Java. FCA. ISBN: 978-972-722-792-1 ​
- Schildt, H., Coward, D. (2024). Java: The Complete Reference (Thirteenth Edition), McGraw Hill. ​ ISBN: 978-126-506-270-5

6
ECTS Credits

Evaluation Methods

According to CU programme 100.0%