Most popular programs
Trending now
55,056 already enrolled!
This course introduces how teams design, build, and test multi-version software systems.
You will learn software engineering principles that are applicable to the breadth of large-scale software systems. The course explores topics such as agile development, REST and Async programming, software specification, design, refactoring, information security, and more.
By the end of this course, learners will work in teams, applying an agile software development process to specify, design, and test multiple versions of complex software systems.
How to build a non-trivial software system using an agile approach in a pair or team
Techniques for specifying the functional and non-functional aspects of a software system
Techniques for designing and testing a software system
The role of refactoring in building a quality system
Week 0: Introduction
Week 1: Process
Week 2: Specifications
Week 3: Testing
Week 4: High Level Design
Week 5: Low Level Design
Week 6: Construction
Week 7: Information Security
Week 8: Intellectual Property and Ethics