code بيشتغل فعلاً

مشاريع تحل مشاكل
إنت عندك فعلاً

مش «اطبع الأرقام من 1 لـ 10». ده code بيحسب فاتورة الكهرباء، ويقرا رقمك القومي، ويلاقيلك أقصر طريق في المترو، ويكسر شفرة من غير key.
وكل واحد فيهم اتشغّل على Python حقيقي واتأكدنا من ناتجه.

تقسيم حساب الخروجة

سهل

طلبتوا مع بعض، وكل واحد طلب حاجة بسعر مختلف، وفيه خدمة وضريبة. مين يدفع كام بالظبط؟

ليه ده مهم؟ هتبطّل تحسب في دماغك على الترابيزة. ونفس الفكرة بتتستخدم في أي تطبيق توصيل.

مصاريف الشهر — راح فين؟

سهل

المصروف بيخلص وإنت مش عارف راح فين. يلا نعدّه.

ليه ده مهم؟ أول program هيخليك تغيّر عادة. كل programs المالية في الدنيا بتبدأ من الفكرة البسيطة دي.

حاسبة فاتورة الكهرباء

متوسط

الكهرباء في مصر بتتحسب بالشرائح: أول كذا كيلوات بسعر، واللي بعدهم بسعر أغلى. عشان كده الفاتورة بتقفز فجأة لما تعدّي شريحة.

ليه ده مهم؟ ده أول مرة هتكتب code بيحسب حاجة إنت بتدفعها فعلاً كل شهر. وهتفهم ليه استهلاك زيادة 10 كيلوات ممكن يزوّد الفاتورة أكتر من المتوقع.

حساب GPA

متوسط

GPA مش متوسط درجاتك العادي. كل مادة ليها عدد ساعات، والمادة اللي 3 ساعات بتأثر أكتر من اللي ساعة واحدة.

ليه ده مهم؟ هتعرف بالظبط إيه اللي بيرفع تقديرك وإيه اللي بينزّله — وتقدر تحسب كام محتاج في الترم الجاي عشان توصل للتقدير اللي عايزه.

التقسيط — بتدفع زيادة كام؟

متوسط

المحل بيقولك «موبايل بـ 12,000 — قسّطه على 12 شهر بـ 1,180 في الشهر». يبقى إنت بتدفع كام زيادة فعلاً؟

ليه ده مهم؟ code ده ممكن يوفّرلك آلاف الجنيهات. أي عرض تقسيط تشوفه، حطّه هنا وشوف الحقيقة قبل ما تمضي.
بيستخدم:درس 2درس 5

تقرير درجات الدفعة

متوسط

عندك سطور بيانات خام: اسم ودرجة في كل سطر. عايز تطلّع منها تقرير كامل.

ليه ده مهم؟ ده بالظبط شكل أي شغل تحليل بيانات حقيقي: بتاخد بيانات مش مرتّبة، تنضّفها، تحوّلها، وتطلّع منها معلومة مفيدة. نفس المنطق لو البيانات من file أو من database.
بيستخدم:درس 6درس 7درس 8درس 9 Python الحقيقي بس

فاحص قوة كلمة السر

متوسط

إزاي المواقع بتعرف إن كلمة السر بتاعتك ضعيفة؟ بتفحص فيها إيه بالظبط؟

ليه ده مهم؟ هتفهم المنطق اللي ورا أي فورم تسجيل شوفته في حياتك — وهتعرف ليه كلمة السر بتاعتك ممكن تكون أضعف مما تتخيّل.

كشف الغياب — مين قرّب يتحرم؟

متوسط

كل ترم بيطلع كشف حضور طويل، ومحدش بيعرف مين وصل لحد الحرمان غير لما يبقى خلاص فات الأوان.

ليه ده مهم؟ ده أول تقرير حقيقي هتبنيه: بتقرا سجل خام، بتعدّ، بترتّب، وبتطلّع تحذير. نفس الخطوات اللي أي نظام جامعة بيعملها — بس في 40 سطر تفهمهم كلهم.

لعبة خمّن الرقم

تحدّي

الكمبيوتر بيختار رقم، وإنت بتخمّن. بعد كل تخمينة بيقولك «أكبر» أو «أصغر».

ليه ده مهم؟ دي أول لعبة هتكتبها. والأهم: فيها البحث الثنائي — أشهر خوارزمية في علوم الحاسب، وإنت بتستخدمها من غير ما تحس كل ما تفتح معجم أو تدوّر في list مرتّبة.
بيستخدم:درس 3درس 5درس 4 Python الحقيقي بس

قارئ الرقم القومي

تحدّي

الرقم القومي المصري 14 رقم، وكل جزء فيه له معنى: القرن، تاريخ الميلاد، المحافظة، والنوع. والرقم الأخير رقم تحقق.

ليه ده مهم؟ ده أول مرة هتكتب code بيقرا حاجة في جيبك دلوقتي. وهو بالظبط المنطق اللي أي بنك أو موقع حكومي بيستخدمه لما يرفض رقمك ويقولك «غير صحيح». وهتشوف إزاي تتحقق من تاريخ حقيقي — بما فيه السنة الكبيسة.
بيستخدم:درس 3درس 6درس 9درس 4 Python الحقيقي بس

