UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação
Av. João Naves de Ávila, nº 2121, Bloco 1A - Bairro Santa Mônica, Uberlândia-MG, CEP 38400-902 Telefone: (34) 3239-4144 - h p://www.portal.facom.ufu.br/ facom@ufu.br
PLANO DE ENSINO
1. IDENTIFICAÇÃO
Componente Curricular: Estrutura de Dados 1 Unidade Ofertante: Faculdade de Computação
Código: GSI508 Período/Série: 2º período Turma: S1
Carga Horária: Natureza:
Teórica: 60 Prá ca: 30 Total: 90 Obrigatória: ( X) Opta va: ( )
Professor(A): Fernanda Maria da Cunha Santos Ano/Semestre: 2021/1º Semestre
Observações:
2. EMENTA
Estruturas dinâmicas: pilhas, filas, listas encadeadas. Recursos de programação para alocação dinâmica de memória. Algoritmos recursivos, Programação Dinâmica, Árvores, Árvore de Busca Binária (ABB), Balanceamento de ABB, Ordenação.
3. JUSTIFICATIVA
Essa disciplina apresenta um conteúdo importante para o aluno dar con nuidade no curso, principalmente, nas disciplinas ligadas à programação de sistemas computacionais.
4. OBJETIVO
Obje vo Geral:
Possibilitar aos alunos a u lização o mizada das diversas estruturas de dados apresentadas, levando em consideração o problema a ser resolvido ou o mizado, e também o contexto no qual ocorre esse problema.
Obje vos Específicos:
Consolidar os conhecimentos sobre programação previamente adquiridos;
Fornecer domínio da alocação dinâmica de memória;
Apresentar as principais estruturas de dados e suas implementações, em termos de representação sica e algoritmos de manipulação, guiando-se pelo conceito de pos abstratos de dados;
Prover uma introdução às técnicas de programação, com desenvolvimento, implementação e teste de programas, baseando-se no emprego de estruturas de dados em aplicações par culares;
Apresentar os principais processos de pesquisa e classificação de dados.
5. PROGRAMA
1. Listas lineares Conceitos;
Operações primitivas;
Operações lineares em alocação sequencial;
Listas lineares em alocação encadeada;
Implementação através de variáveis dinâmicas;
Listas simplesmente encadeadas;
Listas duplamente encadeadas;
Listas circulares;
2. Filas Conceitos;
Operações primitivas;
Representação de filas através de vetores;
Representação de filas através de listas lineares;
3. Pilhas Conceitos;
Operações primitivas;
Representação de pilhas através de vetores;
Representação de pilhas através de listas lineares;
Á
4. Árvores
Tipos de árvores Árvore Binária de Busca;
Inserção e Retirada em Árvore Binária de Busca;
Percurso em Árvore Binária de Busca: Pós-Ordem, Pré-Ordem e Em-Ordem;
Balanceamento de Árvore Binárias de Busca (A.V.L.) 5. Ordenação
Seleção Inserção Bolha Shellsort Mergesort Quicksort
6. METODOLOGIA
O curso compreenderá aulas teóricas no modo remoto e as aulas prá cas serão remotas e presenciais. As a vidades de ensino serão síncronas e assíncronas, conforme apresentado a seguir:
A. A vidades síncronas remotas: 4 horas/aula por semana para teórica e 2 horas/aula para a prá ca.
As a vidades síncronas totalizaram em 96 horas/aula no semestre;
As aulas teóricas serão remotas e acontecerão às quartas e quintas-feiras no período das 13h10 às 14h50; às aulas prá cas serão presenciais e acontecerão às sextas-feiras das 09h50 às 11h30;
As a vidades síncronas remotas acontecerão via Microso Teams (Equipe "GSI508 – Estruturas de Dados1").
Plataforma de T.I./so wares que serão u lizados: reunião pelo Microso Teams (conta criada com o e-mail ins tucional @ufu.br). É necessário ter microfone em funcionamento. Nos dias agendados para avaliações síncronas, também será necessário que a câmera esteja habilitada.
B. A vidades assíncronas: 18 horas/aula no semestre
As a vidades assíncronas acontecerão em 6 semanas do semestre e não haverá horário fixo para a realização das a vidades. No entanto, o aluno deve respeitar as datas e horários para a entrega das resoluções das a vidades que serão informadas durante as aulas síncronas.
As a vidades assíncronas remotas acontecerão via Microso Teams (Equipe "GSI508 – Estruturas de Dados1").
Plataforma de T.I./so wares que serão u lizados: Microso Teams, Code::Blocks IDE,
Endereço web de localização dos arquivos: Microso Teams (h ps://teams.microso .com) e Google Drive;
A parte teórica da disciplina será disponibilizada semanalmente para estudos assíncronos por meio de slides, textos e links para vídeos. O conteúdo será deba do em um encontro síncrono, buscando-se sempre a par cipação do aluno. A parte prá ca da disciplina será realizada por meio da resolução de problemas relacionados com os temas abordados na semana, implementados em uma linguagem de programação Os problemas serão resolvidos em grupos durante as aulas síncronas remotas e nas aulas presenciais.
As aulas prá cas serão presenciais. Nessas aulas haverão resolução de problemas relacionados com os temas abordados na semana, implementados na linguagem de programação C e que serão resolvidos em grupos. A Plataforma de T.I./so wares que serão u lizados são : Microso Teams, Code::Blocks IDE ou outra IDE. Todos os recursos necessários para as aulas prá cas, serão antecipadamente disponibilizados no Microso Teams (h ps://teams.microso .com).
TÉCNICAS DE ENSINO E FERRAMENTAS TECNOLÓGICAS
A tabela a seguir apresenta todo o conteúdo programá co que será detalhado em cada semana de aula do 1º semestre/2021. As aulas teóricas serão remotas e síncronas, totalizando 64 horas/aula. As aulas prá cas serão remotas no período de 03/12/2021 à 07/01/2022, totalizando 8 horas/aula. As aulas prá cas serão presenciais no período de 14/01/2022 à 01/04/2022, totalizando 24 horas/aula.
CRONOGRAMA DAS ATIVIDADES
SEMANA MÓDULOS
ATIVIDADES SÍNCRONAS PREVISTAS
DATA E CARGA-HORÁRIA DAS AULAS TEÓRICAS REMOTAS
DATA E CARGA- HORÁRIA DAS AULAS
PRÁTICAS
ATIVIDADES ASSÍNCRONAS
PREVISTAS C
29/11/2021
INÍCIO DO SEMESTRE LETIVO
1ª Apresentação da ementa;
Revisão de vetores;
Explicação sobre Registros;
Exercícios: registros;
03/12 (remota)
2 horas-aula (13:10 - 14:50) 01/12
02/12 03/12
Módulo 1
01/12, 02/12 4 horas-aula (13:10 - 14:50)
2ª
Explicação sobre Função;
Exercícios: Função;
08/12, 09/12 4 horas-aula (13:10 - 14:50)
10/12 (remota) 2 horas-aula (13:10 - 14:50)
Resolução do 1º Questionário Avaliativo
2 h
08/12 09/12 10/12 3ª 15/12 16/12 17/12
Explicação sobre Ponteiro e Alocação Dinâmica;
Exercícios: Ponteiro e alocação dinâmica;
15/12, 16/12 4 horas-aula (13:10 - 14:50)
17/12 (remota) 2 horas-aula (13:10 - 14:50)
4ª
22/12 Módulo 2 Explicação sobre Pilha; 2 horas-aula
(13:10 - 14:50)
Resolução do 2º
Questionário Avaliativo 2 h
5ª 05/01 06/01 07/01
Revisão: Pilha;
Exercícios: Pilha (vetores);
05/01, 06/01 4 horas-aula (13:10 - 14:50)
07/01 (remota) 2 horas-aula (13:10 - 14:50)
6ª 12/01 13/01 14/01
Módulo 3
Explicação sobre Fila (vetores);
Exercícios: Fila;
1ª Prova
12/01, 13/01 4 horas-aula (13:10 - 14:50)
14/01 (presencial) 2 horas-aula (09:50 - 11:30)
Resolução do 3º
Questionário Avaliativo 2 h
7ª 19/01 20/01 21/01
Módulo 4
Explicação sobre Lista (até simplesmente encadeada);
Exercícios: Lista;
19/01, 20/01 4 horas-aula (13:10 - 14:50)
21/01(presencial) 2 horas-aula (09:50 - 11:30)
Resolução do 4º
Questionário Avaliativo 2 h
8ª 26/01 27/01 28/01
Representação de Pilha através de Lista;
Exercícios: Pilha através de Lista;
Representação de Fila através de Lista;
26/01, 27/01 4 horas-aula (13:10 - 14:50)
28/01(presencial) 2 horas-aula (09:50 - 11:30)
1º Trabalho 2 h
9ª 2/02 3/02 4/02
Exercícios: Fila através de Lista;
Explicação sobre Lista duplamente encadeada;
Exercícios: Lista duplamente encadeada;
2/02, 3/02 4 horas-aula (13:10 - 14:50)
4/02 (presencial) 2 horas-aula (09:50 - 11:30)
10ª 9/02 10/02 11/02
Módulo 5
2ª Prova Explicação sobre Recursividade;
Exercícios: Recursividade;
9/02, 10/02 4 horas-aula (13:10 - 14:50)
11/02 (presencial) 2 horas-aula (09:50 - 11:30)
2º Trabalho 2 h
11ª 16/02 17/02 18/02
Explicação sobre Árvores e Árvores Binárias de Busca;
Exercícios: Árvores Binárias de Busca;
16/02, 17/02 4 horas-aula (13:10 - 14:50)
18/02 (presencial) 2 horas-aula (09:50 - 11:30)
Resolução do 5º
Questionário Avaliativo 2 h
12ª 23/02 24/02 25/02
Exercícios sobre Árvores Binárias de Busca;
Explicação sobre Árvores AVL;
23/02, 24/02 4 horas-aula (13:10 - 14:50)
25/02 (presencial) 2 horas-aula (09:50 - 11:30)
Resolução do 6º
Questionário Avaliativo 2 h
13ª 03/03 04/03
Exercícios: Árvores AVL;
03/03 2 horas-aula (13:10 - 14:50)
04/03(presencial) 2 horas-aula (09:50 - 11:30) 14ª
9/03 10/03 11/03
Exercícios: Árvores AVL;
9/03, 10/03 4 horas-aula (13:10 - 14:50)
11/03 (presencial) 2 horas-aula (09:50 - 11:30)
15ª 16/03 17/03 18/03
Módulo 6
Explicação sobre Ordenação;
Exercícios: Ordenação;
16/03, 17/03 4 horas-aula (13:10 - 14:50)
18/03(presencial) 2 horas-aula (09:50 - 11:30)
3º Trabalho 2 h
16ª 23/03 24/03 25/03
Explicação sobre Ordenação;
Exercícios: Ordenação;
23/03, 24/03 4 horas-aula (13:10 - 14:50)
25/03(presencial) 2 horas-aula (09:50 - 11:30)
17ª 30/03 31/03 01/04
3ª Prova
Apresentação do 3º Trabalho;
30/03, 31/03 4 horas-aula (13:10 - 14:50)
01/04(presencial) 2 horas-aula (09:50 - 11:30)
02/04/2022
TÉRMINO SEMESTRE LETIVO
Total de horas síncronas remotas: 72
horas-aula Total de horas presenciais:
24 horas-aula
To as au
Carga horária total (síncrona + assíncrona) 11
ATENDIMENTO E COMUNICAÇÃO COM OS DISCENTES
O atendimento aos alunos ocorrerá via mensagem direta ao professor dentro do Microso Teams. O tempo de resposta é de até 24h. Também, a comunicação com a turma será por meio de atendimentos síncronos agendados por demanda e previamente acordado com o professor, via mensagem direta no Microso Teams.
7. AVALIAÇÃO
A avaliação do desempenho dos alunos será soma va, de forma individual e em dupla, sendo realizada por meio de:
1. Provas Individuais: 28 pontos 1ª Prova – P1 (8 pontos) 2ª Prova – P2 (10 pontos) 3ª Prova – P2 (10 pontos)
2. Ques onários Online Individuais: 6 a vidades x 6 pontos = 36 pontos 3. Trabalhos Assíncronos em Dupla com apresentação Oral: 36 pontos
1º Trabalho (individual): Implementação 1 (Valor: 12 pts) 2º Trabalho (individual): Implementação 2 (Valor: 12 pts) 3º Trabalho (dupla): Implementação 3 (Valor: 12 pts)
As datas de entrega das avaliações assíncronas estão apresentadas no quadro abaixo:
ATIVIDADE PONTUAÇÃO DATA
1º Trabalho 12 pontos 31/01/2022 2º Trabalho 12 pontos 14/02/2022
3º Trabalho 12 pontos 21/03/2022 1º Questionário 6 pontos 2ª Semana
2º Questionário 6 pontos 4ª Semana 3º Questionário 6 pontos 6ª Semana
4º Questionário 6 pontos 7ª Semana
5º Questionário 6 pontos 11ª Semana 6º Questionário 6 pontos 12ª Semana
As datas das avaliações síncronas serão:
ATIVIDADE PONTUAÇÃO DATA
1ª Prova 08 pontos 12/01/2022
2ª Prova 10 pontos 09/02/2022 3ª Prova 10 pontos 30/03/2022
Os critérios para a realização e correção das avaliações:
6 Listas de Exercícios individuais (L): 6,0 pontos cada, totalizando 36 pontos. As a vidades só serão aceitas se enviadas dentro do período definido. As resoluções dos algoritmos deverão ser implementados na linguagem de programação C e sem erros de sintaxe;
3 Provas Individuais (P): 28pts. É necessário ter microfone e câmera habilitados no dia e horário marcado para as avaliações. Os critérios de avaliação serão baseados na corretude dos itens solicitados e no percentual de itens entregues. As avaliações só serão aceitas se enviadas dentro do horário definido na plataforma TEAMS.
3 Trabalhos (T) individual ou em dupla : 12pts cada, totalizando 36 pontos. Os trabalhos só serão aceitos se enviados dentro do período definido e apresentados pessoalmente pelos alunos envolvidos.
A nota final será soma va, consis ndo na soma dos componentes de avaliação: L + P + T= 100 pontos.
Não haverá avaliação subs tu va.
As a vidades avalia vas deverão ser enviadas exclusivamente pelo Microso Teams em formato ZIP ou C.
A assiduidade do discente será calculada com base nas presenças nas a vidades síncronas e na porcentagem de a vidades entregues. É necessário um mínimo de 75% de frequência para aprovação na disciplina.
8. BIBLIOGRAFIA
Básica
Celes, W., Cerqueira, R.; Rangel, J. L.. Introdução a Estruturas de Dados: com técnicas de programação em C. Campus, 2004.
Cormen, Thomas H. et. al. Algoritmos: Teoria e Prática. Editora Campus, 2002.
Tenenbaum, A. M., Langsam, Y., Estruturas de Dados Usando C, São Paulo: Makron Books, 1995.
Complementar
Aho, A.V ; Ullman, J.D.; Hopcroft, J.E. Data Structures and Algorithms. 3. ed. Menlo Park: Addison Wesley, 1983.
Knith, D. E. The art of computer programming: fundamental algorithm. 2. ed. Massachusetts: Addison-Wesley, 1973. v .1.
Sedgewick, R. Algotithms in C.3. ed. Mass.: Addison-Wesley, 2008.
Szwarcfiter, J. L.; Markenzon, L. Estrutura de dados e seus algoritmos. Rio de Janeiro: LTC, 2004.
Ziviani, N. Projeto de Algoritmos: com implementações em Pascal e C. 3. ed. São Paulo: Thomson, 2011.
On-line
Materiais extra do livro Projeto de Algoritmos – Nivio Ziviani: http://www2.dcc.ufmg.br/livros/algoritmos/
Visualizador para estruturas de dados: https://www.cs.usfca.edu/~galles/visualization /Algorithms.html
Notas de aula baseadas no livro Algorithms de Sedgewick e Wayne: https://www.ime.usp.br /~pf /estruturas-de-dados/
Video aulas professor André Backes – Programação descomplicada: https://www.youtube.com/channel/UCUc6UwvpQfOLDE7e52-OCMw.
DIREITOS AUTORAIS
Todo o material produzido e divulgado pelo docente, como vídeos, textos, arquivos de voz, etc., está protegido pela Lei de Direitos Autorais, a saber, a lei nº 9.610, de 19 de fevereiro de 1998, pela qual fica vetado o uso indevido e a reprodução não autorizada de material autoral por terceiros. Parágrafo Único:
responsáveis pela reprodução ou uso indevido do material de autoria dos docentes ficam sujeitos às sanções administra vas e as dispostas na Lei de Direitos Autorais.
9. APROVAÇÃO
Aprovado em reunião do Colegiado realizada em: ____/____/______
Coordenação do Curso de Graduação: _________________________
Referência: Processo nº 23117.071806/2021-11 SEI nº 3173540