Computer Science Fundamentals

Computer science basic theories and knowledge

computer-scienceprogrammingprogramming-languagedata-structureseducationlearn-to-code
freeCodeCamp
freeCodeCamp
freeCodeCamp
417.3k

freeCodeCamp.org is a donor-supported, open-source platform offering a comprehensive, self-paced curriculum for learning coding and web development. It provides 12 core certifications, including Responsive Web Design, JavaScript Algorithms, Front End Libraries, Data Visualization, and more, each involving hands-on projects and coding challenges. The platform features thousands of interactive exercises, automated testing, and a supportive community with forums, a YouTube channel, and a Discord server. Designed for beginners, it helps users transition into tech careers, with over 40,000 people securing their first developer job. Contributions are welcome, and the project is licensed under BSD-3-Clause, fostering a collaborative learning environment.

codecrafters-io
build-your-own-x
codecrafters-io
376.4k

By recreating your favorite technologies from scratch, this project aims to help developers master programming skills through practice. By participating in the recreation of their favorite technologies, developers can gain a deeper understanding of how they work, their design thinking, and implementation details, thereby deepening their understanding and mastery of programming.

EbookFoundation
free-programming-books
EbookFoundation
355.8k

This project collects many free programming books, covering almost all programming languages and technologies, with complete classification. For programmers, it is a valuable resource that can help them learn programming knowledge in different fields on their own. Whether you are a beginner or an experienced developer, this project provides a rich variety of book choices to help you continuously expand your technical breadth and depth.

kamranahmedse
developer-roadmap
kamranahmedse
316.5k

A guide to the path of growth for all developers, designed to provide a fun and challenging development path for both beginners and veterans. This project will help you easily understand various skill trees and technical routes, making your career journey no longer confusing. Whether you are a beginner or an experienced developer, this open-source project provides valuable learning resources and guidance to help you continuously improve your skills.

donnemartin
system-design-primer
donnemartin
297.5k

Learning how to design scalable systems will help you become a better engineer. This repository is for organizing and collecting resources related to system design. Chinese version

TheAlgorithms
Python
TheAlgorithms
200.0k

Implement all algorithms using Python. This project is a collection of various algorithms implemented in Python, mainly used for education and learning. It includes search, sorting, data structures, machine learning, cryptography, neural networks, etc.

trekhleb
javascript-algorithms
trekhleb
191.1k

It includes a variety of JavaScript-based algorithms and data structures, each with its own README that contains relevant descriptions and links for further reading (and YouTube videos).

getify
You-Dont-Know-JS
getify
181.9k

A series of books about JavaScript, which delve into the core concepts and language features of JavaScript, providing developers with an opportunity to gain a deeper understanding of JavaScript. Through this series of books, readers can better master the complexity and flexibility of JavaScript.

CyC2018
CS-Notes
CyC2018
180.0k

A study note summarizing the computer classic books and official technical documents, covering many technical points such as algorithms, operating systems, networks, databases, etc.

ossu
computer-science
ossu
178.7k

The project to the path of free self-study education in computer science. This project collects rich learning resources and provides a clear learning path for self-study learners in computer science. Whether you are a beginner or an experienced developer, you can find learning materials that meet your needs here.

labuladong
fucking-algorithm
labuladong
127.7k

There are more than 60 original articles based on LeetCode, covering all types of questions and techniques. The goal is to provide a comprehensive understanding rather than just a pile of code.

Chalarangelo
30-seconds-of-code
Chalarangelo
123.5k

A carefully collected and organized collection of some practical JavaScript code snippets

justjavac
free-programming-books-zh_CN
justjavac
113.5k

free-programming-books - free Chinese books on computer programming

krahets
hello-algo
krahets
112.0k

A data structure and algorithm tutorial with animated illustrations, supporting multiple programming languages such as Java, C++, Python, Go, JS, TS, C#, Swift, Rust, Dart, Zig, etc. Through visualization, this project helps learners understand and learn various data structures and algorithms more easily.

microsoft
Web-Dev-For-Beginners
microsoft
87.6k

Learn the basics of JavaScript, CSS and HTML with our comprehensive 12-week course brought to you by Microsoft Cloud Advocates. Each 24-lesson includes pre- and post-lesson quizzes, detailed written instructions, solutions, assignments, and more. Our project-based learning approach aims to help you develop practical skills through hands-on construction. Through our effective project teaching method, improve your skills and optimize your knowledge retention.

microsoft
ML-For-Beginners
microsoft
72.0k

Microsoft Azure cloud advocates are pleased to offer a 12-week, 26-lesson machine learning course. In this course, you will learn what is sometimes called classical machine learning, using Scikit-learn as the library, avoiding deep learning, which will be covered in our upcoming "Beginner AI" course. Pair these courses with our "Beginner Data Science" course!

ByteByteGoHq
system-design-101
ByteByteGoHq
71.9k

