Software Construction: Data Abstraction

Provided by:
9/10 stars
based on  32 reviews
Provided by:
Cost FREE , Add a Verified Certificate for $125
Start Date In Session

Course Details

Cost

FREE,
Add a Verified Certificate for $125

Upcoming Schedule

  • In Session

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
22788 reviews

Course Description

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 interacti...

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.

Software Construction: Data Abstraction course image
Reviews 9/10 stars
32 Reviews for Software Construction: Data Abstraction

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

8/10 starsCompleted
1 year, 6 months ago
The course is reasonably well-organised and applies a very hands-on approach to teaching object-oriented programming (OOP). Examples are mostly well-chosen and I think the instructor communicates OOP concepts well enough that I think is easier to understand than many resources I have come across. The things that I like the most is, as mentioned above, the hands-on approach to learning OOP. As such, I think it is very important to work through the examples in the course—draw every UML diagram and code every template when you are asked to. The quizzes are fair, relevant, and well-designed (unlike Software Engineering: Introduction). Recommend to anyone who has a bit of experience in programming and I personally think that, other than a few questions in the quizzes that refers back to the excellent "How to Code" prerequisites, it's actually okay to do as a standalone course as it's reasonably self-contained. All in all, this is a ... The course is reasonably well-organised and applies a very hands-on approach to teaching object-oriented programming (OOP). Examples are mostly well-chosen and I think the instructor communicates OOP concepts well enough that I think is easier to understand than many resources I have come across. The things that I like the most is, as mentioned above, the hands-on approach to learning OOP. As such, I think it is very important to work through the examples in the course—draw every UML diagram and code every template when you are asked to. The quizzes are fair, relevant, and well-designed (unlike Software Engineering: Introduction). Recommend to anyone who has a bit of experience in programming and I personally think that, other than a few questions in the quizzes that refers back to the excellent "How to Code" prerequisites, it's actually okay to do as a standalone course as it's reasonably self-contained. All in all, this is a great course as an introduction to object-oriented programming.
Was this review helpful? Yes1
 Flag
student profile image
student profile image

student

6/10 starsCompleted
1 month, 3 weeks ago
Some very helpful concepts. The projects were not very challenging, and the quizzes are not worth the pricetag. There are far better courses out there; this course left a lot to be desired.
Was this review helpful? Yes0
 Flag
Gamer Arjoban profile image
Gamer Arjoban profile image
10/10 starsCompleted
  • 0 reviews
  • 0 completed
3 months, 1 week ago
The content of course is very informative. I had the prior knowledge of programming but my OOP concepts weren't clear.This course cleared all my doubts and taught me how interesting and useful the object oriented programming is and within a way I also learnt a new language - Java. And now i can confidently say that I know what object oriented programming is and what are its key concepts like Polymorphism, Type Heirarchies and other topics. Instructor is also very good. Now looking forward to the next course in this way.
Was this review helpful? Yes0
 Flag
Christian Páez profile image
Christian Páez profile image

Christian Páez

8/10 starsCompleted
6 months, 2 weeks ago
The content of the course was excellent, it is basically an OOP in Java introduction, that has all the details I needed to get started in more solid programming. The topics covered were Classes and types, variables, methods,UML, Polymorphism, inheritance and maybe some other things I cant recall at the moment. The instructor was very clear with the explanations, there are a lot of examples given an shown in the course. The only thing that I did not like was the fact that there is not a PDF guide to go along with the course, once or twice I had to review some concept and had to navigate the course site to find what I needed, it may not be a big deal but I would have enjoy a separate PDF guide or something like what I have seen in other courses.
Was this review helpful? Yes0
 Flag
Zach Smith profile image
Zach Smith profile image

Zach Smith

8/10 starsCompleted
7 months ago
I enjoyed the content as an introduction, the instructors were great and clear. I wish the course had a range of practice problems with varying difficulties.
Was this review helpful? Yes0
 Flag
Amit Samanta profile image
Amit Samanta profile image

Amit Samanta

10/10 starsTaking Now
11 months, 2 weeks ago
The course provides a strong foundation in the Object Oriented Development. The course is designed in such a way that even a novice can easily understand the content. Looking forward to the 2 part of the course.
Was this review helpful? Yes0
 Flag
Naveed Shahid profile image
Naveed Shahid profile image

Naveed Shahid

