Fundamentals of Dart
tracks, flutter ·Topics to be covered
- Dart Introduction
- What can you do with Dart ?
- Dart Installation
- Dart Pad
- Language Fundamentals
- Project 1
- Project 2
- OOPs in Dart
- Advanced Dart Concepts
- Project 3
- Must Read Articles / Blogs
Dart Introduction
An open-source, general-purpose programming language developed by Google. designed for building fast and expressive applications across various platforms.
Key Features
- Object-Oriented
- Statically Typed (Variable types are known at compile-time)
- Multi-platform Support: Build web, mobile (Flutter), desktop applications with one language.
- Package Manager: pub.dev
- Null Safety
Dart Installation
Refer to the link below to setup Dart SDK. - Get the Dart SDK
DartPad
Online tool to write and run Dart code. - DartPad
✪ Language Fundamentals
- Variables Official Docs
- Data Types Official Docs
- Operators (Arithmetic, Comparison, Logical Operators) → link
- Control Flow
- Conditional Statements (if-else, switch)
- Loops (for, for each, while, do-while) → link
- ✪ Null Safety → link
- Functions & Parameters
-
- Collections
- Lists, Maps, Sets
- Collections
Project 1
🤹♀️ Task Tracker Console App→ GitHub Link
Create a simple console-based to-do list app using only dart. User should be able to add tasks, view all tasks, Delete Tasks
- Focus Areas:
- Variables and Data Types
- Functions
- Lists
- Control Flow (if-else)
- Loops (for/while)
Timelines - Complete this project within 4 days from when you start this course
Project 2
🔠 Word Frequency Counter → GitHub Link
Read a text file and count the occurrences of each word.
- Focus Areas:
- File I/O
- Maps
- Sorting
- String Manipulations
- Regex
Timelines - Complete this project within 2 days from when you start this assignment
Object Oriented Programming
- ✪ OOP (Object Oriented Programming) Concepts
- Classes & Objects
- Class Modifiers (
abstract
,sealed
,base
,final
,interface
) link - Enums
- Constructors (
Named
,Default
,Redirecting
,Factory
)- Initializer List
- usage of
super
,this
inside constructors
- Abstract Classes
- Toggle
- Abstract methods (unimplemented - only method signature no body) vs concrete methods (implemented)
- Why abstract can’t be instantiated
- Concrete subclass behaviour when abstract class is extended
- Can one
abstract
extend anotherabstract
class ?
- Toggle
- Inheritance (
extends
,implements
) & Mixins - Polymorphism
- ✪ Error/Exception Handling
- Try, catch, finally blocks.
- Throwing and handling exceptions
Advanced Dart Concepts
- ✪ Concurrency
- Future and async/await → Asynchronous Programming
- Streams
- Isolates
- ✪ Unit Testing in Dart
- Generics
✪ Project 3
⏳ Country Information App - API → GitHub Link
Free API ☞ API
- Focus Areas:
- Asynchronous Programming
- OOP
- Dealing with API calls (HTTP)
- Exception Handling
- User Input Handling
Timelines - Complete this project within 3 days from when you start this assignment
Must Read Articles/Blogs
Immutable Data Patterns in Dart and Flutter