Descrição das Disciplinas

Disciplinas ofertadas em 2017/1

Atenção: nem todas disciplinas são ofertadas a Alunos Especiais.

Algoritmos e Estrutura de Dados (4 créditos)
A disciplina aborda com caráter abrangente estruturas de dados lineares e não-lineares, incluindo hash estático e dinâmico. Além disso, no que tange a grafos, aborda representação, pesquisa, ordenação topológica e problemas de caminhamento e fluxo. Algoritmos de compressão e classificação de dados também são tratados.

Arquitetura de Computadores (4 créditos)
Linguagem de máquina e linguagem mnemônicas. Máquinas RISC e CISC. Arquitetura Von Neumann e Harvard. Conjunto de instruções e modos de endereçamento. Organização de processadores: bloco operativo e bloco de controle. Medidas de Desempenho. Organização de pipelines. Organização de memória: cache, memória virtual. Paralelismo: SIMD, superescalaridade. Arquiteturas VLIW. Processsadores DSP. Introdução as Arquiteturas SMT, CMP, manycore e MPSoC. Barramentos. Entrada e Saída: dispositivos, E/S programada, interrupções, acesso direto à memória, polling.

Teoria da Computação (4 créditos)
Teoria da Computação. Modelos computacionais. Tese de Church. O problema da parada. Redutibilidade de problemas. A noção de problema e de complexidade de problemas. Complexidade de tempo. Complexidade de espaço. Classes de complexidade de tempo: P, NP, P=NP?. Intratabilidade. Análise da complexidade de algoritmos. Projeto de Algoritmos ótimos e aproximativos. Pré-requisitos: para o acompanhamento da disciplina é necessário bons conhecimentos de algoritmos, sistemas discretos e lógica.

Concepção e Teste de Circuitos Integrados (4 créditos)
Concepção e Teste de Circuitos Integrados. Conceitos e evolução da integração VLSI. Materiais semicondutores: o transistor MOS. Portas lógicas CMOS. Processo de fabricação CMOS básico. Regras de projeto CMOS e edição de leiaute. Modelos do transistor MOS: capacitâncias de gate, canal, difusão; capacitâncias parasitas do layout. Simulação elétrica. Tipos de implementação. Etapas de teste no projeto de Circuitos Integrados. Teste funcional e teste estrutural. Modelo e simulação de falhas. Geração de teste.

Fundamentos de Inteligência Artificial (4 créditos)
Fundamentos da Inteligência Artificial. Aspectos filosóficos da Inteligência Artificial. Argumentos a respeito da IA Forte e IA Fraca. História da IA. Algoritmos de busca para solução de problemas. Algoritmos de busca exaustiva. Algoritmos de busca heurística. Funções heurísticas. Busca local e problemas de otimização. Busca competitiva. Representação do conhecimento. Conceitos de IA Distribuída, Aprendizado de Máquina e Sistemas Evolutivos.

Lógica para Computação (4 créditos)
Lógica para Computação. Revisão de lógica proposicional e de primeira ordem; Sintaxe, semântica e aplicações das lógicas modais, temporais e outras lógicas não-clássicas.

Metodologia Científica para Computação (2 créditos)
Metodologia para Pesquisa e Desenvolvimento em Computação. Introdução à pesquisa científica e ao desenvolvimento tecnológico. Estudo do método de pesquisa científico. Organização, redação e realização de projetos de pesquisa. Consulta a literatura, fundamentação teórica e revisão bibliográfica. Difusão do conhecimento.

Projeto e Teste de Sistemas Digitais (4 créditos)
Bases numéricas. Sistemas de numeração em computação. Aritmética binária. Representação de dados: números em ponto fixo e ponto flutuante, codificação BCD, numérica e alfanumérica. Introdução aos Sistemas Digitais. Tecnologia MOS: o Transistor MOS, Portas Lógicas. Dispositivos programáveis: PLA, PAL, FPGA. Circuitos Lógicos: funções, representações canônicas, minimização, mapeamento, comportamento dinâmico. Circuitos Combinacionais aritméticos e de interconexão. Noções de VHDL. Níveis de Abstração. Metodologias de Projeto de Sistemas em Chip. Modelo Parte Operativa/Parte de Controle. Projeto da Parte de Controle: Máquina de Estados Finitos. Projeto da Parte Operativa. Memória. Prototipação. Etapas de teste no projeto de Circuitos Integrados. Teste funcional e teste estrutural. Modelo e simulação de falhas. Geração de teste.

Seminários de Computação I (2 créditos)
Esta disciplina oferece encontros semanais com palestras de diferentes pesquisadores e profissionais de áreas de interesse às linhas de pesquisa do PPGC. Ao final, o aluno deverá apresentar um relatório relacionando uma ou mais palestras a seu projeto de pesquisa.

TEC – Hierarquias Avançadas de Memória (4 créditos)
Revisão de hierarquias de memória. Memórias RAM: SRAM e DRAM. Desafios de memórias voláteis e não-voláteis. Tecnologias do futuro: Phase-change memory, Spin-transfer torque RAM, Magnetic RAM, Ferroelectric RAM e outras. Arranjos híbridos de hierarquias de memória. Simulação e avaliação de hierarquias de memória. Pré-requisitos: Arquitetura e Projeto de Computadores ou Arquiteturas Avançadas de Computação

TEC – Avanços em Memórias Transacionais (2 créditos)
O objetivo desta disciplina é estudar os principais avanços na área de memórias transacionais
que aconteceram nos últimos anos. Em especial, serão abordados aspectos relativos ao escalonamento
de transações, transações para arquiteturas distribuídas e memórias transacionais para arquiteturas NUMA. No final da cadeira o aluno terá uma visão geral dos acontecimentos e avanços na área de memórias transacionais que ocorreram nos últimos anos.

TEC – Avaliação de Desempenho de Sistemas (4 créditos)
O objetivo desta disciplina é habilitar o aluno a identificar dentre as diferentes abordagens de avaliação de desempenho de sistemas computacionais àquela mais adequada para análise de um determinado problema. Capacitar o aluno a utilizar técnicas de simulação e analíticas para avaliação de desempenho de sistemas. Ementa: Métodos de avaliação quantitativa de desempenho de sistemas: monitoração, simulação, e métodos analíticos. Formalismos de modelagem. Simulação discreta e contínua. Métodos analíticos de avaliação de sistemas. Estudo de casos.