[Музыка Прайграванне] [MUSIC - Расіні, "Ranz DES Vaches "АД Вільгельм Тэль] [MUSIC - англійская Beat "САКАВІКА Аб паваротнымі галоўкамі "] [Апладысменты і захапляцца] DAVID малая: Так што гэта CS50. Мяне завуць Дэвід Малан. І 73% з вас не маюць вопыту работы з кампутарнай навукі, Насуперак таму, што вы думаеце. Такім чынам, сёння мы думалі, што пазбаўляцца ад у той няведанне, але і даць вам пачуццё, для тых з вас з вялікім камфортам, якія напрамкі Вы можаце пайсці ў гэтым семестры. Такім чынам, давайце пачнем з гэтага. Я сапраўды паняцця не маю, што ўнутры кампутар, хоць, як вы, я выкарыстоўваць яго кожны дзень. Але гэта свайго роду акно, і ёсць Не шматлікія ўваходы ў яго. Як мінімум, ёсць, то якія? Верагодна, шнур харчавання. І на самай справе з гэтым інгрэдыентам, электрычнасць, мы, здаецца, здольныя рабіў даволі мала ў гэтыя дні. Але ў рэшце рэшт, мы яны павінны прадстаўляць рэчы што мы клапоцімся аб. Мы павінны прадстаўляць інфармацыю У той ці іншай форме. І вы, верагодна, па меншай меры, цьмяна знаёмыя з ідэяй бінарным або біт, так ці інакш, кампутары зводзіцца да нулёў і адзінак. Але ці можам мы прыняць, што і па меншай меры пакласці трохі святла на гэта? Таму ў мяне ёсць гэтыя маленькія настольныя лямпы тут. У мяне ёсць электрычная разетка тут. І я збіраюся прапанаваць, каб унутры майго кампутара, па меншай меры адзін з гэтых рэчаў, нешта, здольнае быць уключаны або выключаны. У гэтым выпадку гэта сапраўды настольная лямпа, але на больш нізкім узроўні, гэта тое, называюць транзістарам. Але ў нашым свеце, гэта настольная лямпа, так што Я збіраюся ісці наперад і падлучыць гэты у маю электрычнасці тут. І я сцвярджаю, што з дапамогай гэтай простай, Простае прылада, гэта просты перамыкач, я можа прадстаўляць інфармацыю. Напрыклад, прама цяпер, я якія не ўяўляюць нічога, дакладна? Я ўяўляю, што я называю 0 або ілжывым, супрацьлеглае нешта на самай справе прысутнічае. Але калі я проста ўключыць гэты перамыкач, цяпер я ўяўляў сабой 1. Такім чынам, выкарыстанне гэтай вельмі просты кавалак памяці, калі хочаце, я магу ўявіць інфармацыі. Цяпер, на жаль, мой кампутар не можа зрабіць усё, што шмат. Гэта можа прадстаўляць толькі два значэнні ва ўсім свеце - 0 або 1. Але тое, што відавочнае рашэнне, у цяперашні час, калі мы хочам пашырыць наш кампутара памяці і ўяўляюць сабой больш не толькі 0 і 1? Ну, давайце захапіць яшчэ адзін такі біт. Давайце захапіць яшчэ адзін перамыкач, іншы транзістар, аднак вы хацелі б думаць пра гэта. Дазвольце мне ісці наперад і падлучыць гэты У маім кампутары, а таксама. І я збіраюся сцвярджаць цяпер, што па некалькі большага выкарыстання электрычнасці і звяртаюцца ўсё больш гэтых ўключаецца і выключаны, я магу ўявіць некалькі такіх інфармацыі. Так прама зараз, гэта 1. Калі я хачу, каб у цяперашні час уяўляюць 2, я мог бы гэта зрабіць. Але, як правіла, канвенцыі, паколькі мы будзем у канчатковым выніку ўбачыць, прыйдзецца мне зрабіць гэта. Так што гэта 0, гэта 1. Гэта было б 2. І не дзіўна, што гэта будзе 3. Такім чынам, у гэтым выпадку, тым не менш, можа мы разлічваем яшчэ мацней? Калі я атрымаю трэці біт, трэці перамыкач, што найбольшая колькасць Цяпер я магу лічыць да ад 0? 7 Так, калі я, пачынаючы з 0, ці не так? Таму што, калі я ўключаю святло на гэта і на самай справе падключыць гэты трэці і апошні Святло ў маёй электрычнай разеткі тут, то ў мяне ёсць здольнасць прадстаўляць любы з двух значэнняў тут, двума значэннямі Тут два значэння тут - і так я магу ўявіць 2 разы 2 разы 2 ці васьмі магчымых значэнняў. І калі я пачну ўліку на 0, так гэта 0, 1, 2, 3, 4, 5, 6, 7. Так што гэта двайковы файл. Гэта сапраўды так проста. І я б сцвярджаць, што гэта на самай справе цалкам знаёмая большасці усё ў гэтым пакоі. Дазвольце мне ісці наперад і адкрыць маленькі тэкставы рэдактар ​​тут. І вы, магчыма, памятаеце з пачатковай школы што ў нас былі такія рэчы, як сотні месца, дзесяткі месцы, і тыя месцы. І нагадаць, што калі ў вас некалькі дзесятковых лік, як нешта выпадковае як 123, вы, па сутнасці, пішуць, што ў форме з гэтых трох слупкоў. І чаму гэта 1, 2, 3, што мы ведаем, як 123? Ну, у крайнім левым слупку, у нас ёсць адзін плюс два 100 10s, так што гэта 120, плюс тры 1S, так што гэта 123. Цяпер гэты свет, што мы проста асветленая сапраўды гэтак жа, як Вы былі знаёмыя з гадамі, толькі цяпер, нашы калонкі не зьяўляюцца ступенямі 10. Яны проста ступенямі 2. Так што хоць гэта тыя месцы, гэта будзе двоек месца, гэта будзе карачках месца. І таму, што я выкарыстоўваю толькі найпростыя механізмаў змяніць становішча да лепшага і выключаецца - электрычнасць цячэ або электрычнасць не цячэ - Я не зусім тыя ж выразныя дыяпазоне, ад 0 да дзевяці. Мы збіраемся трымаць гэта супер проста У гэтым свеце кампутараў. У мяне толькі 0 або 1 - або выключаны, ілжывую або сапраўдную. І тое, што я ўяўляю зараз 1, 1, 1, таму што кожны з гэтых агнямі свеціцца. Ну, гэта дае мне адзін плюс адзін 4 2, бо гэта 6, плюс адзін 1, а гэта 7. І ERGO робіць гэта паслядоўнасць з трох біты ўяўляюць лік 7. Такім чынам, увесь гэты час ўнутраным боку кампутар, было любую колькасць транзістараў, любы лік бітаў. Але ў рэшце рэшт, мы можа прадстаўляць інфармацыю так проста, як гэта. Цяпер, на жаль, мы Абнаўляецца да 7 у CS50 да гэтага часу, але спадзяюся, мы можам зрабіць трохі лепш, чым гэта. І сапраўды, мы можам. Выкажам здагадку, што мы, як людзі проста адвольна вырашыў, што мы збіраемся звязаць нумары тыпу 1 і 2, 3, 4, 5, 6, 7, з канкрэтнымі літарамі алфавіту. І па гістарычных прычынах, я збіраюся пачаць некалькі адвольна, але я збіраюся сказаць, людзі, мы збіраемся вырашылі ў якасці стандарту, у глабальным маштабе, што 65 ўяўляе сабой лік літары А. 66 будзе прадстаўляць B. кропка, кропка, кропка. 90 будзе прадстаўляць літары Z. І давайце выкажам здагадку, калі мы сапраўды паставіць некаторыя думкі ў гэтым, мы маглі б прыдумаць з нумарамі для клічнікаў і малыя літары, і, сапраўды, іншыя людзі зрабілі гэта для нас. Так што цяпер у нас былі бітыя з якой мы можам прадстаўляць колькасці, колькасці, з якімі можна ўявіць літарамі, а з Лісты мы цяпер можам пачынаць стварэнне электронныя лісты і друкаваныя знакі на экране. Такім чынам, дазвольце мне прапанаваць, калі б мог, восем смелыя добраахвотнікі - хто не супраць з'яўлення не толькі на камеру, але ў Інтэрнэце - прыйсці сюды і ўяўляюць восем такіх бітаў, чым гэтыя тры. Так, як адзін, два? Як наконт трох? Як наконт чатырох у святле сіні, пяць на канцы? Аб кім-то тут? Шэсць наперадзе, сем наперадзе, і восем наперадзе, а таксама. Так што я проста так атрымалася, быць гатовымі з цэлай кучай лісткоў паперы. І на гэтыя кавалачкі паперы нумары , Якія ўяўляюць, якія слупкі вы, хлопцы, будзеце прадстаўляць. Такім чынам, вы будзе - як цябе клічуць? Студэнт: Anna Leah. DAVID малая: Anna Leah, вы стане 128s калонкі. Вы? Студэнт: Крыс. DAVID малая: Крыс быць 64s калонкі. Вы? СТУДЭНЦКАЯ: Дан. DAVID малая: Дан будзе быць 32s калонкі. Студэнт: Pramit. DAVID малая: Pramit будзе быць 16S калонкі. Студэнт: Ліліян. DAVID малая: Ліліян будзе 8s. Студэнт: Джыл. DAVID малая: Джыл быць 4s калонкі. Студэнт: Марыі. DAVID малая: Мэры будзе 2S, а? Студэнт: Дэвід. DAVID малая: Дэвід будзе быць 1S калонкі. Так што, калі вы, хлопцы, маглі ступіць трохі наперад так, што кожны можа ўбачыць. Што вы, хлопцы, не бачаць у тым, што на зваротна з гэтых лістках паперы з'яўляецца маленькая шпаргалка, які вось-вось Даручыць гэтых васьмі бітам значэнні падняць руку ці не падняць руку. Калі іх рука ідзе ўверх, яны прадстаўляюць 1. Калі іх руках застаецца на другі год, яны прадстаўляюць 0. Між тым, мы павінны быць аўдыторыю ў стане высветліць, на аснове гэтага Адлюстраванне, якія тры літары словы гэтыя Людзі збіраюцца выкласці. І ўжо літаральна праз хвіліну, вы збіраецеся прачытаў першую лінію ад спіны шпаргалку, і вы альбо збіраецца падняць або ня падняць руку. Калі вы 1, вы падымаеце, калі ты 0, вы стаіце там няёмка, як і што. Go. Які нумар, у першую чаргу, гэтыя хлопцы ўяўляюць? 66. 66, правільна? У нас ёсць 1 у калонцы 64s, 1 у слупку 2s. Гэта дае мне 66, так што з'яўляецца каб прадстаўляць B. Такім чынам, вы, хлопцы, напісана - Добра, гэтага дастаткова. B. А цяпер давайце пяройдзем да наша другі ліст. Go. Хто самы хуткі ў матэматыцы тут? Так 79. Зноў жа, калі мы складаем ўсе слупкі у якіх ёсць адзін, у цяперашні час толькі як мы рабілі гэта раней з найпростымі прыкладаў 7, мы цяпер атрымаем лік 79. Які ў адпаведнасці з нашымі адлюстраванне Ліст О. Такім чынам, мы ўжо амаль на месцы. B, А. І, нарэшце, пайсці. Што яны ўяўляюць цяпер? Менш кансенсусу. Гэта проста абсалютная шум. Так, гэта на самай справе 87. Добра. Такім чынам, калі нам карту, што яшчэ да - давайце пачаць называць нашу ASCII графіцы, Амерыканскі стандартны код для Абмену інфармацыяй. Гэта дае нам ліст - Ці не "Бо", а "лук". І гэта ідэальны Кі для вас, хлопцы, каб узяць лук і галаву на спіну. Вялікі дзякуй. [Апладысменты] DAVID малая: вы можаце трымаць іх. Хоць на самай справе, камусьці як настольную лямпу, таксама? [HOOT З залы] DAVID малая: Настольная лямпа? [Смяецца] DAVID малая: Сапраўды? Настольныя лямпы для ўсіх? Добра. Так, пачынаючы з самай простай з прынцыпы, мы цяпер не Абнаўляецца ад 0 да ўсіх, аж да 7 мы Мяркуецца, што проста, кідаючы больш біт або некалькі агнёў або больш транзістараў на гэтую праблему, мы можам ўяўляюць ўсё больш і больш лічбаў і ERGO, усё больш і больш дыяпазон алфавітаў, як англійская. І гэтак жа, давайце прымаць на веру на сёння Сапраўды гэтак жа, што мы маглі б пачаць ўяўляюць графікі і відэа і любыя Шэраг іншых сродках масавай інфармацыі, з якімі мы знаёмыя сёння. Так што гэта CS50, і ў гэтым класе побач з вамі, зноў жа, вельмі шмат аднакласнікаў, якія так жа мала вопыт, як вы. І я кажу пра гэта толькі таму, што даволі Часта, у тым ліку зусім нядаўна, у адным з кансультаванне першакурснікаў падзей і ў другакурснік мінулай вясной кансультаванне падзеі, мы часта чуем, студэнты адмаўляюцца ад , Калі прыходзяць да стала CS, ну, Я думаў аб прыняцці гэтага інтра клас, але я не вельмі кампутарны чалавек. Ці, але ўсё, вядома, ведае больш, чым я. І я паставіў гэта ў самай вялікай шрыфт магчыма, перадаць гэта паведамленне, што гэта не на самай справе так. І калі вам цікава, калі Я, на самой справе, быць тут? Зразумейце, што гэта не толькі курсы Назва Увядзенне ў кампутарную Навука, гэта Увядзенне ў кампутарную Навук I. Так што сапраўды другога такога ўвядзення. Значыць, вы не, на самай справе, не ў тым месцы. І сярод мэтаў у мяне ёсць на сённяшні дзень з'яўляюцца каб супакоіць любыя такія праблемы, якія Вы маглі мець, але і размалёўваць карціну таго, што ў краме для студэнты менш і зручней так у гэтым курсе. Але, па-першае, слова на адным з раздатачных матэрыялаў ў вас ёсць сёння, сярод якіх шэраг часта задаваных пытанняў. Гэта было наша бачанне на працягу некаторага часу Цяпер ўвесці новы класіфікацыі опцыі ў гэты курс - а менавіта, SAT / ненасычанага. Філасофску для мяне, гэта вельмі нашмат, Значна важней, што студэнтаў у гэтым класе ўзаемадзейнічаць з матэрыял, быць аспрэчана матэрыялу, і турбавацца значна, значна менш пра механікі ацэнкі фактычнай і літарныя ацэнкі ў семестры канца, але па-сапраўднаму ахапіць курсу і яго матэрыялу. І сапраўды гэта адчувае, больш агульна, за тое, што цікава ім, адчуваю аспрэчана і узнагароджаны, але без страху няўдачы. І на самай справе, гэта таксама з'яўляецца паўтаральнай Тэма ў гэтым і іншых уступных курсы ў іншых галінах, што ў вас ёсць гэтага трапятання, калі справа даходзіць да пакласці пальцы ў адну незнаёмых водах. Я сам, яшчэ ў 1995 годзе, быў пачаткоўцам. Я быў вельмі засяроджаны на тым Канцэнтратар Gov тут. І ўсё ж я заўсёды вырасла з невялікім цікавасці да інфарматыцы. Мне заўсёды было цікава. Але тады, нават, у мяне быў гэты страх нават ідучы нага ў CS50, так шмат так што я нават не крама гэта першы год. І адзіная прычына, я паставіў нагу ў Дзверы года студэнт-другакурснік, таму што я было дазволена ўзяць яго прайшоў / не прайшоў. Але нават прайшоў / не прайшоў неабходных, што я атрымліваю да нерва, каб прызначыць сустрэчу з прафесарам Kernehan у той час, давесці гэта вялікі ліст паперы, і папрасіць яго за яго подпісам і яго дазвол, каб даследаваць гэтых незнаёмых водах. І гэта не дапамагло ў апошнія гады , Што, калі раблю гэта ў CS50, калі мы Раней прайшоў / не прайшоў, гэтак жа будзе дзясяткаў ці сотняў вашых аднакласнікаў павінны прыдумаць, не дай Бог, на Перад Сандэрс з такой формай, што у некаторых розумах ўяўляе няздольнасць, Я адважуся сказаць, для выканання знаходзяцца на адным узроўні вашых калегаў. Які смешны, але я думаю, ёсць тое, што менталітэт. І там ніколі не быў у гэтай культуры са зб / ненасычанага ці залік / незалік больш Наогул, у гэтым, вядома, ці сапраўды ў гэтым універсітэцкім гарадку. Таму ў гэтым годзе мы змянілі гэта. Я б у захапленні паловы гэтага класа або больш скончыліся тым, што браў CS50 СБ / ненасычанага. На працягу года, гэта было б вельмі добра Калі амаль усе. Пасля гэтага, магчыма, мы будзем працаваць на літарныя ў Гарвардзе Каледж у цэлым. Але цяпер, мы зробім гэта ў межах нашай уласнай сферы, і я ад усяго сэрца рэкамендуем вам азнаёміцца ​​з тым, часта задаюць пытанні і задаваць пытанні па сваім меркаванні, так што спадзяюся, што вы, у адрозненне ад мяне, не будзе дастаткова мець той жа фактар ​​страху, калі даследаванне таго, што, верагодна, незнаёмае месца. Так што ж такое CS50? Гэта ўвядзенне ў інтэлектуальнай прадпрыемстваў кампутарных навука і мастацтва праграмавання. Але што гэта сапраўды азначае? Ну, да гэтага часу, мы казалі вельмі коратка аб прадстаўленні інфармацыі. Але выкажам здагадку, што мы сапраўды хочам нешта зрабіць з ім. Нам трэба ўвесці паняцце што мы будзем называць алгарытмам. Алгарытм працэдуры працэсу набор інструкцый для нешта рабіць. І алгарытм можа быць нешта супер проста. Так, напрыклад, з якой некаторыя з вас могуць быць знаёмыя гэта рэч тут. Так што гэтую кнігу тут, становіцца ўсё больш датаваныя, але калі-то даўно, яна змяшчаюцца цэлым шмат імёнаў і нумары тэлефонаў. І сапраўды, калі б я хацеў, каб знайсці нехта ў гэтай тэлефоннай кнізе - кажуць, хтосьці па імі Майк Сміт - Я мог бы знайсці Майк Сміт у любой колькасці даволі простых спосабаў. Я мог бы пачаць з самага пачатку і перайсці на старонку 1, не было. Старонка 2, не было. Page 3. Гэта алгарытм, з'яўляецца тое, што працэс, правільна? Так правільна, ці не так? Я накшталт ідыёта рабіць гэта ў менавіта такім чынам, але ў рэшце рэшт я буду знайсці прозвішча S, і, спадзяюся, Майк знаходзіцца ў гэтай секцыі, і я стану зрабіў з маім алгарытмам. Але, вядома, гэта не інтуітыўна. Амаль кожны разважны чалавек у гэтай нумар не будзе гэтага рабіць. Што б вы зрабілі? Ты б пайшоў прама да сярэдзіны, ці не так? Прыкладна да сярэдзіны. І ты разумееш, о, гэта г-жа Так Майк Сміт, які з'яўляецца прозвішча Сміт, Не ясна, то ў Левая палова кнігі. Ён павінен быць у бок S знаходзіцца ў правільным. І ў гэты момант, хоць большасць з нас не рабіце гэтага на самай справе, мы можам літаральна разарваць гэтую праблему ў два разы. [Вітаюць і апладысменты] DAVID малая: Дзякуй. [Вітаюць і апладысменты] DAVID малая: Вы можаце літаральна разарваць гэтую Праблема ў два разы, пакінуўшы мяне з, літаральна, праблема удвая менш. Так што, калі гэта была тэлефонная кніга - і гэта верагодна, было - каля 1000 старонак, зараз гэта ўсяго толькі 500. Калі я зраблю гэта зноў, і я разумею, пра, Блін, я зайшоў занадта далёка, я ў МС раздзел, я магу аналагічна - вобразна або літаральна - капіяваць тэлефонную кнігу - гэта было на самай справе значна лягчэй гэты час. Я магу літаральна капіяваць тэлефонную кнігу напалову, пакінуўшы мяне зараз з ня 1000, а не 500 - 250 старонак. І я магу пайсці 125, і палова з гэтага, і палову гэтага, і палову гэтага, пакуль, нарэшце, я не застанецеся з толькі адну старонку. [Смяецца] DAVID малая: Гэта частку я не далей. Адной старонцы, на якой Майк, мы спадзяемся, ёсць. Цяпер гэтыя розныя алгарытмы могуць быць Сартаваць налічаных або ацэньваць у рознаму. Першы з іх быў вельмі лінейны, ці не так? Павярніце старонкі, шукаць Майка. Павярніце старонкі, шукаць Майка. Гэта вельмі лінейна. Калі ёсць яшчэ адна старонка ў тэлефоне Кніга, верагодна, гэта збіраецца ўзяць мяне яшчэ адну секунду, яшчэ адна адзінка часу, Аднак мы машыннага часу. Так што я мог бы маляваць, як гэта гэтая лінія Тут, у якой, як памер Праблема ўзрастае злева направа - Тэлефонная кніга атрымлівае меншага да большага - і час мае намер павялічыць на вертыкальнай восі, тым больш Тэлефонная кніга. Такім N ўсяго толькі агульныя зменная, якая Кампутар навукоўцы выкарыстоўваюць для прадстаўлення некаторы значэнне, некаторы лік. Такім N мае намер павялічыць лінейна. Падваенне памеру тэлефоннай кнігі, гэта збіраецца ўзяць мяне ў два разы больш час, хутчэй за ўсё, знайсці Майка. Зараз я мог бы быць разумным пра гэта, ці не так? Я атрымліваю сумна хутка. Маглі б зрабіць гэта па двое. Так дзве старонкі, потым чатыры, то шэсць, то восем. І я мог бы пачаць лётаць праз яго трохі хутчэй, хоць і малаважнага рызыкі перавышэнне Майка, але крывая ня будзе ўсё, што адрозніваецца. Ён па-ранейшаму будзе ўяўляць сабой прамую лініі, але трохі хутчэй. Але што ж мне рабіць? Я сапраўды зрабіў нешта прынцыпова лепш. Я дасягнуў таго, што мы назавем лагарыфмічнай час, часопіс N, прычым гэтая зялёная Лінія мае многае, многае, многае менш прамыя краю да яго. І, хутчэй, яна прапануе, а ён накшталт як імкнецца да бясконцасці вельмі паступова, , Што я магу на самой справе ўзяць 1000-старонкі тэлефоннай кнізе, яго памер падвоіцца ў наступным годзе - таму выкажам здагадку шмат больш людзей пераехаць у горад. Так што зараз у мяне ёсць 2000 старонак, але як многія іншыя крокі ў тым, што разумнейшыя Алгарытм зойме? Толькі адзін. Я маю на ўвазе, гэта моцная рэч. Калі мы пойдзем у 4000 старонак у наступным годзе, што збіраецца ўзяць мяне толькі яшчэ два крокі. Такім чынам, вы можаце кінуць усё больш і больш праблемы ў мяне, а не ў адрозненне ад вэб- кідаць усё вялікімі праблемамі Кожны дзень у Googles і Facebooks з свеце, і гэта не такую ​​вялікую справу. Таму што я пакласці больш думкі і клопаты ў мой алгарытм, з якім вырашыць праблемы эфектыўна. І на самай справе, што будзе адным з Мэты гэтага курса. Вы будзеце, па шляху, навучыцца праграмаваць. Вы даведаецеся, як праграмаваць на любую колькасць моў. Але ў канцы дня, курс аб рашэнні праблем і атрымання лепш на рашэнне праблем, - і, як і ў падобных выпадках, рашэнне праблем больш эфектыўна. Зараз да гэтага часу, мы зрабілі гэта даволі інтуітыўна. Ўвядзем нешта даволі агульны псевдокоде называецца. Так што мы ў канчатковым выніку атрымаць, У гэтым вядома, розных мовах праграмавання. Але сёння мы зробім гэта на англійскай мове, як сінтаксіс, дзе вы толькі збольшага кажуць тое, што вы маеце на ўвазе, але вы заўсёды такія кароткім і не турбавацца аб граматыку і поўных прапаноў. Вы проста выказаць сябе, як коратка, наколькі гэта магчыма. Так псевдокод-ангельску, як сінтаксіс, які ўяўляе мовы праграмавання. І ў гэтым кірунку, дазвольце мне прапанаваць, што мы цяпер мадэляваць працэс мы проста апісаныя падліку нешта крыху інакш, на гэты раз прымае паглядзіце на гэтую пяціхвілінную відэа вытворчасці нашы сябры на Тэда, што вызначае, што псевдокод, вызначае, якія ёсць алгарытмічны мысленне, і нават пры тым, што напрыклад, вы зараз ўбачыце значыць, у сябе, супер проста, гэта збіраецца пачаць, каб даць нам псіхічнага мадэль, слоўнік, з якім зрабіць шмат, значна больш складаныя Алгарытмы даволі хутка. [Пачатковую ВИДЕОВОСПРОИЗВЕДЕНИЕ] [Музыка Прайграванне] Апавядальнік: Што такое алгарытм? У вобласці кампутарных навук, алгарытм набор інструкцый для вырашэння некаторых праблемы крок за крокам. Як правіла, алгарытмы выконваюцца на кампутарах, але мы, людзі, алгарытмаў, а таксама. Напрыклад, як бы вы аб падліку колькасці людзей у пакоі? Ну, калі вы падобныя на мяне, вы, верагодна, кропка ў кожнага чалавека, па адным адзін раз, і падлічыце ад 0. 1, 2, 3, 4, і гэтак далей. Ну, гэта алгарытм. На самай справе, давайце паспрабуем выказаць гэта трохі больш фармальна ў псевдокоде - Англійская-падобны сінтаксіс, які нагадвае мовы праграмавання. Няхай N роўныя 0. Для кожнага чалавека ў пакоі, усталюйце N роўна N плюс 1. Як інтэрпрэтаваць гэта псевдокод? Ну, адну лінію заяўляе, так бы мовіць, зменная з імем N і ініцыялізуе яго значэнне роўным 0. Гэта проста азначае, што ў пачатку наш алгарытм, рэч, з якой мы разлічваем мае значэнне 0. Бо раней мы пачынаем лічыць, Мы не палічылі яшчэ нічога. Выклік гэтай зменнай N гэта ўсяго толькі ўмоўнасць. Я мог бы назваць яе чым заўгодна. Цяпер дзве лініі demarks пачатку завесы, паслядоўнасць крокаў, якія будуць паўтараць некаторы колькасць разоў. Такім чынам, у нашым прыкладзе, крок мы бярэм разлічвае чалавек у пакоі. Пад лініяй з'яўляецца лінія два тры, якая апісвае, як менавіта мы пойдзем пра падлік. Водступы мяркуе, што гэта тры лініі, што буду паўтарацца. Так што псевдокод кажу, што пасля таго, пачынаючы з 0, для кожнага чалавек у нумары, мы павялічыць N на 1. Зараз гэты алгарытм правільна? Ну, давайце стукаць яго няшмат. Гэта працуе, калі ёсць два чалавекі ў пакоі? Давайце паглядзім. У адпаведнасці адным мы ініцыялізуем N да 0. Для кожнага з гэтых двух чалавек мы затым павялічыць N на 1. Так у першай паездцы праз завесы, мы абнаўляем N ад 0 да 1. У другой паездцы праз гэтую ж завесы, мы абнаўляем N ад 1 да 2. І вось да канца гэтага алгарытму, N 2, які сапраўды адпавядае ліку людзей у пакоі. Пакуль усё ідзе добра. Як наконт памежны выпадак, праўда? Выкажам здагадку, што ёсць 0 чалавек ў пакоі - акрамя мяне, хто робіць падлік. У адпаведнасці адным мы ініцыялізуем N да 0. На гэты раз, аднак, тры лініі не выканаць на ўсіх, так як няма чалавек у пакоі. І так N застаецца роўным 0, што адпавядае Колькасць чалавек у пакоі. Даволі проста, ці не так? Але падлік людзей па адным даволі неэфектыўным, таксама, ці не так? Вядома, мы можам зрабіць лепш. Чаму б не лічыць двух чалавек за адзін раз? Замест падліку 1, 2, 3, 4, 5, 6, 7, 8, і гэтак далей, то чаму б не разлічваць, 2, 4, 6, 8, і гэтак далей? Гэта нават гучыць хутчэй, і яна, безумоўна, ёсць. Выкажам гэтую аптымізацыю у псевдокоде. Няхай N роўныя 0. Для кожнай пары чалавек у нумары, усталяваны роўным N N плюс 2. Даволі простае змена, ці не так? Замест таго, каб лічыць людзей аднаго у той час, мы замест гэтага разлічваць іх па два за раз. Дадзенага алгарытму такім чынам, у два разы так жа хутка, як і папярэднія. Але хіба гэта правільна? Давайце паглядзім. Гэта працуе, калі ёсць два чалавекі ў пакоі? У адпаведнасці адным мы ініцыялізуем N да 0. Па гэтай адной пары людзей, мы затым павялічыць N на два. І вось да канца гэтага алгарытму, N 2, які сапраўды адпавядае ліку людзей у пакоі. Выкажам здагадку зараз, што існуе 0 чалавек у пакоі. У адпаведнасці адным мы ініцыялізуем N да 0. Як і раней, тры лініі не выконвае наогул, так як няма ніякіх пар людзей у пакоі. І т. п. застаецца 0, што сапраўды супадае з колькасцю людзей у пакоі. Але што, калі ёсць тры людзей у пакоі? Як працуе гэты алгарытм тарыф? Давайце паглядзім. У адпаведнасці адным мы ініцыялізуем N да 0. Для пары з тых людзей, мы затым павялічыць N на 2. Але што потым? Існуе не іншы поўны пара людзей ў пакоі, таму ніколі не дзве лініі больш не ўжываецца. І вось да канца гэтага алгарытму, N 2 па-ранейшаму, што не адпавядае рэчаіснасці. Сапраўды, гэты алгарытм, як кажуць, памылку, так як яна мае памылку. Дазваляе кампенсацыі з некаторымі новымі псевдокод. Няхай п роўным 0 для кожнай пары чалавек у нумары. Замест N роўна N плюс 2. Калі адзін чалавек застаецца няпарнага, усталяваны роўным N N плюс 1. Для вырашэння гэтай канкрэтнай праблемы, у нас ўведзены ў адпаведнасці чатыры, стане, інакш вядомы як філіял , Што выконваецца толькі, калі ёсць адзін чалавек, што мы не маглі пару з іншым. І вось цяпер, ці ёсць адзін ці тры або любое няцотная колькасць людзей у пакой, гэты алгарытм Цяпер злічыць. Ці можам мы зрабіць яшчэ лепш? Ну, мы маглі разлічваць у 3s або 4s ці нават 5S і 10 з, але акрамя таго, гэта збіраецца атрымаць крыху Цяжка кропкі. У рэшце рэшт, ці выкананыя кампутарамі ці людзей, Алгарытмы проста набор інструкцый з які для вырашэння праблем. Яны былі толькі тры. Якую праблему вы б вырашыць з алгарытмам? [КАНЕЦ ВИДЕОВОСПРОИЗВЕДЕНИЕ] DAVID малая: Гэта адзіны раз, Я буду зьяўляцца ў форме мультфільма. Але там, дзе гэтая гісторыя канчаецца, Цяпер, як мы можам зрабіць лепш? Тройкі і чацвёркі, мы сцвярджаем, што мы можам разлічваць людзі нашмат хутчэй, але мы можам зрабіць прынцыпова лепш, чым гэта? І іду ў заклад, мы можам. Калі ўвесці трохі нашага ўласнага псевдокод тут, я збіраюся прапанаваць што мы можам дасягнуць такі радок. Мы не збіраемся лічыць людзей адзін, два, тры, чатыры. Мы не збіраемся ісці два, чатыры, шэсць, восем. Мы збіраемся зрабіць прынцыпова лепш шляхам пераасэнсавання праблемы, і ў гэтым выпадку, выкарыстоўваючы ў адваротным выпадку недастатковай меры выкарыстоўваюцца. Праз хвіліну, я спадзяюся, вы прабачце і гумару нам, стоячы ў месцы, і ў гэты момант мы збіраемся прашу кожнага з вас ўзяць на сябе ў вашым розумы нумар 1. Ты то пры пераходзе на больш няёмка, як час праходзіць, знайсці хто-то яшчэ, хто стаіць, аб'яднаеце вашыя нумары разам шляхам дадання іх. Адзін з вас затым збіраецца ўдзельнічаць у гонцы, каб сядзець ўніз першай, і іншы чалавек збіраецца паўтарыць. Такім чынам, іншымі словамі, шляхам пасеву ўсё Вы з нумарам 1, а затым камбінаванні 1S ў 2s і 2s тых, у 4s, з усімі ўсё больш сядаючы, мы павінны, у канцы гэты алгарытм, ёсць толькі адзін крэдыт душа, якая не сядаў, але досыць хутка , Які мае усёй колькасці аўдыторый ў сваім розуме. Так што калі вы, давайце ісці наперад і - Крок першы - стаць на месца. І выканаць. [Натоўп смуты] DAVID малая: Вы ведаеце, дзе Ларэн? 729? [Натоўп смуты] DAVID малая: Усё ў парадку? [Натоўп смуты] DAVID малая: Добра, мы павінны быць падыходзіць да канца. Мы бачым, адзін хлопец стаяў тут да гэтага часу. Хто яшчэ павінна быць у пары? Калі вы, хлопцы, жадаеце на пары. Хтосьці наверсе. Чаму б мне не працягнуць руку тут. Для вельмі нямногіх людзей, якія да гэтага часу стоячы, якія лічбы вы ў сваім розуме? Студэнт: 78. DAVID малая: 78 плюс - хто стаіць тут? Студэнт: 39. DAVID малая: Плюс 39. Плюс, хто яшчэ да гэтага часу стаіць? 81? Добра, хто ж яшчэ? Іншы 81? Нічога сабе. І тады тое, што ў спіну? Студэнт: 49. DAVID малая: 49, плюс? Студэнт: 98. DAVID малая: плюс 98? Тое, што хто-то яшчэ? 12? Добрая праца. [Смяецца] DAVID малая: О, 112 - ай. Добрая праца! [Смяецца] [Апладысменты] DAVID малая: Любы іншы яшчэ стаіць? Прабачце? Студэнт: 99. DAVID малая: 99. Любы іншы яшчэ стаіць? І агульная колькасць студэнтаў тут на самай справе, у адпаведнасці з - ці ёсць у вас нумар? О, фактычная колькасць людзей у пакой, у адпаведнасці з ўліковага запісу, якая вучэнне таварышы рабілі на шляху кожнага ў, было 729. Так з пакой, поўную студэнтаў Гарварда якія лічылі сябе, адказ 637. [Смяецца] DAVID малая: так блізка. Але ўсё ж. ОК, так што гэта навучанне момант, ці не так? Гэта цяпер тое, што мы апісвае як памылку. Недзе па шляху, мы зрабілі некаторыя арыфметычныя няправільна, або хтосьці сеў, або налева, або што-то пайшло не так. Але гэта нармальна. Таму што нават да гэтага часу, мы атрымаў даволі блізка. І я б сцвярджаць, што мы дабраліся да няправільнага адказаць нашмат хутчэй, чым я павінен быў бы з дапамогай майго больш лінейны падыход. Такім чынам, давайце выкажам здагадку, што мы і на самай справе атрымаць, што правільна, але думаю, што цяпер пра тое, што адбываецца кожны раз, у параўнанні з маім ўласныя наіўныя паказваючы алгарытму. Адзін, два, тры. Калі на самай справе ёсць 729 або 637 чалавек вось, што ўзяў бы мяне літаральна 637 або 729 лічбавыя значэнні шкалы з пальца і прырашчэннем майго агульнай колькасці. І я мог бы зрабіць трохі лепш збіраецца два, чатыры, шэсць, восем, а удвая больш, чым хуткасць, можа быць, нават трох-ці Чатырохмясцовы, у залежнасці, як добра я магу рабіць, што падлік ў маёй галаве. Але такі падыход, што вы, хлопцы, узялі была прынцыпова іншая. Так як у пачатку, усе вы ўсталі. Такім чынам, усе 729. А потым літаральна палову з вас сеў. А пасля таго, іншы палова з вас сеў. А пасля таго, іншы палова з вас сеў. А агульная колькасць разоў, якое вы хлопцы, маглі б селі прыкладна восем ці дзевяць ці дзесяць разоў агульная, у залежнасці ад таго, што наш агульны лічыльнік. І мы можам сартаваць, рабіць гэта ў іншы бок. Калі б мы мелі 1024 чалавек у пакоі, агульная колькасць раз, вы маглі б удвая скараціць 1024 чалавек 10. Цяпер падумайце пра гэта ў іншым кірунку. Выкажам здагадку, смешна, што ў нас было, скажам, чатыры мільярды людзей у гэтым пакоі, або нумар крыху большага памеру. Колькі разоў мы пайшлі праз гэты алгарытм такі, што палова гэтага класа садзіцца? Гэта толькі збіраецца ўзяць 32 такіх аперацыі, нават у класе памер чатыры мільярды. Чаму? Таму што чатыры мільярды ідзе на два млрд, ідзе да аднаго мільёна, ідзе на 500000000, ідзе да 250 млн., кропка, кропка, кропка. Я магу толькі зрабіць гэты падзел прыкладна 32 раз, і ў гэты момант усе, акрамя адзін чалавек застанецца стаяць. І гэта таксама з'яўляецца свайго роду магутны Ідэя, што ўсё часцей мы пастараемся рычагоў ў гэтым, вядома, і ў праграмаванні і інфарматыцы больш Як правіла, гэтыя парасткі ідэю з якія мы можам вырашаць праблемы шмат, значна больш магутна. Такім чынам, мы пачалі досыць просты, што з псевдокод і хлопец у пакоі, але Зараз з цэлай пакоі, поўнай людзей мы зрабілі прынцыпова лепш. Ну, давайце цяпер пераход ад псевдокод некаторым фактычным кодам. Гэта мова, які вы збіраецеся, каб адбылося называцца JavaScript і Мы вернемся да гэтага напрамку канцы семестра. Гэта мова праграмавання, які выкарыстоўваць, каб зрабіць вэб-сайты і іншыя падобныя праграмнага забеспячэння ў гэтыя дні. І мы выкарыстоўвалі яго, дзякуючы сябру наша ў Стэнфардскім універсітэце, для кадавання некаторыя схаваныя інфармацыю тут. Гэта мастацтва стеганографии, так бы мовіць, дзе можна схавацца інфармацыі ў тым, што ў адваротным выпадку ўяўляецца быць шум або зусім іншы малюнак у цэлым. Але, убудаванага ў дадзенае канкрэтнае малюнак сапраўды таемнае пасланне гатункаў. Такім чынам, дазвольце мне ісці наперад і падцягнуць і тое ж малюнак тут, гэта час у вэб-браўзэры. І я збіраюся махнуць рукой на некаторыя з падрабязна на сённяшні дзень, у прыватнасці Для тых з вас, хто гэта выглядае як не толькі JavaScript, але грэцкія, а зусім незнаёмага мовы. Але гэты прыклад мовы праграмавання. І на дадзены момант, прыняць на веру, што гэта першая радок кода - і код, я проста азначае тэксту. Тэкст, які я мог бы літаральна набраныя ў фармаце Microsoft Word, калі ў мяне было Права праграмнае забеспячэнне, каб затым нешта з ім зрабіць. Зыходнікі праграмаў, праграмаванні кода, на самай справе проста тэкст, і гэта выглядае інакш заснаваныя на якой мове Вы карыстаецеся, не ў адрозненне ад ангельскага і Іспанскі і руская ўсе выглядаюць па-рознаму па меры іх набору на клавіятуры. Такім чынам, гэта першы радок, на дадзены момант узяць на сябе веры, проста адкрывае графікі з Інтэрнэт, што шумныя графічныя мы толькі што бачылі. У наступным радку тут прыведзены прыклад пятлю, і мы фактычна ўбачылі, што ж жаргон ў відэа TED. Пятля з'яўляецца тое, што здарыцца яшчэ раз і зноў, і нават калі гэта Абсалютна выглядае загадкавым, з ключавое слова, а некаторыя дужкі і некаторыя коскі. Мы вернемся да гэтага ў хуткім часе, але гэта пятля там па сутнасці з'яўляецца паведамляючы праграме, перабору ўсіх з тых шумных кропак, злева направа, зверху ўніз. Таму што ў канцы дня, малюнак падабаецца гэта - і вы можаце фактычна збольшага бачыць яго на гэтым праектары - на самай справе проста сетку з кропак. Так мы можам вызначыць кожную з гэтых кропак па каардынаце х, у, і з гэтай праграмы, у цяперашні час мы можам пачаць нешта зрабіць, каб гэтыя кропкі. Так што я збіраюся ісці наперад тут і раблю, я збіраюся ўнесці некаторыя змены. Спачатку я збіраюся ісці наперад і пазбавіцца усяго гэтага зелянява і блакітна шум, і я збіраюся ісці наперад і ўвядзіце наступныя Праўда загадкавым сінтаксісам. ім для малюнка. набор сіні па месцы знаходжання х, коска, размяшчэнне у, роўным 0. Іншымі словамі, я хачу проста выключыць усе сінім кропкі ў гэтай карціне. Я збіраюся ісці наперад цяпер і перайдзіце Выканаць гэтую кнопку Захаваць /, і Вы будзеце заўважылі на правай баку, атрыманы малюнак. Цяпер яго супер зялёны, але гэта не дзіўна, таму што я літаральна апынуўся выключаны, зрабіўшы 1 0 ўсе сіні ў гэтай карціне. Ну, а зараз давайце зробім гэта крыху больш. ім для малюнка, кропка setGreen, х, у. І гэта проста азначае ітэрацыю злева направа і зверху ўніз. Выключы са значэннем 0, а таксама. Захаваць. І на праектары, вы не можаце на самой справе сапраўды нічога не было бачна. На экране майго ноўтбука, калі я зазіраю за ўсё правільны шлях, я бачу трохі малюнка, таму што яны па-ранейшаму некаторыя чырвоныя там. Калі вы калі-небудзь чулі акронім RGB - чырвоны, зялёны, сіні - ён мае на ўвазе гэтая кампазіцыя з малюнка з дапамогай толькі тых трох колераў. І прама цяпер, мы выкінулі ўсё зялёнае, усё сіняе, але існуе не так шмат чырвонага колеру. Такім чынам, дазвольце мне выціснуць максімум чырвоным. Як я магу гэта зрабіць? Ну, па-першае, я хачу папрасіць гэтая праграма пытанне. Я збіраюся ісці наперад і назавем яго зменнай, як у алгебры. У вас можа быць Х або Y або Z. Я збіраюся абвясціць зменную і сказаць, пакласці ў гэтую зменную, часова, значэнне малюнка getRed значэнне пры х, у. І зноў, мы вернемся да ўсё гэтай дэталі ў будучыні. Але на сённяшні дзень, проста ўзяць на веру, што гэтая лінія просяць праграмы, што гэта значэнне чырвонага на х, у? Менавіта ў гэты пункт? Тады я збіраюся зрабіць што-то да яго. Тады я збіраюся зрабіць кропкавае малюнак набор чырвоны на х, у, у, але на гэты раз я збіраюся павысіць яго, робячы чырвоным разы, скажам, 10. Так што павялічыць яго ў 10 разоў. Дазвольце мне цяпер паменшыць маштаб і націсніце маглі Выканаць / Захаваць. І вуаля, якая была там усяго час, нават калі нашы чалавечыя вочы не мог убачыць яго. Такім чынам, яшчэ раз, гэта цяпер з'яўляецца рэальным кодам, прыклад мовы, што мы прыедзем Вярнуцца да хуткім часе. Але зразумейце, у прыватнасці тых з вас, з такога вопыту няма, гэта даволі хутка, што мы самі будзе напісанне кода падабаецца, што ёсць. На самай справе, інструмент, з якім вы ўсё крыху знаёмыя, мабыць, CS50 аўтара уласны курс-гандлёвы інструмент, які быў на самай справе перазагрузкі гэтым летам некаторыя CS50 з уласных былых студэнтаў, цяпер TFS. Так што гэта, аказваецца, сайт пабудаваны на мове, званым PHP. Ён выкарыстоўвае базу дадзеных з імем MySQL, рэчы , З якім мы атрымаем у свае рукі брудныя пазней у семестр. Але верыць гэтаму ці не, нават нешта як гэта ў канчатковым выніку зводзіцца да найпростых завес і ўмовы і філіялы, як і тыя, якія мы бачылі толькі Хвіліну таму ў відэа TED. Тое, што я думаў, што я зараз зрабіць, гэта доля ня проста тое, што мы зрабілі персаналу для кампуса, а нешта былы студэнт - тры студэнтаў, на самай справе - зрабілі гэта ў мінулым годзе, Сьера, Данііл і Сэм, апошні з якіх раней не мелі Вопыт праграмавання калі ён узяў CS50. І для іх канчатковага праекта, яны выстаўлены на кірмашы CS50, прыкладанне пад назвай wrdly, якая з'яўляецца вэб-праграмы, для якой яны зроблены гэта відэа, што я думаў, што я падзялю на даць вам пачуццё толькі тое, што магчыма да канца тэрміна. [Музыка Прайграванне] DAVID малая: Гэта ад нулявой тыдні Тыдзень да 12 у мінулым годзе. [Апладысменты] DAVID малая: як тізер, таксама, сапраўды каб падцяпліць апетыт да таго, што магчыма, вы, магчыма, бачылі ўжо, або можа неўзабаве ўбачым, market.cs50.net, новы інструмент, які каманда курсу мае працуеце, на гэты раз у Студэнт супрацоўніцтве з Гарвардскай Ўстановы, такія, што пачынаючы з гэтага года і працяг, спадзяюся ў гэты бліжэйшым летам вы будзеце мець стандартную магчымасць на тэрыторыі кампуса, каб купіць і прадаць рэчы, якія прадстаўляюць інтарэс для вас. І з HSA партнёрства шляхам, вы Таксама зможаце адмовіцца пунктаў ад у адным з фізічных крамах HSA ў некаторы момант у будучыні, з тым каб проксі рэчаў, у прыватнасці, як вы выпускнік і не абавязкова хочуць адмовіцца ад рэчаў, але на самой справе плаціць накіраваць людзей, якія могуць ісці за вамі Тут на тэрыторыі кампуса. Так пра гэта ў будучыні. Але крыху больш канкрэтна, інструмент які выходзіць з CS50 ў апошнія гадоў, з якім некаторыя з вас маглі б быць знаёмыя і іншыя вы можаце быць звяртаючыся да дапамогі цяпер, у CS50.net/2x, вы будзеце знайсці спасылку на пашырэнне Chrome якія дэманстратыўна, як вы можаце выкарыстоўваць JavaScript, той жа самы мову, які мы выкарыстаны з Эйфелевай вежай хвіліну назад, для рэалізацыі 2x хуткасці прайгравання для ўсіх Гарвардскі iSites відэа. Гэта тое, што пабудаваны ва ўласны відэаплэер CS50 аўтара. Але і гэта таксама, калі вы пачынаеце капацца у зыходны код, які мы шчасліва зрабіць даступным, вы ўбачыце, як Вы можаце нават вырашыць такія праблемы, як, што, паскарэнне віджэтаў ў вэб-сайты з якія вы ўжо добра знаёмыя. Так што цяпер слова на ход і чакання і што чакае наперадзе. Увогуле, мы сапраўды збіраемся тут па панядзелках і серадах - хоць ў гэтую пятніцу, мы сабраліся таму, хадні па крамах тыдзень - 1:00 да 2:00 вечара, хоць Ня часам да 2:30. Улічваючы, што Такім чынам, вы, ці прыйдзецца прыняць некаторыя клас у 2:00 вечара наперад, ці нават раней, разумееш, Курс падтрымлівае тое, што называецца адначасовая рэгістрацыя, якой мы будзем падтрымліваюць петыцыю і Дошка аб'яваў вашыя рэзідэнты дэканаў ад вашага імя, калі у вас канфлікт дзесьці ў гэтым 01:00 да 2:30 дыяпазоне. Галава да URL, што анлайн дадатковай інфармацыі. Але з пункту гледжання апорнай канструкцыі , Што характарызуе CS50, для студэнтаў больш і менш зручныя, так, мы прапануюць розныя трэкі раздзелах. І гэта пару тыдняў адпачынку, але У бліжэйшы час, вам будзе прапанавана, каб ваш ўзровень камфорту. Вы сярод тых, менш знаёмыя, больш камфортным, або дзесьці пасярэдзіне? І мы будзем мець тры розных трэкаў, якія абслугоўваюць менавіта тыя аўдыторыі. Так што ні ў які момант гэты тэрмін набыў вы нават адчуваеце, як вы збіраецеся перамагчы супраць любой студэнт з больш ці менш фоне, чым вы. Сапраўды, курс прызначаны для значна больш сумесных і многае больш адкрытай, чым гэта. З пункту гледжання праблемы наборы, вы знайсці таксама, што ў дадатак да стандартная рэдакцыя праблемы кожны тыдзень ўстаноўлена, там часта "хакер Выданне ", што азначала быць накіраваны на 5% да 10% ці каля таго дэмаграфічныя, хто сапраўды сярод тых, зручней і хацелі б больш складанай задачай, чым стандартны выданню, што чакае PSET. Больш падрабязная інфармацыя аб тых, якія будуць знайсці ў праграме. Але і там можна знайсці падрабязнасці на курсах канца дзён. Звычайна праблема ўсталёўвае абумоўлены па чацвяргах. Тым не менш, вы можаце пашырыць многія з вашых тэрміны гэтай восенню ад чацвяргах Пятніцах проста сустракаючы нас на паўдарогі, так бы мовіць, адказаўшы на некалькі размінкі пытанняў у некаторых праблема тыдні наборы, які будзе аўтаматычна Затым даць вам дадатковыя 24 гадзін. Мы таксама ўпадзе ваша нізкая Ацэнка, у адпаведнасці з вучэбнай праграме. Каб даць вам адчуванне таго, што праблема Наборы - таму што гэта сапраўды Праблема вядома, устанаўлівае, што у канчатковым рахунку, вызначаюць амаль кожны студэнцкі вопыт, больш, чым лекцыі, больш, чым раздзелаў, больш , Чым большасць іншых аспект курса. У мінулым годзе, напрыклад, мы пачалі, як мы пачнем ў гэтым годзе, з нуля. Асабліва ў гэтую пятніцу, мы будзем выкарыстоўваць, для ўсяго за адзін дзень час, графічная мова праграмавання, з якім мы будзем Пачатак праграмавання шляхам перацягвання падзенне частак галаваломкі, што толькі сабраць фізічна калі гэта мае сэнс каб зрабіць гэта, лагічна. На наступным тыдні, мы хутка пераход да C, даволі стары, але вельмі маленькі і просты мову, які дазволіць нам сапраўды ідуць ад 0 да 60 на працягу ўсяго за некалькі тыдняў, а затым экспрэсы тыя ж навыкі і веды асноўныя праграмныя канструкцыі ў моў высокага ўзроўню, як PHP, JavaScript, а трэція яшчэ. У мінулым годзе ў трэцім PSET ў ходзе было тое, што крыптаграфія прадметна-арыентаваныя прыкладання, з дапамогай якога мы выклік студэнтам рэалізаваць любы колькасць шыфраў, праграмах, з якімі караскацца або расшыфроўваць інфармацыю, зашыфраваць яго. Для хакер выданне, наадварот, мы далі хакер студэнтаў выяву ад стандартнага кампутара Unix якія змяшчаюць імёны карыстальнікаў і паролі, апошні з якіх былі зашыфраваныя, і мы кідалі выклік хакера студэнтаў для расшыфроўкі, як маглі, гэтыя паролі, усё яшчэ на што адным дамене. Сутычка, гульня з якой некаторыя з вас, магчыма, знаёмыя. Крыміналістыцы частку, дзе мы просім студэнтаў аднавіць дадзеныя, якія былі у адваротным выпадку выдаліць з маіх уласных лічбавых Compact Flash камеры карце, па на самай справе напісанне праграмнага забеспячэння, каб высветліць, дзе былі нулі і адзінкі ў што лічбавая камера, якая раней складаецца JPEG графічныя? Задача родаў у мінулым годзе падразумяваюць запіс самы хуткі Арфаграфічны магчыма, канкуруючых з сябрамі і аднакласнікамі, калі яны хацелі б. Рэалізацыя N Puff Хафф, праграма для сціску. А потым канчатак семестра з CS50 Фінансаў, вэб-дадатак з якое вы ствараеце ETRADE-як вэб-сайт купляць і прадаваць акцыі, так сказаць, на самай справе цягне амаль каціроўкі ў рэальным часе Yahoo! Фінансаў. Тое, што мы не зрабілі ў мінулым годзе быў адна праблема, якая застаецца набор Тым не менш каханым. Калі вы ніколі не хадзілі ў shuttle.cs50.net, вы ўбачыце карыстальнікаў Інтэрфейс трохі як гэта. Але два гады таму, клас прымяняцца, з дапамогай Google Maps і Google Планета Зямля убудова і трохі падкаваных з кіраванне па ўсім універсітэцкага мястэчку, так што мэта гэтай гульні быў, як вы можаце ўбачыць некаторыя з асоб, , Каб рухацца па ўсім універсітэцкага мястэчку шукаеце персаналу, навучанне стажораў і цэнтраў сертыфікацыі, і Калі вы робіце, паклаўшы іх на вашым аўтобусе. Ні адзін з іх на самой справе, здаецца, тут, так што мы збіраемся ўвесці чыць-код. [Смяецца] DAVID малая: Там мы ідзем. Добра. І вось цяпер, з'яўляецца персанал працяты ўсім універсітэцкага мястэчку. І, як вы можаце бачыць, на правай руцэ баку экрана, трансферны аўтобус ёсць вольныя месцы. І мэтай было напісаць код, з якой для імітацыі гэтага кіраванне і падбіраючы і высаджваючы ад пасажыраў. Той таксама з выкарыстаннем мовы называецца JavaScript. Так разумею, што такія праграмы будуць быць на нашай жа траекторыі гэтага года, а таксама. З пункту гледжання, у цяперашні час, ў дадатковай падтрымцы, У нас ёсць офіс гадзін. Як вы, магчыма, бачылі ва ўласным доме абеднай зале або ва Анненберга, мы будзем у доме сталовай залаў чатыры ночы ў тыдзень - Левереттом, Pfoho, Эліёт і Анненберга гэтага года, 8:00 вечара да 11:00 вечара. І тое, што мы думалі, што мы робім у гэтым годзе нешта крыху іншае. Калі вы чулі грымоты мінулым годзе, што гэта было трохі занадта напружаны, гэта офіс годзе гадзіны, як мы апішам на наступным тыдні, будзе больш арганічным, якой па прыбыцці, вы будзеце адпраўленыя ў адной канкрэтнай табліцы , Калі некалькі супрацоўнікаў чакаюць, і мы будзем рабіць тое, значна больш арганічна. Няма больш чэргаў, не больш за Ipad, але а ёсць больш інтымныя размовы вакол стала за ўсё восем або каля студэнтаў, так што мы прыблізны адчуць, што ў адваротным выпадку было б значна меншага класа. Мы прапануем, а таксама, гэтыя рэчы, якія мы называецца праходжанне, відэа знятае ў загадзя па адным з выкладання курса малайцы, Zamyla, у якім яна правядзе вас праз праблемы тыдні наборы, прапаноўваючы парады і рэкамендацыі для праблемы, якія трэба вырашыць. І наадварот, пасля таго, як праблема наборы дзякуючы, у гэтым годзе мы таксама выпусціць маленькія кліпы называюць пост-трупаў, што на самай справе вы пройдзеце праз Прадстаўнік рашэнняў, і добрыя і дрэнна, з дапамогай якога вы можаце заключыць, наколькі вы маглі б ці павінны быць рэалізавана ўласнае рашэнне. І тое, што мы прапануем у першы раз і ў гэтым годзе, у прыватнасці, для тых студэнтаў, якія карыстаюцца курсы ў іншых рэсурсаў але тым не менш з усіх сіл усё занадта шмат, вядома сама пару тых студэнтаў, а дазваляюць сродкі, з рэпетытарамі, так што ў вас ёсць значна больш інтымнае магчымасці, чым залы Рэстаран прадугледзець адзін-на-адзін дапамогі. Цяпер канчатковае зірнуць на некаторыя На канец гульні ў поле зроку. Вы можаце быць знаёмыя з CS50 Hackathon. Ну, прыходзячы ў снежні гэтага года, з 8:00 Вечара да 7:00 раніцы, у пачатку Чытанне перыяд, будзе магчымасць сабрацца з аднакласнікамі - гэта будзе каля 9:00 вечара - на працягу якога вы акунуцца ў ваша канчатковае рэалізацыі праекта разам з аднакласнікаў, сяброў, і прадукты харчавання. Гэта будзе каля 1:00 раніцы, калі Першая партыя прыбыла ежа. А гэта прыкладна 4:00 раніцы, што канкрэтны год на CS50 Hackathon. Але сапраўдная кульмінацыя курсу прызначаныя для кірмашу CS50, на ўсёй тэрыторыі комплексу Выстава вашага ўласнага канчатковага праектаў, да якога сям'я і сябры ўсе запрасілі, так як нашы рекрутеры і нашы сябры з прамысловасці. Гэта, напрыклад, з'яўляецца ўяўленне аб 2000 с лішнім чалавек, якія прынялі ўдзел мінулых гадоў. Выразы, падобныя да гэтага, не рэдкасць, а гэтак жа зрабіць вашу аднакласнікі атрымліваць асалоду ад рэчамі Вы дасягнулі. А на самай справе, у гэтым кірунку, у нас ёсць START-OF перспектыву мерапрыемства, а таксама. Калі такія рэчы, як гэта зварот да вас, ці вы па крайняй меры цікава, што гэта, ведаеце, што новая традыцыя Вядома называецца CS50 Галаваломка Дзень. І гэта быў заснаваны пару гадоў таму, каб сапраўды сігналізаваць кампусе , Што інфарматыка не пра праграмавання, і гэта, вядома, не аб ахопе толькі тых студэнтаў, , Якія маюць папярэдні вопыт. Гэта сапраўды аб рашэнні праблем ў цэлым. І так Puzzle дзень, на працягу апошніх некалькіх гадоў, ператварылася ў добры партнёрства з нашымі сябрамі ў Facebook, у выніку чаго будзе казачнай прызы і піцы праз раку I-лабараторыі ў гэтую суботу. Галава да URL, што з двума ці трыма сябры, калі вы хочаце прыняць удзел у гэтай новай традыцыі. Таму я хацеў бы спытаць, што вы трымаеце адну рэч на ўвазе, і мы атрымалі проста дзвюххвілінным роліка, , Каб закрыць сёння. 73%-лік запомніць. Торт таксама будзе чакаць вас па-за гэтай трансэпт як мы адкласці ўсяго за пару момантаў, якія традыцыя курсу, а таксама. Але гэта цытата з ключавых праграму курса, каб трымаць у розуме. Што ў рэшце рэшт мае ў гэтым курсе Не так шмат, дзе вы сканчаеце па адносінах да сваіх аднакласнікаў, але дзе Вы, у 12-й тыдні ў канчатковым выніку ў адносінах да Тыдзень сябе ў 0. Але ўяўленне, што мы выйдзем вам з сёння гэта апошняя тут нашым жа Данііл, які зрабіў wrdly відэа ўсяго хвіліну таму. Я пакідаю вас з гэтым ўяўленне , Што чакае наперадзе. І, як мы гэта зробім, калі мы маглі б CS50 Персанал ад пярэдняй частцы пакоя прыйсці на да стадыі распісваць усе больш візуальнага выявы ў якасці да што чакае вас у гэтым годзе - атрыманне няёмка. Мы скончым з гэтым Тут на экране. [Музыка Прайграванне] DAVID малая: Гэта CS50. [MUSIC - матавае і Кім, "Усё ў парадку"] Выступоўца 1: Я люблю CS50 больш котак. Дакладчык 2: Whoaaaa! [Смяецца] DAVID малая: Гэта, тады, з'яўляецца CS50. Мы будзем бачыць вас у пятніцу. [Апладысменты і захапляцца] Апавядальнік: На наступным CS50, на сцэне Дэма не так, як планавалася. DAVID малая: Мы хочам знайсці Майка Сміт у гэтай тэлефоннай кнізе. Ну, што вашыя інстынкты? Я мог бы скакаць прыкладна да сярэдзіны тэлефоннай кнізе, позірк уніз, бачым, што Я на М, і цяпер я ведаю, што Майк Сміт ня налева. Ён павінен быць з правага боку. І таму на дадзеным этапе, мы можа літаральна разарваць - На дадзены момант, мы можам літаральна ірваць - На дадзены момант, мы можам вобразна ірваць тэлефонную кнігу на дзве часткі. [Ukelele дрынкаў]