ADSR
9. Conceitos Fundamentais de Qualidade de Software
Metodologia de Ensino
- 2h semanais de aulas síncronas: segundas às 15:15h
1.
13/09 - aula síncrona das 15:15h às 17:05h2.
15/09 - aula assíncrona e atividade (2h)3.
20/09 - aula síncrona das 15:15h às 17:05h4.
22/09 - aula assíncrona (2h)5.
22/09 - atividade (2h)6.
27/09 - aula síncrona das 15:15h às 17:05h 7. 29/09 - aula assíncrona (2h)8.
29/09 - atividade (2h)9.
04/10 - aula síncrona das 15:15h às 17:05h10.
06/10 - aula assíncrona e atividade (2h)11.
11/10 - aula assíncrona12.
13/10 - aula assíncrona (2h)13.
18/10 - aula síncrona das 15:15h às 17:05h 14. 20/10 - aula assíncrona (2h)15. 20/10 - atividade (2h)
16.
25/10 - aula síncrona das 15:15h às 17:05h (2h) 17. 27/10 - aula assíncrona das 15:15h às 17:05h 18. 27/10 - elaboração de trabalho prático (6h)19.
03/11 - aula assíncrona (4h) 20. 03/11 - atividade (2h)21.
08/11 - aula síncrona das 15:15h às 17:05h22.
10/11 - aula assíncrona e atividade (2h)23.
17/11 - aula assíncrona (4h)24. 22/11 - aula síncrona das 15:15h às 17:05h
25.
24/11 - aula assíncrona (2h)26.
24/11 - atividade (2h)27.
29/11 - aula síncrona das 15:15h às 17:05h28.
01/12 - aula assíncrona (2h)29.
01/12 - atividade (2h)30.
06/12 - aula síncrona das 15:15h às 17:05h31.
07/12 - aula assíncrona (2h)32.
07/12 - elaboração de trabalho prático (6h)33.
13/12 - aula síncrona das 15:15h às 17:05h34.
15/12 - aula assíncrona e atividade (2h)35.
17/12 - avaliação substitutiva (2h)- Material da disciplina disponibilizado por meio do Portal Didático
- Uso das ferramentas MockFlow (https://mockflow.com), StarUML (https://staruml.io/), Eclipse (https://www.eclipse.org/) e Spring (https://spring.io/).
- Atendimento online com agendamento prévio por e-mail: sextas-feiras das 9h às 12h.
Critérios de Avaliação
A avaliação do aprendizado será realizada por meio de atividades assíncronas via Portal Didático:
2 Trabalhos Práticos, na qual cada um valerá 32% da nota final e atividades dadas ao longo da disciplina que totalizarão 36% da nota final. Em caso de nota final menor que 6.0, o aluno poderá realizar uma avaliação assíncrona teórica abrangendo todo o conteúdo que irá substituir a nota de um trabalho prático. As faltas serão contabilizadas por meio de atividades dadas ao longo da disciplina, totalizando 10 atividades.O aluno precisa entregar no mínimo 75% (7 atividades) para ser considerado frequente.
Bibliografia Básica
1. SOMMERVILLE, Engenharia de Software, Pearson, 2003.
2.
R. PRESSMAN. Engenharia de Software. Pearson Education, 2004.3.
W. de Pádua Paula FILHO, Engenharia de Software Fundamentos, Métodos e Padrões, 3a. Ed., LTC, 2009.Bibliografia Complementar
1.
S. PFLEEGER, Engenharia de Software Teoria e Prática, Makron Books, 2004.2.
SCHWABER, KEN Agile Project Management With Scrum 1a Ed. Microsoft Press 2004.3.
TELES, Vinícius Manhães Extreme programming: aprenda como encantar seus usuários desenvolvendo software com agilidade e alta qualidade 1a Ed. Novatec 2004.4.
Jose Carlos MALDONADO, Marcio Eduardo DELAMARO, Mario JINO, Introdução ao Teste de Software, 1a edição Campus 2007.5. FOWLER, Martin. Patterns of enterprise application architecture. Boston: Pearson, 2003. 533 p.
___________________________________________
Docente Responsável
Aprovado pelo Colegiado em
____________________________________
Coordenador
COORDENADORIA DO CURSO DE CIÊNCIA DA COMPUTAÇÃO
PLANO DE ENSINO
Disciplina: Introdução à Metodologia Científica Período: Variável Currículo: 2014
Docente: Elverton Carvalho Fazzion Unidade Acadêmica: DCOMP
Pré-requisito: Estatística e probabilidade aplicada à computação 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
Introdução aos conceitos básicos de pesquisa em ciência da computação contextualizada no método científico contemporâneo. Estrutura de artigos científicos. Escrita acadêmica. Revisão sistemática da literatura. Métodos de pesquisa quantitativos. Visualização de dados.
Apresentação e divulgação de artigos científicos. Ética na pesquisa.
Objetivos
Apresentar a natureza da pesquisa científica em computação atual com os seus métodos, as suas práticas e as reflexões metodológicas.
A assimilação dos conceitos da pesquisa deve ter por objetivo o desenvolvimento de um espírito crítico e observador, características pertinentes aos profissionais de ciência da computação. Espera-se ainda que o aluno adquira noções básicas de escrita, leitura e apresentação de artigos científicos.
Conteúdo Programático
● O Método Científico
● Estrutura de artigos científicos
● Revisão sistemática da literatura
● Escrita acadêmica
● Experimentação e métodos quantitativos
● Experimentação e visualização de dados
● Divulgação e apresentação de artigos científicos
Metodologia de Ensino
As aulas de exposição de conteúdo serão realizadas de forma síncrona, com disponibilização de videoaulas extras e assíncronas indicadas pelo professor para complementar o conteúdo visto na aula síncrona. Todos os encontros síncronos terão duração prevista de 1h30 (conforme Cronograma 1) .
O aluno deverá dispor de tempo além do horário estipulado pela Coordenadoria para visualizar as aulas de exposição e realizar outras atividades assíncronas como leitura de textos e realização do trabalho da disciplina (conforme Cronograma 2). O canal oficial de comunicação será o Portal Didático da UFSJ (Campus Virtual), sendo de responsabilidade do aluno o acompanhamento de atualizações durante os dias úteis.
O aluno deverá possuir um computador com acesso à Internet de qualidade que o permita visualizar vídeos e participar de
videoconferências. É necessário também que o aluno possua uma conta Google para acesso identificado nas plataformas GMail, Google Meet, YouTube, Google Classroom, Google Drive e outros produtos do Google bem como ter acesso ao Portal Didático (Campus Virtual) da UFSJ. O aluno também deverá possuir alguma forma de captura de imagens, como webcam ou câmera de celular, para atividades que necessitem de identificação, como realização de entrevistas. Por fim, entregas referentes ao trabalho da disciplina serão aceitas somente no formato PDF, em apenas um único arquivo, com tamanho máximo permitido pelo Portal Didático.
O curso exigirá uma conta no Overleaf (https://pt.overleaf.com) para desenvolvimento da parte escrita do trabalho da disciplina e uma conta no EasyChair (https://easychair.org/) para a atividade de revisão de artigos.
O docente estará disponível para atendimento aos alunos às sextas de 9:00 às 12:00, com agendamento prévio por parte do aluno via e-mail ([email protected]) com até 24h de antecedência. O atendimento se dará pelo Google Meet.
Cronograma 1: Atividades síncronas
Cronograma 2: Atividades assíncronas
Critérios de Avaliação
A pontuação da disciplina será distribuída da seguinte forma:40 pontos distribuídos em 5 entregas parciais do trabalho final (revisão, metodologia, trabalhos relacionados, introdução e resultados) 20 pontos para a entrega final do trabalho
15 pontos para duas apresentações parciais (revisão literária e introdução+metodologia) 15 pontos para a apresentação completa
10 pontos para a revisão de artigos
Caso o aluno não entregue no mínimo 75% das atividades propostas, será considerado infrequente. Caso o aluno perca uma entrega ou queira substituir a menor das notas entre as atividades revisão literária, metodologia, trabalhos relacionados, introdução e resultados, ele poderá entregar a mesma atividade até o dia 18/08/2021 como avaliação substitutiva. Se o aluno for aprovado com a avaliação
substitutiva, a nota ficará limitada em 6.
Bibliografia Básica
1. MARCONI, M.A.; LAKATOS, E.M. Fundamentos de Metodologia Científica (5a edição). Editora Atlas, 2003.
2. WAZLAWICK, R.S. Metodologia de Pesquisa para Ciência da Computação. Elsevier, 2009.
3. DRESCH, A.; ANTUNES, J.; LACERDA, D.. Design Science Research: Método de Pesquisa para Avanço da Ciência e Tecnologia. Bookman, 2015.
4. OLIVEIRA, I.. Introdução à metodologia científica. Virtualbooks, 2008.
Bibliografia Complementar
1. MORO, M.. Guia Rápido para Avaliar Artigos: não jogue no time adversário. SBC, 2021
___________________________________________
Docente Responsável
Aprovado pelo Colegiado em
____________________________________
Coordenador
COORDENADORIA DO CURSO DE CIÊNCIA DA COMPUTAÇÃO
PLANO DE ENSINO
Disciplina: Introdução à Sistemas Lógicos Digitais 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: 2021 Semestre: 1º
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:
Operações Booleanas (revisão).
Teoremas da álgebra de Boole (revisão).
Aplicação da álgebra booleana no projeto de circuitos.
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.
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.
Circuitos aritméticos:
Circuitos somador/subtrator e multiplicador.
Deslocadores paralelos.
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, segundo o cronograma sugerido a seguir. As atividades previstas no cronograma terão duração máxima de 1 hora e 50 minutos. O cronograma poderá ser alterado desde que haja concordância
entre a professora e os alunos e que seja comunicada pelo Campus Virtual ou durante as atividades síncronas com pelo menos uma semana de antecedência.
Data Tema
13/09/21 Apresentação 15/09/21 Introdução 20/09/21 Álgebra de Boole 22/09/21 Álgebra de Boole 27/09/21 Álgebra de Boole 29/09/21 Álgebra de Boole
04/10/21 Projeto de Circuitos Combinacionais 06/10/21 Projeto de Circuitos Combinacionais 11/10/21 Recesso
13/10/21 Prova 1
18/10/21 Projeto de Circuitos Combinacionais 20/10/21 Circuito combinacionais clássicos 25/10/21 Circuito combinacionais clássicos 27/10/21 Circuito combinacionais clássicos 01/11/21 Recesso
03/11/21 Circuitos sequenciais 08/11/21 Circuitos sequenciais 10/11/21 Prova 2
15/11/21 Feriado
17/11/21 Circuitos sequenciais 22/11/21 Circuitos sequenciais 24/11/21 Circuitos aritméticos 29/11/21 Circuitos aritméticos 01/12/21 Prova 3
06/12/21 Memórias 08/12/21 Feriado 13/12/21 Memórias 15/12/21 Prova 4
As atividades assíncronas, como leitura de textos, visualização de conteúdo multimídia, realização de exercícios e projeto de circuitos digitais serão definidas a cada aula e terão prazo de uma semana para sua execução. Cada atividade terá duração média de uma hora.
O aluno deve possuir uma conta Google (e-mail do Gmail) para acesso identificado nas plataformas Google Meet e YouTube para participar das aulas síncronas e assistir as gravações. Além disso, o aluno deverá acessar o Portal Didático (Campus Virtual) da UFSJ para realizar as atividades síncronas e assíncronas.
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).
É 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 de 10:00 às 11:30 e de 15:30 às 17:00, com agendamento prévio por parte do aluno via e-mail ([email protected]) ou Telegram com até 24h de antecedência. O atendimento se dará pelo Google Meet.
Critérios de Avaliação
40 pontos em atividades assíncronas relacionada a cada atividade síncrona (aula).
60 pontos em 4 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 20 pontos, sendo que o teste com menor nota será descartado ao final do período. Dito de outra maneira, o último teste substitui o de menor nota dentre os 3 anteriores.
Caso o aluno não entregue no mínimo 75% das atividades assíncronas 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: 2021 Semestre: 2
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 Métodos de inferência: Tableaux semânticos 4.3 Unificação
4.4 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;
- Ferramentas e tecnologias utilizadas: sistema operacional Windows/Linux, compilador Prolog.
- 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 (Prolog): 20 pontos Pesquisa bibliográfica: 20 pontos ______________
Total 100 pontos
O registro das frequências se dará conforme o Artigo 11 da RESOLUÇÃO Nº 004/2021/CONEP
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 menor nota obtida em uma das avaliações teóricas. A nota obtida na avaliação substitutiva não substituirá a nota original quando for inferior a esta.
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