~/welcome
  1. amber-crt bios v2.6[ ok ]
  2. memory check[ ok ]
  3. mounting /stages[ ok ]
  4. mounting /courses[ ok ]
  5. loading lessons[ ok ]
  6. starting shell[ ok ]

guest@classroom:~$ ./start --welcome

برمجة، وتفكيرٌ منطقي، وحاسبٌ آلي

تعلّم البرمجةسطرًا بعد سطر.

نكتب الكود معًا من أول سطر، ونشغّله، ونقرأ رسالة الخطأ حين تظهر ونفهم سببها. لا نحفظ الحلول هنا، بل نتعلّم كيف نصل إليها.

اختر صفّك، ثم ابدأ بأول درس.

teacher.webp
صورة المعلّم
teacher.webpamber mono 1:1

guest@classroom:~$ ls -la ~/

ما في المجلد

total 5

drwxr-xr-x3stages/الصفوف الدراسية

drwxr-xr-x3courses/الكورسات

-rw-r--r--96lessons.dbالدروس

drwxr-xr-x2branches/السناتر

-rw-r--r--4reviews.logآراء الطلاب

# هذه الأرقام تُقرأ من الموقع نفسه، وتزيد مع كل درسٍ يُضاف.

guest@classroom:~$ cat about.md

about.md

عن المعلّم

هنا تُدرَّس البرمجة بالتجربة: نكتب البرنامج، ونشغّله، ونرى ما يحدث، ثم نسأل لماذا حدث.

لا يحتاج الطالب إلى أن يكون عبقريًا في الرياضيات ليبدأ. يحتاج إلى صبرٍ قليل، وإلى معلّمٍ يشرح الخطوة التالية بوضوح.

ماذا ستتعلّم هنا

  • أن تقسّم المسألة الكبيرة إلى خطواتٍ صغيرة.
  • أن تكتب الكود بنفسك بدل أن تنسخه.
  • أن تقرأ رسالة الخطأ وتصلح برنامجك.
  • أن تشرح برنامجك لغيرك بكلماتٍ بسيطة.

الخطأ ليس نهاية الدرس، بل بدايته.

NORMALabout.md [readonly] utf-8 ar

guest@classroom:~$ cd stages/ && ls

الصفوف الدراسية

لكل صفٍّ مجلّدٌ خاص فيه دروسه وتمارينه. ادخل مجلّد صفّك لترى مجموعاته ودروسه.

stage-1

الصف الأول الثانوي

مبادئ البرمجة: المتغيرات والشروط والتكرار، مع تمرينٍ قصيرٍ بعد كل درس.

stage-2

الصف الثاني الثانوي

القوائم والدوال وحل المسائل خطوةً خطوة، مع مشروعٍ صغيرٍ في نهاية كل وحدة.

stage-3

سنة الشهادة

الصف الثالث الثانوي

مراجعة المنهج كاملًا، وحل نماذج الامتحانات مع تتبّع كل برنامجٍ سطرًا سطرًا.

guest@classroom:~$ git log --reverse --graph --oneline

طريقة الشرح

أربع خطواتٍ تتكرّر في كل درس، مكتوبةً كما يكتب المبرمج سجلّ عمله.

  1. 3f9c2a1

    فهم المسألة قبل كتابة الكود

    نشرح المطلوب بالكلام العادي، ونرسم خطوات الحل على الورق، ثم نبدأ الكتابة.

  2. 7be21d4

    كتابة الكود باليد

    لا ننسخ حلًا جاهزًا. يكتب الطالب كل مثالٍ بنفسه ويشغّله على جهازه.

  3. a41f0e6

    تتبّع التنفيذ سطرًا سطرًا

    نتتبّع قيم المتغيرات في جدول، فيرى الطالب ما يحدث داخل البرنامج خطوةً خطوة.

  4. c02d9b8(HEAD -> main)

    قراءة الخطأ وإصلاحه

    نقرأ رسالة الخطأ معًا، ونصلح البرنامج، ثم نفهم لماذا حدث الخطأ حتى لا يتكرّر.

guest@classroom:~$ cat challenge.py

تحدي الأسبوع: ماذا سيطبع هذا البرنامج؟

تتبّع البرنامج بنفسك أولًا، ثم قارن إجابتك بالناتج وبجدول التتبّع.

