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 И моето име е Дејвид Malan, и Јас бев само размислување ова утро, 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 Бев малку geek расте нагоре, но јас навистина не 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 една од моите први ментори, Брајан 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 студентите да се земе оваа класа са / unsat. 25 00:01:20,030 --> 00:01:22,040 >> И само тогаш, од страна на крајот на семестарот 26 00:01:22,040 --> 00:01:24,870 не сфаќам како, Леле, ова не е толку непознато поле. 27 00:01:24,870 --> 00:01:26,850 Всушност, ова беше многу зајакнување на теренот, 28 00:01:26,850 --> 00:01:28,970 и повеќе возбудливо, особено подоцна, 29 00:01:28,970 --> 00:01:32,809 како што се курсеви во Драмски уметности 101 и Латинска А 30 00:01:32,809 --> 00:01:34,600 а потоа на крајот град училиште археологијата, 31 00:01:34,600 --> 00:01:37,860 Дали јас навистина почне да се види раскрсниците на ова поле, компјутерски 32 00:01:37,860 --> 00:01:41,979 науката, со економијата, природните науки, уметноста, медицината, 33 00:01:41,979 --> 00:01:42,520 и слично. 34 00:01:42,520 --> 00:01:44,420 И така тоа е она што е толку уредни за компјутерски науки 35 00:01:44,420 --> 00:01:46,930 во крајна линија, како што се надеваме дека ќе see-- е неговата применливост 36 00:01:46,930 --> 00:01:50,280 на овие други области, и како може да се некои од денешните и семестар 37 00:01:50,280 --> 00:01:53,070 идеи и практични вештини Вратете се на свој домен, 38 00:01:53,070 --> 00:01:58,200 а всушност се истражуваат оваа раскрсница на либерални уметности и науки. 39 00:01:58,200 --> 00:02:02,690 >> Значи 73% од вас, ако минатата година е некаква индикација, 40 00:02:02,690 --> 00:02:04,390 никогаш се разбира CS порано. 41 00:02:04,390 --> 00:02:06,389 Значи, ако, како мене, ќе се чувствувате малку 42 00:02:06,389 --> 00:02:09,190 исплашени, или искрено не сте баш сигурен зошто сте дури и тука. 43 00:02:09,190 --> 00:02:11,510 Можеби сте само го следеле некои пријатели во текот на Сандерс во моментов. 44 00:02:11,510 --> 00:02:12,490 Тоа е сосема во ред. 45 00:02:12,490 --> 00:02:15,059 Целта тука е да се поврземе вас и да ве уверам 46 00:02:15,059 --> 00:02:17,100 дека ако не се погледне лево и десно, 47 00:02:17,100 --> 00:02:21,480 си оди за да се види соученици со како малку или колку искуство 48 00:02:21,480 --> 00:02:22,890 што ќе се може да имате. 49 00:02:22,890 --> 00:02:25,280 И навистина, ние ќе делиме некои статистички податоци, денеска 50 00:02:25,280 --> 00:02:28,120 за тоа што демографијата на класа барање обично изгледа. 51 00:02:28,120 --> 00:02:31,440 >> И како што додаде reassurance-- и ова значи, бидејќи отидов во текот 52 00:02:31,440 --> 00:02:33,252 неколку години ago-- во Наставната програма на курсот 53 00:02:33,252 --> 00:02:35,460 е this-- дека она што на крајот прашања во овој курс 54 00:02:35,460 --> 00:02:38,040 не е толку многу каде што ќе се Регистрација во однос на своите соученици, 55 00:02:38,040 --> 00:02:43,110 но каде што, во 11 недела, на крајот на семестар, да завршат во однос на себе 56 00:02:43,110 --> 00:02:46,280 во недела 0, што е каде што сме денес. 57 00:02:46,280 --> 00:02:48,704 И тоа е она што сфатив пред сите тие години. 58 00:02:48,704 --> 00:02:50,620 И знам многу класи кажам ова, но тоа е 59 00:02:50,620 --> 00:02:52,450 особено точно во компјутерската наука. 60 00:02:52,450 --> 00:02:55,320 На крајот на денот, оваа област е непознато како што беше за мене 61 00:02:55,320 --> 00:02:58,590 и може да биде за вас, е навистина само за решавање на проблемот. 62 00:02:58,590 --> 00:03:01,324 И како такво, тоа не имаат овој применливост да се добие други области. 63 00:03:01,324 --> 00:03:03,490 И всушност, ако ние се обидовме да го дестилираат што значи тоа, 64 00:03:03,490 --> 00:03:06,897 ова е за решавање на проблемот во својата суштина, ако смеам. 65 00:03:06,897 --> 00:03:09,480 Има input-- така што и е во тоа што се обидуваш да се реши. 66 00:03:09,480 --> 00:03:12,264 Има излез, што се надевам решение за тој проблем. 67 00:03:12,264 --> 00:03:14,180 И тогаш, како што би велат во компјутерски науки, 68 00:03:14,180 --> 00:03:17,310 има оваа црна кутија во средината во која вие не мора да 69 00:03:17,310 --> 00:03:19,450 треба да се грижи за тоа како тоа функционира. 70 00:03:19,450 --> 00:03:22,230 Ти и самиот крајот можеби се спроведе она што го пишува во кутија. 71 00:03:22,230 --> 00:03:25,194 Но, за денешниот цели и повеќе генерално во животот, сите што се грижат за 72 00:03:25,194 --> 00:03:26,610 е дека овие проблеми се решени. 73 00:03:26,610 --> 00:03:29,340 >> И она што на овој курс е во крајна линија за е истражување 74 00:03:29,340 --> 00:03:31,700 пресекот на овие влезови и излези, 75 00:03:31,700 --> 00:03:34,410 и овие т.н. алгоритми, како што наскоро ќе видиме, 76 00:03:34,410 --> 00:03:37,450 кои ја спроведуваат она што е под таму, хауба. 77 00:03:37,450 --> 00:03:40,487 Но, овие влезови и овие outputs-- што тоа всушност значи? 78 00:03:40,487 --> 00:03:43,570 Па, на крајот на денот, ние треба на некој начин за прикажување на информации. 79 00:03:43,570 --> 00:03:46,660 Ова е особено точно во компјутер, кои како фенси и сложен, како што 80 00:03:46,660 --> 00:03:48,160 може да се чини, е прилично глупава уред. 81 00:03:48,160 --> 00:03:52,240 Таа ги зема electricity-- без разлика дали од кабел или батерија како input-- 82 00:03:52,240 --> 00:03:55,820 а потоа го произведува некои preprogramed одговори на екранот. 83 00:03:55,820 --> 00:03:57,970 >> Но, како да се добие од почеток до крај таму? 84 00:03:57,970 --> 00:03:59,470 Па, што е проблем да се реши? 85 00:03:59,470 --> 00:04:01,050 Па, можеби и ние би можеле, во на почетокот на секој семестар, 86 00:04:01,050 --> 00:04:02,841 се обиде да преземе посетеност во соба се допаѓа ова. 87 00:04:02,841 --> 00:04:04,750 Па јас може да се направи, како еден, два, три. 88 00:04:04,750 --> 00:04:07,060 Или, ако јас го направив да вид на се следи 89 00:04:07,060 --> 00:04:10,560 на myself-- да ги пратите на things-- Јас брзо би можеле да работат надвор од прсти. 90 00:04:10,560 --> 00:04:14,650 Па јас само може да се направи хаш marks-- еден лице, два, три, четири, пет, шест, 91 00:04:14,650 --> 00:04:15,431 седум, осум. 92 00:04:15,431 --> 00:04:17,930 И сите ние имаме веројатно направи тоа, без разлика на вашите раце 93 00:04:17,930 --> 00:04:19,680 или на парче хартија. 94 00:04:19,680 --> 00:04:22,140 И ова е всушност само нешто што се нарекува унарен notation-- 95 00:04:22,140 --> 00:04:26,130 каде што, ако имате само една буква во вашето писмо, еден или хаш 96 00:04:26,130 --> 00:04:29,440 белег во овој случај, за секој влезот кој сакате да се избројат, 97 00:04:29,440 --> 00:04:32,330 ќе треба да се спушти еден од овие letters-- еден од овие знаци. 98 00:04:32,330 --> 00:04:32,510 >> Во ред. 99 00:04:32,510 --> 00:04:34,790 Тоа е во ред и добри и не е толку комплициран. 100 00:04:34,790 --> 00:04:37,800 Но, компјутерите не се сите дека многу посложена. 101 00:04:37,800 --> 00:04:40,770 Всушност, повеќето од вас веројатно знаат дури и ако не сте навистина 102 00:04:40,770 --> 00:04:44,080 смета она што ова значи, дека компјутери само што разбираат нули 103 00:04:44,080 --> 00:04:45,870 и ones-- т.н. бинарен систем. 104 00:04:45,870 --> 00:04:49,390 Ние, луѓето, од друга страна, се толку многу пософистицирани доколку 105 00:04:49,390 --> 00:04:51,770 како што се разбере нули преку топло. 106 00:04:51,770 --> 00:04:55,740 >> Но, дури и ако бинарни е, на прв поглед, не се сите толку познати, 107 00:04:55,740 --> 00:05:00,330 се испоставува дека е исто како и системи и идеите кои ние веќе знаеме. 108 00:05:00,330 --> 00:05:02,420 Така на пример, сметаат дека ова. 109 00:05:02,420 --> 00:05:03,896 Ова е само низа од симболи. 110 00:05:03,896 --> 00:05:05,770 И на сите вас, кога гледајќи во него, веројатно 111 00:05:05,770 --> 00:05:09,380 мислам 123-- ништо навистина интересно таму. 112 00:05:09,380 --> 00:05:11,940 Но зошто е овој број, 123? 113 00:05:11,940 --> 00:05:14,440 Овие се само хиероглифи на screen-- само шеми 114 00:05:14,440 --> 00:05:16,387 дека некој може да го привлекоа или напишале. 115 00:05:16,387 --> 00:05:18,970 Но, ако сте како мене, Веројатно се сеќавате од основно училиште 116 00:05:18,970 --> 00:05:21,610 дека има вид на колони или места тука. 117 00:05:21,610 --> 00:05:25,340 Има место за еден и Десет место и сто е место. 118 00:05:25,340 --> 00:05:29,820 И причината поради која ова е 123 и не е само модел на три симболи 119 00:05:29,820 --> 00:05:33,090 е затоа што, се разбира, ако ние имаат еден во место стотици, 120 00:05:33,090 --> 00:05:36,610 го направите математика 100 пати еден, а потоа две од десет е место. 121 00:05:36,610 --> 00:05:41,390 Значи тоа е 10 пати 2, а потоа три на своето место и тоа е 1 пати 3. 122 00:05:41,390 --> 00:05:45,670 И кога ќе додадете сите овие горе, на Се разбира, ќе добиете 100 плус 20 плус 3. 123 00:05:45,670 --> 00:05:48,220 >> Па почнавме со само еден модел на symbols-- на alphabet-- 124 00:05:48,220 --> 00:05:51,670 но потоа одбележан значење излез тоа по пат на овие колумни. 125 00:05:51,670 --> 00:05:54,450 Па, излегува дека компјутери навистина не се 126 00:05:54,450 --> 00:05:56,300 сите што се разликува од вас и мене. 127 00:05:56,300 --> 00:06:01,840 Но, наместо да го користите моќта на 10, така да се speak-- 1, 10, 100, 1000, 128 00:06:01,840 --> 00:06:04,330 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 Малку вид на flips, така да се каже, бидејќи 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 Дејвид MALAN: 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 >> Дејвид MALAN: Ајде на овој начин. 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 Обично сакате најмалку осум од овие работи, a.k.a. 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 Дејвид MALAN: Да, само притиснете го мали бели прекинувачи во предниот дел. 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 >> Дејвид MALAN: Дејви. 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 ги правите нештата како обработка на текст, или e-mail, или повеќе модерна инкарнации 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 ќе претставува Б, 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 Јас намерно да постават преку Јас, каде H 72 и јас е 73. 297 00:13:10,900 --> 00:13:15,830 Ако компјутерот тогаш, во контекст на програма за обработка на текст или e-mail, 298 00:13:15,830 --> 00:13:19,620 откри под хауба да имаат Овие модели на bits-- модел 299 00:13:19,620 --> 00:13:22,500 на битови што претставува 72, потоа 73, па 33-- 300 00:13:22,500 --> 00:13:26,640 што би можело тоа да се пишува во таа програма? 301 00:13:26,640 --> 00:13:28,150 >> Значи здраво, а потоа нешто. 302 00:13:28,150 --> 00:13:31,460 Ние не мора да знаете, но навистина 33-- не на табелата earlier-- 303 00:13:31,460 --> 00:13:33,170 беше едноставно фантастичен точка. 304 00:13:33,170 --> 00:13:38,870 Така беше 72 H, 73 Јас, 33 се случува да биде извичник уште. 305 00:13:38,870 --> 00:13:41,719 Но, тоа е во ред и добро, и во фактот што во денешно време, наместо 306 00:13:41,719 --> 00:13:43,760 само користење седум или осум битови, благодарение на нешто 307 00:13:43,760 --> 00:13:46,530 наречен Уникод наспроти на 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 Но, исто така, може да претставува дури и neater работи како бои. 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 ќе имаат способност да ги претставуваат фотографии и анимирани GIFs 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 Добро некој друг до 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 И да претпоставиме дека овој телефон книга има 1.000 страници и 1.000 имиња 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 На крајот, јас се наоѓам себеси во делот Б. 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 Јас ќе одам да се дојде до Мајк побрзо, ако тој е таму. 513 00:23:18,290 --> 00:23:20,770 точно е тоа? 514 00:23:20,770 --> 00:23:22,320 Да, но слушнав little-- бр. 515 00:23:22,320 --> 00:23:24,200 Сега слушнав бр. 516 00:23:24,200 --> 00:23:24,700 Да. 517 00:23:24,700 --> 00:23:26,190 Има бубачка потенцијално. 518 00:23:26,190 --> 00:23:29,374 Можеби Мајк само случајно се сендвич меѓу две страни, 519 00:23:29,374 --> 00:23:31,290 бидејќи јас сум летање преку Оваа две во исто време. 520 00:23:31,290 --> 00:23:33,580 Па барем ние треба некои вид на условна поправам. 521 00:23:33,580 --> 00:23:35,330 Јас треба да се каже, еј, ако јас се погоди некој кој 522 00:23:35,330 --> 00:23:39,190 име почнува со T наместо на една S, Подобро да се зголеми двојно назад барем една страница. 523 00:23:39,190 --> 00:23:40,767 Значи кабриолет во прв, но исправиме. 524 00:23:40,767 --> 00:23:43,850 Но, никој од нас не се случува да се погледне за Мајк Смит преку 1.000 страница телефон 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 е. 528 00:23:50,860 --> 00:23:54,230 Може да оди приближно на средината или малку искривена кон крајот. 529 00:23:54,230 --> 00:23:56,850 И јас со нетрпение овде и Јас сум во правец М. 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 но сега на телефон книга започнува во М и оди до Ш, но тоа е половина како голем. 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 Веднаш штом ќе се реализира, ох, јас сум во делот Т случајно. 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 Во првиот случај, тоа ме зеде како Можеби 1.000 чекори да се најде Мајк Смит. 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 и Мајк може да биде 1.000 страници подоцна. 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-- со други зборови, ако јас сум во правец М 578 00:25:55,520 --> 00:25:58,540 и јас сум во потрага за некој да лево, тогаш што треба да направите 579 00:25:58,540 --> 00:26:00,300 е нешто многу слични. 580 00:26:00,300 --> 00:26:03,440 Јас тогаш треба да се отвори до средината на левата половина од книгата. 581 00:26:03,440 --> 00:26:07,930 Така одат лево, а потоа вратете се на чекор два. 582 00:26:07,930 --> 00:26:09,290 Се погледне на имиња таму. 583 00:26:09,290 --> 00:26:12,779 >> Значи со други зборови, го прават истото, но на проблем и тоа е се преполови. 584 00:26:12,779 --> 00:26:13,570 Знаеш што друго? 585 00:26:13,570 --> 00:26:16,470 Ако Смит е подоцна во книгата врз основа на страница Јас сум во потрага на, 586 00:26:16,470 --> 00:26:18,790 отворен за средината на десната половина на книгата 587 00:26:18,790 --> 00:26:22,050 а потоа се врати повторно на чекор два, else-- 588 00:26:22,050 --> 00:26:24,000 таму е четврта можност тука. 589 00:26:24,000 --> 00:26:28,830 Мајк или тука или на лево односно во право или не постои. 590 00:26:28,830 --> 00:26:30,570 И тука ние подобро да се разгледа ова. 591 00:26:30,570 --> 00:26:33,360 И всушност, ако некогаш сте имале вашиот компјутер само се сруши на вас, 592 00:26:33,360 --> 00:26:36,822 тоа е понекогаш, но не секогаш, резултат на само еден човечки програмер не 593 00:26:36,822 --> 00:26:39,280 реализација, о пука, има всушност ова четврто сценарио. 594 00:26:39,280 --> 00:26:41,650 И ако не го пишувам кодот да се справи со тоа сценарио, 595 00:26:41,650 --> 00:26:43,220 понекогаш не знаете што може да се направи на компјутерот. 596 00:26:43,220 --> 00:26:44,770 И навистина програма може да се сруши. 597 00:26:44,770 --> 00:26:47,550 >> Но, во овој случај, јас мислев за тоа, и јас, рече, друго се откажат, 598 00:26:47,550 --> 00:26:49,850 затоа што тоа е четвртиот логично можно сценарио. 599 00:26:49,850 --> 00:26:51,950 Сега, ајде да додадете некои речник, така што 600 00:26:51,950 --> 00:26:55,320 може да почне да фрли околу условите што инаку се доста интуитивен. 601 00:26:55,320 --> 00:26:57,870 Сите од работите Тукушто осветлени во жолто тука, 602 00:26:57,870 --> 00:27:00,140 Јас сум само се случува на функции или процедури. 603 00:27:00,140 --> 00:27:01,590 Тие се само вид на активности. 604 00:27:01,590 --> 00:27:04,900 Па ги собереш, се отворени, погледнете на, јавете се отворени, отворен, 605 00:27:04,900 --> 00:27:09,170 quit-- овие се само акции, или ќе нив, повеќе формално, функции. 606 00:27:09,170 --> 00:27:11,410 >> Во меѓувреме, сега со жолта боја, Сум истакна работи 607 00:27:11,410 --> 00:27:14,084 that-- ајде да почне повикувајќи ги условите или гранки. 608 00:27:14,084 --> 00:27:16,750 Тоа се одлуки точки каде може да оди на овој начин, на овој начин, 609 00:27:16,750 --> 00:27:18,100 или некој друг правец уште. 610 00:27:18,100 --> 00:27:19,430 Така тие ќе бидат услови. 611 00:27:19,430 --> 00:27:20,930 А сега ова е малку познавач. 612 00:27:20,930 --> 00:27:24,600 Ајде да се јавите на овие прашања Булова изрази, 613 00:27:24,600 --> 00:27:26,530 по некој со презиме bool. 614 00:27:26,530 --> 00:27:28,340 >> И Булова израз е само нешто 615 00:27:28,340 --> 00:27:30,290 тоа е точно или неточно, да или не. 616 00:27:30,290 --> 00:27:35,870 Така, тоа е прашањето чиј одговор ќе грижат за, со цел да се во состојба 617 00:27:35,870 --> 00:27:39,210 направи decision-- се врати одговор, и потоа оди лево или десно, или нешто 618 00:27:39,210 --> 00:27:40,450 сосема друго. 619 00:27:40,450 --> 00:27:42,860 >> А потоа и на крај, овие линии here-- се врати 620 00:27:42,860 --> 00:27:44,737 на чекор две, врати се назад на чекор two-- можевме 621 00:27:44,737 --> 00:27:46,320 спроведување на оваа идеја во различни начини. 622 00:27:46,320 --> 00:27:49,028 А потоа и оние од вас со програмирање искуство може да се направи 623 00:27:49,028 --> 00:27:50,670 или може да се замисли тоа поинаку. 624 00:27:50,670 --> 00:27:53,170 Но, за денешниот цели, тоа е Самата идеја што е важно. 625 00:27:53,170 --> 00:27:55,400 Ова е поттикнување на она што ние генерално ќе се јави 626 00:27:55,400 --> 00:28:00,110 на loop-- некој вид на циклус, бидејќи тоа е што ми направи нешто повторно. 627 00:28:00,110 --> 00:28:03,340 >> А сега, ајде да се разгледа колку е добар овој алгоритам е. 628 00:28:03,340 --> 00:28:03,899 Тоа е точно. 629 00:28:03,899 --> 00:28:06,940 Ако Мајк е во книгата, тоа е една од овие четири scenarios-- повторно и повторно 630 00:28:06,940 --> 00:28:08,023 И повторно, ние ќе го најде. 631 00:28:08,023 --> 00:28:08,890 Но колку е добар е тоа? 632 00:28:08,890 --> 00:28:10,150 Па, ние немаме да биде премногу формални тука. 633 00:28:10,150 --> 00:28:12,066 Но, ајде да заговор нешто, x и y, за да се добие 634 00:28:12,066 --> 00:28:14,470 чувство на обликот на овој проблем. 635 00:28:14,470 --> 00:28:17,160 >> На x-оската е тука големината на мојот проблем. 636 00:28:17,160 --> 00:28:20,256 И тие на y-оската тука ќе биде време да се реши. 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 Ако има n страници книгата телефон, тогаш тоа 642 00:28:33,120 --> 00:28:36,010 може да ме земе како многу како n чекори да се најде Мајк. 643 00:28:36,010 --> 00:28:38,930 Ако Веризон или телефон на компанијата додава уште една страница на следната година, 644 00:28:38,930 --> 00:28:42,170 тоа може да ме земе уште еден step-- уште една единица на време да се најде Мајк. 645 00:28:42,170 --> 00:28:44,230 Па таму е само овој еден на еден сооднос. 646 00:28:44,230 --> 00:28:45,970 Тоа е патека права линија. 647 00:28:45,970 --> 00:28:49,110 >> Во меѓувреме, тој втор algorithm-- ако сум 648 00:28:49,110 --> 00:28:51,570 ќе двајца во time-- две, четири, шест, осум или double-- 649 00:28:51,570 --> 00:28:54,550 минува низ страниците два пати во исто време, две во исто време, 650 00:28:54,550 --> 00:28:55,710 тоа е сепак права линија. 651 00:28:55,710 --> 00:28:58,720 Има сега една до две односот, но само малку пониски. 652 00:28:58,720 --> 00:29:02,240 Значи, ако има оваа многу страници на табелата тука во жолта, 653 00:29:02,240 --> 00:29:04,800 дека може да ме земе овој многу чекори или секунди, 654 00:29:04,800 --> 00:29:07,980 во спротивно ќе ме земе двојно повеќе на црвената линија. 655 00:29:07,980 --> 00:29:10,190 >> Но, на зелена линија е вистинскиот готова брза. 656 00:29:10,190 --> 00:29:12,290 Тоа е она што ние обично јавете се на logorithm-- најавите 657 00:29:12,290 --> 00:29:13,840 на n, каде што n е бројот на страници. 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 Да претпоставиме дека Веризон утре удвојува број на страници во тој телефон книга, 662 00:29:23,070 --> 00:29:24,900 од 1.000 до 2.000. 663 00:29:24,900 --> 00:29:28,440 Во првиот алгоритам, јас може да се трошат екстра 1.000 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 повеќе од 1.000 страници, одам двајца во 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 од проблеми со 2.000 страница на 1.000 страница проблем, и Voila. 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 Непосредно пред 02: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 и Searchability и линкови до други ресурси. 718 00:32:05,850 --> 00:32:07,930 >> И навистина, ние сме биле тврдејќи дека за некое време 719 00:32:07,930 --> 00:32:10,830 а ние сега верувам дека ова, дека ние може да се создаде, дигитално, 720 00:32:10,830 --> 00:32:15,170 повеќе извонредно, повеќе привлечни образовни искуства, за разлика од 721 00:32:15,170 --> 00:32:19,110 на собирање тука некои 23 пати лично, слух некој ми се допаѓа 722 00:32:19,110 --> 00:32:22,925 едноставно зборуваме за компјутерски науки, за разлика од ангажирање поактивно. 723 00:32:22,925 --> 00:32:25,800 Па ќе видиме во силабусот на предметот е скица на семестарот тука, 724 00:32:25,800 --> 00:32:27,840 заедно со предавања кога ќе се снима, на кои сте 725 00:32:27,840 --> 00:32:29,710 добредојдено, но не се очекува, и кога тие ќе 726 00:32:29,710 --> 00:32:31,640 да бидат објавени на веб-страницата на курсот. 727 00:32:31,640 --> 00:32:34,300 >> И она што ние ќе направиме тука Среда, почнувајќи од следната недела, 728 00:32:34,300 --> 00:32:37,362 е многу повеќе интимно, со само оние луѓе кои сакаат да учествуваат, 729 00:32:37,362 --> 00:32:39,820 е т.н. прошетка низ, каде што и шефови на курсот 730 00:32:39,820 --> 00:32:41,730 всушност, ќе се направат работите малку поинтимна 731 00:32:41,730 --> 00:32:44,313 овде во оркестарот дел, се уште има некои технологија 732 00:32:44,313 --> 00:32:46,365 и прошетка низ тековната недела проблем во собата, 733 00:32:46,365 --> 00:32:50,020 и ви нудиме particularly-- ако меѓу оние кои се помалку comfortable-- сè повеќе и повеќе 734 00:32:50,020 --> 00:32:52,790 насоки кои можеби ќе сакате или потребни за предизвик на недела. 735 00:32:52,790 --> 00:32:55,820 И слично, за оние кои не можат посетуваат оние во лице, не е голема работа. 736 00:32:55,820 --> 00:32:58,486 Таму ќе бидат водени од страна на сличен начин еден висок претставник на персоналот на курсот, 737 00:32:58,486 --> 00:33:02,650 Zamalya, истата можност вградени во проблемот поставува себе. 738 00:33:02,650 --> 00:33:04,960 >> Проблем поставува оваа година ќе биде објавен во петок 739 00:33:04,960 --> 00:33:08,080 и повеќе не се седум дена подоцна, но 10 дена later-- намерно 740 00:33:08,080 --> 00:33:10,910 се преклопуваат едни со проблемот во собата, со цел подобро да се приспособат, 741 00:33:10,910 --> 00:33:13,050 се надеваме, одлив и прилив во распоредот на студентите, 742 00:33:13,050 --> 00:33:16,550 особено кога midterms или атлетика или академици или extracurriculars 743 00:33:16,550 --> 00:33:18,465 имаат тенденција да доаѓаат и си одат особено средината на семестарот. 744 00:33:18,465 --> 00:33:21,340 Тоа треба да ви даде малку повеќе дискреционо право да одлучи дали пред 745 00:33:21,340 --> 00:33:25,690 се вчита вашата недела со CS50 или назад оптоварување наместо тоа на следниов викенд. 746 00:33:25,690 --> 00:33:28,817 Па гледам да силабусот на предметот е тука за распоред на истите. 747 00:33:28,817 --> 00:33:30,900 И ќе забележите премногу меѓу промените оваа година, 748 00:33:30,900 --> 00:33:34,082 за оние кои се повеќе запознаени со програмирање во минатото, 749 00:33:34,082 --> 00:33:36,290 ние ќе започнеме семестар ние ќе денес во нула, 750 00:33:36,290 --> 00:33:39,730 се фокусира посебно на јазик наречен C, а потоа не се транзиција 751 00:33:39,730 --> 00:33:43,430 на PHP, туку на јазик наречен Пајтон кон крајот на семестарот 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 други или четири други p-собата класи. 773 00:34:47,199 --> 00:34:50,583 Но, ако сте земајќи две други p-сет класи, нешто друго, и 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 P-settting со рок looming-- но на работното време, исто така, ќе им бидат понудени 804 00:36:10,180 --> 00:36:14,920 во понеделник и вторник и Среда и петок и сабота, 805 00:36:14,920 --> 00:36:17,080 благодарение на нашите пријатели во HSA. 806 00:36:17,080 --> 00:36:20,330 >> CS50 сега има свој простор за студентите и кадарот CS50, 807 00:36:20,330 --> 00:36:23,070 на врвот на планината Обурн Стрит 67, право таму на плоштадот Харвард. 808 00:36:23,070 --> 00:36:26,340 Визијата за што е тоа што е CS50 TFS и CAS во текот на неделата, 809 00:36:26,340 --> 00:36:29,052 доста во текот на поголемиот дена, ќе бидат таму за поддршка. 810 00:36:29,052 --> 00:36:30,760 Значи, ако имаш некои прашање на p-сет 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 ЗВУЧНИК 1: [Беззвучен]. 827 00:37:23,456 --> 00:37:51,842 828 00:37:51,842 --> 00:37:57,856 >> [Аплауз] 829 00:37:57,856 --> 00:37:58,814 ЗВУЧНИК 2: [Беззвучен]. 830 00:37:58,814 --> 00:38:17,240 831 00:38:17,240 --> 00:38:27,238 >> [Аплауз] 832 00:38:27,238 --> 00:38:28,196 ЗВУЧНИЦИ 3: [Беззвучен]. 833 00:38:28,196 --> 00:38:58,951 834 00:38:58,951 --> 00:39:03,120 >> [Аплауз] 835 00:39:03,120 --> 00:39:06,740 >> Дејвид MALAN: И ни овозможи да се донесе на одборот на две од CS50 МОСТ 836 00:39:06,740 --> 00:39:09,730 висок претставник на персоналот, Роб и Zamayla, како и. 837 00:39:09,730 --> 00:39:15,120 >> [Аплауз] 838 00:39:15,120 --> 00:39:17,226 >> Навистина и Роб и Zamayla се со нас 839 00:39:17,226 --> 00:39:19,940 за толку долго, што бев во можност да се оди во архивата CS50 е 840 00:39:19,940 --> 00:39:22,470 и да се најде тоа многу SD снимки од нив учествуваат 841 00:39:22,470 --> 00:39:25,402 на себе фаза пред неколку години. 842 00:39:25,402 --> 00:39:26,110 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 Дејвид MALAN: Ви благодарам. 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 Среќавајте Ерин и Tobias и други уште. 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 мозаик ден. 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 Stay tuned за повеќе. 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 на одлучат во основа, да имаат Предизвикот на wits против соученици, 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 Премиерот завршува во 7,00 часот, а на патот 894 00:42:56,970 --> 00:43:01,900 12 вечерните часови, во која да се нурне во финалето project-- на курсот 895 00:43:01,900 --> 00:43:04,820 можност да се дизајнира и спроведување на повеќето ништо од интерес 896 00:43:04,820 --> 00:43:06,980 да ви со вашето учење водство колеги. 897 00:43:06,980 --> 00:43:09,600 Околу 9:00 AM правиме обично служи пица, 1:00 AM, 898 00:43:09,600 --> 00:43:13,210 Филип, а на неколку од нас кои се уште се разбуди во 5:00 часот, 899 00:43:13,210 --> 00:43:16,310 се шатл bussed одредување на патот кон IHOP за појадок. 900 00:43:16,310 --> 00:43:19,340 >> А потоа и неколку дена подоцна е т.н. CS50 fare-- 901 00:43:19,340 --> 00:43:23,450 крајот на семестарот изложба во прослава на колку далеку толку многу 902 00:43:23,450 --> 00:43:28,200 на CS50 студенти доаѓаат од недела нула сите на патот до недела, 903 00:43:28,200 --> 00:43:32,610 и имајќи предвид дека 73% од оние кои соученици и твое оваа година имаат 904 00:43:32,610 --> 00:43:34,840 не презеле класа CS порано. 905 00:43:34,840 --> 00:43:39,226 Всушност, да се reemphasize како многу, тука е уште неколку лица од персоналот е CS50. 906 00:43:39,226 --> 00:43:40,184 ЗВУЧНИЦИ 4: [Беззвучен]. 907 00:43:40,184 --> 00:43:45,909 908 00:43:45,909 --> 00:43:46,867 ЗВУЧНИЦИ 5: [Беззвучен]. 909 00:43:46,867 --> 00:43:51,332 910 00:43:51,332 --> 00:43:52,290 ЗВУЧНИЦИ 6: [Беззвучен]. 911 00:43:52,290 --> 00:43:55,276 912 00:43:55,276 --> 00:43:56,234 ЗВУЧНИЦИ 7: [Беззвучен]. 913 00:43:56,234 --> 00:44:01,727 914 00:44:01,727 --> 00:44:02,643 ЗВУЧНИЦИ 8: [Беззвучен] 915 00:44:02,643 --> 00:44:10,066 916 00:44:10,066 --> 00:44:11,024 ЗВУЧНИЦИ 9: [Беззвучен]. 917 00:44:11,024 --> 00:44:14,475 918 00:44:14,475 --> 00:44:15,461 >> ЗВУЧНИЦИ 4: [Беззвучен]. 919 00:44:15,461 --> 00:44:16,461 >> ЗВУЧНИК 10: [Беззвучен]. 920 00:44:16,461 --> 00:44:21,456 921 00:44:21,456 --> 00:44:23,438 ЗВУЧНИК 11: [Беззвучен]. 922 00:44:23,438 --> 00:44:24,438 ЗВУЧНИК 12: [Беззвучен]. 923 00:44:24,438 --> 00:44:30,438 924 00:44:30,438 --> 00:44:31,396 ЗВУЧНИК 13: [Беззвучен] 925 00:44:31,396 --> 00:44:37,360 926 00:44:37,360 --> 00:44:40,342 >> ЗВУЧНИК 14: [Беззвучен]. 927 00:44:40,342 --> 00:44:42,863 >> ЗВУЧНИК 13: [Беззвучен]. 928 00:44:42,863 --> 00:44:43,821 ЗВУЧНИК 15: [Беззвучен] 929 00:44:43,821 --> 00:44:48,785 930 00:44:48,785 --> 00:44:49,785 ЗВУЧНИК 16: [Беззвучен]. 931 00:44:49,785 --> 00:44:53,761 932 00:44:53,761 --> 00:44:55,252 >> ЗВУЧНИК 11: [Беззвучен] 933 00:44:55,252 --> 00:44:57,773 934 00:44:57,773 --> 00:44:58,731 ЗВУЧНИЦИ 5: [Беззвучен]. 935 00:44:58,731 --> 00:45:11,250 936 00:45:11,250 --> 00:45:15,130 Дејвид MALAN: Некои од тимот самите шопинг класи. 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 и CAS и [? вработените?] членови here-- овие се само неколку 940 00:45:23,450 --> 00:45:28,880 на faces-- од кои само видов, и неколку other-- и уште неколку други 941 00:45:28,880 --> 00:45:30,020 уште. 942 00:45:30,020 --> 00:45:33,242 Зошто не можеме да одиме напред и да се овозможи вие момци на пет минути пауза. 943 00:45:33,242 --> 00:45:35,450 Ако треба да патка до продавница часови, тоа е во ред. 944 00:45:35,450 --> 00:45:38,900 А во пет минути, ќе продолжи, Гледано во првите Scratch-- 945 00:45:38,900 --> 00:45:42,420 на нашите програмски јазик, да ги исполнуваат персоналот на курсот тука некои повеќе, 946 00:45:42,420 --> 00:45:45,020 и да се фокусира на крајот на проблем во собата нула. 947 00:45:45,020 --> 00:45:46,710 Па ние ќе се врати во пет минути. 1 00:45:46,864 --> 00:45:47,370 >> Во ред. 2 00:45:47,370 --> 00:45:48,590 Значи ние сме назад. 3 00:45:48,590 --> 00:45:51,330 И во нашата останатите време денес, целта 4 00:45:51,330 --> 00:45:54,320 е да се на ниво на полето за играње во однос на некои терминологија, 5 00:45:54,320 --> 00:45:55,297 во однос на некои идеи. 6 00:45:55,297 --> 00:45:57,380 Бидејќи навистина, како на некои од топ листите порано, 7 00:45:57,380 --> 00:46:00,130 таму се случува да биде спектар на нивоа на искуство во оваа класа, 8 00:46:00,130 --> 00:46:03,210 некои од чии студенти имаат преземени некои програмски пред тоа, 9 00:46:03,210 --> 00:46:04,200 од кои некои не се. 10 00:46:04,200 --> 00:46:07,430 И така со овој првиот проблем постави и на овој прв јазик 11 00:46:07,430 --> 00:46:10,830 имаме можност да се започне да се земе здраво за готово по денешната 12 00:46:10,830 --> 00:46:12,960 некои заеднички вокабулар и идеја. 13 00:46:12,960 --> 00:46:15,590 >> И ние ќе го направите тоа по пат на Првиот languages-- на курсот 14 00:46:15,590 --> 00:46:21,070 во прилог на C и Python и JavaScript и SQL и HTML и CSS, 15 00:46:21,070 --> 00:46:24,450 ние ќе се фокусира на почетокот и само за проблем во собата нула 16 00:46:24,450 --> 00:46:28,160 на овој графички јазик, наречен Нула, развиен од страна на МИТ Media 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 што веројатно може да се претпостави дека најверојатно отпечатоци Здраво светот. 28 00:47:00,010 --> 00:47:02,050 Но, има многу синтаксички надземни таму. 29 00:47:02,050 --> 00:47:05,770 Постои чуден хаш симбол или хаш таг до врвот. 30 00:47:05,770 --> 00:47:08,900 Има голема заграда на агол, некои загради, кадрави загради, полу-colon-- 31 00:47:08,900 --> 00:47:11,880 има само толку многу визуелни синтаксата што добива во начинот на кој. 32 00:47:11,880 --> 00:47:13,940 Започнуваме на курсот со Нула, па како да се добие 33 00:47:13,940 --> 00:47:17,600 минатото на сите оние интелектуално неинтересни одвлекување на вниманието, 34 00:47:17,600 --> 00:47:20,290 и да се фокусираат наместо на идеи. 35 00:47:20,290 --> 00:47:22,540 >> Всушност, ова може да биде порано. 36 00:47:22,540 --> 00:47:24,830 Ова, за тоа, недела ќе биде сноп. 37 00:47:24,830 --> 00:47:26,760 Ова, во овој графички јазик нула, 38 00:47:26,760 --> 00:47:29,870 е како ќе се спроведе истата program-- програма што кога се работи, 39 00:47:29,870 --> 00:47:31,340 едноставно вели Здраво светот. 40 00:47:31,340 --> 00:47:34,740 И, што е убаво за нула е дека тоа е овој графички програмирање 41 00:47:34,740 --> 00:47:38,780 животната средина, кој го користи мозаик парчиња или блокови, кои блокирам само заедно 42 00:47:38,780 --> 00:47:40,440 ако тоа го прави логичка смисла да го стори тоа. 43 00:47:40,440 --> 00:47:43,810 И со нула може да се развие анимации и интерактивни игри 44 00:47:43,810 --> 00:47:47,270 и уметноста, и било кој број на работи кои може да се замисли во свој ум, 45 00:47:47,270 --> 00:47:51,200 и да ги имплементира едноставно влечење и пуштање мозаик парчиња. 46 00:47:51,200 --> 00:47:54,265 >> И навистина, ќе имаат способност да го изразат некои од исти идеи 47 00:47:54,265 --> 00:47:56,890 дека јас само споменати момент пред во контекст на Мајк Смит 48 00:47:56,890 --> 00:48:00,670 и пребарување на телефонски book-- работи како функции, само акции, 49 00:48:00,670 --> 00:48:03,070 работи како јамки кои го прават тоа работи повторно и повторно, 50 00:48:03,070 --> 00:48:05,170 променливи, што е нешто што ќе се воведе, 51 00:48:05,170 --> 00:48:08,086 но тоа е познато можеби од algebra-- само некој вид на случаеви 52 00:48:08,086 --> 00:48:10,840 за чување на некои вредност можеби треба later-- Булова изрази, 53 00:48:10,840 --> 00:48:13,720 каде што тие да не или вистина лажни прашања од порано. 54 00:48:13,720 --> 00:48:17,117 Условите се оние вилушки во road-- оние гранки, така да се каже. 55 00:48:17,117 --> 00:48:19,700 А потоа, тука се и некои познавач карактеристики ќе видиме дури и денес, 56 00:48:19,700 --> 00:48:22,850 наречен низи и теми и настани, кои ние ќе потоа се враќате во текот 57 00:48:22,850 --> 00:48:24,460 време во различни јазици. 58 00:48:24,460 --> 00:48:26,790 Но, гребење ни овозможува да се истражуваат сите од нив. 59 00:48:26,790 --> 00:48:30,779 Значи тука во нула, оваа пурпурна блок е она што функција е обично 60 00:48:30,779 --> 00:48:31,570 Ќе изгледа како. 61 00:48:31,570 --> 00:48:35,620 Оваа пурпурна сложувалка кој има некои збор како на пример, кој е на акција, 62 00:48:35,620 --> 00:48:38,490 и тогаш тоа може да има аргумент или parameter-- на некој начин 63 00:48:38,490 --> 00:48:41,140 од овој вид на измената она што го прави тој блок 64 00:48:41,140 --> 00:48:45,182 така што тоа не е однапред одредена од МИТ што вели овој пурпурна блок. 65 00:48:45,182 --> 00:48:47,390 Всушност, вие ќе ја видите во момент дека јас сум во можност да напишеш 66 00:48:47,390 --> 00:48:49,931 зборовите како здраво светот, или Здраво Дејвид, или здраво Zamayla, 67 00:48:49,931 --> 00:48:53,750 или она што го сакате, со аргументот за тој мозаик piece-- белата кутија 68 00:48:53,750 --> 00:48:54,251 таму. 69 00:48:54,251 --> 00:48:57,166 Во меѓувреме, ако сакам јамка, ние ќе се види дека има мозаик парчиња кои 70 00:48:57,166 --> 00:48:58,640 изгледа малку портокал се допаѓа ова. 71 00:48:58,640 --> 00:49:01,690 И нивниот облик вид укажува на тоа дека нешто се случува повторно и повторно 72 00:49:01,690 --> 00:49:02,680 во еден циклус. 73 00:49:02,680 --> 00:49:06,800 >> Значи, ако јас заврши со поздрави светот блок со вечно блокира во нула, 74 00:49:06,800 --> 00:49:10,307 тоа е само случува да се задржи велејќи здраво светот засекогаш, буквално. 75 00:49:10,307 --> 00:49:12,390 Во меѓувреме, има уште еден вид на јамка во Скреч 76 00:49:12,390 --> 00:49:14,348 дека ќе see-- повторување block-- каде што, ако 77 00:49:14,348 --> 00:49:17,940 знае однапред колку пати сакате јамка за да се изврши 78 00:49:17,940 --> 00:49:21,850 ограничен број на пати во вас fact-- може да се каже дека со внесување на голем број 79 00:49:21,850 --> 00:49:25,380 или дури и приклучување во променлива, како x или y како што ќе видиме. 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 Друго, ако x е поголема од y, а потоа го каже тоа. 98 00:50:12,230 --> 00:50:14,260 Друго да се каже x е еднаква на y. 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-- нула, се чини, има само една загатка 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 Што ако x е еднаква на 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 И како што ќе видиме, Нула мозаик парчиња 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 Овие ќе видиме претставник на нешто што се нарекува мулти-Threading. 118 00:51:05,760 --> 00:51:08,280 Всушност, сите ваши Macs и компјутери, овие денови 119 00:51:08,280 --> 00:51:10,810 поддршка на мулти-Threading, што значи дека може буквално 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 Г-пошта или Фејсбук или слично. 124 00:51:18,720 --> 00:51:22,730 Вашиот компјутер може да се направи повеќе работи денес, бидејќи тоа е повеќе нишки, 125 00:51:22,730 --> 00:51:26,390 и програми тие се во особено, исто така се мулти-навој. 126 00:51:26,390 --> 00:51:28,970 >> Има нешта наречени настани како и во светот на нула, 127 00:51:28,970 --> 00:51:32,640 и потоа, тука е начинот на кој премногу, да се направи нашите сопствени парчиња мозаик ако работите 128 00:51:32,640 --> 00:51:34,810 всушност не постои однапред. 129 00:51:34,810 --> 00:51:38,260 Значи, да ги мотивира ова на следниов начин. 130 00:51:38,260 --> 00:51:40,580 Пред неколку години, кога јас за првпат се откриени нула, 131 00:51:40,580 --> 00:51:43,530 кога бев всушност град студент на МИТ, ние 132 00:51:43,530 --> 00:51:45,640 се имаа за задача да се направи домашна задача. 133 00:51:45,640 --> 00:51:47,614 И јас implemented-- кои, во ретроспектива, 134 00:51:47,614 --> 00:51:50,780 беше многу лоша одлука, бидејќи тоа е најмногу infuriating песна во светот 135 00:51:50,780 --> 00:51:53,321 да се слуша за осум часа додека работел на вашиот homework-- 136 00:51:53,321 --> 00:51:57,180 но нешто што го нарекува Оскар време, што можеби е позната песна. 137 00:51:57,180 --> 00:51:59,820 >> CS50s поседуваат Јордан Хајаши, еден од нашите повеќе високи членови на персоналот, 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 >> HENRY: Хенри. 148 00:52:20,030 --> 00:52:22,660 >> Дејвид MALAN: Хенри, ајде до. 149 00:52:22,660 --> 00:52:24,190 Качи. 150 00:52:24,190 --> 00:52:27,070 Упатат и да е, и ќе видите во еден момент, 151 00:52:27,070 --> 00:52:29,870 Одам да се оди напред и да ја погоди зелено знаме во горниот десен 152 00:52:29,870 --> 00:52:31,100 агол, што значи се оди. 153 00:52:31,100 --> 00:52:33,320 Иконата за малку гости знак се случува да се каже стоп, 154 00:52:33,320 --> 00:52:35,490 и тоа е моментот кога ќе почнете да и прекинување на програмата. 155 00:52:35,490 --> 00:52:36,450 Мило ми е што те запознав. 156 00:52:36,450 --> 00:52:36,950 Во ред. 157 00:52:36,950 --> 00:52:39,100 Значи ние си оди за да ги видите упатствата на екранот во само еден миг. 158 00:52:39,100 --> 00:52:41,450 И само со играње на оваа игра за неколку seconds-- ми верувате, 159 00:52:41,450 --> 00:52:43,670 ние не се случува да сакаат да играат сите на патот до end-- ќе 160 00:52:43,670 --> 00:52:45,470 да се добие чувство на она што програмата го прави тоа. 161 00:52:45,470 --> 00:52:49,170 И повеќе од само се фокусираат на Хенри се добри или лоши во оваа игра, фокусот 162 00:52:49,170 --> 00:52:52,600 и како бил имплементиран од мене првично, а потоа од страна на Јордан. 163 00:52:52,600 --> 00:52:54,640 Со други зборови, каде што се променливи? 164 00:52:54,640 --> 00:52:55,520 Каде се јамки? 165 00:52:55,520 --> 00:52:56,520 Каде се функции? 166 00:52:56,520 --> 00:53:00,700 И ние ќе се види дали ние не ги гледаме оние кои се под хауба. 167 00:53:00,700 --> 00:53:03,660 >> Само кликнете и влечете за ѓубре на соодветната корпа. 168 00:53:03,660 --> 00:54:02,100 >> [Музички] 169 00:54:02,100 --> 00:54:02,600 Во ред. 170 00:54:02,600 --> 00:54:03,160 Тоа е многу добра. 171 00:54:03,160 --> 00:54:04,286 Зошто не можеме да го запре таму. 172 00:54:04,286 --> 00:54:04,786 Ти благодарам. 173 00:54:04,786 --> 00:54:05,830 Алал да му е на Хенри. 174 00:54:05,830 --> 00:54:07,002 Ти благодарам. 175 00:54:07,002 --> 00:54:10,690 >> [Аплауз] 176 00:54:10,690 --> 00:54:12,450 >> Замислете дебагирање таа програма. 177 00:54:12,450 --> 00:54:15,880 Ако има проблем две минута song-- но исто така 178 00:54:15,880 --> 00:54:17,430 она што се случува тука навистина? 179 00:54:17,430 --> 00:54:20,900 Толку комплицирано како што тоа би можело да почне да се чини да се добие во текот на времето, 180 00:54:20,900 --> 00:54:22,910 навистина се повеќе и повеќе работи почнаа да паѓаат, 181 00:54:22,910 --> 00:54:25,370 што е интересно во врска со овој вид на example-- 182 00:54:25,370 --> 00:54:27,270 и ќе видиме неколку others-- е дека ако 183 00:54:27,270 --> 00:54:30,416 гледам минатото на комплексноста или софистицираност на игра, 184 00:54:30,416 --> 00:54:33,040 таму е многу едноставен зграда блокови кои play-- сите на кои, 185 00:54:33,040 --> 00:54:35,840 ако ги дестилираат на оние градежен материјал, се многу достапни 186 00:54:35,840 --> 00:54:37,401 и применливи кон себе. 187 00:54:37,401 --> 00:54:39,150 На пример, тоа е е некое време, но јас сум 188 00:54:39,150 --> 00:54:42,900 прилично сигурен дека она што првично го правеше кога со што оваа игра за прв пат 189 00:54:42,900 --> 00:54:44,787 јас бев целосно како одолговлекува. 190 00:54:44,787 --> 00:54:47,120 Јас не се фокусира на сите на логика или парчиња од сложувалката, 191 00:54:47,120 --> 00:54:50,810 Се фокусирав на графика и наод на улица пост и корпата за ѓубре 192 00:54:50,810 --> 00:54:51,540 и сето тоа. 193 00:54:51,540 --> 00:54:53,456 Но, тоа беа потребни состојки во прв план. 194 00:54:53,456 --> 00:54:57,220 И уште еднаш ќе заврши одложување и поставувањето рамка за сеопфатна, 195 00:54:57,220 --> 00:55:00,337 Решив да, дозволете ми да се направи една парче ѓубре паѓа од небото. 196 00:55:00,337 --> 00:55:02,170 И ние ќе се види на гребење поддржува нешта наречени 197 00:55:02,170 --> 00:55:06,386 sprites-- знаци кои може да имаат различни костими за да можат 198 00:55:06,386 --> 00:55:07,010 изгледа различно. 199 00:55:07,010 --> 00:55:09,660 >> И така јас се стави ѓубре костимот на една таква фигура. 200 00:55:09,660 --> 00:55:12,007 И јас само е потребно да падне од небото. 201 00:55:12,007 --> 00:55:14,590 И така излегува, нула, како и повеќето програмски јазици, 202 00:55:14,590 --> 00:55:18,099 поддржува случајни броеви или технички pseudocode случајни броеви, 203 00:55:18,099 --> 00:55:20,390 така што со влечење и намалувањето на одредени парчиња мозаик, 204 00:55:20,390 --> 00:55:22,890 Јас бев во можност да се ѓубре дојде од левата страна во прв план. 205 00:55:22,890 --> 00:55:25,580 И тогаш следниот пат кога таа падна, од право, а потоа од средината на теренот. 206 00:55:25,580 --> 00:55:28,060 И сите играта не е само има ѓубре паѓа од небото. 207 00:55:28,060 --> 00:55:29,770 Вие не може да се укаже на тоа или кликнете на неа. 208 00:55:29,770 --> 00:55:31,103 Вие не може да ги отвори корпата за ѓубре. 209 00:55:31,103 --> 00:55:32,160 Вие не може да направи ништо. 210 00:55:32,160 --> 00:55:34,450 Но, тоа беше чекор бебе кон мојата крајна визија. 211 00:55:34,450 --> 00:55:36,720 >> И после тоа, јас, всушност, спроведува некој вид 212 00:55:36,720 --> 00:55:41,230 на сензори, така што ако го притиснете и повлечете го на парче ѓубре 213 00:55:41,230 --> 00:55:44,350 во текот на конзерва ѓубре, Оскар капакот ќе се отвори и затвори. 214 00:55:44,350 --> 00:55:47,650 Ништо нема да се случи во корпата, но најмалку капакот ќе се отвори и затвори. 215 00:55:47,650 --> 00:55:49,642 Па тогаш провери, чекор два на два. 216 00:55:49,642 --> 00:55:52,100 И тоа е она што се случува да биде клучот во двете проблем во собата нула 217 00:55:52,100 --> 00:55:55,970 и во програмирање поопшто, е да се се овие многу намерно чекори бебе. 218 00:55:55,970 --> 00:55:59,390 Бидејќи не само што ќе ви овозможи да се чувствувам искрено постигнато многу повеќе 219 00:55:59,390 --> 00:56:01,250 quickly-- тоа е Најлошото нешто во светот 220 00:56:01,250 --> 00:56:06,149 да се обиде да ги спроведе сите на Оскар време, тогаш часа подоцна погоди зелено знаме, 221 00:56:06,149 --> 00:56:08,440 и ништо не работи како што се очекуваше бидејќи кога ќе се направи уште 222 00:56:08,440 --> 00:56:11,150 почнуваат да се debug или да смена на таа програма? 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 Ова е нула. 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 Ова е местото каде што може да drag and drop оние мозаик парчиња се прават работите. 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 Зелена 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 >> AW. 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 Тоа навистина не се толку многу напор и МИТ го поголемиот дел од работата, 274 00:58:05,300 --> 00:58:07,890 но јас го нарекувам функција. 275 00:58:07,890 --> 00:58:08,940 Го употребив функција. 276 00:58:08,940 --> 00:58:12,480 Јас го направив некоја акција, само со користење на дека еден пурпурна загатка парче. 277 00:58:12,480 --> 00:58:15,960 >> Па, ако сакате да го направите три мјаукања во ред? 278 00:58:15,960 --> 00:58:18,570 Дозволете ми да оди напред и да прават два и три. 279 00:58:18,570 --> 00:58:20,910 И ќе забележите дека кога ќе се лебдиш во близина загатка парче, 280 00:58:20,910 --> 00:58:22,970 се појавува малку бела линија вид на магнет, 281 00:58:22,970 --> 00:58:25,190 и тоа ќе пукне заедно кога ќе се прости. 282 00:58:25,190 --> 00:58:26,600 Ајде да видиме што се случува тука. 283 00:58:26,600 --> 00:58:27,920 >> [Слатко] 284 00:58:27,920 --> 00:58:32,390 285 00:58:32,390 --> 00:58:34,510 >> Има бубачка. 286 00:58:34,510 --> 00:58:35,650 Јас само слушаат meow. 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-- игра звук meow додека не се направи, 301 00:59:04,180 --> 00:59:07,072 а потоа повлечете три овие и притиснете Play. 302 00:59:07,072 --> 00:59:09,430 >> [Слатко] 303 00:59:09,430 --> 00:59:13,350 >> Тоа не е навистина very-- you-- благодарам многу природно. 304 00:59:13,350 --> 00:59:16,590 Па зошто да не нека I-- ми да оди да се контролира тука. 305 00:59:16,590 --> 00:59:17,090 Ница. 306 00:59:17,090 --> 00:59:22,230 Чекај една секунда, а сега да се навратам на звуци, и игра на звукот додека не се направи, 307 00:59:22,230 --> 00:59:24,620 а потоа дозволете ми да почека една секунда. 308 00:59:24,620 --> 00:59:28,692 И тогаш дозволете ми да оди и да добијат еден повеќе звук, и тука ќе одиме. 309 00:59:28,692 --> 00:59:31,350 >> [Слатко] 310 00:59:31,350 --> 00:59:35,930 >> А малку повеќе физички, но ова не е многу ефикасен. 311 00:59:35,930 --> 00:59:39,830 Како што му е здодевно, сите ќе бидат накратко, со кликнување и назад 312 00:59:39,830 --> 00:59:42,724 и навистина се дуплираат мојата work-- доста копирање и вметнување. 313 00:59:42,724 --> 00:59:44,640 Всушност, ако ги контролирам кликна или десно кликна, 314 00:59:44,640 --> 00:59:46,500 Јас би можеле да имаат само копирани и атипичен. 315 00:59:46,500 --> 00:59:49,870 Што ќе биде подобро да се изгради да се користи? 316 00:59:49,870 --> 00:59:51,090 Што идеја од пред тоа? 317 00:59:51,090 --> 00:59:51,990 >> Да, па јамка. 318 00:59:51,990 --> 00:59:54,580 И всушност, ако ние појдов наоколу, ние може да се најдат токму тоа. 319 00:59:54,580 --> 00:59:57,730 Дозволете ми да одам на настани или подобро контрола. 320 00:59:57,730 --> 00:59:59,650 Значи repeat-- јас не сакате да биде 10 пати. 321 00:59:59,650 --> 01:00:01,370 Тоа се случува да се добие досадно брзо. 322 01:00:01,370 --> 01:00:03,380 Но, ќе повторам три пати. 323 01:00:03,380 --> 01:00:06,355 Дозволете ми да се врати на звук и репродуцирате звукот додека не е направено. 324 01:00:06,355 --> 01:00:08,480 Дозволете ми да се врати за контрола на и само почекајте една секунда. 325 01:00:08,480 --> 01:00:10,271 И информации, можеби дека тоа не одговара, 326 01:00:10,271 --> 01:00:13,520 но повторно, ако магнетно тоа го дозволуваат предвремени во место, тоа ќе се зголеми за да се пополни. 327 01:00:13,520 --> 01:00:14,971 Што е тоа игра сега? 328 01:00:14,971 --> 01:00:18,500 >> [Слатко] 329 01:00:18,500 --> 01:00:19,000 ДОБРО. 330 01:00:19,000 --> 01:00:19,660 Ница. 331 01:00:19,660 --> 01:00:22,540 И тоа е она што ќе се вика програма со која е исто така точно. 332 01:00:22,540 --> 01:00:27,590 Тоа meowed три пати прилично се разбира, но тоа е подобро дизајниран. 333 01:00:27,590 --> 01:00:29,580 Јас сум со користење на помалку вишок. 334 01:00:29,580 --> 01:00:30,970 Јас не го копирате и залепите ништо. 335 01:00:30,970 --> 01:00:32,470 Јас само се користи подобра идеја. 336 01:00:32,470 --> 01:00:35,340 >> Сега, ова сè уште не е на сите дека интересна со нула не прави 337 01:00:35,340 --> 01:00:35,930 било што. 338 01:00:35,930 --> 01:00:37,388 Значи, да се направи нешто друго наместо тоа. 339 01:00:37,388 --> 01:00:38,670 Да направиме нешто засекогаш. 340 01:00:38,670 --> 01:00:39,420 И знаете што? 341 01:00:39,420 --> 01:00:40,470 Движење чини интересно. 342 01:00:40,470 --> 01:00:45,760 Ајде да го преселат 10 чекори и хит претстава сега. 343 01:00:45,760 --> 01:00:46,570 >> ДОБРО. 344 01:00:46,570 --> 01:00:49,300 Па ние да вид на влечење го назад, и тој е се уште 345 01:00:49,300 --> 01:00:51,250 работи, бидејќи тој го прави ова засекогаш. 346 01:00:51,250 --> 01:00:53,150 Значи јамка прави она што го кажува да се направи, 347 01:00:53,150 --> 01:00:54,650 Но, ова не е толку интересно. 348 01:00:54,650 --> 01:00:55,310 Ајде да го направиме ова. 349 01:00:55,310 --> 01:00:59,870 Дозволете ми да кажам контрола блок, и да го користите еден на тие услови за прв пат. 350 01:00:59,870 --> 01:01:03,119 >> Така, тоа е ќе се движи од 10 steps-- 10 точки, 10 пиксели на screen-- 351 01:01:03,119 --> 01:01:04,660 тогаш тоа се случува да прашам ова прашање. 352 01:01:04,660 --> 01:01:09,340 Ако нешто не е точно, тогаш се нешто во овој блок. 353 01:01:09,340 --> 01:01:13,060 Значи излегува сензори има цела куп на Булова expressions-- 354 01:01:13,060 --> 01:01:16,580 прашања за да не или вистина лажни form-- дозволете ми да го направите тоа. 355 01:01:16,580 --> 01:01:19,260 >> Ако touching-- а потоа има оваа мала паѓачкото мени. 356 01:01:19,260 --> 01:01:20,410 Можам да го параметризирање. 357 01:01:20,410 --> 01:01:23,010 Ако допира edge-- ајде се направи такво нешто. 358 01:01:23,010 --> 01:01:27,310 Значи, ако се допира edge-- дозволете ми да се врати во движење. 359 01:01:27,310 --> 01:01:32,281 И зошто не ние само се сврти за 180 степени? 360 01:01:32,281 --> 01:01:32,780 Во ред. 361 01:01:32,780 --> 01:01:35,070 Така засекогаш, се движат од 10 чекори. 362 01:01:35,070 --> 01:01:37,670 Ако сте го допирате работ, да се претвори 180 степени. 363 01:01:37,670 --> 01:01:39,720 И тоа не е крај на програмата затоа што ти си во засекогаш го блокира, 364 01:01:39,720 --> 01:01:42,053 па затоа се случува да се оди повторно и повторно и повторно и повторно. 365 01:01:42,053 --> 01:01:43,980 Па ајде да видиме што се случува. 366 01:01:43,980 --> 01:01:44,785 ДОБРО. 367 01:01:44,785 --> 01:01:48,270 А малку кабриолет, но вид на ладно. 368 01:01:48,270 --> 01:01:51,710 >> И ние може да го додадете ова некои смешни работи дека не се сите кои интелектуално 369 01:01:51,710 --> 01:01:52,270 интересно. 370 01:01:52,270 --> 01:01:57,210 Но, ако се погоди оваа мала микрофон button-- Уф. 371 01:01:57,210 --> 01:01:58,480 Дозволете ми да се исчисти ова. 372 01:01:58,480 --> 01:02:01,540 Дозволете ми да се подобри тоа како тие би рекле на телевизија. 373 01:02:01,540 --> 01:02:05,400 Исчистете дека до, зачувување и сега оди до скрипти. 374 01:02:05,400 --> 01:02:07,500 >> И сега, дозволете ми да оди на звук. 375 01:02:07,500 --> 01:02:09,002 Дозволете ми да го даде името. 376 01:02:09,002 --> 01:02:12,440 Ќе му се јавам оваа Уф. 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 >> Или ако се направи тоа како 1.000 чекори на 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-- јас започна со нешто супер едноставен, 390 01:02:45,290 --> 01:02:47,930 а потоа се додава функција, додаде функција, додаде функција. 391 01:02:47,930 --> 01:02:50,721 И јас веќе не треба да се грижите како прв од оние карактеристики 392 01:02:50,721 --> 01:02:53,690 беше имплементиран како што продолжи да слој работи на врвот. 393 01:02:53,690 --> 01:02:55,430 Така, всушност, дозволете ми да се направи уште еден друг тука. 394 01:02:55,430 --> 01:03:00,580 Дозволете ми да оди напред и да се отвори датотеката што Јас го донесов во однапред, наречен овци. 395 01:03:00,580 --> 01:03:03,970 >> Така што има малку поинаков лик кој изгледа вака. 396 01:03:03,970 --> 01:03:07,370 И дозволете ми да се види дали не можам направи нешто со помош на шалтер 397 01:03:07,370 --> 01:03:09,310 во овој case-- т.н. променлива. 398 01:03:09,310 --> 01:03:15,540 Одам да се оди напред и под Events-- дозволете ми да добие зелено знаме кликнато. 399 01:03:15,540 --> 01:03:19,030 Тогаш дозволете ми да одат на податоци, што знам од само поигрува пред тоа, 400 01:03:19,030 --> 01:03:20,214 е местото каде што се променливи. 401 01:03:20,214 --> 01:03:21,880 И јас одам да се оди напред и повлечете ова. 402 01:03:21,880 --> 01:03:25,144 >> Значи променлива наречена шалтер, како и Одам да се иницијализира на нула. 403 01:03:25,144 --> 01:03:27,560 Јас може да го наречеме anything-- x или 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 И дозволете ми да оди на изглед страница и да направите Кажи блок. 408 01:03:41,289 --> 01:03:44,330 Но, она што е кул за променливите е јас не треба да напишете само во нешто 409 01:03:44,330 --> 01:03:47,850 како здраво светот, што ние веќе направено, јас наместо да одат на податоци 410 01:03:47,850 --> 01:03:50,690 и повлечете променлива ми, па дури и иако формата сосема не 411 01:03:50,690 --> 01:03:53,000 изгледа како тоа треба да одговара, тоа ќе се зголеми за да се пополни. 412 01:03:53,000 --> 01:03:58,396 И јас само ќе кажам за еден шалтер second-- spoiler-- тој се случува да се брои. 413 01:03:58,396 --> 01:04:00,380 Ние ќе го кажам за една секунда. 414 01:04:00,380 --> 01:04:02,840 Тогаш јас ќе одам да се оди и мора да чека за една секунда, 415 01:04:02,840 --> 01:04:04,650 па тоа не се брои до премногу брзо. 416 01:04:04,650 --> 01:04:08,430 А потоа и на крај, промена контра од 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-- игра звук meow а потоа чекаат две секунди. 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 и така ќе слушнете или meow или татнежот на лавот во тој случај. 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 Но забележите оваа програма има две sprites, два лика. 471 01:06:38,810 --> 01:06:40,020 Една од нив е птица. 472 01:06:40,020 --> 01:06:40,870 Една од нив е мачка. 473 01:06:40,870 --> 01:06:45,080 >> И ќе забележите кога ќе кликнете на овие долу лево, тие имаат свои сопствени скрипти 474 01:06:45,080 --> 01:06:47,120 или програми поврзани со нив. 475 01:06:47,120 --> 01:06:49,420 И двете од овие програми, информации, почетокот 476 01:06:49,420 --> 01:06:52,600 со кога clicked-- зелено знаме ајде да погледнеме на cat-- 477 01:06:52,600 --> 01:06:54,030 кога зелено знаме кликнато. 478 01:06:54,030 --> 01:06:58,220 И така, навистина, кога ќе се погоди играат сега, две работи се случува да се случи одеднаш. 479 01:06:58,220 --> 01:07:01,750 Мачката и птицата се и се случува да работат истовремено 480 01:07:01,750 --> 01:07:03,815 да се создаде овој ефект. 481 01:07:03,815 --> 01:07:05,440 И можете да си замислите што се случува. 482 01:07:05,440 --> 01:07:08,340 Има јамка и птицата и мачката се во еден циклус. 483 01:07:08,340 --> 01:07:11,270 Птицата е само бие како Бев пред кога реков Уф. 484 01:07:11,270 --> 01:07:13,040 Но мачката јасно има предност. 485 01:07:13,040 --> 01:07:16,040 Има уште една сензори блок што укажува на мачка намерно 486 01:07:16,040 --> 01:07:19,836 на птици во овој случај. 487 01:07:19,836 --> 01:07:22,960 За да можеме да ги разграничат, гледајќи преку овие блокови, што се случува. 488 01:07:22,960 --> 01:07:25,460 Но, клучна состојка тука е еден. 489 01:07:25,460 --> 01:07:28,520 Птица, така што оваа игра не е целосно boring-- или овој animation-- 490 01:07:28,520 --> 01:07:30,060 започнува во случаен насока. 491 01:07:30,060 --> 01:07:32,890 И компјутерот е подигање број помеѓу 90 и 180 492 01:07:32,890 --> 01:07:36,110 Во суштина, така што тоа е малку различни анимација секој пат. 493 01:07:36,110 --> 01:07:39,480 >> А потоа забележите тука, ако мачка е допирање на птица, а потоа 494 01:07:39,480 --> 01:07:42,030 игра лавот четири sound-- татнежот. 495 01:07:42,030 --> 01:07:46,330 Но, во меѓувреме во птица палета, имаме ова. 496 01:07:46,330 --> 01:07:49,229 Засекогаш, ако не ја допира мачка, само да се движат три чекори. 497 01:07:49,229 --> 01:07:50,770 А потоа, тука е уште една загатка парче. 498 01:07:50,770 --> 01:07:52,030 Ако сте на работ, скокаат. 499 01:07:52,030 --> 01:07:54,840 Значи птицата е само вид на чување на свој бизнис, 500 01:07:54,840 --> 01:07:57,330 само летаат наоколу и бие, и тоа е навистина 501 01:07:57,330 --> 01:08:01,780 мачка која имаше условен логика да се утврди дали се фатени птица. 502 01:08:01,780 --> 01:08:02,280 Во ред. 503 01:08:02,280 --> 01:08:08,800 Значи, да се направи еден друг тука, ова се нарекува Здраво Здраво Здраво. 504 01:08:08,800 --> 01:08:15,100 И ова овде само прави ова во вечно јамка. 505 01:08:15,100 --> 01:08:18,925 Но notice-- како да се запре ова многу досадни програма? 506 01:08:18,925 --> 01:08:21,600 507 01:08:21,600 --> 01:08:22,640 Хит на тастерот space. 508 01:08:22,640 --> 01:08:27,990 Затоа што ако го направам тоа, левата рака program-- 509 01:08:27,990 --> 01:08:31,550 забележите дека тоа е постојано listening-- е клучот простор печатот. 510 01:08:31,550 --> 01:08:34,090 Ако просторот бар притисне, и ако е така, она што не го прави тоа? 511 01:08:34,090 --> 01:08:35,980 Тоа го прави многу честа техника. 512 01:08:35,980 --> 01:08:38,590 Го поставува променлива еднаква на некоја вредност. 513 01:08:38,590 --> 01:08:39,741 Но, тоа го менува таа вредност. 514 01:08:39,741 --> 01:08:41,490 [? Значи изглед?] врз основа на shape-- I 515 01:08:41,490 --> 01:08:43,160 со променлив дека јас напиша однапред наречен 516 01:08:43,160 --> 01:08:44,770 Исклучен, што само вели да или не. 517 01:08:44,770 --> 01:08:45,880 Е звукот исклучен или не? 518 01:08:45,880 --> 01:08:46,990 Точно или неточно? 519 01:08:46,990 --> 01:08:51,580 И известување, сакам да кажам дека ако this-- пригушени е нула, тогаш промените на една, 520 01:08:51,580 --> 01:08:53,840 на друго место во собата исклучете го тонот на нула. 521 01:08:53,840 --> 01:08:55,540 Па само флип вредност од нула до еден. 522 01:08:55,540 --> 01:08:58,320 Јас би можеле да имаат done-- ја промените од два до три и три до две 523 01:08:58,320 --> 01:09:00,162 или четири до пет или четири на шест. 524 01:09:00,162 --> 01:09:01,870 Но, тоа не е важно кои броеви јас го користам, 525 01:09:01,870 --> 01:09:04,090 толку долго како што се задржи менувањето спротивното. 526 01:09:04,090 --> 01:09:07,290 >> И повеќето секој програмер би само изберете нула и 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 Ако јас хит тастерот space 530 01:09:12,190 --> 01:09:13,590 >> [ПЕЧАТ ЗВУЦИ] 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 Треба да се игра на звукот, а потоа мислам hi hi hi за две секунди 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 во Кембриџ или 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 притискање на стрелка нагоре или надолу arrow или лево и десно, 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 Можете да drag and drop и работи се појавуваат и исчезнуваат на крајот. 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 да се започне да се дефинира нов речник дека МИТ не го очекувале. 601 01:11:56,350 --> 01:11:59,110 Има почекаме и да се повторува и секогаш и ако, 602 01:11:59,110 --> 01:12:02,590 Но, што ако сакам да се воведе зборот кашлица како блок? 603 01:12:02,590 --> 01:12:06,230 Што ако сакам загатка парче чија цел во животот е да се плаќа? 604 01:12:06,230 --> 01:12:10,720 >> Па, ајде да погледнеме на оваа верзија тука, што не сум направил како што следи. 605 01:12:10,720 --> 01:12:13,579 Магично, Имам креирано оваа загатка парче тука, 606 01:12:13,579 --> 01:12:14,870 кој гребење ви овозможува да направите. 607 01:12:14,870 --> 01:12:16,787 И навистина C и 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 да се нарече каже зборот n пати. 646 01:13:59,900 --> 01:14:04,410 >> И сега имам две нови мозаик парчиња овде се дефинира кашлица n пати. 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 ние ќе се transitioned на фокусирање на повисоко ниво јазик наречен 670 01:15:06,630 --> 01:15:09,290 C-- односно пониска ниво јазик наречен 671 01:15:09,290 --> 01:15:11,347 C-- тоа е дури и повеќе моќен, дури и покрај тоа што е 672 01:15:11,347 --> 01:15:12,930 малку повеќе криптичната на прв поглед. 673 01:15:12,930 --> 01:15:16,740 >> И ќе се реализира по денешната TL: DR, дека овој проблем во собата има пократка 674 01:15:16,740 --> 01:15:19,880 прозорецот на време од идните, едноставно затоа што треба да го најдете доста 675 01:15:19,880 --> 01:15:20,420 достапни. 676 01:15:20,420 --> 01:15:22,211 И не треба да се грижите доколку додадете класа доцна. 677 01:15:22,211 --> 01:15:23,920 Ние ќе се обрати дека пред долго. 678 01:15:23,920 --> 01:15:28,480 И пред да се одложи за торта, ајде заврши со само две минути изглед 679 01:15:28,480 --> 01:15:30,500 на она што те чека тука во CS50. 680 01:15:30,500 --> 01:15:40,950 681 01:15:40,950 --> 01:17:20,803 [Музички] 682 01:17:20,803 --> 01:17:21,302 Во ред. 683 01:17:21,302 --> 01:17:22,690 Тоа е тоа за CS50. 684 01:17:22,690 --> 01:17:23,650 Ние ќе се видиме наскоро. 685 01:17:23,650 --> 01:17:25,526 сега се служи торта. 686 01:17:25,526 --> 01:17:28,998 687 01:17:28,998 --> 01:18:14,267 [Музички] 688 01:18:14,267 --> 01:18:16,350 ЗВУЧНИК 17: Дали сте слушнале на пауза, Главен? 689 01:18:16,350 --> 01:18:29,490 690 01:18:29,490 --> 01:18:31,920 ЗВУЧНИК 18: Можеби има повеќе под хаубата. 691 01:18:31,920 --> 01:18:38,279