• Nenhum resultado encontrado

BIBLIOGRAFIA BÁSICA

No documento Algoritmos e Estrutura de Dados I 5 (páginas 99-114)

CEGALLA, Domingos Paschoal. Novíssima gramática da língua portuguesa. 48. ed. São Paulo: Nacional, 2009.

FAULSTICH, Enilde L. de. Como ler, entender e redigir um texto. 16 ed. Petrópolis: Vozes, 2003.

MEDEIROS, João Bosco. Redação científica: a prática de fichamentos, resumos, resenhas. 11 ed. São Paulo: Atlas, 2009.

BIBLIOGRAFIA COMPLEMENTAR FARACO E MOURA. Gramática. São Paulo: Ática, 1989.

FARACO E MOURA. Para gostar de escrever. São Paulo: Ática, 1997.

GOLD, M. Redação Empresarial - Escrevendo com sucesso na Era da Globalização. São Paulo: Makron books do Brasil, 1999.

MARCONI, Marina de A; LAKATOS, Eva Maria. Metodologia do trabalho científico: procedimentos básicos, pesquisa bibliográfica, projeto e relatório, publicações e trabalhos científicos. 7.ed. São Paulo: Atlas, 2009.

VANOYE, Francis. Usos da linguagem. Problemas e técnicas na produção oral e escrita.13ª. São Paulo:

Martins Fontes, 2010

Assinatura Docente Responsável

Aprovado pelo Colegiado em / /

Assinatura Coordenador de Curso

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

PLANO DE ENSINO

Disciplina: Programação Orientada a Objetos Período: 4 Currículo: 2014

Docente: Elder José Reioli Cirilo 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: 2021 Semestre: 2

Ementa

Histórico e cenário atual da POO. Programação estruturada e POO. Abstração. Tipos Abstratos de Dados. Objetos. Classes. Atributos.

Métodos. Sobrecarga e Sobrescrita. Introdução à UML. Encapsulamento. Hierarquia de Classes. Herança. Especialização/Generalização.

Herança múltipla/Interface. Polimorfismo. Associação Dinâmica. Tratamento de Exceções. Estudo das linguagens Java e C++.

Objetivos

Capacitar o aluno a utilizar o paradigma de programação orientada a objetos para resolução de problemas computacionais.

Conteúdo Programático

1. Conceitos de programação orientada a objetos

• Objetos e classes

• Atributos e métodos

• Atributos e métodos de classe e de instância

• Herança, polimorfismo e encapsulamento

• Sobrecarga de métodos e sobrescrita

• Interfaces

2. Introdução a programação orientada a objetos

• Estrutura de dados

• Tratamento de exceções

• Polimorfismo Paramétrico 3. Introdução a UML

• Diagrama de classes

• Relacionamento entre classes (dependência, associação, composição, agregação)

• Tradução do diagrama em código orientado a objetos 4. Introdução aos Padrões de Projeto Orientados a Objetos

• Histórico

• Padrões de Criação, Estruturais e Comportamentais 5. Boas práticas de Programação Orientada a Objetos

• Bed smells e Refactoring

Metodologia de Ensino

A disciplina será ministrada por meio de aulas expositivas remotas assíncronas. Encontros de apoio a resolução de dúvidas serão conduzidos de modo síncrono via GoogleMeet. Os conteúdos da disciplina como vídeos e slides do conteúdo programático serão disponibilizados para os alunos por meio da plataforma CampusVirtual da UFSJ. As entregas dos exercícios previstos se darão via Github e/ou CampusVirtual. Uso da linguagem de programação JAVA. É uma linguagem de programação multiplataforma (Windows, Linux, MacOSX, etc.)

Critérios de Avaliação

A avaliação se dará por meio de 6 (seis) listas de exercícios. A frequência dos alunos estará vinculada à entrega das listas de exercícios lista abaixo. Avaliação substitutiva: Lista de exercícios de exercícios relativa a todo o conteúdo programático que substituirá qualquer nota a critério do discente. O aluno que não entregar no mínimo 75% das atividades propostas será considerado infrequente.

