Programming in Dart: Fundamentals

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. By Joe Howard.

Leave a rating/review
Download materials
Save for later
Comments
Share

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

Part 1: Data Types & Operations

01
Toggle description

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.

Toggle description

Get introduced to the DartPad editor, use the main function and comments, and see how to run code in DartPad.

Toggle description

See how to create Dart variables, review the basic data types, learn about type inference, and learn about immutables and constants.

Toggle description

Practice working with variables, immutables, constants, and type inference through a hands-on challenge.

Toggle description

See how to use the Dart string type and string expressions and how to use Unicode values and emoji in Dart using runes.

Toggle description

Practice working with strings, string expressions, Unicode values, and runes through a hands-on challenge.

Operators 2:38
Toggle description

Learn about Dart arithmetic, comparison, and logical operators and see how to combine comparison and logical operators.

Toggle description

All types in Dart are objects, including primitive types. See how Dart handles null values and work with some null aware operators.

Conclusion 1:38
Toggle description

Review all that you've learned about Dart variables, data types, and operations, and get ready for the next part of the course.

Part 2: Control Flow

Toggle description

See an overview of the topics discussed in this part of the course on Control Flow, including conditionals, loops, and enumerations.

Toggle description

Learn about how to execute code conditionally using the if statement and if/else if/else statements.

Toggle description

See 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.

Toggle description

Practice working with while loops, do while loops, and the break statement through a hands-on challenge.

For Loops 2:29
Toggle description

See 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.

Toggle description

Practice working with for loops and then jumping to the next iteration early with continue through a hands-on challenge.

Toggle description

Get an introduction to creating custom types using enumerations, and see another way to control program flow using the switch statement.

Toggle description

Practice creating custom types with enumerations and also using the switch statement through a hands-on challenge.

Conclusion 1:13
Toggle description

Review all that you've learned about conditionals, loops, and enumerations, and get ready for the next part of the course.

Part 3: Functions

Toggle description

See an overview of the topics discussed in this part of the course on Functions, including function basics, anonymous functions, and closures.

Toggle description

See how to reuse code with functions, learn about function parameters and arguments, and see how to return values from functions.

Toggle description

Practice working with functions, parameters and arguments, and returning values from functions through a hands-on challenge.

Toggle description

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.

Toggle description

See a way to make your function code more concise and readable using the arrow syntax for one-line functions.

Toggle description

Practice working with one-line functions and the arrow function syntax through a hands-on challenge.

Conclusion 1:00
Toggle description

Review all that you've learned about functions, anonymous functions, and closures, and get ready for the next part of the course.

Part 4: Collections

Toggle description

See an overview of the topics discussed in this part of the course on collections, including lists, sets, and maps.

Lists 4:30
Toggle description

Learn about one of the more common collection types, lists, and see the distinction between fixed-size and growable lists.

Toggle description

See how to operate on lists by transforming them element-by-element, filtering them, and calculating a single value from them.

Toggle description

Practice working with lists, iterating over lists, and operating on lists using the where function through a hands-on challenge.

Sets 2:14
Toggle description

See 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:22
Toggle description

Learn 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.

Toggle description

Practice working with sets and maps, including creating and adding elements, through a hands-on challenge.

Conclusion 1:06
Toggle description

Review all that you've learned about Dart lists, sets, and maps, and get ready for the next part of the course.

Part 5: Classes and OOP

Toggle description

See an overview of the topics discussed in this part of the course on classes and object-oriented programming.

Toggle description

Learn 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.

Toggle description

See how to create instances of classes using special methods called constructors, and see the short-form of Dart constructors.

Toggle description

See how to create Dart objects and learn about reference types. Learn how to access object properties using getters and setters.

Toggle description

Practice defining your own types using Dart classes and creating objects through a hands-on challenge.

Toggle description

See how to add properties and methods to Dart classes that are shared amongst all instances of the class.

Toggle description

See how to define a hierarchy of classes that share the same base functionality using inheritance, and learn about the as and is keywords.

Toggle description

See alternative ways to define shared behavior among types using abstract classes, which cannot be instantiated, and interfaces.

Conclusion 2:17
Toggle description

Review all that you've learned in the Programming in Dart: Fundamentals course, and discuss where you should go from here.