Skip to content

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.

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.

TermSubjects and readingsPrerequisitesRequired evidence
1Programming with Composing Programs; Discrete Math 1, Hammack; Calculus 1, OpenStaxEntry algebra; trigonometry for calculusTested command-line program; direct, contradiction, and induction proofs; derivative and integral problems
2Data structures with Open Data Structures and practice; Discrete Math 2, Levin; Linear Algebra, HefferonTerm 1 programming and proofsImplement a hash table and graph traversal; prove a loop invariant; solve systems and explain rank/nullity
3Algorithms, Erickson after basic data structures; architecture with Nand to Tetris; Calculus 2Terms 1-2Correctness proof and complexity analysis; logic gates through CPU and assembler; numerical integration with error comparison
4OS with Operating Systems: Three Easy Pieces; networking; Probability & StatisticsArchitecture, programming, discrete math; Calculus 2 for continuous probabilityShell/process exercise; concurrent queue with race tests; socket protocol handling partial reads; simulation and interval estimates
5Databases with Berkeley CS186; theory with MIT 6.045J; Calculus 3Algorithms, proofs, OS; Calculus 2 and linear algebraSQL and query-plan analysis; transaction anomaly reproduction; automata and reduction proofs; gradient checking
6Programming Languages, including parsing, interpreters and type checking; Software Craftsmanship; security with Berkeley CS161Programming, theory, OS and networksSmall interpreter and type checker; team review and CI; threat model and security regression cases
7HCI with MIT 6.831; graphics with Berkeley CS184; introductory AI/ML plus search in graphsProgramming and software engineering; linear algebra, calculus and statistics for graphics/MLUsability study; transformed and rendered scene; search baseline and supervised model with held-out evaluation
8Distributed systems, data engineering, specialization, and the Build Your Own LLM System course as one possible systems capstoneOS, networking, databases, software engineering; specialization-specific mathFailure-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.

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 areaCurrent routeCoverage boundary
Software development fundamentalsComposing Programs + local practiceIntroductory teaching supplied externally
Algorithmic foundationsLocal algorithms + Erickson + MIT theoryFormal computability/complexity supplied externally
Mathematical and statistical foundationsSeven local math topics + applied labs belowAdd numerical optimization for data/ML depth
Architecture and organizationNand to TetrisExternal course; no dedicated local architecture track
Systems fundamentalsArchitecture, OS, local C/C++ practice, and the end-to-end LLM systems courseCross-course route; the course is a specialization project, not a complete OS or architecture sequence
Operating systemsOSTEP + local concurrency practiceFull OS course supplied externally
Networking and communicationDordal + local RPC/streamingNetwork fundamentals supplied externally
Data managementCS186 + local data engineeringDatabase internals supplied externally
Foundations of programming languagesLocal type systems + interpreter assignmentParsing/runtime/compiler depth needs further study
Software engineeringLocal craftsmanship, testing, architecture, documentationTeam review must be arranged by learner
Parallel and distributed computingLocal concurrency, systems, AI platformRequires measured failure and scaling experiments
Artificial intelligenceLocal algorithms/search, ML, RL and foundation modelsLogic, planning and knowledge representation need additional depth
SecurityCS161 + local authorizationSecurity foundations supplied externally
Human-computer interactionMIT 6.831 + project usability studyExternal course; no local HCI track
Graphics and interactive techniquesCS184 + linear algebraExternal course; no local graphics track
Society, ethics, and the professionImpact analysis across projectsNeeds independent case discussion and review
Specialized platform developmentLocal cloud, infrastructure and edge inferenceMobile/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.

FoundationApplicationAcceptance evidence
Logic, sets, relations, inductionDependency scheduler and permissions graphCorrect topological order or cycle witness; invariant proof; disconnected and cyclic cases
Counting, recurrences, modular arithmeticDynamic programming and hashingDerive recurrence and complexity; enumerate small cases independently; distinguish collisions from equality
Linear systems, projections, eigenvectors, SVDLeast squares and PCACompare QR/SVD solution with a library; measure residual and reconstruction error; test rank deficiency; avoid explicit normal-equation inversion
Derivatives and Taylor approximationRoot finding and one-dimensional optimizationCompare analytic derivatives with central differences over several step sizes; report nonconvergence and cancellation
Integration and seriesNumerical quadrature and probability normalizationCompare against an analytic integral; measure error as resolution changes; state convergence assumptions
Multivariable calculus and chain ruleLogistic regression or a tiny neural networkDerive gradients; finite-difference check on a smooth objective; show training loss and held-out performance separately
Probability and inferenceQueue simulation and A/B experimentSeeded replications; estimated uncertainty; assumptions about sampling and independence; false-positive simulation
Optimization and numerical analysisRegularized regression and gradient descentCompare 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.

AreaOrdered routeCapstone
Data engineeringDatabases → storage → batch/streaming → modelingVersioned dataset with provenance, schema contracts, replay/deduplication, lineage, and tested quality constraints
AI/ML engineeringProbability + linear algebra + multivariable calculus → statistical learning → deep learning → AI platformCompare a simple baseline and model-based system on a frozen test set; report uncertainty, latency and cost
Systems and infrastructureArchitecture → OS → networks → systems → infrastructureStorage or service system tested under concurrency, overload, restart, and partial failure
Languages and theoryDiscrete proofs → algorithms → automata/computability → type systemsInterpreter or compiler with semantics, type rules, positive and negative tests
Graphics and scientific computingLinear algebra → calculus → numerical methods → CS184Renderer or simulation with convergence/error measurements and performance profile
Security and human-centered softwareNetworks + OS → CS161 → HCI → authorizationAccessible 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.

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.