Lista 1 - Programação orientada a objetos (objetos, classes, atributos e métodos) – 10 pts – 3h

Lista 2 - Programação orientada a objetos (herança, polimorfismo, sobrecarga de métodos, encapsulamento e interfaces) – 30 pts – 20h Lista 3 - Programação orientada a objetos (estrutura de dados, tratamento de exceção e polimorfismo paramétrico) - 20 pts – 10h Lista 4 – UML – 20 pts – 6h

Lista 5 – Padrões de Projeto – 10 pts – 3h

Lista 6 – Boas práticas de programação – 10 pts – 3h

Bibliografia Básica

1.

B. MEYER, Object-oriented software construction, Prentice-Hall, 1997.GAMMA, Erich; et al. Padrões de projeto: soluções reutilizáveis de software orientado a objetos. Porto Alegre: Bookman, 2008. 364 p.

2.

BARNES, David. J.; KÖLLING, Michael. Programação orientada a objetos com Java. 4ed. São Paulo: Prentice Hall, 2009.

Bibliografia Complementar

1.

B. STROUSTRUP, The C++ Programming Language, Addison-Wesley, 1997.

2.

FOWLER, M., Refatoração: Aperfeiçoando o Projeto de Código Existente 1a Ed. Bookman 2004.

3.

FREEMAN, E.; FREEMAN, E. Use a Cabeça!: Padrões de Projetos (Design Patterns) 2a Ed. Alta Books 2007

4.

TED Husted, Struts em Ação, 1a Ed. Ciência Moderna 2004.

5.

CHRISTIAN Bauer and Gavin King. Java Persistence with Hibernate. 1a Ed., Manning Publications, 2006.

__________________________________________

Docente Responsável

Aprovado pelo Colegiado em

___________________________________________

Coordenador

Aula Conteúdo

1 Introdução a disciplina

2 Introdução a programação orientada a objetos 3 Objetos, classes, atributos e métodos 4 Exercícios – Lista 1

5 Encapsulamento, herança e polimorfismo 6 Sabrecar e sobrescrita de método e interfaces 7 Exercícios – Lista 2

8 Programação Orientada com Java 9 Programação Orientada com Java 10 Programação Orientada com Java 11 Programação Orientada com Java 12 Estrutura de Dados

13 Tratamento de Exceção 14 Polimorfismo Paramétrico 15 Exercícios – Lista 3 16 UML – Diagrama de Classes

17 UML – Tradução em código orientado a objetos 17 Exercícios – Lista 4

18 Padrões de Projeto Orientados a Objetos – Histórico e conceitos básicos 20 Padrões de Criação

21 Padrões Estruturais 22 Padrões Comportamentais 23 Exercícios – Lista 5 24 Boas práticas – Bad Smell 25 Boas práticas – Refactoring 26 Exercícios – Lista 6 27 Avaliação substitutiva 28 Fechamento do Semestre

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

Disciplina: Projeto Orientado em Computação I Período: 7 Currículo: 2014

Docente: Unidade Acadêmica: DCOMP

Pré-requisito: Ter cursado 2400 horas em disciplinas Co-requisito: não há

C.H. Total: 108ha/99h Teórica: 54ha/49,5h Prática: 54ha/49,5h Grau: Bacharelado Ano: Semestre:

Ementa

Elaboração da proposta de trabalho de fim de curso de Ciência da Computação junto ao professor orientador.

Objetivos

Permitir que o aluno proponha e organize o projeto de fim de curso a ser desenvolvido posteriormente.

Conteúdo Programático e cronograma

Metodologia de pesquisa em computação;

O restante é variável de acordo com o trabalho escolhido pelo aluno.

Aula 1 – Apresentação do plano de ensino e explicação da dinâmica da disciplina (2h)

Escolha do orientador (2h)

Escolha do tema (2h)

Aula 2 – Apresentação de fonte confiával de artigos (2h)

Pesquisa, leitura e resenha Artigo 1 (5h)

Pesquisa, leitura e resenha Artigo 2 (5h)

Pesquisa, leitura e resenha Artigo 3 (5h)

Aula 3 – O que escrever no referencial teórico? (2h)

