Programming Focused in Objects

« Return

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.

Program

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 Methodologies

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

David J. Barnes, Michael Kölling, Objects First with Java A Practical Introduction using BlueJ, 5th edition, Pearson Education, 2012.

F. Mário Martins, Java5 e Programação por objectos, 2ª edição, FCA, 2006.

Mauro Nunes e Henrique O'Neil. Fundamental de UML. FCA - Editora de Informática, 2003.

Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides. Design Patterns-Elements of reusable Object-Oriented Software. Addison-Wesley, 1995.

Bruce Eckel. Thinking in Java. Prentice Hall, 2003. (online em www.bruceeckel.com).

Grady Booch, Robert A. Maksimchuk, Michael W. Engel, Bobbi J. Young, Jim Conallen, Kelli A. Houston, Object

Oriented Analysis and Design with Applications, Addison-Wesly, 2007.

Code

0105886

ECTS Credits

6

Classes

  • Práticas e Laboratórios - 30 hours
  • Teóricas - 30 hours

Evaluation Methodology

  • According to CU programme: 100%