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, C (Programming Language), Embedded Software, Data Structures, Programming Principles, Data Management, Data Storage Technologies, Software Development
Intermediate · Guided Project · Less Than 2 Hours

Edge Impulse
Skills you'll gain: Computer Vision, Image Analysis, Artificial Neural Networks, Embedded Systems, Artificial Intelligence and Machine Learning (AI/ML), Applied Machine Learning, Embedded Software, Deep Learning, Data Ethics, Machine Learning, Computer Programming, Python Programming
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Event-Driven Programming, Integrated Development Environments, Maintainability, User Interface (UI), Software Development Tools, Program Development, Development Environment, Python Programming, Application Development
Beginner · Course · 1 - 4 Weeks

Politecnico di Milano
Skills you'll gain: Application Specific Integrated Circuits, Computer Systems, System Configuration, System Design and Implementation, Computer Architecture, Hardware Architecture, Computer Hardware, Embedded Systems, Systems Design, Automation, Computational Logic, Configuration Management, Performance Tuning
Beginner · Course · 1 - 4 Weeks

Arizona State University
Skills you'll gain: Semiconductors, Electronics Engineering, Computer Architecture, Hardware Architecture, Thermal Management, Scalability, Systems Integration, Manufacturing Processes, Technical Standard, Reliability
Beginner · Course · 1 - 3 Months

Skills you'll gain: Computer Vision, Mobile Development, PyTorch (Machine Learning Library), Flask (Web Framework), Application Development, Tensorflow, Deep Learning, Application Deployment, Artificial Intelligence and Machine Learning (AI/ML), Containerization, User Interface (UI), Performance Tuning
Intermediate · Course · 1 - 3 Months

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

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: Unreal Engine, 3D Modeling, 3D Assets, Computer Graphic Techniques, Editing, Graphics Software
Beginner · Specialization · 3 - 6 Months

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

Skills you'll gain: Field-Programmable Gate Array (FPGA), Hardware Design, Serial Peripheral Interface, Electronic Hardware, Internet Of Things, Embedded Systems, Control Systems, Communication Systems, Software Development Tools, System Design and Implementation, Software Installation, Verification And Validation, Real Time Data
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: C# (Programming Language), Artificial Intelligence, Microsoft Visual Studio, Algorithms, Game Design, Video Game Development
Intermediate · Guided Project · Less Than 2 Hours