1 00:00:00,000 --> 00:00:09,840 2 00:00:09,840 --> 00:00:10,824 >> [VIDEO PLAYBACK] 3 00:00:10,824 --> 00:00:13,284 >> [Vrata automobila Gašenje] 4 00:00:13,284 --> 00:00:15,744 >> [CAR pokretanje motora] 5 00:00:15,744 --> 00:00:19,188 >> [Glazbom] 6 00:00:19,188 --> 00:00:20,172 7 00:00:20,172 --> 00:00:24,516 >> -Moving Pravo zajedno u potrazi dobrih vremena i dobre vijesti. 8 00:00:24,516 --> 00:00:26,871 S dobrim prijateljima ne možete izgubiti. 9 00:00:26,871 --> 00:00:28,755 >> -Ovo Bi mogao postati navika. 10 00:00:28,755 --> 00:00:32,460 >> -Opportunity Kuca Recimo samo doprijeti i iskoristite ga. 11 00:00:32,460 --> 00:00:32,960 -Da! 12 00:00:32,960 --> 00:00:34,920 Zajedno ćemo ga uhapsiti. 13 00:00:34,920 --> 00:00:37,370 -We'll Trzaj pješačiti, autobus, ili žuta je taksi. 14 00:00:37,370 --> 00:00:38,840 -Dammit. 15 00:00:38,840 --> 00:00:40,800 -We're Kreće pravo zajedno. 16 00:00:40,800 --> 00:00:43,750 -Footloose I fancy besplatno. 17 00:00:43,750 --> 00:00:45,960 -Getting Je pola zabave. 18 00:00:45,960 --> 00:00:47,718 Dođite podijelite ga sa mnom. 19 00:00:47,718 --> 00:00:49,654 >> -We're Kreće pravo zajedno. 20 00:00:49,654 --> 00:00:52,558 >> -We're Će podijeliti teret. 21 00:00:52,558 --> 00:00:57,604 >> -Mi Ne treba kartu za dobili ovaj show na cesti. 22 00:00:57,604 --> 00:01:00,520 -Hej Fozzy, želim vam skrenuti lijevo Ako ste došli do tanjura na cestu. 23 00:01:00,520 --> 00:01:01,020 -Da gospodine. 24 00:01:01,020 --> 00:01:03,334 Skrenite lijevo na raskrižju. 25 00:01:03,334 --> 00:01:05,222 Skrenite lijevo. 26 00:01:05,222 --> 00:01:07,582 >> -Ne Vjerujem. 27 00:01:07,582 --> 00:01:11,720 >> -Cruising Pravo zajedno smo otkrili svjetla na autocestu. 28 00:01:11,720 --> 00:01:13,664 >> -I Svoj put ili moj put. 29 00:01:13,664 --> 00:01:16,154 >> -Pa Vjerujte mi navigaciju. 30 00:01:16,154 --> 00:01:21,134 >> -Movie Zvijezde s jeftin automobila i život s vrha prema dolje. 31 00:01:21,134 --> 00:01:23,126 >> -We're Storming velike brda. 32 00:01:23,126 --> 00:01:24,122 >> -Da, Oluja je u pravu. 33 00:01:24,122 --> 00:01:25,160 Ako se snijeg? 34 00:01:25,160 --> 00:01:26,220 >> Ne, ja ne mislim tako. 35 00:01:26,220 --> 00:01:28,505 >> -Moving Pravo zajedno. 36 00:01:28,505 --> 00:01:30,980 >> -Footloose I fancy besplatno. 37 00:01:30,980 --> 00:01:32,960 >> -You're Spremna za veliki put. 38 00:01:32,960 --> 00:01:34,445 >> -je Je spreman za mene? 39 00:01:34,445 --> 00:01:38,900 40 00:01:38,900 --> 00:01:42,860 >> -Moving Pravo zajedno. 41 00:01:42,860 --> 00:01:47,315 Premještanje pravo zajedno. 42 00:01:47,315 --> 00:01:52,265 Premještanje pravo zajedno. 43 00:01:52,265 --> 00:01:56,131 Premještanje pravo zajedno. 44 00:01:56,131 --> 00:01:57,380 -Mislim Da bolje navući. 45 00:01:57,380 --> 00:01:58,020 -Da gospodine. 46 00:01:58,020 --> 00:02:02,475 47 00:02:02,475 --> 00:02:03,960 >> [END PLAYBACK] 48 00:02:03,960 --> 00:02:07,425 >> [PLJESAK] 49 00:02:07,425 --> 00:02:09,405 50 00:02:09,405 --> 00:02:11,930 >> DAVID J. Malan: Ovo je CS50. 51 00:02:11,930 --> 00:02:15,940 I to je kraj tjedna 0, ali početak jednog divnog prijateljstva. 52 00:02:15,940 --> 00:02:18,250 Mi smo tako uzbuđeni da bude ovdje na sveučilištu Yale 53 00:02:18,250 --> 00:02:21,530 po prvi put s našim prijatelj Scaz, i Jason i Andy. 54 00:02:21,530 --> 00:02:24,320 Sve 40 CS50-a TF-a CA je ovdje na Yaleu. 55 00:02:24,320 --> 00:02:25,440 A sve vas. 56 00:02:25,440 --> 00:02:28,470 A u stvari, to je vjerojatno vrijeme to-- 57 00:02:28,470 --> 00:02:31,914 >> [PLJESAK] 58 00:02:31,914 --> 00:02:43,722 59 00:02:43,722 --> 00:02:47,920 >> Dakle, iako je većina predavanja će doista biti u Cambridgeu ove godine, 60 00:02:47,920 --> 00:02:51,250 realnost je da je dizajn, i vrlo svjesno u CS50, 61 00:02:51,250 --> 00:02:54,740 Ja mislim da smo bliži točku tehnološki i pedagoški, 62 00:02:54,740 --> 00:02:57,930 gdje se to može biti superiorniji obrazovne iskustvo da se uključe sa nekim 63 00:02:57,930 --> 00:02:59,610 kolegija u materijalnom online. 64 00:02:59,610 --> 00:03:02,862 Doista, reality-- a ako vjerujem ovo philosophically-- je da predavanja 65 00:03:02,862 --> 00:03:05,070 nisu osobito djelotvorno sredstvo za isporuku 66 00:03:05,070 --> 00:03:06,900 prilično složena informacije. 67 00:03:06,900 --> 00:03:09,219 Dakako preko sat plus duge raspone vremena. 68 00:03:09,219 --> 00:03:11,760 I doista svakih nekoliko minutes-- Ja sam se sjetiti u college-- 69 00:03:11,760 --> 00:03:14,210 ti zoni se za trenutak, li propustili neku složenu temu, 70 00:03:14,210 --> 00:03:16,540 i da ste otišli prilično mnogo za sljedećih 45 minuta. 71 00:03:16,540 --> 00:03:19,414 A realnost je da li ti si ovdje u New Havenu ili Cambridge 72 00:03:19,414 --> 00:03:22,930 ili izvan nje, jednostavnost ima sposobnost za pauzu i brzo naprijed, 73 00:03:22,930 --> 00:03:26,270 premotati, hiperveze na srodne resursi, traži puni tekst transkripata 74 00:03:26,270 --> 00:03:29,900 i slično je prilika da se Usuđujem se reći za naše online učenike 75 00:03:29,900 --> 00:03:32,530 i izvan New Havenu, pruža im priliku 76 00:03:32,530 --> 00:03:34,700 stvarno shvatiti konceptualni materijal koji smo 77 00:03:34,700 --> 00:03:36,700 uvesti u predavanja sve bolje. 78 00:03:36,700 --> 00:03:39,415 >> No, u konačnici u CS50 je studentska iskustva 79 00:03:39,415 --> 00:03:43,099 karakterizira toliko, toliko više od tečaja problem setovi, 80 00:03:43,099 --> 00:03:46,140 ili tjedno programiranje projektima, sekcije naravno a na čelu s nastave 81 00:03:46,140 --> 00:03:49,600 momci, noćno radno vrijeme vodio Tečaj asistenti i poučavanje 82 00:03:49,600 --> 00:03:52,330 momci, i doista kao događaji kao CS50 Puzzle 83 00:03:52,330 --> 00:03:56,500 Dan, CS50 je Hack-a-Thon je CS50 Sajam, tjedne ručkove, i još mnogo toga. 84 00:03:56,500 --> 00:03:59,580 I tako bilo da ste ovdje u New Haven, ili ugađanja iz daljine, 85 00:03:59,580 --> 00:04:02,270 danas u Cambridgeu i ćemo se uskoro opet vidjeti, 86 00:04:02,270 --> 00:04:04,580 stvarnost je ovo jedan te isti razred. 87 00:04:04,580 --> 00:04:07,990 I mi smo tako uzbuđeni ovdje svi zajedno danas. 88 00:04:07,990 --> 00:04:11,110 I tako na kraju semestra, da li ovdje ili izdaleka, i 89 00:04:11,110 --> 00:04:14,910 nadamo se da nosite ponosno, sretno, a možda uz malo olakšanja, 90 00:04:14,910 --> 00:04:19,459 košulja koja svjedoči vama uzevši CS50. 91 00:04:19,459 --> 00:04:21,700 >> Pa gdje smo stali u srijedu? 92 00:04:21,700 --> 00:04:24,410 Uzeli smo pogledati računalna razmišljanje. 93 00:04:24,410 --> 00:04:27,830 I to je ono što smo prema destilirana informatika k, barem 94 00:04:27,830 --> 00:04:28,800 zasad. 95 00:04:28,800 --> 00:04:31,990 Ali mi je destilirana malo dalje u barem tri komponente elemenata. 96 00:04:31,990 --> 00:04:34,570 >> Ulazi, pa što je Problem pokušavamo riješiti? 97 00:04:34,570 --> 00:04:36,650 Izlazi, što je odgovoriti nadamo dobiti? 98 00:04:36,650 --> 00:04:38,210 A reprezentacija ima mjesta. 99 00:04:38,210 --> 00:04:41,870 I nećemo živjeti ovdje nakon što je na binarnom, ASCII ili čak, 100 00:04:41,870 --> 00:04:44,050 i slično toliko, ali radije uzeti zdravo za gotovo 101 00:04:44,050 --> 00:04:47,520 da može predstavljati ovu informaciju, jer je daleko više zanimljivih dijelova 102 00:04:47,520 --> 00:04:51,010 tih problema nisu samo ulazi i izlazi, ali algoritmi 103 00:04:51,010 --> 00:04:53,020 koji ide u rješavanju tih problema. 104 00:04:53,020 --> 00:04:55,120 >> A možda sjetiti iz neki dan da mi 105 00:04:55,120 --> 00:04:59,860 je prilično tradicionalna Koncept gleda netko gore 106 00:04:59,860 --> 00:05:03,240 u prilično velikom telefonskom imeniku ili općenito digitalno ovih dana, 107 00:05:03,240 --> 00:05:04,420 Samo vrlo veliki skup podataka. 108 00:05:04,420 --> 00:05:07,840 Stvarno veliki popis kontakata, s puno imena abecednom razvrstani. 109 00:05:07,840 --> 00:05:11,310 A mi shvatili da dok sam mogli pristupiti ovaj problem jednostavno 110 00:05:11,310 --> 00:05:14,520 pomoću ravni approach-- stranicu po stranicu, 111 00:05:14,520 --> 00:05:17,775 ili čak dva a na prvi time-- smo shvatili da je intuitivniji algorithm-- 112 00:05:17,775 --> 00:05:20,840 samo vrsta podjele i osvajanja opet problem, i opet, 113 00:05:20,840 --> 00:05:24,670 i again-- ga prepolovi jedni Vrijeme, dade nam ovu zelenu rezultat. 114 00:05:24,670 --> 00:05:27,080 I to je toliko laskati jer sugerira 115 00:05:27,080 --> 00:05:29,160 da čak i taj problem dobiva veći i veći, 116 00:05:29,160 --> 00:05:32,470 kao što je slučaj ovih dana s podacima setovi i reality-- Facebook i Google 117 00:05:32,470 --> 00:05:34,630 Rezultati pretraživanja i volimo-članovima radi naš algoritam 118 00:05:34,630 --> 00:05:37,660 obavljati jednako učinkovito s tim većim ugriza 119 00:05:37,660 --> 00:05:40,310 kao što je učinio, čak i sa manjim ugriza. 120 00:05:40,310 --> 00:05:45,330 >> Sada moli pitanje, što može mi zapravo riješiti na sličan način 121 00:05:45,330 --> 00:05:46,820 s ovom vrstom intuicije? 122 00:05:46,820 --> 00:05:48,740 Ova vrsta podjele i osvajanja? 123 00:05:48,740 --> 00:05:51,029 Pa, mogli bismo učiniti nešto kao što je to danas ovdje. 124 00:05:51,029 --> 00:05:52,070 Možemo uzeti pohađanje. 125 00:05:52,070 --> 00:05:56,102 Dakle, možda kao 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11-- 126 00:05:56,102 --> 00:05:57,560 neće biti sve što učinkovitiji. 127 00:05:57,560 --> 00:05:58,990 Pa čekaj, Osnovnu školu. 128 00:05:58,990 --> 00:06:02,770 2, 4, 6, 8, 10, 12, 14, 16, 18 i tako dalje. 129 00:06:02,770 --> 00:06:04,140 Ali mogli bismo napraviti malo bolje? 130 00:06:04,140 --> 00:06:06,630 >> Prilično sam siguran da ne mogu to učiniti sama. 131 00:06:06,630 --> 00:06:09,420 Dakle, ako ćete humora nas za samo trenutak smo donijeli s nama 132 00:06:09,420 --> 00:06:11,640 algoritam koji je samo je dobio tri koraka, 133 00:06:11,640 --> 00:06:15,130 ali to ne require-- ako vas Ne mind-- sve nas stand up, 134 00:06:15,130 --> 00:06:15,690 ako bi. 135 00:06:15,690 --> 00:06:23,901 136 00:06:23,901 --> 00:06:29,380 Dakle, uz sve nas sada stoji, korak jedan od tog algoritma je sljedeći. 137 00:06:29,380 --> 00:06:31,680 Stand up i dodijeliti se broj 1. 138 00:06:31,680 --> 00:06:34,180 Dakle, u ovom trenutku, doslovno svi u ovoj sobi 139 00:06:34,180 --> 00:06:38,830 nadam se misleći na sebe, No nespretno, broj 1. 140 00:06:38,830 --> 00:06:42,020 >> Sada korak dva od ovog algoritma je će uključivati ​​sljedeće. 141 00:06:42,020 --> 00:06:44,680 Korak dva, uparivanje s s netko stoji, 142 00:06:44,680 --> 00:06:47,970 dodaj vaše brojeve zajedno, i usvojiti iznos kao svoj novi broj. 143 00:06:47,970 --> 00:06:53,110 144 00:06:53,110 --> 00:06:55,620 Brzo duševne ček. 145 00:06:55,620 --> 00:06:58,180 Koji broj je svatko razmišlja sada? 146 00:06:58,180 --> 00:07:01,930 >> Dakle 2, osim možda za jedno, nespretno, usamljen čovjek. 147 00:07:01,930 --> 00:07:04,269 Ako imamo neparan broj ljudi u sobi. 148 00:07:04,269 --> 00:07:06,560 Dakle, jedna osoba može i dalje biti broj 1, to je u redu. 149 00:07:06,560 --> 00:07:09,440 Ali Treći korak ovdje, jedan od trebali sjesti. 150 00:07:09,440 --> 00:07:13,620 Drugi bi trebao vratiti na korak dva, i ponavljam, ako bi. 151 00:07:13,620 --> 00:07:54,430 152 00:07:54,430 --> 00:07:58,240 >> Dakle, ako i dalje stoji, što bi trebao biti Među onima koji ide natrag na korak dva. 153 00:07:58,240 --> 00:08:13,910 154 00:08:13,910 --> 00:08:14,574 Nastavi. 155 00:08:14,574 --> 00:08:20,790 156 00:08:20,790 --> 00:08:22,130 Nekoliko ljudi još uvijek stoji. 157 00:08:22,130 --> 00:08:33,590 158 00:08:33,590 --> 00:08:35,614 >> Dakle, ako još uvijek stoji, upariti s nekim. 159 00:08:35,614 --> 00:08:53,710 160 00:08:53,710 --> 00:08:55,020 U redu, nestajanje dolje. 161 00:08:55,020 --> 00:09:06,394 162 00:09:06,394 --> 00:09:07,560 Nekoliko ljudi još uvijek stoji. 163 00:09:07,560 --> 00:09:08,600 Ja ću pomoći ako bude potrebno. 164 00:09:08,600 --> 00:09:11,855 Zapamtite ključnu takeaway ovdje, kako mnogo brže nego što je to mene brojanje. 165 00:09:11,855 --> 00:09:15,090 166 00:09:15,090 --> 00:09:16,200 >> Tako ćemo vidjeti. 167 00:09:16,200 --> 00:09:16,900 Mogu pomoći. 168 00:09:16,900 --> 00:09:19,425 Pa što su broj još uvijek razmišljate o? 169 00:09:19,425 --> 00:09:20,320 >> PUBLIKA: Ja sam na 44. 170 00:09:20,320 --> 00:09:22,400 >> DAVID J. Malan: 44, tako da idete naprijed i sjesti. 171 00:09:22,400 --> 00:09:23,733 Koji broj ste mislili? 172 00:09:23,733 --> 00:09:24,840 PUBLIKA: 74. 173 00:09:24,840 --> 00:09:27,006 >> DAVID J. Malan: 74. 174 00:09:27,006 --> 00:09:28,380 Dobro, ići naprijed i sjesti. 175 00:09:28,380 --> 00:09:30,390 Tko još uvijek stoji? 176 00:09:30,390 --> 00:09:31,550 86. 177 00:09:31,550 --> 00:09:33,340 I je li itko drugi još uvijek stoji? 178 00:09:33,340 --> 00:09:34,976 >> Koji broj? 179 00:09:34,976 --> 00:09:37,380 Čuo sam 67. 180 00:09:37,380 --> 00:09:39,370 A onda je u vrhu? 181 00:09:39,370 --> 00:09:40,900 32. 182 00:09:40,900 --> 00:09:44,230 Bilo tko drugi i dalje stoji i razmišljanja o broju? 183 00:09:44,230 --> 00:09:44,730 >> Oh, bok. 184 00:09:44,730 --> 00:09:45,230 Oprostite. 185 00:09:45,230 --> 00:09:48,350 Vraćam se odmah. 186 00:09:48,350 --> 00:09:49,520 42. 187 00:09:49,520 --> 00:09:51,758 Itko drugi? 188 00:09:51,758 --> 00:09:52,610 >> PUBLIKA: 47. 189 00:09:52,610 --> 00:09:54,930 >> DAVID J. Malan: 47. 190 00:09:54,930 --> 00:09:57,980 Je li itko drugi još uvijek stoji koji nije broje? 191 00:09:57,980 --> 00:10:06,450 Dakle konačnog broja ljudi u sobi da ima 497 mjesta is-- od kojih su svi 192 00:10:06,450 --> 00:10:10,930 su filled-- je 390. 193 00:10:10,930 --> 00:10:12,230 Dakle, to je super. 194 00:10:12,230 --> 00:10:16,435 >> Uskoro ćemo raspraviti pojam buga u računalni program. 195 00:10:16,435 --> 00:10:19,660 No, mi ćemo se vratiti na to prije dugo. 196 00:10:19,660 --> 00:10:22,440 No, u teoriji, što bi se moglo dogodilo upravo sada? 197 00:10:22,440 --> 00:10:25,930 Dakle, iako je bilo tri velike koraka do tog algoritma, svaki od tih 198 00:10:25,930 --> 00:10:27,510 bio je samo vrsta jedne velike operacije. 199 00:10:27,510 --> 00:10:31,020 A bilo je to cikličnosti na njega u da, ako ste još uvijek stoji, 200 00:10:31,020 --> 00:10:34,870 što čuva ide od koraka tri na dva, Korak tri na dva, tri koraka do dva. 201 00:10:34,870 --> 00:10:37,330 >> No, ono što je zadržao događa na svakoj iteraciji? 202 00:10:37,330 --> 00:10:39,440 Svaki ciklus ovog kruga? 203 00:10:39,440 --> 00:10:41,940 Što se događa drugdje u sobi? 204 00:10:41,940 --> 00:10:45,170 Ne samo da je ista stvar, ali ono se događalo polovici vas? 205 00:10:45,170 --> 00:10:46,170 Sjeo. 206 00:10:46,170 --> 00:10:49,710 I tako u laži ovaj uvid, slično kao telefonski imenik, primjerice, 207 00:10:49,710 --> 00:10:52,050 u da, ako polovica vas su sjedaš svaki put, 208 00:10:52,050 --> 00:10:54,560 problem počinje s možda 400 ljudi, 209 00:10:54,560 --> 00:10:57,780 zatim do 200 ljudi, od 100 ljudi, zatim 50 ljudi, i tako dalje. 210 00:10:57,780 --> 00:11:00,660 >> I tako smo smanjiti u Teorija na samo jednu osobu, 211 00:11:00,660 --> 00:11:02,830 razmišljam o ukupnoj vrijednosti od svakoga. 212 00:11:02,830 --> 00:11:05,777 Sada je stvarnost, neke društvene dinamike, i neki aritmetički pogreške 213 00:11:05,777 --> 00:11:07,360 može doprinijeti tom krajnji bug. 214 00:11:07,360 --> 00:11:10,300 No, u teoriji, dok sam je još uvijek računajući daleko, 215 00:11:10,300 --> 00:11:12,860 uzimanje nekoliko desetaka koraka, ili stotine koraka 216 00:11:12,860 --> 00:11:16,240 na sebe strani, računati puna soba od 500-ak ljudi 217 00:11:16,240 --> 00:11:20,560 trebala uzeti daleko manje koraka, jer možete samo podijeliti 500 i 1/2 218 00:11:20,560 --> 00:11:21,350 toliko puta. 219 00:11:21,350 --> 00:11:24,120 I tako kao s telefonom Rezervirajte primjer neki dan, 220 00:11:24,120 --> 00:11:26,740 smo imali nešto logaritamska takoreći, 221 00:11:26,740 --> 00:11:28,870 pri čemu, ako smo svi bili djeluju unisono, 222 00:11:28,870 --> 00:11:32,000 i ignoriranje dodatak pogreške, zar smo 223 00:11:32,000 --> 00:11:34,140 postigli upravo koja vrsta trčanje vremena? 224 00:11:34,140 --> 00:11:37,900 >> Sada bi bilo pošteno, vrsta varao, u da sam iskoristio drugu resurs. 225 00:11:37,900 --> 00:11:40,320 Budući da je samo jedan od mene, Iskoristio sam stotine tebe. 226 00:11:40,320 --> 00:11:43,340 Ali to bi se moglo reći da je Primjer paralelnog procesiranja, 227 00:11:43,340 --> 00:11:46,400 ili stanje umjetnosti jako puno u modi gdje računala ovih dana imaju 228 00:11:46,400 --> 00:11:49,830 više procesora ili više tehnički, još više jezgri, 229 00:11:49,830 --> 00:11:52,550 i može li više doista stvari odjednom, baš kao i ti 230 00:11:52,550 --> 00:11:54,706 sve što radite tamo, paralelno. 231 00:11:54,706 --> 00:11:56,580 Ali sjećam da je ono što također je u srijedu 232 00:11:56,580 --> 00:12:02,640 je pokušati uhvatiti ovaj intuiciju i formalizirati to u kodu. 233 00:12:02,640 --> 00:12:04,165 Nešto kao pseudo-koda. 234 00:12:04,165 --> 00:12:07,040 A u stvari, a nadam se da ćete oprosti, to je kao 80 stupnjeva u ovdje. 235 00:12:07,040 --> 00:12:09,420 Zato ću uzeti ovo off za samo malo. 236 00:12:09,420 --> 00:12:12,410 Ono što sam pomislio da bih napraviti je tranzicija Sada na aplikacijski pri čemu 237 00:12:12,410 --> 00:12:16,300 opet angažirati publiku, ali napisati program na engleskom jeziku 238 00:12:16,300 --> 00:12:19,537 sintaksu kao, s kojima se riješiti ovaj problem ovdje. 239 00:12:19,537 --> 00:12:20,203 [VIDEO PLAYBACK] 240 00:12:20,203 --> 00:12:22,266 -To Je maslac od kikirikija vrijeme žele. 241 00:12:22,266 --> 00:12:23,890 Kikiriki maslac Jelly vrijeme. 242 00:12:23,890 --> 00:12:25,620 Kikiriki maslac Jelly vrijeme. 243 00:12:25,620 --> 00:12:26,320 >> Put ya! 244 00:12:26,320 --> 00:12:26,927 Put ya! 245 00:12:26,927 --> 00:12:27,781 Put ya! 246 00:12:27,781 --> 00:12:28,350 Put ya! 247 00:12:28,350 --> 00:12:29,723 Sada tamo idete! 248 00:12:29,723 --> 00:12:30,264 Izvoli! 249 00:12:30,264 --> 00:12:30,805 Izvoli! 250 00:12:30,805 --> 00:12:31,710 Izvoli! 251 00:12:31,710 --> 00:12:33,156 Kikiriki maslac mliječi! 252 00:12:33,156 --> 00:12:34,602 Kikiriki maslac mliječi! 253 00:12:34,602 --> 00:12:36,530 >> Kikiriki maslac mliječi! 254 00:12:36,530 --> 00:12:37,494 Kikiriki maslac mliječi! 255 00:12:37,494 --> 00:12:38,940 Kikiriki, maslac od kikirikija mliječi! 256 00:12:38,940 --> 00:12:39,904 Kikiriki maslac mliječi! 257 00:12:39,904 --> 00:12:41,840 Kikiriki maslac Jelly s bejzbol palicom. 258 00:12:41,840 --> 00:12:42,423 >> [END PLAYBACK] 259 00:12:42,423 --> 00:12:45,510 DAVID J. Malan: --that video, ali to je malo zarazna, 260 00:12:45,510 --> 00:12:46,540 ako ne i malo neugodno. 261 00:12:46,540 --> 00:12:49,623 Ali to učiniti, mislio sam što bismo učiniti je pokušati napisati program zajedno, 262 00:12:49,623 --> 00:12:51,870 za koje nam treba tri volontera. 263 00:12:51,870 --> 00:12:54,350 Moraju biti ugodno na kameri i interneta. 264 00:12:54,350 --> 00:12:57,820 Sam, dođi gore. 265 00:12:57,820 --> 00:12:59,830 Ljubičasta košulja, upravo ovdje, dođi gore. 266 00:12:59,830 --> 00:13:03,470 >> I od ovdje, neka me ići malo dalje natrag. 267 00:13:03,470 --> 00:13:05,280 Crimson i plave majice, dođi gore. 268 00:13:05,280 --> 00:13:06,980 Savršeno. 269 00:13:06,980 --> 00:13:09,790 Hajde sada. 270 00:13:09,790 --> 00:13:12,490 Dođi gore, idemo gore. 271 00:13:12,490 --> 00:13:13,581 >> A što je vaše ime? 272 00:13:13,581 --> 00:13:14,080 Erica. 273 00:13:14,080 --> 00:13:15,289 David lijepo da zadovolji vas. 274 00:13:15,289 --> 00:13:16,830 Ako želite iskoristiti ovu stolicu ovdje. 275 00:13:16,830 --> 00:13:17,900 To je Sam. 276 00:13:17,900 --> 00:13:19,690 >> Kako se zoveš? 277 00:13:19,690 --> 00:13:20,260 Antonio. 278 00:13:20,260 --> 00:13:21,595 Antonio, lijepo da zadovolji vas. 279 00:13:21,595 --> 00:13:23,790 Erica i Sam, ako želite željeli imati sjedište ovdje. 280 00:13:23,790 --> 00:13:26,700 Ono što smo došli pripremljeni s, jer su ti dečki otkrivaju, 281 00:13:26,700 --> 00:13:30,580 je sastojci s kojima napraviti kikiriki maslac i žele sendvič. 282 00:13:30,580 --> 00:13:33,520 >> Sada bi to moglo biti nešto što što se jako zdravo za gotovo. 283 00:13:33,520 --> 00:13:35,430 Ali smo dali jedni naše tri volontera 284 00:13:35,430 --> 00:13:40,500 here-- dva volontera i Sam tu, kruh svakog, ploča, nož, 285 00:13:40,500 --> 00:13:43,740 staklenku žele ili džem, i staklenku maslaca od kikirikija. 286 00:13:43,740 --> 00:13:46,190 A cilj pri ruci sada će biti za ova tri 287 00:13:46,190 --> 00:13:48,030 napraviti maslac od kikirikija i žele sendvič. 288 00:13:48,030 --> 00:13:51,000 Ali ono što ćemo učiniti je očekivati audience-- jer sve vas 289 00:13:51,000 --> 00:13:53,710 Sigurno znate kako to učiniti to tako dobro u reality-- 290 00:13:53,710 --> 00:13:56,380 će nam korak po korak upute. 291 00:13:56,380 --> 00:13:57,970 Pseudo-kod, ako hoćete. 292 00:13:57,970 --> 00:13:59,922 >> Dakle, ja ću igrati ulogu pisara ovdje. 293 00:13:59,922 --> 00:14:02,880 I ja imam malo do-do lista, i kako svaki od vas, jedan po jedan, 294 00:14:02,880 --> 00:14:04,588 doziva potencijal nastavni, ja ću 295 00:14:04,588 --> 00:14:06,110 zapisati, ponovite po potrebi. 296 00:14:06,110 --> 00:14:09,650 I onda ti dečki će napraviti kikiriki maslac i žele sendvič 297 00:14:09,650 --> 00:14:11,171 samo radi ono što su rekli. 298 00:14:11,171 --> 00:14:12,670 Tako misle o sebi kao računala. 299 00:14:12,670 --> 00:14:13,740 >> Vi samo možete učiniti ono što ste rekli. 300 00:14:13,740 --> 00:14:14,948 Nema pretpostavke, bez pitanja. 301 00:14:14,948 --> 00:14:16,660 Vi samo trebate to učiniti. 302 00:14:16,660 --> 00:14:20,460 Pa tko bi želio opasnosti prvi Uputa za izradu PBJ sendvič? 303 00:14:20,460 --> 00:14:21,460 Na balkonu tamo. 304 00:14:21,460 --> 00:14:22,801 >> PUBLIKA: Otvorite vrećicu kruha. 305 00:14:22,801 --> 00:14:26,430 >> DAVID J. Malan: Otvorite torba kruha, ako hoćete. 306 00:14:26,430 --> 00:14:34,440 307 00:14:34,440 --> 00:14:35,230 Tako ćemo vidjeti. 308 00:14:35,230 --> 00:14:37,910 Ajmo ponoviti, i dobiti malo precizniji. 309 00:14:37,910 --> 00:14:39,040 >> Dobar način za početak ipak. 310 00:14:39,040 --> 00:14:42,340 Korak dva, netko drugi. 311 00:14:42,340 --> 00:14:43,590 Sada nitko ne želi volontirati. 312 00:14:43,590 --> 00:14:44,616 Korak dva, pred. 313 00:14:44,616 --> 00:14:46,532 PUBLIKA: Otvorite unutarnji torba kruha kao dobro. 314 00:14:46,532 --> 00:14:50,600 DAVID J. Malan: Otvorite Unutarnja vreća kruha kao dobro. 315 00:14:50,600 --> 00:14:51,880 Velika mi učenje. 316 00:14:51,880 --> 00:14:57,880 317 00:14:57,880 --> 00:14:59,090 Malo preciznije. 318 00:14:59,090 --> 00:15:00,240 Idemo ovaj rad. 319 00:15:00,240 --> 00:15:01,180 Da, u zelenoj košulji. 320 00:15:01,180 --> 00:15:04,608 >> PUBLIKA: [nečujan] 321 00:15:04,608 --> 00:15:05,108 322 00:15:05,108 --> 00:15:09,040 DAVID J. Malan: kriške kruha. 323 00:15:09,040 --> 00:15:11,110 Nježno uklonite dvije kriške kruha. 324 00:15:11,110 --> 00:15:20,350 325 00:15:20,350 --> 00:15:21,000 To je dobro. 326 00:15:21,000 --> 00:15:24,300 Četvrti korak, netko drugi? 327 00:15:24,300 --> 00:15:25,170 Više ovdje, zar ne? 328 00:15:25,170 --> 00:15:26,130 >> PUBLIKA: [nečujan] 329 00:15:26,130 --> 00:15:28,810 >> DAVID J. Malan: Mjesto kruh na tanjuru. 330 00:15:28,810 --> 00:15:33,490 331 00:15:33,490 --> 00:15:35,290 Korak pet? 332 00:15:35,290 --> 00:15:36,020 Korak pet, zar ne? 333 00:15:36,020 --> 00:15:39,440 >> PUBLIKA: [nečujan] 334 00:15:39,440 --> 00:15:39,940 335 00:15:39,940 --> 00:15:43,860 DAVID J. Malan: Na vrhu of-- oh, ruku. 336 00:15:43,860 --> 00:15:46,967 Stavite ruku na vrhu kikiriki maslac. 337 00:15:46,967 --> 00:15:47,800 Je li to ono što sam glavu? 338 00:15:47,800 --> 00:15:49,160 >> PUBLIKA: Da, i odvijte. 339 00:15:49,160 --> 00:15:51,370 >> DAVID J. Malan: And-- Ponovit. 340 00:15:51,370 --> 00:15:52,696 >> PUBLIKA: [nečujan] 341 00:15:52,696 --> 00:15:57,990 >> DAVID J. Malan: I staviti Poklopac uz maslac od kikirikija. 342 00:15:57,990 --> 00:16:00,370 Lagano stavite ruku na vrh kikiriki maslac, 343 00:16:00,370 --> 00:16:03,240 i odvijte i stavite poklopac uz maslac od kikirikija. 344 00:16:03,240 --> 00:16:14,760 345 00:16:14,760 --> 00:16:16,260 OK, korak šest. 346 00:16:16,260 --> 00:16:17,520 Korak šest, netko drugi. 347 00:16:17,520 --> 00:16:19,366 Da? 348 00:16:19,366 --> 00:16:22,740 >> PUBLIKA: [nečujan] 349 00:16:22,740 --> 00:16:29,197 350 00:16:29,197 --> 00:16:30,405 DAVID J. Malan: Ponovit. 351 00:16:30,405 --> 00:16:31,946 PUBLIKA: Ponovite korak pet opet. 352 00:16:31,946 --> 00:16:37,380 DAVID J. Malan: I ponovite korak pet opet, 353 00:16:37,380 --> 00:16:39,400 koji će stvoriti malo problema 354 00:16:39,400 --> 00:16:42,600 Sada, ako radimo ovaj korak po korak. 355 00:16:42,600 --> 00:16:44,640 Dakle, sada smo se vratiti na korak pet. 356 00:16:44,640 --> 00:16:47,760 Lagano stavite ruku na vrhu maslaca od kikirikija i odvijte 357 00:16:47,760 --> 00:16:50,990 i staviti poklopac pored maslac od kikirikija. 358 00:16:50,990 --> 00:16:55,340 Zatim shvati maslac od kikirikija i ponovite korak pet opet. 359 00:16:55,340 --> 00:16:58,410 >> Dakle, zamijenit ćemo da beskonačna petlja, ako hoćete. 360 00:16:58,410 --> 00:17:00,400 Korak sedam, netko drugi. 361 00:17:00,400 --> 00:17:02,918 Da, u leđa. 362 00:17:02,918 --> 00:17:06,397 >> PUBLIKA: [nečujan] 363 00:17:06,397 --> 00:17:16,084 364 00:17:16,084 --> 00:17:17,769 >> DAVID J. Malan: -On iznad ostalih. 365 00:17:17,769 --> 00:17:20,529 >> PUBLIKA: [nečujan] 366 00:17:20,529 --> 00:17:23,175 >> DAVID J. Malan: Na s druge strane na drugu vrhu. 367 00:17:23,175 --> 00:17:28,880 368 00:17:28,880 --> 00:17:30,895 Želite li samo doći ovdje? 369 00:17:30,895 --> 00:17:34,750 Kako sam završiti pouku? 370 00:17:34,750 --> 00:17:37,790 Što je ostalo od nastave? 371 00:17:37,790 --> 00:17:39,140 >> PUBLIKA: Ignoriranje taj dio. 372 00:17:39,140 --> 00:17:41,050 >> DAVID J. Malan: Ignoriranje taj dio. 373 00:17:41,050 --> 00:17:44,192 374 00:17:44,192 --> 00:17:44,900 Počnimo ispočetka. 375 00:17:44,900 --> 00:17:45,400 Korak sedam. 376 00:17:45,400 --> 00:17:48,516 377 00:17:48,516 --> 00:17:51,883 >> PUBLIKA: [nečujan] 378 00:17:51,883 --> 00:17:56,090 >> DAVID J. Malan: Uhvatite s suprotstavljene hand-- to je dobro. 379 00:17:56,090 --> 00:17:58,544 To je zapravo dobro. 380 00:17:58,544 --> 00:18:01,750 >> PUBLIKA: [nečujan] 381 00:18:01,750 --> 00:18:03,975 >> DAVID J. Malan: I plastični jar-- 382 00:18:03,975 --> 00:18:06,675 >> PUBLIKA: [nečujan] 383 00:18:06,675 --> 00:18:08,420 >> DAVID J. Malan: I twist-- 384 00:18:08,420 --> 00:18:11,488 >> PUBLIKA: [nečujan] 385 00:18:11,488 --> 00:18:13,730 >> DAVID J. Malan: Za dvije sekunde. 386 00:18:13,730 --> 00:18:15,800 Samo otvorite staklenku maslaca od kikirikija. 387 00:18:15,800 --> 00:18:19,020 388 00:18:19,020 --> 00:18:20,632 Nadam se da ćete oprostiti. 389 00:18:20,632 --> 00:18:21,840 Dakle, pretpostavimo smo stigli. 390 00:18:21,840 --> 00:18:23,240 Otvorite kikiriki maslac staklenku. 391 00:18:23,240 --> 00:18:27,008 392 00:18:27,008 --> 00:18:32,570 >> [PLJESAK] 393 00:18:32,570 --> 00:18:34,790 >> DAVID J. Malan: Korak osam, idemo. 394 00:18:34,790 --> 00:18:37,510 Korak osam, da, na leđima. 395 00:18:37,510 --> 00:18:38,470 >> PUBLIKA: [nečujan] 396 00:18:38,470 --> 00:18:44,772 397 00:18:44,772 --> 00:18:45,700 >> DAVID J. Malan: Dobro. 398 00:18:45,700 --> 00:18:47,040 Korak devet, zar ne? 399 00:18:47,040 --> 00:18:48,924 >> PUBLIKA: [nečujan] 400 00:18:48,924 --> 00:18:51,567 >> DAVID J. Malan: --out od kikiriki maslac jar. 401 00:18:51,567 --> 00:18:53,830 And-- i što? 402 00:18:53,830 --> 00:18:54,729 >> PUBLIKA: [nečujan] 403 00:18:54,729 --> 00:18:58,222 >> DAVID J. Malan: I stavi nož natrag u kikiriki maslac. 404 00:18:58,222 --> 00:19:11,130 405 00:19:11,130 --> 00:19:12,090 Korak deset. 406 00:19:12,090 --> 00:19:13,050 Korak deset. 407 00:19:13,050 --> 00:19:14,970 >> PUBLIKA: [nečujan] 408 00:19:14,970 --> 00:19:20,710 >> DAVID J. Malan: Stavi nož van, a zatim uklonite brtvu. 409 00:19:20,710 --> 00:19:23,060 Lijepo. 410 00:19:23,060 --> 00:19:24,400 Off maslac od kikirikija. 411 00:19:24,400 --> 00:19:34,490 412 00:19:34,490 --> 00:19:36,406 U redu, korak 11. 413 00:19:36,406 --> 00:19:37,322 >> PUBLIKA: [nečujan] 414 00:19:37,322 --> 00:19:42,520 415 00:19:42,520 --> 00:19:48,164 >> DAVID J. Malan: OK, siva računala slijedite plavu ili crvenu računalo. 416 00:19:48,164 --> 00:19:49,631 Dobra. 417 00:19:49,631 --> 00:19:53,054 >> [PLJESAK] 418 00:19:53,054 --> 00:19:55,920 419 00:19:55,920 --> 00:19:57,170 DAVID J. Malan: Donesite nam dom. 420 00:19:57,170 --> 00:19:59,570 Par više koraka. 421 00:19:59,570 --> 00:20:00,250 Što je sljedeće? 422 00:20:00,250 --> 00:20:02,590 Koraci 12. 423 00:20:02,590 --> 00:20:04,161 Korak 12. 424 00:20:04,161 --> 00:20:05,123 Da? 425 00:20:05,123 --> 00:20:14,262 >> PUBLIKA: Stavite jednu od kriške Kruh lagano na jednoj od svojih ruku. 426 00:20:14,262 --> 00:20:17,550 >> DAVID J. Malan: Jedan od vaših ruku. 427 00:20:17,550 --> 00:20:20,760 A onda, korak 13. 428 00:20:20,760 --> 00:20:21,260 Da? 429 00:20:21,260 --> 00:20:22,220 >> PUBLIKA: [nečujan] 430 00:20:22,220 --> 00:20:25,580 431 00:20:25,580 --> 00:20:27,150 >> DAVID J. Malan: -On kriška kruha. 432 00:20:27,150 --> 00:20:29,950 Dobra. 433 00:20:29,950 --> 00:20:32,260 Prilično dobro. 434 00:20:32,260 --> 00:20:34,990 Korak 14, da. 435 00:20:34,990 --> 00:20:38,126 >> PUBLIKA: Poništi korak 13. 436 00:20:38,126 --> 00:20:39,950 >> DAVID J. Malan: Poništi korak 13. 437 00:20:39,950 --> 00:20:42,690 438 00:20:42,690 --> 00:20:44,770 Prijeđimo na žele. 439 00:20:44,770 --> 00:20:47,900 To je 100- korak program a, ali smo bili na korak 15. 440 00:20:47,900 --> 00:20:49,210 Da. 441 00:20:49,210 --> 00:20:50,170 >> PUBLIKA: [nečujan] 442 00:20:50,170 --> 00:20:53,050 443 00:20:53,050 --> 00:20:59,570 >> DAVID J. Malan: 7 do 13, Hladetina, jer oni otišli tako dobro. 444 00:20:59,570 --> 00:21:02,530 Ponovite korake 7 do 13, korištenjem žele. 445 00:21:02,530 --> 00:21:07,940 Dakle shvatiti donju polovicu Jelly staklenku s jedne strane na vrhu. 446 00:21:07,940 --> 00:21:11,970 S druge strane, od Drugi vrhu, ignorirajući taj dio, 447 00:21:11,970 --> 00:21:15,430 shvatiti sa suprotnim rukama, poklopac i plastične posude 448 00:21:15,430 --> 00:21:18,300 na dnu, i uviti dvije sekunde. 449 00:21:18,300 --> 00:21:19,940 Zatim otvorite mliječ staklenku. 450 00:21:19,940 --> 00:21:23,290 451 00:21:23,290 --> 00:21:26,580 I na kraju, pokušajmo daj nam nešto jestivo. 452 00:21:26,580 --> 00:21:27,270 Korak 16. 453 00:21:27,270 --> 00:21:35,820 454 00:21:35,820 --> 00:21:37,130 Pa zašto ne bismo ga ostaviti tamo. 455 00:21:37,130 --> 00:21:38,879 Hvala vam toliko za naša tri volontera. 456 00:21:38,879 --> 00:21:41,466 [PLJESAK] 457 00:21:41,466 --> 00:21:45,920 458 00:21:45,920 --> 00:21:50,300 >> Imamo malo CS50 stres loptica za vas. 459 00:21:50,300 --> 00:21:54,540 To će biti Sendvič but-- pa što 460 00:21:54,540 --> 00:21:57,130 je točka, izvan vlasništvo malo zabave s algoritma? 461 00:21:57,130 --> 00:22:00,140 No, realnost je da čak i kada ste programiranje računala, 462 00:22:00,140 --> 00:22:02,050 morate biti super precizna. 463 00:22:02,050 --> 00:22:04,030 Kao kompleks ili zastrašivanjem kao svoje računalo 464 00:22:04,030 --> 00:22:06,670 može vrlo dobro biti s vama, na barem kada nešto pođe po zlu, 465 00:22:06,670 --> 00:22:10,150 realnost je da je prilično glupa Uređaj koji je izumio nas ljudi, 466 00:22:10,150 --> 00:22:13,267 i može učiniti samo podskup što smo do-- ponekad sigurno faster-- 467 00:22:13,267 --> 00:22:15,100 ali ne znam kako napraviti pretpostavke. 468 00:22:15,100 --> 00:22:18,070 Ona ne zna kako da se na na istoj valnoj duljini kao i vi. 469 00:22:18,070 --> 00:22:20,280 >> To će učiniti samo točno što reći. 470 00:22:20,280 --> 00:22:22,070 I vi ćete biti pogođen, Možda, kao što smo započeli 471 00:22:22,070 --> 00:22:24,770 pisanje stvarnog koda s Prvi problem setovi i izvan nje, 472 00:22:24,770 --> 00:22:27,490 samo kako je lako napraviti pretpostavka kao čovjeka, 473 00:22:27,490 --> 00:22:31,880 i ne predviđaju moram nositi to slučaj, ili da je kutak slučaj, 474 00:22:31,880 --> 00:22:34,900 takoreći, to bi moglo vrlo dobro nastati ako na primjer Sam imala samo 475 00:22:34,900 --> 00:22:38,711 iscijedljiv staklenku mliječi, dok svi ostali imali neke staklenkama kao 476 00:22:38,711 --> 00:22:39,210 dobro. 477 00:22:39,210 --> 00:22:42,170 Dakle, prije nego što smo okrenuti našim pozornost na neke stvarne koda, 478 00:22:42,170 --> 00:22:44,680 dopustite mi da uvesti Naravno je glava ovdje na Yaleu. 479 00:22:44,680 --> 00:22:49,058 Naši prijatelji Scaz, Andy, i Jason doći i pozdraviti. 480 00:22:49,058 --> 00:22:52,544 >> [PLJESAK] 481 00:22:52,544 --> 00:22:58,022 482 00:22:58,022 --> 00:23:01,060 >> SCAZ: Izgubili smo Jasona privremeno. 483 00:23:01,060 --> 00:23:02,440 Bok opet, svatko. 484 00:23:02,440 --> 00:23:03,610 Moje ime je Scaz. 485 00:23:03,610 --> 00:23:06,860 Ja sam predavao na Yaleu od 2001. godine. 486 00:23:06,860 --> 00:23:10,820 A kad ja ne učim, moje istraživanje je u robotici 487 00:23:10,820 --> 00:23:12,620 i umjetne inteligencije. 488 00:23:12,620 --> 00:23:17,700 >> I najava da imam danas je da se s početkom u par tjedana, 489 00:23:17,700 --> 00:23:22,170 ćemo se donosi neke dodatnog materijala za CS50 razgovarati 490 00:23:22,170 --> 00:23:24,510 O inteligencije softvera. 491 00:23:24,510 --> 00:23:28,230 Idemo razgovarati o tome mjesta poput Netflix i Hulu 492 00:23:28,230 --> 00:23:31,780 može preporučiti filmove koje možda želite gledati. 493 00:23:31,780 --> 00:23:35,710 Gdje ćemo razgovarati o tome vozač-manje automobila zapravo rade. 494 00:23:35,710 --> 00:23:39,020 A mi ćemo biti u mogućnosti masu ove stvari u pojmovima 495 00:23:39,020 --> 00:23:41,730 da ste učenje u ovoj klasi danas. 496 00:23:41,730 --> 00:23:45,410 >> Zbog svih tih stvari su izgrađena na istom temelju. 497 00:23:45,410 --> 00:23:47,396 I to je ono što ovaj Serija će istražiti. 498 00:23:47,396 --> 00:23:49,520 Pa ja sam stvarno obličje naprijed to viđenje više od vas 499 00:23:49,520 --> 00:23:53,260 sve, i ti si idući u dobiti vidjeti više od svih nas vrlo brzo. 500 00:23:53,260 --> 00:23:56,500 Dopustite mi onda uvesti Jasona. 501 00:23:56,500 --> 00:23:57,950 >> Jason: Pozdrav svima. 502 00:23:57,950 --> 00:23:59,290 Moje ime je Jason. 503 00:23:59,290 --> 00:24:03,540 Ja nažalost otišao Harvard kao undergrad. 504 00:24:03,540 --> 00:24:07,020 To će se smanjiti iz stvarnog toka. 505 00:24:07,020 --> 00:24:09,870 >> I sada sam ovdje kao predavač u računalo znanost odjel. 506 00:24:09,870 --> 00:24:14,825 I ja pomaže pokrenuti tečaj s Scaz, David i Andy. 507 00:24:14,825 --> 00:24:17,140 >> ANDY: Hej dečki. 508 00:24:17,140 --> 00:24:17,980 Moje ime je Andy. 509 00:24:17,980 --> 00:24:21,992 Ja sam zapravo samo Yale Student na pozornici upravo sada. 510 00:24:21,992 --> 00:24:25,464 >> [PLJESAK] 511 00:24:25,464 --> 00:24:29,440 512 00:24:29,440 --> 00:24:31,770 >> Ja sam u Berkeley College, podrijetlom iz Solon, Ohio. 513 00:24:31,770 --> 00:24:35,240 514 00:24:35,240 --> 00:24:37,930 I ja sam bio jedan od onih klinaca gdje, kada sam došao na Yaleu, 515 00:24:37,930 --> 00:24:42,030 Stvarno sam mislila da nikada neću morati gledati na broj ikada opet. 516 00:24:42,030 --> 00:24:46,240 A onda sam shvatila da je potrebno i znanost i QR bodova za diplomski. 517 00:24:46,240 --> 00:24:51,340 I tako je moj brucoš proljeće, uzeo sam klasa, CS, uvod CS klase ovdje 518 00:24:51,340 --> 00:24:52,230 na Yaleu. 519 00:24:52,230 --> 00:24:54,710 Bio sam poput, ovo je kao zapravo prilično cool. 520 00:24:54,710 --> 00:25:01,330 >> I dok sam zapravo završio progla Kao globalni odnosi veliki, vještine 521 00:25:01,330 --> 00:25:04,910 Naučio sam u CS i programiranje tako odnosi se na bilo kojem području 522 00:25:04,910 --> 00:25:05,970 se odlučite za napraviti. 523 00:25:05,970 --> 00:25:09,770 I osoblje ovdje na Yaleu, mi smo bili tako teško na poslu 524 00:25:09,770 --> 00:25:10,800 pripremiti za vas momci. 525 00:25:10,800 --> 00:25:13,410 I mi radovati se unaprijed viđenje sve u rubrici i radnog vremena. 526 00:25:13,410 --> 00:25:14,874 Pa da. 527 00:25:14,874 --> 00:25:18,178 >> [PLJESAK] 528 00:25:18,178 --> 00:25:19,297 529 00:25:19,297 --> 00:25:20,380 DAVID J. Malan: Hvala vam. 530 00:25:20,380 --> 00:25:22,940 Dakle, prije nego što je počeo klase, smo imali priliku 531 00:25:22,940 --> 00:25:25,660 hodati okolo kampusu sa mobitel i uzeti 532 00:25:25,660 --> 00:25:30,530 neki selfies u video obliku stvarno moj prvi obilazak Yale kampusa ovdje. 533 00:25:30,530 --> 00:25:35,420 I tako smo mislili da ćemo podijeliti grubi rez točno to što Scaz i Andy 534 00:25:35,420 --> 00:25:37,970 Jason mi je oko kampusa. 535 00:25:37,970 --> 00:25:43,662 536 00:25:43,662 --> 00:25:44,328 [VIDEO PLAYBACK] 537 00:25:44,328 --> 00:25:47,322 [Sirene] 538 00:25:47,322 --> 00:25:49,318 -David. 539 00:25:49,318 --> 00:25:50,132 -dobrododli Na Yale. 540 00:25:50,132 --> 00:25:50,840 -Drago mi je vidjeti te. 541 00:25:50,840 --> 00:25:52,410 -lijepa Te vidjeti. 542 00:25:52,410 --> 00:25:53,340 -Može Idemo na turneju? 543 00:25:53,340 --> 00:25:56,845 -Let Idemo na turneju. 544 00:25:56,845 --> 00:25:57,523 -Road Turneju. 545 00:25:57,523 --> 00:25:59,106 -Ova Znak je tamo neko vrijeme. 546 00:25:59,106 --> 00:26:00,200 -Whah, CS50. 547 00:26:00,200 --> 00:26:02,978 548 00:26:02,978 --> 00:26:05,293 >> -Hurry! 549 00:26:05,293 --> 00:26:08,970 Idi, idi, idi, idi. 550 00:26:08,970 --> 00:26:12,340 Trebali bi [nečujan] Harkness toranj. 551 00:26:12,340 --> 00:26:13,850 >> -I Smo vidjeli da par puta. 552 00:26:13,850 --> 00:26:16,760 553 00:26:16,760 --> 00:26:20,155 >> [PLJESAK] 554 00:26:20,155 --> 00:26:21,130 555 00:26:21,130 --> 00:26:22,890 >> -Pogledajte Kako za bicikl! 556 00:26:22,890 --> 00:26:24,500 Ahh! 557 00:26:24,500 --> 00:26:25,030 Pozdrav Frank. 558 00:26:25,030 --> 00:26:26,314 >> Što se događa, dečki? 559 00:26:26,314 --> 00:26:26,855 -Kako si? 560 00:26:26,855 --> 00:26:28,474 -Drago mi je vidjeti te. 561 00:26:28,474 --> 00:26:29,390 -dobrododli Na video. 562 00:26:29,390 --> 00:26:32,270 Nemojte se ponašati previše uzbuđen. 563 00:26:32,270 --> 00:26:34,502 >> -Ja Volim Silliman. 564 00:26:34,502 --> 00:26:36,430 Ahh! 565 00:26:36,430 --> 00:26:39,780 >> -To Je bilo oko tri sata otkako Jason je sladoled i Nutella. 566 00:26:39,780 --> 00:26:43,189 Dakle, moramo prestati natrag Silliman za malo. 567 00:26:43,189 --> 00:26:45,137 >> -To Nije ni [nečujan] ipak, samo činjenica 568 00:26:45,137 --> 00:26:47,270 da su ga ovdje tako nevjerojatna. 569 00:26:47,270 --> 00:26:49,830 Čovječe, postoji Nutella u svakom obroku. 570 00:26:49,830 --> 00:26:51,830 >> -Postoji Je i prošle godine. 571 00:26:51,830 --> 00:26:54,220 >> -Da. 572 00:26:54,220 --> 00:26:56,440 >> -Reci mnogo o Yaleu dosad. 573 00:26:56,440 --> 00:26:58,485 Ali ja sada da je TD tamo. 574 00:26:58,485 --> 00:26:59,860 I to se smatra izvan kampusa. 575 00:26:59,860 --> 00:27:03,659 >> -Here Imamo gotičke arhitekture. 576 00:27:03,659 --> 00:27:04,200 Svjetski poznat. 577 00:27:04,200 --> 00:27:06,758 Imamo nešto više gotičke arhitekture. 578 00:27:06,758 --> 00:27:10,614 I izgradnja i više gotička arhitektura. 579 00:27:10,614 --> 00:27:11,114 Bok. 580 00:27:11,114 --> 00:27:15,470 Ovo je mjesto gdje imamo radno vrijeme Utorkom kroz četvrtkom u Hogwartsu, 581 00:27:15,470 --> 00:27:16,922 kao [nečujan]. 582 00:27:16,922 --> 00:27:20,620 583 00:27:20,620 --> 00:27:21,120 -U redu. 584 00:27:21,120 --> 00:27:22,078 To je to za turneju. 585 00:27:22,078 --> 00:27:24,030 Mi smo na Yale University-a Pravni fakultet, gdje je 586 00:27:24,030 --> 00:27:25,870 današnje predavanje je oko uzeti mjesto. 587 00:27:25,870 --> 00:27:29,220 Idemo krenuti u. 588 00:27:29,220 --> 00:27:30,375 >> [END PLAYBACK] 589 00:27:30,375 --> 00:27:32,370 >> DAVID J. Malan: I što nas dovodi ovdje. 590 00:27:32,370 --> 00:27:38,040 591 00:27:38,040 --> 00:27:40,770 Dakle do sada, mi smo bili s naglaskom na pseudokod, 592 00:27:40,770 --> 00:27:42,430 što je to engleski-kao sintaksu. 593 00:27:42,430 --> 00:27:45,030 Ona nema propisanu specifikacije. 594 00:27:45,030 --> 00:27:47,030 To je jednostavno koristite neki intuitivno jezik, ako vas 595 00:27:47,030 --> 00:27:48,950 želite objasniti što želite učiniti. 596 00:27:48,950 --> 00:27:52,270 >> Ali neka je početi sada tranziciji do koda, kao i većina ljudi će reći. 597 00:27:52,270 --> 00:27:54,880 Ali točnije, nešto poznat kao izvornog koda. 598 00:27:54,880 --> 00:27:58,210 To je jezik koji se ljudi napisati da računala ultimately-- 599 00:27:58,210 --> 00:28:00,780 eventualno nakon nekog broja steps-- konačnici razumije 600 00:28:00,780 --> 00:28:02,530 tako da znate kako to učiniti nešto. 601 00:28:02,530 --> 00:28:05,120 Da si vidio u prolazu to možda u srijedu. 602 00:28:05,120 --> 00:28:07,780 >> Ovo je primjer kako nevjerojatno, underwhelming 603 00:28:07,780 --> 00:28:10,220 kada pokrenete jednostavno kaže: "Hello World". 604 00:28:10,220 --> 00:28:13,510 I to je napisano na jeziku koji se zove C, što je vrlo slično sintaktički 605 00:28:13,510 --> 00:28:15,676 na mnogo drugih jezika da možda ne znaju, 606 00:28:15,676 --> 00:28:18,409 ali možda su čuli kao Java, i C ++, i Python, Ruby i, 607 00:28:18,409 --> 00:28:21,200 i slično, i zaista, mi ćemo provode mnogo semestra pomoću C, 608 00:28:21,200 --> 00:28:23,530 te prema kraju od semestar, oslanjajući se na njega, 609 00:28:23,530 --> 00:28:25,446 i uvođenje bilo broj drugih jezika. 610 00:28:25,446 --> 00:28:28,810 Među njima PHP i JavaScript, jezik baze podataka naziva SQL. 611 00:28:28,810 --> 00:28:31,526 No, s C, što ćemo imati ovo odozdo prema gore razumijevanja 612 00:28:31,526 --> 00:28:33,900 od točno kako računala rade, Što možete učiniti s njima, 613 00:28:33,900 --> 00:28:37,252 i kako možete riješiti probleme sve učinkovitije ovo 614 00:28:37,252 --> 00:28:39,460 raslojavanje da smo razgovarali u srijedu, i stajanja 615 00:28:39,460 --> 00:28:40,870 na ramenima druge. 616 00:28:40,870 --> 00:28:42,200 No, više o tome doći. 617 00:28:42,200 --> 00:28:46,650 >> Danas gledamo jednostavniji okoliš, ali bitno identična 618 00:28:46,650 --> 00:28:49,970 okoliš poznat kao ispočetka Naši prijatelji na MIT Media Lab. 619 00:28:49,970 --> 00:28:52,570 To je grafički programski jezik, ispočetka, 620 00:28:52,570 --> 00:28:54,330 gdje možete povući i ispustite stvari koje 621 00:28:54,330 --> 00:28:57,430 izgleda kao slagalice koji samo Interlock ako to čini 622 00:28:57,430 --> 00:28:59,872 logično ili programska smisla da to učini. 623 00:28:59,872 --> 00:29:02,330 Ali to će nam omogućiti da razgovarati o svemu 624 00:29:02,330 --> 00:29:04,604 istog programa osnove da neki od vas 625 00:29:04,604 --> 00:29:06,520 Možda već znate, da mnogi od vas ne bi mogli 626 00:29:06,520 --> 00:29:09,670 znam ništa bez da se zapeli iskreno, 627 00:29:09,670 --> 00:29:13,150 u intelektualno nezanimljivo sintaksa zarezom, 628 00:29:13,150 --> 00:29:14,950 i zagrade, i citira, i slično. 629 00:29:14,950 --> 00:29:16,910 Svi koji, rano na, su smetnja 630 00:29:16,910 --> 00:29:20,322 na ono što su zanimljivi i istinski korisne ideje. 631 00:29:20,322 --> 00:29:22,280 Tako ćemo uzeti brzo pogled na okoliš 632 00:29:22,280 --> 00:29:24,180 ovdje, tako da znam što čeka. 633 00:29:24,180 --> 00:29:28,060 A u stvari, među igrama smo Možete igrati zapisano nekoliko programa 634 00:29:28,060 --> 00:29:30,810 po CS50 vlastitih bivših studenata. 635 00:29:30,810 --> 00:29:36,200 Jedan od njih, ja, ja ću biti ovaj zapisano u diplomski školi za mene. 636 00:29:36,200 --> 00:29:39,030 >> Ako sam mogao uzeti jedan volonter tko je voljan igrati 637 00:29:39,030 --> 00:29:40,420 igra za vrlo prvi put. 638 00:29:40,420 --> 00:29:40,920 Naravno. 639 00:29:40,920 --> 00:29:41,690 Dođi gore. 640 00:29:41,690 --> 00:29:42,565 Kako se zoveš? 641 00:29:42,565 --> 00:29:43,372 >> PUBLIKA: Angela. 642 00:29:43,372 --> 00:29:44,830 DAVID J. Malan: Angela, dođi gore. 643 00:29:44,830 --> 00:29:47,220 Dakle, ispočetka je bila za nekoliko godina. 644 00:29:47,220 --> 00:29:49,960 I kad sam bio u Graduate School, Bio sam križ registrirani na MIT, 645 00:29:49,960 --> 00:29:53,392 da profesor Mitchel Resnick a tečaj o obrazovnim tehnologijama. 646 00:29:53,392 --> 00:29:56,350 I bili smo među prva studenti u svijetu zapravo beta 647 00:29:56,350 --> 00:29:57,120 Ispitivanje ispočetka. 648 00:29:57,120 --> 00:30:00,090 A moj projekt je ono što je Angela sada je milostivo volontirala 649 00:30:00,090 --> 00:30:02,060 Za igrati zove Oscartime. 650 00:30:02,060 --> 00:30:04,507 >> Tako ću ići naprijed i dvaput kliknite ikonu ovdje. 651 00:30:04,507 --> 00:30:07,590 To će otvoriti programiranje okruženje koje ćemo uskoro zaroniti. 652 00:30:07,590 --> 00:30:09,720 Idem cijelom zaslonu je za Angelu, ovdje. 653 00:30:09,720 --> 00:30:12,490 Idem pogoditi zeleno Zastava u samo trenutak. 654 00:30:12,490 --> 00:30:15,130 I onda puno smeća će pasti s neba. 655 00:30:15,130 --> 00:30:17,830 I vi ćete koristiti miša Ovdje je zapravo za povucite i ispustite 656 00:30:17,830 --> 00:30:20,169 smeće u Oscar kantama za smeće. 657 00:30:20,169 --> 00:30:23,210 Dakle, ako želite ići naprijed i kliknite zelena zastava, igra će započeti. 658 00:30:23,210 --> 00:30:26,890 >> [Glazbom] 659 00:30:26,890 --> 00:30:29,980 >> Oh, volim smeće. 660 00:30:29,980 --> 00:30:34,840 Sve prljavi ili prljav ili prašnjava. 661 00:30:34,840 --> 00:30:39,300 Sve isprekidano ili trulo, ili zapušten. 662 00:30:39,300 --> 00:30:43,155 Da, volim smeće. 663 00:30:43,155 --> 00:30:45,530 Ako stvarno želite vidjeti nešto trashy, pogledajte ovo. 664 00:30:45,530 --> 00:30:49,570 Imam ovdje jedan tenisica to je pohabana i istrošen. 665 00:30:49,570 --> 00:30:53,750 To je sve puno rupa drži i vezice su poderana. 666 00:30:53,750 --> 00:30:57,590 Dar od moje majke dana sam se rodio. 667 00:30:57,590 --> 00:30:59,434 Ja ga volim, jer it's-- 668 00:30:59,434 --> 00:31:02,600 DAVID J. Malan: --green ovih dana jednostavno biti bacanje sve u smeće. 669 00:31:02,600 --> 00:31:04,312 I što je jedan od CS50 vlastiti did-- osoblja 670 00:31:04,312 --> 00:31:06,270 Jordan, koji vas možda susret today-- ima zapravo 671 00:31:06,270 --> 00:31:08,030 ažurirana to za današnje vrijeme. 672 00:31:08,030 --> 00:31:10,800 I tako mi dopustiti da se otvori remix umjesto za Angelu. 673 00:31:10,800 --> 00:31:13,600 A mi ćemo igrati ovaj umjesto za nekoliko trenutaka u kojima sada ste 674 00:31:13,600 --> 00:31:16,600 će morati odlučiti između bilo baciti nešto u smeće, 675 00:31:16,600 --> 00:31:19,050 ili ga reciklirati ili komposta ga. 676 00:31:19,050 --> 00:31:21,280 Tako da je malo pritisak na vas da se 677 00:31:21,280 --> 00:31:28,040 to pravo pred vaš 392 do 497 kolege ovdje u dvorani, 678 00:31:28,040 --> 00:31:28,724 ako bi. 679 00:31:28,724 --> 00:31:29,390 [VIDEO PLAYBACK] 680 00:31:29,390 --> 00:31:32,540 [Glazbom] 681 00:31:32,540 --> 00:31:36,280 Oh Volim smeće. 682 00:31:36,280 --> 00:31:40,840 Sve prljavi ili prljav ili prašnjava. 683 00:31:40,840 --> 00:31:44,910 Sve poderan ili trule ili zapušten. 684 00:31:44,910 --> 00:31:48,830 Da, volim smeće. 685 00:31:48,830 --> 00:31:51,480 >> Ako stvarno želite vidjeti nešto trashy, pogledajte ovo. 686 00:31:51,480 --> 00:31:55,540 Imam ovdje jedan tenisica to je pohabana i istrošen. 687 00:31:55,540 --> 00:31:59,440 To je sve puna rupa i vezice su poderana. 688 00:31:59,440 --> 00:32:03,762 Dar od moje majke dana sam se rodio. 689 00:32:03,762 --> 00:32:07,630 Volim ga zato što je smeće. 690 00:32:07,630 --> 00:32:11,570 >> Oh, volim smeće. 691 00:32:11,570 --> 00:32:15,512 Sve prljave, ili prljav, ili prašnjava. 692 00:32:15,512 --> 00:32:20,200 Sve poderan ili trule ili zapušten. 693 00:32:20,200 --> 00:32:23,856 Da, volim smeće. 694 00:32:23,856 --> 00:32:26,246 Evo još malo trulo stvari. 695 00:32:26,246 --> 00:32:28,240 Imam ovdje neke newspaper-- 696 00:32:28,240 --> 00:32:28,889 >> [END PLAYBACK] 697 00:32:28,889 --> 00:32:30,680 DAVID J. Malan: --are zapravo kompostabilnog. 698 00:32:30,680 --> 00:32:32,790 Ali hvala na naše volonter, Angela. 699 00:32:32,790 --> 00:32:37,920 Imamo stres loptu za vas ovdje. 700 00:32:37,920 --> 00:32:38,790 Dakle, hvala vam. 701 00:32:38,790 --> 00:32:40,250 >> Dakle, to je jedan je napisao mene. 702 00:32:40,250 --> 00:32:44,324 No, sada je u stvarnim bivšeg studenta koji provodi ovo, što je igra. 703 00:32:44,324 --> 00:32:46,490 Sve na tom jeziku naziva Scratch, da ćemo uskoro 704 00:32:46,490 --> 00:32:47,850 oguliti slojeve. 705 00:32:47,850 --> 00:32:49,940 Ali ako bismo volimo-članovima kako o volontera? 706 00:32:49,940 --> 00:32:50,440 Tako je. 707 00:32:50,440 --> 00:32:50,970 >> Dođi gore. 708 00:32:50,970 --> 00:32:52,070 Kako se zoveš? 709 00:32:52,070 --> 00:32:52,570 Pogled? 710 00:32:52,570 --> 00:32:53,280 Lance. 711 00:32:53,280 --> 00:32:54,082 Lance, dođi gore. 712 00:32:54,082 --> 00:32:54,790 Drago mi je. 713 00:32:54,790 --> 00:32:56,170 Dođite na ovaj način. 714 00:32:56,170 --> 00:32:59,940 Dakle, to bi se moglo imati Tema upoznati neke od vas. 715 00:32:59,940 --> 00:33:02,180 Ali vidjet ćete da previše ne može biti interaktivnost, 716 00:33:02,180 --> 00:33:05,242 gdje ste zapravo mogli biti Uloga lika kretanje. 717 00:33:05,242 --> 00:33:05,950 Drago mi je. 718 00:33:05,950 --> 00:33:06,470 David. 719 00:33:06,470 --> 00:33:10,464 >> Ja vam dajem, Pikachu. 720 00:33:10,464 --> 00:33:12,380 Upute će o doći na zaslonu. 721 00:33:12,380 --> 00:33:16,070 Ali ukratko, ti si idući u žele uhvatiti ukusna stvari, 722 00:33:16,070 --> 00:33:18,827 i izbjeći bombe i druge stvari. 723 00:33:18,827 --> 00:33:19,910 Sa kursori u cijelosti. 724 00:33:19,910 --> 00:33:21,320 Tako hit razmaknicu. 725 00:33:21,320 --> 00:33:21,820 -Pikachu. 726 00:33:21,820 --> 00:33:23,480 DAVID J. Malan: Catch stvari na lijevoj strani, 727 00:33:23,480 --> 00:33:24,938 ne uhvatiti stvari na desnoj strani. 728 00:33:24,938 --> 00:33:27,576 729 00:33:27,576 --> 00:34:44,540 >> [Glazbom] 730 00:34:44,540 --> 00:34:46,332 >> Dakle, jedna posljednja ovdje. 731 00:34:46,332 --> 00:34:48,040 Ako smo mogli imati jednu više volontera ovdje. 732 00:34:48,040 --> 00:34:50,760 Mislili smo da ćemo stvoriti nešto from-- u žutoj shirt-- 733 00:34:50,760 --> 00:34:53,110 od srijede. 734 00:34:53,110 --> 00:34:54,540 Kako se zoveš? 735 00:34:54,540 --> 00:34:57,090 Marija, dođi do Marije. 736 00:34:57,090 --> 00:35:01,340 >> I podsjetiti srijedu smo uveli pojam binarne i binarni žarulje. 737 00:35:01,340 --> 00:35:03,930 To je zapravo sada Provedba tog istog sučelja 738 00:35:03,930 --> 00:35:07,360 da smo imali na iPad sa svjetlom žarulje, ali ovdje digitalno donio. 739 00:35:07,360 --> 00:35:11,220 I umjesto da napraviti stres ball-- lijepo da zadovolji vas, Davida. 740 00:35:11,220 --> 00:35:14,600 Donijeli smo malo svjetlo žarulje od Cambridgea. 741 00:35:14,600 --> 00:35:18,650 >> Ako možete, klikom na one lukovice da ih uključivanje i isključivanje, 742 00:35:18,650 --> 00:35:29,510 se s binarnom zastupljenost kažu 256. 743 00:35:29,510 --> 00:35:32,500 I vidjet ćete u srednje, trenutna brojka. 744 00:35:32,500 --> 00:35:33,690 Tako da je jedan je na. 745 00:35:33,690 --> 00:35:34,810 Tako je lijevom malo je uključen. 746 00:35:34,810 --> 00:35:36,016 >> Marija: Da, [nečujan] 747 00:35:36,016 --> 00:35:39,292 748 00:35:39,292 --> 00:35:41,280 >> DAVID J. Malan: Pa, tako da imamo just-- oh. 749 00:35:41,280 --> 00:35:42,780 Dakle, to je 128 kolona. 750 00:35:42,780 --> 00:35:44,460 Tako smo i do 128. 751 00:35:44,460 --> 00:35:46,769 Moramo doći do 256. 752 00:35:46,769 --> 00:35:48,560 A možete prtljati na i off, nije velika stvar. 753 00:35:48,560 --> 00:35:53,700 Ili možete pogoditi 128 više puta, ako želite. 754 00:35:53,700 --> 00:35:56,310 >> Dobro, dobro. 755 00:35:56,310 --> 00:35:58,090 24. 756 00:35:58,090 --> 00:35:59,790 Da, sve bliže. 757 00:35:59,790 --> 00:36:02,105 Bliže! 758 00:36:02,105 --> 00:36:05,980 Oh, što je problem onda? 759 00:36:05,980 --> 00:36:07,510 Pa što je problem? 760 00:36:07,510 --> 00:36:10,040 >> Dakle, ono što trebamo riješiti ovaj problem? 761 00:36:10,040 --> 00:36:11,060 Dakle, moramo još malo. 762 00:36:11,060 --> 00:36:12,770 I ovo je savršeno razumno, u stvarnosti, zar ne? 763 00:36:12,770 --> 00:36:15,800 Ako želite brojati od broja 1 do 2 do 3 do 4 do 5, 6, 7, 8, 9 764 00:36:15,800 --> 00:36:18,880 zapravo prevrnuti do 10, ti si Trebat će dodatni zalogaj. 765 00:36:18,880 --> 00:36:21,240 Pa neka je zapravo natrag ovdje, i dolazi do 766 00:36:21,240 --> 00:36:23,790 with-- da je očito trebala biti postavljena. 767 00:36:23,790 --> 00:36:25,590 >> Vi ne možete raditi 256 sa samo žarulju. 768 00:36:25,590 --> 00:36:29,290 Pa o tome kako jednostavno broja 50? 769 00:36:29,290 --> 00:36:29,977 Broj 50. 770 00:36:29,977 --> 00:36:34,550 771 00:36:34,550 --> 00:36:35,100 Izvrsno. 772 00:36:35,100 --> 00:36:39,050 Veliki pljesak za Mariju i njezin kao dobro. 773 00:36:39,050 --> 00:36:41,840 Hvala. 774 00:36:41,840 --> 00:36:45,570 >> Dakle, ovo topic-- namjerne kao da was-- će zapravo ponavljati. 775 00:36:45,570 --> 00:36:50,020 Najveća vrijednost koju možete predstavlja s osam bitova ili jednog bajta, 776 00:36:50,020 --> 00:36:51,750 je doista 256. 777 00:36:51,750 --> 00:36:55,770 Ali ne ako počnete računajući od 0, kao što smo 778 00:36:55,770 --> 00:36:58,060 Čini se da rade tako da sve one bitova off. 779 00:36:58,060 --> 00:37:01,530 No, sada ćemo zaroniti u podlozi Provedba tog okruženja, 780 00:37:01,530 --> 00:37:03,200 i zafrkavati osim neke od tih ideja. 781 00:37:03,200 --> 00:37:06,350 >> Dakle, u jednom trenutku smo oko vidjeti nekoliko različitih programskih osnova. 782 00:37:06,350 --> 00:37:08,080 Prvi od kojih ćemo nazvati izjavu. 783 00:37:08,080 --> 00:37:09,360 Vrsta glagola, ako hoćete. 784 00:37:09,360 --> 00:37:09,960 Akcije. 785 00:37:09,960 --> 00:37:11,180 Stvari koje treba obaviti. 786 00:37:11,180 --> 00:37:13,430 >> I u jednom trenutku vidjet ćete blokovi koje izgledaju ovako. 787 00:37:13,430 --> 00:37:14,940 Recite "Hello World", na primjer. 788 00:37:14,940 --> 00:37:16,330 Ili pričekajte jednu sekundu. 789 00:37:16,330 --> 00:37:17,834 Ili igrati zvuk Mijau. 790 00:37:17,834 --> 00:37:20,500 I doista okoliš u što ćemo biti događaj ovaj 791 00:37:20,500 --> 00:37:21,610 naziva nule. 792 00:37:21,610 --> 00:37:25,060 >> I ako sam podići Scratch bez učitavanjem bilo stvarni broj, 793 00:37:25,060 --> 00:37:27,830 neka je uzme brzi pogled na ovaj korisničko sučelje, da se tako izrazim. 794 00:37:27,830 --> 00:37:29,730 Kontrole s kojima smo u interakciji. 795 00:37:29,730 --> 00:37:32,840 Na vrhu lijeve ovdje od zaslon, ispod izbornika, 796 00:37:32,840 --> 00:37:34,650 imamo na pozornicu, da tako kažemo. 797 00:37:34,650 --> 00:37:36,550 Dakle Scratch je ono što ćemo nazvati Sprite. 798 00:37:36,550 --> 00:37:37,520 To je znak. 799 00:37:37,520 --> 00:37:40,660 >> I on se može kontrolirati pisanje programa protiv njega. 800 00:37:40,660 --> 00:37:43,950 I on će biti u mogućnosti to premjestiti gore i dolje i lijevo i desno u tom okruženju, 801 00:37:43,950 --> 00:37:46,075 ne samo pomicanjem miš, ali programski. 802 00:37:46,075 --> 00:37:48,930 Ja mogu reći da ovaj prohoda pravo, šetnja lijevo, gore, dolje ili slično. 803 00:37:48,930 --> 00:37:51,440 I ja mogu uvesti druge Duhovi ili znakova kao dobro. 804 00:37:51,440 --> 00:37:54,616 >> Doista, na dnu, gdje je ovdje vidjet ćete popis duhovi. 805 00:37:54,616 --> 00:37:56,865 U ovom trenutku, samo sam jedan, ali mogu stvoriti više, 806 00:37:56,865 --> 00:37:58,880 i oni će se pojaviti upravo ondje. 807 00:37:58,880 --> 00:38:02,630 Dakle, ako ste natrag na trenutak, kao što je Oscartime-- primjerice, Oscar, 808 00:38:02,630 --> 00:38:04,590 na lijevoj strani, smeće može, bio je duh. 809 00:38:04,590 --> 00:38:07,450 A stvar je u sredini, đubrište, bio je još jedan duh. 810 00:38:07,450 --> 00:38:09,300 I kompost bin je još jedan duh. 811 00:38:09,300 --> 00:38:11,790 I svaki komad smeća i recikliranog materijala 812 00:38:11,790 --> 00:38:14,590 koja je padala s neba Također je duh, od kojih 813 00:38:14,590 --> 00:38:16,150 se individualno programirati. 814 00:38:16,150 --> 00:38:17,040 >> Kako programirate? 815 00:38:17,040 --> 00:38:20,180 Pa, ovdje na desnoj strani ruka strana je skripte područje. 816 00:38:20,180 --> 00:38:22,930 I ovo je mjesto gdje možemo povucite i ispustite slagalice. 817 00:38:22,930 --> 00:38:26,066 U tjedan dana, to će biti gdje smo ravnopravno pisati kod 818 00:38:26,066 --> 00:38:28,940 s više od tipkovnice, ali za danas ću se povučete i ispustite 819 00:38:28,940 --> 00:38:31,680 slagalice je palete za koje mogu sve 820 00:38:31,680 --> 00:38:33,190 naći ovdje desno u sredini. 821 00:38:33,190 --> 00:38:35,190 Doista, u sredini Ovdje postoji cijela hrpa 822 00:38:35,190 --> 00:38:37,910 kategorija slagalice komada ili blokova. 823 00:38:37,910 --> 00:38:42,500 Jedan je vezan uz pokretu, izgleda, zvuk, olovke ide gore i dolje, 824 00:38:42,500 --> 00:38:43,860 podaci, događaji kontrolirati. 825 00:38:43,860 --> 00:38:45,654 Nije baš sigurna još što sve to znači, 826 00:38:45,654 --> 00:38:47,820 ali vidjet ćete da oni ' je lijepo kategoriziran. 827 00:38:47,820 --> 00:38:50,680 I napisati program u Scratch, neka je učiniti upravo to. 828 00:38:50,680 --> 00:38:53,480 >> Idem početi pod Događaji i povucite ovaj jedan ovdje. 829 00:38:53,480 --> 00:38:55,470 Kada zelena zastava kliknuli. 830 00:38:55,470 --> 00:38:56,704 Sad zašto je to jedan? 831 00:38:56,704 --> 00:38:59,120 Pa podsjetiti da naši volonteri došao gore, prva stvar koju sam 832 00:38:59,120 --> 00:39:02,017 ili ih nije bilo kliknite da zeleni Zastava u gornjem desnom kutu. 833 00:39:02,017 --> 00:39:03,600 A to samo znači početak programa. 834 00:39:03,600 --> 00:39:06,560 >> Dakle, kada taj događaj dogodi, ono što želim učiniti? 835 00:39:06,560 --> 00:39:10,070 Ja ću ići po izgledu, i ja ću učiniti "pozdraviti". 836 00:39:10,070 --> 00:39:14,000 I ja ću to promijeniti i reći nešto poput "Halo Yaleu." 837 00:39:14,000 --> 00:39:16,970 A sada ću uvećanje van, kliknite zelenu zastavu, 838 00:39:16,970 --> 00:39:19,050 i voila, ja sam napisao program. 839 00:39:19,050 --> 00:39:20,990 To nije sve što je uzbudljivo samo još, ali ovo 840 00:39:20,990 --> 00:39:23,195 je točno gdje je svaki onih autor započeo, 841 00:39:23,195 --> 00:39:25,740 oba s Pikachu, i binarni žarulje i Oscartime, 842 00:39:25,740 --> 00:39:26,890 i tako mnogo više primjera. 843 00:39:26,890 --> 00:39:29,150 >> Možete početi super jednostavan i onda počnete sloj, 844 00:39:29,150 --> 00:39:31,046 i dodati na značajke i funkcionalnosti. 845 00:39:31,046 --> 00:39:32,920 Pa što su ti slojevi će se sastojati od? 846 00:39:32,920 --> 00:39:36,086 Pa, nakon izjave, također ćemo ima stvari koje su malo više fancily 847 00:39:36,086 --> 00:39:38,910 naziva Boolean izrazi, Nakon nekoga po imenu bool. 848 00:39:38,910 --> 00:39:42,820 I logički izraz je jednostavno izraz koji je bilo istinito ili lažno, 849 00:39:42,820 --> 00:39:45,740 da ili ne, 1 ili 0. 850 00:39:45,740 --> 00:39:47,480 >> Bilo polarne suprotnosti kao što je to. 851 00:39:47,480 --> 00:39:48,902 To je bilo istina ili ne. 852 00:39:48,902 --> 00:39:51,360 Ali također ćete vidjeti one koje može izgledati ovako. 853 00:39:51,360 --> 00:39:52,925 Tako na primjer, je miš dolje? 854 00:39:52,925 --> 00:39:54,550 Oni su vrsta pitanja, ako hoćete. 855 00:39:54,550 --> 00:39:57,650 >> Miš je ili dolje, istina ili nije, lažna. 856 00:39:57,650 --> 00:39:59,990 1 ili 0, ako hoćete, teži biti mapiranje. 857 00:39:59,990 --> 00:40:01,740 Istina je 1, lažna je 0. 858 00:40:01,740 --> 00:40:03,740 Pa što je manje od toga? 859 00:40:03,740 --> 00:40:05,400 Ili kako je to manje od toga? 860 00:40:05,400 --> 00:40:06,650 To je pitanje od sorti. 861 00:40:06,650 --> 00:40:09,140 >> A ako ste stavili dva brojevi u njemu, bilo x 862 00:40:09,140 --> 00:40:12,010 će biti manji od y ili jednako y, ili veća od y, 863 00:40:12,010 --> 00:40:14,635 ali ovaj blok vidjet ćemo, samo je će odgovoriti na pitanje, 864 00:40:14,635 --> 00:40:15,810 je to manje od toga? 865 00:40:15,810 --> 00:40:17,650 Mi također može vidjeti nešto ovako. 866 00:40:17,650 --> 00:40:18,790 Dodirivanje pokazivače miša. 867 00:40:18,790 --> 00:40:21,610 Tako je u nule, možete pitati pitanje, je Sprite 868 00:40:21,610 --> 00:40:22,800 dodiruje pokazivač miša? 869 00:40:22,800 --> 00:40:26,040 Drugim riječima, je pokazivač lebdi preko kape, ili u protuvrijednosti? 870 00:40:26,040 --> 00:40:28,100 >> Vidjet ćemo anding stvari zajedno. 871 00:40:28,100 --> 00:40:30,970 Možete postaviti dva pitanja, i pobrinite se da su obojica 872 00:40:30,970 --> 00:40:34,920 vam dati da ili pravi odgovori prije donošenja odluke da nešto učini. 873 00:40:34,920 --> 00:40:36,709 Ali kako onda donositi odluke? 874 00:40:36,709 --> 00:40:38,000 Pa, mi imamo te uvjete. 875 00:40:38,000 --> 00:40:40,041 >> A vidjeli smo to u našem primjer telefonskog imenika. 876 00:40:40,041 --> 00:40:41,900 Gledajući na lijevo ili pravo za Mike Smith. 877 00:40:41,900 --> 00:40:45,140 A u stanju, nešto potencijalno, 878 00:40:45,140 --> 00:40:47,240 ako je logički izraz istinit. 879 00:40:47,240 --> 00:40:48,720 >> I doista, primijetiti oblike sada. 880 00:40:48,720 --> 00:40:52,250 Tu je ovo rezervirano sada na pretek gdje možemo fit-- 881 00:40:52,250 --> 00:40:54,532 ako sam natrag jedan slide-- tom obliku. 882 00:40:54,532 --> 00:40:55,740 To nije posve iste veličine. 883 00:40:55,740 --> 00:40:58,400 I doista, vidjet ćete da Blok mijenja veličinu stvari dinamički 884 00:40:58,400 --> 00:41:01,479 da stane slagalice, ali oblik je ono što je važno. 885 00:41:01,479 --> 00:41:03,270 Ova stvar izgleda kao da, i doista je 886 00:41:03,270 --> 00:41:05,410 otprilike isti oblik koji bi trebao stati tamo. 887 00:41:05,410 --> 00:41:09,520 I ako želimo nešto napraviti ovako ili onako, ako inače, 888 00:41:09,520 --> 00:41:12,080 imamo ovu zagonetku komad u Scratch kao dobro. 889 00:41:12,080 --> 00:41:17,450 >> Sada pretpostavimo da je htio učiniti ako, inače ako, ili drugdje. 890 00:41:17,450 --> 00:41:20,120 Drugim riječima, trostrani vilica na cesti. 891 00:41:20,120 --> 00:41:22,656 Pa što možete učiniti samo Bacimo li pogled na ovo? 892 00:41:22,656 --> 00:41:25,030 Ja mogu uzeti ovaj puzzle komad, i to se ne čini da stane, 893 00:41:25,030 --> 00:41:27,670 ali opet, ispočetka se događa ponovno veličinu lijepo za nas. 894 00:41:27,670 --> 00:41:29,940 Mogao bih početi sloj ove stvari zajedno. 895 00:41:29,940 --> 00:41:32,900 >> Pa sad imam tri put vilica, ako je to istina, to učiniti. 896 00:41:32,900 --> 00:41:36,560 Inače, ako to druga stvar je istina, ići na ovaj način, drugi ide ovaj drugi način. 897 00:41:36,560 --> 00:41:39,200 A u Muppet Movie je vilica na cesti, da tako kažemo, 898 00:41:39,200 --> 00:41:42,610 između Yalea ili Stanford, bio je upravo to, samo dva uvjeta. 899 00:41:42,610 --> 00:41:45,190 Ili idite na ovaj način, drugi ide tim putem. 900 00:41:45,190 --> 00:41:46,940 >> Pa, i petlje postoje u programiranju. 901 00:41:46,940 --> 00:41:49,100 I sam se to već u klase i pseudokod koda, 902 00:41:49,100 --> 00:41:51,060 a sigurno je u onima Scratch programi zauvijek. 903 00:41:51,060 --> 00:41:53,730 Scratch je ovaj puzzle komad koji samo će vam učiniti nešto zauvijek. 904 00:41:53,730 --> 00:41:55,688 A ponekad želite učiniti nešto zauvijek. 905 00:41:55,688 --> 00:41:58,810 To nije nužno bug, to je jer želite sat zadržati ide, 906 00:41:58,810 --> 00:42:00,730 ili igra nastaviti igrati. 907 00:42:00,730 --> 00:42:04,800 Ili možete odrediti konačan broj koraka, kao što je s ovom ponavljanja bloka ovdje, 908 00:42:04,800 --> 00:42:06,550 koji će ponoviti nešto 10 puta. 909 00:42:06,550 --> 00:42:08,560 Možemo postaviti varijable, uskoro ćemo vidjeti. 910 00:42:08,560 --> 00:42:12,300 A s varijablama, sličnim duhom da algebra, kao što su x, ili y, ili z. 911 00:42:12,300 --> 00:42:16,390 To je nešto simbolično koji može pohraniti neke vrijednosti, neke podatak, 912 00:42:16,390 --> 00:42:18,320 da možda želite zapamtiti za kasnije. 913 00:42:18,320 --> 00:42:21,080 >> Najbolji primjer za to može biti igra u kojoj imate rezultat, 914 00:42:21,080 --> 00:42:22,080 kao u Pikachu. 915 00:42:22,080 --> 00:42:25,180 Koliko komada torte i sitnica si uhvatiti? 916 00:42:25,180 --> 00:42:29,340 Pa, to bi moglo biti varijabla zove rezultat koji počinje na 0. 917 00:42:29,340 --> 00:42:32,400 I onda svaki put smo uhvatili komad torte ili slatkiša, ili slično, 918 00:42:32,400 --> 00:42:33,720 to dobiva porastao. 919 00:42:33,720 --> 00:42:35,990 Ona dodaje na jednu po jednu. 920 00:42:35,990 --> 00:42:38,450 I tako varijablu pohranjuje podatak kao što je to. 921 00:42:38,450 --> 00:42:41,450 Zatim tu je polja, a mi ćemo doći natrag na to u tjedan ili dva vremena, 922 00:42:41,450 --> 00:42:44,900 ali niz je vrsta kao što je inventara ili torba, unutar 923 00:42:44,900 --> 00:42:46,940 od kojih možete staviti virtualne stvari. 924 00:42:46,940 --> 00:42:49,852 To vam omogućuje da pohraniti više od jednog komada informacija. 925 00:42:49,852 --> 00:42:51,810 A to bi moglo biti korisno ako je u igri, ti si 926 00:42:51,810 --> 00:42:53,630 vrsta šetnju branje stvari. 927 00:42:53,630 --> 00:42:55,879 A možda želite zadržati sve one komada torte 928 00:42:55,879 --> 00:42:58,260 okolo, a ne samo jesti ih jedan za drugim. 929 00:42:58,260 --> 00:43:00,010 A onda tu je ljubitelj konstrukt mi ćemo 930 00:43:00,010 --> 00:43:02,932 doći nazivaju funkcija ili postupaka. 931 00:43:02,932 --> 00:43:04,640 I iako ćemo brže ovdje, mi ćemo 932 00:43:04,640 --> 00:43:07,345 vidjeti da su vrlo prirodno rješenje za probleme 933 00:43:07,345 --> 00:43:08,470 da idemo susret. 934 00:43:08,470 --> 00:43:10,220 Kao naši programi pokrenuti sve veći mi ćemo 935 00:43:10,220 --> 00:43:12,640 početi primijetiti obrasce u kod koje pišemo, 936 00:43:12,640 --> 00:43:14,556 slagalice smo povlačenjem i ispuštanjem. 937 00:43:14,556 --> 00:43:18,240 I čim se primjetiti radi nešto opet i opet, ili još gore 938 00:43:18,240 --> 00:43:21,400 kopiranje i lijepljenje programiranje kod koji ste napisali, 939 00:43:21,400 --> 00:43:23,612 to je vjerojatno prilika da se faktor 940 00:43:23,612 --> 00:43:25,820 sve što bi kopiranje i lijepljenja, i stavljajući ga 941 00:43:25,820 --> 00:43:27,430 nešto naziva "funkcija". 942 00:43:27,430 --> 00:43:29,690 No, više na one u mnogo Više detalja prije dugo. 943 00:43:29,690 --> 00:43:31,314 >> A tu je i ljubitelj značajke. 944 00:43:31,314 --> 00:43:34,100 Za one od vas više udoban, ili uzimanje APC ili ekvivalent, 945 00:43:34,100 --> 00:43:37,600 Blok zapravo podržava stvari kao niti i događaje i još mnogo toga. 946 00:43:37,600 --> 00:43:39,840 Dakle shvatiti da ima prilično visoki strop, 947 00:43:39,840 --> 00:43:42,540 iako je također vrlo široko dostupna ljudi 948 00:43:42,540 --> 00:43:44,460 koji nikada nisu programirani prije. 949 00:43:44,460 --> 00:43:47,130 Dakle, istina, neka je pogledati na jednostavan program ili dva. 950 00:43:47,130 --> 00:43:49,920 >> Već smo pogledali kako smo Možda pozdraviti s nule. 951 00:43:49,920 --> 00:43:52,800 Dopustite mi ići naprijed i otvoriti malo više zanimljiv program 952 00:43:52,800 --> 00:43:54,100 da sam napisao unaprijed. 953 00:43:54,100 --> 00:43:56,430 I ovo se zove Pet the Mačka. 954 00:43:56,430 --> 00:43:58,954 Svi ovi programi će biti dostupan na web stranici CS50. 955 00:43:58,954 --> 00:43:59,870 Doista, već tamo. 956 00:43:59,870 --> 00:44:01,190 >> Tako možete preuzeti ih, i igrati se s njima, 957 00:44:01,190 --> 00:44:03,850 i Problem Set 0, koji Također je na web stranicama tijeku je, 958 00:44:03,850 --> 00:44:05,516 ste ohrabreni da hoda po njima. 959 00:44:05,516 --> 00:44:07,820 A osim toga, imamo Broj šetnja kroz video 960 00:44:07,820 --> 00:44:10,951 online u kojoj sam i CS50 tim doista hoda 961 00:44:10,951 --> 00:44:14,200 kroz svaki od ovih primjera na mnogo sporiji ritam, vrlo brzo prosljeđivati, 962 00:44:14,200 --> 00:44:18,530 ili namotom tempo, tako da možete hodati kroz njih u svoje slobodno vrijeme, kao dobro. 963 00:44:18,530 --> 00:44:20,330 Dakle, ovdje je ispočetka na lijevoj strani. 964 00:44:20,330 --> 00:44:22,920 Evo program na desno da sam već prije napravili. 965 00:44:22,920 --> 00:44:24,880 Pa neka mi uvećanje na to. 966 00:44:24,880 --> 00:44:28,780 A mogao je netko na engleskom, znajući ono što znam, samo od sada kao 967 00:44:28,780 --> 00:44:31,650 kako Scratch djela, vrsta kažu u engleskom izrazu ili kazne, 968 00:44:31,650 --> 00:44:35,450 Što je ovaj program naizgled učiniti? 969 00:44:35,450 --> 00:44:36,836 >> Da, u narančastoj košulji. 970 00:44:36,836 --> 00:44:40,804 >> PUBLIKA: [nečujan] 971 00:44:40,804 --> 00:44:41,796 972 00:44:41,796 --> 00:44:44,980 >> DAVID J. Malan: Da, ako vaš pokazivač na ogrepsti mačka, 973 00:44:44,980 --> 00:44:46,220 igrati mijaukati zvuk. 974 00:44:46,220 --> 00:44:47,870 Ali primijetiti kako izražavamo to. 975 00:44:47,870 --> 00:44:49,980 Postoji očito petlja tamo zauvijek. 976 00:44:49,980 --> 00:44:53,000 A onda tu je Uvjet je li izraz. 977 00:44:53,000 --> 00:44:55,090 I kolektivno, što oni znače? 978 00:44:55,090 --> 00:44:57,210 To znači da ovaj program samo je uvijek radi, 979 00:44:57,210 --> 00:44:59,510 i to je samo uvijek čeka i gledanje i slušanje 980 00:44:59,510 --> 00:45:01,730 za mene da se presele svoju miša preko mačke. 981 00:45:01,730 --> 00:45:04,810 >> Jer svaki put kad sam to učiniti, kao što je predlažete, to će to učiniti. 982 00:45:04,810 --> 00:45:06,475 Pocnimo program. 983 00:45:06,475 --> 00:45:08,350 Izgleda da se ništa događa, ali primijetiti kako 984 00:45:08,350 --> 00:45:10,152 to je istaknut sada u žute linije. 985 00:45:10,152 --> 00:45:11,360 To samo znači da je pokrenut. 986 00:45:11,360 --> 00:45:13,770 I zato postoji zauvijek petlje, to je još uvijek radi. 987 00:45:13,770 --> 00:45:19,610 >> Dakle, dopustite mi da se presele svoje pokazivač iznad nule. [Mijau] [Mijau] I ako ja to krenuti, 988 00:45:19,610 --> 00:45:25,444 [Mijau] sad se ne zaustavi, ali program je još uvijek radi. [Mijau] I tako, sladak. 989 00:45:25,444 --> 00:45:28,550 [Mijau] Tako ćemo otvoriti nešto napredniji 990 00:45:28,550 --> 00:45:32,620 Primjer naziva Nemojte ljubimaca mačka. 991 00:45:32,620 --> 00:45:35,805 >> A sada da vidimo što što se ovdje događa. [Mijau] mijaukati. 992 00:45:35,805 --> 00:45:39,297 Tako da je malo na auto pilot, ako hoćete. 993 00:45:39,297 --> 00:45:39,880 --pet mačku. 994 00:45:39,880 --> 00:45:42,820 Pitam se zašto. 995 00:45:42,820 --> 00:45:45,389 [Roar] [Mijau] Pa kako je ovaj posao? 996 00:45:45,389 --> 00:45:47,930 Pa, možete vrsta razuma kroz intuitivno, možda. 997 00:45:47,930 --> 00:45:49,346 >> Ali pogledajmo stvarne koda. 998 00:45:49,346 --> 00:45:51,819 Pa opet, kad je zelena zastava klikne, to zauvijek. 999 00:45:51,819 --> 00:45:53,110 Što želite učiniti zauvijek? 1000 00:45:53,110 --> 00:45:56,150 Pa, ako se dira miša pokazivač, a zatim igraju 1001 00:45:56,150 --> 00:46:00,270 zvuk koji navodno zove Lion 5, koji je unutar ovog projekta, ostalo 1002 00:46:00,270 --> 00:46:03,010 igrati zvuk Mijau, i zatim pričekajte dvije sekunde, pa 1003 00:46:03,010 --> 00:46:04,510 da ne mijaukati neprestano. 1004 00:46:04,510 --> 00:46:07,650 U stvari, možete vrlo brzo početi ljutiti sebe i svoje cimera. 1005 00:46:07,650 --> 00:46:08,690 >> Idemo ukloniti ovaj blok. 1006 00:46:08,690 --> 00:46:10,580 I primijetiti ono što je lijepo o ispočetka. 1007 00:46:10,580 --> 00:46:13,070 Stvari samo vrsta otpora i ispustite i blokada. 1008 00:46:13,070 --> 00:46:14,980 Pa opet, ona raste na ispuniti ono što želite. 1009 00:46:14,980 --> 00:46:20,118 Ali ako ja maknuti to, a zatim hit igra, [RAČUNALO jeka SOUND] 1010 00:46:20,118 --> 00:46:22,904 >> --it je vrsta spoticanje sama, jer to je doslovno 1011 00:46:22,904 --> 00:46:23,820 radiš ono što ja govorim. 1012 00:46:23,820 --> 00:46:27,080 To govori zauvijek igrati ovu zvuk, ali Neću dajući mu priliku završiti. 1013 00:46:27,080 --> 00:46:28,205 A kako će biti bug. 1014 00:46:28,205 --> 00:46:30,700 I to je razlog zašto smo imali ova stvar ovdje. 1015 00:46:30,700 --> 00:46:34,030 Tako ćemo zapravo početi od scratch-- vrsta dosjetka malo intended-- 1016 00:46:34,030 --> 00:46:36,450 u kojoj mi sada imamo mačka potez. 1017 00:46:36,450 --> 00:46:38,130 >> Tako ću to učiniti na letjeti. 1018 00:46:38,130 --> 00:46:40,910 Idem za uvećanje ovdje, da bi me počeo događanja. 1019 00:46:40,910 --> 00:46:42,000 A zelena zastava kliknuli. 1020 00:46:42,000 --> 00:46:43,410 A tu je i druge načine za početak skripte. 1021 00:46:43,410 --> 00:46:44,920 Mi ćemo ga zadržati jednostavan ovdje. 1022 00:46:44,920 --> 00:46:48,049 >> A sada ću ići naprijed i ići pod kontrolom. 1023 00:46:48,049 --> 00:46:50,590 I opet, ako zaboravite gdje stvari, samo kliknite okolo, 1024 00:46:50,590 --> 00:46:52,048 i na kraju ih ponovno pronaći. 1025 00:46:52,048 --> 00:46:53,680 Dakle, želim zauvijek napraviti što? 1026 00:46:53,680 --> 00:46:58,650 Želim koristiti blok motion Koliko ja znam postoji, premjestite 10 koraka. 1027 00:46:58,650 --> 00:47:02,016 >> Tako ćemo vidjeti što će se dogoditi ovdje ako igram ovu igru. 1028 00:47:02,016 --> 00:47:03,390 Srećom to ne ide predaleko. 1029 00:47:03,390 --> 00:47:05,190 Ja još uvijek mogu ga zgrabite vrsta za rep i povucite ga natrag. 1030 00:47:05,190 --> 00:47:07,860 Ali program još uvijek radi, pa on je vrsta mi bore. 1031 00:47:07,860 --> 00:47:10,870 Ali bilo bi vrsta lijepo kad bih uvjetno popraviti u kodu. 1032 00:47:10,870 --> 00:47:12,800 >> Budući da je ovo not-- zapravo ovo je stvarno 1033 00:47:12,800 --> 00:47:15,770 Ne zabavna igra za svakoga bilo koje dobi. 1034 00:47:15,770 --> 00:47:18,915 Tako ćemo pokušati popraviti tako što imaju neku vrstu uvjetima. 1035 00:47:18,915 --> 00:47:21,670 Tako ću ići ispod Kontrola, a onda, ako. 1036 00:47:21,670 --> 00:47:22,660 Sviđa mi se ova ideja. 1037 00:47:22,660 --> 00:47:27,470 Dakle, nakon što se kreće od 10 koraka, if-- neka mi osjetiti gdje sam ja. 1038 00:47:27,470 --> 00:47:30,799 Ja ću ići pod Sensing, a onda to izgleda ja mogu ići ovdje. 1039 00:47:30,799 --> 00:47:31,840 red oblik utakmice. 1040 00:47:31,840 --> 00:47:34,380 >> Veličina ne, ali to je će rasti ispuniti. 1041 00:47:34,380 --> 00:47:35,984 A sada ovo je malo izbornik. 1042 00:47:35,984 --> 00:47:38,650 A sada miš pointer-- ja ne Želite miša, želim rub. 1043 00:47:38,650 --> 00:47:41,700 Dakle, ispočetka je dovoljno pametan da zna kada sprite dodiruje rub. 1044 00:47:41,700 --> 00:47:44,360 Što želim ga zapravo raditi? 1045 00:47:44,360 --> 00:47:46,025 >> Dopustite mi ići naprijed i mijenjati prijedlog. 1046 00:47:46,025 --> 00:47:46,940 Znaš što? 1047 00:47:46,940 --> 00:47:49,242 Idem da ga okrenuti. 1048 00:47:49,242 --> 00:47:51,200 Tako je na 15 stupnjeva nije stvarno će mi pomoći. 1049 00:47:51,200 --> 00:47:53,990 Želim mu da se okrene i otići na drugu stranu. 1050 00:47:53,990 --> 00:47:57,740 >> Tako ćemo vidjeti što će se dogoditi ovdje, ako sam pogodio Igraj sada. 1051 00:47:57,740 --> 00:48:01,520 U redu, vrsta glupo izgleda, ali to radiš točno ono što sam rekao. 1052 00:48:01,520 --> 00:48:03,540 I to je rotirati cijeli sprite. 1053 00:48:03,540 --> 00:48:04,900 Sada ispada da mogu popraviti. 1054 00:48:04,900 --> 00:48:06,691 A ja ne znam kako popraviti to na prvom mjestu. 1055 00:48:06,691 --> 00:48:09,190 Ja vrsta morao futz okolo i vidim da je najbolji način da to učinite. 1056 00:48:09,190 --> 00:48:12,630 Ali ako idem to-- vidimo, prijedlog. 1057 00:48:12,630 --> 00:48:14,050 Oh, našao sam ovo. 1058 00:48:14,050 --> 00:48:15,660 Zapravo, Set Rotation stil. 1059 00:48:15,660 --> 00:48:18,431 Lijevo, desno, ili ne okretati, ili sve oko sebe. 1060 00:48:18,431 --> 00:48:19,930 I ispada da je ono što želim. 1061 00:48:19,930 --> 00:48:22,920 I ja ću staviti ovo nije moja petlje, jer ne trebate postaviti 1062 00:48:22,920 --> 00:48:24,487 rotacija stil više puta. 1063 00:48:24,487 --> 00:48:27,570 Idem ga staviti na samom vrhu ovaj program, tako da se dobiva set jednom, 1064 00:48:27,570 --> 00:48:28,670 a zatim se sjeća. 1065 00:48:28,670 --> 00:48:30,340 A sada ću pokušati to opet. 1066 00:48:30,340 --> 00:48:32,520 Dopustite mi da se zaustavi program. 1067 00:48:32,520 --> 00:48:34,050 >> A sada da fiksna taj bug. 1068 00:48:34,050 --> 00:48:35,700 Tako sam iterativno poboljšanje na to. 1069 00:48:35,700 --> 00:48:37,900 Program je dobivanje malo složeniji i veći, 1070 00:48:37,900 --> 00:48:40,810 ali ja sam uzimajući baby korake da tako kažemo, i mali ugriza iz problema 1071 00:48:40,810 --> 00:48:42,010 da bi ga bolje i bolje. 1072 00:48:42,010 --> 00:48:43,260 Ali i to je vrsta hrom. 1073 00:48:43,260 --> 00:48:43,900 >> Znaš što? 1074 00:48:43,900 --> 00:48:49,860 Želite pitati nekoga sa jako dobra, strašan glas željeli doći gore? 1075 00:48:49,860 --> 00:48:51,210 Netko s glasom. 1076 00:48:51,210 --> 00:48:54,070 1077 00:48:54,070 --> 00:48:54,570 Uh, da. 1078 00:48:54,570 --> 00:48:55,550 Dođi gore. 1079 00:48:55,550 --> 00:48:57,990 U zelenoj košulji. 1080 00:48:57,990 --> 00:49:01,530 >> Tako ispada da postoji neki drugi zabavno stvari, estetika i zvuči podjednako. 1081 00:49:01,530 --> 00:49:02,290 Evo Mijau. 1082 00:49:02,290 --> 00:49:04,000 Ja kliknite na karticu Zvukovi. 1083 00:49:04,000 --> 00:49:08,730 [Mijau] Tu je Mijau. [Mijau] [Mijau] [Mijau] --actually rekord nešto 1084 00:49:08,730 --> 00:49:10,310 od naše vlastite ovdje. 1085 00:49:10,310 --> 00:49:13,120 >> Tako ćemo učiniti upravo to. 1086 00:49:13,120 --> 00:49:17,670 Umjesto korištenja ovog mačka zvuk, neka je ići naprijed ovdje, i što je vaše ime? 1087 00:49:17,670 --> 00:49:18,850 Nick, lijepo da zadovolji vas. 1088 00:49:18,850 --> 00:49:19,350 To je David. 1089 00:49:19,350 --> 00:49:21,474 Dakle, u ovom trenutku, idem pritisnuti gumb Record. 1090 00:49:21,474 --> 00:49:23,240 I ako možete jednostavno vikati u laptop, 1091 00:49:23,240 --> 00:49:26,140 "jao", kao da je vas Upravo je ušla u zid, 1092 00:49:26,140 --> 00:49:28,180 koja će biti mnogo poštovati. 1093 00:49:28,180 --> 00:49:29,660 1, 2. 1094 00:49:29,660 --> 00:49:31,470 >> NICK: ouch! 1095 00:49:31,470 --> 00:49:32,470 DAVID J. Malan: Awesome. 1096 00:49:32,470 --> 00:49:34,410 A sada se može učiniti malo uređivanje ovdje. 1097 00:49:34,410 --> 00:49:35,910 Idete da biste dobili osloboditi od tihih dijelova. 1098 00:49:35,910 --> 00:49:37,000 I mislim da je to dobro. 1099 00:49:37,000 --> 00:49:37,690 Puno hvala. 1100 00:49:37,690 --> 00:49:38,315 >> NICK: zadovoljstvo. 1101 00:49:38,315 --> 00:49:43,277 1102 00:49:43,277 --> 00:49:45,110 DAVID J. Malan: Nemam samo ga preimenovali "jao" 1103 00:49:45,110 --> 00:49:46,901 ali sada ću vratite se na moje skripte. 1104 00:49:46,901 --> 00:49:49,810 I obavijest je zaista zvuk ovdje. 1105 00:49:49,810 --> 00:49:53,520 I ja ću ići naprijed i igrati zvuk Joj, 1106 00:49:53,520 --> 00:49:56,991 i ja ću to učiniti, ako to je dodirujući rubove samo. 1107 00:49:56,991 --> 00:49:58,740 A onda ću ga okrenuti. 1108 00:49:58,740 --> 00:50:00,250 Tako ćemo vidjeti što se ovdje događa. 1109 00:50:00,250 --> 00:50:01,728 Idemo puni zaslon. 1110 00:50:01,728 --> 00:50:02,394 [VIDEO PLAYBACK] 1111 00:50:02,394 --> 00:50:03,790 -Ouch! 1112 00:50:03,790 --> 00:50:05,290 Ouch! 1113 00:50:05,290 --> 00:50:06,790 Ouch! 1114 00:50:06,790 --> 00:50:07,790 Ouch! 1115 00:50:07,790 --> 00:50:09,160 Ouch! 1116 00:50:09,160 --> 00:50:10,780 Ouch! 1117 00:50:10,780 --> 00:50:11,587 Ouch! 1118 00:50:11,587 --> 00:50:12,086 Ouch! 1119 00:50:12,086 --> 00:50:12,492 >> [END PLAYBACK] 1120 00:50:12,492 --> 00:50:14,490 >> DAVID J. Malan: Tako ste shvatili da smo postali malo sreće. 1121 00:50:14,490 --> 00:50:17,110 Idem mu se potez kao i 100 koraka u isto vrijeme. 1122 00:50:17,110 --> 00:50:21,790 Učinak koji je sada događa da be-- [RAČUNALO glitch SOUND] Pa 1123 00:50:21,790 --> 00:50:22,490 u roku od razloga. 1124 00:50:22,490 --> 00:50:25,470 Dakle, prilika za precizirali da nadalje, ako uistinu želimo. 1125 00:50:25,470 --> 00:50:27,340 >> Dakle, sada ćemo predstaviti još jedan koncept. 1126 00:50:27,340 --> 00:50:30,660 Da me pusti u jednu pod nazivom Brojenje ovaca i koristiti nešto 1127 00:50:30,660 --> 00:50:31,610 zove varijabla. 1128 00:50:31,610 --> 00:50:34,700 Ovo je divan malo ovaca, i Promijenio sam svoj kostim da se tako izrazim. 1129 00:50:34,700 --> 00:50:37,450 Dakle, iako je zadana je mačka, možete uploadati, možete crtati, 1130 00:50:37,450 --> 00:50:40,020 možete učiniti bilo koji broj znakovi na vašem Sprite. 1131 00:50:40,020 --> 00:50:43,740 Evo program koji je učiniti ono što na engleskom? 1132 00:50:43,740 --> 00:50:47,110 >> Opet temelji na samo ono što znam sada. 1133 00:50:47,110 --> 00:50:48,230 Što ovaj program učiniti? 1134 00:50:48,230 --> 00:50:50,740 1135 00:50:50,740 --> 00:50:53,500 Da, to će brojati. 1136 00:50:53,500 --> 00:50:55,842 Jedan broj u isto vrijeme. 1137 00:50:55,842 --> 00:50:57,550 Imamo očito imati taj set brojač. 1138 00:50:57,550 --> 00:50:59,380 >> Ne znam što je to, ali možda je to promjenjiva. 1139 00:50:59,380 --> 00:51:00,740 To je samo kontejner, x ili y. 1140 00:51:00,740 --> 00:51:04,290 Ali riječ brojač je više opisno nego Matematičar je x ili y. 1141 00:51:04,290 --> 00:51:06,560 Dakle, možemo koristiti engleske riječi za stvari. 1142 00:51:06,560 --> 00:51:08,490 Zauvijek, samo znači zadržati to. 1143 00:51:08,490 --> 00:51:10,020 >> Reci brojač. 1144 00:51:10,020 --> 00:51:11,270 A gdje je to došlo? 1145 00:51:11,270 --> 00:51:13,240 Pa, ispada da Brojač je promjenjiva. 1146 00:51:13,240 --> 00:51:15,645 Dakle, to je samo još jedna zagonetka komad sam stvorio unaprijed. 1147 00:51:15,645 --> 00:51:18,020 I premda se to dogodi da ne bude isti oblik ovdje, 1148 00:51:18,020 --> 00:51:20,540 normalno što će reći nešto poput Hello ovdje. 1149 00:51:20,540 --> 00:51:23,610 >> Također možete povući varijablu tako da je to ono što je se, rekao je. 1150 00:51:23,610 --> 00:51:26,170 Onda čekam sekundu, ja promijeniti brojač po jedan, 1151 00:51:26,170 --> 00:51:27,940 ga povećavati dodavanjem jednog. 1152 00:51:27,940 --> 00:51:32,407 Tako da je neto učinak ovaj sladak brojanje ovaca. 1153 00:51:32,407 --> 00:51:33,615 Iako je on sam brojati. 1154 00:51:33,615 --> 00:51:36,642 1155 00:51:36,642 --> 00:51:38,350 Sada je vrlo brzo će dobiti dosadno 1156 00:51:38,350 --> 00:51:40,900 jer on će to doista zauvijek, 1157 00:51:40,900 --> 00:51:44,240 ali to je upravo ono što je Program je dizajn propisuje. 1158 00:51:44,240 --> 00:51:48,090 Omogućuje sada pokušati još jedan primjer koji iskorištava varijablu. 1159 00:51:48,090 --> 00:51:51,140 To se zove Hi Hi Hi, da ne dobiti neugodno brzo. 1160 00:51:51,140 --> 00:51:52,987 Sada je to jedna ima dvije skripte. 1161 00:51:52,987 --> 00:51:54,570 I tako opet, mi smo uzimajući baby korake. 1162 00:51:54,570 --> 00:51:57,236 >> Počeli smo s nešto super Mali, doda joj se, doda joj se. 1163 00:51:57,236 --> 00:51:59,750 Sada želim učiniti nešto još dinamičniji, 1164 00:51:59,750 --> 00:52:02,950 pa želim da se sluša dvije različite stvari u isto vrijeme. 1165 00:52:02,950 --> 00:52:05,420 Dakle, na lijevoj strani, kada je zelena zastava kliknuli, 1166 00:52:05,420 --> 00:52:08,100 Ja postaviti varijablu koju sam napisao Unaprijed se zove isključen. 1167 00:52:08,100 --> 00:52:09,700 I ja sam samovoljno ga postavite na 0. 1168 00:52:09,700 --> 00:52:13,290 Dakle, ispočetka ne vrijedi i lažna, ali ona ima 0 i 1. 1169 00:52:13,290 --> 00:52:15,270 >> Dakle, ja mogu aproksimirati tu istu ideju. 1170 00:52:15,270 --> 00:52:21,110 A onda zauvijek, ako je bar prostor pritisne, zatim postavite varijablu na 0. 1171 00:52:21,110 --> 00:52:21,810 Ili žao. 1172 00:52:21,810 --> 00:52:25,920 Ako se pritisne prostor, a Ako isključen, varijabla, 0, 1173 00:52:25,920 --> 00:52:29,950 zatim postavite isključen na 1, drugi set isključen 0. 1174 00:52:29,950 --> 00:52:32,370 To se čini nekako kao da smo samo radi i poništiti posao. 1175 00:52:32,370 --> 00:52:33,130 >> No, ono što je učinak? 1176 00:52:33,130 --> 00:52:35,588 Svaki put sam pogodio razmaknicu, što se događa s mojim varijable 1177 00:52:35,588 --> 00:52:38,150 zove isključen, logično? 1178 00:52:38,150 --> 00:52:39,100 Vrsta dobiva poludio. 1179 00:52:39,100 --> 00:52:41,035 Se mijenja od 0 do 1, ili 1 do 0 ° C. 1180 00:52:41,035 --> 00:52:43,035 Dakle, to je nekoliko blokova izraziti da, ali sve 1181 00:52:43,035 --> 00:52:47,280 Radim je varijantama stanje varijabla 0 ili 1, ili 0 ili 1 1182 00:52:47,280 --> 00:52:48,530 svaki put sam pogodio razmaknicu. 1183 00:52:48,530 --> 00:52:49,905 Sada ovdje, što to radiš? 1184 00:52:49,905 --> 00:52:53,400 Zauvijek, ako je isključen 0, pa ako isključen je lažna. 1185 00:52:53,400 --> 00:52:57,910 Dakle, ako to nije isključen, je semantika tamo, igrati zvuk morski lav, 1186 00:52:57,910 --> 00:53:00,810 i mislim Hi Hi Hi za dvoje sekunde, pričekajte dvije sekunde. 1187 00:53:00,810 --> 00:53:02,710 Dakle, primijetite sada to skripte su učinkovito 1188 00:53:02,710 --> 00:53:07,100 će izvoditi paralelno, tako da se mogu slušati za jednu akciju, a drugi 1189 00:53:07,100 --> 00:53:09,010 donijeti odluku na temelju tog djelovanja. 1190 00:53:09,010 --> 00:53:10,655 A to može učiniti zauvijek. 1191 00:53:10,655 --> 00:53:12,638 >> [Morski lav lajanje] 1192 00:53:12,638 --> 00:53:14,852 >> [Morski lav lajanje] 1193 00:53:14,852 --> 00:53:20,050 >> To će učiniti zauvijek i [Morski lav laje] kao što sam upravo učinio. 1194 00:53:20,050 --> 00:53:23,010 I sada je još uvijek traje ali sam "isključen" igra. 1195 00:53:23,010 --> 00:53:27,260 [Morski lav laje] I to je sve to čovjek ne sada previše. 1196 00:53:27,260 --> 00:53:28,660 >> Otvorimo ovdje još jedan primjer. 1197 00:53:28,660 --> 00:53:31,840 Pusti me na natjecanjima, a sad ovo sladak previše. 1198 00:53:31,840 --> 00:53:34,130 Ali primijetite da ima dva duhovi. 1199 00:53:34,130 --> 00:53:37,520 Tako da ne samo dvije skripte s jedan Sprite, ali dva duhovi. 1200 00:53:37,520 --> 00:53:40,750 A ako sam kliknite na plavi dečko kao što sam već sam je vidio kao jednog programa 1201 00:53:40,750 --> 00:53:43,790 ovdje da doslovno samo kaže to, kad sam dobiti događaj, 1202 00:53:43,790 --> 00:53:45,620 reći "Polo" za dvije sekunde. 1203 00:53:45,620 --> 00:53:48,460 >> Dakle, ako ste ikada igrao u bazen, igra Marco Polo, 1204 00:53:48,460 --> 00:53:52,500 ako je dečko narančasta skripta bilo koji pokazatelj, očito 1205 00:53:52,500 --> 00:53:57,380 svaki put sam pogodio razmaknicu, što je narančasta momak učiniti? 1206 00:53:57,380 --> 00:53:58,642 On će reći: "Marco". 1207 00:53:58,642 --> 00:53:59,850 A onda je to novi blok. 1208 00:53:59,850 --> 00:54:02,409 Nismo vidjeli prije, ali emitiraju događaj. 1209 00:54:02,409 --> 00:54:04,200 I ja bi se moglo nazvati Događaj ništa želimo. 1210 00:54:04,200 --> 00:54:06,033 >> Mi ćemo se vratiti na ovo možda i prije dugo. 1211 00:54:06,033 --> 00:54:08,410 No emitiranje događaja je način za jedan Sprite 1212 00:54:08,410 --> 00:54:11,836 razgovarati na drugu uglavnom prolazi mu poruku. 1213 00:54:11,836 --> 00:54:12,960 To nije poruka vidite. 1214 00:54:12,960 --> 00:54:14,130 To nije nešto vizualno. 1215 00:54:14,130 --> 00:54:17,370 To je vrsta računalnog poruke da je drugi tip je osluškujući. 1216 00:54:17,370 --> 00:54:21,210 Jer doista, plavi momak, opoziv nema kad zelena zastava kliknuli. 1217 00:54:21,210 --> 00:54:23,290 >> On umjesto toga ima, kad primite događaj. 1218 00:54:23,290 --> 00:54:26,850 Kad on dobiva pruži tu notu u razredu, da se tako izrazim, on je trebao reći "Polo". 1219 00:54:26,850 --> 00:54:30,200 I tako je neto efekt je da kada sam hit zelenu zastavu, ništa se ne događa. 1220 00:54:30,200 --> 00:54:34,940 Ali kad sam pogodio razmaknicu, kaže on "Marco", on odgovara s "Polo". 1221 00:54:34,940 --> 00:54:38,350 No, samo sprite sam u interakciji s je narančasta jedan. 1222 00:54:38,350 --> 00:54:40,980 Dakle, ovo je način vrsti prolazi poruka između duhovi 1223 00:54:40,980 --> 00:54:43,210 i da ih komuniciraju jedan s drugim. 1224 00:54:43,210 --> 00:54:46,280 >> Sada pogledajmo jedan posljednjem neki ovdje nazivaju teme. 1225 00:54:46,280 --> 00:54:49,370 A primjećujem ga igrati. 1226 00:54:49,370 --> 00:54:51,184 Dakle, to su dvije duhovi. 1227 00:54:51,184 --> 00:54:52,600 Ptica vrsta se leti okolo. 1228 00:54:52,600 --> 00:54:53,310 On je jak. 1229 00:54:53,310 --> 00:54:55,890 Nema "jao", ali ista ideja. 1230 00:54:55,890 --> 00:54:58,230 >> No, mačka izgleda prilično pametna. 1231 00:54:58,230 --> 00:55:01,010 Što je mačka očito radi? 1232 00:55:01,010 --> 00:55:03,430 I čekati za to. 1233 00:55:03,430 --> 00:55:05,010 Što je mačka očito radi? 1234 00:55:05,010 --> 00:55:07,740 To nije samo odskakanje. 1235 00:55:07,740 --> 00:55:09,860 >> On je nakon ptica. 1236 00:55:09,860 --> 00:55:13,920 I tako očito, postoji način s kombinacijom blokova here-- 1237 00:55:13,920 --> 00:55:15,760 i pogledajmo mačka jako brzo. 1238 00:55:15,760 --> 00:55:20,270 Zauvijek, ako dira pticu, onda igrati zvuk Lion 4, što god da je. 1239 00:55:20,270 --> 00:55:21,360 Čuli smo jednom. 1240 00:55:21,360 --> 00:55:25,431 Inače, upućuju ptica, i premjestiti jedan korak. 1241 00:55:25,431 --> 00:55:27,680 Sada je činjenica da je jedan korak je ono što daje ptica 1242 00:55:27,680 --> 00:55:29,850 malo prednost u početku, ali ako smo umjesto 1243 00:55:29,850 --> 00:55:32,980 čine ovaj 10, na primjer, tako da svaka iteracija petlje on 1244 00:55:32,980 --> 00:55:34,100 kreće 10 koraka vremena. 1245 00:55:34,100 --> 00:55:35,280 Dakle, više prostora. 1246 00:55:35,280 --> 00:55:36,650 Idemo vidjeti što će se tada dogoditi. 1247 00:55:36,650 --> 00:55:38,740 [Lav] Nije sve to puno bolje. 1248 00:55:38,740 --> 00:55:41,460 Dakle, sada ćemo pokušati poboljšati na to malo iterativno, 1249 00:55:41,460 --> 00:55:43,330 i vratiti se da je pojam funkcije. 1250 00:55:43,330 --> 00:55:46,580 >> I doista jedna od temeljnih takeaways klase dizajna. 1251 00:55:46,580 --> 00:55:49,560 Ne samo pisanje programa koji rade i da su ispravna, ali dobro 1252 00:55:49,560 --> 00:55:50,080 osmišljen. 1253 00:55:50,080 --> 00:55:54,349 I dizajn je puno više subjektivna, i dobit ćete bolji u tome s vremenom. 1254 00:55:54,349 --> 00:55:57,390 Ali uzmimo neke male korake prema počevši s programom koji radi, 1255 00:55:57,390 --> 00:55:59,310 apsolutno, ali to nije jako dobro. 1256 00:55:59,310 --> 00:56:00,650 To nije dobro napisano. 1257 00:56:00,650 --> 00:56:03,830 >> Dakle, ovdje je program koji to radi. 1258 00:56:03,830 --> 00:56:08,060 Kašalj, kašalj, kašalj. 1259 00:56:08,060 --> 00:56:09,880 Što je program izgledati? 1260 00:56:09,880 --> 00:56:11,330 Izgleda točno za mene. 1261 00:56:11,330 --> 00:56:13,370 To govori kauč za drugo, onda to čeka. 1262 00:56:13,370 --> 00:56:14,515 >> Onda je opet, kaže, a onda ga čeka. 1263 00:56:14,515 --> 00:56:16,056 Onda je opet, kaže, a onda ga čeka. 1264 00:56:16,056 --> 00:56:18,770 A onda se program implicitno završava, jer nema petlje. 1265 00:56:18,770 --> 00:56:21,325 Ali zašto je to loše napisano programa? 1266 00:56:21,325 --> 00:56:22,950 Čak i ako ste nikada nije programiran prije? 1267 00:56:22,950 --> 00:56:25,240 Kao što trlja pogrešan način, možda ovdje? 1268 00:56:25,240 --> 00:56:26,016 Da? 1269 00:56:26,016 --> 00:56:29,278 >> PUBLIKA: [nečujan] 1270 00:56:29,278 --> 00:56:29,950 1271 00:56:29,950 --> 00:56:30,950 DAVID J. Malan: Točno. 1272 00:56:30,950 --> 00:56:32,700 Ti ponavlja sebe opet i opet. 1273 00:56:32,700 --> 00:56:36,190 I doslovno, ja kopirati i zalijepiti dva i opet tih blokova. 1274 00:56:36,190 --> 00:56:39,237 I to je točno vrsta zdravog razuma provjerite da li bi trebao biti stvaranje. 1275 00:56:39,237 --> 00:56:39,820 Čekaj malo. 1276 00:56:39,820 --> 00:56:41,070 Trebam li stvarno ovo raditi? 1277 00:56:41,070 --> 00:56:43,610 Pa što je to što je Očito rješenje možda? 1278 00:56:43,610 --> 00:56:44,680 Imaju neku vrstu petlje. 1279 00:56:44,680 --> 00:56:46,860 A ja ne sasvim opoziv što je zagonetka komad je, 1280 00:56:46,860 --> 00:56:48,810 ali ako pogledam Sljedeća iteracija ovdje 1281 00:56:48,810 --> 00:56:50,560 Doista, ne postoji samo zauvijek petlje, 1282 00:56:50,560 --> 00:56:52,560 postoji ponoviti neke više puta. 1283 00:56:52,560 --> 00:56:54,080 I tako sam naveden tri. 1284 00:56:54,080 --> 00:56:57,839 I sada primijetiti koliko jače, kako mnogo kratak ovaj program je. 1285 00:56:57,839 --> 00:56:59,630 I u smislu, kako je mnogo više održivi. 1286 00:56:59,630 --> 00:57:02,840 Ako želim promijeniti riječ od kašlja na nešto drugo, 1287 00:57:02,840 --> 00:57:07,530 kao achoo, kao da je kihanje. 1288 00:57:07,530 --> 00:57:09,770 Tada sam ga promijeniti u jednom mjesto, a ne tri. 1289 00:57:09,770 --> 00:57:12,050 Dakle, to je već osjeća kao malo bolje dizajn. 1290 00:57:12,050 --> 00:57:14,610 Dopustite mi da umjesto otvorene kašalj 2, naš treći primjer. 1291 00:57:14,610 --> 00:57:17,670 >> Obavijest kao računalni znanstvenik, Ja početi računajući na 0, obično. 1292 00:57:17,670 --> 00:57:20,950 Sada to izgleda malo strašnije na Prvo, ali učinak je isti. 1293 00:57:20,950 --> 00:57:22,590 Kašalj, kašalj, kašalj. 1294 00:57:22,590 --> 00:57:26,920 No, ono što čini se da je temeljno novo u gornjem dijelu programa? 1295 00:57:26,920 --> 00:57:28,670 Ja sam uklonio reći. 1296 00:57:28,670 --> 00:57:29,830 >> Ja sam uklonio čekati. 1297 00:57:29,830 --> 00:57:32,370 A što ja imam uključen umjesto toga? 1298 00:57:32,370 --> 00:57:32,890 Funkcija. 1299 00:57:32,890 --> 00:57:33,670 Blok kašalj. 1300 00:57:33,670 --> 00:57:35,410 Mislim, iskreno, čini mi se vrsta od idiota, ako nisam baš 1301 00:57:35,410 --> 00:57:37,285 početi s bloka koji navodno zove 1302 00:57:37,285 --> 00:57:38,894 "kašalj", ako je to sve što želim ga učiniti. 1303 00:57:38,894 --> 00:57:40,310 No, to ne postoji u nule. 1304 00:57:40,310 --> 00:57:43,396 Umjesto sam otišao u jedan u Paleta pozvao više blokova ovdje 1305 00:57:43,396 --> 00:57:46,270 i ja povući ovu veliku ljubičastu stvar ovdje mi omogućuje definiranje funkciju. 1306 00:57:46,270 --> 00:57:48,240 To me u biti omogućuje stvoriti svoju zagonetku 1307 00:57:48,240 --> 00:57:51,280 komad koji se može nazvati nešto što žele, da mogu učiniti sve što želim, 1308 00:57:51,280 --> 00:57:52,360 ali to mu daje ime. 1309 00:57:52,360 --> 00:57:57,050 To mi daje novu, ljubičasta puzzle komad koji sada radi sve ja to kažem. 1310 00:57:57,050 --> 00:58:01,060 Dakle, ovo ljubičasta komad ovdje odgovara ovaj ovdje. 1311 00:58:01,060 --> 00:58:01,960 >> I što učiniti? 1312 00:58:01,960 --> 00:58:03,930 Ona kaže kašalj za drugo, a onda ga čeka. 1313 00:58:03,930 --> 00:58:07,330 I sada sam nekako stvorio moj vlastiti prilagođeni zagonetka komad, 1314 00:58:07,330 --> 00:58:10,040 tako da se ponaša upravo to isto. 1315 00:58:10,040 --> 00:58:11,130 Tako da mogu zadržati to. 1316 00:58:11,130 --> 00:58:14,421 I doista, tu će biti sve više i više mogućnosti za modulariziranje 1317 00:58:14,421 --> 00:58:16,630 a za raslojavanje, složenost na vrhu jedan drugoga. 1318 00:58:16,630 --> 00:58:18,547 Ali to osnovna ideja, doista u problemu, rekao je 0. 1319 00:58:18,547 --> 00:58:20,338 Ono što ćeš biti izazvani učiniti je 1320 00:58:20,338 --> 00:58:23,810 preuzeti nule, ili jednostavno ga koristiti na webu, i samo zabaviti s njim. 1321 00:58:23,810 --> 00:58:26,056 Mi ćemo vam dati skup zahtjevi, ima zvuk, 1322 00:58:26,056 --> 00:58:27,430 a neki broj slagalice. 1323 00:58:27,430 --> 00:58:28,480 Ali vi ćete učiniti upravo to. 1324 00:58:28,480 --> 00:58:31,771 I vi ćete shvatiti da ćeš žele poduzeti neke male korake u početku, 1325 00:58:31,771 --> 00:58:33,690 dok vaš program dobiva sve više i složenije. 1326 00:58:33,690 --> 00:58:36,010 No, s obzirom je ovo Najbolji način na koji sam mogao učiniti? 1327 00:58:36,010 --> 00:58:39,210 Mogu li izbjegli ovaj instinkt možda, kopirati i zalijepiti? 1328 00:58:39,210 --> 00:58:41,850 >> No, prije nego Problem Set 0, a prije nego što smo odgoditi, 1329 00:58:41,850 --> 00:58:44,980 Mislili smo da bi potrajati do jedan više volonter ako smo mogli, 1330 00:58:44,980 --> 00:58:46,820 za konačnom programu to je možda najviše 1331 00:58:46,820 --> 00:58:49,150 montaža na sve, s obzirom na današnju mjesto. 1332 00:58:49,150 --> 00:58:50,298 Dođi dolje. 1333 00:58:50,298 --> 00:58:51,234 Da. 1334 00:58:51,234 --> 00:58:52,170 Da. 1335 00:58:52,170 --> 00:58:53,431 Kako se zoveš? 1336 00:58:53,431 --> 00:58:53,930 Uh oh. 1337 00:58:53,930 --> 00:58:57,820 1338 00:58:57,820 --> 00:58:59,010 To je u redu. 1339 00:58:59,010 --> 00:59:01,230 I siđe. 1340 00:59:01,230 --> 00:59:05,520 I ja sam se nositi s tim nekako Unutar te sljedećih deset sekundi. 1341 00:59:05,520 --> 00:59:06,550 Pa hajde dolje. 1342 00:59:06,550 --> 00:59:08,370 Dođi dolje. 1343 00:59:08,370 --> 00:59:13,250 >> Dopustite mi da se na ovamo. 1344 00:59:13,250 --> 00:59:16,050 Ajde. 1345 00:59:16,050 --> 00:59:16,685 U redu. 1346 00:59:16,685 --> 00:59:21,360 1347 00:59:21,360 --> 00:59:22,360 Idemo vidjeti ovdje. 1348 00:59:22,360 --> 00:59:25,735 Dakle, primijetite jako brzo ovdje Ako želite da se na gore. 1349 00:59:25,735 --> 00:59:28,650 1350 00:59:28,650 --> 00:59:29,926 >> Mi ćemo napraviti dva kruga to. 1351 00:59:29,926 --> 00:59:30,800 A što je vaše ime? 1352 00:59:30,800 --> 00:59:31,270 >> SABRINA: Sabrina. 1353 00:59:31,270 --> 00:59:32,060 >> DAVID J. Malan: Sabrina i? 1354 00:59:32,060 --> 00:59:32,622 >> Ying GEE: Ying Gee. 1355 00:59:32,622 --> 00:59:33,360 >> DAVID J. Malan: Ying Gee. 1356 00:59:33,360 --> 00:59:34,276 Drago mi oboje. 1357 00:59:34,276 --> 00:59:34,970 David. 1358 00:59:34,970 --> 00:59:38,785 Dakle, naš konačni primjer ovdje naziva Ivy je najteže igra. 1359 00:59:38,785 --> 00:59:41,160 A zašto ne moramo vam je činiti Razina 1, a vi Level 2. 1360 00:59:41,160 --> 00:59:43,350 >> A vidjet ćemo koliko izvan toga mi zapravo ide. 1361 00:59:43,350 --> 00:59:45,855 Napisao student prošle godine, remiksirao mene 1362 00:59:45,855 --> 00:59:48,840 tako da će to ići više dobro u New Havenu. 1363 00:59:48,840 --> 00:59:53,180 A ja vam igra koja se događa na uključuje pomicanjem strelice gore i dolje, 1364 00:59:53,180 --> 00:59:55,771 i uzimajući Yale do cilja. 1365 00:59:55,771 --> 00:59:56,270 Idemo. 1366 00:59:56,270 --> 00:59:56,759 >> [VIDEO PLAYBACK] 1367 00:59:56,759 --> 00:59:58,092 >> [MUSIC - NFL na FOX pjesmu] 1368 00:59:58,092 --> 00:59:59,369 1369 00:59:59,369 --> 01:00:01,160 [MUSIC - MC Hammer, "u može dirati  Ovaj "] 1370 01:00:01,160 --> 01:00:04,590 1371 01:00:04,590 --> 01:00:07,900 >> -U Ne može dirati to. 1372 01:00:07,900 --> 01:00:11,634 U ne može dotaknuti to. 1373 01:00:11,634 --> 01:00:14,252 Ne može dotaknuti to. 1374 01:00:14,252 --> 01:00:19,490 Moj, moj, moj, moj glazbeni me pogodi tako Teško, čini mi reći, oh, moj gospodaru. 1375 01:00:19,490 --> 01:00:22,927 Hvala vam što ste me blagoslov s um se pjesmica i dva hype noge. 1376 01:00:22,927 --> 01:00:24,891 >> To je dobro kad znaš da si dolje. 1377 01:00:24,891 --> 01:00:26,855 Super doping Homeboy iz Oaktown. 1378 01:00:26,855 --> 01:00:31,274 A ja sam poznat kao takva i to udaranja uh, ne mogu dirati. 1379 01:00:31,274 --> 01:00:34,672 Rekao sam ti Homeboy U ne može dotaknuti to. 1380 01:00:34,672 --> 01:00:38,656 Da, to je kako živimo i znate u ne može dirati to. 1381 01:00:38,656 --> 01:00:40,135 >> Pogledajte u oči, čovječe. 1382 01:00:40,135 --> 01:00:43,093 U ne može dotaknuti to. 1383 01:00:43,093 --> 01:00:44,572 Yo, neka mi poprsje funky tekstove. 1384 01:00:44,572 --> 01:00:45,363 U ne može dotaknuti to. 1385 01:00:45,363 --> 01:00:46,544 Svježe novi udarci i hlače. 1386 01:00:46,544 --> 01:00:48,627 >> Možete ga dobio kao da i što vam želim znati ples. 1387 01:00:48,627 --> 01:00:51,967 Dakle iseliti iz svoje sjedalo i dobiti muhu djevojku i uhvatiti ovaj ritam. 1388 01:00:51,967 --> 01:00:55,911 Iako je valjanje držite na pumpati malo bitni i neka znaju što se događa. 1389 01:00:55,911 --> 01:00:56,890 Kao da je. 1390 01:00:56,890 --> 01:00:57,390 Kao da je. 1391 01:00:57,390 --> 01:00:59,362 >> Hladno na misiju kako povući na leđa. 1392 01:00:59,362 --> 01:01:04,785 Neka znaju da ste previše a to je potez uh ne mogu dirati. 1393 01:01:04,785 --> 01:01:07,743 Yo, rekao sam ti u ne može dirati to. 1394 01:01:07,743 --> 01:01:09,222 Zašto stojiš tu čovjek? 1395 01:01:09,222 --> 01:01:10,208 U ne može dotaknuti to. 1396 01:01:10,208 --> 01:01:13,200 >> Yo, zvuk zvono školi je u, dojenče. 1397 01:01:13,200 --> 01:01:14,005 U ne može dotaknuti to. 1398 01:01:14,005 --> 01:01:18,326 Daj mi pjesmu, ritam čineći ih znoj to je ono što sam ih daje sada. 1399 01:01:18,326 --> 01:01:21,805 Oni znaju kada govorimo o Hammer razgovarate o emisiji koja je hiper. 1400 01:01:21,805 --> 01:01:24,290 I uske pjevači su znojenje pa prođe im mikrofon. 1401 01:01:24,290 --> 01:01:27,272 >> Ili traku kako biste saznali što se to će uzeti i sad 1402 01:01:27,272 --> 01:01:29,260 on će izgorjeti ljestvice. 1403 01:01:29,260 --> 01:01:32,739 Čitljiv ili rade teško ili možda i prestati. 1404 01:01:32,739 --> 01:01:37,709 Jer znaš U ne može dotaknuti to. 1405 01:01:37,709 --> 01:01:41,599 U ne može dotaknuti to. 1406 01:01:41,599 --> 01:01:42,182 Ga razbiti. 1407 01:01:42,182 --> 01:01:56,095 1408 01:01:56,095 --> 01:01:56,595 Prestani. 1409 01:01:56,595 --> 01:01:57,095 Vrijeme Hammer. 1410 01:01:57,095 --> 01:01:59,577 Idi s toka u spin ako ne možete premjestiti na to 1411 01:01:59,577 --> 01:02:01,068 onda vjerojatno su mrtvi. 1412 01:02:01,068 --> 01:02:04,547 Dakle, val vaše ruke zrak [nečujan] 1413 01:02:04,547 --> 01:02:08,026 >> To je to za pobjednika zaplešite ovo i ti si idući u dobiti tanji. 1414 01:02:08,026 --> 01:02:12,996 Premjestiti povucite rep samo za minute ćemo sve učiniti čekić. 1415 01:02:12,996 --> 01:02:13,990 Da. 1416 01:02:13,990 --> 01:02:14,984 U ne može dotaknuti to. 1417 01:02:14,984 --> 01:02:17,966 1418 01:02:17,966 --> 01:02:19,457 >> U ne može dotaknuti to. 1419 01:02:19,457 --> 01:02:23,433 Bolje dobiti hiper Dječak u ne može dirati to. 1420 01:02:23,433 --> 01:02:24,924 Pozvoniti školski natrag u. 1421 01:02:24,924 --> 01:02:25,918 Ga razbiti. 1422 01:02:25,918 --> 01:02:38,837 1423 01:02:38,837 --> 01:02:39,337 Prestani. 1424 01:02:39,337 --> 01:02:40,828 Hammer vrijeme 1425 01:02:40,828 --> 01:02:42,816 >> DAVID J. Malan: To je to za CS50! 1426 01:02:42,816 --> 01:02:45,301 Hvala toliko za nas pridružio! 1427 01:02:45,301 --> 01:02:47,786 Vidimo se vani. 1428 01:02:47,786 --> 01:02:48,611 >> [END PLAYBACK] 1429 01:02:48,611 --> 01:02:49,277 [VIDEO PLAYBACK] 1430 01:02:49,277 --> 01:02:52,259 [MUSIC - "Seinfeld" pjesmu] 1431 01:02:52,259 --> 01:02:53,860 -Hej David. 1432 01:02:53,860 --> 01:02:54,500 -Hej, David. 1433 01:02:54,500 --> 01:02:55,912 Kako ide? 1434 01:02:55,912 --> 01:02:58,078 >> Dobro je posao, i danas. 1435 01:02:58,078 --> 01:03:00,952 -Pa Jeste li razmišljali o tome što idete raditi za van viceve? 1436 01:03:00,952 --> 01:03:03,207 -Ne, Ja nemam ništa. 1437 01:03:03,207 --> 01:03:07,550 Što if-- što ako je to iz šale? 1438 01:03:07,550 --> 01:03:08,970 Nalik, raspakiranje kolica? 1439 01:03:08,970 --> 01:03:11,430 -Uh huh. 1440 01:03:11,430 --> 01:03:13,890 Znate, to je oko ničega. 1441 01:03:13,890 --> 01:03:17,559 >> -Pa Sviđa, ne priča, ne sukob, bez rezolucije. 1442 01:03:17,559 --> 01:03:18,350 Ne razumijem. 1443 01:03:18,350 --> 01:03:20,542 Što je to o onda? 1444 01:03:20,542 --> 01:03:23,510 >> Ništa. 1445 01:03:23,510 --> 01:03:27,427 >> -Pa Smo se vic o ništa, a nemamo glumce. 1446 01:03:27,427 --> 01:03:28,510 Tko će biti u tome? 1447 01:03:28,510 --> 01:03:29,010 >> -Ne ne ne. 1448 01:03:29,010 --> 01:03:31,310 Mislim, ja ću biti u njemu. 1449 01:03:31,310 --> 01:03:32,109 >> -You'll Biti u njemu? 1450 01:03:32,109 --> 01:03:32,608 -Da! 1451 01:03:32,608 --> 01:03:34,903 Ljudi uvijek govore ja sam karakter. 1452 01:03:34,903 --> 01:03:36,029 >> Pa, mislim, to je istina. 1453 01:03:36,029 --> 01:03:37,445 Ali tko još će biti u njemu? 1454 01:03:37,445 --> 01:03:38,660 To ne može biti samo ti. 1455 01:03:38,660 --> 01:03:47,240 >> -Vi Će biti u njemu, Gavin, Dan, Dan, Colton, Z'Myla, Alysse, Doug, 1456 01:03:47,240 --> 01:03:51,120 David svatko. 1457 01:03:51,120 --> 01:03:53,630 >> -Znači Radi se o ništa, i svatko je u njemu? 1458 01:03:53,630 --> 01:03:54,530 >> -Absolutely Ništa. 1459 01:03:54,530 --> 01:03:58,730 1460 01:03:58,730 --> 01:04:00,580 >> -Ovo je smiješno.