-
المساهمات
2780 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
6
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو ياسر مسكين
-
وعليكم السلام ورحمة الله تعالى وبركاته، بخصوص المسائل المالية ومسائل إعادة الدورة يمكنك تقديم طلبك مباشرة إلى مركز مساعدة أكاديمية حسوب فهم المخوّلون في الخوض والفصل في هذا النوع من الطلبات وسيرافقونك في ذلك بكل صدر رحب.
-
السلام عليكم ورحمة الله تعالى وبركاته، ليس واضحا بشكل جيد ما اسم الثيم الذي تشير إليه لكن على كل حال توجد العشرات من الثيمات التي يوفرها موقع vscodethemes يمكنك الانتقال إلى شريط البحث في أعلى الموقع والاختيار من هناك أي ثيم تريد ثم تقوم بتثبيته كما أنه يمكنك التحكم في تدرج الألوان على حسب رغبتك بحيث يمكنك الاختيار والفلترة على حسب لغة البرمجة التي تريد: أو على حسب شيوع وشهرة الثيم بحد ذاته من ناحية الاستخدام والتقييم: وهنا يمكنك البحث واختيار الألوان الأكثر رواجا أيضا:
-
يمكنك التعديل على إعدادات الشفافية من خلال إعدادات محرر الأكواد نفسه دون استخدام إضافات خارجية، وذلك من خلال الذهاب إلى: File > Preferences > Settings ثم البحث عن "window opacity" في شريط البحث وهناك ستجد الإعداد التالي: Window: Title Bar Style والإعداد: Window: Opacity هنا يجب تغيير قيمة Window: Opacity إلى رقم أقل مثلا لنضعه 0.8 أو 0.9 حيث أن 1.0 يعني عدم الشفافية و 0.0 يعني الشفافية الكاملة.
-
السلام عليكم ورحمة الله تعالى وبركاته، في مرحلة التعلم لا أنصح أبدا باستخدام أدوات الذكاء الاصطناعي أو توليد الأكواد، من الأفضل البدء بتعلم الخوارزميات وكتابة الأكواد بنفسك لفهم المنطق والهيكلة واكتساب القدرة على حل المشاكل المعقدة التي تحتاج إلى تفكير تحليلي عميق ومنطقي. وأفضل الطرق نجاعة هي التي تمزج بين التطبيق العملي والدروس النظرية وهذا ما تقدمه الأكاديمية من خلال دوراتها المختلفة. وأقترح عليك مراجعة هذه الإجابات لمعرفة أفضل الطرق لدراسة البرمجة:
-
السلام عليكم ورحمة الله تعالى وبركاته، أفضل طريقة لإضافة تباعد بين السطور هي استخدام القيم الرقمية مع خاصية line-height فهذه الطريقة هي الأكثر مرونة وعملية لأنها تتكيف تلقائيا مع أحجام الخطوط المختلفة دون الحاجة لتعديل القيم يدويا. فعندما تكتب التالي: line-height: 1.5 فهذا يعني أن المسافة بين السطور ستكون 1.5 ضعف حجم الخط المستخدم، فإذا كان حجم الخط 16px فسيصبح التباعد 24px تلقائيا، وإذا غيرت حجم الخط إلى 20px فسيصبح التباعد 30px دون تدخل منك وهذا ما يجعل التصميم متجاوبا ومتسقا عبر جميع العناصر وهذه بضعة أمثلة على استعمالها: p { font-size: 16px; line-height: 1.6; } h2 { font-size: 24px; line-height: 1.3; } .large-text { font-size: 20px; line-height: 1.8; }
-
هل تقصد أداة "أنا" التابعة لمنصة حسوب؟ برنامج إدارة المشاريع "أنا" أرجو توضيح استفسارك لكي نساعدك بشكل أفضل.
-
السلام عليكم ورحمة الله وبركاته، نعم بالفعل توجد أدوات ومشاريع مفتوحة المصدر توظف الذكاء الاصطناعي في مجال الأمن السيبراني ومن أبرزها Zeek لتحليل حركة الشبكة، وSecurity Onion التي تدمج عدة تقنيات للكشف والتحليل، كما توجد مشاريع مثل Deep Exploit التي تعتمد على التعلم المعزز لاختبار الاختراق، وMaltrail لاكتشاف التهديدات في حركة المرور الشبكي باستخدام قواعد الذكاء الاصطناعي. وكلّ هذه الأدوات تستخدم في مجالات متعددة مثل كشف التسلل، التحليل السلوكي، وتحديد التهديدات غير المعروفة وغيرها من المجالات. يمكنك التعمق في المجال أيضا من هنا:
-
السلام عليكم ورحمة الله تعالى وبركاته، ال MCP أو ما يعرف ب Model Context Protocol لا يمكن أن تكون بديلا لل APIs التقليدية لأنها عبارة عن بروتوكول متخصص تم تصميمه خصيصا لتسهيل تفاعل نماذج الذكاء الاصطناعي مع مصادر البيانات والأدوات الخارجية بطريقة موحدة ومعيارية. وقد انتشرت MCP بسرعة لأنها تحل مشكلة جوهرية في النظام البيئي لل AI وهي تعقيد ربط النماذج بمختلف مصادر البيانات، حيث توفر واجهة موحدة تمكن المطورين من إنشاء "خوادم MCP" بحيث تقوم بعرض البيانات والوظائف بصيغة مفهومة لنماذج الذكاء الاصطناعي دون الحاجة لكتابة كود تكامل مخصص لكل مصدر بيانات. وأما عن الفرق الجوهري بينهما فيكمن في أنّ APIs التقليدية مصممة للتفاعل بين التطبيقات والخدمات، بينما MCP مصممة خصيصا لتمكين نماذج الذكاء الاصطناعي من فهم والتفاعل مع البيانات مما يعني أن MCP تكمل APIs ولا تستبدلها. فهي تعمل كطبقة تجريد تسهل على المطورين ربط أدوات الذكاء الاصطناعي بمصادر البيانات المختلفة بطريقة معيارية وقابلة للتشغيل البيني، مما يفسر الاهتمام المتزايد بها في مجتمع المطورين العاملين مع تطبيقات الذكاء الاصطناعي حاليا.
- 3 اجابة
-
- 1
-
-
السلام عليكم ورحمة الله تعالى وبركاته، يمكنك إيجاد أي موضوع تبحث عنه من خلال مقالات أكاديمية حسوب في جزء "الذكاء الاصطناعي" من هنا: مقالات حول مجال الذكاء الاصطناعي وتعلم الآلة وفي حال أردت متابعة أي تقنية معينة مثلا آخر تطورات ChatGPT يمكنك الذهاب لموقع openAI مباشرة وهكذا مع باقي التقنيات، فأفضل موقع يمكنك البحث فيه هو الموقع الرسمي الخاص بالتقنية نفسها. أو يمكنك استعمال موقع Google Scholar ثم البحث من خلال كلمات مفتاحية مثل: "latest AI research 2025" وستجد آخر النتائج.
-
وعليكم السلام ورحمة الله وبركاته، يمكنك تحسين مهاراتك في حل المشكلات البرمجية بأي لغة تريد وليس فقط لغة جافا سكريبت وذلك بالاعتماد على مواقع متخصصة مثل Codewars و Exercism، حيث توفر تحديات مصممة خصيصا لكل مستوى، من المبتدئ إلى المتقدم وهي تدعم العديد من اللغات. أما إذا كنت تبحث عن تحديات تقيّم حلك وتقدّم شروحات يمكنك تجربة موقع HackerRank وLeetCode فهما مثاليان لذلك، إذ يقدمان نظام تصحيح تلقائي وتحليلات مفصلة. يوجد أيضا Coderbyte وهو يتميز بجمعه بين التحديات والمقالات التعليمية يمكنك الاعتماد عليه أيضا.
- 4 اجابة
-
- 1
-
-
السلام عليكم ورحمة الله وبركاته، بالنسبة لمتطلبات اجتياز الاختبار الخاص بالشهادة فهي تشترط إتمام أربع مسارات كاملة ولا يهم هنا الترتيب. يمكنك الاطلاع عليها من هنا: الامتحان والحصول على الشهادة بما أنك متمكن من لغة جافا سكريبت فيمكنك تخطي المسار الأول والبدء من مسار: أساسيات البرمجة.
-
يمكنك ذلك بسهولة من خلال الضغط على زر Ctrl + S في لوحة المفاتيح لديك حينما تكونين داخل ملف الكود داخل VSCode أو أي محرر أكواد آخر تستخدمينه، في حال كنت تعملين على VSCode ستلاحظين زوال الدائرة البيضاء أعلى الملف عند حفظ الملف ثم يمكنك رؤية التغييرات التي تحدث بعد ذلك. وفي حال كان سؤالك متعلقا بأحد الدروس الرجاء الانتقال أسفل الدرس وإضافة سؤالك مرفقا بتفاصيل أكثر هناك في خانة التعليقات المخصصة لذلك
-
السلام عليكم ورحمة الله تعالى وبركاته، حسب ماهو مبين في الصورة فيبدو أنه تمرين لاختبار ما وحسب قوانين الأكاديمية فالأسئلة الاختبارية وأسئلة الامتحانات لا يتم الإجابة عنها هنا أرجو المحاولة بنفسك وفي حال لم تفهم أي مفهوم أو أي جزئية يمكننا شرحها لك. بالتوفيق.
-
السلام عليكم ورحمة الله وبركاته، بخصوص FormData فهي الطريقة المثلى والمعتمدة لإرسال الملفات، وطريقتك في حفظ الملفات بها صحيحة تماما لحل مشكلة فقدان الملفات عند الإلغاء. أما بخصوص استراتيجية الرفع للملفات الصغيرة والمتوسطة فالأفضل هو التجميع ثم الرفع الموحد (تحديد الملفات + زر رفع) وذلك لتقليل الضغط على الخادم وإمكانية إرسال بيانات إضافية، أما للملفات الكبيرة فالأفضل الرفع الفوري لكل ملف مع إمكانية الحذف من الخادم. وبخصوص تقنيات الإرسال فتقنية XMLHttpRequest هي تقنية قديمة ومعقدة بعض الشيء بالرغم من توفر دعمها الجيد. أنصحك باستخدام Fetch فهي الخيار الأمثل حاليا كونها حديثة وبسيطة وتدعم async/await. أما Ajax فهو مصطلح عام يشمل الطرق غير المتزامنة وليست تقنية منفصلة وإذا قصدت jQuery Ajax فهي قديمة وغير محبذة حاليا. يمكنك التوسع أكثر في الأمر من هنا:
-
الحل صحيح بشكل عام ويحقق المتطلبات الأساسية للتمرين. فقد استخدمت Random Forest كتقنية كلاسيكية والشبكة العصبية كما طلب في التمرين وطبقت مقياس MAE بشكل صحيح. بعد رؤيتي لجزء تقسيم البيانات يبدو لي أن ذلك قد تم بالطريقة المحددة. وبالنسبة للنتائج الخاصة بمعالجة البيانات هي صحيحة خاصة من خلال استخراج الميزات من التاريخ والوقت مثل الساعة ويوم الأسبوع وإضافة متغير نهاية الأسبوع لذا حسب تحليلي فالتصورات البيانية مناسبة وتساعد في فهم البيانات بشكل جيد. لكن لدي ملاحظة بسيطة بحيث أن هناك عدم اتساق في معالجة البيانات الفئوية فقد استخدمت pd.get_dummies() مرة و OneHotEncoder مرة أخرى ولم تقم بطباعة النتائج النهائية للمقارنة بين النموذجين بوضوح يمكنك أيضا تحسين أداء النماذج من خلال ضبط المعاملات واستخدام تقنيات أخرى ينصح بها.
-
السلام عليكم ورحمة الله وبركاته، بالطبع فهو حساب واحد سواء أدخلت بالهاتف من خلال المتصفح الذي في هاتفك أو من خلال الحاسوب. بالنسبة لفقدانك كلمة السر يمكنك استعادتها من خلال كتابة بريدك الإلكتروني المسجل في الأكاديمية من خلال التوجه نحو صفحة تسجيل الدخول، ثم اضغط على فقدت كلمة المرور أو من هنا: https://accounts.hsoub.com/reset_password وبعد إدخال البريد الإلكتروني لحسابك اضغط على إرسال ثم توجه إلى بريدك الإلكتروني الذي أدخلته للحصول على تعليمات استعادة كلمة المرور. ثم قم بفتح الرسالة الواردة من حسوب ثم اضغط على الزر المشار إليه ب "استعادة كلمة المرور" ثم أدخل: كلمة المرور الجديدة في المربع الأول أعد إدخال كلمة المرور الجديدة في المربع الثاني للتأكيد ثم اضغط على تغيير بعد ذلك سيتم توجيهك إلى صفحة تسجيل الدخول ويمكنك إدخال البريد الإلكتروني وكلمة المرور الجديدة لتتمكن من دخول حسابك وستظهر لك تبويبة الدورات بشكل عادي.
-
الدوال find وfindIndex في لغة جافا سكريبت وfindOne في قواعد البيانات مثل MongoDB تستخدم للبحث عن عناصر داخل مجموعة بناء على شرط معين، ولكن يجب التنويه أنّ لكل منها هدف مختلف. فدالة find تستخدم في المصفوفات وتعيد أول عنصر يطابق الشرط المحدد، مما يجعلها مناسبة عندما نريد الوصول إلى كائن أو قيمة محددة من بين عدة عناصر. أما findIndex فهي تعيد فهرس أو كما نقول موقع أول عنصر يطابق الشرط، وليس العنصر نفسه، ونستخدمها عندما نحتاج إلى معرفة موضع العنصر داخل المصفوفة مثلا لتحديثه أو حذفه. لكن من جهة أخرى نرى أن findOne تستخدم عادة مع قواعد البيانات مثل MongoDB) وترجع أول مستند (document) يطابق الشرط المعطى، وهي مفيدة للبحث عن سجل واحد فقط مثل مستخدم معيّن أو منتج حسب معرف أو اسم. مثلا هنا على سبيل المثال في: const user = users.find(u => u.id === 5); لاحظ أنه يعيد الكائن نفسه بينما هنا: users.findIndex(u => u.id === 5); سيعيد الرقم مثل 2، أي موقعه فقط بينما في MongoDB: db.users.findOne({ id: 5 }) سيعيد أول سجل يطابق هذا الشرط من قاعدة البيانات.
-
السلام عليكم ورحمة الله وبركاته، في JavaScript سابقا كانت لا توجد خاصيات وصول مثل private و public و protected كما في Java أو PHP. وجميع الخصائص والدوال في الكائنات تكون قابلة للوصول من الخارج افتراضيا لكن مع ES202 تم إدخال الحقول الخاصة (Private Fields) باستخدام الرمز # قبل اسم الخاصية مثلا نكتب: #privateProperty وهذا يجعل من الخاصية غير قابلة للوصول من خارج الكلاس لكن كما قلت لك قبل ذلك كان المطورون يستخدمون اتفاقيات تسمية مثل البدء بشرطة سفلية _property للإشارة إلى أن الخاصية "خاصة" ولكن هذا مجرد اتفاق وليس فرضا تقنيا حقيقيا.
- 5 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله تعالى وبركاته، بصراحة فإن اختيار الدورة المناسبة يحتاج لكثير من التفاصيل من المهم أولا أن ندرك أن بناء المهارات في مجال الواجهات الأمامية يمر بخطوتين أساسيتين الأولى هي التمكن من الأدوات الأساسية ك HTML، CSS، وJavaScript، إلى جانب مكتبات مثل jQuery وبيئات العمل ك Bootstrap وWebpack، وهي المهارات التي تغطيها دورة "تطوير واجهات المستخدم" وتمنحك قدرة على تنفيذ تصاميم ثابتة وتحويلها إلى صفحات تفاعلية بسيطة دون الحاجة إلى أطر حديثة. أما الخطوة الثانية فهي التعمق في تقنيات متقدمة مثل React وNext.js، والتي تركز عليها دورة "تطوير التطبيقات باستخدام JavaScript"، وتمنحك فرصة لبناء تطبيقات متكاملة أكثر تعقيدا. لذا في حال كنت في بداية الطريق، ننصح بشدة أن تبدأ بتأسيس معرفتك بالأساسيات أولا، حتى لا تواجه صعوبات لاحقا عند التعامل مع مكتبات مثل React. بخصوص الميزانية يوجد عرض جديد تم إطلاقه وهو عرض: "طوّر مهاراتك بفرصة مضاعفة" أين يمكنك الاشتراك في دورتين بسعر دورة واحدة وهذا عرض جيد ولا يأتي دائما فهو يتم عرضه على فترات فقط. يمكنك الاطلاع عليه أكثر من هنا: https://academy.hsoub.com/offers/double-skills-2025/
- 4 اجابة
-
- 1
-
-
السلام عليكم ورحمة الله وبركاته، عندما نرغب في حفظ مستخدم جديد وربط مجموعة من الصور به في Laravel فإن الخطوة الأهم هي ضمان تنفيذ العمليات بترتيب صحيح أي أن نقوم أولا بحفظ المستخدم ثم نربط الصور باستخدام المعرف (ID) الذي حصل عليه. وللقيام بذلك بطريقة فعالة، نبدأ بتعريف العلاقة بين النموذجين أي في نموذج المستخدم User.php نضيف دالة images() تخبر Laravel أن المستخدم يمتلك عدة صور، وذلك عبر علاقة hasMany كالتالي: public function images() { return $this->hasMany(Image::class, 'fk_user_id'); } أما في نموذج الصور Image.php فنعرّف علاقة عكسية باستخدام belongsTo، حتى تتمكن الصورة من معرفة المستخدم المرتبطة به: public function user() { return $this->belongsTo(User::class, 'fk_user_id'); } وبعد ضبط العلاقات ننتقل إلى تنفيذ عملية الحفظ داخل المتحكم Controller وأول ما نقوم به حينها هو التحقق من صحة البيانات القادمة من النموذج، بما في ذلك الصور، باستخدام التابع validate هكذا: $user = User::create([ 'name' => $validated['name'], 'email' => $validated['email'], 'password' => Hash::make($validated['password']), ]); ثم نتحقق ما إذا كانت هناك صور مرفقة مع الطلب فإذا وجدت، نقوم بتخزين كل صورة في مجلد مخصص باستخدام store()، ثم نربطها بالمستخدم الجديد باستخدام العلاقة images() التي عرفناها سابقا: if ($request->hasFile('images')) { foreach ($request->file('images') as $file) { $path = $file->store('user_images', 'public'); $user->images()->create([ 'path' => $path, 'original_name' => $file->getClientOriginalName(), ]); } } وأخيرا نعيد ردا يفيد بأن كل شيء تم بنجاح: return response()->json(['message' => 'User and images saved successfully']); أما في واجهة المستخدم أي في ال form فيجب التأكد من أن الحقل الخاص بالصور يقبل ملفات متعددة، وذلك باستخدام multiple مع اسم يحتوي على أقواس مربعة بهذا الشكل: <input type="file" name="images[]" multiple>
-
السلام عليكم ورحمة الله وبركاته، عندنا نفكر في تنفيذ عملية المصادقة باستخدام رقم الهاتف فإن اختيار الخدمة المناسبة لا يعتمد فقط على الشهرة، بل على التوازن بين السهولة، التكلفة، والدعم الفني لأنه توجد عدة حلول يمكننا الاعتماد عليها، وكل واحدة منها تناسب سيناريوهات معينة على حسب المشروع خاصتنا. من أبرز الخيارات وأكثرها استخداما هي Firebase Authentication وما يميزها أنها توفر حلا جاهزا للمصادقة عبر SMS سواء على الويب أو الموبايل، مع دعم مباشر لمكتبات React Native وExpo بدون الحاجة لـ eject. كما أنها مدعومة بشروحات كثيرة ومجتمع نشط، مما يجعل عملية الدمج والتصحيح أسهل بكثير لكن يجب الانتباه إلى بعض النقاط مثل اعتماد تكلفة الرسائل على مزود Google ووجود قيود في بعض الدول التي لا تدعمها Firebase، مما قد يشكل عائقا في الأسواق المحظورة أو المحدودة. يوجد أيضا Twilio والتي تقدم حلا مرنًا وأكثر احترافية فهي لا تفرض علينا منطقا جاهزا، بل تمنحنا واجهات برمجية (APIs) يمكن من خلالها إرسال الأكواد والتحقق منها يدويا وهذا يتيح بناء نظام مصادقة مخصص بالكامل في الخادم من خلال NestJS وإضافة أي منطق تحقق إضافي نريده كما أن Twilio يسمح بإرسال الرسائل بأرقام مخصصة أو حتى باسم العلامة التجارية، بشرط تقديم مستندات إثبات الهوية وتكمن قوتها في المرونة العالية، لكنها تتطلب خبرة أكبر وتكلفة قد تكون أعلى من Firebase. أما إذا كنا نبحث عن منظومة مصادقة متكاملة لإدارة المستخدمين وتدفقات الدخول المتقدمة، فإن Auth0 خيار قوي لكنه موجه أكثر للشركات أو التطبيقات ذات التعقيد العالي. هذا الأخير يدعم المصادقة عبر الهاتف من خلال Twilio أو غيره، ويوفر لوحة تحكم متقدمة، لكنه أغلى نسبيا ويحتاج إعدادات أكثر تعقيدا، مما يجعله غير مثالي لتطبيقات ناشئة أو MVPs.
- 3 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته، لا يوجد دورة منفصلة تدرس رياكت فقط إنما توجد دورة "دورة تطوير التطبيقات باستخدام JavaScript" ومن خلالها يمكنك تعلم رياكت بحيث يوجد مسار مخصص له هناك. كما يمكنك دراسته من خلال مقالات الأكاديمية من هنا: https://academy.hsoub.com/programming/javascript/react/ أو من خلال موسوعة حسوب من هنا: https://wiki.hsoub.com/React أو من خلال التوثيق الرسمي لرياكت من هنا: https://react.dev
-
هذا الشعور طبيعي أن ينتابك في البداية، وهذا حال الجميع في حالتك وليس بالأمر الذي نقلق بشأنه. فاحتراف البرمجة لا يمكن أن يأتي بين ليلة وضحاها بل هو نتيجة عمل دؤوب ومستمر. بالنسبة للمتجر الإلكتروني فيمكنك بداية المتابعة مع المدرب أثناء التطبيق العملي خطوة بخطوة، وفي حال لم تفهم أي شيء من الشرح يمكنك الإشارة هناك أسفل التعليق وسنجيبك على كل تساؤلاتك. أرجو تفادي تخطي الدروس أو المسارات فبسبب ذلك لا يكون هناك تناسق بين الدروس وقد يحدث خلل في استيعابها كاملة يمكن استشارتنا في أي وقت لتقديم المشورة الصحيحة لك. بعد فهم الدرس جيدا ومحاولة التطبيق الأولية مع المدرب، يمكنك إيقاف الفيديو لوهلة ومحاولة معاودة التطبيق بنفسك وبمفردك. وهكذا مع مرور الوقت ستمتهن هذه المهارة وتصبح تبرمج بنفسك لأنك قد فهمت جيدا ما كان يفعله المدرب منطقيا وبرمجيا.
-
السلام عليكم ورحمة الله تعالى وبركاته، صحيح أننا حاليا نقترب بشكل واضح من مرحلة تصبح فيها البرمجة مهارة تتركز أكثر على فهم الكود، تحليل المشكلات، وتوجيه الأنظمة الذكية بدلا من الاعتماد على كتابة الكود من الصفر خاصة مع تطور أدوات الذكاء الاصطناعي في الآونة الأخيرة فقد أصبحت عملية كتابة الكود آليا أكثر دقة وسرعة، مما قلل الحاجة إلى الحفظ والتفصيل اليدوي. لكن بالرغم من ذلك فإن هذا لا يعني أن البرمجة فقدت قيمتها، بل إن طبيعتها تغيرت والمهارات المطلوبة اليوم تتجه أكثر نحو: قراءة الكود وفهمه، سواء كان مكتوبًا من قبل البشر أو مولدا آليا. تحديد المشكلات بدقة وتفكيكها إلى تعليمات واضحة. تحسين الكود القائم وصيانته. التعاون مع أدوات الذكاء الاصطناعي من خلال توجيهها بطرق فعالة (prompt engineering). وبالتالي نعم ينبغي أن تتغير طريقة تعليم البرمجة لتواكب هذا التحول والتركيز يجب أن يتحول من تعليم بناء الكود خطوة بخطوة إلى: تعليم التفكير الخوارزمي وحل المشكلات. تدريب على قراءة كود فعلي وتحليله. تطوير مهارات استخدام أدوات الذكاء الاصطناعي بذكاء. بناء مشاريع واقعية تدمج هذه الأدوات في التنفيذ.
