Publication in the Diário da República: Despacho n.º 12419/2016 - 14/10/2016
6 ECTS; 2º Ano, 1º Semestre, 45,0 PL + 30,0 TP + 5,0 OT , Cód. 814312.
Lecturer
            - Sandra Maria Gonçalves Vilas Boas Jardim (1)
- Fernando Sérgio Hortas Rodrigues  (2)
(1) Docente Responsável
(2) Docente que lecciona
Prerequisites
          Prior knowledge of Programming and Algorithmics and Programming Languages is advisable. 
Objectives
          1. Apply the basic principles of problem solving using the object-oriented programming paradigm.
2. Create functional code through Java and its class libraries.
3. Handle error and exception conditions when designing software. 
Program
          1. Introduction to Object-Oriented Programming 
1.1 Class definition:  Attributes, constructors, methods, encapsulation.
1.2 Class definition by association and inheritance 
1.3 Interfaces and Polymorphism
2. Visual Programming
2.1 Design of graphical interfaces (SWING)
3. Class programming
4. Library class definition
4.1 Creation of packages and  class libraries 
Evaluation Methodology
          Theoretical component (60%) assessed by a written test.  Practical component (40%) assessed by two practical tests and one practical assignment. 
Bibliography
          - Booch, G.  e Rumbaugh, J.  e Jacobson, I. (2005). The Unified Modeling Language User Guide. (Vol. 1). (pp. 1---). USA:  Addison Wesley
- Larman, C. (2004). Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. (Vol. 1). (pp. 1---). USA:  Prentice Hall
- Nunes, M.  e O'Neill, H.  e Ramos, P. (2010). Exercícios de UML. (Vol. 1). (pp. 1---). Portugal:  Lidel
Teaching Method
          Lectures. Laboratory classes dealing with problem-solving and computer-based practice.
Software used in class
          

















