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

Java程序设计 (Coursera) Coursera
Peking University

Java程序设计 (Coursera)

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

Nov 16th 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.

Nov 2nd 2026
5-12 Weeks
Advanced R Programming (Coursera) Coursera
Johns Hopkins University

Advanced R Programming (Coursera)

This course covers advanced topics in R programming that are necessary for developing powerful, robust, and reusable data science tools. Topics covered include functional programming in R, robust error handling, object oriented programming, profiling and benchmarking, debugging, and proper design of functions.

Nov 2nd 2026
4 Weeks
Python Data Structures (Coursera) Coursera
University of Michigan

Python Data Structures (Coursera)

This course will introduce the core data structures of the Python programming language. We will move past the basics of procedural programming and explore how we can use the Python built-in data structures such as lists, dictionaries, and tuples to perform increasingly complex data analysis. This course will cover Chapters 6-10 of the textbook “Python for Everybody”. This course covers Python 3.

Nov 9th 2026
5-12 Weeks
Algorithms, Part I (Coursera) Coursera
Princeton University

Algorithms, Part I (Coursera)

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

Nov 16th 2026
5-12 Weeks
Building Web Applications in Django (Coursera) Coursera
University of Michigan

Building Web Applications in Django (Coursera)

In this course, you will learn how Django communicates with a database through model objects. You will explore Object-Relational Mapping (ORM) for database access and how Django models implement this pattern. We will review the Object-Oriented (OO) pattern in Python. You will learn basic Structured Query Language (SQL) and database modeling, including one-to-many and many-to-many relationships and how they work in both the SQL and Django models. You will learn how to use the Django console and scripts to work with your application objects interactively.

Nov 2nd 2026
4 Weeks
Shortest Paths Revisited, NP-Complete Problems and What To Do About Them (Coursera) Coursera
Stanford University

Shortest Paths Revisited, NP-Complete Problems and What To Do About Them (Coursera)

The primary topics in this part of the specialization are: shortest paths (Bellman-Ford, Floyd-Warshall, Johnson), NP-completeness and what it means for the algorithm designer, and strategies for coping with computationally intractable problems (analysis of heuristics, local search).

Nov 2nd 2026
4 Weeks
Laboratório de Programação Orientada a Objetos - Parte 2 (Coursera) Coursera
Universidade de São Paulo, Brasil

Laboratório de Programação Orientada a Objetos - Parte 2 (Coursera)

Esta é a segunda parte do curso avançado de Programação Orientada a Objetos oferecido pelo Departamento de Ciência da Computação do IME-USP. O curso é voltado para profissionais ou estudantes interessados em Desenvolvimento de Software Avançado e que já dominam uma linguagem de programação e já conhecem os fundamentos básicos da orientação a objetos.

Nov 9th 2026
5-12 Weeks
Programando con Java para aplicaciones Android (Coursera) Coursera
Universidad Nacional Autónoma de México

Programando con Java para aplicaciones Android (Coursera)

¡Aprende lo mejor de Java para el desarrollo en Android! Descubre lo necesario para construir tus aplicaciones móviles de una forma sencilla, objetiva y práctica. A lo largo del curso, verás diversos ejemplos para crear tu primer Hola Mundo y practicarás la programación orientada a objetos.

Nov 16th 2026
3 Weeks
Data Processing Using Python (Coursera) Coursera
Nanjing University

Data Processing Using Python (Coursera)

This course is mainly for non-computer majors. It starts with the basic syntax of Python, to how to acquire data in Python locally and from network, to how to present data, then to how to conduct basic and advanced statistic analysis and visualization of data, and finally to how to design a simple GUI to present and process data, advancing level by level.

Nov 23rd 2026
5-12 Weeks