1 00:00:00,000 --> 00:00:00,479 2 00:00:00,479 --> 00:00:10,830 >> [Музика Відтворення] 3 00:00:10,830 --> 00:00:12,080 [MUSIC - Россіні, "Ranz DES Vaches "ВІД Вільгельм Телль] 4 00:00:12,080 --> 00:00:24,222 5 00:00:24,222 --> 00:00:25,472 >> [MUSIC - англійська Beat "МАРТА Про поворотними головками "] 6 00:00:25,472 --> 00:02:24,538 7 00:02:24,538 --> 00:02:31,510 >> [Оплески і захоплюватися] 8 00:02:31,510 --> 00:02:33,520 >> DAVID мала: Так що це CS50. 9 00:02:33,520 --> 00:02:34,730 Мене звати Девід Малан. 10 00:02:34,730 --> 00:02:39,250 І 73% з вас не мають досвіду роботи з комп'ютерної науки, 11 00:02:39,250 --> 00:02:41,300 Всупереч тому, що ви думаєте. 12 00:02:41,300 --> 00:02:45,290 Отже, сьогодні ми думали, що позбуватися від в той незнання, а й 13 00:02:45,290 --> 00:02:48,970 дати вам відчуття, для тих з вас з великим комфортом, які напрямки 14 00:02:48,970 --> 00:02:50,550 Ви можете піти в цьому семестрі. 15 00:02:50,550 --> 00:02:51,890 >> Отже, давайте почнемо з цього. 16 00:02:51,890 --> 00:02:55,490 Я дійсно поняття не маю, що всередині комп'ютер, хоча, як ви, я 17 00:02:55,490 --> 00:02:56,780 використовувати його кожен день. 18 00:02:56,780 --> 00:03:00,000 Але це свого роду вікно, і є Не багато входи в нього. 19 00:03:00,000 --> 00:03:01,350 Як мінімум, є, то які? 20 00:03:01,350 --> 00:03:03,120 Ймовірно, шнур живлення. 21 00:03:03,120 --> 00:03:06,640 >> І справді з цим інгредієнтом, електрика, ми, здається, здатні 22 00:03:06,640 --> 00:03:09,490 робив досить мало в ці дні. 23 00:03:09,490 --> 00:03:12,130 Але врешті-решт, ми вони повинні представляти речі 24 00:03:12,130 --> 00:03:12,860 що ми дбаємо про. 25 00:03:12,860 --> 00:03:15,240 Ми повинні представляти інформацію У тій чи іншій формі. 26 00:03:15,240 --> 00:03:18,365 І ви, мабуть, принаймні, смутно знайомі з ідеєю бінарним або 27 00:03:18,365 --> 00:03:21,370 біт, так чи інакше, комп'ютери зводиться до нулів та одиниць. 28 00:03:21,370 --> 00:03:26,320 Але чи можемо ми прийняти, що і принаймні покласти трохи світла на це? 29 00:03:26,320 --> 00:03:28,880 >> Тому у мене є ці маленькі настільні лампи тут. 30 00:03:28,880 --> 00:03:30,450 У мене є електрична розетка тут. 31 00:03:30,450 --> 00:03:33,930 І я збираюся запропонувати, щоб усередині мого комп'ютера, принаймні один з 32 00:03:33,930 --> 00:03:37,300 цих речей, щось, здатне бути включений або виключений. 33 00:03:37,300 --> 00:03:40,200 У цьому випадку це дійсно настільна лампа, але на більш низькому рівні, це те, 34 00:03:40,200 --> 00:03:41,500 називають транзистором. 35 00:03:41,500 --> 00:03:44,730 >> Але в нашому світі, це настільна лампа, так що Я збираюся йти вперед і підключити цей 36 00:03:44,730 --> 00:03:47,990 в мою електрики тут. 37 00:03:47,990 --> 00:03:52,970 І я стверджую, що за допомогою цієї простої, Простий пристрій, це простий перемикач, я 38 00:03:52,970 --> 00:03:54,850 може представляти інформацію. 39 00:03:54,850 --> 00:03:58,090 Наприклад, прямо зараз, я що не представляють нічого, вірно? 40 00:03:58,090 --> 00:04:01,820 Я уявляю, що я називаю 0 або хибним, протилежне щось 41 00:04:01,820 --> 00:04:03,130 насправді присутня. 42 00:04:03,130 --> 00:04:07,050 Але якщо я просто включити цей перемикач, тепер я представляв собою 1. 43 00:04:07,050 --> 00:04:10,720 Таким чином, використання цієї дуже простий шматок пам'яті, якщо хочете, я можу уявити 44 00:04:10,720 --> 00:04:11,450 інформації. 45 00:04:11,450 --> 00:04:14,350 >> Зараз, на жаль, мій комп'ютер не може зробити все, що багато. 46 00:04:14,350 --> 00:04:17,430 Це може представляти тільки два значення у всьому світі - 47 00:04:17,430 --> 00:04:18,620 0 або 1. 48 00:04:18,620 --> 00:04:21,839 Але те, що очевидне рішення, в даний час, якщо ми хочемо розширити наш комп'ютера 49 00:04:21,839 --> 00:04:25,120 пам'яті і являють собою більш не тільки 0 і 1? 50 00:04:25,120 --> 00:04:27,060 >> Ну, давайте захопити ще один такий біт. 51 00:04:27,060 --> 00:04:30,260 Давайте захопити ще один перемикач, інший транзистор, однак ви хотіли б 52 00:04:30,260 --> 00:04:31,130 думати про це. 53 00:04:31,130 --> 00:04:34,170 Дозвольте мені йти вперед і підключити цей У моєму комп'ютері, а також. 54 00:04:34,170 --> 00:04:38,270 І я збираюся стверджувати тепер, що за кілька більшого використання електрики і 55 00:04:38,270 --> 00:04:42,290 звертаються все більше цих включається і вимкнений, я можу представити кілька таких 56 00:04:42,290 --> 00:04:43,020 інформації. 57 00:04:43,020 --> 00:04:44,660 >> Так прямо зараз, це 1. 58 00:04:44,660 --> 00:04:48,120 Якщо я хочу, щоб в даний час представляють 2, я міг би це зробити. 59 00:04:48,120 --> 00:04:51,510 Але, як правило, конвенції, оскільки ми будемо зрештою побачити, доведеться мені зробити це. 60 00:04:51,510 --> 00:04:55,260 Так що це 0, це 1. 61 00:04:55,260 --> 00:04:56,720 Це було б 2. 62 00:04:56,720 --> 00:04:59,920 І не дивно, що це буде 3. 63 00:04:59,920 --> 00:05:02,610 >> Таким чином, в цьому випадку, тим не менш, може ми розраховуємо ще сильніше? 64 00:05:02,610 --> 00:05:06,500 Якщо я отримаю третій біт, третій перемикач, що найбільша кількість Тепер я можу 65 00:05:06,500 --> 00:05:09,720 рахувати до від 0? 66 00:05:09,720 --> 00:05:12,020 7 Так, якщо я, починаючи з 0, чи не так? 67 00:05:12,020 --> 00:05:15,980 Тому що, якщо я включаю світло на це і насправді підключити цей третій і останній 68 00:05:15,980 --> 00:05:20,090 Світло в моїй електричної розетки тут, то у мене є здатність представляти 69 00:05:20,090 --> 00:05:24,930 будь-який з двох значень тут, двома значеннями Тут два значення тут - 70 00:05:24,930 --> 00:05:32,610 і так я можу уявити 2 рази 2 рази 2 або восьми можливих значень. 71 00:05:32,610 --> 00:05:36,340 І якщо я почну обліку на 0, так це 0, 1, 2, 3, 4, 5, 6, 7. 72 00:05:36,340 --> 00:05:37,480 >> Так що це двійковий файл. 73 00:05:37,480 --> 00:05:39,420 Це дійсно так просто. 74 00:05:39,420 --> 00:05:41,930 І я б стверджувати, що це насправді цілком знайома більшості 75 00:05:41,930 --> 00:05:43,180 все в цій кімнаті. 76 00:05:43,180 --> 00:05:45,710 Дозвольте мені йти вперед і відкрити маленький текстовий редактор тут. 77 00:05:45,710 --> 00:05:49,040 >> І ви, можливо, пам'ятаєте з початкової школи що у нас були такі речі, як сотні 78 00:05:49,040 --> 00:05:51,970 місце, десятки місці, і ті місця. 79 00:05:51,970 --> 00:05:55,040 І нагадати, що якщо у вас кілька десяткових число, як щось випадкове 80 00:05:55,040 --> 00:05:59,470 як 123, ви, по суті, пишуть, що у формі 81 00:05:59,470 --> 00:06:00,450 з цих трьох стовпців. 82 00:06:00,450 --> 00:06:04,070 І чому це 1, 2, 3, що ми знаємо, як 123? 83 00:06:04,070 --> 00:06:11,220 Ну, в крайньому лівому стовпчику, у нас є один плюс два 100 10s, так що це 120, 84 00:06:11,220 --> 00:06:14,250 плюс три 1S, так що це 123. 85 00:06:14,250 --> 00:06:17,990 >> Тепер цей світ, що ми просто освітлена точно так само, як 86 00:06:17,990 --> 00:06:21,150 Ви були знайомі з роками, тільки тепер, наші колонки 87 00:06:21,150 --> 00:06:22,060 не є ступенями 10. 88 00:06:22,060 --> 00:06:23,780 Вони просто ступенями 2. 89 00:06:23,780 --> 00:06:27,830 Так що хоча це ті місця, це буде двійок місце, це 90 00:06:27,830 --> 00:06:29,540 буде рачки місце. 91 00:06:29,540 --> 00:06:33,260 >> І тому, що я використовую тільки найпростіші механізмів змінити становище на краще 92 00:06:33,260 --> 00:06:37,100 і вимикається - електрику тече або електрику не тече - 93 00:06:37,100 --> 00:06:40,880 Я не зовсім ті ж виразні діапазоні, від 0 до дев'яти. 94 00:06:40,880 --> 00:06:43,270 Ми збираємося тримати це супер просто У цьому світі комп'ютерів. 95 00:06:43,270 --> 00:06:45,060 У мене тільки 0 або 1 - 96 00:06:45,060 --> 00:06:47,890 або виключений, неправдиву або істинну. 97 00:06:47,890 --> 00:06:52,610 >> І те, що я представляю зараз 1, 1, 1, тому що кожен з цих 98 00:06:52,610 --> 00:06:54,000 вогнями світиться. 99 00:06:54,000 --> 00:06:59,600 Ну, це дає мені один плюс один 4 2, так це 6, плюс один 1, а це 7. 100 00:06:59,600 --> 00:07:03,450 І ERGO робить це послідовність з трьох біти представляють число 7. 101 00:07:03,450 --> 00:07:06,330 >> Таким чином, весь цей час внутрішній стороні комп'ютер, було будь-яку кількість 102 00:07:06,330 --> 00:07:08,090 транзисторів, будь-яке число бітів. 103 00:07:08,090 --> 00:07:10,380 Але врешті-решт, ми може представляти інформацію 104 00:07:10,380 --> 00:07:12,560 так просто, як це. 105 00:07:12,560 --> 00:07:16,770 Зараз, на жаль, ми Оновлюється до 7 в CS50 досі, але 106 00:07:16,770 --> 00:07:18,550 сподіваюсь, ми можемо зробити трохи краще, ніж це. 107 00:07:18,550 --> 00:07:19,550 І дійсно, ми можемо. 108 00:07:19,550 --> 00:07:23,570 >> Припустимо, що ми, як люди просто довільно вирішив, що ми збираємося 109 00:07:23,570 --> 00:07:28,750 пов'язати номери типу 1 і 2, 3, 4, 5, 6, 7, з конкретними літерами 110 00:07:28,750 --> 00:07:29,410 алфавіту. 111 00:07:29,410 --> 00:07:32,350 І з історичних причин, я збираюся почати кілька довільно, але я 112 00:07:32,350 --> 00:07:36,880 збираюся сказати, люди, ми збираємося вирішили в якості стандарту, в глобальному масштабі, що 113 00:07:36,880 --> 00:07:43,200 65 являє собою число букви А. 66 буде представляти B. точка, точка, точка. 114 00:07:43,200 --> 00:07:45,140 90 буде представляти букви Z. 115 00:07:45,140 --> 00:07:48,000 >> І давайте припустимо, якщо ми дійсно поставити деякі думки в цьому, ми могли б придумати 116 00:07:48,000 --> 00:07:50,860 з номерами для знаків оклику і малі літери, і, дійсно, 117 00:07:50,860 --> 00:07:52,710 інші люди зробили це для нас. 118 00:07:52,710 --> 00:07:56,410 Так що тепер у нас були биті з якою ми можемо представляти числа, числа, з якими 119 00:07:56,410 --> 00:08:00,130 можна представити літерами, а з Листи ми тепер можемо починати створення 120 00:08:00,130 --> 00:08:02,650 електронні листи і друковані знаки на екрані. 121 00:08:02,650 --> 00:08:05,850 >> Отже, дозвольте мені запропонувати, якби міг, вісім сміливі добровольці - 122 00:08:05,850 --> 00:08:09,200 хто не проти появи не тільки на камеру, але в Інтернеті - 123 00:08:09,200 --> 00:08:13,130 прийти сюди і представляють вісім таких бітів, ніж ці три. 124 00:08:13,130 --> 00:08:14,380 Так, як один, два? 125 00:08:14,380 --> 00:08:16,290 Як щодо трьох? 126 00:08:16,290 --> 00:08:20,230 Як щодо чотирьох у світлі синій, п'ять на кінці? 127 00:08:20,230 --> 00:08:21,250 Про когось тут? 128 00:08:21,250 --> 00:08:25,320 Шість попереду, сім попереду, і вісім попереду, а також. 129 00:08:25,320 --> 00:08:29,050 >> Так що я просто так вийшло, бути готовими з цілою купою листків паперу. 130 00:08:29,050 --> 00:08:34,150 І на ці шматочки паперу номери , Які представляють, які стовпці 131 00:08:34,150 --> 00:08:35,809 ви, хлопці, будете представляти. 132 00:08:35,809 --> 00:08:36,740 Таким чином, ви буде - як тебе звати? 133 00:08:36,740 --> 00:08:37,570 >> СТУДЕНТ: Anna Leah. 134 00:08:37,570 --> 00:08:40,370 >> DAVID мала: Anna Leah, ви стане 128s колонки. 135 00:08:40,370 --> 00:08:41,059 Ви? 136 00:08:41,059 --> 00:08:41,510 >> СТУДЕНТ: Кріс. 137 00:08:41,510 --> 00:08:43,620 >> DAVID мала: Кріс бути 64s колонки. 138 00:08:43,620 --> 00:08:44,070 Ви? 139 00:08:44,070 --> 00:08:44,540 >> СТУДЕНТ: Дан. 140 00:08:44,540 --> 00:08:46,970 >> DAVID мала: Дан буде бути 32s колонки. 141 00:08:46,970 --> 00:08:47,470 >> СТУДЕНТ: Pramit. 142 00:08:47,470 --> 00:08:49,430 >> DAVID мала: Pramit буде бути 16S колонки. 143 00:08:49,430 --> 00:08:50,290 >> СТУДЕНТ: Ліліан. 144 00:08:50,290 --> 00:08:51,904 >> DAVID мала: Ліліан буде 8s. 145 00:08:51,904 --> 00:08:52,768 >> СТУДЕНТ: Джилл. 146 00:08:52,768 --> 00:08:55,025 >> DAVID мала: Джилл бути 4s колонки. 147 00:08:55,025 --> 00:08:55,400 >> СТУДЕНТ: Марії. 148 00:08:55,400 --> 00:08:57,000 >> DAVID мала: Мері буде 2S, а? 149 00:08:57,000 --> 00:08:57,470 >> СТУДЕНТ: Девід. 150 00:08:57,470 --> 00:08:59,220 >> DAVID мала: Девід буде бути 1S колонки. 151 00:08:59,220 --> 00:09:02,030 Так що, якщо ви, хлопці, могли ступити трохи вперед так, що кожен може побачити. 152 00:09:02,030 --> 00:09:05,370 Що ви, хлопці, не бачать в тому, що на зворотно з цих листках паперу є 153 00:09:05,370 --> 00:09:09,760 маленька шпаргалка, який ось-ось Доручити цих восьми бітам значення 154 00:09:09,760 --> 00:09:12,380 підняти руку чи ні підняти руку. 155 00:09:12,380 --> 00:09:14,100 Якщо їх рука йде вгору, вони представляють 1. 156 00:09:14,100 --> 00:09:17,120 Якщо їх руках залишається на другий рік, вони представляють 0. 157 00:09:17,120 --> 00:09:21,410 >> Між тим, ми повинні бути аудиторію в змозі з'ясувати, на основі цього 158 00:09:21,410 --> 00:09:26,490 Відображення, які три літери слова ці Люди збираються викласти. 159 00:09:26,490 --> 00:09:29,700 І вже буквально через хвилину, ви збираєтеся прочитав першу лінію від спини 160 00:09:29,700 --> 00:09:32,880 шпаргалку, і ви або збирається підняти або підняти руку. 161 00:09:32,880 --> 00:09:35,710 Якщо ви 1, ви піднімаєте, якщо ти 0, ви стоїте там 162 00:09:35,710 --> 00:09:38,594 ніяково, як і що. 163 00:09:38,594 --> 00:09:40,386 Go. 164 00:09:40,386 --> 00:09:43,945 Який номер, в першу чергу, ці хлопці представляють? 165 00:09:43,945 --> 00:09:47,140 166 00:09:47,140 --> 00:09:48,860 >> 66. 167 00:09:48,860 --> 00:09:49,560 66, правильно? 168 00:09:49,560 --> 00:09:52,400 У нас є 1 у колонці 64s, 1 у стовпці 2s. 169 00:09:52,400 --> 00:09:56,340 Це дає мені 66, так що з'являється щоб представляти B. Таким чином, 170 00:09:56,340 --> 00:09:57,075 ви, хлопці, написано - 171 00:09:57,075 --> 00:09:58,300 Добре, цього достатньо. 172 00:09:58,300 --> 00:09:59,430 B. 173 00:09:59,430 --> 00:10:01,610 >> А тепер давайте перейдемо до наше друге лист. 174 00:10:01,610 --> 00:10:03,530 Go. 175 00:10:03,530 --> 00:10:06,860 Хто найшвидший в математиці тут? 176 00:10:06,860 --> 00:10:07,750 Так 79. 177 00:10:07,750 --> 00:10:11,840 Знову ж, якщо ми складаємо всі стовпці в яких є один, в даний час тільки 178 00:10:11,840 --> 00:10:14,840 як ми робили це раніше з найпростішими прикладів 7, ми тепер 179 00:10:14,840 --> 00:10:16,140 отримаємо число 79. 180 00:10:16,140 --> 00:10:19,910 Який у відповідності з нашими відображення Лист О. Таким чином, ми вже майже на місці. 181 00:10:19,910 --> 00:10:22,590 B, О. І, нарешті, піти. 182 00:10:22,590 --> 00:10:26,420 183 00:10:26,420 --> 00:10:30,120 >> Що вони представляють зараз? 184 00:10:30,120 --> 00:10:31,370 Менш консенсусу. 185 00:10:31,370 --> 00:10:34,660 186 00:10:34,660 --> 00:10:36,460 Це просто абсолютна шум. 187 00:10:36,460 --> 00:10:40,090 Так, це насправді 87. 188 00:10:40,090 --> 00:10:40,490 Добре. 189 00:10:40,490 --> 00:10:44,480 >> Отже, якщо нам карту, що ще до - давайте почати називати нашу ASCII графіку, 190 00:10:44,480 --> 00:10:46,450 Американський стандартний код для Обміну інформацією. 191 00:10:46,450 --> 00:10:47,700 Це дає нам листа - 192 00:10:47,700 --> 00:10:51,260 193 00:10:51,260 --> 00:10:54,810 Чи не "Бо", а "лук". І це ідеальний Кий для вас, хлопці, щоб взяти цибулю 194 00:10:54,810 --> 00:10:56,100 і голову на спину. 195 00:10:56,100 --> 00:10:56,980 Большое спасибо. 196 00:10:56,980 --> 00:10:57,886 >> [Оплески] 197 00:10:57,886 --> 00:10:59,136 >> DAVID мала: ви можете тримати їх. 198 00:10:59,136 --> 00:11:01,850 199 00:11:01,850 --> 00:11:05,942 Хоча насправді, комусь як настільну лампу, також? 200 00:11:05,942 --> 00:11:07,300 >> [HOOT Із залу] 201 00:11:07,300 --> 00:11:08,390 >> DAVID мала: Настільна лампа? 202 00:11:08,390 --> 00:11:10,850 >> [Сміється] 203 00:11:10,850 --> 00:11:11,860 >> DAVID мала: Дійсно? 204 00:11:11,860 --> 00:11:13,230 Настільні лампи для всіх? 205 00:11:13,230 --> 00:11:14,310 Добре. 206 00:11:14,310 --> 00:11:20,990 Так, починаючи з найпростішої з принципи, ми тепер не Оновлюється 207 00:11:20,990 --> 00:11:24,750 від 0 до всіх, аж до 7 ми Передбачається, що просто, кидаючи більш 208 00:11:24,750 --> 00:11:28,080 біт або кілька вогнів або більше транзисторів на цю проблему, ми можемо 209 00:11:28,080 --> 00:11:32,680 представляють все більше і більше цифр і ERGO, все більше і більше діапазон 210 00:11:32,680 --> 00:11:33,780 алфавітів, як англійська. 211 00:11:33,780 --> 00:11:37,770 І так само, давайте приймати на віру на сьогодні Точно так само, що ми могли б почати 212 00:11:37,770 --> 00:11:42,220 представляють графіки і відео і будь Ряд інших засобах масової інформації, з якими ми 213 00:11:42,220 --> 00:11:43,610 знайомі сьогодні. 214 00:11:43,610 --> 00:11:49,240 >> Так що це CS50, і в цьому класі поруч з вами, знову ж таки, дуже багато 215 00:11:49,240 --> 00:11:53,050 однокласників, які так само мало досвід, як ви. 216 00:11:53,050 --> 00:11:57,730 І я говорю про це тільки тому, що досить Часто, в тому числі зовсім недавно, в одному з 217 00:11:57,730 --> 00:12:01,860 консультування першокурсників подій і в другокурсник минулої весни консультування 218 00:12:01,860 --> 00:12:06,420 події, ми часто чуємо, студенти відмовляються від , Коли приходять до столу CS, ну, 219 00:12:06,420 --> 00:12:10,070 Я думав про прийняття цього інтро клас, але я не дуже 220 00:12:10,070 --> 00:12:11,120 комп'ютерний осіб. 221 00:12:11,120 --> 00:12:13,220 Або, але все, звичайно, знає більше, ніж я. 222 00:12:13,220 --> 00:12:17,340 І я поставив це у найбільшій шрифт можливо, передати це повідомлення, що 223 00:12:17,340 --> 00:12:18,730 це не насправді так. 224 00:12:18,730 --> 00:12:21,100 >> І якщо вам цікаво, якщо Я, насправді, бути тут? 225 00:12:21,100 --> 00:12:25,950 Зрозумійте, що це не тільки курси Назва Введення в комп'ютерну 226 00:12:25,950 --> 00:12:31,740 Наука, це Введення в комп'ютерну Наук I. Так що дійсно 227 00:12:31,740 --> 00:12:33,170 другого такого введення. 228 00:12:33,170 --> 00:12:35,390 Значить, ви не, насправді, не в тому місці. 229 00:12:35,390 --> 00:12:39,000 І серед цілей у мене є на сьогоднішній день є щоб заспокоїти будь-які такі проблеми, які Ви 230 00:12:39,000 --> 00:12:42,430 могли мати, але і розфарбовувати картину того, що в магазині для 231 00:12:42,430 --> 00:12:45,720 студенти менше і зручніше так в цьому курсі. 232 00:12:45,720 --> 00:12:49,320 >> Але, по-перше, слова на одному з роздавальних матеріалів у вас є сьогодні, серед яких 233 00:12:49,320 --> 00:12:50,780 ряд поширених питань. 234 00:12:50,780 --> 00:12:54,290 Це було наше бачення протягом деякого часу Тепер ввести новий класифікації 235 00:12:54,290 --> 00:12:57,010 опції в цей курс - а саме, SAT / ненасиченого. 236 00:12:57,010 --> 00:13:01,930 Філософськи для мене, це дуже набагато, Набагато важливіше, що 237 00:13:01,930 --> 00:13:05,050 студентів у цьому класі взаємодіяти з матеріал, бути оскаржена 238 00:13:05,050 --> 00:13:09,800 матеріалу, і турбуватися набагато, набагато менше про механіки оцінки фактичної 239 00:13:09,800 --> 00:13:12,590 і літерні оцінки в семестрі кінця, але по-справжньому охопити 240 00:13:12,590 --> 00:13:13,970 курсу та його матеріалу. 241 00:13:13,970 --> 00:13:18,140 І дійсно це відчуває, більш загально, за те, що цікаво їм, 242 00:13:18,140 --> 00:13:21,390 відчуваю оскаржений і винагороджений, але без страху невдачі. 243 00:13:21,390 --> 00:13:25,030 >> І справді, це теж є повторюваною Тема в цьому та інших вступних 244 00:13:25,030 --> 00:13:28,680 курси в інших областях, що у вас є цього трепету, коли справа доходить до 245 00:13:28,680 --> 00:13:31,040 покласти пальці в одну незнайомих водах. 246 00:13:31,040 --> 00:13:34,880 Я сам, ще в 1995 році, був новачком. 247 00:13:34,880 --> 00:13:37,990 Я був дуже зосереджений на тому Концентратор Gov тут. 248 00:13:37,990 --> 00:13:41,060 І все ж я завжди зросла з невеликим інтересу до інформатики. 249 00:13:41,060 --> 00:13:42,180 Мені завжди було цікаво. 250 00:13:42,180 --> 00:13:47,610 >> Але тоді, навіть, у мене був цей страх навіть крокуючи нога в CS50, так багато 251 00:13:47,610 --> 00:13:49,420 так що я навіть не магазин це перший рік. 252 00:13:49,420 --> 00:13:53,460 І єдина причина, я поставив ногу в Двері року студент-другокурсник, тому що я 253 00:13:53,460 --> 00:13:55,340 було дозволено взяти його пройшов / не пройшов. 254 00:13:55,340 --> 00:13:58,920 Але навіть пройшов / не пройшов необхідних, що я отримую до нерва, щоб призначити зустріч 255 00:13:58,920 --> 00:14:01,970 з професором Kernehan в той час, довести це великий аркуш паперу, і попросити 256 00:14:01,970 --> 00:14:04,470 його за його підписом і його дозвіл, щоб дослідити 257 00:14:04,470 --> 00:14:05,700 цих незнайомих водах. 258 00:14:05,700 --> 00:14:09,030 >> І це не допомогло в останні роки , Що, коли роблю це у CS50, коли ми 259 00:14:09,030 --> 00:14:12,500 Раніше пройшов / не пройшов, так само буде десятків або сотень ваших однокласників 260 00:14:12,500 --> 00:14:15,970 повинні придумати, не дай Бог, на Перед Сандерс з такою формою, що 261 00:14:15,970 --> 00:14:19,520 в деяких умах представляє нездатність, Я насмілюся сказати, для виконання 262 00:14:19,520 --> 00:14:20,800 знаходяться на одному рівні ваших колег. 263 00:14:20,800 --> 00:14:23,410 Який смішний, але я думаю, є те, що менталітет. 264 00:14:23,410 --> 00:14:27,210 І там ніколи не був у цій культурі з сб / ненасиченого або залік / незалік більш 265 00:14:27,210 --> 00:14:30,610 Взагалі, в цьому, звичайно, або дійсно в цьому університетському містечку. 266 00:14:30,610 --> 00:14:32,310 >> Тому цього року ми змінили це. 267 00:14:32,310 --> 00:14:35,630 Я б у захваті половини цього класу або більше закінчилися 268 00:14:35,630 --> 00:14:38,700 тим, що брав CS50 СБ / ненасиченого. 269 00:14:38,700 --> 00:14:42,130 Протягом року, це було б чудово Якщо майже все. 270 00:14:42,130 --> 00:14:44,410 Після цього, можливо, ми будемо працювати на літерні в Гарварді 271 00:14:44,410 --> 00:14:45,480 Коледж в цілому. 272 00:14:45,480 --> 00:14:48,900 Але зараз, ми зробимо це в межах нашої власній сфері, і я сердечно 273 00:14:48,900 --> 00:14:53,400 рекомендуємо вам ознайомитися з тим, що часто задаються та задавати питання на свій розсуд, так що 274 00:14:53,400 --> 00:14:58,000 сподіваюся, що ви, на відміну від мене, не буде достатньо мати той же фактор страху, коли 275 00:14:58,000 --> 00:15:01,040 дослідження того, що, ймовірно, незнайоме місце. 276 00:15:01,040 --> 00:15:02,786 >> Так що ж таке CS50? 277 00:15:02,786 --> 00:15:06,150 Це введення в інтелектуальної підприємств комп'ютерних 278 00:15:06,150 --> 00:15:07,700 наука і мистецтво програмування. 279 00:15:07,700 --> 00:15:08,770 Але що це дійсно означає? 280 00:15:08,770 --> 00:15:12,510 >> Ну, до цих пір, ми говорили дуже коротко про подання інформації. 281 00:15:12,510 --> 00:15:15,070 Але припустимо, що ми дійсно хочемо щось зробити з ним. 282 00:15:15,070 --> 00:15:17,890 Нам треба ввести поняття що ми будемо називати алгоритмом. 283 00:15:17,890 --> 00:15:21,540 Алгоритм процедури процесу набір інструкцій для 284 00:15:21,540 --> 00:15:22,780 щось робити. 285 00:15:22,780 --> 00:15:25,620 >> І алгоритм може бути щось супер просто. 286 00:15:25,620 --> 00:15:28,660 Так, наприклад, з якою деякі з вас можуть бути знайомі це 287 00:15:28,660 --> 00:15:29,350 річ тут. 288 00:15:29,350 --> 00:15:32,510 Тож цю книгу тут, стає все більш датовані, але колись давно, вона 289 00:15:32,510 --> 00:15:34,720 містяться цілому багато імен і номери телефонів. 290 00:15:34,720 --> 00:15:37,710 І дійсно, якби я хотів, щоб знайти хтось у цій телефонній книзі - 291 00:15:37,710 --> 00:15:39,800 кажуть, хтось на ім'я Майк Сміт - 292 00:15:39,800 --> 00:15:43,810 Я міг би знайти Майк Сміт у будь-якій кількості досить простих способів. 293 00:15:43,810 --> 00:15:47,700 Я міг би почати з самого початку і перейти на сторінку 1, не було. 294 00:15:47,700 --> 00:15:49,240 Сторінка 2, не було. 295 00:15:49,240 --> 00:15:49,960 Page 3. 296 00:15:49,960 --> 00:15:53,430 Це алгоритм, є те, що процес, правильно? 297 00:15:53,430 --> 00:15:54,620 >> Так правильно, чи не так? 298 00:15:54,620 --> 00:15:58,070 Я начебто ідіота робити це в саме таким чином, але врешті-решт я буду 299 00:15:58,070 --> 00:16:02,670 знайти прізвище S, і, сподіваюся, Майк знаходиться в цій секції, і я стану 300 00:16:02,670 --> 00:16:04,100 зробив з моїм алгоритмом. 301 00:16:04,100 --> 00:16:05,440 Але, звичайно, це не інтуїтивно. 302 00:16:05,440 --> 00:16:08,020 Майже кожна розсудлива людина в цій номер не буде цього робити. 303 00:16:08,020 --> 00:16:10,180 Що б ви зробили? 304 00:16:10,180 --> 00:16:11,480 >> Ти б пішов прямо до середини, чи не так? 305 00:16:11,480 --> 00:16:12,000 Приблизно до середини. 306 00:16:12,000 --> 00:16:16,310 І ти розумієш, про, це г-жа Так Майк Сміт, який є прізвище Сміт, 307 00:16:16,310 --> 00:16:19,050 Не ясно, то в Ліва половина книги. 308 00:16:19,050 --> 00:16:21,040 Він повинен бути в бік S знаходиться в правильному. 309 00:16:21,040 --> 00:16:24,090 І в цей момент, хоча більшість з нас не робіть цього насправді, ми можемо 310 00:16:24,090 --> 00:16:27,125 буквально розірвати цю проблему в два рази. 311 00:16:27,125 --> 00:16:27,640 >> [ВІТАННЯ І оплески] 312 00:16:27,640 --> 00:16:28,950 >> DAVID мала: Спасибо. 313 00:16:28,950 --> 00:16:30,150 >> [ВІТАННЯ І оплески] 314 00:16:30,150 --> 00:16:34,660 >> DAVID мала: Ви можете буквально розірвати цю Проблема в два рази, залишивши мене з, 315 00:16:34,660 --> 00:16:36,120 буквально, проблема вдвічі менше. 316 00:16:36,120 --> 00:16:39,750 Так що, якщо це була телефонна книга - і це ймовірно, було - близько 1000 сторінок, зараз 317 00:16:39,750 --> 00:16:40,840 це всього лише 500. 318 00:16:40,840 --> 00:16:44,710 Якщо я зроблю це знову, і я розумію, про, Блін, я зайшов занадто далеко, я в МС 319 00:16:44,710 --> 00:16:46,480 розділ, я можу аналогічно - 320 00:16:46,480 --> 00:16:48,030 образно або буквально - 321 00:16:48,030 --> 00:16:50,260 копіювати телефонну книгу - це було насправді набагато легше цей час. 322 00:16:50,260 --> 00:16:53,610 Я можу буквально копіювати телефонну книгу навпіл, залишивши мене тепер з 323 00:16:53,610 --> 00:16:55,186 НЕ 1000, а не 500 - 324 00:16:55,186 --> 00:16:56,680 250 сторінок. 325 00:16:56,680 --> 00:17:00,210 І я можу піти 125, і половина з цього, і половину цього, і половину цього, 326 00:17:00,210 --> 00:17:04,760 поки, нарешті, я не залишитеся з тільки таку сторінку. 327 00:17:04,760 --> 00:17:06,430 >> [Сміється] 328 00:17:06,430 --> 00:17:07,589 >> DAVID мала: Це частину я не далі. 329 00:17:07,589 --> 00:17:10,400 Однією сторінці, на якій Майк, ми сподіваємося, є. 330 00:17:10,400 --> 00:17:14,630 Тепер ці різні алгоритми можуть бути Сортувати нарахованих або оцінювати в 331 00:17:14,630 --> 00:17:15,270 різному. 332 00:17:15,270 --> 00:17:17,300 Перший з них був дуже лінійний, чи не так? 333 00:17:17,300 --> 00:17:18,500 Поверніть сторінки, шукати Майка. 334 00:17:18,500 --> 00:17:19,630 Поверніть сторінки, шукати Майка. 335 00:17:19,630 --> 00:17:20,560 Це дуже лінійно. 336 00:17:20,560 --> 00:17:23,339 Якщо є ще одна сторінка в телефоні Книга, ймовірно, це збирається взяти мене 337 00:17:23,339 --> 00:17:27,380 ще одну секунду, ще одна одиниця часу, Однак ми машинного часу. 338 00:17:27,380 --> 00:17:32,470 >> Так що я міг би малювати, як це ця лінія Тут, в якій, як розмір 339 00:17:32,470 --> 00:17:34,700 Проблема зростає зліва направо - 340 00:17:34,700 --> 00:17:37,480 Телефонна книга отримує меншого до більшого - 341 00:17:37,480 --> 00:17:41,080 і часом має намір збільшити на вертикальної осі, тим більше 342 00:17:41,080 --> 00:17:42,030 Телефонна книга. 343 00:17:42,030 --> 00:17:46,180 Таким N всього лише загальні змінна, яка Комп'ютер вчені використовують для представлення 344 00:17:46,180 --> 00:17:48,210 деяке значення, деяке число. 345 00:17:48,210 --> 00:17:50,740 Таким N намір збільшити лінійно. 346 00:17:50,740 --> 00:17:53,040 Подвоєння розміру телефонної книги, це збирається взяти мене в два рази більше 347 00:17:53,040 --> 00:17:54,780 час, швидше за все, знайти Майка. 348 00:17:54,780 --> 00:17:56,390 >> Зараз я міг би бути розумним про це, чи не так? 349 00:17:56,390 --> 00:17:57,800 Я отримую нудно швидко. 350 00:17:57,800 --> 00:17:58,910 Могли б зробити це по двоє. 351 00:17:58,910 --> 00:18:01,870 Так дві сторінки, потім чотири, то шість, то вісім. 352 00:18:01,870 --> 00:18:05,220 І я міг би почати літати через нього трохи швидше, хоча і незначного ризику 353 00:18:05,220 --> 00:18:09,210 перевищення Майка, але крива НЕ буде все, що відрізняється. 354 00:18:09,210 --> 00:18:12,550 Він як і раніше буде представляти собою пряму лінії, але трохи швидше. 355 00:18:12,550 --> 00:18:13,710 >> Але що ж мені робити? 356 00:18:13,710 --> 00:18:15,845 Я дійсно зробив щось принципово краще. 357 00:18:15,845 --> 00:18:21,990 Я досяг того, що ми назвемо логарифмічною час, журнал N, причому ця зелена 358 00:18:21,990 --> 00:18:27,730 Лінія має багато, багато, багато чого менш прямі краю до нього. 359 00:18:27,730 --> 00:18:33,050 І, швидше, вона пропонує, а він ніби як прагне до нескінченності дуже поступово, 360 00:18:33,050 --> 00:18:36,700 , Що я можу насправді взяти 1000-сторінки телефонній книзі, його розмір подвоїться 361 00:18:36,700 --> 00:18:39,610 в наступному році - тому припустимо багато більше людей переїхати в місто. 362 00:18:39,610 --> 00:18:43,250 >> Так що тепер у мене є 2000 сторінок, але як багато інших кроків у тому, що розумніші 363 00:18:43,250 --> 00:18:45,200 Алгоритм займе? 364 00:18:45,200 --> 00:18:46,060 Тільки один. 365 00:18:46,060 --> 00:18:48,060 Я маю на увазі, це сильна річ. 366 00:18:48,060 --> 00:18:51,400 Якщо ми підемо в 4000 сторінок в наступному році, що збирається взяти мене 367 00:18:51,400 --> 00:18:53,020 тільки ще два кроки. 368 00:18:53,020 --> 00:18:56,500 Таким чином, ви можете кинути все більше і більше проблеми у мене, а не на відміну від веб- 369 00:18:56,500 --> 00:18:59,560 кидати все більшими проблемами Кожен день в Googles і Facebooks з 370 00:18:59,560 --> 00:19:01,590 світі, і це не така велика справа. 371 00:19:01,590 --> 00:19:05,840 Тому що я покласти більше думки і турботи в мій алгоритм, з яким вирішити 372 00:19:05,840 --> 00:19:07,020 проблеми ефективно. 373 00:19:07,020 --> 00:19:09,260 >> І справді, що буде одним з Цілі цього курсу. 374 00:19:09,260 --> 00:19:11,230 Ви будете, по шляху, навчитися програмувати. 375 00:19:11,230 --> 00:19:13,360 Ви дізнаєтеся, як програмувати на будь-яку кількість мов. 376 00:19:13,360 --> 00:19:16,670 Але в кінці дня, курс про вирішення проблем і отримання 377 00:19:16,670 --> 00:19:20,490 краще на вирішення проблем, - і, як і в подібних випадках, рішення проблем 378 00:19:20,490 --> 00:19:22,030 більш ефективно. 379 00:19:22,030 --> 00:19:23,990 >> Зараз до цих пір, ми зробили це досить інтуїтивно. 380 00:19:23,990 --> 00:19:27,420 Введемо щось досить загальний псевдокоді називається. 381 00:19:27,420 --> 00:19:29,150 Так що ми в кінцевому підсумку отримати, У цьому звичайно, 382 00:19:29,150 --> 00:19:30,570 різних мовах програмування. 383 00:19:30,570 --> 00:19:34,280 Але сьогодні ми зробимо це англійською мовою, як синтаксис, де ви тільки почасти говорять 384 00:19:34,280 --> 00:19:37,330 те, що ви маєте на увазі, але ви завжди такі коротким і не турбуватися про 385 00:19:37,330 --> 00:19:38,960 граматику і повних пропозицій. 386 00:19:38,960 --> 00:19:41,600 Ви просто виразити себе, як стисло, наскільки це можливо. 387 00:19:41,600 --> 00:19:45,400 >> Так псевдокод-англійськи, як синтаксис, який представляє 388 00:19:45,400 --> 00:19:46,750 мови програмування. 389 00:19:46,750 --> 00:19:51,170 І в цьому напрямку, дозвольте мені запропонувати, що ми тепер моделювати процес ми просто 390 00:19:51,170 --> 00:19:54,990 описані підрахунку щось трохи інакше, на цей раз бере 391 00:19:54,990 --> 00:19:59,040 подивіться на цю п'ятихвилинну відео виробництва наші друзі на Теда, що 392 00:19:59,040 --> 00:20:03,170 визначає, що псевдокод, визначає, які є алгоритмічне мислення, і навіть 393 00:20:03,170 --> 00:20:07,030 при тому, що наприклад, ви зараз побачите Тобто, в себе, супер просто, це 394 00:20:07,030 --> 00:20:09,820 збирається почати, щоб дати нам психічного модель, словник, з яким 395 00:20:09,820 --> 00:20:14,588 зробити багато, набагато складніші Алгоритми досить швидко. 396 00:20:14,588 --> 00:20:15,576 >> [Початковий відеовідтворення] 397 00:20:15,576 --> 00:20:29,920 >> [Музика Відтворення] 398 00:20:29,920 --> 00:20:31,100 >> Оповідач: Що таке алгоритм? 399 00:20:31,100 --> 00:20:34,730 В області комп'ютерних наук, алгоритм набір інструкцій для вирішення деяких 400 00:20:34,730 --> 00:20:36,620 проблеми крок за кроком. 401 00:20:36,620 --> 00:20:39,650 Як правило, алгоритми виконуються на комп'ютерах, але ми, люди, 402 00:20:39,650 --> 00:20:41,230 алгоритмів, а також. 403 00:20:41,230 --> 00:20:43,290 Наприклад, як би ви про підрахунок числа 404 00:20:43,290 --> 00:20:44,750 людей у ​​кімнаті? 405 00:20:44,750 --> 00:20:47,980 Ну, якщо ви схожі на мене, ви, ймовірно, точка у кожної людини, по одному 406 00:20:47,980 --> 00:20:50,120 один раз, і підрахуйте від 0. 407 00:20:50,120 --> 00:20:52,970 1, 2, 3, 4, і так далі. 408 00:20:52,970 --> 00:20:54,140 >> Ну, це алгоритм. 409 00:20:54,140 --> 00:20:57,600 Справді, давайте спробуємо висловити це трохи більш формально в псевдокоді - 410 00:20:57,600 --> 00:21:00,700 Англійська-подібний синтаксис, який нагадує мови програмування. 411 00:21:00,700 --> 00:21:02,580 Нехай N рівні 0. 412 00:21:02,580 --> 00:21:06,970 Для кожної людини в кімнаті, встановіть N дорівнює N плюс 1. 413 00:21:06,970 --> 00:21:08,400 >> Як інтерпретувати це псевдокод? 414 00:21:08,400 --> 00:21:12,840 Ну, одну лінію заявляє, так би мовити, змінна з ім'ям N і ініціалізує 415 00:21:12,840 --> 00:21:14,250 його значення рівним 0. 416 00:21:14,250 --> 00:21:17,550 Це просто означає, що на початку наш алгоритм, річ, з якою 417 00:21:17,550 --> 00:21:19,650 ми розраховуємо має значення 0. 418 00:21:19,650 --> 00:21:22,620 Адже раніше ми починаємо вважати, Ми не порахували ще нічого. 419 00:21:22,620 --> 00:21:25,340 Виклик цієї змінної N це всього лише умовність. 420 00:21:25,340 --> 00:21:26,890 Я міг би назвати її чим завгодно. 421 00:21:26,890 --> 00:21:30,560 >> Тепер дві лінії demarks початку петлі, послідовність кроків, які будуть 422 00:21:30,560 --> 00:21:32,310 повторювати деяке число разів. 423 00:21:32,310 --> 00:21:35,910 Таким чином, у нашому прикладі, крок ми беремо розраховує чоловік у кімнаті. 424 00:21:35,910 --> 00:21:38,730 Під лінією є лінія два три, яка описує, як саме 425 00:21:38,730 --> 00:21:40,160 ми підемо про підрахунок. 426 00:21:40,160 --> 00:21:43,440 Відступи припускає, що це три лінії, що буду повторюватися. 427 00:21:43,440 --> 00:21:47,380 >> Так що псевдокод кажу, що після того, починаючи з 0, для кожного 428 00:21:47,380 --> 00:21:50,690 людина в номері, ми збільшити N на 1. 429 00:21:50,690 --> 00:21:53,050 Зараз цей алгоритм правильно? 430 00:21:53,050 --> 00:21:54,580 Ну, давайте стукати його небагато. 431 00:21:54,580 --> 00:21:57,270 Це працює, якщо є дві людини в кімнаті? 432 00:21:57,270 --> 00:21:58,170 Давайте подивимося. 433 00:21:58,170 --> 00:22:00,260 >> Відповідно одному ми инициализируем N до 0. 434 00:22:00,260 --> 00:22:03,660 Для кожного з цих двох людей ми потім збільшити N на 1. 435 00:22:03,660 --> 00:22:07,310 Так в першій поїздці через петлі, ми оновлюємо N від 0 до 1. 436 00:22:07,310 --> 00:22:11,070 У другій поїздці через цю ж петлі, ми оновлюємо N від 1 до 2. 437 00:22:11,070 --> 00:22:15,780 І ось до кінця цього алгоритму, N 2, який дійсно відповідає числу 438 00:22:15,780 --> 00:22:16,700 людей у ​​кімнаті. 439 00:22:16,700 --> 00:22:17,760 >> Поки все йде добре. 440 00:22:17,760 --> 00:22:19,610 Як щодо прикордонний випадок, правда? 441 00:22:19,610 --> 00:22:22,590 Припустимо, що є 0 людей в кімнаті - крім мене, 442 00:22:22,590 --> 00:22:24,170 хто робить підрахунок. 443 00:22:24,170 --> 00:22:27,150 Відповідно одному ми инициализируем N до 0. 444 00:22:27,150 --> 00:22:30,280 На цей раз, однак, три лiнiї не виконати на всіх, так як немає 445 00:22:30,280 --> 00:22:31,370 чоловік у кімнаті. 446 00:22:31,370 --> 00:22:35,260 І так N залишається рівним 0, що відповідає Кількість осіб в кімнаті. 447 00:22:35,260 --> 00:22:36,420 Досить просто, чи не так? 448 00:22:36,420 --> 00:22:39,630 >> Але підрахунок людей по одному досить неефективно, теж немає? 449 00:22:39,630 --> 00:22:40,920 Звичайно, ми можемо зробити краще. 450 00:22:40,920 --> 00:22:43,120 Чому б не вважати двох чоловік за один раз? 451 00:22:43,120 --> 00:22:49,300 Замість підрахунку 1, 2, 3, 4, 5, 6, 7, 8, і так далі, то чому б не розраховувати, 2, 452 00:22:49,300 --> 00:22:51,460 4, 6, 8, і так далі? 453 00:22:51,460 --> 00:22:53,700 Це навіть звучить швидше, і вона, безумовно, є. 454 00:22:53,700 --> 00:22:56,240 >> Висловимо цю оптимізацію в псевдокоді. 455 00:22:56,240 --> 00:22:57,800 Нехай N рівні 0. 456 00:22:57,800 --> 00:23:02,450 Для кожної пари людина в номері, встановлений рівним N N плюс 2. 457 00:23:02,450 --> 00:23:04,120 Досить проста зміна, чи не так? 458 00:23:04,120 --> 00:23:06,750 Замість того, щоб вважати людей одного в той час, ми замість цього розраховувати 459 00:23:06,750 --> 00:23:08,300 їх по два за раз. 460 00:23:08,300 --> 00:23:10,980 Даного алгоритму таким чином, в два рази так само швидко, як і попередні. 461 00:23:10,980 --> 00:23:12,180 >> Але хіба це правильно? 462 00:23:12,180 --> 00:23:12,920 Давайте подивимося. 463 00:23:12,920 --> 00:23:15,330 Це працює, якщо є дві людини в кімнаті? 464 00:23:15,330 --> 00:23:17,550 Відповідно одному ми инициализируем N до 0. 465 00:23:17,550 --> 00:23:20,920 З цієї однієї пари людей, ми потім збільшити N на два. 466 00:23:20,920 --> 00:23:24,860 І ось до кінця цього алгоритму, N 2, який дійсно відповідає числу 467 00:23:24,860 --> 00:23:25,650 людей у ​​кімнаті. 468 00:23:25,650 --> 00:23:28,250 >> Припустимо тепер, що існує 0 людей в кімнаті. 469 00:23:28,250 --> 00:23:30,840 Відповідно одному ми инициализируем N до 0. 470 00:23:30,840 --> 00:23:34,330 Як і колись, три лінії не виконує взагалі, так як немає ніяких пар 471 00:23:34,330 --> 00:23:35,380 людей у ​​кімнаті. 472 00:23:35,380 --> 00:23:38,350 І т. п. залишається 0, що дійсно збігається з числом 473 00:23:38,350 --> 00:23:39,570 людей у ​​кімнаті. 474 00:23:39,570 --> 00:23:42,280 >> Але що, якщо є три людей у ​​кімнаті? 475 00:23:42,280 --> 00:23:44,130 Як працює цей алгоритм тариф? 476 00:23:44,130 --> 00:23:44,990 Давайте подивимося. 477 00:23:44,990 --> 00:23:47,460 Відповідно одному ми инициализируем N до 0. 478 00:23:47,460 --> 00:23:50,870 Для пари з тих людей, ми потім збільшити N на 2. 479 00:23:50,870 --> 00:23:51,800 Але що потім? 480 00:23:51,800 --> 00:23:54,960 Існує не інший повний пара людей в кімнаті, тому ніколи не дві лінії 481 00:23:54,960 --> 00:23:56,180 більше не застосовується. 482 00:23:56,180 --> 00:24:00,530 І ось до кінця цього алгоритму, N 2 як і раніше, що не відповідає дійсності. 483 00:24:00,530 --> 00:24:03,810 >> Дійсно, цей алгоритм, як кажуть, помилку, так як вона має помилку. 484 00:24:03,810 --> 00:24:05,820 Дозволяє відшкодування з деякими новими псевдокод. 485 00:24:05,820 --> 00:24:09,670 Нехай п рівним 0 для кожної пари чоловік в номері. 486 00:24:09,670 --> 00:24:12,550 Замість N дорівнює N плюс 2. 487 00:24:12,550 --> 00:24:17,140 Якщо одна людина залишається непарним, встановлений рівним N N плюс 1. 488 00:24:17,140 --> 00:24:20,140 Для вирішення цієї конкретної проблеми, у нас введені відповідно чотири, 489 00:24:20,140 --> 00:24:24,520 стані, інакше відомий як філія , Що виконується тільки, якщо є один 490 00:24:24,520 --> 00:24:26,640 людина, що ми не могли пару з іншим. 491 00:24:26,640 --> 00:24:30,440 І ось тепер, чи є один або три чи будь-яке непарне число людей у 492 00:24:30,440 --> 00:24:33,290 кімнату, цей алгоритм Тепер порахувати. 493 00:24:33,290 --> 00:24:34,560 >> Чи можемо ми зробити ще краще? 494 00:24:34,560 --> 00:24:38,820 Ну, ми могли розраховувати в 3s або 4s або навіть 5S і 10 с, але крім того, це 495 00:24:38,820 --> 00:24:41,360 збирається отримати трохи Важко точки. 496 00:24:41,360 --> 00:24:44,660 Зрештою, чи виконані комп'ютерами або людей, 497 00:24:44,660 --> 00:24:46,750 Алгоритми просто набір інструкцій з 498 00:24:46,750 --> 00:24:48,290 який для вирішення проблем. 499 00:24:48,290 --> 00:24:49,792 Вони були тільки три. 500 00:24:49,792 --> 00:24:52,404 Яку проблему ви б вирішити з алгоритмом? 501 00:24:52,404 --> 00:24:52,901 >> [КІНЕЦЬ відеовідтворення] 502 00:24:52,901 --> 00:24:55,883 >> DAVID мала: Це єдиний раз, Я буду з'являтися до формі мультфільму. 503 00:24:55,883 --> 00:25:01,050 Але там, де ця історія закінчується, Тепер, як ми можемо зробити краще? 504 00:25:01,050 --> 00:25:04,680 Трійки і четвірки, ми стверджуємо, що ми можемо розраховувати люди набагато швидше, але ми можемо 505 00:25:04,680 --> 00:25:06,290 зробити принципово краще, ніж це? 506 00:25:06,290 --> 00:25:07,540 І тримаю парі, ми можемо. 507 00:25:07,540 --> 00:25:11,980 >> Якщо ввести трохи нашого власного псевдокод тут, я збираюся запропонувати 508 00:25:11,980 --> 00:25:14,550 що ми можемо досягти такий рядок. 509 00:25:14,550 --> 00:25:17,280 Ми не збираємося вважати людей один, два, три, чотири. 510 00:25:17,280 --> 00:25:19,470 Ми не збираємося йти два, чотири, шість, вісім. 511 00:25:19,470 --> 00:25:23,390 Ми збираємося зробити принципово краще шляхом переосмислення проблеми, і в цьому 512 00:25:23,390 --> 00:25:27,080 випадку, використовуючи в іншому випадку недостатній мірі використовуються. 513 00:25:27,080 --> 00:25:31,460 >> Через хвилину, я сподіваюся, ви вибачте і гумору нам, стоячи в 514 00:25:31,460 --> 00:25:34,470 місці, і в цей момент ми збираємося прошу кожного з вас взяти на себе у вашому 515 00:25:34,470 --> 00:25:36,400 уми номер 1. 516 00:25:36,400 --> 00:25:39,560 Ти то при переході на більш ніяково, як час проходить, знайти 517 00:25:39,560 --> 00:25:42,740 хтось ще, хто стоїть, об'єднайте ваші номери разом 518 00:25:42,740 --> 00:25:43,720 шляхом додавання їх. 519 00:25:43,720 --> 00:25:47,490 Один з вас потім збирається брати участь в гонці, щоб сидіти вниз першою, і інша людина 520 00:25:47,490 --> 00:25:48,880 збирається повторити. 521 00:25:48,880 --> 00:25:53,090 >> Отже, іншими словами, шляхом посіву всі Ви з номером 1, а потім 522 00:25:53,090 --> 00:25:57,800 комбінуванні 1S в 2s і 2s тих, в 4s, з усіма все більш 523 00:25:57,800 --> 00:26:02,740 сідаючи, ми повинні, врешті цей алгоритм, є тільки один кредит 524 00:26:02,740 --> 00:26:07,570 душа, яка не сідав, але досить швидко , Який має всього кількості аудиторій 525 00:26:07,570 --> 00:26:09,180 в своєму розумі. 526 00:26:09,180 --> 00:26:13,730 >> Так що якщо ви, давайте йти вперед і - Крок перший - встати на місце. 527 00:26:13,730 --> 00:26:15,600 І виконати. 528 00:26:15,600 --> 00:26:36,580 >> [Натовп нарікання] 529 00:26:36,580 --> 00:26:38,820 >> DAVID мала: Ви знаєте, де Лорен? 530 00:26:38,820 --> 00:26:40,179 729? 531 00:26:40,179 --> 00:27:23,350 >> [Натовп нарікання] 532 00:27:23,350 --> 00:27:24,340 >> DAVID мала: Все в порядку? 533 00:27:24,340 --> 00:27:39,110 >> [Натовп нарікання] 534 00:27:39,110 --> 00:27:41,365 >> DAVID мала: Добре, ми повинні бути підходить до кінця. 535 00:27:41,365 --> 00:27:44,340 536 00:27:44,340 --> 00:27:47,670 Ми бачимо, один хлопець стояв тут до сих пір. 537 00:27:47,670 --> 00:27:48,770 Хто ще має бути в парі? 538 00:27:48,770 --> 00:27:50,020 Якщо ви, хлопці, хочете на пари. 539 00:27:50,020 --> 00:27:53,260 540 00:27:53,260 --> 00:27:56,520 Хтось нагорі. 541 00:27:56,520 --> 00:27:58,150 Чому б мені не протягнути руку тут. 542 00:27:58,150 --> 00:28:01,370 Для дуже небагатьох людей, які до цих пір стоячи, які цифри ви 543 00:28:01,370 --> 00:28:02,790 в своєму розумі? 544 00:28:02,790 --> 00:28:04,020 >> СТУДЕНТ: 78. 545 00:28:04,020 --> 00:28:06,010 >> DAVID мала: 78 плюс - 546 00:28:06,010 --> 00:28:07,840 хто стоїть тут? 547 00:28:07,840 --> 00:28:08,370 >> СТУДЕНТ: 39. 548 00:28:08,370 --> 00:28:09,590 >> DAVID мала: Плюс 39. 549 00:28:09,590 --> 00:28:12,310 Плюс, хто ще досі стоїть? 550 00:28:12,310 --> 00:28:13,650 81? 551 00:28:13,650 --> 00:28:15,960 Добре, хто ж ще? 552 00:28:15,960 --> 00:28:17,200 Інший 81? 553 00:28:17,200 --> 00:28:17,860 Нічого собі. 554 00:28:17,860 --> 00:28:19,210 І тоді те, що в спину? 555 00:28:19,210 --> 00:28:20,360 >> СТУДЕНТ: 49. 556 00:28:20,360 --> 00:28:21,812 >> DAVID мала: 49, плюс? 557 00:28:21,812 --> 00:28:22,950 >> СТУДЕНТ: 98. 558 00:28:22,950 --> 00:28:24,980 >> DAVID мала: плюс 98? 559 00:28:24,980 --> 00:28:28,190 Те, що хтось ще? 560 00:28:28,190 --> 00:28:29,155 12? 561 00:28:29,155 --> 00:28:30,460 Хороша робота. 562 00:28:30,460 --> 00:28:33,610 >> [Сміється] 563 00:28:33,610 --> 00:28:34,690 >> DAVID мала: О, 112 - 564 00:28:34,690 --> 00:28:35,410 ой. 565 00:28:35,410 --> 00:28:36,220 Хороша робота! 566 00:28:36,220 --> 00:28:38,660 >> [Сміється] 567 00:28:38,660 --> 00:28:42,570 >> [Оплески] 568 00:28:42,570 --> 00:28:43,820 >> DAVID мала: Будь-який інший ще стоїть? 569 00:28:43,820 --> 00:28:46,710 570 00:28:46,710 --> 00:28:47,260 Пробачте? 571 00:28:47,260 --> 00:28:48,110 >> СТУДЕНТ: 99. 572 00:28:48,110 --> 00:28:49,810 >> DAVID мала: 99. 573 00:28:49,810 --> 00:28:52,620 Будь-який інший ще стоїть? 574 00:28:52,620 --> 00:28:57,290 І загальне число студентів тут насправді, відповідно до - 575 00:28:57,290 --> 00:28:59,400 чи є у вас номер? 576 00:28:59,400 --> 00:29:03,170 О, фактичне число людей у кімнату, відповідно до облікового запису, яка 577 00:29:03,170 --> 00:29:07,660 вчення товариші робили на шляху кожного в, було 729. 578 00:29:07,660 --> 00:29:11,070 Так з кімнату, повну студентів Гарварду які вважали себе, 579 00:29:11,070 --> 00:29:14,126 відповідь 637. 580 00:29:14,126 --> 00:29:15,480 >> [Сміється] 581 00:29:15,480 --> 00:29:16,350 >> DAVID мала: так близько. 582 00:29:16,350 --> 00:29:17,360 Але все ж. 583 00:29:17,360 --> 00:29:22,110 ОК, так що це навчання момент, чи не так? 584 00:29:22,110 --> 00:29:24,120 Це зараз те, що ми описуємо як помилку. 585 00:29:24,120 --> 00:29:28,120 Десь по дорозі, ми зробили деякі арифметичні неправильно, або хтось сів, 586 00:29:28,120 --> 00:29:29,930 або вліво, або щось пішло не так. 587 00:29:29,930 --> 00:29:30,930 Але це нормально. 588 00:29:30,930 --> 00:29:33,390 Тому що навіть до цих пір, ми отримав досить близько. 589 00:29:33,390 --> 00:29:37,480 І я б стверджувати, що ми дісталися до неправильного відповісти набагато швидше, ніж я мав би 590 00:29:37,480 --> 00:29:39,770 за допомогою мого більш лінійний підхід. 591 00:29:39,770 --> 00:29:42,630 >> Отже, давайте припустимо, що ми й справді отримати, що правильно, але думаю, що зараз про те, що 592 00:29:42,630 --> 00:29:46,870 відбувається кожного разу, порівняно з моїм власні наївні вказуючи алгоритму. 593 00:29:46,870 --> 00:29:48,420 Один, два, три. 594 00:29:48,420 --> 00:29:53,010 Якщо насправді є 729 або 637 осіб ось, що взяв би мене 595 00:29:53,010 --> 00:29:57,720 буквально 637 або 729 цифрові значення шкали з пальця і 596 00:29:57,720 --> 00:29:59,490 приростом мого загальної кількості. 597 00:29:59,490 --> 00:30:01,910 І я міг би зробити трохи краще збирається два, чотири, шість, вісім, а 598 00:30:01,910 --> 00:30:05,660 вдвічі більше, ніж швидкість, може бути, навіть трьох-або Чотиримісний, залежно, як добре я можу 599 00:30:05,660 --> 00:30:07,110 робити, що підрахунок в моїй голові. 600 00:30:07,110 --> 00:30:10,720 >> Але такий підхід, що ви, хлопці, взяли була принципово інша. 601 00:30:10,720 --> 00:30:12,770 Так як на початку, всі ви встали. 602 00:30:12,770 --> 00:30:14,620 Таким чином, всі 729. 603 00:30:14,620 --> 00:30:17,370 А потім буквально половину з вас сіл. 604 00:30:17,370 --> 00:30:19,720 А після того, інший половина з вас сіл. 605 00:30:19,720 --> 00:30:22,650 А після того, інший половина з вас сіл. 606 00:30:22,650 --> 00:30:27,470 >> А загальна кількість разів, яке ви хлопці, могли б сіли приблизно 607 00:30:27,470 --> 00:30:31,740 вісім або дев'ять або десять разів загальна, залежно від того, що наш загальний лічильник. 608 00:30:31,740 --> 00:30:33,300 І ми можемо сортувати, робити це в інший бік. 609 00:30:33,300 --> 00:30:37,740 Якби ми мали 1024 осіб у кімнаті, загальна кількість разів, ви могли б 610 00:30:37,740 --> 00:30:41,870 вдвічі скоротити 1024 чоловік 10. 611 00:30:41,870 --> 00:30:43,370 >> Тепер подумайте про це в іншому напрямку. 612 00:30:43,370 --> 00:30:49,170 Припустимо, смішно, що у нас було, скажімо, чотири мільярди людей у ​​цій кімнаті, 613 00:30:49,170 --> 00:30:50,860 або номер трохи більшого розміру. 614 00:30:50,860 --> 00:30:54,550 Скільки разів ми пішли через цей алгоритм такий, що половина 615 00:30:54,550 --> 00:30:58,110 цього класу сідає? 616 00:30:58,110 --> 00:31:03,050 Це тільки збирається взяти 32 таких операції, навіть у класі розмір 617 00:31:03,050 --> 00:31:03,770 чотири мільярди. 618 00:31:03,770 --> 00:31:04,055 Чому? 619 00:31:04,055 --> 00:31:06,980 Тому що чотири мільярди йде на два млрд, йде до одного мільйона, йде на 620 00:31:06,980 --> 00:31:09,925 500000000, йде до 250 млн., точка, точка, точка. 621 00:31:09,925 --> 00:31:14,940 Я можу тільки зробити це поділ приблизно 32 раз, і в цей момент всі, крім 622 00:31:14,940 --> 00:31:17,820 одна людина залишиться стояти. 623 00:31:17,820 --> 00:31:21,590 >> І це теж є свого роду потужний Ідея, що все частіше ми постараємося 624 00:31:21,590 --> 00:31:24,690 важелів в цьому, звичайно, і в програмування та інформатики більше 625 00:31:24,690 --> 00:31:29,400 Як правило, ці паростки ідею з які ми можемо вирішувати проблеми багато, 626 00:31:29,400 --> 00:31:31,130 набагато більш потужно. 627 00:31:31,130 --> 00:31:34,610 Отже, ми почали досить простий, що з псевдокод і хлопець у кімнаті, але 628 00:31:34,610 --> 00:31:38,205 Тепер з цілою кімнаті, повній людей ми зробили принципово краще. 629 00:31:38,205 --> 00:31:41,460 >> Ну, давайте тепер перехід від псевдокод деяким фактичним кодом. 630 00:31:41,460 --> 00:31:44,200 Це мова, який ви збираєтеся, щоб відбулося називатися JavaScript і 631 00:31:44,200 --> 00:31:46,190 Ми повернемося до цього напрямку кінці семестру. 632 00:31:46,190 --> 00:31:49,960 Це мова програмування, який використовувати, щоб зробити веб-сайти та інші подібні 633 00:31:49,960 --> 00:31:51,360 програмного забезпечення в ці дні. 634 00:31:51,360 --> 00:31:54,890 І ми використовували його, завдяки другові наша в Стенфордському університеті, для кодування 635 00:31:54,890 --> 00:31:56,630 деякі приховані інформацію тут. 636 00:31:56,630 --> 00:31:59,500 Це мистецтво стеганографії, так сказати, де можна сховатися 637 00:31:59,500 --> 00:32:03,990 інформації в тому, що в іншому випадку представляється бути шум або зовсім інший 638 00:32:03,990 --> 00:32:05,220 зображення в цілому. 639 00:32:05,220 --> 00:32:10,120 Але, вбудованого в дане конкретне зображення дійсно таємне послання сортів. 640 00:32:10,120 --> 00:32:12,950 >> Отже, дозвольте мені йти вперед і підтягнути і те ж зображення тут, це 641 00:32:12,950 --> 00:32:14,270 час у веб-браузері. 642 00:32:14,270 --> 00:32:17,710 І я збираюся махнути рукою на деякі з докладно на сьогоднішній день, зокрема 643 00:32:17,710 --> 00:32:21,780 Для тих з вас, хто це виглядає як не тільки JavaScript, але грецькі, а 644 00:32:21,780 --> 00:32:23,930 абсолютно незнайомої мови. 645 00:32:23,930 --> 00:32:26,190 Але цей приклад мови програмування. 646 00:32:26,190 --> 00:32:30,660 >> І на даний момент, прийняти на віру, що це перший рядок коду - 647 00:32:30,660 --> 00:32:32,470 і код, я просто означає тексту. 648 00:32:32,470 --> 00:32:35,660 Текст, який я міг би буквально набрані у форматі Microsoft Word, якщо у мене було 649 00:32:35,660 --> 00:32:37,630 Право програмне забезпечення, щоб потім щось з ним зробити. 650 00:32:37,630 --> 00:32:42,120 Ісходников програм, програмування коду, насправді просто текст, і це 651 00:32:42,120 --> 00:32:45,420 виглядає інакше засновані на якій мові Ви використовуєте, не в відміну від англійської та 652 00:32:45,420 --> 00:32:49,200 Іспанська та російська всі виглядають по-різному по мірі їх набору на клавіатурі. 653 00:32:49,200 --> 00:32:53,520 >> Таким чином, це перший рядок, на даний момент взяти на себе віри, просто відкриває графіки з 654 00:32:53,520 --> 00:32:56,160 Інтернет, що галасливі графічні ми тільки що бачили. 655 00:32:56,160 --> 00:32:59,900 У наступному рядку тут наведено приклад петлю, і ми фактично побачили, що ж 656 00:32:59,900 --> 00:33:01,130 жаргон у відео TED. 657 00:33:01,130 --> 00:33:03,750 Петля є те, що трапиться ще раз і знову, і навіть якщо це 658 00:33:03,750 --> 00:33:08,440 Абсолютно виглядає загадковим, з ключове слово, а деякі дужки і 659 00:33:08,440 --> 00:33:09,510 деякі коми. 660 00:33:09,510 --> 00:33:13,070 Ми повернемося до цього незабаром, але це петля там по суті є 661 00:33:13,070 --> 00:33:17,310 повідомляючи програмі, перебору всіх з тих галасливих точок, ліворуч 662 00:33:17,310 --> 00:33:18,980 направо, зверху вниз. 663 00:33:18,980 --> 00:33:21,260 >> Тому що в кінці дня, зображення подобається це - і ви можете фактично 664 00:33:21,260 --> 00:33:22,860 почасти бачити його на цьому проекторі - 665 00:33:22,860 --> 00:33:25,280 насправді просто сітку з точок. 666 00:33:25,280 --> 00:33:29,730 Так ми можемо визначити кожну з цих точок по координаті х, у, і з цією 667 00:33:29,730 --> 00:33:33,890 програми, в даний час ми можемо почати щось зробити, щоб ці точки. 668 00:33:33,890 --> 00:33:37,540 >> Так що я збираюся йти вперед тут і роблю, я збираюся внести деякі зміни. 669 00:33:37,540 --> 00:33:41,000 Спочатку я збираюся йти вперед і позбутися всього цього зеленувато та блакитно 670 00:33:41,000 --> 00:33:43,520 шум, і я збираюся йти вперед і введіть наступні 671 00:33:43,520 --> 00:33:45,710 Правда загадковим синтаксисом. 672 00:33:45,710 --> 00:33:48,020 їм для зображення. 673 00:33:48,020 --> 00:33:53,380 набір синій за місцем знаходження х, кома, розташування у, рівним 0. 674 00:33:53,380 --> 00:33:55,610 Іншими словами, я хочу просто вимкнути все синім 675 00:33:55,610 --> 00:33:56,920 крапки в цій картині. 676 00:33:56,920 --> 00:33:59,800 >> Я збираюся йти вперед зараз і перейдіть Виконати цю кнопку Зберегти /, і Ви будете 677 00:33:59,800 --> 00:34:02,850 помітили на правій стороні, отримане зображення. 678 00:34:02,850 --> 00:34:06,120 Тепер його супер зелений, але це не дивно, тому що я буквально виявився 679 00:34:06,120 --> 00:34:11,070 вимкнений, зробивши 1 0 всі синій в цій картині. 680 00:34:11,070 --> 00:34:12,540 >> Ну, а тепер давайте зробимо це трохи більше. 681 00:34:12,540 --> 00:34:16,989 їм для зображення, точка setGreen, х, у. 682 00:34:16,989 --> 00:34:20,659 І це просто означає ітерацію ліворуч направо і зверху вниз. 683 00:34:20,659 --> 00:34:23,520 Вимкни зі значенням 0, а також. 684 00:34:23,520 --> 00:34:24,750 Зберегти. 685 00:34:24,750 --> 00:34:28,100 І на проекторі, ви не можете насправді дійсно нічого видно не було. 686 00:34:28,100 --> 00:34:31,380 >> На екрані мого ноутбука, якщо я заглядаю всього правильний шлях, я бачу трохи 687 00:34:31,380 --> 00:34:33,300 зображення, тому що вони як і раніше деякі червоні там. 688 00:34:33,300 --> 00:34:35,540 Якщо ви коли-небудь чули акронім RGB - 689 00:34:35,540 --> 00:34:36,830 червоний, зелений, синій - 690 00:34:36,830 --> 00:34:39,110 він має на увазі ця композиція із зображення за допомогою 691 00:34:39,110 --> 00:34:40,230 тільки тих трьох кольорів. 692 00:34:40,230 --> 00:34:43,159 І прямо зараз, ми викинули все зелене, все синє, але 693 00:34:43,159 --> 00:34:44,500 існує не так багато червоного кольору. 694 00:34:44,500 --> 00:34:45,920 >> Отже, дозвольте мені вичавити максимум червоним. 695 00:34:45,920 --> 00:34:47,070 Як я можу це зробити? 696 00:34:47,070 --> 00:34:49,300 Ну, по-перше, я хочу попросити ця програма питання. 697 00:34:49,300 --> 00:34:52,030 Я збираюся йти вперед і назвемо його змінної, як в алгебрі. 698 00:34:52,030 --> 00:34:54,060 У вас може бути Х або Y або Z. 699 00:34:54,060 --> 00:34:57,230 Я збираюся оголосити змінну і сказати, покласти в цю змінну, 700 00:34:57,230 --> 00:35:02,790 тимчасово, значення зображення getRed значення при х, у. 701 00:35:02,790 --> 00:35:05,870 >> І знову, ми повернемося до все цієї деталі в майбутньому. 702 00:35:05,870 --> 00:35:10,630 Але на сьогоднішній день, просто взяти на віру, що ця лінія просять програми, що 703 00:35:10,630 --> 00:35:12,740 це значення червоного на х, у? 704 00:35:12,740 --> 00:35:14,450 Саме в це точка? 705 00:35:14,450 --> 00:35:15,710 >> Тоді я збираюся зробити щось до нього. 706 00:35:15,710 --> 00:35:21,100 Тоді я збираюся зробити точкове зображення набір червоний на х, у, у, але на цей раз я збираюся 707 00:35:21,100 --> 00:35:24,760 підвищити його, роблячи червоним рази, скажімо, 10. 708 00:35:24,760 --> 00:35:26,870 Так що збільшити його в 10 разів. 709 00:35:26,870 --> 00:35:29,880 Дозвольте мені тепер зменшити масштаб і натисніть могли Виконати / Зберегти. 710 00:35:29,880 --> 00:35:36,430 І вуаля, яка була там всього час, навіть якщо наші людські очі 711 00:35:36,430 --> 00:35:37,900 не міг побачити його. 712 00:35:37,900 --> 00:35:41,470 >> Отже, ще раз, це зараз є реальним кодом, приклад мови, що ми приїдемо 713 00:35:41,470 --> 00:35:42,770 Повернутися до незабаром. 714 00:35:42,770 --> 00:35:46,670 Але зрозумійте, зокрема тих з вас, з такого досвіду немає, це досить 715 00:35:46,670 --> 00:35:50,280 скоро, що ми самі буде написання коду подобається, що є. 716 00:35:50,280 --> 00:35:54,520 Справді, інструмент, з яким ви всі трохи знайомі, мабуть, CS50 учасника 717 00:35:54,520 --> 00:35:57,330 власний курс-торговий інструмент, який був насправді перезавантаження цього літа деякі 718 00:35:57,330 --> 00:36:01,070 CS50 з власних колишніх студентів, тепер TFS. 719 00:36:01,070 --> 00:36:04,740 >> Так що це, виявляється, сайт побудований на мові, званому PHP. 720 00:36:04,740 --> 00:36:08,510 Він використовує базу даних з ім'ям MySQL, речі , З яким ми отримаємо в свої руки 721 00:36:08,510 --> 00:36:10,190 брудні пізніше на семестр. 722 00:36:10,190 --> 00:36:14,140 Але вірити цьому чи ні, навіть щось як це в кінцевому підсумку зводиться до 723 00:36:14,140 --> 00:36:19,480 найпростіших петель і умови і філії, як і ті, які ми бачили тільки 724 00:36:19,480 --> 00:36:21,530 Хвилину тому у відео TED. 725 00:36:21,530 --> 00:36:25,180 >> Те, що я думав, що я зараз зробити, це частка НЕ просто те, що ми зробили персоналу 726 00:36:25,180 --> 00:36:28,010 для кампуса, а щось колишній студент - три 727 00:36:28,010 --> 00:36:29,080 студентів, насправді - 728 00:36:29,080 --> 00:36:33,950 зробили це в минулому році, Сьєрра, Данило і Сем, останній з яких раніше не мали 729 00:36:33,950 --> 00:36:36,370 Досвід програмування коли він узяв CS50. 730 00:36:36,370 --> 00:36:39,950 І для їх остаточного проекту, вони виставлені на ярмарку CS50, 731 00:36:39,950 --> 00:36:43,720 додаток під назвою wrdly, яка є веб-програми, для якої вони зроблені 732 00:36:43,720 --> 00:36:47,670 це відео, що я думав, що я розділю на дати вам відчуття тільки те, що 733 00:36:47,670 --> 00:36:49,280 можливо до кінця терміну. 734 00:36:49,280 --> 00:37:57,170 >> [Музика Відтворення] 735 00:37:57,170 --> 00:38:00,570 >> DAVID мала: Це від нульової тижня Тиждень до 12 в минулому році. 736 00:38:00,570 --> 00:38:05,470 >> [Оплески] 737 00:38:05,470 --> 00:38:09,520 >> DAVID мала: як тизер, також, дійсно щоб підігріти апетит до того, що 738 00:38:09,520 --> 00:38:14,580 можливо, ви, можливо, бачили вже, або може незабаром побачимо, market.cs50.net, 739 00:38:14,580 --> 00:38:17,710 новий інструмент, який команда курсу має працюєте, на цей раз в 740 00:38:17,710 --> 00:38:21,530 Студент співпраці з Гарвардської Установи, такі, що починаючи з цього року 741 00:38:21,530 --> 00:38:24,980 і продовження, сподіваюся в цей найближчим літом ви будете мати стандартну 742 00:38:24,980 --> 00:38:27,890 можливість на території кампуса, щоб купити і продати речі, що представляють інтерес для вас. 743 00:38:27,890 --> 00:38:32,220 І з HSA партнерства шляхом, ви Також зможете відмовитися пунктів від 744 00:38:32,220 --> 00:38:35,950 в одному з фізичних магазинах HSA в деякий момент у майбутньому, з тим щоб 745 00:38:35,950 --> 00:38:39,150 проксі речей, зокрема, як ви випускник і не обов'язково хочуть 746 00:38:39,150 --> 00:38:44,110 відмовитися від речей, але насправді платити направити людей, які можуть слідувати за вами 747 00:38:44,110 --> 00:38:45,270 Тут на території кампуса. 748 00:38:45,270 --> 00:38:46,740 Так про це в майбутньому. 749 00:38:46,740 --> 00:38:49,830 >> Але трохи більш конкретно, інструмент який виходить з CS50 в останні 750 00:38:49,830 --> 00:38:52,760 років, з яким деякі з вас могли б бути знайомі та інші ви можете бути 751 00:38:52,760 --> 00:38:57,940 вдаючись до допомоги зараз, в CS50.net/2x, ви будете знайти посилання на розширення Chrome 752 00:38:57,940 --> 00:39:01,250 які демонстративно, як ви можете використовувати JavaScript, той же самий мову, який ми 753 00:39:01,250 --> 00:39:06,660 використані з Ейфелевою вежею хвилину тому, для реалізації 2x швидкості відтворення 754 00:39:06,660 --> 00:39:09,000 для всіх Гарвардський iSites відео. 755 00:39:09,000 --> 00:39:11,880 Це те, що побудований у власний відеоплеєр CS50 автора. 756 00:39:11,880 --> 00:39:14,870 Але і це теж, якщо ви починаєте копатися у вихідний код, який ми 757 00:39:14,870 --> 00:39:18,840 щасливо зробити доступним, ви побачите, як Ви можете навіть вирішити такі проблеми, як, що, 758 00:39:18,840 --> 00:39:23,180 прискорення віджетів у веб-сайти з які ви вже добре знайомі. 759 00:39:23,180 --> 00:39:26,630 >> Так що тепер слово на хід і очікування і що чекає попереду. 760 00:39:26,630 --> 00:39:29,445 Загалом, ми дійсно збираємося тут по понеділках і середах - хоча 761 00:39:29,445 --> 00:39:31,490 в цю п'ятницю, ми зібралися тому, шопінгу тиждень - 762 00:39:31,490 --> 00:39:34,640 1:00 до 2:00 вечора, хоча Чи не іноді до 2:30. 763 00:39:34,640 --> 00:39:38,700 Враховуючи, що Отже, ви, або доведеться прийняти деякі клас в 2:00 вечора 764 00:39:38,700 --> 00:39:42,480 вперед, або навіть раніше, розумієш, Курс підтримує те, що називається 765 00:39:42,480 --> 00:39:45,900 одночасна реєстрація, якою ми будемо підтримують петицію та Дошка оголошень 766 00:39:45,900 --> 00:39:49,400 ваші резиденти деканів від вашого імені, якщо у вас конфлікт десь у цьому 767 00:39:49,400 --> 00:39:50,790 1:00 до 2:30 діапазоні. 768 00:39:50,790 --> 00:39:54,110 Голова до URL, що онлайн додаткової інформації. 769 00:39:54,110 --> 00:39:57,750 >> Але з точки зору опорної конструкції , Що характеризує CS50, для студентів 770 00:39:57,750 --> 00:40:01,750 більш і менш зручні, так, ми пропонують різні треки розділах. 771 00:40:01,750 --> 00:40:04,730 І це пару тижнів відпустки, але Найближчим часом, вам буде запропоновано, щоб 772 00:40:04,730 --> 00:40:05,770 ваш рівень комфорту. 773 00:40:05,770 --> 00:40:08,590 Ви серед тих, менше знайомі, більш комфортною, або 774 00:40:08,590 --> 00:40:10,520 десь посередині? 775 00:40:10,520 --> 00:40:13,150 >> І ми будемо мати три різних треків, які обслуговують 776 00:40:13,150 --> 00:40:14,470 саме ті аудиторії. 777 00:40:14,470 --> 00:40:17,900 Так що ні в який момент цей термін набув ви навіть відчуваєте, як ви збираєтеся перемогти 778 00:40:17,900 --> 00:40:21,390 проти будь-який студент з більш або менш тлі, ніж ви. 779 00:40:21,390 --> 00:40:24,160 Дійсно, курс призначений для набагато більше спільних і багато 780 00:40:24,160 --> 00:40:25,650 більш відкритою, ніж це. 781 00:40:25,650 --> 00:40:29,030 >> З точки зору проблеми набори, ви знайти також, що на додаток до 782 00:40:29,030 --> 00:40:32,130 стандартна редакція проблеми щотижня встановлений, там часто "хакер 783 00:40:32,130 --> 00:40:37,010 Видання ", що означало бути спрямовані на 5% до 10% або близько того 784 00:40:37,010 --> 00:40:40,270 демографічні, хто дійсно серед тих, зручнішою і хотів би більше 785 00:40:40,270 --> 00:40:43,960 складним завданням, ніж стандартний виданню, що очікує PSET. 786 00:40:43,960 --> 00:40:46,390 Більш детальна інформація про тих, які будуть знайти в програмі. 787 00:40:46,390 --> 00:40:49,430 >> Але і там можна знайти подробиці на курсах кінця днів. 788 00:40:49,430 --> 00:40:51,570 Зазвичай проблема встановлює обумовлені по четвергах. 789 00:40:51,570 --> 00:40:55,550 Тим не менш, ви можете розширити багато хто з ваших терміни цієї осені від четвергах 790 00:40:55,550 --> 00:41:00,010 П'ятницях просто зустрічаючи нас на півдорозі, так би мовити, відповівши на кілька розминки 791 00:41:00,010 --> 00:41:03,370 питань у деяких проблема тижня набори, який буде автоматично 792 00:41:03,370 --> 00:41:05,710 Потім дати вам додаткові 24 годин. 793 00:41:05,710 --> 00:41:09,120 Ми також впаде ваша низька Оцінка, відповідно до навчальної програми. 794 00:41:09,120 --> 00:41:12,170 >> Щоб дати вам відчуття того, що проблема Набори - тому що це дійсно 795 00:41:12,170 --> 00:41:15,120 Проблема звичайно, встановлює, що в кінцевому рахунку, визначають майже кожен 796 00:41:15,120 --> 00:41:18,760 студентський досвід, більше, ніж лекції, більше, ніж розділів, більш 797 00:41:18,760 --> 00:41:21,230 , Ніж більшість інших аспект курсу. 798 00:41:21,230 --> 00:41:25,140 Торік, наприклад, ми почали, як ми почнемо в цьому році, з нуля. 799 00:41:25,140 --> 00:41:29,150 Особливо в цю п'ятницю, ми будемо використовувати, для всього за один день час, графічна 800 00:41:29,150 --> 00:41:32,260 мова програмування, з яким ми будемо Початок програмування шляхом перетягування 801 00:41:32,260 --> 00:41:37,580 падіння частин головоломки, що тільки зібрати фізично якщо це має сенс 802 00:41:37,580 --> 00:41:38,990 щоб зробити це, логічно. 803 00:41:38,990 --> 00:41:43,460 >> Наступного тижня, ми швидко перехід до C, досить старий, але дуже маленький і 804 00:41:43,460 --> 00:41:48,510 проста мова, який дозволить нам дійсно йдуть від 0 до 60 протягом 805 00:41:48,510 --> 00:41:52,290 всього за кілька тижнів, а потім експреси ті ж навички і знання 806 00:41:52,290 --> 00:41:56,160 основні програмні конструкції в мов високого рівня, як PHP, 807 00:41:56,160 --> 00:41:58,240 JavaScript, а треті ще. 808 00:41:58,240 --> 00:42:02,560 >> Торік у третьому PSET в ході було те, що криптографія 809 00:42:02,560 --> 00:42:06,380 предметно-орієнтовані програми, за допомогою якого ми виклик студентам реалізувати будь 810 00:42:06,380 --> 00:42:11,140 кількість шифрів, програмах, з якими дертися або розшифровувати інформацію, 811 00:42:11,140 --> 00:42:11,880 зашифрувати його. 812 00:42:11,880 --> 00:42:16,300 Для хакер видання, навпаки, ми дали хакер студентів файлу 813 00:42:16,300 --> 00:42:19,900 від стандартного комп'ютера Unix містять імена користувачів і паролі, 814 00:42:19,900 --> 00:42:22,740 останній з яких були зашифровані, і ми кидали виклик хакера 815 00:42:22,740 --> 00:42:26,850 студентів для розшифровки, як могли, ці паролі, все ще на що 816 00:42:26,850 --> 00:42:27,770 одному домені. 817 00:42:27,770 --> 00:42:30,580 >> Сутичка, гра з якою деякі з вас, можливо, знайомі. 818 00:42:30,580 --> 00:42:34,410 Криміналістиці частина, де ми просимо студентів відновити дані, які були 819 00:42:34,410 --> 00:42:38,530 в іншому випадку видалити з моїх власних цифрових Compact Flash камери карті, по 820 00:42:38,530 --> 00:42:42,740 насправді написання програмного забезпечення, щоб з'ясувати, де були нулі й одиниці в 821 00:42:42,740 --> 00:42:46,850 що цифрова камера, яка раніше складається JPEG графічні? 822 00:42:46,850 --> 00:42:49,710 >> Завдання пологів у минулому році подразумевающие запис найшвидший 823 00:42:49,710 --> 00:42:53,160 Орфографічний можливо, конкуруючих з друзями та однокласниками, якщо 824 00:42:53,160 --> 00:42:53,860 вони хотіли б. 825 00:42:53,860 --> 00:42:56,330 Реалізація N Puff Хафф, програма для стиснення. 826 00:42:56,330 --> 00:43:01,930 А потім закінчення семестру з CS50 Фінансів, веб-додаток з 827 00:43:01,930 --> 00:43:06,570 яке ви створюєте ETRADE-як веб-сайт купувати і продавати акції, так 828 00:43:06,570 --> 00:43:09,860 сказати, справді тягне майже котирування в реальному часі Yahoo! 829 00:43:09,860 --> 00:43:10,450 Фінансів. 830 00:43:10,450 --> 00:43:13,590 >> Те, що ми не зробили в минулому році був одна проблема, яка залишається набір 831 00:43:13,590 --> 00:43:14,810 Тим не менш улюбленим. 832 00:43:14,810 --> 00:43:18,400 Якщо ви ніколи не ходили в shuttle.cs50.net, ви побачите користувачів 833 00:43:18,400 --> 00:43:19,670 Інтерфейс трохи як це. 834 00:43:19,670 --> 00:43:23,530 Але два роки тому, клас застосовуватися, за допомогою Google Maps і 835 00:43:23,530 --> 00:43:28,570 Google Планета Земля плагін і трохи підкованих з водінням по всьому університетському містечку, 836 00:43:28,570 --> 00:43:33,290 так що мета цієї гри був, як ви можете побачити деякі з осіб, 837 00:43:33,290 --> 00:43:37,530 , Щоб рухатися по всьому університетському містечку шукаєте персоналу, навчання стажистів та центрів сертифікації, і 838 00:43:37,530 --> 00:43:40,080 Коли ви робите, поклавши їх на вашому автобусі. 839 00:43:40,080 --> 00:43:44,035 Жоден з них насправді, здається, тут, так що ми збираємося ввести чит-код. 840 00:43:44,035 --> 00:43:47,150 >> [Сміється] 841 00:43:47,150 --> 00:43:48,430 >> DAVID мала: Там ми йдемо. 842 00:43:48,430 --> 00:43:49,240 Добре. 843 00:43:49,240 --> 00:43:51,750 І ось тепер, є персонал пронизаний всьому університетському містечку. 844 00:43:51,750 --> 00:43:54,530 І, як ви можете бачити, на правій руці стороні екрану, трансферний автобус 845 00:43:54,530 --> 00:43:55,510 є вільні місця. 846 00:43:55,510 --> 00:43:59,000 І метою було написати код, за якої для імітації цього 847 00:43:59,000 --> 00:44:01,790 водіння і підбираючи і висаджуючи від пасажирів. 848 00:44:01,790 --> 00:44:04,960 Той теж з використанням мови називається JavaScript. 849 00:44:04,960 --> 00:44:10,030 Так розумію, що подібні програми будуть бути на нашій же траєкторії цього 850 00:44:10,030 --> 00:44:10,910 року, а також. 851 00:44:10,910 --> 00:44:13,640 >> З точки зору, в даний час, додаткової підтримки, У нас є офіс годин. 852 00:44:13,640 --> 00:44:16,520 Як ви, можливо, бачили у власному будинку обідньому залі або під Анненберг, 853 00:44:16,520 --> 00:44:19,280 ми будемо в будинку їдальні залів чотири ночі на тиждень - 854 00:44:19,280 --> 00:44:24,450 Леверетт, Pfoho, Еліот і Анненберг цього року, 8:00 вечора до 11:00 вечора. 855 00:44:24,450 --> 00:44:26,830 І те, що ми думали, що ми робимо в цьому році щось трохи інше. 856 00:44:26,830 --> 00:44:29,650 >> Якщо ви чули гуркіт минулому році, що це було трохи занадто напружений, це 857 00:44:29,650 --> 00:44:32,800 офіс році години, як ми опишемо на наступному тижні, буде більш органічним, 858 00:44:32,800 --> 00:44:36,900 якої по прибуттю, ви будете відправлені в одній конкретній таблиці 859 00:44:36,900 --> 00:44:39,860 , Коли кілька співробітників чекають, і ми будемо робити те, набагато більш 860 00:44:39,860 --> 00:44:40,440 органічно. 861 00:44:40,440 --> 00:44:43,740 Немає більше черг, не більше Ipad, але а є більш інтимні 862 00:44:43,740 --> 00:44:47,300 розмови навколо столу всього вісім або близько студентів, так що ми 863 00:44:47,300 --> 00:44:50,880 приблизний відчути, що в іншому випадку було б набагато меншого класу. 864 00:44:50,880 --> 00:44:54,120 >> Ми пропонуємо, а також, ці речі, які ми називається проходження, відео знято в 865 00:44:54,120 --> 00:44:57,330 заздалегідь по одному з викладання курсу молодці, Zamyla, в якому вона 866 00:44:57,330 --> 00:45:00,690 проведе вас через проблеми тижня набори, пропонуючи поради і рекомендації для 867 00:45:00,690 --> 00:45:02,640 проблеми, які належить вирішити. 868 00:45:02,640 --> 00:45:06,230 І навпаки, після того, як проблема набори завдяки, в цьому році ми також випустити 869 00:45:06,230 --> 00:45:09,100 маленькі кліпи називають пост-трупів, що насправді ви пройдете через 870 00:45:09,100 --> 00:45:13,630 Представник рішень, і хороші і погано, за допомогою якого ви можете укласти, наскільки 871 00:45:13,630 --> 00:45:17,550 ви могли б або мають бути реалізовано власне рішення. 872 00:45:17,550 --> 00:45:20,500 >> І те, що ми пропонуємо в перший раз і в цьому році, зокрема, 873 00:45:20,500 --> 00:45:23,420 для тих студентів, які користуються курси в інших 874 00:45:23,420 --> 00:45:28,580 ресурсів але проте щосили все занадто багато, звичайно 875 00:45:28,580 --> 00:45:33,030 сама пару тих студентів, а дозволяють кошти, з репетиторами, так що 876 00:45:33,030 --> 00:45:35,840 у вас є набагато більш інтимне можливості, ніж зали Ресторан 877 00:45:35,840 --> 00:45:38,700 передбачити один-на-один допомоги. 878 00:45:38,700 --> 00:45:42,780 >> Тепер остаточне поглянути на деякі На кінець гри в поле зору. 879 00:45:42,780 --> 00:45:44,580 Ви можете бути знайомі з CS50 Hackathon. 880 00:45:44,580 --> 00:45:48,120 Ну, приходячи в грудні цього року, з 8:00 Вечора до 7:00 ранку, на початку 881 00:45:48,120 --> 00:45:51,410 Читання період, буде можливість зібратися з однокласниками - 882 00:45:51,410 --> 00:45:53,130 це буде близько 9:00 вечора - 883 00:45:53,130 --> 00:45:56,550 протягом якого ви поринете в ваше остаточне реалізації проекту поряд з 884 00:45:56,550 --> 00:45:59,910 однокласників, друзів, і продукти харчування. 885 00:45:59,910 --> 00:46:03,680 Це буде близько 1:00 ранку, коли Перша партія прибула їжа. 886 00:46:03,680 --> 00:46:08,470 А це приблизно 4:00 ранку, що конкретний рік на CS50 Hackathon. 887 00:46:08,470 --> 00:46:12,000 >> Але справжня кульмінація курсу призначені для ярмарку CS50, на всій території комплексу 888 00:46:12,000 --> 00:46:15,790 Виставка вашого власного кінцевого проектів, до якого сім'я і друзі все 889 00:46:15,790 --> 00:46:18,730 запросили, так як наші рекрутерів і наші друзі з промисловості. 890 00:46:18,730 --> 00:46:22,170 Це, наприклад, є уявлення про 2000 з гаком людей, які взяли участь 891 00:46:22,170 --> 00:46:23,160 минулих років. 892 00:46:23,160 --> 00:46:27,180 Вирази, подібні до цього, не рідкість, а так само зробити вашу 893 00:46:27,180 --> 00:46:29,660 однокласники насолоджуватися речами Ви досягли. 894 00:46:29,660 --> 00:46:33,170 >> А насправді, в цьому напрямку, у нас є START-OF перспективу захід, а також. 895 00:46:33,170 --> 00:46:37,400 Якщо такі речі, як це звернення до вас, або ви принаймні цікаво, що 896 00:46:37,400 --> 00:46:41,590 це, знаєте, що нова традиція Звичайно називається CS50 Головоломка День. 897 00:46:41,590 --> 00:46:45,710 І це був заснований пару років тому, щоб дійсно сигналізувати кампусі 898 00:46:45,710 --> 00:46:48,930 , Що інформатика нема про програмування, і це, звичайно, не 899 00:46:48,930 --> 00:46:51,960 про охоплення тільки тих студентів, , Які мають попередній досвід. 900 00:46:51,960 --> 00:46:54,200 Це дійсно про вирішення проблем в цілому. 901 00:46:54,200 --> 00:46:57,360 >> І так Puzzle день, протягом останніх декількох років, перетворилася на хороший 902 00:46:57,360 --> 00:47:00,500 партнерство з нашими друзями в Facebook, в результаті чого буде казкової 903 00:47:00,500 --> 00:47:04,830 призи та піци через річку I-лабораторії в цю суботу. 904 00:47:04,830 --> 00:47:09,180 Голова до URL, що з двома або трьома друзі, якщо ви хочете взяти участь 905 00:47:09,180 --> 00:47:10,830 в цій новій традиції. 906 00:47:10,830 --> 00:47:14,180 >> Тому я хотів би запитати, що ви тримаєте одну річ на увазі, і ми отримали просто 907 00:47:14,180 --> 00:47:17,070 двохвилинного ролика, , Щоб закрити сьогодні. 908 00:47:17,070 --> 00:47:19,640 73%-число запам'ятати. 909 00:47:19,640 --> 00:47:23,900 Торт теж буде чекати вас поза цією трансепт як ми відкласти всього за 910 00:47:23,900 --> 00:47:26,710 пару моментів, які традиція курсу, а також. 911 00:47:26,710 --> 00:47:29,860 Але це цитата з ключових програму курсу, щоб тримати в голові. 912 00:47:29,860 --> 00:47:32,820 Що в кінцевому рахунку має в цьому курсі Не так багато, де ви закінчуєте 913 00:47:32,820 --> 00:47:36,580 по відношенню до своїх однокласників, але де Ви, в 12-му тижні в кінцевому підсумку по відношенню до 914 00:47:36,580 --> 00:47:37,960 Тиждень себе в 0. 915 00:47:37,960 --> 00:47:43,670 >> Але уявлення, що ми вийдемо вам з сьогодні це остання тут 916 00:47:43,670 --> 00:47:47,580 нашим же Данило, який зробив wrdly відео всього хвилину назад. 917 00:47:47,580 --> 00:47:50,000 Я залишаю вас з цим уявлення , Що чекає попереду. 918 00:47:50,000 --> 00:47:53,360 І, як ми це зробимо, якщо ми могли б CS50 Персонал від передньої частини кімнати 919 00:47:53,360 --> 00:47:57,280 прийти на до стадії розписувати всі більш візуального зображення в якості до 920 00:47:57,280 --> 00:47:59,100 що чекає на вас у цьому році - 921 00:47:59,100 --> 00:48:00,350 отримання ніяково. 922 00:48:00,350 --> 00:48:02,200 923 00:48:02,200 --> 00:48:05,188 Ми закінчимо з цим Тут на екрані. 924 00:48:05,188 --> 00:48:18,634 >> [Музика Відтворення] 925 00:48:18,634 --> 00:48:21,124 >> DAVID мала: Це CS50. 926 00:48:21,124 --> 00:50:00,226 >> [MUSIC - матове і Кім, "Все в порядку"] 927 00:50:00,226 --> 00:50:03,245 >> Виступаючий 1: Я люблю CS50 більш кішок. 928 00:50:03,245 --> 00:50:06,030 >> Доповідач 2: Whoaaaa! 929 00:50:06,030 --> 00:50:06,990 >> [Сміється] 930 00:50:06,990 --> 00:50:08,140 >> DAVID мала: Це, тоді, є CS50. 931 00:50:08,140 --> 00:50:10,050 Ми будемо бачити вас у п'ятницю. 932 00:50:10,050 --> 00:50:13,370 >> [Оплески і захоплюватися] 933 00:50:13,370 --> 00:50:17,540 >> Оповідач: Наступного CS50, на сцені Демо не так, як планувалося. 934 00:50:17,540 --> 00:50:19,080 >> DAVID мала: Ми хочемо знайти Майка Сміт у цій телефонній книзі. 935 00:50:19,080 --> 00:50:20,380 Ну, що ваші інстинкти? 936 00:50:20,380 --> 00:50:23,750 Я міг би стрибати приблизно до середини телефонній книзі, погляд вниз, бачимо, що 937 00:50:23,750 --> 00:50:26,830 Я на М, і тепер я знаю, що Майк Сміт вліво. 938 00:50:26,830 --> 00:50:27,840 Він повинен бути з правого боку. 939 00:50:27,840 --> 00:50:30,515 І тому на даному етапі, ми може буквально розірвати - 940 00:50:30,515 --> 00:50:33,300 На даний момент, ми можемо буквально рвати - 941 00:50:33,300 --> 00:50:36,490 На даний момент, ми можемо образно рвати телефонну книгу на дві частини. 942 00:50:36,490 --> 00:50:38,954 >> [Ukelele бренькав]