Saltar para:
Esta página em português Ajuda Autenticar-se
ESTS
Você está em: Start > INF32157
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

Advanced Programming

Code: INF32157     Sigla: PA

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

Ocorrência: 2021/2022 - 1S

Ativa? Yes
Página Web: https://moodle.ips.pt/2122/course/view.php?id=97
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 172 Plano de Estudos 2 - 6 75 162

Docência - Responsabilidades

Docente Responsabilidade
Patrícia Alexandra Pires Macedo

Docência - Horas

Theorethical and Practical : 3,00
Practical and Laboratory: 2,00
Type Docente Turmas Horas
Theorethical and Practical Totais 4 12,00
Patrícia Alexandra Pires Macedo 6,00
Bruno Miguel Nunes da Silva 6,00
Practical and Laboratory Totais 11 22,00
Pedro Jorge dos Santos Nunes Ricardo Mesquita 4,00
Patrícia Alexandra Pires Macedo 2,00
Bruno Miguel Nunes da Silva 2,00
André Manuel Ferreira Sanguinetti 4,00
Luís Manuel Dias Damas 10,00

Língua de trabalho

Portuguese
Obs.: Nenhumas

Objetivos


Develop in the student advanced object-oriented programming skills, more specifically:
- Specification and Manipulation of Abstract Data Types of non-linear collections
- Identification, selection and implementation of Software Patterns
- Application of Refactoring Techniques

Resultados de aprendizagem e competências

At the end of the UC the student should be able to:
1- implement non-linear Abstract Data Types (TADs): Trees and Graphs
2 - use non-linear Abstract Data Types (TADs): Trees and Graphs, in the resolution of concrete problems.
3 - recognize the existence of Software Patterns, in the design of applications
4 - select the Software Pattern best suited to a given problem.
5 - implement in JAVA the Software Patterns, starting from its specification.
6 - identify "Bad smells" in code.
7 - apply Refactoring techniques, to improve the internal structure of the code.
8 - use the JUnit API to build unit tests.
9 - apply and use TADs, Software Patterns and refactoring techniques to build robust and scalable software applications in JAVA

Modo de trabalho

Presencial

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

The student must dominate the object oriented programming paradigm
The student must be able to master the basic aspects of the JAVA programming paradigm
The student must be able to master the basic principles of algorithmics
The student must have knowledge of the TAD concept, and of the implementation of linear collections (List,Stack, Queue)

Programa

1 - Abstract Data Types (ADTs)
1.1 Introduction to ADTs implementation in JAVA
1.2 Trees : Data structure of type Tree and ADT Tree
1.3 Graphs: ADT Graph
2 - Software Standards
2.1 Design Patterns
2.3 Architecture Patterns
3 - Refactoring
3.1 Bad Smells
3.2 Refactoring Techniques

Bibliografia Obrigatória

António Adrego; Estruturas de Dados e Algoritmos em Java,, FCA, 2011. ISBN: 978-972-722-704-4
Eric Freeman ,Elisabeth Robson, Bert Bates, Kathy Sierra; Head First Design Patterns, OREILLY, 2004. ISBN: ISBN 9780596007126
Martin Fowler; Refactoring: Improving the Design of Existing Code, 2002. ISBN: 978-0201485677

Bibliografia Complementar

Michael T. Goodrich, Roberto Tamassia;; Data Structure and Algorithms in Java, John Wiley & Sons, 2001. ISBN: 0-471-38367-8 (English bibliographie)

Métodos de ensino e atividades de aprendizagem

Theoretical lessons: This type ofclass will be taught remotely, by video conference on the Zoom platform. They resort to the resolution of problematic situations using computational media, in order to introduce the various techniques of advanced programming that make up the program content of the course.

Laboratory classes: the resolution of exercises in a more autonomous way, in a development environment.
Elaboration of practical work throughout the semester, integrating the various techniques taught.

Software

JDK 8.0
IntelliJ (IDE)

Tipo de avaliação

Distributed evaluation without final exam

Componentes de Avaliação

Designation Peso (%)
Teste 50,00
Trabalho laboratorial 50,00
Total: 100,00

Componentes de Ocupação

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

Obtenção de frequência

The student can choose between continuous assessment or by examination. In both cases, he will have to do practical work that will be defended in oral discussion.
1. If you wish to be assessed by examination, you will still have to take an examination in the regular season or in the appeal season, and to pass you will have to have a mark of 9.5 values or higher in any of the examinations (scale 0-20).
2. If you choose continuous assessment (besides the practical work) the student will take 2 mini-tests, 5 assessed labs (face-to-face), a test, a video and 8 formative assessment quizzes. If the student does not obtain approval in the continuous regime the student will have to take the exam of normal or appeal season.



IMPORTANT NOTES
1. The approval of the Laboratory Practice component is a requirement for approval in the subject.
2. Regardless of whether the student chooses to be assessed by exam or by continuous assessment, it is ABSOLUTELY MANDATORY that students enroll in the assessment tests PRIOR TO THE SETTLEMENT DEADLINES. Registration is done through the moodle platform.
Students who are not registered within the deadlines previously established will be denied access to the respective exam.

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

Final mark = 50% TP + 50% PL


Continued Mode


  • TP = 15% MT1+ 20%MT2+ 40%T + 10%Quiz(s)+ 15%video

  • PL = 20%Evaluated labs + 80%project


Exam Mode


  • TP = 100% Examination

  • PL = 100% Project


Rules


  • Rule 1 - Each of the components (PT and PL) has a minimum score of 9.5 points (in 0-20 scale)

  • Rule 2 - In continuous assessment, the minimum grade is 7

  • Rule 3 - Each Quiz is graded 0 or 20. 20 points if passed (grade >=12), 0 if failed. The grade for the Quiz component is the arithmetic average of the 8 Quizzes.

  • Rule 4 - The Labs grade is the arithmetic mean of the 5 Labs evaluated. Lab grades are only valid if the student has not missed any lab classes (only two absences are allowed).

  • Rule 5 - The Labs, the Project and the video are group works.

  • The student can choose between continuous assessment or exame. In both cases they will have to do practical work that will be defended in oral discussion.

Avaliação especial (TE, DA, ...)

There is an exceptional evaluation system for students who have more than two registrations and effective attendance to the UC, without obtaining a pass. This system involves the following set of individually assessed activities


  • 7 Quizzes [25%]

  • 4 labs [50%] [the last lab is face-to-face, 2 hours long and the minimum grade is 8].

  • Video about a software pattern. [25%]



In the case of the TE(Worker students), it is not required the attendance to the non-evaluated labs, being counted all the evaluated labs regardless the number of attendance.

Observações

Content and registration for tests available on the  moodle platform
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-05-09 às 11:03:12