Available in
days
days
after you enroll
Available in
days
days
after you enroll
- Section Intro (0:55)
- The 'main' method (1:21)
- Hello world (1:55)
- Variable declaration and initialization (3:24)
- Basic types (2:47)
- Exercise: printing variables (1:13)
- String Concatenation & Interpolation (5:06)
- Exercise: String interpolation (1:46)
- String Escaping (4:00)
- Multi-line strings (1:34)
- Basic String operations: uppercase and lowercase (3:33)
- Initialization vs Assignment (1:55)
- Exercise: Lowercase and uppercase strings (0:58)
- Finding and replacing strings (4:24)
- Conversations between types (4:29)
- Arithmetic operators (3:31)
- Exercise: temperature conversion (2:25)
- Increment & decrement operators (3:16)
- Logical & Relational operators (3:34)
- Ternary conditional operator (2:24)
- Hex format, bitwise & shifting operators (4:17)
- Comments (4:12)
- Expressions & statements (1:55)
- Let's Have Some Fun (+ Free Resources)
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
- Section Intro (1:48)
- Installing the Dart SDK (6:54)
- Installing and configuring VS Code (4:06)
- Project Brief: Rock, Paper & Scissors (2:10)
- Creating a command line app (1:59)
- Pseudocode for the game logic (1:50)
- Getting use input with stdin from dart:io (4:03)
- Implementing the game loop (2:43)
- Implementing the game logic (8:55)
- Implementing a new life system
Available in
days
days
after you enroll
- Section Intro (0:48)
- Lists (4:01)
- Exercise: Sum of the items in a list (1:02)
- List methods (3:36)
- Type annotations with lists (1:53)
- Using 'var', 'final', 'const' with lists (2:26)
- Sets (3:47)
- Exercise: Sets (2:09)
- Maps (4:56)
- The 'as' operator (1:32)
- The 'null' value (1:24)
- Iterating on maps (2:56)
- Exercise: Pizza Ordering (2:26)
- Nested Collections (1:40)
- Exercise: Restaurant ratings (1:48)
- Collection-if (2:48)
- Collection-for (1:33)
- Spreads (3:04)
- Exercise: Shopping List (2:13)
- Copying collections (4:54)
- Exercise: Imposter Syndrome (2:55)
Available in
days
days
after you enroll
Available in
days
days
after you enroll
- Introduction to Null Safety (2:27)
- Nullable and non-nullable variables (2:56)
- Flow Analysis: Promotion and Definite Assignment (3:28)
- The assertion operator (2:08)
- The if-null operator (2:28)
- Null Safety with type inference (1:25)
- Null Safety with collections (2:23)
- The conditional access operator & the billion dollar mistake (3:17)
Available in
days
days
after you enroll
- Section Intro (0:58)
- Intro to functions (1:30)
- Function arguments (4:30)
- Return values (1:59)
- Exercise: Sum of a list of numbers (2:25)
- Named and positional arguments (2:35)
- Required and default values (5:02)
- Default positional arguments (2:16)
- Exercise: Pizza ordering with functions (2:36)
- Fat arrow notations (1:29)
- The global and local scope (2:22)
- Inner Functions (2:00)
- Global mutable state and functions with side effects (4:05)
Available in
days
days
after you enroll
- Section Intro (0:43)
- Anonymous functions (2:51)
- Functions as first class objects (2:45)
- Function types (3:37)
- Closures (2:10)
- The 'forEach' method (3:44)
- The 'map' method (1:36)
- 'Iterable' and 'toList()' (2:37)
- Code reuse with anonymous functions and generics (7:49)
- The 'where' and 'firstWhere' methods (3:10)
- Exercise: Implement the 'where' function (2:43)
- Ecercise: Implement the 'firstWhere' function (3:35)
- The 'reduce' method (2:46)
- Combining functional operators (6:01)
Available in
days
days
after you enroll
- Section Intro (0:42)
- Introduction to classes (3:52)
- Instance methods (3:32)
- Class constructors and the 'this' keyword (1:59)
- Initializer lists and the shorthand syntax (4:46)
- Classes with immutable members (1:51)
- Exercise: Creating a 'Person' class (2:58)
- Type safety with classes (2:01)
- 'const' constructors (2:35)
- Named constructors (3:49)
- Named constructors: temperature example (2:51)
- Getters and setters (3:05)
- Exercise: Restaurant ratings with classes (2:58)
- Static methods and variables (3:14)
- Private variables and methods (5:28)
- Wrap up (1:13)
Available in
days
days
after you enroll
- Section Intro (1:24)
- VS Code Dart Setup with Null Safety (7:30)
- Introduction to inheritance/subclassing (4:17)
- The 'super' constructor (3:43)
- Overriding methods (3:07)
- Abstract classes (6:30)
- Exercise: Area and Perimeter (2:36)
- Interfaces and the difference between 'implements' and 'extends' (5:31)
- The base 'Object' class (2:00)
- The 'toString()' method (2:51)
- The equality operator and the 'covariant' keyword (4:22)
- Exercise: Implement the + and * operators (1:49)
- Overriding 'hashCode' and the Equatable package (5:43)
- Using classes with generics (3:16)
- Composition vs inheritance: Flutter widget hierarchy example (3:49)
- Factory constructors and reading JSON data (10:21)
- Exercise: JSON Serialization (3:03)
- Copying objects with 'copyWiith' (3:57)
- The cascade operator (4:15)
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
- Section Intro (1:44)
- Futures, 'then', 'catchError', 'whenComplete' (5:04)
- 'async' and 'await' (4:12)
- 'Future.value' and 'Future.error' (2:36)
- Exercise: Countdown with Futures (3:10)
- Streams (4:44)
- Stream generators: 'async*' and 'yield' (3:51)
- Exercise: fizz-buzz with streams (2:15)
- Stream constructors (2:06)
- Stream methods (3:40)
- Single/multiple subscription streams (1:45)
Available in
days
days
after you enroll
- Weather App Overview (1:49)
- REST API Basics (2:35)
- Creating the command-line app (1:32)
- Creating a Weather API Client with the Dart http package (5:48)
- Reading the response status code and data (3:50)
- Completing the Weather API Client (4:14)
- Parsing JSON Data (6:37)
- Error Handling and Wrap up (7:30)
Available in
days
days
after you enroll