Inheritance and Data Structures in Java

  • 4.3
Approx. 21 hours to complete

Course Summary

This course covers the basics of Java inheritance and data structures, including arrays, linked lists, trees, and hash tables. Students will learn how to write efficient code using these data structures and how to leverage inheritance to create reusable code.

Key Learning Points

  • Learn the fundamentals of Java inheritance
  • Master the use of arrays, linked lists, trees, and hash tables
  • Write efficient code using data structures and inheritance

Related Topics for further study


Learning Outcomes

  • Master the use of Java inheritance and data structures
  • Write efficient code using inheritance and data structures
  • Create reusable code using inheritance

Prerequisites or good to have knowledge before taking this course

  • Basic knowledge of Java programming
  • Familiarity with object-oriented programming concepts

Course Difficulty Level

Intermediate

Course Format

  • Online
  • Self-paced
  • Video lectures

Similar Courses

  • Java Programming and Software Engineering Fundamentals Specialization
  • Algorithms and Data Structures Specialization

Related Education Paths


Notable People in This Field

  • Joshua Bloch
  • Brian Goetz

Related Books

Description

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.

Knowledge

  • 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).

Outline

  • Module 1 : Inheritance, Polymorphism Using Overriding, & Access Modifiers
  • What to expect from this Course
  • About the Instructor : Brandon Krakowsky
  • How to submit assignments in Codio
  • Module Introduction
  • Superclasses and subclasses
  • A review of method signatures
  • How to override a method
  • Why override a method?
  • Overriding toString
  • A review of overriding equals
  • Overriding equals for JUnit tests
  • Overriding constructors
  • Calling an overridden method
  • Why call an overridden method?
  • Restricting scope
  • Public vs. protected vs. default vs. private
  • Which access modifier should I use?
  • Getters & setters and encapsulation
  • Coding Demonstration : Animals management project
  • Course Layout & Syllabus
  • Tips to succeed in this course
  • Navigating Assignments using Codio
  • Module 1 Resources (DOWNLOAD RELEVANT CODE AND/OR DATA FILES FOR THIS MODULE HERE)
  • How to require @Override in Eclipse
  • Summary : Overloading vs. Overriding
  • Quiz 1: Inheritance & Polymorphism - Overriding
  • Quiz 2 : Access Modifiers
  • Module 2 : Abstract Classes & Debugging
  • Module Introduction
  • Abstract methods
  • Declaring abstract classes
  • Extending abstract classes
  • Combining abstract & non-abstract methods
  • Why have abstract classes?
  • Common syntax errors with subclasses
  • Possible solutions to the syntax problem
  • Solution to syntax problem using abstract class
  • Code Along : Pet project
  • What is debugging?
  • Debugging support in Eclipse
  • Coding Demonstration : Debugging Person class - IndexOutOfBoundsException, & NullPointerException
  • Coding Demonstration : Debugging syllable counter - Using Step Into, Step Over, & Step Return
  • Module 2 Resources (DOWNLOAD RELEVANT CODE AND/OR DATA FILES FOR THIS MODULE HERE)
  • Setting breakpoints
  • Starting the debugger
  • Controlling program execution
  • Evaluating variables in the debugger
  • Returning to the Java perspective
  • Quiz 3 : Abstract Classes
  • Quiz 4 : More with Abstract Classes & Debugging
  • Module 3 : File I/O & Exceptions
  • Module Introduction
  • Why Java I/O is difficult
  • Streams
  • How to do I/O
  • Opening & reading a file, using FileReader & BufferedReader
  • Opening & reading a file, using Scanner
  • File writing, using FileWriter & PrintWriter
  • File writing, using FileWriter & BufferedWriter
  • File types
  • Errors vs. exceptions
  • What to do about errors & exceptions
  • Dealing with exceptions
  • The try-catch statement
  • 'finally'
  • Two ways to deal with exceptions
  • Using Scanner, & FileNotFoundException
  • Using FileReader & BufferedReader, & FileNotFoundException, IOException
  • Using FileWriter & PrintWriter, & IOException
  • Module 3 Resources (DOWNLOAD RELEVANT CODE AND/OR DATA FILES FOR THIS MODULE HERE)
  • Different kinds of built-in exceptions
  • Different kinds of built-in errors
  • Quiz 5 : File I/O
  • Quiz 6 : More with File I/O & Exceptions
  • Module 4 : Collections, Maps, & Regular Expressions
  • Module Introduction
  • About the Collections Framework
  • Types of collections & “collection-like” things (maps)
  • Methods in the collection interface
  • Implementations
  • List interface
  • Deque interface
  • Set interface
  • Map interface
  • General rules for selecting an implementation
  • Iterator
  • Coding Demonstration : Remove range from a list using an Iterator
  • Coding Demonstration : Add stars to a list using ArrayList
  • Coding Demonstration : Count words using a HashMap
  • Coding Demonstration : Count unique words using a HashSet
  • Coding Demonstration : Set food toppings using a HashMap
  • What is a regular expression?
  • Coding Demonstration : Split a String using str.split()
  • Coding Demonstration : Replace all with a pattern using str.replaceAll()
  • Coding Demonstration : Get parts of a phone number using groups and character classes
  • Coding Demonstration : Replace an area code using str.replaceFirst()
  • Module 4 Resources (DOWNLOAD RELEVANT CODE AND/OR DATA FILES FOR THIS MODULE HERE)
  • Sorting & searching collections
  • Arrays class
  • Quiz 7 : Collections/Maps
  • Quiz 8 : More with Collections/Maps & Regular Expressions

Summary of User Reviews

Learn Java Inheritance and Data Structures online with Coursera. Read reviews from students who have taken this course and discover the pros and cons of this course.

Key Aspect Users Liked About This Course

The course is very well structured and easy to follow.

Pros from User Reviews

  • Great learning experience for beginners to intermediate level learners
  • The course is well-structured and easy to follow
  • The content is informative and engaging
  • The instructors are knowledgeable and supportive
  • Good introduction to inheritance and data structures in Java

Cons from User Reviews

  • Some students may find the price to be a bit steep
  • The course may not be suitable for advanced level learners
  • Some of the assignments are challenging and time-consuming
  • The course may require a significant time commitment
  • Limited interaction with other students and the instructor
English
Available now
Approx. 21 hours to complete
Brandon Krakowsky
University of Pennsylvania
Coursera

Instructor

Brandon Krakowsky

  • 4.3 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses