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 >> [Оплески] 4 00:02:00,710 --> 00:02:05,700 5 00:02:05,700 --> 00:02:09,669 >> David J. Малан: Це 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 Її звуть Сьюзен Воджіскі. 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 І вона тільки що взяв його, коли вона був старшим тут в Гарвардському коледжі. 45 00:04:16,630 --> 00:04:19,482 >> Якби ми могли приглушити світло для Сьюзен. 46 00:04:19,482 --> 00:04:20,690 Сьюзен Воджіскі: Привіт, світ. 47 00:04:20,690 --> 00:04:22,100 Я Сьюзен Воджіскі. 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 році, я пішов в Силіконовій долині. 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. Малан: Тепер те, що Сьюзен не кажучи вже цього відео, 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 >> Джек Дорсі: Мої батьки купив мені 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 >> СПІКЕР 1: Я навчився кодувати в коледжі. 81 00:06:04,670 --> 00:06:09,080 >> Струмки Sanghvi: Першокурсник рік, перша семестр, Введення в галузі комп'ютерних наук. 82 00:06:09,080 --> 00:06:11,850 >> Білл Гейтс: Я написав програму що грали в хрестики-нулики. 83 00:06:11,850 --> 00:06:14,100 >> Дрю Х'юстон: Я думаю, що це було досить скромний початок. 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 ОЛЕНА силоньок: я вперше дізнався як зробити зелений круг 88 00:06:21,070 --> 00:06:23,670 і червоний квадрат на екрані з'являються. 89 00:06:23,670 --> 00:06:25,420 Гейб Ньюелл: Перший раз, коли я насправді було 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 >> Дрю Х'юстон: Це дійсно не на відміну від гра на музичному інструменті або щось 104 00:06:56,300 --> 00:07:00,007 або заняття спортом. 105 00:07:00,007 --> 00:07:01,090 David J. Малан: Добре. 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 "Бі", що означає два. 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 раз 1 плюс 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 >> АУДИТОРІЯ: Один. 158 00:09:33,777 --> 00:09:34,610 David J. Малан: Один. 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 Якщо я хочу, щоб представляти в двійкову кількість two-- але, 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 Так 2 рази 1 плюс 1 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 >> АУДИТОРІЯ: Один. 215 00:12:07,420 --> 00:12:08,545 >> David J. Малан: Один, правда? 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 Ден Бредлі і Ансель Дафф тут, люб'язно закуплені 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 Один. 266 00:14:28,750 --> 00:14:30,220 І я можу вдарити його знову. 267 00:14:30,220 --> 00:14:31,480 Два. 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 П'ять. 271 00:14:35,200 --> 00:14:36,360 Шість. 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. Малан: 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 І дозвольте мені виглядати трохи за the-- як щодо ось у білій сорочці? 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. Малан: Джекі. 295 00:15:24,718 --> 00:15:25,820 Джекі, давай до. 296 00:15:25,820 --> 00:15:29,820 Так що є і на цьому Ipad кнопка називається режим гри. 297 00:15:29,820 --> 00:15:32,570 І це Ігровий режим збирається дозволити мені вхід 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. Малан: Джекі. 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 І я збираюся йти в ігровому режимі. 312 00:15:58,240 --> 00:16:01,160 І я збираюся вказати, дати нам номер 15. 313 00:16:01,160 --> 00:16:01,900 >> ОК. 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 >> АУДИТОРІЯ: ОК. 318 00:16:13,530 --> 00:16:17,720 >> David J. Малан: І немає обману натиснувши плюс 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. Малан: Ви можете також включити лампочки на індивідуально 323 00:16:22,660 --> 00:16:24,076 з кожною з цих кнопок на верхній. 324 00:16:24,076 --> 00:16:24,844 АУДИТОРІЯ: О, добре. 325 00:16:24,844 --> 00:16:27,429 Тому було б like-- 326 00:16:27,429 --> 00:16:28,220 David J. Малан: ОК. 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 Який це номер Джекі В даний час представляє? 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 Так now-- 340 00:16:57,050 --> 00:16:58,902 >> [Оплески] 341 00:16:58,902 --> 00:17:01,690 342 00:17:01,690 --> 00:17:04,839 >> --еслі ми могли, ще один таких навколо цього. 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 >> АУДИТОРІЯ: Алекс. 349 00:17:17,424 --> 00:17:19,440 David J. Малан: Алекс, йди сюди. 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 >> АУДИТОРІЯ: ОК. 354 00:17:29,744 --> 00:17:31,660 David J. Малан: Але, як Я said-- і ви, можливо, 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 >> Ви зможете перетворити їх, якщо ти-- ОК. 361 00:18:02,050 --> 00:18:02,880 Відмінно. 362 00:18:02,880 --> 00:18:03,675 Чудово. 363 00:18:03,675 --> 00:18:04,341 Поздравляю. 364 00:18:04,341 --> 00:18:08,730 >> [Оплески] 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 ОК. 368 00:18:12,330 --> 00:18:15,550 >> Так кінцевої винос тут ми сподіваємося, відверто кажучи, 369 00:18:15,550 --> 00:18:18,109 simplicity-- простота, з якою 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 -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 >> І так, що ми можемо мати це буква істота 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 1.000 плюс сторінки імен та телефонних номерів. 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 Я міг відкрити до першої сторінки, і Я міг би почати шукати, скажімо, кого 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. Малан: Так. 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 а два, чотири, шість, вісім, 10. 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. Малан: Так ні, якщо I для Примірник пропустити Майк Сміт. 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 не в повній мірі 1000 сторінок, щоб отримати потенційно в гіршому випадку 441 00:21:39,429 --> 00:21:41,220 в кінці телефону Книга, де хто 442 00:21:41,220 --> 00:21:44,380 як Майк Сміт або когось з пізніше ім'я може бути насправді. 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. Малан: Ідіть прямо до 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. Малан: Ну, немає маркування. 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 Але ключ винос now-- і інтуїція 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. Малан: Майк Сміт, безумовно, Не в цій половині проблеми 461 00:22:22,290 --> 00:22:25,600 тому Сміт приходить після середини що приблизно в розділі M, 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 АУДИТОРІЯ: Ву! 466 00:22:32,320 --> 00:22:33,690 David J. Малан: Це стає все легше і легше. 467 00:22:33,690 --> 00:22:34,666 [Оплески] 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 Я все ще шукаю Майк Сміт. 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 якщо Майк Сміт знаходиться на потрібна сторінка. 479 00:23:03,400 --> 00:23:06,190 >> Тепер, якщо я зроблю це право, в кінцевому рахунку, я знайду себе 480 00:23:06,190 --> 00:23:11,085 за допомогою всього однієї сторінки, на якій Майк Сміт чи є він дійсно в телефонній книзі. 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 розмір проблемної п, де п лише деякі змінна, 498 00:24:02,180 --> 00:24:04,310 represents-- в цьому case-- кількість сторінок. 499 00:24:04,310 --> 00:24:07,412 >> На вертикальній або Y-осі, тут буде час, щоб вирішити, 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 бо є 12:59 Відносини між числом 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 І справді, вона представляє, ми будемо говорити, н більше двох. 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. Малан: Це буде виглядати це, логарифмічна slope-- exactly-- 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 >> АУДИТОРІЯ: Один. 532 00:25:30,560 --> 00:25:31,230 >> David J. Малан: Там тільки одна. 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. Малан: Так. 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 Я використав, тому що ви ніколи не буде просто так через Майк Сміт 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 Так те, що називається псевдокод, де ми будемо 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 >> І ми могли б написати псевдокод для цієї проблеми в наступному. 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. Малан: Так, для цього заходимо в ліва половина телефонній книзі. 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 >> Я використовую мою ж алгоритм, моя ж псевдокод, 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 в книзі, що я знаю, Правда про Майк Сміт зараз? 591 00:28:09,899 --> 00:28:11,190 АУДИТОРІЯ: Він не в книзі. 592 00:28:11,190 --> 00:28:12,731 David J. Малан: Він не в книзі. 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 >> [Оплески] 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 >> Так, перш за все, ми повинні СБ / 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-- навіть якщо відверто невдача означає шкодить вашій ГПД, 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-- почати Звичайно СБ / UNS, навіть залишаються СБ / 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 в еквівалентній версії СБ / 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 у have-- не в відміну Перша Ночі, музика 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 І ви можете самостійно вибрати Based на свій страх і рівня комфорту 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 Стандартна версія, що ми очікуємо, що більшість кожен студент в ході вирішувати 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 І ми також, після Справа в тому, пропонуємо postmortems, 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. Малан: Але ми повернемося до кліматичні оздоблення найближчим часом. 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 Подряпини, графічне мова програмування, який 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 до більш традиційних мову, відомий як С 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 Encoded тут є повідомлення, що найближчим часом ви 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 словник 143091 англійських слів. 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 Хакатон, які, якщо, не знайомий, 728 00:34:47,340 --> 00:34:51,420 почнеться в 7:00 вечора одну ніч і закінчується в 7:00 ранку на наступний ранок. 729 00:34:51,420 --> 00:34:53,614 Навколо 9:00 вечора, ми будемо Порядок, в перший вечерю. 730 00:34:53,614 --> 00:34:55,489 Близько 1:00, ми будемо Порядок, в другу вечерю. 731 00:34:55,489 --> 00:34:57,490 І якщо ви все ще стоячи в 5:00 ранку, ми 732 00:34:57,490 --> 00:35:00,320 курсуватиме автобус вам в IHOP на сніданок. 733 00:35:00,320 --> 00:35:04,980 >> 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 >> [Оплески] 754 00:36:03,349 --> 00:36:03,849 --a слово. 755 00:36:03,849 --> 00:36:05,328 [Оплески] 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 Davon: Так, привіт, хлопці. 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. Малан: А тепер Гавриїл, сам був просто новачком в минулому році, 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 >> [Оплески] 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. Малан: Тепер для Роба. 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. Малан: А Роб Боден. 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. Малан: А Час не дозволить намі-- 794 00:37:38,445 --> 00:37:39,670 >> [Оплески] 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 головоломки 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 І Puzzle День, як ви будете см, принесе вам 804 00:38:01,450 --> 00:38:04,207 і ваші однокласники together-- ми сподіваємося, в цю суботу. 805 00:38:04,207 --> 00:38:04,961 >> BELINDA: ОК. 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 Я на другому курсі в Квінсі Дом. 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 ОК. 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 ви, хлопці, все в я-лабораторії, або HBS вулики. 818 00:38:31,439 --> 00:38:33,730 Ми збираємося бути з Логічні день з 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 Приголомшливо. 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. Малан: І ви побачите, за це нічого не робити сьогодні. 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 має застосовність далеко за інженерії і STEM і інформатика сам, 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 >> АУДИТОРІЯ: Ву! 850 00:40:03,865 --> 00:40:06,090 >> David J. Малан: Це 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 >> [Оплески] 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