Section 1 : Introduction to Cross-Platform Development with Flutter and Dart

Lecture 1 Why Flutter 00:12:11 Duration
Lecture 2 The Anatomy of a Flutter App 00:05:16 Duration
Lecture 3 How to Get the Most Out of the Course 00:09:33 Duration

Section 2 : Setup and Installation

Lecture 1 Prerequisites for Flutter Development 00:06:11 Duration
Lecture 2 Windows Setup Step 1 - Install the Flutter SDK 00:07:11 Duration
Lecture 3 Windows Setup Step 2 - Install Android Studio 00:02:40 Duration
Lecture 4 Windows Setup Step 3 - Install the Android Emulator 00:05:44 Duration
Lecture 5 Mac Setup Step 1 - Install the Flutter SDK 00:13:37 Duration
Lecture 6 Mac Setup Step 2 - Install Android Studio 00:04:10 Duration
Lecture 7 Mac Setup Step 3 - Install the Android Emulator
Lecture 8 Mac Setup Step 4 - Install Xcode and Command Line Tools 00:02:25 Duration
Lecture 9 Mac Setup Step 5 - Test the iOS Simulator 00:03:17 Duration
Lecture 10 [Optional] Configure Android Studio for Flutter Development 00:09:39 Duration
Lecture 11 [Optional] Guided Tour of Android Studio for Flutter Development 00:13:15 Duration

Section 3 : I Am Rich - How to Create Flutter Apps From Scratch

Lecture 1 Creating a New Flutter Project from Scratch 00:15:20 Duration
Lecture 2 Scaffolding a Flutter App 00:22:12 Duration
Lecture 3 Working with Assets in Flutter & the Pubspec file 00:09:24 Duration
Lecture 4 How to Add App Icons to the iOS and Android Apps 00:09:10 Duration
Lecture 5 How to Ace this Course 00:01:25 Duration

Section 4 : Running Your App on a Physical Device

Lecture 1 Deploying Flutter Apps to an Android Phone 00:05:44 Duration
Lecture 2 Deploying Flutter Apps to iPhonesiPads 00:16:04 Duration
Lecture 3 Tip from Angela - Habit Building with the Calendar Trick 00:02:52 Duration

Section 5 : I Am Poor - App Challenge

Lecture 1 What are App Challenges 00:03:02 Duration
Lecture 2 Tip from Angela - Dealing with Distractions 00:02:29 Duration

Section 6 : MiCard - How to Build Beautiful UIs with Flutter Widgets

Lecture 1 MiCard - A Single Screen Personal Business Card App 00:05:12 Duration
Lecture 2 Hot Reload and Hot Restart - Flutter Power Tools 00:13:49 Duration
Lecture 3 How to Use Container Widgets 00:11:17 Duration
Lecture 4 How to use Column & Row Widgets for Layout 00:14:01 Duration
Lecture 5 Tapping into Widget Properties 00:09:14 Duration
Lecture 6 Incorporating Custom Fonts in Your Flutter App 00:10:59 Duration
Lecture 7 Adding Material Icons with the Icon Widget 00:12:35 Duration
Lecture 8 Flutter Card & ListTile Widgets 00:13:19 Duration
Lecture 9 Tip from Angela - Nothing Easy is Worth Doing! 00:03:35 Duration

Section 7 : Dicee - Building Apps with State

Lecture 1 Dicee - A Stateful Dice App 00:04:29 Duration
Lecture 2 Using the Expanded Widget to Create Flexible Layouts 00:12:01 Duration
Lecture 3 How to Use Intention Actions 00:08:30 Duration
Lecture 4 Adding Gesture Detection with Flutter Button Widges 00:12:41 Duration
Lecture 5 [Dart] Functions - Part 1 00:05:38 Duration
Lecture 6 Making the Dice Image Change Reactively
Lecture 7 [Dart] Variables 00:07:25 Duration
Lecture 8 [Dart] Data Types 00:12:24 Duration
Lecture 9 Stateful vs 00:14:58 Duration
Lecture 10 Randomising the Dice 00:08:27 Duration
Lecture 11 Challenge 1 Solution 00:03:09 Duration
Lecture 12 Challenge 2 Solution 00:01:57 Duration
Lecture 13 Challenge 3 Solution
Lecture 14 Tip from Angela - How to Deal with Procrastination 00:04:08 Duration

Section 8 : Boss Level Challenge 1 - Magic 8 Ball

Lecture 1 Magic 8 Ball - A Decision Making App 00:00:57 Duration
Lecture 2 Tip from Angela - Building a Programming Habit 00:02:47 Duration

