Skip to content

kareem-ghazi/dart-study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dart Study Guide 🎯

Welcome to this structured Dart programming study repository. This project is designed to help you master Dart through a combination of official documentation, simplified bilingual notes (English/Arabic), and practical coding assignments.

📂 Repository Structure

Each topic is organized into its own numbered folder (e.g., 0. Introduction to Dart, 1. Variables). Inside each folder, you will find:

  • RAW.md: The raw content sourced from official Dart documentation.
  • PAGE.md: A clean, formatted version of the documentation for easy reading.
  • NOTES.md: 📝 Key Study Material. Summarized bilingual notes (English & Arabic), explaining concepts simply with analogies and key takeaways.
  • ASSIGNMENTS.md: 💻 Practice. Three levels of coding tasks (Basic, Intermediate, Advanced) with full solutions included.

📚 Topics Covered

  1. 0. Introduction to Dart
    • Basic syntax, main() function, and printing.
  2. 1. Variables
    • var, final, const, and default values.
  3. 2. Operators
    • Arithmetic, equality, logical, and type test operators.
  4. 3. Comments
    • Single-line, multi-line, and documentation comments.
  5. 4. Built-in types
    • Numbers, Strings, Booleans, Runes, and Symbols.
  6. 5. Records
    • Grouping multiple values, positional/named fields, and destructuring.
  7. 6. Collections
    • Lists, Sets, Maps, and control flow operators (if, for, spread ...).
  8. 7. Generics
    • Writing reusable type-safe code (<T>), generic collections, and methods.
  9. 8. Typedef
    • Creating type aliases for function signatures and complex types.

A comprehensive Personal Finance Tracker project that combines everything learned from Variables to Typedefs.

  • Concepts: Records, Collections, Generics, and strict Typing.

  1. 9. The Dart type system
    • Soundness, type inference, type safety, and the covariant keyword.
  2. 10. Patterns
    • Matching and destructuring data structures.
  3. 11. Pattern types
    • Logical, Relational, Collection, and Object patterns.
  4. 12. Loops
    • for, while, do-while loops, and break/continue.
  5. 13. Branches
    • if, if-case, switch statements, and switch expressions.
  6. 14. Error handling
    • Exceptions, try-catch, finally, and assert.
  7. 15. Functions
    • Parameters, anonymous functions, closures, and generators.
  8. 16. Metadata
    • Annotations (@override, @Deprecated) and custom metadata.
  9. 17. Libraries & imports
    • Importing packages, prefixes, privacy, and deferred loading.

A CLI E-Commerce System integrating Functions, Error Handling, Libraries, and Patterns.

  • Concepts: Modular Architecture, Custom Exceptions, Records for status, and Pattern Matching.

  1. 18. Classes
    • Object blueprints, members, instance variables, and static members.
  2. 19. Constructors
    • Generative, named, const, factory constructors, and initializer lists.
  3. 20. Methods
    • Instance methods, operators, getters, setters, and abstract methods.
  4. 21. Extend a class
    • Inheritance (extends), method overriding, and super usage.
  5. 22. Mixins
    • Reusing code across hierarchies using mixin, with, and on.
  6. 23. Enums
    • Enumerated types, enhanced enums with fields/methods, and switch usage.
  7. 24. Dot shorthands
    • Concise syntax for enums, constructors, and static members.
  8. 25. Extension methods
    • Adding functionality to existing libraries without inheritance.
  9. 26. Extension types
    • Zero-cost compile-time wrappers for type safety and interop.
  10. 27. Callable objects
    • Making class instances executable like functions using call().

A Smart Home Automation System integrating OOP, Mixins, Extension Types, and Callable Objects.

  • Concepts: Class Inheritance, Capability Mixins, Safe Extension Types, and Automation Logic.

  1. 28. Class modifiers
    • abstract, base, interface, final, sealed, and mixin modifiers.
  2. 29. Concurrency in Dart
    • The Event Loop, async architecture, and isolate overview.
  3. 30. Asynchronous programming
    • Future, async/await, streams, and error handling.
  4. 31. Isolates
    • Multi-threading, Isolate.run, Isolate.spawn, and ports.

A Real-Time Stock Trading Simulation Engine that mimics a financial exchange.

  • Objective: Build a high-performance system with real-time price updates, trade execution, and background market analysis.
  • Concepts: Integrates EVERYTHING (except Introduction, Type System, Pattern Types).
    • Core: Variables, Built-in Types, Records, Collections, Generics.
    • OOP: Classes, Inheritance, Mixins, Enums, Extension Types, Class Modifiers.
    • Advanced: Typedefs, Callable Objects, Extension Methods, Patterns (Destructuring).
    • Concurrency: Streams (Real-time prices), Async/Await (Network simulation), Isolates (Heavy analysis).

🚀 How to Use

  1. Read the NOTES.md in a topic folder to grasp the concepts.
  2. Refer to PAGE.md if you need deep technical details.
  3. Solve the challenges in ASSIGNMENTS.md to reinforce your learning.
  4. Check your answers against the provided solutions.

Happy Coding! 💙

About

A structured Dart study guide & roadmap with notes, coding tasks, and milestone projects.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published