
Skills you'll gain: Software Design Patterns, Software Design, C++ (Programming Language), Object Oriented Design, Software Architecture, Programming Principles, Application Frameworks, Object Oriented Programming (OOP), Prototyping, Memory Management, Database Development, Performance Tuning
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Version Control, Debugging, Software Design Patterns, Object Oriented Design, Program Development, Object Oriented Programming (OOP), Software Development, Software Versioning, Git (Version Control System), Programming Principles, Software Design, Computer Programming, Software Engineering, Software Development Tools
★ 4.5 (6) · Beginner · Course · 1 - 4 Weeks

Duke University
Skills you'll gain: Object Oriented Programming (OOP), Code Reusability, Programming Principles, Python Programming, Computer Programming, Software Engineering, Simulations
★ 3.7 (23) · Beginner · Guided Project · Less Than 2 Hours

Skills you'll gain: Object Oriented Programming (OOP), Java, Java Programming, Object Oriented Design, Computer Programming, Programming Principles, Software Design, Code Reusability, Data Structures
Beginner · Course · 1 - 3 Months

Skills you'll gain: File I/O, Code Reusability, Data Validation
Intermediate · Course · 3 - 6 Months

University of Michigan
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Software Design, Data Structures, Visualization (Computer Graphics), Graphic and Visual Design, Computer Graphics, Graphical Tools, Python Programming, Linear Algebra, Spatial Analysis
Intermediate · Course · 1 - 3 Months

Northeastern University
Skills you'll gain: Java, Object Oriented Programming (OOP), Data Structures, Java Programming, Object Oriented Design, Event-Driven Programming, Computer Programming, Application Design, Programming Principles, Application Development, File I/O, User Interface (UI), UI Components, User Interface (UI) Design, Development Environment, Code Reusability, Software Development
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, C++ (Programming Language), C and C++, Computer Programming, Code Reusability, Embedded Software, Development Environment, Control Systems, Integrated Development Environments, Embedded Systems, Web Applications, Electronics, Game Design, Electronic Components
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), Java, Java Programming, Object Oriented Design, Software Design, Computer Programming, Software Testing, Application Development
★ 4.5 (113) · Intermediate · Guided Project · Less Than 2 Hours

Skills you'll gain: PHP (Scripting Language), Object Oriented Programming (OOP), Object Oriented Design, Code Reusability, Web Development, Maintainability, Software Engineering
★ 4.6 (38) · Intermediate · Guided Project · Less Than 2 Hours

University of Colorado System
Skills you'll gain: Unified Modeling Language, Unit Testing, Software Design, Data Flow Diagrams (DFDs), Software Engineering Tools, Software Engineering, Software Development Tools, JUnit, Software Testing, Diagram Design, Design, Data Ethics, Test Automation, Dataflow
★ 4.7 (159) · Intermediate · Course · 1 - 3 Months

Skills you'll gain: Java, Mobile Development, Java Programming, Object Oriented Programming (OOP), Application Frameworks, Android Development, Application Development, Program Development, Software Development
★ 4.6 (70) · Intermediate · Guided Project · Less Than 2 Hours