Software Construction: Object-Oriented Design

Provided by:
8/10 stars
based on  16 reviews
Provided by:
Cost FREE , Add a Verified Certificate for $125
Start Date Upcoming

Course Details

Cost

FREE,
Add a Verified Certificate for $125

Upcoming Schedule

  • Upcoming

Course Provider

edX online courses
Harvard University, the Massachusetts Institute of Technology, and the University of California, Berkeley, are just some of the schools that you have at your fingertips with edX. Through massive open online courses (MOOCs) from the world's best universities, you can develop your knowledge in literature, math, history, food and nutrition, and more. These online classes are taught by highly-regarded experts in the field. If you take a class on computer science through Harvard, you may be tau...
Harvard University, the Massachusetts Institute of Technology, and the University of California, Berkeley, are just some of the schools that you have at your fingertips with edX. Through massive open online courses (MOOCs) from the world's best universities, you can develop your knowledge in literature, math, history, food and nutrition, and more. These online classes are taught by highly-regarded experts in the field. If you take a class on computer science through Harvard, you may be taught by David J. Malan, a senior lecturer on computer science at Harvard University for the School of Engineering and Applied Sciences. But there's not just one professor - you have access to the entire teaching staff, allowing you to receive feedback on assignments straight from the experts. Pursue a Verified Certificate to document your achievements and use your coursework for job and school applications, promotions, and more. EdX also works with top universities to conduct research, allowing them to learn more about learning. Using their findings, edX is able to provide students with the best and most effective courses, constantly enhancing the student experience.

Provider Subject Specialization
Sciences & Technology
Business & Management
23866 reviews

Course Description

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.

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.

Learners who enroll in the Verified track will receive staff grading for the course project and increased interaction with the instructors and staff.

Software Construction: Object-Oriented Design course image
Reviews 8/10 stars
16 Reviews for Software Construction: Object-Oriented Design

Ratings details

  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars

Rankings are based on a provider's overall CourseTalk score, which takes into account both average rating and number of ratings. Stars round to the nearest half.

Sort By
Anonymity Preferred profile image
Anonymity Preferred profile image

Anonymity Preferred

6/10 starsCompleted
2 years, 1 month ago
Compared to the How to Code courses (HtC1x and HtC2x) and Software Construction: Data Abstraction (SoftConst1x), this course felt not as tightly-knit as the prerequisites. The learning curve is definitely steeper than SoftConst1x and, in my opinion, comparable to HtC2x, but I personally don't think the same level of rigorousness in teaching complex concepts that is demonstrated in HtC2x is maintained in SoftConst2x (even though it's a different course and a different instructor). The final project is probably the most disappointing part of the course—in my case, I spent more time learning the Java language and utilities, setting things up, and trying to get around outdated, insecure download links than practising the concepts that was taught throughout the course. In any case, and criticisms aside, I still think this course does teach some useful OOP concepts and does an okay job in introducing design patterns using practic... Compared to the How to Code courses (HtC1x and HtC2x) and Software Construction: Data Abstraction (SoftConst1x), this course felt not as tightly-knit as the prerequisites. The learning curve is definitely steeper than SoftConst1x and, in my opinion, comparable to HtC2x, but I personally don't think the same level of rigorousness in teaching complex concepts that is demonstrated in HtC2x is maintained in SoftConst2x (even though it's a different course and a different instructor). The final project is probably the most disappointing part of the course—in my case, I spent more time learning the Java language and utilities, setting things up, and trying to get around outdated, insecure download links than practising the concepts that was taught throughout the course. In any case, and criticisms aside, I still think this course does teach some useful OOP concepts and does an okay job in introducing design patterns using practical examples and code (much better than Software Engineering: Introduction). It's just not as much fun and clear as the prerequisites for the reasons stated above.
Was this review helpful? Yes2
 Flag
Prashant Singh profile image
Prashant Singh profile image
6/10 starsCompleted
  • 4 reviews
  • 3 completed
1 week, 5 days ago
This course gives basic understanding of code design in Java .But I think Observer pattern , Composite pattern should be explained more rigorously . The final project is ok for practicing but i was expecting this to be similar to CS50x Web Programming course on EdX . This course can be made more rigorous and engaging like CS50X . I strongly recommend reading Head First Design Pattern book before taking this course .
Was this review helpful? Yes0
 Flag
Student profile image
Student profile image

Student

10/10 starsCompleted
1 month, 1 week ago
The course content is very informative and nicely presented with many useful samples and codes. I would like to attend much more advanced courses on the object oriented design with much more real life samples.
Was this review helpful? Yes0
 Flag
student profile image
student profile image

student

4/10 starsCompleted
7 months ago
The first two HTC courses were great and were worth the time and effort. This course and the previous (Data Abstraction) are nice for a brief introduction to the topics in each model, but there are much better resources/courses out there (ex: Head First Design Patterns). I would say the course is definitely worth breezing through, but I would not recommend paying for the course.
Was this review helpful? Yes1
 Flag
student profile image
student profile image

student

10/10 starsTaking Now
6 months, 2 weeks ago
Very good introduction into the deeper aspects of Software Development for anyone planning a career in the field. The first two were okay in terms of quickly developing the mental stance of thinking computationally but this course bridges the gap between theory and practice by using one of the most popular languages to demonstrate solutions to conceivably real live situations
Was this review helpful? Yes0
 Flag
Zachary Smith profile image
Zachary Smith profile image

Zachary Smith

