Saltar para:
Logótipo
This page in english Ajuda Autenticar-se
Pré-candidaturas mobilidade 2019/2020
Você está em: Início > EIC0013
Autenticação




Mapa das Instalações
Edifício A (Administração) Edifício B (Aulas) - Bloco I Edifício B (Aulas) - Bloco II Edifício B (Aulas) - Bloco III Edifício B (Aulas) - Bloco IV Edifício C (Biblioteca) Edifício D (CICA) Edifício E (Química) Edifício F (Minas e Metalurgia) Edifício F (Minas e Metalurgia) Edifício G (Civil) Edifício H (Civil) Edifício I (Electrotecnia) Edifício J (Electrotecnia) Edifício K (Pavilhão FCNAUP) Edifício L (Mecânica) Edifício M (Mecânica) Edifício N (Garagem) Edifício O (Cafetaria) Edifício P (Cantina) Edifício Q (Central de Gases) Edifício R (Laboratório de Engenharia do Ambiente) Edifício S (INESC) Edifício T (Torre do INEGI) Edifício U (Nave do INEGI) Edifício X (Associação de Estudantes)

Algoritmos e Estruturas de Dados

Código: EIC0013     Sigla: AEDA

Áreas Científicas
Classificação Área Científica
OFICIAL Programação

Ocorrência: 2014/2015 - 1S Ícone do Moodle

Ativa? Sim
Unidade Responsável: Departamento de Engenharia Informática
Curso/CE Responsável: Mestrado Integrado em Engenharia Informática e Computação

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
MIEIC 163 Plano de estudos a partir de 2009/10 2 - 7 70 189

Docência - Horas

Teóricas: 3,00
Teórico-Práticas: 2,00
Tipo Docente Turmas Horas
Teóricas Totais 1 3,00
Ana Paula Cunha da Rocha 3,00
Teórico-Práticas Totais 6 12,00
Ana Paula Cunha da Rocha 4,00
Vânia Guiomar da Silva Gonçalves 4,00
Rosaldo José Fernandes Rossetti 4,00

Língua de trabalho

Português

Objetivos

Na sequência das unidades curriculares de Introdução à Programação, é objetivo desta unidade curricular: recorrer às noções de programação já estabelecidas e sistematizar o uso de estruturas de informação e de algoritmos para resolver categorias de problemas;  usar, como paradigma de suporte ao desenvolvimento de programas, a orientação por objetos; dar ênfase à organização dos programas em torno de tipos de dados abstratos. Serão realizados pequenos projetos usando a linguagem C++.

Resultados de aprendizagem e competências

No final da unidade curricular, os estudantes deverão ter competência para: modelar problemas recorrendo ao paradigma da orientação por objetos; resolver problemas fazendo uso de tipos de dados abstratos e estruturas de dados simples lineares e não lineares.

Modo de trabalho

Presencial

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

O estudante deve possuir conhecimentos básicos de programação e linguagem C++.

Programa

Programação orientada por objetos. Herança e Polimorfismo. Aspetos básicos de UML. Linguagem C++. Análise de algoritmos: classes e complexidade. Algoritmos de pesquisa e ordenação. Tipos abstratos de dados. Iteradores. Estruturas de dados lineares e sua implementação: pilhas, filas e listas. Árvores binárias e algoritmos associados. Tabelas de dispersão e algoritmos de manipulação. Filas de prioridade. Árvores equilibradas. Árvores AVL e "Splay". Exemplos de aplicação.

Bibliografia Obrigatória

Weiss, Mark Allen; Data structures and algorithm analysis in C++. ISBN: 0-201-36122-1
Sedgewick, Robert; Algorithms in C++. ISBN: 0-201-35088-2

Bibliografia Complementar

Deitel, H. M.; C++ how to program. ISBN: 0-13-185757-6
Stroustrup, Bjarne; The C++ programming language. ISBN: 0-201-88954-4
Koenig, Andrew; Accelerated C++. ISBN: 0-201-70353-X
Cormen, Thomas H.; Introduction to algorithms

