ENADE Ciência da Computação study materials
ENADE Ciência da Computação study resources

ENADE Ciência da Computação cheat sheet

ENADE Ciência da Computação · Keep the key ideas within reach.

Quick reference

Conteúdos programáticos das diretrizes curriculares

  • A formação em Ciência da Computação articula três eixos: formação básica (matemática, física, lógica), formação tecnológica (algoritmos, arquitetura, engenharia de software, redes, banco de dados) e formação complementar (humanidades, gestão, ética).

  • Complexidade assintótica: O(1) < O(log n) < O(n) < O(n log n) < O(n²) < O(2^n) < O(n!); busca binária é O(log n) e requer vetor ordenado.

  • Estruturas lineares (pilha LIFO, fila FIFO, lista) diferem de não lineares (árvore, grafo); árvore binária de busca tem busca média O(log n) e pior caso O(n).

  • Modelo relacional: chave primária identifica a tupla, chave estrangeira referencia outra tabela; normalização 1FN (atributos atômicos), 2FN (sem dependência parcial) e 3FN (sem dependência transitiva).

  • Arquitetura de computadores: hierarquia de memória (registradores, cache, RAM, disco) equilibra custo, capacidade e latência; pipeline aumenta vazão e sofre hazards de dados, controle e estruturais.

  • Redes: modelo TCP/IP tem camadas aplicação, transporte, rede e enlace; TCP é orientado a conexão e confiável, UDP é não orientado a conexão e sem garantia de entrega.

  • Engenharia de software: ciclo de vida em cascata é sequencial e rígido; métodos ágeis (Scrum, XP) usam iterações curtas, entregas incrementais e feedback contínuo.

  • Sistemas operacionais: escalonamento de processos, gerência de memória (paginação, segmentação), concorrência (exclusão mútua, semáforos) e deadlock (exclusão mútua, posse e espera, não preempção, espera circular).

  • Lógica e matemática discreta sustentam prova de correção: indução matemática, invariantes de laço, relações de equivalência e ordem, grafos e contagem.

Quick reference

Habilidades e competências da área de formação

  • Interpretar um problema, abstrair o modelo computacional adequado, especificar a solução e justificar as escolhas técnicas com argumentos formais.

  • Analisar algoritmos quanto a corretude (pré-condição, pós-condição, invariante) e eficiência (tempo e espaço no pior caso e caso médio).

  • Projetar e implementar software com modularidade, coesão alta e acoplamento baixo, aplicando testes e refatoração.

  • Modelar dados e escrever consultas relacionais, avaliando integridade, redundância e desempenho de índices.

  • Diagnosticar falhas em sistemas computacionais integrando conhecimentos de hardware, sistema operacional e rede.

  • Avaliar impactos éticos, legais, sociais e ambientais da computação, incluindo privacidade, segurança e acessibilidade.

  • Trabalhar em equipe e comunicar resultados técnicos de forma clara em relatórios e apresentações.

  • Aprender de forma autônoma e acompanhar a evolução tecnológica, relacionando teoria e prática em projetos.