Section 9 : Xylophone - Using Flutter and Dart Packages to Speed Up Development

Lecture 1 Xylophone - A Simple Musical Instrument App 00:03:37 Duration
Lecture 2 What are Flutter & Dart Packages 00:13:22 Duration
Lecture 3 How to Play Sound Across Platforms 00:09:47 Duration
Lecture 4 How to Play Multiple Sounds 00:09:00 Duration
Lecture 5 [Dart] Functions - Part 2 00:10:32 Duration
Lecture 6 Updating the UI of Our App 00:09:15 Duration
Lecture 7 [Dart] Functions - Part 3 00:10:54 Duration
Lecture 8 [Dart] Functions Challenge 00:06:52 Duration
Lecture 9 Refactoring Our App 00:06:19 Duration
Lecture 10 [Dart] Arrow Functions 00:06:27 Duration
Lecture 11 Tip from Angela - The 20 Minute Method 00:02:39 Duration

Section 10 : Quizzler -Modularising & Organising Flutter Code

Lecture 1 Quizzler - A TrueFalse Quiz App 00:03:14 Duration
Lecture 2 Building a Score Keeper 00:12:08 Duration
Lecture 3 [Dart] Lists 00:08:25 Duration
Lecture 4 Displaying the Questions 00:17:04 Duration
Lecture 5 Checking User Answers 00:06:29 Duration
Lecture 6 [Dart] Conditionals - IFELSE 00:15:36 Duration
Lecture 7 Creating a Question Class 00:12:40 Duration
Lecture 8 [Dart] Classes and Objects 00:15:25 Duration
Lecture 9 Abstraction in Action 00:16:26 Duration
Lecture 10 Encapsulation in Action 00:14:51 Duration
Lecture 11 Inheritance in Action 00:07:38 Duration
Lecture 12 Polymorphism in Action 00:08:31 Duration
Lecture 13 Adding Back the Score Keeper 00:06:51 Duration
Lecture 14 Code Challenge 00:03:14 Duration
Lecture 15 [Dart] Class Constructors 00:14:02 Duration
Lecture 16 Tip from Angela - Learning Before you Eat 00:02:06 Duration

Section 11 : Boss Level Challenge 2 - Destini

Lecture 1 Destini - A Choose Your Own Adventure Game 00:02:17 Duration
Lecture 2 Tip from Angela - Retrieval is How You Learn 00:02:52 Duration

Section 12 : BMI Calculator - Building Flutter UI for Intermediates

Lecture 1 BMI Calculator - A Beautiful Health App 00:02:03 Duration
Lecture 2 How to Use Flutter Themes 00:24:05 Duration
Lecture 3 How to Refactor Flutter Widgets 00:20:05 Duration
Lecture 4 [Dart] Final vs 00:18:24 Duration
Lecture 5 Creating Custom Flutter Widgets 00:18:26 Duration
Lecture 6 The GestureDetector Widget 00:12:04 Duration
Lecture 7 [Dart] Enums 00:11:19 Duration
Lecture 8 [Dart] Ternary Operator 00:13:08 Duration
Lecture 9 [Dart] Functions as First Order Objects 00:15:05 Duration
Lecture 10 The Flutter Slider Widget 00:25:25 Duration
Lecture 11 Customising Widgets with Themes 00:11:49 Duration
Lecture 12 Composition vs
Lecture 13 Multi-Screen Apps Using Routes and Navigation 00:21:40 Duration
Lecture 14 [Dart] Maps 00:07:53 Duration
Lecture 15 Adding the BMI Calculator Functionality 00:13:23 Duration
Lecture 16 Tip from Angela - Dealing with Lack of Progr 00:03:08 Duration

Section 13 : Clima - Powering Your Flutter App with Live Web Data

Lecture 1 Clima - A Modern Weather App 00:00:56 Duration
Lecture 2 Getting Location Data From Across Platforms 00:16:09 Duration
Lecture 3 [Dart] Futures, Async & Await 00:23:59 Duration
Lecture 4 Stateful Widget Lifecycle Methods 00:13:29 Duration
Lecture 5 [Dart] Exception Handling & Null Aware Operators 00:20:33 Duration
Lecture 6 AsyncAwait Challenge 00:05:27 Duration
Lecture 7 Application Programming Interfaces (APIs) Explained 00:09:00 Duration
Lecture 8 Networking in Flutter Apps with the HTTP Package 00:13:50 Duration
Lecture 9 JSON Parsing and Dynamic Types 00:16:20 Duration
Lecture 10 Getting Actual Weather Data from the OpenWeatherMap API 00:10:19 Duration
Lecture 11 Showing a Spinner While the User Waits 00:06:10 Duration
Lecture 12 Passing Data to a State Object 00:11:19 Duration
Lecture 13 Updating the Weather with the WeatherModel 00:08:41 Duration
Lecture 14 Refactoring the Location Methods 00:15:14 Duration
Lecture 15 Creating and Styling a TextField Widget for Text Entry 00:10:07 Duration
Lecture 16 Passing Data Backwards Through the Navigation Stack 00:13:32 Duration
Lecture 17 Tip from Angela - Mixing Knowledge 00:02:21 Duration

