1 00:00:00,000 --> 00:00:15,059 >> [MUSIC PŘEHRÁVÁNÍ] 2 00:00:15,059 --> 00:00:19,170 >> To je CS50-- Harvard University úvod 3 00:00:19,170 --> 00:00:22,070 na intelektuální Podniky informatiky 4 00:00:22,070 --> 00:00:23,800 a umění programování. 5 00:00:23,800 --> 00:00:27,020 A mé jméno je David Malan a Zrovna jsem si říkal dnes ráno, 6 00:00:27,020 --> 00:00:33,120 to bylo úžasně 20 let dnes co jsem naposledy seděl, kde vy teď. 7 00:00:33,120 --> 00:00:33,840 >> Bylo to 1996. 8 00:00:33,840 --> 00:00:37,550 Byl jsem druháku, a já bral CS50 vůbec poprvé. 9 00:00:37,550 --> 00:00:40,890 A já jsem ani nedostal do nervy aby to sám v prvním ročníku, 10 00:00:40,890 --> 00:00:42,500 částečně z důvodu času. 11 00:00:42,500 --> 00:00:44,782 Počítačová věda se mnou tak trochu rád, meh. 12 00:00:44,782 --> 00:00:46,990 Byl jsem trochu geek rostoucí up, ale neudělal jsem to vlastně 13 00:00:46,990 --> 00:00:49,180 máte nějaké intelektuální Zájem o něco, co vypadalo 14 00:00:49,180 --> 00:00:51,920 být jen celá parta lidé programování po celou dobu. 15 00:00:51,920 --> 00:00:53,904 >> A byl jsem strach, aby byl upřímný. 16 00:00:53,904 --> 00:00:56,820 Průběh a počítačové vědy více obecně měly a do určité míry, 17 00:00:56,820 --> 00:01:01,230 Stále má tuto pověst pole pro mějte se na pozoru, i kdyby jen proto, že mnozí z nás 18 00:01:01,230 --> 00:01:04,410 jsou obeznámeni s ním a nejistý na to. 19 00:01:04,410 --> 00:01:08,480 A to opravdu nebylo dokud jsem nakupovala Tato třída, která sophomore fall-- 20 00:01:08,480 --> 00:01:10,880 a dokonce i tehdy, jen jsem se zapsal protože professor-- 21 00:01:10,880 --> 00:01:13,950 jeden z mých prvních mentorů, Brian Kernighan nyní na Princeton-- 22 00:01:13,950 --> 00:01:15,700 mi umožnilo vzít třída průchod nezdaří. 23 00:01:15,700 --> 00:01:18,020 A vskutku, to je důvod, proč Dnes jsme umožňují a podporují 24 00:01:18,020 --> 00:01:20,030 studenty, aby tuto třídu TV / unsat. 25 00:01:20,030 --> 00:01:22,040 >> A teprve pak, přepočtena dle kurzu konec semestru 26 00:01:22,040 --> 00:01:24,870 jsem si uvědomil, jako, wow, to nebyl takový neznámé pole. 27 00:01:24,870 --> 00:01:26,850 Ve skutečnosti se jedná o velmi posilující pole, 28 00:01:26,850 --> 00:01:28,970 a více vzrušující, zvláště později, 29 00:01:28,970 --> 00:01:32,809 jak jsem navštěvoval kurzy Dramatická umění 101 a Latinské A 30 00:01:32,809 --> 00:01:34,600 a nakonec grad školy archeologie, 31 00:01:34,600 --> 00:01:37,860 jsem opravdu začít vidět průsečíky této oblasti, počítače 32 00:01:37,860 --> 00:01:41,979 věda, s humanitních přírodní vědy, umění, medicína, 33 00:01:41,979 --> 00:01:42,520 a podobně. 34 00:01:42,520 --> 00:01:44,420 A tak to, co je právě tak úhledný o informatice 35 00:01:44,420 --> 00:01:46,930 nakonec, jak doufáme, budete see-- je jeho použitelnost 36 00:01:46,930 --> 00:01:50,280 těchto jiných oblastech, a jak můžete se některé z dnešních a semestru 37 00:01:50,280 --> 00:01:53,070 nápady a praktické dovednosti zpět na vlastní doméně, 38 00:01:53,070 --> 00:01:58,200 a vlastně prohlídku tohoto křižovatku ze svobodných umění a věd. 39 00:01:58,200 --> 00:02:02,690 >> Takže 73% z vás, je-li poslední rok je nějaký náznak, 40 00:02:02,690 --> 00:02:04,390 Nikdy předtím vzít kurz CS. 41 00:02:04,390 --> 00:02:06,389 Takže pokud, jako já, jste cítil trochu 42 00:02:06,389 --> 00:02:09,190 strach, nebo otevřeně nejste opravdu jistý, proč jste ještě tady. 43 00:02:09,190 --> 00:02:11,510 Možná jste právě následovaly některé přátele Sanders právě teď. 44 00:02:11,510 --> 00:02:12,490 To je naprosto v pořádku. 45 00:02:12,490 --> 00:02:15,059 Cílem je zde háček Vy a vám uklidnit 46 00:02:15,059 --> 00:02:17,100 že pokud se podíváte na vlevo a vpravo, 47 00:02:17,100 --> 00:02:21,480 budete vidět spolužáky s jak málo nebo tolik zkušeností 48 00:02:21,480 --> 00:02:22,890 To jsi ty sám může mít. 49 00:02:22,890 --> 00:02:25,280 A skutečně, budeme sdílet Některé statistiky ještě dnes 50 00:02:25,280 --> 00:02:28,120 o tom, co demografie třída typicky vypadat. 51 00:02:28,120 --> 00:02:31,440 >> A jak přidán reassurance-- a toho jsme to znamená, protože jsem si vzal v průběhu 52 00:02:31,440 --> 00:02:33,252 O několik let ago-- v Kurz je osnova 53 00:02:33,252 --> 00:02:35,460 Je tohle-- že to, co v konečném důsledku záležitosti v tomto kurzu 54 00:02:35,460 --> 00:02:38,040 není tolik, kde jste skončili up ve vztahu ke svým spolužákům, 55 00:02:38,040 --> 00:02:43,110 ale kde se v týdnu 11, konec toho semestr, skončit ve vztahu k sobě 56 00:02:43,110 --> 00:02:46,280 V týdnu 0, což je tam, kde jsme dnes. 57 00:02:46,280 --> 00:02:48,704 A to je to, co jsem si uvědomil, všechny ty roky. 58 00:02:48,704 --> 00:02:50,620 A vím, že hodně třídy říkám, ale je to 59 00:02:50,620 --> 00:02:52,450 obzvláště pravdivé v informatice. 60 00:02:52,450 --> 00:02:55,320 Na konci dne, toto pole je neznámá, jak to bylo pro mě 61 00:02:55,320 --> 00:02:58,590 a může být pro vás, je opravdu jen o řešení problémů. 62 00:02:58,590 --> 00:03:01,324 A jako takový, to přece má toto použitelnost získat dalších oborech. 63 00:03:01,324 --> 00:03:03,490 A ve skutečnosti, když jsme se snažili destilovat, co to znamená, 64 00:03:03,490 --> 00:03:06,897 To je řešení problémů ve své podstatě, troufám si tvrdit. 65 00:03:06,897 --> 00:03:09,480 Je tu input-- Takže bez ohledu na to je to, že se snažíte vyřešit. 66 00:03:09,480 --> 00:03:12,264 K dispozici je výstup, který je snad řešením tohoto problému. 67 00:03:12,264 --> 00:03:14,180 A pak, když bychom říká v informatice, 68 00:03:14,180 --> 00:03:17,310 tam je to černá skříňka v prostřední, které nemusí nutně 69 00:03:17,310 --> 00:03:19,450 muset starat o tom, jak to funguje. 70 00:03:19,450 --> 00:03:22,230 Vy sám nakonec mohlo realizovat to, co je uvnitř té krabici. 71 00:03:22,230 --> 00:03:25,194 Ale pro dnešní účely a více obecně v životě, vše vám záleží 72 00:03:25,194 --> 00:03:26,610 je to, že tyto problémy si vyřešit. 73 00:03:26,610 --> 00:03:29,340 >> A co tento kurz nakonec asi zkoumá 74 00:03:29,340 --> 00:03:31,700 křižovatka Tyto vstupy a výstupy, 75 00:03:31,700 --> 00:03:34,410 a tyto tak zvané algoritmy, jak budeme brzy vidět, 76 00:03:34,410 --> 00:03:37,450 že realizovat to, co je Pod tam, digestoř. 77 00:03:37,450 --> 00:03:40,487 Ale tyto vstupy a tyto outputs-- Co to vlastně znamená? 78 00:03:40,487 --> 00:03:43,570 No, na konci dne, potřebujeme nějaký způsob, jak reprezentovat informace. 79 00:03:43,570 --> 00:03:46,660 To platí zejména v počítači, který jako fantazie a komplexní otázkou, neboť 80 00:03:46,660 --> 00:03:48,160 Mohlo by se zdát, je docela hloupý zařízení. 81 00:03:48,160 --> 00:03:52,240 Trvá electricity-- ať už z kabel nebo baterie jako input-- 82 00:03:52,240 --> 00:03:55,820 a pak se produkuje preprogramed odpovědi na obrazovce. 83 00:03:55,820 --> 00:03:57,970 >> Ale jak se dostaneme z začínají tam skončit? 84 00:03:57,970 --> 00:03:59,470 No, co se problém je třeba řešit? 85 00:03:59,470 --> 00:04:01,050 No, možná bychom mohli, při Na začátku každého semestru, 86 00:04:01,050 --> 00:04:02,841 pokusit se docházku v místnosti jako je tato. 87 00:04:02,841 --> 00:04:04,750 Takže jsem mohl udělat jako jeden, dva, tři. 88 00:04:04,750 --> 00:04:07,060 Anebo, jestli jsem to udělal aby nějak sledovat 89 00:04:07,060 --> 00:04:10,560 z myself-- sledovat things-- Mohl bych rychle dojdou prsty. 90 00:04:10,560 --> 00:04:14,650 Tak jsem mohl jen vytvořit hash marks-- jeden osoba, dva, tři, čtyři, pět, šest, 91 00:04:14,650 --> 00:04:15,431 sedm, osm. 92 00:04:15,431 --> 00:04:17,930 A každý z nás má pravděpodobně udělal to, zda se na ruce 93 00:04:17,930 --> 00:04:19,680 nebo na kus papíru. 94 00:04:19,680 --> 00:04:22,140 A to je vlastně jen něco, co nazývá unární notation-- 95 00:04:22,140 --> 00:04:26,130 kde pokud máte jen jedno písmeno v abeceda, jedním nebo hash 96 00:04:26,130 --> 00:04:29,440 známka v tomto případě pro každou vstup Chcete-li počítat, 97 00:04:29,440 --> 00:04:32,330 musíte dát dolů jeden z nich letters-- jeden z těchto značek. 98 00:04:32,330 --> 00:04:32,510 >> Dobře. 99 00:04:32,510 --> 00:04:34,790 To je vše v pořádku a dobré a není všechno tak složité. 100 00:04:34,790 --> 00:04:37,800 Ale počítače nejsou všechny že mnohem složitější. 101 00:04:37,800 --> 00:04:40,770 Ve skutečnosti většina z vás asi vědět, i když jste ve skutečnosti 102 00:04:40,770 --> 00:04:44,080 uvažoval, co to znamená, že počítače rozumět jen nuly 103 00:04:44,080 --> 00:04:45,870 a ones-- takzvaného binárního systému. 104 00:04:45,870 --> 00:04:49,390 My lidé, naopak, jsou natolik mnohem sofistikovanější, pokud 105 00:04:49,390 --> 00:04:51,770 jak je chápeme nuly přes devítky. 106 00:04:51,770 --> 00:04:55,740 >> Ale i když je binární, zprvu pohled, ne vše, co znají, 107 00:04:55,740 --> 00:05:00,330 ukázalo se, že je to stejně jako systémy a myšlenky, které už známe. 108 00:05:00,330 --> 00:05:02,420 Tak například, to považují. 109 00:05:02,420 --> 00:05:03,896 To je jen posloupnost symbolů. 110 00:05:03,896 --> 00:05:05,770 A všechny z vás, když podíval se na něj, pravděpodobně 111 00:05:05,770 --> 00:05:09,380 myslím 123-- nic tam opravdu zajímavé. 112 00:05:09,380 --> 00:05:11,940 Ale proč je toto číslo, 123? 113 00:05:11,940 --> 00:05:14,440 To jsou jen piktogramy na screen-- jen vzory 114 00:05:14,440 --> 00:05:16,387 že někdo mohl tažené nebo zadali. 115 00:05:16,387 --> 00:05:18,970 Ale pokud jste jako já, budete Pravděpodobně pamatovat ze základní školy 116 00:05:18,970 --> 00:05:21,610 že existuje jakási sloupců nebo místa zde. 117 00:05:21,610 --> 00:05:25,340 Tam je ten jeho místo a deseti na své místo a po stovkách jeho místo. 118 00:05:25,340 --> 00:05:29,820 A z důvodu, že je to 123 a ne jen vzorek tří symbolů 119 00:05:29,820 --> 00:05:33,090 Je tomu tak proto, samozřejmě, pokud my mají jeden ve stovkách místě, 120 00:05:33,090 --> 00:05:36,610 jste si to spočítejte 100 krát jeden, a pak dva do sítě TEN v místě. 121 00:05:36,610 --> 00:05:41,390 Tak to je 10 krát 2 a potom tři v něčí místo a to je 1 krát 3. 122 00:05:41,390 --> 00:05:45,670 A když přidáte všechny ty, up, o Samozřejmě, dostanete 100 plus 20 plus 3. 123 00:05:45,670 --> 00:05:48,220 >> Tak jsme začali jen s vzorkem z symbols-- k alphabet-- 124 00:05:48,220 --> 00:05:51,670 ale pak jsme zmapovali význam na že prostřednictvím těchto sloupců. 125 00:05:51,670 --> 00:05:54,450 No, to ukáže, že Počítače jsou opravdu není 126 00:05:54,450 --> 00:05:56,300 všechno, co se liší od tebe a pro mě. 127 00:05:56,300 --> 00:06:01,840 Ale namísto použití síly 10, tak speak-- 1, 10, 100, 1000, 128 00:06:01,840 --> 00:06:04,330 10000 místo a tak forth-- Jsou to vlastně 129 00:06:04,330 --> 00:06:08,930 stačí použít síly 2-- tak jeden, 2, 4, a poté 130 00:06:08,930 --> 00:06:12,810 Dáme-li více číslic, 8, 16, 32, 64, 128 a tak dále. 131 00:06:12,810 --> 00:06:16,050 A tak to je, jak počítač bude představovat číslo 0, 132 00:06:16,050 --> 00:06:17,300 Stejně jako my lidé. 133 00:06:17,300 --> 00:06:21,660 >> 0, 0, 0-- a asi tušíte co vzor nul a jedniček, 134 00:06:21,660 --> 00:06:24,610 Pokud počítač může pouze Hovoříme 0 nebo 1-- co 135 00:06:24,610 --> 00:06:29,110 vzor bude reprezentovat numerická my lidé znají jako 1? 136 00:06:29,110 --> 00:06:30,590 Yeah-- 0, 0, 1. 137 00:06:30,590 --> 00:06:31,090 Dobře. 138 00:06:31,090 --> 00:06:35,900 Takže 0, 0, 1, jak my reprezentujeme 1, takže je možné mít tendenci poté 139 00:06:35,900 --> 00:06:39,510 reprezentovat číslo 2, pokud máte Všichni čtyři se místo a místo těchto dvou je 140 00:06:39,510 --> 00:06:48,290 jako jediném místě, dalo by se říct, dobře, kdybychom měli 1. místo v něčí místě, 141 00:06:48,290 --> 00:06:50,430 a nyní chceme počítat až 2, můžete 142 00:06:50,430 --> 00:06:53,310 to a nechat to být nula. 143 00:06:53,310 --> 00:06:56,397 Ale samozřejmě to není, jak desítková systém funguje jeden. 144 00:06:56,397 --> 00:06:58,230 Pokud dáte číslici oba tyto sloupce, 145 00:06:58,230 --> 00:06:59,563 musíš dělat aritmetiku. 146 00:06:59,563 --> 00:07:01,930 Takže to, co udělal číslo I náhodně jen představuje? 147 00:07:01,930 --> 00:07:06,710 >> Takže je to tři, protože 2krát 1 plus 1 Časy 1, samozřejmě, nám dává tři. 148 00:07:06,710 --> 00:07:08,340 Takže by to bylo dva. 149 00:07:08,340 --> 00:07:12,730 Bitová druh vyletí, tak říkajíc, as 0 se stává jedním, podobně jako 9 rolí více než 150 00:07:12,730 --> 00:07:14,840 a stává 0 Při přenášení 1. 151 00:07:14,840 --> 00:07:16,510 To by pak byla tři samozřejmě. 152 00:07:16,510 --> 00:07:20,170 Four-- Další zajímavostí se stane, pokud ti převrátit 153 00:07:20,170 --> 00:07:21,750 a přenášení 1, tak říkajíc. 154 00:07:21,750 --> 00:07:23,320 Takže to, samozřejmě, je 4. 155 00:07:23,320 --> 00:07:25,160 >> Ale pokud se rychle vpřed nyní, Co je největší počet děje 156 00:07:25,160 --> 00:07:26,660 se, že počítač může představovat? 157 00:07:26,660 --> 00:07:30,420 158 00:07:30,420 --> 00:07:32,380 Takže je to jen sedm v tomto případě, že jo? 159 00:07:32,380 --> 00:07:35,570 Vzhledem k tomu, že máte jeden ve čtyřech, jedna ku dvěma, jedna ku jedné. 160 00:07:35,570 --> 00:07:36,900 Tak to je 4 a 2 plus 1. 161 00:07:36,900 --> 00:07:37,972 Tak, že vám dává sedm. 162 00:07:37,972 --> 00:07:39,680 A opravdu, bylo by to na první pohled zdát 163 00:07:39,680 --> 00:07:43,750 že počítače mohou počítat není vyšší než toto. 164 00:07:43,750 --> 00:07:45,210 >> Ale to samozřejmě není pravda. 165 00:07:45,210 --> 00:07:48,243 Co my lidé dělat, když chceme spočítat vyšší než 999 podobně? 166 00:07:48,243 --> 00:07:51,000 167 00:07:51,000 --> 00:07:53,900 Jen nést jeden a jen Přidání čtvrté místo vlevo. 168 00:07:53,900 --> 00:07:55,070 A tak vskutku jsme mohli. 169 00:07:55,070 --> 00:07:57,900 Mohli bychom mít k dispozici osm'S Místo a 16. v místě, 170 00:07:57,900 --> 00:08:02,000 a 32 je místo, 64, 128-- a vy stačí držet děje až do nekonečna. 171 00:08:02,000 --> 00:08:04,640 Takže tyto nuly a ones-- takzvaný binární system-- 172 00:08:04,640 --> 00:08:10,290 jsou to, co počítačový vědec by obecně požadují trochu, nebo binární číslici. 173 00:08:10,290 --> 00:08:13,590 >> Ale teď, jak se dostaneme z Koncept nebo grafika s těmito věcmi 174 00:08:13,590 --> 00:08:14,620 ke skutečnému počítači? 175 00:08:14,620 --> 00:08:17,170 Zdá se, že bude přeskakovat krok zde. 176 00:08:17,170 --> 00:08:20,210 No, jediný vstup na konci dne, na mém notebooku tady 177 00:08:20,210 --> 00:08:22,060 je tento tok elektrické energie. 178 00:08:22,060 --> 00:08:24,560 Dokonce i když je to už dlouho Doba protože si myslel o 179 00:08:24,560 --> 00:08:26,580 nebo nikdy nepřemýšlela jak elektřina funguje, 180 00:08:26,580 --> 00:08:30,909 je tu elektrony tekoucí nebo out, a to je můj typ vstupu. 181 00:08:30,909 --> 00:08:34,659 >> Takže jestli je to všechno, že jsme dostat jako vstup tady, 182 00:08:34,659 --> 00:08:36,830 co můžeme dělat s těmito informacemi? 183 00:08:36,830 --> 00:08:40,040 No, můžeme myslet na nule jen absence elektřiny. 184 00:08:40,040 --> 00:08:42,540 Nic není flowinw, nic není pohybu, nic se neděje. 185 00:08:42,540 --> 00:08:44,690 To je jen výchozí state-- nule. 186 00:08:44,690 --> 00:08:48,200 Ale pokud je elektřina proudí, proč ne my jen libovolně, ale na celém světě 187 00:08:48,200 --> 00:08:50,250 důsledně, říkáme one. 188 00:08:50,250 --> 00:08:54,760 >> Tak jednoduše tím, že nemají žádnou moc, máme nulovou ano moc, 189 00:08:54,760 --> 00:08:57,520 máme one-- bez napájení ano sílu. 190 00:08:57,520 --> 00:09:01,520 A tímto způsobem, pomocí něco více fyzický nebo elektronický 191 00:09:01,520 --> 00:09:05,340 začneme realizovat tuto myšlenku něco buď jako jeden nebo nulu. 192 00:09:05,340 --> 00:09:07,230 Ve skutečnosti, můžeme jen to tady. 193 00:09:07,230 --> 00:09:10,590 Tak tady, nemám tři, ale Osm žárovky, z nichž každá 194 00:09:10,590 --> 00:09:11,810 má svůj vlastní vypínač. 195 00:09:11,810 --> 00:09:15,760 >> A tak když jsem chtěl reprezentovat číslo sedm tady, 196 00:09:15,760 --> 00:09:18,510 I se může ukázat na těchto třech žárovek. 197 00:09:18,510 --> 00:09:21,470 A skutečně, vnitřek můj počítač je v milionech, 198 00:09:21,470 --> 00:09:25,650 Miliardy věcí, které jsou stejně menší než to, nazývané tranzistory, 199 00:09:25,650 --> 00:09:27,330 přepínače, které jste právě zapínat a vypínat. 200 00:09:27,330 --> 00:09:30,420 Takže tito jsou relativně big-- big-- přepínače uvnitř mého laptop-- 201 00:09:30,420 --> 00:09:32,150 je mnoho, mnoho, mnoho, mnohem více přepínačů. 202 00:09:32,150 --> 00:09:35,160 Ale všechno, co dělají, je přesně to, to-- otočit něco, otočit něco off. 203 00:09:35,160 --> 00:09:38,076 A jako takový, počítač může představovat, s těmito milionů či miliard 204 00:09:38,076 --> 00:09:40,480 tranzistorů, partií a spousta nul a jedniček. 205 00:09:40,480 --> 00:09:43,160 A je tu další hardware stále, že umožňuje ukládat informace o dlouhodobě, 206 00:09:43,160 --> 00:09:45,243 takže když budete tahat zástrčky, nechcete ztratit. 207 00:09:45,243 --> 00:09:46,900 Ale to je příběh pro jiný den. 208 00:09:46,900 --> 00:09:51,170 >> Tak co s tím můžeme dělat s těmito kousky? 209 00:09:51,170 --> 00:09:54,309 Možná jsme prostě vzít Tlak pryč me-- 210 00:09:54,309 --> 00:09:56,600 Možná někdo bude chtít přijít tady a nabídnout až demo? 211 00:09:56,600 --> 00:09:57,516 Viděl jsem tuto hru jako první. 212 00:09:57,516 --> 00:09:58,709 Jak se jmenuješ? 213 00:09:58,709 --> 00:09:59,250 Maday: Maday. 214 00:09:59,250 --> 00:10:00,542 DAVID Malan: Maday, pojď nahoru. 215 00:10:00,542 --> 00:10:01,250 Rád vás poznávám. 216 00:10:01,250 --> 00:10:02,390 Maday: Těší mě. 217 00:10:02,390 --> 00:10:02,930 >> DAVID Malan: Pojďte tudy. 218 00:10:02,930 --> 00:10:04,182 Nebudu muset ret nahoru. 219 00:10:04,182 --> 00:10:04,682 Dobře. 220 00:10:04,682 --> 00:10:11,090 Takže tady máme, notice-- jeden, two-- budeme upravovat, že out-- jeden, dva, čtyři, 221 00:10:11,090 --> 00:10:13,350 osm, 16, 32, 64, 128. 222 00:10:13,350 --> 00:10:14,220 To je záměrné. 223 00:10:14,220 --> 00:10:17,370 K dispozici je osm bitů here-- binární digits-- nuly a jedničky. 224 00:10:17,370 --> 00:10:21,460 A trochu je užitečná jednotka measure-- ne jako užitečné měrnou jednotkou 225 00:10:21,460 --> 00:10:21,999 na sebe. 226 00:10:21,999 --> 00:10:24,290 Obvykle budete chtít alespoň osm z těchto věcí, alias 227 00:10:24,290 --> 00:10:24,790 byte. 228 00:10:24,790 --> 00:10:26,230 Takže máme byte bitů zde. 229 00:10:26,230 --> 00:10:31,130 >> Takže pokud bychom chtěli vyzvat vás s, Například, v níž budou uvedeny v binární, 230 00:10:31,130 --> 00:10:33,230 Tato hodnota here-- 42. 231 00:10:33,230 --> 00:10:35,140 Chcete, aby se bodnout se na to? 232 00:10:35,140 --> 00:10:36,034 >> Maday: [neslyšitelné]. 233 00:10:36,034 --> 00:10:38,700 DAVID Malan: Jo, jen tlačit malé bílé spínače vpředu. 234 00:10:38,700 --> 00:10:41,290 A chcete, aby bylo patrné out 42 a je k mání 235 00:10:41,290 --> 00:10:44,061 Je to CS50 stres Míč pokud jste si to. 236 00:10:44,061 --> 00:10:44,560 Dobře. 237 00:10:44,560 --> 00:10:46,420 Takže máte 32. 238 00:10:46,420 --> 00:10:48,430 Budeme potřebovat 42. 239 00:10:48,430 --> 00:10:51,410 Tak to je osmičku, tak to je 40. 240 00:10:51,410 --> 00:10:54,160 A excellent-- velmi pěkně provedeno. 241 00:10:54,160 --> 00:10:55,186 Děkuji. 242 00:10:55,186 --> 00:10:58,790 >> [POTLESK] 243 00:10:58,790 --> 00:10:59,290 Dobře. 244 00:10:59,290 --> 00:11:00,623 Takže máme ještě jednu stres míček. 245 00:11:00,623 --> 00:11:03,595 Pojďme to udělat ještě jednou, jestli můžeme. 246 00:11:03,595 --> 00:11:05,368 Jedním z dalších dobrovolníků? 247 00:11:05,368 --> 00:11:07,970 Bez stresu koule, bez stresu míč. 248 00:11:07,970 --> 00:11:08,470 OK. 249 00:11:08,470 --> 00:11:11,640 Tady ve středu, chceš přijít dolů? 250 00:11:11,640 --> 00:11:14,100 Dobře. 251 00:11:14,100 --> 00:11:15,552 Vím. 252 00:11:15,552 --> 00:11:16,360 Tam jedeme. 253 00:11:16,360 --> 00:11:20,818 >> Takže čísla here-- pojď dolů. 254 00:11:20,818 --> 00:11:21,567 Jak se jmenuješ? 255 00:11:21,567 --> 00:11:21,984 >> DAVEY: Davey. 256 00:11:21,984 --> 00:11:22,820 >> DAVID Malan: Davey. 257 00:11:22,820 --> 00:11:23,320 OK. 258 00:11:23,320 --> 00:11:24,810 Pojď nahoru, Davey. 259 00:11:24,810 --> 00:11:25,890 Rád vás poznávám. 260 00:11:25,890 --> 00:11:28,639 A co budeme mít vás spell-- pokud se tam mohl prodlévat 261 00:11:28,639 --> 00:11:32,810 jen na jednu moment-- je číslo 50. 262 00:11:32,810 --> 00:11:36,293 Ale, ale, ale, ale, ale, to jsou třída školní magnety z nějakého důvodu. 263 00:11:36,293 --> 00:11:39,370 264 00:11:39,370 --> 00:11:43,327 Jen mám trochu těžší, v pořádku? 265 00:11:43,327 --> 00:11:44,160 Je tu ještě osm. 266 00:11:44,160 --> 00:11:46,820 267 00:11:46,820 --> 00:11:47,320 Dobře. 268 00:11:47,320 --> 00:11:48,486 Tak co máme tam? 269 00:11:48,486 --> 00:11:51,356 Máme 32. 270 00:11:51,356 --> 00:11:54,344 Pěkný. 271 00:11:54,344 --> 00:11:58,610 32 a 16 nám dává 48-- tak blízko. 272 00:11:58,610 --> 00:12:00,390 A úžasné. 273 00:12:00,390 --> 00:12:02,831 Gratulujeme Davey stejně. 274 00:12:02,831 --> 00:12:05,720 >> [POTLESK] 275 00:12:05,720 --> 00:12:06,516 >> Dobře. 276 00:12:06,516 --> 00:12:09,390 Takže můžeme to udělat po celý den, a to nedostane všechno mnohem 277 00:12:09,390 --> 00:12:10,800 zajímavé a náročnější. 278 00:12:10,800 --> 00:12:13,250 Ale to je opravdu point-- je, jak relativně jednoduché 279 00:12:13,250 --> 00:12:16,930 to znamená, že na konci dne, co je Počítač nemá k ukládání informací, 280 00:12:16,930 --> 00:12:21,740 pro ukládání vstupů a nakonec ukládat nebo reprezentují tyto výstupy. 281 00:12:21,740 --> 00:12:23,750 Ale samotné čísla nejsou všechno zajímavé. 282 00:12:23,750 --> 00:12:26,069 >> Takže lidé, před několika lety, rozhodl, víš co? 283 00:12:26,069 --> 00:12:27,860 Bylo by hezké, kdyby počítače nebyly jen 284 00:12:27,860 --> 00:12:31,030 kalkulačky pro aritmetiky Operace, ale ve skutečnosti mohl 285 00:12:31,030 --> 00:12:35,209 dělat věci, jako je zpracování textu, nebo e-mail nebo více moderní inkarnace 286 00:12:35,209 --> 00:12:36,500 těchto druhů technologií. 287 00:12:36,500 --> 00:12:40,680 A tak se svět rozhodl, libovolně, ale všeobecně, 288 00:12:40,680 --> 00:12:44,380 že pokud chcete uložit kapitál písmeno A v počítači, víte co? 289 00:12:44,380 --> 00:12:47,730 Řekněme, všichni se shodují uložit některé vzor nul a ones-- 290 00:12:47,730 --> 00:12:52,422 bits-- které v konečném důsledku představuje desítkové číslo 65. 291 00:12:52,422 --> 00:12:53,630 Prostě se všichni shodneme na tom. 292 00:12:53,630 --> 00:12:56,620 >> 66 by představovalo B, 67 bude představovat C, 293 00:12:56,620 --> 00:13:00,210 a tam je kytice z jiných vzorů nuly a jedničky, nebo podkladové čísla, 294 00:13:00,210 --> 00:13:02,224 že by představovalo další písmena v klidu. 295 00:13:02,224 --> 00:13:04,390 Takže pokud máte trochu mentálně absorbovat tuto chvíli, 296 00:13:04,390 --> 00:13:10,900 Záměrně jsem dát do skrze I tam, kde H a 72 a I je 73. 297 00:13:10,900 --> 00:13:15,830 V případě, že počítač pak, v rámci textového procesoru nebo e-mail, 298 00:13:15,830 --> 00:13:19,620 odhalilo pod kapotou mít Tyto vzory bits-- vzoru 299 00:13:19,620 --> 00:13:22,500 bitů reprezentujících 72, pak 73, pak 33-- 300 00:13:22,500 --> 00:13:26,640 co by se mohlo toto kouzlo v tomto programu? 301 00:13:26,640 --> 00:13:28,150 >> Tak ahoj, a pak se něco. 302 00:13:28,150 --> 00:13:31,460 My nemusí vědět, ale ve skutečnosti 33-- není na grafu earlier-- 303 00:13:31,460 --> 00:13:33,170 Byl prostě vykřičník. 304 00:13:33,170 --> 00:13:38,870 Takže 72 bylo H, 73 je I, 33 se stane být vykřičník v klidu. 305 00:13:38,870 --> 00:13:41,719 Ale to je všechno v pořádku a dobré, a ve skutečnosti v současné době, a nikoli 306 00:13:41,719 --> 00:13:43,760 stačí použít sedm nebo osm bity, díky něčemu 307 00:13:43,760 --> 00:13:46,530 volal Unicode jako protiklad ASCII zpět v den, 308 00:13:46,530 --> 00:13:50,010 jsme vlastně může představovat ještě víc zajímavé postavy než jen 309 00:13:50,010 --> 00:13:52,980 Tyto originální anglické zaujatý dopisy. 310 00:13:52,980 --> 00:13:56,030 Ale můžeme také reprezentovat i krásnější věci, jako je barvách. 311 00:13:56,030 --> 00:13:59,750 >> Pokud jste někdy slyšeli zkratku RGB, červená, zelená, modrá, které 312 00:13:59,750 --> 00:14:03,510 prostě znamená, že počítače obvykle používá tři sady bits-- 313 00:14:03,510 --> 00:14:06,760 někteří počet bitů, které reprezentují číslo za kolik červené chcete, 314 00:14:06,760 --> 00:14:08,940 další sada bitů pro Jak moc zelený chcete, 315 00:14:08,940 --> 00:14:11,430 a další sada číslo kolik modré chcete. 316 00:14:11,430 --> 00:14:14,457 Tak velké číslo znamená spoustu červenými, malých číslo znamená žádné červené. 317 00:14:14,457 --> 00:14:16,290 A tak se jedná o druh ze střední hodnoty zde. 318 00:14:16,290 --> 00:14:20,180 >> Takže mi dát nějaké červené, dej mi některé zelená, a dej mi trochu modré. 319 00:14:20,180 --> 00:14:24,260 A když smícháte ty tři odstíny barvy dohromady, v tomto případě, 320 00:14:24,260 --> 00:14:26,850 dostanete tuto temnou odstín žluté nebo hnědé. 321 00:14:26,850 --> 00:14:32,330 Ale to vzor osm navíc osm a eight-- tak 24. bits-- 322 00:14:32,330 --> 00:14:36,550 zleva doprava, je to, jak počítač by znamenalo, že konkrétní barvu. 323 00:14:36,550 --> 00:14:38,090 Teď je to jen tečka na obrazovce. 324 00:14:38,090 --> 00:14:42,230 Podíváte-li se opravdu blízko u televizoru vašich počítač, uvidíte tečky nebo pixelů. 325 00:14:42,230 --> 00:14:45,420 A pokud budete mít celou mřížku pixelů, horizontálně i vertikálně, 326 00:14:45,420 --> 00:14:46,630 Máte snímků. 327 00:14:46,630 --> 00:14:49,029 A pak, když jdete obraz a pak mytí 328 00:14:49,029 --> 00:14:52,070 ukázat sami jiný obrázek, další obraz, jiný obraz, jiný obraz, 329 00:14:52,070 --> 00:14:54,760 opravdu rychle, budete mít samozřejmě filmy. 330 00:14:54,760 --> 00:14:56,109 >> A tak si všimnout, kde jsme začali. 331 00:14:56,109 --> 00:14:57,650 Začali jsme s těmito nul a jedniček. 332 00:14:57,650 --> 00:15:00,570 Pracovali jsme odtamtud do desítkové Čísla, jak je zastupovat. 333 00:15:00,570 --> 00:15:02,070 Nyní máme písmena abecedy. 334 00:15:02,070 --> 00:15:05,664 Ale v jiných souvislostech čekat, můžeme použít málo více bitů a představují barvy. 335 00:15:05,664 --> 00:15:07,830 Jakmile budete mít schopnost reprezentovat barvy, 336 00:15:07,830 --> 00:15:11,200 máte možnost reprezentovat fotografie a oživené gifs 337 00:15:11,200 --> 00:15:13,780 a další podobné znaky na obrazovce. 338 00:15:13,780 --> 00:15:17,160 A když máte spoustu obrazy létání člověkem najednou, 339 00:15:17,160 --> 00:15:21,480 vypadá to, že filmy, a tak dostanete videa stejně. 340 00:15:21,480 --> 00:15:23,460 >> Takže pomocí těchto velmi jednoduchá primitiva my 341 00:15:23,460 --> 00:15:28,070 mají způsob reprezentace v konečném důsledku všech těchto typů médií. 342 00:15:28,070 --> 00:15:30,450 A my jsme zase abstrahovat a znovu a znovu, dokud jsme 343 00:15:30,450 --> 00:15:33,467 se od nejnižší úrovně k této nejvyšší úrovni. 344 00:15:33,467 --> 00:15:35,550 Takže nám dává toto obecná představa abstrakce. 345 00:15:35,550 --> 00:15:36,990 Ale začali jsme tady. 346 00:15:36,990 --> 00:15:38,790 >> Tady, mohli bychom představují v počítači 347 00:15:38,790 --> 00:15:41,920 naše vstupy s nul a jedniček, Naše výstupy nul a jedniček, 348 00:15:41,920 --> 00:15:43,640 ale co se děje uvnitř krabice? 349 00:15:43,640 --> 00:15:46,080 To je, kde počítač věda začíná být zajímavé. 350 00:15:46,080 --> 00:15:49,770 To je to, kde jste skutečně přinést svůj vlastní mysli nést řešit problémy. 351 00:15:49,770 --> 00:15:52,590 Nyní můžeme stanovit, neboť Zbytek semestru, ano. 352 00:15:52,590 --> 00:15:53,870 Vím, jak binární funguje. 353 00:15:53,870 --> 00:15:57,942 Vzpomínám si, jak ASCII nebo Unicode-- mapování na letters-- děl. 354 00:15:57,942 --> 00:15:59,650 A rozhodně stojí logické, že jsme 355 00:15:59,650 --> 00:16:03,470 může představovat červené a zelené a modrý, a představují multimediální zařízení, jakož. 356 00:16:03,470 --> 00:16:05,390 Ale to je zajímavé věci. 357 00:16:05,390 --> 00:16:09,790 To je to, co dělá někoho schopné řešit problémy. 358 00:16:09,790 --> 00:16:11,980 >> A jeden takový problém jsme chtěli dělat, opravdu, 359 00:16:11,980 --> 00:16:15,345 bere účast, nebo Přitom algoritmicky. 360 00:16:15,345 --> 00:16:16,470 A opět, mohl bych to udělat. 361 00:16:16,470 --> 00:16:19,580 Mohl bych udělat jeden, dva, tři, čtyři pět, šest, sedm, osm devět. 362 00:16:19,580 --> 00:16:21,520 A já to mohl napsat dolů sledovat to. 363 00:16:21,520 --> 00:16:23,769 Ale to je jen, jak bych reprezentovat informace. 364 00:16:23,769 --> 00:16:27,550 Nebo bych mohl dělat to faster-- dvě, čtyři, šest, osm, deset, 12, 14, 16, 18, 20, 365 00:16:27,550 --> 00:16:30,380 22-- to vypadá dvakrát tak rychle, ale je to stále 366 00:16:30,380 --> 00:16:32,050 zabere spoustu času. 367 00:16:32,050 --> 00:16:35,990 >> Ale ukazuje se, kdybychom ještě využít Dalších resource-- a opravdu počítače 368 00:16:35,990 --> 00:16:38,940 v těchto dnech mají více procesorů nebo mozek. 369 00:16:38,940 --> 00:16:41,970 Ukazuje se, že počítače mohou dělat spoustu věcí najednou, 370 00:16:41,970 --> 00:16:44,460 a opravdu jsme, v této místnosti, může představovat právě toto. 371 00:16:44,460 --> 00:16:47,130 >> Takže je to trochu společensky trapné, ale pokud byste mi humor 372 00:16:47,130 --> 00:16:51,550 jen na tři-proces kroku, ať zeptám každého na svém místě tam jen 373 00:16:51,550 --> 00:16:54,640 postavit se na chvíli. 374 00:16:54,640 --> 00:16:57,380 Postav se. 375 00:16:57,380 --> 00:17:01,580 Takže myslíte, že na sebe, číslo one-- takže každý v této místnosti, 376 00:17:01,580 --> 00:17:05,010 s výjimkou lidí, kteří neměli zavázat, uvažujete číslo jedna. 377 00:17:05,010 --> 00:17:06,510 Takže to je vaše číslo právě teď. 378 00:17:06,510 --> 00:17:09,399 To je první krok, nebo jako počítačový vědec nebo programátor 379 00:17:09,399 --> 00:17:11,827 by obvykle dělat, jdeme začít počítat od nuly. 380 00:17:11,827 --> 00:17:14,410 Pokud je nejmenší číslo můžeme představují s těmito žárovkami 381 00:17:14,410 --> 00:17:17,410 je nula, pouze jejich odchodu all off, mohl bych stejně dobře 382 00:17:17,410 --> 00:17:19,271 začíná počítat od nula je místo jednoho. 383 00:17:19,271 --> 00:17:21,020 A tak to, co počítačoví odborníci dělat. 384 00:17:21,020 --> 00:17:23,750 Takže krok nulu, vstávat a myslet na číslo jedna. 385 00:17:23,750 --> 00:17:26,339 Dalším krokem je tohle-- pár off se někdo stojí 386 00:17:26,339 --> 00:17:27,660 a přidat čísla dohromady. 387 00:17:27,660 --> 00:17:30,660 388 00:17:30,660 --> 00:17:32,850 Úžasné. 389 00:17:32,850 --> 00:17:37,640 >> Takže v tuto chvíli, Doslova každý zúčastněný 390 00:17:37,640 --> 00:17:41,930 myslí na číslo 2, s výjimkou pro jednu osobu liché, pokud máme 391 00:17:41,930 --> 00:17:43,450 lichý počet lidí v místnosti. 392 00:17:43,450 --> 00:17:50,640 A teď třetí krok zde se chystá tohle-- být jeden z vás by měl sednout. 393 00:17:50,640 --> 00:17:54,490 Jeden z byste měli sednout, a pokud jste ještě stojí, 394 00:17:54,490 --> 00:17:56,590 přejít zpět ke kroku jedna. 395 00:17:56,590 --> 00:18:44,799 396 00:18:44,799 --> 00:18:45,790 Dobře. 397 00:18:45,790 --> 00:19:00,760 398 00:19:00,760 --> 00:19:01,650 Dobře. 399 00:19:01,650 --> 00:19:03,880 Tak stále více a více lidí by měla být vsedě. 400 00:19:03,880 --> 00:19:08,280 Všimněte si, že toto indukované loop-- nějaký cyklu. 401 00:19:08,280 --> 00:19:11,983 Někteří z vás by měl být nešikovně přilepená, tam a zpět mezi prvním kroku 402 00:19:11,983 --> 00:19:14,180 a dvě, jedna a dvě, jedna a dvě. 403 00:19:14,180 --> 00:19:21,190 404 00:19:21,190 --> 00:19:21,810 To je v pořádku. 405 00:19:21,810 --> 00:19:22,630 Naše první chyba. 406 00:19:22,630 --> 00:19:24,740 Budeme se s tím vypořádat. 407 00:19:24,740 --> 00:19:25,320 Dobře. 408 00:19:25,320 --> 00:19:27,370 Zkusím dát podnět k věci spolu. 409 00:19:27,370 --> 00:19:31,454 >> V teorii, jen jedna osoba stojí jak všichni pokračuje spárovat. 410 00:19:31,454 --> 00:19:33,870 Ale dovolte mi věci urychlit s lidmi, které ještě stojí. 411 00:19:33,870 --> 00:19:35,480 Jaké číslo jste na mysli? 412 00:19:35,480 --> 00:19:36,070 46. 413 00:19:36,070 --> 00:19:36,570 OK. 414 00:19:36,570 --> 00:19:37,820 Jděte do toho a sednout. 415 00:19:37,820 --> 00:19:39,190 Vy ještě stojí. 416 00:19:39,190 --> 00:19:42,130 Kdo ještě stojí? 417 00:19:42,130 --> 00:19:45,240 Jaké číslo jste na mysli? 418 00:19:45,240 --> 00:19:46,160 OK. 419 00:19:46,160 --> 00:19:47,900 >> Takže se vrátíme k vám. 420 00:19:47,900 --> 00:19:49,630 Vzadu? 421 00:19:49,630 --> 00:19:50,790 Co to je? 422 00:19:50,790 --> 00:19:53,100 22. 423 00:19:53,100 --> 00:19:56,540 OK někdo jiný up top-- jo? 424 00:19:56,540 --> 00:19:57,720 34. 425 00:19:57,720 --> 00:19:58,300 OK. 426 00:19:58,300 --> 00:20:02,780 Tady na mém right-- sem nahoru? 427 00:20:02,780 --> 00:20:06,820 132, velmi pěkné. 428 00:20:06,820 --> 00:20:08,380 22? 429 00:20:08,380 --> 00:20:08,990 >> OK. 430 00:20:08,990 --> 00:20:10,031 A kdo je ještě stojí? 431 00:20:10,031 --> 00:20:11,000 Tady? 432 00:20:11,000 --> 00:20:14,520 46, velmi pěkné. 433 00:20:14,520 --> 00:20:16,890 72. 434 00:20:16,890 --> 00:20:18,220 Nemohu zastavit mnohem déle. 435 00:20:18,220 --> 00:20:20,520 To jo? 436 00:20:20,520 --> 00:20:22,490 30, pěkný. 437 00:20:22,490 --> 00:20:24,120 Tady? 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 >> A myslím, že to každý kromě vámi, žádný tlak. 441 00:20:30,920 --> 00:20:32,860 OH Počkej. 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 Jen osm. 445 00:20:38,281 --> 00:20:38,780 OK. 446 00:20:38,780 --> 00:20:41,030 Jen osm. 447 00:20:41,030 --> 00:20:42,580 Tady dole? 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 To je nejhorší implementace tohoto algoritmu vůbec. 454 00:20:54,690 --> 00:20:55,190 OK. 455 00:20:55,190 --> 00:20:59,760 Takže někdo jiný? 456 00:20:59,760 --> 00:21:00,421 Někdo jiný? 457 00:21:00,421 --> 00:21:00,920 OK. 458 00:21:00,920 --> 00:21:03,300 Ještě jeden. 459 00:21:03,300 --> 00:21:04,400 16? 460 00:21:04,400 --> 00:21:04,900 OK. 461 00:21:04,900 --> 00:21:05,510 16. 462 00:21:05,510 --> 00:21:06,010 Dobře. 463 00:21:06,010 --> 00:21:09,070 Takže když jsem se vynechal někdo oslnění tady, když jsem stiskněte klávesu Enter, 464 00:21:09,070 --> 00:21:13,091 budeme vidět, algoritmicky se Celkový počet lidí v Sanders. 465 00:21:13,091 --> 00:21:16,340 Vzhledem k tomu, znovu, je to, jako by všichni jak si sedl, prošel čísla off 466 00:21:16,340 --> 00:21:19,215 na někoho jiného, ​​na někoho jiného, na někoho jiného, ​​takže teoreticky, 467 00:21:19,215 --> 00:21:22,304 na konci, jen jedna nepříjemná osoba by měla zůstat stát. 468 00:21:22,304 --> 00:21:22,970 Ale to je v pořádku. 469 00:21:22,970 --> 00:21:24,290 zrychlil jsme věci ručně. 470 00:21:24,290 --> 00:21:27,590 Je obzvláště těžké vidět v tomto konkrétním prostoru. 471 00:21:27,590 --> 00:21:34,200 >> A celkový počet lidí Myslíme si, že zde je 546. 472 00:21:34,200 --> 00:21:37,330 Celkový počet Byl jsem rukou učením kolegy, 473 00:21:37,330 --> 00:21:40,660 kdo to udělal ten starý škola pomalá cesta, bylo 820. 474 00:21:40,660 --> 00:21:43,660 >> [SMAVÝ] 475 00:21:43,660 --> 00:21:47,170 >> [POTLESK] 476 00:21:47,170 --> 00:21:48,670 >> To je v pořádku. 477 00:21:48,670 --> 00:21:50,740 Takže určitě tehdy, jsou tyto chyby. 478 00:21:50,740 --> 00:21:51,460 A to je v pořádku. 479 00:21:51,460 --> 00:21:53,810 A tak si vzpomenu na to poprvé něco 480 00:21:53,810 --> 00:21:55,420 píšete nemusí nutně fungovat. 481 00:21:55,420 --> 00:21:57,620 To se mi stalo i zde. 482 00:21:57,620 --> 00:22:00,844 Ale pojďme teď zvážit, jak bychom mohli -li použít tuto stejnou myšlenku na něco 483 00:22:00,844 --> 00:22:03,760 jste mohli vidět dříve, což Je to stará škola technologie here-- 484 00:22:03,760 --> 00:22:05,130 opravdu velký telefonní seznam. 485 00:22:05,130 --> 00:22:09,380 A předpokládám, že tento telefonního seznamu má 1000 stran a 1000 jmen 486 00:22:09,380 --> 00:22:11,360 a počty abecedně uvnitř ní. 487 00:22:11,360 --> 00:22:14,860 >> No, mohli bychom trochu platí obdobná Myšlenka tohoto velmi fyzický problém, 488 00:22:14,860 --> 00:22:16,270 Jen mě použití. 489 00:22:16,270 --> 00:22:18,810 Jen jsem trochu podváděla využitím vámi všemi 490 00:22:18,810 --> 00:22:23,240 se spoustou a spoustou jiného CPU nebo mozky vykonávající nějaký algoritmus. 491 00:22:23,240 --> 00:22:25,440 Ale pokud je to jen trochu staré já, mohu stále 492 00:22:25,440 --> 00:22:29,630 využít tu samou podstatu myšlenky dělení a dobývání tento problém 493 00:22:29,630 --> 00:22:32,970 znovu a znovu, přičemž polovina z vás, polovina z vás, polovina z vás, polovina z vás, 494 00:22:32,970 --> 00:22:35,830 teoreticky stále vsedě, dokud jsme byli ponecháni, teoreticky, 495 00:22:35,830 --> 00:22:36,990 pouze s jednou osobou. 496 00:22:36,990 --> 00:22:39,810 >> Takže v této staré školy technology-- my ne 497 00:22:39,810 --> 00:22:43,030 Potřebuju to map-- toto old school technologie, 498 00:22:43,030 --> 00:22:47,300 mohli bychom začít hledat někoho Jako Mike Smith, jedna stránka najednou. 499 00:22:47,300 --> 00:22:49,410 A vidím, že ne, Mike tu není. 500 00:22:49,410 --> 00:22:51,110 Jsem stále v sekci A. 501 00:22:51,110 --> 00:22:53,900 Nakonec jsem zjistil, Sám v sekci B. 502 00:22:53,900 --> 00:22:56,910 A to je algorithm-- krok za krokem instrukce. 503 00:22:56,910 --> 00:22:59,890 Začněte na stránce začátku a jedna v době, podívejte se na Mike Smith. 504 00:22:59,890 --> 00:23:03,410 Je to correct-- toto algoritmus nebo přístup? 505 00:23:03,410 --> 00:23:04,550 >> Jo, je to v pořádku. 506 00:23:04,550 --> 00:23:06,840 Pokud Mike je tady, nakonec Budu se k němu dostat. 507 00:23:06,840 --> 00:23:08,139 Ale to není efektivní. 508 00:23:08,139 --> 00:23:09,180 Je to samozřejmě velmi pomalé. 509 00:23:09,180 --> 00:23:11,340 Tak jsem může být využit Stejné twosies přiblížit. 510 00:23:11,340 --> 00:23:15,350 Mohu udělat jakési dva, čtyři, šest, osm, 10, 12. 511 00:23:15,350 --> 00:23:16,330 To je dvakrát tak rychle. 512 00:23:16,330 --> 00:23:18,290 Chystám se dostat k Mike rychleji, když je tam. 513 00:23:18,290 --> 00:23:20,770 Je to správně? 514 00:23:20,770 --> 00:23:22,320 Ano, ale slyšel jsem little-- č. 515 00:23:22,320 --> 00:23:24,200 Teď jsem slyšel, č. 516 00:23:24,200 --> 00:23:24,700 To jo. 517 00:23:24,700 --> 00:23:26,190 Je tu chyba potenciálně. 518 00:23:26,190 --> 00:23:29,374 Možná, že Mike jen náhodou dostane vložený mezi dvě stránky, 519 00:23:29,374 --> 00:23:31,290 protože jsem proletěl tato dvě najednou. 520 00:23:31,290 --> 00:23:33,580 Takže aspoň budeme potřebovat nějaký druh podmíněného oprava. 521 00:23:33,580 --> 00:23:35,330 Musím říct, hej, jestli jsem trefil někoho, jehož 522 00:23:35,330 --> 00:23:39,190 Název začíná T místo s S, Raději zdvojnásobit zpět alespoň jednu stránku. 523 00:23:39,190 --> 00:23:40,767 Takže buggy na první, ale opravitelný. 524 00:23:40,767 --> 00:23:43,850 Ale nikdo z nás budou hledat Mike Smith přes 1000 stránek telefon s 525 00:23:43,850 --> 00:23:45,290 rezervovat jednu stránku najednou. 526 00:23:45,290 --> 00:23:48,486 Co je to normální člověk dělat? 527 00:23:48,486 --> 00:23:50,860 Budeš jít do S letech pokud jste věděl, kde S je. 528 00:23:50,860 --> 00:23:54,230 Ty by mohly jít zhruba do středu nebo mírně vychýlena směrem ke konci. 529 00:23:54,230 --> 00:23:56,850 A já se tady dole a Jsem v sekci M. 530 00:23:56,850 --> 00:23:58,952 Ale co víš o tomto problému teď, 531 00:23:58,952 --> 00:24:02,160 že jsme neměli nutně vědět před se všemi z nás prostě počítat sami 532 00:24:02,160 --> 00:24:03,030 ekvivalentně? 533 00:24:03,030 --> 00:24:06,010 No, Mike je zjevně děje být v této části knihy 534 00:24:06,010 --> 00:24:07,920 jestli je tu vůbec, protože je to třídit. 535 00:24:07,920 --> 00:24:10,160 >> A tak můžete velmi dramatically-- 536 00:24:10,160 --> 00:24:11,250 >> [Lapal po dechu] 537 00:24:11,250 --> 00:24:12,300 >> Vím. 538 00:24:12,300 --> 00:24:16,940 >> [POTLESK] 539 00:24:16,940 --> 00:24:19,450 >> Je to vlastně opravdu jednoduché, pokud vy ho páteř tam. 540 00:24:19,450 --> 00:24:22,070 Ale pak můžete hodit polovina problému pryč. 541 00:24:22,070 --> 00:24:25,950 Teď jsem odešel se stejným problem-- najít Mike Smith v telefonu book-- 542 00:24:25,950 --> 00:24:29,610 ale nyní telefonního seznamu začíná na M a jde do Z, ale je to z poloviny tak velký. 543 00:24:29,610 --> 00:24:30,890 >> Ale to je to, co je impozantní. 544 00:24:30,890 --> 00:24:34,170 Stejně jako v teorii, vy kluci, když všichni se posadil jen polovinu najednou, 545 00:24:34,170 --> 00:24:37,150 Problém se dostal poloviny tak velký, poloviny tak velký, znovu a znovu. 546 00:24:37,150 --> 00:24:40,260 Aby se stal tohoto problému Stejný problém však poloviny tak velký. 547 00:24:40,260 --> 00:24:42,670 Teď je to problém a 250 stránek. 548 00:24:42,670 --> 00:24:45,340 Jakmile jsem si uvědomit, oh, jsem v sekci T náhodnému spuštění. 549 00:24:45,340 --> 00:24:46,590 Jsem zašel příliš daleko. 550 00:24:46,590 --> 00:24:48,500 I může hodit, že polovina telefonního seznamu pryč. 551 00:24:48,500 --> 00:24:50,410 Teď jsem až do Čtvrtina problému. 552 00:24:50,410 --> 00:24:53,910 >> A můžete opakovat, opakovat, opakujte, dokud teoreticky, jsi 553 00:24:53,910 --> 00:24:55,460 zbývá jen jednou stránkou. 554 00:24:55,460 --> 00:24:59,010 A jestli Mike je na této stránce, Nyní mohu tento problém vyřešit. 555 00:24:59,010 --> 00:25:00,810 Ale jak rychle jsem to vyřešit? 556 00:25:00,810 --> 00:25:05,420 V prvním případě, trvalo mi to líbí Možná 1,000 kroky k nalezení Mike Smith. 557 00:25:05,420 --> 00:25:09,260 Mohlo by to vzali me-- Zvedl jsem do telefonního seznamu 558 00:25:09,260 --> 00:25:11,440 a já začal hledat jednu stránku najednou, 559 00:25:11,440 --> 00:25:13,480 a Mike by mohlo být 1.000 stránek později. 560 00:25:13,480 --> 00:25:16,020 >> Druhý přístup možná bere mi 500 kroků, 561 00:25:16,020 --> 00:25:17,960 protože letím přes dva najednou. 562 00:25:17,960 --> 00:25:21,082 A třetí přístup i když, to je obzvláště silná. 563 00:25:21,082 --> 00:25:23,790 Ale uvažujme, co jsme vlastně udělal s tímto třetím přístupem. 564 00:25:23,790 --> 00:25:27,590 Budu mít co budu říkat právě tito Prohlášení tady, jeden po druhém. 565 00:25:27,590 --> 00:25:28,560 Vyzvednout telefonního seznamu. 566 00:25:28,560 --> 00:25:30,130 Otevřít do poloviny telefonního seznamu. 567 00:25:30,130 --> 00:25:31,419 Podívejte se na jména. 568 00:25:31,419 --> 00:25:33,960 A pak se věci trochu intelektuálně zajímavé, 569 00:25:33,960 --> 00:25:35,170 Pokud se stále jednoduché. 570 00:25:35,170 --> 00:25:38,350 Pokud Smith je jedním z Názvy uvedené v tomto aktuální stránce, 571 00:25:38,350 --> 00:25:40,170 pak něco podmíněně. 572 00:25:40,170 --> 00:25:41,840 Je to jako rozcestí. 573 00:25:41,840 --> 00:25:42,660 Zavolej Mika. 574 00:25:42,660 --> 00:25:44,930 V případě, Mike je mezi názvy na této stránce, tzv Miku. 575 00:25:44,930 --> 00:25:49,720 Ale jen udělat čáru čtyři pokud linka strom, chcete-li, je pravda. 576 00:25:49,720 --> 00:25:51,590 Odpověď na tuto otázku je ano. 577 00:25:51,590 --> 00:25:55,520 >> Else if Smith dříve v book-- Jinými slovy, když jsem v sekci M 578 00:25:55,520 --> 00:25:58,540 a já jsem hledal někoho, kdo by levá, pak to, co mám dělat 579 00:25:58,540 --> 00:26:00,300 je něco velmi podobného. 580 00:26:00,300 --> 00:26:03,440 Pak jsem měl otevřít do středu levé polovině knihy. 581 00:26:03,440 --> 00:26:07,930 Tak jdi doleva a poté vraťte se ke kroku dvě. 582 00:26:07,930 --> 00:26:09,290 Podívejte se tam jména. 583 00:26:09,290 --> 00:26:12,779 >> Takže jinými slovy, to samé, ale na problém, který byl poloviční. 584 00:26:12,779 --> 00:26:13,570 Víš, co ještě? 585 00:26:13,570 --> 00:26:16,470 V případě, Smith později v knize založeny na stránce dívám, 586 00:26:16,470 --> 00:26:18,790 otevřená středu Pravá polovina knihy 587 00:26:18,790 --> 00:26:22,050 a pak jít zase zpátky ke kroku dva, else-- 588 00:26:22,050 --> 00:26:24,000 je tu čtvrtá možnost zde. 589 00:26:24,000 --> 00:26:28,830 Mike buď zde nebo na levé straně nebo napravo, nebo tam není. 590 00:26:28,830 --> 00:26:30,570 A tady měli bychom uvažovat o tohle. 591 00:26:30,570 --> 00:26:33,360 A ve skutečnosti, pokud jste někdy měli počítač právě narazit na vás, 592 00:26:33,360 --> 00:26:36,822 že je někdy, ale ne vždy, Výsledek jen lidské programátor ne 593 00:26:36,822 --> 00:26:39,280 uvědomil, oh střílet, je tu ve skutečnosti tato čtvrtá scénář. 594 00:26:39,280 --> 00:26:41,650 A pokud nechcete psát kód zvládnout tuto situaci, 595 00:26:41,650 --> 00:26:43,220 Někdy nevíte co počítač může dělat. 596 00:26:43,220 --> 00:26:44,770 A skutečně program může selhat. 597 00:26:44,770 --> 00:26:47,550 >> Ale v tomto případě, myslel jsem, o tom, a řekl jsem, jinak skončit, 598 00:26:47,550 --> 00:26:49,850 protože to je čtvrtý logický možný scénář. 599 00:26:49,850 --> 00:26:51,950 Nyní se pojďme stačí přidat některá slovíčka, takže jsme 600 00:26:51,950 --> 00:26:55,320 můžete začít házet kolem pojmů, které jinak docela intuitivní. 601 00:26:55,320 --> 00:26:57,870 Všechny věci jsem jen zvýrazněn žlutě tady, 602 00:26:57,870 --> 00:27:00,140 Právě jdu do funkce nebo procedury. 603 00:27:00,140 --> 00:27:01,590 Jsou to jen druh akcí. 604 00:27:01,590 --> 00:27:04,900 Takže vyzvednout, otevřený, podívejte se u, zavolej, otevřeno, otevřeno, 605 00:27:04,900 --> 00:27:09,170 quit-- to jsou jen akce, nebo budeme Nazýváme je více formálně, funkce. 606 00:27:09,170 --> 00:27:11,410 >> Mezitím se ve žluté barvě, Jsem zdůraznila věci 607 00:27:11,410 --> 00:27:14,084 že-- ať to jen začít volat jejich podmínky nebo větví. 608 00:27:14,084 --> 00:27:16,750 Jedná se o rozhodovací body, ve kterých můžete jít tudy, tudy, 609 00:27:16,750 --> 00:27:18,100 nebo nějaký jiný směr stále. 610 00:27:18,100 --> 00:27:19,430 Takže ti budou podmínky. 611 00:27:19,430 --> 00:27:20,930 A teď tohle je trochu milovník. 612 00:27:20,930 --> 00:27:24,600 Říkejme tyto otázky Boolean výrazy, 613 00:27:24,600 --> 00:27:26,530 Po někoho s příjmením Bool. 614 00:27:26,530 --> 00:27:28,340 >> A logický výraz je prostě něco 615 00:27:28,340 --> 00:27:30,290 To je jeden pravdivý nebo nepravdivý, ano nebo ne. 616 00:27:30,290 --> 00:27:35,870 Takže je to otázka, jejíž odpověď vás záleží, tak, aby se ve stavu, 617 00:27:35,870 --> 00:27:39,210 udělat decision-- zpátky odpověď, a pak jít vlevo nebo vpravo, nebo něco 618 00:27:39,210 --> 00:27:40,450 úplně jinde. 619 00:27:40,450 --> 00:27:42,860 >> A pak konečně, tyto linky here-- vrátit 620 00:27:42,860 --> 00:27:44,737 ke kroku dva, vrátit krokem two-- bychom mohli 621 00:27:44,737 --> 00:27:46,320 realizovat tuto myšlenku různými způsoby. 622 00:27:46,320 --> 00:27:49,028 A pak ty z vás, zkušenosti s programováním mohl udělat 623 00:27:49,028 --> 00:27:50,670 nebo lze představit, dělá jinak. 624 00:27:50,670 --> 00:27:53,170 Ale pro dnešní účely, to je Jen myšlenka, že záleží. 625 00:27:53,170 --> 00:27:55,400 To je to, co indukci budeme obecně nazývat 626 00:27:55,400 --> 00:28:00,110 loop-- nějaký cyklu, protože je to, že mě něco udělat znovu. 627 00:28:00,110 --> 00:28:03,340 >> Takže teď, ať to prostě vzít v úvahu jak dobrý je tento algoritmus. 628 00:28:03,340 --> 00:28:03,899 Je to správně. 629 00:28:03,899 --> 00:28:06,940 Pokud se Mike v knize, je to jeden z ty čtyři scenarios-- znovu a znovu 630 00:28:06,940 --> 00:28:08,023 a znovu, najdeme ho. 631 00:28:08,023 --> 00:28:08,890 Ale jak je to dobré? 632 00:28:08,890 --> 00:28:10,150 No, my nemáme tady být příliš formální. 633 00:28:10,150 --> 00:28:12,066 Ale pojďme jen plot něco, x a y, aby se 634 00:28:12,066 --> 00:28:14,470 smysl pro tvar tohoto problému. 635 00:28:14,470 --> 00:28:17,160 >> Na ose x je zde velikost mého problému. 636 00:28:17,160 --> 00:28:20,256 A Y-osa zde bude čas vyřešit. 637 00:28:20,256 --> 00:28:21,630 Takže možná to je počet stran. 638 00:28:21,630 --> 00:28:24,400 Možná je to vteřin nebo Strana turns-- cokoliv. 639 00:28:24,400 --> 00:28:27,290 Nicméně chcete spočítat je co tento obraz bude zastupovat. 640 00:28:27,290 --> 00:28:30,630 A že první algoritmus, jdu popsat jen jako přímka. 641 00:28:30,630 --> 00:28:33,120 Pokud existuje n stránek v telefonního seznamu, pak to 642 00:28:33,120 --> 00:28:36,010 může trvat mě tolik jak n kroky k nalezení Mika. 643 00:28:36,010 --> 00:28:38,930 Pokud Verizon nebo telefonní společnost přidává ještě jednu stránku příští rok, 644 00:28:38,930 --> 00:28:42,170 to může trvat mi ještě jeden step-- ještě jedna jednotka času najít Mika. 645 00:28:42,170 --> 00:28:44,230 Takže je tu právě tento jeden k jednomu poměru. 646 00:28:44,230 --> 00:28:45,970 Je to čára svah rovně. 647 00:28:45,970 --> 00:28:49,110 >> Zatím, že druhý algorithm-- když jsem 648 00:28:49,110 --> 00:28:51,570 se po dvou time-- dva, čtyři, šest, osm nebo double-- 649 00:28:51,570 --> 00:28:54,550 prochází stránkami dvakrát v době, po dvou, 650 00:28:54,550 --> 00:28:55,710 je to stále přímka. 651 00:28:55,710 --> 00:28:58,720 Tam je teď jeden až dva poměr, ale jen o málo nižší. 652 00:28:58,720 --> 00:29:02,240 Takže pokud tam je to mnoho stránek Na grafu tady v žluté, 653 00:29:02,240 --> 00:29:04,800 že mi to může trvat řada kroků nebo sekundy, 654 00:29:04,800 --> 00:29:07,980 jinak to bude, aby mě dvakrát tolik na červenou čáru. 655 00:29:07,980 --> 00:29:10,190 >> Ale zelená linka je skutečný stánek s jídlem. 656 00:29:10,190 --> 00:29:12,290 To je to, co jsme se obecně Volání logorithm-- log 657 00:29:12,290 --> 00:29:13,840 n, kde n je počet stran. 658 00:29:13,840 --> 00:29:16,450 Ale je to tvar, na čem záleží dnes, protože nemáme 659 00:29:16,450 --> 00:29:17,950 dokonce přemýšlet o vynesením bodů. 660 00:29:17,950 --> 00:29:19,830 >> Přemýšlejte o extrémní scénář. 661 00:29:19,830 --> 00:29:23,070 Předpokládejme, že Verizon zítra zdvojnásobí počet stran v tomto telefonním seznamu, 662 00:29:23,070 --> 00:29:24,900 od 1,000 do 2,000. 663 00:29:24,900 --> 00:29:28,440 V první algoritmus, I Možná ztrácet navíc 1000 664 00:29:28,440 --> 00:29:32,080 Kroky hledal Mike, jen proto, Verizon zdvojnásobil velikost knihy. 665 00:29:32,080 --> 00:29:34,740 Druhý algorithm-- by to mohlo mi trvat dalších 500 kroků. 666 00:29:34,740 --> 00:29:38,370 1000 více stránek, jdu po dvou time-- více 500 kroků najít Mika. 667 00:29:38,370 --> 00:29:41,020 >> Ale ten třetí algoritmus je druh kouzelné. 668 00:29:41,020 --> 00:29:44,270 Verizon zdvojnásobuje počet stránek od 1000 až 2000, 669 00:29:44,270 --> 00:29:47,730 Ale kolik více kroků dělá trvat mě hledat Mike? 670 00:29:47,730 --> 00:29:51,220 Je to jen jedna, protože mohu jen trhat telefonním seznamu ještě jednou 671 00:29:51,220 --> 00:29:55,280 z potíží s 2000 stránku 1000 strana problém, a voila. 672 00:29:55,280 --> 00:29:57,030 Vzal jsem obrovské sousto z něj. 673 00:29:57,030 --> 00:29:59,405 >> A pokud jdete opravdu extrém, Předpokládáme, že v telefonním seznamu 674 00:29:59,405 --> 00:30:03,600 Společnost měla něco šíleného, ​​jako 4 miliardu telefonního seznamu. 675 00:30:03,600 --> 00:30:07,020 No, kolik kroků může trvat najít Mike Smith v 4 miliardy 676 00:30:07,020 --> 00:30:09,990 Strana telefonní seznam? 677 00:30:09,990 --> 00:30:16,450 Je to velké číslo, ale jen 4 miliardy 2000000000 až 1000000000 500 milionů, 678 00:30:16,450 --> 00:30:18,720 250 million-- stále Zní to jako velkými čísly, 679 00:30:18,720 --> 00:30:20,980 ale jsem velmi rychle dostává na menší hodnoty. 680 00:30:20,980 --> 00:30:24,790 >> A ve skutečnosti, když jsem si to spočítejte Dobře, mohu rozdělit pouze 4000000000 681 00:30:24,790 --> 00:30:28,750 o zhruba 32 krát předtím I dostat dolů jen jedno. 682 00:30:28,750 --> 00:30:31,640 Takže pokud, že telefonní seznam byly 4 miliarda stran dlouho, žádný velký problém. 683 00:30:31,640 --> 00:30:35,270 Během několika sekund, možná 32 vteřiny, mohl bych ji rozdělit na dvě poloviny 684 00:30:35,270 --> 00:30:39,560 a nakonec najít Mika nebo k závěru, že tam není. 685 00:30:39,560 --> 00:30:42,219 A to je podstata algorithm-- dobrý algoritmus. 686 00:30:42,219 --> 00:30:44,260 A to je jeden z Cíle třídy, jako je tato, 687 00:30:44,260 --> 00:30:47,350 se snaží přijít na to, jak to mám vyřešit problém nejen správně, 688 00:30:47,350 --> 00:30:52,360 jak jsem vždycky věděl, jak to udělat jednu Stránka na time-- ale správně a dobře. 689 00:30:52,360 --> 00:30:55,034 Jak mohu navrhnout dobrý řešení problémů? 690 00:30:55,034 --> 00:30:57,200 Takže pojďme se na chvíli zde a dá vám pocit podnikem 691 00:30:57,200 --> 00:31:00,260 z CS50 kurz itself-- představit Pracovníci několika málo samozřejmě je. 692 00:31:00,260 --> 00:31:02,010 Těsně před 2:00, zmíníme trvat krátkou přestávku 693 00:31:02,010 --> 00:31:03,520 takže ti z vás, kteří jsou nákupy mohou 694 00:31:03,520 --> 00:31:05,130 kachna ven a vzít podívat se na nějaké jiné třídě 695 00:31:05,130 --> 00:31:06,580 a dívat se na zbytek tohoto on-line. 696 00:31:06,580 --> 00:31:09,250 Ale teď, dovolte mi představit CS50, samotná třída, 697 00:31:09,250 --> 00:31:11,330 a zejména to, co je nové. 698 00:31:11,330 --> 00:31:13,960 >> Takže minulost jaro, my strávili docela dost time-- 699 00:31:13,960 --> 00:31:17,911 Personál kurzu a já-- myšlení o tom, co je to chceme CS50 být, 700 00:31:17,911 --> 00:31:19,910 a jít zpátky do první principy, tak říkajíc, 701 00:31:19,910 --> 00:31:22,760 zvážit, co je to chceme Tento kurz vypadat a být 702 00:31:22,760 --> 00:31:23,740 stejně jako pro své studenty. 703 00:31:23,740 --> 00:31:26,480 A tak uvidíte v problému nastavit nulu stejně, pozvání 704 00:31:26,480 --> 00:31:28,780 aby se na to podívat URL, která shrnuje 705 00:31:28,780 --> 00:31:33,270 některé z motivací zpoza Následující charakteristiky podzim 2016. 706 00:31:33,270 --> 00:31:35,570 >> Tak jak jste si možná sbírala Z TL: DR letáku, 707 00:31:35,570 --> 00:31:39,060 osnova dnes stejně jako z Katalog Samozřejmě, že v tomto roce CS50, 708 00:31:39,060 --> 00:31:42,540 jste jen očekávat, aby se zúčastnili today-- takže práci dobře done-- 709 00:31:42,540 --> 00:31:45,960 a poslední přednáška na 21. listopadu. 710 00:31:45,960 --> 00:31:49,150 A není zač, ale neočekává se, navštěvovat tyto přednášky ve středu, 711 00:31:49,150 --> 00:31:51,180 protože to, co děláme Tento rok, střílí 712 00:31:51,180 --> 00:31:52,661 v reálném čase materiálu kurzu je. 713 00:31:52,661 --> 00:31:54,660 Takže všechno zůstane proud a začleněna 714 00:31:54,660 --> 00:31:57,410 jak nejlépe jsme can-- aktuální dění a rozhovory, které lidé by mohl 715 00:31:57,410 --> 00:32:00,400 že má v průmyslu v svět, ale při tomto materiálu 716 00:32:00,400 --> 00:32:03,892 k dispozici, v důsledku toho i earlier-- s kompletním textem přepisy 717 00:32:03,892 --> 00:32:05,850 a prohledávání a odkazy na další zdroje. 718 00:32:05,850 --> 00:32:07,930 >> A skutečně jsme byli prohlašovat nějakou dobu 719 00:32:07,930 --> 00:32:10,830 a my teď věřit, že můžeme vytvořit, digitálně, 720 00:32:10,830 --> 00:32:15,170 více pohlcující, mnohem přesvědčivější vzdělávací zkušenost, jak protichůdný 721 00:32:15,170 --> 00:32:19,110 na shromažďování zde nějaké 23 krát osobně, slyšel někdo mi líbí 722 00:32:19,110 --> 00:32:22,925 jednoduše mluvit o informatice, na rozdíl od aktivněji zapojit. 723 00:32:22,925 --> 00:32:25,800 Takže uvidíte v Osnova kurzu je skica semestru tady, 724 00:32:25,800 --> 00:32:27,840 spolu s kdy přednášek být natočen, ke kterému jste 725 00:32:27,840 --> 00:32:29,710 vítány, ale neočekává, a kdy budou 726 00:32:29,710 --> 00:32:31,640 být propuštěn na internetových stránkách Course. 727 00:32:31,640 --> 00:32:34,300 >> A co budeme dělat tady na Středy začínají příští týden, 728 00:32:34,300 --> 00:32:37,362 je mnohem důvěrně, pouze s ti lidé, kteří se chtějí podílet, 729 00:32:37,362 --> 00:32:39,820 je tzv Procházka, kde jsem a hlavy kurzu je 730 00:32:39,820 --> 00:32:41,730 bude skutečně dělat věci trochu intimnější 731 00:32:41,730 --> 00:32:44,313 tady dole v orchestru sekci, ještě nějakou technologii 732 00:32:44,313 --> 00:32:46,365 a procházka běžném týdnu problémem set, 733 00:32:46,365 --> 00:32:50,020 a nabídnout particularly---li mezi ty méně comfortable-- o to víc 734 00:32:50,020 --> 00:32:52,790 pokyny, které budete chtít, nebo muset za týden výzvu. 735 00:32:52,790 --> 00:32:55,820 A podobně, kteří nemohou pro ty, navštěvovat ty osobně, žádný velký problém. 736 00:32:55,820 --> 00:32:58,486 Tam bude podobně vedené jeden z vedoucích pracovníků tohoto kurzu je, 737 00:32:58,486 --> 00:33:02,650 Zamalya, stejná příležitost vložený v problému nastaví sami. 738 00:33:02,650 --> 00:33:04,960 >> Problém nastaví tento rok budou zveřejněny v pátek 739 00:33:04,960 --> 00:33:08,080 a už ne dělat sedm dní později, ale 10 dní later-- úmyslně 740 00:33:08,080 --> 00:33:10,910 překrývají s každým problémem nastavena tak, aby se lépe přizpůsobily, 741 00:33:10,910 --> 00:33:13,050 doufáme, příliv a odliv V plánech studentů, 742 00:33:13,050 --> 00:33:16,550 zvláště když midterms nebo atletiku nebo akademici nebo extracurriculars 743 00:33:16,550 --> 00:33:18,465 mají tendenci přicházet a odcházet zejména v polovině semestru. 744 00:33:18,465 --> 00:33:21,340 Že byste měli dát trochu víc uvážení, zda vás front 745 00:33:21,340 --> 00:33:25,690 načíst týden CS50 nebo zadní zátěži to na následující víkend místo. 746 00:33:25,690 --> 00:33:28,817 Tak se podívejte na Osnova kurzu je Zde pro jejich plánu. 747 00:33:28,817 --> 00:33:30,900 A všimněte si také mezi V letošním roce změny, 748 00:33:30,900 --> 00:33:34,082 pro ty blíže seznámit s Programování v minulosti, 749 00:33:34,082 --> 00:33:36,290 začneme semestr jako budeme dnes v Scratch, 750 00:33:36,290 --> 00:33:39,730 zaměřují především na jazyku volal C, a pak přejít ne 751 00:33:39,730 --> 00:33:43,430 PHP, ale jazyk s názvem Python ke konci semestru 752 00:33:43,430 --> 00:33:46,565 v souvislosti s webové programování, spolu s SQL a JavaScript, 753 00:33:46,565 --> 00:33:48,930 HTML, CSS, a ještě více. 754 00:33:48,930 --> 00:33:51,790 >> A v odpovědi na FAQ, je to skutečně pravda 755 00:33:51,790 --> 00:33:55,520 že CS není tak hrozné, jak jsem kdysi myslel, že to bylo, ale je to tolik práce 756 00:33:55,520 --> 00:33:57,280 jak jsem slyšel, že to může být. 757 00:33:57,280 --> 00:34:03,210 Ale to je dejme tomu, že zde jsou některé statistiky z podzim 2015 studentský sbor, 758 00:34:03,210 --> 00:34:06,460 přičemž horizontální modré čáry představují průměrný počet hodin 759 00:34:06,460 --> 00:34:06,960 hlášeny. 760 00:34:06,960 --> 00:34:10,570 A uvidíte v průměru o šest na 10 až 16 12-- možná 761 00:34:10,570 --> 00:34:14,580 nebo tak, a tak dále, ale s vysoký rozptyl být jasné. 762 00:34:14,580 --> 00:34:18,570 A tak si uvědomit, že tam není jen studenty pohodlnější a méně 763 00:34:18,570 --> 00:34:22,150 pohodlně v kurzu, ale odpovídající podporu 764 00:34:22,150 --> 00:34:25,699 Struktura dostat ty studenty přes úspěšně semestru. 765 00:34:25,699 --> 00:34:29,409 >> Opravdu, v odpovědi na dotazy, měli budete mít CS50 jako první rok? 766 00:34:29,409 --> 00:34:30,139 Absolutně. 767 00:34:30,139 --> 00:34:32,690 A ve skutečnosti, nemám litovat ne mít našel svou cestu 768 00:34:32,690 --> 00:34:35,170 nebo si našel nové pole že první rok stejně. 769 00:34:35,170 --> 00:34:39,149 A měl by si vzít s CS50 další kurzy, rozhodně jako well-- 770 00:34:39,149 --> 00:34:41,940 a obecné rady bychom mohli poskytnout studentům, že CS50 je pravděpodobně 771 00:34:41,940 --> 00:34:44,929 není ten druh třídy nebo intro třídy že byste měli vzít s třemi 772 00:34:44,929 --> 00:34:47,199 jiné nebo čtyři další třídy P-set. 773 00:34:47,199 --> 00:34:50,583 Ale pokud užíváte další dva p-set třídy, něco jiného, ​​a CS50, 774 00:34:50,583 --> 00:34:51,499 naprosto zvládnutelné. 775 00:34:51,499 --> 00:34:54,900 Měl jsem mnoho studentů v v minulosti udělal docela úspěšně. 776 00:34:54,900 --> 00:34:57,490 >> A aby vám ke které Cílová čára úspěšně, 777 00:34:57,490 --> 00:35:00,260 dělá kurz má sections-- různé tratě pro studenty 778 00:35:00,260 --> 00:35:03,100 méně pohodlné, mnohem pohodlnější, a někde mezi tím, 779 00:35:03,100 --> 00:35:04,850 přičemž v kurzu je První problém set, 780 00:35:04,850 --> 00:35:06,360 budete požádáni, aby popsali sami. 781 00:35:06,360 --> 00:35:09,151 A pokud patříte k těm méně komfortní, to je to věc, 782 00:35:09,151 --> 00:35:10,420 že jste právě dost znát. 783 00:35:10,420 --> 00:35:13,010 A skutečně, že je bylo rostoucí demografickou CS50 784 00:35:13,010 --> 00:35:14,090 pěkných pár let. 785 00:35:14,090 --> 00:35:17,680 >> Jak loňského podzimu pro například, 58% z třídy 786 00:35:17,680 --> 00:35:20,560 popisoval sebe as Mezi ty méně pohodlné, 787 00:35:20,560 --> 00:35:23,210 s 9% mezi těmi, více pohodlná, a poté 788 00:35:23,210 --> 00:35:25,900 ostatní studenti tam red popisující sami 789 00:35:25,900 --> 00:35:27,890 jak je někde mezi. 790 00:35:27,890 --> 00:35:31,980 A uvidíte zde témata celková a plán sekcí, z nichž všechny 791 00:35:31,980 --> 00:35:34,820 jsou nabízeny osobně, v reálném čase, přičemž kurz je 792 00:35:34,820 --> 00:35:38,320 úžasný personál učebních chlapíků a kurz asistenti, některé z nich 793 00:35:38,320 --> 00:35:39,660 potkáte za chvíli. 794 00:35:39,660 --> 00:35:42,993 >> Oddíly samy o sobě, jak uvidíte, bude bylo pondělí a úterý a ve středu, 795 00:35:42,993 --> 00:35:45,910 tak, aby jste se do toho ponořit V po zapojení, pokud se tak 796 00:35:45,910 --> 00:35:48,110 zvolit, v průběhu se přednáška dříve v tomto týdnu. 797 00:35:48,110 --> 00:35:51,420 A pak úřední hodiny, což jistě, s každým uplynulým rokem, 798 00:35:51,420 --> 00:35:54,110 byly ne méně bojovat o kurzu. 799 00:35:54,110 --> 00:35:57,040 A letos plánujeme ne jen držet kancelář hours-- jeden 800 00:35:57,040 --> 00:36:00,300 Na jedné příležitosti k pomoci při studenti ve středu ve čtvrtek 801 00:36:00,300 --> 00:36:03,790 a neděli, poslední z těch, bytí v odpoledních hodinách záměrné 802 00:36:03,790 --> 00:36:06,910 snížit některé z stresu, který vždy vzniká s pozdních nočních hodin 803 00:36:06,910 --> 00:36:10,180 p-settting s termínem looming-- ale úřední hodiny budou také nabízeny 804 00:36:10,180 --> 00:36:14,920 V pondělí a úterý a Středy a pátky a soboty, 805 00:36:14,920 --> 00:36:17,080 Díky našim přátelům v HSA. 806 00:36:17,080 --> 00:36:20,330 >> CS50 má nyní svůj vlastní prostor pro studenty a zaměstnance CS50, 807 00:36:20,330 --> 00:36:23,070 na vrcholu hory 67 Auburn Street, tady v Harvard Square. 808 00:36:23,070 --> 00:36:26,340 Vize pro které je to, že je CS50 TFS a CAS celý týden, 809 00:36:26,340 --> 00:36:29,052 skoro po většinu dny, bude tam pro podporu. 810 00:36:29,052 --> 00:36:30,760 Takže pokud máte nějaké otázka na p-set 811 00:36:30,760 --> 00:36:33,093 nebo máte pocit, trochu blokovány nebo trochu zmatený, 812 00:36:33,093 --> 00:36:35,640 a sakra, máte hodinu nebo půl hodiny mezi třídami, 813 00:36:35,640 --> 00:36:38,920 zejména v square-- můžete pop a mají na tuto otázku odpovědět 814 00:36:38,920 --> 00:36:41,720 z mít tento zmatek clarified-- hodně v duchu, 815 00:36:41,720 --> 00:36:45,490 jste se seznámili, z matematiky oddělení je vlastní matematické otázky centrum, 816 00:36:45,490 --> 00:36:49,300 ale skoro po celý den za [? Gcal?], Že budeme psát online. 817 00:36:49,300 --> 00:36:52,400 >> Doučování je k dispozici také pro ty, studenti, volně z kurzu je 818 00:36:52,400 --> 00:36:54,750 vlastní zaměstnanci, pokud si přejete, intimnější jeden na jednoho, 819 00:36:54,750 --> 00:36:58,940 nebo jen dva nebo tři spolužáci, pracovní s jedním ze zaměstnanců kurzu je. 820 00:36:58,940 --> 00:37:02,320 A skutečně, to jsou zde uvedeny jen někteří zaměstnanců kurzu je, 821 00:37:02,320 --> 00:37:04,120 nemnoho koho budete setkat za chvíli. 822 00:37:04,120 --> 00:37:07,440 Ve skutečnosti, CS50 vlastní Hlava výuka kolega, 823 00:37:07,440 --> 00:37:09,790 a hlava kurz asistent a učitel, 824 00:37:09,790 --> 00:37:12,998 mohl přijít nahoru, umožňují je pozdravit. 825 00:37:12,998 --> 00:37:22,498 >> [POTLESK] 826 00:37:22,498 --> 00:37:23,456 HLAS 1: [neslyšitelné]. 827 00:37:23,456 --> 00:37:51,842 828 00:37:51,842 --> 00:37:57,856 >> [POTLESK] 829 00:37:57,856 --> 00:37:58,814 SPEAKER 2: [neslyšitelné]. 830 00:37:58,814 --> 00:38:17,240 831 00:38:17,240 --> 00:38:27,238 >> [POTLESK] 832 00:38:27,238 --> 00:38:28,196 MUŽ 3: [neslyšitelné]. 833 00:38:28,196 --> 00:38:58,951 834 00:38:58,951 --> 00:39:03,120 >> [POTLESK] 835 00:39:03,120 --> 00:39:06,740 >> DAVID Malan: a umožní nám přivést na palubě dva z CS50 je nejvíce 836 00:39:06,740 --> 00:39:09,730 vedoucí pracovníci, Rob a Zamayla stejně. 837 00:39:09,730 --> 00:39:15,120 >> [POTLESK] 838 00:39:15,120 --> 00:39:17,226 >> Ve skutečnosti, jak Rob a Zamayla byly u nás 839 00:39:17,226 --> 00:39:19,940 tak dlouho, že jsem byl schopen jít do CS50 archivu 840 00:39:19,940 --> 00:39:22,470 a najít právě tuto SD stopáž z nich se účastní 841 00:39:22,470 --> 00:39:25,402 na sebe jevišti před několika lety. 842 00:39:25,402 --> 00:39:26,110 ROB: [neslyšitelné]. 843 00:39:26,110 --> 00:39:53,660 844 00:39:53,660 --> 00:39:59,247 >> [POTLESK] 845 00:39:59,247 --> 00:40:00,080 ZAMAYLA: [neslyšitelné] 846 00:40:00,080 --> 00:40:50,888 847 00:40:50,888 --> 00:40:52,467 >> [POTLESK] 848 00:40:52,467 --> 00:40:53,425 DAVID Malan: Děkuji. 849 00:40:53,425 --> 00:40:56,160 850 00:40:56,160 --> 00:40:58,030 Takže kromě nich členové týmu zde 851 00:40:58,030 --> 00:41:01,662 CS50 disponuje týmem téměř 100 zaměstnanci, z nichž všichni 852 00:41:01,662 --> 00:41:04,370 bude k dispozici pro sekcích a úřední hodiny a ještě mnohem více. 853 00:41:04,370 --> 00:41:06,920 A jako Rob říká také, to je Nejvýznamnější oprava 854 00:41:06,920 --> 00:41:09,534 z CS50 v 10 letech, Byl jsem v [neslyšitelné]. 855 00:41:09,534 --> 00:41:12,200 [Neslyšitelný] zaměřeny zejména v poskytování nosnou konstrukci, 856 00:41:12,200 --> 00:41:14,050 stříhání pryč hodně převážná že to bylo 857 00:41:14,050 --> 00:41:16,870 nahromaděné za 10 let z iterační vývoj 858 00:41:16,870 --> 00:41:18,120 na problémové sady kurzu je. 859 00:41:18,120 --> 00:41:21,470 >> Takže v tomto roce, a to nejen ve třídě, ale také ve formě problémem samozřejmě je 860 00:41:21,470 --> 00:41:24,800 Sady, byste měli najít věci být efektivnější, strunová, hodně 861 00:41:24,800 --> 00:41:26,700 ovladatelnější než V uplynulých letech, jak jsme 862 00:41:26,700 --> 00:41:31,330 bouda některé zavazadla, která je vyvinutý podle povahy vyvíjejícího roku 863 00:41:31,330 --> 00:41:32,970 Po roce a iterace. 864 00:41:32,970 --> 00:41:35,110 Takže nové a vylepšené začíná dnes. 865 00:41:35,110 --> 00:41:37,860 >> Setkáte se s některými více z Personál hřiště je v [neslyšitelné] 866 00:41:37,860 --> 00:41:40,186 v 2:30, kde jsme sloužit, jako tradice, koláče. 867 00:41:40,186 --> 00:41:42,060 Tam je trochu více koláč než to, ale budete 868 00:41:42,060 --> 00:41:44,690 Seznamte se s Erin a Tobias a další stále. 869 00:41:44,690 --> 00:41:46,470 A dovolte mi, abych vám prohlídka před slyšíme 870 00:41:46,470 --> 00:41:49,600 od některých jiných zaměstnanců ve třídě, co čeká stejně. 871 00:41:49,600 --> 00:41:52,730 Ve skutečnosti jsme vždy začít CS50'S semestr letos v sobotu, 872 00:41:52,730 --> 00:41:54,330 s tím, co se nazývá CS50 Puzzle Day. 873 00:41:54,330 --> 00:41:56,710 >> To nemá nic společného s počítačová věda sama o sobě, 874 00:41:56,710 --> 00:41:58,669 ale s o problému Řešení obecněji. 875 00:41:58,669 --> 00:42:01,210 A pokud se tak rozhodnete účastnit, na některé z pozvánek, 876 00:42:01,210 --> 00:42:03,460 jste mohli vidět dveře spadne na zem nebo na jevišti tady, 877 00:42:03,460 --> 00:42:05,830 je to příležitost v týmech dvou nebo tří nebo čtyř, 878 00:42:05,830 --> 00:42:10,680 k účasti na hádanky a pizzu a ceny a more-- tuto sobotu, 879 00:42:10,680 --> 00:42:12,560 zůstaňte naladěni na další. 880 00:42:12,560 --> 00:42:15,082 >> Zjistíte také, že každý Pátek, v ohně a ledu, 881 00:42:15,082 --> 00:42:16,790 se CS50 přinášejí Celá parta studentů 882 00:42:16,790 --> 00:42:19,100 na oběd, aby se velké třída cítí více intimní, 883 00:42:19,100 --> 00:42:21,820 a obecně sdružovat absolventů a přátel z průmyslu 884 00:42:21,820 --> 00:42:24,710 mluvit o tom, co jsem Byl až od své promoce. 885 00:42:24,710 --> 00:42:27,820 Stejně tak tento rok, budeme zahájit vůbec první CS50 50 886 00:42:27,820 --> 00:42:31,390 kódování contest-- v polovině semestru Příležitost umožnit všem 887 00:42:31,390 --> 00:42:35,430 na opt-in bázi mít Výzva důvtip proti spolužákům, 888 00:42:35,430 --> 00:42:39,250 opět ve skupinách po dvou nebo po třech nebo čtyři, používat jen to, že programování 889 00:42:39,250 --> 00:42:41,920 důvtipný, který pak v rámci váš pásek za pouhých šest nebo sedm 890 00:42:41,920 --> 00:42:44,710 týdny třídy a účastí v tomto druhu soutěže 891 00:42:44,710 --> 00:42:50,261 online-- pokud byste chtěli zdokonalit svůj vlastní dovednosti tím spíše v této výzvě. 892 00:42:50,261 --> 00:42:52,760 Na konci semestru je takzvaný CS50 Hackathon-- 893 00:42:52,760 --> 00:42:56,970 příležitost, která začíná v 7:00 PM končí v 7:00, a na cestě 894 00:42:56,970 --> 00:43:01,900 12 večerních hodinách, ve kterých se do toho ponořit do konečného project-- tohoto kurzu je 895 00:43:01,900 --> 00:43:04,820 příležitost navrhnout a provádět většinu něco zajímavého 896 00:43:04,820 --> 00:43:06,980 tobě se svým učením kolegy vedením. 897 00:43:06,980 --> 00:43:09,600 Kolem 9:00 my typicky slouží pizza, 1:00, 898 00:43:09,600 --> 00:43:13,210 Philippe je, a jen málo z nás kteří jsou stále vzhůru v 5:00, 899 00:43:13,210 --> 00:43:16,310 jsou kyvadlová bussed dolů Cesta k IHOP k snídani. 900 00:43:16,310 --> 00:43:19,340 >> A pak o několik dní později je takzvaný CS50 fare-- 901 00:43:19,340 --> 00:43:23,450 konec semestrální výstavě v oslava, jak daleko tolik 902 00:43:23,450 --> 00:43:28,200 z CS50 studenti pocházejí Týden nula celá cesta do týdne, 903 00:43:28,200 --> 00:43:32,610 a mít na paměti, že 73% z těch, spolužáci a vy letošního roku 904 00:43:32,610 --> 00:43:34,840 Nikdy předtím vzal třídu CS. 905 00:43:34,840 --> 00:43:39,226 Ve skutečnosti je třeba zdůraznit, aby co nejvíce, zde Je několik dalších tváře od CS50 štábu. 906 00:43:39,226 --> 00:43:40,184 SPEAKER 4: [neslyšitelné]. 907 00:43:40,184 --> 00:43:45,909 908 00:43:45,909 --> 00:43:46,867 Reproduktor 5: [neslyšitelné]. 909 00:43:46,867 --> 00:43:51,332 910 00:43:51,332 --> 00:43:52,290 SPEAKER 6: [neslyšitelné]. 911 00:43:52,290 --> 00:43:55,276 912 00:43:55,276 --> 00:43:56,234 SPEAKER 7: [neslyšitelné]. 913 00:43:56,234 --> 00:44:01,727 914 00:44:01,727 --> 00:44:02,643 REPRODUKTORY 8: [neslyšitelné] 915 00:44:02,643 --> 00:44:10,066 916 00:44:10,066 --> 00:44:11,024 REPRODUKTORY 9: [neslyšitelné]. 917 00:44:11,024 --> 00:44:14,475 918 00:44:14,475 --> 00:44:15,461 >> SPEAKER 4: [neslyšitelné]. 919 00:44:15,461 --> 00:44:16,461 >> REPRODUKTORY 10: [neslyšitelné]. 920 00:44:16,461 --> 00:44:21,456 921 00:44:21,456 --> 00:44:23,438 REPRODUKTORY 11: [neslyšitelné]. 922 00:44:23,438 --> 00:44:24,438 REPRODUKTORY 12: [neslyšitelné]. 923 00:44:24,438 --> 00:44:30,438 924 00:44:30,438 --> 00:44:31,396 REPRODUKTORY 13: [neslyšitelné] 925 00:44:31,396 --> 00:44:37,360 926 00:44:37,360 --> 00:44:40,342 >> REPRODUKTORY 14: [neslyšitelné]. 927 00:44:40,342 --> 00:44:42,863 >> REPRODUKTORY 13: [neslyšitelné]. 928 00:44:42,863 --> 00:44:43,821 REPRODUKTORY 15: [neslyšitelné] 929 00:44:43,821 --> 00:44:48,785 930 00:44:48,785 --> 00:44:49,785 REPRODUKTORY 16: [neslyšitelné]. 931 00:44:49,785 --> 00:44:53,761 932 00:44:53,761 --> 00:44:55,252 >> REPRODUKTORY 11: [neslyšitelné] 933 00:44:55,252 --> 00:44:57,773 934 00:44:57,773 --> 00:44:58,731 Reproduktor 5: [neslyšitelné]. 935 00:44:58,731 --> 00:45:11,250 936 00:45:11,250 --> 00:45:15,130 DAVID Malan: Některé týmu jsou samy o sobě nákupní třídy. 937 00:45:15,130 --> 00:45:17,760 Ale pokud tyto členy personálu CS50 zde, 938 00:45:17,760 --> 00:45:19,230 mohl přijít nahoru jen na chvíli. 939 00:45:19,230 --> 00:45:23,450 CS50 je TFS a CAS a [? personál ?] Členové here-- to jsou jen některé 940 00:45:23,450 --> 00:45:28,880 z faces-- z nichž jeden právě viděl, a několik other-- a několik dalších 941 00:45:28,880 --> 00:45:30,020 ještě pořád. 942 00:45:30,020 --> 00:45:33,242 Proč nejdeme do toho a umožňují vy přestávka pět minut. 943 00:45:33,242 --> 00:45:35,450 Potřebujete-li kachnu ven obchod třídy, to je v pořádku. 944 00:45:35,450 --> 00:45:38,900 A za pět minut, budeme pokračovat, při pohledu na Scratch-- prvním 945 00:45:38,900 --> 00:45:42,420 našeho programovacího jazyka, splňují Personál Kurz je tu ještě víc, 946 00:45:42,420 --> 00:45:45,020 a zaměřit se nakonec Na problém nastavit nulu. 947 00:45:45,020 --> 00:45:46,710 Takže budeme zpátky za pět minut. 1 00:45:46,864 --> 00:45:47,370 >> Dobře. 2 00:45:47,370 --> 00:45:48,590 Takže jsme zpátky. 3 00:45:48,590 --> 00:45:51,330 A v naší zbývající Čas dnes je cílem 4 00:45:51,330 --> 00:45:54,320 je rovné podmínky pokud jde o určité terminologie, 5 00:45:54,320 --> 00:45:55,297 pokud jde o některé nápady. 6 00:45:55,297 --> 00:45:57,380 Vzhledem k tomu, opravdu, podle některé z tabulek dříve, 7 00:45:57,380 --> 00:46:00,130 tam bude celá řada Hladiny zkušeností ve třídě, 8 00:46:00,130 --> 00:46:03,210 jehož některé mají studenti Před vzít nějaké programování, 9 00:46:03,210 --> 00:46:04,200 z nichž někteří ne. 10 00:46:04,200 --> 00:46:07,430 A tak s tímto prvním problémem nastavit a tento první jazyk 11 00:46:07,430 --> 00:46:10,830 máme příležitost začít brát jako samozřejmost po dnešku 12 00:46:10,830 --> 00:46:12,960 některé běžné slovní zásoby a nápad. 13 00:46:12,960 --> 00:46:15,590 >> A budeme to formou První languages-- kurzu je 14 00:46:15,590 --> 00:46:21,070 Kromě C a Python a JavaScript a SQL a HTML a CSS, 15 00:46:21,070 --> 00:46:24,450 budeme zaměřovat zpočátku a jen za problém nastavit nulu 16 00:46:24,450 --> 00:46:28,160 Na této grafické jazyk, nazvaný Scratch, vyvinutý Lab Media MIT 17 00:46:28,160 --> 00:46:30,880 po silnici, na pomoc studenty a děti obzvláště 18 00:46:30,880 --> 00:46:35,070 vyjadřovat algorithmically-- jistým způsobem v souladu s tím, co 19 00:46:35,070 --> 00:46:37,300 bychom mohli nazvat výpočetní myšlení. 20 00:46:37,300 --> 00:46:40,985 >> A je to užitečné, protože jazyk Velmi rychle se příští týden v jednom týdnu, 21 00:46:40,985 --> 00:46:44,360 můžeme přejít na více Tradiční a tajemný jazyk nazvaný 22 00:46:44,360 --> 00:46:46,370 C, což je čistě textová. 23 00:46:46,370 --> 00:46:48,930 Můžete použít pouze klávesnice v Aby se psát instrukce 24 00:46:48,930 --> 00:46:50,230 jako jsou tyto na obrazovce. 25 00:46:50,230 --> 00:46:52,840 Ale i když jste nikdy neviděli programovací jazyk předtím, 26 00:46:52,840 --> 00:46:55,170 V právě pohledem na to vše ať už je to mystický, 27 00:46:55,170 --> 00:47:00,010 asi tušíte, že Pravděpodobně vytiskne Hello World. 28 00:47:00,010 --> 00:47:02,050 Ale je tu spousta syntaktická nad hlavou tam. 29 00:47:02,050 --> 00:47:05,770 Tam je divný hash Symbol nebo hash tag do vrcholu. 30 00:47:05,770 --> 00:47:08,900 K dispozici je lomené závorky, některé závorky, složené závorky, semi-colon-- 31 00:47:08,900 --> 00:47:11,880 tam je jen tolik vizuální syntax, která se dostane do cesty. 32 00:47:11,880 --> 00:47:13,940 Začneme kurzu s Scratch tak, aby si 33 00:47:13,940 --> 00:47:17,600 minulost všechny ty intelektuálně nezajímavé rozptýlení, 34 00:47:17,600 --> 00:47:20,290 a místo toho se zaměřit na myšlenkách. 35 00:47:20,290 --> 00:47:22,540 >> Ve skutečnosti to může být dříve. 36 00:47:22,540 --> 00:47:24,830 To, za to, týden bude po něm. 37 00:47:24,830 --> 00:47:26,760 To, v tomto grafický jazyka Scratch, 38 00:47:26,760 --> 00:47:29,870 je, jak byste implementovat ten samý program-- program, který při spuštění, 39 00:47:29,870 --> 00:47:31,340 jednoduše říká hello world. 40 00:47:31,340 --> 00:47:34,740 A co je hezké o Scratch je že je to grafický programovací 41 00:47:34,740 --> 00:47:38,780 Prostředí, které používá skládačky nebo blokuje, že pouze proplést dohromady 42 00:47:38,780 --> 00:47:40,440 pokud to dává logický smysl, aby tak učinily. 43 00:47:40,440 --> 00:47:43,810 A s Scratch můžete vyvinout animace a interaktivní hry 44 00:47:43,810 --> 00:47:47,270 a umění, a libovolný počet věcí, které jste si možná představit ve své vlastní mysli, 45 00:47:47,270 --> 00:47:51,200 a realizovat pouhým přetažením dílků. 46 00:47:51,200 --> 00:47:54,265 >> A skutečně, budeme mít možnost vyjadřovat některé stejné myšlenky 47 00:47:54,265 --> 00:47:56,890 že jsem se právě zmínil okamžik Před v kontextu Mike Smith 48 00:47:56,890 --> 00:48:00,670 a vyhledávání telefonní book-- věci jako je funkce, pouze akce, 49 00:48:00,670 --> 00:48:03,070 věci, jako je smyček, které dělají věci znovu a znovu 50 00:48:03,070 --> 00:48:05,170 proměnných, což je něco, co budeme představit, 51 00:48:05,170 --> 00:48:08,086 ale je to znají snad z algebra-- jen nějaký zástupný symbol 52 00:48:08,086 --> 00:48:10,840 ukládat nějakou hodnotu, kterou by mohla Potřebujete later-- logických výrazů, 53 00:48:10,840 --> 00:48:13,720 kde ti ano, ne, nebo pravda falešné otázky z předtím. 54 00:48:13,720 --> 00:48:17,117 Podmínky jsou ty vidličky v road-- tyto pobočky tak říkajíc. 55 00:48:17,117 --> 00:48:19,700 A pak tam jsou některé milovník Funkce Uvidíme ještě dnes, 56 00:48:19,700 --> 00:48:22,850 zvané pole a nitě a Události, které budeme pak znovu přes 57 00:48:22,850 --> 00:48:24,460 čas v různých jazycích. 58 00:48:24,460 --> 00:48:26,790 Ale Scratch nám umožňuje prozkoumat všechny z nich. 59 00:48:26,790 --> 00:48:30,779 Tak tady ve Scratch, toto fialové Blok je to, co funkce je typicky 60 00:48:30,779 --> 00:48:31,570 vypadat. 61 00:48:31,570 --> 00:48:35,620 Tento fialový kousek skládačky, který má některé Slovo jako řekněme, což je akce, 62 00:48:35,620 --> 00:48:38,490 a pak by to mohlo mít Argument nebo parameter-- nějaký způsob, 63 00:48:38,490 --> 00:48:41,140 z druhu zakázkové výroby co to dělá blok 64 00:48:41,140 --> 00:48:45,182 tak, že to není předem stanovena MIT, co tento fialový blok říká. 65 00:48:45,182 --> 00:48:47,390 Ve skutečnosti, uvidíte v Okamžik, že jsem schopen psát 66 00:48:47,390 --> 00:48:49,931 slov jako ahoj světě, nebo Ahoj Davide, nebo ahoj Zamayla, 67 00:48:49,931 --> 00:48:53,750 nebo co chci, v argumentu v tomto puzzle piece-- na příslušný bílý čtvereček 68 00:48:53,750 --> 00:48:54,251 tam. 69 00:48:54,251 --> 00:48:57,166 Mezitím, když chci smyčku, zmíníme vidět, že je tu skládačky, které 70 00:48:57,166 --> 00:48:58,640 vypadat trochu pomeranč, jako je tento. 71 00:48:58,640 --> 00:49:01,690 A jejich tvar druh naznačuje, že něco znovu a znovu se stane 72 00:49:01,690 --> 00:49:02,680 v cyklu. 73 00:49:02,680 --> 00:49:06,800 >> Takže když jsem zabalit pozdravit světový blok s navždy blokovat Scratch, 74 00:49:06,800 --> 00:49:10,307 je to jen bude držet zdravit svět navždy, a to doslova. 75 00:49:10,307 --> 00:49:12,390 Mezitím je tu další typ smyčky Scratch 76 00:49:12,390 --> 00:49:14,348 že budeme see-- opakování block-- kde, pokud jste 77 00:49:14,348 --> 00:49:17,940 předem vědět, kolikrát Chcete-smyčka vykonat 78 00:49:17,940 --> 00:49:21,850 omezené množství časů v fact-- vás Můžete určit, že zadáním v řadě 79 00:49:21,850 --> 00:49:25,380 nebo dokonce ucpávání v proměnné, jako je x nebo y, jak uvidíme. 80 00:49:25,380 --> 00:49:27,690 >> Ve skutečnosti, stejně jako proměnné I v tomto případě, který 81 00:49:27,690 --> 00:49:30,109 je společný název pro integer proměnná, která 82 00:49:30,109 --> 00:49:31,900 Jen ukládá number-- celé číslo by mohlo být, 83 00:49:31,900 --> 00:49:35,470 Použití tohoto oranžový blok zde nastavit proměnnou jako i na nulu. 84 00:49:35,470 --> 00:49:38,900 Zde je příklad v zeleni Logický výraz v Scratch. 85 00:49:38,900 --> 00:49:43,700 I přesto, že to vypadá jako matematický vzorec, nerovnosti matematické toto se líbí 86 00:49:43,700 --> 00:49:45,320 ve skutečnosti jsou logické výrazy. 87 00:49:45,320 --> 00:49:46,570 To je jeden pravdivý nebo nepravdivý. 88 00:49:46,570 --> 00:49:48,300 I je menší než 50. 89 00:49:48,300 --> 00:49:51,815 Je to buď ano nebo ne odpověď nebo true nebo false odpověď. 90 00:49:51,815 --> 00:49:53,940 A budeme obecně nazývat tyto logické výrazy. 91 00:49:53,940 --> 00:49:55,148 A to nemusí být 50. 92 00:49:55,148 --> 00:49:57,970 To může být menší než x y, větší než y, která se rovná y- 93 00:49:57,970 --> 00:50:00,020 jakýkoliv jiný počet otázky mohou být položeny. 94 00:50:00,020 --> 00:50:03,250 >> Nyní, na první pohled to může vypadat Najednou poměrně tučné tady, a je to. 95 00:50:03,250 --> 00:50:06,540 Ale koncept moudrý, to je docela obeznámen před rokem. 96 00:50:06,540 --> 00:50:09,370 Pokud x je menší než y, než říci, jak moc. 97 00:50:09,370 --> 00:50:12,230 Else if x je větší než y, pak říkají tolik. 98 00:50:12,230 --> 00:50:14,260 Jiného říci, x je rovno y. 99 00:50:14,260 --> 00:50:17,220 Takže máme příklad tam třetí scenario-- 100 00:50:17,220 --> 00:50:20,600 jedinou třetí possibility-- x je buď větší než, menší než nebo rovný. 101 00:50:20,600 --> 00:50:22,420 Takže máme třícestné rozcestí. 102 00:50:22,420 --> 00:50:26,290 >> A všimněte si, co je v pohodě here-- Scratch, Zdálo by se, má jen jedno puzzle 103 00:50:26,290 --> 00:50:28,840 kus, v tomto případě, je-li v jiném bloku. 104 00:50:28,840 --> 00:50:32,090 A přesto, že by se zdají naznačovat může mají pouze obousměrné rozcestí. 105 00:50:32,090 --> 00:50:34,631 Můžete jít doleva nebo doprava, ale co ten třetí scénář? 106 00:50:34,631 --> 00:50:35,760 Co když x je rovno y? 107 00:50:35,760 --> 00:50:36,500 Žádný velký problém. 108 00:50:36,500 --> 00:50:39,640 Vezměte jeden kousek skládačky, dát další z uvnitř ní 109 00:50:39,640 --> 00:50:45,759 k vytvoření sémantické ekvivalent if, else if, else-- a teď vás 110 00:50:45,759 --> 00:50:47,300 mít svůj třícestný rozcestí. 111 00:50:47,300 --> 00:50:49,091 A jak uvidíme se Scratch skládačky 112 00:50:49,091 --> 00:50:51,820 lze natáhnout a růst, tak jak nacpat víc věcí v nich. 113 00:50:51,820 --> 00:50:54,420 Nemusíte, aby se vešly Všechno v jeho výchozí velikosti. 114 00:50:54,420 --> 00:50:56,690 >> To je něco, co bude Brzy uvidíme, se nazývá pole. 115 00:50:56,690 --> 00:51:00,880 Je to jako list-- nějaký způsob, uložení více kusů informací 116 00:51:00,880 --> 00:51:02,886 v proměnné, a ne jen číslo. 117 00:51:02,886 --> 00:51:05,760 Tyto uvidíme zástupce něco, co nazývá multi-threading. 118 00:51:05,760 --> 00:51:08,280 Ve skutečnosti, všechny vaše Mac a PC v těchto dnech 119 00:51:08,280 --> 00:51:10,810 podpora multi-threading, což znamená, že můžete doslova 120 00:51:10,810 --> 00:51:12,390 dělat více věcí najednou. 121 00:51:12,390 --> 00:51:15,390 Můžete mít Microsoft Word Up in the popředí, pracuje na nějakém eseje. 122 00:51:15,390 --> 00:51:17,160 Ty by mohly mít prohlížeč při otevírání pozadí 123 00:51:17,160 --> 00:51:18,720 G-mailu nebo Facebook nebo podobně. 124 00:51:18,720 --> 00:51:22,730 Počítač může dělat více věcí dnes, protože to je multi-závitové, 125 00:51:22,730 --> 00:51:26,390 a programy jsou v oblasti Zejména jsou také multi-thread. 126 00:51:26,390 --> 00:51:28,970 >> Jsou věci zvané akce jako i ve světě Scratch, 127 00:51:28,970 --> 00:51:32,640 a pak je tu až příliš, aby se naše vlastní zvyk skládačky, pokud věci 128 00:51:32,640 --> 00:51:34,810 nejsou ve skutečnosti neexistuje předem. 129 00:51:34,810 --> 00:51:38,260 Takže pojďme motivovat to takto. 130 00:51:38,260 --> 00:51:40,580 Před několika lety, když jsem poprvé objevil Scratch, 131 00:51:40,580 --> 00:51:43,530 Když jsem byl vlastně postgraduální student na MIT, my 132 00:51:43,530 --> 00:51:45,640 Sami byli za úkol dělat domácí úkoly. 133 00:51:45,640 --> 00:51:47,614 A já implemented-- což při zpětném pohledu, 134 00:51:47,614 --> 00:51:50,780 Byl velmi chudý rozhodnutí, protože to je nejvíce nesnesitelné skladba na světě 135 00:51:50,780 --> 00:51:53,321 poslouchat po dobu osmi hodin, při práci na homework-- 136 00:51:53,321 --> 00:51:57,180 ale něco, co jsem nazval Oscar Time, který je možná známý song. 137 00:51:57,180 --> 00:51:59,820 >> CS50s vlastní Jordan Hayashi, jeden z Naši více členů vedoucích pracovníků, 138 00:51:59,820 --> 00:52:03,920 vylepšila ji pro rok 2015 a Nyní 2016, od zpět v den, 139 00:52:03,920 --> 00:52:06,610 Měl jsem všechno jen tak do Oscar odpadkového koše. 140 00:52:06,610 --> 00:52:09,320 Nyní podporujeme recyklaci a kompostování. 141 00:52:09,320 --> 00:52:12,050 >> Ale malovat obraz o tom, co můžeme udělat zde 142 00:52:12,050 --> 00:52:14,130 a motivovat některé Příklady nižší úroveň, 143 00:52:14,130 --> 00:52:16,400 mohli bychom získat některou jinou dobrovolník jen pojď nahoru 144 00:52:16,400 --> 00:52:18,331 a hrát moje první domácí úkol vůbec? 145 00:52:18,331 --> 00:52:18,830 Pojď nahoru. 146 00:52:18,830 --> 00:52:19,250 Jak se jmenuješ? 147 00:52:19,250 --> 00:52:20,030 >> Henry: Henry. 148 00:52:20,030 --> 00:52:22,660 >> DAVID Malan: Henry, pojď nahoru. 149 00:52:22,660 --> 00:52:24,190 Pojď nahoru. 150 00:52:24,190 --> 00:52:27,070 S hlavou v obou směrech, a uvidíte v okamžiku, 151 00:52:27,070 --> 00:52:29,870 Chystám se jít dopředu a hit zelenou vlajkou v horní pravé ruce 152 00:52:29,870 --> 00:52:31,100 roh, což znamená jít. 153 00:52:31,100 --> 00:52:33,320 Znak ikona málo zastávka se chystá říci stop, 154 00:52:33,320 --> 00:52:35,490 a to je, když začnete a zastavení programu. 155 00:52:35,490 --> 00:52:36,450 Rád vás poznávám. 156 00:52:36,450 --> 00:52:36,950 Dobře. 157 00:52:36,950 --> 00:52:39,100 Takže budeme vidět instrukce Na obrazovce se za chvíli. 158 00:52:39,100 --> 00:52:41,450 A právě tím, že hraje tuto hru Po několikaminutovém seconds-- mi věřit, 159 00:52:41,450 --> 00:52:43,670 nebudeme chtít hrát celá cesta k end-- si vyzkoušíte 160 00:52:43,670 --> 00:52:45,470 získat představu o tom, co program dělá. 161 00:52:45,470 --> 00:52:49,170 A více než soustředit jen na Henryho je dobré nebo špatné v této hře, zaostřeno 162 00:52:49,170 --> 00:52:52,600 a jak to bylo provedena mnou Původně a pak Jordánu. 163 00:52:52,600 --> 00:52:54,640 Jinými slovy, tam, kde jsou proměnné? 164 00:52:54,640 --> 00:52:55,520 Kde jsou smyčky? 165 00:52:55,520 --> 00:52:56,520 Kde jsou funkce? 166 00:52:56,520 --> 00:53:00,700 A uvidíme, jestli nevidíme ty pod kapotou. 167 00:53:00,700 --> 00:53:03,660 >> Stačí kliknout a táhnout odpadky do příslušné přihrádky. 168 00:53:03,660 --> 00:54:02,100 >> [MUSIC PŘEHRÁVÁNÍ] 169 00:54:02,100 --> 00:54:02,600 Dobře. 170 00:54:02,600 --> 00:54:03,160 To je velmi dobré. 171 00:54:03,160 --> 00:54:04,286 Proč ne my ji zastavit tam. 172 00:54:04,286 --> 00:54:04,786 Děkuji. 173 00:54:04,786 --> 00:54:05,830 Gratulujeme Henryho. 174 00:54:05,830 --> 00:54:07,002 Děkuji. 175 00:54:07,002 --> 00:54:10,690 >> [POTLESK] 176 00:54:10,690 --> 00:54:12,450 >> Jen si představte ladění tento program. 177 00:54:12,450 --> 00:54:15,880 Pokud se vyskytne problém dva minutě song-- ale stejně tak 178 00:54:15,880 --> 00:54:17,430 Co se tady děje doopravdy? 179 00:54:17,430 --> 00:54:20,900 Tak složité, jak by se mohlo začnou se mi dostat v průběhu času, 180 00:54:20,900 --> 00:54:22,910 ve skutečnosti stále více a více věci začaly klesat, 181 00:54:22,910 --> 00:54:25,370 Co je zajímavé, tento druh example-- 182 00:54:25,370 --> 00:54:27,270 a uvidíme pár others-- je, že pokud 183 00:54:27,270 --> 00:54:30,416 přehlížet složitosti nebo propracovanost hry, 184 00:54:30,416 --> 00:54:33,040 tam je velmi jednoduchá stavba bloky, které play-- z nichž všechny, 185 00:54:33,040 --> 00:54:35,840 pokud se pálit jejich těm stavebními kameny, jsou velmi přístupné 186 00:54:35,840 --> 00:54:37,401 a proveditelná sami sobě. 187 00:54:37,401 --> 00:54:39,150 Například, je to Byl nějaký čas, ale jsem 188 00:54:39,150 --> 00:54:42,900 jistá, že to, co jsem udělal, když zpočátku takže tuto hru poprvé 189 00:54:42,900 --> 00:54:44,787 Byl jsem úplně jako otálela. 190 00:54:44,787 --> 00:54:47,120 Nechtěl jsem soustředit vůbec na Logika nebo kousky skládačky, 191 00:54:47,120 --> 00:54:50,810 Zaměřil jsem se na grafiku a zjištění ulice pošta a koše 192 00:54:50,810 --> 00:54:51,540 a to vše. 193 00:54:51,540 --> 00:54:53,456 Ale to byly předpokladem přísady na prvním místě. 194 00:54:53,456 --> 00:54:57,220 A jakmile jsem dokončil odkládám a stanovující rámec zastřešující, 195 00:54:57,220 --> 00:55:00,337 Rozhodl jsem se, dovolte mi udělat jednu kus odpadky padají z nebe. 196 00:55:00,337 --> 00:55:02,170 A uvidíme Scratch Podporuje věci zvané 197 00:55:02,170 --> 00:55:06,386 sprites-- znaky, které mohou mají různé kostýmy na tak oni 198 00:55:06,386 --> 00:55:07,010 vypadat jinak. 199 00:55:07,010 --> 00:55:09,660 >> A tak jsem dal odpadky kostým na jedné takové sprite. 200 00:55:09,660 --> 00:55:12,007 A právě jsem potřeboval ho padat z nebe. 201 00:55:12,007 --> 00:55:14,590 A tak to dopadá, Scratch, jako většina programovacích jazyků, 202 00:55:14,590 --> 00:55:18,099 Podporuje náhodných čísel nebo Technicky pseudokód náhodných čísel, 203 00:55:18,099 --> 00:55:20,390 takže přetažením upuštění některých skládačky, 204 00:55:20,390 --> 00:55:22,890 Byl jsem schopen mít odpadky pocházejí z levé strany na prvním místě. 205 00:55:22,890 --> 00:55:25,580 A pak příště to spadlo z pravá a poté od středu. 206 00:55:25,580 --> 00:55:28,060 A to všechno hra to bylo jen mají odpadky padající z nebe. 207 00:55:28,060 --> 00:55:29,770 Dalo by se poukázat na to, nebo na něj kliknout. 208 00:55:29,770 --> 00:55:31,103 Dalo by se otevřít odpadkového koše. 209 00:55:31,103 --> 00:55:32,160 Dalo by se nic dělat. 210 00:55:32,160 --> 00:55:34,450 Ale bylo to dítě krok k mému konečnému vidění. 211 00:55:34,450 --> 00:55:36,720 >> A po tom, já vlastně realizována nějaká 212 00:55:36,720 --> 00:55:41,230 snímání, takže pokud jste na tlačítko a přetáhněte na kus smetí 213 00:55:41,230 --> 00:55:44,350 přes odpadkového koše, Oscar Víko by otevírání a zavírání. 214 00:55:44,350 --> 00:55:47,650 Nic by se stalo do koše, ale přinejmenším by se víko otevřít a zavřít. 215 00:55:47,650 --> 00:55:49,642 Takže zkontrolovat, krok dva dva. 216 00:55:49,642 --> 00:55:52,100 A to je to, co bude Klíčovým problémem v obou nastaven na nulu 217 00:55:52,100 --> 00:55:55,970 a programování obecněji je aby tyto velmi úmyslné dětské krůčky. 218 00:55:55,970 --> 00:55:59,390 Vzhledem k tomu, nejenže vám umožní cítit upřímně dosáhnout mnohem 219 00:55:59,390 --> 00:56:01,250 quickly-- je to Nejhorší věc na světě 220 00:56:01,250 --> 00:56:06,149 pokusit se realizovat všechny Oscar Time, Pak hodin později narazí na zelenou vlajku, 221 00:56:06,149 --> 00:56:08,440 a nic nefunguje, jak se očekávalo protože pokud se vůbec 222 00:56:08,440 --> 00:56:11,150 začnou ladit nebo řešit tento program? 223 00:56:11,150 --> 00:56:12,470 Je to prostě ohromující. 224 00:56:12,470 --> 00:56:16,792 >> A tak opravdu pohlcující tuto myšlenku přijet steps-- dítě kroky znovu 225 00:56:16,792 --> 00:56:19,000 a again-- vybudování něco, co je v konečném důsledku, 226 00:56:19,000 --> 00:56:23,672 Opravdu působivé a složitá, ale Zpočátku, není zdaleka tolik tak. 227 00:56:23,672 --> 00:56:24,630 Ve skutečnosti, jdeme na to. 228 00:56:24,630 --> 00:56:28,989 Nech mě jít napřed a-- Scratch sám existuje na webu na adrese Scratch.MIT.edu, 229 00:56:28,989 --> 00:56:30,780 a budete řečeno, jako Kolik opět v problémových 230 00:56:30,780 --> 00:56:34,200 nastaven na nulu, ve specifikaci který je již na internetových stránkách CS50 je. 231 00:56:34,200 --> 00:56:35,725 >> Ale to je to, co Scratch je sám o sobě. 232 00:56:35,725 --> 00:56:38,210 A je tu opravdu jen Tři hlavní oblasti. 233 00:56:38,210 --> 00:56:40,980 Nahoře vlevo je takzvaná fáze. 234 00:56:40,980 --> 00:56:41,810 To je Scratch. 235 00:56:41,810 --> 00:56:43,710 Výchozí kostým je kočka. 236 00:56:43,710 --> 00:56:46,950 A to je obdélníkový svět které si můžete move-- nahoru, dolů, doleva, 237 00:56:46,950 --> 00:56:48,130 doprava a některé další věci. 238 00:56:48,130 --> 00:56:51,839 Ve středu tady jsou naše kategorie nebo naši palety skládačky, 239 00:56:51,839 --> 00:56:53,630 a různé barvy znamenat různé věci. 240 00:56:53,630 --> 00:56:56,520 A pokud jste hrabat kolem sebe, uvidíte věci jako smyček a podmínek 241 00:56:56,520 --> 00:56:58,160 a proměnné a další složky. 242 00:56:58,160 --> 00:57:00,060 >> A pak tady je oblast skripty. 243 00:57:00,060 --> 00:57:03,020 To je místo, kde mohu přetáhnout tyto kousky skládačky dělat věci. 244 00:57:03,020 --> 00:57:04,690 Takže pojďme udělat jednu takovou věc. 245 00:57:04,690 --> 00:57:06,630 Nech mě jít napřed a-- a já vím, kde to je. 246 00:57:06,630 --> 00:57:10,110 Takže jdu okamžitě kliknout na kde vím, že věci jsou připraveni být, 247 00:57:10,110 --> 00:57:13,140 ale ukázal a kliknutím a šťourat jsou nevyhnutelné. 248 00:57:13,140 --> 00:57:15,320 Takže když zelená vlajka kliknutí co chci dělat? 249 00:57:15,320 --> 00:57:17,100 Chystám se to udělat. 250 00:57:17,100 --> 00:57:20,699 Chystám se přetáhnout fialová puzzle kus, pozdravit po dobu dvou sekund, 251 00:57:20,699 --> 00:57:21,490 a dejte mi přiblížit. 252 00:57:21,490 --> 00:57:23,865 >> A já jdu to změnit za to, co chci, aby to be-- 253 00:57:23,865 --> 00:57:26,471 hello world po dobu dvou sekund je v pořádku. 254 00:57:26,471 --> 00:57:28,970 Teď jdu kliknout na zelenou vlajkou, nebo jestli opravdu chci, 255 00:57:28,970 --> 00:57:31,820 Mohu ho plném rozsahu a pak se vrátit. 256 00:57:31,820 --> 00:57:34,060 To bude jen udržovat vše v jednom okně. 257 00:57:34,060 --> 00:57:36,141 Green flag-- hello world. 258 00:57:36,141 --> 00:57:36,640 Dobře. 259 00:57:36,640 --> 00:57:38,789 Ne všichni to zajímavé. 260 00:57:38,789 --> 00:57:40,080 Tak nech mě jít dopředu a to udělat. 261 00:57:40,080 --> 00:57:41,038 Zkusím ještě jednu. 262 00:57:41,038 --> 00:57:44,740 Když zelená vlajka clicked-- pojďme něco takového zvuku. 263 00:57:44,740 --> 00:57:46,880 A všimněte si, že z box zdarma dostanete 264 00:57:46,880 --> 00:57:49,910 kočka zvuk, jako je výchozí sprite. 265 00:57:49,910 --> 00:57:52,380 Takže teď nech mě jít dopředu a hit zelenou vlajku teď. 266 00:57:52,380 --> 00:57:53,224 >> [Mňoukání] 267 00:57:53,224 --> 00:57:54,490 >> Aw. 268 00:57:54,490 --> 00:57:55,370 To je roztomilé. 269 00:57:55,370 --> 00:57:57,040 Jsem programování. 270 00:57:57,040 --> 00:57:58,550 Tak co jsem to udělal? 271 00:57:58,550 --> 00:58:00,430 To je ekvivalent programu. 272 00:58:00,430 --> 00:58:01,600 Je to samozřejmě super jednoduché. 273 00:58:01,600 --> 00:58:05,300 To přece není opravdu brát tak moc úsilí a MIT dělal většinu z práce, 274 00:58:05,300 --> 00:58:07,890 ale já jsem volal funkci. 275 00:58:07,890 --> 00:58:08,940 Použil jsem funkci. 276 00:58:08,940 --> 00:58:12,480 Udělal jsem nějakou akci, pouze pomocí že jeden purpurové skládačky. 277 00:58:12,480 --> 00:58:15,960 >> No, jestli chci dělat Tři meows v řadě? 278 00:58:15,960 --> 00:58:18,570 Nech mě jít dopředu a udělat dva a tři. 279 00:58:18,570 --> 00:58:20,910 A všimněte si, že když vás vznášet se v blízkosti kousek skládačky, 280 00:58:20,910 --> 00:58:22,970 Objeví se trochu bílá čára druh magneticky, 281 00:58:22,970 --> 00:58:25,190 a to bude snap spolu, když pustíte. 282 00:58:25,190 --> 00:58:26,600 Podívejme se, co se zde děje. 283 00:58:26,600 --> 00:58:27,920 >> [Mňoukání] 284 00:58:27,920 --> 00:58:32,390 285 00:58:32,390 --> 00:58:34,510 >> Tam je chyba. 286 00:58:34,510 --> 00:58:35,650 Jen jsem slyšel jednu mňoukání. 287 00:58:35,650 --> 00:58:37,440 Proč by to mohlo být? 288 00:58:37,440 --> 00:58:39,001 To jo? 289 00:58:39,001 --> 00:58:39,500 To jo. 290 00:58:39,500 --> 00:58:41,650 Nemáme opravdu slyšet, ale to je dobré intuice. 291 00:58:41,650 --> 00:58:43,400 Jsou všichni hrají ve stejnou dobu. 292 00:58:43,400 --> 00:58:44,000 Proč? 293 00:58:44,000 --> 00:58:46,587 No, počítač je jen tak dělat to, co si to říct dělat. 294 00:58:46,587 --> 00:58:48,670 Takže když říkáte, přehrávat zvuk, přehrát zvuk, přehrávat zvuk, 295 00:58:48,670 --> 00:58:52,887 ale neříkejte to hrát, dokud budete hotovi, hrát, dokud budete hotovi, 296 00:58:52,887 --> 00:58:54,970 to bude profouknout Program opravdu rychle 297 00:58:54,970 --> 00:58:56,830 a to pouze to, co si to říct dělat. 298 00:58:56,830 --> 00:58:59,040 >> Tak jsem skutečně potřebují opravit to v několika ohledech. 299 00:58:59,040 --> 00:59:00,623 Mohl bych jen to, jak se zbavit toho. 300 00:59:00,623 --> 00:59:04,180 Zkusím tu druhou hádanku piece-- přehrávat zvukové mňau do práce, 301 00:59:04,180 --> 00:59:07,072 a přetáhněte tři Tyto a klepněte na tlačítko Přehrát. 302 00:59:07,072 --> 00:59:09,430 >> [Mňoukání] 303 00:59:09,430 --> 00:59:13,350 >> Není to opravdu very-- Děkuji vás-- velmi přirozené. 304 00:59:13,350 --> 00:59:16,590 Tak proč ne nechat já-- mě jít chcete ovládat. 305 00:59:16,590 --> 00:59:17,090 Pěkný. 306 00:59:17,090 --> 00:59:22,230 Počkejte jednu sekundu, a teď nech mě jít zpět zvuky a přehrávat zvukové do práce, 307 00:59:22,230 --> 00:59:24,620 a pak mě nech počkat jednu sekundu. 308 00:59:24,620 --> 00:59:28,692 A nechte mě jít a dostat jeden více zvuku, a je to tady. 309 00:59:28,692 --> 00:59:31,350 >> [Mňoukání] 310 00:59:31,350 --> 00:59:35,930 >> O něco přirozenější, ale to není příliš efektivní. 311 00:59:35,930 --> 00:59:39,830 Jak už jsem se začínal nudit, všichni to stručně, kliknutím sem a tam 312 00:59:39,830 --> 00:59:42,724 a skutečně duplikování svou work-- docela hodně kopírování a vkládání. 313 00:59:42,724 --> 00:59:44,640 Ve skutečnosti, když jsem Ovládací klepnutí nebo vpravo kliknutí 314 00:59:44,640 --> 00:59:46,500 Mohl jsem jen zkopírovat a vložit. 315 00:59:46,500 --> 00:59:49,870 Co by bylo lepší postavit používat? 316 00:59:49,870 --> 00:59:51,090 Co nápad před rokem? 317 00:59:51,090 --> 00:59:51,990 >> Jo, takže smyčka. 318 00:59:51,990 --> 00:59:54,580 A ve skutečnosti, kdybychom tropil kolem, můžeme najít přesně to. 319 00:59:54,580 --> 00:59:57,730 Nechte mě jít k událostem či spíše Control. 320 00:59:57,730 --> 00:59:59,650 Takže repeat-- nemám chci, aby to bylo 10 krát. 321 00:59:59,650 --> 01:00:01,370 Že to bude mít nepříjemné rychle. 322 01:00:01,370 --> 01:00:03,380 Ale budu opakovat třikrát. 323 01:00:03,380 --> 01:00:06,355 Nech mě jít zpátky do zdravé a přehrát zvuk, dokud se to dělá. 324 01:00:06,355 --> 01:00:08,480 Nech mě jít zpátky do Control a jen čekat jednu sekundu. 325 01:00:08,480 --> 01:00:10,271 A oznámení, můžete myslím, že to nesedí, 326 01:00:10,271 --> 01:00:13,520 ale znovu, pokud magneticky ji nechat snap na svém místě, bude růst zaplnit. 327 01:00:13,520 --> 01:00:14,971 Co to hraje teď? 328 01:00:14,971 --> 01:00:18,500 >> [Mňoukání] 329 01:00:18,500 --> 01:00:19,000 OK. 330 01:00:19,000 --> 01:00:19,660 Pěkný. 331 01:00:19,660 --> 01:00:22,540 A to je to, co by byl nazýván program, který je také správná. 332 01:00:22,540 --> 01:00:27,590 To meowed třikrát poměrně přirozeně, ale je to lepší design. 333 01:00:27,590 --> 01:00:29,580 Já používám menší míry redundance dat. 334 01:00:29,580 --> 01:00:30,970 Nechtěl jsem zkopírovat a vložit cokoliv. 335 01:00:30,970 --> 01:00:32,470 Jen jsem použil lepší nápad. 336 01:00:32,470 --> 01:00:35,340 >> Nyní je to stále není vše, Zajímavý s Scratch nedělá 337 01:00:35,340 --> 01:00:35,930 nic. 338 01:00:35,930 --> 01:00:37,388 Takže pojďme dělat něco jiného místo. 339 01:00:37,388 --> 01:00:38,670 Udělejme něco navždy. 340 01:00:38,670 --> 01:00:39,420 A víte co? 341 01:00:39,420 --> 01:00:40,470 Motion vypadá zajímavě. 342 01:00:40,470 --> 01:00:45,760 Pojďme se pohnul 10 Kroky a hit hru teď. 343 01:00:45,760 --> 01:00:46,570 >> OK. 344 01:00:46,570 --> 01:00:49,300 No můžeme trochu táhnout ho zpátky, a je pořád 345 01:00:49,300 --> 01:00:51,250 spuštěna, protože on to dělá navždy. 346 01:00:51,250 --> 01:00:53,150 Takže smyčka dělá co to říká dělat, 347 01:00:53,150 --> 01:00:54,650 ale to není všechno tak zajímavé. 348 01:00:54,650 --> 01:00:55,310 Pojďme to udělat. 349 01:00:55,310 --> 01:00:59,870 Dovolte mi dodat řídicí blok, a použít jeden z těchto podmínek poprvé. 350 01:00:59,870 --> 01:01:03,119 >> Tak to bude pohybovat 10 steps-- 10 bodů, 10 bodů na screen-- 351 01:01:03,119 --> 01:01:04,660 pak to bude ptát na tuto otázku. 352 01:01:04,660 --> 01:01:09,340 Je-li něco je pravda, pak to něco uvnitř tohoto bloku. 353 01:01:09,340 --> 01:01:13,060 Tak se ukazuje, snímání má celek banda booleovské expressions-- 354 01:01:13,060 --> 01:01:16,580 otázky ANO ne, nebo pravda false form-- nech mě to udělat. 355 01:01:16,580 --> 01:01:19,260 >> Pokud touching-- a pak je tu tento malý rozbalovacího menu. 356 01:01:19,260 --> 01:01:20,410 Mohu to parametrizaci. 357 01:01:20,410 --> 01:01:23,010 Pokud se dotknete edge-- pojďme něco takového udělat. 358 01:01:23,010 --> 01:01:27,310 Takže pokud se dotýká edge-- nech mě jít zpátky do pohybu. 359 01:01:27,310 --> 01:01:32,281 A proč ne my jen otočit o 180 stupňů? 360 01:01:32,281 --> 01:01:32,780 Dobře. 361 01:01:32,780 --> 01:01:35,070 Takže navždy, přesunout 10 kroků. 362 01:01:35,070 --> 01:01:37,670 Pokud se dotknete hrana, otočit o 180 stupňů. 363 01:01:37,670 --> 01:01:39,720 A to není konec programu protože jste v navždy zablokovat 364 01:01:39,720 --> 01:01:42,053 takže to půjde znovu a znovu a znovu a znovu. 365 01:01:42,053 --> 01:01:43,980 Tak uvidíme, co se stane. 366 01:01:43,980 --> 01:01:44,785 OK. 367 01:01:44,785 --> 01:01:48,270 Trochu buggy, ale docela fajn. 368 01:01:48,270 --> 01:01:51,710 >> A můžeme přidat k tomu nějaké hlouposti že nejsou všichni, že intelektuálně 369 01:01:51,710 --> 01:01:52,270 zajímavý. 370 01:01:52,270 --> 01:01:57,210 Ale pokud se tento malý hit mikrofon button-- Au. 371 01:01:57,210 --> 01:01:58,480 Nech mě očistit to. 372 01:01:58,480 --> 01:02:01,540 Nech mě to jako posílení říkali v televizi. 373 01:02:01,540 --> 01:02:05,400 Vyčistit, tak to Save a teď jít až na skripty. 374 01:02:05,400 --> 01:02:07,500 >> A teď, nech mě jít, aby to znělo. 375 01:02:07,500 --> 01:02:09,002 Uvedu to jméno. 376 01:02:09,002 --> 01:02:12,440 Zavolám tento Ouch. 377 01:02:12,440 --> 01:02:13,840 A teď hrají zvuku Ouch. 378 01:02:13,840 --> 01:02:16,520 zdá se v oznámení Trochu rozbalovacího menu. 379 01:02:16,520 --> 01:02:17,612 Uvidíme. 380 01:02:17,612 --> 01:02:20,444 >> [OUCH] 381 01:02:20,444 --> 01:02:24,377 >> [SMAVÝ] 382 01:02:24,377 --> 01:02:25,835 Ale můžeme změnit t jeho chodu. 383 01:02:25,835 --> 01:02:28,106 Můžeme být dvakrát tak nepříjemné. 384 01:02:28,106 --> 01:02:31,760 >> [OUCH] 385 01:02:31,760 --> 01:02:35,332 >> Nebo pokud uděláme to takhle 1000 kroků na první time-- 386 01:02:35,332 --> 01:02:39,900 387 01:02:39,900 --> 01:02:40,670 >> OK. 388 01:02:40,670 --> 01:02:42,295 Takže budeme že jeden nechat na pokoji. 389 01:02:42,295 --> 01:02:45,290 Takže znovu, stavební blocks-- I začal s něčím super jednoduché, 390 01:02:45,290 --> 01:02:47,930 a pak jsem přidal funkci, přidal funkci, přidal funkci. 391 01:02:47,930 --> 01:02:50,721 A už musím se obávat jak první z těchto vlastností 392 01:02:50,721 --> 01:02:53,690 byl realizován jak jsem pokračovat do vrstvy, co nahoře. 393 01:02:53,690 --> 01:02:55,430 Takže ve skutečnosti, dovolte mi proveďte jednu další zde. 394 01:02:55,430 --> 01:03:00,580 Nech mě jít dopředu a otevřít soubor, který Přinesl jsem předem, tzv ovce. 395 01:03:00,580 --> 01:03:03,970 >> Tak to má poněkud odlišný Znak, který vypadá takto. 396 01:03:03,970 --> 01:03:07,370 A dovolte mi, abych zjistil, jestli nemohu dělat něco, pomocí počítadla 397 01:03:07,370 --> 01:03:09,310 v tomto case-- tzv proměnné. 398 01:03:09,310 --> 01:03:15,540 Chystám se jít dopředu a pod Events-- dovolte mi, abych zelená vlajka klepnutí. 399 01:03:15,540 --> 01:03:19,030 Tak mě nech jít do Data, která vím, z těsně předtím, než hrál, 400 01:03:19,030 --> 01:03:20,214 je místo, kde proměnné jsou. 401 01:03:20,214 --> 01:03:21,880 A já jdu dál a přetáhnout. 402 01:03:21,880 --> 01:03:25,144 >> Takže proměnná s názvem pult, a Chystám se ji inicializovat na nulu. 403 01:03:25,144 --> 01:03:27,560 I to může volat anything-- x nebo y nebo Z-, ale při programování, 404 01:03:27,560 --> 01:03:30,410 volá něco sémanticky užitečný způsob, stejně jako pult, 405 01:03:30,410 --> 01:03:34,540 který popisuje, co to je, je to mnohem snazší číst váš kód později. 406 01:03:34,540 --> 01:03:37,460 Nech mě jít dopředu a dostat navždy zablokovat zde. 407 01:03:37,460 --> 01:03:41,289 A nech mě jít na vzhled stránky a dělat Say blok. 408 01:03:41,289 --> 01:03:44,330 Ale to, co je v pohodě o proměnných I Nemusíte psát jen v něčem 409 01:03:44,330 --> 01:03:47,850 jako hello world, kterou jsme už jsem hotovo, můžu místo toho jít do dat 410 01:03:47,850 --> 01:03:50,690 a táhnout svůj proměnnou, a to i i když tvar není úplně 411 01:03:50,690 --> 01:03:53,000 vypadat, že by se měla vejít, bude se rozšiřovat zaplnit. 412 01:03:53,000 --> 01:03:58,396 A já budu jen říct, počítadlo pro jeden second-- spoiler-- že to bude počítat. 413 01:03:58,396 --> 01:04:00,380 Budeme to říci za jednu sekundu. 414 01:04:00,380 --> 01:04:02,840 Pak jsem jdu a nechat ho čekat na jednu sekundu, 415 01:04:02,840 --> 01:04:04,650 takže se to nepočítá se příliš rychle. 416 01:04:04,650 --> 01:04:08,430 A pak konečně změnit počítadlo podle one-- jinými slovy, 417 01:04:08,430 --> 01:04:13,520 zvýšit počítadlo o jednu dodatečný přínos, a to navždy. 418 01:04:13,520 --> 01:04:16,129 >> Takže ovce taky, jako když programátor, se počítá od 0 ° C. 419 01:04:16,129 --> 01:04:20,350 420 01:04:20,350 --> 01:04:23,740 A pokud budeme čekat dost dlouho, Udělá to navždy. 421 01:04:23,740 --> 01:04:27,740 Ale to není tak docela pravda, protože Ve skutečnosti, jak budeme objevovat v jednom týdnu, 422 01:04:27,740 --> 01:04:31,871 celá čísla a počítače obecněji technicky má jen finite-- dobře, 423 01:04:31,871 --> 01:04:33,829 spíše počítače, když představují celá čísla, 424 01:04:33,829 --> 01:04:35,670 mají jen konečný počet bitů. 425 01:04:35,670 --> 01:04:37,860 Tyto žárovky tam může počítat jen tak vysoko 426 01:04:37,860 --> 01:04:39,239 Než jste mimo žárovek. 427 01:04:39,239 --> 01:04:41,590 A počítač příliš, má jen tolik paměti, 428 01:04:41,590 --> 01:04:44,640 má jen tolik tranzistorů, tak to může počítat jen tak vysoko. 429 01:04:44,640 --> 01:04:47,409 >> Tak to dopadá, že ovce, Myslím, že se mohou spolehnout na 2 miliardy 430 01:04:47,409 --> 01:04:48,409 nebo něco docela velký. 431 01:04:48,409 --> 01:04:50,325 Takže my nebudeme počkat, aby se to stalo. 432 01:04:50,325 --> 01:04:54,850 Ale nakonec nějaký bug bude dít které mohou mít některé velmi reálný svět 433 01:04:54,850 --> 01:04:55,970 důsledky. 434 01:04:55,970 --> 01:04:58,861 Ale za ovcemi, právě zavádí proměnné. 435 01:04:58,861 --> 01:05:01,110 Pojďme dál a otevřít něco, co jsem udělal v předstihu 436 01:05:01,110 --> 01:05:07,430 Zde volal Pet Cat-- Pet Cat sem. 437 01:05:07,430 --> 01:05:10,420 A všimněte si, tady je to málo bloky, ale když zelená vlajka 438 01:05:10,420 --> 01:05:12,474 klepnutí navždy dělat následující. 439 01:05:12,474 --> 01:05:15,265 Pokud se dotknete myši pointer-- tak se kurzor na obrazovce, 440 01:05:15,265 --> 01:05:18,529 arrow-- přehrávat zvuk mňau a pak čekat dvě sekundy. 441 01:05:18,529 --> 01:05:19,570 A právě to navždy. 442 01:05:19,570 --> 01:05:22,619 Jen neustále čekat aby zjistil, zda v pointer-- 443 01:05:22,619 --> 01:05:24,710 v případě, že kočka se dotýká ukazatel. 444 01:05:24,710 --> 01:05:26,060 >> Tak jsem trefil hru. 445 01:05:26,060 --> 01:05:26,920 Nic se neděje. 446 01:05:26,920 --> 01:05:28,980 Ale jak jsem se přesunout kurzor na kočku, 447 01:05:28,980 --> 01:05:31,960 >> [Mňoukání] 448 01:05:31,960 --> 01:05:34,750 >> A jestli jsem to vzdálit, nikoli hladila kočku ještě. 449 01:05:34,750 --> 01:05:38,090 Takže někteří podmíněná logika vnořená uvnitř smyčky. 450 01:05:38,090 --> 01:05:43,070 Jak se o tomto příkladu úmyslně volal Nenechte Pet Cat? 451 01:05:43,070 --> 01:05:45,253 Co se to bude dělat? 452 01:05:45,253 --> 01:05:47,880 >> [Mňoukání] 453 01:05:47,880 --> 01:05:50,215 >> Proč byste neměli pet kočku? 454 01:05:50,215 --> 01:05:59,440 >> [Mňoukání] 455 01:05:59,440 --> 01:06:00,699 >> OK. 456 01:06:00,699 --> 01:06:03,880 Takže toto je příklad if else. 457 01:06:03,880 --> 01:06:06,482 Je to rozhodnutí, bod a protože to sedí ve smyčce, 458 01:06:06,482 --> 01:06:07,690 oba jsou stále kontrolována. 459 01:06:07,690 --> 01:06:08,280 Je to pravda? 460 01:06:08,280 --> 01:06:08,760 Je to pravda? 461 01:06:08,760 --> 01:06:09,250 Je to pravda? 462 01:06:09,250 --> 01:06:09,791 Je to pravda? 463 01:06:09,791 --> 01:06:11,880 A nakonec, jeden z ty, které se bude aplikovat 464 01:06:11,880 --> 01:06:16,480 a tak uslyšíte buď mňau nebo řev lva v této věci. 465 01:06:16,480 --> 01:06:21,400 >> Dobře, pojďme udělat něco více vymyšleného jeden že jsem udělal předem too-- závity. 466 01:06:21,400 --> 01:06:25,210 Takže vlákno je jen jedna věc, že ​​počítač může dělat. 467 01:06:25,210 --> 01:06:29,349 Takže program multi-závitové je program že může dělat více věcí najednou. 468 01:06:29,349 --> 01:06:31,140 A všechny tyto příklady Dosud měli 469 01:06:31,140 --> 01:06:35,980 jen jeden scénář, tak speak-- jeden program takhle tady. 470 01:06:35,980 --> 01:06:38,810 Nevšimnout tento program má dva skřítci, dva znaky. 471 01:06:38,810 --> 01:06:40,020 Jedním z nich je pták. 472 01:06:40,020 --> 01:06:40,870 Jedním z nich je kočka. 473 01:06:40,870 --> 01:06:45,080 >> A všimněte si, když jsem kliknout na těchto dolů levá, každý z nich má své vlastní skripty 474 01:06:45,080 --> 01:06:47,120 nebo programy jsou s nimi spojeny. 475 01:06:47,120 --> 01:06:49,420 A to jak těch, programy, oznámení, začátek 476 01:06:49,420 --> 01:06:52,600 s při Zelená vlajka clicked-- pojďme se podívat na cat-- 477 01:06:52,600 --> 01:06:54,030 Při kliknutí na zelenou vlajkou. 478 01:06:54,030 --> 01:06:58,220 A tak opravdu, když jsem trefil hrát teď, dvě věci jsou bude dít najednou. 479 01:06:58,220 --> 01:07:01,750 Kočka a pták jsou oba bude fungovat souběžně 480 01:07:01,750 --> 01:07:03,815 k vytvoření tohoto efektu. 481 01:07:03,815 --> 01:07:05,440 A jste si možná představit, co se děje. 482 01:07:05,440 --> 01:07:08,340 Je tu smyčku a pták a kočky jsou ve smyčce. 483 01:07:08,340 --> 01:07:11,270 Pták je stejně jako odrážení Byl jsem předtím, když jsem řekl Au. 484 01:07:11,270 --> 01:07:13,040 Ale kočka má jednoznačně výhodu. 485 01:07:13,040 --> 01:07:16,040 Je tu další snímací blok který ukazuje kočku záměrně 486 01:07:16,040 --> 01:07:19,836 na ptáka v tomto případě zde. 487 01:07:19,836 --> 01:07:22,960 Takže bychom mohli dráždit od sebe, při pohledu prostřednictvím těchto bloků, co se děje. 488 01:07:22,960 --> 01:07:25,460 Ale klíčovou složkou tady je jeden. 489 01:07:25,460 --> 01:07:28,520 Pták, takže tato hra není zcela boring-- nebo to animation-- 490 01:07:28,520 --> 01:07:30,060 začíná v náhodném směru. 491 01:07:30,060 --> 01:07:32,890 A počítač je vychystávání číslo mezi 90 a 180 492 01:07:32,890 --> 01:07:36,110 v podstatě tak, že je o něco odlišné animace pokaždé. 493 01:07:36,110 --> 01:07:39,480 >> A Všimněte si zde, v případě, že kočka se dotýká ptáka, pak 494 01:07:39,480 --> 01:07:42,030 hrát lva čtyři sound-- řevu. 495 01:07:42,030 --> 01:07:46,330 Ale mezitím v pták paleta, máme to. 496 01:07:46,330 --> 01:07:49,229 Forever, ne-li dotýká kočku, Jen dál tři kroky. 497 01:07:49,229 --> 01:07:50,770 A pak je tu další kousek skládačky. 498 01:07:50,770 --> 01:07:52,030 Pokud jste na hraně, odskočit. 499 01:07:52,030 --> 01:07:54,840 Takže pták je tak nějak hlídání své vlastní podnikání, 500 01:07:54,840 --> 01:07:57,330 Jen létání kolem a poskakování, a je to opravdu 501 01:07:57,330 --> 01:08:01,780 kočka, která měla podmíněné logiky zjistit, zda to chytil ptáka. 502 01:08:01,780 --> 01:08:02,280 Dobře. 503 01:08:02,280 --> 01:08:08,800 Takže pojďme dělat s jedním dalším tady, tahle volána Hi Hi Hi. 504 01:08:08,800 --> 01:08:15,100 A tenhle tady právě dělá to v navždy smyčce. 505 01:08:15,100 --> 01:08:18,925 Ale notice-- jak jsme zastavit Tento velmi nepříjemné programu? 506 01:08:18,925 --> 01:08:21,600 507 01:08:21,600 --> 01:08:22,640 Hit mezerníku. 508 01:08:22,640 --> 01:08:27,990 Protože jestli to udělám, levá ruka program-- 509 01:08:27,990 --> 01:08:31,550 Všimněte si, že je to stále listening-- je klíčem prostor stiskněte tlačítko. 510 01:08:31,550 --> 01:08:34,090 V případě, že mezerník lisované, a pokud ano, co to dělá? 511 01:08:34,090 --> 01:08:35,980 To dělá velmi časté technikou. 512 01:08:35,980 --> 01:08:38,590 Stanoví proměnné rovná nějakou hodnotu. 513 01:08:38,590 --> 01:08:39,741 Ale to přepíná tuto hodnotu. 514 01:08:39,741 --> 01:08:41,490 [? Tak vzhled?] na základě shape-- I 515 01:08:41,490 --> 01:08:43,160 mají proměnné, které jsem napsal předem nazvaný 516 01:08:43,160 --> 01:08:44,770 Ztlumen, který jen říká, že ano, nebo ne. 517 01:08:44,770 --> 01:08:45,880 Je zvuk ztlumen nebo ne? 518 01:08:45,880 --> 01:08:46,990 Pravda nebo lež? 519 01:08:46,990 --> 01:08:51,580 A oznámení, říkám-li tohle-- tlumené je nula, pak se změní na jednu, 520 01:08:51,580 --> 01:08:53,840 jinak má hodnotu mute to na nulu. 521 01:08:53,840 --> 01:08:55,540 Takže stačí otočit hodnotu od nuly do jedné. 522 01:08:55,540 --> 01:08:58,320 Mohl bych mít done-- změnit ze dvou na tři a tří na dva 523 01:08:58,320 --> 01:09:00,162 nebo čtyři až pět nebo čtyři až šest. 524 01:09:00,162 --> 01:09:01,870 Ale to nevadí co čísla, které používám, 525 01:09:01,870 --> 01:09:04,090 tak dlouho, jak budu držet měnící se to opak. 526 01:09:04,090 --> 01:09:07,290 >> A většina jakýkoliv programátor by jen zvolit nula a one-- nepravdivé a pravdivé, 527 01:09:07,290 --> 01:09:09,510 off a on-- reprezentovat to. 528 01:09:09,510 --> 01:09:10,930 A to stále běží. 529 01:09:10,930 --> 01:09:12,190 Pokud jsem narazila na mezerníku znovu 530 01:09:12,190 --> 01:09:13,590 >> [SEAL tóny] 531 01:09:13,590 --> 01:09:15,440 >> Tento program stále běží. 532 01:09:15,440 --> 01:09:18,400 Vzhledem k tomu, že je to jiný scénář který říká, navždy proveďte následující. 533 01:09:18,400 --> 01:09:21,390 534 01:09:21,390 --> 01:09:24,770 Pokud je ztlumen proměnná rovná zero-- takže pokud nejste ztlumen 535 01:09:24,770 --> 01:09:29,609 je logic-- jestli je to falešná nebo ne, pak přehrát zvuk, 536 01:09:29,609 --> 01:09:30,650 protože nejste ztlumen. 537 01:09:30,650 --> 01:09:33,358 Měli byste hrát zvuk a následně myslím, hi hi hi po dobu dvou sekund 538 01:09:33,358 --> 01:09:35,790 a pak čekat, a to znovu a znovu a znovu. 539 01:09:35,790 --> 01:09:40,760 >> A tak tímto způsobem můžeme mít cestu lidé to-- pro programy k interakci. 540 01:09:40,760 --> 01:09:43,120 A nemají na tak, jak je starý jako ostatní. 541 01:09:43,120 --> 01:09:46,280 Ve skutečnosti, strkat around-- žádná slovní hříčka intended-- 542 01:09:46,280 --> 01:09:49,250 někdo strávil obrovské množství Čas na internetu prováděcím 543 01:09:49,250 --> 01:09:51,580 PokemonGo do nuly. 544 01:09:51,580 --> 01:09:55,440 To vám dokonce geolocates v Cambridge nebo Allston zde. 545 01:09:55,440 --> 01:10:03,120 Takže pokud chcete vidět i to, co lidé můžete udělat, je tohle-- velmi efektní nabídka. 546 01:10:03,120 --> 01:10:04,780 Klikněte na zde. 547 01:10:04,780 --> 01:10:07,430 >> To je mi s šipkami nyní. 548 01:10:07,430 --> 01:10:09,446 Chystám se jít po tomto. 549 01:10:09,446 --> 01:10:09,946 Klepněte na tlačítko. 550 01:10:09,946 --> 01:10:12,949 551 01:10:12,949 --> 01:10:14,240 A teď klepnete na Pokeball. 552 01:10:14,240 --> 01:10:17,130 553 01:10:17,130 --> 01:10:20,260 Myslím, myslím, že jsi Předpokládá kliknout na Pokeball. 554 01:10:20,260 --> 01:10:20,760 Dobře. 555 01:10:20,760 --> 01:10:22,680 Tak jsem to udělal. 556 01:10:22,680 --> 01:10:23,950 Můžu jít sem. 557 01:10:23,950 --> 01:10:27,790 A tato osoba realizovány některé další PokeBalls přes here-- tří PokeBalls. 558 01:10:27,790 --> 01:10:29,950 >> Budeme poslat odkaz na tuto on-line, takže můžete hrát. 559 01:10:29,950 --> 01:10:32,364 Ale oznámení je tu jen některé základní stavební kameny. 560 01:10:32,364 --> 01:10:33,780 Vypadá to hodně milovník, a to je. 561 01:10:33,780 --> 01:10:35,905 To je impozantní a další než bychom obvykle 562 01:10:35,905 --> 01:10:37,740 Očekáváme, jistě za problém nastavit nulu. 563 01:10:37,740 --> 01:10:40,809 Nemám ponětí, jak dlouho tato osoba strávený on-line. 564 01:10:40,809 --> 01:10:41,850 Ale je to všechno jen smyčka. 565 01:10:41,850 --> 01:10:43,180 Je tu přehrávání zvuku. 566 01:10:43,180 --> 01:10:44,850 Je tu nějaká smyčky naslouchá, jestli jsem 567 01:10:44,850 --> 01:10:47,558 bít na šipku nahoru nebo dolů Šipka nebo levá a pravá, 568 01:10:47,558 --> 01:10:49,834 a pak pokud ano, je to v pohybu to nějaký počet pixelů. 569 01:10:49,834 --> 01:10:51,750 A pak když jsem klikněte na Dalším sprite, je tu 570 01:10:51,750 --> 01:10:53,390 nějaký Pokud existuje podmínka. 571 01:10:53,390 --> 01:10:54,806 Jo, to už je příliš intenzivní. 572 01:10:54,806 --> 01:10:56,100 Budeme zastavit. 573 01:10:56,100 --> 01:10:57,750 Je to všechny ty základní stavební kameny. 574 01:10:57,750 --> 01:11:01,530 Nejsou tam žádné jiné další přísady než ty, které jsme se podíval na již. 575 01:11:01,530 --> 01:11:04,670 >> A přesto tady, nech mě dělat jedna závěrečná sada příkladů 576 01:11:04,670 --> 01:11:06,960 že maluje obraz příliš o tom, co můžete udělat zde. 577 01:11:06,960 --> 01:11:10,481 Zde je velmi jednoduchý program, který právě dělá tohle-- kašel, kašel, kašel. 578 01:11:10,481 --> 01:11:12,480 A založeno pouze na to, co Podívali jsme se na tak daleko, 579 01:11:12,480 --> 01:11:14,570 kde je zřejmý příležitost pro zlepšení. 580 01:11:14,570 --> 01:11:15,570 Tento program je správná. 581 01:11:15,570 --> 01:11:17,980 To kašle třikrát, což je to, co jsem chtěl. 582 01:11:17,980 --> 01:11:19,650 Ale je to špatně provedena. 583 01:11:19,650 --> 01:11:20,600 Je to špatně navržen. 584 01:11:20,600 --> 01:11:22,000 Proč? 585 01:11:22,000 --> 01:11:22,500 To jo. 586 01:11:22,500 --> 01:11:23,230 Není to smyčka. 587 01:11:23,230 --> 01:11:24,610 A to není tak moc že to není smyčka, 588 01:11:24,610 --> 01:11:26,400 je to, že je tu spousta redundance. 589 01:11:26,400 --> 01:11:28,830 Tam se zkopíruje a vložit kód, abych tak řekl. 590 01:11:28,830 --> 01:11:31,830 A roztok byl pravděpodobně je skutečně smyčky. 591 01:11:31,830 --> 01:11:34,350 Tak nech mě jít napřed a zlepšit na to. 592 01:11:34,350 --> 01:11:36,250 A budu táhnout nich tady. 593 01:11:36,250 --> 01:11:39,986 Nech mě jít dopředu a dostat opakování blok, změnit na tři. 594 01:11:39,986 --> 01:11:41,860 Budu vyhodit některé z těchto bloků. 595 01:11:41,860 --> 01:11:43,150 >> A všimněte si, že je to docela intuitivní. 596 01:11:43,150 --> 01:11:45,691 Přetažení a věci objevují a mizí nakonec. 597 01:11:45,691 --> 01:11:49,170 A já si jen přetáhnout to tady, a Teď mám ještě čistší verze. 598 01:11:49,170 --> 01:11:50,730 Ale víte co? 599 01:11:50,730 --> 01:11:52,940 Tam je to příležitost Nyní pro abstraction-- 600 01:11:52,940 --> 01:11:56,350 zahájit definovat nová slovíčka že MIT nepředpokládal. 601 01:11:56,350 --> 01:11:59,110 Je tu čekat a opakování a navždy, a pokud, 602 01:11:59,110 --> 01:12:02,590 ale co když chci představit slovo kašel jako blok? 603 01:12:02,590 --> 01:12:06,230 Co když chci kousek skládačky jehož smyslem života je kašel? 604 01:12:06,230 --> 01:12:10,720 >> Dobře, pojďme se podívat na tuto verzi tady, což jsem udělal takto. 605 01:12:10,720 --> 01:12:13,579 Magicky, jsem vytvořil Tento skládačky tady, 606 01:12:13,579 --> 01:12:14,870 který Scratch vám umožní udělat. 607 01:12:14,870 --> 01:12:16,787 A skutečně C a Python a JavaScript jsou 608 01:12:16,787 --> 01:12:18,370 bude vám umožní to udělat stejně. 609 01:12:18,370 --> 01:12:21,830 Můžete si vytvořit vlastní kousky, které voláte, co chcete. 610 01:12:21,830 --> 01:12:24,890 V tomto případě, kašel cítí jako rozumná definice. 611 01:12:24,890 --> 01:12:27,880 A pak s těmito kousky dolů Zde si můžete definovat, co to znamená. 612 01:12:27,880 --> 01:12:30,290 >> odtáhl jsem a spadl z Tato paleta here-- více 613 01:12:30,290 --> 01:12:33,500 blocks-- tento velký fialová blok, kde jsem napsal při kašli 614 01:12:33,500 --> 01:12:35,290 Jako název mé nové skládačky. 615 01:12:35,290 --> 01:12:39,920 A pak říkám pokaždé, když uživatel žádá, aby tento nový kašel kousek skládačky, 616 01:12:39,920 --> 01:12:41,770 dělat slovo a čekat. 617 01:12:41,770 --> 01:12:46,160 A tak tady v mém opakování bloku, Mohu jen kašel třikrát. 618 01:12:46,160 --> 01:12:49,972 >> A já bych tvrdit, zvláště pokud teď skrýt detail. 619 01:12:49,972 --> 01:12:51,430 Koho zajímá, jak je implementován kašel? 620 01:12:51,430 --> 01:12:54,390 Vše o co se starám jako programátor, že můžu vykašlat. 621 01:12:54,390 --> 01:12:56,280 Nezajímá mě, jak říkají, je implementována. 622 01:12:56,280 --> 01:12:58,620 Jen mě to zajímá, že kočka může něco říct. 623 01:12:58,620 --> 01:13:02,720 Mohu abstraktní pryč, že detail a zaměřit pouze na to, co je na obrazovce zde. 624 01:13:02,720 --> 01:13:04,400 Ale mohu ještě o krok dále trvat. 625 01:13:04,400 --> 01:13:08,070 >> Všimněte si, že tu mám realizován smyčka třikrát. 626 01:13:08,070 --> 01:13:11,560 Ale co když místo toho jsem chytit tuto verzi? 627 01:13:11,560 --> 01:13:14,640 A co když namísto V této verzi zde, 628 01:13:14,640 --> 01:13:18,730 Jen jsem změnit svůj kousek skládačky, aby přijaly argument a vstup sám pro sebe? 629 01:13:18,730 --> 01:13:21,100 A to může být vstup číslo jako tři. 630 01:13:21,100 --> 01:13:24,580 Takže teď, když píšu program A chci kočku ke kašli, 631 01:13:24,580 --> 01:13:28,270 Mohu skutečně říci puzzle poskládat kolikrát ke kašli, 632 01:13:28,270 --> 01:13:31,990 protože na dně tady, milovník verze těchto zakázku dílků 633 01:13:31,990 --> 01:13:34,500 mi umožňuje upřesnit, že kašel vlastně vezme 634 01:13:34,500 --> 01:13:36,951 input-- trvá argument jako je tento. 635 01:13:36,951 --> 01:13:37,700 A víte co? 636 01:13:37,700 --> 01:13:38,890 Možná jsem si uvědomit, počkej. 637 01:13:38,890 --> 01:13:40,680 Kašel je same-- to je zásadně 638 01:13:40,680 --> 01:13:42,120 stejný nápad jako kýchání. 639 01:13:42,120 --> 01:13:44,040 Je to jen jiný Slovo na obrazovce. 640 01:13:44,040 --> 01:13:46,550 Mohu abstraktní pryč dále a realizovat 641 01:13:46,550 --> 01:13:48,750 Tato konečná verze kašel, které na první pohled 642 01:13:48,750 --> 01:13:50,660 je cesta složitější hledá. 643 01:13:50,660 --> 01:13:52,140 Nevšimnout, co jsem udělal. 644 01:13:52,140 --> 01:13:55,930 Mám teď generalized-- genericized really-- tento kousek skládačky 645 01:13:55,930 --> 01:13:59,900 být nazýván říci slovo n-krát. 646 01:13:59,900 --> 01:14:04,410 >> A teď mám dvě nové dílky tady dole definovat kašel n-krát. 647 01:14:04,410 --> 01:14:06,790 A co je funkce kašel dělat? 648 01:14:06,790 --> 01:14:08,420 Co si můj zvyk skládačky dělat? 649 01:14:08,420 --> 01:14:11,996 Je to jen volá řekněme blok, procházející ve slově chci říci, 650 01:14:11,996 --> 01:14:13,870 procházející v počtu kolikrát chci říci. 651 01:14:13,870 --> 01:14:18,210 Vzhledem k tomu teď můžu realizovat kýchání tím, že prostě říká achoo, 652 01:14:18,210 --> 01:14:20,320 V tomto případě, některé kolikrát. 653 01:14:20,320 --> 01:14:22,360 >> A tak jsem vrstvení a vrstvení. 654 01:14:22,360 --> 01:14:25,690 A opět zde klíč není jak jsem implementoval ji, ale skutečnost, 655 01:14:25,690 --> 01:14:28,070 že když jsem jen doslovně přesunout tyto mimo obrazovku, 656 01:14:28,070 --> 01:14:31,280 dívat se, jak jednoduché, ne-li docela můj program nyní vypadá. 657 01:14:31,280 --> 01:14:33,930 Vzhledem k tomu, že dělá to, co říká, jsem abstrahovat 658 01:14:33,930 --> 01:14:37,640 mimo to, co je uvnitř, že černé skříňky. to se stane být fialová box tady, 659 01:14:37,640 --> 01:14:41,430 ale já jsem překážka pryč, co je uvnitř protože mi fuk, jak to funguje. 660 01:14:41,430 --> 01:14:43,650 Já jen jedno, teď, že to funguje. 661 01:14:43,650 --> 01:14:46,375 >> A skutečně, v problému set nula, to je přesně 662 01:14:46,375 --> 01:14:49,250 druh vrstvení nápadů budete mají možnost prozkoumat. 663 01:14:49,250 --> 01:14:53,510 Je to přesně příležitost aplikovat řešení problémů techniky, 664 01:14:53,510 --> 01:14:55,550 s tím, co je nejspíše neznámém prostředí. 665 01:14:55,550 --> 01:14:57,890 A zda jste není naprogramován před nebo naprogramováno, 666 01:14:57,890 --> 01:14:59,500 zjistíte, že je tu něco malého 667 01:14:59,500 --> 01:15:00,874 V tomto prostředí pro každého. 668 01:15:00,874 --> 01:15:02,770 A s problémem set jednou za týden času, 669 01:15:02,770 --> 01:15:06,630 budeme převedeni na zaostřování na vyšší úroveň jazyka zvané 670 01:15:06,630 --> 01:15:09,290 C- nebo spíše nižší jazyková úroveň nazvaný 671 01:15:09,290 --> 01:15:11,347 C-, že je ještě silný, i když je to 672 01:15:11,347 --> 01:15:12,930 trochu mystické na první pohled. 673 01:15:12,930 --> 01:15:16,740 >> A budete si uvědomit, za dnešní TL: DR, že tento problém nastavit má kratší 674 01:15:16,740 --> 01:15:19,880 Okno času, než těch budoucích, jednoduše protože byste měli najít docela 675 01:15:19,880 --> 01:15:20,420 přístupné. 676 01:15:20,420 --> 01:15:22,211 A ne se bát, pokud Přidáte-třída pozdě. 677 01:15:22,211 --> 01:15:23,920 Budeme řešit, že zanedlouho. 678 01:15:23,920 --> 01:15:28,480 A než jsme se odložit na dortu, pojďme skončit pouhým pohledem dvouminutového 679 01:15:28,480 --> 01:15:30,500 na to, co vás tady čeká v CS50. 680 01:15:30,500 --> 01:15:40,950 681 01:15:40,950 --> 01:17:20,803 [MUSIC PŘEHRÁVÁNÍ] 682 01:17:20,803 --> 01:17:21,302 Dobře. 683 01:17:21,302 --> 01:17:22,690 To je pro CS50. 684 01:17:22,690 --> 01:17:23,650 Uvidíme se brzy. 685 01:17:23,650 --> 01:17:25,526 Koláč je nyní sloužil. 686 01:17:25,526 --> 01:17:28,998 687 01:17:28,998 --> 01:18:14,267 [MUSIC PŘEHRÁVÁNÍ] 688 01:18:14,267 --> 01:18:16,350 REPRODUKTORY 17: Už jste slyšeli z volno, šéf? 689 01:18:16,350 --> 01:18:29,490 690 01:18:29,490 --> 01:18:31,920 REPRODUKTORY 18: Možná je tu více pod kapotou. 691 01:18:31,920 --> 01:18:38,279