• Nenhum resultado encontrado

Algoritmos e Estrutura de Dados I 6

N/A
N/A
Protected

Academic year: 2023

Share "Algoritmos e Estrutura de Dados I 6"

Copied!
85
0
0

Texto

(1)

Álgebra Linear 3

Algoritmos Bioinspirados 5

Algoritmos e Estrutura de Dados I 6

Algoritmos e Estrutura de Dados II 8

Algoritmos e Estrutura de Dados II - Especial 10

Algoritmos e Estrutura de Dados III 12

Aprendizado de Máquina 14

Arquitetura e Organização de Computadores I 16

Arquitetura e Organização de Computadores II 18

Computação Gráfica 20

Conceitos de Linguagens de Programação 22

Cálculo Diferencial e Integral I 23

Cálculo Diferencial e Integral II 25

Cálculo Numérico Computacional 27

Engenharia de Software Experimental 29

Equações Diferenciais 33

ERE Laboratório de Introdução à Sistemas Lógicos Digitais 35 Estatística e Probabilidade Aplicada à Computação 37

Fundamentos de Eletricidade e Magnetismo 39

Fundamentos de Mecânica Clássica 41

Geometria Analítica 43

Grafos 45

Inteligência Artificial 47

Interação Humano-Computador 49

Introdução a Modelagem Computacional 51

Introdução a Sistemas Lógicos Digitais 53

Introdução à Ciência da Computação 55

Introdução à Engenharia de Software 57

Laboratório de Algoritmos e Estrutura de Dados I 58

Laboratório de Introdução à Sistemas Lógicos Digitais 60

(2)

Laboratório de Redes de Computadores 62

Lógica Aplicada à Computação 63

Matemática Discreta 65

Mineração de Dados Aplicada 67

Oficina de Criação de Software 69

Português Instrumental 70

Processos e Ambientes de Engenharia de Software 72

Programação Orientada a Objetos 73

Projeto Orientado em Computação I 75

Projeto Orientado em Computação II 76

Realidade Virtual 78

Redes de Computadores 80

Sistemas Operacionais 82

Teoria de Linguagens 84

(3)

COORDENADORIA DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

PLANO DE ENSINO

Disciplina: Álgebra Linear Período: 3 Currículo: 2014

Docente: Arnulfo Miguel Rodríguez Pena Unidade Acadêmica: DEMAT

Pré-requisito: não há Co-requisito: não há

Ementa

Matrizes, determinantes e sistemas lineares; Espaços Vetoriais: definição e exemplos; Subespaços Vetoriais; Operações: produto interno;

Ortogonalidade; Base e dimensão; Ortonormalização de bases: Processo de Gram–Schmidt; Transformações lineares: núcleo e imagem;

Teorema do Núcleo e da Imagem; Projeções; Autovalores; Autovetores; Diagonalização de matrizes.

Objetivos

Apresentar as ferramentas Básicas da álgebra linear para a computação. Criar condições para que o aluno desenvolva a capacidade de raciocinar com a abstração. Capacitar o aluno a operar com matrizes, resolver e discutir um sistema linear. Operar com espaços vetoriais de dimensão finita. Reconhecer e operar com transformações lineares e aplicá-las na resolução de problemas. Integrar a prática desses conhecimentos na Computação.

Conteúdo Programático 1. Matrizes, determinantes, sistemas lineares e aplicações.

2. Espaços e subespaços vetoriais, base e dimensão. Produto interno e ortogonalidade;

ortonormalização de bases e processo de Gram–Schmidt.

3. Transformações lineares, núcleo e imagem; teorema do núcleo e da imagem. Autovalores e autovetores. Diagonalização de matrizes.

Metodologia de Ensino

As aulas vão ser tanto teóricas como praticas, teremos diversidade de exemplos e listas de exercícios para que o aluno assimile bem o conteúdo, também vamos ver a importância da Álgebra linear por meio das aplicações. Será dado um tempo para tirar as dúvidas dos alunos. A busca da diversas metodologias de ensino será sempre uma constante. Outras atividades, podem ser programadas, prévia consulta com os estudantes.

Critérios de Avaliação

As atividades avaliativas da disciplina serão formadas por 3 provas. As provas P1, P2 e P3 terão valor de 10 pontos cada uma. A nota final, MF, será a média: MF=(P1+P2+P3)/3.

Para o discente que não atingiu 6 pontos, haverá uma prova substitutiva no valor de 10 pontos, contemplando todo o conteúdo da disciplina, e cuja nota substituirá a menor nota entre as três provas anteriormente

aplicadas. Será aprovado o discente que obtiver pontuação maior ou igual a 6.

Bibliografia Básica

1. BOLDRINI, J. L. et al. Álgebra linear. 3ed . São Paulo: Harper & Row do Brasil, 1986.

2. CALLIOLI, Carlos A; DOMINGUES, Hygino H; COSTA, Roberto C. F. Álgebra linear e aplicações. 6.ed. São Paulo: Atual, 2009 3. STEINBRUCH, Alfredo; WINTERLE, Paulo. Álgebra linear. São Paulo: Pearson Makron Books, 2009.

Bibliografia Complementar

1. CAROLI, Alésio de; CALLIOLI, Carlos A; FEITOSA, Miguel O. Matrizes, vetores, geometria analítica: teoria e exercícios. São Paulo: Nobel, 2006.

2. CARVALHO, J. P. Introdução a álgebra linear. Rio de Janeiro: Ao Livro Técnico, 1972.

3. IEZZI, Gelson. Fundamentos de matemática elementar 7: geometria analítica. 5.ed. São Paulo: Atual, 2005. v.7.

4. KOLMAN, Bernard; HILL, David R. Introdução à álgebra linear: com aplicações. 8.ed. Rio de Janeiro: LTC, 2006 5. LIPSCHUTZ, S. "Álgebra Linear", Rio de Janeiro: LTC, 1994.

Aprovado pelo Colegiado em

C.H. Total: 72ha/66h Teórica: 72ha/66h Prática: 0ha/0h Grau: Bacharelado Ano: 2022 Semestre: I

(4)

___________________________________________

Docente Responsável

____________________________________

Coordenador

(5)

COORDENADORIA DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

PLANO DE ENSINO

Disciplina:

Algoritmos bio-inpirados

Período: Variável Currículo: 2014

Docente: Carolina Ribeiro Xavier Unidade Acadêmica: DCOMP

Pré-requisito: Algoritmos e Estrutura de Dados III Co-requisito: não há

C.H. Total: 72ha/66h Teórica: 36ha Prática: 36ha Grau: Bacharelado Ano: 2022 Semestre: 1

Ementa

Conceituação da otimização; Otimização clássica; Algoritmos genéticos - Inspiração biológica; Algoritmos imunológicos; Enxame de partículas (PSO);

Algoritmo Cardume de peixes; Algoritmo enxame de abelhas; Colônia de Formigas; Evolução diferencial.

Objetivos

Introduzir técnicas de otimização clássica e estudar diversas técnicas de computação bio-inspirada com foco nos algoritmos e aplicação em solução de problemas de diversos tipos distintos.

Conteúdo Programático 1.

Conceituação da otimização - Objetivos da otimização de funções; Função custo.

2.

Otimização clássica

3.

Algoritmos genéticos - Inspiração biológica; Função custo e fitness; operadores genéticos – crossover, mutação e seleção; esquemas;

4.

Enxame de partículas (PSO) - Inspiração biológica; função de avaliação; velocidade, termo cognitivo e social; interação entre partículas.

5.

Algoritmo enxame de abelhas - Inspiração biológica; Conceitos básicos: abelhas operárias, abelhas não operárias(seguidoras ou exploradoras) e fontes de alimento;

6.

Colônia de Formigas - Inspiração biológica; Caminhos em grafos; Formação e evaporação da trilha de feromônio.

7.

Algoritmos imunológicos - Inspiração biológica; operadores: clonagem, mutação e seleção;

8.

Evolução diferencial - Inspiração biológica; Mutação vetorial; Combinação; Trial vectors e target vectors;

Metodologia de Ensino

Critérios de Avaliação

Bibliografia Básica

1. David E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley, ISBN: 0201157675,1989.

2. Zbigniew Michalewicz. Genetic Algorithms + Data Structures = Evolution Programs, Springer Verlag, ISBN: 3540606769,1996.

3. How to solve it: Modern heuristics, Z.Michalewicz; David Fogel, Springer, 2004.

Bibliografia Complementar

1. David E. Goldberg. The Design of Innovation. Kluwer Academic Publishers, ISBN: 1402070985, 2002.

2. David A. Coley. An Introduction to Genetic Algorithms for Scientists and Engineers. World Scientific Pub Co, ISBN:

3. 9810236026, 1999.

4. Melanie Michell. An Introduction to Genetic Algorithms (Complex Adaptive Systems). MIT Press, ISBN: 0262631857, 1998.

5. Erick Cantu-Paz. Efficient and Accurate Parallel Genetic Algorithms. Kluwer Academic Publishers, ISBN: 0792372212, 2000.

6. Henrique Pacca L. Luna, Marco Goldbarg, Elizabeth Goldbarg. Otimização Combinatória E Meta-heurísticas. Elsevier. ISBN 8535278125.

___________________________________________

Docente Responsável

Aprovado pelo Colegiado em

____________________________________

Coordenador

A disciplina terá aulas expositivas teóricas intercaladas com aulas práticas em laboratório para implementação do métodos vistos em aula . Pretende-se guiar a disciplina orientada à resolução de problemas que devem ser propostos pelos alunos após levantamento na literatura.

3 provas de pesos iguais: 70% da nota global.

Entregas de trabalhos individuais e em grupo englobando pequenas implementações de algoritmos, apresentação de seminários e elaboração de revisões bibliográficas: 30% da nota global.

1 prova substitutiva sobre todo o conteúdo da disciplina. A nota da substitutiva substituirá a menor nota entre as três notas das provas teóricas.

(6)

COORDENADORIA DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

PLANO DE ENSINO

Disciplina: Algoritmos e Estrutura de Dados I Período: 1 Currículo: 2014

Docente: Sofia Larissa da Costa Paiva Unidade Acadêmica: DCOMP

Pré-requisito: não há Co-requisito: não há

C.H. Total: 72ha/66h Teórica: 72ha/66h Prática: 0ha/0h Grau: Bacharelado Ano: 2022 Semestre: 1

Ementa

Máquina virtual simples. Noções de algoritmos, programas e linguagens de programação de alto nível. Paradigmas de programação.

Sistemas de tipos. Estruturas de controle. Expressões e comandos. Tipos abstratos de dados. Noções de classes e objetos. Introdução à modularização, documentação e testes de programas.

Objetivos

Proporcionar ao aluno o desenvolvimento de sua capacidade de abstração e resolução de problemas, fazendo uso de algoritmos e estruturas de dados. Introduzir uma linguagem de programação de alto nível e exercitar a construção, o teste e a documentação de programas.

Conteúdo Programático 1. Introdução à Programação

2. Conceitos e paradigmas

3. Funcionamento de um programa imperativo: execução das instruções 4. Itens fundamentais de programação

5. Dados: constantes literais, variáveis, constantes nomeadas 6. Tipos de dados primitivos

7. Comentários

8. Comandos de entrada e saída

9. Expressões: aritméticas, relacionais, lógicas, literais e de atribuição 10. Estruturas de Controle

Estruturas condicionais Estruturas de iteração (laços) 11. Estruturas de dados

Estruturas homogêneas: vetores e matrizes Strings

Estruturas hererogêneas: registros e uniões Enumerados

12. Modularização 13. Subprogramas 14. Módulos

Vinculação de armazenamento Variáveis estáticas

Variáveis dinâmicas da heap: ponteiros e referências Arquivos

Conceitos: arquivos de texto e binários

Leitura e escrita de arquivos binários e de texto Metodologia de Ensino

O curso será desenvolvido por meio de aulas expositivas e realização de exercícios teóricos e práticos.

Também será utilizado o Portal Didático da UFSJ como ambiente de referência para comunicação entre alunos e professor. O horário para atendimento aos alunos será nas segundas e sextas das 9h às 11h.

Critérios de Avaliação

(7)

A avaliação do aprendizado será realizada por meio de 3 provas teóricas, totalizando 70% da nota, além de dois trabalhos de implementação prática correspondendo aos 30% restantes. A nota final será calculada da seguinte forma:

NotaFinal = media(Prova1 + Prova2 + Prova3)*0.7 + media(Trabalho1+Trabalho2)*0.3

O aluno que tiver a NotaFinal menor que 6.0 e não tiver sido reprovado por falta terá direito a fazer uma prova cuja nota irá substituir a menor nota entre as provas. O assunto dessa prova substitutiva deve corresponder à todo o conteúdo da disciplina.

Bibliografia Básica

1. D. E. KNUTH. The Art of Computer Programming, Volume 1: Fundamental Algorithms, Addison-Wesley, 1997.

2. N. ZIVIANI, Projeto de Algoritmos com Implementações em Pascal e C, 3a edição Editora Cengage Learning, 2010.

3. FARRER, Harry et al. Programacao estruturada de computadores: algoritmos estruturados. 3.ed. Rio de Janeiro: LTC, 2009.

Bibliografia Complementar

1. ZIVIANI, Nivio. Projeto de algoritmos: com implementações em Java e C++. São Paulo: Editora Cengage Learning, 2007.

2. L. V. FORBELLONE, H. F. EBERSPACHER, Lógica de Programação: a Construção de Algoritmos e Estruturas de Dados , Makron Books, 2005.

3. J. A. G. MANZANO, Algoritmos: lógica para desenvolvimento de programação de computadores, Érica, 2004.

4. FARRER, Harry; et al. Pascal estruturado. (Programação estruturada de computadores). LTC. Rio de Janeiro. 3.ed. 2009.

5. P. VELOSO, C. SANTOS, O, AZEREDO, A. Furtado, Estruturas de Dados, Campus, 1983.

___________________________________________

Docente Responsável

Aprovado pelo Colegiado em

____________________________________

Coordenador

(8)

COORDENADORIA DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

PLANO DE ENSINO

Disciplina: Algoritmos e Estrutura de Dados II Período: 2 Currículo: 2014

Docente: Rafael Sachetto Oliveira Unidade Acadêmica: DCOMP

Pré-requisito: Algoritmos e Estrutura de Dados I Co-requisito: não há

C.H. Total: 72ha/66h Teórica: 54ha/49,5h Prática: 18ha/16,5h Grau: Bacharelado Ano: 2022 Semestre: 1

Ementa

Tipos abstratos de dados. Introdução à análise de complexidade de algoritmos: notações O, ômega e teta. Estruturas de dados estáticas e dinâmicas e memória principal. Algoritmos de pesquisa e ordenação em memória principal. Ordenação externa; Pesquisa em memória secundária: memória virtual, indexado sequencial e árvore B.

Objetivos

Capacitar o aluno a dominar as principais técnicas utilizadas na implementação de estruturas de dados básicas, algoritmos de ordenação e pesquisa em memória principal e memória externa, bem como efetuar análises simples da complexidade de algoritmos. Proporcionar a continuidade do desenvolvimento das habilidades de construir, testar e documentar programas.

Conteúdo Programático



Tipos Abstratos de Dados



Introdução à Análise de Complexidade de Algoritmos



Medida do tempo de execução de um programa



Comportamento Assintótico de Funções



Classes de Comportamento Assintótico



Estruturas de Dados



Listas Lineares



Pilhas



Filas



Algoritmos de Ordenação em memória principal



Ordenação por seleção



Ordenação por Inserção



Shellsort



Quicksort



Mergesort



Heapsort



Ordenação em Memória Secundária



Estruturas de Dados / Algoritmos de Pesquisa em memória principal



Pesquisa Sequencial



Árvores Binárias de Pesquisa sem Balanceamento



Árvores Binárias de Pesquisa com Balanceamento



Árvores Digitais



Transformação de Chave (Hashing)



Pesquisa em Memória Secundária



Memória Virtual



Paginação



Acesso Sequencial Indexado



Árvores de Pesquisa (B, B*)



Metodologia de Ensino

O curso será desenvolvido através de aulas expositivas, utilizando quadro negro e projetor multimídia. Além disso, serão apresentados exemplos práticos de cada assunto em sala de aula.

(9)

Critérios de Avaliação

A avaliação do aprendizado será realizada através de três provas com valor de 20%, três trabalhos, com valores de 10%, 15% e 15%

respectivamente. Será aplicada uma prova substitutiva, para os alunos que não obtiveram média nas avaliações regulares, que substituirá a menor nota entre as provas teóricas.

Bibliografia Básica

1. N. ZIVIANI, Projeto de Algoritmos com Implementações em Pascal e C, Editora Thomson, 2004.

2. T. H. CORMEN, C. E. LEISERSON, R. L. RIVEST, C. STEIN, Algoritmos, Teoria e Prática, Campus, 2002.

3. D. E. KNUTH, The Art of Computer Programming, Volume 3: Searching and Sorting, Addison-Wesley, 1997.

Bibliografia Complementar

1.

