30 open-source projects similar to geohot/fromthetransistor, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Bitwise is a computer architecture education kit and a comprehensive set of guides for building a custom CPU, operating system, and compiler from scratch. It serves as a CPU design tutorial and a practical framework for implementing a unique instruction set architecture. The project provides a custom instruction set architecture toolchain, including resources for creating a matching assembler and compiler. It further includes a hardware development guide for synthesizing computer components and peripheral controllers for deployment on programmable logic devices and FPGAs. The kit covers full
Chisel is a hardware construction language and description tool used to define digital circuits. It functions as a generator that converts high-level hardware descriptions into synthesizable Verilog code for use in ASIC and FPGA design. The project enables the creation of parameterizable hardware templates and reusable digital components. It leverages functional and object-oriented programming patterns to transform complex circuit representations into finalized hardware descriptions. The toolset covers the register-transfer level design workflow, allowing users to model digital circuits usin
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.
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
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
Mongoose is an embedded networking library providing TCP/IP stacks, web server hosting, and IoT device connectivity. It enables microcontrollers and desktop systems to implement network protocols including HTTP, WebSocket, and MQTT. The project provides a bare-metal TCP/IP stack for environments without a native operating system and includes built-in TLS and ECC encryption to secure network traffic. It features a binary-embedded file system to serve web content directly from the executable and supports over-the-air firmware updates for managing device fleets. Additional capabilities cover as
Logisim Evolution is a digital logic simulator and schematic editor used for designing and verifying digital circuits. It functions as a tool for digital circuit design and real-time logic simulation, allowing users to create schematic representations of electronic hardware using gates and registers. The software distinguishes itself by providing hardware description language tools that allow for the definition of custom component behavior and the translation of visual schematics into synthesis-ready code for FPGA hardware deployment. It also serves as a bridge for physical hardware integrati
Clash is a functional hardware compiler and hardware description language compiler that translates strongly typed functional programs written in Haskell into synthesizable VHDL, Verilog, and SystemVerilog code. It serves as a development tool allowing digital designers to write hardware descriptions in functional languages and compile them directly to FPGA targets and physical netlists. The compilation infrastructure covers structural hardware compilation, including graph-based code normalization, functional language translation, and netlist generation. It features type-level clock domain saf
smoltcp is a standalone TCP/IP network stack written in Rust, designed specifically for bare-metal and embedded systems. It provides a memory-safe implementation of the internet protocol suite that operates without requiring dynamic heap allocation. The project is distinguished by its heap-less memory management, using fixed-size buffers and manually allocated memory to ensure deterministic performance. It employs zero-copy packet processing and an interface-based hardware abstraction to decouple the network stack from physical hardware. The stack covers a broad range of networking capabilit
OSV is a unikernel operating system and cloud-native execution environment designed to run as a secure microVM on hypervisors such as KVM, Firecracker, Xen, and VMware. It functions as a Linux binary compatible runtime, allowing unmodified Linux binaries to be executed as secure microVMs without requiring recompilation. The project distinguishes itself through its ability to package applications into minimal bootable images and its provide of a virtual machine management API. This REST interface enables remote monitoring of system health, management of execution traces, and control over guest
Kernel is an educational hobby operating system and low-level systems programming project written in Rust. Designed for students and hobbyists, the project provides a minimalist environment to explore computer architecture, CPU design, and kernel development directly on hardware without relying on a standard library or underlying operating system. The implementation features a freestanding language runtime and a custom target specification that replaces standard library components for bare-metal execution. It includes a multiboot bootloader interface to parse early-boot hardware handoff stat
This project is a specialized collection of study guides, curriculum references, and implementation libraries designed for computer science academic certifications. It serves as a comprehensive study guide and preparation kit for the Chinese postgraduate computer science entrance examination, providing a curated reference for the core curriculum. The repository distinguishes itself by combining theoretical study materials with a practical data structure implementation library. This includes standard C code templates for fundamental structures such as linked lists, stacks, queues, and binary t
This project is an educational code repository providing a curated collection of common algorithms and data structures implemented in JavaScript. It serves as a reference library and a study resource for learning computer science concepts and foundational programming principles. The repository focuses on the practical implementation of standard data structures and algorithmic patterns. It provides a codebase for studying computational problem-solving and practicing the technical requirements often found in software engineering interviews. The codebase covers core data structure implementatio
This repository serves as an educational resource for computer science concepts, providing a collection of fundamental data structures and algorithmic patterns implemented in Python. It functions as a programming reference for developers seeking to understand standard software engineering patterns and data manipulation strategies. The project focuses on the construction of essential storage formats, including arrays, graphs, hash tables, linked lists, stacks, and queues. It also provides implementations for standard algorithmic techniques such as dynamic programming, recursion, sorting, and g
This project is a computer science educational resource and a library of common data structures and algorithms implemented in Swift. It serves as a practical reference for studying complexity and efficiency through solved algorithmic problems and conceptual guides. The collection includes implementations of linear and hierarchical data structures, such as stacks, queues, linked lists, and trees. It covers a wide range of computational patterns, including graph and pathfinding implementations, mathematical numerical methods, and data compression techniques. The project also provides implement
This repository is a collection of reference implementations for fundamental data structures and computational algorithms written in Python. It serves as an educational resource for students and software engineers to study core computer science concepts through practical, modular code examples. The project focuses on the construction of essential data structures, including trees, heaps, stacks, and tries, alongside standard algorithms for searching, sorting, and graph traversal. By utilizing language-idiomatic data modeling and standardized interface designs, the implementations provide a con
CS-Xmind-Note is a collection of structured mind maps and conceptual diagrams serving as a comprehensive knowledge base for computer science fundamentals. It functions as an academic reference and study guide, organizing core subjects into a visual mapping of interdependent technical concepts. The project utilizes an XMind-compatible schema to model complex domains through hierarchical nodes and relational concept mapping. This approach allows for the visual representation of technical layers, linking hardware specifications to software abstractions. The knowledge base covers several primary
This project is a comprehensive collection of common computer science algorithms and data structures implemented in Swift. It serves as an educational reference and library for studying computational complexity, algorithmic logic, and data structure engineering through practical code examples. The repository provides a wide suite of data structure implementations, including various types of linked lists, heaps, hash tables, and an extensive range of hierarchical trees such as Red-Black, B-Tree, and Splay trees. It also covers diverse sorting and searching techniques, from basic bubble sort to
Algorithmica is an open-access knowledge base and computer science textbook designed for the publication of structured instructional materials. It functions as an educational content management system and a collaborative documentation site for hosting technical knowledge and course drafts for public consumption. The platform enables collaborative technical writing and authoring through version control and web editors, utilizing an automated pipeline to generate previews of pending changes. The system manages large collections of learning materials using static site generation, markdown-drive
This project is a computer science educational resource and data structures reference library. It serves as a technical study repository containing a collection of fundamental algorithms and data structures, pairing conceptual notes with practical code implementations. The resource is organized as an algorithm implementation guide and a structured knowledge base. It provides a modular set of reference implementations for sorting, searching, and graph traversal, with materials arranged to follow academic curriculum progression. The repository covers a broad range of computer science education
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
This repository is a comprehensive educational resource for mastering fundamental computer science concepts through Python. It provides a structured collection of source code implementations for classic data structures and algorithms, serving as a practical guide for building technical proficiency and preparing for coding interviews. The project distinguishes itself by integrating visual aids and diagrams that map complex execution steps to clarify how data structures function. This visual approach is paired with a rigorous automated unit testing framework, which validates the correctness of
This repository serves as a comprehensive educational resource and technical reference for implementing fundamental data structures and algorithms using JavaScript. It provides a structured guide to mastering core computer science concepts, focusing on the practical application of data organization techniques and problem-solving strategies within the JavaScript ecosystem. The materials cover the implementation of essential storage patterns, including linked lists, trees, and graphs, alongside the analysis of algorithmic efficiency. By evaluating execution time and memory usage through asympto
This project is an educational repository providing a comprehensive collection of verified source code for fundamental data structures and classic algorithms. It serves as a resource for academic study, offering standard implementations of containers such as lists, stacks, queues, and trees, alongside core computational logic patterns like string matching, tree traversal, and graph pathfinding. The repository distinguishes itself by focusing on the low-level mechanics of software, including explicit memory management and resource allocation strategies. It demonstrates these concepts through s
This project is a library and educational resource providing implementations of foundational computer science data structures and algorithms written in JavaScript and TypeScript. It serves as a reference for executing standard sorting, searching, and recursive patterns using modern web technologies. The collection includes typed implementations for both basic containers, such as stacks, queues, and linked lists, and advanced organizational patterns, including trees, heaps, tries, and graphs. The material covers algorithmic analysis and problem solving through the use of Big O notation to eva
This repository is a collection of standard computer science algorithms and data structure implementations written in Java. It serves as a learning resource for developers to study fundamental programming concepts, efficient logic management, and common problem-solving techniques. The project organizes these solutions into modular, independent components that utilize the Java standard library and static type system. Each implementation is verified through unit tests, ensuring that the code adheres to expected outcomes for various mathematical and logical operations. The collection covers a b
This project serves as an educational resource for mastering fundamental computer science algorithms and data structures. It functions as a learning platform that combines code examples with instructional content to help developers and students build a foundation in programming logic and computational thinking. The repository distinguishes itself through a visual-first pedagogical approach, utilizing high-resolution diagrams to map abstract algorithmic logic into concrete mental representations. These materials are structured to support instructors in classroom settings while providing learne
This repository serves as a comprehensive collection of standard computer science algorithms and data structures implemented in the Go programming language. It functions as an educational resource for developers to study idiomatic code examples and master fundamental computational logic through practical, hands-on implementation. The project provides a reference for building and utilizing essential storage containers, such as linked lists, heaps, and hash maps, to organize information efficiently. It also includes a suite of proven mathematical algorithms for performing complex numerical calc
This repository is a comprehensive collection of data structures and algorithms implemented in JavaScript, designed primarily as an educational resource for computer science study and technical interview preparation. It provides modular implementations of fundamental programming concepts, allowing developers to explore algorithmic logic and data organization through self-contained, verifiable code examples. The library distinguishes itself by pairing every implementation with formal Big O notation, providing predictable insights into time and space scaling requirements. Each algorithm is stru
This repository provides a collection of verified implementations for fundamental data structures and computational algorithms. It serves as both a practical toolkit for integrating standard procedures into software applications and a reference for understanding core computer science concepts. The library covers a wide range of operations, including sorting, searching, graph traversal, and geometric analysis. Each implementation is designed to be modular and reusable, utilizing generic type parametrization to decouple logic from specific data types while maintaining type safety. The project