VOOZH about

URL: https://www.coursera.org/learn/java-inheritance-data-structures

⇱ Inheritance and Data Structures in Java | Coursera


Inheritance and Data Structures in Java

Ends soon! Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

Inheritance and Data Structures in Java

13,450 already enrolled

Included with

Gain insight into a topic and learn the fundamentals.
4.6

106 reviews

Beginner level

Recommended experience

2 weeks to complete
at 10 hours a week

Gain insight into a topic and learn the fundamentals.
4.6

106 reviews

Beginner level

Recommended experience

2 weeks to complete
at 10 hours a week

What you'll 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).

Details to know

Shareable certificate

Add to your LinkedIn profile

Assessments

9 assignments

Taught in English
Flexible schedule
Learn at your own pace

Build your subject-matter expertise

This course is part of the Introduction to Programming with Python and Java Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate

There are 4 modules in this course

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.

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.

What's included

19 videos7 readings3 assignments1 app item

19 videosTotal 76 minutes
  • What to expect from this Course2 minutes
  • About the Instructor : Brandon Krakowsky 1 minute
  • How to submit assignments in Codio6 minutes
  • Module Introduction1 minute
  • Superclasses and subclasses1 minute
  • A review of method signatures1 minute
  • How to override a method2 minutes
  • Why override a method?1 minute
  • Overriding toString2 minutes
  • A review of overriding equals2 minutes
  • Overriding equals for JUnit tests8 minutes
  • Overriding constructors1 minute
  • Calling an overridden method5 minutes
  • Why call an overridden method?0 minutes
  • Restricting scope2 minutes
  • Public vs. protected vs. default vs. private0 minutes
  • Which access modifier should I use?1 minute
  • Getters & setters and encapsulation1 minute
  • Coding Demonstration : Animals management project39 minutes
7 readingsTotal 46 minutes
  • Course Layout & Syllabus10 minutes
  • Tips to succeed in this course10 minutes
  • Navigating Assignments using Codio10 minutes
  • Module 1 Resources (DOWNLOAD RELEVANT CODE AND/OR DATA FILES FOR THIS MODULE HERE)10 minutes
  • How to require @Override in Eclipse3 minutes
  • Summary : Overloading vs. Overriding2 minutes
  • Opt-in to Penn Engineering Online Communications1 minute
3 assignmentsTotal 62 minutes
  • Learning Style Preference Survey30 minutes
  • Quiz 1: Inheritance & Polymorphism - Overriding16 minutes
  • Quiz 2 : Access Modifiers16 minutes
1 app itemTotal 120 minutes
  • Homework 1 : Vehicles120 minutes

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.

What's included

14 videos6 readings2 assignments1 app item

14 videosTotal 97 minutes
  • Module Introduction1 minute
  • Abstract methods0 minutes
  • Declaring abstract classes0 minutes
  • Extending abstract classes1 minute
  • Combining abstract & non-abstract methods1 minute
  • Why have abstract classes?1 minute
  • Common syntax errors with subclasses2 minutes
  • Possible solutions to the syntax problem1 minute
  • Solution to syntax problem using abstract class1 minute
  • Code Along : Pet project32 minutes
  • What is debugging?0 minutes
  • Debugging support in Eclipse0 minutes
  • Coding Demonstration : Debugging Person class - IndexOutOfBoundsException, & NullPointerException12 minutes
  • Coding Demonstration : Debugging syllable counter - Using Step Into, Step Over, & Step Return46 minutes
6 readingsTotal 27 minutes
  • Module 2 Resources (DOWNLOAD RELEVANT CODE AND/OR DATA FILES FOR THIS MODULE HERE)10 minutes
  • Setting breakpoints3 minutes
  • Starting the debugger3 minutes
  • Controlling program execution5 minutes
  • Evaluating variables in the debugger5 minutes
  • Returning to the Java perspective1 minute
2 assignmentsTotal 30 minutes
  • Quiz 3 : Abstract Classes 14 minutes
  • Quiz 4 : More with Abstract Classes & Debugging16 minutes
1 app itemTotal 120 minutes
  • Homework 2 : Shapes120 minutes

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.

What's included

18 videos3 readings2 assignments1 app item