ZIVIANI, Nivio. Projeto de algoritmos: com implementações em Java e C++. São Paulo: Thomson, 2007.

2. D. E. KNUTH, The Art of Computer Programming, Volume 1: Fundamental Algorithms, Addison-Wesley, 1997.

3. N. WIRTH, Algoritmos e Estruturas de Dados, LTC, 1989.

4. J. L. SZWARCFITER, L. MARKENZON, Estruturas de Dados e Seus Algoritmos, LTC, 2002.

5. VELOSO, C. Santos, O, Azeredo, A. Furtado, Estruturas de Dados, Campus, 1983.

___________________________________________

Docente Responsável

Aprovado pelo Colegiado em

____________________________________

Coordenador

(10)

COORDENADORIA DO CURSO DE CIÊNCIA DA COMPUTAÇÃO PLANO DE ENSINO

Disciplina:Algoritmos e Estrutura de Dados II Período:2 Currículo:2014

Docentes:Daniel Madeira Unidade Acadêmica:DCOMP

Pré-requisito:

Algoritmos e Estrutura de Dados I

Co-requisito:não há

C.H. Total:72ha/66h Teórica:54ha/49,5h Prática:18ha/16,5h Grau:Bacharelado Ano:2022 Semestre:1

Ementa

Tipos abstratos de dados. Introdução à análise de complexidade de algoritmos: notações O, ômega e teta. Estruturas de dados estáticas e dinâmicas e memória principal. Algoritmos de pesquisa e ordenação em memória principal. Ordenação externa; Pesquisa em memória secundária: memória virtual, indexado sequencial e árvore B.

Objetivos

Capacitar o aluno a dominar as principais técnicas utilizadas na implementação de estruturas de dados básicas, algoritmos de ordenação e pesquisa em memória principal e memória externa, bem como efetuar análises simples da complexidade de algoritmos. Proporcionar a continuidade do desenvolvimento das habilidades de construir, testar e documentar programas.

Conteúdo Programático

1. Tipos Abstratos de Dados

2. Introdução à Análise de Complexidade de Algoritmos 2.1. Medida do tempo de execução de um programa 2.2. Comportamento Assintótico de Funções 2.3. Classes de Comportamento Assintótico 3. Estruturas de Dados

3.1. Listas Lineares 3.2. Pilhas 3.3. Filas

4. Algoritmos de Ordenação em memória principal 4.1. Ordenação por seleção

4.2. Ordenação por Inserção 4.3. Shellsort

4.4. Quicksort 4.5. Mergesort 4.6. Heapsort

5. Ordenação em Memória Secundária

6. Estruturas de Dados / Algoritmos de Pesquisa em memória principal 6.1. Pesquisa Sequencial

6.2. Árvores Binárias de Pesquisa sem Balanceamento 6.3. Árvores Binárias de Pesquisa com Balanceamento 6.4. Árvores Digitais

6.5. Transformação de Chave (Hashing) 7. Pesquisa em Memória Secundária

7.1. Árvores de Pesquisa (B, B*)

Metodologia de Ensino

Exposição oral, com auxílio de datashow, quadro e estudos dirigidos.

Será necessário um compilador da linguagem C compatível com gcc para a realização dos trabalhos práticos.

Atendimento aos alunos às quartas, das 13h às 16h, mediante agendamento prévio.

Critérios de Avaliação

(11)

3 provas teóricas - 25% da nota cada

Trabalho prático de implementação - 25% da nota

Uma avaliação substitutiva sobre todo conteúdo da disciplina será ofertada com as seguintes regras:

• Substitui a menor nota

• Caso a menor nota seja das provas teóricas, será uma avaliação teórica.

• Caso a menor nota seja do trabalho, será uma avaliação prática.

• Só poderá ser feita por quem não possuir média para ser aprovado na disciplina e for frequente

• A nota final do aluno que fizer a substitutiva está limitada a 6 pontos

• Somente quem puder ser aprovado substituindo a menor nota poderá fazer a prova

Bibliografia Básica

1) N. ZIVIANI, Projeto de Algoritmos com Implementações em Pascal e C, Editora Thomson, 2004.

2) T. H. CORMEN, C. E. LEISERSON, R. L. RIVEST, C. STEIN, Algoritmos, Teoria e Prática, Campus, 2002.

3) D. E. KNUTH, The Art of Computer Programming, Volume 3: Searching and Sorting, AddisonWesley, 1997.

Bibliografia Complementar

1) ZIVIANI, Nivio. Projeto de algoritmos: com implementações em Java e C++. São Paulo: Thomson, 2007.

2) D. E. KNUTH, The Art of Computer Programming, Volume 1: Fundamental Algorithms, AddisonWesley, 1997.

3) N. WIRTH, Algoritmos e Estruturas de Dados, LTC, 1989.

4) J. L. SZWARCFITER, L. MARKENZON, Estruturas de Dados e Seus Algoritmos, LTC, 2002.

5) VELOSO, C. Santos, O, Azeredo, A. Furtado, Estruturas de Dados, Campus, 1983.

___________________________________________

Docente Responsável

Aprovado pelo Colegiado em

____________________________________

Coordenador

(12)

COORDENADORIA DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

PLANO DE ENSINO

Disciplina: Algoritmos e Estrutura de Dados III Período: 3 Currículo: 2014

Docente: Unidade Acadêmica: DCOMP

Pré-requisito: Algoritmos e Estrutura de Dados II Co-requisito: não há

C.H. Total: 72ha/66h Teórica: 54ha/49,5h Prática: 18ha/16,5h Grau: Bacharelado Ano: Semestre:

Ementa

Análise de Algoritmos, Paradigmas de Projetos de Algoritmos, Teoria da Complexidade de Algoritmos, Algoritmos em Grafos, Processamento de Cadeia de Caracteres, Algoritmos Paralelos e Introdução a Algoritmos de Criptografia.

Objetivos

Ao final dessa disciplina o aluno deverá ser capaz de analisar e projetar algoritmos e saber o que pode e o que não pode ser resolvido eficientemente pelo computador, por meio do estudo de fundamentos da teoria de complexidade de algoritmos. Ele deverá conhecer os algoritmos fundamentais de processamento de caracteres, compactação e grafos mostrando sua aplicabilidade em problemas reais. Ele deverá ainda conhecer computação paralela e os algoritmos paralelos mais simples.

Conteúdo Programático

1. Análise de Algoritmos:

1. Medida de tempo de execução de um programa.

2. Técnicas de análise.

2.

Paradigmas de Projetos de Algoritmos:

1. Indução.

2. Recursividade.

3. Algoritmos Tentativa e Erro.

4. Divisão e conquista.

5. Balanceamento.

6. Programação dinâmica.

7. Algoritmos gulosos.

3.

Teoria da Complexidade de Algoritmos:

1. Classes NP e NP-completo.

2. Algoritmos não-determinísticos.

3. Teorema de Cook.

4. Reduções.

5.

Heurísticas e Algoritmos aproximados.

4.

Algoritmos em Grafos:

1. Terminologia e conceitos básicos.

2. Representação.

3. Busca em profundidade e largura.

4. Ordenação topológica.

5. Componentes fortemente conectados.

6. Árvore geradora mínima.

7.

Caminho mínimo.

5.

Processamento de Cadeias de Caracteres:

1. Casamento de Cadeias (Exato e Aproximado) 2. Compressão.

3.

Pequisa em Texto Comprimido

6.

Algoritmos Paralelos:

1. Classificação das arquiteturas paralelas.

2. Algoritmos PRAM.

3. Formas de organizar processadores.

4.

Projeto de algoritmos paralelos.

7.

Introdução a algoritmos de criptografia.

(13)

Metodologia de Ensino

O curso será desenvolvido através de aulas expositivas. Além disso, haverão trabalhos práticos, com a utilização de uma linguagem de programação.

Todo material de aula será disponibilizado para o aluno por meio da plataforma CampusVirtual da UFSJ. As entregas das listas e relatórios previstos também se darão por meio do CampusVirtual da UFSJ.

Com relação ao horário de atendimento, o mesmo se dará nas sextas-feiras, de 13:00 às 16:00, mediante agendamento pelo e-mail [email protected] com 24 horas de antecedência.

Critérios de Avaliação

A avaliação do aprendizado será realizada através de duas provas com valor 25% cada, totalizando 50%. Além disso, será aplicada uma prova substitutiva no valor de 25%. Terá direito à realização dessa prova os alunos que obtiverem nota inferior a 60% da nota de todo semestre. A referida prova versará sobre todo conteúdo. Os 50% restantes serão distribuídos por meio de trabalhos práticos (45%) e resenhas (5%).

Bibliografia Básica

