Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

The University of British Columbia

Software Development

The University of British Columbia via edX MicroMasters


Speed is critical in software development. Successful developers are those who are able to quickly learn new technologies and new software systems, and they do this by seeing any software – in any programming language – as common repeating patterns, not just detailed lines of code.

In this MicroMasters program, you will learn this same kind of expert thinking. By working through several software development projects, you will learn specific technologies, including Java, JUnit, IntelliJ IDEA, Typescript and Node.js. But even more important, you will develop the ability to see the common structures in programs and in tools and learn how to apply these skills to master new technologies quickly.

Upon completion of this program, you will be able to write programs using a systematic approach and to design programs that are easy to maintain. You will also learn how to use agile methods in order to build software programs that solve real world problems.

With the skills obtained in this program, you will have the confidence to apply for positions that use any programming language or technology.


Courses under this program:
Course 1: How to Code: Simple Data
Learn the secret to writing well-tested and easy to improve programs, that will set you up to master any programming language

Course 2: How to Code: Complex Data
Learn how to design more complex programs, using new data structures, abstraction, and generative recursion.

Course 3: Software Construction: Data Abstraction

Learn powerful data abstraction and decomposition techniques to build large, complex programs.

Course 4: Software Construction: Object-Oriented Design
Learn how to design large software systems that solve real-world problems using object-oriented design techniques.

Course 5: Software Engineering: Introduction

Learn how to apply engineering principles, such as Agile, to build a full-stack software system.

Course 6: Software Development Capstone Project

Apply all the skills you have learned to work through the challenging and rewarding task of designing a full-stack system.


Taught by

Reid Holmes, Gail Murphy, Elisa Baniassad and Gregor Kiczales


1.0 rating, based on 1 Class Central review

Start your review of Software Development

  • Joselo Bennett
    Taken from Software Development Capstone Project reviews "I can't agree with the first reviewer more. This "course" (and I'm being generous even using that word) is an unconscionable abandonment of any sense of responsibility or accountability on t…

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.