1 00:00:00,000 --> 00:00:03,440 >> [За възпроизвеждане на музика] 2 00:00:03,440 --> 00:01:57,217 3 00:01:57,217 --> 00:02:00,710 >> [APPLAUSE] 4 00:02:00,710 --> 00:02:05,700 5 00:02:05,700 --> 00:02:09,669 >> DAVID J. Malan: Това е CS50, Въвеждане на Харвардския университет 6 00:02:09,669 --> 00:02:12,370 на интелектуалеца предприятия на компютърните науки 7 00:02:12,370 --> 00:02:14,180 и изкуството на програмирането. 8 00:02:14,180 --> 00:02:17,530 Сега, ако сте сред тези, които всяка година се седи тук 9 00:02:17,530 --> 00:02:21,450 с малко нерви в ума си, като че не мисля, че мястото ти е тук, 10 00:02:21,450 --> 00:02:24,270 смятате, че най- някой около вас заседание 11 00:02:24,270 --> 00:02:27,730 знае много повече от теб, е наистина по-удобно, отколкото на компютър 12 00:02:27,730 --> 00:02:30,430 науката или компютри по-общ план, да разбере, 13 00:02:30,430 --> 00:02:36,140 че 78% от студентите, които сега предприеме CS50 имат предишен опит. 14 00:02:36,140 --> 00:02:39,570 >> В действителност, има 100 точки там на дисплея, от които 78 15 00:02:39,570 --> 00:02:43,540 са твърди зелено, което означава, че вие, ако сте сред които демографските, 16 00:02:43,540 --> 00:02:46,420 са в много добра компания тук нататък. 17 00:02:46,420 --> 00:02:50,320 И ако сте вместо сред 22% от CS50 студенти, които наистина 18 00:02:50,320 --> 00:02:53,920 имат предишен опит, независимо дали в гимназия или някоя друга програма, 19 00:02:53,920 --> 00:02:56,430 осъзнаят, че вие ​​също ще да бъде оспорено в хода. 20 00:02:56,430 --> 00:02:59,930 >> Не само, че имаме различни писти за студенти по-малко удобни и по- 21 00:02:59,930 --> 00:03:03,789 комфортен приличат по секции, ние също така наречените хакерски издания 22 00:03:03,789 --> 00:03:06,080 от най-проблем определя, че ще отправи предизвикателство към тези ученици, 23 00:03:06,080 --> 00:03:09,650 с този допълнителен опит да проучи други подобни материали 24 00:03:09,650 --> 00:03:12,140 но от по- изискан перспектива. 25 00:03:12,140 --> 00:03:13,900 >> Но това, което е по компютърни науки? 26 00:03:13,900 --> 00:03:17,750 Е, в крайна сметка, какво ще се материя, докато разглеждате тази област не е 27 00:03:17,750 --> 00:03:20,500 толкова много, когато ти свърши спрямо съучениците си, 28 00:03:20,500 --> 00:03:25,350 Но къде ли се озове в 12-та седмица в сравнение с където можете да започнете тук 29 00:03:25,350 --> 00:03:26,720 в нула седмица. 30 00:03:26,720 --> 00:03:31,850 Сега компютър science-- Е, нека го наричаме науката за computation-- 31 00:03:31,850 --> 00:03:35,910 където изчисление е наистина само луксозен начин на казвайки, като някои вход, 32 00:03:35,910 --> 00:03:39,460 производство на някои от крайните продукти, и това, като пуснете алгоритми, 33 00:03:39,460 --> 00:03:43,700 набора от инструкции за решаване някакъв проблем, върху тези артикули 34 00:03:43,700 --> 00:03:48,460 , за да се произведе някакъв изход или разтвор, в който ви интересува. 35 00:03:48,460 --> 00:03:51,310 >> Така че ние наскоро имаше повод да пътува извън 36 00:03:51,310 --> 00:03:53,170 до Калифорния, за да се срещне с двуалуминиев триоксид. 37 00:03:53,170 --> 00:03:54,650 Нейното име е Сюзън Wojcicki. 38 00:03:54,650 --> 00:03:57,190 И тя иска да говори да ви тук на видео 39 00:03:57,190 --> 00:04:01,690 за да свидетелства за това колко е приложимо дори само вкуса на компютър 40 00:04:01,690 --> 00:04:03,770 науки в встъпително ниво може да бъде. 41 00:04:03,770 --> 00:04:06,870 Дори и ако не отида, за да продължи компютърни науки като поле, 42 00:04:06,870 --> 00:04:09,330 или дори инженерство, или стволови-общо 43 00:04:09,330 --> 00:04:12,360 ще видите, в действителност, как определен Разбира се, така се влияе на живота си. 44 00:04:12,360 --> 00:04:16,630 И тя едва го взе, когато тя е старши тук в Harvard College. 45 00:04:16,630 --> 00:04:19,482 >> Ако можехме да намаляване на осветлението за Сюзън. 46 00:04:19,482 --> 00:04:20,690 SUSAN Войчички: Здравей, свят. 47 00:04:20,690 --> 00:04:22,100 Аз съм Сюзън Wojcicki. 48 00:04:22,100 --> 00:04:24,110 Аз съм изпълнителен директор на YouTube. 49 00:04:24,110 --> 00:04:29,150 И взех CS50, когато бях старши в Харвард през 1990. 50 00:04:29,150 --> 00:04:31,220 Всъщност бях история и литература майор. 51 00:04:31,220 --> 00:04:36,760 >> И третата ми лято, Аз осъзнах, че може би аз 52 00:04:36,760 --> 00:04:39,060 Исках да науча нещо за компютрите. 53 00:04:39,060 --> 00:04:40,930 И така, аз се върнах. 54 00:04:40,930 --> 00:04:42,500 Взех CS50. 55 00:04:42,500 --> 00:04:46,940 Беше трудно, но това беше Най-невероятното клас взех. 56 00:04:46,940 --> 00:04:49,630 >> Той промени начина си мисля за всичко. 57 00:04:49,630 --> 00:04:55,810 И когато завърших Харвард през 1990 г., аз отидох в Silicon Valley. 58 00:04:55,810 --> 00:04:57,140 И аз имам работа. 59 00:04:57,140 --> 00:05:00,150 И съм работил в технологии и досега. 60 00:05:00,150 --> 00:05:02,650 DAVID J. Malan: Сега какво Сюзън не се споменава в това видео, 61 00:05:02,650 --> 00:05:05,340 че всъщност в нея гараж, че самата Google е 62 00:05:05,340 --> 00:05:07,420 основана от Лари и Сергей. 63 00:05:07,420 --> 00:05:11,169 >> Сега ние също протегна ръка на нашите приятели в code.org, организация, която 64 00:05:11,169 --> 00:05:13,460 през изминалата година е била стават хора в особено 65 00:05:13,460 --> 00:05:16,520 развълнуван за компютърни науки и програмиране, по-специално. 66 00:05:16,520 --> 00:05:20,590 Но си струва да се отбележи, че програмирането не е компютърна наука сама по себе си. 67 00:05:20,590 --> 00:05:22,090 Компютърни науки не е програмиране. 68 00:05:22,090 --> 00:05:24,560 Вместо програмиране е само една tool-- с които всички вие 69 00:05:24,560 --> 00:05:27,510 ще бъде много добре запознати с end-- семестър 70 00:05:27,510 --> 00:05:30,650 така че можете да не се прилага само за бъдещи курсове в CS 71 00:05:30,650 --> 00:05:33,670 но какъвто и да е полета от где идваш, в хуманитарните науки, 72 00:05:33,670 --> 00:05:36,090 социални науки, природни науката, или други подобни. 73 00:05:36,090 --> 00:05:39,740 >> Всъщност, позволява няколко други възпитаници и техните колеги 74 00:05:39,740 --> 00:05:43,400 да се говори за приложимостта на полето, което очаква. 75 00:05:43,400 --> 00:05:52,340 76 00:05:52,340 --> 00:05:57,350 >> Бил Гейтс: Бях на 13, когато аз първо имам достъп до компютър. 77 00:05:57,350 --> 00:06:00,485 >> JACK DORSEY: Моите родители ми купи Macintosh през 1984 г. 78 00:06:00,485 --> 00:06:01,640 когато бях на осем-годишна възраст. 79 00:06:01,640 --> 00:06:02,990 >> Марк Цукерберг: Бях в шести клас. 80 00:06:02,990 --> 00:06:04,670 >> SPEAKER 1: Научих се да се кодира в колежа. 81 00:06:04,670 --> 00:06:09,080 >> Ручи Sanghvi: първокурсник година, първият семестър, Intro да Computer Science. 82 00:06:09,080 --> 00:06:11,850 >> Бил Гейтс: Написах програма че играе Тик-так-палеца. 83 00:06:11,850 --> 00:06:14,100 >> DREW HOUSTON: Мисля, че беше доста скромно начало. 84 00:06:14,100 --> 00:06:16,370 Мисля, че първата програма Написах попита неща като, 85 00:06:16,370 --> 00:06:17,820 кой е любимият ти цвят? 86 00:06:17,820 --> 00:06:18,696 Или на колко години сте? 87 00:06:18,696 --> 00:06:21,070 ELENA SILENOK: първи път научих как да се направи зелен кръг 88 00:06:21,070 --> 00:06:23,670 и Червения площад се появи на екрана. 89 00:06:23,670 --> 00:06:25,420 GABE NEWELL: Първото път, когато всъщност трябваше 90 00:06:25,420 --> 00:06:27,360 нещо да излезе и да каже: Здравей, свят. 91 00:06:27,360 --> 00:06:29,710 И аз направих един компютър да го направя. 92 00:06:29,710 --> 00:06:30,850 Това беше просто изумителна. 93 00:06:30,850 --> 00:06:33,224 >> Марк Цукерберг: Да се ​​научиш как към програмата не започнем 94 00:06:33,224 --> 00:06:35,450 като искат да се научат всички компютърни науки 95 00:06:35,450 --> 00:06:38,630 или се опитват да овладеят тази дисциплина или нещо подобно. 96 00:06:38,630 --> 00:06:41,591 Той току-що започна на разстояние, защото аз Исках да направя това едно просто нещо. 97 00:06:41,591 --> 00:06:44,340 Исках да направя нещо, което Беше забавно за себе си и сестрите ми. 98 00:06:44,340 --> 00:06:46,399 >> И аз написах тази малка програма. 99 00:06:46,399 --> 00:06:48,440 И тогава основно само добавя малко към него. 100 00:06:48,440 --> 00:06:49,930 И тогава, когато имах нужда , за да научите нещо ново, 101 00:06:49,930 --> 00:06:52,210 Аз го погледна нагоре, нито в книга или в интернет, 102 00:06:52,210 --> 00:06:53,240 и след това се добавя малко към него. 103 00:06:53,240 --> 00:06:56,300 >> DREW HOUSTON: Това наистина не е за разлика от свирене на музикален инструмент или нещо 104 00:06:56,300 --> 00:07:00,007 или възпроизвеждане на спорта. 105 00:07:00,007 --> 00:07:01,090 DAVID J. Malan: Добре. 106 00:07:01,090 --> 00:07:04,120 Така че нека сега всъщност потопите в малко по-дълбоко. 107 00:07:04,120 --> 00:07:07,430 Какви са тези входове и изходи че ние не говорим за тук? 108 00:07:07,430 --> 00:07:09,110 >> Така че какво ще кажеш за нещо по-просто? 109 00:07:09,110 --> 00:07:12,120 Вие вероятно знаете, дори и ако имате не познаване на компютърните науки 110 00:07:12,120 --> 00:07:16,570 каквато, че компютрите по някакъв начин използват и разбира само нули и единици. 111 00:07:16,570 --> 00:07:20,500 Но как може това евентуално да се има предвид колко много днешните настолни компютри и лаптопи, така 112 00:07:20,500 --> 00:07:21,280 може да се направи? 113 00:07:21,280 --> 00:07:24,310 >> ДНК на деня, единственото азбука, че те разбират 114 00:07:24,310 --> 00:07:26,410 е нула или едно. 115 00:07:26,410 --> 00:07:27,470 Е, помислете за това. 116 00:07:27,470 --> 00:07:30,840 Ние, хората, склонни да използват десетична бройна система. "Декември", което означава 10. 117 00:07:30,840 --> 00:07:33,970 И това е 10, защото имаме 10 цифри, от 0 до девет. 118 00:07:33,970 --> 00:07:36,180 >> Сега компютри, за разлика от това, склонни да използват двоичен. 119 00:07:36,180 --> 00:07:37,270 "Bi", което означава две. 120 00:07:37,270 --> 00:07:39,560 Така че те са склонни да използват само нула и едно. 121 00:07:39,560 --> 00:07:42,680 Но се оказва, че дори само с нули и единици, това 122 00:07:42,680 --> 00:07:45,900 е достатъчно голям азбука с което представлява най- 123 00:07:45,900 --> 00:07:48,490 всяка част от данните, които искате, дали това е номер, 124 00:07:48,490 --> 00:07:52,100 дали това е писмо, независимо дали е графичен или видео на екрана. 125 00:07:52,100 --> 00:07:57,140 >> Помислете, например, как ние, хората, обикновено се интерпретира този номер тук. 126 00:07:57,140 --> 00:08:00,010 Това е само три цифри, едно, две, три. 127 00:08:00,010 --> 00:08:04,570 Но ние знаем, този номер рождение сега, както и 123. 128 00:08:04,570 --> 00:08:05,510 Но защо е така? 129 00:08:05,510 --> 00:08:07,570 >> Е, ако мислите, че обратно да може би основното училище, 130 00:08:07,570 --> 00:08:11,700 най-вероятно са били обучавани да мислят за тези числа, като е в колони, 131 00:08:11,700 --> 00:08:14,700 където единият е в стотици място, на две е в десетки място, 132 00:08:14,700 --> 00:08:16,360 и три е в такива мястото. 133 00:08:16,360 --> 00:08:17,790 Защо е, че действително полезно? 134 00:08:17,790 --> 00:08:19,665 Е, помислете за супер проста аритметика 135 00:08:19,665 --> 00:08:22,219 че всички ние сме били прави от години. 136 00:08:22,219 --> 00:08:24,510 Реално, ако имаш един в стотици място 137 00:08:24,510 --> 00:08:29,610 правите бързо математика 100 пъти един плюс 10 пъти 2-- 138 00:08:29,610 --> 00:08:33,059 защото две е в десетките place-- плюс 1 пъти 3-- 139 00:08:33,059 --> 00:08:34,830 защото три е в тях място. 140 00:08:34,830 --> 00:08:37,039 Така че, разбира се, ако ние всъщност умножете това, 141 00:08:37,039 --> 00:08:39,600 това, което наистина представляващи с този pattern-- един 142 00:08:39,600 --> 00:08:46,150 две three-- е 100 плюс 20 плюс 3, което, разбира се, е 123. 143 00:08:46,150 --> 00:08:51,130 >> Сега двоичен и компютри наистина, фундаментално говорят на един език 144 00:08:51,130 --> 00:08:51,680 , което правим. 145 00:08:51,680 --> 00:08:53,400 Те просто имат по-малка азбука. 146 00:08:53,400 --> 00:08:57,100 Така че компютрите имат само нули и такива, с които разполагат. 147 00:08:57,100 --> 00:09:02,500 Така че докато ние, хората имат по същество правомощия от 10 във всяка от тези places-- 148 00:09:02,500 --> 00:09:06,810 10 на нула, 10 на този, десет до два, като ви дава 110 и 100 149 00:09:06,810 --> 00:09:07,700 съответно. 150 00:09:07,700 --> 00:09:12,140 >> Тъй като компютрите имат само две стойности те могат да разбират, нула и едно, 151 00:09:12,140 --> 00:09:16,600 те трябва да се използват различни стойности в тези колони, един, два, четири. 152 00:09:16,600 --> 00:09:20,480 И ако ние продължихме, осем, 16, 32, 64, и т.н.. 153 00:09:20,480 --> 00:09:24,220 Но моделът и манталитет е точно същото. 154 00:09:24,220 --> 00:09:27,340 >> Така че от тази логика, всеки, как ще Отида за представляващо броя 155 00:09:27,340 --> 00:09:28,530 едно в двоичен? 156 00:09:28,530 --> 00:09:33,080 Ако никога не сте дори мислех за това и преди, какво червата ти? 157 00:09:33,080 --> 00:09:33,777 >> АУДИТОРИЯ: One. 158 00:09:33,777 --> 00:09:34,610 DAVID J. Malan: One. 159 00:09:34,610 --> 00:09:35,660 Точно така. 160 00:09:35,660 --> 00:09:38,100 Ние просто се нуждаят от една в такива място, защото нулите 161 00:09:38,100 --> 00:09:40,610 достатъчно, за да ни даде нито на четири, нито две. 162 00:09:40,610 --> 00:09:42,440 Така че един милион пъти се равнява на един. 163 00:09:42,440 --> 00:09:43,940 Сега нещата стават малко по-интересни. 164 00:09:43,940 --> 00:09:46,830 Ако искам да представя в Binary броя две-- но, 165 00:09:46,830 --> 00:09:49,790 отново, дори ако никога не сте говори този език преди, 166 00:09:49,790 --> 00:09:54,680 как ние представляваме в двоичен ценностните ние, хората познават като два? 167 00:09:54,680 --> 00:09:55,570 Нула една нула. 168 00:09:55,570 --> 00:09:57,620 Просто сложи една в колона, че го искаш. 169 00:09:57,620 --> 00:09:59,560 >> Сега става все по-хубав лесно вероятно сега. 170 00:09:59,560 --> 00:10:02,950 Така че, ако искам да представляват three-- не е три в колона. 171 00:10:02,950 --> 00:10:06,770 Така че, отново, аз вече може да добавите тези стойности заедно с удар от един тук. 172 00:10:06,770 --> 00:10:10,320 Така че два пъти едно плюс едно пъти 1 е, разбира се, 3. 173 00:10:10,320 --> 00:10:13,480 >> Сега нещата стават малко забавление в че тези, които сега стават нули. 174 00:10:13,480 --> 00:10:15,480 И да представлява четири, се получи това. 175 00:10:15,480 --> 00:10:19,310 И ако ние увеличаваме бавно тук--, че ще бъде пет. 176 00:10:19,310 --> 00:10:20,700 Това ще бъде шест. 177 00:10:20,700 --> 00:10:22,100 Това ще бъде седем. 178 00:10:22,100 --> 00:10:25,310 >> Но сега изглежда да има сблъскате с проблем. 179 00:10:25,310 --> 00:10:30,520 Как бих могъл да отида за представляващ eight-- ще бъде следващата стойност. 180 00:10:30,520 --> 00:10:31,900 Да, така че ние се нуждаем от нова бита. 181 00:10:31,900 --> 00:10:33,899 И наистина, ако сте чувал тази фраза преди, 182 00:10:33,899 --> 00:10:37,380 бита, това е само за кратки двоична цифра, нула или един. 183 00:10:37,380 --> 00:10:41,520 >> И така, аз се случи да се представляващ само три такива бита тук. 184 00:10:41,520 --> 00:10:44,900 Но ако имах начин да не съхранение три различни битове, но четири 185 00:10:44,900 --> 00:10:47,250 аз със сигурност би могло да представлява осем, девет и след това, и след това 186 00:10:47,250 --> 00:10:49,400 10, и дори по-високи. 187 00:10:49,400 --> 00:10:52,140 >> Но това после вика под въпрос как можем да 188 00:10:52,140 --> 00:10:54,540 отида за представляващи тези неща, на първо място. 189 00:10:54,540 --> 00:10:56,950 Това е едно нещо да се направи ги тук върху предметно стъкло, 190 00:10:56,950 --> 00:11:00,660 но как да ги представлява ако сте механично устройство? 191 00:11:00,660 --> 00:11:04,390 Какво е компютър прави, за да представляват входовете и изходите, които 192 00:11:04,390 --> 00:11:09,020 фундаментално определи изчисление в края на деня? 193 00:11:09,020 --> 00:11:12,090 >> Е, какво ще кажеш за нещо супер прост като този? 194 00:11:12,090 --> 00:11:13,200 Това е само една крушка. 195 00:11:13,200 --> 00:11:15,460 И аз може да предизвика този крушка да отидете на 196 00:11:15,460 --> 00:11:17,920 чрез завъртане някои електричество на и позволяващи електрони 197 00:11:17,920 --> 00:11:22,585 да премине през, което променя държавна или стойността си, така да се каже. 198 00:11:22,585 --> 00:11:24,460 Например, това е една настолна лампа от старата школа 199 00:11:24,460 --> 00:11:27,250 тук с един такъв крушка вътре в него. 200 00:11:27,250 --> 00:11:29,940 И точно сега това не е наистина прави нещо полезно. 201 00:11:29,940 --> 00:11:32,680 Но веднага щом го включите в електрически контакт 202 00:11:32,680 --> 00:11:36,390 и след това да използвате тази switch-- или дори можем да го наречем един транзистор 203 00:11:36,390 --> 00:11:39,970 или смятате, че за него като such-- Сега може да представлява или 204 00:11:39,970 --> 00:11:44,120 тази стойност, където крушката е очевидно изключен, или тази стойност. 205 00:11:44,120 --> 00:11:46,060 Тази стойност или тази стойност. 206 00:11:46,060 --> 00:11:47,520 Тази стойност и така нататък. 207 00:11:47,520 --> 00:11:51,220 >> Така вътре в компютър, вероятно, са много по-малки парчета на хардуер, 208 00:11:51,220 --> 00:11:52,970 но в края на ден просто трябва 209 00:11:52,970 --> 00:11:55,360 да използвате electricity-- може би улови it-- 210 00:11:55,360 --> 00:11:59,730 и след това или запази нещо или запази нещо изключен. 211 00:11:59,730 --> 00:12:02,021 Разбира се, това не е Особено интересно е да се направи 212 00:12:02,021 --> 00:12:03,270 само с една-единствена крушка. 213 00:12:03,270 --> 00:12:06,726 >> В действителност, колко високо мога да разчитам в двоичен с тази настолна лампа тук? 214 00:12:06,726 --> 00:12:07,420 >> АУДИТОРИЯ: One. 215 00:12:07,420 --> 00:12:08,545 >> DAVID J. Malan: One, нали? 216 00:12:08,545 --> 00:12:11,020 Имам нужда от повече настолни лампи, ако всъщност искате да преброите по-висока. 217 00:12:11,020 --> 00:12:12,210 Но ние можем да направим по-добре от това. 218 00:12:12,210 --> 00:12:14,460 Тъй като електрическите крушки, които ние сме поставени в тези неща 219 00:12:14,460 --> 00:12:17,730 всъщност са по-красиви електрически крушки от недалечното минало ще позволи. 220 00:12:17,730 --> 00:12:20,310 И те са в действителност мрежови крушки. 221 00:12:20,310 --> 00:12:23,160 И букети от фирми правят тези неща тези дни. 222 00:12:23,160 --> 00:12:25,190 >> Но се оказва, че това по-специално 223 00:12:25,190 --> 00:12:27,680 идва с функция, при която можете да промените цветовете му. 224 00:12:27,680 --> 00:12:30,810 Така например, ако сте украсена си стая в общежитието 225 00:12:30,810 --> 00:12:33,200 с няколко от тях светлина крушки, в зависимост от настроението ви, 226 00:12:33,200 --> 00:12:35,366 в зависимост от това кой идва в, в зависимост от времето, 227 00:12:35,366 --> 00:12:37,360 в зависимост от времето на ден, всъщност можете да 228 00:12:37,360 --> 00:12:40,300 промяна на цветовете крушките в стаята си. 229 00:12:40,300 --> 00:12:43,740 И това е така, защото тези светлина луковици и други като него са това, което е 230 00:12:43,740 --> 00:12:48,010 нарича API, заявление програмен интерфейс, който 231 00:12:48,010 --> 00:12:50,920 е тема, с която ще бъде добре запознати с до края на семестър. 232 00:12:50,920 --> 00:12:53,710 >> И това е само фантазия, загадъчен начин да се каже, 233 00:12:53,710 --> 00:12:57,570 можете да програмирате тези светлина крушки да направят своите ценови предложения. 234 00:12:57,570 --> 00:13:00,360 Можете да ги изпращате съобщения точно като теб, човек, 235 00:13:00,360 --> 00:13:03,640 можете да изпратите съобщение на уеб сървър казвайки, дай ми днешните новини 236 00:13:03,640 --> 00:13:05,110 или да ми даде моя имейл. 237 00:13:05,110 --> 00:13:08,010 >> Можете да изпращате по-тайнствена съобщения до тези крушки 238 00:13:08,010 --> 00:13:09,700 да се каже, включете и изключете. 239 00:13:09,700 --> 00:13:11,370 Но това не е всичко, което е интересно. 240 00:13:11,370 --> 00:13:14,280 Може да се каже, включете червени, включване на зелено, включете синьо, 241 00:13:14,280 --> 00:13:15,990 всички със същата крушка. 242 00:13:15,990 --> 00:13:20,990 И вие можете дори, с малко по- разбирам, да речем, да се превърне в син 243 00:13:20,990 --> 00:13:24,710 когато това е мрачен ден отвън, например. 244 00:13:24,710 --> 00:13:27,910 Това всъщност може да закърпи в метеорологичен API и разбери 245 00:13:27,910 --> 00:13:32,260 какво е времето, или времето на ден, или други такива тригери. 246 00:13:32,260 --> 00:13:35,550 >> Така, в действителност, две от Собствените си служители CS50-те години, 247 00:13:35,550 --> 00:13:38,827 Дан Брадли и Ансел Duff тук, любезно набавено 248 00:13:38,827 --> 00:13:40,410 ни цял куп от тези крушки. 249 00:13:40,410 --> 00:13:42,910 И те построяват CS50 е първо някога двоични крушки, 250 00:13:42,910 --> 00:13:46,850 където сме представени тук-- с тях игриво малко magnets-- 251 00:13:46,850 --> 00:13:49,780 различните наречените полета за вмъкване ние споменах преди малко. 252 00:13:49,780 --> 00:13:52,572 >> Така начин тук е такива, място, две, четири. 253 00:13:52,572 --> 00:13:54,030 И ние не виждам по-високо от това. 254 00:13:54,030 --> 00:13:55,613 Но, разбира се, те са правомощията на две. 255 00:13:55,613 --> 00:13:59,490 Осем, 16, 32, 64 и 128. 256 00:13:59,490 --> 00:14:03,320 Така че, ако аз сега искам да бъде малко по-красиви от използването на този стар ключ училище, 257 00:14:03,320 --> 00:14:07,310 Имам тук, на тази IPad супер прост интерфейс 258 00:14:07,310 --> 00:14:10,440 че Дан Брадли, бивш студент и сега преподава колега, 259 00:14:10,440 --> 00:14:13,510 програмиран използвате някои HTML и JavaScript, които 260 00:14:13,510 --> 00:14:15,685 са за маркиране и програмиране езици съответно. 261 00:14:15,685 --> 00:14:17,560 И вероятно можете да see-- дори в back-- 262 00:14:17,560 --> 00:14:21,670 има един голям плюс и един голям минус, плюс един бутон за всяка от тези крушки. 263 00:14:21,670 --> 00:14:25,740 И какво ще ми позволи да да е, например, кликнете на плюс 264 00:14:25,740 --> 00:14:28,250 и сега представляват, на Разбира се, какъв номер? 265 00:14:28,250 --> 00:14:28,750 One. 266 00:14:28,750 --> 00:14:30,220 И мога да го удари отново. 267 00:14:30,220 --> 00:14:31,480 Two. 268 00:14:31,480 --> 00:14:32,800 Три. 269 00:14:32,800 --> 00:14:33,950 Четири. 270 00:14:33,950 --> 00:14:35,200 Five. 271 00:14:35,200 --> 00:14:36,360 Six. 272 00:14:36,360 --> 00:14:36,880 Седем. 273 00:14:36,880 --> 00:14:40,740 >> И ето сега ние се получи, че при преобръщане, но имаме четвърти малко това време, 274 00:14:40,740 --> 00:14:42,180 така че сега имаме осем. 275 00:14:42,180 --> 00:14:44,000 Така че бихме могли да направим това за доста дълго време. 276 00:14:44,000 --> 00:14:46,530 В действителност, като настрана, колко високо можем да разчитаме? 277 00:14:46,530 --> 00:14:48,318 Някой? 278 00:14:48,318 --> 00:14:49,270 >> АУДИТОРИЯ: 255. 279 00:14:49,270 --> 00:14:51,420 >> DAVID J. Malan: 255, нали? 280 00:14:51,420 --> 00:14:54,900 Не се притеснявайте твърде много за математика за сега, но това е доста приличен брой. 281 00:14:54,900 --> 00:14:59,140 Но това всъщност е обвързана само колко парчета от информация, 282 00:14:59,140 --> 00:15:01,760 като писмо, или графичен че бихме могли да представляват. 283 00:15:01,760 --> 00:15:02,697 >> Но без значение за предприятието. 284 00:15:02,697 --> 00:15:04,530 Отивам да вървим напред и да ги изключите. 285 00:15:04,530 --> 00:15:09,670 И ако можех, бих искал да попитам за доброволец, нашата първа volunteer-- 286 00:15:09,670 --> 00:15:11,342 О, hello-- на сцената. 287 00:15:11,342 --> 00:15:14,050 Уловката е, че трябва да бъде комфортен появява, както ясно 288 00:15:14,050 --> 00:15:17,421 са в предната част на всичките си съученици, , както и в интернет. 289 00:15:17,421 --> 00:15:20,420 И нека да погледнем малко отвъд по-- Какво ще кажете за тук, в бялата риза? 290 00:15:20,420 --> 00:15:20,920 И ръка. 291 00:15:20,920 --> 00:15:22,071 Хайде нагоре. 292 00:15:22,071 --> 00:15:22,820 Как ти е името? 293 00:15:22,820 --> 00:15:23,760 >> АУДИТОРИЯ: Джаки. 294 00:15:23,760 --> 00:15:24,718 >> DAVID J. Malan: Джаки. 295 00:15:24,718 --> 00:15:25,820 Джаки, хайде нагоре. 296 00:15:25,820 --> 00:15:29,820 Така че това, което има и по този IPad е бутон, наречен Game Mode. 297 00:15:29,820 --> 00:15:32,570 И това Mode Game е ще ми позволи да въведете 298 00:15:32,570 --> 00:15:35,780 предварително определен знак номер, номерата ние, хората са 299 00:15:35,780 --> 00:15:36,760 запознати. 300 00:15:36,760 --> 00:15:39,820 И след това ще бъде оспорено тук, за да използвате бутоните 301 00:15:39,820 --> 00:15:42,140 на top-- този за всеки от тези bulbs-- 302 00:15:42,140 --> 00:15:45,050 действително да разбера модела на електрически крушки 303 00:15:45,050 --> 00:15:46,970 че представлява броят въпрос. 304 00:15:46,970 --> 00:15:47,790 >> И съжалявам, какво ти беше името? 305 00:15:47,790 --> 00:15:48,250 >> АУДИТОРИЯ: Джаки. 306 00:15:48,250 --> 00:15:48,620 >> DAVID J. Malan: Джаки. 307 00:15:48,620 --> 00:15:48,920 Добре. 308 00:15:48,920 --> 00:15:49,740 Радвам се да се запознаем. 309 00:15:49,740 --> 00:15:54,580 >> Така че позволете ми да отида напред и програма в за света, за да видите броя 15. 310 00:15:54,580 --> 00:15:56,360 Ние ще го запази малък на пръв тук. 311 00:15:56,360 --> 00:15:58,240 И аз отивам да отиде в Game Mode. 312 00:15:58,240 --> 00:16:01,160 И аз отивам да се уточни, ни даде номер 15. 313 00:16:01,160 --> 00:16:01,900 >> OK. 314 00:16:01,900 --> 00:16:05,510 И сега с всеки watching-- ако Може би искате да стоят по този начин, 315 00:16:05,510 --> 00:16:09,970 защото тя ще се подредят up-- давай напред и превключвате осемте бутоните по протежение на върха 316 00:16:09,970 --> 00:16:12,530 да се превърне луковиците на или изключване, както ви е удобно. 317 00:16:12,530 --> 00:16:13,530 >> АУДИТОРИЯ: OK. 318 00:16:13,530 --> 00:16:17,720 >> DAVID J. Malan: И без измами като натиснете плюс 15 пъти. 319 00:16:17,720 --> 00:16:19,275 О, ние ще направим това. 320 00:16:19,275 --> 00:16:20,069 >> АУДИТОРИЯ: О, чакай. 321 00:16:20,069 --> 00:16:20,610 Толкова съжалявам. 322 00:16:20,610 --> 00:16:22,660 >> DAVID J. Malan: Можете също така да включите електрически крушки за индивидуално 323 00:16:22,660 --> 00:16:24,076 с всеки един от тези бутони на върха. 324 00:16:24,076 --> 00:16:24,844 АУДИТОРИЯ: О, OK. 325 00:16:24,844 --> 00:16:27,429 Така че би било като-- 326 00:16:27,429 --> 00:16:28,220 DAVID J. Malan: OK. 327 00:16:28,220 --> 00:16:29,100 Така че сега ние имаме осем. 328 00:16:29,100 --> 00:16:31,280 Така че нека да спрем за по аудитория да се включат тук. 329 00:16:31,280 --> 00:16:34,300 Какъв номер е Jackie В момента представлява? 330 00:16:34,300 --> 00:16:34,800 11. 331 00:16:34,800 --> 00:16:35,730 Така че ние сме почти там. 332 00:16:35,730 --> 00:16:38,360 333 00:16:38,360 --> 00:16:39,630 И отлично. 334 00:16:39,630 --> 00:16:41,487 Така че ние имаме първата ни победител. 335 00:16:41,487 --> 00:16:42,445 Поздравления. 336 00:16:42,445 --> 00:16:48,200 >> И ние смятахме, че ще има някои страхотни подаръци. 337 00:16:48,200 --> 00:16:50,860 Ако искате да бъде един такъв стая в общежитието тук, на територията на колежа, 338 00:16:50,860 --> 00:16:56,126 можете да се имат крайна проект Сега по това API, благодарение на Джаки. 339 00:16:56,126 --> 00:16:57,050 Така сега-- 340 00:16:57,050 --> 00:16:58,902 >> [APPLAUSE] 341 00:16:58,902 --> 00:17:01,690 342 00:17:01,690 --> 00:17:04,839 >> --if можехме, още един като около това. 343 00:17:04,839 --> 00:17:07,690 О, сега всеки иска някои крушки. 344 00:17:07,690 --> 00:17:11,790 За така нареченото хакер издание отиваме да го рампата до A-- о, 345 00:17:11,790 --> 00:17:12,770 Да, уклончив. 346 00:17:12,770 --> 00:17:16,010 Мисля, че идва сега Ако ръката ви става надолу. 347 00:17:16,010 --> 00:17:16,800 Как ти е името? 348 00:17:16,800 --> 00:17:17,424 >> АУДИТОРИЯ: Alex. 349 00:17:17,424 --> 00:17:19,440 DAVID J. Malan: Алекс, ела тук. 350 00:17:19,440 --> 00:17:26,190 Така че за Алекс, ние ще програма в малко по-голям брой. 351 00:17:26,190 --> 00:17:27,790 Може би в ред. 352 00:17:27,790 --> 00:17:29,110 Броят 50. 353 00:17:29,110 --> 00:17:29,744 >> АУДИТОРИЯ: OK. 354 00:17:29,744 --> 00:17:31,660 DAVID J. Malan: Но, както I каза-- и може да 355 00:17:31,660 --> 00:17:33,580 искам да стоя тук, така че че бутоните се наредят 356 00:17:33,580 --> 00:17:37,115 както бихте expect-- но го направих наричаме това хакерската издание. 357 00:17:37,115 --> 00:17:47,125 Че-- на добър час! 358 00:17:47,125 --> 00:17:48,416 >> [СМЯХ] 359 00:17:48,416 --> 00:17:58,570 360 00:17:58,570 --> 00:18:02,050 >> Вие ще бъдете в състояние да се превърне ги изключва, ако ти-- OK. 361 00:18:02,050 --> 00:18:02,880 Отлично. 362 00:18:02,880 --> 00:18:03,675 Wonderful. 363 00:18:03,675 --> 00:18:04,341 Поздравления. 364 00:18:04,341 --> 00:18:08,730 >> [APPLAUSE] 365 00:18:08,730 --> 00:18:10,355 Предполагам, че трябва да плати. 366 00:18:10,355 --> 00:18:11,830 Честито на Алекс, както добре. 367 00:18:11,830 --> 00:18:12,330 OK. 368 00:18:12,330 --> 00:18:15,550 >> Така че най-добрата храна за вкъщи тук е да се надяваме, честно казано, 369 00:18:15,550 --> 00:18:18,109 на simplicity-- THE простота, с която 370 00:18:18,109 --> 00:18:20,650 можете да получите някой хубав светлина крушки, очевидно в [недоловим]. 371 00:18:20,650 --> 00:18:23,000 Но те представляват, в крайна сметка, на същите идеи 372 00:18:23,000 --> 00:18:26,310 с които ние, хората са вече твърде познато. 373 00:18:26,310 --> 00:18:28,660 И така, какво биха могли следващия стъпка е в развитието 374 00:18:28,660 --> 00:18:30,920 да се опитва да направи нещо Интересно с данни 375 00:18:30,920 --> 00:18:34,950 и представляващи входове, които не са просто номера, но са може би писма или повече? 376 00:18:34,950 --> 00:18:37,820 >> Е, оказва се, че компютър свят, в продължение на много години, 377 00:18:37,820 --> 00:18:43,300 просто прието произволно, а последователен стандарт, който съпоставя номера 378 00:18:43,300 --> 00:18:44,610 да букви от азбуката. 379 00:18:44,610 --> 00:18:47,120 Например, тук е откъс от това картографиране. 380 00:18:47,120 --> 00:18:48,350 Тя се нарича Ascii. 381 00:18:48,350 --> 00:18:53,220 A-S-C-I-I. И това е просто маса, която се съпоставя с главни letters-- 382 00:18:53,220 --> 00:18:56,600 в тази case-- към десетични числа. 383 00:18:56,600 --> 00:18:57,890 >> Но какъв е изводът? 384 00:18:57,890 --> 00:19:01,090 Е, ако наистина искате да представлява нещо като имейл или някакъв текст 385 00:19:01,090 --> 00:19:03,310 на дадена уеб страница, можете очевидно искате да покажете 386 00:19:03,310 --> 00:19:06,100 човешките букви на азбучен ред, а не номера. 387 00:19:06,100 --> 00:19:09,140 Така че, в зависимост от контекст на програмата 388 00:19:09,140 --> 00:19:12,600 че потребителят използва, ако е уеб браузър или имейл клиент, 389 00:19:12,600 --> 00:19:16,090 Числата могат да бъдат тълкува като писма. 390 00:19:16,090 --> 00:19:20,290 Това е да се каже, модели на бита могат да лесно да се тълкува като писма. 391 00:19:20,290 --> 00:19:24,700 >> И така, какво можем да имаме е буквата A същество 392 00:19:24,700 --> 00:19:28,410 представени като 65, B са представени като 66. 393 00:19:28,410 --> 00:19:30,900 Така че, ако ние имаме супер кратко слово, като здрасти, 394 00:19:30,900 --> 00:19:35,740 Какъв компютър би в крайна сметка магазин в десетичен, но наистина в двоичен, 395 00:19:35,740 --> 00:19:40,070 използвате някои последователност от битове, деблокирането малко електричество по някакъв начин, 396 00:19:40,070 --> 00:19:44,010 ще бъде на две числа 72 и 73. 397 00:19:44,010 --> 00:19:46,780 >> Но моделът на битовете, които представлява тези ценности. 398 00:19:46,780 --> 00:19:49,820 Така че след това те са как можем да представляваме нашите входове и изходи. 399 00:19:49,820 --> 00:19:52,630 И това е достатъчно да се каже, ние можем правя по-сложни представяния 400 00:19:52,630 --> 00:19:56,450 в крайна сметка с такива неща графики, видео, музика и повече 401 00:19:56,450 --> 00:19:58,190 както ще видим по-късно този термин. 402 00:19:58,190 --> 00:20:00,630 >> Така че просто не оставя след алгоритми, тези комплекти 403 00:20:00,630 --> 00:20:03,490 от инструкции, с които ние решаване действителните проблеми. 404 00:20:03,490 --> 00:20:05,820 Ние сме минаваща през входа на алгоритми. 405 00:20:05,820 --> 00:20:09,630 И тези алгоритми, които произвеждат изходи, надявам се правилни резултати 406 00:20:09,630 --> 00:20:14,160 и да се надяваме, също ефективно събра изходи. 407 00:20:14,160 --> 00:20:16,890 С други думи, това е едно нещо, да приложи нещо правилно. 408 00:20:16,890 --> 00:20:20,790 Това е друго нещо, да приложат нещо добре или ефективно. 409 00:20:20,790 --> 00:20:23,690 >> Например, една демонстрация че ние сме любители на в хода 410 00:20:23,690 --> 00:20:24,460 е този. 411 00:20:24,460 --> 00:20:26,345 Но тези неща стават все по-трудно да се намери. 412 00:20:26,345 --> 00:20:28,930 Но това е наистина един стар училище телефонен указател, в който 413 00:20:28,930 --> 00:20:32,580 са 1000 плюс страници имена и телефонни номера. 414 00:20:32,580 --> 00:20:34,830 И ако исках да гледам някой в ​​този телефонен указател, 415 00:20:34,830 --> 00:20:38,640 Бих могъл просто да направят много наивен алгоритъм. 416 00:20:38,640 --> 00:20:42,150 I може да отвори до първата страница, и I може да започне да търси, да речем, някой 417 00:20:42,150 --> 00:20:43,130 на име Майк Смит. 418 00:20:43,130 --> 00:20:46,160 И ако той не е на първо страница, аз прогресира до втора, 419 00:20:46,160 --> 00:20:49,120 и след това на трети, и след това до четвърта, и така нататък, 420 00:20:49,120 --> 00:20:51,430 докато най-накрая се намери Майк Смит. 421 00:20:51,430 --> 00:20:53,010 >> Сега е, че алгоритъмът е правилно? 422 00:20:53,010 --> 00:20:53,896 >> АУДИТОРИЯ: Да. 423 00:20:53,896 --> 00:20:54,248 >> DAVID J. Malan: Да. 424 00:20:54,248 --> 00:20:56,039 Ако той е там, аз ще в крайна сметка да го намерим. 425 00:20:56,039 --> 00:20:58,820 Но това може би не е много ефективна, със сигурност не бърза, 426 00:20:58,820 --> 00:21:01,200 защото, Боже мой, защо съм губя времето обръщане 427 00:21:01,200 --> 00:21:04,500 през всички тези страници, когато мога със сигурност да направите това физически по-бързо? 428 00:21:04,500 --> 00:21:08,210 >> Е, лека оптимизация, така че да се каже, може да не е една страница в даден момент, 429 00:21:08,210 --> 00:21:11,610 но две, четири, шест, осем, десет. 430 00:21:11,610 --> 00:21:12,725 Все така ли е? 431 00:21:12,725 --> 00:21:14,030 >> АУДИТОРИЯ: Не 432 00:21:14,030 --> 00:21:17,040 >> DAVID J. Malan: Така че не, ако за Например прескачам Mike Smith. 433 00:21:17,040 --> 00:21:20,530 Но толкова дълго, колкото мога резервно педала една страница, ако го надхвърлят, 434 00:21:20,530 --> 00:21:25,240 Може би бихме могли да коригира това, което в противен случай може да бъде хванато. 435 00:21:25,240 --> 00:21:26,020 >> Но това е по-добре? 436 00:21:26,020 --> 00:21:27,469 Дали е по-бързо? 437 00:21:27,469 --> 00:21:28,010 Искам да кажа, да. 438 00:21:28,010 --> 00:21:30,950 Това е буквално два пъти по-бързо ако го направя две страници наведнъж. 439 00:21:30,950 --> 00:21:35,720 Така че, ако първоначално имах 1000 страници, Сега само трябва да се обърне на 500 пъти, 440 00:21:35,720 --> 00:21:39,429 не е напълно хиляда страници, за да получите потенциално в най-лошия случай 441 00:21:39,429 --> 00:21:41,220 до края на телефона книга, където някой 442 00:21:41,220 --> 00:21:44,380 като Mike Smith или някой с а по-късно име всъщност може да бъде. 443 00:21:44,380 --> 00:21:46,540 >> Но, разбира се, хората със сигурност не са 444 00:21:46,540 --> 00:21:49,250 ще се прави, че със сигурност не и в този момент от живота ни. 445 00:21:49,250 --> 00:21:51,454 Какво е разумен човешкото вероятно смяташ да правиш? 446 00:21:51,454 --> 00:21:52,870 АУДИТОРИЯ: Отидете направо на the9 на S. 447 00:21:52,870 --> 00:21:53,860 DAVID J. Malan: Отидете направо на S-те години? 448 00:21:53,860 --> 00:21:55,563 Как мога да отида направо на S-те години? 449 00:21:55,563 --> 00:21:57,342 >> АУДИТОРИЯ: го разкъса на две. 450 00:21:57,342 --> 00:21:59,050 DAVID J. Malan: Е, че няма маркировка. 451 00:21:59,050 --> 00:22:02,116 Така че, да, ако има наистина бяха етикет или лепкава раздела за S, 452 00:22:02,116 --> 00:22:03,240 ние трябва да скочи точно там. 453 00:22:03,240 --> 00:22:05,420 Но това е доста безобидно. 454 00:22:05,420 --> 00:22:08,480 Така че най-доброто, което мога да направя е грубо раздела за S или може би грубо 455 00:22:08,480 --> 00:22:09,650 в средата. 456 00:22:09,650 --> 00:22:12,110 Но ключовият храна за вкъщи сега-- и интуицията 457 00:22:12,110 --> 00:22:14,430 че сте взели за отпусната за година probably-- 458 00:22:14,430 --> 00:22:17,103 е, че това, което правим сега знаете за този проблем? 459 00:22:17,103 --> 00:22:19,320 >> АУДИТОРИЯ: [недоловим] 460 00:22:19,320 --> 00:22:22,290 >> DAVID J. Malan: Mike Smith е сигурно не в това половината от проблема 461 00:22:22,290 --> 00:22:25,600 защото Смит идва след средата която е приблизително раздел М, 462 00:22:25,600 --> 00:22:26,510 тя изглежда да бъде. 463 00:22:26,510 --> 00:22:30,340 Така че, както може да се види в Visitas, ние можем сега буквално 464 00:22:30,340 --> 00:22:31,737 разкъса този проблем наполовина. 465 00:22:31,737 --> 00:22:32,320 АУДИТОРИЯ: Woo! 466 00:22:32,320 --> 00:22:33,690 DAVID J. Malan: Това е става по-лесно и по-лесно. 467 00:22:33,690 --> 00:22:34,666 [APPLAUSE] 468 00:22:34,666 --> 00:22:36,618 Има и да отидете. 469 00:22:36,618 --> 00:22:39,060 [СМЯХ] 470 00:22:39,060 --> 00:22:41,870 И сега, аз фундаментално имат същия проблем, 471 00:22:41,870 --> 00:22:43,866 но това е буквално два пъти по-голям. 472 00:22:43,866 --> 00:22:45,240 Аз съм все още се търсят за Mike Smith. 473 00:22:45,240 --> 00:22:47,950 И смея да кажа, че все още може да за да изглежда по същия начин, 474 00:22:47,950 --> 00:22:51,200 разделяне на проблема в половината отново, разкъсване на проблема отново 475 00:22:51,200 --> 00:22:54,140 в половината, която сега ме оставя с проблем една четвърт от размера, 476 00:22:54,140 --> 00:22:58,710 драматично хвърлят, че половината от него, а този процес се повтаря отново и отново, 477 00:22:58,710 --> 00:23:01,150 и отново погледна надолу на всяка точка, за да видите 478 00:23:01,150 --> 00:23:03,400 ако Mike Smith е на въпросната страница. 479 00:23:03,400 --> 00:23:06,190 >> Сега, ако аз направя това право, в крайна сметка аз ще си намеря 480 00:23:06,190 --> 00:23:11,085 само с една страница, на която Mike Smith е, ако той е наистина в телефонния указател. 481 00:23:11,085 --> 00:23:13,510 Разбира се, бих могъл да Никога не се обади Майк отново. 482 00:23:13,510 --> 00:23:18,800 Но въпросът тук е, че ако ние започнахме с 1000 страници, първата ми алгоритъм, 483 00:23:18,800 --> 00:23:21,620 флип страницата, може би 1000 times-- Определено по-малко, защото това е 484 00:23:21,620 --> 00:23:26,430 име S, а не име Z, но като толкова, колкото 1000 страници потенциално. 485 00:23:26,430 --> 00:23:27,590 >> Второ алгоритъм, по-добре. 486 00:23:27,590 --> 00:23:28,480 500 страници. 487 00:23:28,480 --> 00:23:31,230 Трети алгоритъм, макар, колко стъпки ще го 488 00:23:31,230 --> 00:23:35,520 предприеме, за да се разделят с 1000 страница телефонен указател на половина по този начин? 489 00:23:35,520 --> 00:23:37,000 10, или да се даде. 490 00:23:37,000 --> 00:23:40,770 Така че само с обръщане чрез които телефонния указател, гмуркане и побеждаващ 491 00:23:40,770 --> 00:23:46,130 така да се каже, 10 пъти, ще го направя пътя ми до само една единствена страница. 492 00:23:46,130 --> 00:23:48,880 >> И така, ние може да улови тази интуиция сега малко графично 493 00:23:48,880 --> 00:23:51,320 ако просто помисли тази супер проста графика. 494 00:23:51,320 --> 00:23:55,470 Ние сме на х-оста или хоризонталата ос, е с размерите на проблема ми, 495 00:23:55,470 --> 00:23:57,100 броя на страниците в телефонния указател. 496 00:23:57,100 --> 00:23:59,040 И компютърни учени обикновено искал да се обадя 497 00:23:59,040 --> 00:24:02,180 размера на проблем N, където п е просто някаква променлива, която 498 00:24:02,180 --> 00:24:04,310 represents-- в този case-- брой страници. 499 00:24:04,310 --> 00:24:07,412 >> Вертикалната, или оста у, тук е ще бъде време, за да реши, 500 00:24:07,412 --> 00:24:09,870 Може би броят на страница завои, може би на броя на секунди 501 00:24:09,870 --> 00:24:11,960 или минути, независимо си единица мярка. 502 00:24:11,960 --> 00:24:14,337 И така, тази червена линия представлява първата алгоритъм 503 00:24:14,337 --> 00:24:16,670 защото там е едно към едно отношението между броя 504 00:24:16,670 --> 00:24:18,880 на страници и размера на времето, необходимо. 505 00:24:18,880 --> 00:24:22,240 >> Ако Verizon удвоява броя на страници в телефонния указател на следващата година, 506 00:24:22,240 --> 00:24:24,590 моята работа time-- на необходимото време за изпълнение 507 00:24:24,590 --> 00:24:27,610 че първата algorithm-- удвоява в най-лошия случай. 508 00:24:27,610 --> 00:24:30,690 Но вторият алгоритъм къде съм обръщане по две, 509 00:24:30,690 --> 00:24:33,650 изисква по-малко време за даден проблем размер. 510 00:24:33,650 --> 00:24:36,090 Така че, ако имам това много страници тук-- известие 511 00:24:36,090 --> 00:24:38,870 че жълтата линия предполага по-малко време, за да реши. 512 00:24:38,870 --> 00:24:42,490 И наистина, това означава, ние ще кажем, N над две. 513 00:24:42,490 --> 00:24:47,717 >> Но това, което е форма на трети и окончателно крива ще изглежда? 514 00:24:47,717 --> 00:24:50,800 Да, това е наистина ще look-- I Не знам какво щеше да каже. 515 00:24:50,800 --> 00:24:52,300 Но нека да видим какво ти щеше да кажеш. 516 00:24:52,300 --> 00:24:53,280 >> АУДИТОРИЯ: Като това. 517 00:24:53,280 --> 00:24:57,060 >> DAVID J. Malan: Това ще да изглежда като това, логаритмична slope-- точно-- 518 00:24:57,060 --> 00:24:59,770 , при която имате тази любопитна наклон. 519 00:24:59,770 --> 00:25:01,235 Това вече не е права линия. 520 00:25:01,235 --> 00:25:05,000 И това, което е убедителна за това е, че въпреки че графиката е сега отрязани, 521 00:25:05,000 --> 00:25:07,790 можете да се екстраполира в нищо против, че зелена линия не е 522 00:25:07,790 --> 00:25:10,060 ще се увеличи в Височина на всички, че много 523 00:25:10,060 --> 00:25:13,500 както се процедира по-нататъшно надолу, че хоризонталната ос. 524 00:25:13,500 --> 00:25:15,890 >> В действителност, Verizon, за Например, може да се удвои 525 00:25:15,890 --> 00:25:19,100 броя на страниците в телефона книга между тази и следващата година 526 00:25:19,100 --> 00:25:22,140 от 1000 г. до 2000 г. страници, но не е голяма работа. 527 00:25:22,140 --> 00:25:24,960 С тази трета и последна, има интуитивен алгоритъм 528 00:25:24,960 --> 00:25:26,209 за разделяне и завладяване. 529 00:25:26,209 --> 00:25:29,000 Това ще ми отнеме още колко стъпки от следващата година, за да се намери някой, 530 00:25:29,000 --> 00:25:29,700 като Майк Смит? 531 00:25:29,700 --> 00:25:30,560 >> АУДИТОРИЯ: One. 532 00:25:30,560 --> 00:25:31,230 >> DAVID J. Malan: Има само един. 533 00:25:31,230 --> 00:25:34,430 И те могат да го учетвори, това е Ще ми отнеме само още две стъпки 534 00:25:34,430 --> 00:25:35,210 и така нататък. 535 00:25:35,210 --> 00:25:38,730 И така, това е свидетелство за просто как някои внимателно планиране 536 00:25:38,730 --> 00:25:42,437 и някаква признателност за това, което Вашите входове са може да направи още по-добре. 537 00:25:42,437 --> 00:25:44,270 Сега ние сме мамейки малко в смисъл 538 00:25:44,270 --> 00:25:46,350 че ние сме деблокирането предположение. 539 00:25:46,350 --> 00:25:48,500 Какво е моето предположение за нашия телефонен указател 540 00:25:48,500 --> 00:25:52,720 , че ми позволи да се разделят и владей в този интуитивен и още правилен начин? 541 00:25:52,720 --> 00:25:53,705 >> АУДИТОРИЯ: [недоловим] 542 00:25:53,705 --> 00:25:54,580 DAVID J. Malan: Да. 543 00:25:54,580 --> 00:25:55,440 Така че това беше наредено. 544 00:25:55,440 --> 00:25:57,392 Тя е по азбучен ред от телефонната книга компанията. 545 00:25:57,392 --> 00:26:00,100 Ако беше в произволен ред, че ще бъде ад на телефонен указател, 546 00:26:00,100 --> 00:26:02,850 но тя със сигурност не би се поддава на алгоритъма 547 00:26:02,850 --> 00:26:05,950 Аз използвах, защото никога не би просто се случи през Mike Smith 548 00:26:05,950 --> 00:26:09,210 ако държи раздели в наполовина по този начин, по случайност. 549 00:26:09,210 --> 00:26:12,060 >> Така че, нека сега се формализира това, което е ясно, интуитивно. 550 00:26:12,060 --> 00:26:13,950 Така че нещо, наречено pseudocode е мястото, където ние ще 551 00:26:13,950 --> 00:26:15,780 започне някои от нашите първоначални проблеми. 552 00:26:15,780 --> 00:26:20,410 И това е общ начин за описване алгоритъм или компютърна програма, 553 00:26:20,410 --> 00:26:24,150 не се използва C или C ++, или Java, или всеки конкретен език, 554 00:26:24,150 --> 00:26:27,430 но само с помощта на английски език, с които всяко човешко може да бъде запознат. 555 00:26:27,430 --> 00:26:31,220 >> И ние може да напише pseudocode за този проблем, както следва. 556 00:26:31,220 --> 00:26:33,520 Стъпка едно, вземете телефонния указател. 557 00:26:33,520 --> 00:26:35,840 Стъпка две, отворен към средата на телефонен указател. 558 00:26:35,840 --> 00:26:37,730 Стъпка три, погледнете имената. 559 00:26:37,730 --> 00:26:40,630 Стъпка четири, ако Смит е сред names-- 560 00:26:40,630 --> 00:26:42,960 >> И сега това е интересна конструкция. 561 00:26:42,960 --> 00:26:44,290 Това е точка решение. 562 00:26:44,290 --> 00:26:47,920 Това е разклонение на пътя, ако сте ще, клон, така да се каже. 563 00:26:47,920 --> 00:26:50,810 Така че аз отивам да отстъп просто по силата на споразумение step-- 564 00:26:50,810 --> 00:26:53,950 не five-- която е да да речем, аз ще се обадя на Майк. 565 00:26:53,950 --> 00:26:57,290 Така че, ако тази вдлъбнатина, напълно произволна човешка конвенция, но това е 566 00:26:57,290 --> 00:27:01,160 просто искал да каже авторът семантично че ако Смит е сред имената, 567 00:27:01,160 --> 00:27:03,310 след това трябва да се обадя на Майк. 568 00:27:03,310 --> 00:27:06,630 >> Междувременно в стъпка шест, известие че вдлъбнатината е отишъл. 569 00:27:06,630 --> 00:27:10,980 Така че друг е друга вилица в път, на другия път мога да пътувам. 570 00:27:10,980 --> 00:27:14,130 Така иначе, ако Смит е по-рано в книгата, какво е 571 00:27:14,130 --> 00:27:16,964 Следващата ми стъпка вероятно ще бъде тук? 572 00:27:16,964 --> 00:27:18,380 АУДИТОРИЯ: Отиваш към лявата страна. 573 00:27:18,380 --> 00:27:21,004 DAVID J. Malan: Да, така че отивам да лявата половина на телефонния указател. 574 00:27:21,004 --> 00:27:24,140 Изхвърлете дясната половина, ако Смит е по-рано в книгата. 575 00:27:24,140 --> 00:27:27,140 Така отворена до средата на лявата половина на книгата. 576 00:27:27,140 --> 00:27:30,240 >> И след това стъпка осем, отидете на трета линия. 577 00:27:30,240 --> 00:27:34,520 И това е един любопитен цикъл съм предизвикване, на рекурсия, така да се каже. 578 00:27:34,520 --> 00:27:35,990 Но повече за това в бъдеще. 579 00:27:35,990 --> 00:27:39,590 >> Аз съм с моя същия алгоритъм, ми същия pseudocode, 580 00:27:39,590 --> 00:27:43,020 за решаване на същия проблем отново защото единственото нещо, което не се е променило 581 00:27:43,020 --> 00:27:46,550 е размерът на проблема, не моята цел, а не на лицето 582 00:27:46,550 --> 00:27:47,340 Аз търся. 583 00:27:47,340 --> 00:27:51,610 Така че аз може да използва един алгоритъм че аз съм вече определени. 584 00:27:51,610 --> 00:27:53,580 >> Иначе, ако Смит е по-късно в book-- можете да 585 00:27:53,580 --> 00:27:56,200 позная отворена до средата на дясната половина на книгата. 586 00:27:56,200 --> 00:27:58,350 И отново, отидете на трета линия. 587 00:27:58,350 --> 00:28:01,480 Else-- каква е крайната линия в тази програма ще бъде? 588 00:28:01,480 --> 00:28:03,580 Ако той не е сред най- Имената на страницата съм 589 00:28:03,580 --> 00:28:06,870 нататък, ако той е не по-рано в книгата, а той не е по-късно 590 00:28:06,870 --> 00:28:09,899 в книгата, това, което мога да разбера е вярно за Mike Smith сега? 591 00:28:09,899 --> 00:28:11,190 АУДИТОРИЯ: Той не е в книгата. 592 00:28:11,190 --> 00:28:12,731 DAVID J. Malan: Той не е в книгата. 593 00:28:12,731 --> 00:28:16,040 Така че най-доброто, което мога да направя е просто се откажат и да се спре тази програма. 594 00:28:16,040 --> 00:28:16,540 Добре. 595 00:28:16,540 --> 00:28:20,350 Така че в този момент, нека да бърза обиколка на някои от това, което очаква. 596 00:28:20,350 --> 00:28:23,620 И в действителност, аз съм се присъедини тук от част от персонала на CS50. 597 00:28:23,620 --> 00:28:26,940 Ако тези хора може всичко присъединете се към мен тук, на сцената. 598 00:28:26,940 --> 00:28:28,900 >> [APPLAUSE] 599 00:28:28,900 --> 00:28:35,280 600 00:28:35,280 --> 00:28:38,170 >> Гледай ти, това е само подмножество на персонала CS50, 601 00:28:38,170 --> 00:28:42,380 тъй като всяка година имаме почти 100 служители членове в роли разбира асистенти, 602 00:28:42,380 --> 00:28:44,410 преподаване на другарите, и повече. 603 00:28:44,410 --> 00:28:45,700 Хайде нагоре. 604 00:28:45,700 --> 00:28:48,820 Така че те ще се присъединят към нас тук опасно само за миг 605 00:28:48,820 --> 00:28:54,230 като даваме вихрушка обиколка на това, което можете да очаквате тук в курса. 606 00:28:54,230 --> 00:28:59,640 >> Така че първото и най-важно, ние имаме SAT / UNS като възможност за терасиране в курса. 607 00:28:59,640 --> 00:29:03,180 Това означава умишлено да бъде с опция 608 00:29:03,180 --> 00:29:05,570 ако сте малко притеснен в е в курса, 609 00:29:05,570 --> 00:29:09,390 и се страхувам failure-- дори ако честно казано недостатъчност означава, боли ви GPA, 610 00:29:09,390 --> 00:29:13,180 получаване на B, а не A--, че е точно това, което, разбира се, за шлюз 611 00:29:13,180 --> 00:29:15,750 Разбира се като CS50 и други въвеждащи курсове, 612 00:29:15,750 --> 00:29:17,540 тази опция категоризация има за цел да позволи. 613 00:29:17,540 --> 00:29:19,930 >> Аз искрено се насърчи students-- особено 614 00:29:19,930 --> 00:29:23,090 ако на fence-- да стартират Разбира SAT / UNS, дори и да остане SAT / UNS. 615 00:29:23,090 --> 00:29:27,310 Но със сигурност може да се превключи на писмо клас от петата понеделник в срока. 616 00:29:27,310 --> 00:29:31,560 >> Честно казано, обратно, когато е първокурсник през 1995 г., 617 00:29:31,560 --> 00:29:34,630 Аз самият дори не е взела CS50 защото аз не ставам нерва 618 00:29:34,630 --> 00:29:36,540 действително стъпка крак в класната стая. 619 00:29:36,540 --> 00:29:40,020 Изглеждаше домейн твърде непознато за мен и наистина само 620 00:29:40,020 --> 00:29:43,080 за онези мои приятели, честно казано, който е бил програмиране 621 00:29:43,080 --> 00:29:45,570 тъй като те са шест или може би 10-годишна възраст. 622 00:29:45,570 --> 00:29:48,640 И това е само, защото бях в състояние да вземе CS50 в моя ден 623 00:29:48,640 --> 00:29:52,720 в еквивалентен вариант на SAT / UNS-- / не обратно в day-- 624 00:29:52,720 --> 00:29:53,850 че дори взех 50. 625 00:29:53,850 --> 00:29:57,440 И по някакъв начин или друг, аз съм отново тук с вас днес. 626 00:29:57,440 --> 00:30:00,690 >> Сега междувременно какво друго трябва да имате предвид около 50 627 00:30:00,690 --> 00:30:01,910 е едновременно записване. 628 00:30:01,910 --> 00:30:03,785 Противно на слуховете, че може би сте чували, 629 00:30:03,785 --> 00:30:07,650 можете, в действителност, едновременно запишат в CS50 и друг клас, който 630 00:30:07,650 --> 00:30:12,150 отговаря на същите или някои припокриване време като лекции CS50 е тук. 631 00:30:12,150 --> 00:30:16,420 Вижте учебната програма за данните на тяхното изпълнение. 632 00:30:16,420 --> 00:30:19,540 >> Лекции Междувременно, противно на това, което е официално в каталога, 633 00:30:19,540 --> 00:30:22,060 обикновено само отговарят само за един час. 634 00:30:22,060 --> 00:30:24,240 От време на време можем да тече малко по дълго. 635 00:30:24,240 --> 00:30:26,800 Но имайте предвид, че Целта на лекциите е CS50 636 00:30:26,800 --> 00:30:28,980 е да ви осигури концептуален преглед, 637 00:30:28,980 --> 00:30:31,830 надявам се някои демонстрации, може би дори някои дребни предмети, 638 00:30:31,830 --> 00:30:34,390 от това, което очаква за седмицата, която следва. 639 00:30:34,390 --> 00:30:37,730 >> И така, в лекции, ние ще изследваме тези теми и примери заедно, 640 00:30:37,730 --> 00:30:41,420 привеждане на студентите на сцената, и персонала на сцената толкова често, колкото можем, 641 00:30:41,420 --> 00:30:43,740 само за няколко часа всяка седмица. 642 00:30:43,740 --> 00:30:47,435 Секции, междувременно, ще бъдат предлагани от тези хора тук-- много 643 00:30:47,435 --> 00:30:50,060 от тях учи събратя, някои от тях, разбира се assistants-- воля 644 00:30:50,060 --> 00:30:51,160 да се случва всяка седмица. 645 00:30:51,160 --> 00:30:52,940 >> И това, което е от ключово значение за запази предвид, е, че ние 646 00:30:52,940 --> 00:30:55,920 не трябва-- разлика First Nights, музиката class-- 647 00:30:55,920 --> 00:30:59,220 различни писти на секции за ученици по-малко удобни, по- 648 00:30:59,220 --> 00:31:01,150 удобни, и някъде по средата. 649 00:31:01,150 --> 00:31:03,559 И честно казано, знаете ли, ако вие сте по-малко удобни. 650 00:31:03,559 --> 00:31:05,600 И вие вероятно знаете, ако вие сте по-комфортно. 651 00:31:05,600 --> 00:31:09,920 И ако не сте съвсем сигурни, вие сте по дефиниция някъде по средата. 652 00:31:09,920 --> 00:31:12,850 Така че, когато дойде време да се раздел за една седмица или така, на учебната програма, 653 00:31:12,850 --> 00:31:14,070 ние ще ви помоля на този въпрос. 654 00:31:14,070 --> 00:31:16,890 И вие можете самостоятелно изберете На база на собствения си ниво на комфорт 655 00:31:16,890 --> 00:31:22,220 и да бъда с students-- бъде със зелен dots-- подобно на нивото на комфорт за вас. 656 00:31:22,220 --> 00:31:25,710 >> Междувременно, имаме проблем комплекти, които в крайна сметка ще 657 00:31:25,710 --> 00:31:28,310 определите своя опит в този курс. 658 00:31:28,310 --> 00:31:30,370 Те предлагат типично в няколко издания. 659 00:31:30,370 --> 00:31:34,150 A стандарт издание, че ние очакваме най- всеки ученик в хода за справяне с 660 00:31:34,150 --> 00:31:37,900 но също така наречен хакер издание който предлага никаква форма на допълнително кредити 661 00:31:37,900 --> 00:31:41,980 Краен победител, но наистина правата на самохвалство да се каже, че сте се опитали и преодолени 662 00:31:41,980 --> 00:31:45,250 на курса хакерски издания, които наближаването на подобен материал 663 00:31:45,250 --> 00:31:47,370 но от по-сложни ъгъл. 664 00:31:47,370 --> 00:31:49,480 >> Това, което ние предлагаме за на стандартно издание, за, 665 00:31:49,480 --> 00:31:51,420 отново, супер мнозинство на студентите, не са 666 00:31:51,420 --> 00:31:54,060 само пеша технологична среда, които са видеоклипове, водени от служители на курса 667 00:31:54,060 --> 00:31:57,840 че наистина ви преведе през проблеми курса и възможни дизайн 668 00:31:57,840 --> 00:31:58,910 реализации. 669 00:31:58,910 --> 00:32:01,434 И също така, след Всъщност, предлагат аутопсии, 670 00:32:01,434 --> 00:32:03,350 при което, ако се чудите как бихте могли да имат 671 00:32:03,350 --> 00:32:05,930 или е трябвало да реши някои проблем, преподавателския състав 672 00:32:05,930 --> 00:32:08,640 ще ви преведе през тези на видео, както добре. 673 00:32:08,640 --> 00:32:14,350 >> В същото време, това, което очаква също са пет дни и края на факта 674 00:32:14,350 --> 00:32:16,680 че ние ще пуснете ниската проблем задаване на точки. 675 00:32:16,680 --> 00:32:20,370 Ние със сигурност оценявам, че в замяна за натовареността, че 50 Очаква 676 00:32:20,370 --> 00:32:24,020 от вас, животът застава на пътя понякога, ако не пет пъти. 677 00:32:24,020 --> 00:32:26,150 И така, това ще предложи Малко сте на гъвкавост, 678 00:32:26,150 --> 00:32:29,400 удължаване срока си от, да речем, Четвъртък по обяд в петък по обяд. 679 00:32:29,400 --> 00:32:33,150 Виж на учебния план в информация за тяхното изпълнение. 680 00:32:33,150 --> 00:32:34,702 >> Сега това, което сега чака? 681 00:32:34,702 --> 00:32:36,660 И това е само срещащи за мен сега колко дълго 682 00:32:36,660 --> 00:32:38,333 Аз съм с вас, момчета стоят тук на сцената. 683 00:32:38,333 --> 00:32:39,060 >> [СМЯХ] 684 00:32:39,060 --> 00:32:41,867 >> DAVID J. Malan: Но ние ще стигнем до кулминационната финала преди дълго. 685 00:32:41,867 --> 00:32:43,700 Така че това, което очаква от гледна точка от наборите на проблема? 686 00:32:43,700 --> 00:32:47,099 Е, може би закачка от това, което всички ние миналата година с вашите предшественици. 687 00:32:47,099 --> 00:32:49,140 В първия набор проблем миналата година, ние въведохме 688 00:32:49,140 --> 00:32:51,630 Scratch, графичен език за програмиране, който 689 00:32:51,630 --> 00:32:54,570 ви позволява да програмирате буквално от плъзгане и пускане парчета от пъзел, 690 00:32:54,570 --> 00:32:57,220 като тези, които са напомня на конструкциите 691 00:32:57,220 --> 00:32:59,260 ще видим само за една седмица следователно, когато превключвате 692 00:32:59,260 --> 00:33:01,870 към една по-традиционна език, известен като C. 693 00:33:01,870 --> 00:33:03,930 >> Миналата година продължихме на този проблем набор, 694 00:33:03,930 --> 00:33:06,720 включващо за криптография, скрамблирането на информация 695 00:33:06,720 --> 00:33:10,410 за да го пазят от правителствен или приятели " очи, които не искате да го видите. 696 00:33:10,410 --> 00:33:12,540 Кодирана в тук е съобщение, че скоро 697 00:33:12,540 --> 00:33:15,740 ще бъде в състояние да декриптира или де-боричкане. 698 00:33:15,740 --> 00:33:17,960 >> Breakout е проблем определен миналата година, в която 699 00:33:17,960 --> 00:33:21,530 използвате тези открити новия програмен умения за реалното изпълнение на 700 00:33:21,530 --> 00:33:24,840 игра wherein-- колкото Може би си спомняте от childhood-- 701 00:33:24,840 --> 00:33:28,040 целта е да се БАШ на тухли, които са на върха на екрана 702 00:33:28,040 --> 00:33:30,190 тук, натрупване на отбележи по протежение на пътя, 703 00:33:30,190 --> 00:33:35,460 и прилагане на собствени алгоритми с което този разтвор в крайна сметка 704 00:33:35,460 --> 00:33:37,357 ви позволява да играете играта. 705 00:33:37,357 --> 00:33:39,440 В същото време, по-късно в семестър, ние ще ви дадем 706 00:33:39,440 --> 00:33:43,470 речник от 143 091 английски думи. 707 00:33:43,470 --> 00:33:46,300 И ще бъде оспорено да се напише програма, която 708 00:33:46,300 --> 00:33:50,260 правописа проверки, документи, чрез зареждане, че много думи в паметта 709 00:33:50,260 --> 00:33:52,300 възможно най-ефективно. 710 00:33:52,300 --> 00:33:54,240 Обикновено ви хлътва срещу съучениците си 711 00:33:54,240 --> 00:33:56,610 ако ви изберат в малко на предизвикателство в лидер на борда 712 00:33:56,610 --> 00:34:00,090 , за да видите кой може да използва най-малочислени секунди от времето за работа, 713 00:34:00,090 --> 00:34:03,550 и най-малък брой на мегабайта памет, 714 00:34:03,550 --> 00:34:08,659 и всъщност фина настройка на вашите програми да бъде изключително ефективно използване на ресурсите не 715 00:34:08,659 --> 00:34:09,820 точно време. 716 00:34:09,820 --> 00:34:13,239 >> Миналата година, също разгледахме в края на семестъра при уеб програмиране. 717 00:34:13,239 --> 00:34:16,230 И наистина, ние ще направим това отново това година с множество проблемни комплекти, 718 00:34:16,230 --> 00:34:20,290 можете въвеждане на техники и нагласата, с която можете да приложите 719 00:34:20,290 --> 00:34:23,489 тези програмни умения до интернет страници, динамични уеб сайтове, 720 00:34:23,489 --> 00:34:26,639 уебсайтове, които всъщност решават проблеми и да се държат по различен начин 721 00:34:26,639 --> 00:34:30,620 и не са просто статичен сайтове със статично информация. 722 00:34:30,620 --> 00:34:32,854 >> Окончателният проект в крайна сметка ще определи, че, 723 00:34:32,854 --> 00:34:34,770 кулминацията на курса за студенти, в която 724 00:34:34,770 --> 00:34:37,228 ще бъдат изправени пред предизвикателството да приложат почти всичко на интереси 725 00:34:37,228 --> 00:34:40,590 за вас, толкова дълго, тъй като някак си опира на уроци на курса. 726 00:34:40,590 --> 00:34:42,930 >> И както си видял в видео в началото, 727 00:34:42,930 --> 00:34:47,340 ние ще сключи семестър с CS50 Hackathon, които, ако непознат, 728 00:34:47,340 --> 00:34:51,420 ще започне в 19:00 една нощ и приключват в 7:00 AM на следващата сутрин. 729 00:34:51,420 --> 00:34:53,614 Около 21:00, ние ще ред в първата вечеря. 730 00:34:53,614 --> 00:34:55,489 Около 01:00 AM, ние ще За втори вечеря. 731 00:34:55,489 --> 00:34:57,490 И ако все още сте стоеше в 5:00 AM, ние 732 00:34:57,490 --> 00:35:00,320 ще совалката ви автобус да ИХОП за закуска. 733 00:35:00,320 --> 00:35:04,980 >> The CS50 панаир, междувременно, е събитие, към които 2000 плюс преподаватели, студенти, 734 00:35:04,980 --> 00:35:07,850 и служители от цяла кампус ще дойде да види вашите постижения 735 00:35:07,850 --> 00:35:10,150 в хода и на финала проекти и творения 736 00:35:10,150 --> 00:35:14,960 че вие ​​създавате на вашите лаптопи, настолни компютри, или може би дори крушки. 737 00:35:14,960 --> 00:35:17,340 >> В същото време, работно време и на структурата за подкрепа. 738 00:35:17,340 --> 00:35:20,480 И сега тя щеше да е по-добро време да ви пренесат. 739 00:35:20,480 --> 00:35:24,310 >> Работно време ще се проведат четири нощувки седмично в продължение на няколко часа всяка нощ 740 00:35:24,310 --> 00:35:27,710 с обикновено 20 до 30 на персонал разбира по задължение наведнъж 741 00:35:27,710 --> 00:35:31,240 да ви осигури с близък един-на-един възможности за подкрепа 742 00:35:31,240 --> 00:35:33,790 с проблемни комплекта на курса. 743 00:35:33,790 --> 00:35:36,120 Частни уроци също ще бъде на разположение, особено 744 00:35:36,120 --> 00:35:39,630 за студенти по-малко comfortable-- или Смея да кажа, поне comfortable-- за когото 745 00:35:39,630 --> 00:35:41,869 работно време не са най-благоприятна среда, 746 00:35:41,869 --> 00:35:43,660 и със сигурност не са най-стрес-безплатно. 747 00:35:43,660 --> 00:35:47,430 Особено когато сроковете са належащи, ние активно ще ви свържа себе си 748 00:35:47,430 --> 00:35:51,440 с член на персонала за работа с на някои редовен график, както на вашите нужди 749 00:35:51,440 --> 00:35:53,850 и техния график позволява. 750 00:35:53,850 --> 00:35:55,260 >> И персонала. 751 00:35:55,260 --> 00:36:01,020 Позволете ми да ви представя Davon, Роб, и Габриел, тазгодишните глави. 752 00:36:01,020 --> 00:36:02,370 Ако всеки би искал да say-- 753 00:36:02,370 --> 00:36:03,349 >> [APPLAUSE] 754 00:36:03,349 --> 00:36:03,849 --a дума. 755 00:36:03,849 --> 00:36:05,328 [APPLAUSE] 756 00:36:05,328 --> 00:36:10,270 757 00:36:10,270 --> 00:36:13,220 Davon тук е мениджър курс, който 758 00:36:13,220 --> 00:36:15,730 означава в неговия пълен работен ден роля той помага с изпълнението 759 00:36:15,730 --> 00:36:18,424 и логистика на CS50. 760 00:36:18,424 --> 00:36:19,340 Дейвън: Да, здравейте, момчета. 761 00:36:19,340 --> 00:36:20,965 Ще видите много за мен в работно време. 762 00:36:20,965 --> 00:36:22,110 Ще се преподава секции. 763 00:36:22,110 --> 00:36:25,150 И ако те застрелям имейли напред, Вероятно ще се реагира. 764 00:36:25,150 --> 00:36:27,670 Така че ще видим много от вас всички семестър. 765 00:36:27,670 --> 00:36:29,890 И добре дошли на CS50. 766 00:36:29,890 --> 00:36:38,330 >> DAVID J. Malan: И сега Gabriel, който себе си е просто първокурсник миналата година, 767 00:36:38,330 --> 00:36:41,820 но за последните няколко години има оперира своя версия на CS50 768 00:36:41,820 --> 00:36:44,660 в Бразилия, при което той свалил всички content-- на курса 769 00:36:44,660 --> 00:36:46,890 което е ясно е заснет и пуснат online-- 770 00:36:46,890 --> 00:36:51,480 така че той може да го преведете на Португалски и след това учи повече от 100 771 00:36:51,480 --> 00:36:54,610 на съучениците си над Разбира се на няколко години, 772 00:36:54,610 --> 00:36:57,650 преподаване на родния си език програмата на курса. 773 00:36:57,650 --> 00:36:58,964 >> GABRIEL: Здравейте. 774 00:36:58,964 --> 00:37:00,912 >> [APPLAUSE] 775 00:37:00,912 --> 00:37:06,669 776 00:37:06,669 --> 00:37:07,710 GABRIEL: Здравейте, аз съм Гавриил. 777 00:37:07,710 --> 00:37:09,340 Аз съм главата TF на курса. 778 00:37:09,340 --> 00:37:10,780 И аз се надявам, че ще обичам CS50. 779 00:37:10,780 --> 00:37:12,830 Това е CS50. 780 00:37:12,830 --> 00:37:14,697 >> DAVID J. Malan: Сега за Роб. 781 00:37:14,697 --> 00:37:15,780 О, вие искате въведение? 782 00:37:15,780 --> 00:37:16,696 >> ROB: Не, аз не знам. 783 00:37:16,696 --> 00:37:18,225 [СМЯХ] 784 00:37:18,225 --> 00:37:19,475 DAVID J. Malan: И Rob Boden. 785 00:37:19,475 --> 00:37:22,300 [СМЯХ] 786 00:37:22,300 --> 00:37:23,800 ROB: Здравейте, аз съм на Роб. 787 00:37:23,800 --> 00:37:27,220 Това е петата ми година участва с курса. 788 00:37:27,220 --> 00:37:29,220 Всяка година, това е просто по-добре и по-добре клас, 789 00:37:29,220 --> 00:37:31,550 така че вие ​​сте ясно Ще бъде страхотно. 790 00:37:31,550 --> 00:37:33,181 Надявам се всички да се забавляват с него. 791 00:37:33,181 --> 00:37:34,430 Отивам да се забавляват с него. 792 00:37:34,430 --> 00:37:36,670 Така че ще се видим. 793 00:37:36,670 --> 00:37:38,445 >> DAVID J. Malan: И време няма да позволи us-- 794 00:37:38,445 --> 00:37:39,670 >> [APPLAUSE] 795 00:37:39,670 --> 00:37:41,661 >> Времето не ще ни позволи да се въведат всички 796 00:37:41,661 --> 00:37:44,660 на сцената и на всичките им колеги които пазаруват класове днес. 797 00:37:44,660 --> 00:37:47,390 Но позволете ми да се въведе Белинда и CS50 Puzzle 798 00:37:47,390 --> 00:37:49,550 Ден, който очаква това събота, на която 799 00:37:49,550 --> 00:37:51,800 е първият от мащабни събития курса. 800 00:37:51,800 --> 00:37:54,300 >> Това по-специално означава да чука дома точката 801 00:37:54,300 --> 00:37:57,580 че компютърната наука е в крайна сметка Не става дума за програмиране, а по-скоро 802 00:37:57,580 --> 00:37:59,280 за решаване на по-общ проблем. 803 00:37:59,280 --> 00:38:01,450 И Пъзел Day, тъй като ще видите, ще ви донесе 804 00:38:01,450 --> 00:38:04,207 и вашите съученици together-- ние се надяваме тази събота. 805 00:38:04,207 --> 00:38:04,961 >> BELINDA: OK. 806 00:38:04,961 --> 00:38:05,750 Здравейте, момчета. 807 00:38:05,750 --> 00:38:06,740 Така че, благодаря. 808 00:38:06,740 --> 00:38:10,120 Така че като наш знаменит капитан каза, името ми е Белинда. 809 00:38:10,120 --> 00:38:12,100 Аз съм второкурсник в Quincy House. 810 00:38:12,100 --> 00:38:15,730 >> Аз, също като вас, момчета, взе CS50 миналата година, наистина го обичаше. 811 00:38:15,730 --> 00:38:17,960 Имам слабост към вие на третия ред. 812 00:38:17,960 --> 00:38:21,384 И аз съм горд да кажа, аз съм сега в сериозна връзка 813 00:38:21,384 --> 00:38:22,300 с CS50 [недоловим]. 814 00:38:22,300 --> 00:38:22,799 OK. 815 00:38:22,799 --> 00:38:26,140 Това ми беше куц версия на шега. 816 00:38:26,140 --> 00:38:28,320 >> Както и да е, така че се движат по, Просто исках да покани 817 00:38:28,320 --> 00:38:31,439 вие всички до I-Lab, или HBS кошери. 818 00:38:31,439 --> 00:38:33,730 Отиваме да се има Пъзел Day 12:00-3:00. 819 00:38:33,730 --> 00:38:37,680 И това е една чудесна възможност за вас момчета, за да отговарят на вашите колеги CS приятели, 820 00:38:37,680 --> 00:38:42,780 решаване на някои не-CS пъзели, като капитан споменато, а също и да яде някои безплатна храна, 821 00:38:42,780 --> 00:38:46,910 печелят някои страхотни награди, като подарък карти, $ 75 на човек, 822 00:38:46,910 --> 00:38:48,400 и also-- какво е то? 823 00:38:48,400 --> 00:38:49,540 Wii U или нещо такова? 824 00:38:49,540 --> 00:38:50,333 Wii U? 825 00:38:50,333 --> 00:38:51,040 Да. 826 00:38:51,040 --> 00:38:52,330 За нашата томбола. 827 00:38:52,330 --> 00:38:52,830 Awesome. 828 00:38:52,830 --> 00:38:54,310 Така че аз ще се придържаме около след клас. 829 00:38:54,310 --> 00:38:56,770 И ако вие имате всеки въпроси, да ме уведомите. 830 00:38:56,770 --> 00:38:59,980 >> DAVID J. Malan: И вие ще видите, отвъд това няма нищо да направя днес. 831 00:38:59,980 --> 00:39:01,920 Първият проблем, определен ще излезе в петък. 832 00:39:01,920 --> 00:39:05,420 Но, за да ни отведе у дома днес, бих искал да ви представя на специално още един 833 00:39:05,420 --> 00:39:09,080 член на персонала, Колтън Огдън тук, чиито ръце в момента са 834 00:39:09,080 --> 00:39:12,250 защитени над вас с този MIDI контролер 835 00:39:12,250 --> 00:39:15,170 да чука дома точката допълнително че компютърните науки, също 836 00:39:15,170 --> 00:39:19,130 има приложимост далеч отвъд инженерство и стъблото и компютърни науки себе си, 837 00:39:19,130 --> 00:39:22,890 простираща се дори до такива области като музика. 838 00:39:22,890 --> 00:39:30,590 >> Колтън има любезно offered-- Мислех един от тях щеше да определи фокуса. 839 00:39:30,590 --> 00:39:34,400 Андрю, ако можем да призове фокус тук само за миг. 840 00:39:34,400 --> 00:39:36,780 >> Какво Колтън е направил предварително е програма 841 00:39:36,780 --> 00:39:40,345 това устройство, тази подложка на бутони , който виждате на снимката тук, 842 00:39:40,345 --> 00:39:42,470 като контролер MIDI, при което всеки от тези бутони 843 00:39:42,470 --> 00:39:47,080 е свързан с конкретна музикална нота или звук, по-общо на запис, 844 00:39:47,080 --> 00:39:50,445 така че, като играят модели на тези бутони, подобно на моделите на бита, 845 00:39:50,445 --> 00:39:52,620 може да представлява други по-високи концепции ниво. 846 00:39:52,620 --> 00:39:56,750 Той ще бъде в състояние в крайна сметка да ни отведе у дома си днес? 847 00:39:56,750 --> 00:39:59,540 Без повече приказки, ако бихме могли да намаляване на осветлението, 848 00:39:59,540 --> 00:40:03,145 и включване на екрана зад Колтън. 849 00:40:03,145 --> 00:40:03,865 >> АУДИТОРИЯ: Woo! 850 00:40:03,865 --> 00:40:06,090 >> DAVID J. Malan: Това е CS50. 851 00:40:06,090 --> 00:40:10,518 >> [За възпроизвеждане на музика] 852 00:40:10,518 --> 00:42:46,018 853 00:42:46,018 --> 00:42:49,420 >> [APPLAUSE] 854 00:42:49,420 --> 00:42:54,766 855 00:42:54,766 --> 00:42:56,450 >> Това е за CS50. 856 00:42:56,450 --> 00:42:57,950 Ние ще се видим в петък. 857 00:42:57,950 --> 00:42:59,890 Някои торта ви очаква в трансепт. 858 00:42:59,890 --> 00:43:04,046 859 00:43:04,046 --> 00:43:08,850 >> [За възпроизвеждане на музика] 860 00:43:08,850 --> 00:45:49,227