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

Algorithms, Part II (Coursera) Coursera
Princeton University

Algorithms, Part II (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.

Sep 14th 2026
5-12 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.

Sep 7th 2026
5-12 Weeks
Basic Modeling for Discrete Optimization (Coursera) Coursera
University of Melbourne,The Chinese University of Hong Kong

Basic Modeling for Discrete Optimization (Coursera)

Optimization is a common form of decision making, and is ubiquitous in our society. Its applications range from solving Sudoku puzzles to arranging seating in a wedding banquet. The same technology can schedule planes and their crews, coordinate the production of steel, and organize the transportation of iron ore from the mines to the ports. Good decisions in manpower and material resources management also allow corporations to improve profit by millions of dollars.

Sep 14th 2026
4 Weeks
Fundamentals of Organization (Coursera) Coursera
Politecnico di Milano

Fundamentals of Organization (Coursera)

Organization is a fundamental theme to understand the real functioning of each company or, more in general, of any institution, and it is part of the basic know-how of each manager. Organization design implies decisions on how work is subdivided and how coordination between the various activities and people who autonomously perform them is guaranteed.

Sep 14th 2026
3 Weeks
Programming and Application Foundations (Coursera) Coursera
Illinois Tech

Programming and Application Foundations (Coursera)

This course introduces the students to the creation and deployment of modern, standards-compliant web pages written in HTML, CSS, and JavaScript in the context of the client-server architecture of the web. The course also covers the fundamentals of programming in a modern programming language, basic data modeling, database design, implementation, and administration of single-user and shared multi-user database applications using a contemporary relational database management system.

Sep 14th 2026
5-12 Weeks
COBOL Programming with VSCode (Coursera) Coursera
IBM

COBOL Programming with VSCode (Coursera)

Professor Tak Auyeung of American River College, said it beautifully, “A programming language is not a fashion statement” it is used for a purpose. Whether it is to add new features, modify logic, create APIs to integrate it into other applications, or implement modern development practices, businesses around the world need application developers who know COBOL.

Sep 14th 2026
3 Weeks
Factory Automation: Shaping the Future of Manufacturing (Coursera) Coursera
Starweaver

Factory Automation: Shaping the Future of Manufacturing (Coursera)

This course provides a comprehensive understanding of factory automation, covering foundational concepts to practical applications. Participants explore the evolution of automation technology, including robotics and control systems, witnessing its role in optimizing production processes and enhancing productivity. Through real-world case studies, they learn how automation improves efficiency, safety, and innovation in manufacturing.

Sep 14th 2026
4 Weeks
GenAI for Everyone (Coursera) Coursera
Coursera Instructor Network

GenAI for Everyone (Coursera)

This course offers a foundational journey into the world of Generative AI (GenAI), setting the stage for a comprehensive learning path that delves into the nuanced, role-specific applications of AI. Designed to equip learners with essential GenAI knowledge, this primer is the perfect starting point before progressing through a series of courses tailored to various job functions and roles.

Sep 14th 2026
1 Week
System Validation (2): Model process behaviour (Coursera) Coursera
EIT Digital

System Validation (2): Model process behaviour (Coursera)

System Validation is the field that studies the fundamentals of system communication and information processing. It is the next logical step in computer science and improving software development in general. It allows automated analysis based on behavioural models of a system to see if a system works correctly. We want to guarantee that the systems does exactly what it is supposed to do.

Sep 14th 2026
3 Weeks
Kotlin for Java Developers (Coursera) Coursera
JetBrains

Kotlin for Java Developers (Coursera)

The Kotlin programming language is a modern language that gives you more power for your everyday tasks. Kotlin is concise, safe, pragmatic, and focused on interoperability with Java code. It can be used almost everywhere Java is used today: for server-side development, Android apps, and much more. This course aims to share with you the power and the beauty of Kotlin.

Sep 14th 2026
5-12 Weeks
Algorithmic Thinking (Part 1) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 1) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Sep 7th 2026
4 Weeks