Nand2tetris courses often teach computer architecture, hardware design, and software development, guiding you through building a computer from the ground up. You can develop skills in programming languages, logic design, and system integration, allowing you to understand how software interacts with hardware. Many courses introduce tools like hardware simulators and programming environments, which help you apply your knowledge by creating a functioning computer and writing programs that run on it.

University of California San Diego
Skills you'll gain: Version Control, Integrated Development Environments, GitHub, Git (Version Control System), Internet Of Things, Software Development Tools, Embedded Systems, Prototyping, Linux, Operating Systems, Peripheral Devices, Command-Line Interface, Computer Hardware
Mixed · Course · 1 - 3 Months

Skills you'll gain: Unit Testing, Test Driven Development (TDD), Mockups, Development Testing, Software Testing, Testability, Test Case
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Rust (Programming Language), System Programming, Secure Coding, Data Structures, Programming Principles, Data Sharing, Data Management, Capacity Management
Intermediate · Course · 1 - 3 Months

University of Colorado System
Skills you'll gain: Video Game Development, Game Design, Debugging, Programming Principles, Animations, Scripting Languages, Event-Driven Programming
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Embedded Systems, Electronic Components, USB, Internet Of Things, Control Systems, Automation Engineering, Electronics, Data Storage, Environmental Monitoring, Prototyping, Programming Principles, C (Programming Language)
Intermediate · Course · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Field-Programmable Gate Array (FPGA), Hardware Design, Laboratory Experience, Embedded Software, Electronic Hardware, Engineering Documentation, Debugging, System Design and Implementation, Software Development, Simulation and Simulation Software, Development Environment, System Testing
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Unity Engine, Video Game Development, Game Design, Computer Programming, General Mathematics, Computer Graphics, Arithmetic, Graphing, Geometry, Data Structures, Applied Mathematics
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Video Game Development, Game Design, Rust (Programming Language), Algorithms, Application Programming Interface (API), Programming Principles, Application Design, Data Structures, Software Development, Development Testing
Beginner · Guided Project · Less Than 2 Hours

DeepLearning.AI
Skills you'll gain: Model Deployment, Performance Testing, Android Development, Transfer Learning, Image Analysis, PyTorch (Machine Learning Library), Tensorflow, Hardware Architecture, Applied Machine Learning, Artificial Neural Networks, Artificial Intelligence
Beginner · Project · Less Than 2 Hours

Skills you'll gain: Unity Engine, 3D Assets, 3D Modeling, Game Design, Virtual Environment, Video Game Development, Computer Graphic Techniques, Computer Graphics, Performance Tuning, Animation and Game Design
Mixed · Course · 1 - 4 Weeks

Board Infinity
Skills you'll gain: NSX-T Network Virtualization, Software-Defined Networking, Zero Trust Network Access, Virtual Networking, Virtual Local Area Network (VLAN), Network Switches, Network Architecture, Network Routing, Network Security, Load Balancing, Network Performance Management, Firewall, Network Protocols, Scalability
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Unity Engine, Game Design, Video Game Development, Performance Tuning, UI Components, Program Development, Object Oriented Programming (OOP), System Configuration, C# (Programming Language), Data Structures, Scripting
Mixed · Course · 1 - 4 Weeks