A project that explains complex system design using visual and simple terms. It helps you prepare for system design interviews by helping you understand the principles of complex system design through graphics and easy-to-under understanding. If you are preparing for an interview or interested in system design, this project can help you gain a deeper understanding of the core concepts of system design.

Developer-Y
cs-video-courses
Developer-Y
68.6k

A selected list of computer science video courses covering areas such as introduction to computer science, data structures and algorithms, system programming, software engineering, artificial intelligence, machine learning, etc., including open courses from famous universities and professional lecturer courses.

leonardomso
33-js-concepts
leonardomso
65.1k

33 Concepts Every JavaScript Engineer Should Know, Helping Developers Master JavaScript Concepts

binhnguyennus
awesome-scalability
binhnguyennus
61.7k

A project dedicated to large-scale system design, which gathers the patterns and best practices of scalable, reliable and high-performance systems. It provides developers with rich resources and references to help them design and implement efficient large-scale systems.

TheAlgorithms
Java
TheAlgorithms
61.5k

A Java algorithm list, which provides a detailed demonstration of the built-in algorithm implementations in Java. It offers Java developers a convenient reference, showcasing the application of Java's built-in algorithms in handling various tasks. This project helps developers better understand and use Java's algorithms through clear code examples and illustrations.

azl397985856
leetcode
azl397985856
55.3k

LeetCode - A github user records his journey of solving LeetCode problems

charlax
professional-programming
charlax
47.6k

A collection of various excellent resources, tools and frameworks used by full-stack programmers

Asabeneh
30-Days-Of-JavaScript
Asabeneh
44.3k

A front-end open source technology tutorial, the author provides a step-by-step front-end development guide to help you learn JavaScript development. The content mainly includes front-end development environment configuration, VSCode code editor usage introduction, JavaScript syntax basics, JSON processing, DOM object operations, data visualization project writing, etc.

tw93
Pake
tw93
37.3k

A tool that can quickly package various web pages into MacApp. Compared with Electron, Pake is more compact and easy to use, faster, and has achieved universal shortcut transmission, immersive window, drag-and-drop, and packaging style compatibility features. For developers who need to package web applications into desktop applications, Pake provides a convenient and efficient open-source tool.

huihut
interview
huihut
36.0k

C/C++ interview basic knowledge summary, for developers who are preparing to change jobs

carbon-app
carbon
carbon-app
35.1k

PKUanonym
REKCARC-TSC-UHT
PKUanonym
34.2k

A set of learning materials covering computer science introduction, data structure, artificial intelligence introduction, computer composition principle, operating system, modern cryptography, linear algebra, calculus and other fields, courseware, reference textbooks and other contents, which was open-sourced by Tsinghua students on GitHub.

raysan5
raylib
raysan5
26.1k

A game programming library designed to provide a pure and efficient experience for electronic game programming. It does not have flashy interfaces, visualization assistants, or debugging buttons; it focuses solely on coding in the most pure way. Inspired by the Borland BGI graphics library and the XNA framework, raylib is suitable for prototyping, tool development, graphical applications, embedded systems, and education.

modular
max
modular
23.9k

TheAlgorithms
Rust
TheAlgorithms
23.8k

This project compiles implementations of various algorithms in the Rust programming language, covering a wide range of algorithmic domains. It serves as a valuable resource for learning and utilizing Rust for algorithm development.

OI-wiki
OI-wiki
OI-wiki
22.9k

A free, open and continuously updated tutorial on programming competition-related knowledge. It includes basic knowledge of competitions, common question types, problem-solving ideas and common tools, aiming to help learners learn programming competition-related knowledge more quickly and deeply. Whether you are a beginner or a player with some experience, you can get valuable learning resources and references from it.

TheAlgorithms
C
TheAlgorithms
20.1k

An open-source organization that provides C language implementations of various fundamental algorithms and data structures. The project includes sample code for basic algorithms, covering multiple programming languages, offering valuable resources for learning and understanding algorithms.

wenyan-lang
wenyan
wenyan-lang
19.9k

The project of programming in classical Chinese has all the official documents, introductory tutorials, IDE, syntax highlighting, and packages.

chai2010
advanced-go-programming-book
chai2010
19.7k

The open source book "Advanced Programming in Go" covers advanced topics such as CGO, Go assembly language, RPC implementation, Protobuf plugin implementation, Web framework implementation, and distributed systems.

inancgumus
learngo
inancgumus
19.3k

It contains a total of more than 1000 code examples, exercises and quizzes related to the Go language.

kunal-kushwaha
DSA-Bootcamp-Java
kunal-kushwaha
18.9k

An open source Java data structure and algorithm code example library. It organizes the course code examples, assignments, video tutorials, etc. of YouTuber Kunal Kushwaha.

mahmoud
awesome-python-applications
mahmoud
17.1k

collected many open source software developed based on Python

milanm
DevOps-Roadmap
milanm
15.7k

Open source learning resources on GitHub: "DevOps 2022 Technology Roadmap", which will help you quickly understand the latest DevOps technology stack. It includes various DevOps-related learning materials such as Git, common programming languages, Linux, network security, containers, IaC, CI/CD, etc.

