1 00:00:00,000 --> 00:00:15,059 >> [МУЗЫКА] 2 00:00:15,059 --> 00:00:19,170 >> Это CS50-- Harvard Введение университета 3 00:00:19,170 --> 00:00:22,070 к интеллектуальной предприятий информатики 4 00:00:22,070 --> 00:00:23,800 и искусство программирования. 5 00:00:23,800 --> 00:00:27,020 А меня зовут Дэвид Малан и Я просто подумал сегодня утром, 6 00:00:27,020 --> 00:00:33,120 это было удивительно 20 лет сегодня так как я в последний раз сидел, где вы, ребята, теперь делать. 7 00:00:33,120 --> 00:00:33,840 >> Это был 1996. 8 00:00:33,840 --> 00:00:37,550 Я был на втором курсе, и я принимал CS50 в первый раз. 9 00:00:37,550 --> 00:00:40,890 И я даже не встал нерв взять его сам первый год, 10 00:00:40,890 --> 00:00:42,500 отчасти из-за времени. 11 00:00:42,500 --> 00:00:44,782 Информатика мне был вроде как, Мех. 12 00:00:44,782 --> 00:00:46,990 Я был немного выродка растет , но я на самом деле не 13 00:00:46,990 --> 00:00:49,180 есть какие-либо интеллектуальные интерес к тому, появились 14 00:00:49,180 --> 00:00:51,920 чтобы быть просто целая куча люди программирования все время. 15 00:00:51,920 --> 00:00:53,904 >> И мне было страшно, если честно. 16 00:00:53,904 --> 00:00:56,820 Курс и информатика подробнее как правило, имели и в какой-то степени, 17 00:00:56,820 --> 00:01:01,230 до сих пор имеет такую ​​репутацию поля к берегитесь, если только потому, что многие из нас 18 00:01:01,230 --> 00:01:04,410 не знакомы с ним и уверены в нем. 19 00:01:04,410 --> 00:01:08,480 И это на самом деле не было, пока я не делал покупки этот класс, второкурсник fall-- 20 00:01:08,480 --> 00:01:10,880 и даже тогда, я только поступил потому что professor-- 21 00:01:10,880 --> 00:01:13,950 один из первых моих наставников, Брайан Кернигана теперь в Princeton-- 22 00:01:13,950 --> 00:01:15,700 позволил мне взять класс пас потерпеть неудачу. 23 00:01:15,700 --> 00:01:18,020 И в самом деле, вот почему сегодня мы позволяем и поощрять 24 00:01:18,020 --> 00:01:20,030 студентов принять этот класс сидел / unsat. 25 00:01:20,030 --> 00:01:22,040 >> И только потом, на конец семестра 26 00:01:22,040 --> 00:01:24,870 я понял, как, ничего себе, это не был таким незнакомым поле. 27 00:01:24,870 --> 00:01:26,850 На самом деле, это было очень расширение прав и возможностей области, 28 00:01:26,850 --> 00:01:28,970 и более возбуждающе, особенно позже, 29 00:01:28,970 --> 00:01:32,809 как я взял курсы Драматическое искусство 101 и Латинской A 30 00:01:32,809 --> 00:01:34,600 а затем в конце концов, Неполное среднее археология, 31 00:01:34,600 --> 00:01:37,860 я действительно начинаю видеть Пересечения этого поля, компьютер 32 00:01:37,860 --> 00:01:41,979 наука, с гуманитарными науками, естественные науки, искусство, медицина, 33 00:01:41,979 --> 00:01:42,520 и тому подобное. 34 00:01:42,520 --> 00:01:44,420 И так это то, что просто так аккуратный о компьютерной науки 35 00:01:44,420 --> 00:01:46,930 в конечном счете, как мы надеемся, что вы будете see-- является его применимость 36 00:01:46,930 --> 00:01:50,280 к этим другим полям, и как вы можете принять некоторые из сегодняшних и семестра 37 00:01:50,280 --> 00:01:53,070 идеи и практические навыки обратно в свой собственный домен, 38 00:01:53,070 --> 00:01:58,200 и на самом деле изучения этого пересечения либеральных искусств и наук. 39 00:01:58,200 --> 00:02:02,690 >> Таким образом, 73% из вас, если последний год каких-либо признаков, 40 00:02:02,690 --> 00:02:04,390 никогда не брал курс CS раньше. 41 00:02:04,390 --> 00:02:06,389 Так что если, как я, вы чувство немного 42 00:02:06,389 --> 00:02:09,190 страшно, или откровенно вы не действительно уверен, почему вы даже здесь. 43 00:02:09,190 --> 00:02:11,510 Возможно, вы просто последовали некоторые друзьями за Сандерсу прямо сейчас. 44 00:02:11,510 --> 00:02:12,490 Это совершенно нормально. 45 00:02:12,490 --> 00:02:15,059 Цель здесь заключается в крюк вы и заверить Вас 46 00:02:15,059 --> 00:02:17,100 что если вы смотрите на слева и справа, 47 00:02:17,100 --> 00:02:21,480 вы собираетесь, чтобы увидеть одноклассников как мало или столько же опыта 48 00:02:21,480 --> 00:02:22,890 что вы сами могли бы иметь. 49 00:02:22,890 --> 00:02:25,280 И в самом деле, мы разделим некоторые статистические данные позже сегодня 50 00:02:25,280 --> 00:02:28,120 относительно того, что демография класс, как правило, похожи. 51 00:02:28,120 --> 00:02:31,440 >> И, как добавил reassurance-- и это мы имею в виду, так как я взял в течение 52 00:02:31,440 --> 00:02:33,252 Через несколько лет в ago-- учебный план Курса 53 00:02:33,252 --> 00:02:35,460 является this--, что в конечном счете вопросы в этом курсе 54 00:02:35,460 --> 00:02:38,040 не так много, где вы в конечном вверх относительно ваших одноклассников, 55 00:02:38,040 --> 00:02:43,110 но где вы в неделю 11, конец семестр, в конечном итоге по отношению к себе 56 00:02:43,110 --> 00:02:46,280 в неделю 0, что где мы находимся сегодня здесь. 57 00:02:46,280 --> 00:02:48,704 И это то, что я понял, все эти годы назад. 58 00:02:48,704 --> 00:02:50,620 И я знаю много классы говорят, что это, но это 59 00:02:50,620 --> 00:02:52,450 особенно верно в информатике. 60 00:02:52,450 --> 00:02:55,320 В конце концов, это поле незнаком, как это было со мной 61 00:02:55,320 --> 00:02:58,590 и может быть к вам, на самом деле как раз о решении проблем. 62 00:02:58,590 --> 00:03:01,324 И как таковой, у него есть это применимость для получения других полей. 63 00:03:01,324 --> 00:03:03,490 И в самом деле, если бы мы попытались перегонять, что это значит, 64 00:03:03,490 --> 00:03:06,897 это решение проблем по своей сути, я полагаю. 65 00:03:06,897 --> 00:03:09,480 Там в input-- так что все это является то, что вы пытаетесь решить. 66 00:03:09,480 --> 00:03:12,264 Там в выход, который, мы надеемся, решение этой проблемы. 67 00:03:12,264 --> 00:03:14,180 А потом, как бы мы говорят в информатике, 68 00:03:14,180 --> 00:03:17,310 есть этот черный ящик в средний, что вы не обязательно 69 00:03:17,310 --> 00:03:19,450 должны заботиться о том, как она работает. 70 00:03:19,450 --> 00:03:22,230 Вы в конце концов, сами могли бы реализовать то, что внутри этой коробки. 71 00:03:22,230 --> 00:03:25,194 Но для сегодняшних целей и более как правило, в жизни, все, что вы заботитесь о 72 00:03:25,194 --> 00:03:26,610 в том, что эти проблемы решаются получить. 73 00:03:26,610 --> 00:03:29,340 >> И то, что этот курс в конечном счете, о изучает 74 00:03:29,340 --> 00:03:31,700 пересечение эти входы и выходы, 75 00:03:31,700 --> 00:03:34,410 и эти так называемые алгоритмы, как мы скоро увидим, 76 00:03:34,410 --> 00:03:37,450 которые реализуют то, что внизу есть, капот. 77 00:03:37,450 --> 00:03:40,487 Но эти входы и эти outputs-- что же это на самом деле означает? 78 00:03:40,487 --> 00:03:43,570 Ну, в конце концов, нам нужно какой-то способ представления информации. 79 00:03:43,570 --> 00:03:46,660 Это особенно верно в компьютере, который, как фантазии и сложно, как 80 00:03:46,660 --> 00:03:48,160 Может показаться, является довольно немым устройство. 81 00:03:48,160 --> 00:03:52,240 Требуется ли от electricity-- кабель или аккумулятор, как input-- 82 00:03:52,240 --> 00:03:55,820 а затем он производит некоторые preprogramed ответы на экране. 83 00:03:55,820 --> 00:03:57,970 >> Но как же мы получаем из от начала до конца там? 84 00:03:57,970 --> 00:03:59,470 Ну, что проблема должна быть решена? 85 00:03:59,470 --> 00:04:01,050 Ну, может быть, мы могли бы, в начало любого семестра, 86 00:04:01,050 --> 00:04:02,841 попытаться принять участие в комнате, как это. 87 00:04:02,841 --> 00:04:04,750 Так что я мог бы сделать, как один, два, три. 88 00:04:04,750 --> 00:04:07,060 Или, может быть, если бы я это сделал к виду следить 89 00:04:07,060 --> 00:04:10,560 из myself-- следить за things-- Я мог быстро бежать из пальцев. 90 00:04:10,560 --> 00:04:14,650 Так что я мог бы просто сделать хэш marks-- один человек, два, три, четыре, пять, шесть, 91 00:04:14,650 --> 00:04:15,431 семь восемь. 92 00:04:15,431 --> 00:04:17,930 И все мы, наверное, сделал это, будь то на ваших руках 93 00:04:17,930 --> 00:04:19,680 или на листе бумаги. 94 00:04:19,680 --> 00:04:22,140 И это на самом деле просто что называется унарный notation-- 95 00:04:22,140 --> 00:04:26,130 где, если у вас есть только одна буква в вашем алфавите, один или хэш 96 00:04:26,130 --> 00:04:29,440 отметка в данном случае, для каждого вход вы хотите посчитать, 97 00:04:29,440 --> 00:04:32,330 вам нужно сложить одну из них letters-- один из этих марок. 98 00:04:32,330 --> 00:04:32,510 >> Отлично. 99 00:04:32,510 --> 00:04:34,790 Это все прекрасно и хорошо, и не все, что сложнее. 100 00:04:34,790 --> 00:04:37,800 Но компьютеры не все что гораздо более сложным. 101 00:04:37,800 --> 00:04:40,770 В самом деле, большинство из вас, вероятно, знаете, даже если вы на самом деле не 102 00:04:40,770 --> 00:04:44,080 считается, что это означает, что компьютеры понимают только нули 103 00:04:44,080 --> 00:04:45,870 и ones-- так называемой двойной системе. 104 00:04:45,870 --> 00:04:49,390 Мы, люди, наоборот, настолько гораздо более сложные постольку 105 00:04:49,390 --> 00:04:51,770 как мы понимаем нули через девяток. 106 00:04:51,770 --> 00:04:55,740 >> Но даже если двоичный файл, сначала взгляд, не все, что знакомо, 107 00:04:55,740 --> 00:05:00,330 оказывается, это так же, как системы и идеи, которые мы уже знаем. 108 00:05:00,330 --> 00:05:02,420 Так, например, рассмотреть этот вопрос. 109 00:05:02,420 --> 00:05:03,896 Это просто последовательность символов. 110 00:05:03,896 --> 00:05:05,770 И все вы, когда взглянув на него, наверное, 111 00:05:05,770 --> 00:05:09,380 не думаю, что ничего 123-- действительно интересно там. 112 00:05:09,380 --> 00:05:11,940 Но почему это число, 123? 113 00:05:11,940 --> 00:05:14,440 Это лишь глифов screen-- просто узоры 114 00:05:14,440 --> 00:05:16,387 что кто-то мог бы волочения или набран. 115 00:05:16,387 --> 00:05:18,970 Но если вы похожи на меня, вы вероятно, помните из начальной школы 116 00:05:18,970 --> 00:05:21,610 что есть своего рода колонны или места здесь. 117 00:05:21,610 --> 00:05:25,340 Там в место в своей и десятник место и сто указанное место. 118 00:05:25,340 --> 00:05:29,820 И причина того, что это 123 и не только образец из трех символов 119 00:05:29,820 --> 00:05:33,090 происходит потому, что, конечно же, если есть один в сотни месте, 120 00:05:33,090 --> 00:05:36,610 вы делаете математику в 100 раз один, а затем два в десяти своего места. 121 00:05:36,610 --> 00:05:41,390 Так что это в 10 раз 2, а затем три в место с одной и это 1 раз 3. 122 00:05:41,390 --> 00:05:45,670 И когда вы добавляете все эти вверх, из Конечно, вы получите 100 плюс 20 плюс 3. 123 00:05:45,670 --> 00:05:48,220 >> Итак, мы начали только с рисунком из symbols-- в alphabet-- 124 00:05:48,220 --> 00:05:51,670 но тогда мы нанесем значение на это путем этих колонн. 125 00:05:51,670 --> 00:05:54,450 Что ж, получается, что компьютеры действительно не 126 00:05:54,450 --> 00:05:56,300 все, что отличается от вас и меня. 127 00:05:56,300 --> 00:06:01,840 Но вместо того, чтобы использовать силы 10, так, чтобы speak-- 1, 10, 100, 1000, 128 00:06:01,840 --> 00:06:04,330 10000 место и так forth-- они на самом деле 129 00:06:04,330 --> 00:06:08,930 просто использовать полномочия 2-- так что один, 2, 4, а затем 130 00:06:08,930 --> 00:06:12,810 если положить больше цифр, 8, 16, 32, 64, 128, и так далее. 131 00:06:12,810 --> 00:06:16,050 И так это то, как компьютер будет представлять собой число 0, 132 00:06:16,050 --> 00:06:17,300 так же, как мы, люди. 133 00:06:17,300 --> 00:06:21,660 >> 0, 0, 0-- и вы можете догадаться, какой паттерн из нулей и единиц, 134 00:06:21,660 --> 00:06:24,610 если компьютер может только говорить 0 или 1--, что 135 00:06:24,610 --> 00:06:29,110 картина будет представлять число, которое мы знаем, люди как 1? 136 00:06:29,110 --> 00:06:30,590 Yeah-- 0, 0, 1. 137 00:06:30,590 --> 00:06:31,090 Отлично. 138 00:06:31,090 --> 00:06:35,900 Таким образом, 0, 0, 1, как мы представляем 1, так что вы можете быть склонны затем 139 00:06:35,900 --> 00:06:39,510 для представления числа 2, если у вас есть все четверо в указанное место и место в двоичное 140 00:06:39,510 --> 00:06:48,290 в одном месте, вы можете сказать, ну, если бы мы имели 1 место в своем месте, 141 00:06:48,290 --> 00:06:50,430 и теперь мы хотим сосчитать до 2, вы можете 142 00:06:50,430 --> 00:06:53,310 сделать это и оставить это быть нулевым. 143 00:06:53,310 --> 00:06:56,397 Но, конечно, это не так, как десятичная система работает либо. 144 00:06:56,397 --> 00:06:58,230 Если поставить цифру оба этих колонн, 145 00:06:58,230 --> 00:06:59,563 вы должны сделать арифметику. 146 00:06:59,563 --> 00:07:01,930 Так что число сделал я случайно только представляют? 147 00:07:01,930 --> 00:07:06,710 >> Так что это 3, потому что в 2 раза 1 плюс 1 1 раз, конечно же, дает нам три. 148 00:07:06,710 --> 00:07:08,340 Так что это было бы два. 149 00:07:08,340 --> 00:07:12,730 Бит рода переворачивается, так сказать, как 0 становится одним, так же, как 9 ролей более 150 00:07:12,730 --> 00:07:14,840 и становится 0, когда вы носите 1. 151 00:07:14,840 --> 00:07:16,510 Тогда это было бы три курса. 152 00:07:16,510 --> 00:07:20,170 Four-- Еще одна интересная вещь происходит, когда те пролонгировать 153 00:07:20,170 --> 00:07:21,750 и вы носите 1, если можно так выразиться. 154 00:07:21,750 --> 00:07:23,320 Так что это, конечно, 4. 155 00:07:23,320 --> 00:07:25,160 >> Но если вы быстро вперед сейчас, что наибольшее число происходит 156 00:07:25,160 --> 00:07:26,660 чтобы быть, что компьютер может представлять? 157 00:07:26,660 --> 00:07:30,420 158 00:07:30,420 --> 00:07:32,380 Так что в этом случае как раз семь, не так ли? 159 00:07:32,380 --> 00:07:35,570 Потому что у вас есть один в четырех, один в два, один в один. 160 00:07:35,570 --> 00:07:36,900 Так что это 4 плюс 2 плюс 1. 161 00:07:36,900 --> 00:07:37,972 Так что дает вам семь. 162 00:07:37,972 --> 00:07:39,680 И в самом деле, это было бы показаться на первый взгляд 163 00:07:39,680 --> 00:07:43,750 что компьютеры могут рассчитывать не выше этого. 164 00:07:43,750 --> 00:07:45,210 >> Но это, конечно, не соответствует действительности. 165 00:07:45,210 --> 00:07:48,243 Что мы, люди делают, когда мы хотим рассчитывать выше, чем как 999? 166 00:07:48,243 --> 00:07:51,000 167 00:07:51,000 --> 00:07:53,900 Просто носить одну и просто добавить четвертую цифру влево. 168 00:07:53,900 --> 00:07:55,070 И так на самом деле мы могли. 169 00:07:55,070 --> 00:07:57,900 Мы могли бы иметь восемь-х место и место 16-го, в 170 00:07:57,900 --> 00:08:02,000 и 32 в указанное место, 64, 128-- и вы может просто продолжать идти на до бесконечности. 171 00:08:02,000 --> 00:08:04,640 Таким образом, эти нули и ones-- так называемый бинарный система-- 172 00:08:04,640 --> 00:08:10,290 это то, что компьютерный ученый будет как правило, называть немного, или двоичный разряд. 173 00:08:10,290 --> 00:08:13,590 >> Но теперь, как же мы получаем от концепция или графики этих вещей 174 00:08:13,590 --> 00:08:14,620 к фактическому компьютеру? 175 00:08:14,620 --> 00:08:17,170 Мы, кажется, пропуская шаг здесь. 176 00:08:17,170 --> 00:08:20,210 Ну, единственный вход в конце дня, на мой ноутбук здесь 177 00:08:20,210 --> 00:08:22,060 этот поток электроэнергии. 178 00:08:22,060 --> 00:08:24,560 Даже если это было давно время, так как вы думали о 179 00:08:24,560 --> 00:08:26,580 или никогда не думали о как работает электричество, 180 00:08:26,580 --> 00:08:30,909 есть электроны, протекающие в систему или вне, и это мой вид ввода. 181 00:08:30,909 --> 00:08:34,659 >> Так что, если это все, что мы получать в качестве входных данных здесь, 182 00:08:34,659 --> 00:08:36,830 что мы можем сделать с этой информацией? 183 00:08:36,830 --> 00:08:40,040 Ну, мы могли бы думать о качестве нуля только отсутствие электричества. 184 00:08:40,040 --> 00:08:42,540 Ничто не flowinw, ничего двигаться, ничего не происходит. 185 00:08:42,540 --> 00:08:44,690 Это просто по умолчанию state-- ноль. 186 00:08:44,690 --> 00:08:48,200 Но если есть электричество течет, почему мы просто не произвольно, а на глобальном уровне 187 00:08:48,200 --> 00:08:50,250 последовательно, называем это один. 188 00:08:50,250 --> 00:08:54,760 >> Так просто не имея никакой власти, у нас есть ноль, да власть, 189 00:08:54,760 --> 00:08:57,520 мы имеем одно-- никакой власти, да власть. 190 00:08:57,520 --> 00:09:01,520 И таким образом, используя что-то более физический или электронный 191 00:09:01,520 --> 00:09:05,340 мы начинаем реализовывать это понятие что-то либо как один или ноль. 192 00:09:05,340 --> 00:09:07,230 В самом деле, мы могли бы просто сделать это здесь. 193 00:09:07,230 --> 00:09:10,590 Так вот, у меня есть не три, а восемь лампочек, каждая из которых 194 00:09:10,590 --> 00:09:11,810 имеет свой собственный коммутатор. 195 00:09:11,810 --> 00:09:15,760 >> И поэтому, если я хотел бы представить число семь здесь, 196 00:09:15,760 --> 00:09:18,510 Я мог бы включить эти три лампочки. 197 00:09:18,510 --> 00:09:21,470 И в самом деле, внутри мой компьютер миллионы, 198 00:09:21,470 --> 00:09:25,650 миллиарды вещей, которые просто меньше, чем, называемые транзисторы, 199 00:09:25,650 --> 00:09:27,330 переключатели, которые вы просто включать и выключать. 200 00:09:27,330 --> 00:09:30,420 Таким образом, они big-- относительно big-- переключатели внутри моей laptop-- 201 00:09:30,420 --> 00:09:32,150 много, много, много, многие другие коммутаторы. 202 00:09:32,150 --> 00:09:35,160 Но все они делают это именно that-- включить что-то, поверните что-то прочь. 203 00:09:35,160 --> 00:09:38,076 И как таковой, компьютер может представлять собой, с этими миллионами или миллиардами 204 00:09:38,076 --> 00:09:40,480 транзисторов, много и много нулей и единиц. 205 00:09:40,480 --> 00:09:43,160 И есть другие аппаратные средства, которые до сих пор позволяет хранить информацию о долгосрочной перспективе, 206 00:09:43,160 --> 00:09:45,243 так что, когда вы тянете плагин, вы не потеряете его. 207 00:09:45,243 --> 00:09:46,900 Но это история для другого дня. 208 00:09:46,900 --> 00:09:51,170 >> Итак, что мы можем сделать с этими битами? 209 00:09:51,170 --> 00:09:54,309 Мы могли бы просто взять давление с me-- 210 00:09:54,309 --> 00:09:56,600 может кто-то хочет приехать здесь и вознесет демо? 211 00:09:56,600 --> 00:09:57,516 Я видел эту руку в первую очередь. 212 00:09:57,516 --> 00:09:58,709 Как вас зовут? 213 00:09:58,709 --> 00:09:59,250 Мадай: Мадай. 214 00:09:59,250 --> 00:10:00,542 DAVID Маланом: Мадай, давай вверх. 215 00:10:00,542 --> 00:10:01,250 Приятно познакомиться. 216 00:10:01,250 --> 00:10:02,390 Мадай: Приятно познакомиться. 217 00:10:02,390 --> 00:10:02,930 >> DAVID Маланом: Давай так. 218 00:10:02,930 --> 00:10:04,182 Я не придется губы тебя. 219 00:10:04,182 --> 00:10:04,682 Отлично. 220 00:10:04,682 --> 00:10:11,090 Так вот, у нас есть, notice-- один, two-- мы будем редактировать что out-- один, два, четыре, 221 00:10:11,090 --> 00:10:13,350 ,, Восемь, 16 32 64, 128. 222 00:10:13,350 --> 00:10:14,220 Это сделано преднамеренно. 223 00:10:14,220 --> 00:10:17,370 Там в восемь бит here-- двоичный digits-- нули и единицы. 224 00:10:17,370 --> 00:10:21,460 И немного полезная единица measure-- не так полезна, единица измерения 225 00:10:21,460 --> 00:10:21,999 на себя. 226 00:10:21,999 --> 00:10:24,290 Как правило, вы хотите, по крайней мере, восемь из этих вещей, а.к.а. 227 00:10:24,290 --> 00:10:24,790 байт. 228 00:10:24,790 --> 00:10:26,230 Таким образом, мы имеем байт битов здесь. 229 00:10:26,230 --> 00:10:31,130 >> Так что, если мы хотим, чтобы бросить вызов вам, например, изложив, в двоичной системе, 230 00:10:31,130 --> 00:10:33,230 это значение here-- 42. 231 00:10:33,230 --> 00:10:35,140 Хотите принять удар на что? 232 00:10:35,140 --> 00:10:36,034 >> Мадай: [неразборчиво]. 233 00:10:36,034 --> 00:10:38,700 DAVID Маланом: Да, просто нажмите маленькие белые переключатели спереди. 234 00:10:38,700 --> 00:10:41,290 И вы хотите, чтобы по буквам из 42, и для захватов 235 00:10:41,290 --> 00:10:44,061 это CS50 стресс мяч, если вы получите это. 236 00:10:44,061 --> 00:10:44,560 Отлично. 237 00:10:44,560 --> 00:10:46,420 Таким образом, у вас есть 32. 238 00:10:46,420 --> 00:10:48,430 Мы будем нуждаться в 42. 239 00:10:48,430 --> 00:10:51,410 Так что это восьмерка, так что 40. 240 00:10:51,410 --> 00:10:54,160 И excellent-- очень красиво сделано. 241 00:10:54,160 --> 00:10:55,186 Спасибо. 242 00:10:55,186 --> 00:10:58,790 >> [АПЛОДИСМЕНТЫ] 243 00:10:58,790 --> 00:10:59,290 Отлично. 244 00:10:59,290 --> 00:11:00,623 Таким образом, у нас есть еще один стресс мяч. 245 00:11:00,623 --> 00:11:03,595 Давайте сделаем это еще раз, если мы можем. 246 00:11:03,595 --> 00:11:05,368 Еще один доброволец? 247 00:11:05,368 --> 00:11:07,970 Свободный стресс мяч, свободный стресс мяч. 248 00:11:07,970 --> 00:11:08,470 ОК. 249 00:11:08,470 --> 00:11:11,640 За здесь в середине, Вы хотите, чтобы спуститься? 250 00:11:11,640 --> 00:11:14,100 Отлично. 251 00:11:14,100 --> 00:11:15,552 Я знаю. 252 00:11:15,552 --> 00:11:16,360 Там мы идем. 253 00:11:16,360 --> 00:11:20,818 >> Так что число here-- приходят вниз. 254 00:11:20,818 --> 00:11:21,567 Как вас зовут? 255 00:11:21,567 --> 00:11:21,984 >> Davey: Дэви. 256 00:11:21,984 --> 00:11:22,820 >> DAVID Маланом: Дэви. 257 00:11:22,820 --> 00:11:23,320 ОК. 258 00:11:23,320 --> 00:11:24,810 Поднимайся, Дэви. 259 00:11:24,810 --> 00:11:25,890 Приятно познакомиться. 260 00:11:25,890 --> 00:11:28,639 И то, что мы будем иметь вас spell--, если вы могли бы задержаться там 261 00:11:28,639 --> 00:11:32,810 только для одного moment-- является число 50. 262 00:11:32,810 --> 00:11:36,293 Но, но, но зато, но, эти начальной школы магниты по причине. 263 00:11:36,293 --> 00:11:39,370 264 00:11:39,370 --> 00:11:43,327 Просто стало немного сложнее, все в порядке? 265 00:11:43,327 --> 00:11:44,160 Там еще восемь. 266 00:11:44,160 --> 00:11:46,820 267 00:11:46,820 --> 00:11:47,320 Отлично. 268 00:11:47,320 --> 00:11:48,486 Так что же мы имеем там? 269 00:11:48,486 --> 00:11:51,356 У нас есть 32. 270 00:11:51,356 --> 00:11:54,344 Ницца. 271 00:11:54,344 --> 00:11:58,610 32 плюс 16 дает нам 48-- так близко. 272 00:11:58,610 --> 00:12:00,390 И замечательно. 273 00:12:00,390 --> 00:12:02,831 Поздравляем Дэви, а также. 274 00:12:02,831 --> 00:12:05,720 >> [АПЛОДИСМЕНТЫ] 275 00:12:05,720 --> 00:12:06,516 >> Отлично. 276 00:12:06,516 --> 00:12:09,390 Таким образом, мы можем сделать это в течение всего дня, и он не получает все, что гораздо больше 277 00:12:09,390 --> 00:12:10,800 интересной и более сложной задачей. 278 00:12:10,800 --> 00:12:13,250 Но это на самом деле point-- как относительно простой 279 00:12:13,250 --> 00:12:16,930 это, в конце концов, какая Компьютер делает для хранения информации, 280 00:12:16,930 --> 00:12:21,740 хранить входы и в конечном счете хранить или представлять эти выходы. 281 00:12:21,740 --> 00:12:23,750 Но цифры сами по себе не являются все, что интересно. 282 00:12:23,750 --> 00:12:26,069 >> Так что люди, несколько лет назад, решили, вы знаете, что? 283 00:12:26,069 --> 00:12:27,860 Было бы хорошо, если компьютеры были не просто 284 00:12:27,860 --> 00:12:31,030 калькуляторы для арифметики операции, но на самом деле может 285 00:12:31,030 --> 00:12:35,209 делать вещи, как обработка текстов, или электронная почта, или более современные инкарнации 286 00:12:35,209 --> 00:12:36,500 из этих видов технологий. 287 00:12:36,500 --> 00:12:40,680 И поэтому мир решил произвольно, но повсеместно, 288 00:12:40,680 --> 00:12:44,380 что если вы хотите сохранить капитал Буква А в компьютере, вы знаете, что? 289 00:12:44,380 --> 00:12:47,730 Давайте просто все согласны с тем, чтобы сохранить некоторые модели из нулей и ones-- 290 00:12:47,730 --> 00:12:52,422 bits--, что в конечном счете представляет десятичное число 65. 291 00:12:52,422 --> 00:12:53,630 Мы просто все согласны по этому вопросу. 292 00:12:53,630 --> 00:12:56,620 >> 66 будет представлять B, 67 будет представлять C, 293 00:12:56,620 --> 00:13:00,210 и есть сгустки других моделей нули и единицы, или базовые цифры, 294 00:13:00,210 --> 00:13:02,224 что будет представлять другие письма до сих пор. 295 00:13:02,224 --> 00:13:04,390 Так что если вы вроде умственно впитывают на мгновение, 296 00:13:04,390 --> 00:13:10,900 Я сознательно мириться через I, где Н 72 и I 73. 297 00:13:10,900 --> 00:13:15,830 Если компьютер, то, в контексте программа для обработки текстов или электронной почты, 298 00:13:15,830 --> 00:13:19,620 выявили под капотом, чтобы иметь эти модели bits-- узора 299 00:13:19,620 --> 00:13:22,500 битов, представляющих 72, затем 73, затем 33-- 300 00:13:22,500 --> 00:13:26,640 что могло бы это заклинание в этой программе? 301 00:13:26,640 --> 00:13:28,150 >> Так что привет, а потом что-то. 302 00:13:28,150 --> 00:13:31,460 Мы не обязательно знать, но на самом деле 33-- не на графике earlier-- 303 00:13:31,460 --> 00:13:33,170 был просто восклицательный знак. 304 00:13:33,170 --> 00:13:38,870 Таким образом, 72 был H, 73 я, 33 происходит чтобы быть восклицательный знак до сих пор. 305 00:13:38,870 --> 00:13:41,719 Но это все прекрасно и хорошо, и на самом деле в настоящее время, а не 306 00:13:41,719 --> 00:13:43,760 просто использовать семь или восемь биты, благодаря чему-то 307 00:13:43,760 --> 00:13:46,530 называется Unicode в противоположность чтобы ASCii обратно в тот же день, 308 00:13:46,530 --> 00:13:50,010 мы на самом деле можем представить еще больше интересные персонажи, чем просто 309 00:13:50,010 --> 00:13:52,980 это оригинальный английский смещена буквы. 310 00:13:52,980 --> 00:13:56,030 Но мы также можем представить даже аккуратнее такие вещи, как цвета. 311 00:13:56,030 --> 00:13:59,750 >> Если вы когда-либо слышали акроним RGB, красный, зеленый, синий, что 312 00:13:59,750 --> 00:14:03,510 просто означает, что компьютер как правило, использует три набора bits-- 313 00:14:03,510 --> 00:14:06,760 некоторое количество битов, которые представляют собой число за сколько красного вы хотите, 314 00:14:06,760 --> 00:14:08,940 другой набор битов для сколько зеленый вы хотите, 315 00:14:08,940 --> 00:14:11,430 и другой набор номер для сколько синего вы хотите. 316 00:14:11,430 --> 00:14:14,457 Так что большое число означает много красный, небольшое число означает, что нет красного цвета. 317 00:14:14,457 --> 00:14:16,290 И так это своего рода от среднего значения здесь. 318 00:14:16,290 --> 00:14:20,180 >> Так дайте мне какие-то красные, дайте мне некоторые зеленый, и дай мне немного синего цвета. 319 00:14:20,180 --> 00:14:24,260 А если смешать эти три оттенка цвета вместе, в этом случае, 320 00:14:24,260 --> 00:14:26,850 вы получите этот темный оттенок желтого или коричневого цвета. 321 00:14:26,850 --> 00:14:32,330 Но эта картина восемь плюс восемь плюс eight-- так 24 bits-- 322 00:14:32,330 --> 00:14:36,550 слева направо, как компьютер будет представлять этот конкретный цвет. 323 00:14:36,550 --> 00:14:38,090 Теперь это просто точка на экране. 324 00:14:38,090 --> 00:14:42,230 Если смотреть очень близко на экране телевизора ваши компьютер, вы увидите точки или пиксели. 325 00:14:42,230 --> 00:14:45,420 И если у вас есть целая сетка пикселей по горизонтали и вертикали, 326 00:14:45,420 --> 00:14:46,630 у вас есть изображения. 327 00:14:46,630 --> 00:14:49,029 И потом, если вы берете изображение, а затем мыть 328 00:14:49,029 --> 00:14:52,070 показать себя другой образ, другой образ, другой образ, другой образ, 329 00:14:52,070 --> 00:14:54,760 очень быстро, вы, конечно, есть фильмы. 330 00:14:54,760 --> 00:14:56,109 >> И вот обратите внимание, где мы начали. 331 00:14:56,109 --> 00:14:57,650 Мы начали с этих нулей и единиц. 332 00:14:57,650 --> 00:15:00,570 Мы работали оттуда в десятичную числа, как мы представляем их. 333 00:15:00,570 --> 00:15:02,070 Теперь у нас есть буквы алфавита. 334 00:15:02,070 --> 00:15:05,664 Но в других контекстах ждать, мы можем использовать несколько больше битов и представляют цвета. 335 00:15:05,664 --> 00:15:07,830 Как только у вас есть способность представлять цвета, 336 00:15:07,830 --> 00:15:11,200 у вас есть возможность представлять фотографии и анимационные картинки 337 00:15:11,200 --> 00:15:13,780 и другие подобные символы на экране. 338 00:15:13,780 --> 00:15:17,160 И когда у вас есть целый букет Изображения облета человека сразу, 339 00:15:17,160 --> 00:15:21,480 это выглядит как кинофильмы, и таким образом вы получаете видео, а также. 340 00:15:21,480 --> 00:15:23,460 >> Таким образом, используя эти очень простые примитивы мы делаем 341 00:15:23,460 --> 00:15:28,070 есть способ представления в конечном счете, все эти виды средств массовой информации. 342 00:15:28,070 --> 00:15:30,450 И мы снова отведенной не снова и снова, пока мы 343 00:15:30,450 --> 00:15:33,467 получить от самого низкого уровня на этом высоком уровне. 344 00:15:33,467 --> 00:15:35,550 Так что дает нам это общая идея абстракции. 345 00:15:35,550 --> 00:15:36,990 Но мы начали здесь. 346 00:15:36,990 --> 00:15:38,790 >> Вот теперь, мы могли бы представляют в компьютере 347 00:15:38,790 --> 00:15:41,920 наши входы с нулей и единиц, наши выходы в нулей и единиц, 348 00:15:41,920 --> 00:15:43,640 но то, что происходит внутри коробки? 349 00:15:43,640 --> 00:15:46,080 Вот где компьютер наука становится интересным. 350 00:15:46,080 --> 00:15:49,770 Вот где вы на самом деле принести ваш собственные умы, чтобы вынести решение проблемы. 351 00:15:49,770 --> 00:15:52,590 Теперь мы можем предусмотреть, для Остальная часть семестра, да. 352 00:15:52,590 --> 00:15:53,870 Я знаю, как бинарные работы. 353 00:15:53,870 --> 00:15:57,942 Я помню, как Ascii или Unicode-- отображение на letters-- работ. 354 00:15:57,942 --> 00:15:59,650 И это, безусловно, стоит разумеется, что мы 355 00:15:59,650 --> 00:16:03,470 может представлять красный и зеленый и синий, и представляют собой мультимедиа, а также. 356 00:16:03,470 --> 00:16:05,390 Но это интересный материал. 357 00:16:05,390 --> 00:16:09,790 Это то, что делает кто-то способных решать проблемы. 358 00:16:09,790 --> 00:16:11,980 >> И одна из таких проблем мы хотели бы сделать, на самом деле, 359 00:16:11,980 --> 00:16:15,345 принимает участие, или делая это алгоритмически. 360 00:16:15,345 --> 00:16:16,470 И опять же, я мог бы сделать это. 361 00:16:16,470 --> 00:16:19,580 Я мог бы сделать один, два, три, четыре пять, шесть, семь, восемь девять. 362 00:16:19,580 --> 00:16:21,520 И я мог бы написать его вниз, чтобы следить за ним. 363 00:16:21,520 --> 00:16:23,769 Но это только как бы я представлять информацию. 364 00:16:23,769 --> 00:16:27,550 Или я мог бы сделать это faster-- два, четыре, шесть, восемь, десять, 12, 14, 16, 18, 20, 365 00:16:27,550 --> 00:16:30,380 22-- он чувствует, как в два раза так быстро, но это по-прежнему 366 00:16:30,380 --> 00:16:32,050 собирается занять много времени. 367 00:16:32,050 --> 00:16:35,990 >> Но получается, если мы использовать еще еще resource-- и действительно компьютеры 368 00:16:35,990 --> 00:16:38,940 в эти дни есть несколько процессоров или мозг. 369 00:16:38,940 --> 00:16:41,970 Оказывается, компьютеры могут делать много вещей сразу, 370 00:16:41,970 --> 00:16:44,460 и на самом деле мы, в этой комнате, может представлять именно это. 371 00:16:44,460 --> 00:16:47,130 >> Так что это немного социально неудобно, но если бы меня юмор 372 00:16:47,130 --> 00:16:51,550 всего за три шага процесса, пусть я прошу всех на месте там просто 373 00:16:51,550 --> 00:16:54,640 встать на мгновение. 374 00:16:54,640 --> 00:16:57,380 Встаньте. 375 00:16:57,380 --> 00:17:01,580 Так что думать о себе, номер одно-- так что все в этой комнате, 376 00:17:01,580 --> 00:17:05,010 кроме тех людей, которые не сделали обязывают, думают номер один. 377 00:17:05,010 --> 00:17:06,510 Так что ваш номер прямо сейчас. 378 00:17:06,510 --> 00:17:09,399 Это первый шаг, или как ученый или программист 379 00:17:09,399 --> 00:17:11,827 как правило, будет делать, мы будем чтобы начать отсчет с нуля. 380 00:17:11,827 --> 00:17:14,410 Если наименьшее число мы можем представляют с этими лампочками 381 00:17:14,410 --> 00:17:17,410 равен нулю, путем просто оставляя их все прочь, я мог бы также просто 382 00:17:17,410 --> 00:17:19,271 начать отсчет ноль вместо одного. 383 00:17:19,271 --> 00:17:21,020 И вот что компьютерные ученые делают. 384 00:17:21,020 --> 00:17:23,750 Так шаг ноль, встать и думать о номер один. 385 00:17:23,750 --> 00:17:26,339 Следующим шагом является this-- пара прочь с кто-то стоит 386 00:17:26,339 --> 00:17:27,660 и добавить свои числа вместе. 387 00:17:27,660 --> 00:17:30,660 388 00:17:30,660 --> 00:17:32,850 Замечательно. 389 00:17:32,850 --> 00:17:37,640 >> Так что на данный момент времени, буквально все участвующие 390 00:17:37,640 --> 00:17:41,930 думает о № 2, за исключением для одного нечетного человека, если мы имеем 391 00:17:41,930 --> 00:17:43,450 нечетное число людей в комнате. 392 00:17:43,450 --> 00:17:50,640 А теперь третий шаг здесь будет быть this-- один из вас должен сесть. 393 00:17:50,640 --> 00:17:54,490 Один из вас должен сесть, и если вы все еще стоит, 394 00:17:54,490 --> 00:17:56,590 вернуться к первому шагу. 395 00:17:56,590 --> 00:18:44,799 396 00:18:44,799 --> 00:18:45,790 Отлично. 397 00:18:45,790 --> 00:19:00,760 398 00:19:00,760 --> 00:19:01,650 Отлично. 399 00:19:01,650 --> 00:19:03,880 Так что все больше и больше людей должны сидеть вниз. 400 00:19:03,880 --> 00:19:08,280 Обратите внимание на то, что это побудило loop-- какой-то цикл. 401 00:19:08,280 --> 00:19:11,983 Некоторые из вас, должно быть неловко застрял, ходит взад и вперед между шаге 402 00:19:11,983 --> 00:19:14,180 и два, один и два, один и два. 403 00:19:14,180 --> 00:19:21,190 404 00:19:21,190 --> 00:19:21,810 Ничего страшного. 405 00:19:21,810 --> 00:19:22,630 Наша первая ошибка. 406 00:19:22,630 --> 00:19:24,740 Мы будем иметь дело с этим. 407 00:19:24,740 --> 00:19:25,320 Отлично. 408 00:19:25,320 --> 00:19:27,370 Позвольте мне попытаться подстегнуть вещи вместе. 409 00:19:27,370 --> 00:19:31,454 >> В теории, только один человек стоит как все по-прежнему на пары. 410 00:19:31,454 --> 00:19:33,870 Но позвольте мне ускорить процесс с людьми, все еще стоит. 411 00:19:33,870 --> 00:19:35,480 Какой номер вы думаете? 412 00:19:35,480 --> 00:19:36,070 46. 413 00:19:36,070 --> 00:19:36,570 ОК. 414 00:19:36,570 --> 00:19:37,820 Идите вперед и сесть. 415 00:19:37,820 --> 00:19:39,190 Вы, ребята, все еще стоят. 416 00:19:39,190 --> 00:19:42,130 Кто все еще стоит? 417 00:19:42,130 --> 00:19:45,240 Какой номер вы думаете? 418 00:19:45,240 --> 00:19:46,160 ОК. 419 00:19:46,160 --> 00:19:47,900 >> Таким образом, мы вернемся к вам. 420 00:19:47,900 --> 00:19:49,630 Сзади? 421 00:19:49,630 --> 00:19:50,790 Что это? 422 00:19:50,790 --> 00:19:53,100 22. 423 00:19:53,100 --> 00:19:56,540 OK кто-то еще до top-- да? 424 00:19:56,540 --> 00:19:57,720 34. 425 00:19:57,720 --> 00:19:58,300 ОК. 426 00:19:58,300 --> 00:20:02,780 За здесь на моем right-- здесь? 427 00:20:02,780 --> 00:20:06,820 132, очень приятно. 428 00:20:06,820 --> 00:20:08,380 22? 429 00:20:08,380 --> 00:20:08,990 >> ОК. 430 00:20:08,990 --> 00:20:10,031 А кто еще стоит? 431 00:20:10,031 --> 00:20:11,000 Здесь? 432 00:20:11,000 --> 00:20:14,520 46, очень приятно. 433 00:20:14,520 --> 00:20:16,890 72. 434 00:20:16,890 --> 00:20:18,220 Я не могу тормозить намного дольше. 435 00:20:18,220 --> 00:20:20,520 Да? 436 00:20:20,520 --> 00:20:22,490 30, приятно. 437 00:20:22,490 --> 00:20:24,120 Здесь? 438 00:20:24,120 --> 00:20:26,200 23? 439 00:20:26,200 --> 00:20:27,270 23. 440 00:20:27,270 --> 00:20:30,920 >> И я думаю, что это все кроме вас, ребята, никакого давления. 441 00:20:30,920 --> 00:20:32,860 Ой, подождите. 442 00:20:32,860 --> 00:20:33,360 28? 443 00:20:33,360 --> 00:20:37,500 444 00:20:37,500 --> 00:20:38,281 Только восемь. 445 00:20:38,281 --> 00:20:38,780 ОК. 446 00:20:38,780 --> 00:20:41,030 Только восемь. 447 00:20:41,030 --> 00:20:42,580 Здесь? 448 00:20:42,580 --> 00:20:44,570 30. 449 00:20:44,570 --> 00:20:47,344 23. 450 00:20:47,344 --> 00:20:47,843 24. 451 00:20:47,843 --> 00:20:50,810 452 00:20:50,810 --> 00:20:52,310 18. 453 00:20:52,310 --> 00:20:54,690 Это худшее реализация этого алгоритма когда-либо. 454 00:20:54,690 --> 00:20:55,190 ОК. 455 00:20:55,190 --> 00:20:59,760 Так что кто-то другой? 456 00:20:59,760 --> 00:21:00,421 Кто-нибудь еще? 457 00:21:00,421 --> 00:21:00,920 ОК. 458 00:21:00,920 --> 00:21:03,300 Еще один. 459 00:21:03,300 --> 00:21:04,400 16? 460 00:21:04,400 --> 00:21:04,900 ОК. 461 00:21:04,900 --> 00:21:05,510 16. 462 00:21:05,510 --> 00:21:06,010 Отлично. 463 00:21:06,010 --> 00:21:09,070 Так что, если я не пропустил кто-нибудь в яркий свет здесь, когда я ударил Enter, 464 00:21:09,070 --> 00:21:13,091 мы увидим, алгоритмически, то Общее число людей в Сандерсом. 465 00:21:13,091 --> 00:21:16,340 Потому что опять же, это как если бы все как вы сели, прошли свой номер от 466 00:21:16,340 --> 00:21:19,215 кому-то еще, кому-то еще, кому-то еще, так что в теории, 467 00:21:19,215 --> 00:21:22,304 в конце концов, только одно неловкое человек должен остаться стоять. 468 00:21:22,304 --> 00:21:22,970 Но это нормально. 469 00:21:22,970 --> 00:21:24,290 Мы ускорили вещи вручную. 470 00:21:24,290 --> 00:21:27,590 Это особенно трудно понять, В данном конкретном пространстве. 471 00:21:27,590 --> 00:21:34,200 >> А общее число людей, мы думаем, что здесь есть 546. 472 00:21:34,200 --> 00:21:37,330 Общее число я передал Учением стипендиатов, 473 00:21:37,330 --> 00:21:40,660 кто это сделал старый школа медленный путь, было 820. 474 00:21:40,660 --> 00:21:43,660 >> [СМЕЮЩИЙСЯ] 475 00:21:43,660 --> 00:21:47,170 >> [АПЛОДИСМЕНТЫ] 476 00:21:47,170 --> 00:21:48,670 >> Ничего страшного. 477 00:21:48,670 --> 00:21:50,740 Так что, конечно, то есть эти ошибки. 478 00:21:50,740 --> 00:21:51,460 И это прекрасно. 479 00:21:51,460 --> 00:21:53,810 И так думаю, что мы вернемся к этому первый раз, когда что-то 480 00:21:53,810 --> 00:21:55,420 Вы пишете, не обязательно работать. 481 00:21:55,420 --> 00:21:57,620 Это случилось со мной здесь. 482 00:21:57,620 --> 00:22:00,844 Но давайте теперь рассмотрим, как мы могли бы применить эту же идею к чему-то 483 00:22:00,844 --> 00:22:03,760 Вы, возможно, видели раньше, что это старая школа технология here-- 484 00:22:03,760 --> 00:22:05,130 действительно большая телефонная книга. 485 00:22:05,130 --> 00:22:09,380 И предположим, что этот телефон книги имеет 1000 страниц и 1000 имен 486 00:22:09,380 --> 00:22:11,360 и цифры в алфавитном порядке внутри него. 487 00:22:11,360 --> 00:22:14,860 >> Ну, мы могли бы вид применить аналогичный Идея этой самой физической проблемы, 488 00:22:14,860 --> 00:22:16,270 просто использовал меня. 489 00:22:16,270 --> 00:22:18,810 Я только отчасти обманутым за счет использования всех вас 490 00:22:18,810 --> 00:22:23,240 с большим и большим количеством различных процессоров или мозг выполнения некоторого алгоритма. 491 00:22:23,240 --> 00:22:25,440 Но если это просто мало старый меня, я все еще могу 492 00:22:25,440 --> 00:22:29,630 использовать ту же самую суть идеи деления и завоевывая эту проблему 493 00:22:29,630 --> 00:22:32,970 снова и снова, в результате чего половина из вас, половина из вас, половина из вас, половина из вас, 494 00:22:32,970 --> 00:22:35,830 теоретически держали сидя, пока мы не были оставлены, теоретически, 495 00:22:35,830 --> 00:22:36,990 только с одним человеком. 496 00:22:36,990 --> 00:22:39,810 >> Так что в этой старой школе technology-- мы не делаем 497 00:22:39,810 --> 00:22:43,030 это нужно map-- это старые технологии школы, 498 00:22:43,030 --> 00:22:47,300 мы могли бы начать искать для кого-то как Майк Смит, одну страницу за один раз. 499 00:22:47,300 --> 00:22:49,410 И я вижу, что нет, Майк не здесь. 500 00:22:49,410 --> 00:22:51,110 Я до сих пор в разделе A. 501 00:22:51,110 --> 00:22:53,900 В конце концов, я считаю, я в разделе B. 502 00:22:53,900 --> 00:22:56,910 И это algorithm-- шаг за шагом инструкции. 503 00:22:56,910 --> 00:22:59,890 Начало в странице начала и одного в то время, обратите внимание на Майка Смита. 504 00:22:59,890 --> 00:23:03,410 Является ли это correct-- это алгоритм или подход? 505 00:23:03,410 --> 00:23:04,550 >> Да, это правильно. 506 00:23:04,550 --> 00:23:06,840 Если Майк здесь, в конце концов Я вернусь к нему. 507 00:23:06,840 --> 00:23:08,139 Но это не так эффективно. 508 00:23:08,139 --> 00:23:09,180 Это, очевидно, очень медленно. 509 00:23:09,180 --> 00:23:11,340 Так что я могу использовать самые Те же twosies приближаются. 510 00:23:11,340 --> 00:23:15,350 Я могу сделать то два, четыре, шесть, восемь, 10, 12. 511 00:23:15,350 --> 00:23:16,330 Это в два раза быстрее. 512 00:23:16,330 --> 00:23:18,290 Я собираюсь добраться до Mike быстрее, если он там. 513 00:23:18,290 --> 00:23:20,770 Является ли это правильно? 514 00:23:20,770 --> 00:23:22,320 Да, но я услышал little-- НЕТ. 515 00:23:22,320 --> 00:23:24,200 Теперь я услышал, откуда нет. 516 00:23:24,200 --> 00:23:24,700 Да. 517 00:23:24,700 --> 00:23:26,190 Там есть ошибка потенциально. 518 00:23:26,190 --> 00:23:29,374 Может быть, Майк просто случайно получает зажатой между двумя страницами, 519 00:23:29,374 --> 00:23:31,290 потому что я лечу через это два одновременно. 520 00:23:31,290 --> 00:23:33,580 Таким образом, по крайней мере, нам нужны вид условного исправления. 521 00:23:33,580 --> 00:23:35,330 Я должен сказать, эй, если я ударил кого-то, чей 522 00:23:35,330 --> 00:23:39,190 имя начинается с T вместо S, Я лучше загнуть по крайней мере, одну страницу. 523 00:23:39,190 --> 00:23:40,767 Так глючит сначала, но поправимо. 524 00:23:40,767 --> 00:23:43,850 Но никто из нас не будет искать Майк Смит через 1000 страниц телефона в 525 00:23:43,850 --> 00:23:45,290 заказать одну страницу за один раз. 526 00:23:45,290 --> 00:23:48,486 Что нормальный человек собирается делать? 527 00:23:48,486 --> 00:23:50,860 Вы собираетесь идти на S-х годов, если бы вы знали, где S'S. 528 00:23:50,860 --> 00:23:54,230 Вы можете пойти примерно к середине или слегка смещены в сторону конца. 529 00:23:54,230 --> 00:23:56,850 И я смотрю вниз здесь и Я в разделе M. 530 00:23:56,850 --> 00:23:58,952 Но что вы знаете об этой проблеме в настоящее время, 531 00:23:58,952 --> 00:24:02,160 что мы не обязательно знать, прежде чем со всеми нами просто считая себя 532 00:24:02,160 --> 00:24:03,030 что то же самое? 533 00:24:03,030 --> 00:24:06,010 Ну, Майк явно собирается быть в этой половине книги 534 00:24:06,010 --> 00:24:07,920 если он вообще здесь, потому что он отсортирован. 535 00:24:07,920 --> 00:24:10,160 >> И таким образом вы можете очень dramatically-- 536 00:24:10,160 --> 00:24:11,250 >> [Задыхаясь] 537 00:24:11,250 --> 00:24:12,300 >> Я знаю. 538 00:24:12,300 --> 00:24:16,940 >> [АПЛОДИСМЕНТЫ] 539 00:24:16,940 --> 00:24:19,450 >> Это на самом деле очень легко, если вы делаете это вниз по позвоночнику там. 540 00:24:19,450 --> 00:24:22,070 Но вы можете бросить половина от решения проблемы. 541 00:24:22,070 --> 00:24:25,950 Теперь, я остался с тем же problem-- найти Mike Smith в телефон book-- 542 00:24:25,950 --> 00:24:29,610 но теперь телефонная книга начинается с M и идет к Z, но это вдвое меньше. 543 00:24:29,610 --> 00:24:30,890 >> Но это то, что впечатляет. 544 00:24:30,890 --> 00:24:34,170 Так же, как в теории, вы, ребята, когда вы все сели только половину, в то время, 545 00:24:34,170 --> 00:24:37,150 проблема есть вдвое меньше, вдвое меньше, снова и снова. 546 00:24:37,150 --> 00:24:40,260 Таким образом, эта проблема стала Та же проблема, но вдвое меньше. 547 00:24:40,260 --> 00:24:42,670 Теперь это проблема 250 стр. 548 00:24:42,670 --> 00:24:45,340 Как только я понимаю, о, я в разделе T случайно. 549 00:24:45,340 --> 00:24:46,590 Я зашел слишком далеко. 550 00:24:46,590 --> 00:24:48,500 Я могу бросить, что половина книги телефона прочь. 551 00:24:48,500 --> 00:24:50,410 Теперь, я вниз к четверть этой проблемы. 552 00:24:50,410 --> 00:24:53,910 >> И вы можете повторить, повторить, повторяться до тех пор, в теории, вы не 553 00:24:53,910 --> 00:24:55,460 осталось только с одной страницы. 554 00:24:55,460 --> 00:24:59,010 И если Майк находится на этой странице, Теперь я могу решить эту проблему. 555 00:24:59,010 --> 00:25:00,810 Но как быстро я решить эту проблему? 556 00:25:00,810 --> 00:25:05,420 В первом случае, это заняло у меня как может быть, 1000 шагов, чтобы найти Mike Smith. 557 00:25:05,420 --> 00:25:09,260 Это, возможно, приняли me-- Я взял телефонную книгу 558 00:25:09,260 --> 00:25:11,440 и я начал искать одна страница в то время, 559 00:25:11,440 --> 00:25:13,480 и Майк может быть 1000 страниц позже. 560 00:25:13,480 --> 00:25:16,020 >> Второй подход может быть берет меня 500 шагов, 561 00:25:16,020 --> 00:25:17,960 потому что я лечу через два одновременно. 562 00:25:17,960 --> 00:25:21,082 И третий подход, хотя, это особенно мощным. 563 00:25:21,082 --> 00:25:23,790 Но давайте рассмотрим, что мы на самом деле сделал с этим третьим подходом. 564 00:25:23,790 --> 00:25:27,590 Я есть то, что я буду называть только эти заявления, по одному за раз. 565 00:25:27,590 --> 00:25:28,560 Поднимите телефонную книгу. 566 00:25:28,560 --> 00:25:30,130 Открыть в середине телефонной книги. 567 00:25:30,130 --> 00:25:31,419 Посмотрите на имена. 568 00:25:31,419 --> 00:25:33,960 И тогда все становится немного более интеллектуально интересным, 569 00:25:33,960 --> 00:25:35,170 если до сих пор просто. 570 00:25:35,170 --> 00:25:38,350 Если Смит является одним из Имена на этой текущей странице, 571 00:25:38,350 --> 00:25:40,170 затем сделать что-то условно. 572 00:25:40,170 --> 00:25:41,840 Это похоже на развилке дорог. 573 00:25:41,840 --> 00:25:42,660 Позвоните Майк. 574 00:25:42,660 --> 00:25:44,930 Если Майк среди имен на этой странице, называется Mike. 575 00:25:44,930 --> 00:25:49,720 Но только сделать линию четыре, если линия дерево, если вы будете, правда. 576 00:25:49,720 --> 00:25:51,590 Ответ на этот вопрос, да. 577 00:25:51,590 --> 00:25:55,520 >> Иначе, если Смит ранее в book-- Другими словами, если я нахожусь в разделе M 578 00:25:55,520 --> 00:25:58,540 и я ищу кого-то левый, то что я должен делать 579 00:25:58,540 --> 00:26:00,300 что-то очень похожи. 580 00:26:00,300 --> 00:26:03,440 Тогда я должен открыть к середине левой половине книги. 581 00:26:03,440 --> 00:26:07,930 Так идите налево, а затем вернуться к шагу два. 582 00:26:07,930 --> 00:26:09,290 Посмотрите на имена там. 583 00:26:09,290 --> 00:26:12,779 >> Итак, другими словами, сделать то же самое, но по проблеме, которая была в два раза. 584 00:26:12,779 --> 00:26:13,570 Вы знаете, что еще? 585 00:26:13,570 --> 00:26:16,470 Если Смит в книге позже основанный на странице я смотрю, 586 00:26:16,470 --> 00:26:18,790 открыт для середины правая половина книги 587 00:26:18,790 --> 00:26:22,050 а затем снова вернуться ко второму шагу, else-- 588 00:26:22,050 --> 00:26:24,000 есть четвертый возможность здесь. 589 00:26:24,000 --> 00:26:28,830 Майк либо здесь, либо влево или вправо или нет. 590 00:26:28,830 --> 00:26:30,570 И здесь мы лучше рассмотреть этот вопрос. 591 00:26:30,570 --> 00:26:33,360 И в самом деле, если вы когда-либо имел ваш компьютер просто аварии на вас, 592 00:26:33,360 --> 00:26:36,822 что иногда, но не всегда, Результат просто человека программист не 593 00:26:36,822 --> 00:26:39,280 понимая, о стрелять, есть на самом деле это четвертый сценарий. 594 00:26:39,280 --> 00:26:41,650 И если вы не пишете код для обработки этого сценария, 595 00:26:41,650 --> 00:26:43,220 Иногда вы не знаете, что компьютер может сделать. 596 00:26:43,220 --> 00:26:44,770 И в самом деле программа может привести к сбою. 597 00:26:44,770 --> 00:26:47,550 >> Но в этом случае, я думал, об этом, и я сказал, еще бросить курить, 598 00:26:47,550 --> 00:26:49,850 потому что это четвертый логический возможный сценарий. 599 00:26:49,850 --> 00:26:51,950 Теперь, давайте просто добавить некоторые словарный запас, поэтому мы 600 00:26:51,950 --> 00:26:55,320 может начать, чтобы бросить вокруг терминов, в остальном довольно интуитивно. 601 00:26:55,320 --> 00:26:57,870 Все вещи, которые я просто выделены желтым цветом здесь, 602 00:26:57,870 --> 00:27:00,140 Я просто к функции или процедуры. 603 00:27:00,140 --> 00:27:01,590 Они просто вид действий. 604 00:27:01,590 --> 00:27:04,900 Так что забрать, открыт для, посмотрите на, звоните, открыто, открыто, 605 00:27:04,900 --> 00:27:09,170 quit-- это только действия, или мы будем называть их более формально, функции. 606 00:27:09,170 --> 00:27:11,410 >> Между тем, в настоящее время в желтом цвете, Я выделил вещи 607 00:27:11,410 --> 00:27:14,084 that-- давайте просто начать называть их условия или филиалы. 608 00:27:14,084 --> 00:27:16,750 Это точки принятия решения, где Вы могли бы идти по этому пути, таким образом, 609 00:27:16,750 --> 00:27:18,100 или некоторое другое направление до сих пор. 610 00:27:18,100 --> 00:27:19,430 Так что те будут созданы условия. 611 00:27:19,430 --> 00:27:20,930 И теперь этот немного искуснее. 612 00:27:20,930 --> 00:27:24,600 Давайте назовем эти вопросы Логические выражения, 613 00:27:24,600 --> 00:27:26,530 после того, как кто-то с фамилией Bool. 614 00:27:26,530 --> 00:27:28,340 >> И это логическое выражение это просто что-то 615 00:27:28,340 --> 00:27:30,290 что это не истинным или ложным, да или нет. 616 00:27:30,290 --> 00:27:35,870 Так что это вопрос, ответ на вас заботиться о том, чтобы в состоянии 617 00:27:35,870 --> 00:27:39,210 сделать decision-- получить обратно ответ, а затем идти влево или вправо, или что-то 618 00:27:39,210 --> 00:27:40,450 то совсем другое. 619 00:27:40,450 --> 00:27:42,860 >> И тогда, наконец, эти Линии here-- вернуться 620 00:27:42,860 --> 00:27:44,737 ко второму шагу, вернуться к этапу two-- мы могли бы 621 00:27:44,737 --> 00:27:46,320 реализовать эту идею по-разному. 622 00:27:46,320 --> 00:27:49,028 И тогда те из вас опыт программирования мог бы сделать 623 00:27:49,028 --> 00:27:50,670 или может себе делать это по-другому. 624 00:27:50,670 --> 00:27:53,170 Но для сегодняшних целей, это просто идея, что имеет значение. 625 00:27:53,170 --> 00:27:55,400 Это то, что индуцируя мы обычно называем 626 00:27:55,400 --> 00:28:00,110 loop-- какой-то цикл, потому что это заставляет меня сделать что-то снова. 627 00:28:00,110 --> 00:28:03,340 >> Так что теперь, давайте просто рассмотрим насколько хорошо этот алгоритм. 628 00:28:03,340 --> 00:28:03,899 Это верно. 629 00:28:03,899 --> 00:28:06,940 Если Майк в книге, это один из эти четыре scenarios-- снова и снова 630 00:28:06,940 --> 00:28:08,023 и снова, мы найдем его. 631 00:28:08,023 --> 00:28:08,890 Но насколько хорошо это? 632 00:28:08,890 --> 00:28:10,150 Ну, мы не имеем чтобы быть слишком формальным здесь. 633 00:28:10,150 --> 00:28:12,066 Но давайте просто сюжет что-то, х и у, чтобы получить 634 00:28:12,066 --> 00:28:14,470 чувство формы этой проблемы. 635 00:28:14,470 --> 00:28:17,160 >> На оси абсцисс здесь размер моей проблемы. 636 00:28:17,160 --> 00:28:20,256 И они у-ось здесь будет время, чтобы решить. 637 00:28:20,256 --> 00:28:21,630 Так что, возможно, это количество страниц. 638 00:28:21,630 --> 00:28:24,400 Может быть, это секунды или страница turns-- бы то ни было. 639 00:28:24,400 --> 00:28:27,290 Однако вы хотите посчитать это то, что эта картина будет представлять. 640 00:28:27,290 --> 00:28:30,630 И это первый алгоритм, я собираюсь описать, как только по прямой линии. 641 00:28:30,630 --> 00:28:33,120 Если есть п страниц телефонная книга, то она 642 00:28:33,120 --> 00:28:36,010 может взять меня так много а п шагов, чтобы найти Майк. 643 00:28:36,010 --> 00:28:38,930 Если Verizon или телефонной компании добавляет еще одну страницу в следующем году, 644 00:28:38,930 --> 00:28:42,170 это может занять мне еще один step-- еще одна единица времени, чтобы найти Майк. 645 00:28:42,170 --> 00:28:44,230 Таким образом, есть только это один к одному отношение. 646 00:28:44,230 --> 00:28:45,970 Это наклон прямой линии. 647 00:28:45,970 --> 00:28:49,110 >> В то же время, что второй algorithm-- если я 648 00:28:49,110 --> 00:28:51,570 собирается два на два time--, четыре, шесть, восемь, или double-- 649 00:28:51,570 --> 00:28:54,550 пройдя через страницы в два раза в то время, два в то время, 650 00:28:54,550 --> 00:28:55,710 это все-таки прямая. 651 00:28:55,710 --> 00:28:58,720 Там сейчас один к двум отношение, но только немного ниже. 652 00:28:58,720 --> 00:29:02,240 Так что, если есть это много страниц на графике здесь в желтом, 653 00:29:02,240 --> 00:29:04,800 которые могли бы взять меня это много шагов или секунд, 654 00:29:04,800 --> 00:29:07,980 в противном случае он собирается взять меня вдвое больше, чем на красной линии. 655 00:29:07,980 --> 00:29:10,190 >> Но зеленая линия является реальным вынос. 656 00:29:10,190 --> 00:29:12,290 Это то, что мы в целом вызвать logorithm-- журнал 657 00:29:12,290 --> 00:29:13,840 п, где п число страниц. 658 00:29:13,840 --> 00:29:16,450 Но это форма, которая имеет значение сегодня, потому что мы не имеем 659 00:29:16,450 --> 00:29:17,950 даже думать о построении точек. 660 00:29:17,950 --> 00:29:19,830 >> Подумайте о том крайнем случае. 661 00:29:19,830 --> 00:29:23,070 Предположим, что Verizon завтра удваивает количество страниц в этой телефонной книге, 662 00:29:23,070 --> 00:29:24,900 от 1000 до 2000 человек. 663 00:29:24,900 --> 00:29:28,440 В первом алгоритме, я может тратить дополнительные 1000 664 00:29:28,440 --> 00:29:32,080 шаги ищет Майк, только потому, что Verizon в два раза размер книги. 665 00:29:32,080 --> 00:29:34,740 Второй algorithm-- это может возьмите меня дополнительные 500 шагов. 666 00:29:34,740 --> 00:29:38,370 более 1000 страниц, я хожу два за time-- еще 500 шагов, чтобы найти Майк. 667 00:29:38,370 --> 00:29:41,020 >> Но третий алгоритм это своего рода магическое. 668 00:29:41,020 --> 00:29:44,270 Verizon удваивает число страниц от 1000 до 2000, 669 00:29:44,270 --> 00:29:47,730 но сколько еще шагов делает он взять меня искать Майк? 670 00:29:47,730 --> 00:29:51,220 Это всего лишь один, потому что я могу просто разорвать телефонной книге еще раз 671 00:29:51,220 --> 00:29:55,280 от проблемы 2000 эту страницу 1000 страница проблема, и вуаля. 672 00:29:55,280 --> 00:29:57,030 Я взял массивный кусок из него. 673 00:29:57,030 --> 00:29:59,405 >> И если вы идете действительно экстремальный, Предположим, что в телефонной книге 674 00:29:59,405 --> 00:30:03,600 компания должна была что-то сумасшедший, как телефонная книга 4 млрд стр. 675 00:30:03,600 --> 00:30:07,020 Ну, сколько шагов это может занять чтобы найти Майка Смита в 4 миллиарда 676 00:30:07,020 --> 00:30:09,990 страница телефонной книги? 677 00:30:09,990 --> 00:30:16,450 Это большое число, но всего 4 млрд 2 млрд до 1 млрд до 500 млн, 678 00:30:16,450 --> 00:30:18,720 250 million-- еще звучит как больших чисел, 679 00:30:18,720 --> 00:30:20,980 но я очень быстро получать меньшие значения. 680 00:30:20,980 --> 00:30:24,790 >> И в самом деле, если я делаю математику Хорошо, я могу только разделить 4 миллиарда 681 00:30:24,790 --> 00:30:28,750 примерно на 32 раз, прежде чем Я получаю вниз только один. 682 00:30:28,750 --> 00:30:31,640 Так что, если телефонная книга была 4 длинные миллиардов страниц, не составило большого труда. 683 00:30:31,640 --> 00:30:35,270 В течение нескольких секунд, может быть, 32 секунд, я мог бы разделить его пополам 684 00:30:35,270 --> 00:30:39,560 и в конечном итоге найти Майк или сделать вывод, что он не существует. 685 00:30:39,560 --> 00:30:42,219 И это суть algorithm-- хороший алгоритм. 686 00:30:42,219 --> 00:30:44,260 И это одна из Цели класса, как это, 687 00:30:44,260 --> 00:30:47,350 пытается выяснить, как я решить проблему не только правильно, 688 00:30:47,350 --> 00:30:52,360 как я всегда знал, как сделать это один страница на time--, но правильно и хорошо. 689 00:30:52,360 --> 00:30:55,034 Как мне создать хороший решения проблем? 690 00:30:55,034 --> 00:30:57,200 Так что давайте момент здесь и дать вам смысл сейчас 691 00:30:57,200 --> 00:31:00,260 из CS50 курс ввести в том: сотрудники в нескольких курса. 692 00:31:00,260 --> 00:31:02,010 Незадолго до 2:00, мы будем короткий перерыв 693 00:31:02,010 --> 00:31:03,520 так что те из вас Кто такие могут ходить по магазинам 694 00:31:03,520 --> 00:31:05,130 утка, и взять посмотреть на какой-то другой класс 695 00:31:05,130 --> 00:31:06,580 и смотреть на остальной части этого онлайн. 696 00:31:06,580 --> 00:31:09,250 Но сейчас, позвольте мне представить CS50, сам класс, 697 00:31:09,250 --> 00:31:11,330 и, в частности, что является новым. 698 00:31:11,330 --> 00:31:13,960 >> Таким образом, весной мы провел совсем немного time-- 699 00:31:13,960 --> 00:31:17,911 Персонал Курс и я-- мышления о том, что именно мы хотим быть CS50, 700 00:31:17,911 --> 00:31:19,910 и вернуться к первому принципы, так сказать, 701 00:31:19,910 --> 00:31:22,760 чтобы рассмотреть, что именно мы хотим этот курс, чтобы выглядеть и быть 702 00:31:22,760 --> 00:31:23,740 как для своих студентов. 703 00:31:23,740 --> 00:31:26,480 И вы увидите в задаче установить ноль, а, приглашение 704 00:31:26,480 --> 00:31:28,780 чтобы взглянуть на что URL, который обобщает 705 00:31:28,780 --> 00:31:33,270 некоторые из мотиваций позади следующие характеристики падения 2016 года. 706 00:31:33,270 --> 00:31:35,570 >> Так как вы можете почерпнуть от TL: раздаточный DR, 707 00:31:35,570 --> 00:31:39,060 учебный план сегодня, а также от каталог, конечно, в этом году в CS50, 708 00:31:39,060 --> 00:31:42,540 вы только должны посещать поэтому работу раз сегодня хорошо done-- 709 00:31:42,540 --> 00:31:45,960 и последняя лекция 21 ноября. 710 00:31:45,960 --> 00:31:49,150 И вы приветствуются, но не ожидается посещать эти лекции в середине, 711 00:31:49,150 --> 00:31:51,180 потому что мы делаем В этом году, стрельба 712 00:31:51,180 --> 00:31:52,661 в реальном времени материала Курса. 713 00:31:52,661 --> 00:31:54,660 Так что все останется тока и включить 714 00:31:54,660 --> 00:31:57,410 как лучше всего мы can-- текущие события и разговоры, которые люди могли бы 715 00:31:57,410 --> 00:32:00,400 быть имея в промышленности в мир, но делает этот материал 716 00:32:00,400 --> 00:32:03,892 доступны, в результате, даже earlier-- в комплекте с полным текстом стенограммы 717 00:32:03,892 --> 00:32:05,850 и возможность поиска и ссылки на другие ресурсы. 718 00:32:05,850 --> 00:32:07,930 >> И в самом деле, мы были утверждая, что в течение некоторого времени 719 00:32:07,930 --> 00:32:10,830 и мы считаем, что это в настоящее время, что мы можем создать, в цифровом виде, 720 00:32:10,830 --> 00:32:15,170 более захватывающий, более привлекательным образовательный опыт, в отличие 721 00:32:15,170 --> 00:32:19,110 чтобы собрать здесь около 23 раз лично, услышав кто-то любит меня 722 00:32:19,110 --> 00:32:22,925 просто говорить об информатике, в отличие от более активного вовлечения. 723 00:32:22,925 --> 00:32:25,800 Таким образом, вы будете видеть в учебный план Курса эскиз семестра здесь, 724 00:32:25,800 --> 00:32:27,840 наряду с тем, когда лекции будут будет снят, к которому вы 725 00:32:27,840 --> 00:32:29,710 приветствуются, но не ожидал, и когда они будут 726 00:32:29,710 --> 00:32:31,640 будет выпущен на веб-сайте курса. 727 00:32:31,640 --> 00:32:34,300 >> И что мы будем делать здесь Среды начиная со следующей недели, 728 00:32:34,300 --> 00:32:37,362 является гораздо более тесно, с только те люди, которые хотят участвовать, 729 00:32:37,362 --> 00:32:39,820 это так называемая прогулка, где я и руководители Курса 730 00:32:39,820 --> 00:32:41,730 будет на самом деле делать вещи чуть более интимное 731 00:32:41,730 --> 00:32:44,313 здесь в оркестре раздел, до сих пор некоторые технологии 732 00:32:44,313 --> 00:32:46,365 и пройти через Проблема набора текущей недели, 733 00:32:46,365 --> 00:32:50,020 и предложить вам particularly-- если среди тем меньше comfortable-- все больше 734 00:32:50,020 --> 00:32:52,790 рекомендации, которые вы могли бы хотеть или потребность бросить вызов недели. 735 00:32:52,790 --> 00:32:55,820 И точно так же, для тех, кто не может присутствовать на тех, кто лично, не составило большого труда. 736 00:32:55,820 --> 00:32:58,486 Там будет так же во главе один из старших сотрудников Курса, 737 00:32:58,486 --> 00:33:02,650 Zamalya, та же возможность встроенного в задаче самих множеств. 738 00:33:02,650 --> 00:33:04,960 >> Проблема устанавливает в этом году будет выпущен по пятницам 739 00:33:04,960 --> 00:33:08,080 и больше не делать семь дней спустя, но 10 дней later-- намеренно 740 00:33:08,080 --> 00:33:10,910 перекрывается с каждой проблемой установить, с тем, чтобы лучше приспособить, 741 00:33:10,910 --> 00:33:13,050 мы надеемся, приливы и отливы в студенческих расписании, 742 00:33:13,050 --> 00:33:16,550 особенно когда по легкой атлетике или промежуточных выборах или академики или extracurriculars 743 00:33:16,550 --> 00:33:18,465 как правило, приходят и уходят особенно в середине семестра. 744 00:33:18,465 --> 00:33:21,340 Это должно дать вам немного больше своему усмотрению, чтобы ли вы передний 745 00:33:21,340 --> 00:33:25,690 загрузить свою неделю с CS50 или задней нагрузки это на следующий уик-энда вместо. 746 00:33:25,690 --> 00:33:28,817 Так что смотрите, чтобы учебный план Курса здесь его графика. 747 00:33:28,817 --> 00:33:30,900 И вы заметите, тоже среди изменения в этом году, 748 00:33:30,900 --> 00:33:34,082 для тех, кто больше знакомы с программирование в прошлом, 749 00:33:34,082 --> 00:33:36,290 мы начнем семестр как мы будем сегодня в пустом месте, 750 00:33:36,290 --> 00:33:39,730 сосредоточить внимание прежде всего на языке называется C, а затем не переход 751 00:33:39,730 --> 00:33:43,430 в PHP, но на языке под названием Python к концу семестра 752 00:33:43,430 --> 00:33:46,565 в контексте веб-программирования, наряду с SQL и JavaScript, 753 00:33:46,565 --> 00:33:48,930 HTML, CSS, и все же больше. 754 00:33:48,930 --> 00:33:51,790 >> И в ответ на задаваемые вопросы, это действительно так 755 00:33:51,790 --> 00:33:55,520 что CS не так страшно, как я когда-то думал, что это было, но это так много работы 756 00:33:55,520 --> 00:33:57,280 как я слышал, что это могло бы быть. 757 00:33:57,280 --> 00:34:03,210 Но это сказать, что здесь некоторые Статистика от падения 2015 студентов, 758 00:34:03,210 --> 00:34:06,460 в результате чего горизонтальные синие линии представляют собой среднее количество часов 759 00:34:06,460 --> 00:34:06,960 сообщили. 760 00:34:06,960 --> 00:34:10,570 И вы увидите, в среднем от шести до 10 до 12--, может быть 16 761 00:34:10,570 --> 00:34:14,580 или так и так далее, но с высокая дисперсия быть ясным. 762 00:34:14,580 --> 00:34:18,570 И так понимаю, что есть не только студенты более удобным и менее 763 00:34:18,570 --> 00:34:22,150 комфортно в курсе, но соответствующая поддержка 764 00:34:22,150 --> 00:34:25,699 структура, чтобы получить те студенты через окончания семестра. 765 00:34:25,699 --> 00:34:29,409 >> Действительно, в ответ на задаваемые вопросы, должны вы берете CS50 как первый год? 766 00:34:29,409 --> 00:34:30,139 Абсолютно. 767 00:34:30,139 --> 00:34:32,690 И в самом деле, я сожалею не найдя свой путь 768 00:34:32,690 --> 00:34:35,170 или нашел новое поле что первый год, а также. 769 00:34:35,170 --> 00:34:39,149 И вы должны принять CS50 с другие курсы, конечно же, как well-- 770 00:34:39,149 --> 00:34:41,940 и общий совет, который мы могли бы дать студентам, что CS50, вероятно, 771 00:34:41,940 --> 00:34:44,929 не вид класса или класса интро что вы должны взять с собой три 772 00:34:44,929 --> 00:34:47,199 другой или четыре других р-множество классов. 773 00:34:47,199 --> 00:34:50,583 Но если вы принимаете два других р-набор классы, что-то еще, и CS50, 774 00:34:50,583 --> 00:34:51,499 абсолютно управляемым. 775 00:34:51,499 --> 00:34:54,900 У меня было много студентов в прошлое сделано вполне успешно. 776 00:34:54,900 --> 00:34:57,490 >> А чтобы получить вас к что закончить линию успешно, 777 00:34:57,490 --> 00:35:00,260 делает конечно есть sections-- различные трассы для студентов 778 00:35:00,260 --> 00:35:03,100 менее комфортно, более комфортно, и где-то посередине, 779 00:35:03,100 --> 00:35:04,850 причем в Курса Первый набор проблем, 780 00:35:04,850 --> 00:35:06,360 вам будет предложено, чтобы описать себя. 781 00:35:06,360 --> 00:35:09,151 И если вы среди тех, менее удобно, это такая вещь, 782 00:35:09,151 --> 00:35:10,420 что вы просто достаточно знать. 783 00:35:10,420 --> 00:35:13,010 И в самом деле, что это было растущего демографического в CS50 784 00:35:13,010 --> 00:35:14,090 уже несколько лет. 785 00:35:14,090 --> 00:35:17,680 >> По осени прошлого года для Экземпляр, 58% класса 786 00:35:17,680 --> 00:35:20,560 описали себя как среди тех, кто менее комфортно, 787 00:35:20,560 --> 00:35:23,210 с 9% среди тех, кто больше удобно, а затем 788 00:35:23,210 --> 00:35:25,900 другие студенты там в красный описывая себя 789 00:35:25,900 --> 00:35:27,890 а где-то посередине. 790 00:35:27,890 --> 00:35:31,980 И вы увидите здесь темы в целом и график секций, каждая из которых 791 00:35:31,980 --> 00:35:34,820 предлагается лично, в в реальном масштабе времени, с Курса 792 00:35:34,820 --> 00:35:38,320 Удивительно, сотрудники учебных товарищей и курс ассистенты, некоторые из которых 793 00:35:38,320 --> 00:35:39,660 вы встретите всего минуту. 794 00:35:39,660 --> 00:35:42,993 >> Сами разделы, как вы увидите, будет быть по понедельникам и вторникам и средам, 795 00:35:42,993 --> 00:35:45,910 таким образом, чтобы позволить вам нырять после участия, если вы так 796 00:35:45,910 --> 00:35:48,110 выбрать, в Курса лекции в начале этой недели. 797 00:35:48,110 --> 00:35:51,420 А потом рабочие часы, которые конечно же, с каждым годом, 798 00:35:51,420 --> 00:35:54,110 Не было не меньшим вызов для курса. 799 00:35:54,110 --> 00:35:57,040 И в этом году мы не планируем только держать офис hours-- один 800 00:35:57,040 --> 00:36:00,300 на одной возможности для помощи для Студенты по средам четвергам 801 00:36:00,300 --> 00:36:03,790 и воскресеньям, последний из тех, будучи во второй половине дня по дизайну 802 00:36:03,790 --> 00:36:06,910 уменьшить часть напряжения, что неизменно возникает с поздней ночи 803 00:36:06,910 --> 00:36:10,180 п-settting с крайним сроком looming-- но часы офиса также будут предложены 804 00:36:10,180 --> 00:36:14,920 по понедельникам и вторникам и По средам и пятницам и субботам, 805 00:36:14,920 --> 00:36:17,080 благодаря нашим друзьям в HSA. 806 00:36:17,080 --> 00:36:20,330 >> CS50 теперь имеет свое собственное пространство для студентов и сотрудников CS50, 807 00:36:20,330 --> 00:36:23,070 на вершине 67 Mount Auburn Street, прямо в Гарвардской площади. 808 00:36:23,070 --> 00:36:26,340 Видение которого является то, что CS50-х ТФ и центры сертификации в течение недели, 809 00:36:26,340 --> 00:36:29,052 в значительной степени на протяжении большей дней, будет там для поддержки. 810 00:36:29,052 --> 00:36:30,760 Так что если у вас есть некоторые Вопрос о р-множестве 811 00:36:30,760 --> 00:36:33,093 или вы чувствуете себя немного заблокирован или немного запутался, 812 00:36:33,093 --> 00:36:35,640 и, черт возьми, у вас есть час или полчаса между классами, 813 00:36:35,640 --> 00:36:38,920 особенно в square-- вы можете поп и есть этот вопрос ответил 814 00:36:38,920 --> 00:36:41,720 от того, имеют эту путаницу clarified-- очень в духе, 815 00:36:41,720 --> 00:36:45,490 вы знакомы, по математике собственные математические вопросы центр отдела, 816 00:36:45,490 --> 00:36:49,300 но в значительной степени вокруг часов в [? Гкал?], Что мы разместим на сайте. 817 00:36:49,300 --> 00:36:52,400 >> Репетиторство также доступна для тех, студенты, свободно от Курса 818 00:36:52,400 --> 00:36:54,750 собственный персонал, если вы хотите более интимный один на один, 819 00:36:54,750 --> 00:36:58,940 или только два или три одноклассники, работая с одним из сотрудников этого курса. 820 00:36:58,940 --> 00:37:02,320 И действительно, они здесь просто некоторые из сотрудников Курса, 821 00:37:02,320 --> 00:37:04,120 некоторые из которых вы будете встречаются в мгновение. 822 00:37:04,120 --> 00:37:07,440 На самом деле, CS50 собственного руководитель обучения сотрудник, 823 00:37:07,440 --> 00:37:09,790 и голова конечно помощник, и Наставником, 824 00:37:09,790 --> 00:37:12,998 может прийти на вверх, позволяют им сказать привет. 825 00:37:12,998 --> 00:37:22,498 >> [АПЛОДИСМЕНТЫ] 826 00:37:22,498 --> 00:37:23,456 СПИКЕР 1: [неразборчиво]. 827 00:37:23,456 --> 00:37:51,842 828 00:37:51,842 --> 00:37:57,856 >> [АПЛОДИСМЕНТЫ] 829 00:37:57,856 --> 00:37:58,814 СПИКЕР 2: [неразборчиво]. 830 00:37:58,814 --> 00:38:17,240 831 00:38:17,240 --> 00:38:27,238 >> [АПЛОДИСМЕНТЫ] 832 00:38:27,238 --> 00:38:28,196 Выступающий 3: [неразборчиво]. 833 00:38:28,196 --> 00:38:58,951 834 00:38:58,951 --> 00:39:03,120 >> [АПЛОДИСМЕНТЫ] 835 00:39:03,120 --> 00:39:06,740 >> DAVID Маланом: И позвольте нам принести на борт два из CS50 самых 836 00:39:06,740 --> 00:39:09,730 старших сотрудников, Роб и Zamayla, а также. 837 00:39:09,730 --> 00:39:15,120 >> [АПЛОДИСМЕНТЫ] 838 00:39:15,120 --> 00:39:17,226 >> В самом деле, как Роб и Zamayla были с нами 839 00:39:17,226 --> 00:39:19,940 так долго, что я был в состоянии идти в архивы CS50 в 840 00:39:19,940 --> 00:39:22,470 и найти эту самую SD кадры из них участвуют 841 00:39:22,470 --> 00:39:25,402 на самих этапе несколько лет назад. 842 00:39:25,402 --> 00:39:26,110 БОР: [неразборчиво]. 843 00:39:26,110 --> 00:39:53,660 844 00:39:53,660 --> 00:39:59,247 >> [АПЛОДИСМЕНТЫ] 845 00:39:59,247 --> 00:40:00,080 ZAMAYLA: [неразборчиво] 846 00:40:00,080 --> 00:40:50,888 847 00:40:50,888 --> 00:40:52,467 >> [АПЛОДИСМЕНТЫ] 848 00:40:52,467 --> 00:40:53,425 DAVID Маланом: Спасибо. 849 00:40:53,425 --> 00:40:56,160 850 00:40:56,160 --> 00:40:58,030 Таким образом, в дополнение к ним Члены команды здесь, 851 00:40:58,030 --> 00:41:01,662 CS50 имеет команду почти 100 сотрудники, все из которых 852 00:41:01,662 --> 00:41:04,370 будут доступны для секций и офисные часы и многое другое. 853 00:41:04,370 --> 00:41:06,920 И, как Роб говорит, что тоже, это самый значительный ремонт 854 00:41:06,920 --> 00:41:09,534 из CS50 в 10 лет, что Я был в [неразборчиво]. 855 00:41:09,534 --> 00:41:12,200 [Неразборчиво] сосредоточены особенно в обеспечении структуры поддержки, 856 00:41:12,200 --> 00:41:14,050 подрезки прочь много основная часть, которая была 857 00:41:14,050 --> 00:41:16,870 накопленный за последние 10 лет итеративной разработки 858 00:41:16,870 --> 00:41:18,120 на проблемные наборы Курса. 859 00:41:18,120 --> 00:41:21,470 >> Так что в этом году, не только в классе, но также в виде задачи Курса 860 00:41:21,470 --> 00:41:24,800 наборы, вы должны найти вещи быть более обтекаемый, триммер, многое 861 00:41:24,800 --> 00:41:26,700 более управляемым, чем в прошлые годы, как мы 862 00:41:26,700 --> 00:41:31,330 проливают некоторые из багажа, что это разработанный характер развивающегося года 863 00:41:31,330 --> 00:41:32,970 после того, как год и итерации. 864 00:41:32,970 --> 00:41:35,110 Таким образом, новый и улучшенный начинается сегодня. 865 00:41:35,110 --> 00:41:37,860 >> Вы встретите еще некоторые из Персонал конечно находится вне в [неразборчиво] 866 00:41:37,860 --> 00:41:40,186 в 2:30, где мы служим, как традиции, торт. 867 00:41:40,186 --> 00:41:42,060 Там немного более торт чем это, но вы будете 868 00:41:42,060 --> 00:41:44,690 встречаются Erin и Тобиас и другие до сих пор. 869 00:41:44,690 --> 00:41:46,470 И позвольте мне дать вам тур, прежде чем мы слышим 870 00:41:46,470 --> 00:41:49,600 от некоторых других сотрудников в классе, о том, что так же ждет. 871 00:41:49,600 --> 00:41:52,730 На самом деле, мы всегда начинаем CS50-х Семестр В ближайшую субботу, 872 00:41:52,730 --> 00:41:54,330 с тем, что называется CS50 Puzzle день. 873 00:41:54,330 --> 00:41:56,710 >> Она не имеет ничего общего с компьютерные науки сами по себе, 874 00:41:56,710 --> 00:41:58,669 но о проблеме решения в целом. 875 00:41:58,669 --> 00:42:01,210 И если вы так решите принять участие, за некоторые из приглашений, 876 00:42:01,210 --> 00:42:03,460 Вы, возможно, видели дверь упал или на сцене здесь, 877 00:42:03,460 --> 00:42:05,830 это возможность в командах двух или трех или четырех, 878 00:42:05,830 --> 00:42:10,680 принять участие для головоломок и пиццы и призы и more-- в эту субботу, 879 00:42:10,680 --> 00:42:12,560 следите за многое другое. 880 00:42:12,560 --> 00:42:15,082 >> Вы найдете также, что каждый В пятницу, в Огонь и лед, 881 00:42:15,082 --> 00:42:16,790 CS50 ли принести целая куча студентов 882 00:42:16,790 --> 00:42:19,100 на обед, чтобы сделать большой класс чувствовать себя более интимное, 883 00:42:19,100 --> 00:42:21,820 и вообще свести воедино Выпускники и друзья из промышленности 884 00:42:21,820 --> 00:42:24,710 говорить о том, что они имеют был до момента окончания. 885 00:42:24,710 --> 00:42:27,820 Кроме того, в этом году, мы ознаменовать первый когда-либо CS50 50 886 00:42:27,820 --> 00:42:31,390 кодирование contest-- в середине семестра возможность позволить каждому 887 00:42:31,390 --> 00:42:35,430 на выбрать в основе, чтобы иметь вызов остроумие против одноклассников, 888 00:42:35,430 --> 00:42:39,250 снова в командах из двух или трех или четыре, используя только что программирование 889 00:42:39,250 --> 00:42:41,920 здравый смысл, что вы после этого имеете под Ваш пояс всего лишь после шести или семи лет 890 00:42:41,920 --> 00:42:44,710 недель класса, а также участие в этом виде соревнований 891 00:42:44,710 --> 00:42:50,261 online--, если вы хотите, чтобы отточить свой собственный навыки все больше в этот вызов. 892 00:42:50,261 --> 00:42:52,760 В конце семестра так называемый CS50 Hackathon-- 893 00:42:52,760 --> 00:42:56,970 возможность, которая начинается в 7:00 PM заканчивается в 7:00 утра, и по пути 894 00:42:56,970 --> 00:43:01,900 12 вечерние часы, в которых нырять в окончательном project-- Курса 895 00:43:01,900 --> 00:43:04,820 возможность разработки и реализовать большинство ничего интересного 896 00:43:04,820 --> 00:43:06,980 Вам с вашим учением руководство стипендиата. 897 00:43:06,980 --> 00:43:09,600 Около 9:00 утра мы обычно делаем служить пицца, 1:00 AM, 898 00:43:09,600 --> 00:43:13,210 Филиппа, и мало кто из нас которые до сих пор просыпаются в 5:00 утра, 899 00:43:13,210 --> 00:43:16,310 являются шатл шинное вниз Дорога к IHOP для завтрака. 900 00:43:16,310 --> 00:43:19,340 >> А потом через несколько дней это так называемый CS50 fare-- 901 00:43:19,340 --> 00:43:23,450 конец семестра в выставке празднование, как далеко так много 902 00:43:23,450 --> 00:43:28,200 из CS50 студентов пришли из нулевой неделе вплоть до недели, 903 00:43:28,200 --> 00:43:32,610 и имея в виду, что 73% из них одноклассники и за вами в этом году 904 00:43:32,610 --> 00:43:34,840 никогда не брал класс CS раньше. 905 00:43:34,840 --> 00:43:39,226 На самом деле, чтобы еще раз подчеркнуть, как много, здесь это несколько лиц из персонала CS50 в. 906 00:43:39,226 --> 00:43:40,184 Выступающий 4: [неразборчиво]. 907 00:43:40,184 --> 00:43:45,909 908 00:43:45,909 --> 00:43:46,867 СПИКЕР 5: [неразборчиво]. 909 00:43:46,867 --> 00:43:51,332 910 00:43:51,332 --> 00:43:52,290 СПИКЕР 6: [неразборчиво]. 911 00:43:52,290 --> 00:43:55,276 912 00:43:55,276 --> 00:43:56,234 СПИКЕР 7: [неразборчиво]. 913 00:43:56,234 --> 00:44:01,727 914 00:44:01,727 --> 00:44:02,643 СПИКЕР 8: [неразборчиво] 915 00:44:02,643 --> 00:44:10,066 916 00:44:10,066 --> 00:44:11,024 СПИКЕР 9: [неразборчиво]. 917 00:44:11,024 --> 00:44:14,475 918 00:44:14,475 --> 00:44:15,461 >> Выступающий 4: [неразборчиво]. 919 00:44:15,461 --> 00:44:16,461 >> СПИКЕР 10: [неразборчиво]. 920 00:44:16,461 --> 00:44:21,456 921 00:44:21,456 --> 00:44:23,438 СПИКЕР 11: [неразборчиво]. 922 00:44:23,438 --> 00:44:24,438 СПИКЕР 12: [неразборчиво]. 923 00:44:24,438 --> 00:44:30,438 924 00:44:30,438 --> 00:44:31,396 СПИКЕР 13: [неразборчиво] 925 00:44:31,396 --> 00:44:37,360 926 00:44:37,360 --> 00:44:40,342 >> СПИКЕР 14: [неразборчиво]. 927 00:44:40,342 --> 00:44:42,863 >> СПИКЕР 13: [неразборчиво]. 928 00:44:42,863 --> 00:44:43,821 СПИКЕР 15: [неразборчиво] 929 00:44:43,821 --> 00:44:48,785 930 00:44:48,785 --> 00:44:49,785 СПИКЕР 16: [неразборчиво]. 931 00:44:49,785 --> 00:44:53,761 932 00:44:53,761 --> 00:44:55,252 >> СПИКЕР 11: [неразборчиво] 933 00:44:55,252 --> 00:44:57,773 934 00:44:57,773 --> 00:44:58,731 СПИКЕР 5: [неразборчиво]. 935 00:44:58,731 --> 00:45:11,250 936 00:45:11,250 --> 00:45:15,130 DAVID Маланом: Некоторые команды сами торговые классы. 937 00:45:15,130 --> 00:45:17,760 Но если эти члены персонала CS50 здесь, 938 00:45:17,760 --> 00:45:19,230 может прийти на на мгновение. 939 00:45:19,230 --> 00:45:23,450 CS50-х ТФ и центры сертификации и [? сотрудники ?] Члены here-- это лишь некоторые из них 940 00:45:23,450 --> 00:45:28,880 из faces-- один из которых вы просто видел, и несколько other-- и несколько других 941 00:45:28,880 --> 00:45:30,020 все еще. 942 00:45:30,020 --> 00:45:33,242 Почему бы нам не пойти дальше и позволить вы, ребята, пять минутный перерыв. 943 00:45:33,242 --> 00:45:35,450 Если вам нужно, чтобы утка магазин классы, это прекрасно. 944 00:45:35,450 --> 00:45:38,900 А через пять минут мы резюме, взглянуть на Scratch-- первой 945 00:45:38,900 --> 00:45:42,420 нашего языка программирования, познакомиться Сотрудники Курс здесь несколько больше, 946 00:45:42,420 --> 00:45:45,020 и сосредоточиться в конечном счете, по проблеме установить ноль. 947 00:45:45,020 --> 00:45:46,710 Таким образом, мы вернемся через пять минут. 1 00:45:46,864 --> 00:45:47,370 >> Отлично. 2 00:45:47,370 --> 00:45:48,590 Таким образом, мы вернулись. 3 00:45:48,590 --> 00:45:51,330 А в нашем остальные Время сегодня, цель 4 00:45:51,330 --> 00:45:54,320 чтобы выровнять игровое поле в терминах некоторой терминологии, 5 00:45:54,320 --> 00:45:55,297 с точки зрения некоторых идей. 6 00:45:55,297 --> 00:45:57,380 Потому что в самом деле, в соответствии с некоторые из диаграмм более ранних, 7 00:45:57,380 --> 00:46:00,130 там будет целый ряд уровни опыта в классе, 8 00:46:00,130 --> 00:46:03,210 некоторые из которых студенты имеют приняты некоторые программы перед тем, 9 00:46:03,210 --> 00:46:04,200 некоторые из которых не имеют. 10 00:46:04,200 --> 00:46:07,430 И вот с этой первой задачи установить и с этим первым языком 11 00:46:07,430 --> 00:46:10,830 у нас есть возможность начать принимать как само собой разумеющееся после того, как сегодня 12 00:46:10,830 --> 00:46:12,960 некоторый общий словарный запас и идея. 13 00:46:12,960 --> 00:46:15,590 >> И мы будем делать это путем первый languages-- Курса 14 00:46:15,590 --> 00:46:21,070 в дополнение к C и Python и JavaScript и SQL и HTML и CSS, 15 00:46:21,070 --> 00:46:24,450 мы будем первоначально сконцентрировав внимание и только для проблем установить ноль 16 00:46:24,450 --> 00:46:28,160 на этом графическом языке, называется Царапины, разработанная в MIT Media Lab'S 17 00:46:28,160 --> 00:46:30,880 вниз по дороге, чтобы помочь студенты и дети особенно 18 00:46:30,880 --> 00:46:35,070 выразить себя algorithmically-- таким образом, более соответствует тому, что 19 00:46:35,070 --> 00:46:37,300 мы могли бы назвать вычислительные мышление. 20 00:46:37,300 --> 00:46:40,985 >> И это полезно, потому что язык очень быстро на следующей неделе в неделю один, 21 00:46:40,985 --> 00:46:44,360 мы переход к более традиционный и аркан язык называется 22 00:46:44,360 --> 00:46:46,370 С, что является чисто текстуально. 23 00:46:46,370 --> 00:46:48,930 Вы только использовать клавиатуру в Для того чтобы написать инструкции 24 00:46:48,930 --> 00:46:50,230 как они на экране. 25 00:46:50,230 --> 00:46:52,840 Но даже если вы никогда не видели язык программирования, перед тем, 26 00:46:52,840 --> 00:46:55,170 в просто взглянув на это, все это быть загадочным, 27 00:46:55,170 --> 00:47:00,010 вы можете догадаться, что вероятно, печатает Hello World. 28 00:47:00,010 --> 00:47:02,050 Но есть много синтаксический над головой есть. 29 00:47:02,050 --> 00:47:05,770 Существует странная хэш символ или хэш-тег наверху. 30 00:47:05,770 --> 00:47:08,900 Там в угловые скобки, некоторые круглые скобки, фигурные скобки, полу-colon-- 31 00:47:08,900 --> 00:47:11,880 там просто так много зрительных образов синтаксис, который встает на пути. 32 00:47:11,880 --> 00:47:13,940 Мы начинаем курс с Царапины, с тем, чтобы получить 33 00:47:13,940 --> 00:47:17,600 мимо всех тех, кто интеллектуально неинтересные отвлечения, 34 00:47:17,600 --> 00:47:20,290 и вместо этого сосредоточиться на идеях. 35 00:47:20,290 --> 00:47:22,540 >> На самом деле, это может быть и раньше. 36 00:47:22,540 --> 00:47:24,830 Это, для этого, неделя будет после. 37 00:47:24,830 --> 00:47:26,760 Это, в этом графическом язык Царапина, 38 00:47:26,760 --> 00:47:29,870 как вы бы реализовать тот же program-- программу, которая при запуске, 39 00:47:29,870 --> 00:47:31,340 просто говорит привет мир. 40 00:47:31,340 --> 00:47:34,740 И что приятно о Царапины что именно это графическое программирование 41 00:47:34,740 --> 00:47:38,780 среда, которая использует кусочки головоломки или блоки, что только сцепляются вместе 42 00:47:38,780 --> 00:47:40,440 если он имеет логический смысл сделать это. 43 00:47:40,440 --> 00:47:43,810 И с нуля вы можете развить анимации и интерактивных игр 44 00:47:43,810 --> 00:47:47,270 и искусство, и любое количество вещей, которые вы можете себе представить в своем собственном уме, 45 00:47:47,270 --> 00:47:51,200 и реализовать их просто перетаскивая кусочки головоломки. 46 00:47:51,200 --> 00:47:54,265 >> И в самом деле, мы будем иметь возможность чтобы выразить некоторые из тех же идей 47 00:47:54,265 --> 00:47:56,890 что я только что упомянул мгновение назад в контексте Майк Смит 48 00:47:56,890 --> 00:48:00,670 и поиск телефонного book-- вещи как функции, просто действия, 49 00:48:00,670 --> 00:48:03,070 такие вещи, как петли, которые делают вещи снова и снова, 50 00:48:03,070 --> 00:48:05,170 переменные, что является то, что мы будем вводить, 51 00:48:05,170 --> 00:48:08,086 но это, возможно, знакомы с algebra-- просто какая-то заполнитель 52 00:48:08,086 --> 00:48:10,840 хранить некоторое значение, которое вы могли бы нужны later-- логические выражения, 53 00:48:10,840 --> 00:48:13,720 где те, да нет, или правда ложные вопросы из ранее. 54 00:48:13,720 --> 00:48:17,117 Условия те вилы в road-- те отрасли, так сказать. 55 00:48:17,117 --> 00:48:19,700 И тогда есть некоторые искуснее особенности мы увидим, даже сегодня, 56 00:48:19,700 --> 00:48:22,850 называемые массивы и потоки и События, которые мы потом вернемся через 57 00:48:22,850 --> 00:48:24,460 время на разных языках. 58 00:48:24,460 --> 00:48:26,790 Но Царапина позволяет нам для изучения всех из них. 59 00:48:26,790 --> 00:48:30,779 Так что здесь в пустом месте, это фиолетовый блок, что функция, как правило, 60 00:48:30,779 --> 00:48:31,570 будет выглядеть. 61 00:48:31,570 --> 00:48:35,620 Это фиолетовый кусок головоломки, что есть некоторые слово, как, скажем, что это действие, 62 00:48:35,620 --> 00:48:38,490 а затем он может иметь аргумент или parameter-- каким-то образом 63 00:48:38,490 --> 00:48:41,140 от вида пользовательской настройки то, что блок делает 64 00:48:41,140 --> 00:48:45,182 так что это не предопределены MIT говорит, что этот фиолетовый блок. 65 00:48:45,182 --> 00:48:47,390 На самом деле, вы увидите в тот момент, когда я в состоянии напечатать 66 00:48:47,390 --> 00:48:49,931 слова как привет мир, или привет Дэвид, или привет Zamayla, 67 00:48:49,931 --> 00:48:53,750 или то, что я хочу, в аргументе для этой головоломки piece-- белый квадрат 68 00:48:53,750 --> 00:48:54,251 там. 69 00:48:54,251 --> 00:48:57,166 В то же время, если я хочу цикл, мы будем видеть, что есть кусочки головоломки, которые 70 00:48:57,166 --> 00:48:58,640 выглядеть немного оранжевого цвета, как это. 71 00:48:58,640 --> 00:49:01,690 И их форма рода предполагает, что что-то снова и снова происходит 72 00:49:01,690 --> 00:49:02,680 в цикле. 73 00:49:02,680 --> 00:49:06,800 >> Так что если я обернуть привет мир блок сказать с навсегда блокировать в пустом месте, 74 00:49:06,800 --> 00:49:10,307 это просто будет продолжать говорить привет мир навсегда, в буквальном смысле слова. 75 00:49:10,307 --> 00:49:12,390 В то же время, есть еще тип цикла в пустом месте 76 00:49:12,390 --> 00:49:14,348 что мы будем see-- повторения block--, где, если вы 77 00:49:14,348 --> 00:49:17,940 знать заранее, сколько раз Вы хотите, чтобы выполнить цикл 78 00:49:17,940 --> 00:49:21,850 конечное число раз в fact-- вас можно указать, что, введя в ряде 79 00:49:21,850 --> 00:49:25,380 или даже закупорки в переменной, как х или у, как мы увидим. 80 00:49:25,380 --> 00:49:27,690 >> На самом деле, как переменные Я в этом случае, который 81 00:49:27,690 --> 00:49:30,109 является общим названием для целая переменная, что 82 00:49:30,109 --> 00:49:31,900 просто хранит number-- целое число, может быть, 83 00:49:31,900 --> 00:49:35,470 использовать этот оранжевый блок здесь установить переменную, как я к нулю. 84 00:49:35,470 --> 00:49:38,900 Вот пример в зеленые поля Логическое выражение в пустом месте. 85 00:49:38,900 --> 00:49:43,700 Даже если это выглядит как математика формула, математические неравенства, как это 86 00:49:43,700 --> 00:49:45,320 на самом деле являются булевыми выражениями. 87 00:49:45,320 --> 00:49:46,570 Это либо истинным, либо ложным. 88 00:49:46,570 --> 00:49:48,300 Я меньше, чем 50. 89 00:49:48,300 --> 00:49:51,815 Это либо да или нет ответа или истинным или ложным ответом. 90 00:49:51,815 --> 00:49:53,940 И мы обычно называем эти логические выражения. 91 00:49:53,940 --> 00:49:55,148 И это не должно быть 50. 92 00:49:55,148 --> 00:49:57,970 Это может быть х меньше, чем у, больше, чем у, равный y-- 93 00:49:57,970 --> 00:50:00,020 любое количество других может быть заданы вопросы. 94 00:50:00,020 --> 00:50:03,250 >> Теперь, на первый взгляд, это может выглядеть вдруг совсем смелыми здесь, и это. 95 00:50:03,250 --> 00:50:06,540 Но концепция мудрый, это довольно хорошо знакомы с прежде. 96 00:50:06,540 --> 00:50:09,370 Если х меньше у, чем, скажем, как много. 97 00:50:09,370 --> 00:50:12,230 Иначе, если х больше чем у, то говорят, как много. 98 00:50:12,230 --> 00:50:14,260 Иначе сказать, х равно у. 99 00:50:14,260 --> 00:50:17,220 Таким образом, мы имеем пример там третьего scenario-- 100 00:50:17,220 --> 00:50:20,600 только третий possibility-- х является либо больше, меньше или равно. 101 00:50:20,600 --> 00:50:22,420 Таким образом, у нас есть три способа распутье. 102 00:50:22,420 --> 00:50:26,290 >> И заметьте, что это круто here-- Царапина, казалось бы, имеет только одну головоломку 103 00:50:26,290 --> 00:50:28,840 часть, в данном случае, в блоке, если другое. 104 00:50:28,840 --> 00:50:32,090 И тем не менее, что, казалось бы, предполагают, что вы можете есть только два пути развилки дорог. 105 00:50:32,090 --> 00:50:34,631 Вы можете пойти налево или направо, но что насчет третьего сценария? 106 00:50:34,631 --> 00:50:35,760 Что делать, если х равно у? 107 00:50:35,760 --> 00:50:36,500 Ничего страшного. 108 00:50:36,500 --> 00:50:39,640 Возьмите один кусок головоломки, положить другой внутри него 109 00:50:39,640 --> 00:50:45,759 создать семантический эквивалент в случае, если еще, else-- и теперь вы 110 00:50:45,759 --> 00:50:47,300 иметь свой трехсторонний распутье. 111 00:50:47,300 --> 00:50:49,091 И, как мы видим, Царапина головоломки 112 00:50:49,091 --> 00:50:51,820 может быть растянут и расти, так что а втиснуть больше материала в них. 113 00:50:51,820 --> 00:50:54,420 Вам не нужно, чтобы соответствовать все, что в его размера по умолчанию. 114 00:50:54,420 --> 00:50:56,690 >> Это то, что мы будем вскоре см называется массивом. 115 00:50:56,690 --> 00:51:00,880 Это как list-- каким-то образом хранения нескольких фрагментов информации 116 00:51:00,880 --> 00:51:02,886 в переменной, а не просто номер. 117 00:51:02,886 --> 00:51:05,760 Это мы видим представителя нечто, называемое многопоточность. 118 00:51:05,760 --> 00:51:08,280 На самом деле, все ваши Маков и ПК в эти дни 119 00:51:08,280 --> 00:51:10,810 Поддерживает многопоточность, а это значит, вы можете в буквальном смысле 120 00:51:10,810 --> 00:51:12,390 делать несколько вещей одновременно. 121 00:51:12,390 --> 00:51:15,390 Вы можете иметь Microsoft Word вверх в на переднем плане, работая на каком-то эссе. 122 00:51:15,390 --> 00:51:17,160 Вы можете иметь браузер в фоновом режиме открытия 123 00:51:17,160 --> 00:51:18,720 G почте или Facebook или тому подобное. 124 00:51:18,720 --> 00:51:22,730 Ваш компьютер может сделать несколько вещей сегодня, потому что это многопоточный, 125 00:51:22,730 --> 00:51:26,390 и программы, они находятся в в частности, также многопоточное. 126 00:51:26,390 --> 00:51:28,970 >> Там в вещи, названные события, как а в мире нуля, 127 00:51:28,970 --> 00:51:32,640 а затем есть способ тоже, чтобы сделать наши собственные головоломки, если вещи 128 00:51:32,640 --> 00:51:34,810 на самом деле не существует заранее. 129 00:51:34,810 --> 00:51:38,260 Так что давайте мотивируют это следующим образом. 130 00:51:38,260 --> 00:51:40,580 Несколько лет назад, когда я впервые обнаружен на пустом месте, 131 00:51:40,580 --> 00:51:43,530 когда я был на самом деле аспирантом в Массачусетском технологическом институте, мы 132 00:51:43,530 --> 00:51:45,640 сами были поставлена ​​задача сделать домашнее задание. 133 00:51:45,640 --> 00:51:47,614 И я implemented-- который, в ретроспективе, 134 00:51:47,614 --> 00:51:50,780 было очень плохое решение, потому что это самая бешенство песня в мире 135 00:51:50,780 --> 00:51:53,321 чтобы слушать в течение восьми часов во время работы на homework-- 136 00:51:53,321 --> 00:51:57,180 но что-то я назвал Оскар Время, который, возможно, знакомая песня. 137 00:51:57,180 --> 00:51:59,820 >> CS50s собственный Jordan Hayashi, один из наши более старшие сотрудники, 138 00:51:59,820 --> 00:52:03,920 повысило его к 2015 году и Теперь 2016, так как назад в день, 139 00:52:03,920 --> 00:52:06,610 У меня было все, что только собирается в мусорную корзину Оскара. 140 00:52:06,610 --> 00:52:09,320 В настоящее время мы поддерживаем переработку и компостирование. 141 00:52:09,320 --> 00:52:12,050 >> Но чтобы нарисовать картину о том, что мы можем сделать здесь 142 00:52:12,050 --> 00:52:14,130 и мотивировать некоторых нижние примеры уровня, 143 00:52:14,130 --> 00:52:16,400 мы могли бы получить один другой Работа на общественных началах, чтобы просто прийти на вверх 144 00:52:16,400 --> 00:52:18,331 и играть мой первый домашнее задание когда-либо? 145 00:52:18,331 --> 00:52:18,830 Поднимайтесь. 146 00:52:18,830 --> 00:52:19,250 Как вас зовут? 147 00:52:19,250 --> 00:52:20,030 >> ГЕНРИ: Генри. 148 00:52:20,030 --> 00:52:22,660 >> DAVID Маланом: Генри, давай вверх. 149 00:52:22,660 --> 00:52:24,190 Поднимайтесь. 150 00:52:24,190 --> 00:52:27,070 Голова так или иначе, и вы увидите в данный момент, 151 00:52:27,070 --> 00:52:29,870 Я собираюсь идти вперед и ударил зеленый флаг в верхней правой руке 152 00:52:29,870 --> 00:52:31,100 угол, что означает идти. 153 00:52:31,100 --> 00:52:33,320 Значок знак немного остановки собирается сказать стоп, 154 00:52:33,320 --> 00:52:35,490 и это при запуске и остановить программу. 155 00:52:35,490 --> 00:52:36,450 Приятно познакомиться. 156 00:52:36,450 --> 00:52:36,950 Отлично. 157 00:52:36,950 --> 00:52:39,100 Итак, мы собираемся, чтобы увидеть инструкции на экране в мгновение. 158 00:52:39,100 --> 00:52:41,450 И просто играть в эту игру для нескольких seconds-- поверьте мне, 159 00:52:41,450 --> 00:52:43,670 мы не будем хотеть играть все пути к end-- вы будете 160 00:52:43,670 --> 00:52:45,470 получить представление о том, что делает программа. 161 00:52:45,470 --> 00:52:49,170 И больше, чем просто сосредоточиться на Генри быть хорошим или плохим в этой игре, фокус 162 00:52:49,170 --> 00:52:52,600 и как они были реализованы мной первоначально, а затем Иордании. 163 00:52:52,600 --> 00:52:54,640 Другими словами, где переменные? 164 00:52:54,640 --> 00:52:55,520 Где петли? 165 00:52:55,520 --> 00:52:56,520 Где функции? 166 00:52:56,520 --> 00:53:00,700 И мы увидим, если мы не видим те, под капотом. 167 00:53:00,700 --> 00:53:03,660 >> Просто нажмите и перетащите мусор в соответствующий бункер. 168 00:53:03,660 --> 00:54:02,100 >> [МУЗЫКА] 169 00:54:02,100 --> 00:54:02,600 Отлично. 170 00:54:02,600 --> 00:54:03,160 Это очень хорошо. 171 00:54:03,160 --> 00:54:04,286 Почему бы нам не остановить его там. 172 00:54:04,286 --> 00:54:04,786 Спасибо. 173 00:54:04,786 --> 00:54:05,830 Поздравляем Генри. 174 00:54:05,830 --> 00:54:07,002 Спасибо. 175 00:54:07,002 --> 00:54:10,690 >> [АПЛОДИСМЕНТЫ] 176 00:54:10,690 --> 00:54:12,450 >> Только представьте себе эту программу отладки. 177 00:54:12,450 --> 00:54:15,880 Если есть проблема двух й минуте, но так song-- 178 00:54:15,880 --> 00:54:17,430 что здесь происходит на самом деле? 179 00:54:17,430 --> 00:54:20,900 Как сложно, как может показаться начинают казаться, чтобы получить в течение долгого времени, 180 00:54:20,900 --> 00:54:22,910 на самом деле все больше и больше вещи начали падать, 181 00:54:22,910 --> 00:54:25,370 что интересно о этот вид example-- 182 00:54:25,370 --> 00:54:27,270 и мы увидим, некоторые из них others-- в том, что если вы 183 00:54:27,270 --> 00:54:30,416 смотреть мимо сложности или изощренность игры, 184 00:54:30,416 --> 00:54:33,040 есть очень простое здание блоки, play-- все из которых, 185 00:54:33,040 --> 00:54:35,840 если вы отогнать их тем, строительные блоки, очень доступны 186 00:54:35,840 --> 00:54:37,401 и реализуемыми им самим. 187 00:54:37,401 --> 00:54:39,150 Например, это было некоторое время, но я 188 00:54:39,150 --> 00:54:42,900 уверен, что я изначально сделал, когда что делает эту игру в первый раз 189 00:54:42,900 --> 00:54:44,787 я был полностью как тянули. 190 00:54:44,787 --> 00:54:47,120 Я не сосредоточиться на всех на логика или кусочки головоломки, 191 00:54:47,120 --> 00:54:50,810 Я сосредоточился на графике и нахождение улица пост и мусорный бак 192 00:54:50,810 --> 00:54:51,540 и все это. 193 00:54:51,540 --> 00:54:53,456 Но это были необходимым условием ингредиенты в первую очередь. 194 00:54:53,456 --> 00:54:57,220 И как только я закончил откладывать и выложив общие рамки, 195 00:54:57,220 --> 00:55:00,337 Я решил, позвольте мне сделать один часть падения для мусора с неба. 196 00:55:00,337 --> 00:55:02,170 И мы увидим, к царапинам поддерживает вещи, называемые 197 00:55:02,170 --> 00:55:06,386 sprites-- символов, которые могут имеют разные костюмы на так что они 198 00:55:06,386 --> 00:55:07,010 Выглядит иначе. 199 00:55:07,010 --> 00:55:09,660 >> И поэтому я ставлю мусор костюм на одном из таких спрайта. 200 00:55:09,660 --> 00:55:12,007 И я просто нуждался падать с неба. 201 00:55:12,007 --> 00:55:14,590 И так получается, к царапинам, как и большинство языков программирования, 202 00:55:14,590 --> 00:55:18,099 поддерживает случайные числа или технически псевдокод случайных чисел, 203 00:55:18,099 --> 00:55:20,390 так что с помощью перетаскивания сбросив определенные части головоломки, 204 00:55:20,390 --> 00:55:22,890 Я был в состоянии иметь мусор приходят слева на первый взгляд. 205 00:55:22,890 --> 00:55:25,580 И тогда в следующий раз, он упал, из право, а затем с середины. 206 00:55:25,580 --> 00:55:28,060 И все же игра была просто есть мусор, падающие с неба. 207 00:55:28,060 --> 00:55:29,770 Вы не могли бы указать на нее или нажать на нее. 208 00:55:29,770 --> 00:55:31,103 Вы не могли открыть мусорный бак. 209 00:55:31,103 --> 00:55:32,160 Вы ничего не могли сделать. 210 00:55:32,160 --> 00:55:34,450 Но это был шаг ребенка к моей конечной видения. 211 00:55:34,450 --> 00:55:36,720 >> И после этого, я на самом деле реализован какой-то 212 00:55:36,720 --> 00:55:41,230 зондирования, так что если вы сделали нажмите и перетащить на кусок мусора 213 00:55:41,230 --> 00:55:44,350 по банку хлама, Оскар крышка будет открываться и закрываться. 214 00:55:44,350 --> 00:55:47,650 Ничего не случится с мусором, но по крайней мере, крышка будет открываться и закрываться. 215 00:55:47,650 --> 00:55:49,642 Таким образом, проверьте, шаг два из двух. 216 00:55:49,642 --> 00:55:52,100 И это то, что будет ключ в обеих задаче установить ноль 217 00:55:52,100 --> 00:55:55,970 и в программировании в более общем плане, является принимать эти очень умышленные шаги ребенка. 218 00:55:55,970 --> 00:55:59,390 Потому что оно не только позволит вам чувствовать себя честно достигнуто многое другое 219 00:55:59,390 --> 00:56:01,250 quickly-- это худшее в мире 220 00:56:01,250 --> 00:56:06,149 чтобы попытаться реализовать все Оскар времени, затем часами позже ударил зеленый флаг, 221 00:56:06,149 --> 00:56:08,440 и ничего не работает, как ожидалось потому что, когда Вы даже 222 00:56:08,440 --> 00:56:11,150 начать отладку или устранить эту программу? 223 00:56:11,150 --> 00:56:12,470 Это просто подавляющим. 224 00:56:12,470 --> 00:56:16,792 >> И так действительно осваивают эту идею принимать steps-- шаги ребенка снова 225 00:56:16,792 --> 00:56:19,000 и again-- построение то, что это, в конце концов, 226 00:56:19,000 --> 00:56:23,672 действительно впечатляет и сложный, но во-первых, не так сильно. 227 00:56:23,672 --> 00:56:24,630 На самом деле, давайте сделаем это. 228 00:56:24,630 --> 00:56:28,989 Позвольте мне идти вперед и-- Царапины себя существует в Интернете по адресу Scratch.MIT.edu, 229 00:56:28,989 --> 00:56:30,780 и вы будете, как сказал много раз в задаче 230 00:56:30,780 --> 00:56:34,200 установить ноль, спецификация для который уже находится на веб-сайте CS50 в. 231 00:56:34,200 --> 00:56:35,725 >> Но это то, что само по себе является царапинам. 232 00:56:35,725 --> 00:56:38,210 И есть на самом деле просто три основные области. 233 00:56:38,210 --> 00:56:40,980 В верхнем левом углу есть это так называемый этап. 234 00:56:40,980 --> 00:56:41,810 Это Царапины. 235 00:56:41,810 --> 00:56:43,710 костюм по умолчанию является кошка. 236 00:56:43,710 --> 00:56:46,950 И это прямоугольный мир которые вы можете move-- вверх, вниз, влево, 237 00:56:46,950 --> 00:56:48,130 право и некоторые другие вещи. 238 00:56:48,130 --> 00:56:51,839 В середине здесь наши категории или наши поддоны головоломки, 239 00:56:51,839 --> 00:56:53,630 и разные цвета означают разные вещи. 240 00:56:53,630 --> 00:56:56,520 И если вы поищите, вы увидите вещи, такие как циклы и условия 241 00:56:56,520 --> 00:56:58,160 и переменные и другие ингредиенты. 242 00:56:58,160 --> 00:57:00,060 >> А потом здесь является область скриптов. 243 00:57:00,060 --> 00:57:03,020 Это где я могу перетащить эти кусочки головоломки, чтобы делать вещи. 244 00:57:03,020 --> 00:57:04,690 Так давайте сделаем одну такую ​​вещь. 245 00:57:04,690 --> 00:57:06,630 Позвольте мне идти вперед и-- и я знаю, где это. 246 00:57:06,630 --> 00:57:10,110 Так что я собираюсь немедленно нажать на где я знаю, что все готовы быть, 247 00:57:10,110 --> 00:57:13,140 но указывая и нажав и ковыряться неизбежны. 248 00:57:13,140 --> 00:57:15,320 Поэтому, когда зеленый флаг щелкнул, Что я хочу сделать? 249 00:57:15,320 --> 00:57:17,100 Я собираюсь сделать это. 250 00:57:17,100 --> 00:57:20,699 Я собираюсь перетащить этот фиолетовый головоломки часть, скажем привет в течение двух секунд, 251 00:57:20,699 --> 00:57:21,490 и позвольте мне увеличить. 252 00:57:21,490 --> 00:57:23,865 >> И я собираюсь изменить это чтобы быть тем, что я хочу, чтобы be-- 253 00:57:23,865 --> 00:57:26,471 привет мир в течение двух секунд нормально. 254 00:57:26,471 --> 00:57:28,970 Теперь, я собираюсь нажать зеленый флаг, или если я действительно хочу, 255 00:57:28,970 --> 00:57:31,820 Я могу в полноэкранном режиме, а затем вернуться. 256 00:57:31,820 --> 00:57:34,060 Он будет просто держать все в одном окне. 257 00:57:34,060 --> 00:57:36,141 Зеленый flag-- привет мир. 258 00:57:36,141 --> 00:57:36,640 Отлично. 259 00:57:36,640 --> 00:57:38,789 Не все, что интересно. 260 00:57:38,789 --> 00:57:40,080 Итак, позвольте мне идти вперед и делать это. 261 00:57:40,080 --> 00:57:41,038 Позвольте мне попробовать еще. 262 00:57:41,038 --> 00:57:44,740 Когда зеленый флаг clicked-- давайте сделать что-то вроде звука. 263 00:57:44,740 --> 00:57:46,880 И обратите внимание, что из коробка бесплатно вы получаете 264 00:57:46,880 --> 00:57:49,910 звук кота, как спрайт по умолчанию. 265 00:57:49,910 --> 00:57:52,380 Так что теперь позвольте мне идти вперед и ударил зеленый флаг прямо сейчас. 266 00:57:52,380 --> 00:57:53,224 >> [Мяуканье] 267 00:57:53,224 --> 00:57:54,490 >> Ав. 268 00:57:54,490 --> 00:57:55,370 Это восхитительно. 269 00:57:55,370 --> 00:57:57,040 Я программирования. 270 00:57:57,040 --> 00:57:58,550 Так что я сделал? 271 00:57:58,550 --> 00:58:00,430 Это эквивалент программы. 272 00:58:00,430 --> 00:58:01,600 Это, очевидно, супер просто. 273 00:58:01,600 --> 00:58:05,300 Это на самом деле не принимать все, что много усилия и MIT сделал большую часть работы, 274 00:58:05,300 --> 00:58:07,890 но я называется функцией. 275 00:58:07,890 --> 00:58:08,940 Я использовал функцию. 276 00:58:08,940 --> 00:58:12,480 Я сделал какое-то действие, используя только что один фиолетовый кусок головоломки. 277 00:58:12,480 --> 00:58:15,960 >> Ну, если я хочу сделать три мяукает подряд? 278 00:58:15,960 --> 00:58:18,570 Позвольте мне идти вперед и делать два и три. 279 00:58:18,570 --> 00:58:20,910 И заметьте, что когда вы парить рядом кусок головоломки, 280 00:58:20,910 --> 00:58:22,970 появляется маленькая белая линия своего рода магнитным способом, 281 00:58:22,970 --> 00:58:25,190 и она лопнет вместе, когда вы отпускаете. 282 00:58:25,190 --> 00:58:26,600 Давайте посмотрим, что здесь происходит. 283 00:58:26,600 --> 00:58:27,920 >> [Мяуканье] 284 00:58:27,920 --> 00:58:32,390 285 00:58:32,390 --> 00:58:34,510 >> Там есть ошибка. 286 00:58:34,510 --> 00:58:35,650 Я слышу только одно мяуканье. 287 00:58:35,650 --> 00:58:37,440 Почему это может быть? 288 00:58:37,440 --> 00:58:39,001 Да? 289 00:58:39,001 --> 00:58:39,500 Да. 290 00:58:39,500 --> 00:58:41,650 Мы на самом деле не слышать, но это хорошая интуиция. 291 00:58:41,650 --> 00:58:43,400 Они все играют в то же время. 292 00:58:43,400 --> 00:58:44,000 Зачем? 293 00:58:44,000 --> 00:58:46,587 Ну, компьютер просто будет делать то, что вы скажете ей сделать. 294 00:58:46,587 --> 00:58:48,670 Так что, если вы говорите, воспроизведение звука, воспроизведение звука, воспроизведение звука, 295 00:58:48,670 --> 00:58:52,887 но вы не говорите это играть до вы закончите, играть, пока вы не закончите, 296 00:58:52,887 --> 00:58:54,970 это будет дуть через программа очень быстро 297 00:58:54,970 --> 00:58:56,830 и не только то, что вы скажете ей сделать. 298 00:58:56,830 --> 00:58:59,040 >> Так что я на самом деле нужно исправить это несколькими способами. 299 00:58:59,040 --> 00:59:00,623 Я мог бы просто сделать это, чтобы избавиться от этого. 300 00:59:00,623 --> 00:59:04,180 Позвольте мне попробовать эту другую головоломку piece-- играть звук мяу пока не сделано, 301 00:59:04,180 --> 00:59:07,072 а затем перетащить три эти и нажмите кнопку воспроизведения. 302 00:59:07,072 --> 00:59:09,430 >> [Мяуканье] 303 00:59:09,430 --> 00:59:13,350 >> Это на самом деле не very-- спасибо you-- очень естественно. 304 00:59:13,350 --> 00:59:16,590 Так почему же не i-- пусть мне идти, чтобы контролировать здесь. 305 00:59:16,590 --> 00:59:17,090 Ницца. 306 00:59:17,090 --> 00:59:22,230 Подождите одну секунду, а теперь позвольте мне вернуться звуки и воспроизводить звук, пока не сделано, 307 00:59:22,230 --> 00:59:24,620 а затем позвольте мне подождать одну секунду. 308 00:59:24,620 --> 00:59:28,692 А потом позвольте мне пойти и получить один больше звука, и здесь мы идем. 309 00:59:28,692 --> 00:59:31,350 >> [Мяуканье] 310 00:59:31,350 --> 00:59:35,930 >> Чуть более естественным, но это не очень эффективно. 311 00:59:35,930 --> 00:59:39,830 Как мне становится скучно, все будет Короче говоря, нажав назад и вперед 312 00:59:39,830 --> 00:59:42,724 и действительно дублируя мое work-- довольно много копирования и вставки. 313 00:59:42,724 --> 00:59:44,640 Действительно, если я управляю или нажал правой клавишей нажал, 314 00:59:44,640 --> 00:59:46,500 Я мог бы просто скопировать и вставить. 315 00:59:46,500 --> 00:59:49,870 Что было бы лучше построить использовать? 316 00:59:49,870 --> 00:59:51,090 Какая идея от раньше? 317 00:59:51,090 --> 00:59:51,990 >> Да, так что петля. 318 00:59:51,990 --> 00:59:54,580 И в самом деле, если мы пошарил, мы могли бы найти именно то, что. 319 00:59:54,580 --> 00:59:57,730 Позвольте мне идти на события или, вернее, контроля. 320 00:59:57,730 --> 00:59:59,650 Так repeat-- я не хотят, чтобы это было в 10 раз. 321 00:59:59,650 --> 01:00:01,370 Это собирается раздражать быстро. 322 01:00:01,370 --> 01:00:03,380 Но я буду повторять три раза. 323 01:00:03,380 --> 01:00:06,355 Позвольте мне вернуться к звуку и играть звук, пока это не сделано. 324 01:00:06,355 --> 01:00:08,480 Позвольте мне вернуться к контролю и просто ждать одну секунду. 325 01:00:08,480 --> 01:00:10,271 И заметьте, вы можете думаю, что это не подходит, 326 01:00:10,271 --> 01:00:13,520 но опять же, если магнитным вы позволите оснастки на месте, она будет расти, чтобы заполнить. 327 01:00:13,520 --> 01:00:14,971 Что он играет сейчас? 328 01:00:14,971 --> 01:00:18,500 >> [Мяуканье] 329 01:00:18,500 --> 01:00:19,000 ОК. 330 01:00:19,000 --> 01:00:19,660 Ницца. 331 01:00:19,660 --> 01:00:22,540 И это то, что можно было бы назвать программа, которая также правильно. 332 01:00:22,540 --> 01:00:27,590 Он мяукал три раза довольно естественно, но это лучше разработаны. 333 01:00:27,590 --> 01:00:29,580 Я использую меньше избыточности. 334 01:00:29,580 --> 01:00:30,970 Я не скопировать и вставить что-нибудь. 335 01:00:30,970 --> 01:00:32,470 Я просто использовал лучшее представление. 336 01:00:32,470 --> 01:00:35,340 >> Теперь, это еще не все, что Интересно, с нуля не делать 337 01:00:35,340 --> 01:00:35,930 что-нибудь. 338 01:00:35,930 --> 01:00:37,388 Так что давайте делать что-то еще вместо этого. 339 01:00:37,388 --> 01:00:38,670 Давайте делать что-то навсегда. 340 01:00:38,670 --> 01:00:39,420 И знаешь, что? 341 01:00:39,420 --> 01:00:40,470 Движение кажется интересным. 342 01:00:40,470 --> 01:00:45,760 Давайте ему двигаться 10 шаги и ударил играть прямо сейчас. 343 01:00:45,760 --> 01:00:46,570 >> ОК. 344 01:00:46,570 --> 01:00:49,300 Ну мы можем вид сопротивления его обратно, и он по-прежнему 345 01:00:49,300 --> 01:00:51,250 работает, потому что он делает это навсегда. 346 01:00:51,250 --> 01:00:53,150 Таким образом, цикл делает что он говорит делать, 347 01:00:53,150 --> 01:00:54,650 но это не все, что интересно. 348 01:00:54,650 --> 01:00:55,310 Давай сделаем это. 349 01:00:55,310 --> 01:00:59,870 Позвольте мне добавить блок управления, и использовать одну из этих условий в первый раз. 350 01:00:59,870 --> 01:01:03,119 >> Так что это будет двигаться 10 steps-- 10 точек, 10 пикселей на screen-- 351 01:01:03,119 --> 01:01:04,660 то это будет задать этот вопрос. 352 01:01:04,660 --> 01:01:09,340 Если что-то правда, то делать что-то внутри этого блока. 353 01:01:09,340 --> 01:01:13,060 Так что получается зондирование имеет целый связка булевой expressions-- 354 01:01:13,060 --> 01:01:16,580 вопросы да нет или правда ложная form-- сделаем это. 355 01:01:16,580 --> 01:01:19,260 >> Если touching-- и затем есть это маленькое выпадающее меню. 356 01:01:19,260 --> 01:01:20,410 Я могу параметризовать его. 357 01:01:20,410 --> 01:01:23,010 Если прикасаясь к edge-- давайте сделать что-то вроде этого. 358 01:01:23,010 --> 01:01:27,310 Так что, если вы прикасаетесь edge-- позвольте мне вернуться к движению. 359 01:01:27,310 --> 01:01:32,281 А почему бы нам не просто развернуться на 180 градусов? 360 01:01:32,281 --> 01:01:32,780 Отлично. 361 01:01:32,780 --> 01:01:35,070 Так навсегда, двигаться 10 шагов. 362 01:01:35,070 --> 01:01:37,670 Если вы трогательные край, поворот на 180 градусов. 363 01:01:37,670 --> 01:01:39,720 И это еще не конец программы потому что вы в навсегда блокировать, 364 01:01:39,720 --> 01:01:42,053 так что собирается идти снова и Снова и снова и снова. 365 01:01:42,053 --> 01:01:43,980 Итак, давайте посмотрим, что произойдет. 366 01:01:43,980 --> 01:01:44,785 ОК. 367 01:01:44,785 --> 01:01:48,270 Немного глючный, но вид прохладного. 368 01:01:48,270 --> 01:01:51,710 >> И мы можем добавить к этому какие-то глупые вещи что не все, что интеллектуально 369 01:01:51,710 --> 01:01:52,270 интересно. 370 01:01:52,270 --> 01:01:57,210 Но если мы этот маленький хит Микрофон button-- Уч. 371 01:01:57,210 --> 01:01:58,480 Позвольте мне очистить это. 372 01:01:58,480 --> 01:02:01,540 Позвольте мне улучшить это как они бы сказали по телевизору. 373 01:02:01,540 --> 01:02:05,400 Очистите, что вверх, Сохранить и Теперь идти до скриптов. 374 01:02:05,400 --> 01:02:07,500 >> А теперь позвольте мне перейти к звуку. 375 01:02:07,500 --> 01:02:09,002 Позвольте мне дать ему имя. 376 01:02:09,002 --> 01:02:12,440 Я буду называть это Ouch. 377 01:02:12,440 --> 01:02:13,840 И теперь играть звук Ouch. 378 01:02:13,840 --> 01:02:16,520 Обратите внимание на то, что появляется в немного выпадающее меню. 379 01:02:16,520 --> 01:02:17,612 Посмотрим. 380 01:02:17,612 --> 01:02:20,444 >> [ОЙ] 381 01:02:20,444 --> 01:02:24,377 >> [СМЕЮЩИЙСЯ] 382 01:02:24,377 --> 01:02:25,835 Но мы можем изменить т Его на лету. 383 01:02:25,835 --> 01:02:28,106 Мы можем быть в два раза раздражает. 384 01:02:28,106 --> 01:02:31,760 >> [ОЙ] 385 01:02:31,760 --> 01:02:35,332 >> Или, если мы делаем это, как 1000 шагов за time-- 386 01:02:35,332 --> 01:02:39,900 387 01:02:39,900 --> 01:02:40,670 >> ОК. 388 01:02:40,670 --> 01:02:42,295 Итак, мы собираемся оставить это один в одиночку. 389 01:02:42,295 --> 01:02:45,290 Так опять же, строительство blocks-- I начал с чем-то супер простой, 390 01:02:45,290 --> 01:02:47,930 а затем я добавил функцию, добавлена ​​возможность, добавлена ​​возможность. 391 01:02:47,930 --> 01:02:50,721 И я больше не нужно беспокоиться о как первый из этих функций 392 01:02:50,721 --> 01:02:53,690 был реализован как я по-прежнему наслаивать вещи на вершине. 393 01:02:53,690 --> 01:02:55,430 Так что на самом деле, позвольте мне сделать одно другое здесь. 394 01:02:55,430 --> 01:03:00,580 Позвольте мне идти вперед и открыть файл, Я принес заранее, называется Овец. 395 01:03:00,580 --> 01:03:03,970 >> Так что он имеет немного другой символ, который выглядит следующим образом. 396 01:03:03,970 --> 01:03:07,370 И позвольте мне увидеть, если я не могу сделать что-то с помощью счетчика 397 01:03:07,370 --> 01:03:09,310 в этом case-- так называемую переменную. 398 01:03:09,310 --> 01:03:15,540 Я собираюсь идти вперед и под Events-- позвольте мне получить зеленый флаг щелкнул. 399 01:03:15,540 --> 01:03:19,030 Тогда позвольте мне перейти к данным, которые я знаю, от просто играл раньше, 400 01:03:19,030 --> 01:03:20,214 где переменные. 401 01:03:20,214 --> 01:03:21,880 И я собираюсь идти вперед и перетащить это. 402 01:03:21,880 --> 01:03:25,144 >> Так что переменная называется счетчик, и Я собираюсь инициализировать его к нулю. 403 01:03:25,144 --> 01:03:27,560 Я могу назвать его anything-- х или у или z--, но в программировании, 404 01:03:27,560 --> 01:03:30,410 называя что-то в семантически полезный способ, как счетчик, 405 01:03:30,410 --> 01:03:34,540 который описывает, что это такое, это намного легче читать ваш код позже. 406 01:03:34,540 --> 01:03:37,460 Позвольте мне идти вперед и получить навсегда заблокировать здесь. 407 01:03:37,460 --> 01:03:41,289 И позвольте мне перейти к внешности страницы и сделать блок Say. 408 01:03:41,289 --> 01:03:44,330 Но что это круто о переменных я не нужно просто ввести что-то 409 01:03:44,330 --> 01:03:47,850 как привет мир, который мы уже сделано, я могу вместо того, чтобы перейти к данным 410 01:03:47,850 --> 01:03:50,690 и перетащить мою переменную, и даже хотя форма не совсем 411 01:03:50,690 --> 01:03:53,000 выглядеть он должен соответствовать, она будет расти, чтобы заполнить. 412 01:03:53,000 --> 01:03:58,396 И я просто скажу, счетчик для одного second-- spoiler-- он собирается рассчитывать. 413 01:03:58,396 --> 01:04:00,380 Мы будем говорить об этом в течение одной секунды. 414 01:04:00,380 --> 01:04:02,840 Тогда я пойду и есть его ждать в течение одной секунды, 415 01:04:02,840 --> 01:04:04,650 так что это не считается слишком быстро. 416 01:04:04,650 --> 01:04:08,430 И затем, наконец, изменить счетчик по одно-- другими словами, 417 01:04:08,430 --> 01:04:13,520 приращение счетчика на единицу дополнительное значение и сделать это навсегда. 418 01:04:13,520 --> 01:04:16,129 >> Так что овцы тоже, подобно программист, считает от 0. 419 01:04:16,129 --> 01:04:20,350 420 01:04:20,350 --> 01:04:23,740 И если мы будем ждать достаточно долго, он сделает это навсегда. 421 01:04:23,740 --> 01:04:27,740 Но это не совсем верно, потому что в самом деле, как мы обнаружим в неделю один, 422 01:04:27,740 --> 01:04:31,871 целые числа и компьютеры в более общем плане, технически есть только finite-- хорошо, 423 01:04:31,871 --> 01:04:33,829 а компьютеры, когда они представляют собой целые числа, 424 01:04:33,829 --> 01:04:35,670 только конечное число битов. 425 01:04:35,670 --> 01:04:37,860 Эти лампочки там может рассчитывать только настолько высока 426 01:04:37,860 --> 01:04:39,239 прежде чем вы из лампочек. 427 01:04:39,239 --> 01:04:41,590 И компьютер тоже, только имеет так много памяти, 428 01:04:41,590 --> 01:04:44,640 только имеет так много транзисторов, так что он может рассчитывать только столь высока. 429 01:04:44,640 --> 01:04:47,409 >> Так получается, что овцы, Я думаю, что, может рассчитывать на 2 млрд 430 01:04:47,409 --> 01:04:48,409 или что-то довольно большой. 431 01:04:48,409 --> 01:04:50,325 Таким образом, мы не будем ждать, пока это произойдет. 432 01:04:50,325 --> 01:04:54,850 Но в конце концов какая-то ошибка будет происходить которые могут иметь некоторые очень реальный мир 433 01:04:54,850 --> 01:04:55,970 ответвлениях. 434 01:04:55,970 --> 01:04:58,861 Но за овец, что просто вводит переменную. 435 01:04:58,861 --> 01:05:01,110 Давайте идти вперед и открыть то, что я сделал заранее 436 01:05:01,110 --> 01:05:07,430 здесь называется любимца Cat-- Pet Кота здесь. 437 01:05:07,430 --> 01:05:10,420 И заметьте, здесь это мало блоки, но когда зеленый флаг 438 01:05:10,420 --> 01:05:12,474 щелкнул, навсегда, выполнив следующие действия. 439 01:05:12,474 --> 01:05:15,265 Если вы прикасаясь к мыши pointer--, чтобы курсор на экране, 440 01:05:15,265 --> 01:05:18,529 arrow-- игра звук мяу а затем подождите две секунды. 441 01:05:18,529 --> 01:05:19,570 И как раз сделать это навсегда. 442 01:05:19,570 --> 01:05:22,619 Просто постоянно ждать чтобы увидеть, если pointer-- 443 01:05:22,619 --> 01:05:24,710 если кошка трогает указатель. 444 01:05:24,710 --> 01:05:26,060 >> Так что я ударил играть. 445 01:05:26,060 --> 01:05:26,920 Ничего не происходит. 446 01:05:26,920 --> 01:05:28,980 Но, как я переместить курсор над кошкой, 447 01:05:28,980 --> 01:05:31,960 >> [Мяуканье] 448 01:05:31,960 --> 01:05:34,750 >> И если я переместить его в сторону, не гладит кошку больше. 449 01:05:34,750 --> 01:05:38,090 Таким образом, некоторые условная логика вложенными внутри цикла. 450 01:05:38,090 --> 01:05:43,070 Как об этом примере, намеренно называется Не погладить кошку? 451 01:05:43,070 --> 01:05:45,253 Что это будет делать? 452 01:05:45,253 --> 01:05:47,880 >> [Мяуканье] 453 01:05:47,880 --> 01:05:50,215 >> Почему вы не гладите кошку? 454 01:05:50,215 --> 01:05:59,440 >> [Мяуканье] 455 01:05:59,440 --> 01:06:00,699 >> ОК. 456 01:06:00,699 --> 01:06:03,880 Так что это пример, если в другом месте. 457 01:06:03,880 --> 01:06:06,482 Это точка принятия решения и потому что он сидит в петле, 458 01:06:06,482 --> 01:06:07,690 они оба получать чек. 459 01:06:07,690 --> 01:06:08,280 Это правда? 460 01:06:08,280 --> 01:06:08,760 Это правда? 461 01:06:08,760 --> 01:06:09,250 Это правда? 462 01:06:09,250 --> 01:06:09,791 Это правда? 463 01:06:09,791 --> 01:06:11,880 И в конце концов, один из те, собирается подать заявку 464 01:06:11,880 --> 01:06:16,480 и поэтому вы слышите либо мяу или рев льва в этом случае. 465 01:06:16,480 --> 01:06:21,400 >> Что ж, давайте делать немного больше фантазии одного что я сделал заранее too-- нитей. 466 01:06:21,400 --> 01:06:25,210 Таким образом, поток является лишь одним вещь, что компьютер может сделать. 467 01:06:25,210 --> 01:06:29,349 Так многопоточной программа представляет собой программу что может сделать несколько вещей одновременно. 468 01:06:29,349 --> 01:06:31,140 И все эти примеры до сих пор имели 469 01:06:31,140 --> 01:06:35,980 только один сценарий, так speak-- одна программа, как это здесь. 470 01:06:35,980 --> 01:06:38,810 Но обратите внимание, эта программа имеет два спрайта, два символа. 471 01:06:38,810 --> 01:06:40,020 Одним из них является птица. 472 01:06:40,020 --> 01:06:40,870 Одним из них является кошка. 473 01:06:40,870 --> 01:06:45,080 >> И обратите внимание, когда я нажимаю на них вниз слева, каждый из них имеет свои собственные сценарии 474 01:06:45,080 --> 01:06:47,120 или программное обеспечение, связанные с ними. 475 01:06:47,120 --> 01:06:49,420 И оба эти программы, уведомление, начало 476 01:06:49,420 --> 01:06:52,600 с тем, когда зеленый флаг clicked-- давайте посмотрим на cat-- 477 01:06:52,600 --> 01:06:54,030 когда зеленый флаг щелкнул. 478 01:06:54,030 --> 01:06:58,220 И так на самом деле, когда я ударил играть сейчас, две вещи, которые будут происходить одновременно. 479 01:06:58,220 --> 01:07:01,750 Кошка и птица оба будет работать одновременно 480 01:07:01,750 --> 01:07:03,815 для создания этого эффекта. 481 01:07:03,815 --> 01:07:05,440 И вы можете себе представить, что происходит. 482 01:07:05,440 --> 01:07:08,340 Там есть петля и птица и кошки находятся в петле. 483 01:07:08,340 --> 01:07:11,270 Птица просто подпрыгивая, как Я был раньше, когда я сказал Уч. 484 01:07:11,270 --> 01:07:13,040 Но кот явно имеет преимущество. 485 01:07:13,040 --> 01:07:16,040 Там другая чувствительный блок что указывает кошку намеренно 486 01:07:16,040 --> 01:07:19,836 чтобы птицы в этом случае здесь. 487 01:07:19,836 --> 01:07:22,960 Таким образом, мы могли бы дразнить друг от друга, глядя через эти блоки, что происходит. 488 01:07:22,960 --> 01:07:25,460 Но ключевой ингредиент здесь один. 489 01:07:25,460 --> 01:07:28,520 Птица, так что эта игра не полностью boring-- или это animation-- 490 01:07:28,520 --> 01:07:30,060 начинается в произвольном направлении. 491 01:07:30,060 --> 01:07:32,890 И компьютер набирает число от 90 до 180 492 01:07:32,890 --> 01:07:36,110 по существу, таким образом, что это слегка разные анимации каждый раз. 493 01:07:36,110 --> 01:07:39,480 >> И обратите внимание на то здесь, если кот трогает птицу, то 494 01:07:39,480 --> 01:07:42,030 играть льва четыре sound-- рев. 495 01:07:42,030 --> 01:07:46,330 Но пока в птичью палитра, у нас есть это. 496 01:07:46,330 --> 01:07:49,229 Навсегда, если не касаясь кота, просто продолжать двигаться три шага. 497 01:07:49,229 --> 01:07:50,770 А потом вот еще кусок головоломки. 498 01:07:50,770 --> 01:07:52,030 Если вы находитесь на краю, подпрыгивать. 499 01:07:52,030 --> 01:07:54,840 Таким образом, птица просто вид обращая внимания свой собственный бизнес, 500 01:07:54,840 --> 01:07:57,330 просто летать вокруг и подпрыгивая, и это действительно 501 01:07:57,330 --> 01:08:01,780 кошка, которая была условной логики чтобы определить, является ли он поймал птицу. 502 01:08:01,780 --> 01:08:02,280 Отлично. 503 01:08:02,280 --> 01:08:08,800 Так давайте сделаем один другой здесь, это одна из которых называется Привет Привет Привет. 504 01:08:08,800 --> 01:08:15,100 И этот здесь просто делает это в навсегда петле. 505 01:08:15,100 --> 01:08:18,925 Но notice--, как мы останавливаем это очень раздражает программа? 506 01:08:18,925 --> 01:08:21,600 507 01:08:21,600 --> 01:08:22,640 Нажмите пробел. 508 01:08:22,640 --> 01:08:27,990 Потому что, если я могу это сделать, левая рука program-- 509 01:08:27,990 --> 01:08:31,550 обратите внимание, что это постоянно listening-- является ключевым пространство пресса. 510 01:08:31,550 --> 01:08:34,090 Если пробел нажата, и если да, то что он делает? 511 01:08:34,090 --> 01:08:35,980 Это делает очень распространенную технику. 512 01:08:35,980 --> 01:08:38,590 Она устанавливает переменную равной некоторому значению. 513 01:08:38,590 --> 01:08:39,741 Но она переключает это значение. 514 01:08:39,741 --> 01:08:41,490 [? Так что внешний вид?] основанный на shape-- I 515 01:08:41,490 --> 01:08:43,160 есть переменная, что я писал заранее под названием 516 01:08:43,160 --> 01:08:44,770 Приглушенный, который просто говорит: да или нет. 517 01:08:44,770 --> 01:08:45,880 Приглушен звук или нет? 518 01:08:45,880 --> 01:08:46,990 Правда или ложь? 519 01:08:46,990 --> 01:08:51,580 И заметьте, я говорю, если this-- приглушенные равен нулю, то меняется на один, 520 01:08:51,580 --> 01:08:53,840 иначе установить немого его к нулю. 521 01:08:53,840 --> 01:08:55,540 Таким образом, просто переверните значение от нуля до единицы. 522 01:08:55,540 --> 01:08:58,320 Я мог бы изменить его done-- от двух до трех и от трех до двух 523 01:08:58,320 --> 01:09:00,162 или от четырех до пяти или четырех до шести. 524 01:09:00,162 --> 01:09:01,870 Но это не имеет значения какие цифры, которые я использую, 525 01:09:01,870 --> 01:09:04,090 до тех пор, пока я изменяя его противоположность. 526 01:09:04,090 --> 01:09:07,290 >> И большинство любой программист мог бы просто выбрать ноль и одно-- ложь и правда, 527 01:09:07,290 --> 01:09:09,510 выкл и on--, чтобы представить это. 528 01:09:09,510 --> 01:09:10,930 И это все еще работает. 529 01:09:10,930 --> 01:09:12,190 Если я снова нажать пробел 530 01:09:12,190 --> 01:09:13,590 >> [SEAL ЗВУКИ] 531 01:09:13,590 --> 01:09:15,440 >> Программа все еще работает. 532 01:09:15,440 --> 01:09:18,400 Потому что этот другой сценарий что говорит, навсегда сделать следующее. 533 01:09:18,400 --> 01:09:21,390 534 01:09:21,390 --> 01:09:24,770 Если приглушен переменная равна zero-- так что если вы не приглушен 535 01:09:24,770 --> 01:09:29,609 является logic--, если оно ложно или нет, а затем воспроизводить звук, 536 01:09:29,609 --> 01:09:30,650 потому что вы не приглушен. 537 01:09:30,650 --> 01:09:33,358 Вы должны играть звук, а затем думаю привет привет привет в течение двух секунд 538 01:09:33,358 --> 01:09:35,790 а затем ждать, и сделать это Снова и снова и снова. 539 01:09:35,790 --> 01:09:40,760 >> И вот таким образом мы имеем путь для люди, целью которых для программ, чтобы взаимодействовать. 540 01:09:40,760 --> 01:09:43,120 И они не должны быть, как датировать другие. 541 01:09:43,120 --> 01:09:46,280 На самом деле, тыкая around-- не каламбур intended-- 542 01:09:46,280 --> 01:09:49,250 кто-то потратил огромное количество время в Интернете, реализующей 543 01:09:49,250 --> 01:09:51,580 PokemonGo в пустом месте. 544 01:09:51,580 --> 01:09:55,440 Он даже geolocates вас в Кембридж или Олстон здесь. 545 01:09:55,440 --> 01:10:03,120 Так что если вы хотите, чтобы увидеть, что люди слишком может сделать, это очень this-- фантазии меню. 546 01:10:03,120 --> 01:10:04,780 Нажмите здесь. 547 01:10:04,780 --> 01:10:07,430 >> Это я с моими клавишами со стрелками в настоящее время. 548 01:10:07,430 --> 01:10:09,446 Я собираюсь пойти после этого. 549 01:10:09,446 --> 01:10:09,946 Нажмите. 550 01:10:09,946 --> 01:10:12,949 551 01:10:12,949 --> 01:10:14,240 И теперь вы щелкните PokeBall. 552 01:10:14,240 --> 01:10:17,130 553 01:10:17,130 --> 01:10:20,260 Я имею в виду, я думаю, что ты должен нажать PokeBall. 554 01:10:20,260 --> 01:10:20,760 Отлично. 555 01:10:20,760 --> 01:10:22,680 Так что я сделал это. 556 01:10:22,680 --> 01:10:23,950 Я могу пойти здесь. 557 01:10:23,950 --> 01:10:27,790 И этот человек реализован еще немного PokeBalls над here-- трех PokeBalls. 558 01:10:27,790 --> 01:10:29,950 >> Мы опубликуем ссылку на эту страницу онлайн, так что вы можете играть. 559 01:10:29,950 --> 01:10:32,364 Но обратите внимание: есть только некоторые основные строительные блоки. 560 01:10:32,364 --> 01:10:33,780 Это выглядит намного искуснее, и это. 561 01:10:33,780 --> 01:10:35,905 Это впечатляет и многое другое чем мы, как правило, 562 01:10:35,905 --> 01:10:37,740 ожидать, конечно, для задачи установить ноль. 563 01:10:37,740 --> 01:10:40,809 Я понятия не имею, как долго этот человек провел в Интернете. 564 01:10:40,809 --> 01:10:41,850 Но это всего лишь петля. 565 01:10:41,850 --> 01:10:43,180 Там есть звук игры. 566 01:10:43,180 --> 01:10:44,850 Там какая-то петля прослушивает ли я я 567 01:10:44,850 --> 01:10:47,558 попав стрелку вверх или вниз на стрелка или левый и правый, 568 01:10:47,558 --> 01:10:49,834 а затем, если это так, он движется это некоторое количество пикселей. 569 01:10:49,834 --> 01:10:51,750 И потом, если я нажимаю на другой спрайт, есть 570 01:10:51,750 --> 01:10:53,390 своего рода, если состояние там. 571 01:10:53,390 --> 01:10:54,806 Да, это становится слишком интенсивным. 572 01:10:54,806 --> 01:10:56,100 Мы собираемся остановиться. 573 01:10:56,100 --> 01:10:57,750 Это все те основные строительные блоки. 574 01:10:57,750 --> 01:11:01,530 Там нет других других ингредиентов чем те, которые мы рассмотрели уже. 575 01:11:01,530 --> 01:11:04,670 >> И все же здесь, сделаем один последний набор примеров 576 01:11:04,670 --> 01:11:06,960 что рисует картину слишком о том, что вы можете сделать здесь. 577 01:11:06,960 --> 01:11:10,481 Вот очень простая программа, которая просто делает this-- кашель, кашель, кашель. 578 01:11:10,481 --> 01:11:12,480 И основываясь только на то, что мы рассмотрели до сих пор, 579 01:11:12,480 --> 01:11:14,570 где это очевидно возможность для улучшения. 580 01:11:14,570 --> 01:11:15,570 Эта программа является правильным. 581 01:11:15,570 --> 01:11:17,980 Он кашляет три раза, который является то, что я намеревался. 582 01:11:17,980 --> 01:11:19,650 Но это плохо реализуется. 583 01:11:19,650 --> 01:11:20,600 Это плохо спланированы. 584 01:11:20,600 --> 01:11:22,000 Зачем? 585 01:11:22,000 --> 01:11:22,500 Да. 586 01:11:22,500 --> 01:11:23,230 Это не петля. 587 01:11:23,230 --> 01:11:24,610 И это не так много что это не петля, 588 01:11:24,610 --> 01:11:26,400 это то, что есть много избыточности. 589 01:11:26,400 --> 01:11:28,830 Там копируется и вставить код, если можно так выразиться. 590 01:11:28,830 --> 01:11:31,830 И решение, вероятно, действительно петля. 591 01:11:31,830 --> 01:11:34,350 Итак, позвольте мне идти вперед и улучшить это. 592 01:11:34,350 --> 01:11:36,250 И я собираюсь тащить их сюда. 593 01:11:36,250 --> 01:11:39,986 Позвольте мне идти вперед и получить повторение блок, изменить это на три. 594 01:11:39,986 --> 01:11:41,860 Я собираюсь выбросить некоторые из этих блоков. 595 01:11:41,860 --> 01:11:43,150 >> И вы увидите, что это довольно интуитивно. 596 01:11:43,150 --> 01:11:45,691 Перетащить и вещи появляются и исчезают в конце концов. 597 01:11:45,691 --> 01:11:49,170 И я могу просто перетащить это здесь, и У меня теперь есть более чистую версию до сих пор. 598 01:11:49,170 --> 01:11:50,730 Но вы знаете, что? 599 01:11:50,730 --> 01:11:52,940 Там эта возможность теперь для abstraction-- 600 01:11:52,940 --> 01:11:56,350 чтобы начать определять новый словарь что MIT не ожидали. 601 01:11:56,350 --> 01:11:59,110 Там ждать и повторите и во веки веков, и если, 602 01:11:59,110 --> 01:12:02,590 но что, если я хочу представить слово кашель как блок? 603 01:12:02,590 --> 01:12:06,230 Что делать, если я хочу кусок головоломки чья цель в жизни кашель? 604 01:12:06,230 --> 01:12:10,720 >> Что ж, давайте посмотрим на эту версию здесь, который я сделал следующим образом. 605 01:12:10,720 --> 01:12:13,579 Волшебно, я создал этот кусок головоломки здесь, 606 01:12:13,579 --> 01:12:14,870 который Царапина позволяет делать. 607 01:12:14,870 --> 01:12:16,787 И в самом деле С и Python и JavaScript являются 608 01:12:16,787 --> 01:12:18,370 собирается, чтобы позволить вам сделать это, а также. 609 01:12:18,370 --> 01:12:21,830 Вы можете создать свой собственный части, которые вы называете то, что вы хотите. 610 01:12:21,830 --> 01:12:24,890 В этом случае, кашель чувствует как разумное определение. 611 01:12:24,890 --> 01:12:27,880 А потом с этими частями вниз здесь вы можете определить, что это значит. 612 01:12:27,880 --> 01:12:30,290 >> Я перетянуты из эта палитра here-- более 613 01:12:30,290 --> 01:12:33,500 blocks-- этот большой фиолетовый блок, где я напечатал от кашля 614 01:12:33,500 --> 01:12:35,290 как имя моего нового паззл. 615 01:12:35,290 --> 01:12:39,920 И тогда я говорю каждый раз, когда пользователь называет этот новый кусок головоломки кашель, 616 01:12:39,920 --> 01:12:41,770 сделать слово и ждать. 617 01:12:41,770 --> 01:12:46,160 И вот здесь, в моем повторном блоке, Я могу только кашель в три раза. 618 01:12:46,160 --> 01:12:49,972 >> И я бы сказал, особенно если теперь вы скрыть эту деталь. 619 01:12:49,972 --> 01:12:51,430 Кто заботится, как реализуется кашель? 620 01:12:51,430 --> 01:12:54,390 Все, что я забочусь о качестве программист, что я могу кашель. 621 01:12:54,390 --> 01:12:56,280 Меня не волнует, как говорят, реализуется. 622 01:12:56,280 --> 01:12:58,620 Я просто все равно, что кот может сказать что-то. 623 01:12:58,620 --> 01:13:02,720 Я могу абстрагироваться от деталей и что акцентировать внимание только на то, что на экране здесь. 624 01:13:02,720 --> 01:13:04,400 Но я могу сделать еще один шаг вперед. 625 01:13:04,400 --> 01:13:08,070 >> Обратите внимание на то, что здесь, у меня есть реализован контур в три раза. 626 01:13:08,070 --> 01:13:11,560 Но что, если вместо того, чтобы я хватаю эту версию? 627 01:13:11,560 --> 01:13:14,640 А что, если вместо того, чтобы В этой версии здесь, 628 01:13:14,640 --> 01:13:18,730 Я просто изменить свой кусок головоломки, чтобы принять аргумент и вход к себе? 629 01:13:18,730 --> 01:13:21,100 И что вход может быть число, например три. 630 01:13:21,100 --> 01:13:24,580 Так что теперь, если я пишу программу и я хочу, чтобы кошка кашлять, 631 01:13:24,580 --> 01:13:28,270 Я могу на самом деле сказать головоломки кусочкам, сколько раз кашель, 632 01:13:28,270 --> 01:13:31,990 потому что на дне здесь, любитель версия этих пользовательских головоломки 633 01:13:31,990 --> 01:13:34,500 позволяет мне указать, что кашель фактически принимает 634 01:13:34,500 --> 01:13:36,951 input-- принимает аргумент, как это. 635 01:13:36,951 --> 01:13:37,700 И знаешь, что? 636 01:13:37,700 --> 01:13:38,890 Может быть, я понимаю, подождите минуту. 637 01:13:38,890 --> 01:13:40,680 Кашель является same-- это принципиально 638 01:13:40,680 --> 01:13:42,120 та же идея, как чихание. 639 01:13:42,120 --> 01:13:44,040 Это просто разные слово на экране. 640 01:13:44,040 --> 01:13:46,550 Я могу абстрагироваться от дальше и реализовать 641 01:13:46,550 --> 01:13:48,750 эта последняя версия кашель, который на первый взгляд 642 01:13:48,750 --> 01:13:50,660 путь более сложный вид. 643 01:13:50,660 --> 01:13:52,140 Но обратите внимание на то, что я сделал. 644 01:13:52,140 --> 01:13:55,930 У меня сейчас generalized-- обобщенного really-- этот кусок головоломки 645 01:13:55,930 --> 01:13:59,900 чтобы назвать слово сказать п раз. 646 01:13:59,900 --> 01:14:04,410 >> И теперь у меня есть две новые части головоломки здесь определяют кашель п раз. 647 01:14:04,410 --> 01:14:06,790 А что функция кашля делать? 648 01:14:06,790 --> 01:14:08,420 Что делает мой заказ кусок головоломки делать? 649 01:14:08,420 --> 01:14:11,996 Это просто вызывает блок скажем, передавая слова я хочу сказать, 650 01:14:11,996 --> 01:14:13,870 проходя в количестве раз я хочу сказать. 651 01:14:13,870 --> 01:14:18,210 Потому что теперь я могу реализовать чихании, просто говоря Achoo, 652 01:14:18,210 --> 01:14:20,320 В этом случае, некоторое количество раз. 653 01:14:20,320 --> 01:14:22,360 >> И поэтому я отводками и укладке. 654 01:14:22,360 --> 01:14:25,690 И опять же, ключ здесь не как я реализовал его, но тот факт, 655 01:14:25,690 --> 01:14:28,070 что если я просто в буквальном смысле переместить их с экрана, 656 01:14:28,070 --> 01:14:31,280 Посмотрите, как просто, если не красивая моя программа сейчас выглядит. 657 01:14:31,280 --> 01:14:33,930 Потому что это то, что он говорит, я отведенной 658 01:14:33,930 --> 01:14:37,640 далеко, что находится внутри этого черного ящика. это случается фиолетовую коробку здесь, 659 01:14:37,640 --> 01:14:41,430 но я препятствовали далеко, что внутри потому что я не волнует, как это работает. 660 01:14:41,430 --> 01:14:43,650 Я просто все равно теперь, что это работает. 661 01:14:43,650 --> 01:14:46,375 >> И в самом деле, в задаче установить ноль, это точно 662 01:14:46,375 --> 01:14:49,250 вид наслоение идей, которые вы будете имеют возможность исследовать. 663 01:14:49,250 --> 01:14:53,510 Это именно возможность применять методы решения проблем, 664 01:14:53,510 --> 01:14:55,550 к тому, что, вероятно, незнакомой среде. 665 01:14:55,550 --> 01:14:57,890 И является ли вы не запрограммирован перед тем или запрограммированное перед тем, 666 01:14:57,890 --> 01:14:59,500 вы увидите, что есть кое-что 667 01:14:59,500 --> 01:15:00,874 в этой среде для всех. 668 01:15:00,874 --> 01:15:02,770 И с проблемой установить один в течение недели, 669 01:15:02,770 --> 01:15:06,630 мы будем переходили к сосредоточению на более высоком уровне языка под названием 670 01:15:06,630 --> 01:15:09,290 C-- или, скорее, низшую уровень языка называется 671 01:15:09,290 --> 01:15:11,347 C--, что еще более мощный, даже если это 672 01:15:11,347 --> 01:15:12,930 чуть более загадочным на первый взгляд. 673 01:15:12,930 --> 01:15:16,740 >> И вы поймете, что на сегодняшний TL: DR, что эта проблема установить имеет более короткий 674 01:15:16,740 --> 01:15:19,880 окно времени, чем будущие, просто потому что вы должны найти его довольно 675 01:15:19,880 --> 01:15:20,420 доступной. 676 01:15:20,420 --> 01:15:22,211 И не волнуйтесь, если Вы добавляете класс поздно. 677 01:15:22,211 --> 01:15:23,920 Мы будем решать, что до тех пор. 678 01:15:23,920 --> 01:15:28,480 И прежде чем мы закрою для торта, давайте закончить всего лишь две минуты взгляда 679 01:15:28,480 --> 01:15:30,500 на то, что ждет вас здесь в CS50. 680 01:15:30,500 --> 01:15:40,950 681 01:15:40,950 --> 01:17:20,803 [МУЗЫКА] 682 01:17:20,803 --> 01:17:21,302 Отлично. 683 01:17:21,302 --> 01:17:22,690 Вот это для CS50. 684 01:17:22,690 --> 01:17:23,650 Скоро увидимся. 685 01:17:23,650 --> 01:17:25,526 Торт теперь служил. 686 01:17:25,526 --> 01:17:28,998 687 01:17:28,998 --> 01:18:14,267 [МУЗЫКА] 688 01:18:14,267 --> 01:18:16,350 СПИКЕР 17: Вы слышали из творческого отпуска, начальник? 689 01:18:16,350 --> 01:18:29,490 690 01:18:29,490 --> 01:18:31,920 СПИКЕР 18: Может быть, есть более под капотом. 691 01:18:31,920 --> 01:18:38,279