• Nenhum resultado encontrado

Planejamento das Aulas

Data Aula –

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

PLANO DE ENSINO

Disciplina: Introdução à Ciência da Computação – Versão ERE Período: 1 Currículo: 2014

Docente: Milene Barbosa Carvalho Unidade Acadêmica: DCOMP

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

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

1º/Emergencial

Ementa

O que é um computador. Tipos de computadores. Hardware e Software. História da computação. Sistema de numeração, bases e conversões. Representação de números. Aritmética binária. Normatização de trabalhos.

Objetivos

Definir computador e seus tipos. Diferenciar hardware e software. Apresentar a história da computação, os sistemas de numeração mais utilizados na área e suas conversões. Representar números e aplicar operações aritméticas sobre os mesmos. Apresentar conceitos de normatização de trabalhos.

Conteúdo Programático

Computador

Definição de computador Tipos de computador Dispositivos

Funcionamento e arquitetura básicos Hardware X Software

História da Computação Representação de dados

Sistemas analógicos x Sistemas digitais.

Representação de dados Sistemas de numeração

o Decimal, binário, octal e hexadecimal Unidades de medida mais utilizadas na computação Representação de valores numéricos

o Números inteiros o Números fracionários Aritmética binária

Números inteiros Números fracionários Normatização de trabalhos

Estrutura

Citação e referência

Metodologia de Ensino

Aulas síncronas nos horários agendados pela Coordenadoria para a disciplina e realização de atividades assíncronas, como leitura de textos, visualização e produção de conteúdo multimídia, realização de exercícios e seminários.

O aluno deve possuir uma conta Google (e-mail do Gmail) para acesso identificado nas plataformas Google Meet, YouTube, Google Classroom e outros produtos Google para participar das aulas síncronas e realizar as atividades assíncronas. Além disso, o aluno deverá acessar o Portal Didático (Campus Virtual) da UFSJ.

Para as aulas síncronas serão utilizadas também ferramentas online que não necessitam de login como www.socrative.com e www.mentimeter.com, no entanto, cada aluno se compromete a se identificar corretamente para utilizar as plataformas.

É recomendável que o aluno disponha de computador para a realização das aulas e atividades, no entanto, grande parte delas pode ser realizada em dispositivo móvel. Além disso, o aluno deve ter alguma forma de captura de imagens, como webcam ou câmera de celular para a realização de algumas atividades.

É recomendável a participação no grupo da disciplina no Telegram (pode ser utilizado o aplicativo em dispositivos móveis ou no computador ou ainda a versão acessível por navegadores).

A docente estará disponível para atendimento aos alunos às terças e quartas de 16:00 às 17:00 e às quintas de 11:00 às 12:00, com agendamento prévio por parte do aluno via e-mail (milenebc@ufsj.edu.br) ou Telegram com até 24h de antecedência. O atendimento se dará pelo Google Meet ou Telegram.

Critérios de Avaliação

20 pontos em atividades assíncronas semanais

30 pontos em 2 trabalhos de produção multimídia 10 pontos em um trabalho escrito

40 pontos em testes individuais síncronos ou assíncronos

Caso o aluno não entregue no mínimo 75% das atividades propostas, será considerado infrequente.

Bibliografia Básica

1. GUIMARÃES, A.M. ; LAGES, N. A. C. Introdução à Ciência da Computação. LTC, 1996.

2. MARQUES, M. A. Introdução à Ciência da Computação. LCTE , 2005.

3. POLLONI, E. G. F. ; PERES, F. R. ; FEDELI, R. D. Introdução à Ciência da Computação. Thompson Pioneira, 2003.

Bibliografia Complementar

1. J. FRANCA, J. LESSA. Manual para normalização de publicações técnico-científicas. UFMG, 2001.

2. B. KERNIGHAN, D. RITCHIE. A Linguagem de Programação C, padrão ANSI. Campus, 1990.

3. B. FOROUZAN, F. MOSHARRAF. Fundamentos da Ciência da Computação. Cengage Learning, 2008.

4.

R. D. FEDELI, E. G. F. POLLONI. Introdução à Ciência da Computação. Thomson, 2003.

5.

H. L. CAPRON, J. A. Johnson. Introdução à Informática. Pearson Prentice Hall, 2004.

___________________________________________

Docente Responsável

Aprovado pelo Colegiado em

____________________________________

Coordenador

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

PLANO DE ENSINO

Disciplina: Introdução à Criptografia Período: Variável Currículo: 2014

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

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

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

Ementa

