لمن هذه الدورة؟
هذه الدورة مثالية لـ:
✅ الطلاب الذين تعلموا أساسيات البرمجة في لغات أخرى (C, C++, C#, Python, Java) ويريدون الانتقال إلى تطوير الويب.
✅ المطورين المبتدئين الذين لديهم أساسيات في المنطق البرمجي ويرغبون في إضافة JavaScript لمهاراتهم.
✅ الهواة أو المتحمسين للتكنولوجيا الذين يريدون بناء مواقع وتطبيقات تفاعلية.
✅ أي شخص يخطط لاحقًا لتعلم أُطر عمل حديثة مثل React أو Vue أو Node.js ويحتاج إلى أساس متين في JavaScript أولاً.
⚠️ تنبيه هام قبل الالتحاق بالدورة ⚠️
هذه الدورة ليست للمبتدئين تمامًا في البرمجة.
📌 يجب أن تمتلك معرفة مسبقة بأساسيات البرمجة .
نحن لن نضيّع وقت الدورة في إعادة التأسيس أو شرح مفاهيم البرمجة العامة، بل سننطلق مباشرة إلى JavaScript (ES6+) ومميزاتها وكيفية استخدامها لبناء مواقع وتطبيقات تفاعلية.
إذا لم يكن لديك أساس برمجي مسبق، فهذه الدورة ليست مناسبة لك. يُفضل أن تبدأ أولاً بخارطة الطريق للاساس العام في البرمجة في المنصة ، ثم تعود إلى هنا لتتعلم JavaScript بثقة وفاعلية.
سيتم تنزيل الدروس تدريجيا بشكل شبه يومي بعد تاريخ
15 - 9 - 2025
محتوى الكورس
- 📥 Download Code From Here
- 🗝️Introduction: Ways to Run and Test Your JavaScript Code
- 1️⃣ 🖥️ Run and Test Your Code - Option 1: Open Directly
- ❓ Quiz 1: 🖥️ Run and Test Your Code - Option 1: Open Directly
- 2️⃣⚡Run and Test Your Code - Option 2: Use Live Server
- ❓Quiz 2: Run and Test Your Code – Option 2 (Live Server ⚡)
- 3️⃣ 🖧 Option 3: Running JavaScript in the Console (VS Code) using NodeJS Without Browser. (13:00)
- ❓Quiz 3: Run and Test Your Code – Option 3 (Node.js in Console 🖧)
- 📖 What is JavaScript? (9:47)
- ❓Quiz 1
- 📖 Why Do We Need JavaScript? (9:06)
- ❓Quiz 2
- 📖 Where JavaScript is Used Today (and What Depends on JS)? (11:14)
- ❓Quiz 3
- 📖 History and Versions of JavaScript (5:54)
- ❓Quiz 4
- 📖 Where JavaScript Runs?
- ❓Quiz 5
- 📖 JavaScript Engines (3:00)
- ❓Quiz 6
- 📖 Is JavaScript Compiled or Interpreted Language? (8:14)
- ❓Quiz 7
- 📖 How JavaScript Works? (29:14)
- ❓Quiz 8
- 📖 Memory Management in JavaScript (26:52)
- ❓Quiz 9
- 📖 Pros and Cons of JavaScript (17:16)
- ❓Quiz 10
- 📖 ⚠️ JavaScript Weaknesses & Why You Should Not Start Learning Programming with It? (Self-Read)
- 📖 🚦 Limitations of Node.js (self-Read)
- 📖 Which is better for a backend C# or Node.js? (Self-Read)
- 📖 Window (The Global Container) (11:42)
- 📖 alert() — Displaying Messages to Users 💬 (7:33)
- 📖 confirm() — Getting User Confirmation ✅❌ (7:18)
- 📖 prompt() — Asking for User Input 💬 (14:59)
- 📖 window.open() — Opening New Windows or Tabs 🪟 + window.close (24:38)
- 📖 🪟 Controlling the Browser Window (focus(), blur(), moveTo(), and resizeTo()) (10:33)
- 📖 Understanding Browser Window Dimensions & Position (innerWidth, innerHeight, outerWidth, outerHeight, screenX, screenY) (13:20)
- 📖 🗄️ IndexedDB In Javascript (17:37)
- ❓Quiz
- 📖 🗄️IndexedDB CRUD Operations & Database Setup in JavaScript (35:17)
- ❓Quiz 2
- 📖 🗝️IndexedDB — Creating Indexes & Searching Data (30:23)
- ❓Quiz 3
- 📖 🧭 IndexedDB Cursor-Based Searching (Advanced Searching) (27:46)
- ❓ Quiz 4
- 📖 🔁 How does the cursor loop? (Self Read)
- ❓ Quiz 5
- 📖 Libraries for IndexedDB (Conceptual & Practical Overview)
- 📖 Primitive Data Types (30:19)
- ❓Quiz - Primitive Data Types
- 🧐 Activity - Primitive Types
- 💡 Activity – Solution
- 📖 Reference Types (10:24)
- ❓Quiz - Reference Types
- 📖 typeof, instanceof, equality rules (Self Read)
- ❓Quiz - typeof, instanceof, equality rules
- 📖 Type Conversion in JavaScript (Implicit & Explicit) (Self Read)
- ❓Quiz - Type Conversion
- 🧐 Activity - Type Conversion
- 💡 Activity – Solution
- 📖 Arithmetic & Assignment Operators
- 🧐 Activity — Arithmetic & Assignment Operators Practice
- 💡 Activity - Solutions
- 📖 Comparison Operators & Equality in JavaScript
- 🧐 Activity — Comparison & Equality Practice
- 💡 Activity - Solutions
- 📖 Logical Operators & Short-Circuiting in JavaScript
- 🧐 Activity — Logical Operators & Short-Circuiting
- 💡 Activity - Solutions
- JavaScript Short-Circuiting Playground
- 📖 JavaScript String Operators & Template Literals
- 🧐 Activity: Practice String Operators & Template Literals
- 💡 Activity - Solutions
- 📖 for Loop
- 🧐 Activity - for Loop
- 💡 Activity Solutions
- 📖 for in, for of Loops
- 🧐 Activity — for in , for of
- 💡 Activity Solutions
- 📖 🏷️ Labeled Loops
- 📖 while & do…while Loops
- 🧐 Activity - while, do while loops
- 💡 Activity - Solutions
- 📖 Ternary Operator (condition ? valueIfTrue : valueIfFalse)
- 🧐 Activity - Ternary Operator
- 💡 Activity - Solutions
- 📖 Function Declarations vs Expressions
- 🧐 Activity - Function Declaration vs Expressions
- 💡 Activity - Solutions
- 📖 🏹 Arrow Functions in JavaScript (=>)
- 🧐 Activity — Arrow Functions
- 💡 Activity - Solutions
- 📖 Parameters, Arguments & Default Params
- 🧐 Activity — Parameters, Arguments & Default Parameters
- 💡 Activity - Solutions
- 📖 Return, Scope, and Hoisting in Functions (JavaScript Deep Dive)
- 🧐 Activity - Return, Scope, and Hoisting in Functions
- 💡 Activity - Solutions
- 📖 Closures, Callbacks & First-Class Functions
- 🧐 Activity - Closures, Callbacks & First-Class Functions
- 💡 Activity - Solutions
- 📖 IIFE (Immediately Invoked Function Expressions)
- 🧐 Activity – Write & Run IIFEs
- 💡 Activity - Solutions
- 📖 Array Basics, Indexing & Mutating Methods
- 🧐 Activity - Array Basics, Indexing & Mutating Methods
- 💡 Activity - Solutions
- 📖 Slice, Splice & Advanced Array Operations
- 🧐 Activity - Slice, Splice & Advanced Array Operations
- 💡 Activity - Solutions
- 📖 Array Searching & Filtering (find, filter, map, reduce)
- 🧐 Activity - Array Searching & Filtering
- 💡 Activity - Solutions
- 📖 Sorting, Iterating & Higher-Order Array Methods (sort, forEach, some, every)
- 🧐 Activity - Sorting & Higher-Order Methods
- 💡 Activity - Solutions
- 📖 Destructuring & Spread (Arrays & Objects)
- 🧐 Activity - Destructuring & Spread
- 💡 Activity - Solutions
- 📖 Why We Need Maps & Sets in JavaScript
- 📖 Map Basics in JavaScript
- 🧐 Activity – Map Basics
- 💡 Activity Solutions
- 📖 Map Methods & Iteration
- 🧐 Activity – Map Methods & Iteration
- 💡 Activity - Solutions
- 📖 Set Basics in JavaScript
- 🧐 Activity – Set Basics
- 💡 Activity - Solutions
- 📖 Set Methods & Use Cases
- 🧐 Activity – Set Methods & Use Cases
- 💡 Activity - Solutions
- 📖 WeakMap & WeakSet (Concept + Syntax)
- 🧐 Activity - WeakMap & WeakSet
- 💡 Activity - Solutions
- 📖 Introduction to the Math Object (JavaScript)
- 📖 Rounding & Absolute Values
- 🧐 Activity - Rounding & Absolute Values
- 💡 Activity - Solutions
- 📖 Power, Roots & Exponents
- 🧐 Activity - Power, Roots & Exponents
- 💡 Activity - Solutions
- 📖 Min, Max & Comparisons
- 🧐 Activity - Min, Max & Comparisons
- 💡 Activity - Solutions
- 📖 Random Numbers in JavaScript
- 🧐 Activity - Random Numbers
- 💡 Activity - Solutions
- 📖 Trigonometry & Mathematical Constants (Overview)
- 🧐 Activity - Trigonometry & Constants
- 💡 Activity - Solutions
- 📖 Introduction to the Date Object
- 📖 Date Creation Methods
- 🧐 Activity - Date Creation Methods
- 💡 Activity - Solutions
- 📖 Getting Date Values
- 🧐 Activity - Getting Date Values
- 💡 Activity - Solutions
- 📖 Setting Date Values
- 🧐 Activity - Setting Date Values
- 💡 Activity - Solutions
- 📖 Timestamps & Date Comparisons
- 🧐 Activity - Timestamps & Comparisons
- 💡 Activity - Solutions
- 📖 Comparing & Sorting Dates
- 🧐 Activity - Comparing Dates
- 💡 Activity - Solutions
- 📖 Adding & Subtracting Time
- 🧐 Activity - Adding & Subtracting Time
- 💡 Activity - Solutions
- 📖 Date Difference (DateDiff)
- 🧐 Activity - Date Difference (DateDiff)
- 💡 Activity - Solutions
- 📖 Start & End of Time Periods
- 🧐 Activity - Start & End of Time Periods
- 💡 Activity - Solutions
- 📖 Date Validation & Edge Cases
- 🧐 Activity — Date Validation & Edge Cases
- 💡 Activity - Solutions
- 📖 Formatting Dates (Basic Syntax)
- 🧐 Activity - Formatting Dates
- 💡 Activity - Solutions
- 📖 Business Date Calculations
- 🧐 Activity - Business Date Calculations
- 💡 Activity - Solutions
- 📖 Native Date vs Libraries (Conceptual Overview)
- 📖 What is JSON & Why It Exists
- 🧐 Activity - JSON
- 💡 Activity - Solutions
- 📖 JSON Syntax Rules
- 🧐 Activity - JSON Rules
- 💡 Activity - Solutions
- 📖 JSON.stringify()
- 🧐 Activity - JSON.stringify()
- 💡 Activity - Solutions
- 📖 JSON.parse()
- 🧐 Activity - JSON.parse()
- 💡 Activity - Solutions
- 📖 JSON in Real Applications, Limitations & Best Practices
- 🧐 Activity - JSON Best Practices
- 💡 Activity - Solutions
- 📖 Understanding Errors, Error Types & try/catch
- 🧐 Activity - Understanding Errors in Javascript
- 💡 Activity - Solutions
- 📖 The Error Object in Depth
- 📖 Throwing Errors Intentionally
- 🧐 Activity - Throwing Errors Intentionally
- 💡 Activity - Solutions
- 📖 Custom Error Classes
- 🧐 Activity - Custom Error Classes
- 💡 Activity - Solutions
- 📖 Error Handling in Functions - Defensive Function Design
- 🧐 Activity - Error Handling in Functions
- 💡 Activity - Solutions
- 📖 Error Handling with Async Code (Promises & async/await)
- 📖 Validations vs Errors
- 🧐 Activity - Validations vs Errors
- 💡 Activity - Solutions
- 📖 Global Error Handling
- 🧐 Activity - Global Error Handling
- 💡 Activity - Solutions
- 📖🧪 Debugging & Error Diagnosis (How to Find and Understand Bugs)
- 📖 Best Practices & Anti-Patterns in JavaScript Error Handling
- 📖 🌍 Real-World Error Handling Scenarios
- 📖🧠 Error Handling Mental Model (How Professionals Think About Errors)
- 📖 OOP in JavaScript vs OOP in C# — A Clear Comparison
- 📖 Why Classes Exist in JavaScript
- 🧐 Activity- Why Classes Exist
- 💡 Activity - Solutions
- 📖 Class Declaration Syntax in JavaScript
- 🧐 Activity - Class Declaration Syntax
- 💡 Activity - Solutions
- 📖 Constructors
- 🧐 Activity - Constructors
- 💡 Activity - Solutions
- 📖 Instance Properties & Methods
- 🧐 Activity -Instance Properties & Methods
- 💡 Activity - Solutions
- 📖 Public Fields & Class Properties
- 🧐 Activity - Public Fields & Class Properties
- 💡 Activity - Solutions
- 📖 Getters & Setters in JavaScript
- 🧐 Activity - Getters & Setters
- 💡 Activity - Solutions
- 📖 Static Properties & Methods
- 🧐 Activity - Static Properties & Methods
- 💡 Activity - Solutions
- 📖 Inheritance with extends
- 🧐 Activity - Inheritance with extends
- 💡 Activity - Solutions
- 📖 The super Keyword
- 🧐 Activity - super Keyword
- 💡 Activity - Solutions
- 📖 Method Overriding
- 🧐 Activity - Method Overriding
- 💡 Activity - Solutions
- 📖 Private Fields & Methods (Modern JavaScript)
- 🧐 Activity - Private Fields & Methods
- 💡 Activity - Solutions
- 📖 Class vs Prototype (Conceptual Understanding)
- 🧐 Activity - Class vs Prototype
- 💡 Activity - Solutions
- 📖 Classes in Real Applications
- 📖 Common Class Pitfalls, Best Practices & the Classes Mental Model
- 📖 Why JavaScript Modules Exist
- 🧐 Activity - Why Modules Exist
- 💡 Activity - Solution
- 📖 Module Basics
- 🧐 Activity - Modules Basics
- 💡 Activity - Solution
- 📖 Exporting from Modules
- 🧐 Activity – Exporting from JavaScript Modules
- 💡 Activity – Solution
- 📖 Importing Modules
- 🧐 Activity – Importing JavaScript Modules
- 💡 Activity – Solution
- 📖 Module Loading & Resolution
- 🧐 Activity – Module Loading & Resolution
- 💡 Activity – Solution
- 📖 Module Design Best Practices
- 🧐 Activity – Module Design Best Practices
- 💡 Activity – Solution
- 📖 Modules Mental Model
- 🧐 Activity – Modules Mental Model
- 💡 Activity – Solution
- 📖 Why Asynchronous Code Exists and What is Promise?
- 🧐 Activity – Why Asynchronous Code Exists
- 💡 Activity – Solution
- 📖 Promise Basics
- 🧐 Activity – Promise Basics
- 💡 Activity – Solution
- 📖 Consuming Promises
- 🧐 Activity – Consuming Promises
- 💡 Activity – Solution
- Full working example for Promise
- 📖 Promise Error Handling
- 🧐 Activity – Promise Error Handling
- 💡 Activity – Solution
- Full Working Example for Promise Error Handling
- 📖 Promise Combinators
- 🧐 Activity – Promise Combinators
- 💡 Activity – Solution
- 📖 Promises Mental Model
- 🧐 Activity – Promises Mental Model
- 💡 Activity – Solution
- 📖 From Promises to async/await
- 🧐 Activity – From Promises to async/await
- 💡 Activity – Solution
- 📖 async Functions
- 🧐 Activity – async Functions
- 💡 Activity – Solution
- 📖 await Keyword
- 🧐 Activity – await Keyword
- 💡 Activity – Solution
- 📖 Error Handling with async/await
- 🧐 Activity – Error Handling with async/await
- 💡 Activity – Solution
- 📖 Common async/await Pitfalls
- 🧐 Activity – Common async/await Pitfalls
- 💡 Activity – Solution
- 📖 async/await Mental Model
- 🧐 Activity – async/await Mental Model
- 💡 Activity – Solution
- 📖 Introduction to Web APIs
- 🧐 Activity – Introduction to Web APIs
- 💡 Activity – Solution
- 📖 HTTP Fundamentals for JavaScript Developers
- 🧐 Activity – HTTP Fundamentals for JavaScript Developers
- 💡 Activity – Solution
- 📖 Fetch API Basics
- 🧐 Activity – Fetch API Basics
- 💡 Activity – Solution
- 📖 Handling Fetch Responses
- 🧐 Activity – Handling Fetch Responses
- 💡 Activity – Solution
- 📖 Error Handling with Fetch
- 🧐 Activity – Error Handling with Fetch
- 💡 Activity – Solution
- 📖 Sending Data to APIs
- 🧐 Activity – Sending Data to APIs
- 💡 Activity – Solution
- 📖 Fetch Options & Configuration
- 🧐 Activity – Fetch Options & Configuration
- 💡 Activity – Solution
- 📖 Fetch with async/await
- 🧐 Activity – Fetch with async/await
- 💡 Activity – Solution
- 📖 Working with Real APIs
- 🧐 Activity – Working with Real APIs
- 💡 Activity – Solution
- 📖 Fetch & CORS (Conceptual Understanding)
- 🧐 Activity – Fetch & CORS
- 💡 Activity – Solution
- 📖 AbortController & Request Cancellation
- 🧐 Activity – AbortController & Request Cancellation
- 💡 Activity – Solution
- 📖 Common Fetch Pitfalls
- 🧐 Activity – Common Fetch Pitfalls
- 💡 Activity – Solution
- 📖 Fetch Best Practices
- 🧐 Activity – Fetch Best Practices
- 💡 Activity – Solution
- 📖 Fetch Mental Model
- 🧐 Activity – Fetch Mental Model
- 💡 Activity – Solution
- 🧩 Async Data Loader with async / await
- 🧩 Parallel Fetch Dashboard with Promise.all()
- 🧩 Timeout Fetch with Promise.race()
- 🧩 First Success Wins with Promise.any()
- 🧩 Complete Result Reporting with Promise.allSettled()
- 🧩 Lesson: Live Search UI with Async Requests, Debounce, and Cancellation
- 🧩 Students CRUD Demo with fetch + async/await
- 🧩 Weather App with Public API (Open-Meteo) using fetch + async/await
- 🧩 Currency Converter with Rate History using fetch + async/await (Frankfurter API)