All Courses
Software Construction: Data Abstraction
edX
Course
Beginner
Free to Audit
Certificate

Software Construction: Data Abstraction

University of British Columbia

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

9 hrs/week6 weeksEnglish22,941 enrolled
Free to Audit

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.

What You'll Learn

  • How to read and write Java programs
  • How to test Java programs with JUnit
  • To build larger software systems using abstraction and decomposition
  • How to specify, implement, use and test a data abstraction

Prerequisites

  • How to Code: Simple Data
  • How to Code: Complex Data

Instructors

G

Gail Murphy

Professor of Computer Science

E

Elisa Baniassad

Instructor in Computer Science

Topics

Software Design Patterns
Junit
Software Development
Software Systems
Data Abstraction
Object-Oriented Programming (OOP)
Software Construction
Java (Programming Language)
Polymorphism

Course Info

PlatformedX
LevelBeginner
PacingUnknown
CertificateAvailable
PriceFree to Audit

Skills

أنماط تصميم البرمجيات
JUnit
تطوير البرمجيات
الأنظمة البرمجية
تجريد البيانات
Object-Oriented Programming (OOP)
Software Construction
Java (Programming Language)
Polymorphism

Start Learning Now