[](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
[](https://discord.com/invite/ByRwuEEgH4)
اتبع الخطوات التالية للبدء باستخدام هذه الموارد:
1. **قم بعمل Fork للمستودع**: انقر على [](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
3. [**انضم إلى Discord الخاص بـ Azure AI Foundry وتواصل مع الخبراء والمطورين الآخرين**](https://discord.com/invite/ByRwuEEgH4)
# تطوير الويب للمبتدئين - منهج دراسي
تعلم أساسيات تطوير الويب من خلال دورة شاملة لمدة 12 أسبوعًا مقدمة من Microsoft Cloud Advocates. تتناول كل واحدة من الدروس الـ 24 مواضيع JavaScript وCSS وHTML من خلال مشاريع عملية مثل الحدائق المصغرة، إضافات المتصفح، وألعاب الفضاء. شارك في الاختبارات، المناقشات، والمهام العملية. عزز مهاراتك واحتفظ بمعرفتك من خلال منهجنا الفعّال القائم على المشاريع. ابدأ رحلتك في البرمجة اليوم!
تعلم أساسيات تطوير الويب من خلال دورة شاملة لمدة 12 أسبوعًا مقدمة من Microsoft Cloud Advocates. تحتوي كل واحدة من الدروس الـ 24 على مشاريع عملية مثل بناء التيراريوم، إضافات المتصفح، وألعاب الفضاء باستخدام JavaScript وCSS وHTML. استمتع بالاختبارات، النقاشات، والواجبات العملية. عزز مهاراتك واحتفظ بالمعرفة من خلال منهجنا القائم على المشاريع. ابدأ رحلتك البرمجية اليوم!
#### 🧑🎓 _هل أنت طالب؟_
قم بزيارة [**صفحة مركز الطلاب**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) حيث ستجد موارد للمبتدئين، حزم للطلاب وحتى طرق للحصول على قسيمة شهادة مجانية. هذه الصفحة تستحق الإشارة إليها ومراجعتها من وقت لآخر حيث نقوم بتحديث المحتوى شهريًا.
قم بزيارة [**صفحة مركز الطلاب**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) حيث ستجد موارد للمبتدئين، حزم للطلاب، وحتى طرق للحصول على قسيمة شهادة مجانية. هذه الصفحة تستحق الإشارة المرجعية والعودة إليها من وقت لآخر حيث يتم تحديث المحتوى شهريًا.
### 📣 إعلان - _منهج جديد_ حول الذكاء الاصطناعي التوليدي لـ JavaScript تم إطلاقه للتو
@ -40,56 +47,56 @@ CO_OP_TRANSLATOR_METADATA:
</div>
- دروس تغطي كل شيء من الأساسيات إلى RAG.
- تفاعل مع شخصيات تاريخية باستخدام الذكاء الاصطناعي التوليدي وتطبيقنا المرافق.
- قصة ممتعة وجذابة، ستسافر عبر الزمن!
- تفاعل مع شخصيات تاريخية باستخدام GenAI وتطبيقنا المرافق.
- سرد ممتع وجذاب، ستسافر عبر الزمن!
<div>
<imgsrc="./images/character.png"width="600px"/>
</div>
كل درس يتضمن مهمة لإكمالها، اختبار معرفة، وتحديًا لتوجيهك في تعلم مواضيع مثل:
- إنشاء التعليمات وتطويرها
- إنشاء تطبيقات النصوص والصور
تتضمن كل درس مهمة لإكمالها، اختبار معرفة، وتحديًا لتعلم مواضيع مثل:
> **المعلمون**، لقد قمنا [بتضمين بعض الاقتراحات](for-teachers.md) حول كيفية استخدام هذا المنهج الدراسي. نود سماع آرائكم [في منتدى المناقشة الخاص بنا](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
> **المعلمين**، لقد قمنا [بتضمين بعض الاقتراحات](for-teachers.md) حول كيفية استخدام هذا المنهج. نود سماع ملاحظاتكم [في منتدى النقاش الخاص بنا](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
**[المتعلمون](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**، لكل درس، ابدأ باختبار ما قبل المحاضرة ثم تابع قراءة المادة التعليمية، وأكمل الأنشطة المختلفة وتحقق من فهمك من خلال اختبار ما بعد المحاضرة.
**[المتعلمين](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**، لكل درس، ابدأ باختبار ما قبل المحاضرة، ثم تابع قراءة المادة التعليمية، وأكمل الأنشطة المختلفة، وتحقق من فهمك من خلال اختبار ما بعد المحاضرة.
لتحسين تجربة التعلم الخاصة بك، تواصل مع زملائك للعمل على المشاريع معًا! المناقشات مشجعة في [منتدى المناقشة الخاص بنا](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) حيث سيكون فريقنا من المشرفين متاحًا للإجابة على أسئلتكم.
لتحسين تجربتك التعليمية، تواصل مع زملائك للعمل على المشاريع معًا! يتم تشجيع النقاشات في [منتدى النقاش](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) حيث سيكون فريقنا من المشرفين متاحًا للإجابة على أسئلتك.
لتوسيع تعليمك، نوصي بشدة باستكشاف [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) للحصول على مواد دراسية إضافية.
### 📋 إعداد بيئتك
هذا المنهج الدراسي يحتوي على بيئة تطوير جاهزة! عند البدء، يمكنك اختيار تشغيل المنهج الدراسي في [Codespace](https://github.com/features/codespaces/) (_بيئة تعتمد على المتصفح، لا تحتاج إلى تثبيت_)، أو محليًا على جهاز الكمبيوتر الخاص بك باستخدام محرر نصوص مثل [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
هذا المنهج يحتوي على بيئة تطوير جاهزة للاستخدام! عند البدء، يمكنك اختيار تشغيل المنهج في [Codespace](https://github.com/features/codespaces/) (_بيئة مستندة إلى المتصفح، لا حاجة للتثبيت_)، أو محليًا على جهاز الكمبيوتر الخاص بك باستخدام محرر نصوص مثل [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
#### إنشاء مستودعك
للحفاظ على عملك بسهولة، يُوصى بإنشاء نسخة خاصة بك من هذا المستودع. يمكنك القيام بذلك بالنقر على زر **Use this template** في أعلى الصفحة. سيؤدي ذلك إلى إنشاء مستودع جديد في حساب GitHub الخاص بك يحتوي على نسخة من المنهج الدراسي.
#### إنشاء مستودعك الخاص
لحفظ عملك بسهولة، يُوصى بإنشاء نسخة خاصة بك من هذا المستودع. يمكنك القيام بذلك بالنقر على زر **Use this template** في أعلى الصفحة. سيؤدي ذلك إلى إنشاء مستودع جديد في حساب GitHub الخاص بك يحتوي على نسخة من المنهج.
اتبع هذه الخطوات:
1. **نسخ المستودع**: انقر على زر "Fork" في الزاوية العلوية اليمنى من هذه الصفحة.
#### تشغيل المنهج الدراسي محليًا على جهاز الكمبيوتر الخاص بك
#### تشغيل المنهج محليًا على جهاز الكمبيوتر الخاص بك
لتشغيل هذا المنهج الدراسي محليًا على جهاز الكمبيوتر الخاص بك، ستحتاج إلى محرر نصوص، متصفح، وأداة سطر أوامر. درسنا الأول، [مقدمة إلى لغات البرمجة وأدوات العمل](https://github.com/microsoft/Web-Dev-For-Beginners/tree/main/1-getting-started-lessons/1-intro-to-programming-languages)، سيشرح لك الخيارات المختلفة لكل من هذه الأدوات لتختار ما يناسبك.
لتشغيل هذا المنهج محليًا على جهاز الكمبيوتر الخاص بك، ستحتاج إلى محرر نصوص، متصفح، وأداة سطر أوامر. سيرشدك درسنا الأول، [مقدمة إلى لغات البرمجة وأدوات العمل](https://github.com/microsoft/Web-Dev-For-Beginners/tree/main/1-getting-started-lessons/1-intro-to-programming-languages)، إلى الخيارات المختلفة لكل من هذه الأدوات لتختار ما يناسبك.
توصيتنا هي استخدام [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) كمحرر نصوص، والذي يحتوي أيضًا على [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) مدمج. يمكنك تنزيل Visual Studio Code [هنا](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
توصيتنا هي استخدام [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) كمحرر، والذي يحتوي أيضًا على [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) مدمج. يمكنك تنزيل Visual Studio Code [من هنا](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. استنسخ مستودعك إلى جهاز الكمبيوتر الخاص بك. يمكنك القيام بذلك بالنقر على زر **Code** ونسخ الرابط:
<imgsrc="./images/createcodespace.png"alt="نسخ رابط المستودع الخاص بك" style="width:270px;"/>
<imgsrc="./images/createcodespace.png"alt="Copy your repository URL" style="width:270px;"/>
ثم افتح [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) داخل [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) وقم بتشغيل الأمر التالي، مع استبدال `<your-repository-url>` بالرابط الذي نسخته للتو:
@ -97,73 +104,73 @@ CO_OP_TRANSLATOR_METADATA:
git clone <your-repository-url>
```
2. افتح المجلد في Visual Studio Code. يمكنك القيام بذلك بالنقر على **File** > **Open Folder** واختيار المجلد الذي استنسخته للتو.
2. افتح المجلد في Visual Studio Code. يمكنك القيام بذلك بالنقر على **File** > **Open Folder** وتحديد المجلد الذي قمت باستنساخه للتو.
> الإضافات الموصى بها لـ Visual Studio Code:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - لمعاينة صفحات HTML داخل Visual Studio Code
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - لمساعدتك في كتابة الكود بسرعة
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - لمساعدتك على كتابة الكود بشكل أسرع
## 📂 كل درس يتضمن:
## 📂 يتضمن كل درس:
- رسم توضيحي اختياري
- فيديو إضافي اختياري
- رسم تخطيطي اختياري
- فيديو تكميلي اختياري
- اختبار تمهيدي قبل الدرس
- درس مكتوب
- بالنسبة للدروس القائمة على المشاريع، إرشادات خطوة بخطوة حول كيفية بناء المشروع
- اختبارات المعرفة
- تحدي
- قراءة إضافية
- مهمة
- اختبار بعد الدرس
- واجب
- [اختبار ما بعد الدرس](https://ff-quizzes.netlify.app/)
> **ملاحظة حول الاختبارات**: جميع الاختبارات موجودة في مجلد Quiz-app، 48 اختبارًا إجماليًا يحتوي كل منها على ثلاثة أسئلة. يتم ربطها من داخل الدروس ويمكن تشغيل تطبيق الاختبار محليًا أو نشره على Azure؛ اتبع التعليمات في مجلد `quiz-app`. يتم ترجمتها تدريجيًا.
> **ملاحظة حول الاختبارات**: جميع الاختبارات موجودة في مجلد Quiz-app، بإجمالي 48 اختبارًا يحتوي كل منها على ثلاثة أسئلة. وهي متاحة [هنا](https://ff-quizzes.netlify.app/) ويمكن تشغيل تطبيق الاختبارات محليًا أو نشره على Azure؛ اتبع التعليمات في مجلد `quiz-app`.
## 🗃️ الدروس
| | اسم المشروع | المفاهيم التي يتم تدريسها | أهداف التعلم | رابط الدرس | المؤلف |
| 01 | البدء | مقدمة إلى البرمجة وأدوات العمل | تعلم الأساسيات وراء معظم لغات البرمجة وعن البرامج التي تساعد المطورين المحترفين في أداء وظائفهم | [مقدمة إلى لغات البرمجة وأدوات العمل](/1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | البدء | أساسيات GitHub، بما في ذلك العمل مع فريق | كيفية استخدام GitHub في مشروعك، وكيفية التعاون مع الآخرين على قاعدة الكود | [مقدمة إلى GitHub](/1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | البدء | إمكانية الوصول | تعلم أساسيات إمكانية الوصول على الويب | [أساسيات إمكانية الوصول](/1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 01 | البداية | مقدمة إلى البرمجة وأدوات العمل | تعلم الأساسيات التي تقوم عليها معظم لغات البرمجة والبرامج التي تساعد المطورين المحترفين في أداء وظائفهم | [مقدمة إلى لغات البرمجة وأدوات العمل](/1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | البداية | أساسيات GitHub، بما في ذلك العمل مع فريق | كيفية استخدام GitHub في مشروعك، وكيفية التعاون مع الآخرين على قاعدة الكود | [مقدمة إلى GitHub](/1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | البداية | الوصولية | تعلم أساسيات الوصولية في الويب | [أساسيات الوصولية](/1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | أساسيات JS | أنواع البيانات في JavaScript | أساسيات أنواع البيانات في JavaScript | [أنواع البيانات](/2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | أساسيات JS | الوظائف والأساليب | تعلم كيفية استخدام الوظائف والأساليب لإدارة تدفق منطق التطبيق | [الوظائف والأساليب](/2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher |
| 06 | أساسيات JS | اتخاذ القرارات باستخدام JS | تعلم كيفية إنشاء شروط في الكود باستخدام طرق اتخاذ القرارات | [اتخاذ القرارات](/2-js-basics/3-making-decisions/README.md) | Jasmine |
| 05 | أساسيات JS | الدوال والطرق | تعلم كيفية استخدام الدوال والطرق لإدارة تدفق منطق التطبيق | [الدوال والطرق](/2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher |
| 06 | أساسيات JS | اتخاذ القرارات باستخدام JS | تعلم كيفية إنشاء شروط في الكود باستخدام طرق اتخاذ القرار | [اتخاذ القرارات](/2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | أساسيات JS | المصفوفات والحلقات | العمل مع البيانات باستخدام المصفوفات والحلقات في JavaScript | [المصفوفات والحلقات](/2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [الحديقة المصغرة](/3-terrarium/solution/README.md) | HTML في الممارسة | بناء HTML لإنشاء حديقة مصغرة على الإنترنت، مع التركيز على بناء التخطيط | [مقدمة إلى HTML](/3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [الحديقة المصغرة](/3-terrarium/solution/README.md) | CSS في الممارسة | بناء CSS لتنسيق الحديقة المصغرة على الإنترنت، مع التركيز على أساسيات CSS بما في ذلك جعل الصفحة متجاوبة | [مقدمة إلى CSS](/3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [الحديقة المصغرة](/3-terrarium/solution/README.md) | إغلاق JavaScript، التلاعب بـ DOM | بناء JavaScript لجعل الحديقة المصغرة تعمل كواجهة سحب/إفلات، مع التركيز على الإغلاق والتلاعب بـ DOM | [إغلاق JavaScript، التلاعب بـ DOM](/3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [لعبة الكتابة](/4-typing-game/solution/README.md) | بناء لعبة كتابة | تعلم كيفية استخدام أحداث لوحة المفاتيح لتحريك منطق تطبيق JavaScript الخاص بك | [البرمجة القائمة على الأحداث](/4-typing-game/typing-game/README.md) | Christopher |
| 08 | [التيراريوم](/3-terrarium/solution/README.md) | HTML في الممارسة | بناء HTML لإنشاء تيراريوم عبر الإنترنت، مع التركيز على بناء التخطيط | [مقدمة إلى HTML](/3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [التيراريوم](/3-terrarium/solution/README.md) | CSS في الممارسة | بناء CSS لتنسيق التيراريوم عبر الإنترنت، مع التركيز على أساسيات CSS بما في ذلك جعل الصفحة متجاوبة | [مقدمة إلى CSS](/3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](/3-terrarium/solution/README.md) | إغلاق JavaScript، التفاعل مع DOM | قم ببناء JavaScript لجعل التيراريوم يعمل كواجهة سحب وإفلات، مع التركيز على الإغلاق والتفاعل مع DOM | [إغلاق JavaScript، التفاعل مع DOM](/3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](/4-typing-game/solution/README.md) | بناء لعبة كتابة | تعلم كيفية استخدام أحداث لوحة المفاتيح لتوجيه منطق تطبيق JavaScript الخاص بك | [البرمجة القائمة على الأحداث](/4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](/5-browser-extension/solution/README.md) | العمل مع المتصفحات | تعلم كيفية عمل المتصفحات، تاريخها، وكيفية إنشاء العناصر الأولى لإضافة المتصفح | [حول المتصفحات](/5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](/5-browser-extension/solution/README.md) | بناء نموذج، استدعاء API وتخزين المتغيرات في التخزين المحلي | قم ببناء عناصر JavaScript لإضافة المتصفح لاستدعاء API باستخدام المتغيرات المخزنة في التخزين المحلي | [APIs، النماذج، والتخزين المحلي](/5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](/5-browser-extension/solution/README.md) | العمليات الخلفية في المتصفح، أداء الويب | استخدم العمليات الخلفية للمتصفح لإدارة أيقونة الإضافة؛ تعلم عن أداء الويب وبعض التحسينات لتحقيق ذلك | [المهام الخلفية والأداء](/5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](/6-space-game/solution/README.md) | تطوير الألعاب المتقدم باستخدام JavaScript | تعلم عن الوراثة باستخدام الفئات والتركيب ونمط Pub/Sub، كتحضير لبناء لعبة | [مقدمة لتطوير الألعاب المتقدم](/6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](/6-space-game/solution/README.md) | الرسم على اللوحة | تعلم عن واجهة برمجة التطبيقات Canvas API، المستخدمة لرسم العناصر على الشاشة | [الرسم على اللوحة](/6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](/6-space-game/solution/README.md) | تحريك العناصر على الشاشة | اكتشف كيف يمكن للعناصر أن تتحرك باستخدام الإحداثيات الكارتيسية وواجهة برمجة التطبيقات Canvas API | [تحريك العناصر](/6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](/6-space-game/solution/README.md) | اكتشاف التصادم | اجعل العناصر تتصادم وتتفاعل مع بعضها باستخدام ضغطات المفاتيح وقدم وظيفة تبريد لضمان أداء اللعبة | [اكتشاف التصادم](/6-space-game/4-collision-detection/README.md) | Chris |
| 14 | [Green Browser Extension](/5-browser-extension/solution/README.md) | العمليات الخلفية في المتصفح، أداء الويب | استخدم العمليات الخلفية للمتصفح لإدارة أيقونة الإضافة؛ تعلم عن أداء الويب وبعض التحسينات لجعله أفضل | [المهام الخلفية والأداء](/5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](/6-space-game/solution/README.md) | تطوير ألعاب أكثر تقدمًا باستخدام JavaScript | تعلم عن الوراثة باستخدام الفئات والتكوين ونمط Pub/Sub، كتحضير لبناء لعبة | [مقدمة لتطوير الألعاب المتقدمة](/6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](/6-space-game/solution/README.md) | الرسم على اللوحة | تعلم عن واجهة برمجة التطبيقات Canvas، المستخدمة لرسم العناصر على الشاشة | [الرسم على اللوحة](/6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](/6-space-game/solution/README.md) | تحريك العناصر على الشاشة | اكتشف كيف يمكن للعناصر أن تتحرك باستخدام الإحداثيات الكارتيسية وواجهة برمجة التطبيقات Canvas | [تحريك العناصر](/6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](/6-space-game/solution/README.md) | اكتشاف التصادم | اجعل العناصر تصطدم وتتفاعل مع بعضها باستخدام ضغطات المفاتيح وقدم وظيفة تبريد لضمان أداء اللعبة | [اكتشاف التصادم](/6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Space Game](/6-space-game/solution/README.md) | تسجيل النقاط | قم بإجراء حسابات رياضية بناءً على حالة اللعبة وأدائها | [تسجيل النقاط](/6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](/6-space-game/solution/README.md) | إنهاء اللعبة وإعادة تشغيلها | تعلم عن إنهاء اللعبة وإعادة تشغيلها، بما في ذلك تنظيف الموارد وإعادة تعيين قيم المتغيرات | [شرط النهاية](/6-space-game/6-end-condition/README.md) | Chris |
| 20 | [Space Game](/6-space-game/solution/README.md) | إنهاء وإعادة تشغيل اللعبة | تعلم عن إنهاء اللعبة وإعادة تشغيلها، بما في ذلك تنظيف الموارد وإعادة تعيين قيم المتغيرات | [حالة النهاية](/6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](/7-bank-project/solution/README.md) | قوالب HTML والمسارات في تطبيق ويب | تعلم كيفية إنشاء هيكل موقع ويب متعدد الصفحات باستخدام التوجيه وقوالب HTML | [قوالب HTML والمسارات](/7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](/7-bank-project/solution/README.md) | بناء نموذج تسجيل الدخول والتسجيل | تعلم عن بناء النماذج ومعالجة إجراءات التحقق | [النماذج](/7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](/7-bank-project/solution/README.md) | طرق جلب البيانات واستخدامها | كيف تتدفق البيانات داخل وخارج التطبيق، وكيفية جلبها، تخزينها، والتخلص منها | [البيانات](/7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](/7-bank-project/solution/README.md) | مفاهيم إدارة الحالة | تعلم كيف يحتفظ التطبيق بالحالة وكيفية إدارتها برمجياً | [إدارة الحالة](/7-bank-project/4-state-management/README.md) | Yohan |
| 23 | [Banking App](/7-bank-project/solution/README.md) | طرق جلب البيانات واستخدامها | كيف تتدفق البيانات داخل وخارج التطبيق الخاص بك، وكيفية جلبها، تخزينها، والتخلص منها | [البيانات](/7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](/7-bank-project/solution/README.md) | مفاهيم إدارة الحالة | تعلم كيف يحتفظ تطبيقك بالحالة وكيفية إدارتها برمجيًا | [إدارة الحالة](/7-bank-project/4-state-management/README.md) | Yohan |
## 🏫 التربية
## 🏫 التعليم
تم تصميم منهجنا بناءً على مبدأين تربويين رئيسيين:
* التعلم القائم على المشاريع
* الاختبارات المتكررة
يعلم البرنامج أساسيات JavaScript وHTML وCSS، بالإضافة إلى أحدث الأدوات والتقنيات التي يستخدمها مطورو الويب اليوم. سيحصل الطلاب على فرصة لتطوير خبرة عملية من خلال بناء لعبة كتابة، تيراريوم افتراضي، إضافة متصفح صديقة للبيئة، لعبة بأسلوب غزو الفضاء، وتطبيق مصرفي للشركات. بحلول نهاية السلسلة، سيكون لدى الطلاب فهم قوي لتطوير الويب.
يُعلم البرنامج أساسيات JavaScript وHTML وCSS، بالإضافة إلى أحدث الأدوات والتقنيات التي يستخدمها مطورو الويب اليوم. سيحصل الطلاب على فرصة لتطوير خبرة عملية من خلال بناء لعبة كتابة، تيراريوم افتراضي، إضافة متصفح صديقة للبيئة، لعبة بأسلوب غزو الفضاء، وتطبيق مصرفي للشركات. بحلول نهاية السلسلة، سيكون لدى الطلاب فهم قوي لتطوير الويب.
> 🎓 يمكنك أخذ الدروس الأولى في هذا المنهج كـ [مسار تعلم](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) على Microsoft Learn!
من خلال ضمان توافق المحتوى مع المشاريع، تصبح العملية أكثر جاذبية للطلاب ويتم تعزيز الاحتفاظ بالمفاهيم. كما كتبنا عدة دروس تمهيدية في أساسيات JavaScript لتقديم المفاهيم، مقترنة بفيديو من مجموعة "[سلسلة المبتدئين: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" من الفيديوهات التعليمية، التي ساهم بعض مؤلفيها في هذا المنهج.
بالإضافة إلى ذلك، يحدد اختبار منخفض المخاطر قبل الفصل نية الطالب نحو تعلم موضوع معين، بينما يضمن اختبار ثانٍ بعد الفصل تعزيز الاحتفاظ بالمعلومات. تم تصميم هذا المنهج ليكون مرناً وممتعاً ويمكن أخذه كاملاً أو جزئياً. تبدأ المشاريع صغيرة وتصبح أكثر تعقيداً بحلول نهاية دورة الـ 12 أسبوعاً.
بالإضافة إلى ذلك، يحدد اختبار منخفض المخاطر قبل الفصل نية الطالب نحو تعلم موضوع معين، بينما يضمن اختبار ثانٍ بعد الفصل تعزيز الاحتفاظ بالمعلومات. تم تصميم هذا المنهج ليكون مرنًا وممتعًا ويمكن أخذه بالكامل أو جزئيًا. تبدأ المشاريع صغيرة وتصبح أكثر تعقيدًا بحلول نهاية دورة الـ 12 أسبوعًا.
بينما تجنبنا عمداً تقديم أطر عمل JavaScript للتركيز على المهارات الأساسية المطلوبة كمطور ويب قبل تبني إطار عمل، فإن الخطوة التالية الجيدة لإكمال هذا المنهج ستكون تعلم Node.js عبر مجموعة أخرى من الفيديوهات: "[سلسلة المبتدئين: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
بينما تجنبنا عمدًا تقديم أطر عمل JavaScript للتركيز على المهارات الأساسية المطلوبة كمطور ويب قبل اعتماد إطار عمل، فإن الخطوة التالية الجيدة بعد إكمال هذا المنهج ستكون تعلم Node.js عبر مجموعة أخرى من الفيديوهات: "[سلسلة المبتدئين: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
- [اختر مغامرتك مع Copilot](https://github.com/microsoft/CopilotAdventures)
- [اختر مغامرتك الخاصة مع Copilot](https://github.com/microsoft/CopilotAdventures)
## الترخيص
هذا المستودع مرخص بموجب ترخيص MIT. انظر ملف [LICENSE](../../LICENSE) لمزيد من المعلومات.
---
**إخلاء المسؤولية**:
تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية هو المصدر الموثوق. للحصول على معلومات حاسمة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة.
تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الموثوق. للحصول على معلومات حاسمة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة تنشأ عن استخدام هذه الترجمة.
[](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
# 初心者向けウェブ開発 - カリキュラム
[](https://discord.com/invite/ByRwuEEgH4)
Microsoft Cloud Advocatesによる12週間の包括的なコースでウェブ開発の基礎を学びましょう。24のレッスンでは、JavaScript、CSS、HTMLを使った実践的なプロジェクト(テラリウム、ブラウザ拡張機能、宇宙ゲームなど)を通じて学びます。クイズ、ディスカッション、実践課題を通じてスキルを向上させ、プロジェクトベースの学習法で知識の定着を最適化します。今すぐコーディングの旅を始めましょう!
Microsoft Cloud Advocatesによる12週間の包括的なコースでウェブ開発の基礎を学びましょう。24のレッスンでは、JavaScript、CSS、HTMLを使った実践的なプロジェクト(テラリウム、ブラウザ拡張機能、宇宙ゲームなど)を通じて学びます。クイズ、ディスカッション、実践課題を通じてスキルを向上させ、プロジェクトベースの学習法で知識の定着を最大化します。今すぐコーディングの旅を始めましょう!
このカリキュラムにはすぐに使える開発環境が用意されています!開始時に、[Codespace](https://github.com/features/codespaces/)(ブラウザベースでインストール不要の環境)を使用するか、ローカルのコンピュータで[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)などのテキストエディタを使用して実行することができます。
このカリキュラムにはすぐに使える開発環境が用意されています!始める際には、[Codespace](https://github.com/features/codespaces/)(ブラウザベースでインストール不要の環境)を使用するか、ローカルのコンピュータで[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)などのテキストエディタを使用して実行することができます。
#### Codespaceでカリキュラムを実行する
#### リポジトリを作成する
作業内容を簡単に保存するために、このリポジトリのコピーを作成することをお勧めします。ページ上部の **Use this template** ボタンをクリックすると、カリキュラムのコピーがあなたのGitHubアカウントに新しいリポジトリとして作成されます。
作成したリポジトリのコピーで、**Code**ボタンをクリックし、**Open with Codespaces**を選択します。これにより、作業用の新しいCodespaceが作成されます。
おすすめのエディタは[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)で、内蔵の[ターミナル](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon)も利用できます。[こちら](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)からVisual Studio Codeをダウンロードできます。
<imgsrc="./images/createcodespace.png"alt="Copy your repository URL"style="width:270px;"/>
おすすめのエディタは[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)で、内蔵の[ターミナル](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon)も利用できます。[こちら](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)からVisual Studio Codeをダウンロードできます。
次に、[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)内の[ターミナル](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon)を開き、コピーしたURLを`<your-repository-url>`に置き換えて以下のコマンドを実行します:
<imgsrc="./images/createcodespace.png"alt="Copy your repository URL"style="width:270px;"/>
次に、[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)内の[ターミナル](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon)を開き、コピーしたURLを `<your-repository-url>` に置き換えて以下のコマンドを実行してください:
```bash
git clone <your-repository-url>
```
2. Visual Studio Codeでフォルダを開きます。**File** > **Open Folder**をクリックし、クローンしたフォルダを選択します。
> 推奨されるVisual Studio Code拡張機能:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - HTMLページをVisual Studio Code内でプレビューするため
プロジェクトに沿った内容を確保することで、学生にとって学習プロセスがより魅力的になり、概念の定着が促進されます。また、JavaScriptの基本を紹介するいくつかのスターターレッスンを作成し、"[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)"というビデオチュートリアルコレクションのビデオと組み合わせています。このコレクションの一部の著者は、このカリキュラムにも貢献しています。
プロジェクトに沿った内容を確保することで、学生にとってより魅力的なプロセスとなり、概念の定着が促進されます。また、JavaScriptの基本を紹介するいくつかのスターターレッスンを作成し、"[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)"というビデオチュートリアルコレクションのビデオと組み合わせています。このコレクションの一部の著者は、このカリキュラムにも貢献しています。
JavaScriptフレームワークの導入を意図的に避け、フレームワークを採用する前に必要な基本的なスキルに集中していますが、このカリキュラムを修了した後の次のステップとして、Node.jsについて学ぶことをお勧めします。これには、"[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)"という別のビデオコレクションがあります。
私たちは、JavaScriptフレームワークを導入することを意図的に避け、フレームワークを採用する前に必要な基本的なスキルに集中していますが、このカリキュラムを修了した後の次のステップとして、Node.jsについて学ぶことをお勧めします。このための別のビデオコレクションがあります:"[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)"。
[](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
# 初學者網頁開發課程 - 教學大綱
[](https://discord.com/invite/ByRwuEEgH4)
此課程已準備好開發環境!開始學習時,您可以選擇在 [Codespace](https://github.com/features/codespaces/)(_基於瀏覽器,無需安裝的環境_)中執行課程,或在您的電腦上使用文字編輯器如 [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) 進行本地執行。
此課程已準備好開發環境!開始學習時,您可以選擇在 [Codespace](https://github.com/features/codespaces/)(_基於瀏覽器,無需安裝的環境_)中運行課程,或在本地電腦上使用文本編輯器(如 [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon))。
#### 建立您的儲存庫
為了方便保存您的學習成果,建議您建立此儲存庫的副本。您可以點擊頁面頂部的 **Use this template** 按鈕,這將在您的 GitHub 帳戶中建立一個包含課程副本的新儲存庫。
我們推薦使用 [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) 作為編輯器,它還內建了 [終端機](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon)。您可以在[此處](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)下載 Visual Studio Code。
我們推薦使用 [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) 作為編輯器,它還內建了 [終端](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon)。您可以在[此處](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)下載 Visual Studio Code。
1. 將您的儲存庫複製到電腦。您可以點擊 **Code** 按鈕並複製 URL:
1. 將您的倉庫克隆到電腦。您可以點擊 **Code** 按鈕並複製 URL:
<imgsrc="./images/createcodespace.png"alt="Copy your repository URL"style="width:270px;"/>
然後,在 [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) 的 [終端機](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) 中執行以下指令,將 `<your-repository-url>` 替換為您剛複製的 URL:
然後,在 [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) 的 [終端](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) 中運行以下命令,將 `<your-repository-url>` 替換為您剛複製的 URL:
```bash
git clone <your-repository-url>
```
2. 在 Visual Studio Code 中開啟資料夾。您可以點擊 **File** > **Open Folder**,選擇您剛複製的資料夾。
2. 在 Visual Studio Code 中打開文件夾。您可以點擊 **文件** > **打開文件夾**,然後選擇您剛克隆的文件夾。
> 推薦的 Visual Studio Code 擴充功能:
> 推薦的 Visual Studio Code 擴展:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - 在 Visual Studio Code 中預覽 HTML 頁面
[](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
[](https://discord.com/invite/ByRwuEEgH4)
Следуйте этим шагам, чтобы начать использовать эти ресурсы:
3. [**Присоединяйтесь к Discord Azure AI Foundry и познакомьтесь с экспертами и другими разработчиками**](https://discord.com/invite/ByRwuEEgH4)
# Веб-разработка для начинающих — учебный курс
Изучите основы веб-разработки с нашим 12-недельным курсом от Microsoft Cloud Advocates. Каждое из 24 занятий посвящено JavaScript, CSS и HTML через практические проекты, такие как террариумы, расширения для браузеров и космические игры. Участвуйте в викторинах, обсуждениях и практических заданиях. Улучшите свои навыки и закрепите знания благодаря эффективной проектной методике обучения. Начните свой путь в программировании уже сегодня!
#### 🧑🎓 _Вы студент?_
Посетите [**страницу Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), где вы найдете ресурсы для начинающих, студенческие пакеты и даже способы получить бесплатный сертификат. Это страница, которую стоит добавить в закладки и проверять время от времени, так как контент обновляется ежемесячно.
Посетите [**Студенческую страницу**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), где вы найдете ресурсы для начинающих, студенческие пакеты и даже способы получить бесплатный сертификат. Это страница, которую стоит добавить в закладки и проверять время от времени, так как контент обновляется ежемесячно.
### 📣 Объявление — _Новый учебный курс_ по генеративному ИИ для JavaScript уже доступен
@ -39,7 +46,7 @@ CO_OP_TRANSLATOR_METADATA:
<imgsrc="./images/background.png"width="600px"/>
</div>
- Уроки, охватывающие все — от основ до RAG.
- Уроки, охватывающие все от основ до RAG.
- Взаимодействуйте с историческими персонажами с помощью GenAI и нашего приложения-компаньона.
- Увлекательный сюжет, вы будете путешествовать во времени!
@ -49,7 +56,7 @@ CO_OP_TRANSLATOR_METADATA:
Каждый урок включает задание, проверку знаний и вызов, чтобы изучить такие темы, как:
- Создание запросов и инженерия запросов
- Генерация приложений с текстом и изображениями
- Генерация текстовых и графических приложений
- Приложения для поиска
Посетите [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course), чтобы начать!
@ -64,9 +71,9 @@ CO_OP_TRANSLATOR_METADATA:
Для дальнейшего обучения мы настоятельно рекомендуем изучить [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) для получения дополнительных учебных материалов.
### 📋 Настройка среды
### 📋 Настройка вашей среды
Этот учебный курс уже готов к работе! Вы можете выбрать запуск курса в [Codespace](https://github.com/features/codespaces/) (_браузерная среда, не требующая установки_) или локально на вашем компьютере с использованием текстового редактора, например [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
Этот учебный курс уже готов к разработке! Вы можете выбрать запуск курса в [Codespace](https://github.com/features/codespaces/) (_браузерная среда, не требующая установки_), или локально на вашем компьютере с использованием текстового редактора, такого как [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
#### Создайте свой репозиторий
Чтобы легко сохранять свою работу, рекомендуется создать собственную копию этого репозитория. Вы можете сделать это, нажав кнопку **Use this template** в верхней части страницы. Это создаст новый репозиторий в вашем аккаунте GitHub с копией учебного курса.
@ -79,19 +86,19 @@ CO_OP_TRANSLATOR_METADATA:
В вашей копии репозитория, которую вы создали, нажмите кнопку **Code** и выберите **Open with Codespaces**. Это создаст новый Codespace для работы.
Чтобы запустить курс локально, вам понадобится текстовый редактор, браузер и инструмент командной строки. Наш первый урок, [Введение в языки программирования и инструменты](https://github.com/microsoft/Web-Dev-For-Beginners/tree/main/1-getting-started-lessons/1-intro-to-programming-languages), проведет вас через различные варианты этих инструментов, чтобы вы могли выбрать наиболее подходящий для вас.
Чтобы запустить курс локально на вашем компьютере, вам понадобится текстовый редактор, браузер и инструмент командной строки. Наш первый урок, [Введение в языки программирования и инструменты](https://github.com/microsoft/Web-Dev-For-Beginners/tree/main/1-getting-started-lessons/1-intro-to-programming-languages), проведет вас через различные варианты этих инструментов, чтобы вы могли выбрать то, что подходит вам лучше всего.
Мы рекомендуем использовать [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) в качестве редактора, который также имеет встроенный [Терминал](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Вы можете скачать Visual Studio Code [здесь](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Клонируйте ваш репозиторий на компьютер. Вы можете сделать это, нажав кнопку **Code** и скопировав URL:
<imgsrc="./images/createcodespace.png"alt="Copy your repository URL" style="width:270px;"/>
Затем откройте [Терминал](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) в [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) и выполните следующую команду, заменив `<your-repository-url>` на скопированный вами URL:
Затем откройте [Терминал](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) в [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) и выполните следующую команду, заменив `<your-repository-url>` на URL, который вы только что скопировали:
> **Примечание о викторинах**: Все викторины находятся в папке Quiz-app, всего 48 викторин по три вопроса каждая. Они связаны с уроками, и приложение для викторин можно запустить локально или развернуть в Azure; следуйте инструкциям в папке `quiz-app`. Постепенно они переводятся на другие языки.
> **Примечание о викторинах**: Все викторины находятся в папке Quiz-app, всего 48 викторин по три вопроса каждая. Они доступны [здесь](https://ff-quizzes.netlify.app/), приложение для викторин можно запустить локально или развернуть в Azure; следуйте инструкциям в папке `quiz-app`.
## 🗃️ Уроки
| | Название проекта | Изучаемые концепции | Цели обучения | Связанный урок | Автор |
| 01 | Начало работы | Введение в программирование и инструменты разработчика | Узнайте основные принципы большинства языков программирования и оПО, которое помогает профессиональным разработчикам в их работе | [Введение в языки программирования и инструменты разработчика](/1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Начало работы | Основы GitHub, включая работу в команде | Как использовать GitHub в вашем проекте, как сотрудничать с другими разработчиками | [Введение в GitHub](/1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Начало работы | Доступность | Узнайте основы доступности веб-сайтов | [Основы доступности](/1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| | Название проекта | Изучаемые концепции | Цели обучения | Ссылка на урок | Автор |
| 01 | Начало работы | Введение в программирование и инструменты | Узнайте основные принципы большинства языков программирования и опрограммном обеспечении, которое помогает профессиональным разработчикам выполнять свою работу | [Введение в языки программирования и инструменты](/1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Начало работы | Основы GitHub, включая работу в команде | Как использовать GitHub в вашем проекте, как сотрудничать с другими над кодовой базой | [Введение в GitHub](/1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Начало работы | Доступность | Узнайте основы веб-доступности | [Основы доступности](/1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | Основы JS | Типы данных в JavaScript | Основы типов данных в JavaScript | [Типы данных](/2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | Основы JS | Функции и методы | Узнайте о функциях и методах для управления логикой приложения | [Функции и методы](/2-js-basics/2-functions-methods/README.md) | Jasmine и Christopher |
| 06 | Основы JS | Принятие решений с помощью JS | Узнайте, как создавать условия в коде с использованием методов принятия решений | [Принятие решений](/2-js-basics/3-making-decisions/README.md) | Jasmine |
| 06 | Основы JS | Принятие решений с помощью JS | Узнайте, как создавать условия в вашем коде с использованием методов принятия решений | [Принятие решений](/2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | Основы JS | Массивы и циклы | Работа с данными с использованием массивов и циклов в JavaScript | [Массивы и циклы](/2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Террариум](/3-terrarium/solution/README.md) | HTML на практике | Создайте HTML для онлайн-террариума, сосредоточившись на создании макета | [Введение в HTML](/3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Террариум](/3-terrarium/solution/README.md) | CSS на практике | Создайте CSS для стилизации онлайн-террариума, сосредоточившись на основах CSS, включая адаптивность | [Введение в CSS](/3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Террариум](/3-terrarium/solution/README.md) | Замыкания в JavaScript, работа с DOM | Напишите JavaScript, чтобы террариум работал как интерфейс drag/drop, сосредоточившись на замыканиях и работе с DOM | [Замыкания в JavaScript, работа с DOM](/3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Игра на скорость набора текста](/4-typing-game/solution/README.md) | Создание игры на скорость набора текста | Узнайте, как использовать события клавиатуры для управления логикой вашего JavaScript-приложения | [Программирование, управляемое событиями](/4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](/5-browser-extension/solution/README.md) | Работа с браузерами | Узнайте, как работают браузеры, их историю и как создать первые элементы расширения для браузера | [О браузерах](/5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](/5-browser-extension/solution/README.md) | Создание формы, вызов API и сохранение переменных в локальном хранилище | Создайте элементы JavaScript для вашего расширения браузера, чтобы вызывать API, используя переменные, сохраненные в локальном хранилище | [API, формы и локальное хранилище](/5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](/5-browser-extension/solution/README.md) | Фоновые процессы в браузере, производительность веба | Используйте фоновые процессы браузера для управления значком расширения; узнайте о производительности веба и некоторых оптимизациях | [Фоновые задачи и производительность](/5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](/6-space-game/solution/README.md) | Более сложная разработка игр на JavaScript | Узнайте о наследовании с использованием классов и композиции, а также о паттерне Pub/Sub, чтобы подготовиться к созданию игры | [Введение в сложную разработку игр](/6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](/6-space-game/solution/README.md) | Рисование на canvas | Узнайте о Canvas API, который используется для рисования элементов на экране | [Рисование на canvas](/6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](/6-space-game/solution/README.md) | Перемещение элементов по экрану | Узнайте, как элементы могут двигаться, используя декартовы координаты и Canvas API | [Перемещение элементов](/6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](/6-space-game/solution/README.md) | Обнаружение столкновений | Сделайте так, чтобы элементы сталкивались и реагировали друг на друга, используя нажатия клавиш, и добавьте функцию задержки для обеспечения производительности игры | [Обнаружение столкновений](/6-space-game/4-collision-detection/README.md) | Chris |
| 10 | [Terrarium](/3-terrarium/solution/README.md) | Замыкания в JavaScript, работа с DOM | Напишите JavaScript, чтобы террариум работал как интерфейс с функцией перетаскивания, сосредоточив внимание на замыканиях и работе с DOM | [Замыкания в JavaScript, работа с DOM](/3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](/4-typing-game/solution/README.md) | Создание игры на набор текста | Узнайте, как использовать события клавиатуры для управления логикой вашего JavaScript-приложения | [Программирование, основанное на событиях](/4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](/5-browser-extension/solution/README.md) | Работа с браузерами | Узнайте, как работают браузеры, их историю, и как создать первые элементы расширения для браузера | [О браузерах](/5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](/5-browser-extension/solution/README.md) | Создание формы, вызов API и сохранение переменных в локальном хранилище | Напишите элементы JavaScript для вашего расширения браузера, чтобы вызывать API, используя переменные, сохраненные в локальном хранилище | [API, формы и локальное хранилище](/5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](/5-browser-extension/solution/README.md) | Фоновые процессы в браузере, производительность веб-страниц | Используйте фоновые процессы браузера для управления иконкой расширения; узнайте о производительности веб-страниц и некоторых оптимизациях | [Фоновые задачи и производительность](/5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](/6-space-game/solution/README.md) | Более сложная разработка игр на JavaScript | Узнайте об использовании наследования через классы и композицию, а также о паттерне Pub/Sub, готовясь к созданию игры | [Введение в сложную разработку игр](/6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](/6-space-game/solution/README.md) | Рисование на canvas | Узнайте об API Canvas, используемом для рисования элементов на экране | [Рисование на Canvas](/6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](/6-space-game/solution/README.md) | Перемещение элементов по экрану | Узнайте, как элементы могут двигаться, используя декартовы координаты и API Canvas | [Перемещение элементов](/6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](/6-space-game/solution/README.md) | Обнаружение столкновений | Реализуйте столкновения элементов и их реакцию друг на друга с использованием нажатий клавиш, а также добавьте функцию задержки для повышения производительности игры | [Обнаружение столкновений](/6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Space Game](/6-space-game/solution/README.md) | Подсчет очков | Выполняйте математические вычисления на основе статуса и производительности игры | [Подсчет очков](/6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](/6-space-game/solution/README.md) | Завершение и перезапуск игры | Узнайтео завершении и перезапуске игры, включая очистку ресурсов и сброс значений переменных | [Условие завершения](/6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](/7-bank-project/solution/README.md) | HTML-шаблоны и маршруты в веб-приложении | Узнайте, как создать структуру архитектуры многостраничного сайта, используя маршрутизацию и HTML-шаблоны | [HTML-шаблоны и маршруты](/7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](/7-bank-project/solution/README.md) | Создание формы входа и регистрации | Узнайтео создании форм и обработке процедур проверки | [Формы](/7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](/7-bank-project/solution/README.md) | Методы получения и использования данных | Узнайте, как данные поступают в ваше приложение и выходят из него, как их получать, сохранять и удалять | [Данные](/7-bank-project/3-data/README.md) | Yohan |
| 20 | [Space Game](/6-space-game/solution/README.md) | Завершение и перезапуск игры | Узнайте, как завершать и перезапускать игру, включая очистку ресурсов и сброс значений переменных | [Условие завершения](/6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](/7-bank-project/solution/README.md) | HTML-шаблоны и маршруты в веб-приложении | Узнайте, как создать структуру многостраничного веб-сайта с использованием маршрутизации и HTML-шаблонов | [HTML-шаблоны и маршруты](/7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](/7-bank-project/solution/README.md) | Создание формы входа и регистрации | Узнайте, как создавать формы и обрабатывать процедуры валидации | [Формы](/7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](/7-bank-project/solution/README.md) | Методы получения и использования данных | Узнайте, как данные поступают в ваше приложение, как их извлекать, сохранять и удалять | [Данные](/7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](/7-bank-project/solution/README.md) | Концепции управления состоянием | Узнайте, как ваше приложение сохраняет состояние и как управлять им программно | [Управление состоянием](/7-bank-project/4-state-management/README.md) | Yohan |
@ -153,17 +160,17 @@ CO_OP_TRANSLATOR_METADATA:
Наша учебная программа разработана с учетом двух ключевых педагогических принципов:
* обучение на основе проектов
* частые тесты
* частые викторины
Программа обучает основам JavaScript, HTML и CSS, а также последним инструментам и техникам, которые используют современные веб-разработчики. У студентов будет возможность получить практический опыт, создавая игру на скорость набора текста, виртуариум, экологичное расширение для браузера, игру в стиле "космических захватчиков" и банковское приложение для бизнеса. К концу курса студенты получат прочное понимание веб-разработки.
Программа обучает основам JavaScript, HTML и CSS, а также последним инструментам и техникам, используемым современными веб-разработчиками. Студенты получат возможность развить практические навыки, создавая игру на набор текста, виртуальное террариум, экологичное расширение для браузера, игру в стиле "космических захватчиков" и банковское приложение для бизнеса. К концу курса студенты получат прочное понимание веб-разработки.
> 🎓 Вы можете пройти первые несколько уроков этой программы как [Учебный путь](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) на Microsoft Learn!
Обеспечивая соответствие содержания проектам, процесс становится более увлекательным для студентов, а усвоение концепций усиливается. Мы также написали несколько начальных уроков по основам JavaScript для введения в концепции, сопровождаемых видео из коллекции "[Серия для начинающих: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", некоторые из авторов которой внесли вклад в эту учебную программу.
Обеспечивая соответствие контента проектам, процесс становится более увлекательным для студентов, а усвоение концепций усиливается. Мы также написали несколько вводных уроков по основам JavaScript, которые сопровождаются видео из коллекции "[Серия для начинающих: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", некоторые из авторов которой внесли вклад в эту учебную программу.
Кроме того, низкоуровневый тест перед занятием задает намерение студента изучить тему, а второй тест после занятия обеспечивает дальнейшее усвоение материала. Эта учебная программа была разработана как гибкая и увлекательная и может быть пройдена полностью или частично. Проекты начинаются с простых и становятся все более сложными к концу 12-недельного цикла.
Кроме того, низкострессовая викторина перед занятием настраивает студента на изучение темы, а вторая викторина после занятия способствует дальнейшему усвоению материала. Эта учебная программа была разработана как гибкая и увлекательная, и ее можно проходить полностью или частично. Проекты начинаются с простых и становятся все более сложными к концу 12-недельного цикла.
Хотя мы намеренно избегали введения JavaScript-фреймворков, чтобы сосредоточиться на базовых навыках, необходимых веб-разработчику перед освоением фреймворка, хорошим следующим шагом после завершения этой программы будет изучение Node.js через другую коллекцию видео: "[Серия для начинающих: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
Хотя мы намеренно избегали введения JavaScript-фреймворков, чтобы сосредоточиться на базовых навыках, необходимых веб-разработчику перед освоением фреймворков, хорошим следующим шагом после завершения этой программы будет изучение Node.js через другую коллекцию видео: "[Серия для начинающих: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
> Ознакомьтесь с нашими [Правилами поведения](CODE_OF_CONDUCT.md) и [Руководством по внесению изменений](CONTRIBUTING.md). Мы приветствуем ваши конструктивные отзывы!
@ -174,31 +181,33 @@ CO_OP_TRANSLATOR_METADATA:
## 📘 PDF
PDF всех уроков можно найти [здесь](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
PDF со всеми уроками можно найти [здесь](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 Другие курсы
Наша команда создает и другие курсы! Ознакомьтесь:
Наша команда создает и другие курсы! Ознакомьтесьс:
- [Generative AI для начинающих](https://aka.ms/genai-beginners)
- [Generative AI для начинающих .NET](https://github.com/microsoft/Generative-AI-for-beginners-dotnet)
- [ИИ для начинающих](https://aka.ms/ai-beginners)
- [Наука о данных для начинающих](https://aka.ms/datascience-beginners)
- [Машинное обучение для начинающих](https://aka.ms/ml-beginners)
- [Кибербезопасность для начинающих](https://github.com/microsoft/Security-101)
- [Web Dev для начинающих](https://aka.ms/webdev-beginners)
- [IoT для начинающих](https://aka.ms/iot-beginners)
- [Веб-разработка для начинающих](https://aka.ms/webdev-beginners)
- [Интернет вещей для начинающих](https://aka.ms/iot-beginners)
- [Разработка XR для начинающих](https://github.com/microsoft/xr-development-for-beginners)
- [Мастерство GitHub Copilot для агентного использования](https://github.com/microsoft/Mastering-GitHub-Copilot-for-Paired-Programming)
- [Мастерство GitHub Copilot для разработчиков C#/.NET](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers)
- [Выбери свое приключение с Copilot](https://github.com/microsoft/CopilotAdventures)
- [Освоение GitHub Copilot для агентного использования](https://github.com/microsoft/Mastering-GitHub-Copilot-for-Paired-Programming)
- [Освоение GitHub Copilot для разработчиков C#/.NET](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers)
- [Выберите свое приключение с Copilot](https://github.com/microsoft/CopilotAdventures)
## Лицензия
Этот репозиторий лицензирован под лицензией MIT. См. файл [LICENSE](../../LICENSE) для получения дополнительной информации.
Этот репозиторий лицензирован под лицензией MIT. Подробнее см. в файле [LICENSE](../../LICENSE).
---
**Отказ от ответственности**:
Этот документ был переведен с использованием сервиса автоматического перевода [Co-op Translator](https://github.com/Azure/co-op-translator). Хотя мы стремимся к точности, пожалуйста, учитывайте, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникшие в результате использования данного перевода.
[](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
[](https://discord.com/invite/ByRwuEEgH4)
ان وسائل کو استعمال کرنے کے لیے درج ذیل مراحل پر عمل کریں:
1. **ریپوزٹری کو فورک کریں**: یہاں کلک کریں [](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **ریپوزٹری کو کلون کریں**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Azure AI Foundry Discord میں شامل ہوں اور ماہرین اور دیگر ڈویلپرز سے ملاقات کریں**](https://discord.com/invite/ByRwuEEgH4)
# ویب ڈویلپمنٹ برائے ابتدائی - ایک نصاب
مائیکروسافٹ کلاؤڈ ایڈووکیٹس کے ذریعے 12 ہفتوں کا جامع کورس سیکھیں جو ویب ڈویلپمنٹ کی بنیادی باتوں پر مشتمل ہے۔ 24 اسباق میں جاوا اسکرپٹ، سی ایس ایس، اور ایچ ٹی ایم ایل کو عملی منصوبوں جیسے ٹیراریئمز، براؤزر ایکسٹینشنز، اور اسپیس گیمز کے ذریعے سکھایا گیا ہے۔ کوئزز، مباحثے، اور عملی اسائنمنٹس کے ذریعے اپنی مہارت کو بہتر بنائیں اور پروجیکٹ پر مبنی تدریسی طریقہ کار کے ذریعے اپنے علم کو مضبوط کریں۔ آج ہی اپنے کوڈنگ کے سفر کا آغاز کریں!
مائیکروسافٹ کلاؤڈ ایڈووکیٹس کے 12 ہفتوں کے جامع کورس کے ساتھ ویب ڈویلپمنٹ کی بنیادی باتیں سیکھیں۔ 24 اسباق میں جاوا اسکرپٹ، CSS، اور HTML کو عملی منصوبوں جیسے ٹیراریئمز، براؤزر ایکسٹینشنز، اور اسپیس گیمز کے ذریعے سکھایا گیا ہے۔ کوئزز، مباحثے، اور عملی اسائنمنٹس کے ذریعے اپنی مہارت کو بہتر بنائیں اور علم کو مؤثر طریقے سے برقرار رکھیں۔ آج ہی اپنے کوڈنگ کے سفر کا آغاز کریں!
#### 🧑🎓 _کیا آپ طالب علم ہیں؟_
[**اسٹوڈنٹ ہب صفحہ**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) پر جائیں جہاں آپ کو ابتدائی وسائل، اسٹوڈنٹ پیک، اور مفت سرٹیفکیٹ واؤچر حاصل کرنے کے طریقے ملیں گے۔ یہ وہ صفحہ ہے جسے آپ بک مارک کریں اور وقتاً فوقتاً چیک کریں کیونکہ ہم ہر ماہ مواد کو تبدیل کرتے ہیں۔
[**اسٹوڈنٹ ہب صفحہ**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) پر جائیں جہاں آپ کو ابتدائی وسائل، اسٹوڈنٹ پیکس، اور مفت سرٹیفکیٹ واؤچر حاصل کرنے کے طریقے ملیں گے۔ یہ وہ صفحہ ہے جسے آپ بک مارک کریں اور وقتاً فوقتاً چیک کریں کیونکہ ہم ہر ماہ مواد کو تبدیل کرتے ہیں۔
### 📣 اعلان - _نیا نصاب_ جنریٹو اے آئی برائے جاوا اسکرپٹ جاری کر دیا گیا ہے
### 📣 اعلان - جاوا اسکرپٹ کے لیے _نیا نصاب_ جنریٹیو AI پر جاری کر دیا گیا ہے
ہمارا نیا جنریٹو اے آئی نصاب مت چھوڑیں!
ہمارا نیا جنریٹیو AI نصاب مت چھوڑیں!
[https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) پر جائیں اور شروع کریں!
@ -39,64 +46,63 @@ CO_OP_TRANSLATOR_METADATA:
<imgsrc="./images/background.png"width="600px"/>
</div>
- بنیادی باتوں سے لے کر RAG تک کے اسباق۔
- جنریٹو اے آئی اور ہماری ساتھی ایپ کے ذریعے تاریخی کرداروں کے ساتھ بات چیت کریں۔
- ایک دلچسپ اور پرلطف کہانی، آپ وقت میں سفر کریں گے!
- اسباق جو بنیادی باتوں سے لے کر RAG تک سب کچھ شامل کرتے ہیں۔
- GenAI اور ہماری ساتھی ایپ کے ذریعے تاریخی کرداروں کے ساتھ بات چیت کریں۔
- ایک دلچسپ اور پرکشش کہانی، آپ وقت میں سفر کریں گے!
<div>
<imgsrc="./images/character.png"width="600px"/>
</div>
ہر سبق میں شامل ہیں:
- اسائنمنٹ مکمل کریں
ہر سبق میں شامل ہے:
- ایک اسائنمنٹ مکمل کریں
- علم کی جانچ
- چیلنج
آپ درج ذیل موضوعات سیکھیں گے:
- پرامپٹنگ اور پرامپٹ انجینئرنگ
- ٹیکسٹ اور امیج ایپ جنریشن
- سرچ ایپس
- ایک چیلنج
- موضوعات سیکھنے کے لیے رہنمائی جیسے:
- پرامپٹنگ اور پرامپٹ انجینئرنگ
- ٹیکسٹ اور امیج ایپ جنریشن
- سرچ ایپس
[https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) پر جائیں اور شروع کریں!
## 🌱 شروعات کریں
> **اساتذہ**، ہم نے [کچھ تجاویز شامل کی ہیں](for-teachers.md) کہ اس نصاب کو کیسے استعمال کیا جائے۔ ہمیں آپ کی رائے [ہمارے مباحثے کے فورم](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner) میں چاہیے!
> **اساتذہ**، ہم نے [کچھ تجاویز شامل کی ہیں](for-teachers.md) کہ اس نصاب کو کیسے استعمال کیا جائے۔ ہمیں آپ کی رائے [ہمارے مباحثے کے فورم](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner) میں پسند آئے گی!
**[سیکھنے والے](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**، ہر سبق کے لیے، پہلے لیکچر کے کوئز سے شروع کریں، لیکچر کے مواد کو پڑھیں، مختلف سرگرمیاں مکمل کریں، اور بعد از لیکچر کوئز کے ذریعے اپنی سمجھ کو چیک کریں۔
**[سیکھنے والے](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**، ہر سبق کے لیے، ایک پری لیکچر کوئز سے شروع کریں اور لیکچر کے مواد کو پڑھنے، مختلف سرگرمیاں مکمل کرنے اور پوسٹ لیکچر کوئز کے ذریعے اپنی سمجھ کو چیک کرنے کے ساتھ جاری رکھیں۔
اپنے سیکھنے کے تجربے کو بہتر بنانے کے لیے، اپنے ساتھیوں کے ساتھ مل کر پروجیکٹس پر کام کریں! مباحثے کی حوصلہ افزائی کی جاتی ہے [ہمارے مباحثے کے فورم](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) میں، جہاں ہمارے ماڈریٹرز آپ کے سوالات کے جوابات دینے کے لیے دستیاب ہوں گے۔
اپنے سیکھنے کے تجربے کو بہتر بنانے کے لیے، اپنے ساتھیوں کے ساتھ مل کر منصوبوں پر کام کریں! مباحثے کی حوصلہ افزائی کی جاتی ہے [ہمارے مباحثے کے فورم](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) میں جہاں ہمارے ماڈریٹرز کی ٹیم آپ کے سوالات کے جوابات دینے کے لیے دستیاب ہوگی۔
اپنی تعلیم کو مزید آگے بڑھانے کے لیے، ہم انتہائی سفارش کرتے ہیں کہ [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) کو اضافی مطالعہ کے مواد کے لیے دریافت کریں۔
### 📋 اپنا ماحول ترتیب دیں
### 📋 اپنے ماحول کو ترتیب دینا
یہ نصاب ایک تیار شدہ ترقیاتی ماحول کے ساتھ آتا ہے! جب آپ شروع کریں تو آپ اس نصاب کو [Codespace](https://github.com/features/codespaces/) (_ایک براؤزر پر مبنی، بغیر کسی انسٹالیشن کے ماحول_) یا اپنے کمپیوٹر پر مقامی طور پر ایک ٹیکسٹ ایڈیٹر جیسے [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) کے ذریعے چلا سکتے ہیں۔
یہ نصاب ایک تیار شدہ ترقیاتی ماحول کے ساتھ آتا ہے! جب آپ شروع کریں تو آپ اس نصاب کو [Codespace](https://github.com/features/codespaces/) (_ایک براؤزر پر مبنی، بغیر کسی انسٹال کے ماحول_) یا اپنے کمپیوٹر پر مقامی طور پر ایک ٹیکسٹ ایڈیٹر جیسے [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) کا استعمال کرتے ہوئے چلا سکتے ہیں۔
#### اپنی ریپوزٹری بنائیں
اپنے کام کو آسانی سے محفوظ کرنے کے لیے، یہ تجویز کیا جاتا ہے کہ آپ اس ریپوزٹری کی اپنی کاپی بنائیں۔ آپ یہ صفحے کے اوپر **Use this template** بٹن پر کلک کرکے کر سکتے ہیں۔ یہ آپ کے GitHub اکاؤنٹ میں نصاب کی ایک کاپی کے ساتھ ایک نئی ریپوزٹری بنائے گا۔
مندرجہ ذیل اقدامات کریں:
مندرجہ ذیل مراحل پر عمل کریں:
1. **ریپوزٹری کو فورک کریں**: اس صفحے کے اوپر دائیں کونے میں "Fork" بٹن پر کلک کریں۔
2. **ریپوزٹری کو کلون کریں**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### نصاب کو Codespace میں چلائیں
#### نصاب کو Codespace میں چلانا
اس ریپوزٹری کی اپنی کاپی میں، **Code** بٹن پر کلک کریں اور **Open with Codespaces** منتخب کریں۔ یہ آپ کے لیے ایک نیا Codespace بنائے گا۔
اس ریپوزٹری کی اپنی کاپی میں جو آپ نے بنائی، **Code** بٹن پر کلک کریں اور **Open with Codespaces**کو منتخب کریں۔ یہ آپ کے لیے کام کرنے کے لیے ایک نیا Codespace بنائے گا۔
اس نصاب کو اپنے کمپیوٹر پر مقامی طور پر چلانے کے لیے، آپ کو ایک ٹیکسٹ ایڈیٹر، ایک براؤزر، اور ایک کمانڈ لائن ٹول کی ضرورت ہوگی۔ ہمارا پہلا سبق، [پروگرامنگ زبانوں اور ٹولز کا تعارف](https://github.com/microsoft/Web-Dev-For-Beginners/tree/main/1-getting-started-lessons/1-intro-to-programming-languages)، آپ کو ان ٹولز کے مختلف اختیارات کے ذریعے رہنمائی کرے گا تاکہ آپ وہ منتخب کریں جو آپ کے لیے بہترین ہو۔
اس نصاب کو اپنے کمپیوٹر پر مقامی طور پر چلانے کے لیے، آپ کو ایک ٹیکسٹ ایڈیٹر، ایک براؤزر اور ایک کمانڈ لائن ٹول کی ضرورت ہوگی۔ ہمارا پہلا سبق، [پروگرامنگ لینگویجز اور ٹولز کا تعارف](https://github.com/microsoft/Web-Dev-For-Beginners/tree/main/1-getting-started-lessons/1-intro-to-programming-languages)، آپ کو ان ٹولز کے مختلف اختیارات کے ذریعے رہنمائی کرے گا تاکہ آپ وہ منتخب کریں جو آپ کے لیے بہترین کام کرتا ہے۔
ہماری تجویز ہے کہ آپ [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) کو اپنے ایڈیٹر کے طور پر استعمال کریں، جس میں ایک بلٹ ان [ٹرمینل](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) بھی شامل ہے۔ آپ Visual Studio Code کو [یہاں](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) سے ڈاؤن لوڈ کر سکتے ہیں۔
ہماری سفارش ہے کہ آپ [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) کو اپنے ایڈیٹر کے طور پر استعمال کریں، جس میں ایک بلٹ ان [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) بھی شامل ہے۔ آپ [یہاں](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) سے Visual Studio Code ڈاؤن لوڈ کر سکتے ہیں۔
1. اپنی ریپوزٹری کو اپنے کمپیوٹر پر کلون کریں۔ آپ یہ **Code** بٹن پر کلک کرکے اور URL کو کاپی کرکے کر سکتے ہیں:
<imgsrc="./images/createcodespace.png"alt="Copy your repository URL"style="width:270px;"/>
پھر، [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) کے اندر [ٹرمینل](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) کھولیں اور درج ذیل کمانڈ چلائیں، `<your-repository-url>` کو اس URL سے تبدیل کریں جو آپ نے ابھی کاپی کیا ہے:
پھر، [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) کے اندر [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) کھولیں اور درج ذیل کمانڈ چلائیں، `<your-repository-url>` کو اس URL سے تبدیل کریں جو آپ نے ابھی کاپی کیا ہے:
```bash
git clone <your-repository-url>
@ -109,73 +115,73 @@ CO_OP_TRANSLATOR_METADATA:
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - Visual Studio Code کے اندر HTML صفحات کا پیش نظارہ کرنے کے لیے
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - کوڈ تیزی سے لکھنے میں مدد کے لیے
## 📂 ہر سبق میں شامل ہیں:
## 📂 ہر سبق میں شامل ہے:
- اختیاری اسکیچ نوٹ
- اختیاری اضافی ویڈیو
- سبق سے پہلے کا وارم اپ کوئز
- پری سبق وارم اپ کوئز
- تحریری سبق
- پروجیکٹ پر مبنی اسباق کے لیے، پروجیکٹ بنانے کے لیے مرحلہ وار رہنما
- علم کی جانچ
- ایک چیلنج
- اضافی مطالعہ
- اسائنمنٹ
- سبق کے بعد کا کوئز
- [پوسٹ سبق کوئز](https://ff-quizzes.netlify.app/)
> **کوئزز کے بارے میں نوٹ**: تمام کوئزز Quiz-app فولڈر میں موجود ہیں، کل 48 کوئزز، ہر ایک میں تین سوالات۔ یہ اسباق کے اندر سے منسلک ہیں۔ Quiz-app کو مقامی طور پر چلایا جا سکتا ہے یا Azure پر تعینات کیا جا سکتا ہے؛ `quiz-app` فولڈر میں ہدایات پر عمل کریں۔ یہ بتدریج مقامی زبانوں میں ترجمہ کیے جا رہے ہیں۔
> **کوئزز کے بارے میں نوٹ**: تمام کوئزز Quiz-app فولڈر میں موجود ہیں، کل 48 کوئزز، ہر ایک میں تین سوالات۔ یہ [یہاں](https://ff-quizzes.netlify.app/) دستیاب ہیں۔ Quiz-app کو مقامی طور پر چلایا جا سکتا ہے یا Azure پر تعینات کیا جا سکتا ہے؛ `quiz-app` فولڈر میں ہدایات پر عمل کریں۔
## 🗃️ اسباق
| | پروجیکٹ کا نام | سکھائے گئے تصورات | سیکھنے کے مقاصد | منسلک سبق | مصنف |
| 01 | شروعات | پروگرامنگ اور ٹولز کا تعارف | زیادہ تر پروگرامنگ زبانوں کے بنیادی اصول اور وہ سافٹ ویئر سیکھیں جو پیشہ ور ڈویلپرز اپنے کام کے لیے استعمال کرتے ہیں | [پروگرامنگ زبانوں اور ٹولز کا تعارف](/1-getting-started-lessons/1-intro-to-programming-languages/README.md) | جیسمن |
| 02 | شروعات | GitHub کی بنیادی باتیں، ٹیم کے ساتھ کام کرنا | اپنے پروجیکٹ میں GitHub کا استعمال کیسے کریں، دوسروں کے ساتھ کوڈ بیس پر تعاون کیسے کریں | [GitHub کا تعارف](/1-getting-started-lessons/2-github-basics/README.md) | فلور |
| 01 | شروعات | پروگرامنگ اور ٹولز کا تعارف | زیادہ تر پروگرامنگ زبانوں کے بنیادی اصول اور وہ سافٹ ویئر سیکھیں جو پیشہ ور ڈویلپرز اپنے کام کے لیے استعمال کرتے ہیں | [پروگرامنگ لینگویجز اور ٹولز کا تعارف](/1-getting-started-lessons/1-intro-to-programming-languages/README.md) | جیسمن |
| 02 | شروعات | GitHub کی بنیادی باتیں، ٹیم کے ساتھ کام کرنا | اپنے پروجیکٹ میں GitHub کا استعمال کیسے کریں، کوڈ بیس پر دوسروں کے ساتھ تعاون کیسے کریں | [GitHub کا تعارف](/1-getting-started-lessons/2-github-basics/README.md) | فلور |
| 04 | جاوا اسکرپٹ کی بنیادی باتیں | جاوا اسکرپٹ ڈیٹا کی اقسام | جاوا اسکرپٹ ڈیٹا کی اقسام کی بنیادی باتیں | [ڈیٹا کی اقسام](/2-js-basics/1-data-types/README.md) | جیسمن |
| 05 | جاوا اسکرپٹ کی بنیادی باتیں | فنکشنز اور میتھڈز | ایپلیکیشن کے لاجک فلو کو منظم کرنے کے لیے فنکشنز اور میتھڈز کے بارے میں سیکھیں | [فنکشنز اور میتھڈز](/2-js-basics/2-functions-methods/README.md) | جیسمن اور کرسٹوفر |
| 06 | جاوا اسکرپٹ کی بنیادی باتیں | جاوا اسکرپٹ کے ساتھ فیصلے کرنا | فیصلہ سازی کے طریقوں کا استعمال کرتے ہوئے اپنے کوڈ میں حالات کیسے بنائیں | [فیصلے کرنا](/2-js-basics/3-making-decisions/README.md) | جیسمن |
| 07 | جاوا اسکرپٹ کی بنیادی باتیں | Arrays اور Loops | جاوا اسکرپٹ میں ڈیٹا کے ساتھ کام کرنے کے لیے Arrays اور Loops کا استعمال کریں | [Arrays اور Loops](/2-js-basics/4-arrays-loops/README.md) | جیسمن |
| 08 | [ٹیراریئم](/3-terrarium/solution/README.md) | HTML کی مشق | ایک آن لائن ٹیراریئم بنانے کے لیے HTML بنائیں، لے آؤٹ بنانے پر توجہ مرکوز کریں | [HTML کا تعارف](/3-terrarium/1-intro-to-html/README.md) | جین |
| 09 | [ٹیراریئم](/3-terrarium/solution/README.md) | CSS کی مشق | آن لائن ٹیراریئم کو اسٹائل کرنے کے لیے CSS بنائیں، CSS کی بنیادی باتوں پر توجہ مرکوز کریں، بشمول صفحہ کو ریسپانسیو بنانا | [CSS کا تعارف](/3-terrarium/2-intro-to-css/README.md) | جین |
| 10 | [ٹیراریئم](/3-terrarium/solution/README.md) | جاوا اسکرپٹ کلوزرز، DOM میں تبدیلی | ٹیراریئم کو ڈریگ/ڈراپ انٹرفیس کے طور پر کام کرنے کے لیے جاوا اسکرپٹ بنائیں، کلوزرز اور DOM میں تبدیلی پر توجہ مرکوز کریں | [جاوا اسکرپٹ کلوزرز، DOM میں تبدیلی](/3-terrarium/3-intro-to-DOM-and-closures/README.md) | جین |
| 11 | [ٹائپنگ گیم](/4-typing-game/solution/README.md) | ایک ٹائپنگ گیم بنائیں | جاوا اسکرپٹ ایپ کی منطق کو چلانے کے لیے کی بورڈ ایونٹس کا استعمال کیسے کریں | [ایونٹ پر مبنی پروگرامنگ](/4-typing-game/typing-game/README.md) | کرسٹوفر |
| 12 | [گرین براؤزر ایکسٹینشن](/5-browser-extension/solution/README.md) | براؤزرز کے ساتھ کام کرنا | سیکھیں کہ براؤزرز کیسے کام کرتے ہیں، ان کی تاریخ، اور براؤزر ایکسٹینشن کے ابتدائی عناصر کیسے بنائے جائیں | [براؤزرز کے بارے میں](/5-browser-extension/1-about-browsers/README.md) | جین |
| 13 | [گرین براؤزر ایکسٹینشن](/5-browser-extension/solution/README.md) | فارم بنانا، API کال کرنا اور لوکل اسٹوریج میں ویریبلز محفوظ کرنا | اپنے براؤزر ایکسٹینشن کے جاوا اسکرپٹ عناصر بنائیں تاکہ لوکل اسٹوریج میں محفوظ ویریبلز کے ذریعے API کال کی جا سکے | [APIs، فارمز، اور لوکل اسٹوریج](/5-browser-extension/2-forms-browsers-local-storage/README.md) | جین |
| 14 | [گرین براؤزر ایکسٹینشن](/5-browser-extension/solution/README.md) | براؤزر میں بیک گراؤنڈ پروسیسز، ویب پرفارمنس | براؤزر کے بیک گراؤنڈ پروسیسز کا استعمال کریں تاکہ ایکسٹینشن کے آئیکن کو مینیج کیا جا سکے؛ ویب پرفارمنس اور کچھ آپٹیمائزیشنز کے بارے میں سیکھیں | [بیک گراؤنڈ ٹاسکس اور پرفارمنس](/5-browser-extension/3-background-tasks-and-performance/README.md) | جین |
| 15 | [اسپیس گیم](/6-space-game/solution/README.md) | جاوا اسکرپٹ کے ساتھ مزید ایڈوانس گیم ڈیولپمنٹ | کلاسز اور کمپوزیشن دونوں کے ذریعے انہرٹینس کے بارے میں سیکھیں اور گیم بنانے کی تیاری کے لیے پب/سب پیٹرن کو سمجھیں | [ایڈوانس گیم ڈیولپمنٹ کا تعارف](/6-space-game/1-introduction/README.md) | کرس |
| 16 | [اسپیس گیم](/6-space-game/solution/README.md) | کینوس پر ڈرائنگ | کینوس API کے بارے میں سیکھیں، جو اسکرین پر عناصر ڈرائنگ کرنے کے لیے استعمال ہوتا ہے | [کینوس پر ڈرائنگ](/6-space-game/2-drawing-to-canvas/README.md) | کرس |
| 17 | [اسپیس گیم](/6-space-game/solution/README.md) | اسکرین پر عناصر کو حرکت دینا | دریافت کریں کہ کارٹیزین کوآرڈینیٹس اور کینوس API کے ذریعے عناصر کو حرکت کیسے دی جا سکتی ہے | [عناصر کو حرکت دینا](/6-space-game/3-moving-elements-around/README.md) | کرس |
| 18 | [اسپیس گیم](/6-space-game/solution/README.md) | تصادم کا پتہ لگانا | عناصر کو ایک دوسرے سے ٹکرانے اور ردعمل دینے کے لیے کی پریسز کا استعمال کریں اور گیم کی پرفارمنس کو یقینی بنانے کے لیے کول ڈاؤن فنکشن فراہم کریں | [تصادم کا پتہ لگانا](/6-space-game/4-collision-detection/README.md) | کرس |
| 19 | [اسپیس گیم](/6-space-game/solution/README.md) | اسکور رکھنا | گیم کی حالت اور کارکردگی کی بنیاد پر ریاضی کے حسابات کریں | [اسکور رکھنا](/6-space-game/5-keeping-score/README.md) | کرس |
| 20 | [اسپیس گیم](/6-space-game/solution/README.md) | گیم ختم کرنا اور دوبارہ شروع کرنا | گیم ختم کرنے اور دوبارہ شروع کرنے کے بارے میں سیکھیں، بشمول اثاثوں کو صاف کرنا اور ویریبلز کی قدریں ری سیٹ کرنا | [اختتامی حالت](/6-space-game/6-end-condition/README.md) | کرس |
| 21 | [بینکنگ ایپ](/7-bank-project/solution/README.md) | ویب ایپ میں HTML ٹیمپلیٹس اور روٹس | ملٹی پیج ویب سائٹ کی آرکیٹیکچر کا خاکہ بنانے کے لیے روٹنگ اور HTML ٹیمپلیٹس کا استعمال کرنا سیکھیں | [HTML ٹیمپلیٹس اور روٹس](/7-bank-project/1-template-route/README.md) | یوہان |
| 22 | [بینکنگ ایپ](/7-bank-project/solution/README.md) | لاگ ان اور رجسٹریشن فارم بنانا | فارمز بنانے اور ویلیڈیشن روٹینز کو ہینڈل کرنے کے بارے میں سیکھیں | [فارمز](/7-bank-project/2-forms/README.md) | یوہان |
| 23 | [بینکنگ ایپ](/7-bank-project/solution/README.md) | ڈیٹا حاصل کرنے اور استعمال کرنے کے طریقے | آپ کی ایپ میں ڈیٹا کیسے آتا اور جاتا ہے، اسے کیسے حاصل کریں، محفوظ کریں، اور ختم کریں | [ڈیٹا](/7-bank-project/3-data/README.md) | یوہان |
| 24 | [بینکنگ ایپ](/7-bank-project/solution/README.md) | اسٹیٹ مینجمنٹ کے تصورات| سیکھیں کہ آپ کی ایپ اسٹیٹ کو کیسے برقرار رکھتی ہے اور اسے پروگرام کے ذریعے کیسے مینیج کیا جا سکتا ہے | [اسٹیٹ مینجمنٹ](/7-bank-project/4-state-management/README.md) | یوہان |
## 🏫 تدریسی طریقہ کار
| 09 | [ٹیراریئم](/3-terrarium/solution/README.md) | CSS کی مشق | آن لائن ٹیراریئم کو اسٹائل کرنے کے لیے CSS بنائیں، CSS کی بنیادی باتوں پر توجہ مرکوز کریں بشمول صفحہ کو ریسپانسیو بنانا | [CSS کا تعارف](/3-terrarium/2-intro-to-css/README.md) | جین |
| 10 | [Terrarium](/3-terrarium/solution/README.md) | جاوا اسکرپٹ کلوزرز، ڈی او ایم مینپولیشن | جاوا اسکرپٹ کو اس طرح بنائیں کہ ٹیریریم ڈریگ/ڈراپ انٹرفیس کے طور پر کام کرے، کلوزرز اور ڈی او ایم مینپولیشن پر توجہ مرکوز کرتے ہوئے | [جاوا اسکرپٹ کلوزرز، ڈی او ایم مینپولیشن](/3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](/4-typing-game/solution/README.md) | ایک ٹائپنگ گیم بنائیں | سیکھیں کہ کس طرح کی بورڈ ایونٹس کو استعمال کرتے ہوئے اپنی جاوا اسکرپٹ ایپ کی منطق کو چلایا جا سکتا ہے | [ایونٹ ڈرائیون پروگرامنگ](/4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](/5-browser-extension/solution/README.md) | براؤزرز کے ساتھ کام کرنا | سیکھیں کہ براؤزرز کیسے کام کرتے ہیں، ان کی تاریخ، اور براؤزر ایکسٹینشن کے ابتدائی عناصر کو کیسے تیار کیا جائے | [براؤزرز کے بارے میں](/5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](/5-browser-extension/solution/README.md) | فارم بنانا، ایک API کو کال کرنا اور لوکل اسٹوریج میں ویریبلز محفوظ کرنا | اپنے براؤزر ایکسٹینشن کے جاوا اسکرپٹ عناصر کو بنائیں تاکہ لوکل اسٹوریج میں محفوظ ویریبلز کا استعمال کرتے ہوئے ایک API کو کال کیا جا سکے | [APIs، فارمز، اور لوکل اسٹوریج](/5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](/5-browser-extension/solution/README.md) | براؤزر میں بیک گراؤنڈ پروسیسز، ویب پرفارمنس | براؤزر کے بیک گراؤنڈ پروسیسز کو ایکسٹینشن کے آئیکون کو منظم کرنے کے لیے استعمال کریں؛ ویب پرفارمنس اور کچھ آپٹیمائزیشنز کے بارے میں سیکھیں تاکہ | [بیک گراؤنڈ ٹاسکس اور پرفارمنس](/5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](/6-space-game/solution/README.md) | جاوا اسکرپٹ کے ساتھ مزید ایڈوانس گیم ڈیولپمنٹ | کلاسز اور کمپوزیشن دونوں کا استعمال کرتے ہوئے انہرٹنس کے بارے میں سیکھیں اور گیم بنانے کی تیاری میں پب/سب پیٹرن کے بارے میں جانیں | [ایڈوانس گیم ڈیولپمنٹ کا تعارف](/6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](/6-space-game/solution/README.md) | کینوس پر ڈرائنگ | کینوس API کے بارے میں سیکھیں، جو اسکرین پر عناصر کو ڈرائنگ کرنے کے لیے استعمال ہوتا ہے| [کینوس پر ڈرائنگ](/6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](/6-space-game/solution/README.md) | اسکرین پر عناصر کو حرکت دینا | دریافت کریں کہ عناصر کارٹیسین کوآرڈینیٹس اور کینوس API کا استعمال کرتے ہوئے حرکت کیسے حاصل کر سکتے ہیں | [عناصر کو حرکت دینا](/6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](/6-space-game/solution/README.md) | تصادم کا پتہ لگانا | عناصر کو ایک دوسرے سے ٹکرانے اور ردعمل دینے کے لیے بنائیں، کی پریسز کا استعمال کریں اور گیم کی کارکردگی کو یقینی بنانے کے لیے کول ڈاؤن فنکشن فراہم کریں | [تصادم کا پتہ لگانا](/6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Space Game](/6-space-game/solution/README.md) | اسکور رکھنا | گیم کی حالت اور کارکردگی کی بنیاد پر ریاضی کے حسابات انجام دیں | [اسکور رکھنا](/6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](/6-space-game/solution/README.md) | گیم ختم کرنا اور دوبارہ شروع کرنا | گیم کو ختم کرنے اور دوبارہ شروع کرنے کے بارے میں سیکھیں، بشمول اثاثوں کو صاف کرنا اور ویریبلز کی قدروں کو ری سیٹ کرنا | [اختتامی حالت](/6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](/7-bank-project/solution/README.md) | ایک ویب ایپ میں HTML ٹیمپلیٹس اور روٹس | سیکھیں کہ کس طرح ایک ملٹی پیج ویب سائٹ کی آرکیٹیکچر کو روٹنگ اور HTML ٹیمپلیٹس کا استعمال کرتے ہوئے تیار کیا جائے | [HTML ٹیمپلیٹس اور روٹس](/7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](/7-bank-project/solution/README.md) | لاگ ان اور رجسٹریشن فارم بنائیں | فارمز بنانے اور ویلیڈیشن روٹینز کو ہینڈل کرنے کے بارے میں سیکھیں | [فارمز](/7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](/7-bank-project/solution/README.md) | ڈیٹا کو حاصل کرنے اور استعمال کرنے کے طریقے | آپ کی ایپ میں ڈیٹا کیسے بہتا ہے، اسے کیسے حاصل کیا جائے، محفوظ کیا جائے، اور ختم کیا جائے | [ڈیٹا](/7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](/7-bank-project/solution/README.md) | اسٹیٹ مینجمنٹ کے تصورات | سیکھیں کہ آپ کی ایپ اسٹیٹ کو کیسے برقرار رکھتی ہے اور اسے پروگرام کے ذریعے کیسے منظم کیا جائے | [اسٹیٹ مینجمنٹ](/7-bank-project/4-state-management/README.md) | Yohan |
## 🏫 تدریسی اصول
ہمارا نصاب دو اہم تدریسی اصولوں پر مبنی ہے:
* پروجیکٹ پر مبنی تعلیم
* پروجیکٹ پر مبنی سیکھنا
* بار بار کوئز لینا
یہ پروگرام جاوا اسکرپٹ، HTML، اور CSS کے بنیادی اصولوں کے ساتھ ساتھ آج کے ویب ڈیولپرز کے استعمال کردہ جدید ترین ٹولز اور تکنیکوں کو سکھاتا ہے۔ طلباء کو ٹائپنگ گیم، ورچوئل ٹیریریم، ماحول دوست براؤزر ایکسٹینشن، اسپیس انویڈر اسٹائل گیم، اور کاروبار کے لیے بینکنگ ایپ بنانے کے ذریعے عملی تجربہ حاصل کرنے کا موقع ملے گا۔ اس سیریز کے اختتام تک، طلباء ویب ڈیولپمنٹ کی ایک مضبوط سمجھ حاصل کر لیں گے۔
یہ پروگرام جاوا اسکرپٹ، HTML، اور CSS کے بنیادی اصولوں کے ساتھ ساتھ آج کے ویب ڈیولپرز کے استعمال کردہ جدید ترین ٹولز اور تکنیکوں کو سکھاتا ہے۔ طلباء کو ٹائپنگ گیم، ورچوئل ٹیریریم، ماحول دوست براؤزر ایکسٹینشن، اسپیس انویڈر اسٹائل گیم، اور کاروباروں کے لیے بینکنگ ایپ بنانے کے ذریعے عملی تجربہ حاصل کرنے کا موقع ملے گا۔ اس سیریز کے اختتام تک، طلباء ویب ڈیولپمنٹ کی ٹھوس سمجھ حاصل کر چکے ہوں گے۔
> 🎓 آپ اس نصاب کے ابتدائی چند اسباق کو [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) پر Microsoft Learn پر لے سکتے ہیں!
> 🎓 آپ اس نصاب کے ابتدائی چند اسباق کو Microsoft Learn پر ایک [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) کے طور پر لے سکتے ہیں!
پروجیکٹس کے ساتھ مواد کو ہم آہنگ کر کے، عمل کو طلباء کے لیے زیادہ دلچسپ بنایا گیا ہے اور تصورات کی یادداشت کو بڑھایا گیا ہے۔ ہم نے جاوا اسکرپٹ کے بنیادی اصولوں کو متعارف کرانے کے لیے کئی ابتدائی اسباق بھی لکھے ہیں، جنہیں "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" ویڈیو ٹیوٹوریلز کے مجموعے کے ساتھ جوڑا گیا ہے، جن کے کچھ مصنفین نے اس نصاب میں تعاون کیا ہے۔
پروجیکٹس کے ساتھ مواد کو ہم آہنگ کرنے سے طلباء کے لیے عمل زیادہ دلچسپ ہو جاتا ہے اور تصورات کو یاد رکھنے کی صلاحیت میں اضافہ ہوتا ہے۔ ہم نے جاوا اسکرپٹ کے بنیادی اصولوں پر کئی ابتدائی اسباق بھی لکھے ہیں تاکہ تصورات کو متعارف کرایا جا سکے، جنہیں "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" ویڈیو ٹیوٹوریلز کے مجموعے کے ساتھ جوڑا گیا ہے، جن کے کچھ مصنفین نے اس نصاب میں تعاون کیا ہے۔
اس کے علاوہ، کلاس سے پہلے ایک کم دباؤ والا کوئز طالب علم کی توجہ کسی موضوع کو سیکھنے کی طرف مبذول کراتا ہے، جبکہ کلاس کے بعد دوسرا کوئز مزید یادداشت کو یقینی بناتا ہے۔ یہ نصاب لچکدار اور تفریحی طور پر ڈیزائن کیا گیا ہے اور اسے مکمل یا جزوی طور پر لیا جا سکتا ہے۔ پروجیکٹس چھوٹے سے شروع ہوتے ہیں اور 12 ہفتوں کے سائیکل کے اختتام تک بتدریج پیچیدہ ہو جاتے ہیں۔
اس کے علاوہ، کلاس سے پہلے ایک کم دباؤ والا کوئز طالب علم کی توجہ کسی موضوع کو سیکھنے کی طرف مرکوز کرتا ہے، جبکہ کلاس کے بعد دوسرا کوئز مزید یادداشت کو یقینی بناتا ہے۔ یہ نصاب لچکدار اور تفریحی طور پر ڈیزائن کیا گیا تھا اور اسے مکمل یا جزوی طور پر لیا جا سکتا ہے۔ پروجیکٹس چھوٹے شروع ہوتے ہیں اور 12 ہفتے کے سائیکل کے اختتام تک بتدریج پیچیدہ ہو جاتے ہیں۔
جبکہ ہم نے جاوا اسکرپٹ فریم ورک متعارف کرانے سے جان بوجھ کر گریز کیا ہے تاکہ کسی فریم ورک کو اپنانے سے پہلے ایک ویب ڈیولپر کے طور پر درکار بنیادی مہارتوں پر توجہ مرکوز کی جا سکے، اس نصاب کو مکمل کرنے کے بعد ایک اچھا اگلا قدم Node.js کے بارے میں سیکھنا ہوگا، جو ویڈیوز کے ایک اور مجموعے میں شامل ہے: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)"۔
جبکہ ہم نے جاوا اسکرپٹ فریم ورک کو متعارف کرانے سے جان بوجھ کر گریز کیا ہے تاکہ ویب ڈیولپر کے طور پر فریم ورک اپنانے سے پہلے درکار بنیادی مہارتوں پر توجہ مرکوز کی جا سکے، اس نصاب کو مکمل کرنے کے بعد اگلا اچھا قدم Node.js کے بارے میں سیکھنا ہوگا، ویڈیوز کے ایک اور مجموعے کے ذریعے: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
> ہمارے [Code of Conduct](CODE_OF_CONDUCT.md) اور [Contributing](CONTRIBUTING.md) رہنما اصول دیکھیں۔ ہم آپ کی تعمیری رائے کا خیرمقدم کرتے ہیں!
> ہمارے [Code of Conduct](CODE_OF_CONDUCT.md) اور [Contributing](CONTRIBUTING.md) رہنما اصول دیکھیں۔ ہم آپ کی تعمیری رائے کا خیرمقدم کرتے ہیں!
## 🧭 آف لائن رسائی
آپ اس دستاویز کو آف لائن [Docsify](https://docsify.js.org/#/) کا استعمال کرتے ہوئے چلا سکتے ہیں۔ اس ریپو کو فورک کریں، [Docsify انسٹال کریں](https://docsify.js.org/#/quickstart) اپنی مقامی مشین پر، اور پھر اس ریپو کے روٹ فولڈر میں `docsify serve` ٹائپ کریں۔ ویب سائٹ آپ کے لوکل ہوسٹ پر پورٹ 3000 پر دستیاب ہوگی: `localhost:3000`۔
آپ اس دستاویزات کو آف لائن [Docsify](https://docsify.js.org/#/) کا استعمال کرتے ہوئے چلا سکتے ہیں۔ اس ریپو کو فورک کریں، [Docsify انسٹال کریں](https://docsify.js.org/#/quickstart) اپنی لوکل مشین پر، اور پھر اس ریپو کے روٹ فولڈر میں `docsify serve` ٹائپ کریں۔ ویب سائٹ آپ کے لوکل ہوسٹ پر پورٹ 3000 پر پیش کی جائے گی: `localhost:3000`.
## 📘 پی ڈی ایف
@ -205,5 +211,7 @@ CO_OP_TRANSLATOR_METADATA:
یہ ریپوزٹری MIT لائسنس کے تحت لائسنس یافتہ ہے۔ مزید معلومات کے لیے [LICENSE](../../LICENSE) فائل دیکھیں۔
---
**ڈسکلیمر**:
یہ دستاویز AI ترجمہ سروس [Co-op Translator](https://github.com/Azure/co-op-translator) کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا غیر درستیاں ہو سکتی ہیں۔ اصل دستاویز کو اس کی اصل زبان میں مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ ہم اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے ذمہ دار نہیں ہیں۔