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, Development Environment, Software Versioning, Embedded Systems, Program Development, Prototyping, Linux, Linux Commands, Operating System Administration, Operating Systems, Peripheral Devices, Command-Line Interface, Computer Hardware
★ 3.9 (40) · Mixed · Course · 1 - 3 Months

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

Skills you'll gain: Internet Of Things, Embedded Software, Embedded Systems, Mobile Development, Android Development, Application Development, Cloud Services, Application Design, Wireless Networks, Cloud Computing, General Networking, Network Protocols
Beginner · Course · 1 - 3 Months
Universidad de los Andes
Skills you'll gain: Game Design, Animation and Game Design, Video Game Development, Scrum (Software Development), Unity Engine, Value Propositions, Animations, Functional Specification, Proposal Development, Sprint Retrospectives, Business Modeling, Agile Methodology, Agile Software Development, Software Design Documents, Software Development Methodologies, Customer Analysis, Interaction Design, UI Components, Software Documentation, Interactive Design
★ 4.4 (394) · Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Event-Driven Programming, Embedded Systems, Embedded Software, Prototyping, Internet Of Things, System Design and Implementation, Simulations, Python Programming, Computer Programming
Beginner · Course · 1 - 3 Months

Pragmatic AI Labs
Skills you'll gain: Rust (Programming Language), YAML, User Interface (UI), UI Components, Event-Driven Programming, Testability, Test Tools, Continuous Integration, System Monitoring, Software Architecture
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Generative Model Architectures, Generative AI, Model Deployment, Model Optimization, Large Language Modeling, Artificial Intelligence and Machine Learning (AI/ML), Performance Tuning, Hardware Architecture, Computer Architecture
Intermediate · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Telecommunications, Internet Of Things, Wireless Networks, Emerging Technologies, Communication Systems, Digital Communications, General Networking, Conceptual Design, Computer Networking, Global Positioning Systems
★ 3.9 (1.2K) · Mixed · Course · 1 - 3 Months

Board Infinity
Skills you'll gain: NSX-T Network Virtualization, Virtual Networking, Software-Defined Networking, Network Switches, Network Architecture, Network Security, Firewall, Network Routing, Cyber Security Policies, Network Performance Management, Scalability
Intermediate · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Android Development, Application Development, Android (Operating System), Video Game Development, Android Studio, Mobile Development, Software Development Tools, Computer Programming Tools, Development Environment, Internet Of Things, Web Servers, Java, Ubuntu, Peripheral Devices, Operating Systems, Software Installation, System Configuration, Hardware Troubleshooting
★ 4.2 (160) · Mixed · Course · 1 - 3 Months

Dartmouth College
Skills you'll gain: Embedded Software, Embedded Systems, C (Programming Language), Hardware Architecture, Software Design, Computer Architecture, Maintainability, Event-Driven Programming, Debugging, Computer Hardware, Memory Management, Code Reusability, Data Structures, Peripheral Devices
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Embedded Software, Embedded Systems, Peripheral Devices, C (Programming Language), Hardware Architecture, Data Structures, Debugging, C and C++, Performance Tuning
★ 4.6 (52) · Advanced · Course · 1 - 4 Weeks