[موسیقی بجانے] یہ CS50-- ہارورڈ ہے یونیورسٹی کے تعارف دانشورانہ کرنے کمپیوٹر سائنس کے ادیموں اور پروگرامنگ کا فن. اور میرا نام ڈیوڈ Malan ہے، اور میں نے صرف اس صبح میں سوچ رہا تھا، یہ حیرت انگیز 20 سال آج ہو رہا ہے میں نے گزشتہ بیٹھا بعد تم لوگوں کو اب کیا کرنا ہے جہاں. یہ 1996 تھا. میں نے ایک sophomore تھا، اور میں لے جا رہا تھا بہت ہی پہلی بار کے لئے CS50. اور میں بھی ہمت نہیں ملا تھا freshman سال اسے خود لینے کے لئے، جزوی طور پر کیونکہ وقت کی. میرے لئے کمپیوٹر سائنس قسم کے، کی طرح تھا عوامی ہنگامی ہال. میں نے ایک geek کے تھوڑا سا ہو رہا تھا اپ، لیکن میں واقعی میں نے نہیں کیا کسی بھی دانشورانہ ہے کیا پیش ہوئے میں دلچسپی صرف کی ایک پوری چڑھانے ہو جائے کرنے لوگوں کو ہر وقت پروگرامنگ. اور میں ایماندار ہونا ڈر گئی تھی. کورس اور کمپیوٹر سائنس میں مزید عام طور پر دیکھا گیا اور کچھ حد تک، اب بھی ایک فیلڈ کے اس وقار ہے صرف اس وجہ سے تو ہم میں سے بہت سے تو اس سے ہوشیار رہنا اس سے ناواقف ہیں اور یہ بے یقینی کا شکار ہیں. اور یہ واقعی میں خریداری تک نہیں تھا اس طبقے کے ہے کہ کے sophomore fall-- اور پھر بھی، میں نے صرف مندرج professor-- کیونکہ میری پہلی رہنماؤں میں سے ایک، برائن ابھی Princeton-- اوپر Kernighan مجھے کلاس کے پاس ناکام لینے کی اجازت دی. اور یقینا، اس لیے آج ہم اجازت دیتے ہیں اور حوصلہ افزائی کرتے ہیں اس کلاس لینے کے لئے طالب علموں unsat SAT /. اور صرف اس صورت، کی طرف سے سمسٹر کے آخر I، واہ، کی طرح اس احساس تھا ایسے نامانوس میدان نہیں تھا. بے شک، یہ ایک بہت فیلڈ کو بااختیار بنانے، اور مزید excitingly، خاص طور پر بعد میں، I میں کورسز لیا کے طور پر ناٹکیی آرٹس 101 اور لاطینی A اور پھر آخر گریڈ اسکول آثار قدیمہ، مجھے سچ میں دیکھنا شروع کیا اس فیلڈ، کمپیوٹر کے چوراہوں سائنس، ہیومینیٹیز کے ساتھ، قدرتی سائنس، فنون، طب، اور طرح. اور تو ہے کہ صرف اتنی ہے کیا ہے کمپیوٹر سائنس کے بارے میں صاف بالآخر، اس کو ہم نے تم گے امید دیکھتے اس کے لاگو ہے ان دیگر شعبوں، اور کس طرح آپ کر سکتے ہیں کرنے کے لئے آج کی اور سمسٹر کے میں سے کچھ لے خیالات اور عملی مہارت آپ کی اپنی ڈومین پر واپس، اور اصل میں اس چوراہا دریافت لبرل آرٹس اینڈ سائنسز کی. تم میں سے سو 73٪، گزشتہ اگر سال کسی بھی اشارہ ہے، پہلے ایک CS کورس لیا کبھی نہیں. ، تو میرے جیسے، اگر آپ ہیں تو ایک تھوڑا سا لگ رہا ڈری ہوئی، یا واضح طور سے تم نہیں ہو واقعی یقین ہے کہ آپ بھی یہاں ہو. شاید آپ کو صرف کی پیروی کی کچھ حق اب سینڈرز کرنے پر دوست. کہ مکمل طور پر ٹھیک ہے. یہاں مقصد ہک کرنے کے لئے ہے آپ اور آپ کا اعتماد بحال کرنے آپ کے لئے نظر آتے ہیں کہ اگر بائیں اور دائیں کرنے کے لئے، آپ کے ساتھ ہم جماعتوں کو دیکھنے کے لئے جا رہے ہیں بہت کم یا زیادہ کے طور پر تجربے کے طور پر آپ کو اس کے اپنے آپ کو ہو سکتا ہے. اور یقینا، ہم اشتراک کریں گے آج کچھ اعداد و شمار بعد میں کیا کی آبادیات کرنے کے طور پر طبقے میں عام طور پر طرح نظر آئے. اور reassurance-- اور یہ ہم نے مزید کہا کے طور پر میں نے کورس پر قبضہ کر لیا کے بعد سے مطلب ہے کچھ سال ago-- میں کورس کے نصاب کہ this-- کیا ہے بالآخر اس کورس میں معاملات اتنا کچھ تم کہاں اختتام نہیں ہے اپ اپنے ہم جماعتوں کے رشتہ دار، لیکن جہاں ہفتہ 11 میں آپ کو، کے اختتام سمسٹر، اپنے آپ کے رشتہ دار کو ختم 0 ہفتے میں، جس میں جہاں ہم آج یہاں ہیں. اور یہ میں نے محسوس کیا ہے ان تمام سال پہلے. اور میں کا ایک بہت کچھ جانتے ہیں کلاسیں اس کا کہنا ہے، لیکن یہ بات ہے کمپیوٹر سائنس میں خاص طور پر سچ. دن کے آخر میں، اس میدان نا واقف ہے یہ میرے لئے تھا کے طور پر اور آپ کے لئے ہو سکتا ہے، واقعی ہے صرف مسئلہ حل کرنے کے بارے. اور اس طرح کے طور پر، یہ اس لیے ہے دوسرے شعبوں حاصل کرنے کے لئے اطلاق. اور حقیقت میں، اگر ہم نے کوشش اس کا مطلب کیا کشید کرنے، اس مسئلہ کے حل ہے اس کے جوہر میں، میں daresay. تاکہ جو کچھ ان پٹ نہیں ہے جو کہ آپ کو حل کرنے کی کوشش کر رہے ہیں ہے. جس امید ہے پیداوار نہیں ہے، اس مسئلہ کا حل. اور پھر، اس کو ہم کریں گے ، کمپیوٹر سائنس میں کہنا میں اس بلیک باکس نہیں ہے مڈل آپ کو ضروری نہیں ہے کہ یہ کیسے کام کرتا کی پرواہ کرنا پڑے. تم نے اپنے آپ کو آخر میں شاید کیا اس باکس کے اندر کیا عمل درآمد. لیکن آج کے مقاصد اور مزید کے لئے عام طور پر زندگی میں، تمام آپ خیال ان مسائل کو حل کیا حاصل یہ ہے کہ. اور اس کورس میں کیا ہے بالآخر بارے دریافت کیا ہے کے تعلق ان آدانوں اور نتائج، اور ان نام نہاد یلگوردمز، ہم جلد ہی دیکھیں گے کے طور پر، کہ عمل درآمد کیا ہے نیچے سے، ڈاکو. لیکن ان آدانوں اور ان outputs-- کہ اصل میں کیا مطلب ہے؟ ویسے، دن کے آخر میں، ہم نے کی ضرورت معلومات کے نمائندگی کرنے کے کچھ طریقہ. یہ، ایک کمپیوٹر میں خاص طور پر سچ ہے جس کے طور پر پسند اور پیچیدہ طور لگتا ہے ہو سکتا، ایک خوبصورت گونگا آلہ ہے. اس سے چاہے electricity-- لیتا ایک کیبل یا ان پٹ کے طور پر ایک بیٹری اور پھر اس میں کچھ پیدا کرتا ہے سکرین پر preprogramed کے جوابات. لیکن ہم میں سے کس طرح حاصل کر سکتا ہوں وہاں ختم شروع؟ ٹھیک ہے، ایک مسئلہ کیا حل کرنے کی ہے؟ ویسے، شاید ہم میں طاقت ہو، کوئی بھی سمسٹر کے آغاز، حاضری لینے کی کوشش اس طرح ایک کمرے میں. تو میں نے ایک، دو، تین طرح کر سکتا ہے. یا ہو سکتا ہے، میں نے یہ کیا ہے تو چھانٹیں کا ٹریک رکھنے کے لئے myself-- کی چیزوں کی یاد رکھیں میں نے جلدی سے انگلیوں سے باہر چلا سکتا تھا. تو میں صرف ہیش marks-- سے ایک بنا سکتا ہے شخص، دو، تین، چار، پانچ، چھ، سات، آٹھ. اور ہم سب کو شاید پڑے اس نے کیا کیا، اپنے ہاتھوں پر ہے کہ آیا یا کاغذ کے ایک ٹکڑے پر. اور یہ تو صرف اصل میں ہے کچھ کے یک رکنی notation-- بلایا جہاں آپ صرف ایک حرف ہے تو آپ کے حروف تہجی، ایک یا ایک ہیش میں ہر ایک کے لئے، اس معاملے میں نشان آپ کو شمار کرنا چاہتے ہیں کی ان پٹ، اگر آپ ان میں سے ایک کے نیچے ڈال کرنے کی ضرورت ان نمبروں میں سے ایک letters--. بالکل ٹھیک. وہ سب ٹھیک ہے اور اچھا ہے اور تمام ہے کہ پیچیدہ نہیں. لیکن کمپیوٹرز تمام نہیں ہیں کہ بہت زیادہ پیچیدہ. بے شک، آپ کے سب سے زیادہ شاید تم سچ میں نہیں ہے یہاں تک کہ اگر جانتے کیا اس کا مطلب ہے کہ سمجھا کمپیوٹر صرف صفر سمجھنے اور نام نہاد بائنری سسٹم کے ones--. ہم انسان، اس کے برعکس، اتنی ہیں بہت زیادہ جدید ترین insofar کے ہم نو ذریعے صفر سمجھنے کے طور پر. لیکن بائنری سب سے پہلے میں، تو بھی نظر، نہ کہ تمام واقف، یہ صرف نظام کی طرح ہے باہر کر دیتا ہے اور خیالات ہم پہلے ہی جانتے ہیں کہ. مثال کے طور پر تو، اس پر غور کریں. یہ علامات میں سے صرف ایک ہی تسلسل ہے. اور تم سب، جب یہ میں glancing، شاید 123-- کچھ نہیں لگتا وہاں واقعی دلچسپ. لیکن کیوں اس عدد، 123 ہے؟ یہ صرف پر تراشے ہیں ہیں سکرین صرف نمونوں اگر کوئی تیار یا ٹائپ ہو سکتا ہے کہ. لیکن اگر آپ میری طرح ہیں تو، آپ کو شاید گریڈ اسکول سے یاد وہاں قسم کے ہیں کہ یہاں کالموں یا مقامات. ایک کی جگہ اور ہے دس کی جگہ اور سو کی جگہ. اور یہ اس وجہ سے ہے 123 اور صرف ایک تین علامتوں کا نمونہ ہے، کیونکہ اگر کورس کے، ہم ، سینکڑوں جگہ میں ایک ایک ہے آپ، 100 بار ایک کی ریاضی کا کام اور پھر دو سے دس کی جگہ میں. تو ہے کہ 10 بار 2، اور پھر تین میں ہے ایک کی جگہ اور یہ کہ 1 بار 3. اور تم میں سے، اپ ان میں سے سب کو شامل ہے جب کورس کے، آپ کو 100 کے علاوہ 20 کے علاوہ 3 حاصل. تو ہم صرف ایک پیٹرن کے ساتھ شروع کر دیا کی ایک alphabet-- symbols-- لیکن پھر ہم پر معنی مائچترت یہ ان کالموں کی راہ کی طرف سے. ٹھیک ہے، یہ پتہ چلا ہے کہ کمپیوٹرز واقعی نہیں ہیں آپ کے اور میرے طرف سے تمام ہے کہ مختلف. بلکہ اس کی بجائے 10 کی قوتوں کا استعمال کرتے ہوئے کی، تاکہ speak-- کرنے کے لئے 1، 10، 100، 1،000، 10،000 جگہ اور تو اصل میں وہ forth-- صرف کے اختیارات استعمال 2-- تاکہ ایک، 2، 4، اور اس کے بعد ہم زیادہ ہندسے ڈال دیا تو، 8، 16، 32، 64، 128، اور تو آگے. اور اس طرح یہ ایک کمپیوٹر کیسا ہے نمبر 0 نمائندگی کریں گے، صرف ہم انسانوں کی طرح. 0، 0، 0-- اور آپ شاید اندازہ لگا سکتے ہیں zeros اور ہیں جو پیٹرن، اگر ایک کمپیوٹر صرف کر سکتے ہیں بولتے 0 یا 1-- کیا پیٹرن کی نمائندگی کرنے جا رہا ہے تعداد میں ہم انسانوں 1 کے طور پر جانتے؟ Yeah-- 0، 0، 1. بالکل ٹھیک. پس 0، 0، 1 ہم نمائندگی کس طرح ہے 1، لہذا آپ کو اس کے بعد مائل ہو سکتا ہے اگر آپ کے پاس، نمبر 2 کی نمائندگی کے لئے چار کی جگہ اور دو کی جگہ ایک جگہ کے طور پر، آپ کہہ سکتے ہو، اچھی طرح سے، ہم ایک کی جگہ میں ایک 1 تھا تو، اور اب ہم کرنا چاہتے ہیں 2 تک شمار، آپ کو شاید یہ یہ کرتے ہیں اور ایک صفر ہونا اس کو چھوڑ دیں. لیکن کورس کے یہ نہیں ہے کہ کس طرح اعشاری نظام یا تو کام کرتا ہے. آپ میں ایک ایشو ڈال دیا تو ان کالموں کے دونوں، آپ حساب کرنا ہے. تو کیا تعداد میں میں نے کیا اتفاقی طور پر صرف کی نمائندگی؟ تو یہ 3، کیونکہ میں 2 بار 1 جمع 1 دور 1، کورس کے، ہم تین دیتا ہے. تو یہ دو ہو جائے گا. سا طرح کی تو بات کرنے کی، اتر، بطور 0 زیادہ سے زیادہ ایک 9 کرداروں کی طرح ایک ایک بن جاتا ہے آپ کو لے جب 1 اور 0 بن جاتا ہے. یہ تو کورس کے تین ہو جائے گا. ایک اور دلچسپ بات یہ ہے Four-- والوں سے زیادہ رول ہوتا ہے جہاں، اور آپ کو تو بات کرنے کیری 1،. تو یہ، کورس کے، 4 ہے. لیکن اگر آپ کو تیزی سے آگے اب تو، جا کے سب سے بڑے نمبر کیا ہے ایک کمپیوٹر کی نمائندگی کر سکتے ہیں کہ ہو جائے کرنے کے لئے؟ تو یہ درست، صرف اس صورت میں سات ہے؟ آپ کو چار میں سے ایک ہے کیونکہ، دو میں سے ایک، ایک میں ایک ایک. تو ہے کہ 4 علاوہ 2 1 پلس ہے. تو ہے کہ آپ کو سات دیتا ہے. اور یقینا، یہ کرے گا پہلی نظر میں لگتا کمپیوٹرز اعتماد کر سکتے ہیں کہ اس سے زیادہ نہیں. لیکن کورس کے یہ سچ نہیں ہے. ہم چاہتے ہیں جب ہم انسانوں کو کیا کروں 999 کی طرح کے مقابلے میں زیادہ شمار کرنے کے لئے؟ صرف ایک لے جانے اور صرف بائیں کرنے کے لئے ایک چوتھی ہندسوں کا اضافہ. اور تو یقینا ہم کر سکتے تھے. ہم ایک آٹھ کے ہو سکتا ہے ، اور ایک 16th کی جگہ رکھ اور ایک 32 کی جگہ، 64، 128-- اور تم صرف انفینٹی اپ پر جا رکھنے کے کر سکتے ہیں. تو ان zeros اور ones-- نام نہاد ثنائی system-- ہیں ایک کمپیوٹر سائنسدان کیا کرے گا عام طور پر تھوڑا سا، یا بائنری ہندسوں فون کریں. لیکن اب، کس طرح سے ہم حاصل کرتے ہیں تصور یا ان چیزوں کے گرافکس ایک حقیقی کے کمپیوٹر کے لئے؟ ہم یہاں ایک قدم اچٹیں جائے لگ رہے ہو. ویسے، آخر میں صرف ان پٹ دن کی، یہاں میرے لیپ ٹاپ کے لیے بجلی کے اس بہاؤ ہے. یہ ایک وقت ہو گیا ہے یہاں تک کہ اگر آپ کے بارے میں سوچا تھا کے بعد سے وقت یا کے بارے میں کبھی نہیں سوچا بجلی کام کرتا ہے، الیکٹرون میں بہہ نہیں ہے یا باہر، اور یہ کہ ان پٹ کو میری قسم ہے. تو ہے کہ ہم ہیں کہ تمام ہے تو یہاں ان پٹ کے طور ہو رہی ہے، ہم اس کی معلومات کے ساتھ کیا کر سکتے ہیں؟ ٹھیک ہے، ہم اس کو صفر کے بارے میں سوچ سکتا ہے بجلی کی صرف ایک کی غیر موجودگی. کچھ بھی نہیں flowinw ہے، کچھ بھی نہیں ہے آگے بڑھ رہے ہیں، کچھ بھی نہیں ہو رہا ہے. یہ صرف ڈیفالٹ state-- صفر ہے. لیکن بجلی، کیوں بہہ جاتی ہے تو ہم صرف منمانے ایسا نہیں کرتے، بلکہ عالمی سطح مسلسل، ایک ایک کو فون. تو بس کوئی طاقت رکھنے کی طرف سے، ہم، ایک صفر، جی ہاں طاقت ہے ہم ایک کوئی طاقت one--، ہاں طاقت ہے. اور اس راہ میں، ان چیزوں کا استعمال زیادہ طبعی یا الیکٹرانک ہم کے اس اصول کو لاگو کرنے کے لئے شروع کسی چیز یا تو ایک یا ایک صفر ہونے کے. بے شک، ہم صرف یہ یہاں کیا کر سکتے تھے. تو یہاں، میرے پاس نہیں ہے لیکن تین آٹھ روشنی بلب، جن میں سے ہر اس کے اپنے سوئچ ہے. اور اس طرح میں نمائندگی کے لئے چاہتا تھا، تو سات نمبر یہاں، میں نے ان تین روشنی بلب پر تبدیل کر سکتے ہیں. اور یقینا، اندر کی میرے کمپیوٹر، لاکھوں کا ہے چیزوں کے اربوں صرف کر رہے ہیں کہ اس سے چھوٹی، کہا جاتا ٹرانجسٹروں، سوئچ، آپ کو صرف پر اور باری ہے کہ. تو ان نسبتا big-- رہے ہیں میرے laptop-- اندر big-- سوئچز ، بہت سے بہت سے، بہت سے ہیں، بہت سے زیادہ سوئچ. لیکن وہ کرتے ہیں سب بالکل وہی ہے that-- پر کچھ باری، کسی چیز کو بند کردیں. اور اس طرح کے طور پر، ایک کمپیوٹر، کی نمائندگی کر سکتے ان لوگوں کو لاکھوں یا کروڑوں کے ساتھ ٹرانجسٹروں، بہت سے کی ہے اور zeros اور ہیں کے بہت سے. اور اب بھی ہے کہ دوسرے ہارڈ ویئر نہیں ہے کی اجازت دیتا ہے آپ کو، معلومات کے طویل مدتی ذخیرہ تاکہ آپ کو ھیںچو جب پلگ، آپ اسے کھو نہ کرو. لیکن یہ ایک اور دن کے لئے ایک کہانی ہے. تو ہم نے ان بٹس کے ساتھ کیا کر سکتے ہیں؟ ہم صرف لینے کے لئے ہو سکتا ہے me-- کے دور دباؤ کسی کے آنا چاہتے ہو سکتا ہے یہاں اور ایک ڈیمو کی پیشکش؟ میں نے سب سے پہلے اس کے ہاتھ کو دیکھا. آپ کا نام کیا ہے؟ MADAY: Maday. DAVID MALAN: Maday، پر آئے. آپ سے مل کر خوشی ہوئی. MADAY: آپ سے مل کر اچھا لگا. DAVID MALAN: چلو اس راہ. میں تمہیں ہونٹ پر نہیں پڑے گا. بالکل ٹھیک. تو یہاں، ہم، ایک کو نوٹس، two-- ہم اس out-- میں ترمیم کر لیں گے ایک، دو، چار، آٹھ، 16، 32، 64، 128. یہ جان بوجھ ہے. آٹھ بٹس ہے یہاں ثنائی digits-- zeros اور ہیں. اور تھوڑا سا measure-- کا ایک مفید شے ہے طور پر مفید نہیں ایک پیمائش کی یونٹ خود پر. عام طور پر آپ کو کم از کم چاہتے ہیں ان چیزوں میں سے آٹھ، a.k.a. ایک بائٹ. تو ہم یہاں بٹس کی ایک بائٹ ہے. ہم آپ کے ساتھ کو چیلنج کرنا چاہتے تھے تو، مثال کے طور پر، بائنری میں، باہر ہجے، اس کی قیمت 42 یہاں. اس میں ایک کوشش لے کرنا چاہتے ہیں؟ MADAY: [اشراوی]. DAVID MALAN: جی ہاں، صرف دھکا سامنے چھوٹی سی سفید سوئچ. اور تم جادو کرنا چاہتے ہیں باہر 42، اور گرپس کے لئے اس CS50 کشیدگی ہے آپ کو یہ حاصل ہے تو گیند. بالکل ٹھیک. تو آپ کو 32 ہے. ہم 42 کی ضرورت پڑے گی. تو ہے کہ ایک آٹھ ہے، تو ہے کہ 40 ہے. اور excellent-- بہت اچھی طرح کیا. آپ کا شکریہ. [تالیاں] بالکل ٹھیک. تو ہم نے ایک سے زیادہ کشیدگی گیند ہے. ہم اگر اجازت ہو تو ہم اس کو ایک بار زیادہ کرتے ہیں. ایک دوسرے رضاکار؟ مفت کشیدگی گیند، ڈاؤن لوڈ، کشیدگی گیند. ٹھیک ہے. یہاں وسط میں، آپ نیچے آنے کے لئے چاہتے ہیں؟ بالکل ٹھیک. میں جانتا ہوں. ہم وہاں جاتے ہیں. تاکہ تعداد یہاں نیچے آو. آپ کا نام کیا ہے؟ Davey کی: Davey کی. DAVID MALAN: Davey کی. ٹھیک ہے. سائن چلو، ڈیوی. آپ سے مل کر خوشی ہوئی. اور کیا ہم جا رہے ہیں کہ آپ کو کرنا spell-- تم وہاں تاخیر کر سکتا ہے تو صرف ایک لمحے کے لئے نمبر 50 ہے. لیکن، لیکن، لیکن لیکن، لیکن، یہ ہیں ایک وجہ کے لئے گریڈ اسکول میگنےٹ. صرف صحیح، ایک چھوٹی سی مشکل ہو گیا سب؟ آٹھ اب بھی ہے. بالکل ٹھیک. تو کیا ہم وہاں پر ہے؟ ہم 32 ہے. اچھا. 32 پلس 16 ہمیں دیتا 48-- اتنے قریب. اور حیرت انگیز. Davey کی کو مبارک ہو اس کے ساتھ ساتھ. [تالیاں] بالکل ٹھیک. تو ہم سارا دن یہ کر سکتے ہیں، اور یہ سب کہ بہت زیادہ نہیں ملتا دلچسپ اور زیادہ مشکل. لیکن یہ واقعی point-- ہے کس طرح نسبتا آسان ہے جو دن کے اختتام، کیا ایک میں، ہے کمپیوٹر کی معلومات ذخیرہ کرنے کے لئے کرتا ہے، آدانوں کی دکان اور بالآخر کرنے ذخیرہ یا ان نتائج کی نمائندگی. لیکن اکیلے نمبرز نہیں ہیں سب دلچسپ. انسانوں لہذا، کچھ سال پہلے، فیصلہ کیا، تم کیا جانتے ہو؟ اس سے تو اچھا ہو گا کمپیوٹرز کو صرف نہیں تھے ریاضی کے calculators کے کارروائیوں، لیکن اصل میں کر سکتے تھے لفظ وسائل کی طرح باتیں کرتے ہیں، یا ای میل، یا زیادہ جدید اوتار ٹیکنالوجی کے اس قسم کے. اور اس طرح دنیا کا فیصلہ کیا منمانے، لیکن عالمی، کہ آپ کو دارالحکومت محفوظ کرنا چاہتے ہیں تو ایک کمپیوٹر میں خط A، تمہیں معلوم ہے؟ چلو صرف تمام ذخیرہ کرنے کے لئے اتفاق کرتا ہوں چلو zeros اور ones-- کے کچھ پیٹرن bits-- بالآخر دشملو تعداد 65 کی نمائندگی کرتا ہے. ہم صرف سب اس پر متفق ہوں گے. 66 B کی نمائندگی کریں گے، 67 C کی نمائندگی کریں گے، اور دیگر نمونوں کے bunches وہاں ہے zeros اور ہیں، یا بنیادی اعداد، کہ کی نمائندگی کریں گے اب بھی دیگر خطوط. لہذا اگر آپ اس قسم کی ذہنی طور پر ایک لمحے کے لئے اس کو جذب، میں نے جان بوجھ ذریعے ایک ڈال I، جہاں H 72 اور میں 73 ہے. تو پھر ایک کمپیوٹر، کے تناظر میں ایک لفظ وسائل پروگرام یا ایک ای میل، تعلق کرنے ہڈ کے نیچے انکشاف کیا bits-- پیٹرن کے یہ نمونے کی نمائندگی کرنے کی بٹس کی 72، پھر 73، پھر 33-- اس نے اس پروگرام میں کیا جادو کر سکتے ہیں؟ لہذا ہیلو، اور پھر کچھ. ہم ضروری نہیں جانتے، لیکن یقینا 33-- نہ چارٹ پر earlier-- بس ایک فجائیہ نقطہ تھا. چنانچہ 72 H تھا، 73 میں ہے، 33 سے ہوتا اب بھی ایک فجائیہ نقطہ ہو. لیکن یہ سب ٹھیک اور اچھا ہے، اور حقیقت میں آج کل، بجائے صرف استعمال سات یا آٹھ بٹس، کچھ کے لئے شکریہ کے طور پر کی مخالفت یونیکوڈ بلایا دن میں واپس ASCII کرنے، ہم اصل میں اس سے بھی زیادہ کی نمائندگی کر سکتے صرف نسبت دلچسپ حروف ان کی اصل انگریزی حروف جانبدار. لیکن ہم یہ بھی بھی نمائندگی کر سکتے ہیں رنگوں کی طرح neater کی چیزیں. کیا تم نے کبھی مخفف سنا ہے تو آرجیبی، سرخ، سبز، نیلے، کہ صرف ایک کمپیوٹر کا مطلب ہے کہ عام طور bits-- کے تین سیٹ کا استعمال کرتا ہے کی نمائندگی کرتے ہیں بٹس کی کچھ تعداد آپ کتنی سرخ چاہتے ہیں کے لئے ایک بڑی تعداد، کے لئے بٹس کی ایک اور سیٹ کتنا سبز آپ چاہتے ہیں، اور ایک اور سیٹ نمبر کے لئے کتنا نیلے آپ چاہتے ہیں. تو ایک بڑی تعداد کے بہت سے مطلب ہے کہ سرخ، چھوٹی سی تعداد میں کوئی سرخ کا مطلب ہے. اور اس طرح ان قسم کے ہیں یہاں کے وسط اقدار. تو مجھے کچھ سرخ دے، مجھے کچھ دے دو سبز، نیلے اور مجھے تھوڑا سا دے. اور اگر تم ان تین رنگوں اختلاط تو ایک دوسرے کے ساتھ رنگ کے، اس معاملے میں، آپ کو اس اندیرا سایہ حاصل کے پیلے رنگ یا بھوری. لیکن آٹھ کے اس پیٹرن کے علاوہ آٹھ پلس تا 24 bits-- eight-- بائیں سے دائیں، ایک کمپیوٹر کیسا ہے اس مخصوص رنگ کی نمائندگی کریں گے. اب یہ ایک سکرین پر صرف ایک نقطہ ہے. آپ اپنے ٹی وی پر بہت قریب سے دیکھیں تو آپ کمپیوٹر، آپ کے نقطہ یا پکسلز نظر آئے گا. اور تم میں سے ایک پوری گرڈ ہے تو پکسلز، افقی اور عمودی، آپ تصاویر ہیں. اور پھر آپ کو لے اگر ایک تصویر اور پھر واش اپنے آپ کو ایک اور تصویر ظاہر، ایک اور تصویر، دوسری تصویر، دوسری تصویر، بہت تیزی سے، کورس کے آپ کو فلموں ہے. ہم کہاں شروع کر دیا اور اس طرح محسوس. ہم ان zeros اور ہیں کے ساتھ شروع. ہم دشملو وہاں سے کام کیا نمبرز، کس طرح ہم ان کی نمائندگی. اب ہم حروف تہجی کے خط ہے. لیکن میں دیگر سیاق و سباق کا انتظار، ہم استعمال کر سکتے ہیں مزید چند بٹس اور کی نمائندگی رنگ. جیسے ہی آپ کے طور پر رنگوں کی نمائندگی کرنے کی صلاحیت، آپ کی نمائندگی کرنے کی صلاحیت ہے تصاویر اور متحرک GIFs سکرین پر اور اس طرح کے دوسرے کرداروں. اور تم میں سے ایک مکمل جھوبڈ ہے جب تصاویر کو ایک بار انسانی کی طرف سے پرواز، یہ، تحریک تصاویر کی طرح لگتا ہے اور اسی طرح آپ کے ساتھ ساتھ ویڈیوز کو ملتا. تو استعمال کرتے ہوئے ان کے بہت سادہ primitives میں ہم کرتے ہیں کی نمائندگی کرنے کا طریقہ ہے بالآخر تمام میڈیا کی ان اقسام میں سے. اور ہم پھر سے پر abstracted گئے ہیں اور بار بار، ہم جب تک سب سے کم سطح سے حاصل اس بلند ترین سطح پر. تو ہے کہ ہمیں اس دیتا ہے تجرید کی عام خیال. لیکن ہم یہاں شروع. یہاں اب، ہم ہی نے ایک کمپیوٹر میں نمائندگی کریں zeros اور ہیں کے ساتھ ہمارے آدانوں، zeros اور ہیں میں ہمارے نتائج، لیکن کیا باکس کے اندر چلا جاتا ہے؟ یہی وجہ ہے کہ جہاں کمپیوٹر ہے سائنس دلچسپ ہو جاتا ہے. آپ اصل میں لانے جہاں ہے آپ کی اپنے ذہنوں مسائل کو حل کرنے کے اٹھانے سے. ہم نے کے لئے، اب شرط کر سکتے ہیں سمسٹر کے باقی، جی ہاں. میں نے کس طرح بائنری کام جانتے ہیں. میں نے کس طرح ASCII یا Unicode-- یاد ورکس letters-- کرنے تعریفیں. اور یہ یقینی طور پر کھڑا ہے کہ ہم وجہ سے سرخ اور سبز رنگ کی نمائندگی کر سکتے ہیں اور نیلے رنگ، اور اس کے ساتھ ساتھ ملٹی میڈیا کی نمائندگی. لیکن یہ دلچسپ چیزیں ہے. یہ کسی بناتا ہے کیا ہے مسائل کو حل کرنے کی صلاحیت رکھتے. اور ایسے ہی ایک مسئلہ ہم، بے شک، کیا کرنا پسند حاضری لے جا رہا ہے، یا الگوردھمک یہ کر رہے. اور پھر، میں یہ کر سکتا. میں نے ایک، دو، تین، چار کر سکتا ہے پانچ، چھ، سات، آٹھ سے نو. اور میں یہ لکھ سکتے تھے نیچے اس کے ٹریک رکھنے کے لئے. لیکن یہ صرف ہے کہ کس طرح میں کروں گا معلومات کی نمائندگی. یا مجھے اس faster-- ایسا کر سکتا ہے دو، چار، چھ، آٹھ، دس، 12، 14، 16، 18، 20، 22-- یہ دو مرتبہ کی طرح لگتا ہے روزہ کے طور پر لیکن یہ اب بھی ہے وقت کی ایک پوری بہت لے جا رہا. لیکن یہ ہم نے ابھی تک بیعانہ تو، باہر کر دیتا ہے ایک اور resource-- اور یقینا کمپیوٹرز ان دنوں ایک سے زیادہ CPUs کے یا دماغ ہے. یہ کر سکتے ہیں کمپیوٹرز باہر کر دیتا ہے ایک بار میں چیزوں کے بہت کرتے، اور ہم، اس کمرے میں، بالکل اس کی نمائندگی کر سکتے. تو یہ سماجی طور پر ایک چھوٹی سی بات ہے عجیب، لیکن اگر آپ کو ہنسی مذاق مجھ پر کرے گا صرف ایک تین قدم کے عمل کے لئے، کی اجازت مجھے وہاں صرف جگہ میں ہر کسی سے پوچھیں ایک لمحے کے لئے کھڑے ہونے کے لئے. کھڑے ہوجاؤ. تو اپنے آپ کو لگتا ہے، تعداد one-- تو اس کمرے میں سب کو، لوگوں نے نہیں کیا جو سوائے مجبور، نمبر ایک میں سوچ رہے ہیں. تو ہے کہ اب آپ کے نمبر ہے. یہ پہلا قدم ہے، یا ایک کے طور پر کمپیوٹر سائنسدان یا ایک پروگرامر ایسا عام طور پر کرے گا، ہم جا رہے ہیں صفر پر گنتی شروع کرنے کے لئے. سب سے چھوٹی تعداد ہم کر سکتے ہیں ان لوگوں کو روشنی کے بلب کے ساتھ کی نمائندگی کرتے ہیں صرف انہیں چھوڑ کی طرف سے صفر ہے، سب سے دور، مجھے اچھی طرح سے شاید صرف سے گنتی شروع صفر ایک کی بجائے ہے. اور اس طرح وہ کیا ہے کمپیوٹر سائنسدانوں کرتے. تو قدم صفر، کھڑے ہو جاؤ اور نمبر ایک کے بارے میں سوچنا. اگلے قدم this-- جوڑی ہے اگر کوئی ساکھ کے ساتھ بند اور مل کر آپ کی تعداد میں اضافہ کریں. کمال. انہوں نے اس موقع پر ایسا، لفظی ہر کوئی حصہ لے ، نمبر 2 کا سوچ رہا ہے سوائے ایک عجیب شخص کے لئے ہم کو ہے تو کمرے میں لوگوں کی طاق. اور اب یہاں تیسرا قدم کی جا رہی ہے جائے تم میں this-- ایک نیچے بیٹھنا چاہئے. تم بیٹھ جاؤ چاہئے میں سے ایک، اور آپ اب بھی کھڑی کر رہے ہیں تو، ایک قدم پر واپس جانا. بالکل ٹھیک. بالکل ٹھیک. تاکہ زیادہ سے زیادہ لوگ بیٹھ کر کیا جانا چاہئے. کہ اس کی حوصلہ افزائی کی ہے کہ نوٹس ایک سائیکل کے کچھ قسم loop--. تم میں سے کچھ، awkwardly کیا پھنس جانا چاہیے ایک قدم کے درمیان آگے پیچھے جا اور دو، ایک اور دو، ایک اور دو. ٹھیک ہے. ہماری پہلی بگ. ہم اس کے ساتھ نمٹنے گا. بالکل ٹھیک. مجھے چیزوں کے ساتھ ساتھ حوصلہ افزائی کرنے کی کوشش کرتے ہیں. اصول میں، صرف ایک شخص کھڑا ہے سب سے دور جوڑی کی جاری ہے. لیکن مجھ چیزوں کی رفتار کی اجازت لوگوں کے ساتھ اب بھی کھڑے. کیا تعداد آپ کے بارے میں سوچ رہے ہیں؟ 46. ٹھیک ہے. آگے بڑھو اور بیٹھ جاؤ. تم لوگ اب بھی کھڑی ہیں. اب بھی کھڑا ہے؟ کیا تعداد آپ کے بارے میں سوچ رہے ہیں؟ ٹھیک ہے. تو ہم آپ کو واپس آ جائیں گے. پیٹھ میں؟ وہ کیا ہے؟ 22. OK کسی کو باقی top-- ہاں؟ 34. ٹھیک ہے. یہاں یہاں میری right-- اپ سے پر کیا؟ 132، بہت اچھا. 22؟ ٹھیک ہے. اور پھر بھی جو کھڑا ہو رہا ہے؟ یہاں پر؟ 46، بہت اچھا. 72. مجھے زیادہ دیر رک نہیں سکتا. ہاں؟ 30، اچھا. یہاں پر؟ 23؟ 23. اور میں اس سب کی سوچتے ہیں تم لوگوں کو، کوئی دباؤ سوائے. ارے رکو. 28؟ صرف آٹھ. ٹھیک ہے. صرف آٹھ. یہاں نیچے؟ 30. 23. 24. 18. یہ بدترین عمل درآمد ہے کبھی اس الگورتھم کی. ٹھیک ہے. تو کسی اور کو؟ کوئی دوسرا؟ ٹھیک ہے. ایک اور. 16؟ ٹھیک ہے. 16. بالکل ٹھیک. مجھے یاد نہیں ہے تو اس میں کوئی اتنا یہاں چکاچوند، میں درج کریں مارا جب، ہم الگوردھمک،، دیکھیں گے سینڈرز میں لوگوں کی کل تعداد. پھر کیونکہ، یہ ہر ایک کے طور پر اگرچہ ہے کے طور پر آپ نے بیٹھ، آپ کے نمبر پر منظور کسی اور سے، کسی اور سے، کسی اور کو، اتنا اصول میں کہ، آخر میں، صرف ایک عجیب شخص کھڑے چھوڑ دیا جانا چاہئے. لیکن یہ ٹھیک ہے. ہم کو دستی طور چیزیں اپ sped. اس کو دیکھنے کے لئے خاص طور پر مشکل ہے یہ خاص طور پر خلا میں. اور لوگوں کی کل تعداد ہم یہاں ہیں 546 ہے لگتا. کل تعداد میں حوالے کیا گیا تھا تعلیم ساتھیوں کی طرف سے، جو اس بوڑھی کیا اسکول سست راستہ، 820 تھی. [ہنس] [تالیاں] ٹھیک ہے. سو بیشک تو، ان کیڑے ہیں. اور ٹھیک ہے. اور اس طرح یہ پر واپس لگتا ہے پہلی بار کچھ نہ کچھ آپ کو لکھنے کو ضروری کام نہیں کرتا. یہ یہاں اس کے ساتھ ساتھ مجھ سے ہوا ہے. لیکن اب ہم کس طرح شاید غور کرتے ہیں کچھ کرنے کے لئے اس ایک ہی خیال کو لاگو تم سے پہلے دیکھا ہے ہو سکتا ہے جس میں اس پرانے اسکول ٹیکنالوجی یہاں ہے ایک بہت بڑا فون بک. اور لگتا ہے کہ یہ فون بک 1،000 صفحات اور 1،000 نام ہیں اور اعداد حروف تہجی کے اس کے اندر. ویسے، ہم اس قسم کی اسی طرح کی ایک درخواست دے سکتا ہے یہ بہت ہی جسمانی مسئلے کا خیال، صرف مجھے استعمال کرتے ہوئے. میں صرف کی قسم دھوکہ دیا آپ سب کا فائدہ کی طرف بہت سے اور مختلف CPUs کی بہت سی کے ساتھ یا دماغ کچھ الگورتھم پر عمل کر. لیکن یہ صرف تھوڑا ہے تو پرانے مجھے، میں اب بھی کر سکتے ہیں ایک خیال کی ہے کہ ایک ہی جوہر سے استفادہ تقسیم اور اس مسئلہ کو فتح کے بار بار، جس کے تحت آپ کی نصف، تم میں سے نصف، تم میں سے نصف، تم میں سے نصف، نظریاتی طور پر بیٹھ کر رکھا، ہم رہ گئے تھے جب تک، نظریاتی طور پر، صرف ایک شخص کے ساتھ. تو کیا یہ پرانے اسکول میں technology-- ہم ایسا نہیں کرتے یہ اس map-- ضرورت پرانے اسکول کی ٹیکنالوجی، ہم کسی کے لئے تلاش شروع ہو سکتا ہے مائیک سمتھ، ایک وقت میں ایک صفحے کو پسند. اور میں نے دیکھا ہے کہ نہیں، مائیک یہاں نہیں ہے. میں ایک کے حصے میں اب بھی ہوں. آخر میں، میں تلاش اپنے آپ B سیکشن میں. اور یہ ایک الگورتھم ہے قدم بہ قدم ہدایات. شروع اور ایک صفحے سے شروع کریں ایک وقت میں، مائیک سمتھ کے لئے نظر. یہ اس correct-- ہے الگورتھم یا نقطہ نظر؟ جی ہاں، یہ صحیح ہے. مائیک یہاں ہے تو، آخر کار میں نے اس سے ملے گی. لیکن یہ موثر نہیں ہے. یہ واضح طور پر بہت سست ہے. لہذا میں بیعانہ کر سکتے ہیں اسی twosies رجوع. میں نے دو طرح کی کچھ کر سکتے ہیں چار، چھ، آٹھ، 10، 12. یہ روزہ کے طور پر دو مرتبہ ہے. میں نے مائیک پر حاصل کرنے کے لئے جا رہا ہوں تیزی سے وہ اگر وہاں. یہ صحیح ہے؟ جی ہاں، لیکن میں نے ایک چھوٹی سی کوئی سنا. اب میں ایک نہیں سنا. جی ہاں. ممکنہ طور پر ایک بگ ہے. ہو سکتا ہے کہ مائیک صرف اتفاقی طور پر ہو جاتا ہے دو صفحات کے درمیان sandwiched، میں کے ذریعے اڑ رہا ہوں کیونکہ یہ دو ایک وقت میں. تو کم از کم ہم کچھ کی ضرورت ہے مشروط طے کر کے قسم. I، کہنے کی ضرورت، ارے میں نے کسی کو جن مارا تو نام، ایک ٹی کی بجائے ایک S کے ساتھ شروع ہوتا میں اس سے بہتر واپس کم از کم ایک صفحہ دوگنا. چنانچہ چھوٹی گاڑی میں پہلے، لیکن fixable. لیکن ہم میں سے کوئی بھی تلاش کرنے جا رہے ہیں 1،000 صفحے فون کے ذریعے مائیک سمتھ ایک وقت میں ایک صفحے کی کتاب. کیا کرنے جا ایک عام انسان کیا ہے؟ تم S کے لئے جانے کے لئے جا رہے ہیں، تم کہاں ایس کی سمجھو تو. آپ درمیان تقریبا جانا ہو سکتا یا تھوڑا سا اختتام کی طرف skewed. اور میں یہاں نیچے دیکھو اور I M سیکشن میں ہوں. لیکن تم کیا جانو کہ اب اس مسئلہ کے بارے میں، ہم ضروری سے پہلے نہیں پتہ تھا کہ ہم سب کے ساتھ صرف خود گنتی مساوانہ؟ ویسے، مائیک واضح طور پر کی جا رہی ہے کتاب کے اس نصف میں ہونا وہ بالکل یہاں ہے تو اس کے مطابق ہے، کیونکہ. اور تو آپ کو بہت dramatically-- سکتے [گھٹتا ہوا دم] میں جانتا ہوں. [تالیاں] یہ اصل میں تو بہت آسان ہے تم وہاں ریڑھ اسے نیچے کروں. لیکن آپ کو تو پھینک سکتے ہیں مسئلہ کے نصف دور. اب، میں نے اسی مسئلے کے ساتھ چھوڑ رہا ہوں ایک فون میں مائیک سمتھ مل کی کتاب لیکن اب فون بک M سے شروع ہوتی ہے اور Z کو جاتا ہے، لیکن یہ بڑے کے طور پر نصف ہے. لیکن یہ متاثر کن ہے کیا ہے. بس اصول میں، آپ لوگ، جب کی طرح آپ سب کو، ایک وقت میں صرف نصف بیٹھ گیا مسئلہ، بڑے کے طور پر نصف ملا نصف کے طور پر بڑا بار بار،. لہذا اس مسئلہ بن گئی ہے ایک ہی مسئلہ ہے لیکن بڑے کے طور پر نصف. اب یہ ایک 250 صفحے مسئلہ ہے. جیسے ہی میں احساس کے طور پر، اوہ، میں ہوں اتفاقی طور پر ٹی کے سیکشن میں. میں بہت دور چلا گیا ہے. مجھے لگتا ہے کہ نصف پھینک کر سکتے ہیں دور فون بک کے. اب، میں ایک کے لئے نیچے ہوں مسئلے کی سہ ماہی. اور آپ کو دہرانے،، دوبارہ کر سکتے ہیں ، جب تک اصول میں، آپ ہیں دہرانے صرف ایک صفحے کے ساتھ چھوڑ دیا. اور مائیک اس صفحے پر ہے تو، اب میں اس مسئلہ کو حل کر سکتے ہیں. لیکن میں یہ ہے کہ کس طرح فوری طور پر حل کیا؟ پہلی صورت میں، اس کی طرح لے گئے شاید مائیک سمتھ کو تلاش کرنے کے 1،000 اقدامات. اس me-- لے لیا ہو سکتا میں نے فون بک اٹھایا اور میں نے تلاش شروع ایک وقت میں ایک صفحہ، اور مائیک 1،000 صفحات کے بعد ہو سکتا ہے. دوسرے نقطہ نظر ہو سکتا ہے مجھے 500 اقدامات، میں اڑ رہا ہوں کیونکہ ایک وقت میں دو کے ذریعے. اور اگرچہ تیسرے نقطہ نظر، یہ خاص طور پر طاقتور ہے. لیکن کیا ہم واقعی غور کرتے ہیں اس تیسرے نقطہ نظر کے ساتھ کیا تھا. میں نے صرف ان کو بلاتا ہوں دونگا بیانات یہاں، ایک وقت میں ایک. ایک فون کتاب اٹھا. فون بک کے وسط کے لئے کھلا. ناموں کو دیکھو. اور پھر چیزیں تھوڑا حاصل زیادہ ذہنی دلچسپ، اب بھی سادہ تو. سمتھ کے درمیان ہے تو کہ موجودہ صفحے پر ناموں، پھر مشروط کچھ کرنا. اس راستے میں ایک کانٹا کی طرح ہے. مائیک کو فون کریں. مائیک ناموں میں سے ایک ہے تو اس صفحے پر، مائیک بلایا. لیکن صرف لائن چار کرنا ہے تو لکیر درخت، اگر آپ، سچ ہے. اس سوال کا جواب ہاں میں ہے. سمتھ کی کتاب کے شروع میں ہے اور اگر دوسرے الفاظ میں، میں نے M سیکشن میں ہوں تو اور میں کسی کے لئے تلاش کر رہا ہوں بائیں، تو مجھے کیا کرنا چاہئے بہت ہی کچھ ہے. پھر میں نے وسط میں کھلنا چاہیے کتاب کے بائیں نصف کے. تو چھوڑ جانا، اور اس کے بعد دو قدم پر واپس جانا. وہاں ناموں کو دیکھو. تو دوسرے الفاظ میں،، ایک ہی بات لیکن ایک مسئلہ پر آدھی کر دی گئی ہے کہ. تم کیا کسی کو معلوم ہے؟ سمتھ کی کتاب میں بعد میں ہو تو صفحہ I میں دیکھ رہا ہوں کی بنیاد پر، کے وسط کے لئے کھلا کتاب کا حق نصف اور پھر دوبارہ واپس جانا دو قدم رکھنے، else-- یہاں ایک چوتھی امکان نہیں ہے. مائیک یا تو یہاں یا بائیں یا دائیں یا وہاں نہیں کرنا. اور یہاں ہم بہتر اس پر غور کریں. اور حقیقت میں، اگر آپ کبھی لیا ہے تو آپ کے کمپیوٹر کو صرف آپ پر کریش، کہ کبھی کبھی ہے، لیکن ہمیشہ نہیں، صرف ایک انسانی پروگرامر کا نتیجہ نہیں احساس، اوہ نہیں ہے گولی مار، اصل میں یہ چوتھا منظر نامے. اور آپ کوڈ لکھ نہیں ہے تو اس منظر نامے کو ہینڈل کرنے میں، کبھی کبھی آپ کو معلوم نہیں ہے کمپیوٹر ایسا ہو سکتا ہے کیا. اور یقینا ایک پروگرام کریش ہو سکتا ہے. لیکن اس معاملے میں، میں نے سوچا اس بارے میں، اور میں نے کہا، نہیں تو چھوڑ دیا، اس کی وجہ سے چوتھے ہے منطقی ممکنہ تناظر. اب، چلو صرف شامل ہیں تو ہم نے کچھ ذخیرہ الفاظ شرائط کے ارد گرد ٹاس کے لئے شروع کر سکتے ہیں دوسری صورت میں بہت بدیہی ہیں. صرف چیزوں میں سے سب میں نے یہاں پیلے رنگ میں روشنی ڈالی، میں نے ابھی جا رہا ہوں افعال یا طریقہ کار. وہ اعمال کے صرف اچھے ہو. تو کھلے لینے کے لئے، نظر آتے ہیں، اوپر،، کو فون کھلے، کھلا، یہ صرف اعمال ہیں quit--، یا ہم کریں گے زیادہ باضابطہ طور پر انہیں فون، افعال. دریں اثنا، اب پیلے رنگ میں، میں چیزوں پر روشنی ڈالی ہے that-- چلو صرف بلا شروع ان حالات یا شاخیں. یہ فیصلے پوائنٹس کہاں ہیں آپ کو اس راستے پر چلنا ہو سکتا ہے، اس طرح سے، یا اب بھی کچھ دوسری سمت. لہذا ان حالات ہو جائے گا. اور اب یہ ایک تھوڑا fancier ہے. کے ان سوالات کو بلاتے ہیں بولین اظہار، ایک آخری نام Bool کی کے ساتھ کسی کو بعد. اور ایک بولین اظہار صرف کچھ ہے کہ یا تو صحیح یا غلط ہے، ہاں یا نہیں. تو یہ سوال جس کا جواب آپ کو ہے تو ایک حالت میں کرنے کے طور پر، کے بارے میں خیال ایک فیصلہ کرتا ایک جواب واپس حاصل کرنے کے، اور پھر بائیں یا دائیں، یا کچھ جانا یکسر ورنہ. اور پھر آخر میں، ان لائنوں یہاں واپس جانا دو قدم رکھنے، واپس جاؤ two-- قدم رکھنے ہم کر سکتے تھے مختلف طریقوں سے اس خیال پر عمل. اور پھر ساتھ آپ کے ان پروگرامنگ کے تجربے کیا ہو سکتا ہے یا مختلف ایسا کرنے کا تصور کر سکتے. لیکن آج کے مقاصد کے لئے، یہ ہے صرف خیال ہے کہ معاملات. یہ inducing کی ہے کیا ہم عام طور پر بلاتا ہوں ایک، سائیکل کے کچھ قسم loop-- کیونکہ اس سے مجھے ایک بار پھر کچھ کر رہی ہے. تو اب، چلو صرف غور کرتے ہیں کس طرح اچھا اس الگورتھم ہے. یہ درست ہے. کتاب میں مائیک تو، اس میں سے ایک ہے ان چار بار بار scenarios-- اور ایک بار پھر، ہم نے ان کو تلاش کر لیں گے. لیکن یہ کس طرح اچھا ہے؟ ویسے، ہمارے پاس نہیں ہے یہاں بھی رسمی ہونے کے لئے. لیکن صرف پلاٹ کی اجازت کچھ تو، X اور Y، حاصل کرنے کے لئے اس مسئلہ کی شکل کا ایک احساس. ایکس محور پر یہاں ہے میرے مسئلے کے سائز. اور انہوں نے یہاں Y محور حل کرنے کے لئے وقت ہو جائے گا. تو شاید اس کے صفحات کی تعداد ہے. شاید یہ سیکنڈ ہے یا جو کچھ turns-- صفحہ. تاہم اگر آپ کو شمار کرنے کے لئے چاہتے ہیں تصویر کی نمائندگی کریں گے کیا. اور یہ کہ پہلے الگورتھم، میں جا رہا ہوں صرف ایک براہ راست لائن کے طور پر کی وضاحت کرنے کے. میں ن صفحات موجود ہے تو فون بک، پھر اس کے بعد بہت سے کے طور پر مجھے لگ سکتا ہے ن اقدامات کے طور پر مائیک تلاش کرنے کے لئے. تو Verizon یا فون کمپنی ، اگلے سال ایک اور صفحہ کا اضافہ کر دیتی اس سے مجھے لگ سکتا ہے ایک سے step-- وقت کے ایک یونٹ مائیک تلاش کرنے کے لئے. تو ایک تناسب کرنے کے لئے صرف اس ایک ہے. یہ ایک براہ راست لائن ڈھال ہے. دریں اثنا، کہ دوسری الگورتھم میں ہوں تو ایک ہیں وقت دو میں دو جا، چار، چھ، آٹھ، یا double-- دو مرتبہ کے صفحات کے ذریعے جا ایک وقت میں، ایک وقت میں دو، یہ اب بھی براہ راست لائن ہے. دو کے لئے ایک ایک اب بھی نہیں ہے تناسب، لیکن صرف کچھ ہی کم. یہ کئی صفحات ہو تو تو پیلے رنگ میں یہاں چارٹ پر، کہ مجھے یہ لگ سکتا ہے بہت سے اقدامات یا سیکنڈوں، ورنہ یہ مجھے لے جا رہا ہے سرخ لائن پر دو بار کے طور پر بہت. لیکن سبز لکیر حقیقی takeaway ہے. یہ جو ہم عام طور پر ہے ایک logorithm-- دلے فون کریں ن، جہاں ن صفحات کی تعداد ہے. لیکن یہ شکل ہے کہ معاملات ہے آج، ہمارے پاس نہیں ہے کیونکہ یہاں تک کہ پوائنٹس کی سازش کے بارے میں سوچنا. ایک انتہائی صورت حال کے بارے میں سوچو. ویریزون کل ڈبلز مان لیں اس فون کی کتاب میں صفحات کی تعداد، 1،000 سے 2،000 تک. پہلی الگورتھم میں، میں نے ایک اضافی 1،000 ضائع ہو سکتا ہے اقدامات، مائیک کے لئے تلاش کر صرف اس وجہ سے ویریزون کتاب کا سائز دگنا. یہ الگورتھم دوسرا شاید مجھے ایک اضافی 500 اقدامات کرے. 1،000 سے صفحات، میں نے ایک ہی وقت میں دو جانا مائیک تلاش کرنے کے لئے 500 مزید اقدامات ہیں وقت. لیکن اس کے تیسرے الگورتھم اس قسم کی جادو ہے. ویریزون تعداد ڈبلز 1،000 سے 2،000 صفحات کی، لیکن کتنے اقدامات کرتا ہے یہ میرے مائیک کے لئے ملاحظہ کرنے کے لئے لے؟ یہ صرف ایک ہے کیونکہ میں صرف یہ کر سکتے ہیں فون بک سے ایک بار آنسو ایک کے لئے ایک 2،000 صفحے مسئلہ سے 1،000 صفحے مسئلہ، اور voila. میں نے اس سے باہر ایک بڑے پیمانے پر کاٹنے لیا ہے. اور تم واقعی انتہائی جاتے ہیں، کہ فون بک فرض کمپنی کی طرح پاگل کچھ تھا ایک 4 ارب صفحہ فون بک. ویسے یہ کتنے قدم لے سکتا ہے ایک 4 ارب میں مائیک سمتھ کو تلاش کرنے کے صفحہ فون بک ... یہ ایک بڑی تعداد ہے، لیکن صرف 4 ارب 500 ملین سے 2 ارب 1 ارب، 250 million-- اب بھی بڑی تعداد کی طرح لگتا ہے، لیکن میں بہت جلد ہوں چھوٹے اقدار پر ہو رہی ہے. اور حقیقت میں، میں نے ایسا کیا تو ریاضی ٹھیک ہے، میں صرف تقسیم کر سکتے ہیں 4 ارب کی طرف سے تقریبا 32 بار سے پہلے میں نے صرف ایک کے لئے نیچے اترو. اس فون 4 کتاب تھے تو تو ارب صفحات طویل، کوئی بڑی بات نہیں. چند سیکنڈ کے اندر اندر، شاید 32 سیکنڈ، میں نصف میں تقسیم کر سکتا تھا اور آخر میں مائیک یا مل یہ نتیجہ اخذ کیا وہ وہاں نہیں ہے کہ. اور یہ کہ ایک کا نچوڑ ہے ایک اچھا الگورتھم الگورتھم. اور یہ کہ ایک ہے اس طرح ایک طبقے کے مقاصد، مجھے کس طرح کرنا ہے پتہ کرنے کی کوشش کر رہا ہے مسئلہ صرف درست طریقے سے نہیں حل کریں، جیسے میں نے ہمیشہ یہ ایک ایسا کرنے کا طریقہ جانتے تھے ایک ہیں وقت پر صفحے لیکن صحیح اور اچھی طرح سے. میں کس طرح اچھا ڈیزائن بنایا مسائل کا حل؟ لہذا یہاں کی ایک لمحے لے جانے دو اور اب آپ کو احساس دے CS50 کورس itself-- متعارف کرانے چند کورس کے عملے کے ارکان. بس 2:00 سے پہلے، ہم کریں گے ایک مختصر وقفہ لیں تاکہ آپ کے ان لوگوں کہ جو کر سکتے خریداری کر رہے ہیں باہر بتھ اور ایک لے کچھ دوسرے طبقے میں نظر آتے ہیں اور اس آن باقی دیکھتے. لیکن اب کے لئے، مجھ سے متعارف کرانے CS50، کلاس خود، اور خاص طور پر کیا نیا ہے. لہذا ماضی موسم بہار، ہم کافی ہیں وقت کا تھوڑا سا خرچ کیا کورس کے عملے اور میں ... میں سوچ یہ کیا ہے کے بارے میں ہم CS50 ہونا چاہتے ہیں، اور سب سے پہلے میں واپس جا اصولوں، تو بات کرنے جو ہم چاہتے ہیں پر غور کرنے کی اس کورس کی طرح نظر آتے ہیں اور بننے کے لئے اس کے طالب علموں کے لئے طرح. اور اس طرح آپ کے مسئلہ میں دیکھیں گے اس کے ساتھ ساتھ صفر مقرر، ایک دعوت نامہ اس پر ایک نظر لینے کے لئے خلاصہ بیان کیا ہے جس URL پیچھے منشا کے کچھ زوال 2016 کی خصوصیات مندرجہ ذیل. آپ خفیہ معلومات ہے ہو سکتا ہے تو کے طور پر TL سے: DR پرچہ، نصاب آج کے طور پر اچھی طرح سے کے طور پر کورس کیٹلوگ، CS50 میں اس سال، آپ کو صرف شرکت کی توقع کر رہے ہیں اچھی طرح سے تو کام today-- done-- اور نومبر 21st پر آخری لیکچر. اور تم آمدید لیکن کرنے کی توقع نہیں کر رہے ہیں وسط میں ان لوگوں کے لیکچر میں شرکت، ہم کیا کر رہے ہیں کیونکہ اس سال، شوٹنگ کر رہا ہے اصل وقت کے کورس کے مواد میں. تو سب کچھ رہیں گے موجودہ اور شامل کر لیا بہترین طور پر ہم موجودہ واقعات can-- اور بات چیت ہے کہ لوگ شاید میں صنعت میں ہونے دیا جائے دنیا، لیکن ہے کہ مواد بنانے آپ، نتیجے کے طور پر، یہاں تک کہ earlier-- مکمل متن ٹرانسکرپٹس کے ساتھ مکمل اور تلاش کی اور دیگر وسائل کے لنکس. اور یقینا، ہم کیا گیا ہے کچھ وقت کے لئے دعوی اور اب ہم، اس پر یقین کرو ہم بنا سکتے ہیں، ڈیجیٹل، ، ایک سے زیادہ عمیق ایک زیادہ مجبور تعلیمی تجربہ، کے طور پر کی مخالفت یہاں جمع کر کچھ 23 گنا تک انسان میں، سماعت کسی نے مجھے دیں صرف کمپیوٹر سائنس کے بارے میں بات کرتے ہیں، زیادہ فعال طور پر مشغول کرنے کی مخالفت. تو آپ کو کورس کے نصاب میں دیکھیں گے سمسٹر کا خاکہ یہاں، جب لیکچر مرضی کے ساتھ ساتھ فلمایا جائے، جس سے آپ کر رہے ہیں خوش آمدید لیکن توقع نہیں، اور جب وہ کرے گا کورس کی ویب سائٹ پر جاری کی جائے. اور ہم پر یہاں کیا کریں گے اگلے ہفتے شروع ہونے والے بدھ، صرف کے ساتھ، زیادہ سے مباشرت ایک بہت ہے حصہ لینے کے لئے چاہتے ہیں جو ان لوگوں، ایک نام نہاد واک، کے ذریعے ہے جہاں میں اور کورس کے سر اصل میں چیزیں دے گا ایک چھوٹا سا زیادہ مباشرت یہاں نیچے آرکسٹرا میں سیکشن، اب بھی کچھ ٹیکنالوجی ہے اور کے ذریعے چلنے موجودہ ہفتے کے مسئلہ سیٹ، اور تم میں سے اگر particularly-- پیش کرتے ہیں ان سے کم comfortable-- سب زیادہ آپ چاہتے ہیں کہ شاید رہنمائی یا ہفتے کے چیلنج کے لئے کی ضرورت ہے. اور اسی طرح، ان لوگوں کے لئے نہیں کر سکتے جو انسان میں سے ان لوگوں کو، کوئی بڑی بات میں شرکت. اسی طرح کی طرف سے قیادت کی جائے گی کورس کے سینئر عملے میں سے ایک، Zamalya، اسی موقع سرایت مسئلہ میں خود کا تعین کرتا ہے. مسئلہ اس سال کا تعین کرتا ہے جمعہ کے روز بھی جاری کی جائے گی اور اب کوئی، سات دن کے بعد ایسا لیکن 10 دن later-- عمدا ہر مسئلہ کے ساتھ اتیویاپی بہتر ایڈجسٹ کرنے کے طور پر تو، مقرر، ہمیں امید ہے کہ، باٹا اور بہاؤ طالب علم کے نظام الاوقات میں، خاص طور پر جب ہے midterms یا ایتھلیٹکس یا ماہرین تعلیم یا extracurriculars آتے ہیں اور جانے کے لئے ہوتے خاص طور پر وسط سمسٹر. یہی وجہ ہے کہ آپ کو ایک چھوٹا سا زیادہ دینا چاہئے آپ چاہے سامنے کرنے کے طور پر صوابدید CS50 یا واپس بوجھ کے ساتھ آپ کے ہفتے کو لوڈ بجائے اگلے ہفتے کے آخر پر. تو کورس کے نصاب پر نظر آتے ہیں یہاں اس کے شیڈول کے لئے. اور تم بھی درمیان محسوس کریں گے اس سال کی تبدیلیاں، کے ساتھ زیادہ واقف ہیں ان کے لئے ماضی میں پروگراموں، ہم جتنی سمسٹر کا آغاز کریں گے ہم نے شروع میں آج کریں گے، زبان پر خاص طور پر توجہ مرکوز کہا جاتا C، اور اس کے بعد نہ منتقلی پی ایچ پی کے لئے، لیکن کہا جاتا ہے ایک زبان سے سمسٹر کے آخر کی طرف ازگر ویب پروگرامنگ کے تناظر میں، SQL اور جاوا سکرپٹ کے ساتھ ساتھ، HTML، CSS، اور ابھی تک زیادہ. اور ایک سوالات کے جواب میں، یہ واقعی معاملہ ہے CS ایک بار میں نے جتنی خوفناک نہیں ہے کہ نے سوچا تھا، لیکن یہ جتنا کام ہے میں نے سنا تھا کے طور پر یہ ہو سکتا ہے. لیکن اس کا کہنا ہے کہ یہ چند ہیں زوال کے 2015 طالب علم کے جسم سے اعداد و شمار، جس کے تحت افقی نیلی لکیریں گھنٹے کی اوسط تعداد کی نمائندگی کرتے ہیں رپورٹ کیا. اور تم میں سے ایک اوسط نظر آئے گا 12-- کرنے کے لئے 10 کے لئے چھ شاید 16 یا تو اور تو آگے، لیکن ساتھ اعلی بادبانی واضح ہونا. اور تو نے نہ صرف ہے کہ احساس طالب علموں کو زیادہ آرام دہ اور کم کورس میں آرام دہ، لیکن ایک اسی اعانت ڈھانچہ ان طالب علموں کو حاصل کرنے کے کامیابی سمسٹر کے ذریعے. بے شک، ایک سوالات کے جواب میں، ہونا چاہئے آپ کو ایک پہلے سال کے طور CS50 لے؟ بالکل. اور حقیقت میں، مجھے افسوس کرتے میرا طریقہ نہیں ملا یا ایک نیا میدان پایا کہ سب سے پہلے اس کے ساتھ ساتھ سال. اور تمہارے ساتھ CS50 لینا چاہئے دیگر کورسز، یقینی طور well-- اور عمومی مشورہ کو ہم ہی نے طالب علموں کو دے، کہ CS50 شاید ہے کلاس یا تعارف کلاس کے نہیں قسم آپ کو تین کے ساتھ لینا چاہئے کہ دوسرے یا چار دیگر P- سیٹ کلاسیں. لیکن آپ کو دو دیگر P- سیٹ لے جا رہے ہیں تو اس کلاسیں، کچھ اور، اور CS50، بالکل انتظام. I میں بہت سے طالب علموں کو لیا ہے ماضی بہت کامیابی ایسا کیا. اور یہ کہ کی طرف آپ کو حاصل کرنے کے لئے کامیابی کی لائن ختم، sections-- کرتا کورس ہے طالب علموں کے لئے مختلف پٹریوں زیادہ آرام دہ، کم آرام، اور کہیں درمیان میں، جس کے تحت کورس میں پہلا مسئلہ سیٹ، تم اپنے آپ کو بیان کرنے کے لئے کہا جائے گا. اور اگر تم ان سے کم کے درمیان ہیں اگر آرام دہ اور پرسکون، جو چیز کی طرح ہے اس کے بجائے آپ کو معلوم ہے کہ. اور یقینا، کہ ہو گیا ہے CS50 میں آبادیاتی بڑھتی ہوئی بہت چند سال کے لئے. کے لئے گزشتہ موسم خزاں تک مثال کے طور پر، کلاس کے 58٪ کے طور پر خود کو بیان کیا کم آرام والوں میں، ان لوگوں کو زیادہ کے درمیان 9 فیصد کے ساتھ آرام دہ اور پرسکون، اور اس کے بعد میں نے دوسرے طالب علموں سرخ خود بیان اس کو کہیں درمیان میں. اور تم کو مجموعی طور پر یہاں کے موضوعات نظر آئیں گے حصوں کی اور شیڈول، جن میں سے سب میں، ذاتی طور پر پیش کیے جاتے ہیں کورس کے ساتھ حقیقی وقت، تعلیم ساتھیوں میں حیرت انگیز عملے اور کورس کے معاونین، جن میں سے کچھ آپ کو صرف ایک لمحے میں ملیں گے. طبقہ خود، کے طور پر آپ کو نظر آئے گا، کرے گا سوموار اور منگل اور بدھ ہو، آپ گوتا لگا کرنے کی اجازت دینے کے لئے تاکہ ، مشغول آپ اگر ہاں بعد میں ، منتخب کورس کے میں اس سے قبل اس ہفتے لیکچر. اور پھر دفتر کے اوقات، جس یقینی طور پر، ہر گزرتے سال کے ساتھ، ایک کی کوئی کم کر دیا گیا ہے کورس کے لئے چیلنج. اور اس سال، ہم نہ منصوبہ بندی کر رہے صرف دفتر سے ایک hours-- منعقد کرنے کے لئے کے لئے مدد کے لئے ایک مواقع پر بدھ جمعرات کے طالب علموں اور اتوار، ان لوگوں کی ڈیزائن کی طرف سے دوپہر میں ہونے کشیدگی کے کچھ کم کرنے کے لئے ہے کہ ہمیشہ رات کے ساتھ پیدا ہوتا ہے ایک ڈیڈ لائن کے ساتھ P-settting looming-- لیکن دفتری اوقات بھی پیش کیا جائے گا سوموار اور منگل اور پر بدھ، اور جمعہ اور ہفتہ، HSA میں ہمارے دوستوں کی بدولت. CS50 اب اس کی اپنی جگہ ہے طلباء اور CS50 عملے کے لئے، 67 ماؤنٹ آبرن سٹریٹ کے اوپر، وہیں ہارورڈ چوک میں. جس کے لیے رویا کہ CS50 کی ہے ہفتے بھر TFs اور کیس، سب سے زیادہ بھر میں بہت زیادہ دنوں، کی حمایت کے لئے ہو جائے گا. تو آپ کو مل گیا ہے تو کچھ ایک P- سیٹ پر سوال یا اگر آپ ایک چھوٹا سا محسوس کر رہے ہیں بلاک یا ایک چھوٹی سی الجھن، اور کیا heck، آپ کو ایک گھنٹے مل گیا ہے یا نصف کلاس کے درمیان ایک گھنٹہ، خاص طور پر square-- سکتے ہیں جو آپ کے لئے میں پاپ اور اس سوال کا جواب دیا ہے کی اس الجھن ہے clarified-- روح میں بہت زیادہ، آپ کو ریاضی کے، واقف ہیں محکمہ کے اپنے ریاضی کے سوالوں کے مرکز، لیکن فی گھڑی کے ارد گرد بہت زیادہ [؟ Gcal؟] کہ ہم آن لائن پوسٹ کریں گے. ٹیوشن بھی ان کے لئے دستیاب ہے طالب علموں کو، کورس کی طرف سے آزادانہ طور پر اپنے ہی عملے کو آپ چاہتے ہیں تو زیادہ انترنگ ایک پر ایک، یا دو یا تین کلاس کے ساتھیوں کو، کام کر رہے ہیں کورس کے عملے کے ارکان میں سے ایک کے ساتھ. اور یقینا، یہاں ان صرف کر رہے ہیں کورس کے عملے کے ارکان میں سے کچھ، جن میں سے چند تمہیں صرف ایک لمحے میں ملاقات کریں. سچ تو یہ ہے، CS50 اپنے سر تعلیم ساتھی، اور سر کورس مددگار اور استاد، اپ پر آ سکتا ہے، کی اجازت دے انہیں خوش کہنا. [تالیاں] اسپیکر 1: [اشراوی]. [تالیاں] اسپیکر 2: [اشراوی]. [تالیاں] اسپیکر 3: [اشراوی]. [تالیاں] DAVID MALAN: اور کرنے کے لئے ہمیں اجازت دیتے ہیں CS50 کی بورڈ دو پر لانے میں سب سے زیادہ سینئر عملے، روب اور Zamayla کے ساتھ ساتھ. [تالیاں] بے شک، دونوں روب اور Zamayla ہمارے ساتھ کیا گیا ہے اتنی دیر کے لئے، میں نے کے قابل تھا کہ CS50 کی آرکائیو میں جانے کے لئے اور یہ بہت SD مل ان میں حصہ لینے کی فوٹیج کچھ سال پہلے مرحلے خود پر. ROB: [اشراوی]. [تالیاں] ZAMAYLA: [اشراوی] [تالیاں] DAVID MALAN: آپ کا شکریہ. لہذا ان کے علاوہ میں یہاں ٹیم کے ارکان، CS50 تقریبا 100 کی ایک ٹیم ہے عملے کے ارکان، جن میں سے سب قسموں کے لئے دستیاب ہو جائے گا اور دفتر کے اوقات اور اتنا زیادہ. اور روب بھی کہنا ہے کہ کے طور پر، یہ ہے سب سے زیادہ اہم اور ہال 10 سال میں CS50 کی ہے کہ میں [اشراوی] میں رہا ہوں. [اشراوی] خاص طور پر توجہ مرکوز ایک سپورٹ ڈھانچہ فراہم کرنے میں، کی ایک بہت دور تراشنا ہو گیا ہے کہ بلک 10 سال میں جمع کے تکراری پیشرفتوں کورس کا مسئلہ سیٹ پر. لہذا اس سال، نہ صرف کلاس میں لیکن بھی کورس کے مسئلہ کی شکل میں سیٹ، آپ کے لئے چیزوں کو تلاش کرنا چاہئے زیادہ سویوستیت کیا جائے، trimmer کے، زیادہ سے زیادہ مقابلے زیادہ انتظام گزشتہ سالوں میں، ہم کے طور پر ہے کہ سامان کی کچھ بہانے بدلتی سال کی نوعیت کی طرف سے تیار سال اور سب iterating بعد. لہذا نئے اور بہتر آج شروع ہوتا ہے. تم میں سے بعض کو زیادہ سے ملیں گے میں [اشراوی] کورس کے عملے باہر 2:30، ہم خدمت ہے جہاں میں، ایک روایت، کیک کے طور پر. تھوڑا سا زیادہ کا کیک ہے اس سے، لیکن تمہیں ملو ایرن اور ٹوبیس اور اب بھی دوسروں کے. اور مجھے تم دے دو ایک ٹور ہم سن سے پہلے دیگر عملے کے ارکان میں سے کچھ سے کلاس، کے ساتھ ساتھ انتظار کر رہا ہے کے میں. سچ تو یہ ہے، ہم نے ہمیشہ CS50 شروع سمسٹر اس آنے والے ہفتے کے روز، CS50 پہیلی دن کہا ہے کے ساتھ. اس کے ساتھ کوئی تعلق نہیں ہے کمپیوٹر سائنس فی SE، لیکن اس کے بارے مسئلہ کے ساتھ زیادہ عام طور پر حل کرنے کے. اور تم اتنی حصہ لینا چاہتے ہیں تو، دعوت نامے میں سے کچھ فی، آپ دروازہ دیکھا ہے ہو سکتا گرا یا یہاں اسٹیج پر، یہ ٹیموں میں ایک موقع ہے دو یا تین یا چار میں سے، پہیلیاں اور pizza کے لئے حصہ لینے کے لئے اور انعامات اور more-- اس ہفتہ، مزید کے لئے دیکھتے رہنا. تم جو کہ ہر بھی تلاش کر لیں گے جمعہ، آگ اور برف میں، CS50 ایک لانے کرتا طالب علموں کی مکمل جھوبڈ دوپہر کے کھانے کے لئے، ایک بڑا بنانے کے لئے کلاس، زیادہ مباشرت محسوس اور عام طور پر ایک ساتھ لے آئے سابق طالب علم اور صنعت سے اچھا دوست وہ ہے کیا کے بارے میں بات کرنے کے گریجویشن کے بعد تک رہا. اسی طرح، اس سال، ہم کریں گے افتتاح پہلی CS50 50 ایک وسط سمسٹر contest-- کوڈنگ ہر کسی کو اجازت دینے کے لئے موقع بنیاد میں ایک آپٹ پر، ایک کی ضرورت کے لئے ہم جماعتوں کے خلاف اپنے wits کا چیلنج، ایک بار پھر دو یا تین یا کی ٹیموں میں صرف یہ کہ پروگراموں کا استعمال کرتے ہوئے چار، پریمی آپ کو تو زیر کر اس بات کی صرف چھ یا سات کے بعد آپ کی بیلٹ طبقے کے ہفتوں، اور حصہ لینے والے مقابلے کے اس قسم میں online-- آپ کو اپنے اپنے بنانے کے لئے چاہتے ہیں تو مہارت کو تمام ہے کہ چیلنج میں زیادہ. سمسٹر کے آخر میں ہے نام نہاد CS50 Hackathon-- 7:00 بجے شروع ہوتا ہے کہ ایک موقع وزیراعظم 7:00 بجے ختم ہو جاتی ہے، اور راستے میں گوتا لگا کرنے کے لئے جس میں 12 شام کے اوقات ہیں کورس کے آخری پروجیکٹ میں ڈیزائن کرنے کے لئے ایک موقع اور دلچسپی کے سب سے زیادہ کچھ پر عمل درآمد آپ کی تعلیم کے ساتھ آپ کو ساتھی کی ہدایت. ارد 9:00 AM عام طور پر ہم کرتے ہیں پیزا، 1:00 AM خدمت کریں، فلپ کی، اور ہم میں سے چند اب بھی 5:00 بجے جاگ رہے ہیں جو، ہیں شٹل نیچے bussed ناستے کے لئے IHOP لئے سڑک. اور پھر چند دن بعد نام نہاد CS50 ہے fare-- میں سمسٹر نمائش کے ختم صرف کس حد تک تو بہت سے کے جشن CS50 کے طلبہ سے آئے ہیں ہفتے صفر ہفتے کے لئے تمام طریقے، اور ان میں سے 73 فیصد اس بات کو ذہن میں رکھ کر ہم جماعتوں اور تمہاری اس سال ہے پہلے ایک CS کلاس لے لیا کبھی نہیں. سچ تو یہ ہے، یہاں تک زیادہ سے زیادہ reemphasize کرنے، CS50 کے عملے کی طرف سے ایک سے زیادہ چند چہروں ہے. متکلم 4: [اشراوی]. متکلم 5: [اشراوی]. اسپیکر 6: [اشراوی]. اسپیکر 7: [اشراوی]. اسپیکر 8: [اشراوی] اسپیکر 9: [اشراوی]. متکلم 4: [اشراوی]. اسپیکر 10: [اشراوی]. اسپیکر 11: [اشراوی]. اسپیکر 12: [اشراوی]. اسپیکر 13: [اشراوی] اسپیکر 14: [اشراوی]. اسپیکر 13: [اشراوی]. اسپیکر 15: [اشراوی] اسپیکر 16: [اشراوی]. اسپیکر 11: [اشراوی] متکلم 5: [اشراوی]. DAVID MALAN: ٹیم کے کچھ خود کلاسز خریداری کر رہے ہیں. لیکن وہ اعضا تو CS50 عملے کے لئے یہاں ہیں، صرف ایک لمحے کے لئے اپ پر آ سکتا ہے. CS50 کی TFs اور کیس اور [؟ عملے؟] کے ارکان ان سے صرف چند ہیں یہاں جن میں سے ایک کی faces-- آپ کو صرف دیکھا، اور چند other-- اور چند دیگر اب بھی. ہم آگے جاکر اجازت نہیں دیتے تم لوگوں کو ایک پانچ منٹ کے وقفے. آپ کو باہر بتھ کرنے کی ضرورت ہے دکان کی کلاسیں، یہ ٹھیک ہے. اور پانچ منٹ میں، ہم، دوبارہ شروع کر دیں گے Scratch-- پہلے پر ایک نظر لینے ہمارے پروگرامنگ زبان کی، ملاقات کریں کورس کے عملے یہاں مزید کچھ، اور بالآخر توجہ مرکوز مسئلہ پر صفر مقرر. تو ہم پانچ منٹ میں آتا ہوں. [تالیاں] بالکل ٹھیک. تو ہم واپس آ گئے ہیں. اور میں ہمارے باقی آج وقت، مقصد کھیل کے میدان کی سطح پر ہے کچھ اصطلاحات کی شرائط میں، کچھ خیالات کے لحاظ سے. یقینا کیونکہ، کے طور پر فی اوائل چارٹس میں سے کچھ، کی ایک رینج ہونے جا رہا ہے کلاس میں تجربے کی سطح میں، میں سے کچھ جن کے طالب علموں کے لئے ہے پہلے کچھ پروگراموں سے لیا، جن میں سے کچھ نہیں ہوگا. اور اس طرح یہ پہلا مسئلہ کے ساتھ قائم ہے اور اس کی پہلی زبان کے ساتھ ہم شروع کرنے کے لئے ایک موقع ہے آج کے بعد حاصل کی جاچکی کے لئے لے کچھ عام الفاظ اور خیال. اور ہم نے کی راہ کی طرف سے ایسا کر لیں گے کورس کی پہلی زبانوں میں C اور ازگر اور اصل میں جاوا اسکرپٹ اور SQL اور HTML اور CSS، ہم نے ابتدائی توجہ مرکوز کی جائے گی اور مسئلہ سیٹ صرف کے لئے صفر اس گرافیکل زبان پر، کہا جاتا سکریچ، ایم آئی ٹی کی میڈیا لیب کی طرف سے تیار سڑک کے نیچے، کی مدد کے لئے طلباء اور بچوں کو خاص طور پر خود algorithmically-- اظہار کیا کے ساتھ زیادہ مسلسل ایک طرح سے ہم کمپیوٹیشنل سوچ کو فون کر سکتے. اور یہ ایک مفید زبان وجہ سے ہے بہت جلد ایک ہفتے میں اگلے ہفتے، ہم ایک سے زیادہ پر منتقلی کرو نامی روایتی اور جادو زبان C، خالصتا ٹیکسٹ ہے جو. تم صرف میں آپ کی بورڈ کا استعمال کریں ہدایات پر لکھنے کے لئے سکرین پر ان کی طرح. لیکن تم کبھی نہیں دیکھا یہاں تک کہ اگر پہلے ایک پروگرامنگ زبان، صرف میں glancing میں یہ سب اس خفیہ ہو، آپ شاید اندازہ لگا سکتے ہیں کہ شاید ہیلو دنیا پرنٹ. لیکن کی ایک بہت ہے وہاں نحوی اور ہیڈ. عجیب ہیش نہیں ہے اوپر علامت یا ہیش ٹیگ. زاویہ بریکٹ، وہاں کچھ قوسین، گھوبگھرالی منحنی خطوط وحدانی، نیم colon-- صرف اتنا بصری وہاں ہے نحو کے راستے میں ملتا ہے کہ. ہم کے ساتھ کورس شروع حاصل کرنے کے لئے تو کے طور پر سکریچ ان میں سے سب ماضی ذہنی غیر دلچسپ خلفشار، اور خیالات بجائے توجہ مرکوز. اصل میں، اس سے پہلے ہو سکتا ہے. یہ، اس کے لئے، ہفتے کے بعد ہو گا. یہ، میں اس گرافیکل زبان سکریچ، تم کس طرح ہے کہ ایک ہی عمل درآمد کریں گے ایک پروگرام چلاتے ہیں کہ جب پروگرام، بس ہیلو دنیا کا کہنا ہے کہ. اسکریچ ہے کے بارے میں اور کیا اچھا ہے اسے اس گرافیکل پروگرامنگ ہے ماحول پہیلی کے ٹکڑے ٹکڑے یا استعمال کرتا ہے بلاکس، صرف ایک دوسرے کے ساتھ کے interlock کہ یہ منطقی احساس کرتا ہے تو ایسا کرنے کے لئے. اور سکریچ کے ساتھ آپ کو تیار کر سکتے ہیں متحرک تصاویر اور انٹرایکٹو کھیل اور آرٹ، اور چیزوں کی کسی بھی تعداد ہے کہ آپ، آپ کے اپنے ذہن میں تصور کر سکتے ہیں اور صرف کی طرف سے ان کو لاگو گھسیٹنے اور پہیلی کر ٹکڑے ٹکڑے گر. اور یقینا، ہم قابل ہو جائے گا اسی خیالات کے کچھ اظہار کرنے میں نے صرف ایک لمحے ذکر کیا ہے کہ قبل مائیک سمتھ کے تناظر میں اور ایک فون کی کتاب چیزیں تلاش کرنا افعال کی طرح، صرف اعمال، ایسا کرتے ہیں کہ لوپس طرح باتیں بار بار چیزوں، متغیر، ہے جو ہم سے ملواتا ہوں کچھ، لیکن اس سے شاید واقف ہے بیزگنیت صرف پلیس ہولڈر کے کسی قسم کے کچھ قدر پرممکن ہے کہ آپ کو ذخیرہ کرنے کی later-- بولین اظہار کی ضرورت ہے، جہاں ان نہیں ہاں یا سچ آگے سے جھوٹے سوالات. ضوابط میں ان لوگوں کے کانٹوں ہیں road-- ان شاخوں تو بات کرنے کی. اور پھر وہاں کچھ اچھے ہیں ہم آج بھی دیکھ لیں گے خصوصیات، کہا جاتا لڑیاں اور موضوعات اور واقعات، ہم تو زیادہ نظرثانی کریں گے کہ مختلف زبانوں میں وقت. لیکن سکریچ ہمیں اجازت دیتا ان میں سے سب کو دریافت کرنے. تو یہاں شروع میں، یہ جامنی رنگ بلاک کیا ایک تقریب میں عام طور پر ہے طرح نظر آتے جا. کچھ ہے کہ یہ جامنی رنگ پہیلی ٹکڑا کارروائی ہے جو لفظ بھی طرح،، اور پھر اس نے ایک کو ہو سکتا ہے دلیل یا parameter-- کچھ طریقہ تخصیص کی نوعیت کا کیا اس بلاک کرتا ہے تا کہ اس کی طرف سے پہلے سے مقرر نہیں ہے MIT یہ جامنی رنگ کے بلاک کیا کہتا ہے. اصل میں، آپ کو ایک میں دیکھیں گے میں ٹائپ کرنے کے قابل ہوں اس لمحے ہیلو دنیا جیسے الفاظ، یا ہیلو ڈیوڈ، یا ہیلو Zamayla، یا جو کچھ بھی میں چاہتا ہوں، دلیل میں کہ پہیلی کے لئے سفید باکس piece-- وہاں. دریں اثنا، میں نے ایک لوپ چاہتے ہیں تو، ہم کریں گے پہیلی ٹکڑے ٹکڑے ہے کہ وہاں دیکھتے ہیں کہ اس طرح ایک چھوٹا سا سنتری نظر آتے ہیں. اور ان کی شکل بھی قسم کی تجویز کرتی ہے کہ کسی چیز کو بار بار ایسا ہوتا ہے ایک سائیکل میں. میں نے ایک کا کہنا ہے کہ ہیلو دنیا کے بلاک لپیٹ تو ہمیشہ کے لئے ایک سکریچ میں بلاک کے ساتھ، یہ صرف ہیلو کہہ رکھنے کے لئے جا رہا ہے دنیا ہمیشہ، بہت لفظی. دریں اثنا، ایک اور بھی ہے شروع میں لوپ کی قسم ہم دوبارہ دیکھتے گا کہ تم کہاں تو block--، کتنی بار پہلے ہی پتہ آپ کو لوپ پھانسی کرنا چاہتے ہیں آپ fact-- میں وقت کی ایک محدود تعداد ایک بڑی تعداد میں ٹائپ کرکے کہ وضاحت کر سکتے ہیں یا اس سے بھی، ایک متغیر میں plugging X یا Y ہم دیکھیں گے کے طور پر کی طرح. سچ تو یہ ہے، متغیر کی طرح اس صورت میں، میں نے جو ایک عام نام ایک کے لئے ہے عددی متغیر ہے کہ صرف ایک نمبر کا ذخیرہ ہے ایک عددی، ہو سکتا ہے کے لئے یہاں اس اورنج بلاک استعمال کرنے کے لئے مجھے صفر کی طرح ایک متغیر مقرر. یہاں ایک کے سبز رنگ میں ایک مثال ہے شروع میں بولین اظہار. اگرچہ یہ ایک ریاضی کی طرح لگتا ہے اس طرح کے فارمولے، ریاضی اسماتایں سچ بولین اظہار کی طلب ہیں. یہ یا تو صحیح یا غلط ہے. میں نے 50 سے بھی کم ہے. یہ ایک ہاں یا نہیں کا جواب یا تو ہے یا صحیح یا غلط جواب ہے. اور ہم عام طور پر بلاتا ہوں ان لوگوں بولین اظہار. اور یہ 50 ہو جائے کرنے کی ضرورت نہیں ہے. اس Y سے کم X ہو سکتا ہے، Y سے بھی بڑے، y-- کے برابر دوسرے کی کسی بھی تعداد سوال پوچھے جا سکتا ہے. اب، پہلی نظر میں، یہ نظر ہو سکتا ہے اچانک بہت جرات مندانہ یہاں، اور یہ ہے. لیکن تصور عقل مند، یہ ہے آگے سے بہت واقف. X، Y سے کم ہے تو جتنا کہنا مقابلے. X بڑا ہے اگر اور Y مقابلے، پھر جتنا کہنا. ورنہ کہنا X Y کے برابر ہے. تو ہم نے ایک مثال ہے وہاں ایک تہائی scenario-- کے صرف تیسری possibility-- X یا تو ہے اس سے بڑھ کر، سے کم، یا اس کے برابر. تو ہم نے راستے میں تین طرح کانٹا ہے. اور ٹھنڈی یہاں سکریچ کیا محسوس کریں، یہ محسوس ہوتا ہے صرف ایک پہیلی ہے ٹکڑا، اس معاملے میں، اگر کسی اور بلاک میں. اور ابھی تک ہے کہ آپ کا مطلب یہ محسوس ہوتا ہے کر سکتے ہیں صرف راستے میں ایک دو راستہ کانٹا ہے. تم چھوڑا جا سکتے ہیں یا صحیح، لیکن کیا اس نے تیسری منظر نامے کے بارے میں؟ X Y کیا برابر ہے تو؟ کوئی بڑی بات نہیں. ایک پہیلی ٹکڑا لے لو، ڈال اس میں سے ایک اور ایک کے اندر لسانی برابر پیدا کرنے کے لئے کی، اگر، تو باقی else-- اور اب آپ راستے میں آپ کے تین طرح کانٹا ہے. تب ہم دیکھیں گے کے طور پر، سکریچ پہیلی کے ٹکڑے ٹکڑے بڑھا اور بڑھ جا سکتا ہے، تاکہ کے طور پر ان میں زیادہ چیزیں رٹنا. آپ کو فٹ کرنے کی ضرورت نہیں اس کے ڈیفالٹ سائز میں سب کچھ. یہ کچھ ہے ہم کریں گے جلد ہی ایک صف کہا جاتا ہے کو دیکھنے کے. یہ ایک فہرست کے کچھ طریقہ کی طرح ہے معلومات کے مختلف ٹکڑے ٹکڑے کر کے محفوظ کرنے ایک متغیر میں، نہ صرف ایک نمبر. یہ ہم کے ایک نمائندے کو دیکھ لیں گے کسی چیز کثیر تھریڈنگ بلایا. سچ تو یہ ہے، سب کو Macs اور پی سی ان دنوں کثیر تھریڈنگ کی حمایت کرتے ہیں، جس سے آپ لفظی سکتے ہیں کا مطلب ایک وقت میں ایک سے زیادہ باتیں کرتے ہیں. تم میں مائیکروسافٹ ورڈ تک ہو سکتا ہے پیش منظر، کچھ مضمون پر کام کر رہے. آپ کو ایک براؤزر کو ہو سکتا ہے پس منظر کھولنے میں جی میل یا فیس بک یا جیسے. آپ کے کمپیوٹر میں ایک سے زیادہ چیزیں کر سکتے ہیں آج یہ ہے کیونکہ کثیر موضوع، اور پروگرام میں وہ میں ہو خاص بھی کثیر موضوع ہیں. چیزوں کو بلایا واقعات کے طور پر نہیں ہے اچھی طرح سکریچ کی دنیا میں، اور پھر وہاں ایک راستہ بھی، بنانے کے لئے ہے ہماری اپنی مرضی کے مطابق پہیلی ٹکڑے ٹکڑے چیزیں تو اصل میں پہلے سے موجود ہی نہیں ہے. لہذا مندرجہ ذیل کے طور چلو اس کی حوصلہ افزائی کرتے ہیں. کچھ سال پہلے، جب میں نے پہلی، سکریچ دریافت میں اصل میں تھا جب ایک ایم ائی ٹی میں گراڈ طالب علم، ہم خود ہوم ورک بنانے کے لئے فرض سونپا گیا تھا. اور میں implemented-- جس، ماضی میں، یہ ہے کیونکہ ایک بہت غریب فیصلہ تھا دنیا میں سب سے سے infuriating نغمہ آٹھ گھنٹے کے لئے سننے کے لئے آپ homework-- پر کام کرتے ہوئے لیکن کچھ میں آسکر وقت بلایا تھا، جس سے شاید ایک واقف گیت ہے. CS50s اردن Hayashi مالک، میں سے ایک ہماری زیادہ سینئر عملے کے ارکان، 2015 کے لئے اسے اپ گریڈ کیا ہے اور اب 2016، دن میں واپس کے بعد سے، میں نے سب کچھ تھا صرف جا آسکر کی ردی کی ٹوکری میں. اب ہم ری سائیکلنگ اور کھاد کی حمایت کرتے ہیں. لیکن تصویر پینٹ کرنے کے لئے کی ہم یہاں کیا کر سکتے ہیں اور میں سے کچھ کی حوصلہ افزائی کرنے نچلے درجے مثالیں، ہم دوسرے ایک کو حاصل کر سکتا ہے رضاکار بس چپ پر آنے کے لئے اور میری پہلی کھیلنے کبھی ہوم ورک اسائنمنٹ؟ سائن چلو. آپ کا نام کیا ہے؟ HENRY: ہنری. DAVID MALAN: ہنری، پر آئے. سائن چلو. کسی بھی طرح سے سر، اور آپ، ایک لمحے میں نظر آئیں گے میں آگے جانے کے لئے جا رہا ہوں اور ہٹ اوپر دائیں ہاتھ میں سبز پرچم کونے، جس جانے کا مطلب ہے. تھوڑا سٹاپ سائن ان کریں کے آئیکن سٹاپ کہنے جا رہا ہے، آپ شروع کرنے پر اور یہ کہ اور پروگرام کو روکنے کے. آپ سے مل کر خوشی ہوئی. بالکل ٹھیک. تو ہم نے ہدایات ملاحظہ کرنے کے لئے جا رہے ہیں صرف ایک لمحے میں سکرین پر. اور یہ کھیل کھیل صرف کی طرف سے کے لئے ایک مجھ پر اعتماد seconds-- چند، ہم کو کھیلنے کے لئے چاہتے ہیں کے لئے نہیں جا رہے ہیں end-- آپ کی مرضی کے تمام طریقہ پروگرام کیا کرتا ہے کا احساس حاصل. اور صرف ہینری پر توجہ مرکوز سے زیادہ اس کھیل، توجہ مرکوز میں اچھا یا برا ہونے اور یہ میری طرف سے کس طرح لاگو کیا گیا تھا اصل میں اور اس کے بعد اردن کی طرف سے. دوسرے الفاظ میں، متغیر کہاں ہو؟ loops کے کہاں ہیں؟ افعال کہاں ہیں؟ اور ہم نہیں دیکھتے ہیں تو اس کو دیکھ لیں گے ہڈ کے نیچے وہ لوگ. بس پر کلک کریں اور ردی کی ٹوکری کھینچ کر لائیں مناسب بن. [موسیقی بجانے] بالکل ٹھیک. یہ بہت اچھا ہے. ہم اس کو وہاں کیوں نہیں روک سکتا. آپ کا شکریہ. ہنری کو مبارک ہو. آپ کا شکریہ. [تالیاں] بس ایسے پروگرام ٹھیک کرنا کا تصور. ایک مسئلہ کے دو ہے تو song-- لیکن اتنا میں منٹ یہاں کیا واقعی چل رہا ہے؟ کے طور پر پیچیدہ طور پر یہ طاقت ہو وقت کے ساتھ حاصل کرنے کے لئے لگ رہے کرنے کے لئے شروع، یقینا زیادہ سے زیادہ چیزیں گرنے شروع کر دیا، اس کے بارے میں دلچسپ ہے مثال کے اس قسم کے اور ہم چند دیکھ لیں گے others-- ہے کہ آپ کو اگر پیچیدگی ماضی نظر آتے ہیں یا کھیل کے نفاست، ایک بہت سادہ عمارت موجود ہے جن میں سے سب play-- کہ بلاکس، آپ ان لوگوں کے لئے ان کو کشید تو عمارت بلاکس، بہت سے قابل رسائی ہیں اور خود سے عمل. مثال کے طور پر، یہ ہے وقت ہو گیا، لیکن میں ہوں یقین میں ابتدائی طور پر جب کیا کیا تھا پہلی بار کے لئے اس کھیل کے بنانے میں نے بلا ضرورت تاخیر مکمل طور پر کی طرح تھا. میں پر بالکل توجہ مرکوز نہیں تھا منطق یا پہیلی ٹکڑے ٹکڑے، میں نے گرافکس اور تلاش کرنے پر مرکوز سٹریٹ پوسٹ اور ردی کی ٹوکری اور اس کے سب. لیکن ان لوگوں کو ضروری تھے سب سے پہلے میں اجزاء. اور ایک بار میں procrastinating فارغ ہوئے انتہائی اہم فریم ورک سے باہر بچھانے، میں نے فیصلہ کیا، دو مجھے صرف ایک بنانے آسمان سے ردی کی ٹوکری میں زوال کا ٹکڑا. اور ہم نے شروع میں ملتا ہوں نامی چیزوں کی حمایت sprites-- حروف ہیں جو یہ کر سکتے ہیں تاکہ وہ پر مختلف پوشاکوں ہے مختلف نظر. اور اس طرح میں ایک ردی کی ٹوکری ڈال ایسے ہی ایک سپرائٹ پر کاسٹیوم. اور میں صرف اس کی ضرورت ہے آسمان سے گر کرنے کے لئے. اور اس طرح یہ باہر کر دیتا ہے، سکریچ، سب سے زیادہ پروگرامنگ زبانوں کی طرح، کی حمایت کے بے ترتیب نمبر یا تکنیکی طور pseudocode کے بے ترتیب تعداد، کہ گھسیٹنے کی طرف سے اور اسی طرح کی بعض پہیلی کے ٹکڑے ٹکڑے گر، میں نے ردی کی ٹوکری میں ہے کرنے کے قابل تھا سب سے پہلے میں بائیں طرف سے آئے. اور پھر اگلی بار اس سے گر گیا، درمیان میں سے صحیح اور پھر. اور تمام کھیل کیا صرف تھا ردی کی ٹوکری میں آسمان سے گر پڑے. تم اس پر نقطہ یا اس پر کلک نہیں کر سکتے تھے. آپ ردی کی ٹوکری کھول نہیں سکتا تھا. تم کچھ نہیں کر سکا. لیکن یہ ایک بچے قدم تھا میرا حتمی نقطہ نظر کی طرف. اور اس کے بعد، میں نے اصل کچھ قسم لاگو آپ کو کلک کیا تو تا کہ سینسنگ کے اور ردی کے ٹکڑے پر ھیںچیں ردی کی ٹوکری میں کر سکتے ہیں، آسکر کی زائد ڑککن کھولنے اور بند گی. کچھ نہیں کے کوڑے دان میں ہوگا، لیکن کم از کم ڑککن کھولنے اور بند گی. تو پھر، چیک دونوں میں سے دو قدم. اور یہ کیا ہونے جا رہا ہے ہے دونوں مسئلہ میں اہم صفر مقرر اور اس سے زیادہ عام طور پر پروگرامنگ میں، کرنے کے لئے ہے ان بہت جان بوجھ کر بچے کے اقدامات لے. کیونکہ نہ صرف یہ آپ کے لئے کی اجازت ہے محسوس ایمانداری بہت کچھ حاصل کیا quickly-- یہ ہے دنیا میں سب سے بری چیز آسکر وقت کے تمام لاگو کرنے کے لئے کوشش کرنے کے لئے، پھر گھنٹے بعد سبز پرچم مارا، اور کچھ بھی نہیں کے طور پر امید کی جاتی کاموں جہاں آپ بھی کرتے ہیں کیونکہ ڈیبگ کرنے یا کرنے کے لئے شروع اس پروگرام کے ازالہ؟ یہ صرف غالب ہے. اور اس طرح صحیح معنوں میں اس خیال کو گلے لگانے کے پھر steps-- بچے کے اقدامات اٹھا رہی اور again-- کی تعمیر ، ہے کہ آخر میں کچھ نہ کچھ، واقعی متاثر کن اور پیچیدہ، لیکن سب سے پہلے میں، نہیں تقریبا زیادہ سے زیادہ تو ہے. سچ تو یہ ہے، یہ کرتے ہیں. مجھے آگے بڑھو and-- خود سکریچ دو ، Scratch.MIT.edu میں ویب پر موجود ہے اور آپ کے طور پر بتایا جائے گی مسئلہ میں ایک بار پھر بہت بہت صفر، تفصیلات کے لیئے مقرر جس CS50 کی ویب سائٹ پر پہلے سے ہی ہے. لیکن یہ خود ہے سکریچ کیا ہے. اور صرف واقعی بات ہے تین بنیادی علاقوں. سب سے بائیں میں نام نہاد مرحلہ ہے. یہ خروںچ ہے. پہلے سے طے شدہ کاسٹیوم ایک بلی ہے. اور یہ آئتاکار دنیا میں ہے تمہیں move-- سکتے ہیں جس میں، نیچے، بائیں، دائیں اور کچھ دیگر چیزیں. وسط میں یہاں ہماری جات ہیں یا پہیلی ٹکڑے ٹکڑے کر کے ہمارے پیلٹس، اور مختلف رنگوں مختلف چیزیں مطلب. اور تمہارے گرد ڑکیلنا تو، آپ کو نظر آئے گا loops اور حالات کی طرح باتیں اور متغیر اور دیگر اجزاء. اور پھر یہاں سکرپٹ علاقہ ہے. میں ھیںچیں اور ڈراپ کر سکتے ہیں جہاں یہ ہے ان لوگوں کو پہیلی کے ٹکڑے ٹکڑے چیز پر. تو چلیں ایسے ہی ایک کام کرتے ہیں. مجھے آگے جانے دو and-- اور مجھے پتہ ہے کہ وہ کہاں ہے. تو میں نے فوری طور پر کلک کرنے کے لئے جا رہا ہوں جہاں میں جانتا ہوں کہ چیزیں، ہو جائے کرنے کے لئے تیار ہیں لیکن اشارہ کرتے ہوئے اور پر کلک کرکے اور کے ارد گرد poking ناگزیر ہیں. تو سبز پرچم پر کلک کیا جب، مجھے کیا کرنا چاہیے؟ میں ایسا کرنے جا رہا ہوں. مجھے یہ جامنی پہیلی ھیںچیں کرنے جا رہا ہوں ٹکڑا، دو سیکنڈ کے لئے خوش کا کہنا ہے، اور مجھ میں زوم. اور میں نے اس کو تبدیل کرنے جا رہا ہوں میں نے اسے be-- کے لئے کیا چاہتے ہو کرنے کے لئے ہیلو دو سیکنڈ کے لئے دنیا ٹھیک ہے. اب، میں مظاہرہ کرنے جا رہا ہوں سبز پرچم، یا میں واقعی چاہتے ہیں تو، مجھے مکمل اس کی سکرین سکتے ہیں اور پھر واپس آنا. یہ صرف رکھیں گے ایک ونڈو میں سب کچھ. سبز پرچم پر ہیلو دنیا. بالکل ٹھیک. سب دلچسپ نہیں. تو مجھے آگے بڑھو اور اس کے کیا. مجھے ایک اور کوشش کرتے ہیں. سبز پرچم چلو کلک کیا جب ایک آواز کی طرح کچھ کرنا. اور اس سے باہر محسوس مفت آپ کو ملتا باکس ایک بلی کی آواز، کے طور پر پہلے سے طے شدہ سپرائٹ ہے. تو اب مجھے آگے بڑھو اور اب سبز پرچم مارا. [meowing کی] آہ. یہ پیارا ہے. میں پروگرامنگ کر رہا ہوں. تو میں نے کیا کیا ہے؟ یہ ایک پروگرام کے برابر ہے. یہ واضح طور پر سپر آسان ہے. یہ واقعی اتنا سب کو وقت نہیں لگا کوشش اور MIT، زیادہ تر کام کیا لیکن میں نے ایک تقریب کا مطالبہ کیا ہے. میں نے ایک تقریب کا استعمال کیا ہے. میں نے صرف کا استعمال کرتے ہوئے، کچھ کارروائی کر دیا ہے ایک ہی جامنی پہیلی ٹکڑا ہے کہ. ویسے، مجھے کیا کرنا چاہتے ہیں تو ایک قطار میں تین meows؟ مجھے آگے بڑھو اور دو اور تین کرتے ہیں. نوٹس اور جب تم نے اس قریبی ایک پہیلی ٹکڑا ہوور، ایک چھوٹی سی سفید لکیر ظاہر ہوتا ہے چھانٹیں کے magnetically کے، اور یہ ٹوٹ جائے ساتھ مل کر آپ کو جانے دیا جب. یہاں کیا ہوتا ہے دیکھتے ہیں. [meowing کی] ایک بگ ہے. مجھے صرف ایک میانو سنتے. کیوں کہ ہو سکتا ہے؟ ہاں؟ جی ہاں. ہم واقعی اس کو سن نہیں کرتے، لیکن اس سے اچھا انترجشتھان ہے. وہ سب کے سب ایک ہی وقت میں کھیل رہے ہیں. کیوں؟ ویسے، کمپیوٹر صرف کی جا رہی ہے ایسا کرنے کے لئے آپ کو کرنے کی یہ بتا کیا. تو تم کہتے ہو، ڈرامہ آواز، ، آواز ادا آواز ادا، لیکن آپ جب تک کھیلنے کے لئے اس سے نہ کہنا آپ، کیا کر رہے ہیں آپ کیا کر رہے ہیں جب تک کھیلنے کے، اس کے ذریعے پھٹنے والا ہے پروگرام بہت تیزی سے اور اگر تم اس پر چلتا ہے صرف کیا. تو میں نے اصل ٹھیک کرنے کی ضرورت طریقوں میں سے ایک جوڑے میں. میں نے صرف یہ کرنا، اس سے چھٹکارا مل سکے. مجھے اس دوسرے پہیلی کی کوشش کرتے ہیں کیا جب تک piece-- آواز میانو کھیلنے، اور اس کے بعد کے تین ھیںچیں ان کی اور کلک کریں آن. [meowing کی] یہ واقعی very-- نہیں ہے تم ... بہت قدرتی کا شکریہ. تو کیوں بتائیں میں ... نہیں کرتے مجھے یہاں کنٹرول کرنے کے لئے جاؤ. اچھا. ایک سیکنڈ رکو، اور اب مجھے واپس جانے دو آواز، اور کھیل آواز پر کیا ہے جب تک، اور پھر مجھے ایک سیکنڈ انتظار نکلتے ہیں. اور پھر مجھے جانے اور ایک حاصل کرنے کی اجازت زیادہ آواز، اور ہم یہاں جانا. [meowing کی] ایک چھوٹا سا زیادہ قدرتی، لیکن یہ بہت ہی موثر نہیں ہے. میں بور ہو رہی تھی جیسے، تمام ہو جائے یہ مختصر طور پر، آگے اور پیچھے کلک کرنے اور واقعی میری work-- ڈپللیکیٹنگ بہت زیادہ کاپی اور چسپاں. بے شک، میں کنٹرول کلک کیا یا دائیں کلک کیا، میں نے صرف کاپی اور چسپاں کر سکتے تھے. ایک بہتر استعمال کرنے کے لئے تعمیر کیا ہو گا؟ آگے سے کیا ترکیب ہے؟ جی ہاں، تو ایک لوپ. اور حقیقت میں، ہم، کے ارد گرد poked تو ہم بالکل اس کو تلاش کر سکتے. مجھے تقریبات پر یا بلکہ کنٹرول چلتے ہیں. لہذا repeat-- مجھے نہیں پتہ یہ 10 گنا بننا چاہتا ہوں. کہ فوری طور پر پریشان حاصل کرنے جا رہا ہے. لیکن میں نے تین بار اعادہ کروں گا. مجھے آواز کرنے کے لئے واپس جانے دو اور آواز ادا یہ ہو چکا ہے جب تک. مجھ کو کنٹرول کرنے کے لئے واپس جانے دو اور صرف ایک سیکنڈ انتظار. اور نوٹس، آپ کو شاید یہ یہ قابل نہیں ہے لگتا ہے کہ، لیکن ایک بار پھر magnetically کے، تو آپ اسے جانے دو تصویر کی جگہ میں، جو بھرنے کے لئے ہو جائے گا. اب کیا ادا ہے؟ [meowing کی] ٹھیک ہے. اچھا. اور یہ کہا جائے گا کیا ہے ایک پروگرام بھی درست ہے کہ. یہ تین بار کافی meowed قدرتی طور پر، لیکن یہ بہتر ڈیزائن کیا گیا ہے. میں کم فالتوپن استعمال کر رہا ہوں. مجھے کاپی اور کچھ بھی چسپاں نہیں کیا تھا. میں نے صرف ایک بہتر خیال کا استعمال کیا. اب، یہ اب بھی تمام نہیں ہے کر نہیں سکریچ کے ساتھ دلچسپ کچھ بھی. تو چلو کسی اور کی بجائے کچھ کرتے ہیں. ہمیشہ کے لئے کچھ کرتے ہیں. اور تم کیا جانتے ہو؟ موشن دلچسپ لگتا ہے. اسے 10 اقدام ہے کرتے ہیں اقدامات اور اب کھیلیں مارا. ٹھیک ہے. ویسے ہم کر سکتے ہیں ڈریگ کی قسم اسے واپس، اور وہ اب بھی ہے چل رہا ہے، کیونکہ وہ اس میں ہمیشہ کے لئے کر رہا ہے. تو لوپ سے کر رہا ہے ایسا کرنے کی یہ کہہ رہا ہے، لیکن یہ سب اس دلچسپ نہیں ہے. آؤ کریں. مجھے ایک کنٹرول بلاک شامل ہیں، اور ایک کا استعمال پہلی بار کے لئے ان حالات کی. تو یہ 10 steps-- منتقل کرنے کے لئے جا رہا ہے 10 بندیاں، ہیں سکرین پر 10 پکسلز پھر اس کے بعد یہ سوال پوچھنا جا رہا ہے. کچھ سچ ہے تو پھر کیا کریں اس بلاک کے اندر کچھ. تو یہ پتہ چلا سینسنگ ایک پوری ہے بولین expressions-- کے گروپ ہاں کے سوال نمبر یا سچ جھوٹے form-- مجھے ایسا. touching-- تو اور پھر وہاں ہے مینو کے نیچے اس چھوٹے قطرہ. میں نے اسے parameterize سکتے ہیں. چھونے تو چلو edge-- اس طرح کچھ کرنا. لہذا edge-- چھونے تو مجھے تحریک واپس جانے. اور کیوں نہ ہم صرف 180 ڈگری گھوم؟ بالکل ٹھیک. تو ہمیشہ کے لئے، 10 اقدامات پر منتقل. آپ چھونے رہے ہیں، تو کنارے، 180 ڈگری باری. اور یہ کہ اس پروگرام کا اختتام نہیں ہے آپ ایک میں ہیں کیونکہ میں ہمیشہ کے لئے بلاک، تو یہ پھر سے جانے کے لئے جا رہا ہے اور دوبارہ اور بار بار. تو چلو دیکھتے ہیں کیا ہوتا. ٹھیک ہے. ایک چھوٹی سی چھوٹی گاڑی، بلکہ کول کی طرح. اور ہم اس کے لئے کچھ پاگل چیزیں شامل کر سکتے ہیں کہ نہیں ہے کہ تمام ذہنی ہیں دلچسپ. لیکن ہم اس چھوٹے سے مارا تو مائکروفون button-- آاچ. مجھے اس کو صاف کرتے ہیں. میرے طور پر اس میں اضافہ کرتے ہیں وہ ٹی وی پر کہیں گے. صاف اپ، محفوظ کریں، اور اب سکرپٹ کو جائیں. اور اب، مجھے آواز کرنے کے لئے جانے دو. مجھے اسے ایک نام دیتا ہوں. میں نے یہ آہ کو بلاتا ہوں. اور اب آواز آاچ کھیلنے. اس میں ظاہر ہوتا نوٹس مینو کے نیچے چھوٹا سا قطرہ. چلو دیکھتے ہیں. [آاچ] [ہنس] لیکن ہم مکھی پر ان کی ٹی تبدیل کر سکتے ہیں. ہم دو مرتبہ کے طور پر پریشان کن ہو سکتا ہے. [آاچ] یا پھر ہم جیسے پر بناتے ہیں ایک ہیں وقت میں 1،000 اقدامات ٹھیک ہے. تو ہم صرف اس ایک کو چھوڑنے کے لئے جا رہے ہیں. تو ایک بار پھر، blocks-- میں عمارت سپر آسان کچھ کے ساتھ شروع کر دیا، اور پھر میں ایک خصوصیت شامل، ایک خصوصیت شامل، ایک خصوصیت ہے. اور میں اب کوئی فکر کرنے کی ضرورت کس طرح ان کی خصوصیات میں سے سب سے پہلے لاگو کیا گیا تھا میں نے جاری رکھنے کے طور سب سے اوپر پر چیزوں پرت. تو حقیقت میں، مجھے یہاں ایک دوسرے کا کرتے ہیں. مجھے آگے بڑھو اور ایک فائل کھول دو کہ I، ایڈوانس میں لایا بھیڑ کو بلایا. تو یہ ایک تھوڑا سا مختلف ہے اس طرح لگ رہا ہے کہ کردار. اور مجھے دیکھنے دو کہ اگر میں نہیں کر سکتا جوابی کا استعمال کرتے ہوئے کچھ کرنا اس میں ایک نام نہاد متغیر case--. میں آگے اور Events-- تحت جانے کے لئے جا رہا ہوں مجھے ایک سبز پرچم پر کلک حاصل کرتے ہیں. پھر مجھ ڈیٹا، جس میں یہ جاننا چلتے ہیں صرف اس سے پہلے کے ارد گرد کھیلنے سے، جہاں متغیر ہیں ہے. اور میں آگے بڑھو اور اس ھیںچیں کرنے کے لئے جا رہا ہوں. چنانچہ ایک متغیر انسداد بلایا اور میں نے اسے صفر ابتدا کرنے جا رہا ہوں. میں نے اسے کچھ نہیں X کال کر سکتے ہیں یا Y یا z-- لیکن پروگرامنگ میں، ایک semantically بنانا میں کچھ بلا مفید طریقہ، انسداد طرح، کہ یہ کیا ہے کی وضاحت ہے، یہ ایک بات ہے بہت آسان آپ کے کوڈ کو بعد میں پڑھنے کے لئے. مجھے آگے بڑھو اور حاصل کرتے ہیں ایک ہمیشہ کے لئے یہاں مسدود. اور مجھے لگتا ہے جانے دو صفحہ اور ایک کا کہنا بلاک کرتے. لیکن کیا متغیر کے بارے میں اچھا ہے میں ہے صرف کچھ میں ٹائپ کرنے کی ضرورت نہیں ہے طرح ہیلو دنیا، جس میں ہم نے پہلے ہی ہوگا کیا، میں بجائے ڈیٹا پر جا سکتے ہیں اور میرے متغیر ھیںچیں، اور یہاں تک کہ بالکل شکل کرتا ہے، اگرچہ یہ فٹ چاہئے طرح نظر آتے ہیں، یہ بھرنے کے لئے ہو جائے گا. اور میں صرف ایک کے لئے کاؤنٹر کہیں گے دوسرے کی spoiler-- وہ شمار کرنے والا ہے. ہم ایک دوسرے کے لئے اسے کہیں گے. پھر میں جانے کے لئے جا رہا ہوں اور اس سے ایک سیکنڈ کے لئے انتظار ہے، لہذا یہ بہت تیزی سے شمار نہیں کرتا. اور پھر آخر میں، کاؤنٹر تبدیل دوسرے الفاظ میں one-- طرف، ایک کی طرف سے انسداد اضافہ اضافی قیمت اور ہمیشہ کے لئے ایسا. تو بھیڑیں بھی، جیسے ایک پروگرامر، 0 سے شمار. اور ہم کافی وقت تک انتظار کریں، وہ ہمیشہ کے لئے یہ کریں گے. لیکن یہ بالکل سچ نہیں ہے، کیونکہ سچ تو یہ ہے، جیسا کہ ہم ایک ہفتے میں دریافت کریں گے، زیادہ عام طور پر صحیح عدد اور کمپیوٹرز، تکنیکی طور پر صرف ایک finite-- ساتھ ساتھ ہے، کمپیوٹرز، جب بجائے وہ integers کی نمائندگی، صرف بٹس کی ایک محدود تعداد پڑے. وہاں ان کی روشنی بلب صرف اتنا زیادہ اعتماد کر سکتے ہیں آپ روشنی بلب سے باہر ہیں اس سے پہلے. اور ایک کمپیوٹر بھی، صرف اتنا یاد ہے، صرف بہت سے ٹرانجسٹروں ہے، تو یہ صرف اتنا زیادہ اعتماد کر سکتے ہیں. تو یہ، بھیڑوں کہ باہر کر دیتا مجھے لگتا ہے کہ، 2 ارب اعتماد کر سکتے ہیں یا بہت بڑی چیز. تو ہم نے کے لئے نہیں جا رہے ہیں ایسا کرنے کے لئے انتظار کریں. لیکن آخر کچھ مسئلے ہو گا کہ کچھ بہت حقیقی دنیا میں ہو سکتا ہے نتائج. مگر بھیڑوں پرے، کہ صرف ایک متغیر متعارف کرایا. آگے بڑھو اور کھول دو کچھ میں نے پہلے سے بنایا یہاں Cat-- پالتو بلایا یہاں بلی پالتو. اور یہاں محسوس کریں جو چند ہے بلاکس، لیکن جب سبز پرچم ، کلک کیا ہمیشہ کے لئے مندرجہ ذیل کر. آپ ماؤس کو چھو رہے ہیں تو پوائنٹر تو سکرین پر کرسر، arrow-- کھیلیں آواز میانو اور پھر دو سیکنڈ انتظار. اور صرف ہمیشہ کے لئے ایسا. صرف مسلسل انتظار پوائنٹر تو دیکھنا کیٹ پوائنٹر کو چھو رہی ہے تو. تو میں نے ڈرامہ مارا. کچھ بھی نہیں ہو رہا. لیکن میں بلی سے زیادہ کرسر کو منتقل کے طور پر، [meowing کی] اور میں نے اسے دور منتقل، نہیں اب بلی petting. تو کچھ مشروط منطق ایک لوپ کے اندر اندر در اندر. اس مثال کو کیسا، جان بوجھ کر بلی پالتو مت بلایا؟ کیا ایسا کرنے کے لئے جا رہا ہے؟ [meowing کی] آپ کو بلی کیوں پالتو نہیں کرنا چاہئے؟ [meowing کی] ٹھیک ہے. تو یہ ایک نہیں تو اگر اس کی ایک مثال ہے. یہ ایک فیصلہ نقطہ ہے اور یہ لوپ میں بیٹھا ہے کیونکہ، وہ دونوں کی جانچ پڑتال ہو رہی ہے. کیا یہ سچ ہے؟ کیا یہ سچ ہے؟ کیا یہ سچ ہے؟ کیا یہ سچ ہے؟ اور آخر میں، میں سے ایک ان لوگوں کو لاگو کرنے کے لئے کی جا رہی ہے اور تو آپ کو یا تو میانو یا سن اس صورت میں شعر کی دہاڑ. ٹھیک ہے، کی ایک تھوڑا سا زیادہ پسند ایک کو کرنے دو I دھاگوں too-- پیشگی بنا دیا ہے کہ. تو ایک دھاگے کو صرف ایک ہے ایک کمپیوٹر کر سکتے ہیں کہ ایک ہی چیز. تو ایک کثیر موضوع کا پروگرام ایک پروگرام ہے کہ ایک بار میں ایک سے زیادہ چیزیں کر سکتے ہیں. اور یہ مثالیں کے تمام اس طرح اب تک پڑا ہے صرف ایک اسکرپٹ، تاکہ speak-- کرنے ایک پروگرام یہاں اس کی طرح. لیکن اس پروگرام کو نوٹس دو sprites، دو حروف. ایک ایک جانور ہے. ایک ایک بلی ہے. نوٹس اور میں نے ان کے نیچے پر کلک کرنے پر بائیں، وہ ایک ان کے اپنے سکرپٹ ہے یا پروگرام ان کے ساتھ منسلک. اور ان لوگوں میں سے دونوں پروگراموں، نوٹس، آغاز جب سبز پرچم کلک کیا کے ساتھ کی cat-- کو دیکھو جب سبز پرچم پر کلک کیا. اور تو بے شک، میں اب کھیلیں مارا جب، دو چیزوں کو ایک بار میں ہونے جا رہے ہیں. بلی اور پرندہ کو دونوں ہیں بیک وقت کام کرنے کے لئے جا اس کا اثر پیدا کرنے کے لئے. اور آپ تصور کر سکتے کیا ہو رہا ہے. ایک لوپ اور برڈ نہیں ہے اور بلی ایک لوپ میں ہیں. برڈ ویسے ہی جیسے شیخی ہے جب میں آاچ کہا پہلے تھا. لیکن بلی کو واضح طور پر ایک فائدہ ہے. ایک اور سینسنگ بلاک ہے کہ جان بوجھ ہیں بلی پوائنٹس یہاں اس صورت میں پرندوں. تو ہم نے دیکھ کر، کے علاوہ چڑھاو سکتا ہے ان بلاکس کے ذریعے، کیا ہو رہا ہے. لیکن یہاں اہم جزو ایک ہے. برڈ، تاکہ اس کھیل نہیں ہے مکمل طور boring-- کریں یہ animation-- ایک بے ترتیب سمت میں شروع ہوتا ہے. اور کمپیوٹر اٹھا رہا ہے 90 اور 180 کے درمیان ایک بڑی تعداد بنیادی طور پر، تاکہ یہ ایک تھوڑا سا ہے مختلف حرکت پذیری ہر وقت. اور پھر یہاں محسوس، تو کیٹ پھر، برڈ چھو رہی ہے شیر کی دہاڑ چار sound-- کھیلنے. لیکن اس دوران برڈ میں پیلیٹ، ہم اس کے لئے ہے. ہمیشہ کے لئے، کیٹ کو چھونے نہیں ہے تو، صرف تین مراحل منتقل رکھنے. اور پھر یہاں ایک اور پہیلی ٹکڑا ہے. آپ کو کنارے پر ہیں تو، اچھال. لہذا برڈ صرف کی قسم ہے اس کے اپنے کاروبار minding، صرف کے ارد گرد پرواز اور شیخی، اور یہ واقعی ہے بلی کی مشروط منطق تھی کہ یہ چڑیا پکڑا تھا تو تعین کرنے کے لئے. بالکل ٹھیک. لہذا یہاں ایک دوسرے کا کرتے ہیں، اس میں سے ایک ہیلو کہلانے ہیلو ہیلو. اور یہ ایک یہاں صرف کرتا ہے ہمیشہ کے لئے ایک لوپ میں اس. لیکن کس طرح نوٹس ہمیں روک سکتا ہوں یہ بہت پریشان کن پروگرام؟ اسپیس بار مارا. کیونکہ میں ایسا ہے تو، بائیں ہاتھ پروگرام یہ مسلسل کے نوٹس listening-- اہم خلائی پریس ہے. خلائی بار دبایا تو، اور اگر ایسا ہے تو، یہ کیا کرتا ہے؟ یہ ایک بہت عام ٹیکنالوجی کرتا ہے. یہ کچھ قیمت کے برابر ایک متغیر کا تعین کرتا ہے. لیکن یہ اس قدر ٹوگل. [؟ لہذا ظہور؟] shape-- میں کی بنیاد پر ایک متغیر ہے کہ میں کہا جاتا پہلے سے لکھا خاموش، صرف ہاں یا جس کا کہنا ہے. آواز کو خاموش کر دیا ہے یا نہیں؟ صحیح یا غلط؟ اور نوٹس، میں نے تو this-- کہہ رہا ہوں خاموش کردیا صفر ہے، اس کے بعد ایک کے لئے تبدیل، ورنہ اسے صفر گونگا مقرر. تو صرف صفر سے ایک تک کی قدر پلٹائیں. میں اسے تبدیل done-- ہو سکتا ہے دو سے تین اور تین سے دو یا چار پانچ سے چھ سے چار یا. لیکن اس سے کوئی فرق نہیں پڑتا کیا تعداد میں استعمال کرتے ہیں، جب تک میں رکھنے کے طور پر اس کے برعکس کو تبدیل کرنے کے. اور سب سے کسی بھی پروگرامر صرف کریں گے صفر اور one-- جھوٹے اور سچے منتخب، دور اور on-- اس کی نمائندگی کرنے کے لئے. اور یہ اب بھی چل رہا ہے. میں نے پھر اسپیس بار مارا [SEAL آواز] پروگرام اب بھی چل رہا ہے. اس کی وجہ سے دوسرے سکرپٹ وہاں ہے کا کہنا ہے کہ، ہمیشہ کے لئے مندرجہ ذیل کام کریں. خاموش کردیا متغیر برابر تو zero-- لہذا آپ کو خاموش کر دیا نہیں کر رہے ہیں یہ غلط ہے تو logic-- ہے یا کوئی، پھر آواز ادا، آپ کو خاموش نہیں کر رہے ہیں کیونکہ. آپ کو آواز کھیلنے اور پھر چاہئے ہیلو ہیلو ہیلو لگتا ہے کہ دو سیکنڈ کے لئے اور پھر انتظار کرو، اور ایسا دوبارہ اور بار بار. اور اس طرح اس طرح ہم کے لئے ایک طریقہ ہے پروگراموں بات چیت کرنے کے لئے لوگوں کو ضروریات کو. اور وہ کرنے کی ضرورت نہیں ہے دوسروں کے طور پر کے طور پر تاریخ درج کرنا. سچ تو یہ ہے، around-- poking ہے کوئی شلیش ارادہ کسی کی ایک بڑی رقم خرچ عمل درآمد انٹرنیٹ پر وقت شروع میں PokemonGo. یہ بھی میں آپ geolocates کیمبرج یا Allston یہاں. تم بھی کیا لوگ دیکھنا چاہتے ہیں تو تو کیا کر سکتے this-- بہت پسند مینو ہے. یہاں پر کلک کریں. یہ تو اب میری تیر چابیاں کے ساتھ مجھے ہے. میں نے اس کے بعد جانے کے لئے جا رہا ہوں. کلک کریں. اور اب تم PokeBall کلک. میرا مطلب ہے، میں تمہیں لگتا PokeBall کلک کرنے کی توقع کی. بالکل ٹھیک. اس لئے میں نے یہ کر دکھایا. میں یہاں سے جا سکتے ہیں. اور یہ شخص کچھ اور لاگو یہاں تین PokeBalls زائد PokeBalls. ہم اس کے لئے ایک لنک پوسٹ کریں گے آن لہذا آپ کو ادا کر سکتے ہیں. لیکن نوٹس صرف وہاں ہے کچھ بنیادی عمارت بلاکس. یہ ایک بہت اچھے لگ رہا ہے، اور یہ ہے. یہ متاثر کن اور زیادہ ہے ہم عام طور پر کرے گا کے مقابلے میں توقع ہے، مسئلہ کے لئے یقینی طور پر صفر مقرر. میں کب تک کوئی اندازہ نہیں ہے اس شخص گزرا. لیکن یہ سب صرف ایک لوپ ہے. ایک آواز بجانے ہے. لوپ کے کچھ قسم ہے میں ہوں چاہے میں سننا اپ تیر یا نیچے مارنے تیر یا بائیں اور دائیں، اور پھر اگر ایسا ہے تو، اس کے آگے بڑھ رہا ہے یہ پکسلز کی کچھ تعداد. اور پھر میں پر کلک کریں تو ایک اور سپرائٹ، وہاں ہے وہاں تو شرط کی کسی طرح. جی ہاں، یہ بہت شدید ہوتا جا رہا ہے. ہم کو روکنے کے لئے جا رہے ہیں. یہ ان تمام بنیادی عمارت بلاکس ہے. دیگر کوئی دیگر اجزاء ہیں والوں کے مقابلے میں ہم نے پہلے ہی میں دیکھا ہے. اور ابھی تک یہاں، مجھے کرنے دو مثالوں میں سے ایک آخری سیٹ وہ بھی ایک تصویر پینٹ تم یہاں کیا کر سکتے ہیں. یہاں ایک بہت سادہ پروگرام ہے کہ صرف this-- کھانسی، کھانسی، کھانسی کرتا ہے. اور صرف کی بنیاد پر کیا ہم، اس طرح اب تک میں دیکھا ہے جہاں واضح ہے بہتری کے لئے موقع. یہ پروگرام درست ہے. یہ تین بار کھانسی، جو میں نے ارادہ کیا ہے. لیکن یہ غیر تسلی بخش عملدرآمد ہے. یہ بری طرح ڈیزائن کیا گیا ہے. کیوں؟ جی ہاں. یہ ایک لوپ نہیں ہے. اور یہ اتنا نہیں ہے یہ ایک لوپ نہیں ہے کہ، یہ فالتوپن کے ایک بہت ہے کہ ہے. نہیں کاپی کیا جاتا ہے اور چسپاں کوڈ، تو بات کرنے کی. اور حل شاید یقینا ایک لوپ ہے. تو مجھے آگے جانے دو اور یہ کہ اللہ علیہ وسلم کو بہتر بنانے کے. اور میں یہاں پر ان ھیںچیں کرنے کے لئے جا رہا ہوں. مجھے آگے بڑھو اور دوبارہ حاصل کرتے ہیں بلاک کے، تین اسے تبدیل. میں دور پھینک کرنے جا رہا ہوں ان بلاکس میں سے کچھ. اور تم یہ بہت بدیہی ہے محسوس کریں گے. آپ ھیںچیں اور ڈراپ اور چیزیں ظاہر ہوتے ہیں اور آخر میں غائب. اور میں نے صرف یہاں میں اس ھیںچیں کر سکتے ہیں، اور اب میں اب بھی ایک صاف ستھرا ہی ورژن ہے. لیکن تم کیا جانتے ہو؟ اس موقع ہے abstraction-- لئے اب نئے ذخیرہ الفاظ کی وضاحت کرنے شروع کرنے کے لئے MIT اندازہ نہیں تھا کہ. انتظار اور دوبارہ نہیں ہے اور ہمیشہ کے لئے اور تو، لیکن جو میں چاہوں تو متعارف کرانے کے لئے ایک بلاک کے طور پر لفظ کھانسی؟ کیا میں ایک پہیلی ٹکڑا چاہتے ہیں تو زندگی میں جس کا مقصد کھانسی ہے؟ ٹھیک ہے، اس ورژن کو دیکھو یہاں، جو کہ مندرجہ ذیل میں نے کر دیا. جادوئی، میں نے پیدا کیا ہے اس پہیلی یہاں ٹکڑا، جو شروع تمہیں کیا کرنا کی اجازت دیتا ہے. اور بیشک سی اور ازگر اور جاوا اسکرپٹ ہیں آپ کے ساتھ ساتھ ایسا کرنے کے لئے اجازت دینے کے لئے جا رہا. آپ کو آپ کی اپنی اپنی مرضی کے تشکیل دے سکتے ہیں آپ کیا چاہتے ہیں فون ہے کہ ٹکڑے ٹکڑے کر. اس صورت میں، کھانسی محسوس ہوتا ہے ایک مناسب تعریف کی طرح. اور پھر نیچے ان ٹکڑوں کے ساتھ یہاں آپ کو اس کا مطلب کیا وضاحت کر سکتے ہیں. مجھے گھسیٹ سے گرا دیا اس پیلیٹ یہاں زیادہ اس بڑی جامنی blocks-- بلاک کے، مجھے کھانسی میں ٹائپ کہاں میری نئی پہیلی ٹکڑا کے نام کے طور پر. اور پھر میں کسی بھی وقت ایک صارف کہہ رہا ہوں اس نئے کھانسی پہیلی ٹکڑا بلاتا، ایک کا کہنا ہے اور کسی منتظر ہیں. اور تو یہاں میری دوبارہ بلاک میں، میں نے صرف تین بار کھانسی سکتے ہیں. اور میں نے خاص طور پر، بحث کریں گے اب تو آپ کو اس تفصیل کو چھپانے. کون پرواہ کرتا ہے کھانسی لاگو کیا جاتا ہے کس طرح؟ میں نے ایک کے طور پر کی پرواہ تمام مجھے کھانسی سکتا ہے کہ پروگرامر. میں کہتا لاگو کیا جاتا ہے کس طرح کی پرواہ نہیں کرتے. میں نے صرف پرواہ ہے کیٹ کچھ کہہ سکتا. میں کر سکتا ہوں دور خلاصہ یہ کہ تفصیل اور یہاں صرف سکرین پر کیا ہے پر توجہ مرکوز. لیکن میں مزید اس ایک قدم لے جا سکتے ہیں. کہ یہاں نوٹس، میرے پاس ہے لوپ تین بار لاگو کیا. لیکن کیا اگر بجائے میں اس ورژن قبضہ؟ اور اس کے بجائے اگر کیا یہاں اس ورژن میں، میں تو صرف لینے کے لئے میری پہیلی ٹکڑا تبدیل ایک دلیل اور ان پٹ کے خود کے پاس؟ اور یہ کہ ان پٹ ہو سکتا ہے تین طرح ایک بڑی تعداد. تو اب، میں نے ایک پروگرام لکھ رہا ہوں تو اور میں نے بلی کو کھانسی کے لئے چاہتے ہیں، میں اصل میں پہیلی کو بتا سکتے ہیں کھانسی کتنی بار ٹکڑا، یہاں سے نیچے دیئے گئے، ایک fancier کیونکہ یہ اپنی مرضی کے پہیلی کے ٹکڑے ٹکڑے کے کوریا کے ورژن مجھے اس وضاحت کی اجازت دیتا کھانسی اصل لیتا ہے ایک ان پٹ کو اس طرح کی ایک دلیل لیتا ہے. اور تم کیا جانتے ہو؟ ہو سکتا ہے کہ مجھے احساس، ایک منٹ انتظار کرو. کھانسی same-- ہے یہ بنیادی ہے چھینکنے کے طور پر ایک ہی خیال. یہ صرف ایک مختلف ہے سکرین پر لفظ. میں نے تجریدی دور کر سکتے ہیں مزید اور عمل درآمد ایک کے اس آخری ورژن ، کھانسی پہلی نظر میں جس راستے میں زیادہ پیچیدہ لگ رہا ہے. لیکن میں نے کیا کیا محسوس کریں. میں اب ہے genericized generalized-- اس پہیلی ٹکڑا really-- کہلانے کا لفظ ن اوقات کہنا. اور اب میں دو نئے پہیلی کے ٹکڑے ٹکڑے ہے یہاں کھانسی ن اوقات کی وضاحت. اور کھانسی تقریب کیا کرتا ہے؟ میرے حسب پہیلی ٹکڑا کیا کرتا ہے؟ یہ صرف کہہ دو بلاک کے بلاتا ہے، میں کہنا چاہتا ہوں لفظ میں گزر، بڑی تعداد میں گزرنے والے اوقات میں سے میں کہنا چاہتا ہوں. کیونکہ اب میں عملدرآمد کر سکتے ہیں بس ہیں achoo کہہ کر چھینک، اس معاملے میں، کئی بار کچھ. اور اس طرح میں layering اور layering کی ہوں. اور پھر، یہاں کی چابی نہیں ہے میں نے اس پر عمل کس طرح، لیکن حقیقت یہ ہے کہ اگر میں صرف لفظی سکرین بند ان میں منتقل، دیکھو کس طرح آسان نہیں ہے تو خوبصورت میرا پروگرام اب لگ رہا ہے. کیونکہ اس میں یہ ہے کرتا ہے I پر abstracted گئے ہیں کا کہنا ہے کہ، دور کہ بلیک باکس کے اندر کیا ہے. یہ یہاں ایک جامنی رنگ کے باکس پر ہوتا، لیکن میں اندر کیا دور متاثر کیا ہے میں نے یہ کیسے کام کرتا ہے اس کی پرواہ نہیں ہے کیونکہ. میں نے ابھی ابھی یہ کام کرتا ہے کہ پرواہ. اور یقینا، مسئلہ میں مقرر صفر، یہ بالکل وہی ہے خیالات کی layering کی قسم تمہیں دریافت کرنے کا موقع ہے. یہ بالکل موقع ہے مسئلہ کے حل تکنیک کو لاگو، شاید ایک ہے کیا کرنا غیر مانوس ماحول. اور تم پروگرام نہیں کیا ہے کہ آیا پہلے یا پہلے پروگرام، آپ نہیں ہے کہ تلاش کر لیں گے ایک چھوٹا سا کچھ سب کے لئے اس ماحول میں. اور مسئلہ کے ساتھ قائم ایک ہفتے کے وقت میں ایک، ہم توجہ مرکوز کرنے کے لئے منتقل کیا جائے گا کے نام سے ایک اعلی سطح کی زبان پر C-- یا بلکہ ایک کم سطح کی زبان کہا جاتا ہے C-- کہ اس سے بھی زیادہ ہے طاقتور، یہ بات ہے، اگرچہ ایک چھوٹا سا پہلی نظر میں خفیہ. اور تم آج کے TL فی احساس ہوگا: DR، اس مسئلہ کو قائم ایک چھوٹا ہے کہ مستقبل والوں کے مقابلے میں وقت کی کھڑکی کے لئے، صرف آپ اسے کافی تلاش کرنا چاہئے کیونکہ قابل رسائی. اور اگر میں فکر کرنے کی نہیں آپ کو کلاس کے اواخر شامل. ہم طویل عرصے سے پہلے کہ خطاب کریں گے. اور اس سے پہلے ہم نے کیک کے لئے ملتوی، لشکر طیبہ صرف ایک دو منٹ کی نظر کے ساتھ ختم CS50 میں آپ کو یہاں انتظار کر رہا ہے اوپر. [موسیقی بجانے] بالکل ٹھیک. یہ CS50 کے لئے ہے. ہم آپ کو جلد ہی دیکھیں گے. کیک اب کی خدمت کی ہے. [موسیقی بجانے] اسپیکر 17: کیا تم نے سنا ایک آرام، چیف کا؟ اسپیکر 18: شاید وہاں ہے ہڈ کے تحت زیادہ.