أساسيات التعليمات البرمجية: دروس مجانية للمبتدئين

مرحبا يا هبر! أطلقنا في Hexlet هذا العام مشروعًا مفتوحًا ومجانيًا للمبتدئين: code-basics.ru . هذه دورات تدريبية تفاعلية لأولئك الذين لم يبرمجوا على الإطلاق. نحن نعلم أساسيات البرمجة ونتحدث عن التصميم الأساسي لأجهزة الكمبيوتر.


تتوفر الآن دورة PHP كاملة وأول وحدة JavaScript. على طريق المضرب وبيثون. إن شفرة المصدر الكاملة للنظام الأساسي والدروس نفسها مفتوحة المصدر.


اليوم أريد أن أخبركم قليلاً عن جوهر Code Code Basics ، ومداخله ، والمكدس التكنولوجي.



لماذا هو على الإطلاق


السؤال الرئيسي: "لماذا تحتاج إلى دورات أساسية منتظمة ، مليون منها؟" لسوء الحظ ، فإن معظم المواد المتاحة تشبه إلى حد كبير الأدلة أو الدروس العادية بأسلوب "افعلها ، انظر هنا ، إنها تعمل ، إنها رائعة ، أليس كذلك؟".


في عملية العمل على برامج التدريب الرئيسية على Hexlet ، واجهنا مشكلة: إذا بدأ الشخص تمامًا ، تمامًا من الصفر ، ولا يعرف ما هي المتغيرات والوظائف ، فإن الدورة الأساسية أو البرنامج التعليمي النموذجي لا يمكن أن يساعده فقط ، ولكن حتى يضره. سوف يعتاد المبتدئ بسهولة على "السحر" ، وليس أفضل معايير الترميز ، لنهج حفظ التفاصيل بدلاً من فهم الأنظمة.


للوهلة الأولى ، قد يشبه المشروع أكاديمية الكودك ، ولكن هناك ثلاثة اختلافات مهمة:


1. دروس باللغة الروسية. بدأنا بـ PHP ، بما في ذلك لهذا السبب - لم تكن هناك دروس عالية الجودة وتفاعلية ومجانية باللغة الروسية ، ولا تزال اللغة شائعة ومهمة في الصناعة.


2. نحن لا نعلم سطحية. هذه معضلة أبدية - من ناحية ، تحتاج إلى تغطية الكثير من الأشياء والاهتمام بالاتساع (و "الكلمات الشعبية") ، من ناحية أخرى ، نحن في Hakeslet نواصل اتباع مبادئنا لأهمية تأسيس وفهم الأنظمة ، وليس الميزات. أسهل للفهم مع الأمثلة:


أ) نعتبر الآثار الجانبية والتنوع - هذا أمر مهم للغاية ، ولكن لا أحد تقريبا يمس هذه المواضيع في الدورات الأساسية.


ب) فيما يتعلق بالسلاسل ، من المهم التحدث عن مفهوم الترميز نفسه . العمل بالرموز لا يتحول إلى "كلمات سحرية وسحرية".


ج) عندما يصبح من الواضح أن اللغة تسمح لك بالقيام بأشياء غريبة مثل 1 + '7' ، فمن المهم تعريف الطالب بالكتابة ، وعلى وجه الخصوص ، الكتابة الضعيفة .


د) عند تمرير القاعدة وظهور العديد من القطع المختلفة على نفس سطر الرمز في نفس الوقت ، من المهم جدًا أن يفهم الشخص على الفور ما هو التعبير وكيف يختلف عن التعليمات. وكيف يمكن احتواء التعابير في التعاريف .


هـ) عندما يبدأ العمل بالوظائف ، من المفيد الاستمرار في التفكير في التعبيرات ، ولكن بالفعل في سياق المكالمات والإرجاع والحجج.


أعتقد أنك فهمت النقطة. نحن المبرمجين لا نفكر كثيرًا في أشياء مثل foo(a+b) أو return foo(x) ، ولكن بالنسبة للمبتدئين في كثير من الأحيان ، تكون مثل هذه الإنشاءات أكثر تعقيدًا من foo(a) القياسي أو return x . وهنا يمكنك إلقاء نظرة طويلة على جميع الحالات الفردية ، ولكن من الأفضل شرح الجوهر ، نظام القواعد الأساسية للغات البرمجة.


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


3. مجاني وتفاعلي. لقد أنشأنا Code-Basics أيضًا لأنه لم يكن هناك مكان لإرسال مبتدئين كانوا يستعدون لبرنامجنا الرئيسي ، "مهنة مطور PHP". ببساطة ليس هناك دورة مجانية عبر الإنترنت! بتعبير أدق ، الآن هناك :)



ميزات مهمة أخرى:


  • نعلمك تسمية الوظائف بشكل صحيح واتباع معايير الترميز.
  • نحن نشارك خبرتنا وأفضل الممارسات.
  • في كل تمرين ، يوجد قرار المعلم ، والذي يتوفر بعد قرار مستقل أو بعد نصف ساعة من المحاولة :) وفي نفس الوقت ، يمكن مقارنة قرارك بقرار المعلم في صفحة واحدة.
  • يمكن مناقشة كل درس مع الطلاب الآخرين. نحاول تنظيف المناقشات من "المفسدين"
  • يتم إنشاء المهام حول Game of Thrones :) (انظر الشاشة أعلاه ، على سبيل المثال)