Conceitos básicos de criptografia. Cifras de fluxo e de bloco. Logaritmos discretos: acordo de chaves Diffie-Hellman, sistema El Gamal de criptografia. Fatoração de inteiros: o sistema RSA. Curvas elípticas. Funções hash criptográficas. Assinaturas digitais. Noções elementares de infra-estrutura de chave pública.

Objetivos

Apresentar os aspectos matemáticos e computacionais da criptografia moderna, proporcionando uma visão geral de suas aplicações, com ênfase no conceito de criptografia de chave pública. Preparar o aluno para estudos avançados na área de criptografia.

Conteúdo Programático

• Conceitos básicos de Criptografia

◦ Mensagens, textos cifrados e chaves; encriptação e decriptação; remetente e destinatário

◦ Objetivos da Criptografia

◦ Primitivas e protocolos

◦ Definições de segurança e tipos de ataques

▪ O papel do adversário; tipos de adversário

▪ Classificações de ataques a sistemas criptográficos

▪ Segurança semântica e indistinguibilidade – conceitos gerais

◦ Geradores pseudo-aleatórios

▪ O conceito de aleatoriedade

▪ Entropia

▪ Algoritmos para geração de números pseudo-aleatórios

▪ Fontes de entropia

• Cifras de fluxo e de bloco

◦ Cifras de fluxo

▪ Definição formal de uma cifra

▪ A cifra One-Time Pad (OTP)

▪ Sigilo perfeito da OTP

▪ Maleabilidade da OTP

▪ Inviabilidade da OTP e cifras de fluxo

▪ Exemplos de cifras de fluxo

◦ Cifras de bloco

▪ Definição e conceitos

▪ Difusão e confusão

▪ Round functions

▪ Redes de Feistel

▪ Redes de Substituição e Permutação

▪ Tamanhos de chaves e blocos

▪ Cifras de bloco conhecidas

▪ Modos de operação em cifras de bloco

• ECB (Electronic CodeBook)

• CBC (Cipher Block Chaining)

• CFB (Cipher FeedBack)

• OFB(Output FeedBack)

• CTR (Counter)

• Funções hash criptográficas

Princípios de design: a construção Merkle-Damgård; construções esponja

◦ Propriedades de uma função hash criptográfica

◦ Funções hash conhecidas

◦ Aplicações das funções hash criptográficas

◦ MAC’s e encriptação autenticada

▪ O conceito de MAC (Message Authentication Code)

▪ Encrypt-then-MAC

▪ Encrypt-and-MAC

▪ MAC-then-Encrypt

• Logaritmos discretos

◦ Noções básicas de aritmética modular

◦ O problema do logaritmo discreto

◦ Acordo de chaves Diffie-Hellman

◦ O problema Diffie-Hellman

◦ O sistema de criptografia El Gamal

• Fatoração de inteiros

◦ O problema da fatoração

◦ Sistema de criptografia RSA

◦ Questões de segurança e implementação do RSA

• Curvas elípticas

◦ Noções elementares

◦ Curvas elípticas sobre corpos finitos

◦ A estrutura de grupo de uma curva elíptica

◦ Criptografia baseada em curvas elípticas

• Assinaturas digitais

◦ Princípios básicos

◦ Assinatura RSA

◦ Assinatura El Gamal

◦ Assinatura DSA

• Noções elementares de infra-estrutura de chave pública

◦ Autoridades certificadoras

◦ Certificados Digitais

Metodologia de Ensino

A disciplina será dividida em momentos síncronos e assíncronos, com uma aula síncrona e outra assíncrona por semana. Cada momento síncrono terá duração de 2ha, uma vez por semana, e irá ocorrer com o uso da ferramenta Google Meet. Os links serão disponibilizados para os alunos através do Portal Didático. Nos momentos síncronos será feita uma introdução conceitual, de acordo com o roteiro de estudos previamente disponibilizado para os alunos também no Portal Didático. Será utilizado o recurso de compartilhamento de tela para a apresentação de slides e também para a resolução de atividades de programação em linguagem Python. Já os momentos assíncronos consistirão na disponibilização para os alunos de textos com leitura complementar (em formato pdf ou através de links da web) e de videoaulas, produzidas pelo docente responsável pela disciplina. As videoaulas serão disponibilizadas no canal da plataforma Youtube vinculado à conta institucional do docente responsável pela disciplina. Semanalmente será disponibilizado 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.

Semana Mês Data Conteúdo

1 9 15 Apresentação da disciplina: plano de ensino, roteiro de estudos, Portal Didático, canal do Youtube, Google Meet (SINC)

9 17 Conceitos básicos de criptografia (SINC)

2 9 22 Conceitos básicos de criptografia (ASSINC) (Q1)

9 24 Cifras de fluxo (SINC)

