Roadmap · Foundations
CS core subjects
Opens with creditsFor computer science and software engineering students who want to understand the core subjects they are examined on, and for self-taught developers filling the same gaps. By the end you can explain how a program runs on real hardware, design with objects, reason about processes, networks and databases, and prove it with small systems projects instead of memorised answers.
By the end, you will be able to
- Explain what happens from source code to a running process: compilation, memory layout, the CPU cycle and the operating system calls in between
- Design a small program with classes, interfaces and composition, and justify each choice with a named principle
- Trace a web request through DNS, TCP, TLS and HTTP, and a database write through a transaction, an index and a commit
- Build a shell, a socket server or a tiny database that shows your understanding in working code
The path
8 stages, in the order to learn them. Open one to start.
1How a computer runs a programBinary, logic, the CPU, memory and the path from source code to machine instructions. Every other subject in this roadmap sits on top of this picture.7 topics · ~4 weeks
- 1Binary, hexadecimal and integersComputers store everything as bits: tiny switches that are either 0 or 1.
- 2Text encodings and floating pointCharacters are stored as numbers too.
- 3From logic gates to a CPUA CPU, the processor that runs your code, is built from very simple parts called logic gates.
- 4The fetch, decode, execute cycleA CPU runs a program by repeating one loop: fetch, decode, execute, also called the instruction cycle.
- 5The memory hierarchy and cachesA computer keeps data in several places, and they differ in speed by orders of magnitude.
- 6Program memory: the stack and the heapA running program's memory is split into regions: the code itself, global data, the stack and the heap.
- 7Compilers, interpreters and bytecodeSource code has to be turned into something the machine can run.
7 in this stageOpen this stage2Object-oriented programming and designClasses, the four pillars, composition and the SOLID principles at an introductory level. The goal is code that is easy to change, not a list of definitions for the exam.8 topics · ~5 weeks
- 1Classes, objects and responsibilitiesA class describes a kind of thing: the data it holds and what it can do.
- 2EncapsulationEncapsulation means an object keeps its data private.
- 3Inheritance and when not to use itInheritance lets a new class, called a subclass, reuse and extend a parent class.
- 4PolymorphismPolymorphism means one call works on many types, and each type responds in its own way.
- 5Abstraction, interfaces and abstract classesAbstraction means depending on what something does, not on how it does it.
- 6Composition over inheritanceComposition means building an object out of other objects that it holds and hands work to.
- 7SOLID principles, at an introductory levelThe SOLID principles are five guidelines for classes that are easy to change.
- 8Design patterns: a first handfulA design pattern is a named, reusable solution to a design problem that keeps coming up.
8 in this stageOpen this stage- Operating systemsProcesses, threads, scheduling, memory, concurrency and file systems: how one machine runs many programs safely. This is where most students first meet bugs that do not happen every time.8 topics · ~7 weeksOpens with credits
- Computer networksLayers, IP, TCP and UDP, DNS, HTTP and TLS, ending with what really happens when you type a URL. Every web, mobile and backend job depends on this stage.8 topics · ~6 weeksOpens with credits
- Databases: theory and internalsThe relational model, keys, normalisation, transactions, isolation and indexes. SQL syntax stays light here; the SQL and databases roadmap covers queries in depth.8 topics · ~6 weeksOpens with credits
- Software engineeringHow software gets built by teams: life cycles, requirements, UML, version control, testing and code quality. The subject most students find dull and most employers care about.7 topics · ~4 weeksOpens with credits
- Theory worth knowingComplexity, discrete maths, automata and compilers at the level of intuition. Enough to follow your theory courses and to reason about what programs can and cannot do.8 topics · ~6 weeksOpens with credits
- Tie it together with projectsTurn the subjects into working systems: a shell, a server, a tiny database. Projects are what turn exam knowledge into understanding you can show.7 topics · ~2 monthsOpens with credits
6 more stages, 46 more topics, free with an account.
You have seen the open stages of the CS core subjects roadmap. Every topic it covers is listed above, and an account opens the rest: what each topic means, a question to check yourself, the courses, the practice and Tauseef's advice for every stage. Early access is open: sign up and your account is active shortly after.
Everything here is free to learn from. A few things, like adding a roadmap, keeping a cheat sheet or asking Tauseef a question, use credits. You get 15 when you join, your first roadmap is free, and if you are learning seriously and run out, you can ask for more. Credits only make sure the platform goes to people who are actually learning.
Related on Sefism
Picked from the other libraries by shared topics.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
- 1:1 Mentorship
- Fresh Graduate Mentorship
- Career Guidance
Brand deals, promos and partnerships: tauseeffayyaz@gmail.com