Métodos de ensino e atividades de aprendizagem

As aulas teóricas são usadas para exposição formal da matéria, acompanhada da apresentação de exemplos e sua discussão. Nas aulas práticas são resolvidos exercícios de programação em C++. Avaliações práticas são aplicadas ao longo do curso, em datas previamente anunciadas, onde os estudantes são continuamente avaliados a nível teórico e prático, com a realização de exercícios individuais em computador (Componente Individual). Os alunos efetuam trabalhos de grupo de pequena dimensão que são acompanhados fora das aulas e avaliados em dois momentos ao longo do curso (Componente de Grupo).

Software

Cute C++ Unit Testing Framework
Eclipse C++

Palavras-chave

Ciências Físicas > Ciência de computadores > Programação
Ciências Físicas > Matemática > Algoritmos

Tipo de avaliação

Avaliação distribuída sem exame final

Componentes de Avaliação

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

Componentes de Ocupação

Designação Tempo (Horas)
Elaboração de projeto 60,00
Estudo autónomo 48,00
Frequência das aulas 70,00
Trabalho laboratorial 10,00
Total: 188,00

Obtenção de frequência

O estudante não pode exceder o limite de faltas previsto.

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

A avaliação da unidade curricular contém duas componentes: Componente Individual (CI) (60%) e Componente de Grupo (CG) (40%).

  • A Componente Individual (CI) é realizada individualmente, em quatro momentos distintos ao longo do curso:
  • Inclui duas componentes de igual peso: uma componente prática de programação usando testes unitários (CIP) e uma componente teórica(CIT)
  • É realizada individualmente em computador, com consulta ao material fornecido, e duração não superior a 2h30m
  • CI é a média aritmética das notas obtidas em cada um dos quatro momentos.
  • A avaliação da Componente de Grupo (CG) inclui 2 trabalhos (CG1 e CG2) a realizar em grupo (de 3 estudantes), de igual peso, sendo em cada um destes pontos de avaliação contabilizado o empenho e assiduidade do estudante no trabalho de grupo.


A Classificação Final (CF) é portanto computada da seguinte forma: CF = CI*0,6 + CG*0,4, onde:

CI = média das 4 notas obtidas nos momentos de avaliação individual

CG = avaliação correspondente à componente de grupo(média de CG1 e CG2)

Para aprovação na disciplina, o estudante deve obter uma classificação mínima de 35% (7 valores em 20) em qualquer das componentes: CIP, CIT, CG1 e CG2.

A Componente Individual (CI) é realizada em computador (a componente de programação envolve testes unitários), com recurso ao Sistema SIGEX.

Provas e trabalhos especiais

A avaliação em Época Especial inclui duas componentes (CE e CT):

  • Componente de Exame (CE) (60%), inclui:
  • uma parte prática de programação usando testes unitários (CEP)
  • uma parte teórica(CET)
  • Componente de Trabalho Prático(CT) (40%), relativo à implementação de um mini-projeto e elaboração do respetivo relatório. O Trabalho Prático deverá ser entregue até à data do exame e os estudantes devem contactar o regente da UC para escolha do trabalho a implementar.

A classificação final (CF) é computada como: CF = CE*0,6 + CT*0,4.

Para aprovação na disciplina, o estudante deve obter uma classificação mínima de 35% em qualquer das componentes CEP, CET e CT.

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

Os estudantes inscritos ao abrigo de regimes especiais sem frequência de aulas práticas:

  • podem efetuar a Componente de Grupo (CG) de avaliação constituindo grupo com outros colegas ou sozinhos, devendo acordar com os docentes o trabalho a realizar e as datas de avaliação dos mesmos
  • devem realizar a avaliação individual CI nas datas estipuladas.

Melhoria de classificação

A realizar na época seguinte da unidade curricular

Recomendar Página Voltar ao Topo
Copyright 1996-2018 © Faculdade de Engenharia da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2018-12-15 às 01:05:26 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais