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 Construction: Data Abstraction

The University of British Columbia via edX


This is the third course in the Software Development MicroMasters program. You will learn how to build larger and more complex software systems using the Java programming language.

The course begins with the topic of data abstraction - from specification to implementation. Particular attention is given to how to write robust tests using JUnit. Then the course expands on these ideas to explore how type hierarchies and polymorphism can be used to decrease redundancy in your code. The course wraps up with a discussion of how to design robust classes.

By the end of the course, you will have a solid foundation in designing software in Java, and be ready to move onto Software Construction: Object-Oriented Design, where you will learn more complex design patterns and principles designing object-oriented programs.

Learners who enroll in the Verified track will receive staff grading for the course project and increased interaction with the instructors and staff.

Taught by

Gail Murphy and Elisa Baniassad


3.0 rating, based on 1 Class Central review

Start your review of Software Construction: Data Abstraction

  • I am taking this course now and am on the last module. I do like that this course teaches Java in a very different way. The material teaches the architecture of a Java program before worrying about teaching simple syntax. It quickly moves on to tea…

Never Stop Learning.

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