Saltar para:
Logótipo
Você está em: Início > CC202
Mapa das Instalações
FC6 - Departamento de Ciência de Computadores FC5 - Edifício Central FC4 - Departamento de Biologia FC3 - Departamento de Física e Astronomia e Departamento GAOT FC2 - Departamento de Química e Bioquímica FC1 - Departamento de Matemática

Estrutura de Dados

Código: CC202     Sigla: CC202

Áreas Científicas
Classificação Área Científica
OFICIAL Ciência de Computadores

Ocorrência: 2015/2016 - 2S Ícone do Moodle

Ativa? Sim
Unidade Responsável: Departamento de Ciência de Computadores
Curso/CE Responsável: Licenciatura em Geologia

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
L:F 2 Plano de estudos a partir de 2008 2 - 7,5 - 202,5
L:G 1 P.E - estudantes com 1ª matricula anterior a 09/10 3 - 7,5 - 202,5
P.E - estudantes com 1ª matricula em 09/10 3 - 7,5 - 202,5
L:Q 0 Plano de estudos Oficial 3 - 7,5 - 202,5

Língua de trabalho

Português

Objetivos

O estudante deverá ser capaz de:
- compreender, utilizar e desenvolver programas com tipos abstratos de dados (TAD) de acordo com os requisitos de problemas propostos;
- compreender e utilizar as noções de atributo e método de um tipo abstrato de dados.
- utilizar e adaptar, programando-os, TADs que implementam listas ligadas, pilhas, filas, árvores binárias, heaps, tabelas de hash e grafos;
- analisar trechos de algoritmos do ponto de vista da complexidade computacional e situá-los numa ordem de complexidade;
- programar funções recursivas;
- programar e analisar algoritmos de procura e inserção sequencial, em lista ordenada, em árvore ordenada e em tabela de hash;
- programar e analisar algoritmos de ordenação tais como o bubblesort, mergesort. quicksort e heapsort.
- programar e analisar algoritmos de criaçao e manipulação de estruturas de dados como árvores binárias, árvores binárias ordenadas, heaps e grafos.
Nota: nesta unidade curricular a programação é feita utilizando a linguagem Python.

Resultados de aprendizagem e competências

O estudante é capaz de:
- compreender, utilizar e desenvolver programas com tipos abstratos de dados (TAD) de acordo com os requisitos de problemas propostos;
- compreender e utilizar as noções de atributo e método de um tipo abstrato de dados.
- utilizar e adaptar, programando-os, TADs que implementam listas ligadas, pilhas, filas, árvores binárias, heaps, tabelas de hash e grafos;
- analisar trechos de algoritmos do ponto de vista da complexidade computacional e situá-los numa ordem de complexidade;
- programar funções recursivas;
- programar e analisar algoritmos de procura e inserção sequencial, em lista ordenada, em árvore ordenada e em tabela de hash;
- programar e analisar algoritmos de ordenação tais como o bubblesort, mergesort. quicksort e heapsort.
- programar e analisar algoritmos de criaçao e manipulação de estruturas de dados como árvores binárias, árvores binárias ordenadas, heaps e grafos.
Nota: nesta unidade curricular a programação é feita utilizando a linguagem Python.

Modo de trabalho

Presencial

Programa

Revisão do Python. Tipos abstractos de dados: atributo e método. Colecções de objectos: listas ligadas,, filas, e pilhas. Recursividade. Noções de complexidade algorítmica. Algoritmos de procura e inserção: procura sequencial, binária  em tabela de hash. Algoritmos de ordenação. Árvores binárias: não ordenadas e ordenadas. Árvores de procura e armazenamento. Heaps. Grafos.

Bibliografia Obrigatória

Miller Bradley N.; Problem solving with algorithms and data structures using Python. ISBN: 1-59028-053-0

Bibliografia Complementar

Downey Allen; How to think like a computer scientist. ISBN: 0-9716775-0-6

Métodos de ensino e atividades de aprendizagem

- Aulas teóricas em parte expositivas e em parte demonstrativas da resolução de problemas.
- Aulas práticas em laboratório.
- Exercícios formativos (auto-avaliação) em computador, para realizar fora das aulas e utilizando uma plataforma de validação automática de programas através de testes unitários.
- Plataforma de e-learning (Moodle) com pdfs das transparências apresentadas nas aulas e dos exercícios práticos apresentados.
- Esta plataforma tem também um forum onde são feitos anúncios relativos à disciplina e onde os alunos.

- Avaliação distribuída com exame final:
* 2 testes de programação: 3 valores cada
* exame final: 14 valores. 

Software

Idle
IEP

Palavras Chave

Ciências Físicas > Ciência de computadores > Programação

Tipo de avaliação

Avaliação distribuída com exame final

Componentes de Avaliação

Designação Peso (%)
Exame 70,00
Participação presencial 0,00
Teste 30,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Estudo autónomo 60,00
Frequência das aulas 75,00
Total: 135,00

Obtenção de frequência

* Obter nota maior que zero num dos testes práticos.
* Ter sucesso em pelo menos 50% (ponderado) das tarefas de auto-avaliação propostas.

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

0.2*MPT+0.1*PTP+0.7*EX

MPT: melhor teste prático
PTP: pior teste prático
EX: exame

Melhoria de classificação

pode melhorar em recurso a nota do exame na época normal e combinar com as notas dos testes.

Recomendar Página Voltar ao Topo
Copyright 1996-2025 © Faculdade de Ciências da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2025-06-14 às 05:39:55 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias