Saltar para:
Esta página em português Ajuda Autenticar-se
ESTS
Você está em: Start > INF32150
Autenticação




Esqueceu-se da senha?

Campus 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

Object Oriented Programming

Code: INF32150     Sigla: POO

Áreas Científicas
Classificação Área Científica
OFICIAL Informática

Ocorrência: 2023/2024 - 2S

Ativa? Yes
Página Web: https://moodle.ips.pt/2324/course/view.php?id=1973
Unidade Responsável: Departamento de Sistemas e Informática
Curso/CE Responsável: Informatics Engineering

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
INF 158 Plano de Estudos 1 - 6 75 162

Docência - Responsabilidades

Docente Responsabilidade
Cédric Claude Bernard Grueau

Docência - Horas

Theorethical and Practical : 3,00
Practical and Laboratory: 2,00
Type Docente Turmas Horas
Theorethical and Practical Totais 3 9,00
Cédric Claude Bernard Grueau 3,00
Rui Vasco Alves César das Neves 6,00
Practical and Laboratory Totais 7 14,00
Pedro Jorge dos Santos Nunes Ricardo Mesquita 4,00
Rui Vasco Alves César das Neves 4,00
André Manuel Ferreira Sanguinetti 6,00
Cédric Claude Bernard Grueau 2,00

Língua de trabalho

Portuguese

Objetivos

- 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.

Resultados de aprendizagem e competências

At the end of the course, the student should know how to analyze a problem, model a solution using simple techniques, write unit tests of the proposed solution and implement the solution. This solution must integrate advanced concepts of object-oriented programming and different Java collections.

Modo de trabalho

Presencial

Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)

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

Programa

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.
- Test Driven development with unit testing
- Version management
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

Bibliografia Obrigatória

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

Bibliografia Complementar

Carl DeaGerrit GrunwaldJosé PeredaSean PhillipsMark Heckler; JavaFX 9 by Example, APress, 2019. ISBN: 978-1-4842-1961-4
https://openjfx.io/openjfx-docs/; Getting Started with JavaFX (https://openjfx.io/openjfx-docs/)

Métodos de ensino e atividades de aprendizagem

Theoretical-practical classes

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.
During the class period, the teacher will be available to answer questions.
Once a month, tests will be made available on the subject taught the weeks before so that students can make formative assessments.

Laboratory classes


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.

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.

Practical projects

Two practical projects promote 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.



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

Software

IntelliJ Community Edition
BlueJ
GitHub Desktop

Palavras Chave

Physical sciences > Computer science > Programming
Technological sciences > Technology > Computer technology > Software technology

Tipo de avaliação

Distributed evaluation with final exam

Componentes de Avaliação

Designation Peso (%)
Apresentação/discussão de um trabalho científico 40,00
Teste 50,00
Trabalho laboratorial 10,00
Total: 100,00

Componentes de Ocupação

Designation Tempo (Horas)
Elaboração de projeto 50,00
Estudo autónomo 43,00
Frequência das aulas 75,00
Total: 168,00

Obtenção de frequência

The assessment consists of two components: Practical and Theoretical

Assessment of the Practical component:



  • One Java programming projects, submitted in two stages (min.7.5 values in each project, 9.5 average values for the two stages)

  • Laboratory work (11 evaluated, completion of by the 9 labs to be considered for the grade)



Assessment of the Theoretical component:



  • 3 mini tests in Theoretical classes (min.7.5 values in each one, min. 9.5 average values of the three mini tests)

  • 1 Theoretical test (min.9.5 values)

  • Exam (min.9.5 values) only at the time of first call and appeal period

Fórmula de cálculo da classificação final

Fisrt call (with the possibility of incorporating a continuous assessment component):



Practical Component


  • 80%(70% Project1 + 30%Project2) + 20% labs;

  • If there are not 9 labs completed:70% Project1 + 30%Project2.


Theoretical Component



  • By Tests: Best of the following possibilities:


    • 30% Average of the 3 minitests + 70% test score.

    • If there are not 3 mini-tests: 100% test score.


  • By Exam: Exam Score.


Final grade: 50% Practical + 50% Theoretical

Second call and Special term (with no possibility of incorporating a continuous assessment component):



In case of use, in the Normal Season, of one of the Components, Practical or Theoretical, it will be reused.





  • Practical Component (if this component was not used in the Normal Season), both projects must be delivered in the Resource/Worker-Student Season.

  • Theoretical Component (if this component was not used in the Normal Season, the exam must be carried out in the Resource/Worker-Student Season). Labs and mini tests are not considered at these evaluation times.



Final grade: 50% Practical + 50% Theoretical

Melhoria de classificação

Grade improvements require registration and respective payment at the Academic Division. Tests will not be improved in the 1st Call Exam. Only the theoretical component can be improved. No grade reuse between two consecutive school years.
Recomendar Página Voltar ao Topo
Copyright 1996-2024 © Instituto Politécnico de Setúbal - Escola Superior de Tecnologia de Setúbal  I Termos e Condições  I Acessibilidade  I Índice A-Z
Página gerada em: 2024-04-29 às 19:15:15