Object Oriented Languages

Teaching Methodologies

Classes will be taught under theoretical and practical, in computer rooms. The expository methodology is used for presenting the concepts of the course, supported by practical experimentation by performing exercises applying communicated concepts in computers.

Learning Results

This course has the following objectives:
– Presenting all the fundamental concepts and rules inherent oriented programming paradigm by objects: classes and instances, messages and methods, encapsulation, and inheritance hierarchy, modularity, polymorphism and generic programming;
– Presenting a set of principles and programming methods that allow developing applications targeted by objects (written in Java or any other language in the Object-Oriented), which satisfy important properties of software engineering, such as modularity, extensibility, robustness and generality;
– Introduce the BlueJ IDE, an environment to support the development of Java applications that enables and facilitates incremental development and rapid prototyping applications, allowing to create instances of classes.

Program

1. Introduction to object-oriented programming
1.1. Object-Oriented Language
1.2. Object-Oriented Programming vs Structured Programming
1.3. Advantages and Disadvantages
1.4. Basic concepts: object, encapsulation and messages.
2. The Java language
3. Java and object orientation
3.1. Classes and instances
3.2. encapsulation
3.3. BlueJ
3.4. Class hierarchy and inheritance
3.5. Abstract classes and polymorphism
3.6. interfaces
3.7. Collections
3.8. exceptions
4. Unified Modeling Language

Internship(s)

NAO

Bibliography

1. Fernando Mário Junqueira Martins, JAVA6 e Programação Orientada pelos Objectos, 4ª Edição, FCA, 9789727226245
2. João Cortez, Henrique Mamede, “Introdução às Técnicas de Programação”, Editorial Presença.
3. António Adrego da Rocha / Osvaldo Manuel da Rocha Pacheco, Introdução à Programação em Java, FCA,
9789727226238
4. António Adrego da Rocha, Estruturas de Dados e Algoritmos em Java, FCA, 9789727227044
5. Pedro Coelho,Programação em Java Curso
Completo, FCA, 9789727223619
6. Adelaide Carvalho, Exercícios de Java – Algoritmia e Programação Estruturada, FCA, 9789727227235
7. David J. Barnes & Michael Kölling, Objects First With Java A
Practical Introduction Using BlueJ, 5ª Edição,
Prentice Hall, 9780132492669