1. N. ZIVIANI, Projeto de Algoritmos com Implementações em Pascal e C, 3a edição Editora Cengage Learning, 2010 2. T. H. CORMEN, C. E. LEISERSON, R. L. RIVEST, C. STEIN, Algoritmos, Teoria e Prática, Campus, 2002.

3. D. E. KNUTH. The Art of Computer Programming, Volume 1: Fundamental Algorithms, Addison-Wesley, 1997.

Bibliografia Complementar

1. ZIVIANI, Nivio. Projeto de algoritmos: com implementações em Java e C++. São Paulo: Editora Cengage Learning, 2007.

2. M. A. WEISS, Algorithms, Data Structures, and Problem Solving with C++, Addison-Wesley, 1996.

3. VELOSO, C. Santos, O, Azeredo, A. Furtado, Estruturas de Dados, Campus, 1983.

4. G. BRASSARD, P. BRATLEY, Fundamentals of Algorithmics, Prentice Hall, 1995.

5. CORMEN, Thomas H.; et al. Introduction to algorithms. 3.ed. Cambridge: The MIT Press, 2009

___________________________________________

Leonardo Chaves Dutra da Rocha

Aprovado pelo Colegiado em

____________________________________

Coordenador

(14)

COORDENADORIA DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

PLANO DE ENSINO

Disciplina: Aprendizado de Máquina Período: Variável Currículo: 2014

Docente: Edimilson Batista dos Santos Unidade Acadêmica: DCOMP

Pré-requisito: Algoritmos e estruturas de dados III (AEDSIII) Co-requisito: não há

C.H. Total: 72ha/66h Teórica: 72ha/66h Prática: 0ha/0h Grau: Bacharelado Ano: 2022 Semestre: 1

Ementa

Sistemas de aprendizado: dados de treinamento, representação de conceitos, aproximação de funções; Aprendizado de conceitos como busca no espaço de hipóteses; Aprendizado supervisionado e não supervisionado; Métodos de aprendizado: aprendizado baseado em instâncias, árvores de decisão, redes neurais, redes bayesianas, algoritmos genéticos; Aprendizado por reforço; Aprendizado de máquina e a mineração de dados: fases da mineração de dados; aplicação de aprendizado de máquina na mineração de dados.

Objetivos

Apresentar conceitos e definições de Aprendizado de Máquina e explorar as principais metodologias, técnicas e algoritmos da literatura

Conteúdo Programático

1. Introdução

O que é Aprendizado de Máquina (AM)?

Domínios de aplicações de AM 2. Aprendizado de Conceito

3. Aprendizado de Árvores de Decisão 4. Aprendizado Bayesiano

Visão Geral sobre Probabilidade Naive Bayes

Aprendizado de Redes Bayesianas Inferência em Redes Bayesianas Modelos Temporais

5. Regressão Linear 6. Redes Neurais Artificiais

Histórico das redes neurais Modelos básicos de RNs

Algoritmo de retropropagação (backpropagation) 7. Máquinas de Vetor de Suporte (SVM)

8. Aprendizado baseado em Instâncias Algoritmo KNN

10. Teoria do aprendizado computacional 11. Aprendizado não supervisionado

Agrupamentos hierárquicos e de partição Algoritmo K-means

12. Aprendizado por Reforço

13. Mineração de Dados e Aprendizado de Máquina

Metodologia de Ensino

- Exposição oral;

- Exposição de tema com auxílio de datashow e lousa;

- Ferramentas e tecnologias utilizadas: sistema operacional Windows/Linux, Software Weka (em java) ou biblioteca scikit-learn (em python)

- Atendimento aos alunos às segundas, das 09h às 11h, mediante agendamento.

Critérios de Avaliação

1 Avaliação Teórica: 20 pontos Exercícios Avaliativos 20 pontos

(15)

1º Trabalhos Prático: 25 pontos 2º Trabalhos Prático: 25 pontos Seminários: 10 pontos ______________

Total 100 pontos

Aplicação de 1 avaliação substitutiva: no fim do período letivo, será aplicada aos alunos com nota inferior a 60 pontos, uma avaliação substitutiva que versa sobre todo o conteúdo da disciplina. A nota obtida na avaliação substitutiva substituirá a nota obtida na avaliação teórica. A nota obtida na avaliação substitutiva não substituirá a nota original quando for inferior a esta.

Bibliografia Básica

1. Mitchell ,T. Machine Learning, McGraw Hill, 1997.

2. Bishop, M. Pattern Recognition and Machine Learning, Christopher. Berlin: Springer, 2006.

3. Hastie, T.; Tibshirani, R.; Friedman, J. The Elements of Statistical Learning. California: Springer, 2008.

Bibliografia Complementar

1. Russel, S., Norvig P. Inteligência Artificial, 2a edição. Elsevier. 2004.

2. Rich, Elaine. Inteligência artificial. São Paulo: McGraw-Hill, 1988.

3. Nicoletti, M. do Carmo. O modelo de aprendizado de máquina baseado em exemplares: principais características e Algoritmos.

EdUFSCar.

4. Han, J. and Kamber, M. Data Mining: Concepts and Techniques, 2nd Edition Morgan-Kaufmann, 2004.

5. Luger, G.F.; Stubblefield, W.A. Artificial Intelligence: Structures and Strategies for Complex Problem Solving. Addison Wesley Longman, Inc. (3rd edition), 1998.

___________________________________________

Docente Responsável

Aprovado pelo Colegiado em

____________________________________

Coordenador

(16)

COORDENADORIA DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

PLANO DE ENSINO

Disciplina: Arquitetura e Organização de Computadores I Período: 3 Currículo: 2014

Docente: Marcos Antônio de Matos Laia Unidade Acadêmica: DCOMP

Pré-requisito: Introdução à Sistemas Lógicos Digitais Co-requisito: não há

C.H. Total: 72ha/66h Teórica: 54ha/49,5h Prática: 18ha/16,5h Grau: Bacharelado Ano: 2021 Semestre: 1o

Ementa

Abstrações Computacionais. Linguagem de montagem (assembly). Arquiteturas de conjuntos de instruções. Modos de endereçamento.

Aritmética computacional (inteiro e ponto flutuante). Organização básica de computadores: caminho de dados e de controle do processador.

Objetivos

Apresentar os conceitos fundamentais e técnicas básicas de projeto de computadores, capacitando o aluno a compreender os diversos níveis da arquitetura de computadores. Compreender como as instruções são executadas no processador. Analisar o impacto da arquitetura de computadores no desenvolvimento e execução de programas.

Conteúdo Programático

1. Introdução aos sistemas computacionais 1. Objetivos da disciplina.

2. Computadores: arquitetura e organização.

3. Surgimento e evolução dos computadores.

4. Componentes de um sistema computacional.

2. Linguagens e abstrações:

1. Linguagens de alto nível, montagem e de máquina.

2. Arquitetura do conjunto de instruções.

3. Operações de um processador.

4. Tipos de operandos do hardware.

5. Organização da memória.

6. Instruções aritméticas e lógicas.

7. Instruções de desvio.

8. Instruções de acesso à memória.

9. Suporte a procedimentos.

10. Controle de execução 3. Linguagem de máquina:

1. Técnicas de representação de instruções.

2. Modos de endereçamento.

3. Formatos de instruções.

4. Compromissos entre desempenho, ocupação da memória e facilidade de programação.

4. Caminho de Dados no Processador 1. Construção do caminho de dados 2. Implementação do caminho de dados 3. Caminho de dados monociclo 4. RISC x CISC

5. Aritmética Computacional 1. Multiplicação e divisão 2.

Ponto flutuante

Metodologia de Ensino Uso de simuladores para testar os circuítos.

Uso de simuladores para testar implementações de assembly.

Uso dos ensinos construcionista e construtivista.

Uso do portal didático para disponibilizar atividades e material de aula.

Uso de quadro-negro, projetor e quadro branco.

Critérios de Avaliação

(17)

Duas avaliações no valor de 40 pontos.

Trabalhos e listas de exercícios no valor de 20 pontos.

Avaliação substitutiva no valor de 40 para alunos que tem o mínimo de frequência e não atingiu os 60 pontos ou para alunos que perderam uma das duas avaliações.

Bibliografia Básica

1. D. PATTERSON, J. Hennessy. Computer organization and design. 4th ed. Morgan Kaufmann. 2013.

2. W. STALLINGS. Arquitetura e Organização de Computadores. 8a ed. São Paulo: Prentice-Hall, 2010.

3. A. S. TANENBAUM. Organização Estruturada de Computadores. 5.ed. São Paulo: Pearson Prentice Hall, 2007.