Levantamento do referencial (10h)

Redação do referencial e trabalhos relacionados (10h)

Aula 4 – Conheço o meu trabalho, Qual é a minha pergunta de pesquisa? Como introduzir o meu trabalho? (2h)

Definição das perguntas (5h)

Definição da justificativa (5h)

Definição dos objetivos (5h)

Redação da introdução (10h)

Aula 5 – Apresentação do andamento (2h)

Aula 6 – Metodologia de trabalhos científicos (2h)

Definição da metodologia de trabalho (10h)

Redação da metodologia de trabalho (10h)

Preparação da apresentação e cronograma (10h)

Aula 7: Apresentação dos trabalhos e cronogramas com a presença do orientador (2h)

Total 108h

Metodologia de Ensino

Os alunos serão acompanhados semanalmente pelo orientador com apoio do professor da disciplina e deverão cumprir prazos e metas estabelecidas na disciplina.

Teremos encontros síncronos para discussão do conteúdo dos capítulos.

O trabalho se iniciará com resenhas de artigos escolhido pelo aluno junto com seu orientador, em seguida será feito um capítulo de trabalhos relacionados e referencial teórico, seguido de um capítulo de trabalho proposto e por fim, uma introdução e um cronograma para o POC2.

O aluno deverá apresentar o trabalho para a turma com a “presença” de seu orientador, que participa com 50% da nota.

Encontros síncronos serão via Meet e o atendimento se dará às sextas feiras de 8h às 10h.

Critérios de Avaliação

50% orientador 50% professor disciplina – Para avaliação deve-se levar em conta a qualidade do trabalho, a pontualidade na entrega e a capacidade do aluno em desenvolver uma pesquisa científica na área de ciência da computação.

A frequencia será proporcional as entregas realizadas pelo aluno.

Bibliografia Básica

Variável, dependendo do tema escolhido pelo aluno.

Bibliografia Complementar

Leonardo Chaves Dutra da Rocha

2021 2

Variável, dependendo do tema escolhido pelo aluno.

___________________________________________

Docente Responsável

Aprovado pelo Colegiado em

____________________________________

Coordenador

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

PLANO DE ENSINO

Disciplina: Projeto Orientado em Computação II Período: 8 Currículo: 2014

Docente: Unidade Acadêmica: DCOMP

Pré-requisito: Projeto Orientado em Computação I Co-requisito: não há

C.H. Total: 108ha/99h Teórica: 54ha/49,5h Prática: 54ha/49,5h Grau: Bacharelado Ano: Semestre:

Ementa

Elaboração do trabalho de fim de curso de Ciência da Computação junto ao professor orientador.

Objetivos

Desenvolver o projeto de fim de curso.

Conteúdo Programático e Cronograma

Aula 1 – Apresentação do plano de ensino e explicação da dinâmica da disciplina (2h)

Confirmação do do orientador (2h)

Confirmação do tema (2h)

Aula 2 – Entrega do texto do trabalho em andamento (10h)

Aplicação da metodologia (40h)

Escrita do Trabalho (40h)

Preparação da apresentação (10h)

Aula 3 – Apresentação para banca (2h)

Total 108h

Metodologia de Ensino

Os alunos serão acompanhados semanalmente pelo orientador com apoio do professor da disciplina e deverão cumprir prazos e metas estabelecidas na disciplina.

O aluno deverá apresentar o trabalho para a turma com a presença de seu orientador.

Encontros síncronos serão via Meet e o atendimento se dará às sextas feiras de 8h às 11h.

Critérios de Avaliação

50% orientador

50% banca examinadora

Para avaliação deve-se levar em conta a qualidade do trabalho, a pontualidade na entrega e a capacidade do aluno em desenvolver uma pesquisa científica na área de ciência da computação.

A frequência será proporcional as entregas realizadas pelo aluno.

Bibliografia Básica

Variável, dependendo do tema escolhido pelo aluno.

Bibliografia Complementar

Variável, dependendo do tema escolhido pelo aluno.

___________________________________________

Docente Responsável

Aprovado pelo Colegiado em

____________________________________

Coordenador

Leonardo Chaves Dutra da Rocha

