AlexGalhardo/computer-science-fundamentals
AlexGalhardo/computer-science-fundamentals has 1,289 GitHub stars and 248 forks. GitHot measured -2 in 7 days. Last checked 2026-11-09 19:15 UTC. Last push 2026-10-25.
Learning Computer Science Fundamentals With Theory Quiz Questions and Practical Mini Projects. One Step At Time :turtle:
Measured star growth
- in 24h
- Update delayed
- in 7 days
- -2
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
docs/en/README.md
OriginalDocumentation (English)
Documentation is organised by area. Every page here has an equivalent page under docs/pt/ and docs/es/. This page is generated by bun run docs:index: do not edit it by hand.
Guides
- Study references for every area
- Project decisions
- Quiz design
- How to write quiz questions
- Mini-project catalog
- Environment: pinned Docker images and formatters
- Benchmark contract and runner
- Brainstorming record
Status by area
3384 of 3384 questions written, 86 of 86 mini-projects done. The roadmap is PLAN.md.
| Area | Kind | Questions | Blind review | Mini-projects |
|---|---|---|---|---|
| Big O and algorithm analysis | Theory and practice | 100/100 | done | big-o-lab, master-theorem, sorting-lower-bound |
| Data structures | Theory and practice | 100/100 | done | hash-map, graph-algorithms, b-tree-on-disk, lru-bloom-trie, balanced-trees |
| Operating systems | Theory and practice | 100/100 | done | cpu-scheduling, paging-tlb, memory-allocator, deadlock-mini-shell |
| Networks | Theory and practice | 100/100 | done | sliding-window-mini-tcp, aloha-csma, dns-subnet |
| Databases (theory) | Theory and practice | 100/100 | done | mini-dbms, normalisation-tool |
| Algorithms | Theory and practice | 100/100 | done | sorting-race, dynamic-programming, travelling-salesman, hybrid-quicksort |
| Concurrency | Theory and practice | 100/100 | done | counter-race, dining-philosophers, ten-thousand-connections |
| Parallelism | Theory and practice | 100/100 | done | scaling-by-cores |
| Transactions | Theory and practice | 100/100 | done | isolation-levels, overselling-checkout, orm-vs-sql, outbox-saga |
| Security | Theory and practice | 100/100 | done | sql-injection-lab, xss-csp-lab, csrf-lab, access-control-lab, ssrf-lab, passwords-sessions-lab, jwt-lab, upload-path-traversal-lab |
| Compilers | Theory and practice | 100/100 | done | mini-language-parser, tree-walking-interpreter, bytecode-vm, regex-engine |
| State machines | Theory and practice | 100/100 | done | order-state-machine |
| Information theory | Theory and practice | 100/100 | done | huffman-lz77, error-detection-correction |
| Digital logic | Theory and practice | 100/100 | done | gates-karnaugh-adders, nand-alu-cpu |
| Electronics | Theory | 170/170 | done | none |
| Object-oriented programming | Theory and practice | 100/100 | done | oop-vs-functional, code-smells |
| Functional programming | Theory and practice | 100/100 | done | pure-functions-properties |
| Design patterns and SOLID | Theory and practice | 100/100 | done | backend-patterns, solid-before-after |
| Software architecture | Theory and practice | 100/100 | done | clean-architecture-app |
| Testing | Theory and practice | 100/100 | done | test-pyramid, tdd-kata, mutation-testing, flaky-tests, mini-xunit |
| Protocols | Theory and practice | 100/100 | done | rest-graphql-jsonrpc, http-versions, http-server-raw-tcp |
| Messaging | Theory and practice | 100/100 | done | queue-comparison, idempotency-dlq, pubsub-backpressure |
| Load balancing | Theory and practice | 100/100 | done | nginx-vs-caddy, l7-load-balancer |
| Performance | Theory and practice | 100/100 | done | bun-vs-node, k6-scenarios, cache-friendly-matrix |
| Cache | Theory and practice | 100/100 | done | cache-strategies |
| Rate limiting | Theory and practice | 100/100 | done | rate-limiter |
| File systems | Theory and practice | 100/100 | done | file-organisation, external-sorting |
| Observability | Theory and practice | 100/100 | done | three-signals, structured-logs, slo-alert, flame-graph |
| Blockchain | Theory and practice | 100/100 | done | didactic-blockchain |
| Continuous integration | Theory and practice | 100/100 | done | ci-pipeline |
| Software engineering | Theory | 150/150 | done | none |
| Artificial intelligence and LLMs | Theory and practice | 164/164 | done | bpe-tokenizer, neural-network-from-scratch, embeddings-vector-search, tiny-language-model, diffusion-toy, pytorch-basics, tensorflow-keras-basics, computer-vision-cnn |
Explore related projects
sindresorhus/awesome
😎 Awesome lists about all kinds of interesting topics [NOTE: Pull requests are temporarily disabled until I have a chance to catch up with the existing ones]
534,916 starsEbookFoundation/free-programming-books
:books: Freely available programming books
401,466 starsnilbuild/developer-roadmap
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
371,762 starsvinta/awesome-python
The definitive list that answers "I want to do X in Python, which tool should I use?"
333,868 stars