3 9 29 Cifras de fluxo (ASSINC)

10 1 Cifras de bloco (SINC)

4 10 6 Cifras de bloco – modos de operação (ASSINC) (Q2)

10 8 Funções hash criptográficas (SINC)

5 10 13 Funções hash criptográficas - aplicações (ASSINC) (A1)

10 15 Logaritmos discretos (SINC)

6 10 20 Diffie-Hellman e El Gamal (ASSINC) (Q3)

10 22 Fatoração de inteiros e RSA (SINC)

7 10 27 RSA – segurança e implementação (ASSINC) (A2)

10 29 Curvas elípticas (SINC)

8 11 3 Curvas elípticas (ASSINC) (Q4)

11 5 Curvas elípticas (SINC)

9 11 10 Curvas elípticas (ASSINC)

11 12 Assinaturas digitais (SINC)

10 11 17 Assinaturas digitais - RSA (ASSINC) (Q5) (A3)

11 19 Assinatura El Gamal (SINC)

11 11 24 Assinatura DSA (ASSINC)

11 26 Infra-estrutura de chave pública (SINC)

12 12 1 Infra-estrutura de chave pública (ASSINC) (Q6) (A4) 12 3 Aula de encerramento – revisão geral, dúvidas (SINC) Legenda:

SINC – momento síncrono ASSINC – momento assíncrono A1 – entrega da atividade 1 A2 – entrega da atividade 2 A3 – entrega da atividade 3 A4 – entrega da atividade 4 Q1 – realização do questionário 1 Q2 – realização do questionário 2 Q3 – realização do questionário 3 Q4 – realização do questionário 4 Q5 – realização do questionário 5 Q6 – realização do questionário 6 Horários de atendimento (síncrono):

2ª, 4ª e 6ª: 10h às 11h (mediante marcação prévia)

Critérios de Avaliação

Todas as atividades avaliativas serão assíncronas. A nota será distribuída entre quatro atividades (A1, A2, A3 e A4), que deverão ser entregues através do Portal Didático, e seis questionários (Q1 a Q6), que serão realizados também no Portal Didático. As atividades irão mesclar exercícios teóricos e de programação. Já os questionários serão pequenos grupos de perguntas de múltipla escolha, com o objetivo de revisar o conteúdo abordado a cada duas semanas. Cada uma dessas atividades (A1 até A4 e Q1 até Q6) terá peso de 10%, sendo a média final (MF) contabilizada da seguinte maneira: MF = 0,1*(A1 + A2 + A3 + A4 + Q1 + Q2 + Q3 + Q4 + Q5 + Q6). O controle de frequência será feito pela entrega das atividades (A1 até A4) e também pela realização dos questionários (Q1 até Q6). Cada uma dessas atividades irá contabilizar 10% da frequência. Será considerado frequente o aluno que realizar 8 (oito) ou mais dessas atividades.

Bibliografia Básica

1. Hoffstein. J., Pipher, J., Silverman, J. H. An Introduction to Mathematical Cryptography. Undergraduate Texts in Mathematics, Springer, 2dn ed., 2014.

2. Coutinho, S. C. Números Inteiros e Criptografia RSA. Série de Computação e Matemática, IMPA/SBM, 2ª ed., 2014.

3. Menezes, A. J., Oorschot, P. C. van, Vanstone, S. A. Handbook of Applied Cryptography. CRC Press, 2001.

Bibliografia Complementar

1. Koblitz, N. A Course in Number Theory and Cryptography. Springer-Verlag, 2nd ed., 1994.

2. Koblitz, N. Algebraic Aspects of Cryptography. Springer-Verlag, 1998.

3. Hankerson, D., Menezes, A., Vanstone, S. Guide to Elliptic Curve Cryptography. Springer, 2004.

4. D. Kahn. The Codebreakers: The Comprehensive History of Secret Communication from Ancient Times to the Internet. Scribner Book Company, revised ed., 1996.

___________________________________________

Docente Responsável

Aprovado pelo Colegiado em

____________________________________

Coordenador

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

PLANO DE ENSINO

Disciplina: Introdução a Sistemas Lógicos Digitais – Versão ERE Período: 2 Currículo: 2014

Docente: Milene Barbosa Carvalho Unidade Acadêmica: DCOMP

Pré-requisito:

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

Co-requisito:

Não há

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

1º/Emergencial

Ementa

Dispositivos semicondutores. Lógica booleana. Minimização de funções. Portas Lógicas. Projeto de circuitos combinacionais. Circuitos combinacionais clássicos. Circuitos sequenciais, contadores, registradores e máquinas sequenciais síncronas. Circuitos aritméticos.

