RiseUpp Logo
Educator Logo

Java Data Abstraction and Software Construction

Master Java programming with focus on data abstraction, testing, and building complex software systems through hands-on practice.

Master Java programming with focus on data abstraction, testing, and building complex software systems through hands-on practice.

This comprehensive course, part of the Software Development MicroMasters program, teaches advanced Java programming concepts focusing on data abstraction and software construction. Students learn to build larger, more complex software systems through abstraction and decomposition techniques. The curriculum covers robust testing with JUnit, type hierarchies, polymorphism, and robust class design. Emphasis is placed on practical implementation and testing of data abstractions in Java.

English

English

Powered by

Provider Logo
Java Data Abstraction and Software Construction

This course includes

6 Weeks

Of Self-paced video lessons

Beginner Level

Completion Certificate

awarded on course completion

10,312

Audit For Free

What you'll learn

  • Master Java programming fundamentals and syntax

  • Implement and test data abstractions effectively using JUnit

  • Develop complex software systems using abstraction techniques

  • Apply polymorphism and type hierarchies in program design

  • Create robust, well-tested software implementations

Skills you'll gain

Java Programming
Data Abstraction
Software Development
JUnit Testing
Object-Oriented Programming
Software Design
Type Hierarchies
Polymorphism

This course includes:

PreRecorded video

Graded assignments, Exams

Access on Mobile, Tablet, Desktop

Limited Access access

Shareable certificate

Closed caption

Get a Completion Certificate

Share your certificate with prospective employers and your professional network on LinkedIn.

Certificate

Top companies offer this course to their employees

Top companies provide this course to enhance their employees' skills, ensuring they excel in handling complex projects and drive organizational success.

icon-0icon-1icon-2icon-3icon-4

Module Description

This course provides a thorough foundation in Java programming and software construction principles. Students learn to implement and test data abstractions, use type hierarchies and polymorphism to write efficient code, and design robust classes. The curriculum emphasizes practical skills through hands-on programming exercises and project work. Verified track students receive additional benefits including staff grading and increased instructor interaction.

Fee Structure

Instructors

Gail Murphy
Gail Murphy

7 Courses

A Pioneering Leader in Software Engineering and Developer Productivity

Gail C. Murphy serves as Professor of Computer Science and Vice-President Research & Innovation at the University of British Columbia, where she has revolutionized software engineering research and practice since 1996. After earning her BSc from the University of Alberta and PhD from the University of Washington, she built an extraordinary career combining academic excellence with industry innovation. As co-founder and former Chief Scientist of Tasktop Technologies, she helped transform software development productivity through value stream integration technology that serves over one million users worldwide. Her research focuses on developing tools and techniques to help software developers better manage complex information structures and improve productivity, particularly in large-scale systems. Her contributions have earned numerous prestigious honors including ACM Fellow, IEEE Harlan D. Mills Award, and Fellow of the Royal Society of Canada. Through her leadership roles at UBC and service on multiple corporate boards including Science World British Columbia and Innovate BC, she continues to bridge the gap between academic research and industry practice. Her impact extends beyond academia through Tasktop's enterprise-level solutions, which enable seamless integration across software development tools and processes, helping global organizations streamline their software delivery workflows.

A Distinguished Leader in Software Engineering Education and Research

Elisa Baniassad serves as Professor of Teaching in the Department of Computer Science at the University of British Columbia, where she has established herself as an innovative educator and researcher in software engineering and programming languages. After completing her PhD at UBC in 2001, she built an impressive international career teaching at institutions including Trinity College Dublin, the Chinese University of Hong Kong, and the Australian National University before returning to UBC. Her research contributions span aspect-oriented programming, software engineering education, and team dynamics in software development. Her co-authored book "Aspect-Oriented Analysis and Design: The Theme Approach" has become a foundational text in the field. Recently appointed as Deputy Academic Director of UBC's Centre for Teaching, Learning and Technology, she continues to shape computer science education through innovative teaching methods and curriculum development. Her excellence in teaching has earned her numerous accolades, including the 2023 CS-Can/Info-Can Excellence in Teaching award and the UBC Killam Teaching Prize. At UBC, she primarily teaches Software Construction (CPSC 210) and Software Engineering (CPSC 310), where she focuses on helping students write programs that closely mirror their design intentions. Her recent work has expanded into studying issues of belonging in teams and alternative grading practices, including mastery learning and ungrading approaches.

Java Data Abstraction and Software Construction

This course includes

6 Weeks

Of Self-paced video lessons

Beginner Level

Completion Certificate

awarded on course completion

10,312

Audit For Free

Testimonials

Testimonials and success stories are a testament to the quality of this program and its impact on your career and learning journey. Be the first to help others make an informed decision by sharing your review of the course.

Frequently asked questions

Below are some of the most commonly asked questions about this course. We aim to provide clear and concise answers to help you better understand the course content, structure, and any other relevant information. If you have any additional questions or if your question is not listed here, please don't hesitate to reach out to our support team for further assistance.