8/10 starsCompleted
12 months ago
A good course which focused on real life implementation rather than algorithms and taught us how to apply our software knowledge to real world problems
Was this review helpful? Yes0
 Flag
Christos Tsoulias profile image
Christos Tsoulias profile image

Christos Tsoulias

10/10 starsCompleted
1 year, 2 months ago
Very nice course, learnt a lot about objects, test driven development and how to think about abstraction. Java too, without it being the focus of the course.
Was this review helpful? Yes0
 Flag
Bharat Singh profile image
Bharat Singh profile image

Bharat Singh

10/10 starsCompleted
1 year, 2 months ago
Everything is great about this course. Efforts from teachers is maximum no improvements required. The content of course is very good and i would love to start next course of this series.
Was this review helpful? Yes0
 Flag
Adil Ahsan profile image
Adil Ahsan profile image

Adil Ahsan

10/10 starsCompleted
1 year, 2 months ago
The instructors are excellent. I think the manner in which they are teaching this course is from a functional/practical/applied level, like with a higher-level perspective... Additionally, they provide guidance on best practices and conventions which is quite useful... I thoroughly enjoyed this course..
Was this review helpful? Yes0
 Flag
Candaş Ünal profile image
Candaş Ünal profile image
8/10 starsCompleted
  • 2 reviews
  • 2 completed
1 year, 2 months ago
When I first started the course and through some topics, I felt I just cannot comprehend what that subject is. So the course pushes your limits if you don't know what data abstraction or Object Oriented Programming is, like me. Also, this course helped me a lot about what data abstraction is about, something I feel like I wouldn't be able to learn from any other sources. So I recommend this course to someone who wants to improve data abstraction.
Was this review helpful? Yes0
 Flag
 profile image
 profile image

8/10 starsCompleted
  • 0 reviews
  • 0 completed
1 year, 2 months ago
Elisa is great, enthusiastic and generally precise and clear on what she teach. There are not much gaps on the content taught and the exercises, and they are good because they are actually doable. The are some ambiguities in the quizzes that can be infuriating and I don't think the edX platform is well design but it is what it is and you would get the same for other courses, so... Overall it is an OK brief introduction to Java, Test Driven Development, and Object Orientation. I think it was worth the time.
Was this review helpful? Yes0
 Flag
Tyler Miller profile image
Tyler Miller profile image
8/10 starsCompleted
  • 8 reviews
  • 8 completed
1 year, 3 months ago
Great introduction to the concepts of OOP. Concepts are presented clearly and at a pace that I imagine anyone could follow along with. Additional introduction to IDEA was a nice touch, but the course would do well to fix a couple minor issues with the course documentation and starter files.
Was this review helpful? Yes0
 Flag
 profile image
 profile image

10/10 starsCompleted
  • 0 reviews
  • 0 completed
1 year, 5 months ago
Content and instructor were amasing. It is clear that this course was created by professionals in their field. Especially I want to single out the instructor, since she explained the topics with great enthusiasm
Was this review helpful? Yes0
 Flag
Ahmed Al-Obaidi profile image
Ahmed Al-Obaidi profile image

Ahmed Al-Obaidi

10/10 starsCompleted
1 year, 5 months ago
the course is very well-organized and makes understanding many OOP concepts really easy, i didn't enjoy reading or studying OOP until i enrolled in this course.
Was this review helpful? Yes0
 Flag
Amadeusz Annissimo profile image
Amadeusz Annissimo profile image
10/10 starsCompleted
  • 1 review
  • 1 completed
1 year, 6 months ago
Overall a very good course. There were a few minor bugs in the content (e.g. reversed order of arguments in test methods), and quiz questions were at times ambiguous, but I still learned a ton from it. I liked, in particular, the structured approach to code reading.
Was this review helpful? Yes0
 Flag
Hermann profile image
Hermann profile image

Hermann

10/10 starsTaking Now
1 year, 8 months ago
This course is really amazing, it helps to really understand the basics concepts of OOP along with how to communicate how design using UML which is not the course goal but make this course really useful for newies in OOP.
Was this review helpful? Yes0
 Flag
student profile image
student profile image

student

10/10 starsCompleted
1 year, 8 months ago
the course introduce an easy understanding of object oriented programming and cover very important concepts one of my favorite moocs and totally recommend it to any one need an entry to object oriented programming.
Was this review helpful? Yes0
 Flag