challenge.py
# what does this program print?nums = [3, 8, 1, 6]total = 0for n in nums:    if n % 2 == 0:        total += nprint("sum of evens:", total)
الناتج

guest@classroom:~$ python3 challenge.py

sum of evens: 14

جدول التتبّع
nn % 2 == 0total
3False0
8True8
1False8
6True14

يمرّ البرنامج على الأعداد واحدًا واحدًا، ولا يجمع إلا الزوجي منها: 8 ثم 6، فيكون المجموع 14.

guest@classroom:~$ pkg search --available

الكورسات المتاحة

اختر الكورس المناسب لصفّك، وابدأ من أول درسٍ فيه. يُفتح الكورس في حسابك بعد الاشتراك.

  1. [متاح]

    أساسيات بايثون من الصفر

    المتغيرات والشروط والتكرار والدوال، مع تمرينٍ عملي بعد كل درس.

    24 درس

    200 ج.م

  2. [متاح]

    حل المسائل بالخوارزميات

    نحوّل المسألة إلى خطوات، ثم إلى كود، مع أمثلةٍ من أسئلة الامتحانات.

    16 درس

    150 ج.م

  3. [متاح]

    مراجعة ليلة الامتحان

    أهم الأفكار في ساعتين، مع حل نموذج امتحانٍ كامل وتتبّعه.

    6 درس

    مجاناً

guest@classroom:~$ man student

STUDENT(1)دليل الطالبSTUDENT(1)

دليل الاستخدام

NAME

student - طالبٌ يتعلّم البرمجة بالتجربة

SYNOPSIS

student [--replay] [--practice] [--trace] [--debug]

DESCRIPTION

ما تجده حين تدرس هنا، مكتوبًا على طريقة صفحات الدليل في الطرفية.

OPTIONS

--replay
الدرس المسجّل.تجد الدرس المسجّل في حسابك، فتعود إليه متى احتجت وتوقفه عند أي سطر.
--practice
التمرين قبل الحل.في كل درسٍ تمرينٌ تحاول حلّه بنفسك أولًا، ثم تقارن إجابتك بالحل.
--trace
التتبّع.نتتبّع البرامج في جداول، فترى قيمة كل متغيرٍ عند كل خطوة.
--debug
الخطأ بداية.رسالة الخطأ ليست عيبًا. نقرؤها معًا لنعرف من أين يبدأ الإصلاح.

SEE ALSO

courses(1)stages(1)challenge(1)faq(1)

Manual page student(1) line 1 (press q to quit)

guest@classroom:~$ tail -n 20 reviews.log

آراء الطلاب

ما كتبه طلابٌ درسوا هنا، كما كتبوه.

guest@classroom:~$ ping -c 1 branches

السناتر

إن كنت تفضّل الحضور، فهذه أماكن الحصص ومواعيدها.

  • branch-1

    PING branch-1

    سنتر المعادي

    المواعيد
    السبت والثلاثاء، 5 مساءً

    --- branch-1: reachable ---

  • branch-2

    PING branch-2

    سنتر مدينة نصر

    العنوان
    مدينة نصر، شارع عباس العقاد
    المواعيد
    الأحد والأربعاء، 6 مساءً

    --- branch-2: reachable ---

guest@classroom:~$ student --help

الأسئلة الشائعة

إجاباتٌ مختصرة عن أكثر ما يسأل عنه الطلاب وأولياء الأمور.

Usage: student [QUESTION]

Questions:

-q1هل أحتاج إلى جهاز كمبيوتر قوي؟

لا. أي جهازٍ يشغّل متصفحًا يكفي للدروس، ونشرح في أول درسٍ كيف تجهّز بيئة البرمجة خطوةً خطوة.

-q2لم أبرمج من قبل، فهل أستطيع البدء؟

نعم. الكورس الأول يبدأ من الصفر، ولا يفترض أنك تعرف شيئًا عن البرمجة.

-q3كيف أشترك في كورس؟

تختار الكورس، ثم تضغط زر الاشتراك وتكمل الدفع بالطريقة التي تناسبك، فيُفتح لك الكورس في حسابك مباشرة.

$ sudo join

[sudo] password for guest: ********

access granted

الخطوة التالية عندك.

ادخل حسابك، واختر صفّك، وابدأ أول درس. كل ما تحتاجه متصفحٌ وقليلٌ من الفضول.

F1تصفّح الكورسات