Computer Science: Foundations to Specialization
A degree-shaped self-study curriculum: programming, mathematics, theory, computer systems, data, software engineering, and a substantial capstone. This is a learning plan, not an accredited degree or a claim that all university requirements are implemented here. The short track schedules are introductions or refreshers, not substitutes for semester courses.
Use the source register for textbook identity, access, and validation evidence. The breadth checklist is informed by ACM/IEEE-CS/AAAI CS2023; the sequencing, projects, and assessment rules below are Supersource’s recommendations, not requirements quoted from that standard.
Entry requirements and pacing
Section titled “Entry requirements and pacing”Start with algebra, functions, exponentials/logarithms, and trigonometry. If these are unfamiliar, work through those topics before calculus. No prior programming is required for the first term. Read technical English, use a terminal, and learn Git alongside programming.
The eight terms below describe ordering, not guaranteed completion dates. Budget roughly 12-15 weeks per term and 8-12 hours per active subject each week; three subjects imply 24-36 hours per week before a capstone. These are planning estimates. At 10 hours total per week, take one subject at a time. Advance on demonstrated competence, not elapsed weeks.
Core sequence
Section titled “Core sequence”| Term | Subjects and readings | Prerequisites | Required evidence |
|---|---|---|---|
| 1 | Programming with Composing Programs; Discrete Math 1, Hammack; Calculus 1, OpenStax | Entry algebra; trigonometry for calculus | Tested command-line program; direct, contradiction, and induction proofs; derivative and integral problems |
| 2 | Data structures with Open Data Structures and practice; Discrete Math 2, Levin; Linear Algebra, Hefferon | Term 1 programming and proofs | Implement a hash table and graph traversal; prove a loop invariant; solve systems and explain rank/nullity |
| 3 | Algorithms, Erickson after basic data structures; architecture with Nand to Tetris; Calculus 2 | Terms 1-2 | Correctness proof and complexity analysis; logic gates through CPU and assembler; numerical integration with error comparison |
| 4 | OS with Operating Systems: Three Easy Pieces; networking; Probability & Statistics | Architecture, programming, discrete math; Calculus 2 for continuous probability | Shell/process exercise; concurrent queue with race tests; socket protocol handling partial reads; simulation and interval estimates |
| 5 | Databases with Berkeley CS186; theory with MIT 6.045J; Calculus 3 | Algorithms, proofs, OS; Calculus 2 and linear algebra | SQL and query-plan analysis; transaction anomaly reproduction; automata and reduction proofs; gradient checking |
| 6 | Programming Languages, including parsing, interpreters and type checking; Software Craftsmanship; security with Berkeley CS161 | Programming, theory, OS and networks | Small interpreter and type checker; team review and CI; threat model and security regression cases |
| 7 | HCI with MIT 6.831; graphics with Berkeley CS184; introductory AI/ML plus search in graphs | Programming and software engineering; linear algebra, calculus and statistics for graphics/ML | Usability study; transformed and rendered scene; search baseline and supervised model with held-out evaluation |
| 8 | Distributed systems, data engineering, specialization, and the Build Your Own LLM System course as one possible systems capstone | OS, networking, databases, software engineering; specialization-specific math | Failure-injection report; reproducible pipeline; defended capstone with results and limitations. The course provides a staged Python, Rust, and Go build; optional C exercises are standalone and outside the core gates |
Practice technical writing, accessibility, privacy, attribution, and professional responsibility throughout. Include a stakeholder-impact analysis in each substantial project. Study concurrency on one machine before distributed execution. A type-systems survey alone does not complete a programming-languages course.
Breadth audit
Section titled “Breadth audit”These are coverage judgments, not certification of CS2023 learning outcomes. “Local” means relevant material exists, not that a full semester or an independently graded assessment is available. External courses fill gaps in this plan; their existence does not mean their content has been imported.
| CS area | Current route | Coverage boundary |
|---|---|---|
| Software development fundamentals | Composing Programs + local practice | Introductory teaching supplied externally |
| Algorithmic foundations | Local algorithms + Erickson + MIT theory | Formal computability/complexity supplied externally |
| Mathematical and statistical foundations | Seven local math topics + applied labs below | Add numerical optimization for data/ML depth |
| Architecture and organization | Nand to Tetris | External course; no dedicated local architecture track |
| Systems fundamentals | Architecture, OS, local C/C++ practice, and the end-to-end LLM systems course | Cross-course route; the course is a specialization project, not a complete OS or architecture sequence |
| Operating systems | OSTEP + local concurrency practice | Full OS course supplied externally |
| Networking and communication | Dordal + local RPC/streaming | Network fundamentals supplied externally |
| Data management | CS186 + local data engineering | Database internals supplied externally |
| Foundations of programming languages | Local type systems + interpreter assignment | Parsing/runtime/compiler depth needs further study |
| Software engineering | Local craftsmanship, testing, architecture, documentation | Team review must be arranged by learner |
| Parallel and distributed computing | Local concurrency, systems, AI platform | Requires measured failure and scaling experiments |
| Artificial intelligence | Local algorithms/search, ML, RL and foundation models | Logic, planning and knowledge representation need additional depth |
| Security | CS161 + local authorization | Security foundations supplied externally |
| Human-computer interaction | MIT 6.831 + project usability study | External course; no local HCI track |
| Graphics and interactive techniques | CS184 + linear algebra | External course; no local graphics track |
| Society, ethics, and the profession | Impact analysis across projects | Needs independent case discussion and review |
| Specialized platform development | Local cloud, infrastructure and edge inference | Mobile/embedded breadth remains an elective gap |
Mathematics must produce working artifacts
Section titled “Mathematics must produce working artifacts”For each lab: state assumptions, derive the method, implement a small version, compare against a known answer or independent library, and explain where it fails. These are assignment specifications, not prebuilt graded exercises.
| Foundation | Application | Acceptance evidence |
|---|---|---|
| Logic, sets, relations, induction | Dependency scheduler and permissions graph | Correct topological order or cycle witness; invariant proof; disconnected and cyclic cases |
| Counting, recurrences, modular arithmetic | Dynamic programming and hashing | Derive recurrence and complexity; enumerate small cases independently; distinguish collisions from equality |
| Linear systems, projections, eigenvectors, SVD | Least squares and PCA | Compare QR/SVD solution with a library; measure residual and reconstruction error; test rank deficiency; avoid explicit normal-equation inversion |
| Derivatives and Taylor approximation | Root finding and one-dimensional optimization | Compare analytic derivatives with central differences over several step sizes; report nonconvergence and cancellation |
| Integration and series | Numerical quadrature and probability normalization | Compare against an analytic integral; measure error as resolution changes; state convergence assumptions |
| Multivariable calculus and chain rule | Logistic regression or a tiny neural network | Derive gradients; finite-difference check on a smooth objective; show training loss and held-out performance separately |
| Probability and inference | Queue simulation and A/B experiment | Seeded replications; estimated uncertainty; assumptions about sampling and independence; false-positive simulation |
| Optimization and numerical analysis | Regularized regression and gradient descent | Compare with closed-form or library reference; learning-rate and conditioning experiment; stopping criterion |
Use Mathematics for Machine Learning to connect linear algebra, vector calculus, probability, and optimization to regression, PCA, and mixture models. It complements the foundational books. It is not a replacement for learning proof or elementary calculus.
Specializations after the core
Section titled “Specializations after the core”| Area | Ordered route | Capstone |
|---|---|---|
| Data engineering | Databases → storage → batch/streaming → modeling | Versioned dataset with provenance, schema contracts, replay/deduplication, lineage, and tested quality constraints |
| AI/ML engineering | Probability + linear algebra + multivariable calculus → statistical learning → deep learning → AI platform | Compare a simple baseline and model-based system on a frozen test set; report uncertainty, latency and cost |
| Systems and infrastructure | Architecture → OS → networks → systems → infrastructure | Storage or service system tested under concurrency, overload, restart, and partial failure |
| Languages and theory | Discrete proofs → algorithms → automata/computability → type systems | Interpreter or compiler with semantics, type rules, positive and negative tests |
| Graphics and scientific computing | Linear algebra → calculus → numerical methods → CS184 | Renderer or simulation with convergence/error measurements and performance profile |
| Security and human-centered software | Networks + OS → CS161 → HCI → authorization | Accessible application with usability evidence, threat model, and adversarial permission tests |
For AI engineering, read Chip Huyen, AI Engineering: Building Applications with Foundation Models (2025) as an optional paid companion. Her official repository provides free supporting materials. Use its evaluation, RAG, data, and inference topics with the local platform modules. Read Designing Machine Learning Systems for the broader traditional ML lifecycle. Neither book replaces math, algorithms, or systems foundations.
Completion gate
Section titled “Completion gate”Keep a portfolio containing solved unseen problems, proofs, executable projects, raw measurements, and short technical reports. For each subject, explain one failure case without consulting the solution. Have an independent reviewer assess correctness, assumptions, and reproducibility; record unresolved disagreements. Automated checks verify behavior but do not establish conceptual understanding.
The final capstone must include a research question, source and dataset provenance, a baseline, an experiment plan fixed before final evaluation, reproducible commands, tests, limitations, and a presentation. Reserve a held-out dataset or workload. Do not tune on it and then report it as an independent test. Include writing, teamwork and broader science/humanities study separately when using this as preparation for university-level education.