EdX

Software Construction: Object-Oriented Design (edX)

Software Construction: Object-Oriented Design (edX)

Learn how to design large software systems that solve real-world problems using object-oriented design techniques. By the end of the course, you will have a solid foundation in Java and Object-Oriented Design, as well as many software development concepts that can be applied to any language.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

This course, part of the Software Development MicroMasters program, will dig deep into the principles of object-oriented design, and introduce new abstraction techniques and design patterns. You will use these techniques to build an application that makes use of popular online services and APIs – the most complex software design project so far.
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 use software design patterns
  • To implement and test an object-oriented design
  • How to develop an application using online services and APIs

Prerequisites:

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Solving Algorithms for Discrete Optimization (Coursera) Coursera
University of Melbourne,The Chinese University of Hong Kong

Solving Algorithms for Discrete Optimization (Coursera)

Discrete Optimization aims to make good decisions when we have many possibilities to choose from. Its applications are ubiquitous throughout our society. Its applications range from solving Sudoku puzzles to arranging seating in a wedding banquet. The same technology can schedule planes and their crews, coordinate the production of steel, and organize the transportation of iron ore from the mines to the ports.

Oct 5th 2026
4 Weeks
Software Construction: Data Abstraction (edX) EdX
The University of British Columbia,UBCx

Software Construction: Data Abstraction (edX)

Learn powerful data abstraction and decomposition techniques to build large, complex programs. 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.

Self Paced
Self-Paced
Enterprise Software Lifecycle Management (edX) EdX
National Research Nuclear University MEPhI,MEPhIx

Enterprise Software Lifecycle Management (edX)

Learn the best models, methods and practices for effective lifecycle management for large-scale software. Want to manage software development, but unsure where to begin? This computer science course will teach you the models, methods and practices of software development to make the process manageable and result in high-quality and efficient software products.

Self Paced
Self-Paced
Introdução ao Teste de Software (Coursera) Coursera
Universidade de São Paulo, Brasil

Introdução ao Teste de Software (Coursera)

A necessidade das empresas em produzir software com qualidade tem aumentado a demanda por profissionais com conhecimentos e habilidades em Teste de Software. Entretanto, existe uma escassez de mão-de-obra especializada nesta área. Considerando essa lacuna, o curso de Introdução ao Teste de Software foi planejado para servir como um guia para pessoas que necessitam de uma fonte de consulta e/ou aprendizado na área.

Oct 5th 2026
5-12 Weeks
An Introduction to Interactive Programming in Python (Part 2) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 2) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Oct 5th 2026
4 Weeks
DevOps: Foundations and tools (edX) EdX
Universidad Anáhuac,AnahuacX

DevOps: Foundations and tools (edX)

Learn essential Linux & Unix to efficiently manage applications from the command line. Meet the basics of source code management with Git and Github. Also, go over the pillars of DevOps like Continuous Integration/Continuous Deployment, the paradigm shift in systems management with Infrastructure as Code and the creation of containers to assure the CI/CD pipeline.

Self Paced
Self-Paced