التفويض ، مما يسمح لك بالوصول إلى التمارين وحفظ تقدم الدروس حتى الآن فقط من خلال Github. ننتهز هذه الفرصة لإثارة القادمين الجدد لإنشاء حساب على Github في أقرب وقت ممكن :)


تحت غطاء المحرك


مكتوب Hakeslet على القضبان. كتبنا عن الدواخل من Hakeslet قبل ثلاث سنوات (omg ، ثلاث سنوات!) في مقال " تحت غطاء مشروع Hakeslet التعليمي " ، ومنذ ذلك الحين تغير الكثير ، ولكن كل شيء هو نفسه بشكل أساسي: Rails و PostgreSQL ، كل شيء يتحول إلى AWS وجزئيًا على Azure ، استخدمت بنشاط عامل الميناء ، ونشر والتدبير من خلال Ansible. تحت كل تمرين لكل مستخدم ، ترتفع الحاوية ، مما يسمح لك بالقيام بتمارين بأي تعقيد تقريبًا: مع الأطر والخوادم والوصول إلى الويب.


قررت Code-Basics في البداية تجربة شيء جديد وخفيف الوزن أكثر من Rails. على سبيل المثال ، nodejs + Typcript + بعض الهياكل الدقيقة. ولكن ، على نحو مفضل ، ليس أقل تعبيراً عن ريلز. نظرًا لحبنا ل Erlang ، فقد وقع الاختيار بشكل طبيعي على طائر الفينيق ، خاصة وأن الأيدي التي تسبب الحكة خدشت لفترة طويلة لتجربة Elixir.


فاجأ الإطار بشكل غير متوقع. على الرغم من العدد الأقل بكثير من الميزات ، إلا أنه يتم بشكل سليم للغاية. التكامل مع JavaScript ، والبنية التحتية الاختبارية المطورة ، ORM الممتاز (ولكن غير معتاد ، تحتاج إلى التعود عليه) ، والكثير من نظرائهم في السكك الحديدية (على سبيل المثال ، دعم ضئيلة أو غون).


كان هناك شيء واحد تم القيام به بشكل أفضل بكثير من الأطر الأخرى: إنشاء مجموعة من الوسيطة لطرق محددة أو مجموعة من الطرق. حتى إذا كنت لن تستخدم طائر الفينيق ، نوصيك بالتعرف على خط الأنابيب .


وبالنظر إلى وجود الممثلين (والقنوات المعدة مسبقًا في فينيكس) ، يمكننا بالتأكيد القول أن Elixir يتفوق على Node JS في جميع المواقف تقريبًا. وحيث أن الأشياء الأخرى متساوية ، فسوف نختار فينيكس للتنمية.



على الجبهة - نستخدم React + Redux. تم تصميم Layout على Bootstrap 4 ، مثل جميع مواقعنا (hexlet.io ، guides.hexlet.io). يستخدم محرر التمارين التفاعلية موناكو ، وهو أساس VS Code. لقد تحولنا أيضًا إلى موناكو في Hexlet نفسها.


البنية التحتية والنشر هما Terraform و Ansible ومجموعة من الاختصارات للفرق الأكثر شعبية. تتوفر مصادر أساسيات التعليمات البرمجية في Github ، ونحن نقبل طلبات السحب.


الدروس والتمارين العملية نفسها أيضًا . بما في ذلك نحن نقبل طلبات السحب لترجمة الدروس إلى اللغة الإنجليزية. حتى الآن ، يتوفر عدد محدود من دروس اللغة الإنجليزية هنا .


من يجب أن يستخدم أساسيات التعليمات البرمجية


  • مبتدئين بدون خبرة.
  • المبرمجون المبتدئون الذين "يسبحون" قليلاً في الموضوعات الأساسية ولا يفهمون تمامًا كيفية عمل الأشياء التي تتجاوز الأمثلة البسيطة من الكتب المدرسية.
  • يعمل المعلمون مع المبتدئين.

الخطط


دورات Code-Basics التالية هي JavaScript و Racket و Python. الآن هناك 63 درسًا في PHP وقريبًا سيتم إصدار المزيد: حول وظائف المكتبة ، والعمل مع التاريخ والوقت ، و unicode. تحتوي جافا سكريبت على الوحدة الأولى ، وسيكون المحتوى في معظمه مشابهًا لـ PHP: كل شيء من الحساب إلى الدالات.


تشمل الخطط الأخرى الترجمة إلى اللغة الإنجليزية. يمكنك المساعدة في هذا الأمر: ستكون جميع دورات Code Basics هذه مجانية تمامًا.


يسعدنا الرد على أسئلتك في التعليقات. شكرا لك!

Source: https://habr.com/ru/post/ar415301/


All Articles