Esta Página em Português  

Go to: Main Menu, Content, Options, Login.

Contextual Help  
Escola Superior de Tecnologia de Setúbal Secretaria Académica - informações
You are at: Start > Programmes > Disciplinas > INF32150
Main Menu
Validation





Esqueceu a sua senha de acesso?
ESTSetúbal map
Edifício ESTS Bloco A Edifício ESTS Bloco B Edifício ESTS Bloco C Edifício ESTS Bloco D Edifício ESTS Bloco E Edifício ESTS BlocoF Interactive campus map. Click on a specific buiding.

Object Oriented Programming

Scholar Year: 2019/2020 - 2S

Code: INF32150    Acronym: POO
Scientific Fields: Informática
Section/Department: DSI - Department of Systems and Information Technology

Courses

Acronym N. of students Study plan Curricular year ECTS Contact time Total Time
INF 151 6,0 75 162,0

Teaching weeks: 15

Head

TeacherResponsability
José António Moinhos CordeiroHead

Weekly workload

Hours/week T TP P PL L TC THE EL OT OT/PL TPL S
Type of classes 3 2

Lectures

Type Teacher Classes Hours
Theorethical and Practical classes Totals 5 15,00
Cédric Grueau   3,00
José Cordeiro   3,00
Laércio Júnior   3,00
Prática Laboratorial Totals 1 2,00
João Capinha   2,00
Laércio Júnior   2,00
Luís Cassaca   4,00
José Cordeiro   2,00
Noémia Ferro   6,00

Teaching language

Portuguese

Intended learning outcomes (Knowledges, skills and competencies to be developed by the students)

- Understand and apply advanced concepts of object oriented programming.
- Apply those concepts using the Java programming language.
- Know how to design application solutions according to the object-oriented paradigm.

Prerequisites:
Basic programming skills and, in particular, object-oriented programming. It is necessary to know in the last topic the following concepts: classes, objects, attributes, methods, class composition and basic collections.

Syllabus

1. Advanced Concepts of Object Oriented Programming
- Review of Object Oriented Programming basic concepts.
- Class inheritance. Class hierarchy and constructors in inheritance. Method overriding.
- Hierarchical class libraries and fundamental base classes.
- Principle of substitution and polymorphism. Static and dynamic binding.
- Abstract classes. Abstract methods.
- Interfaces. Hierarchy of interfaces.
- Generic and complementary concepts of collections.
- Handling errors and exceptions.
- Input and output data. Serialization.
- Design of applications.
2. Application of Object Oriented Programming advanced concepts.
- Introduction to design patterns.
- Introduction to graphic interfaces using JavaFX.
- Event programming. Properties
- Basic and advanced controls.
- Windows and Forms
- Effects and animations

Software

BlueJ

BlueJ

Netbeans

IntelliJ IDEA


Demonstration of the syllabus coherence with the UC intended learning outcomes

Understanding the advanced concepts of the object orientation paradigm, as well as the ability to define models of the reality using the OO programming approach, are achieved through the learning of the subjects addressed by the paradigm.

The advanced concepts of object-oriented programming will enable the student to understand and apply the full spectrum of OO concepts using one of the existing object-oriented programming languages.

The implementation of advanced OO techniques allow the student to build applications according to the paradigm using the studied programming language. They also allow the student to choose the best way to organize classes and to select the appropriate way to store and manipulate groups of objects. It also allow the student to know how to manage the events of a program, making the code more efficient, robust, reusable and modular. These programming concepts are also complemented with the concepts and techniques necessary to allow students to integrate their code with other programmers.

Teaching methodologies

Theoretical-practical classes (using slides and demonstrations)
- Theoretical concepts
- Practical examples solved during class
Laboratory classes (with computer applications development)
- Execution of laboratory work (evaluated)
Autonomous Work
- Implementation of a project with two phases.
- Theoretical and practical accompaniment of theorectical classes
- Moodle self-assessment exercises

Demonstration of the teaching methodologies coherence with the curricular unit's intended learning outcomes

Theoretical-practical classes use a mix of expository method, using slides, and the blackboard for demonstration and examples of concepts related to the understanding of the essential elements of the new programming paradigm, the fundamental concepts of object-oriented programming and the definition of models of reality.

In Laboratory classes we intend to apply the fundamental concepts of object-oriented programming using the studied programming language so that students develops the ability to analyze problems and build their solutions using the OO programming paradigm.

The final project promotes the systematization, by the student, of knowledge acquired in order to correctly structure and develop efficient, robust, reusable and modular code, using the object-oriented paradigm.

Lab classes use an agile software development technique – called pair programming – to allow students to develop teamwork skills and use data from technical and scientific literature.

It is intended that the students preferentially use the continuous evaluation system, whose components aim at keeping them in permanent contact with the course instructors. It also aims at distributing the effort and assimilation of knowledge throughout the semester.

The laboratory component and the project, with problem solving and team implementation of the solution found, are the components that contribute most to the development of students' teamwork capacity

Assessment methodologies and evidences

Consisting of two components: Practical and Theoretical
Practical:
- Laboratory work (12 evaluable, average of best 9)
- Two-phases project with separate evaluations (min. 7.5 values ​​in each phase, 9.5 average values ​​of the two phases). The first phase has a weight of 60% and the second of 40%.
Theoretical:
- Theoretical tests (min. 7.5 values ​​in each one, 9.5 mean values ​​of the two tests)
- Exam (min. 9,5 values)

Normal Season (with possibility of incorporating continuous assessment component):
Practical component, better between:
- 20% Laboratories + 80% Project;
- 100% Project.
Theoretical Component:
- By Tests: Average of 2 tests.
- By Exam: Exam Note.
Final grade: 50% Practice + 50% Theoretical

Special Exam Season (without possibility of incorporating continuous evaluation component):
- In case of use, in the Normal Season, of one of the Components, Practical or Theoretical, it will be reused.
- Improvements of grades oblige the enrollment and respective payment in the Academic Division. There will be no improvement in the tests in the 1st Call Exam;
- Practical Component (if there was no use of this component in the Normal Season, the project with the materials of the two phases must be delivered in the Special Exam Season). Laboratories are not considered in these epochs of evaluation.
- Theoretical Component (if there was no use of this component in the Normal Season, the exam must be done in the Special Exam Period).
Final grade: 50% Practice + 50% Theoretical

Attendance system

NA

Assement and Attendance registers

Description Type Time (hours) End Date
Attendance (estimated)  Classes  0
  Total: 0

Primary Bibliography

F. Mário Martins;JAVA 8 - POO + Construções Funcionais, FCA, 2017. ISBN: 978-972-722-838-6
David Barnes & Michael Kölling;Objects First with Java (6th Edition), Pearson Education Limited, 2016. ISBN: 9781292159089

Secondary Bibliography

Bertrand Meyer;Object Oriented Software Construction –2nd Ed, Prentice-Hall, 1997. ISBN: 978-0-1362-9155-8
Carl Dea, Mark Heckler, GerritGrunwald, Jose Pereda, Sean Phillips;JavaFX 8 Introduction by Example, APress, 2014. ISBN: 978-1-4302-6460-6
Java - Documentação on-line da Oracle
JavaFx - Tutoriais on-line
Options
Page generated in: 2026-04-09 to 20:40:36