Software Construction: Data Abstraction
About this Course
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.Created by: University of British Columbia
Level: Introductory

Related Online Courses
The Internet of Things is creating massive quantities of data, and managing and analysing it requires a unique approach to programming and statistics for distributed data sources. This course will... more
In this introductory Java programming course, you will be introduced to powerful concepts such as functional abstraction, the object oriented programming (OOP) paradigm and Application Programming... more
Understanding various data structures and algorithms is the foundation of modern programming. In this self-paced course you will learn about the characteristics of commonly used data structures and... more
This course covers the basics of R: a free programming language and software environment used for statistical computing and graphics. R is widely used by data analysts, statisticians, and data... more
Arm technology powered the smartphone revolution, and now it’s helping power the Internet of Things (IoT). This online course will provide beginners with an accelerated path to gain the knowledge n... more