Bibliografia Complementar

1. K. R. IRVINE. Assembly language of Intel-based computers. 5th ed. Upper Saddle River: Pearson Prentice, 2007.

2. J. HENNESSY, D. PATTERSON. Arquitetura de computadores: uma abordagem quantitativa. 4a ed. Rio de Janeiro: Campus, 2008.

3. M. MANO, C. KIME. Logic and computer design fundamentals. 4th ed. Upper Saddle River: Pearson Prentice-Hall, 2008.

4. M. MANO, M. D. CILETTI. Digital Design. 4th ed. Pearson Prentice-Hall, 2007.

5. L. NULL, J. LOBUR. Princípios básicos de arquitetura e organização de computadores. 2 ed. Bookman. 2010.

___________________________________________

Docente Responsável

Aprovado pelo Colegiado em

____________________________________

Coordenador

(18)

COORDENADORIA DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

PLANO DE ENSINO

Disciplina: Arquitetura e Organização de Computadores II Período: 4 Currículo: 2014

Docente: Charles Figueredo de Barros Unidade Acadêmica: DCOMP

Pré-requisito: Arquitetura e Organização de Computadores I Co-requisito: não há

C.H. Total: 72ha/66h Teórica: 54ha/49,5h Prática: 18ha/16,5h Grau: Bacharelado Ano: 2022 Semestre: 1

Ementa

Pipeline. Pipeline superescalar. Questões avançadas de paralelismo em nível de instruções. Avaliação de desempenho. Hierarquia de memória. Barramentos. Entrada / Saída. Multiprocessadores, multicomputadores e paralelismo em nível de thread.

Objetivos

Estudar conceitos avançados de organização e arquitetura de computadores sequenciais e paralelos de forma a capacitar o aluno no desenvolvimento de soluções que tirem proveitos do funcionamento do processador, hierarquia de memória e barramentos. Capacitar o aluno a avaliar e comparar diferentes arquiteturas e a diagnosticar problemas relacionados ao desempenho de sistemas computacionais.

Conteúdo Programático UNIDADE 1: Pipeline

 Visão geral

 Caminho de dados do pipeline

 Pipeline hazards

 Paralelismo e paralelismo avançado em nível de instrução

UNIDADE 2: Hierarquia de memórias

 Princípios básicos de cache

 Memória virtual

 Máquinas virtuais

 Paralelismo e hierarquias de memória

UNIDADE 3: Entrada e Saída

 Confiança, confiabilidade e disponibilidade

 Armazenamento em disco

 Armazenamento flash

 Interface dos dispositivos de E/S com processador, memória e sistema operacional

 Medidas de desempenho de E/S

UNIDADE 4: Processamento paralelo

 Multiprocessadores de memória compartilhada

 Clusters

 Multithreading

(19)

 Pipeline superescalar e multithreading simultâneo

 Unidades de Processamento Gráfico (GPUs)

Metodologia de Ensino Uso de recursos didáticos:

- quadro branco e marcadores - apresentações de slides Metodologia de ensino:

- aulas expositivas

- discussão de exemplos e aplicações práticas

Critérios de Avaliação

Duas provas escritas (25 + 25) + dois trabalhos (25 + 25) + Avaliação substitutiva (opcional) + Exame especial (opcional)

Bibliografia Básica

1. J. Hennessy, D. Patterson. Arquitetura de computadores: uma abordagem quantitativa. 5a ed.Rio de Janeiro: Campus, 2012.

2. W. Stallings. Arquitetura e Organização de Computadores. 8a ed. São Paulo: Pearson Prentice-Hall, 2010.

3.

D. Patterson, J. Hennessy. Organização e Projeto de Computadores: Interface Hardware/Software. 4.ed. Elsevier. 2013

Bibliografia Complementar

1.

M. M. Mano, M. D. Ciletti. Digital Design. 4th ed. Pearson Prentice-Hall, 2007.

2. R. M. KATZ, G. BORRIELLO. Contemporary logic design. 2nd ed. Upper Saddle River: Pearson: Prentice Hall, 2005.

3.

Michel Dubois; Murali Annavaram; Per Stenström. Parallel Computer Organization and Design. Cambridge University Press, 2012.

4. M. Mano, C. Kime. Logic and computer design fundamentals. 4th ed. Upper Saddle River: Pearson Prentice-Hall, 2008.

___________________________________________

Docente Responsável

Aprovado pelo Colegiado em

____________________________________

Coordenador

(20)

COORDENADORIA DO CURSO DE CIÊNCIA DA COMPUTAÇÃO PLANO DE ENSINO

Disciplina:Computação Gráfica Período:7 Currículo:2014

Docentes:Daniel Madeira Unidade Acadêmica:DCOMP

Pré-requisito:

Álgebra Linear

Algoritmos e Estrutura de Dados II Geometria Analítica

Co-requisito:não há

C.H. Total:72ha/66h Teórica:54ha/49,5h Prática:18ha/16,5h Grau:Bacharelado Ano:2022 Semestre:1

Ementa

Conceitos básicos. Sistemas de representação de cores. Noções sobre imagens digitais. Hardware gráfico. Rasterização. Transformações geométricas. Projeções e modelos de câmera. Representação de curvas e superfícies. Visibilidade. Iluminação e sombreamento. Câmeras

Objetivos

Fornecer conhecimento teórico e prático em computação gráfica clássica, observando seus aspectos computacionais e matemáticos, dando ao aluno conhecimento básico na área de Computação Gráfica e oferecendo base para estudos mais aprofundados na área.

Conteúdo Programático

1. Conceitos básicos

2. Dispositivos Gráficos 3. Cor e Imagens Digitais 4. Introdução ao OpenGL 5. Transformações geométricas 6. Projeções Geométricas 7. Curvas e Superfícies 8. Iluminação

9. Representação e Modelagem 10. Animação

Metodologia de Ensino

Exposição oral, com auxílio de datashow, quadro e estudos dirigidos.

A biblioteca OpenGL e o motor Unity serão utilizados durante a disciplina.

Atendimento aos alunos às quartas, das 13h às 16h, mediante agendamento prévio.

Critérios de Avaliação

Duas provas teóricas - 35 pontos cada

Trabalho sobre OpenGL - 10 pontos Trabalho final em Unity - 20 pontos

Uma avaliação teórica substitutiva sobre todo conteúdo da disciplina:

• Substitui a menor nota das avaliações teóricas

• Só poderá ser feita por quem não possuir média para ser aprovado na disciplina e for frequente

• A nota final do aluno que fizer a substitutiva está limitada a 6 pontos

• Somente quem puder ser aprovado substituindo a menor nota poderá fazer a prova

Bibliografia Básica

1. FOLEY, James D.; et al. Computer graphics: principles and practice. Boston: Addison - Wesley, 2008.

2. AZEVEDO, E. ; Conci, A. Computação Gráfica, Teoria e Prática. Elsevier, 2003.

3. J. GOMES, L. VELHO, Fundamentos de Computação Gráfica, IMPA, 2003.

(21)

Bibliografia Complementar

1. ANGEL, Edward. Interactive computer graphics: a top-down approach with OpenGL. Reading, MA: Addison-Wesley, 2000. 611 p.; il. (006.6 A581I).

2. WATT, Alan. 3D computer graphics. 3.ed. Harlow: Pearson Addison Wesley, 2000 3. D. HEARN, M. P. BAKER. Computer Graphics, C Version.Prentice Hall, 1997

4. COHEN, Marcelo; MANSSOUR, Isabel. OpenGL - Uma Abordagem Prática e Objetiva. São Paulo: Novatec, 2006. 486 p.

5. AKENINE-Möller, Tomas; Haines, Eric; Hoffman, Naty Real-Time Rendering 3rd edition. A.K. Peters Ltd., 2008. 1045 p.

___________________________________________

Docente Responsável

Aprovado pelo Colegiado em

____________________________________

Coordenador

(22)

COORDENADORIA DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

PLANO DE ENSINO

Disciplina: Conceitos de Linguagens de Programação Período: 7 Currículo: 2014

Docente: Dárlinton Barbosa Feres Carvalho Unidade Acadêmica: DCOMP

Pré-requisito: Programação Orientada a Objetos Co-requisito: não há

C.H. Total: 72ha/66h Teórica: 54ha/49,5h Prática: 18ha/16,5h Grau: Bacharelado Ano:2022 Semestre:1

Ementa

Estudo comparativo de linguagens. Evolução das Linguagens de Programação. Paradigmas de Programação. Conceitos de Linguagens de Programação. Sintaxe e semântica. Sistemas de tipos e valores. Passagem de parâmetros.

Objetivos

