Introduction to Java and Object-Oriented Programming (Coursera)

Introduction to Java and Object-Oriented Programming (Coursera)

This course provides an introduction to the Java language and object-oriented programming, including an overview of Java syntax and how it differs from a language like Python. Students will learn how to write custom Java classes and methods, and how to test their code using unit testing and test-driven development. Topics include basic data structures like Arrays and ArrayLists and overloading methods.

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

What You Will Learn

  • Identify core aspects of object-oriented programming and features of the Java language.
  • Use Eclipse for writing and running Java code.
  • Develop programs that use Java collections and apply core object-oriented programming concepts using classes, polymorphism, and method overloading.
  • Test code by applying principles of test-driven development using Java's unit testing framework.

Course 3 of 4 in the Introduction to Programming with Python and Java Specialization

Syllabus

WEEK 1
Introduction to Java, Classes, & Eclipse
Welcome to Java! This first module provides an introduction to the Java language and object-oriented programming. It includes an overview of Java syntax, in particular, how it differs from a language like Python. Topics will include variables and data types, loops and conditionals, printing to the console, scanning for user input, and code documentation. This module also explains the structure and inner-workings of a Java class and teaches you how to define your own custom classes and methods.

WEEK 2
Unit Testing, Arrays, & ArrayLists
In this module, you will be taught to test your code to get it working. The best way to do this is to write a set of unit tests that you can run against your program, at any time. In this module, we'll learn how to do unit testing in Java, and why we want to do it. We’ll also learn all about Java Arrays, which are collections of items, and ArrayLists, which are kind of like arrays, but much more flexible. These work just like lists in Python. ArrayLists are part of Java’s larger Collections Framework, which we’ll continue to reference throughout this course.

WEEK 3
Static Variables, Methods, & Polymorphism Using Overloading
So far, we’ve been defining variables as instance variables in our Java classes. Instance variables are just variables defined inside a class, and every instance of a class can have a different value for an instance variable.
In this module, we’ll look at defining static variables in our Java classes. Static variables are also defined as variables inside a class, but with the keyword 'static'. Static variables have the same value for every instance of a class. In fact, you don’t even need to create an instance of a class to use a static variable! We’ll also look at static methods. And just like static variables, you don’t need to create an instance of a class to use, or call, a static method. In this module, we’re also going to introduce polymorphism, which refers to overloading and overriding. We’ll focus on overloading, which is having two or more methods in the same class, with the same name.

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

Related Courses

Genetic Epidemiology Foundations (Coursera) Coursera
University of Colorado System

Genetic Epidemiology Foundations (Coursera)

This course is designed to provide students with the foundation necessary to conduct statistical analysis of genetic association study data. This course includes topics such as quality control in genetic studies, population-based case-control association studies, genome-wide association studies, and foundational concepts in population genetics and the history of genetics research. Examples of concepts and reference literature are provided in this 6-module course.

Aug 3rd 2026
5-12 Weeks
Parallel programming (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Parallel programming (Scala 2 version) (Coursera)

With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm. We'll start the nuts and bolts how to effectively parallelize familiar collections operations, and we'll build up to parallel collections, a production-ready data parallel collections library available in the Scala standard library.

Aug 10th 2026
4 Weeks
Java Programming: Arrays, Lists, and Structured Data (Coursera) Coursera
Duke University

Java Programming: Arrays, Lists, and Structured Data (Coursera)

Build on the software engineering skills you learned in “Java Programming: Solving Problems with Software” by learning new data structures. Use these data structures to build more complex programs that use Java’s object-oriented features. At the end of the course you will write an encryption program and a program to break your encryption algorithm.

Jul 27th 2026
4 Weeks
Orientação a Objetos com Java (Coursera) Coursera
Instituto Tecnológico de Aeronáutica

Orientação a Objetos com Java (Coursera)

Neste curso, assumimos que você já sabe desenvolver programas pequenos em Java, mas você talvez não se sinta ainda confortável em projetar programas mais complexos com método e organização. O objetivo deste curso é fazer você compreender os princípios de orientação a objetos por meio da linguagem Java e saber como eficientemente aplicar esses princípios na prática quando projetando e desenvolvendo software de maneira ágil. Os conceitos discutidos e experimentados por você neste curso serão a base para você poder compreender os novos conceitos apresentados nos cursos seguintes desta especialização.

Aug 3rd 2026
5-12 Weeks
Principles of Computing (Part 2) (Coursera) Coursera
Rice University

Principles of Computing (Part 2) (Coursera)

This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class.

Aug 10th 2026
4 Weeks
Computer Science: Programming with a Purpose (Coursera) Coursera
Princeton University

Computer Science: Programming with a Purpose (Coursera)

The basis for education in the last millennium was “reading, writing, and arithmetic;” now it is reading, writing, and computing. Learning to program is an essential part of the education of every student, not just in the sciences and engineering, but in the arts, social sciences, and humanities, as well. Beyond direct applications, it is the first step in understanding the nature of computer science’s undeniable impact on the modern world.

Aug 10th 2026
5-12 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
Android App Components - Intents, Activities, and Broadcast Receivers (Coursera) Coursera
Vanderbilt University

Android App Components - Intents, Activities, and Broadcast Receivers (Coursera)

This MOOC builds upon the overview of Java and Android covered in Course 1 by delving deeper into core Android components, such as Activities, Broadcast Receivers, Intents, and Intent Filters. You will learn by example how to program these core Android components together with basic Java file I/O classes (such as File, InputStream, OutputWriter, etc.) and Android storage mechanisms (such as Shared Preferences).

Jul 27th 2026
4 Weeks