Python-World
python-mini-projects
Python-World
15.6k

A Python project suitable for beginners, which collects more than 100 small Python projects, including random password generator, batch image download scripts, website content scraping, chat robots, etc., suitable for beginners to practice daily.

systemdesign42
system-design
systemdesign42
15.4k

A carefully collected and organized list of system design interview resources, providing practical cases from well-known technology companies and basic knowledge of system design, to help pass the system design interview.

USTC-Resource
USTC-Course
USTC-Resource
15.4k

Course resources of University of Science and Technology of China

FavioVazquez
ds-cheatsheets
FavioVazquez
15.2k

Data Science Cheat Sheet

iggredible
Learn-Vim
iggredible
14.3k

"Learn-Vim" From this book, you will learn Vim window, tab management, quick file opening and searching, insert mode, integration of external commands, common syntax, and other Vim-related usage skills.

s-matyukevich
raspberry-pi-os
s-matyukevich
13.4k

Students who want to learn operating system development can take a look at this open source tutorial on GitHub. This project will be based on Raspberry Pi and Linux kernel, and it will teach you how to create a simple version of an operating system: Raspberry Pi OS.

federico-busato
Modern-CPP-Programming
federico-busato
13.2k

A course on modern C++ programming, designed to help learners master the latest features and best practices of C++. The course covers C++ syntax, the standard library, object-oriented programming, and more, enabling learners to write efficient and modern C++ code. Whether beginners or experienced developers, all can enhance their skills in the field of C++ programming through this course.

AkashSingh3031
The-Complete-FAANG-Preparation
AkashSingh3031
11.1k

A repository of interview questions, which includes explanations of data structures and algorithm knowledge points, interview questions from Internet companies such as Facebook, Apple, Google, and demo examples based on mainstream programming languages.

1c7
Crash-Course-Computer-Science-Chinese
1c7
10.5k

Crash Course Computer Science Chinese is the Chinese subtitle translation of the YouTube's computer science crash course, which has 40 episodes and has been carefully proofread. This crash course covers from transistors to operating systems and artificial intelligence, and it is a popular science video aimed at providing the audience with comprehensive and easy-to-under understanding of computer science knowledge.

wolverinn
Waking-Up
wolverinn
10.0k

A comprehensive summary of computer foundation interview questions. This material is compiled by the author from common interview questions and answers after two failed interviews with big companies. After systematically studying computer networks, operating systems, databases, etc., the author finally got an offer from a big company.

Chalarangelo
30-seconds-of-python
Chalarangelo
8.8k

penrose
penrose
penrose
7.7k

A very practical tool, you just need to input the mathematical formula and quickly generate a very beautiful mathematical chart

TomWright
dasel
TomWright
7.4k

A relatively practical command-line tool: Dasel, which can perform operations such as adding, deleting, modifying, and querying on JSON, YAML, CSV files, etc., in a chain-like syntax. This tool supports various structured data files, such as JSON, YAML, TOML, XML, CSV, etc. ​​​

kallaway
100-days-of-code
kallaway
7.0k

A programmer from abroad launched a 100-day coding challenge plan on GitHub, stipulating that all participating developers should write at least one hour of code every day and submit it to the repository.

itcharge
LeetCode-Py
itcharge
6.8k

Provides a super detailed tutorial on the basics of "algorithms and data structures", and a detailed analysis of 650+ questions in "LeetCode" in Python version. This tutorial will combine "algorithm theory learning" and "programming practical exercises" to take you from zero foundation to thoroughly mastering algorithm knowledge.

goodjack
developer-roadmap-chinese
goodjack
6.6k

The Chinese translation of the developer-roadmap (2018 Web Developer Roadmap) library with more than 46,000 stars on GitHub

EndlessCheng
codeforces-go
EndlessCheng
6.5k

The algorithm competition template library created by Ling Cha Shan Ai Fu provides a series of carefully designed algorithm templates for algorithm competition enthusiasts. This library includes commonly used data structures and algorithm implementations in algorithm competitions, helping developers solve problems more efficiently.

grandyang
leetcode
grandyang
6.2k

A domestic developer has launched a LeetCode question solution project on GitHub, which currently includes more than 900 questions.

facundoolano
software-papers
facundoolano
5.8k

Open source technical resources on GitHub, which includes a series of software engineering papers written by computer experts. The content covers computer and intelligence, integrated circuits, shared databases, cryptography, the essence of software engineering, web search engine analysis, distributed storage systems, smart contracts and decentralized platforms.

gonglei007
GameDevMind
gonglei007
5.5k

Open source learning resources on GitHub: "Game Network Development Technology Map", a knowledge, technology and information repository for game network development, which can serve as a navigation map for game R&D practitioners.

chai2010
go-ast-book
chai2010
5.4k

"Go Syntax Tree Introduction" mainly covers CGO, Go assembly language, RPC implementation, Web framework implementation, distributed systems and other advanced topics.

© 2025 GitHub Fun. All rights reserved.