Curriculum

19 Topics
Course Title
Welcome (Object Oriented Java Programming: Data Structures and Beyond Specialization)
Welcome (Object Oriented Programming in Java Specialization)
Your path through the course
Concept Challenges
In the Real World: Welcome from Google Engineers
Project Prototype
A Customized Welcome to this Course
After completing this course you will be able to...
Is this course right for me?
Up Next: A short survey
If you want more practice before you begin...
The structure of this course
Project Overview
Setting up Java and Eclipse
Getting and Working with the Starter Code
Quiz about the Starter Code and Course Structure
Pre-Course Quiz
Survey: Your goals for the course

26 Topics
Introduction
Project Overview
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
Where to next?
Strings and Regular Expressions
How Easy to Read is Your Writing?
What questions do you have about Strings and Regular Expressions?

33 Topics
Introduction
Project Overview
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: Merge Sort
Core: A Summary of Sorting
Core: Common Pitfalls in Asymptotic Analysis
Core: Introduction to Benchmarking
Core: Using Java Time
Core: Analyzing Timings
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
Where to next?
Practice Quiz
Asymptotic Notation and Analysis
Making Flesch Score Calculation More Efficient

34 Topics
Introduction
Project Overview
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?
Core: Testing Practices
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: Congratulations
Week 4 Reflective Programming Assignment Quiz
Where to next?
Where to next?
(Optional) Markov Text Generation
Implement and Test a Linked List

28 Topics
Introduction
Project Overview
Core: Trees
In the Real World: Trees
Core: Defining Trees
Core: Binary Trees
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
Core: Searching in a BST
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
Where to next?
Spell Checking and Autocomplete

20 Topics
Introduction
Project Overview
Core: Hash Tables
Core: Collisions in Hash Tables
When I Struggled: Hash Tables
Core: Applications of Hash Tables
Support: Modular Arithmetic
Concept Challenge: Hash Tables
Core: Overview
Core: Algorithm
Core: Edit Distance
Project: Spelling Suggestions Walk Through
Project: Word Path Walk Through
Core: Congratulations!
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)
Spelling Suggestions

  Write a Review

Data Structures and Performance

Go to Free Course