10/10 starsCompleted
1 year, 1 month ago
I liked this course, but it wasn't as rigorous as I wish it was. At first I didn't like How to Code (the earlier course in the series), but that turned out to be one of my favorite classes. I wish this class had some of the same rigor as that course. Overall the class was great and gave me a good intro to OO. Here's my review that I gave directly in EdX: I thought the patterns portion was the most interesting and I felt like I learned the most from that. I like how it extends HtC toward OOD and helps me digest larger programs. While it was a difficult section, I'd love more practice in it. I felt like I engrained HtC design patterns more into my brain through repetition. It would help to have both more challenging Design Pattern practice problems, and just more of them. I think have a lot of patterns ingrained in my head will make me a much better programmer, both in designing, improving, and understanding programs. I thou... I liked this course, but it wasn't as rigorous as I wish it was. At first I didn't like How to Code (the earlier course in the series), but that turned out to be one of my favorite classes. I wish this class had some of the same rigor as that course. Overall the class was great and gave me a good intro to OO. Here's my review that I gave directly in EdX: I thought the patterns portion was the most interesting and I felt like I learned the most from that. I like how it extends HtC toward OOD and helps me digest larger programs. While it was a difficult section, I'd love more practice in it. I felt like I engrained HtC design patterns more into my brain through repetition. It would help to have both more challenging Design Pattern practice problems, and just more of them. I think have a lot of patterns ingrained in my head will make me a much better programmer, both in designing, improving, and understanding programs. I thought the part about exceptions and assertions was the most difficult. It wasn't too hard to get through the module and practice problems, but I just don't feel confident that I'll know how to use them on my own projects. I think the lectures and the practice problems help the most in understanding the material. The long form problems are helpful, too, but sometimes it seems like it makes the practice problems too easy. It would be nice to have the long form, but then have different levels of difficulty for practice problems. I plan to use these skills in general when designing. I didn't have any OO language experience before this, so I just feel more confident building and reading through programs that are OO. In the future, I hope to get a strong grasp on patterns, both in breadth and depth.
Was this review helpful? Yes0
 Flag
student profile image
student profile image

student

10/10 starsCompleted
1 year, 1 month ago
The content was good especially the focus on practical system design and object oriented approach towards the software. Examples and practice projects were very helpful in developing a full understanding of the concepts and different kinds of scenarios they can be applied. Instructor also did a good job in highlighting the common practices and common problems faced during the OOP and OOD design.
Was this review helpful? Yes0
 Flag
Tyler Miller profile image
Tyler Miller profile image
6/10 starsCompleted
  • 8 reviews
  • 8 completed
1 year, 4 months ago
This course was okay. Introduction to design patterns was nice, but the content is a bit outdated and there was no testing of any diagramming done. The final project seemed easy compared to some of the homework, and the setup was out-of-date.
Was this review helpful? Yes0
 Flag
Bharat Singh profile image
Bharat Singh profile image

Bharat Singh

10/10 starsCompleted
1 year, 6 months ago
Great course for beginners!! Instructor were great. Principles and patterns are very important and there are very few courses which helps student learn and implement them.
Was this review helpful? Yes0
 Flag
Ansih profile image
Ansih profile image

Ansih

10/10 starsCompleted
1 year, 8 months ago
Great course for any software developer who is new to object-oriented programming or doesn't know how to get about designing a large software program. I have a few years of experience in programming and I was looking for a course with a little in-depth knowledge about the topics in the course. But still, I found it easy to understand and follow along with the lectures and practice problems.
Was this review helpful? Yes0
 Flag
student profile image
student profile image

student

10/10 starsCompleted
1 year, 8 months ago
Explained Object Oriented design with example. Its great for beginners starting to learn coding as well as experienced professional to learn design principles.
Was this review helpful? Yes0
 Flag
Mustafa Jamal profile image
Mustafa Jamal profile image
10/10 starsCompleted
  • 1 review
  • 1 completed
1 year, 9 months ago
i have completed 2/3 of this micromaster and looking for continuing it all. as we get from Functional programming languages like Dr Racket moving to Java (imperative language) and building on what we learnt on the first 2 courses to make the micro master so cohesion and coherence in its content.
Was this review helpful? Yes0
 Flag
Jake Skrabacz profile image
Jake Skrabacz profile image

Jake Skrabacz

4/10 starsCompleted
2 years, 3 months ago
This was tough to get through after the two How to Code classes, which left you feeling bulletproof when it came time to tackle the final project. Throughout the course several questions cover items not addressed in any lectures, and large chunks of the implementation involved in the final project were also not covered. Luckily, I was able to complete it but no thanks to the lectures.
Was this review helpful? Yes1
 Flag
Mary Shipkova profile image
Mary Shipkova profile image
6/10 starsTaking Now
  • 1 review
  • 0 completed
2 years, 6 months ago
The edX`s "Software Construction: Object-Oriented Design" course has bad explanation of material, Lots of unexplained code and silly questions where only random may help you.
Was this review helpful? Yes1
 Flag
Nicolas Dib David profile image
Nicolas Dib David profile image

Nicolas Dib David

10/10 starsCompleted
2 years, 4 months ago
This is an excellent beginning for Object Oriented Design. The content of the modules are so well structured that it is worthwhile to extend the subjects through more personal studies for someone who is really interested. Congratulations!
Was this review helpful? Yes0
 Flag
GTC profile image
GTC profile image

GTC

10/10 starsCompleted
2 years, 8 months ago
This course builds on UBC's previous MOOC titled "Software Construction: Data Abstraction" as part of their Software Development MicroMasters. If you complete them both successfully you will be in a good position to start a career in software development.
Was this review helpful? Yes0
 Flag

Rating Details


  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars

Rankings are based on a provider's overall CourseTalk score, which takes into account both average rating and number of ratings. Stars round to the nearest half.