Descrição das Disciplinas

Disciplinas ofertadas em 2018/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.

Introdução ao Processamento Paralelo e Distribuído
Decomposição do paralelismo. Programação usando memória compartilhada. Programação usando memória distribuída. Troca de Mensagens. Modelos de programação. Principais taxonomias. Modelos de computação móvel. Mobilidade de dados e código. Operações desconectadas. Arquitetura de sistemas distribuídos de grande escala. Computação em grade e ubíqua. Sistemas distribuídos baseadas em eventos. Algoritmos paralelos e distribuídos. Outros modelos: Objetos concorrentes e distribuídos, Espaço de Tuplas, e Memórias Transacionais.

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.

Tópicos Especiais em Computação II: Princípios de Codificação de Vídeo (4 créditos)