2021 2

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

PLANO DE ENSINO

Disciplina: Redes Complexas Período: Variável Currículo: 2014

Docente: Vinícius da Fonseca Vieira Unidade Acadêmica: DCOMP

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

C.H. Total: 72 Teórica: 72 Prática: 0 Grau: Bacharelado Ano: 2021 Semestre: 2

Ementa

Introdução, Propriedades estruturais, Estruturas e modelos, Métricas e centralidade, Falhas e Robustez, Comunidades e particionamento, Aplicações de redes em diferentes contextos

Objetivos

Possibilitar ao aluno o pensamento e a análise de dados através do ponto de vista de objetos e o relacionamento entre eles, incentivando a discussão e a solução de problemas práticos através da análise de redes.

Conteúdo Programático

1. Introdução

1.1. Modelagem de dados 1.2. Organização de redes 1.3. Tópicos relacionados 1.4. Origem

2. Estudo de redes em diferentes áreas 2.1. Introdução

2.1. Modelagem de dados 2.2. Organização de redes 2.3. Tópicos relacionados

2.4. Origem

3. Propriedades estruturais básicas 3.1. Grau

3.2. Densidade

3.3. Distribuição de graus 3.4. Coeficiente de clusterização 3.5. Transitividade

4. Modelos de espalhamento 4.1. Modelos epidemiológicos 4.2. Modelos de influência

4.3. Modelos de propagação de idéias 5. Métricas sobre vértices

5.1. Centralidade em grau 5.2. Centralidade em autovetor 5.3. PageRank

5.4. Hubs e authorities

5.5. Centralidade em proximidade 5.6. Centralidade em passagem

5.9. Homofilia 6. Falhas e Robustez 6.1. Métricas Locais 6.2. Métricas Globais 6.3. Tipos de Falhas 6.4. Falhas em redes G(n,p) 6.5. Falhas em redes BA 7. Comunidades e particionamento 7.2. Particionamento

7.3. Detecção de comunidades 7.4. Abordagem espectral 7.5. Abordagens gulosas 8. Estruturas de redes 8.1. Grafos aleatórios 8.2. Redes mundo pequeno 8.3. Redes livres de escala 9. Modelos de formação de redes 9.1. Anexação preferencial 9.2. Modelo Barabási-Albert 9.3. Outros modelos

Metodologia de Ensino

Serão realizadas aulas síncronas, com duração de 2h, sempre às quintas-feiras (com exceção da primeira semana), e aulas assíncronas, com duração de 3h ou 4h, sempre às terças-feiras, seguindo o calendário a seguir.

Semana Conteúdo Tipo de aula

Semana 1 Introdução Síncrona (2h)

Propriedades básicas Síncrona (2h)

Semana 2 Atividade de caracterização básica (Atividade 1) Assíncrona (3h)

Espalhamento Síncrona (2h)

Semana 3 Atividade sobre modelos epidemiológicos e redes (Atividade 2) Assíncrona (3h)

Discussão sobre modelos epidemiológicos e redes Síncrona (2h)

Semana 4 Desenvolvimento do trabalho principal (definição de escopo e levantamento de dados) Assíncrona (3h)

Centralidade Síncrona (2h)

Semana 5 Desenvolvimento do trabalho principal (caracterização de centralidade) Assíncrona (4h)

Comunidades Síncrona (2h)

Semana 6 Atividade sobre comunidades (Atividade 3) Assíncrona (4h)

Robustez Síncrona (2h)

Semana 7 Desenvolvimento do trabalho principal (caracterização de robustez) Assíncrona (4h)

Modelos geradores Assíncrona (4h)

Semana 8 Desenvolvimento do trabalho principal (caracterização de comunidades) Assíncrona (4h)

Atividades de fixação (Atividades 4, 5 e 6) Assíncrona (4h)

Semana 9 Desenvolvimento do trabalho principal Assíncrona (3h)

Desenvolvimento do trabalho principal Assíncrona (3h)

Semana 10 Desenvolvimento do trabalho principal Assíncrona (3h)

Desenvolvimento do trabalho principal Assíncrona (4h)

