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 20074.
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 Rocha2021 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 Rocha2021 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