Jerry Wilson profile image
Jerry Wilson profile image

Jerry Wilson

10/10 starsTaking Now
1 year, 10 months ago
I'm really impressed with the instructors and others producing this course. The content is very helpful and the pace/momentum of the course keeps me working and learning. It's actually one of the best educational experiences I've ever had.
Was this review helpful? Yes0
 Flag
Dan P profile image
Dan P profile image

Dan P

10/10 starsCompleted
1 year, 10 months ago
Very good overview of OO using Java. The instructor does not talk down to learners and gives good explanations with useful illustrations of concepts. The course may be fast for someone not familiar with programming.
Was this review helpful? Yes0
 Flag
Yaakov Goodman profile image
Yaakov Goodman profile image

Yaakov Goodman

10/10 starsTaking Now
2 years ago
Very good to get some experience breaking down already created code. Also ability to skip what you know already and watch the videos from 1.25x to 2x.
Was this review helpful? Yes0
 Flag
abc ab profile image
abc ab profile image

abc ab

10/10 starsCompleted
2 years ago
The teaching is excellent but NO UBC CREDIT: Audit track and verified track are almost the same unless you plan to go to Australia to study. UBC's Business Micromasters offers credits and so do most other micromasters but not this one, that can mean only one thing something about the content / quality of this course isn't good enough, at least that is what companies will think. Why would someone pay for a verified certificate?
Was this review helpful? Yes0
 Flag
Yigitcan Yesilata profile image
Yigitcan Yesilata profile image

Yigitcan Yesilata

10/10 starsCompleted
2 years ago
This is very good course to understand some really important elements of computer science. Elisa is really great instuctor. Her examples and explanations are so clear. After taking this course, I feel really confident to pass further courses of this program. I am so excited about taking next course already now. Thanks for this amazing course.
Was this review helpful? Yes0
 Flag
Ipek T profile image
Ipek T profile image

Ipek T

10/10 starsCompleted
2 years, 1 month ago
It's a great introduction to Object oriented programming. Exercises lets you think and model simple programs in OO without getting distracted by language features. This way you can have solid base knowledge. I'ld recommend this course someone who wants to learn OO and doesn't have any experience. Videos and instructions are very clear.
Was this review helpful? Yes0
 Flag
Ipek T profile image
Ipek T profile image

Ipek T

10/10 starsCompleted
2 years, 1 month ago
It's a great introduction to Object oriented programming. Exercises lets you think and model simple programs in OO without getting distracted by language features. This way you can have solid base knowledge. I'ld recommend this course someone who wants to learn OO and doesn't have any experience. Videos and instructions are very clear.
Was this review helpful? Yes0
 Flag
Roland Umoru profile image
Roland Umoru profile image

Roland Umoru

10/10 starsTaking Now
2 years, 1 month ago
Awesome content. Love the detailed explanations of the object oriented principles. The energy from the instructor was a huge motivator by itself. I definitely learned a lot from this course and will like to encourage anyone taking the course to stick to it till the end. It all comes together for real.
Was this review helpful? Yes0
 Flag
GTC profile image
GTC profile image

GTC

10/10 starsCompleted
2 years, 2 months ago
A super course from a first rate instructor which is suitable for those wanting to make the initial steps from programmer/hacker to software engineer.
Was this review helpful? Yes0
 Flag
student profile image
student profile image

student

10/10 starsTaking Now
2 years, 2 months ago
Amazing Course! Highly recommend to anyone who wants to learn about Java or software construction in a systematic way. The teacher did a great job in illustrating everything clearly, and the projects are very helpful. I honestly think this is one of the best computer science course I've had online.
Was this review helpful? Yes0
 Flag
Daniel Rothmann profile image
Daniel Rothmann profile image

Daniel Rothmann

8/10 starsCompleted
2 years, 3 months ago
Great course which focuses on OOP principles. The use of Java for illustration was good, but instructor had great focus on principles rather than language. A few questions were confusingly worded.
Was this review helpful? Yes0
 Flag
Achilles Moraites profile image
Achilles Moraites profile image

Achilles Moraites

10/10 starsTaking Now
2 years, 3 months ago
An excellent course , teaching advanced stuff in a simple easy to understand way. Both the staff and content is of high quality , i totally recommend this course and all the micro masters program !!!
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.