When you enroll in this course, you'll also be enrolled in this Specialization.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate
There are 5 modules in this course
Agile embraces change which means that team should be able to effectively make changes to the system as team learns about users and market. To be good at effectively making changes to the system, teams need to have engineering rigor and excellence else embracing change becomes very painful and expensive.
In this course, you will learn about engineering practices and processes that agile and traditional teams use to make sure the team is prepared for change. In additional, you will also learn about practices, techniques and processes that can help team build high quality software. You will also learn how to calculate a variety of quantitative metrics related to software quality.
This is an intermediate course, intended for learners with a background in software development. To succeed in the course, you should have experience developing in modern programming languages (e.g., Java, C#, Python, JavaScript), an understanding of software development lifecycle models, familiarity with UML diagrams (class and sequence diagrams), and a desire to better understand quality aspects of software development beyond program correctness.
At the end of this course, you will be able to comfortably and effectively participate in various techniques and processes for building secure and high quality software.
In this module, you will be introduced to the concept of quality as it relates to software.
What's included
1 video1 reading
Show info about module content
1 video•Total 7 minutes
What is Quality Software?•7 minutes
1 reading•Total 5 minutes
Welcome to the course•5 minutes
Quality in Design
Module 2•4 hours to complete
Module details
In this module, you will learn about a variety of quality metrics including how to calculate them. A discussion of design patterns follows, allowing you to gain a deeper understanding of the quality they provide and exposure to several important patterns.
Introduction to Patterns and the Observer Pattern•6 minutes
Strategy Pattern•7 minutes
Adapter Pattern•6 minutes
11 readings•Total 160 minutes
Quality Attributes according to Microsoft•10 minutes
CMU SEI Technical Report on Quality Attributes•30 minutes
Coupling Factor•10 minutes
Lack of Cohesion of Methods•25 minutes
Lack of Documentation (as a metric)•10 minutes
Metric Definitions - SonarQube•15 minutes
Further Reading on Observer Pattern•10 minutes
Further Readings on Strategy Pattern #1•15 minutes
Further Readings on Strategy Pattern #2•15 minutes
Further Readings on Adapter #1•10 minutes
Further Readings on Adapter #2•10 minutes
1 assignment•Total 20 minutes
Quality in Design•20 minutes
2 discussion prompts•Total 20 minutes
What is Software?•10 minutes
Are these useful?•10 minutes
Quality in Architecture
Module 3•2 hours to complete
Module details
In this module, you will create Scenarios in order to document and verify quality attributes relevant to software architecture, including usability, performance, and more. Then, you will examine one specific quality attribute and its implications: security.
What's included
7 videos1 reading1 peer review
Show info about module content
7 videos•Total 40 minutes
What is Software Architecture?•4 minutes
Architectural Styles•5 minutes
View, Viewpoint, and Perspective•5 minutes
Writing Scenarios•8 minutes
Security Perspective•6 minutes
Attack Trees•6 minutes
Security Tactics•6 minutes
1 reading•Total 15 minutes
ISO/IEC/IEEE Systems and software engineering — Architecture description•15 minutes
1 peer review•Total 60 minutes
Assessing Quality through Scenarios•60 minutes
Quality in Implementation
Module 4•7 hours to complete
Module details
In this module, you will explore a variety of quality aspects of the implementation stage of the lifecycle. You will also evaluate coding style guides and static analysis tools. Finally, you will analyze self-documentation in open-source code and identify the capabilities of version control and automated build tools.
In this module, learners will discover quality in the final lifecycle stages: testing and deployment. Learners will first be instructed on the importance of test planning, understand what it means to evaluate tests and identify the benefits of test-first process. Then, a variety of resources will give learners understanding into continuous pipeline tools, allowing the learner to evaluate their potential benefits (and drawbacks) for their own projects.
The University of Minnesota is among the largest public research universities in the country, offering undergraduate, graduate, and professional students a multitude of opportunities for study and research. Located at the heart of one of the nation’s most vibrant, diverse metropolitan communities, students on the campuses in Minneapolis and St. Paul benefit from extensive partnerships with world-renowned health centers, international corporations, government agencies, and arts, nonprofit, and public service organizations.
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Learner reviews
4.5
470 reviews
5 stars
74.68%
4 stars
14.04%
3 stars
4.25%
2 stars
3.19%
1 star
3.82%
Showing 3 of 470
J
JD
5·
Reviewed on Feb 16, 2022
Well writtens anc challenging. I learned a lot throughout!
S
SK
5·
Reviewed on Mar 24, 2021
Overall the course is good but there should be more videos from instructor then reading assignments links because I could not understand them well.
D
DG
4·
Reviewed on Dec 30, 2024
Really well structured and comprehensive. Lecturers presented well, were engaging and knowledgeable. Assignments were also a lot of fun. Some of the course could be updated/modernized wrt technology.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.