To support our site, Class Central may be compensated by some course providers.

Software Construction: Data Abstraction

The University of British Columbia via edX

students interested
  • Provider edX
  • $ Cost Free Online Course
  • Session Self Paced
  • Language English
  • Certificate $125 Certificate Available
  • Effort 8-10 hours a week
  • Start Date
  • Duration 6 weeks long

Taken this course? Share your experience with other students. Write review

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


Highest Rated Courses

Review for edX's Software Construction: Data Abstraction
3.0 Based on 1 reviews

  • 5 star 0%
  • 4 star 0%
  • 3 star 100%
  • 2 star 0%
  • 1 star 0%

Did you take this course? Share your experience with other students.

Write a review
  • 1
Chris D
3.0 3 weeks ago
by Chris is taking this course right now, spending 10 hours a week on it and found the course difficulty to be hard.
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 teach test-driven development. It is a nice way to learn a new language (though I have some Java experience with Android).

What is disappointing to me about this class, however, is the ambiguity in tests and exercises and the very short coverage of some of the more challenging material. The previous courses in the series (How to Code: Si…
Was this review helpful to you? Yes
  • 1

Class Central

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