Section 14 : Boss Level Challenge 3 - Bitcoin Ticker

Lecture 1 Bitcoin Ticker - A Simple Cryptocurrency Price Tracker 00:02:39 Duration
Lecture 2 The Material DropdownButton Widget 00:08:22 Duration
Lecture 3 [Dart] Loops 00:24:16 Duration
Lecture 4 Building Widgets with Loops Solution 00:07:00 Duration
Lecture 5 Introducing Cupertino Widgets 00:10:30 Duration
Lecture 6 Building Platform Specific UI (iOS & Android) 00:09:42 Duration
Lecture 7 Introduction to Boss Level Challenge 3 00:05:15 Duration
Lecture 8 Tip from Angela - Dealing with Frustration 00:02:31 Duration

Section 15 : Flash Chat - Flutter x Firebase Cloud Firestore

Lecture 1 Flash Chat - A Lightning Fast Messaging App 00:01:29 Duration
Lecture 2 Named Routes Challenge 00:08:19 Duration
Lecture 3 [Dart] Static Modifier 00:13:03 Duration
Lecture 4 Flutter Hero Animations 00:08:46 Duration
Lecture 5 Custom Flutter Animations with the Animation Contr 00:28:55 Duration
Lecture 6 [Dart] Mixins 00:10:49 Duration
Lecture 7 Prepackaged Flutter Animations 00:04:33 Duration
Lecture 8 Code Refactoring Challenge 00:16:36 Duration
Lecture 9 Creating a New Firebase Project 00:02:46 Duration
Lecture 10 Android Firebase Project Setup 00:06:27 Duration
Lecture 11 iOS Firebase Project Setup 00:05:36 Duration
Lecture 12 Firebase Flutter Packages Setup (iOS & Android) 00:07:33 Duration
Lecture 13 Registering Users with Firebase using FirebaseAuth 00:15:57 Duration
Lecture 14 Authenticating Users with FirebaseAuth 00:05:44 Duration
Lecture 15 Showing a Spinner while the User Waits 00:05:25 Duration
Lecture 16 Saving Data into Cloud Firestore 00:08:13 Duration
Lecture 17 Listening for Data from Firebase using Streams 00:13:13 Duration
Lecture 18 [Dart] Streams 00:07:25 Duration
Lecture 19 Turning Streams into Widgets Using the StreamBuilder 00:16:57 Duration
Lecture 20 The Flutter ListView 00:16:39 Duration
Lecture 21 A Different UI for Different Senders 00:16:54 Duration
Lecture 22 Cloud Firestore Authorisation and Security Rules 00:03:36 Duration
Lecture 23 Tip from Angela - Sleep is My Secret Weapon 00:03:49 Duration

Section 16 : Flutter State Management

Lecture 1 Todoey - Your very own To-Do List App
Lecture 2 Designing the To-Do List App 00:24:40 Duration
Lecture 3 The ListView Challenge 00:09:54 Duration
Lecture 4 The BottomSheet Widget 00:19:42 Duration
Lecture 5 What is State and How do we Manage it 00:21:02 Duration
Lecture 6 How do Callbacks work in Dart 00:06:34 Duration
Lecture 7 The ListView Builder 00:20:14 Duration
Lecture 8 Lifting State Up Challenge 00:15:35 Duration
Lecture 9 Flutter App Architecture Patterns 00:10:59 Duration
Lecture 10 Introducing the Provider Package 00:26:50 Duration
Lecture 11 Using a Provider and a ChangeNotifier to Manage State 00:20:35 Duration
Lecture 12 Adding New To-Do List Tasks 00:14:33 Duration
Lecture 13 Checking off To-Do List Tasks 00:06:45 Duration
Lecture 14 Deleting Tasks using the Provider Design Pattern 00:05:46 Duration
Lecture 15 Tip from Angela - How to Solidify Your Knowledge 00:02:56 Duration

Section 17 : Next Steps

Lecture 1 Tip from Angela - Review your goals! 00:02:20 Duration