Dart Programming

Dart is a very powerful language. The future of iOS & Android is Dart. Powers the ultimate mobile framework Flutter.

Last updated 2022-01-10 | 4.4

- Dart programming
- Android programming
- iOS programming

What you'll learn

Dart programming
Android programming
iOS programming
Mobile development
Application programming
Mobile design
Semantics of general programming
The format of coding applications
All the functions of Dart programming
Application programming
Mobile programming

* Requirements

* Passion for learning Dart
* Basic computer knowledge and skills
* Passion for programming
* Basic knowledge of computer science is optional
* Passion for mobile development

Description

  • Dart programming
  • Android programming
  • iOS programming
  • Mobile development
  • Application programming
  • Mobile design
  • Semantics of general programming
  • The format of coding applications
  • All the functions of Dart programming
  • Application programming
  • Mobile programming

Course content

9 sections • 79 lectures

Introduction Preview 02:15

Introduction to this Dart programming course

Running Code Preview 02:09

You will learn about running code on any computer.

Printing To The Console Preview 01:28

This lesson will teach you how to print information to the console.

Print Variables Inside Of A String Preview 03:21

Learn how to combine variables inside of strings.

Comments Preview 04:44

In computer programming, a comment is a programmer-readable explanation or annotation in the source code of a computer program. They are added with the purpose of making the source code easier for humans to understand, and are generally ignored by compilers and interpreters.

Variables Preview 04:23

In programming, a variable is a value that can change, depending on conditions or on information passed to the program. Typically, a program consists of instruction s that tell the computer what to do and data that the program uses when it is running.

Console Input Preview 02:01

A console refers to an interface through which users communicate with system programs of the operating system or with other console applications. The interactions consist of input operations from standard input device like keyboard and the text display on standard output (usually on computer screen).

Static vs Dynamic Variables Preview 04:39

In computer programming, a static variable is a variable that has been allocated "statically", meaning that its lifetime (or "extent") is the entire run of the program.

Final & Constant Variables Preview 04:06

"final" means single-assignment: a final variable or field must have an initializer. Once assigned a value, a final variable's value cannot be changed. final modifies variables.

"const" has a meaning that's a bit more complex and subtle in Dart. const modifies values. You can use it when creating collections, like const [1, 2, 3], and when constructing objects (instead of new) like const Point(2, 3). Here, const means that the object's entire deep state can be determined entirely at compile time and that the object will be frozen and completely immutable.

Data Types Preview 05:33

In computer science and computer programming, a data type or simply type is an attribute of data which tells the compiler or interpreter how the programmer intends to use the data. Most programming languages support common data types of real, integer and boolean.

Numbers Preview 04:42

You will learn about representing numerical values.

Boolean Preview 01:55

In computer science, the Boolean data type is a data type that has one of two possible values (usually denoted true and false), intended to represent the two truth values of logic and Boolean algebra. It is named after George Boole, who first defined an algebraic system of logic in the mid 19th century.

Strings Preview 10:49

In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable. The latter may allow its elements to be mutated and the length changed, or it may be fixed (after creation).

Arithmetic Operators Preview 08:56

Arithmetic operators take numerical values (either literals or variables) as their operands and return a single numerical value. The standard arithmetic operatorsare addition (+), subtraction (-), multiplication (*), and division (/).

Relational Operators Preview 04:27

In computer science, a relational operator is a programming language construct or operator that tests or defines some kind of relation between two entities. These include numerical equality (e.g., 5 = 5) and inequalities (e.g., 4 ≥ 3). ... Relational operators can be seen as special cases of logical predicates.

Type Test Operators Preview 01:25

Learn how to check the data type of a variable.

Assignment Operators Preview 05:50

The basic assignment operator is equal ( = ), which assigns the value of its right operand to its left operand. That is, x = y assigns the value of y to x . The other assignment operators are usually shorthand for standard operations, as shown in the following definitions and examples.

Logical Operators Preview 04:02

Logical operators. There are three logical operators in JavaScript: (OR), && (AND), ! (NOT). Although they are called “logical”, they can be applied to values of any type, not only boolean.

Bitwise Operators Preview 08:09

Bitwise operators are operators (just like +, *, &&, etc.) that operate on ints and uints at the binary level. This means they look directly at the binary digits or bits of an integer. This all sounds scary, but in truth bitwise operators are quite easy to use and also quite useful!

Quiz 1 - Basics

Time for you to test your Dart Basics skills

Conditional Expressions Preview 03:16

In computer science, conditional statements, conditional expressions and conditional constructs are features of a programming language, which perform different computations or actions depending on whether a programmer-specified boolean condition evaluates to true or false.

Conditional if Statement Preview 04:16

The if/else statement executes a block of code if a specified condition is true. If the condition is false, another block of code can be executed. The if/else statement is a part of JavaScript's "Conditional" Statements, which are used to perform different actions based on different conditions.

Switch Statement Preview 05:09

In computer programming languages, a switch statement is a type of selection control mechanism used to allow the value of a variable or expression to change the control flow of program execution via search and map.

