JavaRush /مدونة جافا /Random-AR /مواد إضافية للمحاضرات CS50: الأسبوع 0 (المحاضرتان 1 و 2)
Bender
مستوى
Маунтин-Вью

مواد إضافية للمحاضرات CS50: الأسبوع 0 (المحاضرتان 1 و 2)

نشرت في المجموعة
من لم يشاهد محاضرات جامعة هارفارد عن أساسيات البرمجة بعد، اذهب هنا: https://javarush.com/quests/QUEST_HARVARD_CS50 =)

مقدمة. هيكل دورة CS50

مواد إضافية للمحاضرات CS50: الأسبوع 0 (المحاضرتان 1 و 2) - 1أصدقاء! في المقدمة، سنذكرك (أو نخبرك أيًا كان) بهيكل CS50. تستمر الدورة 12 أسبوعا. هناك محاضرتان كل أسبوع، بالإضافة إلى جميع أنواع الندوات والشروحات. سنقوم بنشر مقالات مثل هذه بمجرد أن تصبح المحاضرات جاهزة. وسيحتوي على وصف موجز للمحاضرات، وملاحظات حول "الشورتات" ومعلومات إضافية، بالإضافة إلى ترجمات الواجبات العملية. تناولت محاضرات الأسبوع الصفري المواضيع التالية:
  • نظام الأرقام الثنائية.
  • أسكي
  • الخوارزميات والتفكير الخوارزمي
  • المجمعين
  • لغة الصفر
  • التعبيرات المنطقية
  • شروط
  • دورات
  • المتغيرات
  • المهام
  • المصفوفات
  • تيارات
  • الأحداث
أهداف الأسبوع 0:
  • فهم كيف يمكن تمثيل المعلومات رقميا.
  • تعلم بنيات البرمجيات الأساسية والمفاهيم.
  • قم بإنشاء الرسوم المتحركة أو اللعبة أو النشاط التفاعلي الخاص بك باستخدام Scratch.
  • اعجاب أصدقائك =).

CS50 الأسبوع 0 (المحاضرة 1-2): ملاحظات

الخوارزميات

مواد إضافية للمحاضرات CS50: الأسبوع 0 (المحاضرتان 1 و 2) - 2نأمل أن تكون قد شاهدت المحاضرات بالفعل وفهمت أن الخوارزمية تقسم حل المشكلات (المسائل المختلفة أو المسائل الرياضية أو "كيفية الوصول إلى محطة المترو N") إلى خطوات. علاوة على ذلك، يجب إكمال كل خطوة في فترة زمنية محدودة، ويجب أن يكون هناك عدد معين من الخطوات نفسها. كما أن الخطوة التالية تعتمد على الخطوة السابقة. يمكنك قراءة المزيد عن الخوارزميات، على سبيل المثال، هنا . إذا كنت تعرف اللغة الإنجليزية، إليك رسوم متحركة رائعة لـ TED لديفيد مالان: https://youtu.be/6hfOvs8pY1k على الرغم من أن المعلومات الموجودة في الفيديو بشكل عام تكرر ذلك في المحاضرة =).

نظام الأرقام الثنائية

مواد إضافية للمحاضرات CS50: الأسبوع 0 (المحاضرتان 1 و 2) - 3لدينا 10 أصابع والنظام عشري. أي أنه يمكننا تمثيل أي رقم، مهما كان كبيرًا، باستخدام الأرقام 0، 1، 2، 3، 4، 5، 6، 7، 8، 9. اعتمادًا على مكان وجود الرقم في الرقم، يمكن أن يعني ذلك أشياء مختلفة: إذا كان هذا الرقم هو الأخير، فهو يقع في خانة الآحاد، والرقم قبل الأخير يقع في خانة العشرات، وحتى إلى اليسار يقع في خانة المئات، وهكذا. في الأساس، يمكن كتابة أي رقم كمجموع أرقام، كل منها مضروب في عشرة إلى قوة معينة. في حالة الوحدات - صفر. على سبيل المثال, 1573 = 3*10 0 + 7*10 1 +5*10 2 +1*10 3 . يسمى الرقم الذي يتم ضرب الأرقام به بأساس نظام الأرقام. بالنسبة للنظام العشري، الأساس منطقيًا هو عشرة. ليس لدى الكمبيوتر أصابع، ولكن هناك حالتان: "التيار يتدفق" بشكل مشروط و"التيار لا يتدفق"، صفر وواحد. وفقا لذلك، تتكون جميع الأرقام (والمعلومات بشكل عام) في ذاكرة الكمبيوتر من رقمين فقط - 0 و 1. يشير موقعها، كما في حالة نظام الأرقام العشري، إلى الرقم. الآن فقط يمكن تحليل الرقم إلى مجموع الأرقام مضروبًا ليس في قوى العشرة، بل في قوى الاثنين. 0 في النظام الثنائي = 0 1 في النظام الثنائي = 1 2 في النظام الثنائي = 10 7 10 =111 2 تعلم كيفية التحويل من النظام الثنائي إلى النظام العشري. ربما تكون قد فهمت بالفعل كيف يتم ذلك - فنحن ببساطة نأخذ رقم الرقم بدءًا من الرقم الموجود في أقصى اليمين ونضربه في الأساس إلى القوة المقابلة لرقمه، ونضيف كل شيء مع كل رقم. مثال: لنجد التماثل العشري للرقم الثنائي 101101 2 أقصى اليمين = 1*2 0 الصفر التالي = 0*2 1 الثالث من اليمين = 1*2 2 الرابع = 1*2 3 .. وهكذا 101101 2 = 1*2 0 + 0*2 1 + 1*2 2 + 1*2 3 + 0*2 4 + 1*2 5 = 1 + 0 + 4 + 8 + 0 + 32 = 45 10 تخيل ثمانية مصابيح كهربائية مرتبة على التوالي. كل واحد منهم لديه التبديل الخاص به. كل من المصابيح الكهربائية عبارة عن تفريغ. ماذا يمكنك أن تتخيل، تذكر المحاضرة الأولى (يوجد مثل هذا الجهاز هناك) أو إليك أداة مخصصة لك : http://cdn.cs50.net/2016/x/psets/0/pset0/bulbs.html معه، تدرب على "الشعور" بالنظام الثنائي. التحويل من العشري إلى الثنائي. هنا أيضًا كل شيء بسيط جدًا إذا فهمت الجوهر. لدينا هنا الرقم 57 10 . لتحويله إلى النظام الثنائي، تحتاج إلى تحديد الحد الأقصى لقوة اثنين لا يتجاوز هذا الرقم. 2 6 = 64. من الواضح أن هذا كثير جدًا. لكن 2 5 = 32. لقد حددنا الآن الرقم الأكثر أهمية. 32 10= 100000 2 . الآن نحن نبحث عن الرقم التالي. 57-32 = 25. الآن بالنسبة إلى 25، نبحث عن أس اثنين لا يتجاوز 25. 2 4 = 16. هذا يعني أن الرقم التالي يساوي أيضًا 1. 32+16 = 48 10 = 110000 2 . 57 – 48 = 9. 2 3 = 8، هذا أقل من 9. وهذا يعني أن الرقم التالي سيكون واحدًا أيضًا. 32 + 16 + 8 = 56 10 = 111000 2 . 57-56 = 1، أي أنه لم يتبق سوى قوة واحدة، 2 0 . وبالتالي 57 10 = 111001 2 . إذا بقي شيء ما غير واضح فجأة، فيمكنك قراءة المزيد في Wikibook، وإذا كنت قويًا في اللغة الإنجليزية، فإليك إضافة صغيرة إلى المحاضرة.

أسكي

