É difícil definir objetivamente "difícil", pois depende do fundo do leitor. Algumas palavras podem ser difíceis para um iniciante, mas trivial para um especialista. No entanto, aqui estão 50 palavras frequentemente usadas em ciência da computação e campos relacionados, variando de dificuldade e abrangendo vários subcampos. Alguns exigem compreensão dos conceitos subjacentes, em vez de apenas memorização da definição.
Hardware e arquitetura: 1. Microarquitetura
2. Hyperthreading
3. Superscalar
4. Coerência de cache
5. Memória virtual
6. E/S mapeada de memória
7. DMA (acesso direto à memória)
8. Manipulador de interrupção
9. Riscos de pipeline
10. Previsão de ramificação
11. Arquitetura do conjunto de instruções (ISA)
12. firmware
13. BIOS (sistema básico de entrada/saída)
14. CMOS (complementares-óxido-semicondutor)
15. Northbridge/Southbridge (terminologia mais antiga)
Software e programação: 16. Polimorfismo
17. Abstração
18. Encapsulamento
19. Herança
20. Recursão
21. Programação assíncrona
22. Multithreading
23. Deadlock
24. Condição de corrida
25. Coleta de lixo
26. Profundidade de recursão
27. Manuseio de exceção
28. Metaprogramação
29. Programação orientada a objetos (OOP)
30. Programação funcional
31. Programação imperativa
32. Programação declarativa
Rede e segurança: 33. Criptografia
34. Steganografia
35. Firewall
36. Sniffing de pacotes
37. negação de serviço (DOS)
38. Ataque de homem no meio
39. Criptografia simétrica
40. Criptografia assimétrica
41. VPN (rede privada virtual)
42. Protocolos de roteamento
Banco de dados e estruturas de dados: 43. Normalização
44. Banco de dados relacional
45. Banco de dados NoSQL
46. Tabela de hash
47. B-Tree
48. Lista vinculada
49. Travessal do gráfico
Computação geral: 50. Heurísticas
Esta lista abrange uma ampla gama de conceitos. A dificuldade está apenas na definição dos termos, mas na compreensão de suas implicações e aplicações no contexto dos sistemas de computador. Olhar para cada termo e explorar seu uso em diferentes contextos melhorará a compreensão.