UNIVERSIDADE FEDERAL DE UBERLÂNDIA
Faculdade de Engenharia Elétrica

Av. João Naves de Ávila, 2121, Bloco 3N - Bairro Santa Mônica, Uberlândia-MG, CEP 38400-902
Telefone: (34) 3239-4701/4702 - www.feelt.ufu.br - feelt@ufu.br
  

Timbre

Plano de Ensino

IDENTIFICAÇÃO

Componente Curricular:

  Tópicos Especiais em Engenharia de Computação: Estrutura de Dados

Unidade Ofertante:

FEELT

Código:

FEELT39040D  

Período/Série:

Turma:

C

Carga Horária:

Natureza:

Teórica:

30

Prática:

30

Total:

60

Obrigatória:

( )

Optativa:

( X )

Professor(A):

EDGARD AFONSO LAMOUNIER JÚNIOR

Ano/Semestre:

2020/2

Observações:

 

 

EMENTA

Ao final do curso o estudante deverá ser capaz de modelar problemas e implementar aplicativos computacionais relacionados à Engenharia de Computação, utilizando os conceitos de abstração de dados e as estruturas de dados clássicas: pilhas, filas, listas, árvores e grafos.

JUSTIFICATIVA

A disciplina de estrutura de dados é fundamental para um curso de graduação em Engenharia da Computação. Estruturas de dados para o Engenheiro da Computação são como a régua de desenho para o Engenheiro Civil: ferramenta básica de trabalho. Isto porque se trata de diferentes maneiras de representar, armazenar e manipular dados no computador. Cada estrutura tem seu potencial de aplicação que, por sua vez, está intimamente relacionado com os tipos de funcionalidades requeridas por um sistema computacional. Diante deste cenário, é de extrema importância que o egresso de um curso de Engenharia da Computação esteja habilitado a trabalhar com diferentes estruturas de dados.

OBJETIVO

Objetivo Geral:

Ao final do curso, o aluno deverá ser capaz de identificar as principais estruturas de dados utilizadas em aplicações na Engenharia de Computação.

Objetivos Específicos:

  • Ser capaz de projetar e implementar estruturas de dados.
  • Desenvolver sistemas computacionais de médio porte, utilizando as potencialidades que cada estrutura de dados possui, explorando ainda sua adequabilidade ao problema computacional em questão

PROGRAMA

1. Introdução

1.1 - Definição de estruturas de dados. 

1.2 - Tipos clássicos de estruturas de dados

1.3 - Aplicações de estruturas de dados

2. Pilhas 

2.1 - Definição e exemplos

2.2 - Representação de pilha

2.3 - Implementação de pilhas usando variáveis dinâmicas

2.4 - Uso de pilhas na avaliação de expressões numéricas

3. Recursividade

3.1 - Definição de processos recursivos

3.2 - Escrevendo programas recursivos

3.3 - Simulando recursividade com pilhas

4. Listas e filas

4.1 - Definição de listas e filas

4.2 - Representando e implementando listas e filas dinamicamente

4.3 - Relação de herança entre listas, pilhas e filas

4.4 - Aplicações

5. Árvores

5.1 - Definição de árvores e seus elementos

5.2 - Tipos de árvores

5.3 - Árvores binárias

5.4 - Algoritmos de busca em árvores

5.5 - Aplicações

6. Grafos

6.1 - Definição, tipos e aplicações de grafos

6.2 - Representação de grafos: matriz de adjacência e listas encadeadas

6.3 - Implementação de grafos direcionados e não direcionados

6.4 - Aplicação de grafos em circuitos e instalações elétricas

METODOLOGIA

O curso será ofertado na modalidade assíncrona, com encontros síncronos mediados pela plataforma Microsoft Teams, cuja presença é obrigatória. Os encontros remotos acontecerão nas datas definidas no Programa.

Encontros mediados pela Plataforma Microsoft Teams:

Horário dos encontros: Todas segundas-feiras: 08:50h-10:40h

Durante os encontros remotos, haverá apresentação e discussão dos conteúdos do Programa. Será adotado material didático customizado, com uso de slides, tutorias, documentos, totalmente acessível pelo Teams, e organizado de acordo com o conteúdo descrito no Programa.

A plataforma Teams será utilizada como canal oficial de comunicação professor-aluno, e ainda como ambiente para recepção de trabalhos, divulgação de notas e disponibilização de materiais bibliográficos. Também será criado um grupo de do aplicativo WhatsUp para gestão do curso.

O atendimento ao estudante será realizado de forma assíncrona, na plataforma Teams e/ou por e-mail do docente (lamounier@ufu.br) e aplicativo, pelo envio de mensagens direcionadas ao professor, ou ainda durante os encontros remotos. Os estudantes que não participarem dos encontros remotos poderão acessar o conteúdo online pela Plataforma.

O cumprimento da carga-horária será verificado por meio da entrega das atividades descritas no Programa, de acordo com as datas das aulas, conforme calendário acadêmico aprovado pela Resolução 16/2021 do Congrad. A distribuição da carga-horária do conteúdo programático do curso está definida no Programa.

AVALIAÇÃO

O conteúdo programático será avaliado por meio de duas provas individuais e um Trabalho Final.

Cada prova terá o valor de 30,0 pontos e o Trabalho Final será de 40,0 pontos.

BIBLIOGRAFIA

Básica

  1. GUIMARÃES, Angelo de Moura e LAGES, Newton Alberto de Castilho; Algoritmos e estruturas de dados, 8ª. Edição, LTC, 2008.
  2. PREISS, Bruno R.; Estruturas de dados e algoritmos: padrões de projetos orientados a objetos com Java, Rio de Janeiro, Elsevier, 2001.
  3. CORMEN, Thomas H.; RIVEST, Ronald l.; LEISERSON, Charles E. e STEIN, Cliford. Algoritmos: teoria e prática. Rio de Janeiro: Campus, 2012. 926 p., il. Inclui bibliografia e índice. ISBN 9788535236996 (broch.).

Complementar

  1. AHO, Alfred V. e HOPCROFT, John E.;,Data structures and algorithms, Addison-Wesley, 1983.
  2. TENENBAUM, Aaron M e LANGSAM, Yedidyah; Estruturas de dados usando C, São Paulo, Makron Books, 1995.
  3. ASCENCIO, Ana Fernanda Gomes. Estruturas de dados: algoritmos, análise da complexidade e implementações em Java e C/C++. São Paulo: Pearson, c2011. 432 p., il. Inclui bibliografia e índice. ISBN 9788576058816 (broch.).
  4. DROSDEK, Adam; Data Structures and Algorithms in C++ - 4th edition; Cengage Learning; 2013.
  5. GOODRICH, Michael T.; TAMASSIA, Roberto and MOUNT, David M.; Data Structures and Algorithms in C++ - 2nd edition; John Wiley & Sons, 2011.

APROVAÇÃO

Aprovado em reunião do Colegiado realizada em: ____/____/______

Coordenação do Curso de Graduação: _________________________

 


logotipo

Documento assinado eletronicamente por Edgard Afonso Lamounier Junior, Professor(a) do Magistério Superior, em 28/06/2021, às 22:02, conforme horário oficial de Brasília, com fundamento no art. 6º, § 1º, do Decreto nº 8.539, de 8 de outubro de 2015.


QRCode Assinatura

A autenticidade deste documento pode ser conferida no site https://www.sei.ufu.br/sei/controlador_externo.php?acao=documento_conferir&id_orgao_acesso_externo=0, informando o código verificador 2868824 e o código CRC 509705FD.




Referência: Processo nº 23117.039263/2021-30 SEI nº 2868824