You need to activate javascript for this site.
Menu Conteúdo Rodapé
  1. Home
  2. Courses
  3. Web, Mobile and Cloud Computing
  4. Object Oriented Programming

Object Oriented Programming

Code 16223
Year 2
Semester S1
ECTS Credits 6
Workload PL(30H)/T(30H)
Scientific area Informatics
Entry requirements None.
Learning outcomes This course unit has as objectives, learning the fundamental concepts of Object Oriented Programming and introducing the corresponding methodologies and techniques to develop programs/applications.
At the end of this Unit the student should be able to understand and apply the concepts and techniques of Object Oriented Programming. He should be able to develop programs in an Object Oriented language (e.g. Java). The student should be able to understand the concepts of object, class and object instantiation. The student should know the concepts of class and interface hierarchy, know the different kinds of relationships between objects; know the concepts of polymorphism and generic programming.
They must be able to build small programs applying the above concepts. The students should understand the basics of object oriented analysis and project. At the end they must be able to develop a project where they applies and integrates all the concepts learned throughout the unit.
Syllabus 1. Introduction to Object Oriented Programming
1.1 Historical Perspective
1.2 Characteristics of object-oriented programming (encapsulation, behaviour sharing, evolution)
2. Objects (notion of Object and identity, protocol of use of an Object, messages and methods, notion of state and behaviour.
3. Class-based languages; Object instantiation
4. Object Hierarchies: Inheritance mechanisms; Reuse code; Reflexive systems; Polymorphism.
5. Interfaces: Separation between interface and implementation of interfaces.
6. Relations between Objects: Extension, generalization and specialization; Association, aggregation and composition; Cohesion and coupling.
7. Object-Oriented Analysis, Design, and Implementation: Languages and Development Environments; Analysis, Design and Implementation.
Main Bibliography Java A Beginner’s Guide Sixth Edition, 2014 , Herbert Schildt , Oracle Press

Handbook of Programming Languages, Volume 1:Object-Oriented Programming Languages, Peter H. Salus (editor), Macmillan Technical Publishing USA (I-3.3-255).
Object-Oriented Languages, Systems and Applications, Gordon Blair, John Gallagher, David Hutchison and Doug Shepard (editores), Pitmam Publishing, 1991. (I-6.1-38)
Java --- How to Program, Paul Deitel, Harvey Deitel, Editora: Prentice Hall, 8th Ed. 2009.
Thinking in Java, 4 th Edition, Bruce Eckel, 2005.
Teaching Methodologies and Assessment Criteria Theoretical lessons: exposure of the concepts. Practical lessons: resolution of work plans in the computer. These work plans have a first part with examples to be completed by the student. In the second part, some new problems are proposed. The student can use the class texts and the help of the teacher. In the practical lessons the teacher will check that students learnt the theoretical concepts and are able to apply them using an Object Oriented language (e.g. Java). The last weeks will be dedicated to build, in group, a small project outside the classroom. In the practical lessons each group will discuss with the teacher the choices made for the project, and clarify any doubts. Assessment: Knowledge assessment: two written individual tests. Project, to be done in group, with individual discussion.
Language Portuguese. Tutorial support is available in English.
Last updated on: 2023-11-09

The cookies used in this website do not collect personal information that helps to identify you. By continuing you agree to the cookie policy.