Course
Software Design Principles
Start designing more complex systems with techniques such as design patterns, SOLID principles, and UML.
This course includes
This course includes
Skill level
IntermediateTime to complete
Average based on combined completion rates — individual pacing in lessons, projects, and quizzes may vary1 hourPrerequisites
None
About this course
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.
Syllabus
Certificate of completion available with Plus or Pro
Earn a certificate of completion and showcase your accomplishment on your resume or LinkedIn.
Meet the creator of the course
Nik Stern
Nik holds a Bachelors and Masters of Science in Computer Science. They are also certified as a Scrum Master, Product Owner, and Online Adult Educator. Earn a certificate of completion
Show your network you've done the work by earning a certificate of completion for each course or path you finish.- Show proofReceive a certificate that demonstrates you've completed a course or path.
- Build a collectionThe more courses and paths you complete, the more certificates you collect.
- Share with your networkEasily add certificates of completion to your LinkedIn profile to share your accomplishments.
Software Design Principles course ratings and reviews
229 ratings
- 5 stars
- 4 stars
- 3 stars
- 2 stars
- 1 star
- The progress I have made since starting to use codecademy is immense! I can study for short periods or long periods at my own convenience - mostly late in the evenings.ChrisCodecademy Learner @ USA
- I felt like I learned months in a week. I love how Codecademy uses learning by practice and gives great challenges to help the learner to understand a new concept and subject.RodrigoCodecademy Learner @ UK
- Brilliant learning experience. Very interactive. Literally a game changer if you're learning on your own.John-AndrewCodecademy Learner @ USA
Our learners work at
Join over 50 million learners and start Software Design Principles today!
Looking for something else?
Related resources
- Article
What are UI and UX Design?
Understand the differences between User Interface (UI) design and User Experience (UX) design. - Article
Introduction to User Centered Design
This article provides an introduction to user centered design. - Article
Why Object-Oriented Programming?
Why has object-oriented programming become a major programming paradigm?
Related courses and paths
- Free course
Learn Visual Design
Visual design organizes elements into a cohesive whole and supports usability. Learn basic visual design principles to build more aesthetic digital products.Beginner Friendly1 hour - Course
Learn Design Thinking: Iteration
In this course, learn the later, continuous stages of the design thinking process where actions are taken to iterate on a product after testing.With CertificateIntermediate1 hour - Course
Learn Interaction Design
Design effective user interactions and flows with thoughtful information architecture.With CertificateIntermediate2 hours
Browse more topics
- Web Development4,824,361 learners enrolled
- JavaScript2,800,026 learners enrolled
- Code Foundations7,210,983 learners enrolled
- Computer Science5,663,661 learners enrolled
- Data Science4,340,242 learners enrolled
- Python3,506,873 learners enrolled
- For Business3,213,920 learners enrolled
- Data Analytics2,333,034 learners enrolled
- HTML & CSS2,290,498 learners enrolled
Unlock additional features with a paid plan
Practice Projects
Guided projects that help you solidify the skills and concepts you're learning.Assessments
Auto-graded quizzes and immediate feedback help you reinforce your skills as you learn.Certificate of Completion
Earn a document to prove you've completed a course or path that you can share with your network.