مواد إضافية للمحاضرات CS50: الأسبوع 0 (المحاضرتان 1 و 2) - 4الكمبيوتر يفهم فقط الأصفار والآحاد، ويمكن تمثيل ذاكرته كسلسلة طويلة جدًا من المصابيح الكهربائية ذات المفاتيح، كما رأيت أعلاه. نحن نفهم بالفعل كيفية تمثيل الأرقام في جهاز الكمبيوتر. وماذا عن بقية المعلومات؟ الحروف والصور؟ لنفترض أن هناك 26 حرفًا في الأبجدية الإنجليزية. أي أنه من الناحية النظرية، يمكننا تمثيل الحروف بأرقام من 0 إلى 25، فقط في النظام الثنائي. السؤال التالي الذي يطرح نفسه: كيف يمكننا أن نفهم ما إذا كان لدينا حرف صغير أم حرف كبير؟ ماذا عن علامات الترقيم؟ علامات غير مرئية مثل المساحات؟ باختصار، نحتاج إلى نظام تشفير يا كاب! في الستينيات، كان هناك العديد من المخططات المختلفة التي تقوم بتشفير الأحرف. ثبت أن الافتقار إلى التوحيد يمثل مشكلة، وفي عام 1963، قام المعهد الأمريكي للمعايير (ANSI) بتطوير وتقديم نظام ترميز ASCII (الرمز القياسي الأمريكي لتبادل المعلومات). يتكون كل حرف ASCII من سبع بتات، أو سبع بتات، كل منها يمكن أن تأخذ القيمة 0 أو 1. يمكن أن تحتوي 7 بتات على أرقام من 0 إلى 127 في النظام الثنائي، مما يعني أن لدينا 128 رقمًا لتشفير الأحرف. يبدو أن هذا يكفي لتشفير الكلام المكتوب باللغة الإنجليزية؟ لنعد: az - 26 خيارًا AZ - 26 أخرى 0-9 - 10 ,;:~& وعلامات الترقيم الأخرى - 32 ومسافة أخرى. المجموع - 95 حرفا. يتم استخدام الخيارات الشاغرة الـ 33 المتبقية لما يسمى بأحرف التحكم، مثل تغذية السطر أو إرجاع السطر: https://ru.wikipedia.org/wiki/ASCII#/media/File:ASCII_Code_Chart.svg ومن المهم التمييز بين الأحرف 0-9 والقيم الرقمية 0-9. يتم تمثيل الأحرف 0-9 بقيم ASCII 48-57. ومن المثير للاهتمام أن نلاحظ أن البتات الأربعة الموجودة في أقصى اليمين من قيم ASCII هي تمثيلات ثنائية للقيم الرقمية من 0 إلى 9. وهذا يبسط إلى حد ما طريقة التحويل بين قيم ASCII وقيمها الرقمية الفعلية. لنبدأ بالبرمجة؟

يخدش

مواد إضافية للمحاضرات CS50: الأسبوع 0 (المحاضرتان 1 و 2) - 5لذلك، سكراتش. لقد تم إخبارك عن لغة البرمجة المرئية هذه وأوامرها الأساسية في المحاضرة. لتجربة Scratch بنفسك، اتبع الرابط وانقر على "انضمام". بمجرد التسجيل، يمكنك البدء بالبرمجة عبر الإنترنت. نعم، بالمناسبة، سكراتش اليوم أصبح سكانها ينالون الجنسية الروسية جزئيًا. ومع ذلك، لا تزال المساعدة باللغة الإنجليزية. إذا كنت ترغب في ذلك، يمكنك اللعب وإلقاء نظرة على كود مشاريع الطلاب التي تم عرضها في المحاضرة. إليك معجنات بيكاتشو كاتش . أو مشروع لفرز النفايات في حاويات مختلفة: https://scratch.mit.edu/projects/71161586/ يطلب منك David والشركة ألا تقلق إذا كنت تعتقد أنه لا يمكنك القيام بمثل هذه المشاريع المعقدة: هذا المستوى يتطلب بالفعل بعض المهارات .

يمارس

  1. لفهم العمليات التي تحدث في Scratch بشكل أفضل، يمكنك تنزيل الكود المصدري لعدة مشاريع من هنا . العب وانظر. تعلم كود شخص آخر مفيد جدًا. هذه واحدة من أفضل الطرق لمعرفة ما هو موجود داخل تلك البرامج التي لم تنضج بعد. بمجرد أن تبدأ في فهم كيفية عمل هذه التطبيقات، يمكنك المضي قدمًا بأمان.

  2. الآن حان الوقت لفعل شيء ما بنفسك. ويتمثل التحدي في الاستمتاع أثناء تنفيذ مشروع صغير من الصفر. يمكن أن تكون رسوم متحركة أو لعبة أو حركة تفاعلية.

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

الصفر: دليل سريع للعمل

العفريت هو الكائن المركزي للمشروع. أي شخصية - قطة، طائرة، كرة - هي كائن. إذا أضفت قطتين مختلفتين، فهذان كائنان مختلفان. مواد إضافية للمحاضرات CS50: الأسبوع 0 (المحاضرتان 1 و 2) - 6يحتوي كل كائن على نصوص تصف سلوكه. هذه هي كتل العمل. الأزياء هي ما تبدو عليه الأشياء. العفاريت نفسها هي في الأساس مجرد رسومات. يمكن أن يكون لكل كائن أزياء متعددة. لإنشاء كائن، تحتاج إما إلى تحديد زيه الأصلي من مكتبة Scratch، أو رسم زيك الخاص في المحرر المدمج، أو تحميل أي صورة، أو حتى التقاط صورة باستخدام كاميرا الويب الخاصة بك وتحميلها. يتم وضع جميع العفاريت على المسرح المزعوم. المسرح هو في الأساس لوحتنا القماشية، وهو الإعداد للبرنامج. يمكنك أيضًا إرفاق أصوات من المكتبة بكائن أو مشهد، أو يمكنك تحميلها أو تسجيلها بنفسك باستخدام ميكروفون. لبدء تنفيذ البرنامج، عليك النقر على العلم الأخضر الموجود في الزاوية اليمنى العليا من نافذة المشهد. ولكن قبل القيام بذلك، تحتاج إلى وضع الكتلة التالية في البرنامج: مواد إضافية للمحاضرات CS50: الأسبوع 0 (المحاضرتان 1 و 2) - 7وإرفاق بعض الكتل بها، كجزء مصمم. على سبيل المثال: مواد إضافية للمحاضرات CS50: الأسبوع 0 (المحاضرتان 1 و 2) - 8في هذه الحالة، عند النقر فوق العلم، فإن الكائن الذي تم إرفاق الإجراءات به يأخذ 50 خطوة ومواء. لدينا الكثير من الكتل. وهي مقسمة إلى ثلاث علامات تبويب: النصوص والأزياء والأصوات. دعونا نصنع برنامجًا بسيطًا بشرط. إذا تم الوفاء به تموء القطة، وإذا لم يتم الوفاء به يظل صامتًا. يشار إلى المشغلين باللون الأخضر. تلك التي تختبر ما إذا كان الشرط صحيحًا أم خطأ لها زوايا حادة على الجانبين. تظهر هياكل وحلقات اختبار الحالة باللون البرتقالي. لديهم فتحات خاصة حيث يمكنك وضع كتل أخرى.

دورات:

كرر عددًا لا نهائيًا من المرات: مواد إضافية للمحاضرات CS50: الأسبوع 0 (المحاضرتان 1 و 2) - 9كرر شيئًا ما لعدد معين من المرات: مواد إضافية للمحاضرات CS50: الأسبوع 0 (المحاضرتان 1 و 2) - 10كرر الإجراء إذا تم استيفاء الشرط: مواد إضافية للمحاضرات CS50: الأسبوع 0 (المحاضرتان 1 و 2) - 11يمكنك إنشاء متغيرات في كتلة البيانات. في المثال أدناه، قمنا بإنشاء متغير x، وعلى الفور كانت هناك إجراءات يمكن القيام بها به. يمكنك ضبط نطاق المتغيرات: لجميع الكائنات أو لواحد. مواد إضافية للمحاضرات CS50: الأسبوع 0 (المحاضرتان 1 و 2) - 12العلم الأخضر ليس الإجراء الوحيد. يمكنك أيضًا العثور في قسم الأحداث على عدد من شروط التحكم الأخرى. على سبيل المثال، يمكنك اختيار ما تريد فعله عند النقر فوق زر أو على الكائن نفسه باستخدام الماوس. إذا كنت بحاجة إلى معلومات إضافية، يمكنك العثور عليها، على سبيل المثال، هنا .

ماذا بعد

إذا كان الوصول إلى الإنترنت الخاص بك أقل بكثير مما هو مرغوب فيه، فنوصي بتنزيل محرر Scratch غير المتصل بالإنترنت على https://scratch.mit.edu/scratch2download/ . ثم لا تنس إرسال مشروعك إلى http://scratch.mit.edu/ باستخدام File > Upload from Computer.
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION