Object Oriented Programming in Java

  • 4.7
Approx. 39 hours to complete

Course Summary

Learn how to write object-oriented programs in Java, with practical examples and exercises. This course is perfect for beginners and those with some programming experience who want to learn how to write complex, reusable code.

Key Learning Points

  • Learn the basics of object-oriented programming in Java
  • Create complex, reusable code with encapsulation, inheritance, and polymorphism
  • Work on practical projects and exercises to apply your knowledge

Related Topics for further study


Learning Outcomes

  • Understand the fundamentals of object-oriented programming in Java
  • Create complex, reusable code using encapsulation, inheritance, and polymorphism
  • Apply your knowledge to real-world projects and exercises

Prerequisites or good to have knowledge before taking this course

  • Basic knowledge of programming concepts
  • Access to a computer with Java installed

Course Difficulty Level

Beginner

Course Format

  • Online
  • Self-paced

Similar Courses

  • Java Programming: Solving Problems with Software
  • Java Programming and Software Engineering Fundamentals

Related Education Paths


Notable People in This Field

  • Computer Scientist
  • Software Engineer

Related Books

Description

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.

Outline

  • Welcome and Project Overview: Visualizing Data
  • Course Opening Title
  • Welcome (Object Oriented Java Programming: Data Structures and Beyond Specialization)
  • Welcome (Object Oriented Programming in Java Specialization)
  • Project prototype
  • Your Path through the Course
  • Concept Challenges: what and why?
  • In the Real World: Welcome from Google Engineers
  • Introduction: Classes and Objects
  • Core: Defining Classes and Creating Objects
  • When I Struggled: Objects
  • Core: Overloading Methods
  • Core: Public vs. Private
  • In the Real World: Public vs. Private access
  • A Customized Welcome to this Course
  • After completing this course, you will be able to...
  • Is this course right for me?
  • Up Next: A short survey
  • Project overview
  • Additional Resources and Support
  • By the end of this week you will be able to...
  • A note about the main method
  • Pre-Course Quiz
  • Survey: Your goals for the course
  • Basics of Objects
  • Memory Models, Scope, and Starting the Project
  • Introduction: Memory Models, Scope, and Project
  • Project: Module 1 Assignment Overview
  • Project: Setting up the starter code in Eclipse
  • Core: Drawing Memory Models with Primitive Data
  • Support: Memory Models for Primitive Types
  • Support: Setting Up and Running Examples in Eclipse
  • When I Struggled: Compiling and Running Code
  • Core: Drawing Memory Models with Objects
  • Concept Challenge: Memory Models 1
  • Concept Challenge: Memory Models 2
  • Support: Memory Model Drawing Example
  • Core: Introduction to Scope
  • Concept Challenge: Scope
  • Support: Putting it all Together Part 1
  • Support: Putting it all Together Part 2
  • Project: Module 1 Assignment Walkthrough
  • Remember to Choose Your Own Path
  • By the end of this week, you will be able to...
  • Getting ready to write code
  • Important note for learners working offline
  • Setting Up Java and Eclipse on Windows (and Linux)
  • Setting Up Java and Eclipse on Mac
  • Setting Up Unfolding Maps
  • Support: Troubleshooting Common Issues
  • Congratulations and quiz answers
  • Programming Assignment Instructions
  • Congratulations and quiz answers
  • Where to next?
  • Working with Code
  • Objects, memory models, and scope
  • Programming Assignment Quiz (Do programming assignment FIRST)
  • Graphical output: Creating GUIs and Displaying Data
  • Module Introduction: Graphical User Interfaces (GUIs)
  • Project: Module 3 Programming Assignment Overview
  • Core: Graphical User Interfaces
  • Core: Using PApplet
  • When I struggled: GUIs
  • Core: Resizing Images
  • Core: Colors
  • When I Struggled: Documentation
  • Support: Setting up a Canvas
  • Support: Drawing Happy Face
  • Support: Loading and Displaying Images
  • Core: Why Processing?
  • Support: Using Documentation
  • In the Real World: Documentation
  • Core: Setting up map visualization
  • Core: Adding markers
  • Core: Using live data
  • Bonus: Visualizing life expectancy
  • Bonus: Setting up the map
  • Bonus: Representing data
  • Bonus: Coloring markers
  • Support: ArrayLists and Generics
  • Project: Module 3 Programming Assignment Walkthrough
  • By the end of this week you will be able to...
  • Support: Understanding Features and Markers
  • Programming Assignment Instructions
  • Congratulations and quiz answers
  • Programming Assignment Quiz (Do programming assignment FIRST)
  • Inheritance
  • Module Introduction: Inheritance and Polymorphism
  • Project: Module 4 Programming Assignment Overview
  • Core: Why use Inheritance?
  • Core: Extends
  • In the Real World: Inheritance 1
  • Core: Reference vs. Object Type
  • When I struggled: the "Is a" relationship
  • Concept Challenge: References and Objects
  • Core: Visibility Modifiers
  • When I Struggled: Inheritance
  • Core: Object Creation in Java
  • Core: Compiler Rules for Class Construction
  • Core: Variable Initialization in a Class Hierarchy
  • Concept Challenge: Inheritance Constructors 1
  • Concept Challenge: Inheritance Constructors 2
  • Core: Method Overriding
  • Core: Introduction to Polymorphism
  • When I struggled: Polymorphism
  • Core: Rules to Follow for Polymorphism
  • Core: Casting Objects
  • Concept Challenge: Polymorphism Part 1
  • Concept Challenge: Polymorphism Part 2
  • Core: Abstract Classes and Interfaces
  • In the Real World: Inheritance 2
  • Project: Module 4 Programming Assignment Walkthrough
  • By the end of this week, you will be able to...
  • Programming Assignment Instructions
  • Congratulations and Quiz Answers
  • Programming Assignment Quiz (Do programming assignment FIRST)
  • GUIs: Responding to User Events
  • Module Introduction: Responding to User Events
  • Project: Module 5 Programming Assignment Overview
  • Core: Introduction to Event-Driven Programming
  • In the Real World: Events
  • Core: Implementing Events in UnfoldingMaps
  • Core: Implementing Buttons in UnfoldingMaps
  • When I Struggled: Buttons and GUIs
  • Core: Listener Hierarchy
  • Project: Module 5 Programming Assignment Walkthrough
  • By the end of this week, you will be able to...
  • Programming Assignment Instructions
  • Congratulations and Quiz Answers
  • Events
  • Programming Assignment Quiz (Do programming assignment FIRST)
  • Searching and Sorting: From Code to Algorithms
  • Module Introduction: Searching and Sorting
  • Project Overview
  • In the Real World: Searching and Sorting
  • Core: Linear Search, Part 1
  • Core: Linear Search, Part 2
  • Core: Binary Search
  • Core: Binary Search Example
  • When I Struggled: Search
  • Core: Introduction to Sorting
  • Core: Selection Sort Algorithm
  • Core: Selection Sort Implementation
  • Core: Selection Sort Analysis
  • Concept Challenge: Selection Sort
  • Core: Mystery Sort
  • Core: Java's Built-In Sort
  • Core: Comparable Interface, Revisited
  • Concept Challenge: Which Sort?
  • Project: Module 6 Programming Assignment Walkthrough
  • End of Course Message
  • By the end of this week, you will be able to...
  • Programming Assignment Instructions
  • Congratulations and quiz answers
  • Searching Quiz
  • Programming Assignment Quiz (Do programming assignment FIRST)

Summary of User Reviews

The Object-Oriented Java course on Coursera has received positive reviews from users. Many users found the course to be comprehensive and easy to follow. The course covers the basics of programming in Java and dives into advanced topics like inheritance, polymorphism, and interfaces.

Pros from User Reviews

  • Comprehensive coverage of Java programming
  • Easy to follow lessons and assignments
  • In-depth coverage of advanced topics like inheritance and polymorphism

Cons from User Reviews

  • Some users found the course to be too basic
  • Limited interaction with the instructor
  • No personalized feedback on assignments
  • Some users experienced technical difficulties with the platform
English
Available now
Approx. 39 hours to complete
Mia Minnes, Leo Porter, Christine Alvarado
University of California San Diego
Coursera

Instructor

Mia Minnes

  • 4.7 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses