
Explore how Dart, a general purpose, object oriented language by Google, uses ahead of time and just in time compilation to write once, read anywhere, for web and mobile development.
download and install IntelliJ IDEA on Windows, choose the community edition, ensure 2.7 GB space, customize install options, and set up the SDK for running code in a new project.
Learn how to download and install the Dart SDK, set up the path environment variable, install the Dart plugin in IntelliJ, create a Hello world Dart project, and run it.
Explore the structure of the first Dart program, the main function, and console output with print. Learn Dart syntax, identifier rules, and comment types (single-line, multi-line, documentation).
Learn how variables work in Dart, including var keyword usage, data types, and memory references, plus naming rules, null defaults, and type safety with practical examples.
Explore var versus dynamic in Dart, showing how var infers types at runtime and restricts later changes, while dynamic allows changing types and defers type until runtime.
Explore the final and constant keywords in Dart, showing how final values can be set later while constants must be declared at initialization, with global or static scope.
Explore Dart data types, including numbers (integer and double), strings, boolean, maps, and runes and symbols; learn concatenation, interpolation, and using Unicode emojis.
Learn how enums work in Dart, declaring them with the enum keyword and using fixed values. Access values and indices, iterate with for each, and print statuses in an example.
Explore the concept of Dart keywords, including contextual keywords, built-in identifiers, and asynchronous related terms, and learn why they cannot be used as class, variable, or function names.
Explain what an operator is and how it carries out operations on its operands, with example 5 plus 4, covering binary and unary operators for assignment, arithmetic, logical, and comparison.
Discover the arithmetic operator family in Dart, exploring addition, subtraction, multiplication, division, modulus, and unary operators with prefix and postfix forms and practical examples.
Learn how the assignment operator assigns values to variables and combines with arithmetic and bitwise operations, with practical examples of plus equal, minus equal, multiply and assign, and more.
Explore how Dart relational operators compare values. Return booleans for greater than, less than, equal to, and not equal to.
Learn how Dart relational operators compare two operands and produce boolean results. Examine operators such as >, <, >=, <=, ==, and != with examples.
Learn how type test operators such as is and is not produce booleans, and how logical operators (and, or, not) and bitwise operators evaluate conditions in Dart.
Explore the conditional operator in Dart, covering the standard ternary form and null-aware usage, with practical examples showing how to select expressions based on conditions and null checks.
Master Dart's cascade notation operator to perform multiple methods on the same object in a single line with a double dot, shown via a calculator example.
Explore how Dart control statements govern program flow through decision making, loops, and jump statements, covering if, else, else if, switch, while, for, do while, break, and continue.
Explore iteration with looping statements, focusing on the for loop and its initialization, condition, and increment, plus brief notes on for in, while, and do while.
Learn how the for in loop in dart iterates over a collection one element at a time, binding each value to a variable and printing each item in sequence.
Explore how a while loop in Dart executes a block until its condition is false, with an example that prints and increments values from 1 to 9.
Master the while loop in Dart, which executes a code block while a condition is true, with a practical example that prints values from 1 to 9.
Master break and continue statements in Dart, jump statements that control loop execution, exit loops, and steer flow within while and for iterations.
Learn to build a simple calculator in Dart by reading two numbers and an operator, performing add, subtract, multiply, or divide with a switch statement, and printing the result.
Define what a Dart list is, compare it to an array, and show how the core library's list class creates and manipulates fixed-length and growable lists using index and elements.
Learn how fixed length lists in Dart use list dot constructor or list dot filled to set a static size, initial value, and non-growable behavior with element updates.
Learn how growable (global) lists in Dart change length at runtime, declare and initialize them, and append elements with the add method.
Explore Dart list methods, including add and insert, check length and emptiness, access first and last elements, reverse a list, remove elements, clear the list, and iterate with for each.
Discover how to use a Dart map to store data as key-value pairs, access values by keys, and declare maps with constructors or literals.
Define a function as a set of code that performs a specific task, breaking large code into reusable modules to improve readability, with parameters and return values for flexibility.
Learn the basic syntax of Dart functions, including name, parameter list, and return type, with a real-life sum example. See how functions improve readability, reusability, and debugging in code.
This lecture introduces object oriented programming and its focus on objects as real life entities, covering core concepts such as class, object, inheritance, encapsulation, polymorphism, abstract classes, and interface.
Explore how a class serves as a blueprint for objects, defining properties and behavior; learn to create objects, use constructors, and access class members.
Explore how constructors in Dart initialize objects, including the generative, default, parameterized, and name constructors, all sharing the class name and no explicit return type.
Learn how inheritance creates a new class from an existing one by using extend to inherit properties from a parent class, and explore single, multi-level, and hierarchical inheritance in Dart.
Explain single level inheritance by showing how a parrot class extends a bard class, gaining access to bard methods like play while adding its own speak method.
Demonstrate multi-level inheritance in Dart by showing how a subclass inherits from A, V, and C through a chain, gaining do something methods across the extends relationships.
Explore hierarchical inheritance in Dart, where a base class person is extended by Gems and Peter, sharing display name and display age while adding unique display branch.
Explore polymorphism by applying the same method across classes, showcasing runtime polymorphism through method overriding and noting compile time polymorphism via overloading is not supported, with Human and Man example.
Explore encapsulation in object oriented programming with Dart, showing how private properties use underscore and public getter and setter methods to protect data, control access, and enable data hiding.
Explore abstraction in Dart by defining abstract classes with abstract methods, distinguish them from concrete methods, and learn that abstract classes cannot be instantiated but can be extended.
Explore real life abstraction by using an abstract class Employee with an abstract show employee information method, then override it in Teacher and Principal classes.
Discover how Dart null safety prevents runtime null errors by defaulting variables to non-nullable with compile-time checks. Embrace incremental migration and nullable types to adopt null safety in your project.
Learn how to handle runtime errors in Dart using try-catch, finally, and custom exceptions, with examples like division by zero.
Dart is a programming language developed by Google in 2011. It is an object-oriented language that is designed to be easy to learn and use for building web, mobile, and desktop applications. It is a statically typed language, meaning that the type of a variable is determined at compile time, and it supports both just-in-time (JIT) and ahead-of-time (AOT) compilation.
Dart has a syntax that is similar to other popular programming languages like Java, C++, and JavaScript. It supports features like classes, interfaces, mixins, async/await, and a variety of built-in types like strings, lists, and maps. Dart also includes a package manager called Pub, which makes it easy to use and share third-party libraries.
One of the unique features of Dart is its support for both client-side and server-side development. Dart can be compiled to JavaScript for use in web browsers, or it can be run natively on the server with the Dart VM. This makes it possible to use the same language and codebase for both the front-end and back-end of a web application.
Dart is also the primary language used for developing applications for Google's mobile operating system, Android. With the introduction of Flutter, a mobile app development framework built with Dart, it has become even easier to create high-performance, cross-platform mobile apps for both Android and iOS using a single codebase.