Computer Science
MicroMasters Program in

Software Development

University of British Columbia (UBCx)
6 Courses for $832.50 USD
Credit-eligible MicroMasters Program
Enrolling Now

Learn the design approaches to software engineering, which allow experts to work in any programming language and build a project portfolio using Java, Typescript and more.

What You Will Learn

  • How to develop programs that are well tested and easy to modify
  • To structure the development of large software systems using abstraction and decomposition
  • To quickly write and revise code using programming tools
  • How to do full-stack software development using an agile approach in a pair or team
  • Popular languages Java and Typescript, and the ability to quickly learn new ones

Courses in this Program

Courses areIntroductory to Advanced.
Effort:8–10 hours per week, for 7 weeks
Learn systematic program design to write programs that tell a clear story about what they do, are well-tested and are easy to improve.
Effort:8–10 hours per week, for 6 weeks
Learn how to design more complex programs, using new data structures, abstraction, and generative recursion.
Effort:8–10 hours per week, for 6 weeks
Learn powerful data abstraction and decomposition techniques to build large, complex programs.
Effort:8–10 hours per week, for 6 weeks
Learn how to design large software systems that solve real-world problems using object-oriented design techniques.
Effort:8–10 hours per week, for 6 weeks
Learn how to apply engineering principles, such as Agile, to build a full-stack software system.
Effort:8–10 hours per week, for 6 weeks
Apply all the skills you have learned to work through the challenging and rewarding task of designing a full-stack system.
Reid Holmes
Associate Professor, Computer Science
University of British Columbia
Gail Murphy
Professor of Computer Science
University of British Columbia
Elisa Baniassad
Instructor in Computer Science
University of British Columbia
Gregor Kiczales
Professor, Computer Science
University of British Columbia

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.

  • Career prospects for people with similar training include software developer, software tester or any quality assurance roles.
  • The median salary for Software Development jobs in the US is $100,690 per year. (source: Bureau of Labour Statistics)
  • It is projected that 186,600 new software development jobs will need to be filled in the US alone in the next ten years. (source: Bureau of Labour Statistics)


"We have hired numerous people from UBC into starting positions after they have completed these courses. The courses form a solid foundation to begin a career in software development and continue with further courses in computer science."
- Geordie Henderson, VP, Software Development, Hootsuite

How To Earn The MicroMasters Credential
Complete and successfully earn a Verified Certificate in all 5 courses plus the Capstone Software Engineering Project course.

Take Your Credential To The Next Level
Learners who successfully earn the MicroMasters credential are eligible to apply for admission to the Master of Science (Computer Science) program at Curtin University.

If a learner applies for admission to the Master of Science (Computer Science) program at Curtin University, and is accepted, the MicroMasters credential will count towards 25% (or 100 credits of the 400 credits) of the coursework required for graduation in the Curtin program.

Eligibility to be accepted into the Master program is subject to the Curtin University Admission Requirements being met.

Who can take this course?

Unfortunately, learners from Iran and Cuba will not be able to register for this course. While edX has received a licenses from the U.S. Office of Foreign Assets Control (OFAC) to offer courses to learners from these countries, our licenses do not cover this course. EdX truly regrets that US sanctions prevent us from offering all of our courses to everyone, no matter where they live.

Also in Computer Science at edX


Drive your career forward with university-backed credit programs and verified certificates


Study and demonstrate knowledge on your schedule


Try a course before you pay


Learn with university partners and peers from around the world