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.

Skills you'll gain: Embedded Systems, Embedded Software, Electronic Systems, Electronic Hardware, Hardware Design, Electronic Components, USB, Machine Controls, Data Storage Technologies, Control Systems, Automation Engineering, Electronics, Program Development, Data Storage, Data Persistence, Environmental Monitoring, Prototyping, Programming Principles, Display Devices, C (Programming Language)
Intermediate · Course · 3 - 6 Months

Pragmatic AI Labs
Skills you'll gain: Rust (Programming Language), YAML, User Interface (UI), Test Driven Development (TDD), UI Components, Command-Line Interface, Test Case, Unit Testing, Event-Driven Programming, Testability, Test Tools, Continuous Integration, System Monitoring, System Programming, Software Architecture, Interactive Data Visualization, Software Design
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Unity Engine, Computer Graphic Techniques, Computer Graphics, Visualization (Computer Graphics)
Intermediate · Course · 1 - 3 Months

28DIGITAL
Skills you'll gain: Real-Time Operating Systems, Embedded Software, Embedded Systems, Internet Of Things, Operating Systems, Application Development, Wireless Networks, Communication Systems, Hardware Architecture, OS Process Management, Network Protocols, Simulations, C (Programming Language), Network Performance Management, Memory Management
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Peripheral Devices, USB, Operating Systems, Computer Hardware, Operating System Administration, Data Storage Technologies, Hardware Troubleshooting, Data Storage, Computing Platforms, Hardware Architecture, Desktop Support, Computer Systems, System Configuration, Electrical Safety, Linux, System Software, File Systems, Information Technology, Microsoft Windows, File Management
Beginner · Course · 1 - 3 Months

University of Maryland, College Park
Skills you'll gain: Hardware Design, Security Engineering, Computer Hardware, Hardware Architecture, Hardening, Computer Security, Threat Modeling, Threat Detection, Cybersecurity, Intrusion Detection and Prevention, Security Architecture Review, Application Specific Integrated Circuits, Cryptographic Protocols, Microarchitecture, Cryptography, Systems Design, Encryption, Exploitation techniques, Functional Design, Emerging Technologies
Mixed · Course · 1 - 3 Months

Skills you'll gain: C and C++, C++ (Programming Language), Data Structures, Application Development, Program Development, Data Storage, Programming Principles, Computer Programming, Java Programming, Software Development, Computer Science
Beginner · Guided Project · Less Than 2 Hours

Skills you'll gain: Real-Time Operating Systems, Embedded Software, Embedded Systems, System Programming, System Software, Software Architecture, Hardware Architecture, Systems Architecture, Build Tools, Software Development Tools, Dependency Analysis, Cross Platform Development, Performance Tuning, Package and Software Management, Software Design Patterns, C++ (Programming Language)
Intermediate · Course · 1 - 4 Weeks

Coursera
Skills you'll gain: Microsoft Azure, Data Visualization, Microsoft Excel, Interactive Data Visualization, Internet Of Things, Cloud Storage, Data Storage Technologies, Data Import/Export, Data Pipelines
Beginner · Guided Project · Less Than 2 Hours

Pragmatic AI Labs
Skills you'll gain: Bash (Scripting Language), Shell Script, Unix Shell, Scripting, Rust (Programming Language), Scripting Languages, IT Automation, Testability, Unix Commands, Development Testing, Cross Platform Development, Maintainability, File I/O, Package and Software Management
Beginner · Course · 1 - 3 Months

Politecnico di Milano
Skills you'll gain: Application Specific Integrated Circuits, Systems Design, Computer Architecture, System Design and Implementation, Hardware Architecture, Cloud Infrastructure, Distributed Computing, Computer Systems, System Configuration, Computational Logic
Beginner · Course · 1 - 3 Months

University of California San Diego
Skills you'll gain: Telecommunications, Internet Of Things, Wireless Networks, Emerging Technologies, Communication Systems, Mobile Security, Digital Communications, Computer Networking, Network Protocols, Global Positioning Systems
Mixed · Course · 1 - 3 Months