Introdução à Ciência da Computação e Programação em Python
1. Conceitos básicos de programação em Python, incluindo tipos de
dados, expressões, declarações e funções. 2. Controle de fluxo de programa usando estruturas condicionais, de repetição e de ramificação. 3. Programação orientada a objetos em Python, incluindo classes, objetos, herança e polimorfismo. 4. Estruturas de dados básicas, como listas, tuplas e dicionários. 5. Tratamento de exceções, entrada/saída de arquivos e programação gráfica em Python.
Matemática para Ciência da Computação
1. Fundamentos de álgebra linear e cálculo, incluindo funções,
limites, derivadas e integrais. 2. Teoria dos conjuntos, relações e funções. 3. Grafos e árvores, incluindo representações, algoritmos de busca e caminhamento e teoria dos grafos. 4. Lógica matemática, incluindo proposições, conectivos lógicos e quantificadores. 5. Análise combinatória, probabilidade, estatística e teoria dos números.
Circuitos e Eletrônica
1. Fundamentos de eletricidade e magnetismo, incluindo leis de
Ohm e de Kirchhoff. 2. Circuitos DC e AC, incluindo circuitos com resistores, capacitores e indutores. 3. Circuitos digitais, incluindo álgebra booleana, portas lógicas e circuitos combinacionais e sequenciais. 4. Eletrônica analógica, incluindo amplificadores operacionais, filtros e osciladores. 5. Sensores, atuadores e circuitos integrados.
Estruturas de Dados e Algoritmos
1. Listas, pilhas, filas e tabelas hash.
2. Árvores binárias, árvores de busca binária e árvores balanceadas. 3. Grafos, incluindo algoritmos de busca em profundidade e largura, algoritmos de caminhamento e teoria dos grafos. 4. Algoritmos de ordenação, como merge sort, quick sort e radix sort. 5. Algoritmos de busca, como busca sequencial e busca binária, e algoritmos de compressão de dados. Linguagens de Programação
1. Fundamentos de linguagens de programação, incluindo
gramáticas, sintaxe e semântica. 2. Paradigmas de programação, como programação funcional, programação imperativa e programação orientada a objetos. 3. Tipos de dados avançados, como tipos abstratos de dados e tipos genéricos. 4. Compiladores, incluindo análise léxica, análise sintática, análise semântica e geração de código. 5. Ferramentas de programação, como depuradores, perfis e 6. testadores de unidade.
Arquitetura de Computadores
1. Arquitetura básica de computadores, incluindo processadores,
memória e dispositivos de entrada/saída. 2. Organização de memória, incluindo tipos de memória, hierarquia de memória e cache. 3. Barramentos de dados, endereços e controle, e dispositivos de entrada/saída. 4. Arquitetura de processadores, incluindo a unidade central de processamento (CPU), a unidade de ponto flutuante (FPU) e a unidade de controle (CU). 5. Arquiteturas paralelas, incluindo processamento paralelo e distribuído, e arquiteturas de multiprocessadores.
Sistemas Operacionais
1. Fundamentos de sistemas operacionais, incluindo gerenciamento
de processos, memória e arquivos. 2. Sistemas de arquivos, incluindo estruturas de diretório, alocação de espaço em disco e segurança. 3. Gerenciamento de entrada/saída, incluindo controladores de dispositivos, buffers e interrupções. 4. Sistemas distribuídos, incluindo comunicação entre processos e sincronização. 5. Virtualização, incluindo máquinas virtuais, emulação e contêineres.
Teoria da Computação
1. Teoria dos autômatos, incluindo autômatos finitos determinísticos
e não determinísticos, e gramáticas regulares. 2. Teoria da computabilidade, incluindo máquinas de Turing, linguagens recursivamente enumeráveis e decidíveis. 3. Complexidade computacional, incluindo classes de complexidade, problemas NP-completos e reduções polinomiais. 4. Criptografia, incluindo criptografia de chave simétrica e de chave pública, e protocolos de segurança. 5. Teoria da informação, incluindo codificação de fonte e canal, e teoremas da codificação. 6.