Table of contents 1-1 Course Introduction 1-2 User Stories 2-1 From Requirements to Tests 2-2 When Have I Written Enough Tests? 3-1 Design Patterns for Web Applications 3-2: React Basics 4-1: React Continued 4-2: React Hooks 5-1: Software Processes 5-2 Code Level Design Principle 6-1 Diving Deeper Into Git 6-2 Testing with Mutants and Specs 7-1 Concurrency Patterns in Typescript 7-2 Tests With Larger Scope 8-1 Application Level Patterns 8-2 Application Level Patterns