Memórias e PLDs.

Objetivos

Apresentar os fundamentos dos circuitos combinacionais e seqüenciais e dos métodos para minimização de funções dando condições para que o aluno desenvolva as habilidades necessárias para projeto e análise de arquiteturas básicas de computadores. Apresentar os conceitos de memória e PLDs.

Conteúdo Programático

Introdução aos circuitos lógicos digitais:

• Sistemas analógicos x Sistemas digitais.

• Sistemas de numeração e representação de valores (revisão).

• Dispositivos semicondutores: transistores como chave eletrônica e implementação de circuitos eletrônicos digitais.

• Portas lógicas.

Álgebra de Boole (revisão):

• Operações Booleanas.

• Teoremas da álgebra de Boole (revisão).

Circuitos lógicos combinacionais:

• Projeto, implementação e análise de circuitos combinacionais.

• Simplificação de equações usando a álgebra de Boole.

• Simplificação de equações usando o mapa de Karnaugh.

• Codificadores e decodificadores.

• Multiplexadores e demultiplexadores.

• Implementação de circuitos combinacionais utilizando linguagens de descrição de hardware.

Circuitos lógicos sequenciais:

• Latches e flip-flops.

• Sincronização de circuitos sequenciais.

• Entradas assíncronas.

• Projeto, implementação e análise de circuitos sequenciais.

• Registradores e deslocadores sequenciais.

• Contadores.

• Máquinas de estados finitos.

• Implementação de circuitos sequenciais utilizando linguagens de descrição de hardware.

Circuitos aritméticos:

• Circuitos somador/subtrator e multiplicador.

• Deslocadores paralelos.

• Princípios de funcionamento de uma Unidade Lógico-Aritmética.

• Circuito comparador binário.

Dispositivos de memória:

• Tecnologias de armazenamento.

• Registradores, memórias cache, RAM, ROM, PROM, EPROM, EEPROM, Flash.

• Interconexões por barramentos.

• Expansão da palavra e da capacidade de memórias.

Metodologia de Ensino

Aulas síncronas nos horários agendados pela Coordenadoria para a disciplina e realização de atividades assíncronas, como leitura de textos, visualização de conteúdo multimídia, realização de exercícios e projeto de circuitos digitais.

O aluno deve possuir uma conta Google (e-mail do Gmail) para acesso identificado nas plataformas Google Meet, YouTube, Google Classroom e outros produtos Google para participar das aulas síncronas e realizar as atividades assíncronas. Além disso, o aluno deverá acessar o Portal Didático (Campus Virtual) da UFSJ.

Para as aulas síncronas serão utilizadas também ferramentas online que não necessitam de login como www.socrative.com e www.mentimeter.com, no entanto, cada aluno se compromete a se identificar corretamente para utilizar as plataformas.

É recomendável que o aluno disponha de computador para a realização das aulas e atividades, no entanto, grande parte delas pode ser realizada em dispositivo móvel. Além disso, o aluno deve ter alguma forma de captura de imagens, como webcam ou câmera de celular para a realização de algumas atividades.

