Software Design Principles
Offered By: Codecademy
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.
### 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
1C:Enterprise Junior Developer CourseMoscow Institute of Physics and Technology via Coursera Agile Development
University of Virginia via Coursera Testing with Agile
University of Virginia via Coursera PM4R Agile: mentalidad ágil en proyectos de desarrollo
Inter-American Development Bank via edX Agile Planning for Software Products
University of Alberta via Coursera