Semana 11 Desenvolvimento do trabalho principal Assíncrona (4h)

Desenvolvimento do trabalho principal Assíncrona (4h)

Semana 12 Apresentação dos trabalhos Síncrona (2h)

Apresentação dos trabalhos Síncrona (2h)

Nas aulas síncronas, serão feitas discussões sobre tópicos do conteúdo programático e serão lançadas atividades, que deverão ser desenvolvidas pelos alunos nas aulas assíncronas. Será proposto um trabalho principal, envolvendo um grande estudo de uma base de dados modelada como uma rede complexa e diversas atividades secundárias, que servirão para fixar o conteúdo estudado.

As aulas síncronas serão realizadas através do software Google Meet. Para as atividades, serão necessários softwares para desenvolvimento de programas de computador em qualquer linguagem (preferencialmente Python ou C) com bibliotecas para manipulação de grafos (preferencialmente igraph, networkx ou graph-tools) e bibliotecas de visualização (preferencialmente matplotlib). Todos os softwares necessários para o desenvolvimento das atividades estão livremente disponíveis na web. O atendimento aos alunos será realizado às sextas-feiras, das 9h às 12h, com marcaçao prévia de horário.

Controle de frequência e critérios de avaliação

A frequência dos alunos será controlada através das entregas das atividades realizadas, no prazo determinado no lançamento.

As avaliações serão realizadas através das atividades propostas. O trabalho principal será dividido em 3 etapas: modelagem da rede (20%

da nota), análise da rede (40% da nota) e apresentação (10% da nota). Os outros 30% serão divididos entre as Atividades 1 a 6, cada uma correspondendo a 5% da nota.

Bibliografia Básica

1. Mark Newman, Networks: An Introduction. Oxford University Press, 2010.

2. M. E. J. Newman, A.-L. Barabási, and D. J. Watts, The Structure and Dynamics of Networks. Princeton University Press, 2006.

3. A. Barrat,Graph Theory and Complex Networks: An Introduction, Cambridge University Press, 2008

Bibliografia Complementar

1. S. Havlin, R. Cohen, Complex Networks: Structure, Robustness and Function, Cambridge University Press, 2010 2. P. O. Boaventura Netto, Grafos: Introdução e Prática, Edgard Blucher, 2009

3. R. Diestel, Graph Theory, Springer, 2006

4. S.N. Dorogovtsev and J.F.F. Mendes, Evolution of Networks: From biological networks to the Internet and WWW. Oxford University Press, 2003.

5. Alain Barrat, Marc Barthélemy, Alessandro Vespignani, Dynamical Processes on Complex Networks. Cambridge University Press, 2008.

___________________________________________

Docente Responsável

Aprovado pelo Colegiado em

____________________________________

Coordenador

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

PLANO DE ENSINO

Disciplina: Segurança de Sistemas de Votação Eletrônica Período: Variável Currículo: 2014

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

Pré-requisito: Algoritmos e Estruturas de Dados 3 Co-requisito: não há

C.H. Total: 36ha/33h Teórica: 36ha/33h Prática: 0ha/0h Grau: Bacharelado Ano: 2021 Semestre: 2

Ementa

Votação como um problema de segurança. Requisitos de segurança de um sistema de votação. Evolução dos sistemas de votação. Uso de computadores em eleições. Máquinas DRE. Procedimentos de segurança em uma eleição. Sistemas de votação eletrônica ao redor do mundo. Votação pela Internet.

Objetivos

Estudar os requisitos de segurança de sistemas eletrônicos de votação. Compreender o funcionamento de um sistema eletrônico de votação, desde os procedimentos que antecedem as eleições até a contagem dos votos. Aplicar uma mentalidade voltada para a segurança na análise de sistemas eletrônicos de votação. Desenvolver uma visão crítica a respeito do papel da tecnologia nas eleições.

Conteúdo Programático

• Evolução dos sistemas de votação

◦ Votação por voz

◦ Votação em cédulas de papel

◦ Dispositivos mecânicos de votação

◦ Votação com cartões perfurados

◦ Sistemas eletrônicos de votação e scanners ópticos

 Requisitos de segurança de um sistema de votação