Para o projeto de circuitos digitais, ainda será necessário a utilização do software multiplataforma “Digital”, que pode ser baixado na página do projeto (https://github.com/hneemann/Digital) ou de simuladores online como www.circuitlab.com (recomendável ter conta gratuita).

É recomendável a participação no grupo da disciplina no Telegram (pode ser utilizado o aplicativo em dispositivos móveis ou no computador ou ainda a versão acessível por navegadores).

A docente estará disponível para atendimento aos alunos às terças e quartas de 16:00 às 17:00 e às quintas de 11:00 às 12:00, com agendamento prévio por parte do aluno via e-mail (milenebc@ufsj.edu.br) ou Telegram com até 24h de antecedência. O atendimento se dará pelo Google Meet ou Telegram.

Critérios de Avaliação

40 pontos em atividades assíncronas semanais.

50 pontos em 6 testes individuais, a princípio, síncronos, mas podendo ser convertidos em assíncronos de acordo com o tema e a disponibilidade da turma. Cada um dos testes terá valor de 10 pontos e o com menor nota será descartado ao final do período.

10 pontos em projetos de circuitos.

Caso o aluno não entregue no mínimo 75% das atividades propostas, será considerado infrequente.

Bibliografia Básica

1.

R. TOCCI, N. S. WIDMER, G. L. MOSS. Sistemas Digitais - Princípios e Aplicações. 11a.ed. São Paulo: Pearson Prentice-Hall, 2011.

2.

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

3.

F. VAHID. Sistemas Digitais Projeto, Otimização e HDLs. Porto Alegre: Bookman, 2008.

Bibliografia Complementar

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

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

3. T. FLOYD. Sistemas Digitais - Fundamentos e Aplicações. 9 ed. Porto Alegre: Bookman, 2007.

4. V. A. PEDRONI. Eletrônica Digital Moderna e VHDL. Rio de Janeiro: Elsevier, 2010.

5. D. Harris, S. Harris. Digital Design and Computer Architecture. 2 ed. Morgan Kaufmann, 2012.

___________________________________________

Docente Responsável

Aprovado pelo Colegiado em

____________________________________

Coordenador

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

PLANO DE ENSINO

Disciplina: Lógica Aplicada à Computação Período: 4 Currículo: 2014

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

Pré-requisito: Matemática Discreta Co-requisito: não há

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

Ementa

Lógica proposicional: sintaxe e semântica. Sistemas dedutivos para lógica proposicional. BDDs (Binary Decision Diagrams). Lógica de predicados: sintaxe e semântica. Sistemas dedutivos para lógica de predicados. Programação em lógica. Semântica e verificação de programas. Especificação formal em Z. Lógica temporal. Verificação por model checking.

Objetivos

Analisar estruturas e argumentos usando a lógica proposicional. Trabalhar a teoria de conjuntos via a lógica proposicional e de predicados.

Verificar correção de programas utilizando lógica aplicada e model checking.

Conteúdo Programático

1 Introdução à Lógica Proposicional

1.1 Formas de representação do conhecimento.

1.2 Sintaxe da lógica proposicional 1.3 Semântica da lógica proposicional 1.4 Tabela-Verdade, Satisfazibilidade 2 Sistemas dedutivos para lógica proposicional

2.1 Inferência dedutiva e indutiva

2.2 Métodos de inferência: Tableaux semânticos 2.3 Métodos de inferência: Resolução

3 Introdução à Lógica de Predicados 3.1 Sintaxe da lógica de predicados 3.2 Semântica da lógica de predicados.

4 Sistemas dedutivos para lógica de predicados 4.1 Regras de inferência e deduções 4.2 Unificação

4.3 Resolução 5 Programação lógica

5.1 Introdução a Programação Lógica 5.2 Linguagem PROLOG

6 Semântica e verificação de programas 6.1 Especificação formal em Z 6.2 Verificação por model checking 7 Lógica temporal

Metodologia de Ensino

- Exposição oral;

- Aulas remotas (síncronas e assíncronas) de acordo com o planejamento no anexo I, usando ferramentas de vídeo conferência, como Google Meet e o portal didático da UFSJ;

- Estudos dirigidos.

Critérios de Avaliação

1ª Avaliação Teórica: 20 pontos

2ª Avaliação Teórica: 20 pontos 4 Listas de Exercícios: 20 pontos 1 Trabalho prático: 20 pontos

Avaliação de Estudos Dirigidos: 20 pontos ______________

Total 100 pontos

O registro das frequências se dará conforme o Artigo 11 da RESOLUÇÃO Nº 007/CONEP:

Art. 11. O registro da frequência do discente se dará por meio do cumprimento das atividades propostas, e não pela presença durante as atividades síncronas, sendo que o discente que não concluir 75% das atividades propostas será reprovado por infrequência.

Bibliografia Básica

1. DA SILVA, Flávio S.C., Finger, M., de Melo, Ana C.V. Lógica para Computação, Thomson, 2006.

2. RUSSEL, S., Norvig, P. Inteligência Artificial. Tradução da 2ª ed. Rio de Janeiro: Elsevier, 2004.

3.

RICH, Elaine, e Knight, Kevin, Inteligência Artificial. Segunda Edição. Makron Books/McGrawHill, 1994.

Bibliografia Complementar

1. M. CASANOVA, F. A. C. Giorno, A. L. Furtado, Programação em Lógica e a Linguagem Prolog, Edgard Blucher, 1987.

2. J. H. GALLIER, Logic for Computer Science: Foundation of Automatic Theorem Proving, John Wiley & Sons, 1986.

3. M. BEN-ARI, Mathematical Logic for Computer Science, Springer, 2003.

4. ROSEN, K. H., Discrete Mathematics and its Approach - McGraw-Hill 2007 6th edition.

5. SOUZA, João Nunes de. Lógica para Ciência da Computação. 2. ed. Rio de Janeiro: Elsevier, 2008.

___________________________________________

Docente Responsável

Aprovado pelo Colegiado em

____________________________________

Coordenador

Anexo I

No documento plano de ensino - CCOMP/UFSJ - O Curso (páginas 61-71)

Documentos relacionados