Como chegar
|
Contactos

Estruturas de Dados 2017/2018

  • 6 ECTS
  • Lecionada em Português
  • Avaliação Contínua

Objetivos

A unidade curricular pretende introduzir os conceitos fundamentais sobre as estruturas abstractas de dados. No final do semestre o aluno deverá ser capaz de:
1. Conhecer o funcionamento e compreender a utilidade das estrutura abstractas de dados mais relevantes, nomeadamente listas, pilhas, filas, árvores e grafos
2. Saber escolher e utilizar estruturas de dados adequadas ao problema a resolver.
3. Saber implementar as estruturas de dados, em particular, recorrendo a gestão dinâmica de memória.
O estudante será também capaz de planear, gerir e desenvolver um trabalho de grupo, bem como apresentá-lo, quer escrita, quer oralmente.

Pré-Requisitos Recomendados

Unidades Curriculares: Algoritmia e Programação, Programação Orientada a Objectos
Conceitos: Programação em Java

Método de Ensino

A lecionação da unidade curricular desenvolve-se em aulas teórico/práticas e práticas laboratoriais.
Nas aulas teórico práticas apresentam-se os conceitos fundamentais sobre as ADTs, utilizando frequentemente a interpelação aos alunos e o ensino pela descoberta através de exemplos. As aulas práticas pretendem desenvolver as competências específicas, através da resolução de exercícios práticos no computador, com acompanhamento individual pela professora.
Recursos: Linguagem Java; IDE Eclipse; recursos disponibilizados na página da UC no MOODLE

Conteúdos Programáticos

Estruturas Abstractas de Dados (ADTs): pilhas, filas, listas, árvores, grafos
Comportamento de cada uma das ADTs
Representação sequencial e dinâmica das ADTs
Implementação de cada uma das ADTs em Java
Resolução de problemas utilizando as ADTs, em linguagem Java

Bibliografia e Webgrafia Recomendada

Carrano, F., Henry T., Data Structures and Abstractions with Java, 4ª Ed,Pearson, 2015
Weiss, M. Allen, Data Structures & Problem Solving Using Java, 4ªEd, Pearson, 2013

Bibliografia Complementar

Rocha, A.D., Estruturas de dados e algoritmos em Java, FCA, 2011
Martins, Mário, Java 8: POO + Construções Funcionais, FCA, 2017
Weiss, M. Allen, Data Structures & Algorithms Analysis in Java, 3ªEd, Pearson, 2014
Carrano, F., Prichard, J., Data Abstraction and Problem Solving with Java: walls and mirrors, Pearson, 3ª Ed., 2011

http://wps.prenhall.com/esm_carrano_dsaj_1
MIT's OpenCourseWare: http://ocw.mit.edu/OcwWeb/index.htm
Stanford CS Education Library: http://cslibrary.stanford.edu/

Planificação Semanal

Semana Conteúdos
1 Apresentação e Revisões Java
2 Revisões Java Introdução ao estudo das ADTs
3 Listas
4 Listas
5 Aplicações de Listas
6 Pilhas
7 Filas
8 Estruturas em listas
9 Estruturas em listas
10 Árvores
11 Árvores
12 Aplicações de ADTs
13 Grafos e HEAPs
14 Mini-teste
15 Prova prática individual e apresentação de trabalhos

Coerência do programa para com os objetivos

São objetivos desta unidade curricular: 1. Conhecer o funcionamento e compreender a utilidade das estrutura abstractas de dados mais relevantes, nomeadamente listas, pilhas, filas, árvores e grafos
2. Saber escolher e utilizar estruturas de dados adequadas ao problema a resolver.
3. Saber implementar as estruturas de dados, em particular, recorrendo a gestão dinâmica de memória.
Assim sendo os conteúdos a abordar incluem uma descrição de cada uma das Estruturas Abstractas de Dados (ADTs): pilhas, filas, listas, árvores, grafos, e uma descrição do respetivo comportamento. Com vista a que os estudantes saibam implementar estas estruturas, serão analisadas e comparadas as representações sequencial e encadeada das ADTs, recorrendo à implementação de cada uma das ADTs em Java. Para que os estudantes saibam escolher a ADT adequada a um dado problema, serão apresentados casos, alguns definindo à priori as ADTs usadas, outros obrigando o estudante a selecionar qual a ADT mais adequada.

Coerência dos métodos de ensino para com os objetivos

A lecionação da unidade curricular desenvolve-se em aulas teórico/práticas e práticas laboratoriais.
Os objetivos incluem : 1. Conhecer o funcionamento e compreender a utilidade das estrutura abstractas de dados mais relevantes, nomeadamente listas, pilhas, filas, árvores e grafos
2. Saber escolher e utilizar estruturas de dados adequadas ao problema a resolver.
3. Saber implementar as estruturas de dados, em particular, recorrendo a gestão dinâmica de memória.
As aulas teóricas/praticas permitirão que os alunos conheçam e compreendam as ADTS e percebam a sua utilização na resolução de diferentes problemas. A resolução de exercicios praticos permite que os alunos saibam implementar as ADTs e também escolher as ADTs para usar em determinadas situações.

competência genérica relevantedesenvolvida?avaliada?
Análise e sínteseSim 
Aptidão para aplicação na prática dos conhecimentos teóricosSimSim
Capacidade crítica e de avaliaçãoSim 
Capacidade de auto-critica e de auto-avaliaçãoSimSim
Capacidade de iniciativa e espírito empreendedor  
Competência em informática e uso de novas tecnologiasSimSim
Competência em língua estrangeiraSim 
Comportamento ético e responsável  
Comunicação oral e escritaSimSim
CriatividadeSimSim
Preocupação com a eficáciaSimSim
Preocupação com a qualidade  
Relacionamento interpessoalSim 
Resolução de problemasSimSim
Saber organizar, planear e gerirSimSim
Trabalho em equipaSimSim
Este website usa cookies para funcionar melhor e medir a performance (Diretiva da União Europeia 2009/136/EC)
Por favor dispense alguns minutos para responder a umas perguntas rápidas sobre o nosso website.