Saltar para:
This page in english Ajuda Autenticar-se
ESTS
Você está em: Início > INF32157
Autenticação




Esqueceu-se da senha?

Mapa das Instalações
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

Programação Avançada

Código: INF32157     Sigla: PA

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

Ocorrência: 2022/2023 - 1S

Ativa? Sim
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: Licenciatura em Engenharia Informática

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 176 Plano de Estudos 2 - 6 75 162

Docência - Responsabilidades

Docente Responsabilidade
Patrícia Alexandra Pires Macedo Responsável

Docência - Horas

Ensino Teórico-Prático: 3,00
Ensino Prático e Laboratorial: 2,00
Tipo Docente Turmas Horas
Ensino Teórico-Prático Totais 4 12,00
Bruno Miguel Nunes da Silva 6,00
Patrícia Alexandra Pires Macedo 6,00
Ensino Prático e Laboratorial Totais 10 20,00
Luís Manuel Dias Damas 10,00
Pedro Emanuel Albuquerque e Baptista dos Santos 4,00
André Manuel Ferreira Sanguinetti 6,00
Mais informaçõesA ficha foi alterada no dia 2022-10-07.

Campos alterados: Métodos de ensino e atividades de aprendizagem

Língua de trabalho

Português
Obs.: Nenhumas

Objetivos

Desenvolver no aluno competencias avançadas de programação orientada a objectos, mais especificamente:
 - Especificação e Manipulação de Tipos Abstratos de Dados de coleções não lineares
 - Identificação, seleção e implementação de Padrões de Software
 - Aplicação de Tecnicas de Refatoring

Resultados de aprendizagem e competências

Ao fim da UC o aluno deve ser capaz de:
1- implementar Tipos Abstratos de Dados (TADs) não lineares: Arvores e Grafos
2 - utilizar Tipos Abstratos de Dados (TADs) não lineares: Arvores e Grafos, na resolução de problemas concretos.
3 - reconhecer a existência de Padrões de Software, no desenho das aplicações
4 - selecionar o Padrão de Software mais adequado a um determinado problema.
5 - implementar em JAVA os Padrões de Software, partindo da sua especificação.
6 - identificar “Bad smells “ no código.
7 - aplicar de técnicas de Refactoring, para melhoria da estrutura interna do código.
8 - utilizar a API JUnit para construção de testes unitários.
9 - aplicar e utilizar os TADs, os Padrões de Software e as tecnicas de refatoring para construir aplicações de software robustas e escaláveis em JAVA

Modo de trabalho

Presencial

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

O aluno deverá dominar o paradigma de programação orientada por objectos
O aluno deverá dominar os aspetos basicos do paradigma de programação em JAVA
O aluno deverá dominar os principios basicos de algoritmia
O aluno deverá dominar o conceito de TAD, e conhecer a implementação de coleções do tipo linear (List,Stack, Queue)

Programa

1 – Tipos Abstractos de Dados (TADs)
1.1 Introdução a implementação de TADs em JAVA

1.2 Arvores : Estrutura de dados do tipo Arvore e TAD Tree

1.3 Grafos: TAD Graph

2 – Padrões de Software
2.1 Padroes de Desenho

2.3 Padrões de Arquitetura

3 - Refactoring
3.1 "Bad Smells"

3.2 Técnicas de "Refactoring"

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 (Alternativa ao livro em Portugues)

Métodos de ensino e atividades de aprendizagem

Aulas TP: As aulas TP recorrem à resolução de situações problemáticas com recurso a meios computacionais, com vista à introdução das diferentes tecnicas de programação avançada que compõe o conteudo programatico da uc.

Aulas de Laboratório: resolução de exercícios de uma forma mais autonoma, num ambiente de desenvolvimento.
Elaboração de um trabalho prático o longo do semestre, integrador das várias tecnicas lecionadas.

Software

JDK 8.0
IntelliJ (IDE)

Tipo de avaliação

Avaliação distribuída sem exame final

Componentes de Avaliação

Designação Peso (%)
Teste 50,00
Trabalho laboratorial 50,00
Total: 100,00

Componentes de Ocupação

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

Obtenção de frequência

O aluno poderá optar por uma avaliação contínua ou por exame. Em ambos os casos terá que realizar um trabalho prático que será defendido em discusão oral.
1. Caso pretenda ser avaliado por exame, prestará ainda prova em época normal ou em época de recurso, e para obter aprovação terá que ter uma classificação igual ou superior a 9,5 val em qualquer uma das provas.
2. Caso opte pela avaliação contínua (alem do trabalho prático) o aluno fará 1 mini-teste , 4 laboratórios avaliados (presenciais) , um teste, um video e 5 quiz de avaliação formativa. Se não obtiver aprovação no regime contínuo o aluno terá que realizar o exame de época normal ou de recurso. 



NOTAS IMPORTANTES:
1. A aprovação da componente Prática Laboratorial é um requisito para ser aprovado na disciplina.
2. Independentemente do aluno optar pela avaliação por exame ou por avaliação contínua, é ABSOLUTAMENTE OBRIGATÓRIA a inscrição prévia nas provas de avaliação DENTRO DOS PRAZOS ESTABELECIDOS. As inscrições efetuam-se através da plataforma moodle.
Aos alunos que não se encontrarem inscritos dentro dos prazos previamente estabelecidos será vedado o acesso à respetiva prova.




 



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


Nota final = 50% I+ 50% G




Continua



  • I = 0,20 Quiz(s) (Q) + 0,25 Miniteste (MT) + 0,55 Teste (T)




  • G = 0,15 Labs avaliados (L) + 0,7 Projeto (P) + 0,15* Video (V)




Exame


  • I = 100% Exame

  • G = 100% Projeto



Regra 1 - Cada uma das componentes (I e G) tem a nota mínima de 9.5 valores
Regra 2 - Na avaliação contínua a nota do teste tem uma nota mínima de 7.5 valores
Regra 3 - Cada Quiz é classificado com 0 ou 20. 20 valores.  A nota da componente Quiz é a média aritmetica dos 5 Quiz.
Regra 4 -  A nota dos Lab é a média aritmetica de 4 Labs avaliados. As notas de Lab só serão válidas se o aluno não tiver faltado as aulas de laboratório tutoriais (só são permitidas duas faltas)
Regra 5 - Os trabalhos de laboratório , o Projeto  e o video são trabalhos realizados em grupo.

Provas e trabalhos especiais


 



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

Os estudantes que se encontrem abrangidos pelo regime de TE, não tem obrigatoriedade de assitir às aulas de laboratório. Desta forma a componente de trabaho em Grupo será calculada com a seguinte formula:

G = 0,85 Projeto + 0,15*Video

Observações

Conteudos e inscrições para provas disponibilizados na plataforma moodle: aqui
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-27 às 17:27:17