Welcome (Object Oriented Java Programming: Data Structures and Beyond Specialization)
Welcome (Object Oriented Programming in Java Specialization)
Your path through the course
In the Real World: Welcome from Google Engineers
A Customized Welcome to this Course
After completing this course you will be able to...
Is this course right for me?
If you want more practice before you begin...
The structure of this course
Setting up Java and Eclipse
Getting and Working with the Starter Code
Quiz about the Starter Code and Course Structure
Survey: Your goals for the course
Core: Introduction to the Flesch Readability Score
Core: Basics of Strings in Java
Core: Working with Strings in Java
Support: For-Each Loops part 1 of 5
Support: For-Each Loops part 2 of 5
Support: For-Each Loops part 3 of 5
Support: For-Each Loops part 4 of 5
Support: For-Each Loops part 5 of 5
Core: Introduction to Regular Expressions
When I struggled: Regular expressions
Concept Challenge: Regular Expressions
Support: More with Regular Expressions
Project: Programming Assignment Walk Through
A note about week numbers
By the end of this week you will be able to...
Did you have trouble with any question(s) on the practice quiz?
Week 2: Additional Resources
Programming Assignment FAQ
Week 2: Congratulations and quiz answers
Module and Programming Assignment Quiz
Strings and Regular Expressions
How Easy to Read is Your Writing?
What questions do you have about Strings and Regular Expressions?
In the Real World: Efficiency
Core: Our Motivation for Asymptotic Analysis
Core: Counting Operations
Core: Introduction to Asymptotic Analysis Part 1
Core: Introduction to Asymptotic Analysis Part 2
Core: Computing Big O with Consecutive Operations
Core: Computing Big O with Nested Operations
Concept Challenge: Classifying Functions using Big O
Support: Analyzing Selection Sort
Concept Challenge: Estimating Big O from Code
Core: Worst Best and Average Cases
In the Real World: Worst Case Analysis
Core: Analyzing Search Algorithms
Core: Analyzing Sorting Algorithms
When I struggled: Algorithm performance
Core: A Summary of Sorting
Core: Common Pitfalls in Asymptotic Analysis
Core: Introduction to Benchmarking
Concept Challenge: Relating Timing Data to Algorithm Analysis
Project: Week 3 Project Walk Through
By the end of this week you will be able to...
Week 3: Additional Resources
Week 3: Congratulations and quiz answers
Module and After Programming Assignment Quiz
Asymptotic Notation and Analysis
Making Flesch Score Calculation More Efficient
Core: Introduction to Abstraction
In the Real World: Data Abstraction
Core: Linked Lists vs. Arrays
In the Real World: Lists vs. Arrays
Core: Generics and Exceptions
Core: Java Code for a Linked List
Concept Challenge: Implementing linked lists a first attempt
Concept Challenge: Drawing Linked Lists second attempt
Support: Adding to a Linked List
When I struggled: Data structures
Core: Testing and Confidence
In the Real World: How can the compiler help with testing?
In the Real World: How do you test the behavior of code?
Support: JUnit in Eclipse
In the Real World: Unit Testing
Core: Testing Linked List's "Get" Method
Concept Challenge: Which Tests Should You Run?
In the Real World: Test-driven development
Project: Linked List Assignment Walk Through
When I struggled: confidence in code
Core: Markov Text Generation
Core: Implementing Markov Text Generation
Optional Project: Markov Text Generation Walk Through
By the end of this week you will be able to...
Week 4: Additional Resources
Week 4 Reflective Programming Assignment Quiz
(Optional) Markov Text Generation
Implement and Test a Linked List
Core: Pre-Order Traversals
Core: Post-Order In-Order and Level-Order Traversals (Breadth-first search)
When I struggled: Why traverse a tree?
Core: Introduction to Binary Search Trees
Support: Code for BST's "Find" Method
Core: Inserting into a BST
Support: Code for BST's "Insert" Method
Core: Deleting from a BST
Concept Challenge: BST Shape
Core: Performance of BSTs and Balancing Part 1
Core: Performance of BSTs and Balancing Part 2
Core: Introduction to Tries
Core: Performance of Tries
Core: Implementing a Trie
Project: Week 5 Project Walk Through
By the end of this week you will be able to...
Week 5: Additional Resources
Week 5: Congratulations and quiz answers
Week 5 Content and Programming Assignment Quiz
Spell Checking and Autocomplete
Core: Collisions in Hash Tables
When I Struggled: Hash Tables
Core: Applications of Hash Tables
Support: Modular Arithmetic
Concept Challenge: Hash Tables
Project: Spelling Suggestions Walk Through
Project: Word Path Walk Through
By the end of this week you will be able to...
Week 6: Additional Resources
Week 6: Congratulations and quiz answers
Week 6: Programming Assignment and Content Quiz
Word Paths (Optional but Recommended)