18 videosTotal 51 minutes
  • Module Introduction1 minute
  • Why Java I/O is difficult0 minutes
  • Streams1 minute
  • How to do I/O0 minutes
  • Opening & reading a file, using FileReader & BufferedReader1 minute
  • Opening & reading a file, using Scanner1 minute
  • File writing, using FileWriter & PrintWriter1 minute
  • File writing, using FileWriter & BufferedWriter 1 minute
  • File types1 minute
  • Errors vs. exceptions0 minutes
  • What to do about errors & exceptions0 minutes
  • Dealing with exceptions0 minutes
  • The try-catch statement1 minute
  • 'finally'1 minute
  • Two ways to deal with exceptions1 minute
  • Using Scanner, & FileNotFoundException13 minutes
  • Using FileReader & BufferedReader, & FileNotFoundException, IOException19 minutes
  • Using FileWriter & PrintWriter, & IOException8 minutes
3 readingsTotal 12 minutes
  • Module 3 Resources (DOWNLOAD RELEVANT CODE AND/OR DATA FILES FOR THIS MODULE HERE)10 minutes
  • Different kinds of built-in exceptions1 minute
  • Different kinds of built-in errors1 minute
2 assignmentsTotal 30 minutes
  • Quiz 5 : File I/O16 minutes
  • Quiz 6 : More with File I/O & Exceptions14 minutes
1 app itemTotal 240 minutes
  • Homework 3 : Information Parser240 minutes

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.

What's included

21 videos4 readings2 assignments1 app item

21 videosTotal 81 minutes
  • Module Introduction1 minute
  • About the Collections Framework1 minute
  • Types of collections & “collection-like” things (maps)1 minute
  • Methods in the collection interface1 minute
  • Implementations1 minute
  • List interface1 minute
  • Deque interface1 minute
  • Set interface0 minutes
  • Map interface1 minute
  • General rules for selecting an implementation1 minute
  • Iterator1 minute
  • Coding Demonstration : Remove range from a list using an Iterator8 minutes
  • Coding Demonstration : Add stars to a list using ArrayList7 minutes
  • Coding Demonstration : Count words using a HashMap6 minutes
  • Coding Demonstration : Count unique words using a HashSet6 minutes
  • Coding Demonstration : Set food toppings using a HashMap6 minutes
  • What is a regular expression?0 minutes
  • Coding Demonstration : Split a String using str.split()16 minutes
  • Coding Demonstration : Replace all with a pattern using str.replaceAll()4 minutes
  • Coding Demonstration : Get parts of a phone number using groups and character classes15 minutes
  • Coding Demonstration : Replace an area code using str.replaceFirst()4 minutes
4 readingsTotal 14 minutes
  • Module 4 Resources (DOWNLOAD RELEVANT CODE AND/OR DATA FILES FOR THIS MODULE HERE)10 minutes
  • Opt-in to Penn Engineering Online Communications1 minute
  • Sorting & searching collections2 minutes
  • Arrays class1 minute
2 assignmentsTotal 22 minutes
  • Quiz 7 : Collections/Maps14 minutes
  • Quiz 8 : More with Collections/Maps & Regular Expressions8 minutes
1 app itemTotal 240 minutes
  • Homework 4 : Word Counter240 minutes

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Instructor

Instructor ratings
4.5 (39 ratings)
University of Pennsylvania
10 Courses179,792 learners

Explore more from Software Development

Why people choose Coursera for their career

👁 Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
👁 Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
👁 Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
👁 Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Learner reviews

  • 5 stars

    78.30%

  • 4 stars

    14.15%

  • 3 stars

    1.88%

  • 2 stars

    0.94%

  • 1 star

    4.71%

Showing 3 of 106

EJ
·

Reviewed on Apr 28, 2021

The lectures are good! However, some descriptions in assignments are not clear.

PA
·

Reviewed on Jul 6, 2025

This course is good for understanding some basic concepts of Java

SK
·

Reviewed on Feb 19, 2021

excellent instructor, wonderful introduction to object oriented programming and Java

Frequently asked questions

The only math that learners will need for this Specialization is arithmetic and basic concepts in logic.

If you enjoyed this course, we recommend Courses 1, 2 and 3 in the series!

If you would like to learn the fundamentals of computer science beyond the basics of programming, consider applying to the Master of Computer and Information and Technology (MCIT) at the University of Pennsylvania, an Ivy League computer science master’s program for people without a computer science background. For an on-campus experience, . If you prefer an online setting, apply to . In fact, the lectures in this series are also used in the online degree program! The Specialization certificate will be viewed favorably by the admissions committee, so be sure to mention it when you apply.

To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.

When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.

Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.

Financial aid available,