for Loop Preview 02:50

In computer science, a for-loop (or simply for loop) is a control flow statement for specifying iteration, which allows code to be executed repeatedly. 

for in Loop Preview 01:53

The for/in statement loops through the properties of an object.

while Loop Preview 03:04

In most computer programming languages, a while loop is a control flow statement that allows code to be executed repeatedly based on a given Boolean condition. The while loop can be thought of as a repeating if statement.

do while Loop Preview 04:10

In most computer programming languages, a do while loop is a control flow statement that executes a block of code at least once, and then repeatedly executes the block, or not, depending on a given boolean condition at the end of the block.

Break Statement Preview 03:41

The break statement in C programming has the following two usages − When a break statement is encountered inside a loop, the loop is immediately terminated and the program control resumes at the next statement following the loop. It can be used to terminate a case in the switch statement.

Continue Statement Preview 01:53

The continue statement is used inside loops. When a continue statement is encountered inside a loop, control jumps to the beginning of the loop for next iteration, skipping the execution of statements inside the body of loop for the current iteration.

Labels Preview 03:05

Label (computer science) A label in a programming language is a sequence of characters that identifies a location within source code. In most languages labels take the form of an identifier, often followed by a punctuation character (e.g., a colon).

Quiz 2 - Control Flow

Time for you to test your control flow knowledge in Dart

Basic Function Preview 03:34

In programming, a named section of a program that performs a specific task. In this sense, a function is a type of procedure or routine. Some programming languages make a distinction between a function, which returns a value, and a procedure, which performs some operation but does not return a value.

Function Parameters Preview 02:55

The term parameter (sometimes called formal parameter) is often used to refer to the variable as found in the function definition, while argument (sometimes called actual parameter) refers to the actual input supplied at function call.

Function Optional Positional Parameter Preview 02:11

Optional positional parameters. Square brackets [] can be used to specify optional positional parameters. If optional positional parameters are defined, function calls may specify a variable number of arguments.

Function Optional Named Parameter Preview 02:44

If the parameters are wrapped in curly braces, it means they are still optional, but they are now named parameters.

Function Optional Parameters with Default Values Preview 01:11

It's often useful to set a different default value. This is where default parameters can help. In the past, the general strategy for setting defaults was to test parameter values in the function body and assign a value if they are undefined.

Function Return Values Preview 03:46

return is a value that a function returns to the calling script or function when it completes its task. A return value can be any one of the four variable types: handle, integer, object, or string.

Function Recursion Preview 05:32

recursive function is a function which either calls itself or is in a potential cycle of function calls. As the definition specifies, there are two types of recursive functions. Consider a function which calls itself: we call this type of recursion immediate recursion.

Lambda Function Preview 02:05

In computer programming, an anonymous function(function literal, lambda abstraction, or lambda expression) is a function definition that is not bound to an identifier.

Quiz 3 - Functions

Time to test your skills on functions in Dart

Try Catch Block Preview 04:24

"Try" and "catch" are keywords that represent the handling of exceptions due to data or coding errors during program execution. A try block is the block of code in which exceptions occur. A catch block catches and handles try block exceptions.

Try On Block Preview 02:45

The try block contains set of statements where an exception can occur. A try block is always followed by a catch block, which handles the exception that occurs in associated try block. A try block must be followed by catch blocks or finally block or both.

Try On Catch Block Preview 04:33

The try block contains set of statements where an exception can occur. A try block is always followed by a catch block, which handles the exception that occurs in associated try block. A try block must be followed by catch blocks or finally block or both.

Finally Block Preview 01:29

Java finally block is a block that is used to execute important code such as closing connection, stream etc. Java finally block is always executed whether exception is handled or not. Java finally block follows try or catch block.

Manually Throw An Exception Preview 02:47

You will learn how to throw an exception manually.

Custom Exception Preview 02:36

If you are creating your own Exception that is known as custom exception or user-defined exceptionCustom exceptions are used to customise the exception according to user need. By the help of custom exception, you can have your own exception and message.

Quiz 4 - Error/Exception Handling

Time to test your error/exception handling knowledge

Lists Preview 04:17

list is a number of items in an ordered or unordered structure. A list can be used for a numerous number of things like storing items or deleting and adding items. But for the programmer to perform the different tasks for the list, the program must have enough memory to keep up with changes done to the list.

Maps Preview 05:20

In many programming languages, map is the name of a higher-order function that applies a given function to each element of a functor, e.g. a list, returning a list of results in the same order.

Enumeration Preview 03:28

In computer programming, an enumerated type is a data type consisting of a set of named values called elements, members, enumeral, or enumerators of the type.

Set Preview 03:57

A collection that contains no duplicate elements. More formally, sets contain no pair of elements e1 and e2 such that e1.equals(e2), and at most one null element. As implied by its name, this interface models the mathematical set abstraction.

HashMap Preview 02:33

HashMap is a Map based collection class that is used for storing Key & value pairs, it is denoted asHashMap<Key, Value> or HashMap<K, V>. This class makes no guarantees as to the order of the map. It is similar to the Hashtable class except that it is unsynchronised and permits nulls(null values and null key).

