1 00:00:00,000 --> 00:00:15,059 >> [МУЗИКА] 2 00:00:15,059 --> 00:00:19,170 >> Това е CS50-- Харвард въвеждане университет 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 Компютърни науки към мен е нещо като, MEH. 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 една от първите ми наставници, Brian Kernighan сега в 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 студенти да приемат този клас седяха / Ненасит. 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 и Латинска А 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 Може би просто последвано някои приятели над да Sanders точно сега. 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 10,000 място и така 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-- т.нар двоичен system-- 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 имаме one-- никаква власт, да мощност. 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 MADAY: Maday. 214 00:09:59,250 --> 00:10:00,542 DAVID Малан: Maday, хайде нагоре. 215 00:10:00,542 --> 00:10:01,250 Приятно ми е да се запознаем. 216 00:10:01,250 --> 00:10:02,390 MADAY: Приятно ми е да се запознаем. 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 >> MADAY: [недоловим]. 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, където H 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 е Н, 73 е I, 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 Вие имате възможността да представляват фотографии и анимирани GIF файлове 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 Така че мисля за себе си, номер one-- така че всеки в тази зала, 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 Аз все още съм в раздел А. 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 име започва с Т вместо 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-те години. 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-- намери Майк Смит в телефонен 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 стъпки, за да намерят Майк Смит. 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 Ако Майк е сред имената на тази страница, наречена Майк. 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 след някой с фамилия Булева. 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 Така че има само тази 12:59 съотношение. 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 от 1,000 до 2,000. 663 00:29:24,900 --> 00:29:28,440 В първия алгоритъм, I може да губите допълнително 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 милиарда до 2000000000-1000000000, за да 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 хода itself-- въведат членове на персонала на няколко курса. 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 персонала на курса и I-- мислене за това, което е, което искаме 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 от вас се очаква да присъстват само today-- така работата добре 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 е така наречената разходка, където I и глави на курса 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 ние ще започнем семестъра като ние ще днес в Scratch, 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 на върха на планината Auburn Стрийт 67, точно там в Харвард Square. 808 00:36:23,070 --> 00:36:26,340 Визията за което е, че CS50 е TFS и КО през седмицата, 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 но почти денонощно на [? Gcal?], Че ние ще публикуваме онлайн. 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 SPEAKER 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 SPEAKER 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 SPEAKER 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 >> В действителност, както и Rob 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 ROB: [недоловим]. 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 Запознайте се с Ерин и Тобиас и други все още. 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 AM, и по протежение на пътя 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 правим обикновено служат пица, 01:00 AM, 898 00:43:09,600 --> 00:43:13,210 Филип, и малцина от нас които все още са будни в 5:00 AM, 899 00:43:13,210 --> 00:43:16,310 са трансфер целуна по път да ИХОП за закуска. 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 В действителност, за да reemphasize толкова, тук е още няколко лица от персонала CS50 е. 906 00:43:39,226 --> 00:43:40,184 SPEAKER 4: [недоловим]. 907 00:43:40,184 --> 00:43:45,909 908 00:43:45,909 --> 00:43:46,867 SPEAKER 5: [недоловим]. 909 00:43:46,867 --> 00:43:51,332 910 00:43:51,332 --> 00:43:52,290 SPEAKER 6: [недоловим]. 911 00:43:52,290 --> 00:43:55,276 912 00:43:55,276 --> 00:43:56,234 SPEAKER 7: [недоловим]. 913 00:43:56,234 --> 00:44:01,727 914 00:44:01,727 --> 00:44:02,643 SPEAKER 8: [недоловим] 915 00:44:02,643 --> 00:44:10,066 916 00:44:10,066 --> 00:44:11,024 SPEAKER 9: [недоловим]. 917 00:44:11,024 --> 00:44:14,475 918 00:44:14,475 --> 00:44:15,461 >> SPEAKER 4: [недоловим]. 919 00:44:15,461 --> 00:44:16,461 >> SPEAKER 10: [недоловим]. 920 00:44:16,461 --> 00:44:21,456 921 00:44:21,456 --> 00:44:23,438 SPEAKER 11: [недоловим]. 922 00:44:23,438 --> 00:44:24,438 SPEAKER 12: [недоловим]. 923 00:44:24,438 --> 00:44:30,438 924 00:44:30,438 --> 00:44:31,396 SPEAKER 13: [недоловим] 925 00:44:31,396 --> 00:44:37,360 926 00:44:37,360 --> 00:44:40,342 >> SPEAKER 14: [недоловим]. 927 00:44:40,342 --> 00:44:42,863 >> SPEAKER 13: [недоловим]. 928 00:44:42,863 --> 00:44:43,821 SPEAKER 15: [недоловим] 929 00:44:43,821 --> 00:44:48,785 930 00:44:48,785 --> 00:44:49,785 SPEAKER 16: [недоловим]. 931 00:44:49,785 --> 00:44:53,761 932 00:44:53,761 --> 00:44:55,252 >> SPEAKER 11: [недоловим] 933 00:44:55,252 --> 00:44:57,773 934 00:44:57,773 --> 00:44:58,731 SPEAKER 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 на TFS и КО и [? персонал ?] членове 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 в допълнение към С и Python и JavaScript и SQL и HTML и CSS, 15 00:46:21,070 --> 00:46:24,450 ние ще се фокусира първоначално и само за проблем зададете нула 16 00:46:24,450 --> 00:46:28,160 на този графичен език, наречен Scratch, разработен от Медия Lab на Масачузетския технологичен институт 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 Започваме хода с Scratch, така че да се получи 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 Това, в графичен език Scratch, 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 И това, което е хубаво за Scratch е че това е това графично програмиране 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 И с Scratch може да развиете анимации и интерактивни игри 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 Но Scratch ни позволява да проучи всички от тях. 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 >> Така че, ако аз увийте кажа здравей свят блок с вечно блокира в Scratch, 74 00:49:06,800 --> 00:49:10,307 това е просто ще продължим да казва здравей свят завинаги, съвсем буквално. 75 00:49:10,307 --> 00:49:12,390 В същото време, има и друг тип на линия в Scratch 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 Ето един пример в зелено на Булев израз в Scratch. 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 I е по-малко от 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 Тя може да бъде по-малко от X Y, по-голяма от Y, равна 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 Ако X е по-малко от Y, отколкото казват повече. 97 00:50:09,370 --> 00:50:12,230 Иначе, ако х е по-голямо от Y, тогава се каже толкова много. 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-- X е или по-голямо от, по-малко от, или равно на. 101 00:50:20,600 --> 00:50:22,420 Така че ние имаме три начин разклонение на пътя. 102 00:50:22,420 --> 00:50:26,290 >> И забележи какво е готино here-- Scratch, то ще изглежда, има само един пъзел 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 Какво става, ако х е равно на Y? 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 И както ще видим, на Scratch пъзел парчета 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 В действителност, всички от вашия Mac-ове и персонални компютри в наши дни 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 >> Има неща, наречени събития като добре в света на Scratch, 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 Преди няколко години, когато аз първи открили Scratch, 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 но нещо се бях наречен Оскар Time, което е може би една позната песен. 137 00:51:57,180 --> 00:51:59,820 >> CS50s притежават Йордания Хаяши, един от ни повече висши членове на персонала, 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 Малан: Henry, хайде нагоре. 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 И ние ще видим Scratch поддържа неща, наречени 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 И така се оказва, Scratch, като повечето езици за програмиране, 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 да се опита да приложи всички Оскар Time, След часа по-късно се появи на зеления флаг, 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 Нека вървим напред and-- самата Изтъркайте съществува в интернет на 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 Това е Scratch. 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 Нека вървим напред and-- и аз знам къде е. 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 Green 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 >> Е, ако искам да направя три meows в ред? 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 Нека се върнем към Control и просто изчакайте една секунда. 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 >> Сега, това все още не е всичко, което Интересно с Scratch не прави 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 Почистете, че нагоре, Save, и Сега отидете до скриптове. 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 Ще се обадя на този ох. 377 01:02:12,440 --> 01:02:13,840 И сега играе звук ох. 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 След това ме пусна да Data, което аз знам от просто играя наоколо преди, 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-- х или Y или 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 Но това, което е готино за променливи е I не е нужно да въведете само в нещо 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 И след това на последно място, да промени брояч от one-- с други думи, 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-- Домашни любимци Котката тук. 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 Forever, ако не докосва котката, Просто продължи да се движи на три стъпки. 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 Така че нека да направим един друг тук, това се нарича Hi Hi Hi. 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-- го промените две три и 01:57 523 01:08:58,320 --> 01:09:00,162 или 04:56 или 05:56. 524 01:09:00,162 --> 01:09:01,870 Но това няма значение какво числа I използват, 525 01:09:01,870 --> 01:09:04,090 толкова дълго, колкото аз държа променящата го обратното. 526 01:09:04,090 --> 01:09:07,290 >> И най-всеки програмист би просто изберете нула и one-- невярна и вярно, 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 SOUNDS] 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 >> И така, по този начин имаме начин за хора to-- за програми, за да си взаимодействат. 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 в Scratch. 544 01:09:51,580 --> 01:09:55,440 Той дори ви geolocates в Cambridge или Allston тук. 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 които Scratch позволява да се направи. 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-- genericized 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 SPEAKER 17: Чували ли сте на отпуск, началник? 689 01:18:16,350 --> 01:18:29,490 690 01:18:29,490 --> 01:18:31,920 SPEAKER 18: Може би има повече под капака. 691 01:18:31,920 --> 01:18:38,279