◦ Registro e autenticação de eleitores

◦ Sigilo do voto

◦ One man, one vote

◦ Integridade

◦ Auditabilidade

◦ Verificabilidade individual

◦ Verificabilidade universal

Receipt-freeness

◦ Transparência de um processo eleitoral

 Uso de computadores em eleições

◦ Gerações de sistemas de votação eletrônica

◦ Máquinas DRE; urna eletrônica brasileira

◦ VVPAT e sistemas de segunda geração

◦ Sistemas de terceira geração; verificabilidade e auditabilidade

◦ Votação pela Internet e o problema da coerção

◦ Independência de software

Metodologia de Ensino

A disciplina será ministrada através de encontros síncronos, uma vez por semana, com duração de 2ha pelo Google Meet. Serão utilizados os recursos de compartilhamento de tela e lousa interativa. Semanalmente será disponibilizado ainda um horário de reunião síncrona (além das aulas síncronas regulares), através da ferramenta Google Meet, para atendimento aos alunos. O material de estudo assíncrono, incluindo textos e vídeos, será disponibilizado no Portal Didático.

Para o acompanhamento das aulas e realização das tarefas, serão necessárias as seguintes ferramentas:

• Computador (microfone recomendado para eventuais interações nas aulas síncronas, mas não estritamente necessário; câmera opcional)

• Sistema operacional Windows, Linux ou Mac

• Acesso à internet de banda larga

• Navegador de Internet

• Leitor de PDF

Semana Conteúdo

1 Apresentação da disciplina: plano de ensino; evolução dos sistemas de votação 2 Requisitos de um sistema de votação

3 Gerações de sistemas de votação eletrônica; máquinas DRE ou primeira geração 4 Estudo de caso: a urna eletrônica brasileira

5 RECESSO

6 O voto impresso (Q1)

7 Estudo de caso: sistemas de segunda geração

8 RECESSO

9 Verificabilidade: sistemas de terceira geração

10 RECESSO

11 Estudo de caso: sistemas de terceira geração (Q2) 12 Votação pela Internet – Estudo de caso: Helios Voting 13 Votação pela Internet – Estudo de caso: Helios Voting (SUB)

14 Apresentação de trabalhos (AT)

Horários de atendimento (síncrono): 3 horas por semana (mediante agendamento prévio)

Critérios de Avaliação

A nota será distribuída entre dois questionários (Q1 e Q2), realizados de forma assíncrona através do Portal Didático, e uma

apresentação de trabalho (AT) síncrona, realizada de forma individual ou em grupo, através do Google Meet em data pré-estabelecida no horário da aula síncrona. Cada questionário terá peso de 22,5%, enquanto a apresentação do trabalho terá peso de 55%, sendo a média final (MF) contabilizada da seguinte maneira:

MF = 0,225*(Q1 + Q2) + 0,55*AT.

O controle de frequência será feito pela realização dos questionários e também pela apresentação do trabalho. Cada uma dessas atividades irá contabilizar 1/3 da frequência, de modo que somente será considerado frequente o aluno que realizar todas essas atividades.

Será oferecida uma atividade substitutiva (SUB), consistindo em um questionário abrangendo todo o conteúdo programático da disciplina.

A nota deste questionário substituirá a menor nota obtida na realização dos questionários (Q1 ou Q2), caso seja maior do que aquela. A nota da atividade substitutiva não poderá substituir a nota da apresentação do trabalho.

Estima-se que os alunos gastem até 2 horas para realizar cada questionário. Já para o trabalho, estima-se um tempo de até 15 horas para sua realização, entre leitura de um artigo científico e preparação da apresentação.

Bibliografia Básica

1) Diego F. Aranha et al., ’(In)segurança do voto eletrônico no Brasil’, Cadernos Adenauer, n. 1/2014, p. 117-133, Justiça Eleitoral, 2014.

2) Bart Jacobs and Wolter Pieters, ’Electronic Voting in the Netherlands: from early Adoption to early Abolishment’, em ’Foundations of Security Analysis and Design V’, Lecture

