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: Real-Time Operating Systems, Embedded Software, Embedded Systems, Memory Management, Data Structures, C (Programming Language), Hardware Architecture, Computer Architecture, Dataflow, Peripheral Devices, Event-Driven Programming, Development Environment
Advanced · Course · 3 - 6 Months

Skills you'll gain: Embedded Software, Embedded Systems, Build Tools, Development Environment, Computer Programming Tools, C (Programming Language), Integrated Development Environments, Debugging, C++ (Programming Language), Peripheral Devices, Software Installation
Intermediate · Course · 1 - 3 Months

Packt
Skills you'll gain: Game Design, Video Game Development, Data Persistence, Animation and Game Design, Layout Design, Animations, Scripting, Game Theory
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Prompt Engineering, AI Orchestration, AI Workflows, Agentic Workflows, Software Development, Generative AI Agents, Cloud Deployment, Video Game Development, Application Deployment, Prototyping, Development Environment, Application Development, Software Installation, System Configuration
Beginner · Course · 1 - 3 Months

Skills you'll gain: Serial Peripheral Interface, Embedded Software, Embedded Systems, Development Environment, Peripheral Devices, Integrated Development Environments, Verification And Validation, Display Devices, C (Programming Language), System Configuration, Technical Documentation, Software Installation, Application Development, Code Reusability
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: System Programming, Code Reusability, File I/O, Program Development, Memory Management, Maintainability, Operating Systems, Debugging, File Management
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Embedded Software, AWS Identity and Access Management (IAM), Amazon Web Services, AWS CloudFormation, Amazon S3, Embedded Systems, System Testing, Verification And Validation, Security Engineering, Memory Management, Security Controls, Debugging, Data Storage, Workflow Management, Software Architecture
Advanced · Course · 1 - 3 Months

Skills you'll gain: Serial Peripheral Interface, Embedded Software, Embedded Systems, System Programming, Computer Programming Tools, Electronic Hardware, Software Development Tools, Debugging, Development Environment, C (Programming Language), Hardware Design, Build Tools, Peripheral Devices, Display Devices
Intermediate · Course · 3 - 6 Months

Skills you'll gain: Embedded Software, Embedded Systems, Development Environment, Integrated Development Environments, VPN Clients, System Configuration, AWS CloudFormation, Network Protocols, Security Controls, Verification And Validation, Technical Documentation, Peripheral Devices, C (Programming Language), AWS Identity and Access Management (IAM), Debugging, Code Reusability, Software Architecture, Data Structures, Workflow Management
Advanced · Course · 1 - 3 Months

Skills you'll gain: Serial Peripheral Interface, Embedded Software, Embedded Systems, Display Devices, Computer Displays, Electronic Hardware, Hardware Architecture, Computer Graphics, User Interface (UI), C (Programming Language), Application Development, Code Reusability
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Wireless Networks, Cloud Computing, Cloud Services, Internet Of Things, Cloud Platforms, Local Area Networks, Emerging Technologies, Amazon Web Services, Cloud-Based Integration, Infrastructure As A Service (IaaS), Software As A Service, Amazon Elastic Compute Cloud
★ 4.7 (1.5K) · Beginner · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Software Configuration Management, Embedded Software, Embedded Systems, Configuration Management, Git (Version Control System), Version Control, Memory Management, Build Tools, C (Programming Language), Development Environment, Code Review, Software Design
★ 4.5 (658) · Intermediate · Course · 1 - 4 Weeks