Object Oriented Programming in Java

Designed by Coursera, this introduction to Java and object-oriented programming (OOP) is designed for students of all backgrounds. The general introduction is the first in a multi-course series that goes from introduction into advanced Java concepts. It is designed to teach Java concepts as well as fulfill continued-learning requirements for certifications and job requirements.

Created by: Mia Minnes

Produced in 2015

What you will learn

  • Starting Projects: lessons on memory models, scope and development philosophy help students prepare a project to complete during the course.
  • GUIs and Data Display: course takes students through the process of creating a graphical map.
  • Inheritance: inheritance and polymorphism are applied to the student project.
  • Introduction: the course takes time to introduce resources that will be utilized throughout.

Quality Score

Content Quality
Video Quality
Qualified Instructor
Course Pace
Course Depth & Coverage

Overall Score : 100 / 100

Live Chat with CourseDuck's Co-Founder for Help

Need help deciding on a java course? Or looking for more detail on Mia Minnes's Object Oriented Programming in Java? Feel free to chat below.
Join CourseDuck's Online Learning Discord Community

Course Description

java Awards Best Advanced Course

Welcome to our course on Object Oriented Programming in Java using data visualization. People come to this course with many different goals -- and we are really excited to work with all of you! Some of you want to be professional software developers, others want to improve your programming skills to implement that cool personal project that you've been thinking about, while others of you might not yet know why you're here and are trying to figure out what this course is all about.This is an intermediate Java course. We recommend this course to learners who have previous experience in software development or a background in computer science. Our goal is that by the end of this course each and every one of you feels empowered to create a Java program that's more advanced than any you have created in the past and that is personally interesting to you. In achieving this goal you will also learn the fundamentals of Object Oriented Programming, how to leverage the power of existing libraries, how to build graphical user interfaces, and how to use some core algorithms for searching and sorting data. And this course is project-based, so we'll dive right into the project immediately!We are excited to be offering a unique course structure, designed to support learners of different backgrounds in succeeding at their own pace. The first module explains how this will work and if this course is right for you. We also recommend taking a few minutes to explore the course site. A good place to start is the navigation bar on the left. Click Course Content to see what material we'll cover each week, as well preview the assignments you'll need to complete to pass the course. Click Discussions to see forums where you can discuss the course material with fellow students taking the class. Be sure to introduce yourself to everyone in the Meet and Greet forum.This course should take about 6 weeks to complete. You can check out the recommended course schedule below to see a quick overview of the lessons and assignments you'll complete each week.We're excited you're here learning with us. Let's get started!



    • Part of a holistic program that trains students to become Java specialists.
    • Peer-based reviewing exposes students to a wider range of approaches and processes than many comparable courses.
    • Quizzes help students focus on core concepts and retain information.
    • Course toes the line between theoretical and practical knowledge, better preparing students for more advanced instruction to come.
    • Course does not sufficiently use project-based testing to help students apply course knowledge.
    • Even though the course is introductory, it requires a programming background as a prerequisite.
    • Peer reviews provide an unequal experience as not all students will put the same effort into the review process.

Instructor Details

Mia Minnes

Mia Minnes is a mathematician and computer scientist. She is an Assistant Teaching Professor (LPSOE) in the Computer Science and Engineering Department at the University of California, San Diego. She researches the theory of computation, mathematical logic, and algorithmic randomness, and she develops curricula and university programs on algorithms, problem solving, the overlap of math and computer science, and writing in the discipline. Her work has been supported by several grants from the National Science Foundation. Dr. Minnes earned her PhD in Mathematics at Cornell University in 2008, co-advised by Anil Nerode and Bakhadyr Khoussainov. Previously, she earned Master's degrees in Computer Science (2006) and Mathematics (2006) from Cornell and Bachelor's degrees in Mathematics and Engineering (2003) and Philosophy (2003) from Queen's University. Her postdoctoral work was at MIT (Massachusetts Institute of Technology, 2008-2010) and UC San Diego (2010-2013). She has taught many different courses in mathematics and computer science, ranging from large-lecture introductory freshman courses to senior undergraduate and graduate seminars. She was awarded the Best Teacher award 2013-2014 in CSE in the Jacobs School of Engineering at UC San Diego.



156 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

By Nicholas B on 8-Oct-18

Would have preferred if the map was built incrementally, with me continuing each exercise with my own map rather than a new, supplied map each time. That would make me feel more ownership towards it.

By Sye on 8-Oct-19

I really enjoyed the course, did to keep in touch with Java over the summer so as not to forget; it turned out to be a bit more challengiing than the one at university and I relearnt the concepts easier. I guess my 2nd year course also has a slight legacy issue; however this was a really nice course to do. I would do the whole specialization, but I have to go to a normal university to get a more recognised qualification.

By Thao R on 5-Apr-19

The peer reviews for final grade was challenging in a way that it relies solely on the honesty of your peers. I ended up with dishonest grades from peers. Specifically the person gave me grade 0 and a " . " in each comment section and called it the day. Nothing stopping more people from doing that actually. Other than that, the materials are great and assignments were challenging. Students who wanted to complete the course honestly actually had to work hard at researching to success.

By Salman Q on 27-Nov-17

It could have been better.

By Austin R on 6-Feb-16

It needs project based exams, not quizzes. These project exams should be a combination of automated programming tasks, like the kind you find on HackerRank or Codeforces and peer assessment based projects that asks students to evaluate the readability of each others code. As it currently stands, this course is a joke.

By Max S on 28-Jan-19


By MOHAMMAD M B on 17-Jan-19

very good

By Marino V on 2-Feb-19

With this course, I was able to review the basics of object-oriented programming in java. it was very helpful, it helped me to consolidate concepts that I thought I already knew enough. Plus, it allowed me to learn about Processing that I had never used.

By Deepan M on 5-Feb-19

Good one

By Muhammad E R on 23-Jan-19

It's an awesome course. Course instructors are great at teaching. MOOC students can enjoy extremely while doing the projects.

By D N V V S S K on 31-Dec-18

Superb course I really enjoyed and learned so many things with this course

By Mark M on 2-Jan-19

A good challenging course. Well taught.