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

Lecture 1 INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM
Lecture 2 Download the Course Syllabus
Lecture 3 About Certification
Lecture 4 Why Flutter 00:12:11 Duration
Lecture 5 The Anatomy of a Flutter App 00:05:16 Duration
Lecture 6 How to Get the Most Out of the Course 00:09:33 Duration
Lecture 7 About Proctor Testing

Section 2 : Setup and Installation

Lecture 1 Prerequisites for Flutter Development 00:06:11 Duration
Lecture 2 About Certification
Lecture 3 Windows Setup Step 1 - Install the Flutter SDK 00:07:11 Duration
Lecture 4 Windows Setup Step 2 - Install Android Studio 00:02:40 Duration
Lecture 5 Windows Setup Step 3 - Install the Android Emulator 00:05:44 Duration
Lecture 6 Windows Installation Troubleshooting
Lecture 7 A Quick Note About macOS Catalina
Lecture 8 Mac Setup Step 1 - Install the Flutter SDK 00:13:37 Duration
Lecture 9 Mac Setup Step 2 - Install Android Studio 00:04:10 Duration
Lecture 10 Mac Setup Step 3 - Install the Android Emulator
Lecture 11 Mac Setup Step 4 - Install Xcode and Command Line Tools 00:02:25 Duration
Lecture 12 Mac Setup Step 5 - Test the iOS Simulator 00:03:17 Duration
Lecture 13 Mac Installation Troubleshooting
Lecture 14 [Optional] Configure Android Studio for Flutter Development 00:09:39 Duration
Lecture 15 [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 A quick note about Hot Reload
Lecture 3 Scaffolding a Flutter App 00:22:12 Duration
Lecture 4 Working with Assets in Flutter & the Pubspec file 00:09:24 Duration
Lecture 5 How to Add App Icons to the iOS and Android Apps 00:09:10 Duration
Lecture 6 How to Ace this Course 00:01:25 Duration

Section 4 : Running Your App on a Physical Device

Lecture 1 Deploying Your Flutter Apps to a Physical Device
Lecture 2 Deploying Flutter Apps to an Android Phone 00:05:44 Duration
Lecture 3 Deploying Flutter Apps to iPhonesiPads 00:16:04 Duration
Lecture 4 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 The I Am Poor Challenge
Lecture 3 Show Off Your Work!
Lecture 4 Tip from Angela - Dealing with Distractions 00:02:29 Duration
Lecture 5 INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM

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 Flutter Layouts Challenge
Lecture 6 Tapping into Widget Properties 00:09:14 Duration
Lecture 7 Incorporating Custom Fonts in Your Flutter App 00:10:59 Duration
Lecture 8 Adding Material Icons with the Icon Widget 00:12:35 Duration
Lecture 9 Flutter Card & ListTile Widgets 00:13:19 Duration
Lecture 10 Download the Completed Project
Lecture 11 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 Download the Completed Project
Lecture 15 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 Step 1 - Set Up The Project
Lecture 3 Step 2 - Create a Stateless Widget
Lecture 4 Step 3 - Create a Stateful Widget
Lecture 5 Step 4 - Make it Interactive
Lecture 6 Step 5 - Randomise it
Lecture 7 Step 6 - Update the State
Lecture 8 Customise It!
Lecture 9 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 Customise It!
Lecture 12 Download the Completed Project
Lecture 13 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 More Dart Programming Challenges
Lecture 8 Creating a Question Class 00:12:40 Duration
Lecture 9 [Dart] Classes and Objects 00:15:25 Duration
Lecture 10 Abstraction in Action 00:16:26 Duration
Lecture 11 Encapsulation in Action 00:14:51 Duration
Lecture 12 Inheritance in Action 00:07:38 Duration
Lecture 13 Polymorphism in Action 00:08:31 Duration
Lecture 14 Adding Back the Score Keeper 00:06:51 Duration
Lecture 15 Code Challenge 00:03:14 Duration
Lecture 16 [Dart] Class Constructors 00:14:02 Duration
Lecture 17 Download the Completed Project
Lecture 18 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 Set Up the Project
Lecture 3 Familiarise Yourself with the Starting Project
Lecture 4 Step 1 - Adding a Image as a Background
Lecture 5 Solutions on GitHub
Lecture 6 Step 234 - Create a New Story Class
Lecture 7 Step 567 - Create the Story Brain
Lecture 8 Display the Story in the App
Lecture 9 Step 11121314 - Display the Choices in the App
Lecture 10 Update the Story Based on User Choice
Lecture 11 Step 21 - Use the Story Plan to Progress through the Story
Lecture 12 Step 222324 - Restart the Game When the User Reaches the End
Lecture 13 Step 25 - Renaming and Refactoring Using Android Studio
Lecture 14 Step 262728 - Hiding Buttons
Lecture 15 Download the Completed App!
Lecture 16 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 About Proctor Testing
Lecture 16 Adding the BMI Calculator Functionality 00:13:23 Duration
Lecture 17 Download the Completed Project
Lecture 18 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 Download the Completed Project
Lecture 18 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 Level 1 - Bronze Medal
Lecture 9 Level 2 - Silver Medal
Lecture 10 Level 3 - Gold Medal
Lecture 11 Check out the completed app!
Lecture 12 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 About Proctor Testing
Lecture 5 Flutter Hero Animations 00:08:46 Duration
Lecture 6 Custom Flutter Animations with the Animation Contr 00:28:55 Duration
Lecture 7 [Dart] Mixins 00:10:49 Duration
Lecture 8 Prepackaged Flutter Animations 00:04:33 Duration
Lecture 9 Code Refactoring Challenge 00:16:36 Duration
Lecture 10 Creating a New Firebase Project 00:02:46 Duration
Lecture 11 Potential Problems When Incorporating Firebase
Lecture 12 Android Firebase Project Setup 00:06:27 Duration
Lecture 13 iOS Firebase Project Setup 00:05:36 Duration
Lecture 14 Firebase Flutter Packages Setup (iOS & Android) 00:07:33 Duration
Lecture 15 Registering Users with Firebase using FirebaseAuth 00:15:57 Duration
Lecture 16 Authenticating Users with FirebaseAuth 00:05:44 Duration
Lecture 17 Showing a Spinner while the User Waits 00:05:25 Duration
Lecture 18 Saving Data into Cloud Firestore 00:08:13 Duration
Lecture 19 Listening for Data from Firebase using Streams 00:13:13 Duration
Lecture 20 [Dart] Streams 00:07:25 Duration
Lecture 21 Turning Streams into Widgets Using the StreamBuilder 00:16:57 Duration
Lecture 22 The Flutter ListView 00:16:39 Duration
Lecture 23 A Different UI for Different Senders 00:16:54 Duration
Lecture 24 Cloud Firestore Authorisation and Security Rules 00:03:36 Duration
Lecture 25 Download the Completed Project
Lecture 26 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 Positioning the BottomSheet above the Keyboard
Lecture 6 What is State and How do we Manage it 00:21:02 Duration
Lecture 7 How do Callbacks work in Dart 00:06:34 Duration
Lecture 8 The ListView Builder 00:20:14 Duration
Lecture 9 Lifting State Up Challenge 00:15:35 Duration
Lecture 10 Flutter App Architecture Patterns 00:10:59 Duration
Lecture 11 Introducing the Provider Package 00:26:50 Duration
Lecture 12 Using a Provider and a ChangeNotifier to Manage State 00:20:35 Duration
Lecture 13 Adding New To-Do List Tasks 00:14:33 Duration
Lecture 14 Checking off To-Do List Tasks 00:06:45 Duration
Lecture 15 Deleting Tasks using the Provider Design Pattern 00:05:46 Duration
Lecture 16 Download the Completed Project
Lecture 17 Tip from Angela - How to Solidify Your Knowledge 00:02:56 Duration

Section 17 : Next Steps

Lecture 1 INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM
Lecture 2 About Certification
Lecture 3 Publish Your Apps!
Lecture 4 Tip from Angela - Review your goals! 00:02:20 Duration