[عزف الموسيقى] 

-Alright! 

، هذا هو CS50. 

، هذا هو CS50. 

، هذا هو CS50. [MUSIC - إيجي AZALEA "فانسي"] 

الذاكرة بين بلدي المفضلة من CS50 وعندما ذهبت إلى لغز اليوم. 

-Probably مجرد وقت قضى على مجموعات العمل المشكلة مع أصدقائي والناس الذين القفر تصبح في نهاية المطاف blockmates بلدي. 

بين بلدي أفضل من الذاكرة CS50 هو Hackathon. -THE CS50 Hackathon. 

-Hackathon. 

-Hackathon. -Hackathon. -THE Hackathon -Rob بودين. فقط كل شيء عنه. 

[MUSIC - إيجي AZALEA "فانسي"] 

الذاكرة هي المفضلة بين بلدي عندما كنت في مرحلة وأنا لعبت دور المرموقة عقدة [؟ في مرتبط؟] [؟ القائمة. ؟] 

نحن جميعا، وعندما حصلت دروببوإكس مساحة حرة و وكان ديفيد مثل، انظر أسفل المقاعد الخاصة بك. وكان مثل، مساحة للجميع! 

[MUSIC - إيجي AZALEA "فانسي"] 

بين بلدي المشورة لأي طالب واردة من شأنه يكون للعمل حقا على P-مجموعات مع الأصدقاء. 

ساعات -Office هي كثيرا صديقك. 

، جعل أقصى استفادة من خبرتكم وتلبية أكبر عدد من الناس كما يمكنك. 

مش تخافوا لطلب المساعدة. -Start للمجموعات P في بداية الأسبوع. من أنا أعتقد أن أهم شيء هو ل الاستفادة من جميع الموارد أن CS50 لديه. 

-Go لساعات العمل في الأسبوع في وقت مبكر. 

مشاهدة -Definitely السراويل. 

مش المماطلة على جهاز P-مجموعات. ، تأكد من أن تجد مجموعة كبيرة من الناس للعمل على P-مع مجموعات. هل يمكن أن يكون الكثير من المرح والحصول على العمل المنجز معا. 

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

أشياء -Write على الورق قبل سبق لك أن تلمس جهاز الكمبيوتر الخاص بك. 

-CS50 هو عظيم حقا في توفير طرق للحصول على المساعدة. 

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

من أنا أن أقول حقا أن يكون مستعدا ذهنيا لأنك سوف الحب. [MUSIC - إيجي AZALEA "فانسي"] 

، هذا هو CS50. 

، هذا هو CS50. 

، هذا هو CS50. [MUSIC - إيجي AZALEA "فانسي"] 

، هذا هو CS50. 

[تصفيق] 

J. DAVID مالان: لذلك هذا هو CS50 وهذه هي نهاية اسبوع 0. وكان ذلك مجرد بعض الموظفين الذين CS50 تنتظركم ليس فقط في الأقسام وساعات العمل، ولكن، أيضا، في نهاية هذا الاسبوع القادمة في CS50 لغز اليوم. التي، مرة أخرى، ليس كل شيء عن البرمجة. في الواقع، من المتوقع أن تقوم عليه لن يكون لبرمجة أي شيء، بل حل المشاكل باستخدام دهاء والأصدقاء جنبا إلى جنب مع لكم. 

نحن سينضم اليهم بعض أصدقائنا في Facebook-- إذا قمت بتسجيل here-- الذين على مدى السنوات العديدة الماضية، فعلا تم كتابة هذه التحديات معنا. وهكذا، وأنها ستكون تلك في نهاية المطاف تشغيل لغز اليوم. وهكذا، سيتم الطعن لك مع بالضبط أنواع الأشياء والمشاكل التي الناس في الفيسبوك ترغب في التفكير. بحيث غدا. التسجيل في cs50.harvard.edu/register. 

الآن كلمة على زوجين من الموظفين على وجه الخصوص. هذا هنا هو أنسل داف، الذي هو في الواقع واحدة من مؤلفي هذه ثنائي المصابيح التي رأيناها يوم الاربعاء، بالإضافة إلى CS50 نفسه دان برادلي. كان أنسل داف أيضا الأول طالبة المنصوح من الألغام منذ 3 سنوات والواقع انه حتى بني هذا منبر. انه ذهب للقيام العلوم الهندسية وغيرها. الآن، صورته هنا هو في الواقع أنسل قبل 3 سنوات في CS50 Hackathon عندما اقترضت واحدة من البالونات، عالقا على كمبيوتره المحمول، و، ل12 بجوار بعض الغريب ساعات، ركز على المشروع النهائي له، أخذ راحة فقط لفتح أكياس من الحلوى في Hackathon. 

ولكنه ذهب في الآونة الأخيرة ل قضاء الصيف الماضي معنا، منذ CS50 لموظفيها، و الآن الطلاب في هذا الفصل الدراسي، لديه طابعة 3D الخاصة بها. وباختصار والطابعات 3D هي وهو الجهاز الذي يبدو تماما مثل هذا. لك ملء مع بكرة بلاستيكية يتم صهرها من قبل الجهاز ويمكنك بناء الأشياء حرفيا من لا شيء. مثل الكثير من طابعة نافثة للحبر، عليك أن تبدأ بصق نقاط صغيرة من البلاستيك هذا الشكل معا ل تشكيل الأجسام كلها. وحتى أنسل على سبيل المثال، في وقت سابق هذا الصيف، لديه 5 فون وقرر أنه يريد حقا لدعم الامر على مكتبه. لكنه لا يريد أن الخروج وشراء شيء من متجر أبل أو ما شابه ذلك، حتى انه جلست وبدأت رسم شيء. تولى بعض القياسات عن كيفية سميكة وكيف واسعة كان له اي فون، لفت هذه الصورة هنا، وقال انه قرر انه يريد أن يكون الميل 75 درجة كما كان يحدق في له على مكتبه هناك. ثم التفت هذا، وذلك باستخدام البرمجيات، الى نموذج 3D CAD التي بدت قليلا شيء من هذا القبيل. ثم شرع، في نهاية المطاف، لخلق فعلا. ذلك في الواقع، إذا كان أي منكم هنا، ربما على التوالي أستطيع أن رمي ل، يكون an-- يوجد لدينا الناس مع اي فون 5، وهنا لدينا اثنين من أكثر. 

الآن، حتى لا يتفوق عليها وتملك في CS50 ضبط تشنغ قونغ أيضا هذا الصيف لبناء عدد غير قليل من الأشياء، و في الواقع، وذلك لأسباب لا تزال غير واضح، وقد تم ببطء طباعة جيش من الفيلة مع توضيح الأسلحة وجذوع. وقبل بضعة التي هي في الواقع هنا إذا أي شخص الآن like-- فيل. كل الحق،. ولكن ماذا فعلت أيضا تشنغ بالنسبة لنا هو انه وضع تتكرم جدا تصل كاميرا لأن ذلك الفيل، صدقوا أو لا تصدقوا، يأخذ بعض سنتين و نصف ساعة للطباعة. حتى استغرق الموقف فون ساعة ونصف للطباعة. وما ذهب تشنغ قدما وفعل أنشئت كاميرا طيبة في الجبهة من هذه الطابعة 3D، تم تصويره لمدة ساعة ونصف وتصميم أنسل طبع. نحن مضافين بعض مثير الموسيقى لذلك من أجل لإعطائك هذا أن ننظر في كيفية عمل الطباعة 3D. وعلى الرغم من هذا هو في الواقع من البلاستيك، ندرك أنه إذا كان هذا هو مجال ذات فائدة لكم أكاديميا، هناك الناس، بين منهم جنيفر لويس هنا في مدرسة والهندسة، والذين هم في الواقع العمل على طباعة 3D من الأشياء البلاستيكية. ولكن حتى، على نحو متزايد، المواد البيولوجية لحل المشاكل الفسيولوجية للإنسان. ولكن هنا قليلا شيء من CS50. 

[LOUD الميكانيكية الضوضاء] J. DAVID مالان: إنه لا يبدو شيء من هذا القبيل في الواقع، ولكن من برودة بكثير لمشاهدته في تلك السرعة، ومع هذا الصوت. 

الآن، يوم الأربعاء، كيف وصلنا أولا إلى هنا؟ بدأنا الحديث حول جهاز الكمبيوتر طلب العلم ونحن ما كان عليه. ولكن عن عدد من الأمور، و هناك الكثير من اتجاهات مختلفة التي يمكنك التوجه بعد دورة مثل CS50. في الواقع، إذا كنت التقطت واحدة هذه أدلة غير رسمية CS إلى الخارج، وكتيب وفرناه، سواء كنت تفكر في اتخاذ CS50 فقط، أو ربما تفعل الثانوية، أو ربما التركيز في CS، لا الوجه من خلال ذلك. وسترى الرسم البياني في نهاية هذا يظهر لك العديد من اتجاهات مختلفة في CS يمكنك أن تنفجر في. 

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

الحق، هذا الهاتف كتاب نحن ادعى كان حوالي 1،000 صفحة. وفعلت كم مرة لدي لتمزيق دليل الهاتف في النصف للعثور على شخص مثل مايك سميث، الحد الأقصى، في 1،000 كتاب الصفحة؟ لذلك، 10 يعطي أو يأخذ. وذلك مرة واحدة أنا مزق هذا الشيء في النصف، أو ببساطة، أكثر بنضج، مقسمة إلى نصفين، انها فقط 10 صفحات من 1،000. وإذا كنت استقراء، قليلا غير واقعي لدليل الهاتف، ولكن إذا كان هذا الكتاب بعض الهاتف 4 مليار صفحة في ذلك، لذلك تماما غير عملي جسديا، كم مرة هل يجزئ 4 مليارات الصفحة دليل الهاتف في النصف؟ حتى انها في الواقع 32، يعطي أو يأخذ. وهكذا 32 مرات فقط، من أصل 4 مليارات الصفحات، يمكن تجد شخص مثل مايك سميث. وهذا هو الكفاءة. هذا هو خوارزمية جيدة، ونحسب. 

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

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

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

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

دعونا ن يساوي 0. لكل شخص في الغرفة، ضبط ن ن يساوي زائد 1. كيفية تفسير شبة الكود؟ كذلك سطر واحد يعلن، إذا جاز التعبير، متغير دعا ن وتهيئة قيمته إلى 0 هذا فقط يعني أنه في ابتداء من أنظمتنا، الشيء الذي نحن عد يحتوي على قيمة 0. بعد كل شيء، قبل أن نبدأ العد نحن لم تحسب شيئا إلى الآن. يدعو هذا المتغير ن هو مجرد اتفاقية. كان يمكن أن يطلق عليه معظم أي شيء. الآن سطرين demarks بداية حلقة، سلسلة من الخطوات التي من شأنها أن تكرار بعض عدة مرات. حتى في مثالنا، فإن الخطوة نحن أخذ يعول الناس في الغرفة. تحت الخط الثاني هو خط ثلاثة الذي يصف بالضبط كيف سنذهب حول الفرز. المسافة البادئة تعني أن انها خط ثلاثة يكرر. حتى مع رمز شبة الكود هو قوله هو أنه بعد بدءا من الساعة 0 لكل شخص في غرفة سنقوم زيادة بنسبة 1 ن الآن هذه الخوارزمية صحيح؟ حسنا دعونا فرقعة عليه قليلا. 

أنها لا تعمل إذا كان هناك شخصين في الغرفة؟ دعونا نرى. في سطر واحد نحن تهيئة ن 0. لكل من هذين الشخصين، نحن ن ثم زيادة بمقدار 1. وذلك في أول رحلة من خلال حلقة، نقوم بتحديث ن 0-1. في الرحلة الثانية خلال هذا نفس الحلقة، نقوم بتحديث ن 1-2. وهكذا، من خلال هذه الخوارزمية نهاية، ن هو 2، والتي مباريات بالفعل عدد من الناس في الغرفة. حتى الان جيدة جدا. 

ماذا عن قضية الزاوية على الرغم من؟ لنفترض أن هناك شخصا 0 في room-- إلى جانب لي، من هو القيام العد. في سطر واحد، ونحن مرة أخرى ن تهيئة إلى 0. هذه المرة على الرغم من خط ثلاثة لا تنفيذ على الإطلاق حيث لا يوجد شخص في الغرفة. وهكذا يبقى ن 0، والذي يطابق الواقع عدد الأشخاص في الغرفة. بسيطة جدا، أليس كذلك؟ ولكن عد الناس في وقت واحد هو فعالة جدا، جدا، أليس كذلك؟ بالتأكيد يمكننا أن نفعل ما هو أفضل. لماذا لا نعول شخصين في وقت واحد، بدلا من عد واحد، اثنان، ثلاثة، أربعة، خمسة، ستة، سبعة، ثمانية، وهكذا دواليك. لماذا لا تعول اثنين، أربعة، ستة، ثمانية، وهلم جرا؟ حتى يبدو بشكل أسرع. ومن المؤكد. 

دعونا التعبير عن هذا التحسين في التعليمات البرمجية شبة الكود. دعونا ن يساوي 0. لكل زوج من الناس في غرفة، تعيين ن تساوي ن زائد 2. تغيير بسيط جدا، أليس كذلك؟ بدلا من الاعتماد شعب واحد في كل مرة، نحن بدلا نعدهم اثنين في وقت واحد. هذه الخوارزمية، وبالتالي، مرتين بسرعة مثل آخر. ولكن هل هو صحيح؟ دعونا نرى. أنها لا تعمل إذا كان هناك شخصين في الغرفة؟ في سطر واحد، فإننا تهيئة ن 0. لذلك زوج واحد من الناس، نحن ن ثم زيادة بنسبة 2. وذلك من خلال هذه الخوارزمية نهاية ن هو 2، والتي مباريات بالفعل عدد من الناس في الغرفة. 

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

دعونا الإنصاف مع بعض كود شبة الكود الجديد. دعونا ن يساوي 0. لكل زوج من الناس في غرفة، تعيين N تساوي ن زائد 2. إذا شخص واحد لا يزال أونبايريد، وضع N يساوي ن زائد 1. لحل هذه المشكلة بالذات، لدينا أدخلت في أربعة أسطر شرط، المعروف باسم فرع، الذي ينفذ فقط إذا كان هناك شخص واحد نحن لم يستطع الزوج مع آخر. وحتى الآن، سواء هناك واحد، أو ثلاثة، أو أي عدد فردي من شخص في الغرفة، وهذه الخوارزمية تعول عليها الآن. يمكننا أن نفعل ما هو أفضل؟ حسنا، نحن يمكن أن نعول في الثلاثات، أو أربع، أو حتى الأطفال دون سن الخامسة وعشرات، ولكن أبعد من ذلك، انه ذاهب للحصول على قليلا من الصعب النقطة. 

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

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

ولكن دعونا ندف بصرف النظر بعض من ممثل ميزات هنا التي هي في الواقع ستكون مفيدة حتى عندما تنفيذ أكثر مجمع البرامج. هكذا على سبيل المثال، في هذا السطر الأول، لدينا ما نسميه المتغير، ومن الجبر، وكنت عموما دراية باستخدام x و y وهكذا ض أحيانا، وهكذا. ولكن في البرمجة، والمتغيرات لا تزال، في نهاية المطاف، مشابهة جدا لتلك. لكنه ربما أسهل للتفكير متغير على أنها مجرد وعاء. و، في الواقع، انها بعض عدد البتات نفذت بطريقة أو بأخرى في القرص الثابت أو في ذاكرة الكمبيوتر الخاص بك، ولكن أكثر على ذلك في المستقبل. انها مجرد وعاء. وإذا كنت أقول شيئا مثل السماح ن يساوي 0، جيدا أن مثل هذه الدعوة الزجاج ن عاء هنا، مجرد اسم التعسفي، ووضع شيء في ذلك في البداية. وبالتالي فإن قيمة هذه عاء الآن هو صفر. وبالطبع إذا كنت تتصور في خط لاحق، لزيادة في الواقع بعض من خط رمز، كما هو الحال في هذا الخط الثالث هنا، بنسبة 1، وهذا مثل قوله ما هو القيمة الحالية للن، انها 0، زائد 1، وضع شيء مثل بينغ بونغ الكرة هنا. الآن قيمة هذه المتغير هو بكل بساطة 1. وكنت قد استقراء بسرعة كبيرة، ولكن الآن حان 2، والآن حان 3، وهلم جرا. بحيث كل متغير هو. انها قطعة من التخزين ل في الواقع تخزين بعض البيانات. الآن انها كرة بينغ بونغ. انها هناك عددا. ولكنها قد تكون الكلمات في القاموس، مثل المدقق الإملائي أنا ألمح إلى يوم الأربعاء ل واحدة من مجموعات مشكلة العام الماضي. 

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

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

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

أنيتا: أنيتا. 

J. DAVID مالان: أنيتا. حسنا، لطيف لمقابلتك. اسمحوا لي أن أعرض لكم لروب بودين. هذا هو أنيتا. وما هو اسمك؟ 

KIERSTEN: Kiersten 

J. DAVID مالان: Kiersten. Kiersten، وتأتي على ما يصل و تلبية روب بودين وأنيتا. لطيف لمقابلتك. KIERSTEN: نيس لمقابلتك. J. DAVID مالان: حسنا، روب. ROB بودين: نيس لمقابلتك. J. DAVID مالان: أنيتا. KIERSTEN: مرحبا أنيتا. J. DAVID مالان: والخاص عدة مئات من زملائهم. لذا، اسمحوا لي الآن المضي قدما وسحب حتى مجرد برنامج بسيط هنا على نظام التشغيل ماك التي سوف اسمحوا لي في الواقع ذرة بعض الملاحظات أسفل. وإذا كان الرجال يريدون أخذ كل موقف في واحدة من تلك المدارس هناك، اسمحوا لي المضي قدما ويبدأ قائمة من التعليمات البرمجية شبة الكود، اذا صح التعبير. وما أريد القيام به هنا، في نهاية المطاف هو نوع لك بعض التعليمات التي لدينا أفراد الجمهور هي في الواقع سوف يقرأ بالنسبة لنا. اسمحوا لي المضي قدما وفقط تغيير هذا إلى قائمة مرقمة لمطابقة ما كنا نفعله هناك. وما أنا ذاهب الى القيام به مع مساعدتكم، هو كتابة برنامج في شبة الكود، التي هؤلاء الرجال تسير لتنفيذ الفول السوداني الزبدة وهلام شطيرة. حتى انها ربما بالمناسبه ل تظهر شيئا البعض منكم قد شهدت على الإنترنت لمجرد لحظة وجيزة مزعج. 

[MUSIC BUCKEWHEAT BOYS، "زبدة الفول السوداني  JELLY التايم "] J. DAVID مالان: OK. وهذا يكفي لذلك. حتى هنا في الوقت نفسه، ولدي زوج من نظارات جوجل التي سنقوم ضعت على CS50 نفسه روب بودين لرؤية العالم من خلال عينيه. ونحن سوف نبذل قصارى جهدنا في آخر إنتاج لنسج الواقع لقطات من ما روب تشهد الآن، في هذه المحاضرة الفعلية الفيديو مع لدينا اثنين المتطوعين بجانبه. ذلك ما أنا ذاهب الى القيام به هو، سأكون طابع. لدينا الهدف من هنا الكتابة فعلا برنامج التي لجعل، في نهاية المطاف، و زبدة الفول السوداني وهلام شطيرة، لكن هؤلاء الثلاثة تسير على التصرف كما لو كانوا أجهزة الكمبيوتر. وأجهزة الكمبيوتر، في نهاية المطاف، هي في الواقع أجهزة غبية جدا. انهم بسرعة فائقة، ولكن يمكن فقط القيام، حرفيا، ما يقال لهم. لا يمكنك فقط أن أقول جعل الفول السوداني الزبدة وهلام شطيرة. لديك لبرنامج لهم للقيام بذلك. لديك لنقول لهم بدقة ما يجب القيام به، أقل الأمور تسير فظيعة و، نأمل، منحرف متعجبا. 

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

الجمهور: [غير مسموع] كيس الخبز. J. DAVID مالان: فتح كيس من الخبز. حتى إذا كان من شأن المتسابقين الثلاثة ترغب في المضي قدما لتحقيق ذلك حرفيا. فتح كيس من الخبز. 

[الجمهور يضحك] J. DAVID مالان: لذا دعونا نعمل على ذلك. كل الحق. لذلك الخطوة الثانية، how-- دعونا نغتنم هذه أبعد من ذلك. نعم، في الجبهة. 

الجمهور: [غير مسموع] الخبز. 

J. DAVID مالان: ما هذا؟ 

الجمهور: إزالة الخبز. J. DAVID مالان: إزالة الخبز. وبالمثل مقتضبة. شكرا لك. 

[تصفيق] J. DAVID مالان: هذا كل شيء؟ موافق، لذلك الخطوة الثانية يجري أن تكون إزالة الخبز. حسنا، شخص ما يريد الكتابة لنا حكما أطول؟ شخص آخر؟ أكثر قليلا [غير مسموع]. لا، لا شيء الآن. نعم؟ 

الجمهور: مكان اثنين شرائح بجانب بعضها البعض. 

J. DAVID مالان: مكان اثنين شرائح بجانب بعضها البعض. 

[الجمهور يضحك] 

J. DAVID مالان: مكان اثنين شرائح بجانب بعضها البعض. الخطوة الرابعة. نعم؟ 

الجمهور: خذ ووضع اليد على محمل الجد على الجزء العلوي من غطاء زبدة الفول السوداني. 

[الجمهور يضحك] الجمهور: [غير مسموع] بجانب زبدة الفول السوداني. J. DAVID مالان: ماذا؟ أن أقول مرة أخرى. 

الجمهور: فك الغطاء ووضع برفق بجانب زبدة الفول السوداني. 

J. DAVID مالان: ضع برفق بجانب زبدة الفول السوداني. موافق والتقدم. الخطوة الخامسة. ممتازة. نعم؟ 

التقاط سكين. J. DAVID مالان: التقط السكين. OK، خطوة ستة. نعم؟ 

الجمهور: امسك مقبض سكين من قبل. J. DAVID مالان: عقد بواسطة سكين المقبض. عقد سكين من المقبض. الخطوة السابعة. نعم؟ 

الجمهور: سكين [غير مسموع] في الفول السوداني الزبدة واقل من من [غير مسموع]. 

J. DAVID مالان: ضع السكين in-- I سمع "وضع سكين في زبدة الفول السوداني وتأخذ اقل من خروج وقت ممكن ". من جانب الطريق، وإزالة ورقة أولا. كل الحق، خطوة تسعة. الخطوة التاسعة. الخطوة التاسعة. لم نتخذ فعلا شطيرة بعد. نعم؟ الجمهور: عن طريق سكين في زبدة الفول السوداني، تطبيق زبدة الفول السوداني على الخبز قال. 

J. DAVID مالان: استخدام سكين في زبدة الفول السوداني وزبدة الفول السوداني تنطبق على قال الخبز. 

[الجمهور يضحك] J. DAVID مالان: جميع الخطوة الصحيحة 10. الخطوة 10. نعم؟ 

الجمهور: طعم الفول السوداني زبدة لضمان الجودة. 

[الجمهور يضحك] J. DAVID مالان: الخطوة 11. الخطوة 11. الخطوة 11. هيا. نعم؟ هناك حق. 

الجمهور: اختيار بعناية هلام. 

J. DAVID مالان: اختيار بعناية هلام. OK، ثم كانت جهة أخرى يصل. الحق خلفك. نعم، في الزرقاء. 

الجمهور: حسنا، إزالة غطاء من [غير مسموع]، نعم، إزالة الغطاء من هلام. 

[الجمهور يضحك] 

J. DAVID مالان: من هلام. ها ها ها. 

[الجمهور يضحك] J. DAVID مالان: و؟ الجمهور: وبالكاد اكتساح أي [غير مسموع]. [الجمهور يضحك] الجمهور: بطبيعة الحال، قبل [غير مسموع]، إزالة الورق من هلام. J. DAVID مالان: إزالة الورق من هلام. الخطوة 14. نحن تقريبا هناك. نعم؟ 

الجمهور: المقلوب زجاجة هلام قبل كل شيء يقع خارج. 

J. DAVID مالان: عكس هلام زجاجة قبل هلام تقع خارج. الخطوة 15. 

الجمهور: استبدال الغطاء. 

J. DAVID مالان: استبدال الغطاء. الخطوة 16. نعم؟ 

الجمهور: [غير مسموع] J. DAVID مالان: قل ذلك مرة أخرى. الجمهور: أخذ قبعة قبالة هلام الخاص بك. J. DAVID مالان: منتدى هلام الخاص بك. حتى really-- عفوا. هيا. استبدال الغطاء. وضع cap-- قلت إزالة الغطاء من هلام. نشعر كأننا في شيء من حلقة. خطوة 17. نعم؟ 

الجمهور: [غير مسموع] J. DAVID مالان: قل ذلك مرة أخرى. الجمهور: [غير مسموع] J. DAVID مالان: العودة إلى step-- الجمهور: [غير مسموع] J. DAVID مالان: إزالة غطاء من زبدة الفول السوداني. نعم؟ 

الجمهور: إسقاط جميع جيلي على الخبز. 

J. DAVID مالان: إسقاط جميع هلام على الخبز. J. DAVID مالان: نحن تقريبا هناك. خطوة 19. 

الجمهور: إزالة هلام الزائد. 

J. DAVID مالان: هاها، وهلام. 

[تصفيق] J. DAVID مالان: لماذا لا we-- خطوة أخرى لاتخاذ هذا المنزل. خطوة أخرى ثم ونحن سوف تخدم السندويشات. نعم؟ 

الجمهور: [غير مسموع] 

J. DAVID مالان: في حين أن أي شطيرة المسافة البادئة دعونا remains-- في this-- أكل. 

[يضحك الجمهور] 

J. DAVID مالان: حسنا، شكرا لك لمتطوعينا هنا. 

[تصفيق} 

J. DAVID مالان: لدينا بعض طيفة فراق الهدايا لكل واحد منكم. بنفسك زبدة الفول السوداني، وهلام، و والخبز لتحقيق العودة الى الوطن. شكرا لك. 

KIERSTEN: شكرا لك. J. DAVID مالان: [غير مسموع] أرحب. [تصفيق] J. DAVID مالان: إذن، هذا هو، بالطبع، مثال مثير للسخرية. أليس كذلك؟ ولكنه نوع من الكشف عن الكيفية التي البشر تأخذ فقط الوضوح أمرا مفروغا منه. وحقيقة لقد كانت التحدث إلى إنسان آخر، انه أو انها تعرف تماما ما تعنيه. 

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

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

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

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

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

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

الآن، ما أنا بصدد القيام به هنا هو انقر على عدم الحركة، ولكن السيطرة. وهذا هو مجرد تصنيف here-- وأرى مختلفة اللون مجموعة من الكتل. ولكن لاحظت وجود بعض الكلمات المألوفة. "إذا" و "الا اذا" و "تكرار". وربما يمكنك تخمين وهذا يذكرنا الفرع، أو الظروف رأينا، و حتى بناء حلقات. لذلك لدينا كتل مماثلة هنا. لكن الأكثر إثارة للاهتمام واحد هو هذا واحد هنا. عند النقر فوق هذا العلم الأخضر، هذا، بالنسبة لأولئك مع برمجة مسبقة الخبرة، ما يعادل إلى الوظيفة الرئيسية. لكن بالنسبة لأولئك غير مألوف، هذا هو قطعة اللغز التي سوف ركلة بدء برنامجنا بأكمله. وهو ما يعني حرفيا عندما أذهب في هذا البرنامج، وفوق flag-- الأخضر التي تستطيع أن ترى هنا في أعلى الزاوية اليسرى من واجهة المستخدم، لذلك نرى العلم الأخضر بجانب إشارة التوقف الحمراء؟ عندما تنقر على هذا، يا البرنامج هو الذهاب الى تشغيل. الآن، انا ذاهب الى القيام بشيء السوبر بسيطة مع خدش. انا ذاهب الى المضي قدما والتوجه إلى لوحة تبدو هنا، حيث لدي مجموعة من قطع اللغز الأرجواني، وانا ذاهب الى المضي قدما والقيام شيء بسيط مثل السوبر، يقول. وهذا إشعار then-- النص في مربع أبيض هو editable-- انا ذاهب الى القول "مرحبا العالم"، مثلما نحن فعلت في تلك النصية النسخة قبل لحظة. والآن إذا ذهبت فوق هذا و العلم الأخضر، وأنا قد برمجت الآن. انها ليست خاصة برنامج للاهتمام، ولكن أنا جعلت الكمبيوتر تفعل شيئا. بدأت برنامجا و فعلت ما قلت أن تفعله. الآن، وأنا يمكن أن تستمر لسحب وإسقاط المزيد والمزيد من هذه القطع لغز وانهم ذاهبون الى التعشيق، ولكن دعونا صفعة بعض المصطلحات هنا أننا سنرى المتكررة في جميع أنحاء بالطبع، وحقا طوال علوم الكمبيوتر والبرمجة بشكل عام. 

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

وفيما يلي بيانا توضح فيه آخر "انتظر لثانية واحدة". لم أكن استخدام هذا بعد، ولكن إذا أريد برنامجي إلى وقفة للحظة أن تفعل شيئا، ويمكنني أن أقول ذلك للقيام بذلك. انتظر ثانية واحدة. الآن قد يكون بعضكم بعضا "تشغيل الصوت". لذلك، وهذا هو فريد الى نقطة الصفر، و لديه القدرة على تشغيل الأصوات. لذلك، وهو البيان الأول قد الاستخدام هو، هنا، "تشغيل الصوت". وفي الوقت نفسه، تعبير منطقي، لذلك هذا هو كلمة مربي الحيوانات سميت مجرد رجل يدعى السيد منطقية، وهذا هو كل شيء عن هذا السؤال. صحيح أو false-- هو الماوس لأسفل؟ تعبير منطقي هو فقط بعض التعبير في اللغة الإنجليزية التي هي إما صحيحة أو خاطئة. إما أو إيقاف تشغيله. إما واحد أو صفر. يمكنك التفكير في الأمر في أي عدد من الطرق، لكنه إما صحيح أو هذه كاذبة، في نهاية المطاف. حتى "الماوس لأسفل علامة استفهام" سيكون ذلك تعبير منطقي. ويمكنك التفكير في الآخرين، ربما. على سبيل المثال "، هو عدد تركت أقل من العدد الصحيح؟ " ذلك، أيضا، سيكون تعبير منطقي. "أقل من" هو تعبير منطقي. 

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

الآن بعد أن puzzle-- أن افتتاح صغير قليلا، وكما سنرى في البرنامج، في الصفر، وانها سوف تنمو لتناسب. فإنه سيتم الحفاظ على شكلها، في نهاية المطاف. لذلك دعونا شرطا في أن تقرر "يجب أن أفعل شيئا أم لا؟" تعبير منطقي هو السؤال الفعلي كنت تستخدم لاتخاذ قرار لا أذهب إلى اليسار أو لم أذهب إلى اليمين عندما واجهت هذا ما يسمى مفترق طرق؟ هل يمكن أن يكون فرعين. إذا كان هناك شيء غير صحيح، تفعل هذا، وإلا السير في هذا الطريق، أو يمكنك أن تفعل أي شيء فقط في كل شيء، وهذه الكتلة ضمنيا. وبالمثل، لا يمكننا عش هذه الأشياء. حتى إذا كنت تريد أن يتضاعف ثلاث مرات شوكة في الطريق، وإما أن تفعل هذا أو هذا أو ذاك، يمكنك فقط عش هذه الأشياء معا. ويبدأ للحصول على القليل قبيحة، في نهاية المطاف، لعلى يقين، ولكن المنطق لا يزال هو نفسه. يمكنك أن تقرأ حرفيا هذا أعلى إلى أسفل وتقول ما means-- أنه إذا كان هذا صحيح، قيام بذلك، إلا إذا آخر. 

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

نرى الآن برنامج مثل مرحبا العالم ليس كل ما مقنعة، لذلك دعونا فتح فعلا عن شيء أن الطالب السابق جعلت. اسمحوا لي المضي قدما وفتح، على سبيل المثال، هذا واحد هنا، الذي أحب أن يكون متطوعا. كل الحق، كيف about-- دعنا نذهب أبعد. نعم، وتأتي على ما يصل. ما اسمك؟ 

آبي: آبي. J. DAVID مالان: آبي، وتأتي على ما يصل. لذلك هل سبق لك أن لعبت هذه اللعبة من قبل؟ آبي: لا. J. DAVID مالان: حسنا. ديفيد، لطيف لمقابلتك. يأتي على أكثر. وما هو البرمجة الخاصة بك الخلفية، إن وجدت. 

آبي: لقد تعلمت بعض C + +. J. DAVID مالان: لقد تعلمت بعض C + +. وما هو لعبتك لعب الخلفية؟ 

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

COMPUTER GAME: بيكاتشو. J. DAVID مالان: والهدف من ذلك هو قبض على الغذاء، كما هو مبين هناك على اليسار. و[غير مسموع] 

[GAME تشغيل الموسيقى] 

J. DAVID مالان: والأيتام، وأيضا، أشكركم على اللعب. لدينا هنا قليلا فراق هدية لك. لدينا CS50 الكرة الإجهاد، إذا كنت ترغب في اختيار. كل الحق، وحسن لمقابلتك. أشكركم على حضوركم والتحدي. لذلك لدينا أكثر من كرات الإجهاد، لذلك دعونا نفعل مثالا آخر لتحفيز. متطوع؟ حسنا، ماذا عن هنا في الجبهة. ما اسمك؟ 

فيليب: فيليب. 

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

J. DAVID مالان: OK. حصلت على الكثير من الألعاب أيضا. ولقد لعبت هذه اللعبة من قبل؟ 

فيليب: لا J. DAVID مالان: جميع الحق، حتى هنا نذهب. انا ذاهب الى المضي قدما وانقر على العلم الأخضر. 

[MUSIC GAME] 

[MUSIC MC HAMMER، "U CAN NOT تلمس هذا"] 

فيليب: [غير مسموع] J. DAVID مالان: [غير مسموع] فيليب: [غير مسموع] [يضحك] [MUSIC MC HAMMER، "U CAN NOT تلمس هذا"] J. DAVID مالان: [غير مسموع] محراث من خلال ذلك. فيليب: [غير مسموع] J. DAVID مالان: المضي قدما. [MUSIC MC HAMMER، "U CAN NOT تلمس هذا"] J. DAVID مالان: حسنا. ألف مبروك. 

[تصفيق] 

J. DAVID مالان: سنقوم آخر في وقت لاحق على الانترنت حتى يمكنك المماطلة مع أنها كذلك. برينستون يأتي المقبل، بعد ذلك. 

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

ودعونا نمضي قدما ونحن now-- نفذت "أهلا بالعالم" قبل لحظة، ولكن دعونا نفعل شيئا قليلا طيف. انا ذاهب للذهاب إلى الأحداث. وانا ذاهب الى القيام به "عندما النقر العلم الأخضر ". ثم انا ذاهب الى استخدام، نقول، فرع. لذلك انا ذاهب الى استخدام "لو" الشرط. ولاحظ كيف في أقرب وقت كما كنت الاقتراب لذلك، فإنه يريد أن المفاجئة معا. لذلك اسمحوا لي ان اذهب ويستقر معا. والآن أستطيع أن أفعل شيئا للاهتمام. إذا كنت انتقل من خلال هنا، وانا ذاهب لرؤية مجموعة كاملة من القطع. إذا ذهبت إلى "بيانات" - اسمحوا لي تكبير in-- هناك شيء حول المتغيرات. إذا ذهبت إلى "الحركة"، يمكنك على ما يبدو تغيير الامور. إذا ذهبت إلى "مشغلي" - أوه، هذا مثير للاهتمام، يمكنني اختيار رقم عشوائي. لذلك اسمحوا لي أن تفعل شيئا مع فقط بعض الاحتمالات، لمجرد. انا ذاهب الى المضي قدما و سحب هذه القطعة اللغز، هذا هو أن أقل من كتلة، حتى انها مجرد "هو هذا العدد أقل من ذلك؟" ولكن أنا لا أريد رمز الصعب عددا لأن ذلك يكون من العبث جدا. لذلك أنا ذاهب لسحب هذه القطعة هنا، ولاحظ كيف يستقر في، والآن اسمحوا لي أن تمضي قدما ويقول "إذا الرقم الذي هو اختار عشوائيا وأقل من ستة، قم بما يلي ". الآن لماذا أقل من ستة؟ ما هو هذا الاحتمال على نحو فعال سوف تعطيني، فقط حدسي؟ حوالي 50٪، أليس كذلك؟ إذا كان الرقم الذي في تخمين عشوائيا بين 1 و 10 هو أقل من ستة، بوضوح انها احد، اثنان، ثلاثة، أربعة، أو خمسة. وبحيث سيكون لتعطيني 50٪ احتمال ما يحدث؟ 

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

[مواء] J. DAVID مالان: هناك. [مواء] J. DAVID مالان: مرة أخرى. رقم 

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

اسمحوا لي أن رمي بعيدا. يمكنك التخلص من الاشياء التي مجرد سحبه قبالة إلى اليسار واستغنائه. اسمحوا لي أن نمضي قدما ونفعل كتلة الأبد والقيام بسرعة جدا شيء مزعج. اسمحوا لي المضي قدما و يقول "لعب مواء الصوت." ولكن أنا لا أريد أن يكون أيضا مزعج، لذلك اسمحوا لي أن انتزاع هذه الكتلة، "انتظر ثانية واحدة"، وإشعار ليس هناك مجال أكبر لذلك. ولكن إذا ذهبت قريبة بما فيه الكفاية، انها تريد الذهاب الى هناك. لذلك اسمحوا لي ان اذهب، وسوف تنمو لملء كتلة. وحتى الآن، وهذا هو حلقة. [تموء] J. DAVID مالان: أنا به حرفيا هذا إلى الأبد. مرارا وتكرارا. الامر ليس مجرد الطبيعية السبر. اسمحوا لي المضي قدما وتغيير هذا ليست واحدة ثانية، لمدة ثانيتين وهاهنا. وما هو لطيف حول خدش هو هل يمكن أن البرنامج تفاعلي. إجراء تغيير، ربما هاهنا أو لعب مرة أخرى، وأنها مجرد الاستمرار. حسنا، الآن لماذا لا نفعل شيئا قليلا طيف؟ بدلا من أن تفعل كل شيء من الصفر، اسمحوا لي المضي قدما وفتح سلفة قدمت واحدة، وأنني خبز مسبقا، ودعا "الحيوانات الأليفة القط." وسنقوم بنشر كل من هذه الملفات عبر الإنترنت، وحددت مشكلة الصفر سوف اقول لكم كيفية الوصول لهم وفتح لهم. وإشعار، وهذا هو بسيط جدا. ولكن في وقت مبكر، ويبدو لي أن أمسك و"الى الابد" كتلة، حتى لقد حصلت حلقة. ثم لقد حصلت على "إذا" الشرط. لقد حصلت على تعبير منطقي. 

حتى في اللغة الإنجليزية، مجرد نظرة عابرة هذا، وخاصة إذا كنت لم مبرمجة من قبل، فقط بشكل حدسي، هذا ما تنوي القيام به، وهذا البرنامج؟ 

[إستماع للمشارك] 

J. DAVID مالان: إذا كنت الحيوانات الأليفة القط، القط سوف مواء، أليس كذلك؟ لأن "إلغاء تحديد الأبد" و مؤشر الماوس لمس القط. لكي نكون واضحين، وأنا لم أقل هذا من قبل، كل هذه اللغز وقطع البرنامج النصي الذي قمنا بدمجها، إذا جاز التعبير، وهو السيناريو هو مرادف لل البرنامج، حقا، وينتمي إلى هذا القط. والسبب is-- لإشعار كيف يتم تمييز هذا القط نفسه هنا، إلى هنا يمكنك إنشاء القط أو الكلب أو الثاني حقا أي شيء تريده بيانيا. يمكنك استيراد شيء من فوتوشوب، أو ما شابه ذلك، ودمج شيئا إذا تريد أن تجعل من لمشروع. وما سوف تجد، في نهاية المطاف، هو أنك يمكن إضافة نصوص، إضافة اللغز القطع، إلى الأحرف الفردية. لذلك فان هذه ينتمون جميعا الى هذا القط معين. حتى الآن إذا ذهبت إلى الأمام ولعب هذا البرنامج، لا شيء يحدث. ولكن كان يعمل. البرنامج في هذه الحلقة إلى الأبد، نوع من انتظار ما سيحدث؟ 

[إستماع للمشارك] 

J. DAVID مالان: لالحيوانات الأليفة القط. لذلك إن أنا أحرك الماوس نحو him-- 

[تموء] 

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

[تموء] 

J. DAVID مالان: القط هو تموء، الزمن القديم الكبير. ولكن هذا البرنامج هو بالطبع ودعا "لا الحيوانات الأليفة القط" بوضوح، أريد أن الحيوانات الأليفة القط. 

[هدر] 

J. DAVID مالان: لا الحيوانات الأليفة القط. الآن، دعونا نلقي نظرة في مثال آخر هنا. وسوف يطلق هذا واحد "مرحبا، مرحبا، مرحبا،" لأسباب التي من شأنها أن يكون واضحا، لأن بمجرد تشغيل هذه thing-- 

[SEAL BARKING] J. DAVID مالان: من السهل جدا ل كتابة برامج خدش مزعج. [SEAL BARKING] J. DAVID مالان: الآن لن نذهب في تفاصيل كثيرة مع كل من هؤلاء، لكن لاحظ هناك اثنين من الميزات الجديدة هنا. هناك متغير، ودعا "صامتة" ثم هناك مجموعة من الشروط. والآن، اسمحوا لي فقط ندف لك بالقول أنه إذا كان هذا الرجل يحصل مزعج جدا، أنا يمكن أن تصل المسافة وانه توقف. لأن الدور الذي تقوم به هذه البرامج النصية اثنين كما يلي. واحد منهم يفعل ينبح كل بضع ثوان. والآخر ينتظر فقط بالنسبة لي لضرب مفتاح المسافة. وإذا كنت تفعل ضرب المسافة، انها تسير لتغيير حالة هذا المتغير، وقيمة هذا المتغير، وهذا على ما يبدو ودعا "صامتة" أنا لم يدع هو شيء ممل مثل ن، دعوت عليه الكلمة الإنجليزية "صامتة". من 1 إلى 0 أو 0-1. من صحيح إلى false إلى true أو false. وحتى يمكن لكم فعلا نرى الآن، أن ل يمكن أن يكون اثنين من النصوص، وهما البرامج قيد التشغيل في وقت واحد، وكلاهما قد تكون جالسا في حلقة تفعل شيئا. تنتظر البشرية للقيام شيء مثل ضرب مفتاح المسافة. [SEAL BARKING] J. DAVID مالان: والآن انه في طريقه مرة أخرى. [SEAL BARKING] J. DAVID مالان: فما آخر قد نفعل مع هذه الأمثلة؟ حسنا، دعونا نمضي قدما ونفعل ل المثال مع عد الأغنام. سنواصل هذا على غرار هنا of-- دعونا فتح المثال الأغنام. وإشعار، مثل الكثير من قبل، هذا واحد، الحمد لله، وأقل قليلا مزعج. مرة واحدة أنا ضربت لعب here-- أوه لا، وهذا أمر مزعج. قال انه ذاهب الى هيئة المطارات البريطانية مع بعض الاحتمالات. دعونا لعب هذا مرة أخرى. 

[الأغنام BLEETING] J. DAVID مالان: الفرق الوحيد هو قمنا بتغيير الزي، إذا جاز التعبير، ونحن نقول خفض و ما هو العدد الفعلي. حسنا دعونا نمضي قدما و أغتنم هذه خطوة إلى الأمام. واسمحوا لي ندف لك ميزة واحدة أخرى هنا. دعونا نمضي قدما وفتح دعا برنامج مواضيع. مثل ذلك المبلغ الذي يمكن أن يكون واحد العفريت، وجود مخطوطات متعددة، هل يمكن أن يكون اثنين من العفاريت، والطيور في القط، ولكل منها النصي الخاص بهم. ولكل واحد منهم يمكن تعمل في وقت واحد. إذا كنت قد سمعت من أي وقت مضى كلمة "خاصية تعدد" جهاز كمبيوتر هو وسيلة "مؤشرات" أنها يمكن أن تفعل أشياء متعددة في وقت واحد، وبالفعل، بحيث يمكن للخدش. 

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

الآن اسمحوا لي المضي قدما وفتح عن شيء آخر تماما، لندف البعض منكم، ولا سيما تلك أكثر راحة، ما يمكنك القيام به مع هذا الواقع. انا ذاهب الى المضي قدما وفتح زر هنا. وهذا هو السوبر برنامج بسيط ما يبدو، ولكن مشاهدة ما يحدث عند مشاهدة ما I-- يحدث عندما أقوم بفتح هذا الإصدار من ذلك، هنا في المستعرض، scratch.mit.edu. وعندما كنت فوق هذا حمراء كبيرة زر، لاحظ ما يحدث. فما الذي يحدث هنا؟ هناك في الواقع الكثير المزيد من التعقيد يجري تحت غطاء محرك السيارة، حتى وإن كنت تنفيذها هذا، أو بصراحة، دان برادلي وقد نفذت هذه بكل بساطة. وقد صممت لغز خدش مخصصة قطعة، والمعروفة باسم تمديد خدش، سماه تبديل. 

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

وإذا كنت تعتقد أن هذا هو it-- و ربما واحدة من أعقد خدش مشاريع شخص ما لديه implemented-- انه فعل ذلك، في العدالة، في يوم واحد. وكان هذا هو التحدي الذي فطرح لدان عندما شاهدنا ديك المصابيح الثنائية، لدينا خدش كيف، يمكننا الجمع بينهما؟ و، في الواقع، وهذا هو تماما شيء أي شخص في هذه الغرفة يمكن القيام به من خلال end-- الفصل الدراسي هل هو المصابيح الثنائية ل Reimplemented باستخدام نفس الواجهة التي كان على موقعنا باد يوم الاربعاء. حتى الآن، إذا أنا فعلا انقر فوق علامة الجمع أكثر من هنا، لدينا واحد، اثنان، ثلاثة. أستطيع ضرب 16 و تحويل هذا واحد على. 128، وهكذا دواليك. 

الآن إذا كان هذا وحده ومهب عقلك، هل يمكن أن تفعل أشياء أكثر سهولة الآن، لا تنطوي على أي أجهزة بالتأكيد. فقط الأشياء على الشاشة نفسها. وبالفعل، ماذا معظم الطلاب ينتهي به هو نوع من لعبة، بعض قطعة من عمل فني، أو نوع من الرسوم المتحركة التفاعلية. وسأقول واحدة من وكانت هذه واحدة المفضلة. واعتقد اذا كنا يمكن تحت أضواء خافتة، سوف نلقي نظرة على هذا النهائي مشروع الصفر في الختام. ولكن ما عليك أن نأخذ في الاعتبار، و يمكنني ندف لك أدق التفاصيل واحد، ستبدأ باجتزاء الاسبوع المقبل. وستبدأ ساعات العمل في الأسبوع المقبل. مجموعة مشكلة سيتم نشر الصفر CS50.harvard.edu وقت لاحق اليوم. وسوف يكون في استقبال لك مشكلة في وضع الصفر لCS50 الخاصة Zamyla تشان، الذين توجه معظم كثروو لدينا. هذه هي أشرطة الفيديو جزءا لا يتجزأ من في مجموعات مشكلة التي تعقد يدك من خلال الكثير ليصل مجموعة أولية ومن خلال العديد من قرارات التصميم الممكنة. حتى إذا كنت من أي وقت مضى أن العاطفة عند التقاط ديرنج ويتساءل، من أين أبدأ؟ وقالت انها سوف يكون هذا الجواب لكم. والآن، برنامجا نهائيا من أحد أسلافكم في الإجابة على السؤال "ماذا يقول الثعلب؟" [MUSIC YLVIS، "ماذا تفعل FOX تقول؟] 

YLVIS: (الغناء) الكلب يذهب اللحمة. مواء القط يذهب. سقسقة الطيور يذهب والفأر يذهب صرير. بقرة يذهب مو. الضفدع يذهب تشاءم. والفيل يذهب بوق. وتقول البط والأسماك يذهب الدجال BLUB. وختم يذهب آه آه آه، ولكن هناك صوت واحد أن لا أحد يعرف، ماذا يقول الثعلب؟ و 

J. DAVID مالان: هذا كل شيء لCS50. سوف نرى لك في لغز اليوم ويوم الاثنين. 

[تصفيق] 

[MUSIC YLVIS، "ماذا THE FOX SAY؟"] 

المعلق: والآن عميق الأفكار، من خلال Daven فارنهام. اليوم أنا حصلت على ضرب في وجه مع دفتر الهاتف. الخلط، وأنا في المنزل لمشاهدة على الانترنت.