[МУЗЫКА ГУЛЯЕ] -Добра! -Гэта CS50. -Гэта CS50. -Гэта CS50. [MUSIC - IGGY AZALEA, "FANCY"] -Моя Любімае ўспамін з CS50 было, калі я пайшоў у Puzzle Дзень. -Напэўна Толькі час сыходзіць на хатнія заданні з маімі сябрамі і людзьмі, якія пустку у канчатковым выніку стаць мае blockmates. -Мой Лепшая памяць ад CS50 з'яўляецца Хакатон. Даследаваны CS50 Хакатон. -Hackathon. -Hackathon. -Hackathon. Даследаваны Хакатон Роб Боуден. Проста ўсе пра яго. [MUSIC - IGGY AZALEA, "FANCY"] -Моя Любімае ўспамін, калі я быў на этап, і я гуляў прэстыжную ролю з вузла [? у Linked?] [? Спіс. ?] -Калі Усе мы атрымалі свабоднае прастору Dropbox і Давід быў як, глядзіце пад свае месцы. І гэта было, месцы для ўсіх! [MUSIC - IGGY AZALEA, "FANCY"] -Мой Савет для любога які ўваходзіць студэнт будзе ў тым, каб сапраўды працаваць на P-камплекты з сябрамі. -Офисная Гадзін вельмі шмат ваш сябар. -зрабіць Большую частку вашага вопыту і сустрэць столькі людзей, колькі вы можаце. -не Бойцеся папрасіць аб дапамозе. -Start Р-наборы ў пачатку тыдня. Я думаю, самае важнае заключаецца ў скарыстацца ўсімі рэсурсамі што CS50 мае. -Go У працоўны час у пачатку тыдня. -вызначэнне Глядзець шорты. -не Адкладаць на вашых Р-мностваў. -пераканацца Вы знойдзеце выдатную групу людзей для працы на Р-мностваў с. Вы можаце мець шмат весялосці і атрымаць працу разам. -не Баяцца прымушаць сябе. Перайсці на хакерскай выдання часам. -Write Рэчы на ​​паперы да Вы ніколі не закрануць вашага кампутара. -CS50 Сапраўды выдатна на прадастаўленне спосабаў атрымаць дапамогу. -Мой Адзін савет з'яўляецца сон. Хто-небудзь сказаў, што? Сон, напэўна. Гэта лёгка не рабіць, але Вы павінны зрабіць гэта, я думаю. Я б сказаць сапраўды быць маральна гатовыя таму што вы будзеце любіць яго. [MUSIC - IGGY AZALEA, "FANCY"] -Гэта CS50. -Гэта CS50. -Гэта CS50. [MUSIC - IGGY AZALEA, "FANCY"] -Гэта CS50. [Апладысменты] David J. малая: Так што гэта CS50 і гэта канец тыдня 0. І гэта было толькі некаторыя персаналу CS50 у якія Вас чакаюць не толькі ў раздзелах і офісных гадзін, але, Таксама, у гэтыя выхадныя на CS50 Puzzle Дзень. Што, зноў жа, не ўсё аб праграмаванні. Сапраўды, чакаецца, што вас не прыйдзецца праграмаваць нічога, а вырашаць праблемы, выкарыстоўваючы досціп і сябры побач з Вамі. Мы далучацца некаторыя з нашых сяброў у Facebook-- калі вы зарэгіструйцеся здесь-- якія на працягу апошніх некалькіх гадоў, ёсць на самай справе пісаў гэтыя праблемы з намі. І так, яны будуць тымі, у канчатковым рахунку, працуе Puzzle Дзень. І так, вы будзеце быць аспрэчаныя менавіта з тых рэчаў, і праблемы, якія людзі ў Facebook падабаецца думаць аб. Так што заўтра. Зарэгістравацца на cs50.harvard.edu/register. Цяпер слова на пару персаналу ў прыватнасці. Гэта вось Ансело Даф, хто на самай справе адзін з суаўтараў гэтых бінарных лямпачкі, якія мы бачылі ў сераду, у дадатак да CS50 ўласнай Дэн Брэдлі. Ансело Даф быў таксама былы першакурснік advisee мой 3 гады таму і ён на самай справе нават пабудаваў гэты аналой. Ён сышоў на рабіць інжынерныя навукі і многае іншае. Цяпер яго фота тут на самай справе Ансело 3 гады таму на CS50 Hackathon калі ён запазычаў адзін з нашых паветраныя шары, сунуў яе ў сваім ноўтбуку, і, на працягу наступных 12 некаторыя дзіўным гадзін, сканцэнтраваны на сваім апошнім праекце, Перапынкі толькі адкрыць сумкі з цукерак на Hackathon. Але ён пайшоў на апошняе ў правесці гэтым летам з намі, з CS50 для сваіх супрацоўнікаў, і Цяпер студэнты ў гэтым семестры, мае свой уласны 3D-прынтэр. І ў двух словах 3D-друкаркі з'яўляецца прылада, якое выглядае цалкам як гэта. Вы запаўняеце яго з пластыкавай шпульцы які пераплаўку прыладай і вы будуеце рэчы літаральна з нічога. Многае, як струйный прынтэр, вы пачынаеце выплёўваючы маленькія кропкі пластыка што ўтвараюць разам з ўтвараюць цэлыя аб'екты. І так Ansel напрыклад, раней гэтым летам, мае iPhone 5 і вырашыў, што ён сапраўды хацеў каб падтрымаць яго на сваім стале. Але ён не хацеў, каб пайсці і купіць тое з крамы Apple, і да т.п., так што ён сеў і пачаў маляваць тое. Ён зрабіў некалькі вымярэнняў пра тое, як тоўсты і наколькі шырокі яго iPhone быў, ён намаляваў гэтую карцінку тут, ён вырашыў, што хоча каб мець нахіл 75 градусаў як гэта было, гледзячы на яму на яго стале там. Затым ён павярнуўся гэта, выкарыстоўваючы Праграмнае забеспячэнне, у мадэлі 3D CAD што выглядаў трохі как то так. А потым ён працягнуў, у канчатковым рахунку, на самай справе яго стварэння. Так бо, калі хто з вас тут, можа быць, запар, што я магу кінуць у, ёсць an-- там у нас ёсць людзі з мабільны 5, і тут у нас ёсць яшчэ два. Зараз, каб не адстаць, CS50 ўласнай Cheng Gong таксама выкладзены гэтым летам пабудаваць даволі шмат рэчаў і, на самай справе, па прычынах, якія да гэтага часу незразумела, быў павольна друк войска сланоў з артыкуляцыяй зброі і ствалоў. Пару, якая на самой справе тут, калі хто б зараз like-- слана. Добра ,. але тое, што Чэн таксама зрабіў для нас ён вельмі ласкава наладзіць камеру таму што ў той слон, верыце ці не, займае каля двух з паўтары гадзіны, каб раздрукаваць. Нават стэнд iPhone ўзяў гадзіну-паўтара, каб раздрукаваць. І тое, што Чэн пайшоў наперад і зрабіў быў створаны добры фотаапарат перад гэтай 3D-прынтэр, зняты на працягу гадзіны паўтара як дызайн Ансело надрукавана. Мы абклаў некаторыя сэксуальныя музыка да яго для таго, каб даць вам гэта глядзець на тое, як працуе 3D друк. І хоць гэта на самай справе ў пластык, разумець, што калі гэта вобласць цікавасць да вас у вучобе, Ёсць людзі, сярод ім Джэніфер Люіс тут ў Школе Інжынерная, хто на самай справе працуе над 3D-друку з пластыка аб'екты. Але нават, больш, біялагічныя матэрыялы для вырашэння фізіялагічныя праблемы для чалавека. Але тут трохі то ад CS50. [Гучныя механічных шумоў] David J. малая: Гэта не гучыць Нічога падобнага ў рэчаіснасці, але гэта значна лепш, каб паглядзець яго на гэтай хуткасці, і гэты гук. Зараз, у сераду, як ж мы спачатку атрымаць тут? Мы пачалі казаць пра кампутары навука і мы спыталі, што гэта было. І гэта аб шэрагу рэчаў, і ёсць вельмі шмат розных напрамкаў у якім вы можаце ўзначаліць пасля курсу як CS50. На самай справе, калі вы падабралі адзін з тых неафіцыйных гідаў у CS звонку, буклет, што мы ўвялі, ці з'яўляецеся Вы думаю ўзяць толькі CS50, ці, можа быць, робіць другасны, ці, можа быць, нават канцэнтруючыся у CS, ня прагортваць, што. І вы ўбачыце дыяграму да канца, што паказвае вам шмат розных напрамкаў у CS, што вы можаце сысці ў. Але на сённяшні дзень, мы засяродзімся, зноў жа, на сапраўды адным з асноўных выглядам, магчыма, дзе ў вас ёсць Ўваходы ў праблемах, ў вас ёсць выхады з праблемы, і ў вас ёсць алгарытмы з дапамогай якіх можна стварыць гэтыя выхады з гэтых уваходаў. І адным з такіх прыкладаў, была Вядома, гэта тэлефонны даведнік тут. І мы выкарыстоўвалі ў якасці прыкладу для пераходу праз алгарытм, які быў правільным. А потым яшчэ адзін быў правільна, але трохі хутчэй. А потым яшчэ адзін, які быў трохі больш драматычным, але прынцыпова хутчэй. Права, гэта тэлефонная кніга, мы сцвярджаў, было каля 1000 старонак. А колькі разоў у мяне не было ірваць тэлефонную кнігу ў палове знайсці чалавека, як Майк Сміт, максімальна, у 1000 старонак кнігі? Так, 10 плюс-мінус. І таму, як толькі я разарваў гэтую рэч у палова, ці проста, больш спела, дзеліцца напалову, гэта толькі 10 старонак з 1000. І калі экстрапаляваць, трохі нерэальна для тэлефоннай кнігі, але калі гэта тэлефонная кніга была некаторая 4 млрд старонак ў ім, так цалкам грувасткім фізічна, колькі раз вы падзяліць 4000000000 старонка тэлефоннай кнігі ў палове? Так што гэта на самай справе 32, плюс-мінус. І так 32 разоў толькі, з з 4 млрд старонак, можна вы знойдзеце чалавека, як Майк Сміт. І гэта эфектыўнасць. Гэта добры алгарытм, адважуся сказаць. Але потым мы пераехалі ад паспрабаваць фармалізаваць яго. І я прапанаваў гэты псевдокод код. ПСЕВДОКОД код няма нічога фармальнага. Гэта не тое, што вы запомніце. Гэта проста тое, што вы выказаць даволі інтуітыўна выкарыстанні англійскай мовы, або любы мова сапраўды, што перадае свае ідэі лаканічна. Але тое, што ключ аб псевдокод код з'яўляецца тое, што вам паспрабаваць прадбачыць ўсе магчымыя выпадкі, якія могуць адбыцца. І на самай справе, у гэтым псевдокоде Код, там былі сапраўды тры выпадкі кожны раз, калі я падзяліў тэлефонную кнігу. Mike можа быць злева. Майк можа быць справа. Ці ён можа быць прама на старонцы я на. Ці чацвёрты кут выпадак, так бы мовіць. Дрэнны сцэнар можа быць адзін which-- што адбываецца? Майк проста не ў тэлефонная кніга на ўсіх. І калі праграмы crash-- калі Mac і праграмнае забеспячэнне ПК, што вы, хлопцы, бегчы на кампутарах часам завісае або нечакана завяршае працу, , Што ў асноўным азначае, што некаторыя праграміст, некаторыя чалавечыя, як вы ў бліжэйшы час, проста аблажаўся і памыліліся. Можа быць, не меркавалі, што, магчыма, ёсць няма Майк Сміт у тэлефоннай кнізе. І калі вы на самой справе не напісаць Код для апрацоўкі такіх сітуацый, як правіла, непрадказальныя рэчы могуць здарыцца. Ваша машына можа замерзнуць. Ён можа перазагрузіцца. Праграма можа кінуць. І так усё гэта глупства, што вы можаце сутыкнуліся ў ваш фактычны жыццё толькі з дапамогай кампутараў, больш будзе проста растлумачаны гэтай інтуіцыі і гэта разуменне таго, што на самай справе адбываецца пад капотам. Зараз давайце паспрабуем зірнуць ў больш агульнай задачы. Замест таго, каб наведвальнасць у такім месцы, як гэта, што было б даволі павольна зрабіць адзін, два, тры, чатыры. Ці, можа быць два, чатыры, шэсць, восем. Давайце засяродзімся, замест гэтага, на як мы маглі б фармалізаваць Алгарытм працэсу па якія мы маглі б прыняць удзел. І на гэтым шляху, давайце пачнем ўжываць некаторыя спецыфікацыі што мы выкарыстоўваем сёння, калі мы на самай справе пачаць пісаць на мове. Таму я даю вам цяпер, чатыры хвіліны відэа што мы ставім разам з нашымі сябрамі ад TED, арганізацыі. Прычым мы паставілі сцэнар і яны прынеслі свае аніматары несці, і фактычна стварыў 2D анімацыя пра тое, што алгарытм. Калі б мы маглі прыглушыць святло. [МУЗЫКА ГУЛЯЕ] Апавядальнік: Што алгарытм? У інфарматыцы, Алгарытм ўяўляе сабой набор інструкцый рашэння некаторыя праблемы крок за крокам. Як правіла, алгарытмы якія выконваюцца кампутарамі, але мы, людзі, павінны алгарытмаў, а таксама. Напрыклад, як будзе Вы ідзяце аб падліку колькасць людзей у пакоі? Ну, калі вы падобныя на мяне, вы, верагодна, пазначыць на кожнага чалавека па адным і падлічваць ад нуля. Адзін, два, тры, чатыры, і гэтак далей. Ну, гэта алгарытм. На самай справе, давайце паспрабуем выказаць гэта ў Трохі больш фармальна ў псевдокода кода. Англійская-падобны сінтаксіс, што нагадвае мова праграмавання. Хай п роўная 0. Для кожнага чалавека ў пакоі, пакласці п роўная н плюс 1. Як інтэрпрэтаваць псевдокод? Ну адна лінія заяўляе, так бы мовіць, зменную называецца п і ініцыялізуе яго значэнне ў 0 гэтага проста азначае, што ў пачынаючы нашага алгарытму, рэч, з якой мы Падлік мае значэнне 0. Бо раней мы пачынаем лічыць мы нічога не ўлічваюцца яшчэ. Выклік гэтай зменнай н толькі пагадненне. Я мог бы назваць яго чым заўгодна. Цяпер выстройваюцца дзве demarks пачатак цыклу, паслядоўнасць крокаў, якія будуць паўтарыць некаторы колькасць разоў. Такім чынам, у нашым прыкладзе, крок мы ўзяцце разлічвае людзей у пакоі. Пад лініі два з'яўляецца лінія тры якая апісвае як менавіта мы пойдзем пра падлік. Паглыбленне вынікае, што гэта лінія тры, што будзе паўтараць. Так што з код псевдокод прымаўка, што пасля запуску на 0 для кожнага чалавека ў Нумар, які мы будзем павялічваць п на 1 Цяпер гэты алгарытм правільна? Ну давайце стукаць па ім няшмат. Ці значыць гэта працаваць, калі ёсць два чалавекі ў пакоі? Давайце паглядзім. У адпаведнасці адным мы ініцыялізуем н 0. Для кожнага з гэтых двух людзей, мы затым павялічыць п на 1. Такім чынам, у першай паездцы праз цыкл, мы абнаўляем п ад 0 да 1. У другой паездцы праз якія жа цыкл, мы абнаўляем п ад 1 да 2. І так, па гэтай алгарытму канца, N 2, якія На самай справе адпавядае нумару людзей у пакоі. Пакуль усё ідзе добра. Як наконт кутняга выпадку, хоць? Выкажам здагадку, што ёсць 0 чалавек у room-- акрамя мяне, хто рабіць разметку. У адпаведнасці адным, мы зноў ініцыялізаваць п да 0. На гэты раз, хоць, лінія тры не выконвае наогул так як гэта не чалавек у пакоі. І так н застаецца 0, якая сапраўды адпавядае колькасць людзей у пакоі. Даволі проста, ці не так? Але і лічыць людзей, па адным за раз даволі неэфектыўна, таксама няма? Вядома, мы можам зрабіць лепш. Чаму б не разлічваць двух чалавек за адзін раз, замест таго каб лічыць адзін, два, тры, чатыры, пяць, шэсць, сем, восем, і гэтак далей. Чаму б не разлічваць два, чатыры, шэсць, восем, і гэтак далей? Гэта нават гучыць хутчэй. І гэта, безумоўна, зьяўляецца. Давайце выказаць гэтую аптымізацыю у псевдокода кода. Хай п роўная 0. Для кожнай пары людзей у пакой, камплект н роўная п плюс 2. Даволі простае змяненне, ці не так? Замест таго, каб разлічваць людзям па адным, мы замест разлічваць ім два за адзін раз. Гэты алгарытм, такім чынам, ўдвая хутчэй, чым у мінулым. Але гэта правільна? Давайце паглядзім. Ці значыць гэта працаваць, калі ёсць два чалавекі ў пакоі? У адпаведнасці адным, мы ініцыялізуем н 0. Па гэтай адной пары людзей, мы затым павялічыць п на 2. І так гэтым алгарытму Канец н 2, якія На самай справе адпавядае нумару людзей у пакоі. Выкажам здагадку зараз, што ёсць нуль чалавек у пакоі. У адпаведнасці адным мы ініцыялізуем н 0. Як і раней, лінія тры не выконвае ўсе бо няма ніякіх пар людзей ў пакоі, і так н застаецца 0. Якія на самой справе адпавядае колькасць людзей у пакоі. Але што, калі ёсць тры чалавекі ў пакоі? Як гэта алгарытм праезд? Давайце паглядзім, у адпаведнасці адным, мы ініцыялізуем н 0. Для пары тых людзей, мы затым павялічыць п на 2. Але што потым? Існуе не яшчэ адзін поўны пара людзей у пакоі, не так лінія два больш не ўжываецца. І так да канца гэтага алгарытму, н-ранейшаму 2, які не з'яўляецца правільным. Сапраўды гэты алгарытм, як кажуць быць памылка, паколькі яна мае памылку. Давайце пакрыццё з некаторымі Новы код псевдокод. Хай п роўная 0. Для кожнай пары людзей у пакой, камплект N роўная п плюс 2. Калі адзін чалавек застаецца няпарны, ўсталяваць N роўная н плюс 1. Для вырашэння гэтай канкрэтнай праблемы, мы ўведзены ў чацвёртым радку стану, інакш вядомы як галінка, што выконваецца толькі калі ёсць адзін чалавек, якога мы ня мог злучыць з іншым. І вось цяпер, будзь ёсць адна ці тры, або любое няцотная колькасць людзей у пакоі, Цяпер гэты алгарытм будзе лічыць іх. Ці можам мы зрабіць яшчэ лепш? Ну, мы маглі разлічваць у тройках, або чацвёрак, ці нават пяцёркі і дзясяткі, але акрамя таго, яна збіраецца атрымаць трохі цяжка пазначыць. У канцы дня, няхай гэта будзе якія выконваюцца кампутарамі або чалавека, алгарытмы проста набор інструкцый з якой для вырашэння праблем. Яны былі толькі тры. Якія праблемы вы б вырашыць з дапамогай алгарытму? David J. малая: Так свядома, вельмі простая праграма, вельмі просты алгарытм, для дасягнення чаго-то вельмі проста, лічачы колькасць людзей у пакоі. Але давайце дражніць адзін ад аднаго некаторыя з прадстаўніка мае тут, што на самой справе будзе карысна нават тады, калі рэалізаваўшы большасць комплекс праграмнага забеспячэння. Так, напрыклад, у гэтай першай лініі, у нас ёсць, што мы называем зменную, і ад алгебры, вы як правіла, знаёмыя з выкарыстаннем х і ў і г часам, і так далей. Але ў праграмаванні, зменныя па-ранейшаму, у рэшце рэшт, вельмі падобны на. Але гэта, магчыма, прасцей думаць зменнай як толькі кантэйнер. І, на самай справе, гэта некаторы лік бітаў рэалізаваны некалькі на цвёрдым дыску або ў памяці кампутара, але пра гэта ў будучыні. Гэта проста кантэйнер. І калі вы кажаце, то як хай п роўная 0, ну вось як назваць гэты келіх Чаша тут п, проста адвольнае імя, і ня пакласці нічога ў ім першапачаткова. Так кошту гэтага Чаша зараз роўная нуля. І, вядома, калі вы ўспрымаеце ў наступным лініі, на самай справе павялічыць некаторыя лінію Код, як і ў гэтай трэцяй лініі тут, на 1, гэта, як кажуць, што гэта бягучае значэнне п, гэта 0, плюс 1, пакласці нешта падобнае пінг-понг мяч у тут. Цяпер значэнне гэтага Пераменная даволі проста 1. А вы маглі б вельмі хутка экстрапаляваць, але цяпер гэта 2, цяпер гэта 3, і гэтак далей. Дык вось усе пераменная. Гэта частка захоўвання, каб на самай справе захоўваць свае дадзеныя. Зараз гэта для пінг-понга. Там гэты лік. Але гэта можа быць слова ў слоўнік, як праверка арфаграфіі Я спасылаўся на сераду для адзін з леташніх праблемных набораў. Цяпер яшчэ адзін ключавой ідэяй, што ж з'яўляецца даволі інтуітыўна я б прэтэндаваць, з'яўляецца тое, што завесы. І цыкл у працэсе падліковай ўсіх гэта, вядома, робіць тое ж самае рэч зноў і again-- альбо адзін у той час, ці два за адзін раз. І вы можаце выказаць гэта на англійскай мове, або псевдокод код, у любым колькасці спосабамі, але з дапамогай гэтага прыназоўнік "для" з'яўляецца вельмі распаўсюджаным спосабам дасягнення гэтай мэты. Для кожнага чалавека ў нумары, зрабіць гэта. Зноў і зноў. А тое, што гэта водступам, лінія тры, проста азначае, што тое, што вы павінны рабіць гэта рэчы, які з водступам рысай дзве сама па сабе. Проста чалавек канвенцыі, але распаўсюджаны як мы ўбачым у рэальнай вышэйшага мовы праграмавання ўзроўню. Зараз трохі больш цікавым з'яўляецца калі вы атрымліваеце ў вуглавым выпадку. Напрыклад, кут Справа была, калі было тры чалавекі, ці пяць, ці сем, або любое няцотная колькасць людзей у пакоі, таму што рабіць, што па двое тармазоў у рэшце рэшт, таму што ваша рух сумаваць па чалавеку, альбо ў Самы пачатак або самы канец у залежнасці ад таго, як вы гэта робіце. І так, зараз у мяне ёсць гэты філіял, або стан, калі адзін чалавек застаецца, затым пайсці далей і справіцца з гэтым адзін Самотны чалавек, які не атрымаў у пары з кім-то яшчэ. Дык вось тое, што мы назвалі б стан, ці філіял. Цяпер псевдокод код ў больш агульным можа быць напісана, каб вырашыць любую шэраг праблем. І тое, што я думаў, што мы зрабіць тут скарыстацца момантам запрасіць скажам CS50 сайт уладальнікам Роб Боуден на сцэне да іх далучыцца двух добраахвотнікаў, якія паняцці не маюць, што чакае. Рука пайшла ўніз, як толькі я сказаў, што. Як пра вас заканчваецца, давай до. А як наконт ад далей далёка, як пра шлях у спіну. Задні шэраг, давай з паднятымі рукамі. Добра, і як цябе завуць? Аніта: Аніта. David J. малая: Аніта. Добра, прыемна пазнаёміцца. Дазвольце мне пазнаёміць вас з Робом Боуден. Гэта Аніта. І як цябе завуць? Кірстен: Kiersten David J. малая: Кірстен. Кірстен, давай і сустрэць Роба Боуден і Аніта. Прыемна пазнаёміцца. Кірстен: Прыемна пазнаёміцца. David J. малая: Добра, Роб. ROB BOWDEN: Прыемна пазнаёміцца. David J. малая: Аніта. Кірстен: Прывітанне Аніта. David J. малая: І ваш некалькі сотняў аднакласнікі. Такім чынам, цяпер дазвольце мне ісці наперад і цягнуць да ўсяго толькі простым праграмы тут на Mac OS, што мне дазволіш фактычна коратка некаторыя нататкі ўніз. І калі вы, хлопцы, жадаеце, каб кожны бярэ Становішча на адным з гэтых школ там, дазвольце мне ісці наперад і пачынае спіс з псевдокода кода, калі вы будзеце. І тое, што я хачу зрабіць тут, у канчатковым рахунку, з'яўляецца тып для вас некаторыя інструкцыі, што нашы гледачы на ​​самай справе збіраецца чытаць для нас. Дазвольце мне ісці наперад і толькі змяніць гэта нумараванага спісу адпавядае таму, што мы рабілі там. І тое, што я збіраюся зрабіць з Ваша дапамога, гэта напісаць праграму у псевдокоде, з якой гэтыя хлопцы збіраюцца рэалізаваць арахіс алей і сэндвіч жэле. Так што гэта, магчыма, дарэчы, каб паказаць тое некаторыя з вас магчыма, бачылі ў Інтэрнэце на працягу толькі кароткага раздражняе момант. [МУЗЫКА BUCKEWHEAT BOYS, "арахісавае масла  Жэле ЧАС "] David J. малая: ОК. Гэта дастаткова. Дык вось у той час, у мяне ёсць Пара Google Glasses, якія мы змесцім на CS50 уласнай Роб Боуден каб убачыць свет яго вачыма. І мы зробім усё магчымае, на пасадзе Вытворчасць на самай справе плесці кадры з якой Роба бачыць Зараз, у гэтай рэальнай лекцыі відэа з нашымі дзвюма валанцёры побач з ім. Так што я збіраюся рабіць з'яўляецца, я буду машыністка. Мы маем мэта тут на самай справе напісання праграмы , З якой, каб зрабіць, у канчатковым рахунку, арахісавае масла і бутэрброд жэле, але гэтыя тры будуць сябе паводзіць як быццам яны з'яўляюцца кампутары. І кампутары, у канцы дня, на самай справе даволі нямыя прылады. Яны супер хутка, але яны могуць толькі зрабіць, літаральна, што ім кажуць. Вы не можаце проста сказаць зрабіць арахіс алей і сэндвіч жэле. Вы павінны запраграмаваць іх рабіць гэта. Вы павінны сказаць ім, з дакладнасцю, што рабіць, менш справы ідуць жудасна і, спадзяюся, пацешна наперакасяк. Так што з улікам сказанага, мы павінны адзін выклік ад'езду з залы за што варта актывізаваць адзін быць, калі мэта тут з'яўляецца зрабіць арахіс алей і сэндвіч жэле. Так? АЎДЫТОРЫЯ: [неразборліва] мяшок хлеба. David J. малая: Адкрыйце сумку хлеба. Так, калі тры канкурсантаў будзе хочаце працягнуць рабіць гэта літаральна. Адкрыйце сумку хлеба. [Аўдыторыя смяецца] David J. малая: Так што давайце працаваць над гэтым. Добра. Так крок два, how-- давайце гэтае пытанне. Так, у пярэдняй часткі. АЎДЫТОРЫЯ: [неразборліва] хлеб. David J. малая: Што гэта? АЎДЫТОРЫЯ: Зніміце хлеб. David J. малая: Зніміце хлеб. Аналагічна лаканічным. Дзякуй. [Апладысменты] David J. малая: Вось гэта? Такім чынам, крок два збіраецца быць выдаліць хлеб. Добра, хто хоча напісаць нам больш працяглы тэрмін? Хто яшчэ? Яшчэ трохі [неразборліва]. Не, нічога цяпер. Так? АЎДЫТОРЫЯ: Месца два лустачкі побач адзін з адным. David J. малая: Месца два лустачкі побач адзін з адным. [Аўдыторыя смяецца] David J. малая: Месца два лустачкі побач адзін з адным. Крок чацвёрты. Так? АЎДЫТОРЫЯ: Вазьміце ваш рука і ўсталяваць яго злёгку на верхняй частцы вечка арахісавага алею. [Аўдыторыя смяецца] АЎДЫТОРЫЯ: [неразборліва] побач з арахісавае масла. David J. малая: Што? Сказаць, што зноў. АЎДЫТОРЫЯ: адвінціць вечка і паставіць гэта мякка побач з арахісавае масла. David J. малая: Пакладзеце яго акуратна побач з арахісавае масла. ОК, прагрэс. Крок пяты. Выдатна. Так? Вазьміце нож. David J. малая: Вазьміце нож. ОК, крок шэсць. Так? АЎДЫТОРЫЯ: Трымайце нож за дзяржальню. David J. малая: Трымайце нож за ручку. Трымаеце нож за дзяржальню. Крок сёмы. Так? АЎДЫТОРЫЯ: [неразборліва] нож у арахіса алей і як мала з [неразборліва]. David J. малая: Пакладзеце нож в-- I чуў "паклаў нож у масла арахіса і заняць за ўсё, як можна ". Дарэчы, трэба спачатку выдаліць паперу. Добра, крок дзевяць. Крок дзявяты. Крок дзявяты. Мы на самай справе не зрабіў бутэрброд яшчэ. Так? АЎДЫТОРЫЯ: Выкарыстанне нож у масла арахіса, прымяніць арахісавае масла на паказаны хлеб. David J. малая: Выкарыстанне нож у арахісавае масла, вырабіце масла арахіса на сказаў хлеб. [Аўдыторыя смяецца] David J. малая: Добра крок 10. Крок 10. Так? АЎДЫТОРЫЯ: Густ арахісавае алей для забеспячэння якасці. [Аўдыторыя смяецца] David J. малая: Крок 11. Крок 11. Крок 11. Давай. Так? Прама там. АЎДЫТОРЫЯ: Старанна падабраць жэле. David J. малая: Старанна падабраць жэле. ОК, а потым яшчэ рука была да. Адразу за вас. Так, у сіні. АЎДЫТОРЫЯ: Добра, выдаліць Вечка з [неразборліва], так, выдаліць вечка з жэле. [Аўдыторыя смяецца] David J. малая: Ад жэле. Ха-ха. [Аўдыторыя смяецца] David J. малая: І? АЎДЫТОРЫЯ: І ледзь падмятаць любы [неразборліва]. [Аўдыторыя смяецца] АЎДЫТОРЫЯ: Вядома, перш чым [неразборліва], выдаліце ​​паперу з жэле. David J. малая: Выдаліце ​​паперу з жэле. Крок 14. Мы амаль на месцы. Так? АЎДЫТОРЫЯ: Звярнуць жэле бутэлька перш чым усе вывальваецца. David J. малая: Звярнуць жэле Бутэлька да жэле выпадае. Крок 15. АЎДЫТОРЫЯ: Заменіце крышку. David J. малая: Заменіце крышку. Крок 16. Так? АЎДЫТОРЫЯ: [неразборліва] David J. малая: Сказаць, што зноў. АЎДЫТОРЫЯ: Вазьміце вечка ад вашага жэле. David J. малая: Off вашай жэле. Так really-- жаль. Давай. Заменіце крышку. Пакладзеце cap-- Вы сказалі, Зняць вечка з жэле. Адчуйце, як мы знаходзімся ў трохі завесы. Крок 17. Так? АЎДЫТОРЫЯ: [неразборліва] David J. малая: Сказаць, што зноў. АЎДЫТОРЫЯ: [неразборліва] David J. малая: Калі ласка, вярніцеся да step-- АЎДЫТОРЫЯ: [неразборліва] David J. малая: Выдаліць каўпачок з арахісавае масла. Так? АЎДЫТОРЫЯ: Пакіньце ўсе жэле на хлеб. David J. малая: Пакіньце ўсе жэле на хлеб. David J. малая: Мы амаль на месцы. Крок 19. АЎДЫТОРЫЯ: Выдаліце ​​лішкі жэле. David J. малая: Ха-ха, жэле. [Апладысменты] David J. малая: Чаму не мы-- яшчэ адзін крок, каб узяць гэты дом. Яшчэ адзін крок, а затым мы падаюць бутэрброды. Так? АЎДЫТОРЫЯ: [неразборліва] David J. малая: У той час як любы бутэрброд remains-- давай водступ это-- з'есці. [Смех] David J. малая: Добра, дзякуй Вам нашых валанцёраў тут. [Апладысменты} David J. малая: У нас ёсць некаторыя цікавыя развітанне падарункі для кожнага з вас. Ваш уласны арахісавае масла, жэле, і хлеб, каб прынесці дадому. Дзякуй. Кірстен: Дзякуй. David J. малая: [неразборліва] вітаю. [Апладысменты] David J. малая: Так, гэта, Вядома, смешна прыклад. Дакладна? Але гэта свайго роду выявіць, як мы людзі проста ўзяць яснасць як належнае. І той факт, што я быў размаўляе з іншым чалавекам, ён ці яна проста ведае, што вы маеце на ўвазе. Кампутары не збіраемся ведаць, што вы маеце на ўвазе, нават пры выкарыстанні ў якасці мы збіраемся зрабіць сёння, праграмаванне то ў пустым, перацягнуць і падзенне, мова паззл стыль. Нават прызначаны для маладых дзеці, у вас ёсць быць настолькі відавочным і так літаральна з што вы хочаце, каб ваша праграма зрабіць. Зараз, у канчатковым рахунку, мы будзе праграмаванні не ў псевдокода кода, Англійская як сінтаксіс, але код ці, больш правільна, зыходны код. Зыходны код проста мудрагелісты спосаб для апісання кода вы на самой справе напісаць з клавіятурай, гэта не на англійскай мове як такой. Гэта ў C або Java або C ++ ці нешта так, як мы хутка ўбачым. І на самай справе, проста каб напалохаць Некаторыя з вас, на першы погляд, гэта праграма, напісаная на мове называецца C. Але ў не-напалохаць некаторых з вас, Вы будзеце цалкам зразумець, што адбываецца давай у наступны панядзелак, калі яго прыходзіць нешта накшталт гэтага. Шчыра кажучы, гэта стары мову. Гэта даволі таямніцай, але гэта прадстаўнік з вялікай колькасці моў у гэтыя дні, што ёсць шмат дужак і кучаравых падцяжкі і двукоссі і кропкі з коскі. І шмат што з гэтага сінтаксічны матэрыял, які не наогул інтэлектуальна цікавым. На самай справе, гэта поўнае адцягненне ад вельмі простых ідэй што глядзяць нам у вочы. Гэтая праграма, як вы маглі толькі здагадвацца, друкуе на экран кампутара чьей- словы "Прывітанне коска свет." Вось і ўсё. Такім чынам, ясна, што ёсць шмат матэрыялу, што гэта атрымліваць у шляху некаторыя відавочнасць ёсць, але гэта будзе вельмі хутка праслізнуць далёка і быць цалкам інтуітыўным. На самай справе, тое, што мы збіраемся зрабіць сёння пераганяць гэта даволі складаны шукаю праграму, якая зноў прыйдзеш хутка зразумець, але ў той значна прасцей. Давайце проста скажам, што мы маем на ўвазе. Давайце намалюем карціну таго, што мы маем на ўвазе, шляхам гэтых галаваломкі тут. Так што гэта праграмаванне мова вядомы як нуля. Яна была распрацавана Масачусецкага тэхналагічнага інстытута Media Lab. І тое, што вы ўбачыце ў праблеме ўсталяваць нуля, які будзе выпушчаны пазней сёння ўвечары, мы будзем мець вы ідзяце ў гэты Спасылка тут scratch.mit.edu. І ў іх ёсць вэб Інтэрфейс на аснове, праз які вы будзеце пісаць першую праграму. Або тых з вас, з да вопыт, ваш другі праграмы, але ў асяроддзі, гэта верагодна, крыху знаёмыя, і што будзе штурхаць вас, каб стварыць нешта з дапамогай гэтага вельмі візуальную сераду. Цяпер, тое, што я збіраюся зрабіць тут гэта адкрыць саму праграму. Яна існуе не толькі ў якасці вэб-браўзэра, але і ў выглядзе загружанага праграмы так што вы можаце выкарыстоўваць яго калі ў вас няма доступу ў Інтэрнэт. І я збіраюся зрабіць гэта тут, у Сандэрс, проста у выпадку Wi-Fi не робіць супрацоўнічаць супер добра. І тое, што я збіраюся зрабіць, гэта кропка з некалькіх асаблівасцяў гэтай праграмы. Так, каб было ясна, у мяне ёсць толькі двойчы пстрыкнуць значок на працоўным стале, ці, што эквівалентна пайшоў scratch.mit.edu, і гэта пад'ехаў гэта акно. Гэта асяроддзе праграмавання. Гэта частка праграмнага забеспячэння, некаторыя з нашых сяброў у Масачусецкім тэхналагічным інстытуце пісаў, што давай да нас і вы напісаць праграмы на мове называецца нуля. Зараз гэта здараецца, котка, якая таксама называецца драпін і гэта яго свет, у якім ён жыве. Гэта этап, так бы мовіць, што прастакутнік ў верхнім левым куце. І ён не павінен выглядаць, як кошка. Вы можаце прымусіць яго выглядаць накшталт нічога і вас можа мець шмат такіх спрайтов, або знакаў, у праграме. Між тым, тут на крайнім Права, гэта вялікі чысты ліст. І вось тут, у момант, мы збіраемся для пачатку праграмавання з дапамогай перацягвання Гэтыя графічныя галаваломкі штук, якія з'яўляюцца правільнымі тут у сярэдзіне. І ёсць нашмат больш з іх, чым мы выдаткуем час на тут у класе таму што вы знойдзеце, што яны ўсё даволі інтуітыўна. Зноў жа, гэта распрацавана, для дзяцей, але мы выкарыстоўваць яго, каб дражніць адзін ад аднаго некаторыя з тых, Асноўныя ідэі зменных, цыклы, ўмовы, і, у бліжэйшы час, рэчы як функцый і падзей і ніткі і іншыя модныя рэчы, якія мы дабрацца да хуткім часе на самай справе стварыць то з нуля. Каламбур. Цяпер, што я збіраюся зрабіць тут націсніце на ня рух, але кантроль. І гэта ўсяго толькі катэгарызацыі здесь-- і я бачу іншае Колер набор блокаў. Але звярніце ўвагу, некалькі знаёмых слоў. "Калі" і "яшчэ, калі" і "паўтор". І вы можаце здагадацца вось нагадвае філіяла, або ўмовы мы бачылі, і нават разнавіднасцяў цыклаў. Таму ў нас ёсць падобныя блокі тут. Але самае цікавае адзін гэты тут. Пры гэтым зялёны сцяг пстрычцы гэта, для тых, з папярэдняга праграмавання вопыт, эквівалентна да асноўнай функцыі. Але для тых, хто незнаёмы, гэта паззл што будзе ўдар пачаць ўсю нашу праграму. Гэта літаральна азначае, калі я іду ў гэты Праграма, і націсніце зялёную flag-- якія вы можаце ўбачыць тут, у верхнім левым куце карыстацкага інтэрфейсу, так ўбачыць зялёны сьцяг побач з чырвоным знакам ступня? Калі я націскаю, што, мой Праграма будзе працаваць. Зараз, я збіраюся зрабіць тое супер проста з нуля. Я збіраюся ісці наперад і перайсці на панэль выглядае тут, дзе ў мяне ёсць куча фіялетавыя галаваломкі, і я збіраюся ісці наперад і рабіць то супер проста, як, скажам. І then-- апавяшчэнне гэта Тэкст у белым полі з'яўляецца editable-- я збіраюся сказаць, "Прывітанне, свет", як мы зрабіў у гэтай тэкставай версія імгненне таму. І зараз, калі я пайду і націсніце гэтую кнопку зялёны сьцяг, я цяпер запраграмаваныя. Гэта не асабліва цікавая праграма, але я зрабіў кампутар-то рабіць. Я пачаў праграму, і яна зрабіў тое, што я сказаў гэта зрабіць. Зараз, я магу працягваць перацягнуць ўсё больш і больш з гэтых частак галаваломкі і яны збіраюцца блакавацца, але давайце аплявуху некаторую тэрміналогію тут што мы ўбачым паўтаральных на працягу ўсяго курсу, і сапраўды на працягу інфарматыцы і праграмавання ў цэлым. Гэта "сказаць" блок, у фіялетавы, давайце проста пачаць называць заяву. Гэта як канстатацыя факту. Зрабіце гэта. Такім чынам, гэта катэгорыя інструкцыі, якія вам можа карміць кампутар як частка праграмы або алгарытму. І каб было ясна, вы, верагодна, само сабой якія разумеюцца што ў вас ёсць праграмы на кампутары. І яны накшталт алгарытмаў, але Праграма сапраўды куча алгарытмаў што некаторыя людзі пісалі. Яны спакаваныя яго і яны прадалі яго, каб вы, або яны размешчаны на вэб-сайце для загрузкі. Так, праграма проста цэлая куча нулёў і адзінак што, так ці інакш, людзі стварылі. І гэтыя мадэлі нулёў і тыя ўяўляюць рэчы, у выніку, як "сказаць прывітанне свет" ці "гульні гэтая музыка "ці" гэта відэа " або "адправіць ліст." Але мы яшчэ вернемся ў спосаб больш падрабязна, што Праграма, калі вы, самі, запісаць іх. Вось яшчэ адзін statement-- "Пачакайце адну секунду." Я не выкарыстоўваў гэтага, але калі я хачу мая праграма, каб прыпыніць на імгненне нешта рабіць, я магу сказаць яго, зрабіць гэта. Пачакайце адну секунду. Цяпер яшчэ адзін можа быць "прайгравання гуку." Такім чынам, гэта з'яўляецца унікальным для нуля, мае магчымасць прайгравання гукаў. Так, заява я мог бы выкарыстанне, тут, "гуляць гук." Між тым, лагічны выраз, так што гэта аматар слова імя ўсяго хлопцам па імі г-н Bool, і гэта ўсё пра пытанне. Праўда ці false-- з'яўляецца мышы ўніз? Лагічнае выраз проста некаторы выраз на англійскай мове што з'яўляецца сапраўдным або ілжывым. Уключаны або выключаны. Альбо адзін або нуль. Вы можаце думаць пра гэта У любым ліку шляхоў, але гэта альбо праўдзіва, альбо гэта ілжывае, у канчатковым рахунку ,. Так "мышы ўніз знак пытання," што б гэта лагічны выраз. І вы можаце думаць пра іншых, магчыма. Напрыклад, "з'яўляецца налева лік менш правага колькасці? " Гэта таксама будзе лагічнае выраз. "Менш" гэта лагічны выраз. Гэта адзін, таксама "кранальна паказальнік мышы." Я не ўпэўнены, чаму яны назваў яго паказальнік мышы. Гэта проста азначае ,, з'яўляецца курсор, з'яўляецца стрэлка на экране, дакранаючыся котку, напрыклад. Ці некаторыя іншыя аспекты экране. І гэта пытанне, зноў жа, і што пазначае лагічны выраз. Тое, што вы, магчыма, хочаце выкарыстоўваць у стане. Так мы прыйдзем да таго, што праз хвіліну. Вы можаце "і" рэчы разам. Такім чынам, калі вы хочаце праверыць, калі гэта у выпадку І гэта так, Вы можаце выкарыстоўваць "і" блок, як гэта. І вось, што стан. Звярніце ўвагу на форму маленькага адкрыцця у верхняй частцы гэтай жоўтай паззл, гэта нагадвае форму што мы толькі што бачылі некалькі хвілін таму. Кожны з гэтых лагічных выразаў ёсць гэтыя завостранымі краямі злева і справа. І гэта таму, што MIT людзі вырашылі што візуальна транспарціроўкі формаў, Вы можаце збольшага дапамагчы людзям, студэнты, так і дзяцей, каб збольшага папоўніць прабелы ў літаральным сэнсе. Цяпер, калі puzzle-- што Адкрыццё вельмі маленькі, і, як мы ўбачым у праграме, у пустым, ён будзе расці, каб адпавядаць. Ён будзе падтрымліваць сваю форму, у канчатковым рахунку ,. Так стан давайце вы вырашыце "Я павінен рабіць тое ці не?" Лагічнае выраз з'яўляецца фактычным пытанне вы карыстаецеся, каб вырашыць, я іду, каб налева або мне пайсці направа калі я сутыкаюся з гэтым так званая скрыжаванне? Вы можаце мець дзве галіны. Калі што-то праўда, зрабіць гэта, яшчэ ісці па гэтым шляху, ці вы не можаце проста зрабіць нічога усё, як гэты блок пэўныя. Аналагічна, мы можам гняздо гэтыя рэчы. Так што калі вы хочаце, каб патроіць відэлец у дарога, альбо зрабіць гэта ці тое ці гэта, вы можаце проста гняздо гэтыя рэчы разам. І ён пачынае атрымліваць трохі непрыгожа, у рэшце рэшт, напэўна, але логіка ўсё тая ж. Вы можаце літаральна чытаць гэта зверху ўніз і гэта кажа, што гэта азначае: калі гэта Праўда, зрабіць гэта, інакш, калі ў іншым месцы. Цыкл не атрымаць прасцей за нуль. Назаўжды зрабіць наступнае. Цяпер вы можаце не думаю, што вы могуць шмат зрабіць, таму што няма шмат месца паміж верхняй і Дно гэтай адкрыцця кавалак галаваломкі. Але вы ўбачыце драпін збіраецца расці, каб адпавядаць як шмат частак галаваломкі як вы хочаце, каб ўціснуць туды. Іншы цыкл можа быць выяўленыя з паўторамі. Калі вы загадзя ведаеце, "я хачу рабіць тое, у 10 разоў, " вы можаце проста сказаць драпін зрабіць што-то ў 10 разоў. І, між тым, мы можам мець зменныя. Дык вось адвольным, гэта аранжавы у гэтым выпадку, і гэта ўраганны тур. Зноў жа, вы знойдзеце гэта вельмі даступны Як толькі вы пачынаеце паказваючы і націснуўшы кнопку. Я назваў свой зменную п, але я маглі б назваў яго, што я хачу, і я ўсталёўваю яго тут, у Гэты прыклад адвольна, да нуля. Цяпер бачачы такую ​​праграму, як прывітанне Свет не ўсё, што пераканаўчым, так што давайце на самай справе адкрыць нешта што былы студэнт зрабіў. Дазвольце мне ісці наперад і адкрыць, напрыклад, гэты тут, за што я хацеў бы мець добраахвотніка. Добра, як about-- пойдзем далей. Так, давай до. Як цябе завуць? Эбі: Эбі. David J. малая: Эбі, давай до. Так вы ніколі не гулялі гэтая гульня раней? Эбі: Няма David J. малая: Добра. Дэвід, прыемна пазнаёміцца. Прыходзьце на больш. І якое ваша праграмаванне фону, калі такія маюцца. Эбі: Я даведаўся некаторыя C ++. David J. малая: Вы даведаліся некаторыя C ++. І тое, што ваша гульня гуляць фон? Эбі: Не шмат. David J. малая: ОК, так што мы будзем лічыць, што. Дык вось, як гульня будзе працаваць. Я збіраюся ісці наперад і націсніце зялёны сьцяг, які з'яўляецца тут у правым верхнім куце. Цяпер ваш папярэднік у класе даў вам некаторыя інструкцыі тут. І праз хвіліну, яго кажа "прастору, каб пачаць." Так што наперад і ўдарыў прабел. Кампутарная гульня: Пикачу. David J. малая: І мэта заключаецца ў злавіць ежу, як паказана там на левай баку. І [неразборліва] [Грае музыку, якая іграе] David J. малая: Ой, ну, дзякуй за гульню. Мы маем тут трохі развітанне падарунак для вас. У нас ёсць CS50 мячык, калі вы хочаце выбраць. Добра, добра, каб сустрэцца з вамі. Дзякуй, што прыйшлі і выклік. Так у нас больш стрэсу шары, так давайце зробім яшчэ адзін прыклад, каб матываваць. Добраахвотнік? Добра, а як наконт прама тут, перад. Як цябе завуць? ПІЛІП: Філіп. David J. малая: Філіп. Падымайцеся, Філіп. Так, Філіп будзе выклік з іншай гульні што адзін з вашых папярэднікаў пісаў частка праблемы ўсталюйце нуля, называецца цяжкая гульня Айві. І мы ўбачым у проста момант тое, што маецца на ўвазе пад гэтым. Філіп, прыемна пазнаёміцца. Якое ваша мінулае? ПІЛІП: страты шмат кадавання. Страты трохі гульняў, таксама. David J. малая: ОК. Атрымаў шмат гульняў, занадта. А вы гулялі ў гэтую гульню раней? ПІЛІП: Няма David J. малая: Усе Добра, дык вось мы ідзем. Я збіраюся ісці наперад і націсніце зялёны сцяг. [Гуляе музыка] [МУЗЫКА MC HAMMER, "U CAN Не дакранайцеся да гэтага"] ПІЛІП: [неразборліва] David J. малая: [неразборліва] ПІЛІП: [неразборліва] [Смяецца] [МУЗЫКА MC HAMMER, "U CAN Не дакранайцеся да гэтага"] David J. малая: [неразборліва] Плуг праз яго. ПІЛІП: [неразборліва] David J. малая: Ідзем далей. [МУЗЫКА MC HAMMER, "U CAN Не дакранайцеся да гэтага"] David J. малая: Добра. Віншую. [Апладысменты] David J. малая: Мы будзем паведамленне, што на сайце пазней, такім чынам што вы можаце адкладаць з ім таксама. Princeton прыходзіць наступны, пасля гэтага. А цяпер давайце на самай справе прыступіць пачынаць з нуля, так бы мовіць, і на самай справе не пабудаваць, пакуль мы можам дражніць адзін ад аднаго некаторыя з гэтых ідэй і атрымаць да чаго нават больш складаным да канца. Я збіраюся пайсці сюды, і я збіраюся ісці наперад і стварыць новы файл. Такім чынам, яшчэ раз, мноства праблем будзе хадзіць Вы праз некаторыя з гэтых крокаў. Але, усё, што я рабіў, было ісці у меню Файл і I сказаў "новы", так як Microsoft Слова, або любая праграма, як, што. І давайце ісці наперад now-- і мы рэалізаваны "Прывітанне, свет" хвіліну назад, але давайце паспрабуем трохі сімпотней. Я пайду да падзей. І я збіраюся зрабіць ", калі зялёны сцяг націснуў ". А потым я збіраюся выкарыстоўваць, скажам так, філіял. Так што я збіраюся выкарыстоўваць "калі" стан. І звярніце ўвагу, як, як толькі я атрымліваю блізка да яго, ён хоча, каб прыцягвацца адзін да аднаго. Так я адпусціў і яна не ўстане разам. І зараз я магу рабіць нешта цікавае. Калі я пракруткі тут, я збіраюся каб убачыць цэлую кучу блокаў. Калі я іду ў "дадзеныя" - дазвольце мне маштабу в-- ёсць нешта зменных. Калі я іду ў "руху", вы можаце па-відаць, павярнуць справа. Калі я іду ў "аператараў" - о, гэта цікава, Я магу выбраць выпадковае лік. Такім чынам, дазвольце мне зрабіць што-то з толькі некаторая верагоднасць, толькі таму, што. Я збіраюся ісці наперад і перацягнуць гэты паззл, у тым, што менш, чым блок, так што гэта проста "Гэта лік менш, чым гэты?" Але я не хачу жорсткага код шэраг таму што даволі бессэнсоўна. Так што я збіраюся цягнуць гэты кавалак тут, і звярніце ўвагу, як яна не ўстане ў, і цяпер дазвольце мне ісці наперад і сказаць, "калі лік, які абраны выпадкова менш шасці, выканайце наступныя дзеянні ". Цяпер, чаму менш за шэсць? Якая верагоднасць таго, гэта эфектыўна збіраюся даць мне, толькі інтуітыўна? Каля 50%, ці не так? Калі лік, гэта думаю выпадкова паміж 1 і 10 менш шасці, ясна, што гэта адзін, два, тры, чатыры, пяць ці. І так, што збіраецца даць мне 50% верагоднасць таго, што адбываецца? Ну давайце зробім нешта падобнае гэта, "гуляць гуку мяу". І звярніце ўвагу, зноў жа, паззл расце каб адпавядаць, пры ўмове, што адпавядае формы. Вось што важна. Дазвольце мне перайсці да драпін тут і націсніце "гульню". Нічога не адбываецца. Гэта памылка? Не, не трэба. Гэта можа быць проста, што большая колькасць было абрана. Так давайце зробім гэта зноў. Нічога. [MEOW] David J. малая: Там гэта. [MEOW] David J. малая: Ізноў. Колькасць [Мяўканне] David J. малая: Так што калі вы небудзь гуляў у гульню, вядома, дзе рэчы, што адбываецца выпадкова, як дрэнных хлопцаў ідуць або няма паступленне на экране, або рэчы падаюць ці не падаюць, гэта толькі таму, што-то супер проста, як гэта адбываецца. Выберыце выпадковае лік, і калі гэта менш, чым некаторы значэнне, можа быць, зрабіць гэта ці, можа быць, зрабіць гэта. Мы можам ўключыць , Што ў стане. Давайце рабіць нешта іншае. Дазвольце мне кінуць, што далёка. Вы можаце пазбавіцца ад рэчы па проста перацягнуўшы яго налева і адпусціць. Дазвольце мне ісці наперад і зрабіць назаўжды блок і вельмі хутка зрабіць што-то раздражняе. Дазвольце мне ісці наперад і кажуць "гуляць гуку мяу". Але я не хачу, каб гэта занадта раздражняе, так што дазвольце мне захапіць гэты блок, "Пачакайце адну секунду", і апавяшчэнне няма больш месца для яго. Але калі вы ідзяце досыць блізка, ён хоча пайсці туды. Так што я адпусціла, і ён будзе расці, каб запоўніць блок. Так што цяпер, гэта пятля. [Мяўканне] David J. малая: Я літаральна рабіць гэта вечна. Зноў і зноў. Гэта значыць проста не натуральнае гучанне. Дазвольце мне ісці наперад і змяніць гэта каб не адной секунды, каб дзве секунды і націсніце Увод. І, што прыемна пра Драпіны што можна запраграмаваць ў інтэрактыўным рэжыме. Ўнесці змены, можа быць, націсніце Увод Гуляць зноў, і гэта будзе проста працягваць ісці. Ну, цяпер, чаму б нам не зрабіць то трохі сімпотней? Замест таго, каб зрабіць усё з нуля, дазвольце мне ісці наперад і адкрыць аванс зрабіў адзін, што я загадзя запечаныя, называецца "Pet Cat." І мы размесцім ўсе гэтыя файлы онлайн, і праблема ўсталяваць нулявы скажа вам як атрымаць доступ да іх і адкрыць іх. І заўважце, гэта даволі проста. Але загадзя, я, здаецца, схапіў "Назаўжды" блок, так што я павінен пятлю. А потым у мяне ёсць "калі" стан. У мяне ёсць лагічны выраз. Такім чынам, у англійскай мове, проста зірнуўшы на гэта, асабліва калі вы ніколі не запраграмаваны раней, проста інтуітыўна, што гэта збіраецца рабіць, гэтую праграму? [АЎДЫТОРЫЯ балбатня] David J. малая: Калі вы гладзіце котку, кот збіраецца мяу, ці не так? Таму што "назаўжды зняўшы" будзе паказальнік мышы дакранаючыся котку. Такім чынам, каб было ясна, і я не казаў, гэта раней, усе гэтыя галаваломкі штук і сцэнар, што мы аб'ядналі іх у, так бы мовіць, сцэнар з'яўляецца сінонімам Праграма, сапраўды, належыць да гэтай кошкі. І прычына is-- таму апавяшчэнне як гэта ж кот тут вылучаны, тут вы можаце стварыць Другі котка або сабака або сапраўды усё, што вы хочаце ў графічным выглядзе. Вы можаце імпартаваць то ад Photoshop, ці таму падобнае, і інтэграваць тое, калі вы хачу зрабіць яго ў адным праекце. І тое, што вы знойдзеце, у канчатковым рахунку, гэта ты можна дадаць скрыпты, дадаць галаваломкі штук, у асобных знакаў. Такім чынам, гэтыя ўсе належаць да гэта прыватнасці кошка. Так што цяпер, калі я ісці наперад і гуляць гэтая праграма, нічога не адбываецца. Але ён працуе. Праграма ў гэтым назаўжды завесы, выгляд чакаюць, што адбудзецца? [АЎДЫТОРЫЯ балбатня] David J. малая: Каб пагладзіць котку. Так што, калі я рухаю мыш да him-- [Мяўканне] David J. малая: Так што цяпер Я ласкі котку. Між тым, мы можам мець двайную філіял. Дазвольце мне ісці наперад і адкрыць да не пагладзіць котку. Мы апублікуем гэта онлайн, а таксама. Гэта крыху больш Комплекс, але не кажучы вы можаце здагадацца, магчыма, што адбудзецца. [Мяўканне] David J. малая: Кошка мяўканне, вялікі стары час. Але гэтая праграма, вядома, называецца "Не Хатняе жывёла Cat," так ясна, я хачу, каб пагладзіць котку. [ROARING] David J. малая: Ці не пагладзіць котку. Зараз давайце зірнем іншы прыклад тут. Гэты будзе называцца "Прывітанне, Прывітанне, Прывітанне," па прычынах, што будзе ясна, таму што як толькі я запускаю гэты thing-- [SEAL брэх] David J. малая: Вельмі лёгка напісаць раздражняльных праграм нуля. [SEAL брэх] David J. малая: Цяпер мы не будзем ў падрабязнасці з усімі з іх, але зьвярніце ўвагу, ёсць пару новых функцый тут. Там у зменнай, называецца "прыглушаецца" а там куча умоў. І цяпер, дазвольце мне проста дражніць вас, сказаўшы, што калі гэты хлопец становіцца занадта раздражняе, Я магу ўдарыць прабел і ён спыняецца. Таму што ролю, якую адыгрывае Гэтыя два сцэнара складаецца ў наступным. Адзін з іх робіць брэх кожныя некалькі секунд. Іншы проста чакае для мяне стукнуць прабел. А калі я ударыў прабел, ён збіраецца змяніць стан гэтай зменнай, значэнне гэтай зменнай, гэта, па-відаць называецца "прыглушаецца", я не тэлефанаваў гэта тое сумна як п, Я назваў гэта ангельскае слова, "адключаны". Ад 1 да 0 або ад 0 да 1. Ад праўдзівага на ілжывае або фальшывага на сапраўднае. І такім чынам, вы можаце на самой справе бачым цяпер, што вам можа мець два сцэнара, два праграмы, якія працуюць адначасова, і абодва з іх можа сядзець у цыкле рабіць нешта. Чакаю чалавек рабіць нешта накшталт ўдару прабел. [SEAL брэх] David J. малая: А цяпер ён на сваім шляху зноў. [SEAL брэх] David J. малая: Так што яшчэ можа нам рабіць з гэтымі прыкладамі? Ну, давайце ісці наперад і рабіць Прыклад з падлік авечак. Мы будзем працягваць гэта ўздоўж ліній тут of-- давайце адкрыем прыклад авечак. І звярніце ўвагу, як і раней, на гэты раз, на шчасце, трохі менш раздражняльным. Пасля таго, як я ўдарыў гуляць здесь-- О не, гэта раздражняе. Ён збіраецца бе з некаторай верагоднасцю. Давайце гуляць гэта зноў. [SHEEP BLEETING] David J. малая: Розніца толькі ў тым мы змянілі касцюм, так бы мовіць, і мы ў два разы і сказаць што гэта рэальная колькасць. Ну давайце ісці наперад і зрабіць яшчэ адзін крок наперад. І дазвольце мне дражніць вас з адна асаблівасць тут. Давайце пойдзем далей і адкрыць праграма пад назвай тэмы. Так шмат, як вы можаце мець адзін спрайт, маючы некалькі сцэнарыяў, Вы можаце мець два спрайт, птушка ў котка, кожны з якіх мае свой уласны сцэнар. І кожны з іх можа працаваць адначасова. Калі вы ніколі не чулі Слова "шматструменнасць" кампутар "шматструменныя" сродкі ён можа зрабіць некалькі рэчаў адразу, і, сапраўды, так можа драпін. А цяпер звярніце ўвагу птушка роду нямы. Гэта проста робіць рэчы выпадкова, адлюстроўваючыся ад экрана. Відавочна, што кот быў запраграмаваны каб часткова ёсць шукаюць магчымасці у доме ў на птушку, таму што ён заўсёды паказвае на яго. Пакуль, нарэшце, ён ловіць фактычнае птушку. Таму я не буду спыняцца на дэталях тут, але вы можаце роду разглядзець тыя ж формы, некаторыя "Калі" умовах, некаторыя зменныя, магчыма, некаторыя завесы, з'яўляюцца у канчатковым рахунку, робіць тое ж самае. Цяпер дазвольце мне ісці наперад і адкрыць да зусім іншае, дражніць некаторыя з вас, асабліва тых, зручней, што вы можаце на самой справе рабіць з гэтым. Я збіраюся ісці наперад і адкрыць кнопку тут. І гэта супер просты на выгляд праграмы, але глядзець, што адбываецца калі я-- Глядзіце, што адбываецца, калі я адкрываю гэтую версію яго, тут у браўзэры, scratch.mit.edu. І калі я націскаю гэтую вялікую чырвоную Кнопка, заўважыць, што адбываецца. Так што тут адбываецца? Там на самай справе нашмат больш складанасць адбываецца пад капотам, хоць я рэалізаваў гэта, або адкрыта, Дэн Брэдлі рэалізаваў гэта так проста. Ён прызначаны наладжвальную рабочую галаваломкі кавалак, вядомы як пашырэнне да драпін, ён назваў яго Пераключыць. А што Пераключыць робіць ён пасылае паведамленне па Інтэрнэце. І само гэта паведамленне выглядае трохі загадкава. Але гэта таксама, вы будзеце зразумець да канца тэрміна. Паведамленне ён на самай справе адпраўкі выглядае трохі нешта накшталт гэтага. Гэта проста тэкст. Cryptic. Вы зразумееце гэта да таго часу, мы атрымліваем праблема ўсталяваць сем. Гэта проста даслаўшы тэкставае паведамленне праз Інтэрнэт да сервера. І, што сервер у канчатковым выніку гаварыць на гэтую лямпачку, якая ёсць адзін з тых мудрагелістых лямпачак ў ім, што, само па сабе, кажа да Wi-Fi у сеткі тут, дзе лакальнае прылада ўніз здесь-- і, нарэшце, гэта на самай справе паварочваючы, што святло і выключаецца. Але мы можам зрабіць больш цікавыя рэчы яшчэ. Звярніце ўвагу, што Дан зрабіў для нас. Ён зрабіў некалькі спрайтов, кожны з які мае скрыпт чакае за клік. І калі я націскаю чырвоны, ён ідзе чырвоны. Калі я атрымліваю сіні, ён ідзе блакітнавата. Зялёны, жоўты, аранжавы. І ўсё гэта адбываецца на збіраецца выхад на Інтэрнэт, адступаць тут, каб лямпачкі, і выключаецца. І калі вы можаце верыць it-- і гэта мабыць, адзін з самых складаных нуля праекты хто мае implemented-- ён зрабіў гэта, справядлівасці дзеля, у дзень. І гэта было праблемай мы кінулі ўніз Дэну, калі мы ўбачылі ў двайковых цыбуліны, у нас ёсць драпіна, як мы можам аб'яднаць іх? І, сапраўды, гэта абсалютна то хто ў гэтым пакоі мог зрабіць па end-- семестра Ці ён Паўторна рэалізавана двайковыя цыбуліны з дапамогай такі ж самы інтэрфейс, што было на нашым Ipad ў сераду. Так што цяпер, калі я на самой справе пстрыкніце знак тут, у нас ёсць адзін, два, тры. Я магу стукнуць 16 і павярнуць, што атрымалася на. 128, і гэтак далей. Зараз, калі што адзін мае і ўзарваны свой розум, вы маглі б зрабіць рэчы значна больш даступнымі, не датычыць любога абсталявання, вядома. Усяго рэчы на ​​самай экране. І, сапраўды, тое, што большасць студэнтаў у канчатковым выніку робіць гэта свайго роду гульня, некаторыя частка мастацкай творчасці, або свайго роду інтэрактыўнай анімацыі. І я скажу, адзін з нашых выбраныя быў гэты. І я падумаў, што калі мы можа цьмяны святло, мы будзем прымаць зірнуць на гэты фінал Драпіны праект у заключэнне. Але што вы будзеце павінны мець на ўвазе, як Я магу дражніць цябе з адной апошняй дэталі, секционирования пачнуцца на наступным тыдні. Гадзіны працы пачнуцца на наступным тыдні. Задача ўсталяваць нулявы будуць размешчаны CS50.harvard.edu пазней сёння. І вам будзе сустрэта ў праблемнай ўсталяваць нуля каб CS50 уласнай Zamyla Чан, які накіроўвае большую частку нашага пакрокавыя. Гэта убудаваныя відэа ў праблемных набораў што будзе трымаць цябе за руку праз шмат з пачатковай налады і праз многія з магчымых праектных рашэнняў. Так што, калі вы калі-небудзь, што эмоцыі калі паднімаеце хатняе заданне і цікава, дзе я пачынаю? Яна будзе мець, што адказ для вас. А цяпер, канчатковая праграма ад аднаго з вашых папярэднікаў у адказ на пытанне "Што ліса сказаць?" [МУЗЫКА YLVIS, "ШТО FOX СКАЗАЦЬ?] YLVIS (спявае): Сабака ідзе Гав. Котка ідзе мяу. Птушка ідзе твіт і мыш ідзе піск. Карова ідзе мыканне. Жаба ідзе карканне. І слон ідзе гудок. Качкі сказаць шарлатан і рыба ісці раўці. І друк ідзе ой-ой, але ёсць адзін гук, што ніхто не ведае, Што ж ліса сказаць? І David J. малая: Вось менавіта для CS50. Мы будзем бачыць Вас у Лагічныя дзень і ў панядзелак. [Апладысменты] [МУЗЫКА YLVIS, "ШТО ліса сказаць?"] Апавядальнік: І цяпер глыбока думкі, па Daven Фарнэме. Сёння я атрымаў удар у твару з тэлефоннай кнігай. Змешванне, як я ў дома глядзець онлайн.