Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.


Software Design Principles

via Codecademy


Start designing more complex systems with techniques such as design patterns, SOLID principles, and UML.

### Why Learn Software Design Principles?

As we create increasingly complex projects, we worry not just about writing new code, but how that code is going to fit in with the rest of our application. When we stop being able to add new code effectively, we stop being able to solve new problems, grinding progress to a halt. Software design helps us to create software that can adapt to change over time. This allows us to create software that can continuously improve and adapt to our users' changing needs.

### Take-Away Skills

This course is a great introduction to fundamental principles of software design. You will learn to apply the principles of Object-Oriented Programming, Design Patterns, the SOLID principles, and high-level architectures to guide the implementation of your projects. These concepts are a necessity for dealing with professional-level codebases, working with other engineers, and will greatly enhance your software engineering skillset.

### Note on Prerequisites

This course assumes that you have experience with an Object-Oriented Programming language and that you are familiar with concepts such as classes and methods.


  • Welcome to Software Design Principles: Learn about what the Software Design Principles course has in store!
    • Article: Welcome to Software Design Principles
  • Software Design Principles: Get familiar with designing software systems!
    • Article: Introduction to Software Design
    • VideoContentItem: Why Object-Oriented Programming?
    • Article: Introduction to OOP and UML
    • Article: The SOLID Principles
    • Article: Introduction to Design Patterns
    • Article: Introduction to Model View Controller
  • Software Design Principles: Next Steps: You've completed the Software Design Principles course! What's next?
    • Article: Software Design Principles: Next Steps

Taught by

Nik Stern


4.1 rating at Codecademy based on 199 ratings

Start your review of Software Design Principles

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.