Inheritance and Data Structures in Java (Coursera)

Inheritance and Data Structures in Java (Coursera)

This course provides a comprehensive look at Java inheritance, including access modifiers and overriding methods. Students are introduced to abstract classes, and will learn how to read and write to files, use regular expressions for parsing text, and how to leverage complex data structures like collections and maps. Additionally, this course offers strategies for catching errors and debugging code, including an overview of Eclipse’s debugging tool.

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

What You Will Learn

  • Examine the concept of inheritance in object-oriented programming and learn how to extend classes and override methods in a subclass.
  • Analyze and fix different parts of a Java program using Eclipse's interactive debugger.
  • Explore different methods for opening, reading, and writing to external files, and deal with errors and exceptions.
  • Examine advanced techniques for storing and manipulating data in collections, and parse text using regular expressions (or regex).

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

Syllabus

WEEK 1
Inheritance, Polymorphism Using Overriding, & Access Modifiers
We’ll start this module by talking about inheritance, a core concept in object-oriented programming. It’s the mechanism by which one class inherits the fields and methods of another class. Then we’ll learn about another aspect of polymorphism, overriding, which is creating a method in a subclass having the same signature as a method in a superclass. In particular, we’ll look at overriding the toString method for printing your objects and the equals method for comparing your objects, especially as it relates to unit testing. Finally, how you can restrict scope in a program by using modifiers to control access to variables, methods, and classes.

WEEK 2
Abstract Classes & Debugging
Did you know you can declare a method without defining it? It’s like giving a method a name, and even parameters and a return type, with no code in the body. These are called abstract methods. To define abstract methods, we’ll learn how to create abstract classes. With these new concepts and structures, we’ll continue to expand our Java knowledge and develop our programming skills. We’ll also learn how to better debug our programs by running them interactively using Eclipse’s Debugger. This will allow us to watch the source code and the variables, during execution.

WEEK 3
File I/O & Exceptions
There are multiple ways of loading and storing data in Java. Information can be stored and manipulated in different kinds of data structures. But data can also be stored in external files and then loaded into Java. In this module, we'll see how Java can communicate with the outside world by opening, reading from, and writing to, external files. This means of communication known as I/O or input/output, is extremely powerful with an overwhelming number of options. Any given I/O is not particularly difficult, but the difficulty lies in finding your way through the maze of possibilities. This module will help guide you through some of the different ways you can interact with external files. In addition, it will demonstrate methods you can use to handle errors and exceptions that may arise in your Java programs. In particular, when you're dealing with files.

WEEK 4
Collections, Maps, & Regular Expressions
In this module, we're going to look at some advanced techniques for storing and manipulating data in collections, which are structured groups of objects. Specifically, we'll learn how to leverage Java's collections framework, which is a unified architecture for representing and manipulating different kinds of collections. We already have experience working with one type of collection in particular, and that's the ArrayList. We'll also learn how to leverage maps, which are dictionaries that associate keys with values. This module will also provide an overview of some advanced techniques for parsing text. In particular, we'll learn how to use regular expressions or regex, which are special sequences of characters that describe patterns used for searching, editing, and manipulating text and data.

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

Related Courses

Introducción a UML (Coursera) Coursera
Universidad de los Andes

Introducción a UML (Coursera)

Bienvenidos a este curso de introducción al Lenguaje de Modelado Unificado, o UML por su sigla en inglés. Este curso surge como respuesta a la necesidad de los ingenieros de software de desarrollar la habilidad de abstraer y representar en un modelo problemas o soluciones. Esta habilidad es especialmente importante en el mundo del software donde las tecnologías son tan cambiantes. Un modelo te provee una forma de comunicar y validar un entendimiento, independiente de la tecnología en la que construirás una solución.

Oct 26th 2026
4 Weeks
Agile with Atlassian Jira (Coursera) Coursera
Atlassian

Agile with Atlassian Jira (Coursera)

Agile teams use “just enough” planning and an incremental approach to accomplishing the work of the team. Every project and every team uses a custom agile methodology. This course discusses common foundational principles and practices used by agile methodologies, providing the student a flexible set of tools to use in any role (e.g. product owner, scrum master, project manager, team member) on any agile team.

Oct 26th 2026
4 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.

Oct 19th 2026
3 Weeks
Introduction to Psychology (Coursera) Coursera
Yale University

Introduction to Psychology (Coursera)

What are people most afraid of? What do our dreams mean? Are we natural-born racists? What makes us happy? What are the causes and cures of mental illness? This course tries to answer these questions and many others, providing a comprehensive overview of the scientific study of thought and behavior. It explores topics such as perception, communication, learning, memory, decision-making, persuasion, emotions, and social behavior. We will look at how these aspects of the mind develop in children, how they differ across people, how they are wired-up in the brain, and how they break down due to illness and injury.

Oct 26th 2026
5-12 Weeks
Games, Sensors and Media (Coursera) Coursera
University of California, Irvine

Games, Sensors and Media (Coursera)

You will learn to make fluid digital interactive experiences that are suitable for gaming and use the advanced sensor hardware built into the iPhone and iPad. This includes drawing 2D graphics, playing sounds and music, integrating with Game Center, the iOS physics engine and detecting device orientation and location.

Oct 26th 2026
4 Weeks
3D Printing Capstone Coursera
University of Illinois at Urbana-Champaign

3D Printing Capstone

The capstone will integrate the learning acquired from the four courses in the 3D Printing Specialization through a hands-on project. This project will enable you to turn an idea into an object using the knowledge and skills acquired through the other courses. Specifically, you will be guided through a step-by-step process in which you imagine, design, make, and share a 3D printed object. Thus, through this capstone, you will be able to put course concepts into action and utilize the skills that you have acquired throughout the Specialization.

Oct 26th 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.

Oct 26th 2026
5-12 Weeks
Software Architecture for the Internet of Things (Coursera) Coursera
EIT Digital

Software Architecture for the Internet of Things (Coursera)

This course will teach you how to design futureproof systems that meet the requirements of IoT systems: systems that are secure, interoperable, modifiable and scalable. Moreover, you'll learn to apply best-in-class software architecture methods to help you design complex IoT and other applications. Lastly, you'll come to understand the business impact of the technical decisions that you make as an IoT system architect.

Oct 26th 2026
5-12 Weeks
Programming with Scratch (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Programming with Scratch (Coursera)

Learning coding is not only about understanding the programming language being used, but also developing important computational thinking skills, which are useful for problem solving across many disciplinary areas. In this course, students will learn basic programming skills by creating interactive storybooks, animations, and games with Scratch, which is a block-based visual programming language for anyone new to coding.

Oct 26th 2026
5-12 Weeks
Introduction to Logic (Coursera) Coursera
Stanford University

Introduction to Logic (Coursera)

This course is an introduction to Logic from a computational perspective. It shows how to encode information in the form of logical sentences; it shows how to reason with information in this form; and it provides an overview of logic technology and its applications - in mathematics, science, engineering, business, law, and so forth.

Oct 22nd 2026
5-12 Weeks