مين يدي مين كام؟

تحدّي

رحتوا رحلة، وكل واحد دفع حاجة، وبعض الحاجات ما استفادش منها الكل. التسوية إزاي بأقل تحويلات؟

ليه ده مهم؟ الجزء الأول (الحساب) سهل. الجزء التاني هو المهم: تقليل عدد التحويلات. ده اللي بيخلي تطبيقات زي Splitwise تقولك «حوّل لعمر بس» بدل 12 تحويلة. والخوارزمية اسمها greedy — بتاخد أكبر قرار متاح كل مرة.
بيستخدم:درس 8درس 9درس 5درس 4 Python الحقيقي بس

الرقم بالكلام — زي الشيكات

تحدّي

أي فاتورة أو شيك رسمي لازم المبلغ يتكتب بالحروف كمان — «أربعة آلاف وتمنمية وخمسة وعشرين جنيه». وده شغل ممل وبيغلط فيه الناس.

ليه ده مهم؟ المشروع ده بيعلّمك حاجة أهم من code: تقسيم المشكلة. حوّل 0-99، بعدين 0-999، بعدين الآلاف. كل function بتستخدم اللي قبلها — وفجأة المشكلة الصعبة بقت تلات مسائل صغيرة.

أقصر طريق في المترو

متقدّم

إنت في المعادي وعايز توصل الدقي. المترو فيه 3 خطوط ومحطات تحويل. إيه أقصر طريق، وتغيّر فين؟

ليه ده مهم؟ دي خوارزمية BFS — واحدة من أهم خوارزميات علوم الحاسب. نفسها اللي بتستخدمها خرايط جوجل، وشبكات التواصل لما تقولك «صديق مشترك»، وحتى حل المتاهات في الألعاب. وإنت هتبنيها من الصفر على شبكة إنت بتركبها.
بيستخدم:درس 8درس 9درس 5درس 4 Python الحقيقي بس

كسر شفرة من غير key

متقدّم

عندك رسالة مشفّرة، ومحدش داك key. تكسرها إزاي؟

ليه ده مهم؟ الإجابة مش «تجرّب كل الاحتمالات» — دي بتشتغل هنا بس عشان الاحتمالات 25. الذكاء الحقيقي في تحليل التكرار: كل لغة ليها بصمة إحصائية. حرف e في الإنجليزي بيتكرر 12.7%. لو شفت حرف بيتكرر بالنسبة دي، غالبًا هو e. ده أساس علم كسر الشفرات كله.
بيستخدم:درس 6درس 5درس 9درس 4 Python الحقيقي بس

محلل سجل server

متقدّم

عندك file فيه آلاف السطور من سجل server. فيه حد بيحاول يخترق؟ إيه الصفحة اللي بتقع؟

ليه ده مهم؟ ده شغل حقيقي هتتطلب منك في أول وظيفة. والجزء الأمني هنا بيمسك نمط حقيقي: IP بيفشل في الدخول كذا مرة ورا بعض وبعدين ينجح — ده شكل هجوم brute force ناجح.
بيستخدم:درس 11درس 9درس 8درس 6 Python الحقيقي بس

ضغط هوفمان

متقدّم

إزاي file 10 ميجا يبقى 2 ميجا من غير ما يضيع منه حاجة؟

ليه ده مهم؟ ده نفس الخوارزمية اللي جوّه ZIP و JPEG و MP3. الفكرة عبقرية وبسيطة: بدل ما كل حرف ياخد نفس عدد البتات، الحرف اللي بيتكرر كتير ياخد code قصير. وهتبني شجرة — أول تركيب بيانات حقيقي هتبنيه بإيدك.
بيستخدم:درس 9درس 8درس 4درس 5 Python الحقيقي بس

ابني مفسّر بنفسك

متقدّم

إزاي Python بتعرف إن 2 + 3 * 4 تساوي 14 مش 20؟ مين قالها إن الضرب الأول؟

ليه ده مهم؟ ده أعمق مشروع هنا. هتبني مفسّر صغير بمرحلتين: تفكيك string لرموز، وتحليلها لنتيجة. والحتة الجميلة: إنت مش هتكتب ولا سطر عن الأولويات — ترتيب functions هو اللي هيعملها لوحده. والمحاكاة اللي في الموقع ده مبنية بنفس الطريقة بالظبط، بس أكبر.
بيستخدم:درس 6درس 4درس 3درس 5 Python الحقيقي بس

نظام استعارة كتب

متقدّم

أي library محتاجة تعرف كل كتاب عنده كام نسخة، ومين واخد إيه، وتمنع إن حد ياخد نسخة مش موجودة.

ليه ده مهم؟ ده أول مشروع classes حقيقي: الكتاب بيعرف نسخه المتاحة، و library بتعرف قواعدها. القاعدة متحطوطة جنب البيانات — فمستحيل حد ينسى يفحص قبل الاستعارة.
بيستخدم:درس 12درس 8درس 9درس 4 Python الحقيقي بس

لسه ما خدتش الدروس؟ المشاريع دي بتستخدم حاجات اتشرحت كلها بالتفصيل.

ابدأ من الدروس ←