[موسیقی] این CS50-- هاروارد است معرفی دانشگاه به فکری کار علوم کامپیوتر و هنر برنامه نویسی. و نام من دیوید مالان است، و من فقط به فکر این صبح، این شگفت آور 20 سال امروز بوده است از آنجایی که من آخرین نشست که در آن شما بچه ها در حال حاضر. این 1996 بود. من دانشجوی سال دوم بود، و من مصرف CS50 برای اولین بار. و من حتی نمی بدست تا عصب به آن را خودم سال اول، تا حدودی به دلیل از زمان. علوم کامپیوتر به من شد نوع دوست دارید، MEH. من کمی از یک گیک در حال رشد ، اما من واقعا نمی هر گونه فکری علاقه به آنچه به نظر می رسد فقط یک دسته کامل از شود مردم برنامه نویسی تمام وقت. و من به صداقت می ترسم. دوره و علوم کامپیوتر بیشتر به طور کلی حال و تا حدی، هنوز این اعتبار از یک زمینه به مراقب باشید، اگر فقط به این دلیل که بسیاری از ما با آن آشنا و مطمئن نیستید از آن می باشد. و آن را واقعا بود تا من خرید نکردهاید این کلاس که دانشجوی سال دوم fall-- و حتی پس از، من فقط ثبت نام زیرا professor-- یکی از اولین مربیان، برایان Kernighan در حال حاضر در Princeton-- به من اجازه داد به پاس کلاس شکست. و در واقع، به همین دلیل است امروز ما اجازه می دهد و تشویق دانش آموزان را به این کلاس نشسته / unsat. و تنها پس از، توسط پایان ترم من مانند، وای، این را درک چنین یک میدان ناآشنا نیست. در واقع، این بود بسیار توانمند سازی زمینه، و excitingly بیشتر، به خصوص بعد از آن، به عنوان من دوره در زمان هنرهای نمایشی 101 و لاتین و سپس در نهایت باستان شناسی مدرسه گراد، آیا من واقعا شروع به دیدن تقاطع در این زمینه، کامپیوتر علم، با علوم انسانی، علوم طبیعی، هنر، پزشکی، و مانند آن. و به این ترتیب این چیزی است که فقط تا شسته و رفته در مورد علوم کامپیوتر در نهایت، به عنوان ما امیدواریم که شما see-- کاربرد آن است به این زمینه های دیگر، و چگونه می توانید برخی از امروز و ترم ایده ها و مهارت های عملی برگشت به دامنه خود، و در واقع کشف این تقاطع علوم انسانی و علوم. بنابراین 73 درصد از شما، اگر آخرین سال، هر نشانه، قبل از یک دوره CS گرفته هرگز. بنابراین اگر مثل من، شما احساس کمی می ترسم، و یا رک و پوست کنده شما نیست مطمئن نیستم چرا شما حتی در اینجا. شاید شما فقط به دنبال برخی دوستان به سندرز در حال حاضر. این کاملا خوب. هدف در اینجا به قلاب شما و به شما اطمینان بدهم که اگر شما به نگاه در سمت چپ و به سمت راست، شما در حال رفتن به همکلاسی های با به عنوان تجربه کم یا زیاد که شما خود را ممکن است داشته باشد. و در واقع، ما به اشتراک بگذارید برخی از آمار بعد از امروز به آنچه به عنوان جمعیتی از کلاس معمولا مانند نگاه کنید. و به عنوان اضافه reassurance-- و این ما به این معنی از آنجایی که من در طول این دوره صورت گرفت چند سال ago-- در برنامه درسی درس است this-- که آنچه در نهایت مسائل در این دوره بسیار که در آن شما به پایان نمی تا نسبت به همکلاسی های خود، اما در آن شما در هفته 11، پایان ترم، پایان نسبت به خود در هفته 0، که است که که در آن ما امروز در اینجا. و این چیزی است که من متوجه شدم همه کسانی که سال پیش. و من می دانم بسیاری از کلاس های این می گویند، اما آن را به خصوص در علوم کامپیوتر است. در پایان روز، این درست نا آشنا است که آن را به من بود و ممکن است به شما باشد، واقعا فقط در مورد حل مسئله است. و به عنوان مثل، آن این را دارند کاربرد به زمینه های دیگر. و در واقع، اگر ما سعی برای تقطیر این به چه معناست، این حل مسئله است در ذات خود، من با جرات گفتن. است input-- بنابراین هر آن وجود دارد این است که شما در حال تلاش برای حل کند. خروجی وجود دارد، که امیدوارم راه حلی برای این مشکل است. و پس از آن، همانطور که ما می می گویند در علوم کامپیوتر، است این جعبه سیاه در وجود دارد وسط که شما لزوما باید در مورد چگونه کار می کند مراقبت. شما خودتان را در نهایت ممکن است پیاده سازی آنچه در داخل این جعبه. اما برای اهداف امروز و بیشتر به طور کلی در زندگی، همه شما در مورد مراقبت این است که این مشکلات حل. و آنچه این دوره این است در نهایت در مورد کاوش است تقاطع این ورودی و خروجی، و این به اصطلاح الگوریتم، به عنوان ما به زودی خواهید دید، که اجرای آنچه است در زیر وجود دارد، هود. اما این ورودی ها و این outputs-- چه می کند که در واقع چیست؟ خوب، در پایان روز، ما نیاز برخی از راه نمایندگی اطلاعات. این امر به ویژه در یک کامپیوتر واقعی، که به عنوان فانتزی و پیچیده آن را به عنوان ممکن است به نظر می رسد، یک دستگاه خیلی گنگ است. طول می کشد تا electricity-- چه از کابل یا باتری به عنوان input-- و سپس آن را به تولید برخی پاسخ preprogramed بر روی صفحه نمایش. اما چگونه باید از گرفتن آغاز تا پایان وجود دارد؟ خب، چه یک مشکل حل شود؟ خب، شاید ما ممکن است، در آغاز هر ترم، سعی کنید را به حضور در یک اتاق مثل این. بنابراین من ممکن است مانند یک، دو، سه را انجام دهد. یا شاید، اگر من آن را انجام به نوعی از پیگیری از myself-- برای پیگیری چیز من به سرعت می تواند از انگشتان اجرا کنید. بنابراین من فقط ممکن هش یکی marks-- را نفر، دو، سه، چهار، پنج، شش، هفت هشت. و همه ما احتمالا انجام این، چه در دست های خود را و یا بر روی یک تکه کاغذ. و این است که در واقع فقط چیزی به نام نشانه گذاری یگانی که در آن اگر شما تنها یک نامه دارند در حروف الفبا، یک یا هش خود را علامت در این مورد، برای هر ورودی شما می خواهید تعداد دفعات مشاهده، شما نیاز به قرار دادن یکی از این letters-- یکی از این علائم. خیلی خوب. که همه خوب و خوب و نه همه که پیچیده است. اما کامپیوتر همه نیست که بسیار پیچیده تر است. در واقع، بسیاری از شما احتمالا مطمئن شوید حتی اگر شما واقعا نمی این به چه معناست، که در نظر گرفته کامپیوتر تنها درک صفر و آنهایی که به اصطلاح سیستم دوتایی. ما انسان ها، در مقابل، هستند بسیار پیچیده تر تا آنجا که ما می دانیم صفر از طریق نهها. اما حتی اگر باینری است، در ابتدا نگاه، نه همه که آشنا، که معلوم است آن را درست مثل سیستم و ایده هایی که ما در حال حاضر می دانیم. برای مثال، این در نظر بگیرند. این فقط یک دنباله ای از نمادها است. و همه شما، هنگامی که اجمالی به آن، احتمالا فکر می کنم 123-- چیزی واقعا جالب است. اما چرا این تعداد، 123 است؟ اینها فقط حروف در screen-- فقط الگوهای که ممکن است کسی کشیده و یا تایپ. اما اگر شما مانند من هستید، شما احتمالا از مدرسه ابتدائی به یاد داشته باشید که از وجود دارد ستون ها و یا مکان های اینجا. را قرار دهید و یک وجود دارد جای ده و محل صد است. و به همین دلیل است که این 123 و نه فقط یک الگوی سه علامت است که، البته، اگر ما یک در جای صدها، شما ریاضی 100 بار یکی، و پس از آن دو در محل ده است. به طوری که 10 بار 2، و پس از آن سه در است محل یکی و 1 بار 3 است. و هنگامی که شما همه از آن اضافه کردن، از البته، شما 100 به اضافه 20 به علاوه 3 را دریافت کنید. بنابراین ما فقط با یک الگوی آغاز شده از symbols-- alphabet-- اما پس از آن معنا نقشه برداری بر روی این از طریق این ستون ها. خب، معلوم است که کامپیوتر واقعا نمی که متفاوت از شما و من. اما به جای استفاده از قدرت 10، به speak-- 1، 10، 100، 1000، 10،000 مکان و بنابراین forth-- آنها در واقع فقط با استفاده از قدرت 2-- به طوری که یکی، 2، 4، و سپس اگر ما را رقم بیشتر، 8، 16، 32، 64، 128، و غیره. و به این ترتیب این است چگونه یک کامپیوتر به تعداد 0 نشان، فقط ما مانند انسان است. 0، 0، 0-- و شما احتمالا می توانید حدس بزنید چه الگوی صفر و آنهایی که، اگر یک کامپیوتر می تواند تنها صحبت 0 یا 1-- چه الگوی است که به نمایندگی از تعداد ما انسان ها به عنوان 1 دانید؟ Yeah-- 0، 0، 1. خیلی خوب. بنابراین، 0، 0، 1 است که چگونه ما نشان 1، بنابراین شما ممکن است پس از آن تمایل به نمایندگی از شماره 2، اگر شما جای چهار و محل دو را به عنوان یک مکان، شما ممکن است بگویید، خوب، اگر ما یک 1 در محل یکی بود، و در حال حاضر ما می خواهیم شمارش تا 2، شما ممکن است این کار را ترک کنید و این را به صفر است. اما البته این است که چگونه سیستم دهدهی کار می کند یا نه. اگر شما یک رقمی در هر دو از این ستون، شما رو به انجام محاسبات. پس چه تعداد من به طور تصادفی فقط نشان می دهد؟ پس از آن 3، زیرا 2 بار 1 به علاوه 1 بار 1، البته، به ما می دهد سه. بنابراین این امر می تواند دو. بیت بر می چرخانیم، پس به صحبت می کنند، به عنوان 0 یک می شود، بسیار شبیه به یک 9 نقش بیش از و تبدیل به یک 0 هنگام حمل 1. این پس از آن خواهد بود سه البته. Four-- نکته جالب دیگر اتفاق می افتد، که در آن به آنهایی که بیش از رول و شما حمل 1، پس به صحبت می کنند. بنابراین این، البته، 4 است. اما اگر شما سریع به جلو در حال حاضر، چه بزرگترین عدد رفتن است به این باشد که یک کامپیوتر می تواند نشان می دهد؟ پس از آن تنها هفت در این مورد، درست است؟ از آنجا که شما یک در چهار، یک در دو، یک در یک. به طوری که 4 به علاوه 2 به علاوه 1. به طوری که به شما می دهد هفت. و در واقع، آن را به نظر می رسد در نگاه اول که کامپیوتر می تواند به حساب بالاتر از این. اما این البته درست نیست. ما انسان ها چه کار وقتی ما می خواهیم به دفعات مشاهده شده بالاتر از 999 مانند؟ فقط یکی از حمل و فقط اضافه کردن رقم چهارم به سمت چپ. و به این ترتیب در واقع ما می تواند. ما می تواند هشت دارند محل و مکان 16 است، و یک 32 در محل، 64، 128-- و شما فقط می توانید در رفتن نگه دارید تا بی نهایت. بنابراین این صفر و آنهایی به اصطلاح system-- باینری همان چیزی است که یک دانشمند کامپیوتر به طور کلی کمی، و یا رقم دودویی پاسخ. اما در حال حاضر، چگونه ما از گرفتن مفهوم یا گرافیک از این چیزها به یک کامپیوتر واقعی؟ ما به نظر می رسد پرش یک گام است. خب، تنها ورودی در پایان از روز، به لپ تاپ من در اینجا این جریان برق است. حتی اگر آن را طولانی شده زمان از شما در مورد فکر یا هرگز فکر چگونه برق کار می کند، این جریان الکترون ها در آن وجود دارد و یا ، و که نوع من از ورودی است. بنابراین اگر این همه که ما گرفتن به عنوان ورودی در اینجا، آنچه می تواند ما را با این اطلاعات انجام دهید؟ خب، ما ممکن است از صفر به عنوان فکر می کنم فقط یک عدم وجود برق. هیچ چیز flowinw است، هیچ چیز است در حال حرکت، هیچ چیز اتفاق می افتد. که فقط به طور پیش فرض state-- صفر است. اما اگر وجود دارد جریان الکتریکی، به همین دلیل ما نه تنها خودسرانه، بلکه در سطح جهان به طور مداوم، پاسخ که یکی از. بنابراین به سادگی با داشتن هیچ قدرت، ما یک صفر، بله قدرت، ما یک one-- هیچ قدرت، بله قدرت. و به این ترتیب، با استفاده از چیزی فیزیکی بیشتری و یا الکترونیکی ما شروع به پیاده سازی این مفهوم چیزی هم که یک یا صفر است. در واقع، ما فقط می تواند آن را انجام بیش از اینجا. بنابراین در اینجا، من سه اما هشت لامپ، که هر کدام است سوئیچ خود را دارد. و به این ترتیب اگر من می خواستم برای نشان عدد هفت در اینجا، من ممکن است در این سه لامپ را روشن کنید. و در واقع، در داخل کامپیوتر من میلیون است، میلیاردها چیزهایی که فقط کوچکتر از آن، به نام ترانزیستور، سوئیچ ها، که شما فقط روشن و خاموش کردن. بنابراین این big-- نسبتا سوئیچ big-- داخل laptop-- من بسیاری از، بسیاری از، بسیاری هستند، بسیاری از سوئیچ است. اما همه آنها انجام شده است دقیقا که-- نوبه خود چیزی، به نوبه خود چیزی کردن. و به عنوان مثل، یک کامپیوتر می تواند نشان دهنده، با کسانی که میلیون ها و یا میلیاردها ترانزیستورها، مقدار زیادی و تعداد زیادی از صفر و آنهایی که. و سخت افزار های دیگر هنوز هم وجود دارد که به شما امکان ذخیره اطلاعات طولانی مدت، به طوری که وقتی شما را بکشد پلاگین، شما آن را از دست دادن نیست. اما این یک داستان برای یک روز دیگر است. پس چه می تواند ما را با این بیت انجام دهید؟ ممکن است ما فقط به فشار را از me-- ممکن است کسی می خواهید برای آمدن تا اینجا و ارائه یک نسخه ی نمایشی؟ من اولین بار این دست دیدم. نام شما چیست؟ مادای: مادای. دیوید مالان: آمادای در آمده است. از ملاقات شما خوشبختم. مادای: از ملاقات شما خوشبختم. دیوید مالان: بیا این طرف. من نمی خواهد که به شما لب است. خیلی خوب. بنابراین در اینجا، ما، notice-- یکی، two-- ما out-- ویرایش که یک، دو، چهار، هشت، 16، 32، 64، 128. این عمدی است. هشت بیت وجود دارد here-- باینری صفر digits-- و آنهایی که. و کمی یک واحد مفید از measure-- است به عنوان مفید نیست یک واحد اندازه گیری بر روی خود. معمولا شما می خواهید حداقل هشت نفر از این چیزها، a.k.a. یک بایت. بنابراین ما باید یک بایت از بیت اینجا. بنابراین اگر ما می خواستیم به شما را با چالش، به عنوان مثال، هجی کردن، در باینری، این مقدار here-- 42. آیا می خواهید به یک زخم زدن در که؟ مادای: [نامفهوم]. دیوید مالان: آره، فقط با فشار سوئیچ کوچک سفید در مقابل. و شما می خواهید به طلسم از 42، و برای grabs این استرس CS50 است توپ اگر شما این را دریافت کنید. خیلی خوب. بنابراین شما باید 32. ما نیاز به رفتن به 42. به طوری که هشت است، به طوری که 40. و excellent-- بسیار خوبی انجام می شود. متشکرم. [تشویق و تمجید] خیلی خوب. بنابراین ما باید یک توپ استرس بیشتر است. بیایید اگر ما ممکن است این بار بیشتر انجام دهد. یک داوطلب دیگر؟ توپ استرس رایگان، توپ استرس. خوب. در اینجا در وسط، آیا شما می خواهید به زمین بیاید؟ خیلی خوب. میدانم. ما میرویم آنجا. بنابراین اعداد here-- در پایین آمدن. اسم شما چیست؟ DAVEY: دیوی. دیوید مالان: دیوی. خوب. بیا تا دیوی. از ملاقات شما خوشبختم. و آنچه که ما در حال رفتن به شما spell-- اگر شما می تواند وجود دارد معطل فقط برای یک moment-- تعداد 50 است. اما، اما، اما، اما، اما، این آهن ربا مدرسه به یک دلیل. فقط کمی سخت تر، باشه؟ هنوز هشت وجود دارد. خیلی خوب. بنابراین چه چیزی ما را در وجود دارد؟ ما 32. خوب. 32 به علاوه 16 به ما می دهد 48-- خیلی نزدیک. و فوق العاده است. تبریک به دیوی است. [تشویق و تمجید] خیلی خوب. بنابراین ما می توانیم این مدت در تمام روز انجام، و این کار که خیلی بیشتر جالب و بیشتر به چالش کشیدن. اما این واقعا point-- این است که چگونه نسبتا ساده از آن است، در پایان روز، چه کامپیوتر می کند برای ذخیره اطلاعات، برای ذخیره داده ها و در نهایت ذخیره و یا نشان دهنده این خروجیهای. اما اعداد به تنهایی نمی که جالب است. بنابراین انسان، چند سال پیش، تصمیم گرفت، شما می دانید چه؟ خیلی خوب می شد اگر کامپیوتر شد و نه فقط ماشین حساب برای حساب عملیات، اما در واقع می تواند انجام کارهایی مانند پردازش کلمه، و یا ایمیل، و یا برداشت مدرن تر از این نوع از فن آوری. و به این ترتیب جهان تصمیم گرفت خودسرانه، اما جهانی، که اگر شما می خواهید برای ذخیره سرمایه حرف A در یک کامپیوتر، شما می دانید چه؟ اجازه دهید فقط همه دیدن همه موارد به ذخیره برخی از الگوی از صفر و آنهایی bits-- که در نهایت نشان دهنده عدد اعشاری 65. ما فقط می خواهیم همه در آن است. 66 را معرف B، 67 را معرف C، و مجموعه ای از الگوهای دیگر از وجود دارد صفر و آنهایی که، و یا شماره های زمینه ای، که نشان دهنده حروف دیگر هنوز هم. بنابراین اگر شما نوع ذهنی جذب این برای یک لحظه، من به عمد قرار داده تا از طریق من، که در آن H 72 و 73. اگر یک کامپیوتر پس از آن، در متن یک برنامه پردازش کلمه و یا یک ایمیل، نشان داد در زیر هود به این الگوهای الگوی bits-- از بیتهای 72، و سپس 73، پس از آن 33-- چه چیزی ممکن است این طلسم در این برنامه؟ بنابراین سلام و پس از آن چیزی. ما لزوما نمی دانم، اما در واقع 33-- در نمودار نمی earlier-- به سادگی یک علامت تعجب بود. بنابراین 72 ساعت بود، 73 من است، اتفاق می افتد 33 به علامت تعجب هنوز هم. اما این همه خوب و خوب است، و در واقع در حال حاضر، به جای فقط با استفاده از هفت یا هشت بیت، به لطف چیزی نام یونیکد به عنوان مخالف به ASCII در روز، ما در واقع می توانید حتی بیشتر نشان شخصیت های جالب از این اصلی حروف انگلیسی مغرضانه. اما ما همچنین می توانید حتی نشان همه چیز شسته رفته تر مانند رنگ. اگر شما تا به حال شنیده ام مخفف RGB، قرمز، سبز، آبی، که فقط به این معنی است که یک کامپیوتر معمولا با استفاده از سه مجموعه از bits-- برخی تعداد بیت است که نشان دهنده تعداد برای چه مقدار قرمز شما می خواهید، یکی دیگر از مجموعه بیت برای چقدر سبز شما می خواهید، و یکی دیگر از مجموعه ای برای چقدر آبی شما می خواهید. بنابراین تعداد زیادی معنی مقدار زیادی از قرمز، تعداد کمی به معنی هیچ قرمز است. و به این ترتیب این نوع از ارزش متوسط ​​است. بنابراین من برخی از قرمز را، به من بده سبز، و من کمی از آبی است. و اگر شما مخلوط این سه سایه از رنگ با هم، در این مورد، شما این سایه تیره از از زرد یا قهوه ای است. اما الگوی هشت به علاوه هشت به علاوه eight-- تا 24 bits-- چپ به راست، این است که چگونه یک کامپیوتر خواهد بود که رنگ خاص را نمایندگی کند. در حال حاضر این فقط یک نقطه بر روی صفحه نمایش است. اگر شما نگاه کنید واقعا در تلویزیون خود را نزدیک خود را کامپیوتر، شما نقطه و یا پیکسل ببینید. و اگر شما یک شبکه کل پیکسل، افقی و عمودی، شما تصاویر. و پس از آن اگر شما را یک تصویر و سپس شستشو خود تصویر دیگری را نشان می دهد، یکی دیگر از تصویر، تصویر، تصویر، واقعا سریع، شما البته فیلم. و به این ترتیب متوجه که در آن ما آغاز شده است. ما با این صفر و آنهایی که آغاز شده است. ما از آنجا کار می کرد به دهدهی اعداد، چگونه ما آنها را نمایندگی کند. در حال حاضر ما حرف از حروف الفبا. اما در زمینه های دیگر صبر کنید، ما می توانید استفاده کنید چند بیت بیشتر و نشان دهنده رنگ. به محض این که شما باید توانایی برای نشان رنگ، شما باید توانایی برای نشان عکس و تصاویر GIF انیمیشن و دیگر شخصیت های مانند بر روی صفحه نمایش. و هنگامی که شما یک دسته کامل از تصاویر پرواز توسط انسان در یک بار، آن را مانند تصاویر متحرک به نظر می رسد، و بنابراین شما فیلم نیز دریافت کنید. بنابراین با استفاده از این بسیار شکلهای هندسی اولیه ساده ما انجام می دهیم باید راه به نمایندگی در نهایت همه این اشکال از رسانه ها. و ما دوباره انتزاع ام و دوباره و دوباره، تا زمانی که ما از پایین ترین سطح این بالاترین سطح است. به طوری که ما می دهد این ایده کلی از انتزاع. اما ما در اینجا آغاز شده است. اینجا در حال حاضر، ما ممکن است نماینده در یک کامپیوتر ورودی ما با صفر و آنهایی که، خروجی ما در صفر و آنهایی که، اما آنچه می رود در داخل جعبه؟ که در آن کامپیوتر است علم جالب می شود. این جایی است که شما در واقع خود را به ارمغان بیاورد ذهن خود را به تحمل برای حل مشکلات. ما هم اکنون می توانید تصریح، برای بقیه ترم، بله. من می دانم که آثار چگونه دودویی. من به یاد داشته باشید که چگونه اسکی و یا Unicode-- نقشه برداری به letters-- کار می کند. و قطعا آن را می ایستد به همین دلیل است که ما می تواند نشان دهنده قرمز و سبز و آبی، و نشان دهنده های چند رسانه ای است. اما این چیزهای جالب است. این چیزی است که باعث می شود کسی قادر به حل مشکلات است. و یک مشکل مانند ما کاری انجام دهید، در واقع، در حال شکل گرفتن حضور و غیاب، و یا انجام این کار به صورت الگوریتمی. و دوباره، من ممکن است این کار را. من ممکن است یک، دو، سه، چهار انجام پنج، شش، هفت، هشت نه. و من می توانم آن را ارسال به پیگیری آن. اما این فقط چگونه من نشان دهنده اطلاعات است. یا من می تواند انجام این faster-- دو، چهار، شش، هشت، ده، 12، 14، 16، 18، 20، 22-- آن دو بار احساس می کند به عنوان سریع اما هنوز هم رفتن به کل بسیاری از زمان است. اما معلوم است، اگر ما هنوز اهرم یکی دیگر از رایانه های resource-- و در واقع این روزها پردازنده متعدد یا مغز. به نظر می رسد می توانید کامپیوتر انجام بسیاری از چیزهای در یک بار، و در واقع ما، در این اتاق، ممکن است دقیقا این را نمایندگی کند. بنابراین آن را کمی اجتماعی بی دست و پا، اما اگر شما به من طنز فقط برای یک فرایند سه مرحله ای، اجازه دهید من از همه می خواهم در محل وجود دارد فقط به ایستادن برای یک لحظه. ایستادن. بنابراین به خودتان فکر می کنم، شماره one-- تا هر کس در این اتاق، به جز مردم که نمی ملزم، به فکر شماره یک. به طوری که تعداد شما در حال حاضر است. این اولین گام است، و یا به عنوان یک دانشمند کامپیوتر یا یک برنامه نویس می به طور معمول انجام دهید، ما در حال رفتن شروع به شمارش صفر. اگر کوچکترین عدد ما می توانیم نمایندگی با کسانی که لامپ صفر است، تنها با ترک آنها همه خاموش، من نیز ممکن است فقط شروع به شمارش از صفر است به جای یکی. و به طوری که چه دانشمندان کامپیوتر انجام دهید. بنابراین گام صفر، ایستادن و از شماره یک است. گام بعدی this-- جفت است با جایگاه کسی و اضافه کردن شماره خود را با هم. فوق العاده است. بنابراین در این لحظه در زمان، به معنای واقعی کلمه همه شرکت به فکر شماره 2، به جز برای یک نفر عجیب و غریب اگر ما عدد فرد از افراد در اتاق. و در حال حاضر مرحله سوم در اینجا است که به شود this-- یک از شما باید بنشینند. یکی از شما باید به پایین نشستن، و اگر شما هنوز ایستاده، به مرحله یک. خیلی خوب. خیلی خوب. بنابراین مردم بیشتر و بیشتر باید نشسته. توجه کنید که این ناشی برخی از نوع چرخه loop--. برخی از شما باید به سختی گیر کرده است، رفتن به عقب و جلو بین یک گام و دو، یک و دو، یک و دو. این خوب است. اولین اشکال ما. ما با که رسیدگی کند. خیلی خوب. اجازه دهید به خار همه چیز همراه است. در تئوری، تنها یک نفر ایستاده است به عنوان هر کس ادامه به جفت کردن. اما اجازه دهید من همه چیز سرعت با مردم هنوز ایستاده. چه تعداد هستند شما را از فکر؟ 46. خوب. برو جلو و نشستن. شما بچه ها هنوز ایستاده. چه کسی هنوز ایستاده؟ چه تعداد هستند شما را از فکر؟ خوب. بنابراین ما به شما باز می گردد. در پشت؟ این چیست؟ 22. OK شخص دیگری تا top-- آره؟ 34. خوب. در اینجا در right-- من تا اینجا؟ 132، بسیار خوب است. 22؟ خوب. و چه کسی هنوز ایستاده؟ بیش از اینجا؟ 46، بسیار خوب است. 72. من نمی توانم بسیار طولانی متوقف. آره؟ 30، خوب است. بیش از اینجا؟ 23؟ 23. و من فکر می کنم که هر کس به جز شما بچه ها، هیچ فشار. صبر کن. 28؟ فقط هشت. خوب. فقط هشت. این پایین؟ 30. 23. 24. 18. این بدترین اجرا این الگوریتم از همیشه. خوب. بنابراین هر کس دیگری؟ هر کس دیگری؟ خوب. یکی بیشتر. 16؟ خوب. 16. خیلی خوب. بنابراین اگر من هر کسی که در از دست رفته است تابش خیره کننده در اینجا، وقتی که من آمار را وارد کنید، خواهیم دید، الگوریتمی است، تعداد کل مردم در سندرز. از آنجا دوباره، آن را به عنوان هر چند همه به عنوان شما می نشست، به تصویب رسید تعداد خود را خاموش به شخص دیگری، به شخص دیگری، به شخص دیگری، به طوری که در تئوری، در پایان، تنها یک بی دست و پا شخص باید سمت چپ ایستاده. اما این خوب است. ما همه چیز را به صورت دستی سرعت بالا. این به خصوص سخت به در این فضا است. و تعداد کل افراد ما فکر می کنیم در اینجا به 546 است. تعداد کل من تحویل داده شد توسط همراهان تدریس، که آن را انجام قدیمی مدرسه راه کند، 820 بود. [خنده] [تشویق و تمجید] این خوب است. بنابراین مطمئنا پس از آن، آیا این اشکالات وجود دارد. و این خوب است. و به این ترتیب فکر می کنم روی این اولین چیزی هم شما ارسال لزوما کار نمی کند. این برای من در اینجا نیز اتفاق افتاده است. اما اجازه دهید در حال حاضر در نظر ما چگونه ممکن است درخواست این همان ایده را به چیزی شما ممکن است دیده اند، قبل، که این here-- فن آوری مدرسه قدیمی است یک دفترچه تلفن واقعا بزرگ است. و فرض کنید که این دفترچه تلفن است 1000 صفحات و 1000 نام و شماره بر اساس حروف الفبا داخل آن است. خب، ما نوع می تواند اعمال مشابه ایده این مشکل بسیار فیزیکی، فقط با استفاده از من. من فقط نوع فریب خورده با اعمال نفوذ از همه شما با تعداد زیادی و تعداد زیادی از CPU های مختلف یا مغز اجرای برخی الگوریتم. اما اگر آن را فقط کمی قدیمی من، من هنوز هم می تواند اهرم که همان ماهیت یک ایده تقسیم و غلبه این مشکل دوباره و دوباره، به موجب آن نیمی از شما، نیمی از شما، نیمی از شما، نیمی از شما، از لحاظ نظری نگه نشسته، تا زمانی که ما مانده بود، به لحاظ نظری، فقط با یک نفر. بنابراین در این مدرسه قدیمی technology-- ما نمی نیاز به این map-- این فن آوری مدرسه قدیمی، ما ممکن است شروع به دنبال کسی دوست مایک اسمیت، یک صفحه در یک زمان. و من می بینم که هیچ، مایک نیست. من هنوز هم در بخش را بگیر. در نهایت، من خودم را در بخش B است. و این یک الگوریتم است گام به گام آموزش. شروع در صفحه شروع و یکی از در یک زمان، برای مایک اسمیت است. آیا این correct-- این الگوریتم یا روش؟ آره، آن را درست است. اگر مایک در اینجا، در نهایت من به او را بگیرد. اما آن را کارآمد می باشد. این بدیهی است که بسیار کند است. بنابراین من می تواند اهرم همان twosies نزدیک شود. من می توانم از دو انجام دهید، چهار، شش، هشت، 10، 12. آن را دو برابر سریع می باشد. من قصد دارم برای رسیدن به مایک سریعتر اگر او وجود دارد. آیا این درست است؟ بله، اما من هیچ little-- شنیده می شود. حالا من هیچ شنیده می شود. آره یک اشکال به طور بالقوه وجود دارد. شاید مایک فقط به طور تصادفی می شود ساندویچ بین دو صفحه، چون من پرواز را از طریق این دو در یک زمان. بنابراین حداقل ما نیاز به برخی نوع ثابت شرطی. من نیاز به گفتن، هی، اگر کسی که ضربه نام با یک T به جای یک S شروع می شود، من بهتر دو برابر حداقل یک صفحه. بنابراین حشره دار در ابتدا، اما ثبات پذیر. اما هیچ یک از ما در حال رفتن به نگاه مایک اسمیت از طریق یک تلفن 1000 صفحه کتاب یک صفحه در یک زمان. یک فرد عادی به کار چیست؟ شما در حال رفتن برای رفتن به S است، اگر شما می دانستید که در آن S است. شما ممکن است تقریبا به قرار میدن یا کمی نسبت به پایان اریب. و من این پایین نگاه کنید و من در بخش M است. اما چه چیزی می دانید در مورد این مشکل در حال حاضر، که ما لزوما قبل مطمئن شوید با همه ما تنها شمارش خودمان هم ارز؟ خب، مایک است به وضوح رفتن در این نیمی از کتاب باشد اگر او در اینجا در همه به دلیل آن را طبقه بندی شده اند. و به این ترتیب شما می توانید بسیار dramatically-- [نفس نفس زدن] میدانم. [تشویق و تمجید] این در واقع واقعا آسان است اگر شما آن را انجام در پایین ستون فقرات وجود دارد. اما بعد از آن شما می توانید پرتاب نیمی از مشکل است. حال حاضر، من با problem-- همان چپ پیدا مایک اسمیت در یک تلفن book-- اما در حال حاضر دفترچه تلفن شروع می شود در M و می رود به Z، اما آن را به عنوان نیمی بزرگ است. اما این چیزی است که قابل توجه است. درست مثل در تئوری، شما بچه ها، وقتی همه شما تنها نیمی نشست در یک زمان، مشکل نصف بزرگ کردم، نصف بزرگ، دوباره و دوباره. بنابراین این مشکل تبدیل شدن به مشکل اما نصف بزرگ است. در حال حاضر آن را یک مشکل 250 صفحه است. به محض این که من می دانم، آه، من در بخش T به طور تصادفی. من خیلی دور رفته است. من می توانم که نیمی پرتاب دفترچه تلفن است. حال حاضر، من را به یک هستم چهارم از این مشکل است. و شما می توانید تکرار، تکرار، تکرار تا زمانی که، در تئوری، شما سمت چپ را با فقط یک صفحه. و اگر مایک است در آن صفحه، من هم اکنون می توانید این مشکل را حل کند. اما چگونه به سرعت من آن را حل کند چه بود؟ در مورد اول، آن را به من مانند زمان شاید 1000 مراحل را پیدا مایک اسمیت. این ممکن است در نظر گرفته me-- من را برداشت دفترچه تلفن و شروع کردم به یک صفحه در یک زمان، و مایک ممکن است 1000 صفحه بعد. روش دوم شاید من طول می کشد 500 مرحله، چون من پرواز از طریق دو در یک زمان. و روش سوم هر چند، آن را به ویژه قدرتمند است. اما اجازه دهید چیزی است که ما در واقع در نظر با این رویکرد سوم است. من باید آنچه من فقط این پاسخ اظهارات اینجا، یکی در یک زمان. انتخاب کنید تا یک دفترچه تلفن. باز به وسط دفترچه تلفن. در نام کنید. و پس از آن همه چیز کمی فکری جالب تر، اگر هنوز هم ساده است. اگر اسمیت است که در میان نام در آن صفحه فعلی، پس از آن انجام کاری مشروط. آن را مانند یک چنگال را در جاده است. تماس با مایک. اگر مایک است که در میان نام در آن صفحه، به نام مایک. اما تنها خط چهار در صورتی که خط درخت، اگر شما خواهد شد، درست است. پاسخ به این سوال مثبت است. دیگری اگر اسمیت در book-- قبل از آن است به عبارت دیگر، اگر من در بخش M هستم و من به دنبال کسی برای سمت چپ، سپس آنچه که باید انجام چیزی بسیار شبیه است. پس من باید به وسط باز از نیمه سمت چپ این کتاب است. بنابراین در سمت چپ، و سپس به مرحله دو. در نام وجود دارد نگاه کنید. بنابراین به عبارت دیگر، انجام همان چیزی که، اما در یک مشکل که نصف شده است. شما چه چیز دیگری می دانید؟ اگر اسمیت بعد از آن در کتاب بر اساس صفحه من در، باز به وسط نیمه سمت راست از کتاب و سپس بازگشت دوباره به مرحله دو، else-- یک احتمال چهارم اینجا وجود دارد. مایک هم در اینجا یا به سمت چپ یا به سمت راست وجود دارد یا نه. و در اینجا ما بهتر این نظر بگیرند. و در واقع، اگر شما تا به حال کامپیوتر خود را فقط بر روی شما سقوط، که گاهی اوقات، اما نه همیشه، نتیجه فقط یک برنامه نویس انسان نیست تحقق، آه ساقه، وجود دارد در واقع این سناریو چهارم. و اگر شما کد ارسال نمی که مسئولیت رسیدگی به این سناریو، گاهی اوقات شما نمی دانید که آنچه که کامپیوتر ممکن است انجام دهد. و در واقع یک برنامه ممکن است سقوط. اما در این مورد، من فکر کردم در مورد آن، و به من گفت، دیگری ترک، به دلیل این که چهارمین سناریوی احتمالی منطقی است. در حال حاضر، اجازه دهید فقط اضافه برخی از واژگان بنابراین ما می توانید شروع به بازی شیر یا خط در اطراف شرایط که در غیر این صورت بسیار بصری. همه چیز من فقط برجسته به رنگ زرد در اینجا، من فقط رفتن به توابع و یا روش. آنها فقط نوع اقدامات است. طوری انتخاب کنید تا، باز به، نگاه در، پاسخ، باز، باز، quit-- این فقط اقدامات هستند، و یا ما آنها پاسخ به طور رسمی تر، توابع. در همین حال، در حال حاضر در زرد، من همه چیز را برجسته کرده ام که-- اجازه دهید فقط شروع به تلفن آنها شرایط و یا شاخه. این نقاط تصمیم گیری که در آن شما ممکن است این راه بروید، این راه، و یا برخی از جهت دیگر هنوز هم. بنابراین کسانی که خواهد شد شرایط. و در حال حاضر این یکی کمی خیال باف. بیایید به این پرسش پاسخ عبارات بولی، پس کسی که با یک نام خانوادگی بولی. و یک عبارت بولی فقط چیزی است که درست یا نادرست، آری یا نه. پس از آن درخواست که پاسخ شما را در مورد مراقبت از، تا که به در شرایط یک decision-- پشت پاسخ، و پس از آن به چپ و راست، و یا چیزی دیگری در دسترس نباشد. و سپس در آخر، این خطوط here-- بازگشت به مرحله دو، بازگشت به مرحله two-- ما می تواند پیاده سازی این ایده در روش های مختلف. و پس از آن کسانی که از شما با تجربه برنامه نویسی ممکن است انجام داده اند و یا می توانید تصور کنید انجام این کار متفاوت است. اما برای اهداف امروز، آن را فقط ایده که مهم است. این القا چه ما به طور کلی تماس بگیرید loop-- نوعی از چرخه، به دلیل آن را ساخت من دوباره انجام کاری. بنابراین در حال حاضر، اجازه دهید فقط نظر چقدر خوب این الگوریتم است. این درست است. اگر مایک در این کتاب، آن را یکی از آن چهار scenarios-- دوباره و دوباره و دوباره، ما او را پیدا کنید. اما چقدر خوب آن است؟ خب، ما لازم نیست به بیش از حد رسمی اینجا. اما اجازه دهید فقط رسم چیزی، x و y، برای به دست آوردن حس شکل این مشکل است. در محور x در اینجا این است اندازه مشکل است. و آنها یک محور y در اینجا خواهد بود که زمان را حل کند. بنابراین شاید این تعداد صفحات است. شاید این ثانیه است و یا صفحه turns-- هر چیز دیگری. با این حال شما می خواهید برای شمارش است چه این تصویر نشان دادن. و الگوریتم اول، من قصد دارم به عنوان فقط یک خط راست توصیف می کنند. اگر در N صفحات وجود دارد دفترچه تلفن، و سپس آن ممکن است به من به عنوان بسیاری از را به عنوان n مرحله را پیدا مایک. اگر ورایزون و یا شرکت تلفن اضافه می کند یک صفحه بیشتر در سال آینده، ممکن من را یک step-- یک واحد بیشتر از زمان برای پیدا کردن مایک. بنابراین فقط این یکی نسبت به وجود دارد. این یک شیب خط مستقیم است. در همین حال، که دوم الگوریتم اگر من رفتن دو در یک دو time--، چهار، شش، هشت، و یا double-- رفتن را از طریق صفحات دو بار در یک زمان، دو در یک زمان، آن را هنوز هم خط راست. در حال حاضر یک به دو وجود دارد نسبت، اما فقط یک کمی پایین تر است. بنابراین اگر این بسیاری از صفحات وجود دارد در نمودار در زرد، که ممکن است من این را بسیاری از مراحل و یا ثانیه، در غیر این صورت آن را به من دو برابر بسیاری از روی خط قرمز است. اما خط سبز غذای آماده واقعی است. این چیزی است که ما به طور کلی پاسخ ورود به سیستم logorithm-- از n که در آن n تعداد صفحات است. اما آن را به شکل که مهم است امروز، چرا که ما لازم نیست حتی در مورد توطئه امتیاز فکر می کنم. در مورد یک سناریوی شدید فکر می کنم. فرض ورایزون فردا دو برابر تعداد صفحات که در دفترچه تلفن، از 1000 به 2000. در الگوریتم اول، من ممکن است اضافی 1000 هدر مراحل دنبال مایک، فقط به خاطر ورایزون دو برابر اندازه این کتاب است. دوم الگوریتم ممکن من را اضافی 500 مرحله است. 1000 صفحات بیشتر، من به دو در یک time-- 500 گام های بیشتری را پیدا مایک. اما این الگوریتم سوم نوع جادویی است. ورایزون دو برابر تعداد صفحه از 1000 به 2000، اما چگونه بسیاری از مراحل بیشتر می کند من آن را به برای مایک نگاه می کنید؟ این فقط یک است، چرا که من فقط می پاره دفترچه تلفن یک بار دیگر از یک مشکل 2000 صفحه به 1000 مشکل صفحه، و voila. من نیش عظیم خارج از آن گرفته شده است. و اگر شما به واقعا شدید، فرض کنید که دفترچه تلفن شرکت چیزی دیوانه مثل حال یک دفترچه تلفن 4 میلیارد صفحه. خب چگونه بسیاری از مراحل ممکن است آن را به مایک اسمیت در یک 4 میلیارد دفترچه تلفن صفحه این عدد بزرگ است، اما فقط 4 میلیارد دلار برای 2000000000-1000000000 به 500 میلیون، 250 million-- هنوز برای تلفن های موبایل مانند اعداد بزرگ، اما من به سرعت هستم گرفتن به مقادیر کوچکتر. و در واقع، اگر من در انجام محاسبات ریاضی درست است، من تنها می تواند تقسیم 4 میلیارد تقریبا 32 بار قبل از من به فقط یک. بنابراین در صورتی که دفترچه تلفن 4 میلیارد صفحات طولانی، هیچ معامله بزرگ. در عرض چند ثانیه، شاید 32 ثانیه، من می توانم آن را به نصف تقسیم و در نهایت پیدا کردن مایک و یا نتیجه گیری کرد که او وجود ندارد. و ماهیت یک است الگوریتم یک الگوریتم خوب است. و که یکی از این اهداف یک کلاس مثل این، در تلاش است به شکل از چگونه من حل مشکل نه تنها به درستی، مانند من همیشه می دانستم چگونه آن را انجام یکی صفحه در یک time-- اما به درستی و به خوبی. چگونه طراحی خوب راه حل برای مشکلات؟ بنابراین اجازه دهید یک لحظه اینجا و شما احساس را در حال حاضر از CS50 دوره itself-- معرفی اعضای هیات چند دوره است. درست قبل از 2:00، ما یک استراحت کوتاه به طوری که کسانی که از شما که به خرید می توانید اردک و یک در برخی از کلاس های دیگر نگاه و تماشای بقیه این آنلاین. اما در حال حاضر، اجازه دهید من معرفی CS50، خود طبقه، و به ویژه آنچه جدید است. بنابراین بهار گذشته، ما صرف بسیار کمی از time-- کارکنان درس و I-- فکر در مورد آنچه در آن است که ما می خواهیم CS50 می شود، و رفتن به اول اصول، پس به صحبت می کنند، به نظر آنچه در آن است که ما می خواهیم این دوره به مانند نگاه و مانند برای دانش آموزان آن است. و بنابراین شما در مشکل مجموعه صفر و همچنین، یک دعوت نامه به نگاهی که URL که به طور خلاصه برخی انگیزه های پشت ویژگی های سقوط 2016 زیر است. به طوری که شما ممکن است جمع آوری شده از TL: جزوه DR، امروز برنامه درسی و همچنین از فروشگاه دوره، در این سال در CS50، شما فقط انتظار می رود شرکت today-- تا کار به خوبی done-- و آخرین سخنرانی در نوامبر 21. و به شما خوش آمد اما به انتظار نیست حضور این سخنرانی در وسط، زیرا آنچه که ما در حال انجام در این سال، در حال تیر اندازی در زمان واقعی مواد دوره است. بنابراین همه چیز خواهد ماند در حال حاضر و با آن تلفیق به عنوان بهترین ما can-- رویدادهای جاری و مکالمات است که مردمی ممکن است در صنعت داشتن در جهان است، اما ساخت که مواد در دسترس، به عنوان یک نتیجه، حتی earlier-- کامل با متن متن کامل و جستجو و لینک به دیگر منابع است. و در واقع، اس ام اس ادعا برای برخی از زمان و ما در حال حاضر این باور، که ما می توانیم ایجاد، دیجیتالی، همهجانبه بیشتر، قانع کننده تر تجربه آموزشی، به عنوان مخالف به جمع آوری در اینجا برخی از 23 بار در فرد، کسی مثل من از شنیدن به سادگی در مورد علوم کامپیوتر صحبت می کنید، به درگیر شدن فعالانه تر مخالف است. بنابراین شما در برنامه درسی دوره را ببینید یک طرح از ترم در اینجا، همراه با زمانی که سخنرانی شد فیلم برداری، که شما خوش آمدید، اما انتظار نمی رود، و زمانی که آنها را توان در وب سایت دوره را منتشر کرد. و آنچه ما در اینجا در انجام چهارشنبه شروع هفته آینده، بسیاری از نزدیک تر، با تنها آن مردمی که می خواهند به شرکت می کنند، یک پیاده روی به اصطلاح از طریق، که در آن من و سر درس در واقع همه چیز را کمی صمیمی تر اینجا در ارکستر بخش، هنوز هم برخی از فن آوری و راه رفتن را از طریق مجموعه ای مشکل هفته جاری، و به شما ارائه اگر در میان particularly-- کسانی که کمتر comfortable-- همه بیشتر راهنمایی است که شما ممکن است بخواهید یا نیاز به چالش هفته. و به همین ترتیب، برای کسانی که نمی توانند حضور آن در فرد، هیچ معامله بزرگ. وجود خواهد داشت به طور مشابه با رهبری یکی از کارکنان ارشد درس، Zamalya، همان فرصت های جاسازی شده در مشکل خود را تنظیم می کند. مجموعه مسائل در این سال خواهد شد در روزهای جمعه منتشر و نباید دیگر هفت روز بعد، اما 10 روز later-- عمدا با هم تداخل دارند با هر مشکل مجموعه، به طوری که به جای بهتر، ما امیدواریم که، جزر و مد در برنامه های دانشجویی، به ویژه هنگامی که انتخابات میان دوره ای یا دو و میدانی و یا دانشگاهیان و یا extracurriculars های تمایل به آمد و رفت به خصوص در اواسط ترم. که باید به شما بیشتر کمی اختیار که آیا شما جلو بار در هفته خود را با CS50 یا بار تماس آن را در آخر هفته زیر به جای. بنابراین به برنامه درسی دوره نگاه در اینجا برای برنامه آن. و شما متوجه خواهید شد بیش از حد در میان تغییرات در این سال، برای کسانی که آشنایی بیشتری با برنامه نویسی در گذشته، ما ترم به عنوان شروع ما امروز در ابتدا، تمرکز ویژه بر زبان به نام C، و سپس انتقال نیست به PHP، اما به یک زبان به نام پایتون نسبت به پایان ترم در زمینه برنامه نویسی وب، همراه با SQL و جاوا اسکریپت، HTML، CSS، و در عین حال بیشتر است. و در پاسخ به پرسش و پاسخ، آن را در واقع مورد که CS است به عنوان ترسناک من نه یک بار فکر آن بود، اما آن را به عنوان کار بسیار است به عنوان شنیده بودم آن ممکن است. اما این گویند که در اینجا برخی از آنها است آمار از پاییز 2015 دانشجویان، به موجب آن خطوط آبی افقی نشان دهنده متوسط ​​تعداد ساعات گزارش شده است. و شما به طور متوسط ​​از دیدن شش تا 10 به 12-- شاید 16 یا و غیره، اما با واریانس بالا روشن می شود. و به این ترتیب متوجه شده است که نه تنها وجود دارد دانش آموزان راحت تر و کمتر راحت در این دوره، اما پشتیبانی مربوطه ساختار به آن دسته از دانشجویان از طریق ترم موفقیت. در واقع، در پاسخ به پرسش و پاسخ، باید شما را به عنوان یک CS50 سال اول؟ کاملا. و در واقع، من پشیمان داشتن راه من یافت نشد و یا یک میدان جدید سال اول نیز هست. و باید شما را CS50 با دوره های دیگر، قطعا به عنوان well-- و توصیه های کلی ما ممکن است به دانش آموزان، که CS50 احتمالا نه از نوع کلاس یا کلاس مقدمه که شما باید با سه را دیگر و یا چهار کلاس تنظیم P است. اما اگر شما در حال گرفتن دو نفر دیگر P-مجموعه کلاس ها، چیز دیگری، و CS50، کاملا قابل کنترل است. من بسیاری از دانشجویان در داشته ام گذشته انجام داده است تا کاملا با موفقیت. و به شما نسبت به آن خط پایان موفقیت، sections-- کند البته آهنگ های مختلف برای دانش آموزان کمتر و راحت، راحت تر، و جایی در میان، به موجب آن در این دوره برای اولین بار مجموعه ای مشکل، شما خواسته می شود تا خود را توصیف می کنند. و اگر شما از آن دسته کمتر راحت، آن نوع از چیزی است که شما فقط به جای مطمئن شوید. و در واقع، شده است که در حال رشد جمعیتی در CS50 برای چند سال. همانطور که از پاییز گذشته برای به عنوان مثال، 58 درصد از کلاس خود را به عنوان توصیف در میان کسانی که کمتر راحت، با 9٪ در میان کسانی که بیشتر راحت، و پس از آن دانش آموزان دیگر وجود دارد در قرمز توصیف خود را به عنوان جایی در میان. و شما در اینجا موضوعات کلی را ببینید و برنامه از بخش، همه از آن در فرد ارائه شده، در زمان واقعی، با درس کارکنان شگفت انگیز از همراهان آموزش و البته دستیاران، که برخی از آنها شما در یک لحظه دیدار خواهد کرد. به ترتیب محبوبیت خود، به عنوان شما را ببینید، شود دوشنبه و سه شنبه و چهارشنبه، بنابراین به عنوان به شما اجازه می دهد به شیرجه رفتن در بعد از درگیر شدن، اگر شما تا را انتخاب کنید، در این دوره است سخنرانی پیش از آن هفته. و پس از آن ساعات اداری، که بدیهی است، با گذشت هر سال، هیچ کمتر از یک است به چالش کشیدن برای دوره. و این سال، ما در حال برنامه ریزی تنها به نگه دفتر hours-- یک در یک فرصت برای کمک به دانش آموزان در روزهای چهارشنبه پنج شنبه و یکشنبه، آخرین این در بعد از ظهر توسط طراحی برای کاهش برخی از تنش که همواره با اواخر شب مطرح می شود P-settting با یک ضرب الاجل looming-- اما ساعات اداری نیز عرضه خواهد شد در روزهای دوشنبه و سه شنبه و چهارشنبه و جمعه و شنبه، به لطف دوستان ما در HSA. CS50 در حال حاضر فضای خاص خود را برای دانشجویان و کارکنان CS50، بالای 67 کوه آبرن خیابان، سمت راست وجود دارد در میدان هاروارد. چشم انداز که که CS50 است TFS و CAS در طول هفته، بسیار طول بیشتر روز، وجود دارد برای حمایت شود. بنابراین اگر شما رو به برخی از سوال در P-مجموعه و یا شما احساس کمی مسدود شده و یا کمی گیج بود، و هک، شما یک ساعت کردم و یا نیم ساعت بین کلاس ها، به خصوص در square-- می تواند به شما پاپ در و به این سئوال پاسخ از سردرگمی clarified-- بسیار در روح، شما آشنا هستید، از ریاضی خود را مرکز سوالات ریاضی گروه، اما بسیار در سراسر ساعت در هر [؟ Gcal؟] که ما آنلاین ارسال خواهد شد. آموزش همچنین برای کسانی که در دسترس است دانش آموزان، آزادانه از درس کارکنان خود اگر شما می خواهم صمیمی یک در یک تر، یا دو یا سه همکلاسی تنها، کار با یکی از اعضای هیات دوره است. و در واقع، این در اینجا فقط برخی از اعضای هیات درس، چند نفر از آنها نظر شما دیدار در یک لحظه. در واقع، CS50 خود سر همکار آموزش، و البته سر دستیار و مربی، تواند در نهایت در آمده است، اجازه می دهد آنها برای گفتن سلام. [تشویق و تمجید] SPEAKER 1: [نامفهوم]. [تشویق و تمجید] SPEAKER 2: [نامفهوم]. [تشویق و تمجید] SPEAKER 3: [نامفهوم]. [تشویق و تمجید] دیوید مالان: و ما اجازه می دهد به را در هیئت مدیره دو از CS50 ترین کارکنان ارشد، راب و Zamayla است. [تشویق و تمجید] در واقع، هر دو راب و Zamayla با ما بوده است برای مدت طولانی، که من قادر بود برای رفتن به آرشیو CS50 را و پیدا کردن این SD بسیار فیلم از آنها شرکت در خود مرحله چند سال پیش. ROB: [نامفهوم]. [تشویق و تمجید] ZAMAYLA: [نامفهوم] [تشویق و تمجید] دیوید مالان: با تشکر از شما. بنابراین علاوه بر این اعضای تیم در اینجا، CS50 دارای یک تیم از نزدیک به 100 کارکنان، همه از آنها برای بخش های در دسترس خواهد بود و ساعات اداری و خیلی بیشتر. و به عنوان راب می گوید بیش از حد، این است تعمیرات اساسی مهم ترین از CS50 در 10 سال که من در [نامفهوم] بوده است. [نامفهوم] به خصوص متمرکز در ارائه یک ساختار پشتیبانی، پیرایش دور بسیاری از بخش عمده ای شده است که انباشته شده در 10 سال تحولات تکراری در مجموعه مسائل درس. بنابراین در این سال، نه تنها در کلاس اما همچنین در قالب مشکل درس مجموعه، باید به شما پیدا کردن چیزهایی به شود بیشتر ساده، صاف کننده، بسیار کنترل تر از در سال های گذشته، به عنوان ما ریخته برخی از مسائلی که در این توسعه یافته توسط طبیعت سال در حال تحول پس از سال و تکرار. بنابراین جدید و بهبود یافته امروز آغاز می شود. شما بیشتر از با هم ملاقات میکنیم کارکنان دوره در [نامفهوم] در 02:30، جایی که ما خدمت می کنند، به عنوان یک سنت، کیک. یک کیک کمی بیشتر وجود دارد از آن، اما شما ملاقات ارین و توبیاس و دیگران هنوز هم. و اجازه دهید من به شما بدهد یک تور قبل از ما می شنویم از برخی از دیگر اعضای هیات در کلاس، از آنچه انتظار است. در واقع، ما همیشه شروع CS50 را ترم این آینده شنبه، با آنچه به نام روز CS50 پازل. این هیچ ربطی به با علوم کامپیوتر در هر سه، اما با در مورد مشکل حل به طور کلی. و اگر شما را انتخاب شریک، در برخی از دعوت نامه، شما ممکن است را دیده اند، درب کاهش یافته و یا در مرحله در اینجا، آن را یک فرصت در تیم است از دو یا سه یا چهار، به شرکت برای پازل و پیتزا و جوایز و more-- این شنبه، در ارتباط باشید برای اطلاعات بیشتر. شما بیش از حد است که هر جمعه، در آتش و یخ، کند CS50 را تمام دسته از دانش آموزان به ناهار، به یک بزرگ کلاس احساس صمیمی تر، و به طور کلی گرد هم آوردن فارغ التحصیلان و دوستان از صنعت به بحث در مورد آنچه که آنها را از فارغ التحصیل تا بوده است. به طور مشابه، در این سال، آیا ما افتتاح اولین CS50 50 برنامه نویسی contest-- اواسط ترم فرصت اجازه می دهد تا همه در انتخاب کردن در اساس، به یک چالش عقل در برابر همکلاسی ها، دوباره در تیم های دو یا سه یا چهار، تنها با استفاده از برنامه نویسی زرنگ و دانا که شما پس از آن تحت دارند کمربند خود را تنها پس از شش یا هفت هفته از کلاس و شرکت در این نوع از رقابت online-- اگر شما می خواهم به سنگ تیز کردن خود را مهارت های همه بیشتر در این چالش است. در پایان ترم است به اصطلاح CS50 Hackathon-- فرصتی که در 07:00 آغاز می شود PM به پایان می رسد در 7:00 AM، و در طول راه 12 ساعت شب که در آن به شیرجه رفتن هستند به project-- نهایی درس یک فرصت برای طراحی و پیاده سازی هر چیزی از علاقه شما را با تدریس خود را راهنمایی همکار است. حدود 9:00 قاعدتا خدمت به پیتزا، 1:00 AM، فیلیپ، و تعداد کمی از ما که هنوز در 5:00 AM بیدار، شاتل هستند bussed پایین جاده به IHOP برای صبحانه. و سپس چند روز بعد در CS50 اصطلاح fare-- پایان نمایشگاه ترم در جشن که تا چه حد بسیاری از از CS50 دانش آموزان آمده هفته صفر تمام راه را به هفته، و با در نظر گرفتن 73 درصد از کسانی که همکلاسی ها و شما در این سال پیش از این هرگز یک کلاس CS گرفته شده است. در واقع، به همان اندازه مجددا تاکید، در اینجا چند چهره از کارکنان CS50 است. SPEAKER 4: [نامفهوم]. بلندگو 5: [نامفهوم]. SPEAKER 6: [نامفهوم]. SPEAKER 7: [نامفهوم]. بلندگو 8: [نامفهوم] SPEAKER 9: [نامفهوم]. SPEAKER 4: [نامفهوم]. SPEAKER 10: [نامفهوم]. SPEAKER 11: [نامفهوم]. SPEAKER 12: [نامفهوم]. SPEAKER 13: [نامفهوم] SPEAKER 14: [نامفهوم]. SPEAKER 13: [نامفهوم]. SPEAKER 15: [نامفهوم] SPEAKER 16: [نامفهوم]. SPEAKER 11: [نامفهوم] بلندگو 5: [نامفهوم]. دیوید مالان: برخی از تیم از خود می خرید کلاس. اما اگر آن دسته از اعضای کارکنان CS50 اینجا هستید، تواند در نهایت در می آیند را برای فقط یک لحظه. CS50 را TFS و CAS و [؟ کارکنان؟] اعضای here-- این ها فقط چند از یکی از faces-- از آنها شما فقط دیدم، و چند other-- و چند نفر دیگر هنوز. چرا ما پیش بروید و اجازه می دهد شما بچه ها یک استراحت پنج دقیقه. اگر شما به اردک نیاز به کلاس های فروشگاه، که خوب است. و در پنج دقیقه، ما از سر، در نظر گرفتن نگاه Scratch-- اولین زبان برنامه نویسی ما، دیدار کارکنان این دوره اینجا برخی بیشتر، و تمرکز در نهایت در مجموعه ای مشکل صفر است. بنابراین ما در پنج دقیقه. [تشویق و تمجید] خیلی خوب. بنابراین ما هستند. و در باقی مانده ما زمان امروز، هدف این است که به سطح زمین بازی از نظر برخی از اصطلاحات، از نظر برخی از ایده. از آنجا که در واقع، به عنوان در هر برخی از نمودار قبل از آن، در حال رفتن به طیف وسیعی از وجود دارد سطوح از تجربه در کلاس، که برخی از دانش آموزان گرفته شده برخی از برنامه نویسی قبل، که برخی از آنها ندارد. و به این ترتیب با این مشکل اول تنظیم و با این زبان اول ما فرصتی برای شروع باید به برای از امروز به بعد داده برخی از واژگان مشترک و ایده. و ما این را از طریق انجام اولین languages-- درس علاوه بر C و پایتون و جاوا اسکریپت و SQL و HTML و CSS، ما می شود تمرکز در ابتدا و فقط برای مشکل تنظیم صفر بر روی این زبان گرافیکی به نام خراش، توسعه یافته توسط دانشگاه MIT آزمایشگاه رسانه ای پایین جاده، برای کمک به دانش آموزان و بچه ها به ویژه بیان خود algorithmically-- در راه سازگار با آنچه ما ممکن است فکر محاسباتی پاسخ. و آن را یک زبان مفید است زیرا این بسیار به سرعت در هفته آینده در هفته یکی، ما به بیشتر انتقال زبان سنتی و محرمانه به نام C است، که کاملا متنی. شما فقط صفحه کلید خود استفاده در به منظور نوشتن دستورات مانند این بر روی صفحه نمایش. اما حتی اگر شما هرگز دیده می شود یک زبان برنامه نویسی قبل، فقط در نظر اجمالی در این، همه آن را مرموز، شما احتمالا می توانید حدس بزنید که احتمالا چاپ سلام جهان. اما در بسیاری از وجود دارد سربار نحوی وجود دارد. است که هش عجیب و غریب وجود دارد نماد یا هش تگ تا بالا. این براکت زاویه وجود دارد، برخی پرانتز، آکولاد، نیمه colon-- فقط آنقدر بصری وجود دارد نحو است که می شود در راه است. ما شروع دوره با ابتدا تا که به گذشته تمام کسانی که فکری حواس او را پرت غیر، و جای تمرکز بر روی ایده های. در واقع، این ممکن است قبل از. این، برای این، هفته باید پس از باشد. این، در این گرافیکی خراش زبان، است چگونه می توانید از همان پیاده سازی program-- برنامه ای است که هنگام اجرا، به سادگی سلام جهان می گوید. و چه خوب در مورد خراش است که این برنامه نویسی گرافیکی است محیط زیست که با استفاده از قطعات پازل یا بلوک، که تنها با هم در هم بافتن اگر آن را حس منطقی به انجام این کار. و با خراش می تواند به شما توسعه انیمیشن ها و بازی های تعاملی و هنر، و هر تعداد از چیزهایی که شما ممکن است در ذهن خود تصور کنید، و اجرای آنها به سادگی با کشیدن و رها کردن قطعات پازل. و در واقع، ما از توانایی به بیان برخی از ایده های مشابه که من تنها به ذکر یک لحظه پیش در زمینه مایک اسمیت و جستجو چیزهایی که یک تلفن book-- مانند توابع، فقط اقدامات، چیزهایی مثل حلقه که انجام همه چیز دوباره و دوباره، متغیرهای است که چیزی است که ما به معرفی، اما آن را آشنا شاید از algebra-- فقط نوعی از حفره یا سوراخ برای ذخیره برخی از ارزش شما ممکن است نیاز عبارات بولی later--، که در آن کسانی بله خیر و یا درست غلط سوالات از قبل. شرایط آن چنگال در می road-- آن شاخه پس به صحبت. و سپس برخی خیال باف وجود دارد ویژگی های ما حتی امروز خواهید دید، نام آرایه ها و موضوعات و حوادث، که سپس ما دوباره بیش از زمان به زبان های مختلف. اما ابتدا ما اجازه می دهد برای کشف همه از این. بنابراین در اینجا در ابتدا، این بنفش بلوک چیزی است که یک تابع است معمولا به مانند نگاه. این قطعه پازل بنفش است که برخی از کلمه ای مانند می گویند، که در آن عمل، و سپس آن را ممکن است داشته استدلال یا parameter-- برخی از راه از نوع سفارشی چه آن بلوک می کند به طوری که آن را پیش تعیین شده توسط نمی MIT این بلوک بنفش چه می گوید. در واقع، شما در یک دید لحظه ای که من قادر به تایپ کلماتی مانند سلام جهان، و یا سلام دیوید، یا سلام Zamayla، و یا هر آنچه من می خواهم، در استدلال به این پازل piece-- جعبه سفید آنجا. در همین حال، اگر من می خواهم یک حلقه، ما ببینید که قطعات پازل وجود دارد که نگاه یک پرتقال کمی شبیه به این. و شکل خود را از نشان می دهد که چیزی دوباره و دوباره اتفاق می افتد در یک چرخه. بنابراین اگر من سلام بلوک جهان می گویند بسته بندی با برای همیشه در ابتدا مسدود، آن را فقط به حفظ و گفت سلام جهان را برای همیشه، کاملا به معنای واقعی کلمه. در همین حال، یکی دیگر از وجود دارد نوع حلقه در ابتدا که ما تکرار see-- block-- که در آن، اگر شما در پیشبرد دانم چند بار می خواهید حلقه برای اجرای یک تعداد متناهی از بار در fact-- شما می توانید با تایپ کردن در یک عدد مشخص است که و یا حتی اتصال در یک متغیر، مانند x یا y همانطور که خواهیم دید. در واقع، متغیرهای مانند من در این مورد، که یک نام مشترک برای یک است متغیر عدد صحیح که فقط ذخیره می number-- یک عدد صحیح ممکن است، برای استفاده از این بلوک نارنجی در اینجا به مجموعه ای از یک متغیر مانند من به صفر. در اینجا یک مثال رنگ سبز یک است عبارت بولی در ابتدا. حتی اگر این به نظر می رسد مثل یک ریاضی فرمول، نابرابری ریاضی مثل این واقعا عبارات بولی هستند. این درست یا نادرست است. من کمتر از 50 است. آن را یا یک بله یا خیر جواب است یا پاسخ درست یا غلط. و ما به طور کلی پاسخ آن عبارات بولی. و آن را لازم نیست به 50. آن را می توانید x کمتر از Y باشد، بزرگتر است از ب، برابر y-- هر تعداد از دیگر پرسش ممکن است خواسته شود. در حال حاضر، در نگاه اول، این ممکن است نگاه به طور ناگهانی کاملا جسورانه اینجا، و آن است. اما مفهوم دانا، آن را بسیار آشنا از قبل. اگر x کمتر از Y است از می گویند به همان اندازه. دیگری اگر x بزرگتر است از y، پس بگو به همان اندازه. دیگری می گویند x و y برابر است. بنابراین ما باید یک مثال وجود دارد از یک scenario-- سوم تنها سوم possibility-- X است هم بیشتر از، کمتر از، یا مساوی. بنابراین ما باید یک چنگال سه راه در جاده ها است. و متوجه آنچه خراش here-- سرد است، به نظر می رسد، فقط یک پازل قطعه، در این مورد، در صورت بلوک دیگری. و در عین حال که به نظر می رسد به شما نشان می تنها یک چنگال دو راه در جاده داشته باشند. شما می توانید به سمت چپ یا راست، اما آنچه در مورد این سناریو سوم؟ چه اگر x y برابر؟ هیچ معامله بزرگ. نگاهی به یک قطعه پازل، قرار دادن یکی در داخل دیگری از آن برای ایجاد معادل معنایی از اگر، اگر دیگری، else-- و در حال حاضر شما اند و چنگال سه راه خود را در جاده ها است. و همانطور که خواهیم دید، در قطعات پازل خراش می توان کشیده و رشد، بنابراین به عنوان خودرا برای امتحان اماده چیزهای بیشتری در آنها است. شما لازم نیست که به تناسب همه چیز را در اندازه پیش فرض آن است. این چیزی است که ما خواهیم به زودی است یک آرایه به نام. آن را مانند یک list-- برخی از راه است ذخیره سازی قطعات متعدد از اطلاعات در یک متغیر، نه فقط یک عدد است. این ما یک نماینده از دیدن چیزی به نام چند نخ. در واقع، تمام خود را مکینتاش و رایانه های شخصی این روزها پشتیبانی چند نخ، که به معنی شما به معنای واقعی کلمه می توانید انجام کارهای متعدد در یک زمان. شما می توانید مایکروسافت ورد در دارند پیش زمینه، کار بر روی برخی مقاله. شما ممکن است یک مرورگر اند در باز پس زمینه G-ایمیل یا فیس بوک یا مانند آن. کامپیوتر شما می تواند کارهای مختلف انجام امروز به دلیل آن است چند رشته ای، و برنامه های آنها در در آن هستیم خاص نیز چند موضوع هستند. چیزهایی به نام وقایع را به عنوان وجود دارد به خوبی در جهان از ابتدا، و پس از آن یک راه وجود دارد بیش از حد، به خود تکه های پازل سفارشی ما اگر همه چیز در واقع در وجود ندارد. بنابراین اجازه دهید این انگیزه شرح زیر است. چند سال پیش، زمانی که من برای اولین بار کشف خراش، وقتی که من در واقع یک دانشجوی تحصیلات تکمیلی در دانشگاه MIT، ما خودمان را به مشق شب وظیفه شد. و من implemented-- که، در نگاه به گذشته، یک تصمیم بسیار ضعیف بود چرا که آن را آهنگ بدتر ترین در جهان برای گوش دادن به مدت هشت ساعت در حالی که مشغول کار بر روی homework-- خود را اما چیزی که من اسکار زمان به نام بود، که است که شاید یک آهنگ آشنا. CS50s خود اردن هایاشی، یکی از اعضای بیشتر ارشد ما، آن را برای 2015 به روز رسانی و در حال حاضر 2016، از پشت در روز، من همه چیز را به حال فقط رفتن به سطل زباله می تواند اسکار است. در حال حاضر ما بازیافت و کمپوست پشتیبانی می کنند. اما به رنگ تصویر از آنچه که ما اینجا می توانید انجام و برای ایجاد انگیزه برخی از نمونه سطح پایین تر، می تواند ما یکی دیگر داوطلب فقط در آمده تا و بازی برای اولین بار من تکلیف تا کنون است؟ بیا تا. نام شما چیست؟ هنری: هنری. دیوید مالان: هنری، در آمده است. بیا تا. سر راه، و شما در یک لحظه دید، من قصد دارم به جلو بروید و ضربه پرچم سبز در دست راست بالای صفحه گوشه، که به معنی است. نماد علامت توقف کمی در حال رفتن به می گویند توقف، و این که در زمانی که شما شروع و متوقف کردن برنامه است. از ملاقات شما خوشبختم. خیلی خوب. بنابراین ما قصد داریم برای مشاهده دستورالعمل بر روی صفحه نمایش در یک لحظه. و فقط با بازی این بازی برای چند seconds-- به من اعتماد، ما در حال رفتن به می خواهم به بازی تمام راه را به شما خواهد شد end-- یک حس از چه برنامه می کند. و بیش از فقط در هنری تمرکز خوب یا بد در این بازی، تمرکز بودن و چگونه آن را توسط من اجرا شد اصل و سپس با اردن. به عبارت دیگر، که در آن متغیرهای هستند؟ حلقه ها کجا هستند؟ توابع کجا هستند؟ و خواهیم دید که اگر ما نمی بینیم کسانی که در زیر هود. فقط کلیک کنید و سطل زباله را بکشید به بن مناسب است. [موسیقی] خیلی خوب. که بسیار خوب است. چرا ما آن را متوقف نمی وجود دارد. متشکرم. تبریک به هنری. متشکرم. [تشویق و تمجید] فقط اشکال زدایی که برنامه را تصور کنید. اگر یک مشکل وجود دارد دو در دقیقه ی song-- اما تا چه خبر است در اینجا واقعا؟ به عنوان به عنوان پیچیده ممکن شروع به نظر می رسد به مرور زمان، در واقع بیشتر و بیشتر چیزهای آغاز شده در حال سقوط، چه جالب در مورد این نوع از example-- و ما چند ببینید others-- است که اگر شما گذشته پیچیدگی نگاه کنید و یا پیچیدگی از این بازی، یک ساختمان بسیار ساده وجود دارد بلوک های که play-- همه از آن، اگر شما آنها را تقطیر به آن بلوک های ساختمان، بسیار در دسترس و پیاده سازی نزد خود. به عنوان مثال، آن را برخی از زمان بوده، اما من کاملا مطمئن چه من در ابتدا زمانی که ساخت این بازی برای اولین بار من به طور کامل مانند تعویق انداختند بود. من در تمرکز در همه منطق و یا تکه های پازل، من در گرافیک و یافته متمرکز پست های خیابانی و سطل زباله می تواند و همه از آن. اما کسانی که لازم بود مواد تشکیل دهنده در ابتدا. و یک بار من به پایان رسید procrastinating و تخمگذار از چارچوبی فراگیر است، من تصمیم گرفتم، اجازه دهید من فقط یکی را قطعه ای از زباله سقوط از آسمان است. و ما ابتدا ببینید از همه چیز به نام شخصیت sprites-- است که می تواند لباس های مختلف در آنها نگاه متفاوت است. و بنابراین من قرار دادن یک سطل زباله صحنه و لباس در یک جن مانند. و من فقط آن را مورد نیاز از آسمان سقوط است. و پس از آن معلوم است، خراش، مانند بسیاری از زبان های برنامه نویسی، از اعداد تصادفی و یا شماره فنی شبه تصادفی، به طوری که با کشیدن و رها کردن قطعات پازل خاص، من قادر به سطل زباله بود از سمت چپ آمده در ابتدا. و پس از آن زمان بعد از آن سقوط کرد، از سمت راست و سپس از وسط. و همه بازی نه تنها بود باید سطل زباله در حال سقوط از آسمان است. شما نمی تواند در آن نقطه و یا روی آن کلیک کنید. شما می توانید از سطل زباله می تواند باز نمی شود. شما می تواند هر چیزی را انجام دهد. اما آن را یک گام بچه بود به سمت چشم انداز نهایی است. و پس از آن، من در واقع اجرا نوعی سنجش از به طوری که اگر شما کلیک کنید و کشیدن بر روی قطعه ای از زباله بیش از سطل زباله می تواند، اسکار درب را باز و بسته. هیچ چیز به سطل زباله رخ دهد، اما حداقل درب را باز و بسته. بنابراین پس از بررسی، گام دو دو. و این همان چیزی است که برای رفتن به کلیدی در هر دو مشکل تنظیم صفر و در برنامه نویسی به طور کلی، این است که این اقدامات کودک بسیار عمدی. زیرا نه تنها آن را به شما اجازه می دهد تا احساس صادقانه انجام خیلی بیشتر quickly-- آن را بدترین چیز در جهان به تلاش برای اجرای همه اسکار زمان، پس از آن ساعت بعد ضربه پرچم سبز، و هیچ چیز کار می کند و انتظار می رود زیرا که در آن شما حتی شروع به اشکال زدایی و یا به عیب یابی که برنامه؟ این فقط خسته کننده باشد. و به این ترتیب واقعا پذیرش این ایده از برداشتن گام های کودک steps-- دوباره و again-- ایجاد چیزی است که، در پایان، واقعا چشمگیر و پیچیده است، اما در ابتدا، است تقریبا به همان اندازه است. در واقع، اجازه دهید این کار. اجازه بدهید به جلو and-- خود را خراش وجود دارد بر روی وب در Scratch.MIT.edu، و شما به عنوان گفت اندازه در مشکل مجموعه صفر، خصوصیات که در حال حاضر در وب سایت CS50 است. اما این چیزی است که با ناخن خراش است. و واقعا فقط وجود دارد سه حوزه اصلی است. در بالا سمت چپ وجود دارد مرحله به اصطلاح است. این خراش است. صحنه و لباس به طور پیش فرض یک گربه است. و این جهان مستطیل شکل است در که شما می توانید move-- بالا، پایین، چپ، راست و برخی چیزهای دیگر. در وسط در اینجا دسته ما و یا پالت ما از قطعات پازل، و رنگ های مختلف معانی متفاوت. و اگر شما بهم زدن در اطراف، شما خواهید دید چیزهایی مثل حلقه و شرایط و متغیرهای و مواد دیگر. و پس از آن بیش از اینجا منطقه اسکریپت است. این جایی است که من می توانم کشیدن و رها کردن آن قطعات پازل را انجام دهد. بنابراین اجازه دهید یک چیز مانند. اجازه بدهید به جلو and-- و من می دانم که در آن است. بنابراین من قصد دارم تا فورا با کلیک بر روی که در آن من می دانم که همه چیز آماده می شود هستند، اما اشاره و کلیک کردن و مجبور باشید اجتناب ناپذیر است. بنابراین، هنگامی که پرچم سبز کلیک، چه من می خواهم کاری انجام دهید؟ من قصد دارم به انجام این کار. من قصد دارم به کشیدن این بازی پازل بنفش قطعه، سلام به مدت دو ثانیه، و به من اجازه زوم. و من قصد دارم برای تغییر این به آنچه من می خواهم آن را به هستند-- سلام جهان به مدت دو ثانیه خوب است. در حال حاضر، من قصد دارم به کلیک بر روی پرچم سبز، و یا اگر من واقعا می خواهم، من پر می توانید آن را صفحه نمایش و سپس به پشت. این فقط حفظ خواهد کرد همه چیز را در یک پنجره. سبز flag-- سلام جهان. خیلی خوب. نه همه که جالب است. بنابراین اجازه دهید من به جلو و انجام این کار. اجازه دهید من یکی دیگر را امتحان کنید. هنگامی که پرچم سبز clicked-- اجازه چیزی شبیه به یک صدا. و توجه کنید که از جعبه به صورت رایگان شما صدای گربه، و جن پیش فرض است. بنابراین در حال حاضر من به جلو و ضربه پرچم سبز در حال حاضر. [را meowing] اوه. قابل تحسین است. من برنامه نویسی. پس آنچه که من انجام داده اند؟ این معادل یک برنامه است. این بدیهی است که فوق العاده ساده است. این واقعا همه که زیاد را تلاش و MIT بیشتر از کار را انجام داد، اما من یک تابع به نام است. من یک تابع استفاده کرده اند. من برخی از اقدام ساخته شده است، فقط با استفاده از که یک قطعه پازل بنفش. خب، اگر من می خواهم به انجام سه در یک ردیف meows با؟ اجازه دهید من به جلو و انجام دو و سه. و توجه کنید که در زمانی که شما شناور در نزدیکی یک قطعه پازل، یک خط کوچک سفید به نظر می رسد مرتب کردن بر اساس مغناطیسی، و آن را بشکن با هم زمانی که به شما اجازه رفتن. بیایید ببینید که چه اتفاقی می افتد. [را meowing] یک اشکال وجود دارد. من فقط یک صدای گربه را بشنود. چرا ممکن است؟ آره؟ آره ما واقعا آن را نمی شنوند، اما شهود خوبی است. آنها همه در همان زمان پخش. چرا؟ خب، کامپیوتر فقط رفتن به آنچه که شما آن را به انجام. بنابراین اگر شما می گویند، پخش صدا، پخش صدا، پخش صدا، اما شما آن را بگویید به بازی تا زمانی شما انجام می شود، بازی تا زمانی که شما انجام می شود، آن را به ضربه از طریق برنامه واقعا سریع و تنها آنچه شما آن را به انجام. بنابراین من در واقع نیاز به تعمیر این در از دو راه. من فقط می تواند این کار، خلاص شدن از این. اجازه بدهید من این پازل دیگر را امتحان کنید piece-- بازی صدای گربه صدا تا زمانی که انجام می شود، و سپس کشیدن سه تن از این و بازی کلیک کنید. [را meowing] این واقعا very-- نیست تشکر you-- بسیار طبیعی است. پس چرا اجازه نمی I-- من رفتن به کنترل در اینجا. خوب. صبر کنید یک ثانیه، و در حال حاضر اجازه دهید من به عقب برای تلفن های موبایل، و صدا بازی تا زمانی انجام می شود، و سپس اجازه دهید من یک ثانیه صبر کنید. و پس از آن اجازه دهید من بروید و یک بیشتر صدا، و اینجا ما بروید. [را meowing] کمی طبیعی تر است، اما این است که بسیار کارآمد می باشد. مانند من خسته شد، تمام می شود آن به طور خلاصه، کلیک کردن به جلو و عقب و واقعا تکثیر work-- من کپی بسیار و چسباندن. در واقع، اگر من کنترل کلیک یا راست کلیک، من می توانستم فقط کپی و جا به جا. چه خواهد بود بهتر ساخت استفاده کنید؟ چه ایده از قبل؟ آره، بنابراین یک حلقه. و در واقع، اگر ما در اطراف برخوردی خشن روبرو، ما ممکن است دقیقا همان است که پیدا اجازه دهید من به رویدادها و یا به جای کنترل است. بنابراین repeat-- من نمی خواهید آن را به 10 بار. که برای به دست آوردن آزار دهنده سرعت. اما من سه بار تکرار کنید. به من اجازه رفتن به صدا و بازی صدا تا زمانی که آن را انجام داده. به من اجازه رفتن به کنترل و فقط صبر کنید یک ثانیه. و توجه کنید، شما ممکن است فکر می کنم آن را متناسب نیست، اما دوباره اگر شما آن را اجازه مغناطیسی ضربه محکم و ناگهانی در محل، آن رشد خواهد کرد به پر کردن آن. چه چیزی آن را بازی در حال حاضر؟ [را meowing] خوب. خوب. و این چیزی است می شود به نام برنامه ای است که هم درست است. این meowed سه بار نسبتا به طور طبیعی، اما بهتر است طراحی شده است. من با استفاده از افزونگی کمتر. من را کپی کنید و هر چیزی وارد کنید. من فقط یک ایده بهتر استفاده می شود. در حال حاضر، این است که هنوز نه همه که جالب با خراش انجام نمی هر چیزی. بنابراین اجازه دهید دیگری به جای انجام کاری. بیایید برای همیشه انجام کاری. و شما می دانید چه؟ حرکت جالب به نظر می رسد. بیایید او را به حرکت 10 مراحل و در حال حاضر آمار بازی. خوب. خوب ما می توانید نوع کشیدن او را به عقب، و او هنوز هم در حال اجرا به خاطر او را برای همیشه انجام این کار. بنابراین حلقه در حال انجام است چه آن را از ما برای انجام، اما این تمام چیزی است که جالب نیست. بیا انجامش بدیم. اجازه دهید من اضافه کردن یک بلوک کنترل، و با استفاده از یک از این شرایط برای اولین بار. بنابراین آن را به حرکت 10 steps-- 10 نقطه، 10 پیکسل در screen-- سپس آن را به این سوال را بپرسید. اگر چیزی درست است، پس از آن انجام چیزی در درون این بلوک. پس از آن معلوم سنجش است یک کل دسته از expressions-- بولی پرسش از بله خیر و یا درست نادرست form-- اجازه دهید من این کار را. اگر touching-- و سپس وجود دارد این قطره کوچک پایین منو. من می توانم آن پارامترها. اگر از دست زدن به edge-- اجازه دهید انجام کاری که می خواهم. بنابراین اگر دست زدن به edge-- به من اجازه رفتن به حرکت. و به همین دلیل ما نه تنها به نوبه خود در حدود 180 درجه؟ خیلی خوب. بنابراین برای همیشه، حرکت 10 مرحله. اگر شما در حال لمس کردن لبه، به نوبه خود 180 درجه است. و این پایان برنامه نه دلیل این که شما در یک هستید برای همیشه مسدود، طوری که آن را دوباره برای رفتن و دوباره و دوباره و دوباره. بنابراین اجازه دهید که چه اتفاقی می افتد. خوب. حشره دار کوچک، اما نوع سرد است. و ما می توانیم به این اضافه کردن برخی از چیزهای احمقانه که نه همه که فکری جالب هست. اما اگر ما ضربه این کمی میکروفون button-- آخ. اجازه بدهید من این را پاک کردن. اجازه بدهید من این افزایش به عنوان آنها را در تلویزیون می گویند. تمیز که، ذخیره، و در حال حاضر تا اسکریپت است. و در حال حاضر، به من اجازه رفتن به صدا. اجازه بدهید من آن یک نام بدهید. من این واخ تماس بگیرید. و در حال حاضر واخ صدا بازی کند. توجه داشته باشید آن را در به نظر می رسد قطره کوچک پایین منو. بیایید ببینید. [OUCH] [خنده] اما ما می توانیم تی خود را در پرواز را تغییر دهید. ما می توانیم دو برابر آزار دهنده است. [OUCH] و یا اگر ما آن را مانند 1000 گام در یک time-- خوب. بنابراین ما قصد داریم به ترک است که یکی به تنهایی. پس دوباره، ساخت و ساز من blocks-- آغاز شده با چیزی فوق العاده ساده، و پس از آن یکی از ویژگی های، یکی از ویژگی های، یکی از ویژگی های. و من دیگر نیازی به نگرانی در مورد چگونه برای اولین بار از این ویژگی که من همچنان به اجرا گذاشته شد به لایه چیز در بالای صفحه. پس در واقع، اجازه دهید من یکی دیگر اینجا انجام دهید. اجازه دهید من به جلو و باز کردن یک فایل که من در پیش آورده، به نام گوسفند. پس از آن تا کمی متفاوت شخصیت است که به نظر می رسد مثل این. و به من اجازه اگر من نمی تواند انجام کاری با استفاده از یک شمارنده در این case-- یک متغیر به اصطلاح. من قصد دارم به جلو بروید و تحت Events-- اجازه دهید من یک پرچم سبز کلیک. سپس اجازه دهید من به داده ها، که من می دانم رفتن از فقط بازی در اطراف قبل، است که در آن متغیرها. و من قصد دارم به جلو بروید و کشیدن این. بنابراین یک متغیر به نام ضد، و من قصد دارم به آن را مقداردهی اولیه به صفر است. من می توانم آن anything-- X تماس بگیرید و یا y یا z-- اما در برنامه نویسی، تماس چیزی در یک معنایی راه مفید، مانند ضد، که توصیف آنچه در آن است، آن را خیلی آسان تر به خواندن کد خود را بعد. اجازه دهید من جلو بروید و ای ابدی، در اینجا را مسدود کند. و اجازه دهید من به نظر می رسد به صفحه و انجام یک بلوک می گویند. اما آنچه جالب در مورد متغیرهای من است لازم نیست که فقط در چیزی تایپ مانند سلام جهان، که ما در حال حاضر انجام می شود، من به جای می تواند به داده رفتن و کشیدن متغیر من، و حتی اگرچه شکل کاملا نیست شبیه آن باید مناسب، آن رشد خواهد کرد به پر کردن آن. و من فقط می گویند که برای مقابله با یک spoiler-- second-- او به حساب می کنند. ما آن را برای یک ثانیه است. سپس من قصد دارم برای رفتن و او برای یک ثانیه صبر کنید، پس از آن به حساب نمی تا بیش از حد سریع می باشد. و سپس در آخر، تغییر ضد توسط one-- به عبارت دیگر، افزایش شمارنده توسط یکی ارزش اضافی و انجام این کار برای همیشه. تا گوسفند بیش از حد، مانند یک برنامه نویس، شمارش از 0. و اگر ما صبر به اندازه کافی بلند، او به این همیشه انجام دهید. اما این دقیقا درست نیست، زیرا در واقع، به عنوان ما در هفته یک کشف، اعداد صحیح و کامپیوتر به طور کلی، از لحاظ فنی فقط یک finite-- خوب، نه کامپیوتر، که آنها نشان دهنده اعداد صحیح، تنها تعداد محدودی از بیت. این لامپ وجود دارد تنها می توانید تعداد دفعات بسیار بالا قبل از شما از لامپ است. و یک کامپیوتر بیش از حد، تنها دارای حافظه بسیار، تنها تا به بسیاری از ترانزیستورها، پس از آن تنها می توانید تعداد دفعات بسیار بالا. بنابراین معلوم است که گوسفند، من فکر می کنم، می توانید به 2 میلیارد به حساب و یا چیزی بسیار بزرگ است. بنابراین ما در حال رفتن نیست منتظر این اتفاق می افتد. اما در نهایت برخی از اشکال اتفاق خواهد افتاد است که می تواند برخی از جهان بسیار واقعی انشعابات. اما فراتر از گوسفند، که فقط معرفی یک متغیر است. اجازه دهید به جلو و باز کردن چیزی است که من در پیش ساخته در اینجا به نام پت Cat-- حیوان خانگی گربه بیش از اینجا. و متوجه اینجا آن را چند بلوک، اما زمانی که پرچم سبز کلیک برای همیشه انجام موارد زیر است. اگر شما در حال دست زدن به موس اشاره گر به طوری که مکان نما بر روی صفحه نمایش، بازی arrow-- صدای گربه صدای و سپس صبر کنید دو ثانیه. و تنها این کار را برای همیشه. فقط به طور مداوم صبر برای دیدن اگر اشاره گر در صورتی که گربه است دست زدن به اشاره گر. بنابراین من ضربه بازی. هیچ چیز اتفاق می افتد. اما همانطور که حرکت مکان نما بر روی گربه، [را meowing] و اگر من آن حرکت به دور، نه نوازش گربه دیگر. بنابراین برخی از منطق شرطی تو در تو در داخل یک حلقه. چگونه در مورد این مثال، عمدا نام آیا گربه حیوان خانگی نیست؟ چه این کاری انجام دهید؟ [را meowing] چرا باید گربه شما حیوان خانگی نیست؟ [را meowing] خوب. بنابراین این یک مثال از یک اگر دیگری است. این یک نقطه تصمیم و به دلیل آن را در حلقه نشسته، آنها هر دو کار بررسی می شود. آیا این درست است؟ آیا این درست است؟ آیا این درست است؟ آیا این درست است؟ و در نهایت، یکی از آن است که به درخواست و بنابراین شما بشنوم صدای گربه و یا سر و صدا از شیر در این مورد. خوب، اجازه دهید انجام یک کمی فانتزی تر که من در پیش too-- موضوعات ساخته شده است. بنابراین موضوع تنها یکی چیزی که یک کامپیوتر می تواند انجام دهد. بنابراین یک برنامه چند رشته ای یک برنامه است که می تواند چیزهایی متعدد در یک بار انجام دهید. و همه ی این مثال تا کنون داشته اند فقط یک اسکریپت، پس به speak-- یک برنامه این مثل تا اینجا. اما متوجه این برنامه دارای دو جن، دو شخصیت است. یکی یک پرنده است. یکی یک گربه است. و متوجه زمانی که من در این پایین کلیک کنید سمت چپ، آنها هر کدام اسکریپت خود را و یا برنامه های مرتبط با آنها. و هر دو از آن برنامه، اطلاع، شروع با clicked-- پرچم که سبز اجازه دهید در cat-- نگاه وقتی پرچم سبز کلیک. و به این ترتیب در واقع، زمانی که من آمار پخش، دو چیز در حال رفتن به رخ در یک بار. گربه و پرنده هر دو رفتن به طور همزمان برای ایجاد این اثر. و شما ممکن است تصور کنید چه اتفاقی می افتد. یک حلقه و پرنده وجود دارد و گربه در یک حلقه می باشد. پرنده فقط قوی مانند من قبل از وقتی که من گفتم آخ بود. اما گربه به وضوح یک مزیت است. مسدود سنجش دیگری وجود دارد که اشاره به عمد گربه به پرنده در این مورد است. بنابراین ما می تواند کسی را دست انداختن از هم جدا، با نگاه از طریق آن بلوک، چه اتفاقی می افتد. اما عنصر کلیدی در اینجا است. پرنده، به طوری که این بازی نه به طور کامل boring-- یا این animation-- در یک جهت تصادفی شروع می شود. و کامپیوتر است چیدن یک عدد بین 90 و 180 اساسا، به طوری که آن را کمی انیمیشن های مختلف در هر زمان. و سپس در اینجا متوجه، اگر گربه از دست زدن به پرنده، پس از آن بازی شیر چهار sound-- سر و صدا. اما در همین حال در پرنده پالت، ما باید این. برای همیشه لطفا برای، اگر دست زدن به گربه نیست، فقط نگه داشتن در حال حرکت در سه مرحله. و سپس در اینجا یکی دیگر قطعه پازل است. اگر شما بر روی لبه هستید، گزاف گویی. بنابراین پرنده است فقط نوع minding کسب و کار خود را دارد، فقط پرواز در اطراف و تندرست، و آن را واقعا گربه که تا به حال منطق شرطی برای تعیین اگر آن پرنده را گرفتار کرده بود. خیلی خوب. بنابراین اجازه دهید یکی دیگر اینجا، این یکی به نام سلام سلام سلام. و این یکی در اینجا فقط می کند این در همیشه حلقه. اما notice-- چگونه ما را متوقف این برنامه بسیار آزار دهنده است؟ ضربه نوار فضا. چرا که اگر من انجام این کار، program-- دست چپ متوجه آن به طور مداوم listening-- مطبوعات فضای کلید است. اگر از نوار فضا فشرده، و اگر چنین است، چه کاری انجام میدهد؟ آن را یک روش بسیار رایج است. این مجموعه یک متغیر به برخی ارزش برابر است. اما آن پستی که ارزش. [؟ بنابراین ظاهر؟] بر اساس من shape-- یک متغیر است که من در پیش نوشت که نادیده گرفته شد، که فقط می گوید: بله یا نه. آیا این صدای خاموش یا نه؟ درست یا غلط؟ و توجه کنید، من گفت: this-- اگر خاموش صفر است، پس از آن به یک تغییر دهید، دیگری به صفر قطع آن تنظیم شده است. پس فقط از صفر به یک تلنگر ارزش. من می توانستم آن را تغییر دهید done-- از دو تا سه و 01:57 یا چهار به پنج یا 4-6. اما مهم نیست چه تعداد من استفاده کنید، تا زمانی که من در حفظ و تغییر آن مخالف است. و از همه هر برنامه نویس را فقط را انتخاب کنید صفر و one-- نادرست و درست، و است-- برای نشان دادن این. و این است که هنوز هم در حال اجرا. اگر من ضربه نوار فضا دوباره [SEAL برای تلفن های موبایل] این برنامه هنوز در حال اجرا. از آنجا که این اسکریپت دیگر وجود دارد که می گوید، برای همیشه زیر را انجام دهید. اگر متغیر خاموش برابر zero-- بنابراین اگر شما خاموش نیست logic-- است اگر آن را نادرست یا نه، پس از آن بازی های صوتی، چرا که شما خاموش نیست. شما باید صدا بازی و پس از آن فکر می کنم سلام سلام سلام به مدت دو ثانیه و سپس صبر کنید، و آن را دوباره و دوباره و دوباره. و به این ترتیب در این راه ما باید راه را برای مردم to-- برای برنامه را به تعامل. و آنها لازم نیست به عنوان به عنوان دیگر به تاریخ. در واقع، مجبور around-- بدون جناس intended-- کسی که یک مقدار زیادی از صرف زمان را بر روی اینترنت پیاده سازی PokemonGo در ابتدا. حتی به شما می geolocates در کمبریج یا Allston اینجا. بنابراین اگر شما می خواهید برای دیدن بیش از حد چه مردم می توانید انجام دهید this-- منوی بسیار فانتزی است. با کلیک بر روی اینجا. این من با کلید های arrow من در حال حاضر. من قصد دارم بعد از این برای رفتن. کلیک. و در حال حاضر شما در PokeBall کلیک کنید. منظور من، من فکر می کنم شما قرار است به کلیک بر روی PokeBall. خیلی خوب. بنابراین من که. من می توانم بیش به اینجا بروید. و این شخص اجرا بیشتر PokeBalls بیش از here-- سه PokeBalls. ما یک لینک به این پست خواهیم آنلاین، بنابراین شما می توانید بازی. اما توجه کنید فقط وجود دارد برخی از بلوک های ساختمان های اساسی. به نظر می رسد بسیاری خیال باف، و آن است. این قابل توجه و بیشتر است از ما که به طور معمول انتظار می رود، قطعا برای مشکل تنظیم صفر است. من هیچ ایده چه مدت این شخص صرف آنلاین. اما این همه فقط یک حلقه است. یک پخش صدا وجود دارد. برخی از نوع حلقه وجود دارد گوش دادن به اینکه آیا من هستم هدف قرار دادن فلش بالا یا پایین arrow و یا چپ و راست، و پس از آن اگر چنین است، آن را در حال حرکت برخی از آن تعداد پیکسل. و آنوقت من با کلیک بر روی جن دیگری است، وجود دارد نوعی از اگر بیماری وجود دارد. آره، این است که بیش از حد شدید. ما قصد داریم برای جلوگیری از. آن همه کسانی که بلوک های ساختمان اصلی است. هیچ مواد تشکیل دهنده دیگر دیگر وجود دارد از آنهایی را که ما در حال حاضر نگاه شده است. و با این حال در اینجا، به من اجازه انجام یک مجموعه نهایی از نمونه که رنگ یک عکس بیش از حد از آنچه شما در اینجا می توانید انجام دهید. در اینجا یک برنامه بسیار ساده است که فقط می کند this-- سرفه، سرفه، سرفه. و تنها بر اساس آنچه ما در دور نگاه کرد، که در آن آشکار است فرصت را برای بهبود. این برنامه درست است. این سرفه، سه بار، که چیزی است که من در نظر گرفته شده. اما آن را ضعیف اجرا شده است. آن را به شدت طراحی شده است. چرا؟ آره این یک حلقه نیست. و آن را بسیار نیست که این یک حلقه نیست، آن است که در بسیاری از افزونگی وجود دارد. کپی وجود دارد و کد جا به جا، پس به صحبت می کنند. و راه حل احتمالا در واقع یک حلقه. بنابراین اجازه دهید من به جلو بروید و بهبود بخشیدن به که. و من قصد دارم به کشیدن این بیش از اینجا. اجازه دهید من جلو بروید و از تکرار بلوک، این تغییر به سه. من قصد دارم به دور انداختن برخی از آن بلوک. و شما متوجه خواهید آن را بسیار بصری. شما کشیدن و رها کردن و چیزهایی به نظر می رسد و ناپدید می شوند در نهایت. و من فقط می تواند این را بکشید در اینجا، و در حال حاضر من یک نسخه پاک کننده هنوز هم. اما میدونی چیه؟ است این فرصت وجود دارد در حال حاضر برای abstraction-- برای شروع به تعریف واژگان جدید که MIT پیش بینی نیست. وجود دارد صبر و تکرار و برای همیشه و اگر، اما اگر من می خواهم به شما معرفی سرفه کلمه به عنوان یک بلوک. اگر من می خواهم یک قطعه پازل هدف که در زندگی این است که سرفه؟ خوب، اجازه دهید در این نسخه نگاه در اینجا، که من ساخته شده به شرح زیر است جادویی، من ایجاد کرده است این قطعه پازل در اینجا، که ابتدا اجازه می دهد تا شما را به انجام. و در واقع C و پایتون و جاوا اسکریپت می رفتن به شما اجازه می دهد برای انجام این کار است. شما می توانید سفارشی خود را ایجاد کنید قطعه که شما پاسخ آنچه شما می خواهید. در این مورد، سرفه احساس می کند مانند یک تعریف مناسب. و پس از آن با این قطعه پایین در اینجا می توانید تعریف می کنید معنای آن چیست. من کشیده و از کاهش یافته است این پالت here-- بیشتر blocks-- این بنفش بزرگ بلوک، جایی که من در سرفه تایپ به عنوان نام قطعه پازل جدید من. و پس از آن من گفت: هر زمان که کاربر خواستار این قطعه سرفه پازل جدید، انجام می گویند و یک صبر کنید. و به همین ترتیب تا اینجا در بلوک تکرار من، من فقط می تواند سه بار سرفه. و می توانم بگویم، به خصوص اگر در حال حاضر شما این جزئیات را پنهان. چه کسی اهمیت میدهد چگونه سرفه اجرا شده است؟ من در مورد مراقبت از به عنوان یک برنامه نویس که من می توانم سرفه. برای من مهم نیست چگونه می گویند اجرا شده است. من فقط مراقبت است که گربه می تواند چیزی می گویند. من می توانم انتزاعی دور که جزئیات و تنها در آنچه که بر روی صفحه نمایش در اینجا تمرکز می کنند. اما من می توانم این یک قدم بیشتر است. توجه داشته باشید که در اینجا، من اجرا حلقه سه بار. اما اگر به جای من این نسخه گرفتن؟ و اگر به جای در این نسخه در اینجا، من فقط تغییر قطعه پازل را به من یک استدلال و ورودی به خودی خود؟ و ورودی می تواند یک عدد مانند سه. بنابراین در حال حاضر، اگر من نوشتن یک برنامه هستم و من می خواهم به گربه به سرفه، من در واقع می توانید پازل به قطعه چند بار به سرفه، زیرا در پایین در اینجا، یک خیال باف نسخه از این قطعات پازل سفارشی به من اجازه مشخص است که سرفه واقع طول می کشد input-- استدلال مثل این طول می کشد. و شما می دانید چه؟ شاید من متوجه، یک دقیقه صبر کنید. سرفه same-- است آن را اساسا این ایده همان عطسه. این فقط یک مختلف کلمه بر روی صفحه نمایش. من می توانم انتزاعی دور بیشتر و پیاده سازی این نسخه نهایی سرفه، که در نگاه اول راه پیچیده تر دنبال می شود. اما متوجه آنچه من انجام داده ام. من در حال حاضر generalized-- genericized really-- این قطعه پازل به نام حرف n بار. و در حال حاضر من دو قطعه پازل جدید اینجا سرفه n بار تعریف کنیم. و چه تابع سرفه انجام دهید؟ من قطعه پازل سفارشی چیست؟ این فقط تماس های بلوک بگو، به عبور در کلمه من می خواهم بگویم، عبور در تعداد بار من می خواهم بگویم. از آنجا که در حال حاضر من می توانید پیاده سازی عطسه به سادگی گفت achoo، در این مورد، برخی از تعداد بار. و بنابراین من لایه بندی و لایه بندی. و دوباره، کلیدی در اینجا است چگونه من آن را اجرا، اما این واقعیت که اگر من فقط به معنای واقعی کلمه حرکت این کردن صفحه نمایش، نگاه کنید که چگونه ساده اگر نه بسیار برنامه من در حال حاضر به نظر می رسد. از آنجا که آن چه آن را می گوید، من انتزاع را دور آنچه که در داخل آن جعبه سیاه و سفید. آن اتفاق می افتد یک جعبه بنفش در اینجا، اما من مانع به دور آنچه در داخل چون برای من مهم نیست چگونه کار می کند. من فقط در حال حاضر که کار می کند مراقبت. و در واقع، در مشکل صفر، این دقیقا همان نوع لایه بندی از ایده های شما خواهید فرصت برای کشف کرده اند. این دقیقا این فرصت را به را اعمال روش های حل مسئله، به آنچه که احتمالا محیط نا آشنا. و اینکه آیا شما برنامه ریزی ام قبل یا قبل از برنامه ریزی، شما پیدا کردن وجود دارد که یک چیزی کمی در این محیط برای همه. و با مشکل تنظیم در زمان یک هفته، ما می شود به تمرکز انتقال در یک زبان سطح بالاتر به نام C-- و یا به جای پایین تر زبان سطح به نام C-- که حتی بیشتر قدرتمند، حتی اگر آن را کمی بیشتر مرموز در نگاه اول. و شما در هر TL امروز تحقق می بخشد: DR، که این مشکل را تعیین کرده است کوتاه تر پنجره از زمان نسبت به آینده، به سادگی چون شما باید نسبتا پیدا در دسترس. و نگران نباشید اگر شما اضافه کردن کلاس دیر است. ما از آدرس که قبل از بلند. و قبل از ما برای کیک به تعویق انداختن، اجازه دهید پایان فقط با یک نگاه دو دقیقه در آنچه که شما در انتظار در CS50. [موسیقی] خیلی خوب. که در آن است برای CS50. ما تو را به زودی خواهیم دید. کیک در حال حاضر خدمت کرده است. [موسیقی] SPEAKER 17: آیا شما شنیده ام از یک فرصت مطالعاتی، رئیس؟ SPEAKER 18: شاید وجود دارد بیشتر در زیر کاپوت.