UBCx: Software Construction: Data Abstraction

UBCx: Software Construction: Data Abstraction

by University of British Columbia

About This Course

As part of the Software Development MicroMasters program, this course will enhance your skills in building larger and more complex software systems using the Java programming language. The coursework begins with the key concepts of data abstraction, covering both specification and implementation. Special focus is placed on robust testing using JUnit, advancing into the principles of type hierarchies and polymorphism to reduce code redundancy, and concluding with robust class design.

After completing this course, you will be well-prepared to continue onto more advanced topics in Software Construction: Object-Oriented Design, exploring intricate design patterns and principles in object-oriented programming.

Enrolling in the Verified track will enable you to receive staff grading for your project and more interactive support from instructors and staff.

Course Details At a Glance

  • Institution: UBCx
  • Subject: Computer Science
  • Level: Introductory
  • Prerequisites:
    • How to Code: Simple Data
    • How to Code: Complex Data
  • Language: English
  • Video Transcript: English
  • Associated Programs: MicroMasters Program in Software Development Foundations
  • Associated Skills: Data Abstraction, Software Construction, Software Development, JUnit, Software Systems, Java, Polymorphism, Software Design Patterns, Object-Oriented Programming (OOP)

What You'll Learn

  • How to read and write Java programs effectively.
  • Methods for testing Java programs using JUnit.
  • Building larger software systems through effective use of abstraction and decomposition.
  • Specifying, implementing, using, and testing a data abstraction.

Who This Course Is For

The course is suited for individuals who are about to start their journey in object-oriented programming and software development. It covers fundamental concepts and techniques in Java, which sets a robust groundwork before advancing to more complex topics in software construction and design.

Applying Skills in the Real World

The skills gained in this course can be applied in multiple domains where Java programming and software development are required. Graduates can produce high-quality, scalable, and robust software applications, contributing effectively in roles such as software developers, system architects, and project managers. Furthermore, mastering these foundational skills prepares learners for complex problem-solving and innovation in technology development.

Similar Courses
Course Page   UBCx: Software Construction: Data Abstraction