Old Notebooks
When I was a undergraduate student at IME I used to take notes on a few subjects, and with the help of my friend Moisés, I scanned it and organized it in a website. All the material in this website is in Portuguese and cover some nice topics in Computer Science and is based on professor's class notes. DISCLAIMER: This material contains errors and is not mantained anymore.Cursos:
- Princípios de Telecomunicações
- Estruturas de Dados
- Lógica
- Robótica
- Sistemas Operacionais
- Linguagens Formais e Autômatos
- Computação Gráfica
- Arquitetura de Computadores
- Compiladores
- Linguagens de Programação
- Projeto e Análise de Algoritmos
Princípios de Telecomunicações
Curso dado pelo Maj Guimarães no primeiro semestre de 2005- Telecom01 : Introdução e Transformada de Fourier
- Telecom02 : Sistemas Lineares e Invariantes no Tempo
- Telecom03 : Modulação Analógica
- Telecom04 : Transmissão Discreta no Tempo
- Telecom05 : Codificação da Fonte, Códigos de Huffman e Lampel-Ziv
- Telecom06 : Interferência entre Símbolos
- Telecom07 : Exercícios 1
- Telecom08 : Resumo VC
- Telecom09 : Transmissão M-ária, Análise Vetorial
- Telecom10 : Transmissão Digital Passa Faixa, Modulação Digital
- Telecom11 : Códigos Corretores de Erros
- Telecom12: Códigos Cíclicos, Códigos Convolucionários
- Telecom13 : Exercícios 2
- Telecom14 : Exercícios 3
- Telecom15 : Desempenho das Modulações
Estruturas de Dados
Curso dado pelo Maj Luiz Henrique no primeiro semestre de 2005- EstDados01 : Introdução e Complexidade de um Algoritmo
- EstDados02 : Listas Lineares
- EstDados03 : Árvores Binárias
- EstDados04 : Árvores com Freqüência de Acesso Diferenciada
- EstDados05 : Árvores AVL
- EstDados06 : Árvores B
- EstDados07 : Grafos
- EstDados08 : Heap
Lógica
Curso dado pela Professora Claudia Oliveira no segundo semestre de 2005- Logica01
- Logica02
- Logica03
- Logica04
- Logica05
- Logica06
- Logica07
- Logica08
- Logica09
- Logica10
- Indução e Recursão
- Compacidade
Robótica
Curso dado pelo Professor Paulo Rosa no segundo semestre de 2005- Robotica01
- Robotica02
- Robotica03
- Robotica04
- Robotica05
- Robotica06
- Robotica07
- Robotica08
- Robotica09
- Robotica10
- Robotica11
- Robotica12
- Exercicios 1 | Resposta 1 | Resposta 2
- Método de Denavit-Hartenberg
- Manipulador de Stanford
- Exercicios 2 | Resposta [ errata ]
- Sistemas de Coordenadas
- Transformações Diferenciais
- Planejamento de Trajetória
Sistemas Operacionais
Curso dado pelo Cel Ishikawa no segundo semestre de 2005Linguagens Formais e Autômatos
Curso dado pelo Professor Alex Garcia no segundo semestre de 2006- LFA01 [ errata ]
- LFA02
- LFA03
- LFA04
- LFA05
- LFA06
- LFA07
- Lista1 | Lista2 | Lista3 | VE | Programas
- Máquina de Turing - Uma implementação em C++ de uma Máquina de Turing determinística. Entra-se com um progrma em um arquivo texto (por programa, entende-se aqui as funções delta da maquina) e com a configuração inicial da fita em outro arquivo texto. Ela retorna o todo o processamento e TRUE (se a maquina para em um estado final) ou FALSE (se ela para em um estado não final). Cuidado, pois se a maquina que voce construir não parar o programa também não para, e tratar isso é um problema não computável (Problema da Parada de Turing) !!
- Maquina de Turing Não Determinística - Uma alteração do programa acima para simular Máquinas de Turing não determinísticas. Ela funciona usando um mecanismo de múltiplas threads - quando suas alternativas são possíveis (não-determinismo), a máquina se divide em duas (duas threads) e cada uma segue um caminho. Se alguma das threads parar em um estado final, a máquina retorna TRUE. Se alguma das threads não parar, o programa não para. Note que, se houverem muitas regras com múltiplas alternativas, o número de threads cresce exponencialmente.
Computação Gráfica
Curso dado pelo Ten Madeira no primeiro semestre de 2006- CompGraf01
- CompGraf02
- CompGraf03
- CompGraf04
- CompGraf05
- CompGraf06
- CompGraf07
- CompGraf08
- CompGraf09
- CompGraf10
- Projeção e Anaglifos [ pdf | zip ]
- Lista 1 - Geometria Projetiva
- Lista 2 - Cor e Imagem [ errata ]
Arquitetura de Computadores
Curso dado pelo Professor Amarildo no primeiro semestre de 2006- ArqComp01
- ArqComp02
- ArqComp03
- ArqComp04
- ArqComp05
- ArqComp06
- Formulario de Assembly (Farah)
- Pipeline Hazards (Cançado)
Compiladores
Curso dado pelo Professor Alex Garcia no segundo semestre de 2006- Compiladores01
- Compiladores02
- Compiladores03
- Compiladores04
- Compiladores05
- Compiladores06
- Exercicios [ mesma lista de LFA ]
Linguagens de Programação
Curso dado pelo Professor Alex Garcia no segundo semestre de 2006- LingProg01
- LingProg02
- Lambda-Calculus 1
- Lambda-Calculus 2
- Interpretador de Lambda-Calculus : Lambda-Calculus é, como a Máquina de Turing um paradigma proposto para se definir computabilidade. É possível provar que Lambda-Calculus é Turing-completo, ou seja, que consegue fazer tudo o que uma Máquina de Turing consegue fazer. Essa é uma implementação em C++ de um interpretador, onde você pode entrar com um programa e ele faz as alpha e beta reduções até chegar na forma normal. Note que o programa pode não parar, mas isso é um problema não computável.