Mostrar uma evolução histórica do desenvolvimento de linguagens de programação. Mostrar os conceitos envolvidos em projetos de linguagens de programação. Apresentar os diferentes paradigmas de programação, seus conceitos e suas diferenças.

Conteúdo Programático

1 Conceitos Iniciais – Paradigmas de linguagens; 2 Amarrações; 3 Valores e tipos de dados; 4 Variáveis e constantes; 5 Expressões e comandos; 6 Modularização; 7 Polimorfismo; 8 Exceções; 9 Concorrência; 10

Avaliação de Linguagens; 11 Tendências tecnológicas Metodologia de Ensino

O curso será desenvolvido por meio de aulas expositivas com participação dos alunos, aula invertida, seminários e trabalhos práticos.

Critérios de Avaliação

A avaliação do aprendizado será realizada por meio de diversas atividades teóricas e práticas, sendo 50% da nota total verificado por meio de duas provas (25% cada prova) e o restante 50% verificado por meio de seminários (10%) e trabalhos práticos (40%). Considera-se uma Avaliação Substitutiva que versa sobre todo o

conteúdo da disciplina para substituir as notas de uma prova.

Bibliografia Básica

1. R. W. SEBESTA, Conceitos de Linguagens de Programação, Bookman, 2003.

2. F. VAREJAO, Linguagens de Programação: Conceitos e Técnicas, Elsevier, 2004.

3. Allen TUCKER Robert NOONAN, Linguagens de Programação: princípios e paradigmas, Mc Gram Hill, 2008.

Bibliografia Complementar

1. D. WATT, Programming Language Concepts and Paradigms, Prentice-Hall, 1993.

2. T. PRATT, M. V. ZELKOWITZ, Programming Languages Design and Implementation, Prentice-Hall,2001.

3. R. SETHI, Programming Languages: Concepts and Constructs, Addison Wesley, 1996.

4. ZOHAR Manna, Mathematical Theory of Computation, McGraw Hill, 1974 5. K. E. IVERSON. A Programming Language. John Wiley, 1962.

___________________________________________

Docente Responsável

Aprovado pelo Colegiado em

____________________________________

Coordenador

(23)

COORDENADORIA DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

PLANO DE ENSINO

Disciplina: Cálculo Diferencial e Integral I Período: 1 Currículo: 2014

Docente: Fabio Matos Unidade Acadêmica: DEMAT

Pré-requisito: não há Co-requisito: não há

C.H. Total: 108ha/99h Teórica: 108ha/99h Prática: 0ha/0h Grau: Bacharelado Ano: 2022 Semestre: 1

Ementa

Números reais. Funções de uma variável real. Limite e continuidade de funções de uma variável real. Derivada de funções de uma variável real. Teorema do Valor para derivadas. Aplicações da Derivada. Regra de L’Hôpital. Antiderivada - Integral Indefinida. Integral de Riemann – Integral definida. Teorema Fundamental do Cálculo. Métodos de Integração: substituição, por partes, frações parciais e integrais trigonométricas. Aplicações da integral definida. Integrais Impróprias.

Objetivos

Capacitar o aluno a reconhecer e operar com funções algébricas e transcendentes, representar graficamente as funções, analisar tais gráficos e apresentar conclusões sobre seu comportamento. Criar condições para que o aluno defina e calcule derivadas de funções e aplique-as na resolução de problemas. Integrar a prática desses conhecimentos na Computação.

Conteúdo Programático

Metodologia de Ensino

Critérios de Avaliação

Parte – Conjuntos Numéricos, Limite e Continuidade de Funções de uma variável real 1.1 - Conjuntos Numéricos: Naturais, Racionais e Reais

1.2 – Funções de uma variável real

1.3 – Propriedades de funções de uma variável real

1.4 – Operações com funções de uma variável real: soma, multiplicação, multiplicação por escalar e composição de funções.

1.5 – Gráficos de funções de uma variável real

1.6 – Tipos elementares de funções de uma variável real: valor absoluto, polinomiais, racionais, exponenciais, trigonométricas 1.7 – Funções inversíveis e suas propriedades.

1.8 – Definição de limite de funções de uma variável real 1.9 – Cálculo de limite de funções de uma variável real 1.10 – Operações com limites

1.11 – Continuidade de funções de uma variável real

2ª Parte: Derivada de funções de uma variável real e Aplicações

2.1 - Reta tangente ao gráfico de funções de uma variável real 2.2 - Derivada de funções de uma variável real e propriedades 2.3 – Derivação e continuidade

2.4 – Derivada de funções elementares de uma variável real 2.5 - Derivada da composição de funções: regra da cadeia 2.6 - Derivação implícita

2.7 – Derivada como uma função linear e derivadas de ordem superior 2.8 - Teorema do Rolle e o Teorema do Valor intermediário

2.9 – Aplicações de derivada

3ª Parte: Integral de funções de uma variável real

3.1 – Antiderivada

3.2 – Integral de Riemann

3.3 - Teorema Fundamental do Cálculo 3.4 - Aplicações da Integral

3.5 - Métodos de Integração 3.6 – Integrais Impróprias

As aulas serão expositivas utilizando

a bibliografia básica. A fixação do conteúdo será através de exercícios com orientação do professor responsável, além de materiais complementares e

listas de exercícios disponibilizados via portal didático. O

docente disponibilizará 03(três ) horas semanais para que os discentes possam sanar dúvidas teóricas, discussão de exercícios, entre outras atividades pertinentes à disciplina. Os horários de atendimento não serão contabilizados na carga horária da disciplina e serão agendados no início período.

(24)

Bibliografia Básica

1. FLEMMING, Diva Marília; GONÇALVES, Mirian Buss. Cálculo A: funções, limite, derivação e integração. 6.ed. São Paulo: Pearson Prentice Hall, 2009. 448 p.

2. LEITHOLD, Louis. O cálculo com geometria analítica. 3 ed. São Paulo: Harbra, 2002. v. 1. 685 p.

3. MUNEM, Mustafá A; FOULIS, David J. Cálculo. Rio de Janeiro: LTC, 2008. v.2. 476 p.

Bibliografia Complementar

1.

ANTON, H. Cálculo: um novo horizonte. 6.ed. Porto Alegre: Bookman, 2006. v.1. 578 p.

2.

GUIDORIZZI, H. L. Um curso de cálculo. 5. ed. Rio de Janeiro: LTC, 2009. v. 1. 635p.

3.

SIMMONS, G. F. Cálculo com geometria analítica. São Paulo: Pearson: Makron Books, 2008. v.1. 829 p.

4.

SWOKOWSKI, E. W.; FLORES, V. R. L. F.; MORENO, M. Q. Cálculo de geometria analítica. Tradução de Alfredo Alves de Faria.

Revisão técnica Antonio Pertence Júnior. 2. ed. São Paulo: Makron Books do Brasil, 1995. v. 1. 744p.

5.

THOMAS, George B. Cálculo. 10.ed. São Paulo: Addison Wesley, 2005. v. 2. 570 p.

___________________________________________

Docente Responsável

Aprovado pelo Colegiado em

____________________________________

Coordenador

A avaliação de desempenho será realizada através de 03 avaliações presenciais obrigatórias e uma avaliação substitutiva com conteúdo e valores distribuídos da seguinte forma:

Conteúdo Valor Peso

Avaliação 1 Parte 1 do Conteúdo Programático

10,0 1

Avaliação 2 Parte 2 do Conteúdo Programático

10,0 1

Avaliação 3 Parte 3 do Conteúdo

Programático 10,0 1

Avaliação Substitutiva

Conteúdo da avaliação a ser substituída

10,0 1

A nota final de desempenho será igual à à média aritmética das notas obtidas nas avaliações 1, 2 e 3.

Para que o aluno seja aprovado, a nota final deverá ser maior ou igual 6,0(seis) pontos e a freqüência nas aulas maior ou igual a 75%. Caso o discente obtenha nota final maior ou igual a 4,0(quatro) e menor que 6,0(seis), e frequência maior ou igual a 75%, terá direito à realização de uma avaliação substitutiva com as seguintes regras:

1 - O conteúdo da avaliação substitutiva será igual ao conteúdo da avaliação que o discente pretende substituir.

3- A nota obtida na avaliação substitutiva só será utilizada se não houver prejuízo para o discente.

4 - Caso o discente obtenha aprovação com o uso da nota da avaliação substitutiva, a nota final na disciplina será igual a 6,0 pontos.

As datas das avaliações será informada na primeira aula da disciplina.

(25)

COORDENADORIA DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

PLANO DE ENSINO

Disciplina: Cálculo Diferencial e Integral II Período: 2 Currículo: 2014

