[Фонавага шумамі] Ці працуе гэта? PATRICK REBESCHINI: Мы можам прыступіць да працы. ДОБРА. Выдатна. Давайце пачнем. Так што гэта маё самае вялікае задавальненне вітаць ўсіх вас тут сёння для першай лекцыі , Ну, Увядзенне для вылічальнай тэхнікі і праграмавання. Таксама вядомы як CS50 або калодзежнай, CPSC 100, афіцыйна тут у Ельскім універсітэце. Такім чынам, мы не маглі быць больш ўсхваляваныя вітаць ўсіх вас тут. Мяне клічуць Патрык Rebeschini. Я кіраўнік інструктар класа. Я тут, які прадстаўляе групу каля 60 супрацоўнікаў які будзе працаваць з вамі на працягу семестра. Гэты лік амаль 60 з нас. Тым не менш, па незвычайнай ўзровень абавязацельстваў што мы ўкладваем у гэта клас, робіць CS50 класавай у Ельскім універсітэце, які прапануе самы вялікі ўзровень падтрымкі ўсім вам. І мы не маглі быць больш ганарыцца прапаноўваючы гэты клас тут яшчэ раз. На самай справе, як вы хутка выпрабаваць, CS50 значна больш, чым клас. Гэта супольнасць. І вы будзеце часткай ў бліжэйшы час гэтай супольнасці. Гэта другі год, Yale прапануе гэты клас. Мы будуем на крайнасці поспех у мінулым годзе, дзе у першы раз, тут у гэтым універсітэце, магістрант асістэнт навучання былі прынятыя ў класах. Усё пачалося з гэты клас у мінулым годзе. Так што, як вы ведаеце, клас вучаць сумесна з Гарвардскім універсітэце. Для таго, каб гэты курс мы relying-- мы можам разлічваць на вялікі вопыт Дэвід малая і каманда Гарварда. Так што Дэвід выкладае CS50 для добра, 10 гадоў. І кожны год ён быў рассоўвае межы і паляпшаючы вопыт у класе. Зноў жа, мы не маглі быць больш шчаслівыя працягнуць гэтае супрацоўніцтва з імі. На самай справе, адзін з самых цікавых частак, Я буду казаць аб выкананні гэтага класа ў цяперашні час, як у Гарвардзе, і тут у Ельскім універсітэце, гэта сапраўды неверагодна ўзаемнае развіццё ідэй, накіраваных на паляпшэнне вопыт навучання для ўсіх вас. Такім чынам, у выніку гэтай шырокай супрацоўніцтва паміж двума універсітэт, CS50 з гонарам аб'явіць аб выпуску новай версіі ў гэтым годзе з прыкметнымі зменамі. Дэвід ўсе скажуць нам пра іх зараз. Так please-- гэта істота сказаў, калі ласка, далучайцеся да мяне і дабро запрашаем, каб даць вялікі круглы апладысменты вітаць Давіда і Гарвардская каманда тут у Ельскім універсітэце. [Апладысменты] DAVID Малання: Дзякуй. Дзякуючы. Гэта CS50, Гарвардскага універсітэта і ўкараненне Ельскага універсітэта да інтэлектуальнай прадпрыемстваў інфарматыкі і мастацтва праграмавання. А што гэта азначае, што гэты курс у канчатковым рахунку, аб вырашэнні праблем. Сапраўды, многія з вас, магчыма, выйшлі з сярэдняй школы або правялі апошнія пару гадоў цікава, што некаторыя з вашых сяброў у мінулым годзе ці ў іншых класах. І тым не менш, рэальнасць не, незалежна ад таго, што мы рабіць у канцы дня ў гэтым класе, гэта будзе пра рашэнне праблем. І як такі, магчыма, прыняць некаторыя упэўненасць у тым, што 73% студэнтаў, што прыняць гэты клас, як тут у Ельскім універсітэце, а таксама ў Гарвардзе, ніколі не браў клас CS раней. Так што калі вы сядзіце тут у гледачы сёння цікава чаму вы сядзіце тут у аўдыторыі сёння, або, можа быць, вы проста вынікалі разам з некаторымі сябрамі, ці, магчыма, вы былі трохі цікава, што інфарматыка і праграмаванне, разумеюць, што большасць вашых аднакласнікаў злева і справа ад вас вельмі шмат у той жа дэмаграфічнай. І на самай справе, калі мы паглядзім нарэшце статыстыкі год у рамках студэнцкага органа CS50, як тут і ў Гарвардзе, 58% студэнтаў апісваюць сябе як менш камфортна. 9% больш зручным. А потым 33% дзесьці пасярэдзіне. І няма ніякага фармальнага вызначэння што азначае, што гэтыя вёдры. Вы, здаецца, ведаеце, што вы менш камфортна, калі вы. Вы адчуваеце сябе крыху няёмка с, магчыма, знаходзячыся ў класе. Вы не зусім ўпэўнены, калі кампутар навука клас у канчатковым рахунку, для вас, і зразумець, што вы ў вельмі добрай кампаніі. І сапраўды, градацыя, і ацэнка, а зваротная сувязь, і ўсё, што Структура падтрымкі ў класе у канчатковым рахунку, вельмі індывідуалізаваныя. Больш, чым большасць любой Іншы клас па дызайне. І на самай справе, што ў канчатковым выніку пытанні ў гэтым класе ня так шмат, дзе вы ў канчатковым да адносна іншых, але дзе вы, на тыдзень 11 або ў мінулым, і ў адносінах да сябе ў тыдзень 0 тут наш першы. Дык што ж гэта значыць? Ну, гэта азначае, што з гэтых 73% Студэнты ў мінулым годзе, што ніколі не прымаў клас CS перад тым, на пачатак семестра яны былі ўмешваюцца ў мове называецца Драпіны, якія мы самі будзе бачыць тут сёння. І да канца семестр, калі б яны пайшлі праз увесь гэты пералік праблем. Пачынаючы з мовы называецца C. Рэалізацыя, што на першы погляд, адбываецца каб быць крыху складанай задачай для некаторыя, але даволі прыемна, як толькі вы атрымаць Супер Марыё падскокваючы уверх і ўніз піраміды рэалізаваны, хоць, толькі з тое, што называецца ASCII-арт. Рэалізацыя апошняга год--, што студэнты ў мінулым годзе, то зрабіў пасля гэтага было рэалізаваць іх уласны шыфр Цэзара і шыфр виженера. Так што алгарытмы шыфравання з якімі вы маглі б скремблирования інфармацыю, а затым расшыфроўваць інфармацыя для перадачы сакрэтных паведамленняў. Гульня 15. Калі вы памятаеце дзяцінства ці якой-небудзь прыхільнасці партыі, гэтая маленькая пластыкавая гульня, дзе вы рухацца лік уверх, уніз, налева і направа каб паспрабаваць атрымаць іх у парадку, на самай справе ажыццяўлення гэтай гульні і вырашаючы логіку, неабходную там. А потым мы песціліся судова-медыцынскай экспертызы ў мінулым годзе. Такім чынам, да сярэдзіны семестра, студэнты, якія ніколі не выкарыстоўвалі свае клавіятуры Для гэтай мэты раней, былі напісання праграмнага забеспячэння аднавіць, так бы мовіць, JPEGs або фатаграфіі што мы павінны былі выпадкова выдалены з лічбавай карта памяці з камеры. Аднаўленне сакрэтных паведамленняў знутры растравага малюнка, і іншыя падобныя тыпы графікі, а таксама. Затым мы перайшлі да прадастаўлення ўвесь клас слоўнік. Проста сапраўды вялікі тэкставы файл з 150000 ангельскіх слоў. І кожны быў кінуты выклік каб неяк чытаць, калі можна так выказацца, гэтыя словы ў памяць. У памяці кампутара. А потым адказваць на пытанні формы, ці з'яўляецца гэтае слова? Ці з'яўляецца гэта слова? Ці з'яўляецца гэта слова? На самай справе проста рэалізацыі праверка арфаграфіі. І тады кожны выклік іншы з вялікай board-- лідэр дошкі, каб убачыць, хто мог выкарыстоўваць найменшую колькасць памяці, у найменшую колькасць часу на на самай справе праверка арфаграфіі вялікіх дакументаў. Мы перайшлі ад затым рэалізацыі адны уласны вэб-сервер. Так што не робіць вэб-старонкі на мовах як HTML і CSS, калі вы знаёмыя. Але на самой справе рэалізацыі сервер, слухае ў Інтэрнэце запытаў ад браўзэраў а затым у адказ на гэтыя просьбы. Тады рэалізацыі нашых уласных электроннай гандлю, як вэб-сайт, дзе студэнты маглі купляць і прадаваць акцыі. Малюнак у амаль рэальным часе біржавыя каціроўкі ад Yahoo Finance. І дазваляе студэнтам бачыць як іх партфель развіваецца. А потым, нарэшце, месіва уверх з Google News і Google Карты, згодна з якім студэнты на тэрмін па тэрмінах заканчэння меў магчымасць націскаць, і круглыя, і пошук на карце Google. А потым убачыць усе навінавыя артыкулы, праксімальных да гэтых канкрэтных абласцях. Так што сапраўды адбываецца ад нуля да 60 гадоў. І па шляху мець тое, што мы мелі У мінулым годзе пад назвай, хакер дапаўненні. Гэта падымае планку далей для тых з вас, які мог бы вельмі добра мець добры колькасць вопыту, знаходзячыся ў гэтым 9% больш зручным. Так разумею, што ёсць вельмі высокія столі нават у тых, выклікі для студэнтаў зыходзячы з іншай фон. Таму што ў канцы на наступны дзень, мы ў канчатковым рахунку, сканцэнтраваны даволі проста на гэтым. Але што робіць гэта значыць, рашэнне праблемы? Такім чынам, давайце меркаваць, што мы пераганяць гэта так. Такім чынам, рашэнне праблем на самай справе толькі гэты выгляд малюнка. Так што ў вас ёсць ўваходы ў нейкай праблемы, тое, што вы на самой справе хочаце, каб вырашыць. Мэта складаецца ў тым, каб атрымаць выхады, рашэнне гэтай праблемы. А потым у сярэдзіна што мы будзем называць чорны скрыню. Вам не абавязкова ведаць ці нават усё роўна, што знаходзіцца ўнутры гэтага чорнага скрыні. Усе вы ведаеце, што, калі Вы корміце ўваход у яго, вы спадзяемся атрымаць выхад або раствор з яго. І хоць сёння мы будзем глядзець як на ўваходах і выхадах, мы будзем доўгатэрміновай перспектыве, і над Курс ўсяго семестра, засяродзіць увагу на тое, што ўнутры гэтай скрынкі. І ў гэтым будзе ляжаць нешта званыя алгарытмы. Крок за крокам інструкцыі для на самай справе вырашэння некаторых задач. Але тое, што прыклад некаторых уваходаў? Так што, можа быць, простая рэч на пачатак кожнага навучальнага года, хто-то можа спатрэбіцца прыняць удзел. Такім чынам, мы маглі б зрабіць адзін, два, тры, чатыры, пяць, шэсць, і як бы я працягваю след гэтай інфармацыі. Я мог бы проста пайсці на адзін, два, тры, чатыры, пяць, шэсць. І проста выкарыстоўваць выгляд адназначных лічбаў. Ці я мог запісаць гэта крыху больш працяглы тэрмін. І як я ўяўляю ўсе людзі ў гэтым пакоі? Ну, я мог бы зрабіць нешта накшталт, добра. Я бачу адзін чалавек. Добра. Я бачу іншага чалавека, A трэцяя асоба, і гэтак далей. Але ніхто не лічыць такіх людзей, як гэта. Так што ў літаральным сэнсе, большасць з нас, калі мы нават збіраецца зрабіць што-небудзь наогул, , Верагодна, будзе ісці адзін, два, тры, чатыры, магчыма атрымаць крыху фантазіі, пяць, шэсць, сем, восем, дзевяць, дзесяць і гэтак далей. І гэта на самай справе Сістэма называецца унарный. Uno, як UNO маючы на ​​ўвазе адно, дзе вы толькі адна літара алфавіту. Вы толькі што атрымалі гэты хэш-знак. І я, для павышэння эфектыўнасці, проста звярнуў гэтыя хэш-знакі, у канчатковым рахунку, , Як прамыя. Але я мог бы уцягнуўшы іх а маленькія палкі лічбы. дзе прадстаўляць адзін чалавек, адзін уваход, Я проста намаляваць палку фігура або хэш-пазнака. Але гэта не ўсё, што выразна. Калі ўсё ў мяне ёсць гэтыя хэш знакі, не кажучы ўжо прытрымлівацца лічбы, як я мог бы прадставіць нешта накшталт колькасці 15? Або 15 чалавек у пакоі? Я мог бы зрабіць нешта накшталт 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15. Гэта проста не вельмі добра маштабуецца. Па меры таго як ўваходы становяцца вялікімі, мы патрэбна лепшая сістэма, чым гэта. І атрымліваецца, што сістэма, якія выкарыстоўваюць кампутары не ўсё, што розныя ад таго, што вы і я ведаю. На самай справе, большасць людзей у гэтым пакоі, нават калі вы сярод тых, менш зручна, не абавязкова ведаць як ваш Mac ці PC сапраўды працуе, вы, верагодна, па меншай меры, чулі, што пад капотам 0 і 1-х. Так званая бінарная сістэма. Так на самой справе, кампутары маюць больш толькі хэш-знакі ў іх слоўнікавы запас, але не так шмат з слоўнікавы запас, як мы, людзі. На самай справе, мы, людзі не выкарыстоўваюць двойкавую. Bi азначае 2, 0 і 1. Але дзесятковай, Дэка што азначае 10, ад 0 да 9. Такім чынам, у нас ёсць нашмат больш выразным магчымасці ў нашым звычайным чалавечым свеце. Але я б сцвярджаць, што гэтыя сістэмы, бінарны і дзесятковы, і ўсё паміж імі і за яе межамі, з'яўляюцца на самай справе ўсё добра знаёмыя. Напрыклад, разгледзім гэты прыклад тут, 123. Так што гэта на самай справе, вядома ж, нумар мы ведаем, як 123. Але ўсё, што я проста маляваў проста гэта малюнак сімвалаў, глифы, так бы мовіць. Сартаванне фігур на дошцы мелам. Але чаму мы адразу і інтуітыўна зразумець гэта як 123? Ну, калі вы былі падобныя мяне ў пачатковай школе, вы, напэўна, зразумелі, што гэта 1s слупок, гэта слупок 10s, Гэта слупок 100S. І чаму гэта карысна? Ну, гэта простая арыфметыка вы зараз зрабіць, каб атрымаць з шаблону сімвалаў да шэрагу мы разумеем інтуітыўна. Тое, што ў 100 разоў больш 1, а затым 10 разоў 2 і 1 раз 3, які, вядома, толькі 100, і гэта 20, і гэта тры. І таму, калі мы дадамо гэтыя together-- ах. Так што ў гэтым заключаецца роду развагі за чаму гэты набор сімвалаў азначае, што нешта рэальнае і лікавы. Што ж, кампутары робяць тую ж самую рэч, але яны толькі могуць разлічваць як высока як адзінае цэлае. У той час як я быў у стане разлічваць як высока як тры. І на самай справе, калі б я працягваў ісці я мог даходзіць да дзевяці ў гэтай сістэме. Кампутары маюць толькі нулі і тыя, у іх алфавіце. Дык што ж гэта значыць? Ну, гэта проста азначае, што калі кампутар хоча прадстаўляць, скажам, лік 0, магчыма з выкарыстаннем трох characters-- трох літары алфавіту, так бы мовіць, гэта як кампутар уяўляе сабой 0. Так што не ўсё так страшна да гэтага часу. Гэта менавіта тое, што мы, людзі будуць рабіць. І на самай справе, большасць з нас проста ігнараваць вядучыя нулі ў любым выпадку. Кампутар, калі ён хоча каб захаваць нумар 1, Аказваецца, збіраецца зрабіць гэта. І кампутар для захоўвання лік 2 ня збіраецца зрабіць Унарный сістэму, якія я згадваў раней. Гэта на самай справе збіраецца гэта зрабіць. І гэта, верагодна, дзе шаблон пачынаецца каб стаць менш відавочным для большасці людзей. Гэта 2 гэта 3. Цікава, што гэта цяпер 4. І зараз гэта сапраўды як уяўляецца, мабыць, загадкавым, але гэта не так, калі мы лічым, тое, што на самой справе азначае двайковы. Гэта азначае, што ў вас ёсць два літары вашага алфавіту. Так што два магчымых сімвалаў для кожнага запаўняльніка. Так што на самай справе азначае, што мы збіраемся мець патрэбу ў 1s месца або 2s месца, 4с месца, а затым 8 і 16, 32 і 64. І якая розніца ёсць? Як гэта 1, 2, 4, 8, 16, 32, 64. І перш, чым у нас было 110, 100000, 10000. Што такое падабенства ёсць? А што карціна? Так. Слухач: Паўнамоцтвы 2 замест паўнамоцтваў 10. DAVID Малання: Так. Паўнамоцтвы 2 замест паўнамоцтваў 10. І таму, калі я хацеў захаваць ісці, 8, 16s і г.д. forth-- але цяпер, калі ў вас ёсць такога роду падказку, цяпер двайковая сістэма на самай справе даволі простая. Чаму гэтая мадэль 0 ' ў свеце кампутараў 0? Ну, таму што гэта ў 4 разы больш 0, 2 раз 0, 1 раз 0 і вы атрымаеце 0. Чаму гэта нумар 1? Тыя ж разважаньні, але зараз мы ёсць 1 у 1 калонцы. Чаму гэта 2? У нас ёсць 1 ў Стоўбцах 2s. А як жа тады рабіць я ўяўляю кажуць, у двайковай сістэме лік 7? Скажы гучней. СТУДЭНТЫ: Тры 1s. DAVID Малання: Тры 1s. Такім чынам, 1, 1, 1, таму што нам проста трэба 4 плюс 2 плюс 1 дае мне 7. Добра. Так адтуль як жа мы ўяўляюць 8 з 3-ма запаўняльнікаў? Так. СТУДЭНТЫ: 1, 0, 0, 0. DAVID Малання: Так 1, 0, 0, 0. І тым не менш, можа быць, я як бы тэхнічна трэба дадаць яшчэ адзін запаўняльнік да дошкі. Калі я хачу, каб адпавядаць, што я на самой справе трэба зрабіць нешта накшталт гэтага. Так што я на самой справе трэба выкарыстоўваць прама цяпер 8s калона, і гэта нармальна. Але цікава, што ў вылічэнні што гэта будзе каштаваць нам што-небудзь. Вам трэба больш аператыўнай памяці ў вашым кампутары прама цяпер. Вам трэба больш памяці таму што вам трэба нешта фізічны для захоўвання, што дадатковы біт, так бы мовіць. Бінарныя лічбы. І на самай справе ўсё, што здарылася тут, як і ў дзесятковай сістэме злічэння, калі мы будзем працягваць дадаваць нумары ўверх і ўверх і вышэй, мы ідзем ад 5 да 6 да 7 да 8 гэта як апорны 1, у літаральным сэнсе. А потым усё астатняе ўзыходзіць да нуля. Але як жа мы на самай справе ўяўляюць сабой гэтыя рэчы фізічна ў кампутары? Ну, у рэшце рэшт, адзіны фізічны ўваход адбываецца ў мой кампутар тут гэта кабель харчавання, так электрычнасць або электроны ад сцяны. І так як я атрымліваю ад чаго-то фізічная, як, што на самой справе прадстаўляючы ідэю, як гэта замест гэтага. Ну, што мы маглі зрабіць? Мы маглі б лічыць, што, усё ў парадку, можа быць, калі электрычнасць цячэ Я мог бы захаваць яго і ўтрымаць яе. І калі я трымаю на у нейкай электрычнасць, што толькі збіраецца адвольна ўяўляць сабой 1. І калі я махнуць і там нічога няма, Вы ведаеце, што гэта проста будзе адвольна ўяўляць сабой 0. Так што, калі нешта ёсць, 1. Калі нічога не там, 0. Ці вы можаце зрабіць гэта трохі больш візуальна. Вось 0. Там нічога цікавага бягучай з нагоды задняй часткі майго тэлефона. Але калі я дазволю трохі трохі электраэнергіі цячы, нягледзячы на ​​тое, што гэта крыху яркі тут, мой ліхтарык працягваў. Таму я захоўваць зарад і Ergo, гэты тэлефон у цяперашні час уяўляе сабой 1. Так што 0: 1. Так што з 1 iPhone, як высока я магу разлічваць, выкарыстоўваючы такі падыход? Я маю на ўвазе 1. Гэта не ўсё, што пераканаўчымі. Так што яшчэ мы маглі зрабіць? Ну давайце паглядзім, ёсць хто-небудзь на іх тэлефон прама зараз, што я мог пазычаць? Любы, хто мае тэлефон з ліхтарыкам убудаваны? Ці магу я ўзяць? Мне не трэба гэта адмыкнутая. Добра. Дзякуй. Дазвольце мне ўзяць гэта. Добра. Так што, калі я цяпер пракручваць уверх і тут, Што я цяпер прадстаўляючы? Так. Такім чынам, гэта тры, таму што гэта ў 1s калонка, гэта знаходзіцца ў 2з калонцы. Такім чынам, 1 плюс 2 роўна 3. І потым, калі мы спрабуем атрымаць сапраўды creative-- ой, дзякуй. Вельмі папераджальны. Добра. Цяпер у мяне ёсць тры iPhone'ов. Добра. А цяпер this-- я не буду рабіць далей, чым гэта. Што я цяпер прадстаўляе? Проста сямёрак. Але мне трэба было фізічна больш памяці ў гэтым выпадку. Але гэта ўсё, што ёсць. Вы можаце думаць, што адбываецца on-- дзякуй you-- ўнутры вашага тэлефона а проста быць перамыкач, гэта быўшы уключаны і выключаны. І калі вы калі-небудзь чулі слова транзістар. Ці, калі вы калі-небудзь чуў, маркетынг казаць Intel ўнутры, які гаворыць з тыпам абсталявання што ўнутры вашага кампутара. Intel робіць працэсары, цэнтральныя блокі апрацоўкі, якія, як мозг ўнутры вашага кампутара. І гэтыя працэсары і рэчы, яны звязаны каб мець шмат і шмат маленькіх перамыкачоў. Мільёны, мільярды камутатараў які можа альбо быць уключана або выключана. Так кампутары, на шчасце, як нашы Макаў і ПК, можа разлічваць на парадак вышэй, чым 7 або 8 таму што яны маюць нашмат больш, чым тры ці чатыры біта. Шлях больш, чым эквівалент тры ліхтарыкаў, што мы проста не было. Але цяпер гэта пачынае даставаць даволі хутка нецікавыя. Калі зараз я хачу, каб на самой справе быць у стане каб зрабіць нешта больш цікавае, Я хачу, каб мець магчымасць скакаць да чаго-то накшталт гэтага. Так ASCII, гэта не вельмі карысна акронім, але амерыканскі стандартны код для абмену інфармацыяй. Гэта проста азначае, некалькі гадоў таму мы, людзі вырашылі, Вы ведаеце, што мы хочам, каб быць у стане зрабіць больш з кампутарамі, чым проста лічбы. Мы не хочам, каб яны проста быць дарагімі калькулятараў, мы хацелі б мець магчымасць рабіць такія рэчы, як апрацоўка тэкстаў, хоць і вельмі проста. Пазней мы мелі электронную пошту і іншыя падобныя сродкі масавай інфармацыі. І таму свет вырашыў некалькі гадоў таму ў адпаведнасці з гэтай сістэмай ASCII, Вы ведаеце, што? У некаторых тыпах праграмы ў любы час вы см эквівалент колькасці 65, як набор бітаў. І мы маглі б зрабіць матэматыка тут на дошцы. Структура бітаў, якія складаюць 65. Не думайце пра яго, як 65 у дзесятковай сістэме. Думайце пра гэта як заўгодна, але на глабальным узроўні, паслядоўна, як капітал А. І тады свет вырашылі, вы ведаеце, што? Давайце возьмем іншы набор бітаў. І калі мы калі-небудзь убачыць нумар 66, давайце проста Выкажам здагадку, што гэта з'яўляецца капітал B. Перанясемся ў H і я, калі вы бачыце, 72 або 73, што павінны быць Н і I, адпаведна. І так да таго часу, пакуль увесь свет згаджаецца на гэта. Так што, калі вы атрымаеце па электроннай пошце, або вы атрымаеце файл на флешку, ці нешта накшталт that-- калі гэта Вы бачыце, што набор бітаў, Вы ведаеце, што гэта павінна быць гэта ліст або якой-небудзь іншай літарай. Але гэта залежыць ад канкрэтных умоў, мае рацыю. Праграма электроннай пошты можа інтэрпрэтаваць гэтыя рэчы, як персанажаў, але графічны калькулятар або Калькулятар можа прадстаўляць або інтэрпрэтаваць гэтыя рэчы, вядома ж, як літары. Так што з гэтым сказаў, хуткі невялікі агляд. Гэта можа быць, тры сімвала адрас электроннай пошты, які быў пасланы мне. Пад капотам усё гэта ў 0s і 1s, але мы не хвалюе. Мы збіраемся пачаць абстрактныя вышэй за 0 і 1 на лісты. І калі я бачу ўзор 0 і 1, што на самай справе ўяўляюць сабой 72, намёк, намёк, 73, а потым 33, што паведамленне? СТУДЭНТЫ: [неразборліва] DAVID Малання: Так што калі вы думаеце таму толькі хвіліну назад, HI было пасланне, якое я спрабаваў мець зносіны, таму што тут Н 72, Я 73, і цяпер 33-- вы не захацелі абавязкова ведаць пра гэта загадзя, але атрымліваецца, калі вы на самой справе убачыць больш дыяграмы і сістэмы што чалавецтва, ўзгодненых гадоў назад, гэта проста клічнік. І на самай справе, ёсць узор сімвалы і лічбы для кожнага знака што вы маглі б мець на вашай клавіятуры. Добра. Давайце абстрактныя далей. Калі мы не хочам, каб проста такія рэчы, як лічбы і літары, мы на самай справе хочам рэалізаваць графіку. Ну, калі вы калі-небудзь пачуў абрэвіятуру RGB. Гэта свайго роду датаваныя цяпер, але гэта ўсё яшчэ свайго роду там. RGB чырвоны, зялёны, сіні. І гэта проста сістэма сказаць, вы ведаеце, што, давайце выкарыстоўваць тры набору бітаў. Набор з 8 бітаў, іншы набор з 8 біт, і іншы набор з 8 бітаў. І давайце выкарыстоўваць гэтыя біты захоўваць, як шмат чырвонага мы хочаце на нашым экране, то колькі зялёны мы хочам, каб на нашым экране, і колькі сіняга мы хочам, каб на нашым экране. І гэта проста азначае, што калі вы маюць lot-- вялікая колькасць чырвонага, гэта азначае, што даюць мне шмат чырвонага. Калі ў вас ёсць вялікая колькасць для зялёны, дайце мне шмат зялёнага колеру. І калі ў вас ёсць толькі крыху сіняга або невялікага ліку, як 33, дайце мне крыху сіняга колеру. І калі вам здарыцца, каб аб'яднаць тых, тры велічыні, так бы мовіць, Вы атрымліваеце this-- вы ледзь можаце ўбачыць на праектар тут, але гэта цьмяная адценне жоўтага або карычневага колеру. Але гэта сказаць, што з дапамогай малюнак 8 плюс 8 плюс плюс 8-- што ўзор з 24 бітаў як кампутар будзе захаваць гэты адценне жоўтага ў адным Маленькая кропка піксель на экране. Такім чынам, мы перайшлі ад 0 і 1 у дзесятковай сістэме лічбы на літары алфавіту. Ці больш цікавым, каляровыя кропкі. Ну, што, вядома, потым ідзе далей? Ну, што такое малюнак, якое вы ўбачыць на Facebook або атрымаць па электроннай пошце? Ці як? Што такое вызначэнне тэхнічна ладу? Так. Што такое малюнак складаецца з калі вы глядзець сапраўды блізка на экране? Так. Гэта проста цэлая куча пікселяў. На самай справе, калі вы бераце ноўтбук можа быць, пазней, і выглядаюць вельмі цесна у залежнасці it-- пра тое, як дорага ноўтбук і як высокае якасць экран, Вы маглі б вельмі добра бачыць усе маленькія кропкі на экране. І гэтыя кропкі або пікселі, а гэта значыць, што ёсць 24 біта, якія прадстаўляюць кожны піксель у тым, што фатаграфіі, якія вы бачыце на Facebook, ці што вы проста ўзялі на вашым iPhone ў апошні час. І вось як мы атрымліваем да рэчаў, як графікі. Ну, што такое відэа? Відэа ўяўляе сабой набор графічных аблёту экране зноў і зноў і зноў. А так відэа на самай справе, проста шаблоны бітаў, якія прадстаўляюць сеткі, радкі і слупкі кропак, аблёту малюнка на экране, пасля таго, як малюнкі, пасля малюнка, а.к.а. Фільмы. Дык вось менавіта для уваходаў і выхадаў. Усё, што мы маем цяпер гэта Здагадка, што вы ведаць, што, калі мы хочам, каб кампутар прадстаўляць інфармацыю, мы маем сістэму гэта рабіць. Мы можам зрабіць гэта з 0s і 1s ў канцы дня. Але мы можам абстрактна, так што казаць, на вяршыні, што з тым, каб прадстаўляць больш цікавыя рэчы. І тут на ў CS50, так і ў кампутарныя навукі ў больш агульным плане, мы цяпер стаім на плячах ўсіх тых, хто быў да нас, хто зразумеў, што з. А зараз проста выкажам здагадку, што кампутары могуць прадстаўляць сабой ўваходы і выхады. Але цяпер давайце на самай справе зрабіць што-то з імі. Так што алгарытм проста набор інструкцый, крок за крокам, для вырашэння якой-то праблемы. І што, магчыма, адна з такіх праблем будзе. Так што гэта старая школа тэхналогіі, тэлефонная кніга. І ўнутры тэлефоннай кнігі з'яўляецца цэлая куча імёнаў і нумароў. І гэтыя імёны, як правіла, сартуюцца ў алфавітным парадку. Так што, калі я хацеў знайсці каго-то ў гэта тэлефонная кніга, як Майк Сміт, што тыповы чалавек збіраецца рабіць? Ну, вы маглі б проста адкрыць гэта, глядзіце на першай старонцы. Я не бачу Майка Сміта. Павярніце на другую старонку, Я не бачу Майка Сміта. І проста працягваць ісці і ісці. Ці з'яўляецца гэта крок за крокам падыход правільным? Так. Гэта свайго роду па-дурному, дакладна. Гэта неэфектыўна, дакладна. Таму што гэта будзе доўжыцца вечна каб дабрацца да Майка, але гэта правільна. Таму што, калі Майк тут Я сапраўды яго знойдзе. Так што гэта крыху больш разумны чалавек збіраецца рабіць? Яны маглі б яшчэ адкрыць на фронт, і, магчыма, лятаць праз тэлефонную кнігу дзве старонкі адначасова. Два, чатыры, шэсць, восем. Я не магу на самой справе фізічна зрабіць гэта вельмі добра. Але ў тэорыі, гэта павінна быць у два разы хутчэй, дзве старонкі адначасова. Ці з'яўляецца гэты алгарытм правільна? СТУДЭНТЫ: [неразборліва] DAVID Малання: Не абавязкова. Добра. Чаму гэта перасцярога? СТУДЭНТЫ: Таму што ён можа быць на адным старонак, якія вы пропуску. DAVID Малання: Так. Так што нават калі я ўсё бліжэй і бліжэй. Што рабіць, калі ён проста выпадкова, з-за дрэннага поспехі, заціснутай паміж двума старонкамі што я лячу над? Так што нам трэба выправіць для гэтага. Мы на самай справе трэба то кажуць, пачакайце хвіліну, можа быць, калі мы занадта далёка, можа быць, калі мы трапілі ў раздзел T, для T прыходзіць пасля таго, як Сміт, то мы павінны па меншай меры, удвая таму па меншай меры, адну старонку. Так папраўна, але ёсць ўмоўнае пытаньне там. Так што гэта ў два разы хутчэй, але вы можаце павінны захіліць толькі няшмат. Але ніхто ў яго пакоі, нават калі вы на самай справе не выкарыстоўваць тэлефонныя кнігі больш, збіраецца пачаць з самага пачатку. Што ты збіраешся рабіць шукае Майка Сміта? Вы збіраецеся ісці прыкладна ў S-х гадоў. Ці, калі вы на самой справе не маюць шпаргалку на паперы, вы збіраецеся ісці па меншай меры, прыкладна да сярэдзіны. І, вядома ж, не пярэдняя частка кнігі. Вы збіраецеся глядзець уніз. І матэматычна вы, верагодна, збіраецца ўбачыць раздзел M, які знаходзіцца прыкладна ў сярэдзіне. І тады вы збіраецеся разумеюць, што гэта праўда? Дзе Майк? СТУДЭНТЫ: [неразборліва] DAVID Малання: Так. Так што ён з гэтага боку. Так што вы можаце зрабіць? Ну, прамым і пераносным сэнсе Вы можаце разарваць гэтую праблему ў два разы адзін раз? І тады ведайце, што вы можаце кінуць гэта палова ад вырашэння праблемы. А цяпер мы засталіся з прынцыпова тая ж праблема, але гэта ўдвая менш. І вось цяпер, што гэта набор інструкцый? які алгарытм для знаходжання Майка Сміта? Гэта сапраўды тое ж самае. Зараз гэта здараецца М раздзел і гэта раздзел Z, але фундаментальная формула застаецца такой жа. Перайсці прыкладна да сярэдзіны, глядзець уніз, о, цыраваць яго. Зараз я знаходжуся ў раздзеле T, Я зайшоў занадта далёка. Але тут таксама можа вам прымяніць гэтую ж логіку. Ўкіданне палова праблемы прэч і зараз мы сышоў з праблемай, што гэта чвэрць памеру. І мы можам паўтарыць, і мы можам паўтарыць, і мы не можам паўтарыць, пакуль тэарэтычна ёсць толькі адна старонка злева на які Майк альбо ёсць, альбо няма. Дык што ж такога магутнага аб гэтай ідэі? Я маю на ўвазе ў рэшце рэшт, гэта даволі інтуітыўна. Ніхто не збіраецца пачаць на пачатак тэлефоннай кнігі і фліп 1000 старонак, каб знайсці Майка Сміта. Амаль усё ў гэтым пакоі збіраецца зрабіць прыкладна такі алгарытм захаваць для раздзіранне. І вось чаму мы робім гэта? Што ж, разгледзім эфектыўнасць. Разгледзім, наколькі лепш гэта Алгарытм быў разбіваючы яго ўніз на складовыя часткі. Такім чынам, што ж я ў першы раз рабіць? Я ўзяў тэлефонную кнігу. І навуковец, і праграміст, у больш агульным плане, аказваецца, збіраецца каб пачаць адлік усё ў 0. Чаму? Ну, гэта крыху дзіўна што мы, людзі, разлічваць, як правіла, пачынаючы з першага. Таму што найменшая колькасць мы можам ясна прадставіць на аснове нават на нашай старой пачатковай школы па матэматыцы? Ну, гэта было 0, ці то гэта ў дзесятковай ці двайковай форме. І так вы будзеце бачыць у свеце вылічальнай тэхнікі і праграмавання, У прыватнасці, мы пачынаем лічачы усё, што ад 0. Так што я ўзяў кнігу крок тэлефона 0. Я збіраюся адкрыць да Сярэдзіна тэлефоннай кнігі. І гэта сапраўды выраз таго, што я зрабіў. А потым другі крок быў паглядзець на імёны. Крок трэці трохі адрозніваецца канцэптуальна. Я задаваў сабе пытанне. Калі Сміт сярод імёнаў, Я збіраюся прыняць рашэнне. Калі ён сярод імёнаў, то я буду называць Майк. І я збіраюся прыняць рашэнне заснаваны на тым, што частка інфармацыі. Тым не менш, калі не, калі Сміт раней у гэтай кнізе злева, Я збіраюся адкрыць да сярэдзіны левай палове кнігі. А потым вось кемлівасці, Я збіраюся вярнуцца да кроку два. Я збіраюся роду стаяць на ўласных плячах і проста паўтарыць мінулую працу я зрабіў. Але праца ў мяне засталося гэта менш, і менш, і менш. Але яна па-ранейшаму будзе працаваць. Але калі Майк, замест таго, пазней у кнізе справа, Я збіраюся адкрыць да сярэдзіны правай частцы кнігі, затым вярніцеся да кроку два. Але ёсць на самай справе чацвёрты сцэнар. Майк ні тут, або тут, або тут, или-- СТУДЭНТЫ: Не існуе. DAVID Малання: Не існуе. І на самай справе, калі мы не чакаем гэта чацвёрты і апошні сцэнар наша праграма можа быць глючыць або недахопы ў некаторым родзе. У адваротным выпадку, кінуць у тым выпадку, мы не знайшлі Майка наогул. І на самай справе, калі вы калі-небудзь заўважыў, ваш кампутар вісіць, ці ўсё Раптам слова ці нейкай іншай праграма проста нечакана завяршае працу, а часам ты памылка паведамленне літаральна што. Гэтая праграма нечакана завяршае працу. Гэта можа быць па шэрагу прычын. Але часам гэта што-то так проста, як гэта. чалавек праграміст які пісаў, што праграмнае забеспячэнне не разумеў, што, ах, ёсць наперад, што можа адбыцца на самой справе. І калі вы не пішаце код захапіць гэты чацвёрты сцэнар, гэта сапраўды нечаканае часам што кампутар можа рэальна зрабіць. Зараз давайце заклікаць Некаторыя з гэтых рэчаў. Так жоўтым колерам тут, я вылучылі на першы план тэрміны што з гэтага часу мы проста будзе выклікаць функцыі. Функцыі ў свеце праграмаванне сапраўды гэтак жа як дзеянні, заявы дзеянняў. Так што забраць, адкрыты для, паглядзіце на, тэлефануйце, адкрыта, адкрыта, кінуць паліць. Гэта функцыі, працэдуры, дзеянне, любую колькасць сінонімаў будзе працаваць, як добра. Цяпер тое, што гэтыя рэчы цяпер у жоўты колер? Калі інакш, калі інакш, калі інакш, гэта тое, што мы будзем называць ўмовы ў праграмаванні, або галіны, рашэнне паказвае, калі вы будзеце. Але як вы ведаеце, якая відэлец ў дарозе, каб прыняць, так бы мовіць? Нам трэба вылучыць ўмовы направа там, якія яны ды, пытанняў няма. Гэтыя праўдзівыя ілжывыя пытанні. Сміт сярод імёнаў? Сміт раней у кнізе? Сміт пазней у кнізе? Гэта пытанні да які, зрэшты, часта, ці не, ці што тое ж самае дакладна, ці хлусня, або што тое ж самае, адзін або нуль адказ. А між тым існуе толькі адзін апошні кавалак. Гэта тут ёсць нейкі эфект? Будзь ці не праграмаваць перад тым, як бы вы апісаць тое, што крок сем і 10 робяць? Што вы сказалі? СТУДЭНТЫ: рэкурсіўнае крок. DAVID Малання: рэкурсіўнае крок. Так, па сутнасці. Гэта тэхнічна итеративный тут, калі вы знаёмыя. Але мы вернемся да гэтага. Але ён робіць нешта ясна. Зноў жа, гэта индуцируя цыкл, цыкл, правільна. Вы ў літаральным сэнсе ісці вярнуцца да нейкай больш ранняй стадыі. І так на самой справе, гэта будзе рэалізаваць нейкі цыкл. Але вы не збіраецеся, каб атрымаць затрымаўся ў гэтым бясконца, не так. Таму што, калі вы ўвесь час правяраць гэта Майк тут, або налева, ці не, у рэшце рэшт, ён не збіраецца быць там. І вы можаце проста кінуць паліць наогул згодна з гэтай апошняй радку. Дык вось менавіта для слоўніка. І гэта было тое, што мы б як правіла, выклікаць код псевдокода. Гэта не з'яўляецца фактычным мовай. Гэта проста вельмі лаканічны англійская, але ён мае зносіны кропку. Там няма афіцыйнай структуры тут. Вы проста выкарыстоўваць яго некалькі словы, але, як ясныя словы як вы можаце паведаміць вашу ідэю. Цяпер, як добра, што алгарытм і наколькі лепш гэта? Ну, мы не павінны патрапіць у Спецыфіка лікаў або што-небудзь як гэта. Але мы можам паглядзець на Форма гэтага раствора. Так што, калі мы проста зрабіць некаторыя ху сюжэт тут, на гарызантальнай восі тут. Давайце проста называць памер праблемы. І навуковец будзе як правіла, выкарыстоўваюць у якасці п зменнай. Такім чынам, п старонак, ці рускія людзі ў пакоі, або усё, што вы спрабуеце падлічыць. А затым па вертыкальнай восі на налева, што было б час, каб вырашыць. Дык колькі секунд робіць гэта вазьміце мяне, каб знайсці Майка Сміта? Ці колькі крокаў гэта зойме? Колькі паваротаў старонкі гэта зойме? Дык вось, колькі гэта каштуе мяне своечасова, каб вырашыць праблему. І мы маглі б зрабіць першы Алгарытмы нахілу, калі вы будзеце, як толькі гэтай прамой у чырвоным. І я буду называць яго п. Чаму п? Чаму менавіта гэты адзін аднаму з адносін? Ну, калі Verizon або незалежна ад тэлефоннай кампаніі дадае яшчэ адну старонку ў тэлефонная кніга ў наступным годзе, што можа падштурхнуць Майк адзін больш крок бліжэй да канца, у залежнасці ад таго, дзе гэтая старонка. І таму эфект можа проста будзе дадаць яшчэ адну секунду. Ці яшчэ адна старонка павароту. Адзін да аднаго стаўленне. У супрацьлегласць гэтаму, другі алгарытм. Наколькі хутчэй было тое, што інтуітыўна? Дзе я пайшоў дзве старонкі за адзін раз? Так. СТУДЭНТЫ: [неразборліва] DAVID Малання: Так. Так што гэта будзе ў два разы хутчэй. І мы б намаляваць, што тут у залежнасці ад маштабу. Ён па-ранейшаму ўяўляе сабой прамую лінію, але ніжэй, чым чырвоная лінія. Таму што для некаторага ліку старонак, калі патрабуецца вы гэта шмат крокаў з Першы алгарытм, ён збіраецца прыняць вас палову як шмат крокаў з другой. І таму жоўтая лінія апісваючы другі алгарытм толькі збіраецца быць ніжэй яго. Але што на самой справе з'яўляецца магутным думаць аб трэцім, канчатковым, і дзіўна найбольш інтуітыўны Алгарытм, які мае такую ​​форму. Тэхнічна мы называем гэта лагарыфмічная крывая. Уваход па падставе 2 п ў гэтым выпадку. Але гэта не мае ніякага значэння. Што важна на самай справе прынцыпова розная форма, што яна мае. І вы можаце разгледзець пытанне, наколькі нашмат карацей, гэтая лінія на самай справе ў доўгатэрміновай перспектыве. Ён увесь час расце. Ён не згладжваюцца выдатна. Але яна становіцца ўсё так значна больш павольна паколькі праблема становіцца ўсё больш і больш. І вы можаце думаць пра гэта way-- калі Verizon не проста дадаць адну старонку ў наступным годзе, але двайнікі колькасць старонак у тэлефоннай кнізе, першы алгарытм можа прыняць у два разы больш крокаў. Калі гэта 1000 старонак гэта год, 2000 старонак у наступным годзе, Майк можа быць, што значна далей. Так што 1000 дадатковых крокаў, каб знайсці яго. другі алгарытм можа быць толькі 500 больш Крокі, каб знайсці яго, таму што зноў жа, Я лячу праз яго два адначасова. Але як наконт трэцяга алгарытму? Калі Verizon падвойвае Памер тэлефоннай кнігі ў наступным годзе ад 1000 да 2000 старонак, колькі яшчэ крокаў мой трэці алгарытм збіраецца ўзяць? Так, гэта ўсяго толькі адзін. І гэта магутная ідэя. Вы можаце ўзяць 1000 старонак ўкус з гэтай праблемы адразу. А цяпер, калі вы лічыце, дурны сцэнар, але гэта збольшага кажа пра Магутнасць такога роду intuition-- калі тэлефонная кніга была, як, чатыры мільярды старонкі, адчувае сябе, як на самой справе вялікая праблема. І на самай справе, гэта можа вазьміце мяне чатыры мільярды старонкі Аказваецца, каб знайсці Майка Сміта ў тым, што у выпадку з першым алгарытмам. Але колькі б гэта крокі прыняць у трэцім алгарытме каб знайсці Майка сярод чатырох мільярд кавалачкаў паперы? Такім чынам, чатыры мільярды вы разарвалі напалам. Вы атрымліваеце два мільярды. Тады адзін мільярд, то 500 мільёнаў, 250 мільёнаў, 125 million-- але адчувае, як гэта збіраецца заняць некаторы час. Я, магчыма, спатрэбіцца 32 пальцаў падлічыць, што высокія. Але гэта сапраўды так ўсяго толькі 32 старонак слёз. Вы можаце перайсці ад чатырох млрд на адну старонку падзяляе зыходнае лік старонак у палове 32 разы пакуль не застанецца толькі што адна старонка. Цяпер, вядома, я падманваю тут. Гэта не значыць, што мы проста быць свайго роду па-дурному цалкам з першымі двума алгарытмы. Я падманваў ў нейкім сэнсе, або на самай справе я выкарыстоўваючы здагадка. Што было праўдай аб тэлефоннай кнізе у сваім першапачатковым выглядзе, што дазволіла мне нават выкарыстоўваць гэты трэці алгарытм? Так? АЎДЫТОРЫЯ: Гэта быў алфавітны. DAVID Малання: Гэта быў алфавітны, праўда? Калі б гэта было толькі ў выпадковым парадак, гэта пустая трата часу, ўся гэта гаворка. Я павінен глядзець на кожны старонка, калі гэта ў выпадковым парадку каб знайсці Майка Сміта, перш чым я можна зрабіць выснову, што ён там ці не. І таму кут мы рэзалі тое, што ў мяне ёсць Мяркуецца, што хто-то яшчэ гэты выпадак зрабіў працу для мяне. І так, што ў канчатковым рахунку запрашае пытанне, ну, пачакайце хвіліну. Як сартаваць 1000 старонкі імёнаў і нумароў? Гэта на самай справе іншае Праблема, што-то мы вернемся ў будучыні. Але калі вы думаеце пра вэб-сайтах як Facebook і Google для Gmail і такія рэчы, як Google, ўласныя пошукавыя індэксы, калі ў вас ёсць мільёны або мільярды фрагменты дадзеных, якія захоўваюцца ў гэтыя дні, searching-- і не кажучы ўжо пра сартаванне гэтых problems-- у канчатковым рахунку, задача сама па сабе. І на самай справе, гэта, гэта значыць проста адна з тых праблем, што мы будзем глядзець. Такім чынам, цяпер давайце момант і паглядзіце на CS50 сама па сабе і даць вам пачуццё што ў краме ў гэтым семестры. На самай справе, калі вы яшчэ не зрабілі гэтага, сапраўды, паглядзіце на гэты URL. І, як Патрык намякаў каб, у гэтым годзе мы што робіць значныя інвестыцыі ўсё чым больш у падтрымку Курса структура з пункту гледжання ТСП і цэнтры сертыфікацыі, працоўныя гадзіны, Раздзелы даступнасці і лічбавыя матэрыялы ў Інтэрнэце, а таксама. Сапраўды, з пункту гледжання Курса лекцыі, мы тут сёння. І чаканні гэтай год афіцыйна курса будуць прысутнічаць на сёння, курс-х апошняя лекцыя, і курс прыкладна ў сярэдзіне семестра з кожнай лекцыі паміж імі даступныя ў цэлым у другой палове дня ў пятніцу онлайн, як для студэнтаў Ельскага універсітэта і студэнтаў Гарварда ў гэтым годзе. Сапраўды, адзін з фундаментальныя змены ў што мы ў прыняцці Гарвардская парадыгма вельмі як мы рабілі тут у апошні раз год і ў цяперашні час у гэтым годзе, так што падобным чынам, мы па-ранейшаму здымаць большасць лекцый Курс у Кембрыджы але зрабіць іх даступнымі раней чым у нас у мінулым так што тыя з вас, калі you-- хацеў бы, напрыклад, атрымаць фору па матэрыялах на першы ўік-энд, а чым другі ўік-энд, вы будзеце мець Доступ да гэтых відаў матэрыялаў, пошук, які ўбудоўваецца, hyperlinkable на адпаведныя рэсурсы ўсё раней. З пункту гледжання тым, каб даць вам пачуццё trajectory-- Курса і некаторыя з гэтага можа быць жаргоне цяпер, але не надоўга, будзьце ўпэўненыя. Мы пачнем сёння, у канчатковым рахунку, з гледзячы на ​​адным праграмавання мова называецца на пустым месцы. Мы будзем у далейшым пераход на наступным тыдні нешта называецца C а затым, гледзячы на ​​іншы будынак блокі для вырашэння праблем, рэчы, званыя масівы і алгарытмы, як мы выкарыстоўваем памяць на нашу карысць і недахоп, і такія рэчы, як структуры дадзеных, а затым па кірунку да хваставой часткі клас, гледзячы на ​​машыннага навучання і, гледзячы на ​​іншы мова называецца Python, як вэб працуе, як Інтэрнэт больш як правіла, працуе, пратаколы, як HTTP, Мовы для баз дадзеных, такіх як SQL, JavaScript для Інтэрнэту, і ў канчатковым рахунку, звязваючы усе тыя разам. І так на самой справе, на Канец дня, вам ня будзе вучыцца ў гэтым класе нуля або C або Python або SQL або JavaScript. Вы замест таго, каб у больш агульным даведацца інфарматыка і асновы іх, і вы будзеце навучыцца праграмаваць у любой колькасці гэтыя мовы па шляху. Так што на самой справе, адна з мэтаў курсу ў канцы каб зняць усе Курса навучальныя дыскі па гэтых апошнія тыдні так што пасля гэтага, вы можаце вярнуцца да вашага ўласным fields-- няхай гэта будзе ці не кампутарныя навукі або машынабудаванне, у натуральным навукі, мастацтва, гуманітарныя навукі, або beyond-- і прывесці некаторыя з гэтага Ідэя вядома ў і ў гэтым полі ідэі і практычныя навыкі ў свой уласны дамен для таго, каб вырашыць праблемы ў ім. Што мы будзем рабіць тут, у той час у большасці чацвяргах пасля сённяшняга дня гэта з кіраўнікамі ходзе вядучых што мы будзем называць мінанняў праблемных набораў Курса. Так што кожны тыдзень, калі мы паставілі праблему, мы будзем хадзіць праз ў месцы як гэта выклікі Курсу, прапаноўваючы вам некалькі саветаў і прыёмы і метады праектавання. Але калі вы не ў стане каб тыя асабіста, разумеюць тыя ж рэсурсы будуць убудаваныя адным з Курсу асістэнты ў задачы саміх мностваў, а таксама. Праблема ўсталёўвае ў гэтым годзе, у адрозненне ад у мінулым годзе, на аснове зваротнай сувязі, па-ранейшаму будзе выпушчаны па пятніцах. Але замест таго, каб з-за наступную пятніцу, тым самым даючы вам усяго сем дзён, будзе эфектыўна з-за 10 дзён праз. І на самай справе, гэта будзе азначаць, што яны будуць перакрывацца на выходныя. Але мы спадзяемся, што ў гэтым годзе асабліва гэта будзе дазваляюць студэнтам лепш прыстасаваць Прылівы і адлівы ў іх раскладзе, няхай гэта будзе навукоўцы ці extracurriculars або лёгкай атлетыцы або сярэднетэрміновай сезон. Вы можаце альбо з пярэдняй загрузкай або задняй загрузкай ваша тыдзень упорам на CS50 на аснове фактычнай нагрузкі, вядома, вашай уласнай тыдні. Праблема самі наборы будзе ахопліваць цэлы шэраг моў, хоць мы сфокусируемся пераважна на ранніх стадыях на C перш чым засяродзіцца ў далейшым на больш ўзровень, больш вэб-арыентаваных моў. А потым пару часта задаюць пытанні here-- вы павінны ўзяць клас як CS50 у якасці першага года? Так што абсалютна. І на самай справе, гэта не так абавязкова нешта вы павінны адкласці да таго часу, пакуль вы выразаць Вашы зубы на іншых тыпах класаў. Але, хутчэй, разгледзець што для многіх студэнтаў, у тым ліку мяне назад у той жа дзень, гэта вельмі незнаёмае поле, асабліва калі вы ніколі не прымаць CSA AP ці нешта падобнае, што ў сярэдняй школе. Але разумею, што на ранняй стадыі, будзь то гэты курс або нейкай іншай ўводны курс, Зараз гэта сапраўды самы лепшы час, Я думаю, каб знайсці нейкі новы шлях або нейкі новы акадэмічны інтарэс, а таксама. А потым браць з іншымі courses-- таму адным з ключавых адрозненняў тут у параўнанні з Гарварда, што толькі мы прымаць чатыры курса ў семестр ў Гарвардзе па нейкай прычыне. І вы, хлопцы, на самай справе цягнуць ад каля 36 курсаў у агульнай складанасці на працягу вашых чатырох гадоў, што азначае, як правіла, чатыры ці пяць класы. І я думаю, што гэта цалкам справядліва сказаць, і адмаўляемся CS50, у адпаведнасці з праектам, з'яўляецца верагодна, не тып класа што вы павінны, як правіла, ўзяць з сабой чатыры іншых курсы ў агульнай складанасці пяць таму што psets з'яўляюцца дызайн даволі інтэнсіўна. На самай справе, я таксама пазнаў гэта яшчэ ў дзень. Я б не стаў апісваць CS50 і інфарматыка, праграмаванне а так жа цяжка, як гэта гэта як раз адымае шмат часу. Гэта не тая рэч, дзе пасля абеду, вы можа вярнуцца да інтэрнаце зала, сесці і пачаць засяродзіўшы ўвагу на PSET мыслення, усё ў парадку, Я збіраюся выбуху на гэта сёння ўвечары, а затым рухацца да майго наступнага пытання на наступны дзень. Часам вы проста урэзаўся ў сцяну. У вас ёсць памылкі ў кодзе. Вам не абавязкова ведаць як вырашыць тую ці іншую праблему. І адна з ключавых асаблівасцяў праграмаванне для сябе і па гэты дзень гэта вы толькі збольшага павінны прыняць крок назад часам, спаць на ім або думаць пра яго на працягу ад бегу трушком ці якой-небудзь іншай дзейнасці, а затым вярнуцца да яго свежым. І вам проста трэба гэтыя вокны часу. І на самай справе, вось чаму мы надтачылі колькасць часу даступныя для праблемных набораў у гэтым годзе, а таксама, згодна з гэтым URL Я цярплю раней, каб Што новага ў гэтым семестры, абразаецца праблема ўстанаўлівае такім чынам, каб ня яны прынцыпова не менш строгі, а не вынас не менш, але ёсць нашмат менш, уступная, нашмат менш мітуснёй, што вам трэба рабіць у пярэдняй частцы кожнага мноства праблем, як вы ўбачыце, перш чым вы можаце на самай справе апускацца ў мяса яго. Так разумею, што тыя і іншыя змены на гарызонце каб лепш прыстасаваць студэнтаў, але ў канчатковым рахунку, каб пераканацца, што з'яўляюцца вынас на самай справе як мага вышэй. Такім чынам, у той час як больш працы, чым гэта можа быць у тыповым класе, мы спадзяемся, што аддача для вы і для вас ежы на дом а таксама навыкі і ідэі з дапамогай якога вы выходзіце тым больш пераканаўчым у выніку. І, каб вы і гэта there-- з'яўляецца адным з ключавых вынас, як згадана Патрык earlier-- з'яўляецца Структура падтрымка курсу. Так што не толькі CS50 ёсць адзін з найбуйнейшыя штабы курсу ў універсітэцкім гарадку. Яна таксама мае адзін з Найбольш магістрантка. Сапраўды, у мінулым годзе CS50 быў першым класам мець вышэйшую выкладчыцкі склад. І сведчаннем гэтага поспеху цяпер рабіць многія іншыя курсы ў рамках Ельскага CS ёсць, што, як добра. А для студэнтаў, у прыватнасці, будуць гэтыя ТКС і курсу памочнікі будзе падтрымліваць у цэлым сетка дапаможных рэсурсаў, сярод іх частак ці дэкламацыі, штотыднёвыя магчымасці мець больш інтымныя абмеркавання і агляды матэрыялаў мэтавых для розных трэкаў, для студэнтаў менш камфортна, больш камфортна, або дзесьці пасярэдзіне. Яны будуць ісці за наяўнасці лекцыі па некалькі дзён кожны тыдзень па панядзелках і аўторках. А потым офіс hours-- адзін на адзін магчымасці па дапамогу курсу КАН і ТП будзе па серадах і чацвяргах і нядзелях у некалькіх раз, усе з якіх будуць размешчаны на вэб-сайце Курсу, нават больш, чым у мінулым годзе, а таксама. Але тое, што ключ да CS50, калі ня па агульным прызнанні, трохі незвычайна, гэта культура вядома, што мы спрабавалі культываваць, як у Кембрыджы на працягу многіх гадоў а цяпер зусім нядаўна ў Нью-Хейвене. І на самай справе, прыдумляючы гэты Субота, калі вы яшчэ не чулі, гэта CS50 галаваломка Дзень, які мае нічога не рабіць з кампутарнай навукі але цалкам прызначана для адпраўкі паведамленне, што кампутарная навука аб рашэнні праблем. І на самай справе, калі вы хочаце, каб партнёр з адным ці двума ці трыма сябрамі і сфармаваць каманду для CS50 Галаваломка дзень, паглядзіце на рэкламу, якія знаходзяцца на выхадзе. А яшчэ праз тры гадзіны піцы і галаваломкі і прызы чакаюць. І сапраўды, для першы раз у гэтым годзе, яна не будзе праводзіцца сумесна з Гарвард. Ён будзе тут незалежна адзін ад аднаго ў Ельскім універсітэце. Так што сочыце за тыя, калі ў вас няма. Большасць кожную пятніцу ў семестр мы стараемся зрабіць вялікі клас адчуваць сябе маленькім і прынесці каля 50 студэнтаў на абед з супрацоўнікамі Курсу, з выпускнікамі, сябрамі ад прамысловасці казаць пра тое, што жыццё, як пасля таго, як клас як CS50 і на працягу лета і пасля заканчэння школы. Так што сочыце за Запрашэння да гэтага. упершыню калі-небудзь у гэтым годзе мы правесці першы ў гісторыі CS50 кадаваньне Конкурс, дадатковы выбар у магчымасці у сярэдзіне семестра, пасля таго, як усе мы мелі прыкладна праз шэсць ці сем тыдняў праграмавання ў C пад іх паясамі, каб канкурыраваць, калі б вы так выберите-- зноў на teams-- спрабуе вырашыць столькі праблем як вы можаце ў праграмаванні з вашыя сябры супраць іншых. І да хваста семестра будуць чартары некаторыя аўтобусы, на самай справе выдаткаваць некаторы час у Кембрыджы, калі вы хочаце хацелі б далучыцца да нас, для так званыя CS50 Hackathon. У 7 гадзін вечара мы пачнем. Каля 9 гадзін вечара, мы будзем мець піцу. Каля 1:00 раніцы, мы будзем мець буррито. І нехта яшчэ не спіць на язды на аўтобусе дадому каля 5:00 раніцы, мы заязджаць для бліноў на IHOP на шляху home-- 12-гадзінны магчымасць пагрузіць сябе з аднакласнікамі і супрацоўнікамі у канчатковым праекце Курсу, якая з'яўляецца магчымасць выходзяць далёка за рамкі Вядома мноства праблем у і распрацоўка і ажыццяўленне найбольш нічога для вас цікавасць, што ў канчатковым выніку будзе прыкметах тут у Абшчын. Першы ў гісторыі CS50 кірмаш была апошні год, выстава са скончаным семестра ці свята, што кожны у класе было дасягнута, асабліва тыя, зноў-такі, хто пайшоў з ні да чаго, ад нуля да 60, якія не маюць ніякага папярэдняга фону і экспанаванне, у канчатковым рахунку, то для ўсёй універсітэцкага гарадка і, калі ў Інтэрнэце, каб свет пабачыў, як добра. Зараз, гэтыя вось толькі нешматлікія з TAs і цэнтры сертыфікацыі, што робіць магчымым CS50. Дазвольце мне запрасіць любога з гэтых супрацоўнікаў хто тут, каб выйсці на сцэну, а таксама кіраўнікі Курсу, каб прапанаваць некаторыя словы натхненне, а таксама. ANDI: Прывітанне, хлопцы. Ці можаце вы, хлопцы, чуеце мяне? Дзякуй, што далучыліся да нас па гэтым пытанні сімпатычны, дажджлівы чацвер у другой палове дня. Мяне клічуць Анди. Я малодшы ў Берклі. А разам з Стелиос і ўлетку, мы будзем ваша вучэнне тры галавы памочнікі для гэтага быць года. Так што, я думаю, шоу hands-- колькі з вас не маюць ні найменшага намеру быць CS маёр, ні на самай справе глыбока дайвінг ў інфарматыцы як адной з асноўных тут? Дзіўны. Гэта геніяльна. Так што я на самой справе глабальныя справы і кагнітыўная навука мажор. Я літаральна прыйшоў Yale з намерам што ніколі не маючы глядзець на лік калі-небудзь зноў у маім жыцці. Калі я прыехаў у Ельскім універсітэце, гэта было тое, што ніколі не быў на маім радары. Я хацеў бы даведацца пра паэзію. Я хацеў бы даведацца пра міжнародных справах. Я хацеў бы даведацца пра акварэльныя малюнкі. Так, мы прапануем клас на акварэльныя малюнкі. Але я ніколі не быў зацікаўлены у чым-небудзь STEM звязаныя паміж сабой. Але тады я старэйшы атрымаў, тым больш я зразумеў, што кожнае поле сапраўды ў некаторых сэнс выкарыстоўвае кампутарныя навукі, або калі не кампутарныя навукі, вылічэнні. На самай справе, для маёй глабальнай Справы дыпломны праект, мы выкарыстоўваем аналітыку дадзеных аналізаваць тэракты для Бока Харам ў Нігерыі. І так як вы можаце бачыць, незалежна што галоўная вы ў канчатковым выніку перасьледуюць або тое, што вашыя інтарэсы тут у Ельскім універсітэце з'яўляюцца, праграмаванне і асновы з любой навыкі супер карысна. І CS50 сапраўды добра абсталяваны для выгляд крэдытаваць шмат сваіх рэсурсаў Вам, незалежна ад таго, наколькі камфортна вы ці як вы зацікаўлены у рэалізацыі класа. Лета збіраецца крыху пагаварыць крыху аб тым, што вы, хлопцы, збіраецца даведацца пра гэта годзе. ЛЕТО: Прывітанне ўсім. Я Лета Ву. Я малодшы ў Морзэ. І я на самой справе пачаў як CS50 студэнт сам. Так што тры гады таму, я быў на год разрыў. Я ніколі не браў CS клас у сярэдняй школе, але я думаў, што ў свой вольны час, было б выдатна, каб даведацца, як код. Так што я зрабіў хуткі пошук Google, шукаў тое, што было даступна ў Інтэрнэце, і ўбачыў гэта відэа з лялькамі і ды-джэі і прахалодны вэб-сайтаў. Я быў, як я хачу даведацца, як зрабіць гэта. Так што я ўзяў курс, і я проста закахалася ў яго. Але я памятаю, так што раўнаваць дзеці, якія маглі б прысутнічаць на Hackathon, прысутнічаць галаваломка дзень, наведваць офіс гадзін, атрымаць дапамогу ад ТП асабіста. І таму я ніколі не думаў, што я хацеў бы атрымаць шанец каб быць тут ўцягнутыя ў курс, які ўпершыню атрымаў мяне цікавіць у кампутары навука і з'яўляецца прычынай таго, чаму Я кампутарныя навукі галоўным сёння. Таму я папярэджваю вас, гэты клас збіраецца расцягнуць вас. Гэта будзе вам выклік. Але гэта таксама будзе навучыць вас, як рабіць рэчы што вы ніколі не ўяўлялі вы маглі б. Стелиос: Прывітанне ўсім. Мяне клічуць Стелиос. Я малодшы ў Branford Каледж і галоўны CS. Я таксама з Афін, Грэцыя. Я сапраўды з нецярпеннем чакаю для задавальнення ўсіх вас, чаце з вамі ў раздзеле, у офіс гадзін, у пятніцу абеды. Я вельмі рады, таму што мы ўклалі столькі намаганняў у стварэнне унікальнай падтрымкі структура для ўсіх вас каб зрабіць ваш вопыт працы з курс найлепшага. І я спадзяюся, што хоць большасць Вы, верагодна, не прынята CS Вядома, перш чым, я спадзяюся, што гэта CS50 для вас гэта тое, што выклікае цікавасць далей праводзіць кампутар навука ў будучыні, як гэта было зроблена з такім многія людзі ў мінулым. Так што дзякуй вам за тое, тут, рады бачыць вас. Джэйсан Хиршхорн. Ясон Hirschhorn: Прывітанне ўсім. Мяне завуць Джэйсан Хиршхорн. Я жыву ў Силлиману. І я пайшоў у Гарвард як старшакурснік і спецыялізаваўся ў галіне сацыяльных даследаванняў і minored ў інфарматыцы. І адна з маіх галоўных роляў тут каб падтрымаць гэты выдатны персанал так як яны падтрымліваюць вас усіх. На самай справе, гэта далёка не ўсе з іх. Ёсць 55 магістрантаў і выпускнікоў тут, каб падтрымаць вас усіх. І я мяркую, адзін з лепшых часткі курса для вас усё становіцца працаваць з яны, знаёмячыся з імі, атрымліваць, каб убачыць іх, як у CS50 і за яе межамі CS50 у гэтым семестры і для многіх семестраў, каб прыбыць. Так што, спадзяюся, вы будзеце браць Вядома ж, таму што мы спадзяемся, вы атрымаць, каб ўзаемадзейнічаць з выдатны персанал у нас на сцэне. СПІКЕР: Ну, дазвольце мне скончыць кажучы гэта будзе весела. DAVID Малання: Ну, дзякуючы ўсёй нашай каманды. Дазвольце мне цьмяны святло і дазваляюць яшчэ некаторыя з нашай каманды, як з Кембрыджа і Нью-Хейвене, каб сказаць прывітанне, як гэтыя хлопцы спілоўваць. І пасля гэтага мы будзем пераходзіць да першы з нашых абавязацельстваў па праграмаванні з гэтай мовай называецца Скрэтч. Так што дзякуй камандзе. Давайце цьмяны святло і пачуць ад некаторых іншых. [Апладысменты] [ВИДЕОВОСПРОИЗВЕДЕНИЕ] -The Місія CS50, каб вы больш камфортна з цалкам новым спосабам мыслення, гэтага вылічальнага мыслення. -Ён Зрабіў кампутарныя навукі Цікава, што што-то я не вельмі разумею, было магчыма, пакуль я не ўзяў клас. -Я Быў падобны, стой. Я сапраўды пераводзячы свае думкі ў кампутар прама цяпер. -нават Калі ў вас няма ніякага фону у галіне інфарматыкі або любы вопыт, гэта на самай справе клас для вас. -Так Я вызначана хачу мае студэнты проста захапіцца інфарматыкі. Не толькі праграмаванне, але думаць, як кампутарны навуковец на самай справе, што я хачу паспрабаваць навучыць майго пачаткоўца. -CS50 Цяжка і ўзнагароджанне. -An Вопыт. -Extravaganza. -Ён Прывязе нас да наступнага ўзроўню. [МУЗЫКА] -The ТФ з'яўляюцца, як мне здаецца, Lifeblood курса. -Я Рады мець мае студэнты Я дапамагаю ёсць што аха момант, каб зразумець, што яны на самой справе спрабуюць зрабіць, каб высветліць, як зрабіць PSET. -CS50 Вызначана жорсткі курс. Але ў адрозненне ад любога іншага Вядома, на самай справе ў Ельскім універсітэце, ён мае такі вялікі, падтрымку супольнасці. -Ты Зусім ня трэба ведаць што-небудзь аб кадаванні, каб быць у стане ўзяць курс. -Гэта Дзіўна назіраць, як далёка людзі прыходзяць у адзін семестр. -Ты Не адна сядзіць у ваш пакой навучыцца кода, але гэта было больш, чым проста клас. Гэта быў досвед. -Лепш Спосаб даведацца канцэпцыі і апрацоўваць іх з'яўляецца вучыць іншых. -Якая Тэлефон раскол? [МУЗЫКА] -А Гэта CS50. [МУЗЫКА] -Гэта CS50. -Got Праблему? Tear яго напалову. [МУЗЫКА] Выкінуць. DAVID Малання: Добра. Так што давайце tackle-- ў трохі трохі, між іншым, гэта была гэтая традыцыя нейкай прычыне на працягу 10 гадоў каб служыць торт на пачатку і канца CS50. Так што чакае вас у канцы Сёння, у дадатак да вучэбных планах, будзе некаторы пірог, а таксама, і персанал вядома, каб сказаць прывітанне. Пераход Але цяпер, давайце за першы з нашых моў, дзе мы выдаткуем на самай справе толькі тыдзень і адзін праблема ўсталяваць на гэтым дамене, да драпін. І вы знойдзеце, калі вы маеце запраграмаваны раней, многія з ідэй і магчымасці вам знаёмыя. Але вы выявіце, што гэта весела па шляху каб дакладна высветліць, як перавесці некаторыя з ідэй, якія вы ўжо ведаеце ў гэтай канкрэтнай асяроддзі каб сапраўды зрабіць уражанне на сям'ю і сябры з вашай працай, якая можа выходзіць у інтэрнэт, калі вы гэтага хочаце, пасля гэтага. І калі ў вас ёсць няма папярэдні вопыт і сярод большасці студэнты менш зручныя, разумеюць, што многія з ідэй, якія мы проста даследавалі з reality-- рэчаў як тэлефонныя кнігі і наведвальнасці і так forth-- пераклад даволі прыгожа да кампутара, але калі вы не карыстаецеся, Першапачаткова, мова, як гэта. Так што гэта праграма, напісаная на мове, званым С. І мы выдаткуем зусім няшмат часу ў C, у канчатковым рахунку. Але шанцы, гэта будзе выглядаць трохі загадкавым вам на першы погляд. На самай справе, ёсць шмат дзіўна сінтаксіс, круглыя ​​дужкі, вуглавыя дужкі, фігурныя дужкі, двукоссі і кропкай з коскі. І на самай справе, калі вы акунуцца ў Праграмаванне ў першы раз гледзячы і спрабуюць стварыць матэрыял як гэта, калі шчыра, ты так заграз так часта ў проста глупства дробязях, што не мае нічога інтэлектуальна цікава пра гэта. Але ўявіце сабе, калі вы маглі б стварыць гэта ж program--, які, як можна было б выказаць здагадку, свайго роду, верагодна, друкуе "Прывітанне, свет", так ці інакш. Мы можам пераганяць тую ж самую ідэю ў толькі дзве часткі галаваломкі, калі вы будзеце. Сапраўды, драпіна цікава таму што гэта гэта графічную мову. Вы можаце перацягнуць гэтыя кавалачкі галаваломкі, якія толькі интерлок калі ён мае лагічны сэнс зрабіць гэта. І таму ў пустым месцы, мы хутка ўбачым, гэта як вы б рэалізаваць той жа Праграма, з дапамогай ўсяго двух частак галаваломкі што ў значнай ступені рабіць тое, што яны гавораць. Але мы ўбачым у імгненне, што некаторыя будаўнічых блокаў, якія мы якія ішла гаворка раней і некалькі больш усё, што у канчатковым рахунку, збіраюцца складаць некаторыя з нашых ранніх праграм. Мы будзем мець рэчы як functions-- проста дзеянні, якія робяць нешта, як сказаць прывітанне, свет. Мы будзем мець завесы, рэчы, якія выклікаюць цыклы зноў і зноў, гэтак жа, як мы зрабіў хвіліну назад з пошукам Майк Сміт. Зменныя, як у алгебры, калі вы ёсць х ці у, якія могуць захаваць нумар. Ну, у праграме, вы можаце на самой справе захоўваць больш, чым проста лічбы. Вы можаце захоўваць словы і прапановы і графікі і іншыя рэчы да гэтага часу. Лагічныя выразы, проста questions-- так ці не, сапраўдным або ілжывым. Ўмовы, пры прыняцці рашэння на аснове гэтых так / не адказаў. А потым больш мудрагелістыя рэчы, як масіў і тэмы і падзеі і любую колькасць іншых асаблівасці, але ўсё з якіх карта вельмі прыгожа вельмі дружалюбныя блокі, як гэта. Гэта будзе функцыяй, фіялетавы кавалак галаваломкі, якія як раз кажа тое, што яго імя is-- у дадзеным выпадку, скажам. А потым часта, ёсць белы скрыню, які вам можна ўвесці ў сістэму або перацягнуць нейкую каштоўнасць ст. І вось што ў цэлым называецца аргументам або параметр. Гэта спосаб змены яе Паводзіны па змаўчанні галаваломкі частку або функцыю так, каб яна што-то на заказ для вас, як кажуць, прывітанне, свет ці прывітанне, Эндзі або прывітанне, Джэйсан або нейкай іншай прапанова замест гэтага. Калі вы хочаце сказаць, што lot-- літаральна forever-- вы можаце ўзяць іншы паззл называецца назаўжды і проста заціснуты два разам, як гэта. І гэта цыкл, як карціна мяркуе, значыць проста сказаць прывітанне, свет назаўсёды, зноў і зноў і зноў. Ці, калі вы толькі хочаце зрабіць гэта канчатковае лік раз, як і ў 50 разоў, там будзе яшчэ адна галаваломка частка для that-- паўтарыць 50 разоў. У той жа час, калі вы хочаце каб мець зменную на гэтай мове мы збіраецца гуляць, Вы можаце выкарыстоўваць аранжавы блок, як гэта. І гэтая пераменная я адвольна называецца I для цэлага ліку. І я проста ўсталяваць яго роўным 0. І таму, магчыма, я, у гэтым case-- гэта переменная-- уяўляе чыю-то лік у гульні. Вы пачынаеце з нуля, і кожны раз, калі вы зрабіць мэта ці нешта падобнае, Вы атрымліваеце адзін дадатковы пункт. Вы можаце задаць пытанні ў пустым месцы. Калі мы перацягнуць галаваломкі штук у хвіліну, як гэта, Вы можаце задаваць пытанні, як, добра, я менш, чым 50? Можа быць, вам трэба 50 ачкоў, каб выйграць. І такім чынам гэта было б пытанне, які вы хочаце спытаць. Ці, у больш агульным плане, вы Можна сказаць, гэта х менш у, дзе ёсць дзве зменныя ўцягнутыя? Цяпер гэта адно шмат больш, на першы погляд, але на самой справе не ўсё, што складаней. Гэта проста спалучэнне умоў і зменных і лагічных выразаў, каб спытаць тры questions-- складае х менш у? Калі гэта так, скажам так. Скажам, х менш у. У адваротным выпадку, калі х больш Y, інакш х павінна быць роўная у. І ў той час як з Майк Сміт, там былі чатыры сцэнара, тут ў свеце лікаў, х з'яўляецца альбо менш, больш або роўна. Усё ў нас ёсць тры развілкі. А тут яшчэ спрактыкаваней кавалачкі галаваломкі, як гэта для такіх рэчаў, як масівы, дзе мы знаходзімся будзе мець магчымасць захоўваць інфармацыю. Мы збіраемся, каб убачыць блокі, якія дазваляюць нам рэалізаваць некалькі патокаў, іншая асаблівасць, якую мы будзем выкарыстоўваць, і то і нешта называюць падзеямі. Але перш чым мы пяройдзем да таго, што пункт і стварыць нават, у канчатковым рахунку, наш уласны карыстацкі кавалачкі галаваломкі, давайце на самай справе адкрыць саму праграму. Так што гэта на пустым месцы. Яна даступная на scratch.mit.edu. І вы заўсёды можаце гуляць зараз ці пазней, а таксама. Гэта адбываецца з аўтаномнай версіяй. Для людзей, якія не робяць абавязкова маюць вялікі Інтэрнэт, Вы можаце спампаваць той жа праграмнае забеспячэнне, а таксама. І там сапраўды толькі тры кампаненты гэтага праграмнага забеспячэння. У верхнім левым куце экран з'яўляецца свайго роду этап што драпіна, які па змаўчанні выглядае як кот, жыве ўнутры. Ён можа рухацца ўверх, уніз, налева і направа і рабіць любую колькасць іншых рэчаў, і можа выглядаць любую колькасць спосабаў на аснове на касцюмы, якія вы прызначаеце яму. Але гэта тое, што мы называем спрайт, свайго роду знак. І вы можаце мець некалькі персанажы, як мы хутка ўбачым. У сярэдзіне зараз усе гэтыя галаваломкі штук і гэтыя катэгорыі або паддоны яго. Так прама зараз, я націснуў на Motion. І вось я бачу, усе з руху, звязаныя з галаваломкі ці блокі, таму функцыі, якія маюць рабіць з выхадам ўверх, уніз, налева або направа або некаторыя іншыя аперацыі. Але калі я націснуў на Looks, вы мог бачыць рэчы, як блок скажам што мы бачылі толькі хвіліну таму. І калі я націскаю на кантролі, вы ўбачыце такія рэчы, як паўтарэнне і назаўжды і калі блок, мы бачылі хвіліну таму. І так вы знойдзеце што мы проста падрапаць паверхню некаторых з кавалачкі галаваломкі разам, але гэта ўсё даволі інтуітыўна і кропка і націсніце. На самай справе, драпіна была распрацавана для малодшых школьнікаў каб дапамагчы даць ім выхад для творчага мыслення. І ўсё ж надзіва, гэта выдатны прыступкай дакладна з ідэямі, якія мы збіраемся вывучыць ў C і Python і JavaScript, а. З правага боку, у рэшце рэшт, тут гэта, так званы вобласць сцэнарыяў. І гэта толькі з чыстага ліста якую вы пачнеце пісаць праграму. І я буду менавіта гэта. Цяпер, я ведаю, дзе рэчы таму што я зрабіў гэта некалькі разоў. Але я ведаю, што пад катэгорыя Падзеі, ёсць гэты блок here-- калі зялёны сцяг пстрыкнуў. І да вашага ведама, калі я памяншэння і назад у тут на сцэне, Скрэтч жыве ў межах гэтага маленькі прастакутны свет, на вяршыні якой з'яўляецца зялёны сцяг і чырвоны знак прыпынку. Так што ідзі і спыніць, адпаведна. І вось, што я хачу зрабіць калі гэты зялёны сцяг націснутая? Што ж, дазвольце мне перайсці да таго, што здаецца катэгорыю. І дазвольце мне ісці наперад і перацягнуць гэта. І заўважце, як толькі ён атрымлівае блізка, яны свайго роду магнітнымі ўласцівасцямі. Так што, калі я цяпер адпусціць, яна зафіксавалася разам прыгожа і чыста. І я збіраюся ісці наперад і нешта накшталт Прывітанне, свет на працягу двух секунд. Дазвольце мне паменшыць маштаб і націсніце зараз зялёны сьцяг, і сказаць, прывітанне, свет. Добра. Так што гэта ўсё выдатна і добра. Не ўсё, што цікава. Давайце зробім гэта крыху сімпотней. І я ведаю, што ў Прасоўванне, драпіна адбываецца прыйсці з некаторымі мілыя рэчы, як гэта. Так гуляць гук мяу пакуль не зроблена. Дык давайце зробім гэта. [МЯЎ] Оу, гэта цудоўна. І калі я націсну яго again-- [МЯЎ] І зноў. [МЯЎ] Але я працягваю неабходнасці рэанімаваць нуля. Але я магу зрабіць лепш, чым гэта. Чаму я не магу проста перацягнуць тры з іх. І цяпер гэта ў тры разы чароўныя. [Мяўканне] Добра, на самай справе, гэта крыху жудасным. Так што нам трэба нешта паміж імі ёсць. Калі я іду да кантролю, гэта выглядае ёсць на самай справе чакаць блок. І таму звярніце ўвагу, калі я навядзіце курсор мышы на there-- і дазвольце мне зрабіць гэта крыху больш. Калі я парыць, гэта будзе каб зафіксавацца. Так што чакайце адну секунду, пачакайце адну секунду. Давайце зноў ударыў зялёны сцяг. [Мяўканне] Добра, трохі больш натуральным, але не вельмі эфектыўна. Так што гэта правільна, калі мая програмы Мэта была мяу тры разы. Але гэта не вельмі добра распрацаваны. Я як бы скараціць некаторыя куты. Я трохі гультаяваты. Што адчувае like-- што мне здаецца, каб было зроблена дрэнна, вы б сказаць? Так? Так, у сярэдзіне. АЎДЫТОРЫЯ: Выкарыстоўваецца больш памяці, чым вам трэба таму што вы карыстаецеся так шмат розных лініі. DAVID Малання: Так, так што больш ліній. І гэта не абавязкова будзе памяць, хоць гэта можна было б разглядаць як такім чынам. Але гэта definitely-- ёсць надмернасць. І я ў літаральным сэнсе выгляд пацягнуў і скінулі адны і тыя ж рэчы. І калі вы, здаецца, extrapolate-- калі гэта не відавочна here-- добра, як бы Я мяўкаць 30 разоў? Я хацеў бы перацягнуць, як, больш за 30 пар галаваломкі. І, вядома ж, ёсць лепшы спосаб. І мы ўжо бачылі лепшы шлях. Што б інтуітыўна быць лепш? Так, проста выкарыстоўваць цыкл. Няма капіявання і ўстаўкі. І сапраўды, у любы час гэта семестр, калі вы пачынаеце знайсці сябе перацягваннем, ці сапраўды функцыі капіявання і ўстаўкі, небяспечная звычка, таму што гэта проста не вельмі рамонтапрыдатнасць. Напрыклад, калі я хачу змяніць гук да чаго-то яшчэ, Я павінен змяніць гэта цяпер у трох прасторы замест аднаго. Таму што на самой справе, калі я разарваць гэты away-- я проста хачу, каб расшчапіў гэта так. Дазвольце мне захапіць паўторны блок, і затым націсніце тры, тры тыпу, кінуць некаторыя з іх прэч проста адпусціць. А потым заўважылі не выглядае, як ён падыходзіць, але магнітным спосабам, гэта адбываецца не толькі аснасткі на месцы але расці, каб адпавядаць форме. Так што гэта добра. А цяпер, калі я націскаю гуляць. [Мяўканне] Вельмі добра. Добра. А цяпер гэта вельмі лёгка змяніць, таксама, таму што я магу проста змяніць адзін нумар у адным месцы. Але гэта таксама не усё, што цікава. Давайце на самай справе ёсць Драпіны ня мяўкаюць, але рухацца. Дазвольце мне перайсці да Motion і рухацца 10 крокаў ўнутры of-- воклічамі, дазвольце мне гэта выправіць. Дайце мне яго рухацца 10 steps-- на самай справе, давайце не будзем рабіць паўтараць. Дазвольце мне захапіць блок кіравання, і выканайце наступныя дзеянні назаўжды. Назаўсёды, рухацца 10 крокаў. І націсніце кнопку Play. ДОБРА. Так што, на шчасце, ён спыняецца. У адваротным выпадку, дзеці атрымалі б вельмі засмучаны калі яны накшталт губляюць сваю котку. Але, па меншай меры, я магу перацягнуць яго назад у экран. Але гэта не ўсё, што вялікі з гульні або анімацыі. Было б нядрэнна, калі магчыма ён адскочыў ад краю. Дык што ж нам рабіць? Якая канструкцыя мы павінны мець Драпіна вырашыце адмоваў, як вы думаеце, нават калі вы ніколі не бачыў драпіна раней? Так, у спіне. ГЛЕДАЧЫ: Вам патрэбен калі блок або калі-то. DAVID Малання: Так, так што некаторыя выгляд, калі блок або калі-то. Так што на самой справе, у нас ёсць адзін з іх тут. Так if-- так што дазвольце мне атрымаць пазбавіцца ад руху. Дазвольце мне павялічыць, так гэта больш. Бо пра гэта. Назаўсёды, калі Sensing-- мы не бачылі гэта раней. Мне трэба лагічны выраз. І атрымліваецца, калі вы датыкаецеся што? Калі дотык да краю, Што я хачу зрабіць? Ну, калі я вярнуся да руху, Аказваецца, о, я магу разгарнуцца. Дазвольце мне перацягнуць гэта тут. Чаму б мне не ісці наперад і разгарнуцца на 180 градусаў? А цяпер, дазвольце мне проста рухацца ў канцы. Я мог бы паставіць на рух пачатак ці канец. Але па логіцы рэчаў, кожны раз, калі я рухаюся, я хачу праверыць, я дакрануўшыся да краю? Ці магу я дакрануўшыся да краю? Ці магу я дакрануўшыся да краю? Так што лагічна я паварочваюся калі гэта так. Так што давайце ударыў гульню. ДОБРА. Так што гэта крыху глючыць, так бы мовіць. І гэта памылка проста памылка ў кампутарнай праграме. Але па меншай меры ён працуе. І на самай справе, я магу пайсці сюды. І дазвольце мне зрабіць гэта не 10 крокаў за час, але ўсё гэта анімацыя. Гэта ўсё мультфільм ці нават фільм. Дазвольце мне рухацца 20 крокаў за адзін раз. Так што ў 20 разоў, як шмат рэчаў, якія адбываюцца адзін раз, або ў два разы больш, і ў гэтым выпадку. І ён рухаецца хутчэй. Дазвольце мне змяніць 30. 100. 1000. І гэта адбываецца вельмі хутка. І гэта is-- так, добра. Так што цяпер мы проста песціцца з ёй. Добра, такім чынам глючыць. Але мы можам выцягнуць яго з шляху сюды. Але мы можам зрабіць больш задавальнення з гэтым таксама. Як наконт this-- ён з ног на галаву. Але аказваецца Scratch-- і ёсць на самой справе, У мяне не адмаўляемся, ня акадэмічная значэнне, што я збіраюся рабіць. Але калі я адкрываю мікрафон, давайце спыніць яго і зрабіць нешта накшталт гэтага. Ой! [СМЕХ] Гэта было цудоўна. Дзякуй. Цяпер, гэта тое, што мой голас выглядае, калі я заклікаю Уч. Я не думаю, што мы злавілі ваш смех. Гэта добра. Дазвольце мне захаваць гэта як "Ой". Давайце захаваем гэта як "Уч". А зараз мы вернемся да Scripts. А цяпер я need-- давайце паглядзім, гук. О, гуляць гук Ouch. Так што, калі я дакрануўшыся да краю, дайце мне Першая п'еса Уч, а затым разгарнуцца. А цяпер давайце паставім яго ў сярэдзіне. [СКАЗАЦЬ "АЙ"] У два разы хутчэй. ДОБРА. Але гэта ў літаральным сэнсе рабіць тое, што я кажу. Так што гэта на самай справе правільна, гэта проста трохі раздражняе хутка. Таму давайце дадамо нешта больш цікава гэта. Дазвольце мне на самай справе адкрыць той, які я зрабіў загадзя, трапна назваў любімца Кот, які робіць гэта. Вось сцэнар тут. Што гэта збіраецца рабіць у ангельскіх тэрмінаў? Што гэта распрацавана, каб зрабіць? Так, пойдзем some-- так? ГЛЕДАЧЫ: Калі вы пагладзіць котку, яна мяўкае. DAVID Малання: Так, так што, калі вы пагладзіць котку, гэта будзе мяўкаць. Такім чынам, іншымі словамі, ёсць цяпер назаўжды цыкл да гэтага часу, у спалучэнні з умовай, камбінаваны з лагічным выразам, ў спалучэнні з парай функцый, эфект з якіх пасля таго, як я гуляю гэтая праграма, няма нічога адбываецца, пакуль я не падвядзіце курсор усё бліжэй і бліжэй і бліжэй и-- [МЯЎ] Тады як гладзіць котку. [МЯЎ] Толькі як толькі вы на самой справе перамясціць курсор над ім. Зараз, я таксама падшпіліў ня пагладзіць кот, які робіць гэта замест гэтага. [Мяўканне] Такім чынам, ён проста пастаянна мяўкае. [Мяўканне] Але калі я атрымліваю занадта close-- [Мяўканне] [Роў] Так як жа гэта працуе? Цяпер я проста ёсць двухбаковы скрыжаванне. Калі датыкаючыся паказальнік мышы, затым прайграваць гук леў. Інакш проста гуляць гук мяу, а затым чакаць тры секунды, так што гэта збольшага робіць ён вельмі ціхамірна. Добра. Так што гэта аб'яднанне яшчэ некалькі ідэй, да гэтага часу. Давайце паглядзім на гэты прыклад Я узбітымі пад назвай тэмы. А гэта ў корані адрозніваецца тым, што яна выкарыстоўвае характэрнай рысай многіх мова праграмавання пад назвай ніткі, здольнасць праграмы у літаральным сэнсе зрабіць дзве рэчы адначасова. На самай справе, у гэтыя дні, калі вы выкарыстоўваеце Google Docs або Microsoft Word, і свой дакумэнт пастаянна быць праверкі правапісу нават, як вы type-- ці вы Націсніце Ctrl-P або Control-P і друкаваць нешта, гэта друк у той час як вы працягваеце друкаваць. Праграмы сёння сапраўды можа зрабіць некалькі рэчы адразу, гэтак жа, як у пустым месцы тут. Дык вось, у мяне ёсць два спрайт Цяпер, птушка і кошка. І калі я націскаю на кожным з тыя сімвалы па адным за раз, Я бачу прама зараз птушыны скрыпты ў правым верхнім куце. Цяпер я бачу кошкі. Птушынае, кошкі. Такім чынам, кожны з іх мае свой уласны сцэнар. Але зьвярніце ўвагу, якой кавалак галаваломкі яны абодва пачынаюцца з? Калі зялёны сцяг пстрыкнуў. І птушка, калі зялёны сцяг пстрыкнуў. Так што, калі я націскаю зялёны сьцяг, абодва гэтых сцэнарыяў або праграм збіраюцца працаваць паралельна. І вы заўважыце, што птушка проста бяздумна адлюстроўваючыся ад краю. Котка відавочна была запраграмавана стратэгічнае перавага. и-- [Роў] Добра. Так кот злавіў птушку ў гэтым выпадку. Чаму гэта? Ну, заўважце спачатку мы проста птушка проста бяздумна ісці у гэтым зыходнае месцазнаходжанне, а потым назаўсёды, калі не дакранаючыся ката, проста рухацца. І калі вы на краі, падскокваць. І проста рухацца. І калі вы на краі, падскокваць. Але котка, тым часам, мае некаторую дадатковую логіку што кажа this-- па-першае, проста так што гэта не цалкам прадузятым супраць птушкі, звярніце ўвагу, што я выкарыстоўвалі зялёны кавалак галаваломкі ёсць што на самой справе выбірае выпадковы лік. Асаблівасцю многіх моў, каб даць Вы выпадковых або псеўдавыпадковых лікаў. Так што ў дадзеным выпадку кот першапачаткова выбірае выпадковы лік паміж, напрыклад, 90 градусаў і 180 градусаў, па сутнасці, так што ёсць трохі разыходзяцца. А потым назаўсёды, калі вы датыкаецеся птушка, прайграваць гук леў. У адваротным выпадку, проста паказваюць на птушку. Накіруйце да птушкі. Кропка да птушкі, якая з'яўляецца паззл да сябе ў гэтым выпадку. Ну, мы можам зрабіць яшчэ адну рэч тут. Дазвольце мне адкрыць праграму мерапрыемстваў тут. І тут мы зноў маем два спрайт, якія выглядаюць як гэтыя два лялькамі тут. І што цікава тут гэта. Аранжавы хлопец мае гэта набор галаваломкі тут. Назаўсёды зрабіць following-- калі прабел націснутая, затым сказаць, Марка, і затым трансляваць падзея. А між тым, сіні хлопец тут мае this-- калі вы атрымліваеце падзея, кажуць Polo. Так што атрымліваецца ў пустым месцы і на іншых мовах, Ёсць спосабы для двух праграм ці два сцэнара, у дадзеным выпадку, каб паведамляцца з тым, што, калі я націсніце прабел, ён кажа Марка. А другі чуе, што, такім чынам, каб кажуць, і кажа Polo ў адказ. Так што вы можаце пісаць праграмы, якія на самай справе ўзаемадзейнічаюць такім чынам. І калі я раблю гэта адзін замест таго, каб, Я нават магу дадаць зменныя, выкарыстоўваючы толькі адзін спрайт ў гэтым выпадку. Гэта адзін асабліва раздражняе. [SEAL брэх] Зараз звернеце ўвагу на права ў нас ёсць некаторая дадатковая логіка тут. Як спыніць гэтую пячатку брахаць? [SEAL брэх] Падобна на тое, што на правай руцэ бок гэта тое, што гуляе гук. Але гэта толькі гуляючы гук, калі тое, што гэта праўда? Калі ў переменная-- аранжавы block-- прыглушаны роўны нулю. Як змяніць прыглушаны быць 1, гэта азначае, праўда, зрабіць гэта прыглушаныя? Па-відаць, іншы сцэнар, я магу націсніце прабел, і цяпер ён спыняецца. Такім чынам, мы можам мець гэтую ўзаемасувязь праз скрыпты, а таксама, , Проста падзяляючы зменную праз два, як гэта. Цяпер, гэта не ўсё, што цікава. Давайце ісці наперад і рабіць гэта і аб'яднаць многія з гэтых ідэй з дапамогай гэтай праграмы тут. Перад тым, як зрабіць гэта, хоць, як наконт аднаго добраахвотніка? Дазвольце мне зняць напружанне мяне, таму што я на самой справе не гуляць у гэтую гульню. Давайце мець каго-то мы не бачылі раней. Вы павінны быць зручнымі прыходзіць на сцэну тут, на камеру. ОК, давай ўверх. Вельмі адважная. Як цябе клічуць? Ідрыс: Ідрыс. DAVID Малання: На жаль? Ідрыс: Ідрыс. DAVID Малання: Ідрыс, прыемна сустрэцца з вамі. Падымайся. А цяпер, на свой мабільны тэлефон, вы гуляеце Покемон GO? Ідрыс: Не. DAVID Малання: У самай справе? Ідрыс: Так. DAVID Малання: OK. Добра. Што ж, прыемна сустрэцца з вамі. Прыходзь. Я таксама не разумею. Такім чынам, мы падумаем разам, як гуляць у гэтую, што хто-то на самай справе пайшоў і рэалізаваны ў пустым месцы шляхам змены котку па сутнасці розныя персанажы ўсе разам. І калі я ўвесь экран гэта тут, мы будзем каб убачыць наступную гульню разам. Загрузка, па-ранейшаму загружаецца. Давай. Дазвольце мне зрабіць гэта. Давай. Гэтая гульня настолькі вялікая, што ён разбіўся. Чаканне. Паспрабуйце яшчэ раз. Давай. Добра. Там мы ідзем. ДОБРА. Зялёны сьцяг. Так што тут мы ідзем. [МУЗЫКА] Абярыце сярэдні ўзровень тут. Націсніце на сіні хлопец там. Добра. І вы можаце выкарыстоўваць стрэлку keys-- уверх, уніз, налева, направа. Зараз давайце разгледзім, як мы робім this-- а затым пайсці пасля таго, як персанажа там. Так. А цяпер націсніце яго з дапамогай мышы. О, так. Перамясціць. Дзе стрэлка? Тут вы ідзяце. Так націсніце тут. Так. Добра. Так што цяпер, як мне сказалі ў вас ёсць Poke мяч, што калі націснуць яе, ён будзе рабіць гэта. Вельмі добра. У практыцы на сённяшні дзень, я знайшоў гэтую версію гульні на самай справе не вельмі складана. Так што калі вы хочаце ісці зноў тут, спусціцца да гэтага Poke мяч. А затым згарніце направа. Паспрабуйце націснуць на яго. О, на самай справе, гэта магазін, па-відаць. ОК так блізка, што. Ніколі не рабіў гэтага раней. Можа падысці да гэтай рэчы тут. О, там вы ідзяце. Пачакайце, ёсць адзін там. О, ёсць яшчэ адзін. ДОБРА. ўніз Так, націсніце кнопку. Добра, гэта вельмі міла. Добра, вельмі добра зроблена. Гэтая гульня не вельмі цяжка. ДОБРА. Віншую. Тут мы маем CS50 стрэс мяч для вас. Але падумайце на імгненне, што некаторыя з ежы на дом ёсць. Лягчэй, чым рэальнай гульні, па-відаць. Але ўсё, што мы збіраемся тут ёсць характар што, верагодна, мае нейкі завесы, звязаныя з ім. Гэта не кошка. Гэта замест таго, каб гэты персанаж. І што пятля проста пастаянна кажучы, калі стрэлка ўверх націснутая, калі стрэлка ўніз націснутая, калі стрэлка налева або направа націснутай стрэлка націснутая, рухацца ўверх ці ўніз або налева або направа. Або калі ёсць іншы кавалак галаваломкі ёсць што кажа, калі датыкаецеся іншы спрайт, пры дотыку аднаго з персанажаў да шара Poke, калі дотык, затым зрабіць гэта. Так што ўсе ідэі, мы выкарыстоўвалі да гэтага часу на самай справе могуць проста быць ужытыя ў дадзеным канкрэтным кантэкст, каб гуляць у гэтую гульню, а таксама. Дазвольце мне ісці наперад і цягнуць да адной іншай тут, на самай справе. Дазвольце мне ісці наперад і цягнуць да, скажам, гэта. Гэта тое, што мы рэміксы. Зроблена адным з нашых студэнты ў Кембрыджы, а потым я прайшоў і змяніў у значнай ступені кожны асобнік Гарварда Йель на гэты раз. хто хацеў бы канкураваць з Ivies тут у іншым назапашванні ўсіх гэтых ідэй? Злазь, да. Як цябе клічуць? ДІНА: Dina. DAVID Малання: Адына? ДІНА: Dina. DAVID Малання: Dina, давай ўніз. Добра, Дзіна. Так што гэтая гульня становіцца ўсё цяжэй і цяжэй, таму што ў гэтай гульні, ёсць зменныя выкарыстоўваюцца, а таксама якія пастаянна адсочваюць на якім узроўні вы знаходзіцеся ў гульні. Так прыемна сустрэцца з вамі. Прыйдзе сюды. І таму мэта тут складаецца ў сартаванні з зрабіць свой шлях праз лабірынт што гэты студэнт рэалізаваны. І як раз, каб усталяваць сцэну, кожны з гэтых малюнкаў на экране з'яўляецца яго ўласным спрайт, яго ўласны характар. Так што гэта былі па змаўчанні кошкі, але студэнт змяніў іх на розныя лагатыпы Ivies тут. І тады вы ўбачыце, што толькі з дапамогай умоў і завесы і функцыі і многае іншае, вы атрымаеце гэта. [МУЗЫКА] [МУЗЫКА - MC HAMMER, "U CAN NOT дакранайцеся  ГЭТА "] Так, добра. Ды, працягвайце ісці. Першы ўзровень вельмі лёгка. Вы проста павінны пайсці туды. Але зноў жа, лічаць, што гэта проста пятля для праслухоўвання стрэлкі keys-- уверх, уніз, налева, направа. А цяпер адчувальны блок. Вельмі добра. [МУЗЫКА - MC HAMMER, "U CAN NOT дакранайцеся  ГЭТА "] Вельмі добра. [МУЗЫКА - MC HAMMER, "U CAN NOT дакранайцеся  ГЭТА "] Вельмі добра. Даволі проста, малінавы. Добра. Levels-- эм-ай. [МУЗЫКА - MC HAMMER, "U CAN NOT дакранайцеся  ГЭТА "] І зноў жа, у іх тры з Гарварда грабяні, вы проста логіку кажучы, калі на краі, моцны ўдар. [МУЗЫКА - MC HAMMER, "U CAN NOT дакранайцеся  ГЭТА "] Добра, што вы робіце, больш цікавым, чым чаму. Вельмі добра. Вельмі добра. Ой-ой. [МУЗЫКА - MC HAMMER, "U CAN NOT дакранайцеся  ГЭТА "] Я думаю, вы павінны ахвяраваць сабой. [МУЗЫКА - MC HAMMER, "U CAN NOT дакранайцеся  ГЭТА "] Хутка! [МУЗЫКА - MC HAMMER, "U CAN NOT дакранайцеся  ГЭТА "] Ніца. Гэта добра. Вы атрымаеце яго. Так, так! Вельмі добра. [Радаму] [МУЗЫКА - MC HAMMER, "U CAN NOT дакранайцеся  ГЭТА "] Nice! [МУЗЫКА - MC HAMMER, "U CAN NOT дакранайцеся  ГЭТА "] Зразумела. Давай! Па-другое, каб апошні ўзровень. [МУЗЫКА - MC HAMMER, "U CAN NOT дакранайцеся  ГЭТА "] Добра. [МУЗЫКА - MC HAMMER, "U CAN NOT дакранайцеся  ГЭТА "] Так. Правільнае выкарыстанне зменных тут. [МУЗЫКА - MC HAMMER, "U CAN NOT дакранайцеся  ГЭТА "] Так. [МУЗЫКА - MC HAMMER, "U CAN NOT дакранайцеся  ГЭТА "] Ніца. [МУЗЫКА - MC HAMMER, "U CAN NOT дакранайцеся  ГЭТА "] Добра. Мы дабраліся, каб дабрацца да канца. Там. О! [МУЗЫКА - MC HAMMER, "U CAN NOT дакранайцеся  ГЭТА "] Можа працаваць сёння позна, але гэта будзе варта. [МУЗЫКА - MC HAMMER, "U CAN NOT дакранайцеся  ГЭТА "] Вы можаце зрабіць гэта! Да! [Радаму] [МУЗЫКА - MC HAMMER, "U CAN NOT дакранайцеся  ГЭТА "] Гэта адзін з вельмі цяжка. [МУЗЫКА - MC HAMMER, "U CAN NOT дакранайцеся  ГЭТА "] Мы дамо вам яшчэ два жыцці. Вы можаце зрабіць гэта? [МУЗЫКА - MC HAMMER, "U CAN NOT дакранайцеся  ГЭТА "] Добра. Як аб вялікім крузе апладысментаў, тым не менш. Вы дабраліся да другой да апошняга ўзроўню. Дзякуй. [Апладысменты] Так што гэта толькі сказаць, колькі вы можа рабіць з гэтымі відамі рэчаў. І разумеюць таксама, што, калі кавалачкі галаваломкі ня exist-- і на самай справе, гэта будзе адзін паўнамоцтваў з першай праблемай Наборы і beyond-- з'яўляецца на самай справе стварыць свой уласны. І гэта ўсяго толькі фрагмент кода аднаго з прыкладаў вы будзеце мець магчымасць гуляць з онлайн, дзе калі вы не убудавалі ў пустым месцы нешта накшталт кашлю кавалак галаваломкі, вы можаце зрабіць гэта самастойна. А так усё гэта і многае іншае чакае. І як раз, каб намаляваць канчатковы карціна на самой справе тое, што наперад у краме для класа для вас, заснаваны на некаторых з фатаграфій аднакласнікаў мінулае, дазвольце мне цьмяны святло у апошні раз і паказаць вам CS50. [МУЗЫКА] Добра. Вось гэта для CS50. Торт цяпер служыў. [МУЗЫКА]