Course description
Software Engineering: Introduction
This course, part of the Software Development MicroMasters Program, 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.
Learners who enroll in the Verified track will receive staff grading and increased interaction with the instructor and staff.
Upcoming start dates
Suitability - Who should attend?
Prerequisites
- How to Code: Simple Data
- How to Code: Complex Data
- Software Construction: Data Abstraction
- Software Construction: Object-oriented Design
Outcome / Qualification etc.
What you'll learn
- 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
Course delivery details
This course is offered through University of British Columbia, a partner institute of EdX.
8-10 hours per week
Expenses
- Verified Track -$125
- Audit Track - Free