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: C++ (Programming Language), Data Structures, Interactive Design, Program Development, Object Oriented Programming (OOP), Computer Programming, Java Programming, Software Development, Computational Logic, Computer Science
★ 4.5 (46) · Beginner · Guided Project · Less Than 2 Hours

Skills you'll gain: iOS Development, Apple iOS, Swift Programming, Apple Xcode, Unit Testing, Mobile Development, User Interface (UI), User Interface and User Experience (UI/UX) Design, Game Design, Application Deployment, Real Time Data, Debugging, Artificial Intelligence
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Unity Engine, Event-Driven Programming, C# (Programming Language), Game Design, User Interface (UI), Video Game Development, User Interface (UI) Design, Scripting, Prototyping
Mixed · Course · 1 - 4 Weeks

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
★ 3.8 (39) · Mixed · Course · 1 - 3 Months

Skills you'll gain: Networking Hardware, General Networking, Network Architecture, Wireless Networks, Network Protocols, Computer Networking, TCP/IP, Local Area Networks, Network Routers, System Configuration, Network Switches, Wide Area Networks, Servers
★ 4.5 (295) · Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Embedded Systems, C (Programming Language), Embedded Software, Data Structures, Programming Principles, Data Management, Performance Tuning, Software Development
Intermediate · Guided Project · Less Than 2 Hours

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

Technion - Israel Institute of Technology
Skills you'll gain: New Product Development, Budget Management, Risk Management, Resource Management, Project Management, Product Management, Project Planning, Agile Product Development, Scheduling, Innovation, Business Strategy, Technology Strategies, Simulation and Simulation Software
★ 4.4 (142) · Intermediate · Course · 1 - 3 Months

Skills you'll gain: Event-Driven Programming, Application Development, Application Design, Debugging, Application Deployment, Computer Graphics, C++ (Programming Language), User Interface (UI), Software Development Life Cycle, Microsoft Windows, Software Architecture
Mixed · 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

Skills you'll gain: Animation and Game Design, Video Game Development, Computer Graphics, 3D Assets, Animations, C# (Programming Language), Cross Platform Development, Development Environment, Software Installation, Content Management
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: Embedded Systems, Embedded Software, C (Programming Language), System Programming, Software Development
Intermediate · Guided Project · Less Than 2 Hours