Introduction to Object-Oriented Programming with Java (Coursera)

Offered by LearnQuest,
Introduction to Object-Oriented Programming with Java (Coursera)

Introduction to OO Programming with Java is course 2 of the Core Java Specialization. After completing this course, you'll be able to create simple Java classes that exhibit the principle of Encapsulation, to import other classes for use, to work with Strings, print output and use advanced math functions. We'll begin with a brief refresher on necessary concepts from Object-Oriented Programming.

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

Next, we'll introduce basic Java concepts regarding classes, enabling you to start writing simple Java classes with attributes and methods. We'll introduce the idea of instances, or objects created from classes, so that you can start to build object-oriented solutions. Finally, we'll cover namespaces and Java Libraries to explain how Java packages classes, so that everyone can develop code without name collisions. You will be able to organize and access classes, as well as use selected standard classes from the Java runtime environment.
To be successful in this course, you should have taken Course 1: Introduction to Java or have equivalent knowledge.

Course 2 of 4 in the Core Java Specialization

Syllabus

WEEK 1
Classes and Objects
In this module, we discuss why we are using Object-Oriented Programming, and introduce the concepts in Java of Classes, Objects, Attributes, and Methods.
Along with that, we'll discuss some of the conventions of the JavaBeans Specification, and make use of them in our code.

WEEK 2
Creating Classes
In this module, we'll go into more detail on creating classes in Java, and how to organize classes into packages. We'll cover attributes (instance and class variables), methods, access modifiers, parameters, variable length argument lists, local variables, constants, constructors, overloaded methods, and more.

WEEK 3
Using Java Objects
In this relatively short module, having discussed, in more detail, creating classes, we'll briefly turn our attention back to objects. How to create them with the "new" keyword, the difference between type and class (something we'll revisit often), and (conceptually) what happens in a JVM when we create a new object.

WEEK 4
Namespaces and Java Libraries
In this module, we'll look more closely at the use of Java packages. How we declare our package; the implications of being in a package; why packages are important; how we import classes from other packages; what import does for us; how we come up with our own, unique, package name by following the specified rules; how to resolve name collisions. Finally, we will concluding by looking at four specific Java classes: String, StringBuffer, StringBuilder and Math.

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

Related Courses

Object Oriented Programming in Java (Coursera) Coursera
University of California, San Diego

Object Oriented Programming in Java (Coursera)

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.

Jul 27th 2026
5-12 Weeks
Introduction à la programmation orientée objet (en Java) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Introduction à la programmation orientée objet (en Java) (Coursera)

Ce cours introduit la programmation orientée objet (encapsulation, abstration, héritage, polymorphisme) en l'illustrant en langage Java. Il présuppose connues les bases de la programmation (variables, types, boucles, fonctions, ...). Il est conçu comme la suite du cours « Initiation à la programmation (en Java) ».

Aug 16th 2026
5-12 Weeks
Desenvolvimento Ágil com Padrões de Projeto (Coursera) Coursera
Instituto Tecnológico de Aeronáutica

Desenvolvimento Ágil com Padrões de Projeto (Coursera)

Neste curso, assumimos que você já sabe projetar e desenvolver programas mais complexos em Java, graças às boas práticas e princípios exercitados nos cursos anteriores; mas você talvez não se sinta ainda confortável em lidar com cenários mais complexos, onde é difícil desenvolver software com código de qualidade com flexibilidade suficiente para facilitar a implementação de mudanças repentinas de requisitos.

Jul 27th 2026
4 Weeks
Practical Python for AI Coding 2 (Coursera) Coursera
Korea Advanced Institute of Science and Technology - KAIST

Practical Python for AI Coding 2 (Coursera)

This course is for a complete novice of Python coding, so no prior knowledge or experience in software coding is required. This course selects, introduces and explains Python syntaxes, functions and libraries that were frequently used in AI coding. In addition, this course introduces vital syntaxes, and functions often used in AI coding and explains the complementary relationship among NumPy, Pandas and TensorFlow, so this course is helpful for even seasoned python users.

Aug 3rd 2026
5-12 Weeks
Programming Languages, Part A (Coursera) Coursera
University of Washington

Programming Languages, Part A (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Aug 10th 2026
5-12 Weeks
Genome Assembly Programming Challenge (Coursera) Coursera
University of California, San Diego,Higher School of Economics - HSE University

Genome Assembly Programming Challenge (Coursera)

In Spring 2011, thousands of people in Germany were hospitalized with a deadly disease that started as food poisoning with bloody diarrhea and often led to kidney failure. It was the beginning of the deadliest outbreak in recent history, caused by a mysterious bacterial strain that we will refer to as E. coli X. Soon, German officials linked the outbreak to a restaurant in Lübeck, where nearly 20% of the patrons had developed bloody diarrhea in a single week. At this point, biologists knew that they were facing a previously unknown pathogen and that traditional methods would not suffice – computational biologists would be needed to assemble and analyze the genome of the newly emerged pathogen.

Jul 27th 2026
3 Weeks
Introduction to ES6+ (Coursera) Coursera
Scrimba

Introduction to ES6+ (Coursera)

Introduction to ES6+ covers modern JavaScript features, specifically ES6 and newer ECMAScript versions. JavaScript, a widely used programming language in various domains, is essential for developers aiming to stay relevant across web applications, servers, mobile, and IoT devices. Developers who are already familiar with JavaScript will be able to update their skills and broaden their knowledge in this tiny but mighty course.

Aug 10th 2026
1 Week
Java程序设计 (Coursera) Coursera
Peking University

Java程序设计 (Coursera)

《Java程序设计》课程是使用Java语言进行应用程序设计的课程,针对各专业的大学本科生开设。课程的主要目标有三: 一、掌握Java语言的语法,能够较为深入理解Java语言机制,掌握Java语言面向对象的特点。 二、掌握JavaSE中基本的API,掌握在集合、线程、输入输出、图形用户界面、网络等方面的应用。三、能够编写有一定规模的应用程序,养成良好的编程习惯,会使用重构、设计模式、单元测试、日志、质量管理工具提高代码的质量。 对于学过“计算机基础、计算概论或C语言的学生”尤为适用。

Jul 27th 2026
5-12 Weeks
Java Programming: Solving Problems with Software (Coursera) Coursera
Duke University

Java Programming: Solving Problems with Software (Coursera)

Learn to code in Java and improve your programming and problem-solving skills. You will learn to design algorithms as well as develop and debug programs. Using custom open-source classes, you will write programs that access and transform images, websites, and other types of data. At the end of the course you will build a program that determines the popularity of different baby names in the US over time by analyzing comma separated value (CSV) files.

Jul 27th 2026
4 Weeks
Using Databases with Python (Coursera) Coursera
University of Michigan

Using Databases with Python (Coursera)

This course will introduce students to the basics of the Structured Query Language (SQL) as well as basic database design for storing data as part of a multi-step data gathering, analysis, and processing effort. The course will use SQLite3 as its database. We will also build web crawlers and multi-step data gathering and visualization processes. We will use the D3.js library to do basic data visualization.

Jul 27th 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.

Aug 10th 2026
4 Weeks