Programming in Dart: Fundamentals
Aug 27 2019 · Video Course (1 hr, 46 mins) · Beginner
Learn the fundamental building blocks of Google’s open source programming language, Dart, the language for Flutter development. Go from variables and data types to control flow, functions, collections, and defining your own Dart classes.
Version
- Dart 2.4, Flutter 1.7, DartPad 2.4


Data Types & Operations
See an overview of topics covered in the course, set expectations for the course, and learn about why Google chose Dart as the language for Flutter.
Get introduced to the DartPad editor, use the main function and comments, and see how to run code in DartPad.
See how to create Dart variables, review the basic data types, learn about type inference, and learn about immutables and constants.
Practice working with variables, immutables, constants, and type inference through a hands-on challenge.
Strings & Runes
4:00See how to use the Dart string type and string expressions and how to use Unicode values and emoji in Dart using runes.
Practice working with strings, string expressions, Unicode values, and runes through a hands-on challenge.
Operators
2:38Learn about Dart arithmetic, comparison, and logical operators and see how to combine comparison and logical operators.
Nullability in Dart
2:03All types in Dart are objects, including primitive types. See how Dart handles null values and work with some null aware operators.
Conclusion
1:38Review all that you've learned about Dart variables, data types, and operations, and get ready for the next part of the course.
Control Flow
Introduction
0:50See an overview of the topics discussed in this part of the course on Control Flow, including conditionals, loops, and enumerations.
Conditionals
2:42Learn about how to execute code conditionally using the if statement and if/else if/else statements.
While Loops
2:12See how to repeatedly execute a block of code with while and do while loops, and learn how to exit a loop early using the break statement.
Practice working with while loops, do while loops, and the break statement through a hands-on challenge.
For Loops
2:29See how to loop over a block of code a set number of times using for loops, and see how to jump early to the next iteration using the continue statement.
Challenge: For Loops
1:07Practice working with for loops and then jumping to the next iteration early with continue through a hands-on challenge.
Enums & Switch
3:19Get an introduction to creating custom types using enumerations, and see another way to control program flow using the switch statement.
Practice creating custom types with enumerations and also using the switch statement through a hands-on challenge.
Conclusion
1:13Review all that you've learned about conditionals, loops, and enumerations, and get ready for the next part of the course.
Functions
Introduction
1:05See an overview of the topics discussed in this part of the course on Functions, including function basics, anonymous functions, and closures.
Function Basics
5:43See how to reuse code with functions, learn about function parameters and arguments, and see how to return values from functions.
Practice working with functions, parameters and arguments, and returning values from functions through a hands-on challenge.
Learn about functions without names called anonymous functions, and see how closures are blocks of code that capture surrounding values.
Practice working with anonymous functions and capturing values using closures through a hands-on challenge.
Arrow Functions
1:21See a way to make your function code more concise and readable using the arrow syntax for one-line functions.
Practice working with one-line functions and the arrow function syntax through a hands-on challenge.
Conclusion
1:00Review all that you've learned about functions, anonymous functions, and closures, and get ready for the next part of the course.
Collections
Introduction
0:48See an overview of the topics discussed in this part of the course on collections, including lists, sets, and maps.
Lists
4:30Learn about one of the more common collection types, lists, and see the distinction between fixed-size and growable lists.
Operating on a List
4:02See how to operate on lists by transforming them element-by-element, filtering them, and calculating a single value from them.
Challenge: Lists
2:08Practice working with lists, iterating over lists, and operating on lists using the where function through a hands-on challenge.
Sets
2:14See how to store a collection of unique values using sets, compare sets and lists, and see how to work with set operations like intersection and union.
Maps
3:22Learn about storing key-value pairs in Dart maps, see how to add and remove pairs, and see how to iterate over the keys in a map.
Practice working with sets and maps, including creating and adding elements, through a hands-on challenge.
Conclusion
1:06Review all that you've learned about Dart lists, sets, and maps, and get ready for the next part of the course.
Classes and OOP
Introduction
1:21See an overview of the topics discussed in this part of the course on classes and object-oriented programming.
Dart Classes
2:45Learn how to create your own custom Dart types using classes, add methods to classes, and see how to customize how instances of classes are printed.
Constructors
3:24See how to create instances of classes using special methods called constructors, and see the short-form of Dart constructors.
Dart Objects
2:05See how to create Dart objects and learn about reference types. Learn how to access object properties using getters and setters.
Practice defining your own types using Dart classes and creating objects through a hands-on challenge.
Static Members
2:19See how to add properties and methods to Dart classes that are shared amongst all instances of the class.
Extending Classes
5:45See how to define a hierarchy of classes that share the same base functionality using inheritance, and learn about the as and is keywords.
See alternative ways to define shared behavior among types using abstract classes, which cannot be instantiated, and interfaces.
Conclusion
2:17Review all that you've learned in the Programming in Dart: Fundamentals course, and discuss where you should go from here.
Who is this for?
This course is for beginning and experienced developers alike.
- Experienced developers will be able to quickly pick up Dart syntax and idioms.
- Beginning developers will learn about programming basics, from variables to functions and classes.
After watching this course, both beginning and experienced developers will be ready to dive deep into Flutter development.
Covered concepts
- Variables and data types
- Operators
- Nullability in Dart
- Control flow using conditionals loops
- Functions and arrow syntax
- Anonymous functions and closures
- Lists, sets, and maps
- Classes
- Constructors
- Static class members
- Class inheritances
- Abstract classes and interfaces
Comments