Object-Oriented Programming
2
2019-2020
01000131
Computer Science
Portuguese
Face-to-face
SEMESTRIAL
6.0
Compulsory
1st Cycle Studies
Recommended Prerequisites
Knowledge of procedural programming and of some dynamic data structures.
Teaching Methods
Theoretical classes with detailed presentation of the main OOP concepts, principles and tools including the resolution of basic practical exercises to illustrate them.
Theoretical-practical classes for students, under the supervision of the teacher, solve practical exercises, directed connected to the theoretical concepts.
Laboratory classes for doing extra exercises and doubts.
Learning Outcomes
The aim of this course is to give students a solid body of knowledge in Object Oriented Programming. This knowledge will not be limited to the syntax of a particular programming language, but will include aspects of object-oriented modeling, as well as its graphical representation.
The programming language used in the discipline is Java, since it is a dominant language in terms of OOP and it is also suitable for the teaching of this paradigm.
The representation of concepts associated with OOP modeling will be done using a strict set of UML diagrams (Unified Modeling Language), where appropriate. The objective is not to teach UML extensively, but enable the visualization of concepts associated with OOP in a simple manner (eg classes, relations between classes, inheritance, etc.).
Work Placement(s)
NoSyllabus
Historical perspective and motivation to OOP
Classes, Objects and Methods
Principles of OO modeling
Defining Classes
Issues of modeling vs. implementation
Inheritance and Polymorphism
Modeling issues: relationships of composition vs. inheritance relationships
Management of errors and exceptions
Interface-based Programming
Event-Based Programming
Generics Programming in Java.
Head Lecturer(s)
Fernando José Barros Rodrigues da Silva
Assessment Methods
Assessment
Practical component: 15.0%
Mini-Project: 25.0%
Exam: 60.0%
Bibliography
“Java 6 - Programação para Objetos”. F. Mário Martins, FCA Editora.
“Fundamentos de Programação em Java 2”, A. J. Mendes e M. J. Marcelino, FCA Editora.
“Notas a disponibilizar pela docente”.
"Introduction to Programming Using Java, Sixth Edition", D. J. Eck, http://math.hws.edu/javanotes/
"The Java Tutorials", http://download.oracle.com/javase/tutorial/