Baixe o app para aproveitar ainda mais
Prévia do material em texto
Plano de Ensino 1 Código e nome da disciplina DGT0298 ESTRUTURA DE DADOS EM C 2 Carga horária semestral 3 Carga horária semanal 4 Perfil docente O docente responsável pela disciplina deve ser Graduado em Ciência da Computação, Sistemas de Informação, Engenharia de Computação ou Licenciatura em Computação e preferencialmente com pósgraduação stricto sensu. É desejado que o docente tenha Desejável: Pós Graduação Stricto Sensu (Mestrado ou Doutorado) na área de computação, além de experiência de três anos em docência de nível superior na disciplina e experiência profissional de 5 anos no mercado de trabalho em Desenvolvimento de Software/Sistemas. É mandatório que o docente mantenha seu Currículo LATTES atualizado. Além da titulação mínima necessária é importante que o docente tenha também a habilidade de articular os conteúdos vistos na disciplina de Introdução a Programação com os conteúdos que serão apresentados durante o decorrer da disciplina e sempre deixando ganchos daquilo que será ministrado na disciplina de Algoritmos Avançados, mostrando ao aluno que a disciplina de Estrutura de dados não é uma disciplina isolada, mas faz parte de um processo de construção do saber. Além disso, é importante que exista domínio por parte do docente na análise da complexidade de algoritmos para que o mesmo possa passar aos seus alunos da maneira mais simples possível quando escolher uma ou outra estrutura de dados de forma fundamentada, como aconteceria no mundo profissional em um setor de Desenvolvimento de Software dentro de uma empresa 5 Ementa ESTRUTURAS DE DADOS HETEROGÊNEAS; MODULARIZAÇÃO; LISTAS, PILHAS E FILAS; ORDENAÇÃO; ÁRVORES 6 Objetivos Aplicar o uso de agregados heterogêneos e alocação dinâmica, baseandose em conceitos de gerenciamento de memória, para propiciar melhor organização do código e permitindo maior manutenabilidade. Aplicar a passagem por referência de parâmetros, através de apontadores de endereços das informações, com o objetivo de manipular dados de forma mais precisa e diversificada. Construir códigos modularizados, utilizando fundamentos de tipos abstratos de dados, para desenvolver programas que encapsulem informações, simplifiquem métodos já criados e melhorem a legibilidade e manutenção. Diferenciar os tipos de problemas, em função dos requisitos e da solução a ser apresentada, para definir qual a melhor estrutura de dados a ser utilizada. Executar algoritmos de busca e ordenação, desenvolvidos a partir de modelos e exemplos propostos, a fim de criar códigos capazes de pesquisar e ordenar dados através de métricas estabelecidas. 7 Procedimentos de ensinoaprendizagem Aulas interativas em ambiente virtual de aprendizagem, didaticamente planejadas para o desenvolvimento de competências, tornando o processo de aprendizado mais significativo para os alunos. Na sala de aula virtual, a metodologia de ensino contempla diversas estratégias capazes de alcançar os objetivos da disciplina. Os temas das aulas são discutidos e apresentados em diversos formatos como leitura de textos, vídeos, hipertextos, links orientados para pesquisa, estudos de caso, podcasts, atividades animadas de aplicação do conhecimento, simuladores virtuais, quiz interativo, simulados, biblioteca virtual e Explore + para que o aluno possa explorar conteúdos complementares e aprofundar seu conhecimento sobre as temáticas propostas. 8 Temas de aprendizagem 1. ESTRUTURAS DE DADOS HETEROGÊNEAS 1.1 PONTEIROS COM A UTILIZAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO C 1.2 ESTRUTURA DE DADOS HETEROGÊNEA 1.3 STRUCTS COM A UTILIZAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO C 1.4 ESTRUTURAS DE DADOS ANINHADAS, OS VETORES DE ESTRUTURAS E A INSTRUÇÃO TYPEDEF USANDO A LINGUAGEM DE PROGRAMAÇÃO C 2. MODULARIZAÇÃO 2.1 CONCEITOS GERAIS DE PROCEDIMENTOS E FUNÇÕES 2.2 TIPOS DE FUNÇÕES PREDEFINIDAS NA LINGUAGEM C 2.3 PASSAGEM DE PARÂMETROS POR VALOR E POR REFERÊNCIA 2.4 ESCOPO DAS VARIÁVEIS LOCAIS E GLOBAIS 3. LISTAS, PILHAS E FILAS 3.1 OS PRINCIPAIS CONCEITOS ENVOLVIDOS NA MANIPULAÇÃO DE DADOS NA MEMÓRIA 3.2 A FORMA DE MANIPULAÇÃO POR ENCADEAMENTO 3.3 IDENTIFICAR OS ALGORITMOS DAS PRINCIPAIS OPERAÇÕES, BASEADOS NA LINGUAGEM C 3.4 RECONHECER OS ALGORITMOS DAS PRINCIPAIS OPERAÇÕES, BASEADOS NA LINGUAGEM C 4. ORDENAÇÃO 4.1 CONCEITOS FUNDAMENTAIS DE ORDENAÇÃO PARA APLICAÇÃO DE MÉTRICAS DE CLASSIFICAÇÃO E ESCOLHA ADEQUADA DO MÉTODO NA RESOLUÇÃO DE PROBLEMAS 4.2 ALGORITMOS DE ORDENAÇÃO DA BOLHA, INSERÇÃO E SELEÇÃO PARA DESENVOLVIMENTO DE SOLUÇÃO RÁPIDA E EFICIENTE PARA IMPLEMENTAÇÃO EM LINGUAGEM C 5. ÁRVORES 5.1 PRINCIPAIS CONCEITOS, AS PROPRIEDADES BÁSICAS E OS TERMOS RELATIVOS À ÁRVORE 5.2 ÁRVORES BINÁRIAS, SUAS PARTICULARIDADES E APLICAÇÕES 5.3 PRINCIPAIS ÁRVORES DE PESQUISA, SUAS PARTICULARIDADES E APLICAÇÕES 9 Procedimentos de avaliação Nesta disciplina, o aluno será avaliado pelo seu desempenho nas avaliações (AV ou AVS), sendo a cada uma delas atribuído o grau de 0,0 (zero) a 10,0 (dez). O discente conta ainda com uma atividade sob a forma de simulado, que busca aprofundar seus conhecimentos acerca dos conteúdos apreendidos, realizada online, na qual é atribuído grau de 0,0 (zero) a 2,0 (dois). Esta nota poderá ser somada à nota de AV e/ou AVS, caso o aluno obtenha nestas avaliações nota mínima igual ou maior do que 4,0 (quatro). Os instrumentos para avaliação da aprendizagem constituemse em diferentes níveis de complexidade e cognição, efetuandose a partir de questões que compõem o banco da disciplina. O aluno realiza uma prova (AV), com todo o conteúdo estudado e discutido nos diversos materiais que compõem a disciplina. Será considerado aprovado o aluno que obtiver nota igual ou superior a 6,0 (seis). Caso o aluno não alcance o grau 6,0 na AV, ele poderá fazer uma nova avaliação (AVS), que abrangerá todo o conteúdo e cuja nota mínima necessária deverá ser 6,0 (seis). As avaliações serão realizadas de acordo com o calendário acadêmico institucional. 10 Bibliografia básica ASCENCIO; F.G.A.; ARAUJO, S.G. Estruturas de Dados: Algoritmos, Análise da Complexidade e Implementacões em JAVA e C/C++. São Paulo: Pearson Prentice Hall; 2010 Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/1995 BALIEIRO, Ricardo. Estrutura de dados [BV:RE]. 1ª Ed. Rio de Janeiro: .: SESES, 2015 Disponível em: http://api.repositorio.savaestacio.com.br/api/objetos/efetuaDownload/2d35a184bf64 44199da9d1ed12a97017 KOFFMAN, Elliot B., WOLFGANG, Paul A.T. Objetos, Abstração, Estrutura de dados e Projeto usando C++, 1. ed. Rio de Janeiro: LTC; 2008 Disponível em: https://integrada.minhabiblioteca.com.br/books/9788521627807 11 Bibliografia complementar DEITEL, H. M; DEITEL, P. J. C++ Como programar. São Paulo: Prentice Hall, 2006. Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/338 GOODRICH, M.T.; TAMASSIA, R. Estruturas de Dados & Algoritmos em Java. Porto Alegre: Bookman (Grupo A); 2013 Disponível em: https://integrada.minhabiblioteca.com.br/books/9788582600191 PUGA, S; RISSETI, G. Lógica de Programação e Estrutura de Dados, com Aplicacão em JAVA. São Paulo:: Pearson, 2016 Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/41600 VETORAZZO, Adriano S, et al. Estrutura de Dados. Porto Alegre: SAGAH, 2018 Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788595023932/cfi/0!/4/2@100:0.00 Plano de Ensino 1 Código e nome da disciplina DGT0298 ESTRUTURA DE DADOS EM C 2 Carga horária semestral 3 Carga horária semanal 4 Perfil docente O docente responsável pela disciplina deve ser Graduado em Ciência da Computação, Sistemas de Informação, Engenharia de Computação ou Licenciatura em Computação e preferencialmente com pósgraduação stricto sensu. É desejado que o docente tenha Desejável: Pós Graduação Stricto Sensu (Mestrado ou Doutorado) na área de computação, além de experiência de três anos em docência de nível superior na disciplina e experiência profissional de 5 anos no mercado de trabalho em Desenvolvimento de Software/Sistemas. É mandatório que o docentemantenha seu Currículo LATTES atualizado. Além da titulação mínima necessária é importante que o docente tenha também a habilidade de articular os conteúdos vistos na disciplina de Introdução a Programação com os conteúdos que serão apresentados durante o decorrer da disciplina e sempre deixando ganchos daquilo que será ministrado na disciplina de Algoritmos Avançados, mostrando ao aluno que a disciplina de Estrutura de dados não é uma disciplina isolada, mas faz parte de um processo de construção do saber. Além disso, é importante que exista domínio por parte do docente na análise da complexidade de algoritmos para que o mesmo possa passar aos seus alunos da maneira mais simples possível quando escolher uma ou outra estrutura de dados de forma fundamentada, como aconteceria no mundo profissional em um setor de Desenvolvimento de Software dentro de uma empresa 5 Ementa ESTRUTURAS DE DADOS HETEROGÊNEAS; MODULARIZAÇÃO; LISTAS, PILHAS E FILAS; ORDENAÇÃO; ÁRVORES 6 Objetivos Aplicar o uso de agregados heterogêneos e alocação dinâmica, baseandose em conceitos de gerenciamento de memória, para propiciar melhor organização do código e permitindo maior manutenabilidade. Aplicar a passagem por referência de parâmetros, através de apontadores de endereços das informações, com o objetivo de manipular dados de forma mais precisa e diversificada. Construir códigos modularizados, utilizando fundamentos de tipos abstratos de dados, para desenvolver programas que encapsulem informações, simplifiquem métodos já criados e melhorem a legibilidade e manutenção. Diferenciar os tipos de problemas, em função dos requisitos e da solução a ser apresentada, para definir qual a melhor estrutura de dados a ser utilizada. Executar algoritmos de busca e ordenação, desenvolvidos a partir de modelos e exemplos propostos, a fim de criar códigos capazes de pesquisar e ordenar dados através de métricas estabelecidas. 7 Procedimentos de ensinoaprendizagem Aulas interativas em ambiente virtual de aprendizagem, didaticamente planejadas para o desenvolvimento de competências, tornando o processo de aprendizado mais significativo para os alunos. Na sala de aula virtual, a metodologia de ensino contempla diversas estratégias capazes de alcançar os objetivos da disciplina. Os temas das aulas são discutidos e apresentados em diversos formatos como leitura de textos, vídeos, hipertextos, links orientados para pesquisa, estudos de caso, podcasts, atividades animadas de aplicação do conhecimento, simuladores virtuais, quiz interativo, simulados, biblioteca virtual e Explore + para que o aluno possa explorar conteúdos complementares e aprofundar seu conhecimento sobre as temáticas propostas. 8 Temas de aprendizagem 1. ESTRUTURAS DE DADOS HETEROGÊNEAS 1.1 PONTEIROS COM A UTILIZAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO C 1.2 ESTRUTURA DE DADOS HETEROGÊNEA 1.3 STRUCTS COM A UTILIZAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO C 1.4 ESTRUTURAS DE DADOS ANINHADAS, OS VETORES DE ESTRUTURAS E A INSTRUÇÃO TYPEDEF USANDO A LINGUAGEM DE PROGRAMAÇÃO C 2. MODULARIZAÇÃO 2.1 CONCEITOS GERAIS DE PROCEDIMENTOS E FUNÇÕES 2.2 TIPOS DE FUNÇÕES PREDEFINIDAS NA LINGUAGEM C 2.3 PASSAGEM DE PARÂMETROS POR VALOR E POR REFERÊNCIA 2.4 ESCOPO DAS VARIÁVEIS LOCAIS E GLOBAIS 3. LISTAS, PILHAS E FILAS 3.1 OS PRINCIPAIS CONCEITOS ENVOLVIDOS NA MANIPULAÇÃO DE DADOS NA MEMÓRIA 3.2 A FORMA DE MANIPULAÇÃO POR ENCADEAMENTO 3.3 IDENTIFICAR OS ALGORITMOS DAS PRINCIPAIS OPERAÇÕES, BASEADOS NA LINGUAGEM C 3.4 RECONHECER OS ALGORITMOS DAS PRINCIPAIS OPERAÇÕES, BASEADOS NA LINGUAGEM C 4. ORDENAÇÃO 4.1 CONCEITOS FUNDAMENTAIS DE ORDENAÇÃO PARA APLICAÇÃO DE MÉTRICAS DE CLASSIFICAÇÃO E ESCOLHA ADEQUADA DO MÉTODO NA RESOLUÇÃO DE PROBLEMAS 4.2 ALGORITMOS DE ORDENAÇÃO DA BOLHA, INSERÇÃO E SELEÇÃO PARA DESENVOLVIMENTO DE SOLUÇÃO RÁPIDA E EFICIENTE PARA IMPLEMENTAÇÃO EM LINGUAGEM C 5. ÁRVORES 5.1 PRINCIPAIS CONCEITOS, AS PROPRIEDADES BÁSICAS E OS TERMOS RELATIVOS À ÁRVORE 5.2 ÁRVORES BINÁRIAS, SUAS PARTICULARIDADES E APLICAÇÕES 5.3 PRINCIPAIS ÁRVORES DE PESQUISA, SUAS PARTICULARIDADES E APLICAÇÕES 9 Procedimentos de avaliação Nesta disciplina, o aluno será avaliado pelo seu desempenho nas avaliações (AV ou AVS), sendo a cada uma delas atribuído o grau de 0,0 (zero) a 10,0 (dez). O discente conta ainda com uma atividade sob a forma de simulado, que busca aprofundar seus conhecimentos acerca dos conteúdos apreendidos, realizada online, na qual é atribuído grau de 0,0 (zero) a 2,0 (dois). Esta nota poderá ser somada à nota de AV e/ou AVS, caso o aluno obtenha nestas avaliações nota mínima igual ou maior do que 4,0 (quatro). Os instrumentos para avaliação da aprendizagem constituemse em diferentes níveis de complexidade e cognição, efetuandose a partir de questões que compõem o banco da disciplina. O aluno realiza uma prova (AV), com todo o conteúdo estudado e discutido nos diversos materiais que compõem a disciplina. Será considerado aprovado o aluno que obtiver nota igual ou superior a 6,0 (seis). Caso o aluno não alcance o grau 6,0 na AV, ele poderá fazer uma nova avaliação (AVS), que abrangerá todo o conteúdo e cuja nota mínima necessária deverá ser 6,0 (seis). As avaliações serão realizadas de acordo com o calendário acadêmico institucional. 10 Bibliografia básica ASCENCIO; F.G.A.; ARAUJO, S.G. Estruturas de Dados: Algoritmos, Análise da Complexidade e Implementacões em JAVA e C/C++. São Paulo: Pearson Prentice Hall; 2010 Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/1995 BALIEIRO, Ricardo. Estrutura de dados [BV:RE]. 1ª Ed. Rio de Janeiro: .: SESES, 2015 Disponível em: http://api.repositorio.savaestacio.com.br/api/objetos/efetuaDownload/2d35a184bf64 44199da9d1ed12a97017 KOFFMAN, Elliot B., WOLFGANG, Paul A.T. Objetos, Abstração, Estrutura de dados e Projeto usando C++, 1. ed. Rio de Janeiro: LTC; 2008 Disponível em: https://integrada.minhabiblioteca.com.br/books/9788521627807 11 Bibliografia complementar DEITEL, H. M; DEITEL, P. J. C++ Como programar. São Paulo: Prentice Hall, 2006. Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/338 GOODRICH, M.T.; TAMASSIA, R. Estruturas de Dados & Algoritmos em Java. Porto Alegre: Bookman (Grupo A); 2013 Disponível em: https://integrada.minhabiblioteca.com.br/books/9788582600191 PUGA, S; RISSETI, G. Lógica de Programação e Estrutura de Dados, com Aplicacão em JAVA. São Paulo:: Pearson, 2016 Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/41600 VETORAZZO, Adriano S, et al. Estrutura de Dados. Porto Alegre: SAGAH, 2018 Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788595023932/cfi/0!/4/2@100:0.00 Plano de Ensino 1 Código e nome da disciplina DGT0298 ESTRUTURA DE DADOS EM C 2 Carga horária semestral 3 Carga horária semanal 4 Perfil docente O docente responsável pela disciplina deve ser Graduado em Ciência da Computação, Sistemas de Informação, Engenharia de Computação ou Licenciatura em Computação e preferencialmente com pósgraduação stricto sensu. É desejado que o docente tenha Desejável: Pós Graduação Stricto Sensu (Mestrado ou Doutorado) na área de computação, além de experiência de três anos em docência de nível superior na disciplina e experiência profissional de 5 anos no mercado de trabalho em Desenvolvimento de Software/Sistemas. É mandatório que o docente mantenha seu Currículo LATTES atualizado. Além da titulação mínima necessária é importante que o docente tenha também a habilidade de articular os conteúdos vistos na disciplina de Introdução a Programação com os conteúdos que serão apresentados durante o decorrer da disciplina e sempre deixando ganchos daquilo que será ministrado na disciplina de Algoritmos Avançados, mostrando ao aluno que a disciplina de Estrutura de dados não é uma disciplina isolada, mas faz parte de um processo de construção do saber. Além disso, é importante que exista domínio por parte do docente na análise da complexidade de algoritmos para que o mesmo possa passar aos seus alunos da maneira mais simplespossível quando escolher uma ou outra estrutura de dados de forma fundamentada, como aconteceria no mundo profissional em um setor de Desenvolvimento de Software dentro de uma empresa 5 Ementa ESTRUTURAS DE DADOS HETEROGÊNEAS; MODULARIZAÇÃO; LISTAS, PILHAS E FILAS; ORDENAÇÃO; ÁRVORES 6 Objetivos Aplicar o uso de agregados heterogêneos e alocação dinâmica, baseandose em conceitos de gerenciamento de memória, para propiciar melhor organização do código e permitindo maior manutenabilidade. Aplicar a passagem por referência de parâmetros, através de apontadores de endereços das informações, com o objetivo de manipular dados de forma mais precisa e diversificada. Construir códigos modularizados, utilizando fundamentos de tipos abstratos de dados, para desenvolver programas que encapsulem informações, simplifiquem métodos já criados e melhorem a legibilidade e manutenção. Diferenciar os tipos de problemas, em função dos requisitos e da solução a ser apresentada, para definir qual a melhor estrutura de dados a ser utilizada. Executar algoritmos de busca e ordenação, desenvolvidos a partir de modelos e exemplos propostos, a fim de criar códigos capazes de pesquisar e ordenar dados através de métricas estabelecidas. 7 Procedimentos de ensinoaprendizagem Aulas interativas em ambiente virtual de aprendizagem, didaticamente planejadas para o desenvolvimento de competências, tornando o processo de aprendizado mais significativo para os alunos. Na sala de aula virtual, a metodologia de ensino contempla diversas estratégias capazes de alcançar os objetivos da disciplina. Os temas das aulas são discutidos e apresentados em diversos formatos como leitura de textos, vídeos, hipertextos, links orientados para pesquisa, estudos de caso, podcasts, atividades animadas de aplicação do conhecimento, simuladores virtuais, quiz interativo, simulados, biblioteca virtual e Explore + para que o aluno possa explorar conteúdos complementares e aprofundar seu conhecimento sobre as temáticas propostas. 8 Temas de aprendizagem 1. ESTRUTURAS DE DADOS HETEROGÊNEAS 1.1 PONTEIROS COM A UTILIZAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO C 1.2 ESTRUTURA DE DADOS HETEROGÊNEA 1.3 STRUCTS COM A UTILIZAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO C 1.4 ESTRUTURAS DE DADOS ANINHADAS, OS VETORES DE ESTRUTURAS E A INSTRUÇÃO TYPEDEF USANDO A LINGUAGEM DE PROGRAMAÇÃO C 2. MODULARIZAÇÃO 2.1 CONCEITOS GERAIS DE PROCEDIMENTOS E FUNÇÕES 2.2 TIPOS DE FUNÇÕES PREDEFINIDAS NA LINGUAGEM C 2.3 PASSAGEM DE PARÂMETROS POR VALOR E POR REFERÊNCIA 2.4 ESCOPO DAS VARIÁVEIS LOCAIS E GLOBAIS 3. LISTAS, PILHAS E FILAS 3.1 OS PRINCIPAIS CONCEITOS ENVOLVIDOS NA MANIPULAÇÃO DE DADOS NA MEMÓRIA 3.2 A FORMA DE MANIPULAÇÃO POR ENCADEAMENTO 3.3 IDENTIFICAR OS ALGORITMOS DAS PRINCIPAIS OPERAÇÕES, BASEADOS NA LINGUAGEM C 3.4 RECONHECER OS ALGORITMOS DAS PRINCIPAIS OPERAÇÕES, BASEADOS NA LINGUAGEM C 4. ORDENAÇÃO 4.1 CONCEITOS FUNDAMENTAIS DE ORDENAÇÃO PARA APLICAÇÃO DE MÉTRICAS DE CLASSIFICAÇÃO E ESCOLHA ADEQUADA DO MÉTODO NA RESOLUÇÃO DE PROBLEMAS 4.2 ALGORITMOS DE ORDENAÇÃO DA BOLHA, INSERÇÃO E SELEÇÃO PARA DESENVOLVIMENTO DE SOLUÇÃO RÁPIDA E EFICIENTE PARA IMPLEMENTAÇÃO EM LINGUAGEM C 5. ÁRVORES 5.1 PRINCIPAIS CONCEITOS, AS PROPRIEDADES BÁSICAS E OS TERMOS RELATIVOS À ÁRVORE 5.2 ÁRVORES BINÁRIAS, SUAS PARTICULARIDADES E APLICAÇÕES 5.3 PRINCIPAIS ÁRVORES DE PESQUISA, SUAS PARTICULARIDADES E APLICAÇÕES 9 Procedimentos de avaliação Nesta disciplina, o aluno será avaliado pelo seu desempenho nas avaliações (AV ou AVS), sendo a cada uma delas atribuído o grau de 0,0 (zero) a 10,0 (dez). O discente conta ainda com uma atividade sob a forma de simulado, que busca aprofundar seus conhecimentos acerca dos conteúdos apreendidos, realizada online, na qual é atribuído grau de 0,0 (zero) a 2,0 (dois). Esta nota poderá ser somada à nota de AV e/ou AVS, caso o aluno obtenha nestas avaliações nota mínima igual ou maior do que 4,0 (quatro). Os instrumentos para avaliação da aprendizagem constituemse em diferentes níveis de complexidade e cognição, efetuandose a partir de questões que compõem o banco da disciplina. O aluno realiza uma prova (AV), com todo o conteúdo estudado e discutido nos diversos materiais que compõem a disciplina. Será considerado aprovado o aluno que obtiver nota igual ou superior a 6,0 (seis). Caso o aluno não alcance o grau 6,0 na AV, ele poderá fazer uma nova avaliação (AVS), que abrangerá todo o conteúdo e cuja nota mínima necessária deverá ser 6,0 (seis). As avaliações serão realizadas de acordo com o calendário acadêmico institucional. 10 Bibliografia básica ASCENCIO; F.G.A.; ARAUJO, S.G. Estruturas de Dados: Algoritmos, Análise da Complexidade e Implementacões em JAVA e C/C++. São Paulo: Pearson Prentice Hall; 2010 Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/1995 BALIEIRO, Ricardo. Estrutura de dados [BV:RE]. 1ª Ed. Rio de Janeiro: .: SESES, 2015 Disponível em: http://api.repositorio.savaestacio.com.br/api/objetos/efetuaDownload/2d35a184bf64 44199da9d1ed12a97017 KOFFMAN, Elliot B., WOLFGANG, Paul A.T. Objetos, Abstração, Estrutura de dados e Projeto usando C++, 1. ed. Rio de Janeiro: LTC; 2008 Disponível em: https://integrada.minhabiblioteca.com.br/books/9788521627807 11 Bibliografia complementar DEITEL, H. M; DEITEL, P. J. C++ Como programar. São Paulo: Prentice Hall, 2006. Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/338 GOODRICH, M.T.; TAMASSIA, R. Estruturas de Dados & Algoritmos em Java. Porto Alegre: Bookman (Grupo A); 2013 Disponível em: https://integrada.minhabiblioteca.com.br/books/9788582600191 PUGA, S; RISSETI, G. Lógica de Programação e Estrutura de Dados, com Aplicacão em JAVA. São Paulo:: Pearson, 2016 Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/41600 VETORAZZO, Adriano S, et al. Estrutura de Dados. Porto Alegre: SAGAH, 2018 Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788595023932/cfi/0!/4/2@100:0.00 Plano de Ensino 1 Código e nome da disciplina DGT0298 ESTRUTURA DE DADOS EM C 2 Carga horária semestral 3 Carga horária semanal 4 Perfil docente O docente responsável pela disciplina deve ser Graduado em Ciência da Computação, Sistemas de Informação, Engenharia de Computação ou Licenciatura em Computação e preferencialmente com pósgraduação stricto sensu. É desejado que o docente tenha Desejável: Pós Graduação Stricto Sensu (Mestrado ou Doutorado) na área de computação, além de experiência de três anos em docência de nível superior na disciplina e experiência profissional de 5 anos no mercado de trabalho em Desenvolvimento de Software/Sistemas. É mandatório que o docente mantenha seu Currículo LATTES atualizado. Além da titulação mínima necessária é importante que o docente tenha também a habilidade de articular os conteúdos vistos na disciplina de Introdução a Programação com os conteúdos que serão apresentados durante o decorrer da disciplina e sempre deixando ganchos daquilo que será ministrado na disciplina de Algoritmos Avançados, mostrando ao aluno que a disciplina de Estrutura de dados não é uma disciplina isolada, mas faz parte de um processo de construção do saber. Além disso, é importante que exista domínio por parte do docente na análise da complexidade de algoritmos para que o mesmo possa passar aos seus alunos da maneira mais simples possível quando escolher uma ou outra estrutura de dados de forma fundamentada, como aconteceria no mundo profissional em um setor de Desenvolvimento de Software dentro de uma empresa 5 Ementa ESTRUTURAS DE DADOS HETEROGÊNEAS; MODULARIZAÇÃO; LISTAS, PILHAS E FILAS; ORDENAÇÃO; ÁRVORES 6 Objetivos Aplicar o uso de agregados heterogêneos e alocação dinâmica, baseandose em conceitos de gerenciamento de memória, para propiciar melhor organização do código e permitindo maior manutenabilidade. Aplicar a passagem por referência de parâmetros, através de apontadores de endereços das informações, com o objetivo de manipular dados de forma mais precisa e diversificada. Construircódigos modularizados, utilizando fundamentos de tipos abstratos de dados, para desenvolver programas que encapsulem informações, simplifiquem métodos já criados e melhorem a legibilidade e manutenção. Diferenciar os tipos de problemas, em função dos requisitos e da solução a ser apresentada, para definir qual a melhor estrutura de dados a ser utilizada. Executar algoritmos de busca e ordenação, desenvolvidos a partir de modelos e exemplos propostos, a fim de criar códigos capazes de pesquisar e ordenar dados através de métricas estabelecidas. 7 Procedimentos de ensinoaprendizagem Aulas interativas em ambiente virtual de aprendizagem, didaticamente planejadas para o desenvolvimento de competências, tornando o processo de aprendizado mais significativo para os alunos. Na sala de aula virtual, a metodologia de ensino contempla diversas estratégias capazes de alcançar os objetivos da disciplina. Os temas das aulas são discutidos e apresentados em diversos formatos como leitura de textos, vídeos, hipertextos, links orientados para pesquisa, estudos de caso, podcasts, atividades animadas de aplicação do conhecimento, simuladores virtuais, quiz interativo, simulados, biblioteca virtual e Explore + para que o aluno possa explorar conteúdos complementares e aprofundar seu conhecimento sobre as temáticas propostas. 8 Temas de aprendizagem 1. ESTRUTURAS DE DADOS HETEROGÊNEAS 1.1 PONTEIROS COM A UTILIZAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO C 1.2 ESTRUTURA DE DADOS HETEROGÊNEA 1.3 STRUCTS COM A UTILIZAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO C 1.4 ESTRUTURAS DE DADOS ANINHADAS, OS VETORES DE ESTRUTURAS E A INSTRUÇÃO TYPEDEF USANDO A LINGUAGEM DE PROGRAMAÇÃO C 2. MODULARIZAÇÃO 2.1 CONCEITOS GERAIS DE PROCEDIMENTOS E FUNÇÕES 2.2 TIPOS DE FUNÇÕES PREDEFINIDAS NA LINGUAGEM C 2.3 PASSAGEM DE PARÂMETROS POR VALOR E POR REFERÊNCIA 2.4 ESCOPO DAS VARIÁVEIS LOCAIS E GLOBAIS 3. LISTAS, PILHAS E FILAS 3.1 OS PRINCIPAIS CONCEITOS ENVOLVIDOS NA MANIPULAÇÃO DE DADOS NA MEMÓRIA 3.2 A FORMA DE MANIPULAÇÃO POR ENCADEAMENTO 3.3 IDENTIFICAR OS ALGORITMOS DAS PRINCIPAIS OPERAÇÕES, BASEADOS NA LINGUAGEM C 3.4 RECONHECER OS ALGORITMOS DAS PRINCIPAIS OPERAÇÕES, BASEADOS NA LINGUAGEM C 4. ORDENAÇÃO 4.1 CONCEITOS FUNDAMENTAIS DE ORDENAÇÃO PARA APLICAÇÃO DE MÉTRICAS DE CLASSIFICAÇÃO E ESCOLHA ADEQUADA DO MÉTODO NA RESOLUÇÃO DE PROBLEMAS 4.2 ALGORITMOS DE ORDENAÇÃO DA BOLHA, INSERÇÃO E SELEÇÃO PARA DESENVOLVIMENTO DE SOLUÇÃO RÁPIDA E EFICIENTE PARA IMPLEMENTAÇÃO EM LINGUAGEM C 5. ÁRVORES 5.1 PRINCIPAIS CONCEITOS, AS PROPRIEDADES BÁSICAS E OS TERMOS RELATIVOS À ÁRVORE 5.2 ÁRVORES BINÁRIAS, SUAS PARTICULARIDADES E APLICAÇÕES 5.3 PRINCIPAIS ÁRVORES DE PESQUISA, SUAS PARTICULARIDADES E APLICAÇÕES 9 Procedimentos de avaliação Nesta disciplina, o aluno será avaliado pelo seu desempenho nas avaliações (AV ou AVS), sendo a cada uma delas atribuído o grau de 0,0 (zero) a 10,0 (dez). O discente conta ainda com uma atividade sob a forma de simulado, que busca aprofundar seus conhecimentos acerca dos conteúdos apreendidos, realizada online, na qual é atribuído grau de 0,0 (zero) a 2,0 (dois). Esta nota poderá ser somada à nota de AV e/ou AVS, caso o aluno obtenha nestas avaliações nota mínima igual ou maior do que 4,0 (quatro). Os instrumentos para avaliação da aprendizagem constituemse em diferentes níveis de complexidade e cognição, efetuandose a partir de questões que compõem o banco da disciplina. O aluno realiza uma prova (AV), com todo o conteúdo estudado e discutido nos diversos materiais que compõem a disciplina. Será considerado aprovado o aluno que obtiver nota igual ou superior a 6,0 (seis). Caso o aluno não alcance o grau 6,0 na AV, ele poderá fazer uma nova avaliação (AVS), que abrangerá todo o conteúdo e cuja nota mínima necessária deverá ser 6,0 (seis). As avaliações serão realizadas de acordo com o calendário acadêmico institucional. 10 Bibliografia básica ASCENCIO; F.G.A.; ARAUJO, S.G. Estruturas de Dados: Algoritmos, Análise da Complexidade e Implementacões em JAVA e C/C++. São Paulo: Pearson Prentice Hall; 2010 Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/1995 BALIEIRO, Ricardo. Estrutura de dados [BV:RE]. 1ª Ed. Rio de Janeiro: .: SESES, 2015 Disponível em: http://api.repositorio.savaestacio.com.br/api/objetos/efetuaDownload/2d35a184bf64 44199da9d1ed12a97017 KOFFMAN, Elliot B., WOLFGANG, Paul A.T. Objetos, Abstração, Estrutura de dados e Projeto usando C++, 1. ed. Rio de Janeiro: LTC; 2008 Disponível em: https://integrada.minhabiblioteca.com.br/books/9788521627807 11 Bibliografia complementar DEITEL, H. M; DEITEL, P. J. C++ Como programar. São Paulo: Prentice Hall, 2006. Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/338 GOODRICH, M.T.; TAMASSIA, R. Estruturas de Dados & Algoritmos em Java. Porto Alegre: Bookman (Grupo A); 2013 Disponível em: https://integrada.minhabiblioteca.com.br/books/9788582600191 PUGA, S; RISSETI, G. Lógica de Programação e Estrutura de Dados, com Aplicacão em JAVA. São Paulo:: Pearson, 2016 Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/41600 VETORAZZO, Adriano S, et al. Estrutura de Dados. Porto Alegre: SAGAH, 2018 Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788595023932/cfi/0!/4/2@100:0.00
Compartilhar