YoVDO

Software Design Principles

Offered By: Codecademy

Tags

Software Development Courses Object-oriented programming Courses Software Engineering Courses Software Design Courses Design Patterns Courses

Course Description

Overview

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.

Syllabus

  • 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

Zoe Bachman

Related Courses

Software as a Service
University of California, Berkeley via Coursera
Software Testing
University of Utah via Udacity
The Hardware/Software Interface
University of Washington via Coursera
Software Debugging
Saarland University via Udacity
Introduction to Systematic Program Design - Part 1
The University of British Columbia via Coursera