Notes in Computer Science, n. 5705, p. 121-144, 2009.

3) Tadayoshi Kohno et al., ’Analysis of an Electronic Voting System’, Anais do ’IEEE Symposium on Security and Privacy 2004’, p. 27-40, IEEE Computer Society Press, 2004.

Bibliografia Complementar

1) Ariel J. Feldman, J. Alex Halderman, and Edward W. Felten. Security analysis of the diebold accuvote-ts voting machine. In USENIX/ACCURATE Electronic Voting Technology

Workshop (EVT’07), 2007.

2) David R Jefferson, Aviel D Rubin, Barbara Simons, and David A Wagner. A security analysis of the secure electronic registration and voting experiment (SERVE).

http://servesecurityreport.org/paper.pdf, 2004.

3) Scott Wolchok et al., ’Attacking the Washington, D.C. Internet Voting System’, Anais da ’16th Conference on Financial Cryptography & Data Security’, p.114-128, 2012.

4) Hari K. Prasad et al., ’Security Analysis of India’s Electronic Voting Machines’, Anais da ’17th ACM Conference on Computer and Communications Security (CCS ’10)’, p. 1-14, 2010.

___________________________________________

Docente Responsável

Aprovado pelo Colegiado em

____________________________________

Coordenador

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

Disciplina: Tecnologias para data science Período: - Currículo: 2014

Docente: Unidade Acadêmica: DCOMP

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

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

Ementa

Preparação do ambiente computacional para análise de dados; Editores de código como facilitadores de análise de dados;

Processamento numérico de dados; Criação e uso de Data Frames; Limpeza, Preparação e Processamento de dados;

Visualização de dados; Bibliotecas para modelos estatísticos; Bibliotecas para apredizado de máquina; Bibliotecas para análise de redes; Aplicações.

Objetivos

Estudar como manipular, processar, limpar e extrair informações de conjuntos de dados. Apresentar e propor soluções eficientes para casos de estudo práticos de problemas de análise de dados. Apresentar algumas das bibliotecas mais utilizadas para ciência de dados na linguagem python como pandas, NumPy, IPython e Jupyter.

Conteúdo Programático

1 – Preparação do ambiente computacional – Apresentação Anaconda 2 – Introdução ao python, Iphython e Jupyter Notebook

3 – Processamente numérico - Apresentação do Numpy 4 – Criação de Data Frames - Apresentação do Pandas 5 – Carga de Dados

6 – Limpeza e Preparação de Dados

7 – Tratamento e operações de tipos de dados especiais 8 – Tratamento e operações com Dataframes

9 – Agregação de Dados

10 – Visualização de dados - Apresentação do Matplotlib, seaborn 11 – Modelos estatísticos - Apresentação da statsmodel

12 – Apredizado de máquina - Introdução ao Scikit-learn

13 – Análise de Redes – Apresentação networkx, igraph e graphtool 14 – Aplicações

Metodologia de Ensino

A disciplina terá encontros virtuais síncronos para exposição das ferramentas e explicação dos exercícios.

Pretende-se guiar a disciplina orientada à resolução de problemas.

Os trabalhos serão compostos de implementações e uma documentação explicativa.

O aluno deve ter acesso a um computador para realizar as implementações e à plataforma GoogleMeet. Os encontros síncronos serão às quintas feira de 10:00 às 12:00.

Os horários disponíveis para atendimento serão às segunda feira de 9:00 às 12:00.

A entrega dos exercícios e trabalhos serão feita pelo Portal didático da UFSJ.

Critérios de Avaliação

20% Exercícios propostos nas aulas 10% Participação

30% Apresentações

40% Trabalho final de implementação (apresentação síncrona)

A frequência do aluno será proporcional ao número de exercícios propostos em aulas entregues

Substitutiva: Haverá uma avaliação substitutiva para os alunos com nota menor do que 60% após o lançamento de todas as notas, a avaliação será oral, via GoogleMeet, versará sobre todo o conteúdo e substituirá a nota total, caso seja maior.

Leonardo Chaves Dutra da Rocha

2021 2

No documento Algoritmos e Estrutura de Dados I 5 (páginas 99-114)