We may earn an affiliate commission when you visit our partners.
Course image
Brandon Krakowsky

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.

Enroll now

What's inside

Syllabus

Module 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.
Read more
Module 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.
Module 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.
Module 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.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Examines key concepts for object-oriented programming, such as inheritance and polymorphism
Explores file input and output, a fundamental aspect of data management in Java
Introduces debugging tools and techniques, facilitating error detection and resolution
Involves hands-on practice through interactive materials and labs, promoting active learning
Suitable for intermediate learners seeking to strengthen their foundational knowledge of Java programming concepts

Save this course

Save Inheritance and Data Structures in Java to your list so you can find it easily later:
Save

Reviews summary

Java inheritance and data structures

Learners say that Inheritance and Data Structures in Java is a solid introduction to object-oriented programming and Java. It's well-suited for those with no programming experience and is the final course in a 4-course specialization. The instructor is knowledgeable and the curriculum is well-structured. However, some learners have found that the difficulty level is high for beginners and that assignments are challenging.
Well-structured and clear
"The curriculum follows a clear structure"
Challenging but rewarding
"The assignments are really challenging but interesting."
"Perfect implementation of more practical work than theoretical."
Knowledgeable and helpful
"excellent instructor, wonderful introduction to object oriented programming and Java"
"The instructor is on the spot"
Lacking in forums
"a total ghost town"
Not quality tested
"the code is not quality tested resulting in frustrating learning experience"
Can be difficult for beginners
"This course is not for beginners."
"But I think, this course is not for beginners."
"Difficulty level is a bit high for a newbie."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Inheritance and Data Structures in Java with these activities:
Review Java syntax and basics
Ensure a solid understanding of Java fundamentals.
Browse courses on Java Basics
Show steps
  • Go over your notes or textbooks on Java syntax.
  • Complete some practice exercises or online quizzes to test your knowledge.
Review OOP concepts before starting the course
Strengthen your foundation by refreshing OOP concepts.
Show steps
  • Review materials on OOP principles, such as classes, objects, and inheritance.
  • Consider taking a refresher course or watching online tutorials on OOP.
Follow a tutorial on Java inheritance
Deepen your understanding of Java inheritance by following a tutorial.
Show steps
  • Find a comprehensive tutorial on Java inheritance.
  • Follow the tutorial step-by-step, practicing the concepts as you go.
  • Try implementing inheritance in your own Java code.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice Java inheritance exercises
Reinforce your understanding of Java inheritance through practice.
Show steps
  • Find online exercises or practice problems on Java inheritance.
  • Attempt to solve the exercises on your own.
  • Review your solutions and identify areas for improvement.
Discuss Java inheritance with a study group
Gain diverse perspectives and reinforce your understanding through peer discussion.
Show steps
  • Form a study group with classmates or fellow learners.
  • Choose a specific topic related to Java inheritance to discuss.
  • Share your own understanding and listen to the insights of others.
Organize and review course materials
Stay organized and gain a comprehensive view of the course content.
Show steps
  • Gather all course materials, including notes, assignments, and quizzes.
  • Review the materials to identify key concepts and areas that need further attention.
Create a diagram of Java inheritance relationships
Solidify your understanding of Java inheritance by creating a visual representation.
Show steps
  • Choose a Java project or scenario that involves inheritance.
  • Identify the classes and their inheritance relationships.
  • Create a diagram that visually represents these relationships.

Career center

Learners who complete Inheritance and Data Structures in Java will develop knowledge and skills that may be useful to these careers:
Web Developer
As a Web Developer, you'll design, develop, and maintain websites and web applications. This course may be useful for building a foundation in Java programming and essential data structures for developing web solutions.
Database Administrator
As a Database Administrator, you'll design, implement, and maintain databases. This course may be useful for building a foundation in Java programming for developing and managing database systems.
Applications Developer
As an Applications Developer, you'll create and maintain computer applications. This course may be useful for building a foundation in Java for developing and managing applications.
Systems Analyst
As a Systems Analyst, you'll design, develop, and implement computer systems. This course may be useful for building a foundation in Java programming and understanding essential data structures for developing system solutions.
Data Scientist
As a Data Scientist, you'll collect, process, and analyze data to identify trends and patterns. This course may be useful for getting started with Java programming, essential data structures, and regular expressions.
Machine Learning Engineer
As a Machine Learning Engineer, you'll design, develop, and implement machine learning models. This course may be useful for getting started with Java programming, essential data structures, and regular expressions.
Information Technology Manager
As an Information Technology Manager, you'll plan, direct, and coordinate IT activities within an organization. This course may be useful for building a foundation in Java programming and understanding essential data structures for managing IT systems.
Computer Programmer
As a Computer Programmer, you'll write and test code that makes computers perform specific tasks. This course may be useful for you if you wish to build a foundation in Java programming for developing software applications.
Computer Systems Analyst
As a Computer Systems Analyst, you'll analyze user needs, design and develop computer systems, and test and maintain computer systems. This course may be useful for building a foundation in Java programming and essential data structures for developing and managing computer systems.
Software Test Engineer
As a Software Test Engineer, you'll test and evaluate software applications to ensure they meet requirements. This course may be useful for building a foundation in Java programming for developing and testing software applications.
Software Engineer
As a Software Engineer, you'll analyze user needs, design and develop software solutions, and test and maintain software systems. This course may be useful for you if you wish to build a foundation in essential Java programming concepts.
Data Analyst
As a Data Analyst, you'll collect, process, and analyze data to identify trends and patterns. This course may be useful for getting started with Java programming and understanding common data structures.
Technical Writer
As a Technical Writer, you'll create documentation for technical products and services. This course may be useful for getting started with Java programming and understanding common data structures for developing technical documentation.
Business Analyst
As a Business Analyst, you'll analyze business needs and develop solutions to improve business processes. This course may be useful for getting started with Java programming and understanding common data structures.
Software Developer
As a Software Developer, you’ll design, develop, test, deploy, and maintain software applications. Specifically, this course helps Software Developers build a foundation in Java programming and essential data structures.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Inheritance and Data Structures in Java.
Classic guide to design patterns in Java. It covers 23 design patterns that are commonly used in software development. It good resource for learning how to design and implement reusable Java code.
Collection of best practices for writing Java code. It covers topics such as design patterns, concurrency, and performance. It good resource for learning how to write clean, efficient Java code.
Comprehensive guide to concurrency in Java. It covers topics such as thread safety, synchronization, and deadlock. It good resource for learning how to write concurrent Java code.
Comprehensive guide to security in Java. It covers topics such as authentication, authorization, and encryption. It good resource for learning how to secure your Java applications.
Comprehensive guide to web services in Java. It covers topics such as SOAP, REST, and WSDL. It good resource for learning how to develop web services in Java.
Comprehensive guide to Java Enterprise Edition (JEE). It covers topics such as servlets, JSPs, and EJBs. It good resource for learning how to develop enterprise applications in Java.
Good introduction to Java. It covers the basics of the language, including inheritance and data structures. It is also a good resource for learning how to use Eclipse, a popular IDE for Java development.
Comprehensive guide to performance tuning in Java. It covers topics such as profiling, optimization, and scalability. It good resource for learning how to improve the performance of your Java applications.
Comprehensive reference for Java. It covers everything from the basics of the language to advanced topics like concurrency and networking. It good resource for learning about Java in depth.
Save
Comprehensive guide to regular expressions in Java. It covers topics such as pattern matching, searching, and replacing. It good resource for learning how to use regular expressions to process text in Java.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser