- Level Foundation
- Duration 21 hours
- Course by University of Pennsylvania
-
Offered by
About
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.Modules
1. Course Introduction
1
Assignment
- Learning Style Preference Survey
3
Videos
- What to expect from this Course
- About the Instructor : Brandon Krakowsky
- How to submit assignments in Codio
3
Readings
- Course Layout & Syllabus
- Tips to succeed in this course
- Navigating Assignments using Codio
2. Module Introduction & Resources
1
Videos
- Module Introduction
1
Readings
- Module 1 Resources (DOWNLOAD RELEVANT CODE AND/OR DATA FILES FOR THIS MODULE HERE)
3. Inheritance
1
Videos
- Superclasses and subclasses
4. Polymorphism – Overriding
6
Videos
- 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
1
Readings
- How to require @Override in Eclipse
5. Constructors & Calling Overriden Methods
3
Videos
- Overriding constructors
- Calling an overridden method
- Why call an overridden method?
1
Readings
- Summary : Overloading vs. Overriding
6. Quiz
1
Assignment
- Quiz 1: Inheritance & Polymorphism - Overriding
7. Access Modifiers
5
Videos
- Restricting scope
- Public vs. protected vs. default vs. private
- Which access modifier should I use?
- Getters & setters and encapsulation
- Coding Demonstration : Animals management project
1
Readings
- Opt-in to Penn Engineering Online Communications
8. Quiz
1
Assignment
- Quiz 2 : Access Modifiers
9. Assessment
1
External Tool
- Homework 1 : Vehicles
1. Module Introduction & Resources
1
Videos
- Module Introduction
1
Readings
- Module 2 Resources (DOWNLOAD RELEVANT CODE AND/OR DATA FILES FOR THIS MODULE HERE)
2. Abstract Classes
9
Videos
- 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
3. Quiz
1
Assignment
- Quiz 3 : Abstract Classes
4. Debugging
2
Videos
- What is debugging?
- Debugging support in Eclipse
5
Readings
- Setting breakpoints
- Starting the debugger
- Controlling program execution
- Evaluating variables in the debugger
- Returning to the Java perspective
5. Demonstrations
2
Videos
- Coding Demonstration : Debugging Person class - IndexOutOfBoundsException, & NullPointerException
- Coding Demonstration : Debugging syllable counter - Using Step Into, Step Over, & Step Return
6. Quiz
1
Assignment
- Quiz 4 : More with Abstract Classes & Debugging
7. Assessment
1
External Tool
- Homework 2 : Shapes
1. Module Introduction & Resources
1
Videos
- Module Introduction
1
Readings
- Module 3 Resources (DOWNLOAD RELEVANT CODE AND/OR DATA FILES FOR THIS MODULE HERE)
2. File I/O
8
Videos
- 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
3. Quiz
1
Assignment
- Quiz 5 : File I/O
4. Exceptions
6
Videos
- Errors vs. exceptions
- What to do about errors & exceptions
- Dealing with exceptions
- The try-catch statement
- 'finally'
- Two ways to deal with exceptions
2
Readings
- Different kinds of built-in exceptions
- Different kinds of built-in errors
5. Demonstrations
3
Videos
- Using Scanner, & FileNotFoundException
- Using FileReader & BufferedReader, & FileNotFoundException, IOException
- Using FileWriter & PrintWriter, & IOException
6. Quiz
1
Assignment
- Quiz 6 : More with File I/O & Exceptions
7. Assessment
1
External Tool
- Homework 3 : Information Parser
1. Module Introduction & Resources
1
Videos
- Module Introduction
2
Readings
- Module 4 Resources (DOWNLOAD RELEVANT CODE AND/OR DATA FILES FOR THIS MODULE HERE)
- Opt-in to Penn Engineering Online Communications
2. Collections & Maps
10
Videos
- 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
2
Readings
- Sorting & searching collections
- Arrays class
3. Demonstrations
5
Videos
- 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
4. Quiz
1
Assignment
- Quiz 7 : Collections/Maps
5. Regular Expressions
1
Videos
- What is a regular expression?
6. More Demonstrations
4
Videos
- 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()
7. Quiz
1
Assignment
- Quiz 8 : More with Collections/Maps & Regular Expressions
8. Assessment
1
External Tool
- Homework 4 : Word Counter
Auto Summary
Unlock the power of Java inheritance and data structures with this foundational IT & Computer Science course on Coursera. Dive into access modifiers, method overriding, abstract classes, and complex data structures like collections and maps. Enhance your coding skills with file I/O, regular expressions, error handling, and Eclipse debugging tools. Perfect for beginners, this comprehensive 1260-minute course offers a solid grounding in Java programming. Available with a Starter subscription.

Brandon Krakowsky