# Self-Taught Computer Science Curriculum

> Search results for `teach yourself a computer science degree for free` on awesome-repositories.com. 99 total matches; showing the first 50.

Explore on the web: https://awesome-repositories.com/q/teach-yourself-a-computer-science-degree-for-free

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [this search on awesome-repositories.com](https://awesome-repositories.com/q/teach-yourself-a-computer-science-degree-for-free).**

## Results

- [ossu/computer-science](https://awesome-repositories.com/repository/ossu-computer-science.md) (205,190 ⭐) — This project provides a structured computer science curriculum framework designed for self-directed learners. It organizes open-access academic resources, including textbooks, lectures, and assignments, into a cohesive path that mirrors the requirements of a formal undergraduate degree. By integrating theoretical study with practical software engineering methodologies, the platform enables students to master foundational concepts and advanced technical skills independently.

The curriculum distinguishes itself by utilizing a version-control-based workflow to manage the educational experience.
- [1c7/crash-course-computer-science-chinese](https://awesome-repositories.com/repository/1c7-crash-course-computer-science-chinese.md) (10,820 ⭐) — This project is a structured computer science educational course consisting of video lessons, curated playlists, and translated study materials. It delivers a comprehensive curriculum covering foundational computing principles, ranging from basic logic and hardware architecture to artificial intelligence.

The project facilitates bilingual technical learning through dual-language video subtitles and translated learning materials. These resources, including knowledge maps and supplementary notes, are designed to help non-native English speakers acquire industry-standard technical terminology by
- [izackwu/teachyourselfcs-cn](https://awesome-repositories.com/repository/izackwu-teachyourselfcs-cn.md) (22,095 ⭐) — This project is a multilingual educational framework that provides curated roadmaps and translated resources for mastering core computer science subjects. It serves as a Chinese translation of a structured guide designed to help students and engineers learn computer science fundamentals through a sequence of recommended books and courses.

The framework focuses on technical content localization, converting English computer science roadmaps into Chinese to improve accessibility. It utilizes a manual translation workflow to ensure conceptual accuracy across its study guides and resource collecti
- [jwasham/computer-science-flash-cards](https://awesome-repositories.com/repository/jwasham-computer-science-flash-cards.md) (9,101 ⭐) — This is a computer science flashcard web application designed for memorizing algorithms, data structures, and general technical concepts. It functions as a spaced repetition study tool that organizes academic materials by category and mastery level to track knowledge acquisition.

The application is provided as a containerized educational tool, allowing for self-hosted deployment to ensure consistent execution across different systems. It includes a utility to export stored study sets and academic content into CSV files for use in external applications.

The platform covers content management
- [humanwhocodes/computer-science-in-javascript](https://awesome-repositories.com/repository/humanwhocodes-computer-science-in-javascript.md) (9,119 ⭐) — This is a collection of classic computer science algorithms and data structures implemented from scratch in JavaScript. The project provides reference implementations of fundamental concepts including sorting algorithms, binary search, linked lists, and binary search trees, all built as standalone pure functions with no external dependencies.

The implementations cover a range of data structures, including singly-linked, doubly-linked, and circular linked lists with full traversal and mutation operations, as well as binary search trees supporting insertion, deletion, and search. Sorting algori
- [microsoft/data-science-for-beginners](https://awesome-repositories.com/repository/microsoft-data-science-for-beginners.md) (35,657 ⭐) — This project is a comprehensive educational curriculum designed to teach the fundamental concepts, workflows, and tools of data science. It provides a structured learning path that covers the end-to-end data science lifecycle, including data acquisition, maintenance, processing, and pattern discovery, while grounding theoretical knowledge in practical, real-world applications.

The curriculum distinguishes itself through a data-driven pedagogical design that utilizes interactive, notebook-based lessons. By combining narrative text with live code blocks, the platform allows learners to experime
- [ripienaar/free-for-dev](https://awesome-repositories.com/repository/ripienaar-free-for-dev.md) (123,154 ⭐) — This project is a community-maintained directory of technical resources, tools, and services that offer free tiers for developers. It serves as a centralized reference point for discovering infrastructure, software, and educational materials, helping individuals and teams minimize operational costs while building and scaling applications.

The directory distinguishes itself through a collaborative, community-driven curation model that aggregates metadata about third-party services. By utilizing a hierarchical taxonomy and storing all content in version-controlled, plain-text files, the project
- [developer-y/cs-video-courses](https://awesome-repositories.com/repository/developer-y-cs-video-courses.md) (81,816 ⭐) — This project is a community-driven educational repository that serves as a comprehensive directory of university-level computer science video lectures. It provides a structured learning path for students and professionals, aggregating high-quality academic resources to facilitate self-paced study across a wide range of technical disciplines.

The repository distinguishes itself through a collaborative maintenance model, utilizing version control workflows to allow contributors to expand and update the collection. Content is organized within a single, version-controlled document that leverages
- [deathking/learning-sicp](https://awesome-repositories.com/repository/deathking-learning-sicp.md) (11,243 ⭐) — This project is a comprehensive study kit and resource archive for the Structure and Interpretation of Computer Programs (SICP) course. It serves as a curated learning path for studying functional programming and the fundamentals of program construction, providing a centralized directory of textbooks, tutorials, and instructional materials.

A primary focus of the repository is multilingual accessibility, specifically providing Chinese translations of English lecture subtitles and transcripts. These translated resources are mirrored across multiple video hosting platforms and cloud storage pro
- [pluslabnlp/degree](https://awesome-repositories.com/repository/pluslabnlp-degree.md) (81 ⭐) — Code for our NAACL-2022 paper DEGREE: A Data-Efficient Generation-Based Event Extraction Model.
- [julycoding/the-art-of-programming-by-july-2nd](https://awesome-repositories.com/repository/julycoding-the-art-of-programming-by-july-2nd.md) (21,506 ⭐) — This project is a collection of reference materials and educational guides providing theoretical foundations and practical patterns for algorithms, artificial intelligence, and professional technical interviews. It serves as a computer science study guide and a practical reference for solving computational problems through curated notes.

The resources provide a learning path for machine learning, covering the mathematical foundations and architectures used to build large language models. It also functions as a technical interview preparation resource, containing common software engineering an
- [kdn251/interviews](https://awesome-repositories.com/repository/kdn251-interviews.md) (64,941 ⭐) — This project serves as a centralized knowledge base and study guide for mastering computer science fundamentals and technical interview preparation. It provides a structured collection of algorithmic implementations, data structure guides, and theoretical references designed to support professional development and problem-solving skills.

The repository distinguishes itself through a taxonomy-based organization that maps complex concepts into a hierarchical structure. It standardizes the expression of abstract data structures and algorithms using a consistent programming language, with impleme
- [kamranahmedse/developer-roadmap](https://awesome-repositories.com/repository/kamranahmedse-developer-roadmap.md) (357,434 ⭐) — Developer Roadmap is a community-driven platform that provides structured, graph-based learning paths for software engineering. It serves as a comprehensive knowledge repository where technical domains are organized into visual sequences to guide professional skill acquisition and career growth.

The project distinguishes itself through a collaborative ecosystem that enables users to contribute roadmaps, curate industry best practices, and maintain professional profiles. It integrates diagnostic assessment frameworks to evaluate technical proficiency, helping developers identify knowledge gaps
- [datastacktv/data-engineer-roadmap](https://awesome-repositories.com/repository/datastacktv-data-engineer-roadmap.md) (12,747 ⭐) — This project is a collection of specialized study guides and roadmaps centered on computer science, data engineering, and machine learning fundamentals. It provides a structured curriculum of technical competencies, tools, and skills required to transition into professional data engineering roles.

The project features a data engineering skill map that visually organizes databases, processing architectures, and infrastructure tools. It also includes a machine learning learning path covering supervised and unsupervised learning techniques alongside model operations.

The curriculum covers broad
- [jetbrains/kotlin](https://awesome-repositories.com/repository/jetbrains-kotlin.md) (52,880 ⭐) — Kotlin is a statically typed, general-purpose programming language designed for type safety and concise syntax. It functions as a cross-platform development toolkit that enables the sharing of business logic across mobile, web, and server-side environments by compiling a unified intermediate representation into platform-specific machine code, bytecode, or source code.

The project distinguishes itself through a multi-target build orchestration model that manages complex compilation units and hierarchical source sets. Developers can define common interface logic that is satisfied by platform-sp
- [kensuke-hinata/statistic](https://awesome-repositories.com/repository/kensuke-hinata-statistic.md) (2,985 ⭐) — This project is a curated technical resource library and static site generator designed to organize books and documentation covering computer science, cybersecurity, DevOps, and systems programming. It functions as a schema-driven resource directory that uses markdown content management to transform structured files and metadata into pre-rendered HTML pages.

The system implements a client-side search engine that utilizes a JSON manifest to filter resources directly in the browser, removing the need for server-side queries. It organizes technical literature into a structured directory by mappi
- [akbaritabar/course-introduction-to-computational-social-science-2025](https://awesome-repositories.com/repository/akbaritabar-course-introduction-to-computational-social-science-2025.md) (9 ⭐) — Materials, slides, hands-on code and assignments for for the course "Introduction to computational social science" for the 2025 edition
- [ossu/data-science](https://awesome-repositories.com/repository/ossu-data-science.md) (21,633 ⭐) — This project is a structured, open-source educational roadmap designed to guide students through a comprehensive undergraduate-level curriculum in data science. It provides a curated sequence of high-quality learning materials that focus on mastering computational logic, software development, and statistical analysis using the Python programming language.

The curriculum distinguishes itself by integrating project-based competency validation, requiring learners to execute capstone projects that demonstrate professional skill mastery. It utilizes version control tools to allow students to track
- [scala/scala](https://awesome-repositories.com/repository/scala-scala.md) (14,548 ⭐) — Scala is a statically typed programming language and compiler that combines object-oriented and functional programming paradigms. It serves as a cross-platform runtime language capable of targeting the Java Virtual Machine and JavaScript to share logic between backend servers and web frontends.

The project provides a functional programming framework with immutable data structures and higher-order functions to build reliable concurrent and distributed applications. It distinguishes itself through deep interoperability with Java and JavaScript ecosystems and the ability to transform code into n
- [trinkle23897/undergraduate](https://awesome-repositories.com/repository/trinkle23897-undergraduate.md) (1,245 ⭐) — Undergraduate is a structured repository designed for the archival and organization of completed computer science coursework. It serves as a personal library of programming assignments and project implementations, allowing users to maintain a permanent record of their academic progress and technical development throughout their studies.

The project utilizes a hierarchical directory structure mapped to specific course codes and academic semesters to ensure logical navigation and retrieval of materials. By leveraging a distributed revision control system, it tracks incremental changes to source
- [benyamindsmith/ig.degree.betweenness](https://awesome-repositories.com/repository/benyamindsmith-ig-degree-betweenness.md) (40 ⭐) — Implementation of the "Node Degree+Edge" Betweenness Community Detection Algorithm for 'igraph' Objects with R
- [wigner-gpu-lab/teaching](https://awesome-repositories.com/repository/wigner-gpu-lab-teaching.md) (61 ⭐) — Material used for teaching.
- [coells/100days](https://awesome-repositories.com/repository/coells-100days.md) (7,488 ⭐) — This project is a comprehensive collection of computer science implementations and an algorithm tutorial repository. It serves as a study guide and reference for competitive programming, providing executable code examples that demonstrate fundamental algorithmic problem solving and mathematical computation.

The library covers a wide range of specialized domains, including cryptography and security primitives, lossless data compression techniques, and computational geometry for spatial analysis. It also features implementations of machine learning models, linear algebra operations, and formal
- [microsoft/web-dev-for-beginners](https://awesome-repositories.com/repository/microsoft-web-dev-for-beginners.md) (95,883 ⭐) — This project is an open-source educational curriculum designed to facilitate technical skill acquisition through a structured, project-based learning framework. It serves as a centralized knowledge base that guides learners through foundational web development concepts, modern programming logic, and advanced technical workflows. By organizing content into modular, self-contained exercises, the repository bridges the gap between theoretical knowledge and practical application.

What distinguishes this platform is its hierarchical curriculum mapping, which connects basic web standards to special
- [forthespada/interviewguide](https://awesome-repositories.com/repository/forthespada-interviewguide.md) (5,816 ⭐) — InterviewGuide is a comprehensive technical interview preparation platform that covers the full spectrum of software engineering recruitment, from foundational computer science concepts through to offer negotiation. It provides structured learning paths across algorithms, operating systems, databases, networking, and programming languages, with a particular emphasis on C++ and Go. The platform aggregates real interview experiences and company-specific questions from major tech employers, offering candidates a searchable database of past written exam problems and detailed accounts of actual int
- [alshedivat/al-folio](https://awesome-repositories.com/repository/alshedivat-al-folio.md) (15,759 ⭐) — al-folio is a Jekyll academic theme and portfolio generator designed for researchers and professors to build professional homepages, lab sites, and research profiles. It functions as a system for creating a digital academic identity, combining a website template with tools for scientific and academic publishing.

The project distinguishes itself through specialized scholarly workflows, such as automated publication lists and bibliography management driven by BibTeX files. It provides specific layouts for digital academic CVs, research portfolios, and the rendering of mathematical expressions a
- [athn-nik/teach](https://awesome-repositories.com/repository/athn-nik-teach.md) (0 ⭐) — TEACH: Temporal Action Compositions for 3D Humans Nikos Athanasiou · Mathis Petrovich · Michael J. Black · G&#252;l Varol 3DV 2022
- [bhanml/co-teaching](https://awesome-repositories.com/repository/bhanml-co-teaching.md) (520 ⭐) — NeurIPS'18: Co-teaching: Robust Training of Deep Neural Networks with Extremely Noisy Labels
- [afshinea/stanford-cs-230-deep-learning](https://awesome-repositories.com/repository/afshinea-stanford-cs-230-deep-learning.md) (7,028 ⭐) — This repository collects illustrated single-page cheat sheets that compress the core topics of Stanford's CS 230 deep learning course into visual reference summaries. The collection covers convolutional neural networks, recurrent neural networks, and practical training techniques, pairing schematic diagrams with mathematical notation to bridge intuition and formal understanding.

The cheat sheets are organized by subject area and link related concepts across topics, such as connecting vanishing gradients to LSTM gates, to reinforce the full deep learning workflow. Practical training advice on
- [afshinea/stanford-cs-229-machine-learning](https://awesome-repositories.com/repository/afshinea-stanford-cs-229-machine-learning.md) (19,270 ⭐) — This repository serves as a comprehensive educational resource for machine learning, providing a structured collection of lecture notes and reference materials. It covers the fundamental mathematical and statistical principles required to build, evaluate, and optimize predictive models, ranging from basic probability and linear algebra to advanced algorithmic implementations.

The content is organized through a hierarchical mapping of concepts that connects mathematical prerequisites to specific machine learning theories. It features a modular design that segments complex topics into discrete,
- [apachecn/apachecn-algo-zh](https://awesome-repositories.com/repository/apachecn-apachecn-algo-zh.md) (11,140 ⭐) — This project is an algorithm study resource, a centralized LeetCode solution repository, and a technical interview study guide. It provides Chinese translations of textbooks and guides on data structures and algorithms for academic study and professional preparation.

The project distinguishes itself by delivering multi-language solution repositories and translated academic materials through a static site generation model. This architecture enables compile-time content translation and offline-first delivery of educational assets as static files.

The repository covers a wide range of algorithm
- [mtdvio/every-programmer-should-know](https://awesome-repositories.com/repository/mtdvio-every-programmer-should-know.md) (99,795 ⭐) — This project is a comprehensive, community-curated knowledge base designed to support software engineers in mastering both fundamental computer science principles and practical industry methodologies. It serves as a centralized reference library that aggregates technical resources, academic literature, and professional guidance to facilitate systematic skill acquisition across the entire software development lifecycle.

What distinguishes this repository is its holistic approach to the engineering profession, which bridges the gap between theoretical knowledge and career-oriented development.
- [kylelutz/compute](https://awesome-repositories.com/repository/kylelutz-compute.md) (1,655 ⭐) — Boost.Compute is a GPU/parallel-computing library for C++ based on OpenCL.
- [mmai/category-theory-for-the-sciences](https://awesome-repositories.com/repository/mmai-category-theory-for-the-sciences.md) (111 ⭐) — ebook versions of the book "Category Theory for the Sciences" by David I. Spivak
- [sindresorhus/awesome](https://awesome-repositories.com/repository/sindresorhus-awesome.md) (476,211 ⭐) — This project is a community-maintained directory that serves as a comprehensive index of software tools, frameworks, and educational materials. It functions as an open-source knowledge base, organizing diverse engineering domains and technical resources into a structured taxonomy to assist developers in discovering high-quality content.

The directory distinguishes itself through a decentralized peer-review model, where independent contributors curate, verify, and update entries to ensure accuracy and relevance. All information is stored in a version-controlled, flat-file markdown format, whic
- [fool2fish/dragon-book-exercise-answers](https://awesome-repositories.com/repository/fool2fish-dragon-book-exercise-answers.md) (6,658 ⭐) — This project is a collection of worked answers and conceptual summaries for the second edition of the Compilers: Principles, Techniques, and Tools textbook. It serves as an academic course study guide and computer science theory resource focused on the fundamentals of compiler design.

The materials provide technical guidance on the implementation and theoretical principles of language translation and compilation. This includes the application of scanning and parsing techniques used in formal language theory to translate high-level languages into machine code.

The content is organized as a st
- [ebookfoundation/free-programming-books](https://awesome-repositories.com/repository/ebookfoundation-free-programming-books.md) (390,347 ⭐) — This project is a centralized, open-access repository that serves as a structured directory for technical education and professional development. It functions as a community-driven knowledge base, aggregating high-quality learning materials to support global accessibility to computer science and software engineering resources.

The platform distinguishes itself through a collaborative governance model that utilizes peer-reviewed workflows for all content additions and modifications. By leveraging structured text files and decentralized version control, the repository maintains a searchable, hu
- [tayllan/awesome-algorithms](https://awesome-repositories.com/repository/tayllan-awesome-algorithms.md) (24,741 ⭐) — This project is a curated knowledge repository that serves as a comprehensive directory for computer science education, focusing on algorithms and data structures. It provides a structured index of resources designed to assist developers in mastering computational problem-solving techniques, ranging from fundamental theory to advanced applications.

The directory distinguishes itself by aggregating diverse learning materials, including interactive visualization tools, competitive programming platforms, and technical interview preparation guides. By organizing these resources into a hierarchica
- [boostorg/compute](https://awesome-repositories.com/repository/boostorg-compute.md) (1,654 ⭐) — A C++ GPU Computing Library for OpenCL
- [nishant-tiwari24/coding-resources](https://awesome-repositories.com/repository/nishant-tiwari24-coding-resources.md) (3,589 ⭐) — This project is a curated technical resource directory and software engineering learning roadmap. It serves as a computer science study curriculum and professional development framework, providing staged progressions for mastering programming languages, data structures, and full-stack development.

The repository functions as a career preparation guide, offering strategic frameworks for resume building, technical interview practice, and internship application targeting. It includes a system for identifying income opportunities and managing a professional social presence to increase visibility.
- [peej/for-science-keyboard](https://awesome-repositories.com/repository/peej-for-science-keyboard.md) (100 ⭐) — A split ergo 4x5 keyboard with 3 thumb keys where each half is smaller than the 100x100mm cheap PCB production size.
- [academicpages/academicpages.github.io](https://awesome-repositories.com/repository/academicpages-academicpages-github-io.md) (17,152 ⭐) — This project is a static site generator template designed for academics to build and maintain professional portfolios. It transforms markdown files and structured data into a cohesive website, allowing scholars to document their research publications, teaching experience, and speaking history without the need for a database.

The platform is distinguished by its specialized tools for scholarly dissemination, including the ability to showcase research output with metadata and abstracts, and to catalog professional talks through interactive geographic visualizations. It supports the presentation
- [business-science/free-ai-tips](https://awesome-repositories.com/repository/business-science-free-ai-tips.md) (593 ⭐)
- [doocs/leetcode](https://awesome-repositories.com/repository/doocs-leetcode.md) (36,161 ⭐) — This project is a comprehensive algorithmic learning repository and competitive programming archive designed to support technical interview preparation and software engineering skill development. It provides a structured collection of verified solutions and implementation patterns, enabling developers to master fundamental computer science concepts through systematic practice and study.

The repository distinguishes itself through a solution-centric structure that organizes source code by problem category, algorithm type, and data structure. By mapping specific coding challenges to recurring a
- [pborreli/free-for-nonprofit](https://awesome-repositories.com/repository/pborreli-free-for-nonprofit.md) (0 ⭐)
- [anushka23g/complete-placement-preparation](https://awesome-repositories.com/repository/anushka23g-complete-placement-preparation.md) (3,970 ⭐) — This project is a technical interview preparation guide and resource kit designed for software engineering job placement. It functions as a markdown resource repository that provides a structured curriculum for computer science fundamentals and a dedicated learning roadmap for data structures and algorithms.

The repository organizes study materials into a sequential path, guiding users from basic arrays through to advanced dynamic programming. It includes curated collections of coding practice links, interview puzzles, and strategic notes focused on optimizing time and space complexity.

Beyo
- [jaykali/maskphish](https://awesome-repositories.com/repository/jaykali-maskphish.md) (3,020 ⭐) — Maskphish is a comprehensive security toolkit that integrates capabilities for digital forensics, network vulnerability scanning, open-source intelligence, penetration testing, and social engineering. It functions as a multi-purpose framework for automating reconnaissance and executing security audits across diverse network environments.

The project features a specialized phishing and social engineering toolkit used for cloning websites, masking URLs, and deploying deceptive pages to capture user credentials. It also includes a remote access Trojan builder for generating platform-specific exe
- [krahets/hello-algo](https://awesome-repositories.com/repository/krahets-hello-algo.md) (127,271 ⭐) — This project is an educational resource and reference library designed to teach fundamental data structures and algorithmic problem-solving. It provides a structured pedagogical framework that organizes complex technical concepts into a logical progression, helping learners understand how data is organized, stored, and processed to solve computational problems efficiently.

The repository distinguishes itself through a multi-language codebase that maintains parallel, consistent implementations of core algorithms and data structures across various programming languages. It bridges the gap betwe
- [samypesse/how-to-make-a-computer-operating-system](https://awesome-repositories.com/repository/samypesse-how-to-make-a-computer-operating-system.md) (0 ⭐) — How to Make a Computer Operating System
- [braydie/howtobeaprogrammer](https://awesome-repositories.com/repository/braydie-howtobeaprogrammer.md) (16,218 ⭐) — HowToBeAProgrammer is a comprehensive software engineering career guide and professional development framework. It serves as a curated-knowledge repository and handbook designed to help programmers acquire technical habits and social competencies necessary for professional advancement.

The project distinguishes itself by integrating technical craftsmanship with a detailed manual for technical leadership and organizational navigation. It provides specific strategies for career progression, such as compensation negotiation, promotion readiness, and the management of professional boundaries to p