HashSet Preview 01:56

HashSet is an unordered collection. It does not maintain the order in which the elements are inserted.HashSet internally uses a HashMap to store its elements. HashSet is not thread-safe. If multiple threads try to modify a HashSet at the same time, then the final outcome is not-deterministic.

Queue Preview 03:20

In programming, a queue is a data structure in which elements are removed in the same order they were entered. This is often referred to as FIFO (first in, first out). In contrast, a stack is a data structure in which elements are removed in the reverse order from which they were entered.

Generics Preview 02:08

Generic programming is a style of computer programming in which algorithms are written in terms of types to-be-specified-later that are then instantiated when needed for specific types provided as parameters.

Iterating Over Collections Preview 02:45

Iteration, in the context of computer programming, is a process wherein a set of instructions or structures are repeated in a sequence a specified number of times or until a condition is met. When the first set of instructions is executed again, it is called an iteration.

Quiz 5 - Collections

Time to test your knowledge on collections.

Basic Example Preview 05:34

Class (computer programming) In object-oriented programming, a class is an extensible program-code-template for creating objects, providing initial values for state (member variables) and implementations of behaviour (member functions or methods).

Constructor Preview 03:27

In class-based object-oriented programming, a constructor (abbreviation: ctor) is a special type of subroutine called to create an object. It prepares the new object for use, often accepting arguments that the constructor uses to set required member variables.

Named Constructors Preview 02:15

With the Named Constructor Idiom, you declare all the class's constructors in the private or protected sections, and you provide public static methods that return an object. These static methods are the so-called "Named Constructors."

Custom Getters & Setters Preview 03:00

Getters and setters encapsulate the fields of a class by making them accessible only through its public methods and keep the values themselves private. That is considered a good OO principle.

Inheritance Preview 04:39

In object-oriented programming, inheritance enables new objects to take on the properties of existing objects. A class that is used as the basis for inheritance is called a superclass or base class. A class that inherits from a superclass is called a subclass or derived class.

Method Overriding Preview 02:07

Method overriding, in object-oriented programming, is a language feature that allows a subclass or child class to provide a specific implementation of a method that is already provided by one of its superclasses or parent classes.

Abstract Classes and Implements Keyword Preview 02:30

An abstract class is a class that is declared abstract —it may or may not include abstract methods. Abstract classes cannot be instantiated, but they can be subclassed.

Multiple Class Inheritance Preview 03:25

Single − Every class can at the most extend from one parent class. Multiple − A class can inherit from multiple classes. Dart doesn't support multiple inheritance. Multi-level − A class can inherit from another child class.

this Keyword Preview 03:06

this keyword in Dart can be used inside the Method or constructor of Class. It(this) works as a reference to the current Object, whose Method or constructor is being invoked. This keyword can be used to refer to any member of the current object from within an instance Method or a constructor.

Static Keyword Preview 03:31

The static keyword in Java means that the variable or function is shared between all instances of that class as it belongs to the type, not the actual objects themselves. So if you have a variable: private static int i = 0; and you increment it ( i++ ) in one instance, the change will be reflected in all instances.

Super Keyword Preview 01:31

super is a keyword. It is used inside a sub-class method definition to call a method defined in the super class. Private methods of the super-class cannot be called. Only public and protected methods can be called by the super keyword. It is also used by class constructors to invoke constructors of its parent class.

Cascade Operator Preview 02:35

The idea of a cascaded method invocation originates in Smalltalk, and has been proposed for Dart. The motivation is to make it easier to write more fluent interfaces.

Quiz 6 - Classes & Objects

Time to test your knowledge in classes objects

Runes Preview 03:20

Runes are the UTF-32 code points of a string.

Unicode defines a unique numeric value for each letter, digit, and symbol used in all of the world’s writing systems. Because a Dart string is a sequence of UTF-16 code units, expressing 32-bit Unicode values within a string requires special syntax.

Debugging Preview 04:02

Debugging is the process of finding and resolving defects or problems within a computer program that prevent correct operation of computer software or a system.

typedef Preview 04:54

It is used to create an alias name for another data type. As such, it is often used to simplify the syntax of declaring complex data structures consisting of struct and union types, but is just as common in providing specific descriptive type names for integer data types of varying lengths.

Libraries Preview 04:05

Dart programs rely on libraries. Several common libraries are provided for you. For example, dart:core provides a small but critical set of built-in functionality, such as numbers, collections, and strings. Another essential library is dart:async, which supports asynchronous programming with classes like Future and Stream. You can get additional libraries by importing them from packages.

Concurrency Preview 04:01

Simply described, it's when you are doing more than one thing at the same time. Not to be confused with parallelism, concurrency is when multiple sequences of operations are run in overlapping periods of time. In the realm of programming, concurrency is a pretty complex subject.

Dart Tutorials Preview 00:00

Dart Tutorials

DEV Preview 00:00

DEV

Dart Academy Preview 00:00

Dart Academy

Simple Programmer Preview 00:00

Simple Programmer