Inheritance and Data Structures in Java
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. …
Inheritance and Data Structures in Java
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.
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).
Syllabus
Syllabus - What you will learn from this course
Week 1
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.
Week 2
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.
Week 3
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.
Week 4
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.
FAQ
When will I have access to the lectures and assignments?
Access to lectures and assignments depends on your type of enrollment. If you take a course in audit mode, you will be able to see most course materials for free. To access graded assignments and to earn a Certificate, you will need to purchase the Certificate experience, during or after your audit. If you don't see the audit option:
What will I get if I subscribe to this Specialization?
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. If you only want to read and view the course content, you can audit the course for free.
Is financial aid available?
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.
How much math do I need to know to take this course?
The only math that learners will need for this Specialization is arithmetic and basic concepts in logic.
This course was fun. How can I learn more?
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, explore here. If you prefer an online setting, apply to MCIT Online. 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.
Reviews
More examples for Collections and Maps should be added
This course suits everyone who wants to start learning programming. The assignments are really challenging but interesting.
Cool course! Main concepts explained and requires to do some homework over google to complete assignments!
The lectures are good! However, some descriptions in assignments are not clear.
Start your Free Trial
Self paced
4,147 already enrolled
4.7stars Rating out of 5 (46 ratings in Coursera)
Go to the Course