[پخش موسیقی] [MUSIC - روسینی، "RANZ DES VACHES "از ویلیام بگویید] [MUSIC - BEAT انگلیسی، "اسفند از سر SWIVEL "] [کف زدن و تشویق] دیوید مالان: بنابراین این CS50 است. نام من دیوید مالان است. و 73٪ از شما هیچ تجربه قبلی با علم کامپیوتر، بر خلاف آنچه که شما ممکن است فکر می کنم. بنابراین، امروز ما فکر می کنیم که تراشه دور که در آن عدم آشنایی، بلکه شما احساس می دهد، برای کسانی از شما با آسایش بیشتر، که جهت شما می توانید این ترم بروید. پس با این شروع کنیم. من واقعا هیچ ایده چه در داخل یک کامپیوتر، حتی اگر، مانند شما، من هر روز از آن استفاده کنید. اما آن است که نوعی از جعبه، و وجود دارد نه بسیاری از ورودی به آن. حداقل، وجود دارد، چه؟ احتمالا کابل برق. و در واقع با این عنصر، برق، ما به نظر می رسد که قادر به انجام بسیار کمی این روزها. اما در پایان روز، ما برای نشان دادن چیزهایی که که ما در مورد مراقبت. ما باید برای نشان دادن اطلاعات در بعضی از فرم. و شما احتمالا حداقل مبهم با این ایده آشنا یا باینری بیت به نحوی یا سایر، کامپیوتر به صفر و آنهایی که کاهش می یابد. اما می تواند ما را در آغوش که و حداقل قرار دادن یک بیت از نور به آن؟ بنابراین من این کمی لامپ میز در اینجا. من یک پریز برق در اینجا. و من قصد دارم به پیشنهاد که در داخل کامپیوتر من حداقل یکی از این چیزها، چیزی قادر از روشن یا خاموش. در این مورد، آن را در واقع یک لامپ میز، اما در سطح پایین تر، آن چیزی ترانزیستور نامیده می شود. اما در جهان ما، این یک لامپ میز، بنابراین من قصد دارم به جلو بروید و پلاگین به برق من اینجا. و من ادعا می کنند که با استفاده از این روش ساده، دستگاه ساده، این سوئیچ ساده، من می توانید اطلاعات را نمایندگی کند. به عنوان مثال، در حال حاضر، من هستم به نمایندگی از هیچ چیز، درست است؟ من به نمایندگی از آنچه من 0 تماس بگیرید و یا نادرست، در مقابل چیزی در واقع در حال حاضر. اما اگر من به سادگی این سوئیچ به نوبه خود، در حال حاضر من نشان داده ام 1. بنابراین با استفاده از این قطعه بسیار ساده است از حافظه، اگر شما خواهد شد، من می توانم نمایندگی اطلاعات. حالا متاسفانه، کامپیوتر من نمی تواند انجام دهد همه که زیاد است. این فقط می تواند دو مقدار نشان دادن در تمام جهان - 0 یا 1. اما آنچه که راه حل واضح است، در حال حاضر، اگر ما می خواهیم به گسترش کامپیوتر حافظه و بیش فقط از 0 و 1؟ خوب، بیایید گرفتن چنین کمی دیگر. اجازه دهید یکی دیگر از سوئیچ گرفتن، یکی دیگر از ترانزیستور، با این حال شما می خواهم فکر می کنم در مورد آن. اجازه دهید من جلو بروید و پلاگین را به کامپیوتر من نیز هست. و من قصد دارم به ادعا می کنند، در حال حاضر، که با با استفاده از برق کمی بیشتر و تبدیل بیشتر از این سوئیچ ها و خاموش، من می توانم چنین نمایندگی اطلاعات. بنابراین در حال حاضر، این 1 است. اگر من می خواهم به حال نمایندگی 2، من می تواند این کار را انجام دهند. اما به طور معمول، کنوانسیون، به عنوان ما در نهایت، من این کار را. پس این است که 0، 1 است. این امر می تواند 2. و جای تعجب نیست، این خواهد بود 3. بنابراین در این راه، هنوز هم، می تواند تعداد دفعات مشاهده شده تا حتی بیشتر؟ اگر من یک بیت سوم، سوئیچ سوم، بیشترین تعداد هم اکنون می توانید آنچه تعداد دفعات مشاهده شده تا از 0؟ بنابراین 7 اگر من از 0 شروع می کنید، درست است؟ از آنجا که اگر من این نور را روشن و در واقع متصل کردن این سومین و آخرین نور را به پریز برق من در اینجا، پس من باید توانایی برای نشان دادن هر یک از دو مقدار در اینجا، دو مقدار در اینجا، دو مقدار در اینجا - و بنابراین من می تواند به نمایندگی از 2 بار 2 بار 2، یا هشت مقدار ممکن است. و اگر من شروع به حسابداری در 0، پس که 0، 1، 2، 3، 4، 5، 6، 7. بنابراین این باینری. این واقعا به همین سادگی است. و من می خواهم استدلال می کنند که این است که در واقع کاملا آشنا به اکثر هر کس در این اتاق. بگذار بروم جلو و باز ویرایشگر متن کوچک در اینجا. و شما ممکن است از مدرسه ابتدائی به یاد که ما تا به حال چیزهایی مانند صدها مکان، محل ده ها، و مکان آنهایی که. به یاد بیاورید که اگر شما تا به حال برخی از دهدهی تعداد، مانند چیزی تصادفی مانند 123، شما می توانید اساسا ارسال آن در فرم از این سه ستون. و چرا 1، 2، 3 چه ما به عنوان 123 می دانید؟ خب، در ستون سمت چپ، ما باید 100 به علاوه دو 10S، به طوری که 120، به علاوه سه 1S، به طوری که 123. در حال حاضر این دنیا که ما فقط روشن دقیقا همان است شما سال ها با آن آشنا بوده ام، جز در حال حاضر، ستون ما قدرت از 10 نیست. آنها قدرت 2 فقط. بنابراین در حالی که که به جای آنهایی که، این در حال رفتن به محل twos، این است که رفتن به جای چهار دست و پا. و از آنجایی که من تنها با استفاده از ساده ترین مکانیزم به نوبه خود چیزهایی روشن و خاموش - جریان برق است یا جریان برق است - من کاملا نمی بیانی همان محدوده 0 تا نه. ما قصد داریم به نگه داشتن آن را فوق العاده ساده در این دنیا از کامپیوتر. من فقط 0 یا 1 - خاموش و یا در، غلط یا درست است. و بنابراین آنچه من به نمایندگی در حال حاضر 1، 1، 1، چرا که هر یک از این چراغ روشن است. خوب، است که به من یک 4 به علاوه یک و 2 است، بنابراین 6، به علاوه یک 1، و که 7. و بنابر این می کند این دنباله ای از سه بیت نشان دهنده عدد 7 هست. بنابراین تمام این زمان، در داخل خود را کامپیوتر، هر تعداد از شده اند ترانزیستورها، هر تعداد بیت. اما در پایان روز، ما می توانید اطلاعات نمایندگی به سادگی که به عنوان. حالا متاسفانه، ما فقط شمارش کرده ام تا 7 در CS50 تا کنون، اما امیدوارم ما می توانیم کمی انجام دهد بهتر از آن. و در واقع ما می توانیم. فرض کنید که ما به عنوان انسان تنها خودسرانه تصمیم گرفته که ما می رویم به شریک اعداد مانند 1 و 2 و 3، 4، 5، 6، 7، با حروف خاص حروف الفبا. و به دلایل تاریخی، من قصد دارم به شروع تا حدودی خودسرانه، اما من رفتن به می گویند، انسان، ما می رویم به تصمیم گیری به عنوان یک استاندارد، در سطح جهانی، که 65 نشان دهنده تعداد حرف الف B. نقطه، نقطه، نقطه 66 را تشکیل خواهند داد. 90 نامه زهرا به نمایندگی و بیایید فرض کنیم، اگر ما واقعا قرار دادن برخی از فکر به آن، ما می آمد تا با اعداد برای نقطه علامت تعجب و حروف کوچک، و در واقع، افراد دیگر برای ما انجام داده اند که. بنابراین در حال حاضر ما تا به حال بیت که با آن ما می توانیم نمایش اعداد، اعداد است که با ما می توانیم از حروف نمایندگی، و با نامه ها می توانید ما در حال حاضر شروع به آهنگسازی ایمیل ها و شخصیت های چاپ بر روی صفحه نمایش. پس اجازه دهید من دعوت، اگر من می توانم، هشت داوطلب شجاع - که فکرش را نمی کنم ظاهر می شود نه تنها در دوربین اما بر روی اینترنت - آمد تا در اینجا و نمایندگی هشت چنین بیت، به جای این سه. پس چگونه در مورد یک، دو؟ چگونه در مورد سه؟ چگونه در مورد چهار نفر در نور آبی، پنج در پایان؟ درباره کسی که بیش از اینجا؟ شش در مقابل، هفت تن در مقابل، و هشت در مقابل، نیز هست. بنابراین من فقط تا اتفاق افتاده است به آماده با یک دسته کامل از ورقه کاغذ. و در این تکه های کاغذ شماره که نشان دهنده چه ستون شما بچه ها در حال رفتن به نمایندگی. بنابراین شما خواهد بود - نام شما چیست؟ دانشجو: آنا لی. دیوید مالان: آنا لی، شما خواهد شد ستون 128s. شما؟ دانشجو: کریس. دیوید مالان: کریس باشد ستون 64s. شما؟ دانشجو: دن. دیوید مالان: دن خواهد شد باشد ستون 32S. دانشجو: Pramit. دیوید مالان: Pramit خواهد شد ستون 16S. دانشجو: لیلیان. دیوید مالان: لیلیان خواهد بود 8S. دانشجو: جیل. دیوید مالان: جیل باشد ستون 4S. دانشجو: مریم. دیوید مالان: مری خواهد بود 2S، و؟ دانشجو: دیوید. دیوید مالان: دیوید خواهد شد ستون 1S. بنابراین اگر شما بچه ها می تواند یک کمی قدم رو به جلو به طوری که همه می بینند. چه شما بچه ها را نمی بینیم این است که در پشت این ورقه کاغذ است ورق تقلب کوچک است که در مورد به این هشت بیت به یکی از دو دستور بالا بردن دست خود و یا نه دست خود را بالا می برد. اگر دست خود را بالا می رود، آنها به نمایندگی از 1. اگر دست خود باقی می ماند، آنها به نمایندگی از 0. در همین حال، ما مخاطب باید قادر به کشف کردن، بر اساس این نقشه برداری، چه سه حرف این مردمی در مورد به طلسم هستند. بنابراین در یک لحظه، شما در حال رفتن به خواندن خط اول خاموش پشت بازی ورق خود را، و شما هم هستیم رفتن به بالا بردن یا بالا بردن دست خود را. اگر شما 1 هستید، شما را بالا می برد، اگر شما 0 هستی، تو ایستاده ای وجود دارد به سختی، درست مانند آن است. برو. چه تعداد، در درجه اول، این بچه ها به نمایندگی از؟ 66. 66، درست است؟ ما 1 در ستون 64s، 1 در ستون 2S. که به من می دهد 66، به طوری که به نظر می رسد به نمایندگی B. بنابراین شما بچه ها املای کرده اند - خوب، که به اندازه کافی می باشد. B. بنابراین در حال حاضر اجازه دهید بر روی نامه دوم ما. برو. سریعترین در ریاضی در اینجا؟ بنابراین 79. باز هم، اگر ما اضافه کردن تمام ستون که در آن 1 وجود دارد، در حال حاضر، فقط مانند ما قبل با ساده ترین نمونه هایی از 7، ما در حال حاضر بدست آوردن شماره 79. که با توجه به نقشه ما است نامه O. بنابراین ما تقریبا وجود دارد. B، O. و در آخر، بروید. اما چیزی که آنها نمایندگی در حال حاضر؟ اجماع کمتر. که فقط سوفل مطلق است. بله، آن را در واقع 87 است. خوب است. بنابراین اگر ما در حال حاضر نقشه که به عقب تا - بیایید شروع خواستار نمودار ASCII ما، کد استاندارد آمریکایی برای تبادل اطلاعات. که به ما نامه - "بو" اما "تعظیم کن." و این که کامل نشانه برای شما بچه ها را به تعظیم و سر در پشت. بسیار متشکرم. [تشویق حضار] دیوید مالان: شما می توانید آنها را نگه دارید. اگر چه در واقع، که هر کسی مانند یک لامپ میز،؟ حوت از مخاطبان] دیوید مالان چراغ رومیزی؟ [خنده حضار] دیوید مالان: واقعا؟ چراغ رومیزی برای همه؟ بسیار خوب. بنابراین با ساده ترین شروع اصول، ما در حال حاضر نه تنها شمارش از 0 تمام راه را تا 7، ما که فقط با پرتاب بیشتر در نظر گرفته شده بیت یا چراغ و یا ترانزیستورهای بیشتر در این مشکل، ما می توانیم نمایش اعداد بزرگتر و بزرگتر، و بنابر این، محدوده بزرگتر و بزرگتر از حروف، مانند زبان انگلیسی. و فقط اجازه دهید بر روی ایمان را برای امروز که به همین ترتیب می تواند ما را به شروع نمایندگی گرافیک و فیلم و هر تعدادی از رسانه های دیگر که با ما امروز آشنا. بنابراین این CS50 است، و در این کلاس در کنار تو هستند، دوباره، بسیار بسیاری از همکلاسی که به عنوان کمی تجربه شما به عنوان. و من به ذکر است این تنها به این دلیل کاملا در اغلب موارد، از جمله به تازگی به عنوان یکی از دانشجوی سال اول مشاوره وقایع و در دانشجوی سال دوم بهار گذشته مشاوره رویداد، ما اغلب می شنویم دانش آموزان انکار هنگام بالا آمدن به جدول CS، خوب، من شده فکر کردن در مورد در نظر گرفتن این کلاس مقدمه، اما من واقعا نمی شخص کامپیوتر است. یا، اما مطمئنا همه بیش تر از من می داند. و من این در بزرگترین فونت ها قرار داده ممکن است، برای انتقال این پیام است که که در واقع مورد نیست. و اگر شما نگرانم، باید من، در واقع، در اینجا؟ این را فهم کنید که نه تنها این دوره عنوان مقدمه به کامپیوتر علم، آن مقدمه به کامپیوتر علوم I. بنابراین است که در واقع وجود دارد مقدمه دوم. بنابراین شما نیست، در واقع، در محل اشتباه است. و از جمله اهداف من برای امروز ارام هر گونه نگرانی از جمله شما ممکن است داشته باشد، بلکه به رنگ تصویر چه چیزی در فروشگاه برای دانش آموزان کمتر و راحت تر به طور یکسان در این دوره است. اما برای اولین بار، یک کلمه در یکی از جزوات امروز شما را، که در میان آن یک تعداد سوالات متداول. این چشم انداز ما برای برخی از زمان بوده است در حال حاضر به معرفی یک درجه بندی جدید گزینه ای به این دوره - یعنی، SAT / UNSAT ها را به دست داد. فلسفی برای من، خیلی، بسیار مهم تر است که دانش آموزان در این کلاس با شرکت مواد، به چالش کشیده مواد، و نگرانی دور، به مراتب کمتر در مورد مکانیک نمرات واقعی و نامه نمرات در ترم پایان، اما واقعا در آغوش البته و مواد آن. و واقعا این احساس می کند، به طور کلی، برای آنچه جالب است به آنها، به احساس به چالش کشیده و پاداش بدون ترس از شکست. و در واقع، این بیش از حد است که در محدوده زمانی معین موضوع در این و سایر مقدماتی دوره های در زمینه های دیگر، که شما باید این بیم و هراس که آن را به می آید قرار دادن انگشتان پا را در آبهای ناآشنا. من خودم، پشت در سال 1995، یک دانشجوی سال اول بود. من بسیار در حال متمرکز متمرکز رژیم صهیونیستی در اینجا. و در عین حال من همیشه می خواهم رشد با کمی علاقه در علم کامپیوتر است. من همیشه کنجکاو بود. اما در آن زمان، حتی، من تا به حال این ترس از حتی پله پا در CS50، بسیار به طوری که من حتی نمی مغازه آن سال دانشجوی سال اول. و تنها دلیل من پا در درب سال دوم بود چون من اجازه داده شد تا آن را پاس / خرابی. اما حتی پاس / خرابی لازم است که دریافت می کنم تا عصب را به یک انتصاب با استاد Kernehan در آن زمان، این ورق بزرگ از کاغذ را، و از آنها بخواهید او را برای امضا و خود او اجازه به اکتشاف در این آبهای ناشناخته. است و آن را در سال های اخیر کمک کرده است که در هنگام انجام این کار در CS50، زمانی که ما استفاده می شود به پاس / خرابی، به همین شکل خواهد ده ها یا صدها نفر از همکلاسی های خود باید آمد تا خدای ناکرده، در مقابل سندرز با این شکل، که در بعضی از ذهن نشان دهنده ناتوانی، من به جرات می گویند، به انجام سطح همسالان خود هستند. که مسخره است، اما من فکر می کنم این ذهنیت وجود دارد. و در این فرهنگ وجود دارد هرگز SAT / UNSAT، یا پاس / خرابی به طور کلی، در این دوره، و یا واقعا در این دانشگاه است. بنابراین در این سال ما را تغییر داد. من می خواهم نیمه نشئه این کلاس و یا بیشتر به پایان رسید تا CS50 SAT / UNSAT:. در زمان یک سال، این امر می تواند فوق العاده اگر تقریبا همه است. پس از آن شاید ما کار خواهیم کرد در گریدهای نامه در دانشگاه هاروارد کالج عموما تر. اما در حال حاضر، ما می خواهیم این کار را در درون ما انجام حوزه خود، و من صمیمانه شما را تشویق به این فایل نقد می نویسید: این سوالات متداول و سوال بپرسید که می بینید مناسب، به طوری که امیدوارم که شما، بر خلاف من، نه کاملا که این عامل ترس همان زمانی که کاوش آنچه احتمالا محل ناآشنا. پس چه CS50 است؟ این مقدمه ای بر است شرکت های فکری کامپیوتر علم و هنر برنامه نویسی. اما آنچه که واقعا چیست؟ خوب، تا کنون، ما بسیار به طور خلاصه صحبت کردیم در مورد نمایندگی اطلاعات. اما فرض کنید که ما در واقع می خواهم به انجام کاری با آن. ما نیاز به معرفی مفهوم چیزی است که ما یک الگوریتم تماس خواهیم کرد. الگوریتم یک روش، یک روند است، مجموعه ای از دستورالعمل ها را برای انجام کاری. و یک الگوریتم می تواند چیزی فوق العاده ساده. برای مثال، نمونه ای که با برخی از از شما ممکن است آشنایی این است چیزی که در اینجا. بنابراین این کتاب در اینجا است که به طور فزاینده مورخ، اما یک بار پس از یک زمان، شامل تعداد زیادی از کل نام و شماره تلفن. و در واقع، اگر من می خواستم برای پیدا کردن کسی که در این دفترچه تلفن - می گویند، شخصی به نام مایک اسمیت - من می توانم مایک اسمیت در هر تعداد از راه نسبتا ساده. من می توانم در ابتدا شروع و حرکت به صفحه 1، وجود ندارد. صفحه 2 وجود ندارد. صفحه 3. این است که الگوریتم، این است که روند، درست است؟ پس از آن درست است، درست است؟ من نوع ادم سفیه و احمق برای انجام آن را در هستم که به شیوه ای، اما در نهایت من پیدا کردن نام خانوادگی S، و امیدوارم مایک در این بخش، و من تبدیل خواهد شد انجام شده با الگوریتم من. اما قطعا آن را حسی نیست. بیشترین هر انسانی مناسب در این اتاق را انجام داده اند که. تمایل دارید چه انجام داده اند؟ شما می خواهم که مستقیم رفته به وسط، درست است؟ تقریبا به وسط. و شما متوجه است، آه، این خانم بنابراین مایک اسمیت، نام آخرین اسمیت، نیست، به وضوح، سپس در نیمه چپ از کتاب. او باید به سمت S در سمت راست است. و در این نقطه، هر چند بسیاری از ما این کار را نکنید در واقع، ما می توانیم به معنای واقعی کلمه پاره این مشکل را در نصف. [تشویق و تشویق حضار] دیوید مالان: با تشکر از شما. [تشویق و تشویق حضار] دیوید مالان: شما به معنای واقعی کلمه می تواند پاره شود این مشکل در نصف، می روم من با، به معنای واقعی کلمه، یک مشکل نیمه به عنوان بزرگ. بنابراین اگر این دفترچه تلفن بود - و آن را احتمالا بود - حدود 1،000 صفحه، در حال حاضر آن را تنها 500. اگر من این کار را دوباره و من می دانم، آه، لعنتی، من بیش از حد رفت، من در TS هستم بخش، من می توانم به طور مشابه - ظاهرا یا به معنای واقعی کلمه - پاره کردن دفترچه تلفن - در واقع از آن بود بسیار آسان تر آن زمان. من به معنای واقعی کلمه می تواند پاره کردن دفترچه تلفن در نیمه، ترک من در حال حاضر با 1،000، 500 - 250 صفحه. و من می توانم 125، و نیمی از آن، و نیمی از آن، و نیمی از آن، تا در نهایت من را با سمت چپ تنها یک صفحه منفرد است. [خنده حضار] دیوید مالان: این بخش اول شکست بخورد. یک صفحه واحد که در آن مایک امیدوارم است. در حال حاضر آن دسته از الگوریتم های مختلف می تواند مرتب کردن بر اساس ارزیابی و یا در ارزیابی روش های مختلف. یکی از اولین، بسیار خطی، درست بود؟ صفحه غیرفعال، را برای مایک نگاه کنید. صفحه غیرفعال، را برای مایک نگاه کنید. آن را بسیار خطی است. اگر یک صفحه در گوشی وجود دارد کتاب، آن را احتمالا رفتن به من یک ثانیه بیشتر، یک واحد بیشتر از زمان، با این حال ما در حال محاسبه زمان. بنابراین من ممکن است مانند این رسم این خط در اینجا، به موجب آن به عنوان اندازه افزایش مشکل از چپ به راست - دفترچه تلفن می شود کوچکتر به بزرگتر است - و زمان رفتن به افزایش محور عمودی، بزرگتر دفترچه تلفن است. بنابراین نفر فقط یک متغیر به طور کلی این است که دانشمندان استفاده از کامپیوتر برای نشان دادن برخی از ارزش، برخی از تعداد. بنابراین N است که به صورت خطی افزایش می دهد. ، آن را به دو برابر اندازه دفترچه تلفن رفتن به من را دو برابر زمان، به احتمال زیاد، برای پیدا کردن مایک. حالا من می توانستم هوشمند بوده است در این مورد، درست است؟ به سرعت خسته من بود. می توانست این twos انجام می شود. بنابراین دو صفحه، پس از آن چهار، سپس شش، هشت. و من می توانم شروع به پرواز از طریق آن کمی سریع تر، البته در معرض خطر جزئی از خطا رفتن بازیک مایک، اما این منحنی نیست رفتن به همه که مختلف است. این هنوز هم برای رفتن به راست خط، اما کمی سریعتر. اما آنچه که من انجام دهید؟ من در واقع چیزی اساسا بهتر است. من به دست آورد آنچه ما می خواهیم تماس لگاریتمی زمان، ورود به سیستم از n، به موجب این سبز خط بسیار، بسیار، بسیار لبه کمتر مستقیم به آن. و نه، آن را نشان می دهد، آن را به عنوان مرتب سازی بر اساس نزدیک بی نهایت تا کنون به تدریج، که من در واقع می تواند 1،000 صفحه دفترچه تلفن، دو برابر اندازه آن در سال آینده - به دلیل فرض کنید تعداد زیادی افراد بیشتری را به شهر حرکت می کند. بنابراین در حال حاضر من از 2،000 صفحه، اما چگونه بسیاری از مراحل بیشتر است که باهوش الگوریتم رفتن را؟ فقط یک. منظورم این است که یک چیز قدرتمند است. اگر ما تا 4،000 صفحه به سال آینده، که مرا با خود ببرد تنها دو قدم بیشتر. بنابراین شما می توانید پرتاب بزرگتر و بزرگتر مشکلات من، نه بر خلاف وب پرتاب مشکلات بزرگتر و بزرگتر هر روز در گوگل و Facebooks از جهان، و آن نیست چنین معامله بزرگ. از آنجا که من فکر و مراقبت بیشتر به قرار دادن الگوریتم من با آن را حل کند مشکلات کارآمد. و در واقع، که خواهد شد یکی از اهداف این دوره است. شما خواهد شد، در طول راه، یاد بگیرند که چگونه به برنامه ریزی. شما خواهید آموخت که چگونه در برنامه هر تعداد از زبان. اما در پایان روز، این دوره است در مورد حل مشکلات و به دست آوردن بهتر در حل مشکلات - و، همانطور که در موارد مثل این، حل مشکلات موثر تر است. حالا تا کنون انجام داده ایم این نسبتا به طور مستقیم. بیایید چیز نسبتا معرفی عمومی شبه نامیده می شود. بنابراین ما در نهایت می خواهید، در این دوره، به زبان های برنامه نویسی مختلف. اما امروز ما آن را در انگلیسی مانند نحو، که در آن شما فقط نوع می گویند آنچه منظور شما، اما شما تا کنون موجز و شما نگران نباشید دستور زبان و جملات کامل. شما فقط خودتان را به عنوان بیان به اختصار به عنوان ممکن است. بنابراین شبه انگلیسی مانند نحو است که نشان دهنده یک زبان برنامه نویسی است. و برای دستیابی به این پایان، اجازه دهید به من پیشنهاد می کنم که ما در حال حاضر ما فقط مدل از شمارش چیزی متفاوت، این بار در نظر گرفتن نگاهی به این ویدئو پنج دقیقه توسط دوستان ما در TED که تعریف شبه چیست، تعریف می کند چه تفکر الگوریتمی است، و حتی هر چند به عنوان مثال شما در مورد برای دیدن است، در نوع خود، فوق العاده ساده است، آن را رفتن به شروع به ما روانی مدل، واژگان، با آن به کار زیاد است، بسیار پیچیده تر است الگوریتم های بسیار سریع. [آغاز پخش ویدئو] [پخش موسیقی] راوی: الگوریتم چه خبر؟ در علم کامپیوتر، یک الگوریتم است مجموعه ای از دستورالعمل ها را برای حل برخی از مشکل گام به گام. به طور معمول، الگوریتم های در حال اجرا کامپیوتر، اما ما انسان ها الگوریتم، نیز هست. به عنوان مثال، چگونه می خواهید بروید در مورد شمارش تعداد از مردم در یک اتاق؟ خوب، اگر شما مانند من هستید، شما احتمالا می خواهم نقطه در هر فرد، یکی در یک زمان، و شمارش از 0. 1، 2، 3، 4، و غیره. خوب، که یک الگوریتم است. در واقع، بیایید سعی کنید آن را بیان کمی به طور رسمی تر در شبه - نحو انگلیسی مانند که شبیه یک زبان برنامه نویسی است. اجازه بدهید N برابر 0. برای هر فرد در اتاق، مجموعه N برابر N به علاوه 1. چگونه به تفسیر این شبه؟ خوب، یک خط اعلام کرد، پس به صحبت می کنند، یک متغیر به نام N و مقدار دهی اولیه ارزش خود را به 0. این فقط بدان معنی است که در آغاز الگوریتم ما، چیزی است که با آن ما در حال شمارش ارزش از 0. پس از همه، قبل از ما شروع به شمارش، ما هر چیزی شمارش نشده است. تلفن N متغیر فقط یک قرارداد است. من می توانستم آن را به نام هر چیزی. حالا در خط دو demarks در شروع یک حلقه، دنباله ای از مراحل است که خواهد شد برخی از تعداد بار تکرار کنید. بنابراین در مثال ما، گام ما شمارش افراد در اتاق. در زیر خط دو خط سه است، که دقیقا چگونه توصیف ما می خواهیم در مورد شمارش بروید. دندانه حاکی از آن است که آن سه خط که تکرار خواهد شد. بنابراین آنچه که شبه می گوید که بعد از شروع در 0، برای هر شخص در اتاق، خواهیم افزایش N 1. در حال حاضر این الگوریتم درست است؟ خوب، اجازه دهید انفجار در آن را کمی. آیا کار می کند اگر وجود دارد دو نفر در اتاق؟ اجازه دهید را ببینید. در خط اول، ما N مقداردهی اولیه به 0. برای هر یک از این دو نفر، ما پس از آن افزایش N 1. بنابراین در اولین سفر از طریق حلقه، ما N از 0 به 1 به روز رسانی. در سفر دوم از طریق همان حلقه، ما N به روز رسانی از 1 تا 2. و به همین ترتیب تا پایان این الگوریتم، N 2 است، که در واقع منطبق بر تعداد مردم در اتاق. تا کنون، خیلی خوب است. چگونه در مورد یک مورد کرنر، هر چند؟ فرض 0 نفر وجود دارد در اتاق - در کنار من، که انجام شمارش. در خط اول، ما N مقداردهی اولیه به 0. این زمان، هر چند، خط سه ندارد اجرا در همه از آنجا که وجود ندارد شخص در اتاق. و به همین ترتیب باقی مانده N 0، که با تعدادی از افراد در اتاق. خیلی ساده است، درست است؟ اما شمارش افراد در یک زمان بسیار ناکارآمد است، بیش از حد، نه؟ مطمئنا ما می توانید انجام دهید بهتر است. چرا دو نفر در یک زمان به حساب نمی آید؟ به جای شمارش 1، 2، 3، 4، 5، 6، 7، 8، و غیره، به همین دلیل به حساب نمی آید، 2، 4، 6، 8، و غیره؟ و حتی آن را برای تلفن های موبایل سریع تر، و آن قطعا باشد. بیایید بیان این بهینه سازی در شبه. اجازه بدهید N برابر 0. برای هر جفت از افراد در اتاق، تنظیم N برابر است با N به همراه 2. تغییرات خیلی ساده است، درست است؟ شمارش به جای مردم در یک زمان، ما به جای شمارش آنها دو در یک زمان. این الگوریتم به این ترتیب دو بار به عنوان سریع به عنوان آخرین. اما آیا درست است؟ اجازه دهید را ببینید. آیا کار می کند اگر وجود دارد دو نفر در اتاق؟ در خط اول، ما N مقداردهی اولیه به 0. که برای یک جفت از مردم، ما پس از آن افزایش N دو. و به همین ترتیب تا پایان این الگوریتم، N 2، که در واقع منطبق بر تعداد مردم در اتاق. فرض کنید که وجود دارد 0 نفر در اتاق. در خط اول، ما N مقداردهی اولیه به 0. مانند قبل، خط سه اجرا نیست در همه، از هر جفت وجود ندارد مردم در اتاق. و به همین ترتیب باقی مانده N 0، که در واقع تعداد مسابقات مردم در اتاق. اما چه می شود اگر سه وجود دارد مردم در اتاق؟ چگونه این کار را کرایه الگوریتم؟ اجازه دهید را ببینید. در خط اول، ما N مقداردهی اولیه به 0. برای یک جفت از این افراد، ما پس از آن افزایش N 2. اما پس از آن چه؟ جفت کامل دیگری از مردم وجود ندارد در اتاق، به طوری که خط دو هیچ دیگر صدق می کند. و به همین ترتیب تا پایان این الگوریتم، N هنوز هم 2 است که درست نیست. در واقع، این الگوریتم گفته می شود نوعی درشکه سبک یک اسبه، به دلیل آن است یک اشتباه است. بیایید با برخی از شبه جدید جبران. بگذارید n برابر 0 برای هر جفت مردم در اتاق. تنظیم N برابر است با N به همراه 2. اگر یک نفر جفت نشده باقی می ماند، تنظیم N برابر است با N به علاوه 1. برای حل این مشکل خاص، ما معرفی شده است، در خط چهار، شرایط، در غیر این صورت به عنوان یک شاخه شناخته شده است که تنها اجرا اگر یکی وجود دارد فرد است که ما نمی توانست جفت با دیگری. و بنابراین در حال حاضر، چه وجود دارد یک یا سه و یا هر تعداد عجیب و غریب از مردم در اتاق، این الگوریتم در حال حاضر آنها را حساب کند. آیا ما می توانیم حتی بهتر؟ خب، ما می تواند در 3S یا 4S و یا حتی تعداد دفعات مشاهده 5S و 10S، اما فراتر از آن، آن را رفتن به کمی دشوار است به نقطه. در پایان روز، اعم از اعدام توسط کامپیوتر و یا انسان، الگوریتم فقط یک مجموعه دستورالعمل با که برای حل مشکلات. این فقط سه نفر. چه مشکل شما را حل کند با یک الگوریتم؟ [END پخش ویدئو] دیوید مالان: که تنها زمان است من در فرم های کارتونی ظاهر خواهد شد. اما جایی که برگ داستان، در حال حاضر، این است که چگونه می توانیم بهتر انجام دهید؟ Threes و چهار دست و پا، ما ادعا می کنیم، ما می توانیم تعداد دفعات مشاهده مردم بسیار سریعتر، اما می تواند ما آیا اساسا بهتر از آن؟ و من شروط ما می توانیم. اگر یک کمی از خودمان را معرفی می کنیم شبه در اینجا، من قصد دارم به پیشنهاد که ما می توانیم یک خط مثل این دست یابد. ما قصد داریم به دفعات مشاهده شده مردم یک، دو، سه، چهار. ما قصد داریم به دو، چهار، شش، هشت. ما قصد داریم برای انجام اساسا بهتر با بازاندیشی مشکل، و در این مورد، اعمال نفوذ در غیر این صورت منابع مورد استفاده قرارگرفته است. در یک لحظه، من امیدوارم که شما را ببخش و ما طنز ایستاده در محل، که در آن نقطه ما قصد داریم به درخواست هر یک از شما را در خود ذهن شماره 1. شما سپس رفتن به طور فزاینده به سختی، با گذشت زمان، پیدا کردن شخص دیگری که ایستاده است، ترکیب عدد خود را با هم با اضافه کردن آنها را. یکی از شما است و سپس رفتن به مسابقه به نشستن پایین اول، و شخص دیگر رفتن به تکرار. بنابراین به عبارت دیگر، با بذر همه شما با شماره 1 و پس از آن ترکیب کسانی که 1s به 2S و کسانی که 2S به 4S، با هر کس به طور فزاینده نشسته، ما باید در پایان این الگوریتم، تنها یک وام روح که نشستن نیست به اندازه کافی سریع است، اما که کل تعداد مخاطبان است در ذهن خود. بنابراین اگر می خواهید، اجازه دهید به جلو و - گام اول - ایستادن در جای خود. و اجرا. [جمعیت زمزمه] دیوید مالان: آیا می دانید لورن که در آن است؟ 729؟ [جمعیت زمزمه] دیوید مالان: همه درست است؟ [جمعیت زمزمه] دیوید مالان: بسیار خوب، ما باید نزدیک شدن به پایان. ما می بینیم که یک شخص اینجا ایستاده ام هنوز. چه کس دیگری نیاز به زوج؟ اگر شما بچه ها می خواهند به جفت کردن. کسی تا بالا. چرا من دست به من قرض بدهید. برای تعداد کمی از مردم که هنوز ایستاده، شما چه ارقام در ذهن خود داشته باشد؟ به STUDENT: 78. دیوید مالان: 78 به علاوه - در اینجا که ایستاده؟ به STUDENT: 39. دیوید مالان: به علاوه 39. به علاوه چه کس دیگری هنوز ایستاده؟ 81؟ خوب، چه کس دیگری؟ یکی دیگر از 81؟ وای. و سپس آنچه را در عقب است؟ به STUDENT: 49. دیوید مالان: 49، به علاوه؟ به STUDENT: 98. دیوید مالان: 98 به علاوه؟ این است که شخص دیگری؟ 12 کار خوب. [خنده حضار] دیوید مالان: اوه، 112 - آه. کار خوب! [خنده حضار] [تشویق حضار] دیوید مالان: هر کس دیگری هنوز ایستاده؟ پوزش می طلبیم؟ به STUDENT: 99. دیوید مالان 99. هر کس دیگری هنوز ایستاده؟ و تعداد کل دانش آموزان در اینجا در واقع، با توجه به - شماره شما را داشته باشد؟ اوه، تعداد واقعی مردم در اتاق، با توجه به حساب که که همراهان آموزش انجام می شد در راه هر کس در، 729 بود. پس از بقدر یک اتاق پر از دانشجویان دانشگاه هاروارد که خود را شمارش، جواب 637 است. [خنده حضار] دیوید مالان: خیلی نزدیک است. اما هنوز هم. OK، به طوری که یک آموزش لحظه، درست است؟ این چیزی است که ما به عنوان یک اشکال توصیف. جایی در طول راه، ما بعضی از آنها حساب اشتباه است، یا کسی که نشسته، یا چپ و یا چیزی را اشتباه رفت. اما این خوب است. از آنجا که حتی هنوز هم، کردم بسیار نزدیک است. و من می خواهم استدلال می کنند که ما رو به اشتباه پاسخ خیلی سریع تر از من می خواهم که من با استفاده از روش خطی است. بنابراین اجازه دهید فرض کنیم در واقع که درست است، اما فکر می کنم در حال حاضر در مورد چه اتفاق می افتد در هر زمان، در مقابل من خود الگوریتم ساده و بی تکلف با اشاره. یک، دو، سه. اگر در واقع وجود دارد 729 یا 637 نفر در اینجا، که من گرفته به معنای واقعی کلمه 637 یا 729 pointings به انگشت و افزایش تعداد کل من. و من می توانم کمی بهتر انجام رفتن دو، چهار، شش، هشت، و دو برابر است که سرعت، شاید حتی سه یا چهار برابر، بسته به اینکه چگونه به خوبی من می توانم انجام شمارش در سر من. اما این روش که شما بچه ها در زمان اساسا متفاوت بودند. چرا که در آغاز، همه شما ایستاد. بنابراین همه 729. و پس از آن به معنای واقعی کلمه نیم از شما نشستم. و پس از آن، یکی دیگر از نیمی از شما نشستم. و پس از آن، یکی دیگر از نیمی از شما نشستم. و تعداد کل دفعاتی که شما بچه ها می تواند نشسته است که تقریبا هشت یا نه یا ده بار، با توجه به تعداد کل ما است. و ما می توانیم انجام مرتب سازی بر اساس این راه دیگر. اگر ما به 1،024 نفر در اتاق بود، تعداد کل بار شما می توانید نصف 1،024 نفر 10 است. در حال حاضر در مورد آن فکر می کنم از جهت دیگر. فرض کنید، مسخره، که ما تا به حال، می گویند چهار میلیارد نفر در این اتاق، یا یک اتاق کمی بزرگتر است. چند بار که ما رفته اند از طریق این الگوریتم، چنین است که نیمی از این کلاس می نشیند؟ این تنها رفتن را به 32 مانند عملیات، حتی در یک کلاس از اندازه چهار میلیارد. چرا؟ از آنجا چهار میلیارد به دو می رود میلیارد، می رود به یک میلیون می شود، به 500 میلیون، می رود تا 250 میلیون، نقطه، نقطه، نقطه. من فقط می توانید انجام دهید که بخش حدود 32 بار، که در آن نقطه، هر کس به جز یک فرد خواهد بود سمت چپ ایستاده. و این، بیش از حد، مرتب کردن بر اساس قدرتمند است این ایده است که به طور فزاینده ما سعی خواهیم کرد اهرم در این دوره، و در برنامه نویسی و علوم کامپیوتر به طور کلی، این میکروب ها از یک ایده با که ما پس از آن می تواند به حل مشکلات بسیار، خیلی بیشتر موثر است. بنابراین ما کاملا ساده با آن آغاز شده است شبه و یک مرد در یک اتاق، اما در حال حاضر با یک اتاق کاملا پر از مردم ما انجام داده اند و اساسا بهتر است. خوب، اجازه دهید که در حال حاضر انتقال از شبه به برخی از کد واقعی است. این زبان شما در مورد برای دیدن اتفاق می افتد هستیم به نام جاوا اسکریپت، و ما را به این سمت بازگشت پایان ترم. این یک زبان برنامه نویسی است که شما به استفاده از وب سایت ها و دیگر مانند نرم افزار این روزها. و ما آن را استفاده می شود، به لطف به یک دوست از ما در استنفورد، به رمز برخی از اطلاعات مخفی در اینجا. این هنر پنهاننگاری است، پس به صحبت می کنند، جایی که شما می توانید پنهان اطلاعات در آنچه که در غیر این صورت به نظر می رسد می شود سر و صدا و یا به طور کامل متفاوت است تصویر در دسترس نباشد. اما در این تصویر خاص تعبیه شده یک پیام مخفی از انواع در واقع. پس اجازه دهید من به جلو و بالا بکشد همان تصویر را در اینجا، این زمان در یک مرورگر وب است. و من قصد دارم به موج دست من در برخی از جزئیات امروز، به خصوص برای کسانی از شما که از این به نظر می رسد مانند نه تنها جاوا اسکریپت اما یونانی، به عنوان یک زبان کاملا نا آشنا. اما این یک مثال است یک زبان برنامه نویسی است. و در حال حاضر، در ایمان است که این اولین خط کد - و با کد، من فقط به این معنی متن. متن است که من می توانستم به معنای واقعی کلمه تایپ به مایکروسافت ورد، اگر من تا به حال نرم افزار راست و سپس به انجام کاری با آن. کد منبع برنامه نویسی، برنامه نویسی فعال است، واقعا فقط متن، و آن را متفاوت به نظر می رسد بر اساس چه زبان استفاده می کنید، نه بر خلاف زبان انگلیسی و اسپانیایی و روسی همه نگاه متفاوت زمانی که شما آنها را در صفحه کلید خود را تایپ کنید. بنابراین این خط اول، در حال حاضر را در ایمان، به سادگی باز گرافیکی از اینترنت، که پر سر و صدا گرافیک ما فقط دیدم. این خط بعدی در اینجا یک مثال از یک می باشد حلقه، و ما در واقع دیدم که همان اصطلاحات مخصوص یک صنف در TED ویدیو. حلقه چیزی که دوباره اتفاق می افتد است و دوباره، و حتی اگر این کاملا مرموز به نظر می رسد، با کلمه کلیدی، و برخی از پرانتز، و برخی از سمیکالن. خواهیم کرد که قبل از بازگشت طولانی، اما این حلقه وجود دارد اساسا گفتن این برنامه، تکرار بیش از همه از آن نقطه پر سر و صدا، از چپ به راست، بالا به پایین. از آنجا که در پایان روز، یک تصویر مثل این - و شما در واقع می تواند نوع از آن را ببینید در این پروژکتور - واقعا فقط یک شبکه از نقطه است. بنابراین ما می توانیم هر یک از این نقاط شناسایی مختصات، X، Y، و با این برنامه، در حال حاضر ما می توانیم برای شروع آیا چیزی به آن نقطه. بنابراین آنچه که من قصد دارم به پیش بروید اینجا و انجام دهید این است که من قصد دارم به برخی از تغییرات. در ابتدا من به رفتن به جلو بروید و خلاص شدن از شر همه که مایل به سبز و مایل به آبی سر و صدا، و من قصد دارم به جلو بروید و این عبارت را بنویسید مسلما دستوری مرموز. من دارم برای تصویر. مجموعه آبی در محل X، کاما، موقعیت Y، 0. به عبارت دیگر، من فقط می خواهم خاموش آبی به نقطه که در آن تصویر در انجمنها (BBcode). من قصد دارم به پیش بروید و کلیک کنید این اجرا / ذخیره را فشار دهید، و شما اطلاع در سمت راست، تصویر به دست آمده به نظر می رسد. در حال حاضر سبز فوق العاده است، ولی نیست تعجب آور باشد، زیرا من به معنای واقعی کلمه تبدیل خاموش، با ساخت 1 0، تمام آبی که در تصویر. خب، حالا بیایید آن را انجام دهید کمی بیشتر. من برای تصویر، dot setGreen ارائه میشود، X، Y. و این فقط بدان معناست تکرار از سمت چپ به راست و سپس از بالا به پایین است. روشن است که این بازی با ارزش از 0، نیز هست. ذخیره کنید. و در پروژکتور، شما نمی توانید در واقع واقعا هر چیزی در همه. در صفحه نمایش لپ تاپ من، اگر من فقط همکار راه حق، من می توانم کمی را ببینید تصویر، چرا که آنها هنوز برخی از رنگ قرمز در آن وجود دارد. اگر تا کنون شنیده RGB مخفف - قرمز، سبز، آبی - آن را با اشاره به این ترکیب تصویر با استفاده از فقط کسانی که سه رنگ. و در حال حاضر، ما دور انداخته ام همه سبز، همه آبی، اما بسیار قرمز وجود ندارد. بنابراین اجازه دهید من خم کردن رنگ قرمز. چگونه می توانم انجام دهم؟ خوب، برای اولین بار، من به درخواست این برنامه یک سوال. من قصد دارم به جلو بروید و اجازه دهید آن را یک متغیر، فقط مانند در جبر. شما می توانید با x یا y یا z داشته باشد. من قصد دارم به یک متغیر و می گویند، در این متغیر قرار دهید، به طور موقت، مقدار تصاویر ارزش در X، Y getRed: است. و دوباره، ما به همه دوباره این جزئیات در آینده. اما در حال حاضر، فقط در ایمان را که این خط درخواست برنامه، است که ارزش قرمز در X، Y است؟ در آن نقطه خاص؟ سپس من قصد دارم برای انجام کاری به آن. سپس من قصد دارم برای انجام تصویر نقطه قرمز مجموعه در X، Y، Y، اما این بار من قصد دارم به افزایش آن انجام برپایه قرمز، بیایید می گویند، 10. بنابراین آن را با یک عامل از 10 افزایش می دهد. اجازه بدهید من زوم در حال حاضر و کلیک می تواند اجرا / ذخیره کنید. و voila، که کل وجود دارد زمان، حتی اگر چشم انسان ما می تواند کاملا آن را ببینید. تا دوباره، این در حال حاضر کد واقعی است، نمونه ای از یک زبان که ما می آیند بازگشت به قبل از طولانی. اما متوجه باشید، به خصوص کسانی که از شما با چنین تجربه، آن را کاملا محض این که ما خودمان خواهد بود نوشتن کد مانند آن وجود دارد. در واقع، ابزاری که با آن شما هستید تا حدودی آشنا، شاید، CS50 ابزار خود را خرید، البته که بود در واقع در تابستان امسال توسط برخی از راه اندازی دوباره (Reboot) اجرا از دانش آموزان سابق خود CS50، در حال حاضر TFS تبدیل شود. بنابراین این اتفاق می افتد به یک وب سایت ساخته شده در یک زبان به نام پی اچ پی. با استفاده از یک پایگاه داده به نام خروجی زیر، همه چیز کنیم که دست ما را دریافت کنید بعد از آن در ترم کثیف. اما این را باور یا نه، حتی چیزی شبیه به این در نهایت به کاهش می دهد ساده ترین از حلقه و شرایط و شاخه ها، مثل کسانی که ما را تنها دیدم لحظه پیش در ویدیو TED. چیزی که من فکر کردم من می خواهم انجام در حال حاضر سهم نیست تنها چیزی که ما را ساخته اند کارکنان برای پردیس، بلکه چیزی یک دانشجوی سابق - سه دانش آموزان، در واقع - ساخته شده در سال گذشته، سیرا، دانیل، و سام، آخرین نفر از آنها تا به حال هیچ قبل تجربه برنامه ریزی زمانی که او در زمان CS50. و برای پروژه نهایی خود را، آنها به نمایش گذاشته، در نمایشگاه CS50، برنامه به نام wrdly است، که یک برنامه مبتنی بر وب است که برای آنها ساخته شده است این فیلم که من فکر کردم من می خواهم برای به اشتراک گذاشتن شما یک احساس تنها چیزی است که به من بدهید ممکن است با پایان مدت. [پخش موسیقی] دیوید مالان: که از هفته صفر هفته 12 سال گذشته. [تشویق حضار] دیوید مالان: به عنوان یک تیزر، بیش از حد، واقعا اشتهای شما را تحریک به آن چه که ممکن است، ممکن است شما را دیده اند، در حال حاضر، و یا ممکن است به زودی، market.cs50.net، ابزار جدید است که تیم این دوره کار بر روی، این بار در همکاری با دانشجوی دانشگاه هاروارد آژانس، به طوری که با شروع این سال و در ادامه امیدوارم به این تابستان آینده شما یک استاندارد داشته باشند فرصت در محوطه دانشگاه به خرید و فروش چیزهای مورد علاقه شما. و با مشارکت از طریق HSA، شما همچنین قادر به رها کردن آیتم در این بازی در یکی از فروشگاه های فیزیکی HSA در برخی نقطه ای در آینده، تا که به چیزهای پروکسی، به خصوص به عنوان شما فارغ التحصیل و لزوما نمی خواهم به دور انداختن چیزها، اما در واقع آن را پرداخت جلو به مردمی که ممکن است شما دنبال اینجا در پردیس. بنابراین بیشتر در آمده است. اما کمی بیشتر ملموس، یک ابزار که از CS50 در سال های اخیر آمده است سال، که با برخی از شما ممکن است آشنا و بعضی از شما ممکن است گوگلینگ در حال حاضر، در CS50.net/2x، شما پیدا کردن یک لینک به یک برنامه افزودنی Chrome که نمایشی چگونه شما می توانید است استفاده از جاوا اسکریپت، که همان زبان ما یک لحظه پیش با برج ایفل استفاده می شود، برای اجرای سرعت پخش 2X برای همه ویدیوهای iSites هاروارد. این چیزی است که ساخته شده است به خود بازیکن CS50 ویدئو. اما این، بیش از حد، اگر شما شروع به حفاری به کد منبع، که ما با خوشحالی در دسترس است، شما خواهید دید که چگونه شما حتی می توانید حل مشکلات مانند آن، شتاب ویجتها را در وب سایت با که شما در حال حاضر به خوبی آشنا است. بنابراین یک کلمه در حال حاضر در این دوره و انتظارات و چه در پیش روست. به طور کلی، ما در واقع می خواهید در اینجا جمع شده در روزهای دوشنبه و چهارشنبه ها - هر چند جمعه این هفته، ما را جمع آوری به خاطر هفته خرید - 1:00 تا 2:00 بعد از ظهر، هر چند گاهی اوقات تا 2:30 است. با توجه به این که بنابراین شما ممکن است بخواهید یا باید به برخی از کلاس در 2:00 PM به بعد، و یا حتی قبل از، آیا تحقق بخشیدن به البته حمایتی است از آنچه به نام ثبت نام به طور همزمان، به موجب آن خواهیم حمایت از دادخواست به صفحه آگهی و ساکن رؤسای خود را از طرف شما اگر شما باید یک درگیری در جایی در این 1:00 تا 2:30 محدوده. رقابت شانه به که URL آنلاین برای جزئیات بیشتر. اما از لحاظ ساختار پشتیبانی که مشخصه CS50، برای دانش آموزان بیشتر و کمتر راحت به طور یکسان، ما ارائه آهنگ های متمایز از بخش. و این زن و شوهر از هفته خاموش است، اما قبل از اینکه طولانی، شما به عنوان خواسته سطح راحتی خود را. آیا شما در میان کسانی که کمتر راحت، راحت تر، یا جایی در میان؟ و ما باید سه متمایز آهنگ های که تهیه کردن به دقیقا آن دسته از مخاطبان. بنابراین در هیچ نقطه ای در کوتاه مدت باید به شما حتی احساس می کنم مثل شما در حال رقابت در برابر هر دانش آموز با بیش یا پس زمینه کمتر از شما. در واقع، البته به معنای بسیار مشارکتی تر و خیلی بیشتر باز از آن. در شرایط از مجموعه مشکل، شما پیدا کنید، بیش از حد، که علاوه بر نسخه استاندارد مشکل در هر هفته تعیین می کنند، اغلب وجود دارد "هکر نسخه "که به معنای هدف قرار داده شود در 5٪ تا 10٪ و یا پس از جمعیتی که در واقع در میان کسانی که راحت تر و بیشتر می خواهم یک چالش از استاندارد نسخه از آن pset انتظار. جزئیات بیشتر در مورد کسانی که به موجود در برنامه درسی. بلکه در وجود می توان جزئیات در دوره اواخر روز. به طور معمول مشکل مجموعه به دلیل در تاریخ پنج شنبه ها هستند. با این حال، شما می توانید بسیاری از خود را گسترش ضرب العجل پاییز امسال از پنج شنبه جمعه به سادگی ملاقات ما در نیمه راه، پس به صحبت می کنند، پاسخ به چند گرم کردن سوالات در برخی از مشکل هفته مجموعه ها، که به طور خودکار سپس شما 24 ساعت فوق العاده می دهد. ما همچنین به پایین ترین سطح خود را رها نمره، همانطور که در برنامه درسی. به شما حس از آنچه مشکل را مجموعه - به دلیل آن در واقع مشکل البته این مجموعه که در نهایت تعریف تقریبا در هر تجربه دانش آموزان، بیشتر از سخنرانی ها، بیشتر از آن از بخش، بیش به طوری نسبت به اکثر دیگر جنبه های دوره. در سال گذشته، به عنوان مثال، ما آغاز شد، به عنوان ما در این سال آغاز خواهیم کرد، با خراش. به خصوص این جمعه، خواهیم با استفاده از، برای فقط یک روز، گرافیکی زبان های برنامه نویسی، که با آن خواهیم شروع برنامه نویسی با کشیدن و حذف قطعات پازل که تنها مونتاژ فیزیکی اگر آن را حس می کند برای انجام این کار منطقی. هفته بعد، ما به سرعت انتقال به C، نسبتا قدیمی است اما بسیار کوچک و به زبان ساده است که به ما اجازه خواهد داد تا واقعا در طول دوره از 0 تا 60 از فقط چند هفته، و سپس parlay کسانی که مهارت ها و دانش از همان سازه های برنامه نویسی اولیه به زبان های سطح بالا مانند پی اچ پی، جاوا اسکریپت، و در عین حال دیگران هنوز هم. سال گذشته، pset سوم در دوره این بود که از رمزنگاری، کاربرد دامنه خاص به موجب آن ما دانش آموزان را به چالش برای اجرای هر تعداد برنامه های رمز، که با به تقلا یا unscramble اطلاعات، به رمز در آوردن آن. برای نسخه هکر، در مقابل، ما به دانش آموزان هکر یک فایل از یک کامپیوتر استاندارد یونیکس حاوی نام کاربر و کلمه عبور، دومی که رمزگذاری شده بود، و ما کسانی که هکر به چالش کشید دانش آموزان برای رمزگشایی، به عنوان بهترین آنها می تواند، این کلمه عبور، هنوز در آن همان دامنه. تقلا، یک بازی است که برخی از از شما، شاید آشنا هستند. قطعه پزشکی قانونی، که در آن ما بخواهید دانش آموزان برای بازیابی اطلاعات بوده است در غیر این صورت دیجیتال از خود من حذف کارت کامپکت فلش دوربین، در واقع نوشتن نرم افزار برای کشف کردن، که در آن صفر و آنهایی که در که دوربین دیجیتال است که قبلا متشکل از گرافیک JPEG؟ چالش از انواع سال گذشته شامل نوشتن سریعترین غلط گیر املا ممکن است، رقابت در برابر دوستان و همکلاسی اگر آنها می خواهم. پیاده سازی N پف قهر کردن، برنامه فشرده سازی. و پس از آن پایان دادن به ترم با CS50 امور مالی، یک برنامه مبتنی بر وب که شما ایجاد وب سایت eTrade مانند به خرید و فروش سهام، به طوری که صحبت می کنند، در واقع کشیدن نزدیک زمان واقعی به نقل از یاهو! امور مالی. چیزی که ما انجام نداده سال گذشته یک مجموعه مشکل این است که باقی می ماند با این وجود مورد علاقه. اگر شما هرگز به رفته shuttle.cs50.net، شما یک کاربر را ببینید رابط کمی شبیه به این. اما دو سال پیش، کلاس اجرا شده است، با استفاده از نقشه های گوگل و کره زمین گوگل پلاگین و کمی زرنگ و دانا با رانندگی در اطراف پردیس، به طوری که هدف از این بازی بود، که شما می توانید برخی از چهره های، به رانندگی در اطراف پردیس به دنبال کارکنان، همراهان آموزش و CAS، و هنگامی که شما، آنها را به قرار دادن بر روی اتوبوس شاتل شما. هیچ یک از آنها در واقع به نظر می رسد به اینجا، بنابراین ما در حال بازی کد را وارد کنید. [خنده حضار] دیوید مالان: ایناهاش. بسیار خوب. و در اینجا در حال حاضر کارکنان در سراسر محوطه دانشگاه laced. و همانطور که می بینید، در دست راست طرف از صفحه نمایش، اتوبوس شاتل صندلی های خالی. و هدف بود برای نوشتن کد که با آن برای شبیه سازی این رانندگی و برداشتن و حذف خارج از مسافران. این یکی بیش از حد، با استفاده از یک زبان به نام جاوا اسکریپت. پس متوجه باشید که برنامه می خواهم که این بر روی مسیر همان ما سال، و همچنین. در شرایط، در حال حاضر، از پشتیبانی اضافی، ما ساعات اداری. همانطور که شما ممکن است در خانه خود دیده می شود سالن ناهار خوری و یا در آننبرگ، ما را در ناهار خوری خانه سالن چهار شب اقامت در یک هفته - Leverett، Pfoho، الیوت و آننبرگ در این سال، 8:00 PM 11:00 PM. و آنچه ما فکر می کنیم می خواهم این سال را انجام دهد چیزی کمی متفاوت است. اگر شما در سال گذشته rumblings شنیده ام که آن را کمی بیش از حد پر تنش بود، این ساعات اداری در سال، به عنوان ما را توصیف هفته آینده، وجود خواهد داشت آلی، به موجب آن به محض ورود، شما می توانید اعزام به یک جدول خاص که اعضای هیات چندگانه انتظار، و خواهیم همه چیز را خیلی بیشتر انجام دهید ارگانیک. بدون صف بیشتر، اپل نه بیشتر، اما نه صمیمی تر گفتگو دور یک میز تنها هشت یا دانش آموز، به طوری که ما تقریبی احساس چه در غیر این صورت یک کلاس بسیار کوچکتر خواهد بود. ما ارائه می دهیم، و همچنین، این چیزهایی که ما نام تکمیل فرم سفارش، فیلم ها فیلم برداری در پیشبرد یکی از آموزش دوره همراهان، Zamyla، که در آن او شما از طریق پیاده مشکل هفته مجموعه ها، ارائه راهنمایی و ترفندها برای چالش های است که باقی مانده. و برعکس، پس از مجموعه مشکل هستند علت، در این سال، ما را نیز آزاد کلیپ های کوچک می نامند پست mortems که در واقع شما از طریق راه رفتن راه حل های نماینده، هر دو خوب و بد، که از طریق آن شما می توانید استنباط چگونه شما می توانید یا باید داشته باشد راه حل خود را اجرا. و آنچه ما می خواهیم برای اولین بار ارائه این سال به عنوان خوب، به خصوص برای آن دسته از دانش آموزان که خود را سود البته دیگر منابع، اما با این وجود در حال مبارزه همه بیش از حد، دوره به خودی خود این دانش آموزان جفت، به عنوان منابع اجازه، با آموزگار به طوری که شما باید خیلی بیشتر صمیمی فرصت از سالن ناهار خوری خانه اجازه می دهد برای یک در یک کمک. در حال حاضر یک نگاه اجمالی نهایی در برخی از از بازی های پایانی در چشم. شما ممکن است با آن آشنا CS50 Hackathon. خوب، در آینده این ماه دسامبر، از ساعت 8:00 صبح PM به 7:00 AM، در آغاز خواندن دوره، فرصتی خواهد بود برای جمع آوری با همکلاسی ها - این را در اطراف ساعت 9:00 PM - که در طی آن شما شیرجه رفتن به نهایی خود را اجرای پروژه در کنار همکلاسی ها، دوستان، و مواد غذایی است. این امر در سراسر 1:00 صبح زمانی که باشد، اولین دسته از مواد غذایی وارد شده است. و این است حدود 4:00 صبح که سال خاص در CS50 Hackathon. اما اوج واقعی این دوره است به معنای نمایشگاه CS50، پردیس گسترده نمایشگاه پروژه های نهایی خود را، که خانواده و دوستان دعوت به عنوان استخدام ما و دوستان ما از صنعت. این، برای مثال، یک نگاه اجمالی از 2،000 مردم که با حضور ام سال گذشته. عبارات مثل این غیر معمول نیست، و به همین ترتیب انجام خود همکلاسی ها در همه چیز لذت شما انجام شده است. و در واقع، در جهت این هدف، ما باید یک رویداد شروع ترم، نیز هست. اگر چیزهایی مثل این درخواست به شما، یا شما حداقل به آنچه به عنوان کنجکاو هستید این، می دانم که یک سنت جدید دوره نامیده می شود CS50 روز پازل. و این زن و شوهر برقرار شد سال بازگشت به واقعا به دانشگاه نشانه که علم کامپیوتر است در مورد برنامه نویسی، و آن را قطعا نه در مورد استقبال از تنها آن دسته از دانش آموزان که تجربه قبلی. این واقعا در مورد حل مسئله به طور کلی. و به همین ترتیب پازل روز، بیش از چند گذشته سال ها در حال حاضر، به خوبی تکامل یافته است همکاری با دوستان ما در فیس بوک، به موجب آن آنجا خواهد بود افسانه جوایز و پیتزا در سراسر رودخانه در -lab و این شنبه آینده. سر به آن URL با دو یا سه دوستان اگر شما می خواهم به شریک در این سنت جدید. بنابراین من می خواهم بپرسم که شما در حفظ و چیزی که در ذهن، و ما فقط دو دقیقه کلیپ که در آن به بستن امروزه. 73٪ این تعداد به خاطر داشته باشید این است. کیک، بیش از حد، شما را خارج از این انتظار بازویی کلیسا به عنوان ما در موکول تنها چند لحظه، که یک سنت این دوره، نیز هست. اما این نقل قول از برنامه درسی در ذهن داشته باشیم. در نهایت در این دوره آنچه اهمیت نه آنقدر که در آن شما را تا پایان نسبت به همکلاسی های خود که در آن شما، در هفته 12 تا پایان نسبت به خود را در هفته 0. اما نگاهی اجمالی که ما را ترک خواهد کرد با امروز در اینجا این یکی در اینجا همان دانیل ما، که ویدیو wrdly فقط یک لحظه پیش. من شما را ترک با این نگاه اجمالی از آنچه در پیش روست. و همانطور که ما این کار را، اگر ما می تواند CS50 کارکنان از جلوی اتاق در بالا آمده است به مرحله به رنگ همه بیشتر از یک تصویر بصری به عنوان آنچه شما در انتظار در سال جاری - بی دست و پا. ما را با این نتیجه گیری در اینجا بر روی صفحه نمایش. [پخش موسیقی] دیوید مالان: CS50 است. [موسیقی - MATT و KIM، "این بسیار خوب"] SPEAKER 1: من عاشق CS50 بیشتر از گربه. SPEAKER 2: Whoaaaa! [خنده حضار] دیوید مالان:، پس از آن این، CS50 است. ما شما را در روز جمعه را ببینید. [کف زدن و تشویق] راوی: در از CS50 بعد، روی صحنه نسخه ی نمایشی نمی به عنوان برنامه ریزی شده است. دیوید مالان: ما می خواهیم برای پیدا کردن مایک اسمیت در این دفترچه تلفن. خوب، غرایز شما چه هستند؟ من ممکن است تقریبا به وسط پرش دفترچه تلفن، نگاه کردن، نگاه کنید که من در M هستم، و من می دانم که در حال حاضر که مایک اسمیت در سمت چپ نیست. او باید به سمت راست باشد. و بنابراین در این مرحله، ما می تواند به معنای واقعی کلمه پاره - در این نقطه، ما به معنای واقعی کلمه می تواند پاره شود - در این مرحله، ما ظاهرا می تواند دفترچه تلفن در نیمه پاره. [UKELELE نواختن]