Docente: Patrícia Tempesta Unidade Acadêmica: DEMAT

Pré-requisito:

Cálculo Diferencial e Integral I Geometria Analítica

Co-requisito:

não há

C.H. Total: 72ha/66h Teórica: 72ha/66h Prática: 0ha/0h Grau: Bacharelado Ano: 2022 Semestre: 01

Ementa

Funções de várias variáveis reais; Limite e continuidade de funções de várias variáveis reais. Derivadas parciais e funções diferenciáveis;

Máximos e mínimos de funções de várias variáveis e aplicações; Multiplicadores de Lagrange; Integrais duplas e aplicações; Mudança de variáveis em integrais duplas: afins e polares; Integrais triplas; Mudança de variáveis em integrais triplas: afins, cilíndricas e esféricas. Séries e seqüências infinitas; Séries de potências; Séries de Taylor; Testes de convergência para séries de potência.

Objetivos

Capacitar para a análise e interpretação de funções, limites, derivadas e integrais de várias variáveis, sequências e séries visando às aplicações em Ciências da Computação.

Conteúdo Programático

1 - Funções de Várias Variáveis:

1.1 - Introdução, Definição, Conjunto Domínio, Conjunto Imagem, Gráfico, Curvas de Nível;

1.2 - Limites de continuidade;

1.3 - Derivadas Parciais e seu significado;

1.4 - Diferenciabilidade;

1.5 - A diferencial: significado geométrico e aplicações;

1.6 - A regra da Cadeia;

1.7 - Derivada Diferencial e seu significado Geométrico;

1.8 - Gradiente, Reta Normal e Plano Tangente;

1.9 - Derivadas Parciais de ordem superior;

1.10 - Máximos e Mínimos de uma Função;

1.11 - Problemas de Otimização;

1.12 - Multiplicadores de Lagrange.

2

- Integrais Múltiplas:

2.1 - Integrais Duplas;

2.2 - Área e Volume por integração dupla;

2.3 - Integrais Duplas em coordenadas polares;

2.4 - Integrais Triplas;

2.5 - Integrais Triplas em coordenadas cilíndricas e em coordenadas esféricas;

2.6 - Volume por integração tripla;

2.7 - Mudanças de variáveis em integrais múltiplas.

3

– Série e Sequências Infinitas

3.1. - Sequências, sequências monótonas e limitadas;

3.2. - Séries, séries infinitas de termos constantes;

3.3. - Quatro teoremas sobre séries infinitas;

3.4. - Séries infinitas de termos positivos;

3.5. - O teste da integral;

3.6.- Séries p;

3.7. Séries alternadas;

3.8. - O teste da comparação;

3.9. - Convergência absoluta e convergência condicional;

3.10. - O Teste da razão;

3.11. - O teste da raiz.

3.12. - Introdução à série de potência. 3.13- Derivação de séries de potência.

3.13. - Integração de séries de potência.

Metodologia de Ensino

(26)

As aulas teóricas serão expositivas. Durante elas os alunos serão incentivados a participar a fim de esclarecer suas dúvidas e contribuir com exemplos e sugestões. No decorrer das aulas alguns momentos serão direcionados à resolução de exercícios. Será disponibilizado um horário semanal de atendimento com a docente, o qual será marcado na primeira semana de aula. Serão disponibilizadas listas de exercícios periodicamente, no portal didático da disciplina, para que os alunos testem seus conhecimentos.

Como recursos auxiliares de ensino serão utilizados: quadro-negro, giz e equipamento multimídia

Critérios de Avaliação

O sistema de avaliação se constituirá de 03 avaliações, P1, P2 e P3 no valor de 100 pontos cada uma. A nota final é a média aritmética simples das notas obtidas nas e provas, NF=(P1+P2+P3)/3. Será aplicada uma Avaliação Substitutiva, ao final do período letivo, que substituirá a menor nota obtida dentre a P1, P2 e P3. Os alunos que, ao final das três avaliações, não obtiverem NF mínima de 60 pontos em 100 (ou 6,0 em 10) poderão fazer a prova substitutiva.

O aluno que fizer uso da avaliação substitutiva terá sua nota máxima limitada a 60 pontos. Será considerado aprovado o aluno que obtiver nota final igual ou superior a 60 pontos e frequência mínima de 75%.

Bibliografia Básica

1. FLEMMING, D. M. Calculo B: funções de várias variáveis, integrais duplas e triplas. São Paulo: Makron Books, 2005. 372 p.

2. LEITHOLD, L. O cálculo com geometria analítica. Tradução de Cyro Carvalho Patarra. Revisão técnica de Wilson Castro Ferreira Junior e Silvio Pregnolato. 3. ed. v. 2. São Paulo: Harbra, 1994. 2 v.

3. MUNEM, M. ; FOULIS D. Cálculo. 2. ed. Rio de Janeiro: LTC, 2008. v. 2. 476 p.

Bibliografia Complementar

1. ANTON, H. Cálculo: um novo horizonte. 6.ed. . Porto Alegre: Bookman, 2006.

2. GUIDORIZZI, H. L. Um curso de cálculo. 5. ed. Rio de Janeiro: LTC, 2009. v. 2. 5 v..

3.

SIMMONS, G. F. Cálculo com geometria analítica. São Paulo: Pearson: Makron Books, 2008. v.21. 829 p.

4. SWOKOWSKI, E. W.; FLORES, V. R. L. F.; MORENO, M. Q. Cálculo de geometria analítica. Tradução de Alfredo Alves de Faria.

Revisão técnica Antonio Pertence Júnior. 2. ed. v. 2. São Paulo: Makron Books do Brasil, 1995.

5.

THOMAS, G. B. et al. Cálculo. Tradução de Thelma Guimarães e Leila M. V. Figueiredo. Revisão técnica Cláudio Hirofume Asano. 10. ed. . v. 2. São Paulo: A. Wesley, 2002.

___________________________________________

Docente Responsável

Aprovado pelo Colegiado em

____________________________________

Coordenador

(27)

COORDENADORIA DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

PLANO DE ENSINO

Disciplina: Cálculo Numérico Computacional Período: 4 Currículo: 2014

Docente: Michelli Marlane Silva Loureiro Unidade Acadêmica: DCOMP

Pré-requisito:

Algoritmos e Estrutura de Dados II Álgebra Linear

Cálculo Diferencial e Integral I

Co-requisito:

não há

C.H. Total: 72ha/66h Teórica: 72ha/66h Prática: 0ha/0h Grau: Bacharelado Ano:2022 Semestre: 1

Ementa

Erros nas aproximações numéricas. Séries de Taylor e Aproximações. Zeros de Funções. Resolução de Sistemas Lineares. Interpolação.

Ajuste de Curva por Mínimos Quadrados. Integração Numérica.

Objetivos

Apresentar ao aluno algoritmos numéricos para a solução computacional de diversos problemas matemáticos. Ao final do período o aluno deverá ser capaz de, através dos algoritmos numéricos, fazer um uso eficiente dos recursos computacionais para a solução de problemas.

Conteúdo Programático

1. Princípios Gerais e Erros

1.1. Introdução – Conceitos Básicos 1.2. Erros

1.3. Representação de Números 1.4. Erros absolutos e relativos 1.5. Erro de truncamento 1.6. Erro de arredondamento

1.7. Propagação de Erro: Instabilidade Numérica

2. Raízes (ou Zeros) de Funções Reais 2.1. Introdução

2.2. Métodos Numéricos para o Cálculo de Raízes Reais 2.3. Métodos iterativos para se obter zeros reais de funções 2.4. Método da Bisseção

2.5. Método da Falsa Posição 2.6. Método de Newton – Raphson 2.7. Método da Secante

2.8. Estudo da Convergência

3. Resolução de Sistemas Lineares 3.1. Métodos Diretos

a) Método de Eliminação de Gauss b) Fatoração LU

3.2. Métodos Iterativos a) Método de Gauss-Jacob b) Método de Gauss-Seidel 4. Método dos Mínimos Quadrados 4.1. Colocação do Problema 4.2. Método dos Mínimos Quadrados 4.3. Método das Equações Normais

4.4. Mínimos Quadrados Lineares para várias variáveis 5. Interpolação

5.1. Interpolação Polinomial 5.2. Forma de Lagrange 5.3. Forma de Newton 5.4. Forma de Newton Gregory

5.5. Identificando a melhor ordem do polinômio 5.6. Estudo de Erro na Interpolação

6. Integração Numérica

(28)

6.1. Fórmulas de Newton-Cotes 6.2. Regra dos Trapézios 6.3. Regra dos Trapézios Repetida 6.4. Regra de Simpson

6.5. Regra de Simpson Repetida 7. Polinômios de Taylor

7.1. Caso de grau 1 7.2. Caso de grau 2 7.3. Caso de grau n

Metodologia de Ensino

- Exposição oral;

- Exposição de tema com auxílio de datashow e lousa;

- Estudos dirigidos

. Odocente disponibilizará 03(três ) horas semanais para atendimento que será combinado com os discentes no início do semestre

Critérios de Avaliação

Primeira avaliação - 35 pontos Segunda avaliação - 35 pontos Trabalho - 30 pontos

Prova substitutiva no valor de 35 pontos, esta prova terá como finalidade substituir a menor nota das avaliações e versará sobre todo conteúdo da disciplina. Vale ressaltar que quando o aluno optar por fazer esta prova o somatório final de todas as avaliações não poderá ultrapassar 60 pontos.

Bibliografia Básica

1. M. A. G. RUGGIERO, V. L. R. Lopes, Cálculo Numérico: Aspectos Teóricos e Computacionais, Makron Books, 1996 2. N. M. B. FRANCO. Cálculo Numérico. Pearson, 2006.

3.

BARROSO Leonidas C. et al.. Cálculo numérico: (com aplicações). 2 ed. São Paulo: Harbra, 1987.

Bibliografia Complementar

1. CLAUDIO, DALCIDIO Moraes; MARINS, JUSSARA Maria. Cálculo numérico computacional: teoria e prática. São Paulo: Atlas, 1989.

2. M. T. HEATH, Scientific Computing: An Introductory Survey, McGraw Hill, 2002 3. SAAD, Y. Iterative Methods for Sparse Linear Systems. 2 ed. SIAM, 2003.

4. SCHEID, Francis. Análise numérica. 2 ed. Lisboa: McGraw-Hill, 1991.

5. SELMA Arenales & Artur Darezzo. Cálculo Numérico: Aprendizagem com apoio de software. Editora Thomson Learning, São Paulo, 2008.

___________________________________________

Docente Responsável

Aprovado pelo Colegiado em

____________________________________

Coordenador

(29)

COORDENADORIA DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

PLANO DE ENSINO

Disciplina: Engenharia de Software Experimental Período:Variável Currículo:2014

Docente: Vinicius Durelli Unidade Acadêmica:DCOMP

Pré-requisito: Introdução à Engenharia de Software Co-requisito:não há

C.H. Total: 72ha Teórica: 40ha Prática: 30ha Grau:Bacharelado Ano: 2022 Semestre:1

Ementa

No contexto da disciplina, são enfatizados a criação e condução de experimentos em Engenharia de Software.

Essencialmente:

● Serão discutidos conceitos relacionados ao uso da abordagem científica para a validação de pesquisa em Engenharia de Software. Essa parte da disciplina irá enfatizar as peculiaridades do projeto e condução de experimentos no contexto da Engenharia de Software, i.e., como métodos científicos vêm sendo utilizados para guiar decisões na forma de desenvolver software. Mais especificamente:

○ Introdução à engenharia de software experimental;

○ Método científico;

○ Tipos de estudo (estratégias);

○ Questões de pesquisa e hipóteses;

○ Tipos de variáveis e suas medições;

○ Análise dos resultados (com ênfase em métodos quantitativos);

○ Teste de hipótese e inferência.

● Como interpretar e reportar

artigos que apresentam os resultados de experimentos científicos.

● Métodos e técnicas estatísticas que possibilitem sumarizar, analisar e reportar informações/resultados.

Desenvolvimento de um projeto que alinha desenvolvimento de software e estudo experimental.

Objetivos

Esta disciplina tem como objetivo primário dotar o aluno de competências que o permitam aplicar o método científico para avaliar (principalmente) práticas relacionadas à Engenharia de Software (e.g., teste de software, refatoração, desenvolvimento).

Espera-se que os alunos desenvolvam e conduzam um experimento de pequena escala.

Portanto, pretende-se proporcionar aos alunos conhecimentos básicos de estatística para aplicação na condução de diversas estratégias de estudos científicos.

Ao final da disciplina espera-se que os alunos sejam capazes de projetar estudos experimentais, analisar e reportar os resultados.

Conteúdo Programático

A disciplina oferecerá uma visão geral de diversos tópicos relacionados ao desenvolvimento de software, enfatizando como

tais tópicos vêm sendo investigados por meio de estudos experimentais. Visto que pesquisa em engenharia de software

precisa ser validada, a disciplina tem o objetivo de discutir como experimentos devem ser projetados e conduzidos no

contexto da computação. Essencialmente, a disciplina enfatiza como os alunos podem “responder a(s) pergunta(s)

certa(s) sem viés''. Serão abordados conceitos básicos e ferramentas estatísticas.

(30)

● Serão discutidos conceitos relacionados ao uso da abordagem científica para a validação de pesquisa em Engenharia de Software. Essa parte da disciplina irá enfatizar as peculiaridades do projeto e condução de experimentos no contexto da Engenharia de Software, i.e., como métodos científicos vêm sendo utilizados para guiar decisões na forma de desenvolver software.

● Alunos e professores irão

ler e discutir artigos que apresentam os resultados de experimentos científicos.

○ Durante as aulas, dois alunos serão sorteados para expor suas anotações e comentários sobre o artigo escolhido anteriormente. Durante tal exposição, um dos alunos atuará como relator do artigo e o outro detrator (crítico).

■ Relator: deve apresentar um resumo do artigo, ressaltando principalmente os aspectos usados na avaliação experimental do mesmo.

■ Detrator: deve enfatizar pontos problemas no artigo, enfatizando principalmente ameaças à validade do mesmo que não foram devidamente abordadas pelos autores.

● Serão discutidos métodos e técnicas estatísticas que possibilitem sumarizar, analisar e devidamente reportar informações/resultados. Essencialmente, o material relacionado será disponibilizado de antemão para os alunos a fim de possibilitar que os mesmos já estejam cientes do assunto a ser desenvolvido durante as subsequentes aulas síncronas. Portanto, essa etapa da disciplina seguirá um modelo de

flipped classroom: as aulas serão um

meio de enfatizar a interação professor-aluno, sanar dúvidas e interativamente resolver os problemas propostos.

Espera-se que os alunos estudem o conteúdo previamente disponibilizado e, posteriormente, executem tal conhecimento na realização de problemas propostos durante as aulas síncronas por meio da criação de scripts Python para análise de dados.

● No decorrer da disciplina,

espera-se que os alunos desenvolvam um projeto que alinha desenvolvimento de software e estudo experimental. Por exemplo, o software a ser desenvolvido pode ser o alvo da avaliação do

estudo experimental ou pode ter sido desenvolvido a fim de apoiar a condução de um estudo experimental mais amplo. Adicionalmente, espera-se que os resultados do estudo experimental sejam reportados em um artigo e apresentados na forma de seminários (conference-style).

Metodologia de Ensino

Os conteúdos teóricos serão trabalhados por meio de aulas expositivas, enquanto exemplos mais práticos serão desenvolvidos juntamente com os alunos por meio de aulas práticas, quando necessário, tanto o material abordando o conteúdo teórico quanto o prático serão debatidos em um fórum de discussão (tanto por meio do CampusVirtual quando durante as aulas). Slides serão utilizados como recurso de apoio e, principalmente, para ilustrar os conceitos mais importantes abordados durante a aula. Posteriormente, os slides (bem como outros materiais complementares como, por exemplo, os artigos que serão discutidos em sala) serão disponibilizados aos alunos.

● Durante a discussão de métodos e técnicas estatísticas que possibilitem sumarizar, analisar e devidamente reportar informações/resultados, o material relacionado será disponibilizado de antemão para os alunos a fim de possibilitar que os mesmos já estejam cientes do assunto a ser desenvolvido durante as subsequentes aulas síncronas. Portanto, essa etapa da disciplina seguirá um modelo de

flipped classroom: as aulas síncronas serão

um meio de enfatizar a interação professor-aluno, sanar dúvidas e interativamente resolver os problemas propostos.

Espera-se que os alunos estudem o conteúdo previamente disponibilizado e, posteriormente, executem tal conhecimento na realização de problemas propostos durante as aulas síncronas por meio da criação de scripts Python para análise de dados.

Critérios de Avaliação

As notas serão baseadas nos seguintes elementos:

Referências

Documentos relacionados

PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO – PROEN COORDENADORIA DO CURSO DE CIÊNCIA DA COMPUTAÇÃO EDITAL Nº 06, DE 01 DE SETEMBRO DE 2021 PARA SELEÇÃO DE MONITORES QUE ATENDERÃO DURANTE O