1 00:00:08,483 --> 00:00:11,477 [Powered by Google Translate] [Rock glazbe] 2 00:00:32,435 --> 00:00:35,429 [GLAZBA - "sretni zajedno" kornjača] 3 00:01:27,330 --> 00:01:30,170 DAVID MALAN: Danas smo započeli naše istraživanje 4 00:01:30,170 --> 00:01:32,710 Osnove informatike i naše upoznavanje, 5 00:01:32,710 --> 00:01:35,070 Sada, u umjetnosti programiranja, od kojih da je 6 00:01:35,070 --> 00:01:36,260 samo jedan primjer. 7 00:01:36,260 --> 00:01:39,600 No, u istom duhu u rješavanju problema, znamo da 8 00:01:39,600 --> 00:01:42,080 CS50 tradicionalni Puzzle dan je sutra. 9 00:01:42,080 --> 00:01:45,190 Ako još niste RSVPed za ovaj događaj, možete ići na 10 00:01:45,190 --> 00:01:47,510 cs50.net/rsvp. 11 00:01:47,510 --> 00:01:50,940 Možete donijeti timove dvije ili tri ili četiri. 12 00:01:50,940 --> 00:01:53,080 Vi ćete biti izazvan s problemima poput onoga koji ste vidjeli 13 00:01:53,080 --> 00:01:54,190 tamo na početku. 14 00:01:54,190 --> 00:01:57,000 Svi novi problemi ove godine ako jeli prošle godine, a 15 00:01:57,000 --> 00:01:59,680 imat će priliku osvojiti zatim neke fenomenalne nagrade. 16 00:01:59,680 --> 00:02:02,750 Među njima, Wii i neki poklon bonovi i slično, 17 00:02:02,750 --> 00:02:05,650 Sve dok se družiti s CS50 studenata i kolege 18 00:02:05,650 --> 00:02:07,720 i pizza i Facebook. 19 00:02:07,720 --> 00:02:10,430 Dakle, više o tom sutra, ako želite. 20 00:02:10,430 --> 00:02:13,330 >> To je, dakle CS50, za one od vas da nam se pridružite za 21 00:02:13,330 --> 00:02:14,510 prvi put. 22 00:02:14,510 --> 00:02:18,030 A znamo da je ovaj tečaj je posebno određuje da se 23 00:02:18,030 --> 00:02:22,605 vas kroz ovaj tečaj do konačnog kraja, u kojem vam točka 24 00:02:22,605 --> 00:02:24,270 će imati ne samo razumijevanje tih 25 00:02:24,270 --> 00:02:26,450 osnove informatike, ali ćete morati 26 00:02:26,450 --> 00:02:29,120 ovo je vrlo praktičan set vještina koje onda možete uzeti natrag 27 00:02:29,120 --> 00:02:31,370 svoj odjel, da li je tehničkih znanosti, 28 00:02:31,370 --> 00:02:33,570 primijenjena matematika, fizičke znanosti, prirodne 29 00:02:33,570 --> 00:02:34,780 znanost, ili slično. 30 00:02:34,780 --> 00:02:37,030 Doista, ono što je tako uzbudljivo o računalnoj znanosti tih 31 00:02:37,030 --> 00:02:39,900 dana je da je to samo tako odnosi se na 32 00:02:39,900 --> 00:02:40,990 sve vrste polja. 33 00:02:40,990 --> 00:02:46,210 I premda danas, možemo samo će ogrepsti površinu 34 00:02:46,210 --> 00:02:49,020 vrlo tradicionalna programski jezik poznat kao C, mi ćemo 35 00:02:49,020 --> 00:02:51,040 umjesto pogledate nešto što se zove Scratch, nešto s 36 00:02:51,040 --> 00:02:53,420 što da priča Cookie ljubav je proveo jedan od vaših 37 00:02:53,420 --> 00:02:57,020 prethodnici u posljednjih godina, pričati priče, stvaranje igre, 38 00:02:57,020 --> 00:03:00,060 stvoriti interaktivnu umjetnost, i zapravo početi da zamotate naš 39 00:03:00,060 --> 00:03:02,240 umovi oko neke od temeljnih konstrukata koje 40 00:03:02,240 --> 00:03:05,390 temelj za programiranje, ali u kontekstu, kao što ćete vidjeti, to je 41 00:03:05,390 --> 00:03:09,140 mnogo manje zastrašujuće, to je mnogo manje kompliciranih, nego ćete vidjeti 42 00:03:09,140 --> 00:03:10,140 prije dugo. 43 00:03:10,140 --> 00:03:12,410 I shvatili, također, za one od vas samo pridružio nam to 44 00:03:12,410 --> 00:03:16,170 semestar, fraze na koje smo završavali u srijedu predavanje, 45 00:03:16,170 --> 00:03:20,260 to nije toliko važno gdje ćete završiti u odnosu na vaše 46 00:03:20,260 --> 00:03:22,950 kolege u ovoj klasi, ali gdje se, po semestru do kraja 47 00:03:22,950 --> 00:03:27,190 u tjedan dana 11, završiti u odnosu na sebe pravo to vrlo dan. 48 00:03:27,190 --> 00:03:32,000 >> Dakle, bez dodatnih teškoća, ovo je također napomenuti da 49 00:03:32,000 --> 00:03:34,450 one manje udobne, one negdje između, su 50 00:03:34,450 --> 00:03:36,825 Također, po dizajnu ovog tečaja, a ne na bilo nepovoljnom položaju 51 00:03:36,825 --> 00:03:38,760 vis-a-vis one udobnije 52 00:03:38,760 --> 00:03:39,920 dolazi u ovoj klasi. 53 00:03:39,920 --> 00:03:41,810 Kao što ćete vidjeti tijekom tjedna doći, imamo različite 54 00:03:41,810 --> 00:03:44,600 pjesme za nespojivih leđa pozadini, profili za one 55 00:03:44,600 --> 00:03:46,500 manje ugodno, ugodnije, oni negdje 56 00:03:46,500 --> 00:03:47,250 između. 57 00:03:47,250 --> 00:03:49,520 Kao što ćete vidjeti ovaj vikend i idući tjedan, dva verzije 58 00:03:49,520 --> 00:03:52,410 većina problema seta u standardnom izdanju i haker tako 59 00:03:52,410 --> 00:03:55,390 da svi mogu sami odabrati niz stazu s kojim ste 60 00:03:55,390 --> 00:03:56,615 su najugodnije. 61 00:03:56,615 --> 00:03:58,770 >> Dakle, danas smo zaroniti u ovom programiranje 62 00:03:58,770 --> 00:04:00,060 jezik zove Scratch. 63 00:04:00,060 --> 00:04:02,250 To je grafički programski jezik, a ipak ima 64 00:04:02,250 --> 00:04:04,500 Iste značajke neke od viših razina jezika ćemo 65 00:04:04,500 --> 00:04:07,050 istražiti kasnije u semestru, a među njima i C 66 00:04:07,050 --> 00:04:08,670 JavaScript i PHP. 67 00:04:08,670 --> 00:04:11,890 No, to će nam omogućiti da se izbjegne neki od distractions 68 00:04:11,890 --> 00:04:14,890 rano sintakse, stvari kao što su zarezom, zagrade, 69 00:04:14,890 --> 00:04:17,720 i druge skrivenim detaljima koji, na prvi pogled, su ne samo 70 00:04:17,720 --> 00:04:19,916 uopće intelektualno zanimljiv i imaju tendenciju da se u 71 00:04:19,916 --> 00:04:22,310 način od nekog temeljnog razumijevanja. 72 00:04:22,310 --> 00:04:24,870 U smislu danas podršku strukturi naprijed, to shvatio 73 00:04:24,870 --> 00:04:27,570 alat, CS50 razgovarale, koji će biti povezan na tečaj je 74 00:04:27,570 --> 00:04:30,320 web kasnije danas, online forum za raspravu u 75 00:04:30,320 --> 00:04:32,480 koji ćete moći postavljati pitanja jedni druge i 76 00:04:32,480 --> 00:04:35,020 osoblje, i to je također alat, kao što ćemo vidjeti sljedeći tjedan, 77 00:04:35,020 --> 00:04:37,240 da ćemo koristiti prilično integratedly u 78 00:04:37,240 --> 00:04:38,780 radno vrijeme kao dobro. 79 00:04:38,780 --> 00:04:41,670 Doista, radno vrijeme počinje u ponedjeljak, i iskreno, prvi 80 00:04:41,670 --> 00:04:43,930 tjedan radnog vremena je prilično niska ključ. 81 00:04:43,930 --> 00:04:46,820 >> Ja ne mislim da ćete pronaći sve što Scratch nedostupan. 82 00:04:46,820 --> 00:04:48,930 To je prilično razumljiva sama po sebi, kao što ćemo vidjeti, pa što 83 00:04:48,930 --> 00:04:51,380 ćemo ga koristiti za danas je izdvojiti neke od 84 00:04:51,380 --> 00:04:53,990 temeljna ideja koje će, dakle, ustraju u cijeloj 85 00:04:53,990 --> 00:04:54,900 Ostatak semestra. 86 00:04:54,900 --> 00:04:57,980 No, s početkom u ponedjeljak, u 20:00 po 11:00 će biti 87 00:04:57,980 --> 00:05:01,530 radno vrijeme u Annenberg preko mozga pauze. 88 00:05:01,530 --> 00:05:04,490 Rezova dva počet će ovu večer, pa negdje ovaj 89 00:05:04,490 --> 00:05:07,260 vikend, ići na cs50.net/section, a vi ćete 90 00:05:07,260 --> 00:05:08,530 biti pitani nekoliko pitanja. 91 00:05:08,530 --> 00:05:10,290 Među njima, kako biste opisali svoj 92 00:05:10,290 --> 00:05:12,040 razina udobnosti kao i danas? 93 00:05:12,040 --> 00:05:14,450 Nema teško, brzo pravilo o tome tko je u kojoj kantu. 94 00:05:14,450 --> 00:05:17,170 To je samo jedna od onih stvari koje vjerojatno znate ako 95 00:05:17,170 --> 00:05:20,280 su među onima manje ugodno ili na neki drugi način. 96 00:05:20,280 --> 00:05:21,350 >> I sada, Walkthroughs. 97 00:05:21,350 --> 00:05:24,020 Specifikacija Problem skup za ovaj tjedan, i standardni 98 00:05:24,020 --> 00:05:28,560 i haker izdanje podjednako je online na cs50.net kao i sada. 99 00:05:28,560 --> 00:05:31,500 I vidjet ćete da je prvi od tih izdanja, 100 00:05:31,500 --> 00:05:33,940 standardno izdanje svaki tjedan, popraćen nečim što 101 00:05:33,940 --> 00:05:36,550 pozvati kod prohod, sjednica na čelu jedne od 102 00:05:36,550 --> 00:05:39,100 Naravno je momci nastava će vas voditi kroz, osigurati 103 00:05:39,100 --> 00:05:42,290 savjeti o, i dobiti ćete dolje određeni put kada je u pitanju 104 00:05:42,290 --> 00:05:44,150 do početka ove problematična seta. 105 00:05:44,150 --> 00:05:46,790 Dakle, sa svakom od tih problema postavlja, ako ikad ste u nedostatku 106 00:05:46,790 --> 00:05:50,250 za sebe gdje sam početak, možete početi s tim 107 00:05:50,250 --> 00:05:50,890 Walkthroughs. 108 00:05:50,890 --> 00:05:53,450 A u stvari, dopustite mi da vam predstavim Zamyla Chan, ovaj 109 00:05:53,450 --> 00:05:55,870 Ovogodišnji demonstrator koji će voditi svaki 110 00:05:55,870 --> 00:05:56,910 jedan od tih Walkthroughs. 111 00:05:56,910 --> 00:05:57,961 Zamyla? 112 00:05:57,961 --> 00:06:03,370 >> [Pljesak] 113 00:06:03,370 --> 00:06:03,975 ZAMYLA Chan: Oh, hi, svima. 114 00:06:03,975 --> 00:06:05,130 Moje ime je Zamyla. 115 00:06:05,130 --> 00:06:08,250 Ja sam mlađi studiranje inženjering u Winthrop House. 116 00:06:08,250 --> 00:06:10,890 Ali ja pokušati uklopiti u što većem broju tečajeva informatike kao što sam 117 00:06:10,890 --> 00:06:13,350 može, što je razlog zašto sam stvarno uzbuđen da se vodi ovaj 118 00:06:13,350 --> 00:06:14,590 Ovogodišnji Walkthroughs. 119 00:06:14,590 --> 00:06:16,950 Walkthroughs, za mene, bili su bitan dio mog CS50 120 00:06:16,950 --> 00:06:17,910 iskustvo. 121 00:06:17,910 --> 00:06:22,710 Tijekom prohod, za svaki p-set, mi ćemo ići kroz 122 00:06:22,710 --> 00:06:25,580 Problem postaviti zajedno, gledati preko probleme, vrsta 123 00:06:25,580 --> 00:06:27,360 ih podijeliti u upravljivu ugriza. 124 00:06:27,360 --> 00:06:28,990 Ja ću vam dati savjete, tehnike, za dobivanje 125 00:06:28,990 --> 00:06:30,820 kroz te početak. 126 00:06:30,820 --> 00:06:33,510 Nadam se da ću vidjeti sve vas na Walkthroughs. 127 00:06:33,510 --> 00:06:34,720 Ako ne možete to učiniti osobno, a zatim 128 00:06:34,720 --> 00:06:36,580 molimo da napjev u online. 129 00:06:36,580 --> 00:06:36,840 >> DAVID MALAN: Izvrsno. 130 00:06:36,840 --> 00:06:37,950 Hvala, Zamyla. 131 00:06:37,950 --> 00:06:40,870 Dakle, shvatite da Walkthroughs su, doista, u petak 132 00:06:40,870 --> 00:06:43,110 poslijepodne, ali to je namjerno po dizajnu, tako da 133 00:06:43,110 --> 00:06:45,750 čak i ako ne želite pohađati tečaj na petak 134 00:06:45,750 --> 00:06:48,490 poslijepodne, videa će biti gore sve brže nad 135 00:06:48,490 --> 00:06:48,990 vikend. 136 00:06:48,990 --> 00:06:51,880 Dakle, shvatite da cs50.net će biti sve Zamyla je 137 00:06:51,880 --> 00:06:53,130 Walkthroughs. 138 00:06:54,800 --> 00:06:56,890 A da je današnji datum i vrijeme, 15:00, 139 00:06:56,890 --> 00:06:58,370 Harberd dvorana, 104. 140 00:06:58,370 --> 00:07:00,080 A neke od nastavnih momaka također su pripremili 141 00:07:00,080 --> 00:07:03,250 neke primjedbe za vas u odsutnosti da vam malo 142 00:07:03,250 --> 00:07:06,760 perspektiva, kao ono što je njihovo iskustvo stupanja na i 143 00:07:06,760 --> 00:07:08,990 izlazak CS50 bio poput. 144 00:07:08,990 --> 00:07:11,250 Dakle, ako smo mogli prigušiti svjetla za samo trenutak, ja vam 145 00:07:11,250 --> 00:07:18,100 neki od CS50 osoblja. 146 00:07:18,100 --> 00:07:20,440 >> JACKSON STEINKAMP: Uzeo sam CS50 prošle godine kao brucoš u 147 00:07:20,440 --> 00:07:22,880 pasti, i to apsolutno raznio moj um. 148 00:07:22,880 --> 00:07:25,090 Ja nikada nije poduzela nikakve programske klase prije, 149 00:07:25,090 --> 00:07:26,380 i nikada nije došao u sa bilo kojeg računala znanosti 150 00:07:26,380 --> 00:07:27,320 iskustvo uopće. 151 00:07:27,320 --> 00:07:29,240 I baš, čuo sam glasine o klasi i 152 00:07:29,240 --> 00:07:30,050 odlučio uzeti ga. 153 00:07:30,050 --> 00:07:31,780 >> JULIA MITELMAN: Bilo je stvarno zabavno, stvarno zanimljive. 154 00:07:31,780 --> 00:07:33,480 Ja još uvijek, na ovaj dan - 155 00:07:33,480 --> 00:07:36,560 Upravo sam nedavno vidio imam disketu da je David dao nam 156 00:07:36,560 --> 00:07:38,140 na našem prvom danu predavanja. 157 00:07:38,140 --> 00:07:40,020 Imao sam ga spustio na mom zidu. 158 00:07:40,020 --> 00:07:42,410 To je vjerojatno malo štreber, ali sam visio na moj 159 00:07:42,410 --> 00:07:46,930 zid tijekom razredu kao podsjetnik kako je to super. 160 00:07:46,930 --> 00:07:49,240 >> TRAVIS Downs: To je tako neugodno. 161 00:07:49,240 --> 00:07:50,770 >> JACKSON STEINKAMP: Računalo znanost je nešto što 162 00:07:50,770 --> 00:07:52,370 treba probati, čak i ako niste jedan za 163 00:07:52,370 --> 00:07:54,980 tradicionalne znanosti. 164 00:07:54,980 --> 00:07:58,510 To je njegova vlastita iskustva, a CS50 pobrinut će se da ste 165 00:07:58,510 --> 00:08:01,520 podržana i kroz njega sa svojim pravu vojsku TFS. 166 00:08:01,520 --> 00:08:03,700 >> ALI NAHM: Uzeo sam ga kao brucoš, i tako sam napravio puno 167 00:08:03,700 --> 00:08:04,215 novih prijatelja. 168 00:08:04,215 --> 00:08:07,170 Također sam dobio uvedena u cijeloj ovoj koncentraciji i 169 00:08:07,170 --> 00:08:10,770 Cijela škola inženjerstva, pa sam visoko preporučiti 170 00:08:10,770 --> 00:08:14,360 i vam dobrodošlicu na naše CS50 obitelji. 171 00:08:14,360 --> 00:08:17,510 >> Yaniv YACOBY: CS50 samo vas uči kako koristiti alate 172 00:08:17,510 --> 00:08:19,210 koji su široko dostupni. 173 00:08:19,210 --> 00:08:21,840 Vi samo trebate prijenosno računalo, trebate web preglednik, a vi 174 00:08:21,840 --> 00:08:26,030 morate naučiti pisati neki kod, a vi stvarno može graditi 175 00:08:26,030 --> 00:08:27,400 uredan stvari. 176 00:08:27,400 --> 00:08:31,660 >> KAREN XIAO: To je samo tako cool biti u stanju napraviti nešto 177 00:08:31,660 --> 00:08:34,580 i imaju ga ljudi koriste i imaju ljudi to vide, a to je 178 00:08:34,580 --> 00:08:35,900 ono što ja stvarno volim o tome. 179 00:08:35,900 --> 00:08:37,429 >> TIM McLaughlin: - Osjećaj zajednice, mislim, u ovom 180 00:08:37,429 --> 00:08:39,470 Tečaj više od bilo kojeg drugog naravno sam uzeti tako daleko. 181 00:08:39,470 --> 00:08:41,350 Ti ne samo uzimanje drugi - 182 00:08:41,350 --> 00:08:42,740 niste punjenje drugi uvjet. 183 00:08:42,740 --> 00:08:45,310 Vi ne samo da će se predavanja i ide na dijelu. 184 00:08:45,310 --> 00:08:49,630 Ali radite tona stvari koje su sve o 185 00:08:49,630 --> 00:08:51,560 programiranje i sve o tehnologiji, ali to ne 186 00:08:51,560 --> 00:08:53,090 Stvarno se osjećam kao klasi većinu vremena. 187 00:08:53,090 --> 00:08:55,012 >> Travis Downs: I na prvi dan, oni uručio tortu, a 188 00:08:55,012 --> 00:08:56,215 Odmah sam je prodao. 189 00:08:56,215 --> 00:08:57,822 >> JAKOVA Pritt: Besplatno slatkiša i pizze. 190 00:08:57,822 --> 00:08:59,820 >> ZAMYLA Chan: - bez obzira na svoju kamatnu razini, mislim 191 00:08:59,820 --> 00:09:05,170 da CS50, da ćete se zabaviti, a vi ćete biti intelektualno 192 00:09:05,170 --> 00:09:06,070 stimulirana. 193 00:09:06,070 --> 00:09:07,926 >> MARK GROZEN-SMITH: To je uvijek stranka u klasi, a to je 194 00:09:07,926 --> 00:09:09,990 Stranka svake noći radi na p-set. 195 00:09:09,990 --> 00:09:11,880 >> JACKSON STEINKAMP: Svaki put kad završi problem set, 196 00:09:11,880 --> 00:09:13,710 će se osjećati kao da ste završili projekt. 197 00:09:13,710 --> 00:09:16,580 >> MELISSA Niu: To je bio brucoš godine, a ja sam učinio shopping. 198 00:09:16,580 --> 00:09:19,030 Imao sam moje četiri klase spremni, a ja sam bio u Annenberg. 199 00:09:19,030 --> 00:09:21,670 I ja naletjeti prijatelja, a on kaže: hej, ja sam kupovinu 200 00:09:21,670 --> 00:09:24,330 ova klasa zove CS50, a ti bi trebao doći sa mnom. 201 00:09:24,330 --> 00:09:28,150 Zavrsilo uzimajući joj taj pad, a nakon toga razredu, ja 202 00:09:28,150 --> 00:09:30,510 Mislio možda ću molu u CS. 203 00:09:30,510 --> 00:09:33,760 Ali ovdje sam, tri godine kasnije, još uvijek proučavajući računalo 204 00:09:33,760 --> 00:09:36,680 znanost i zapravo radi kao glavni, a ja sam volio svaki 205 00:09:36,680 --> 00:09:37,780 Trenutak njega. 206 00:09:37,780 --> 00:09:39,030 >> ROB Bowden: Nemam pojma. 207 00:09:46,408 --> 00:09:48,060 >> ALI NAHM: Idemo vidjeti. 208 00:09:48,060 --> 00:09:49,200 >> MELISSA Niu: ludost. 209 00:09:49,200 --> 00:09:50,610 >> ZVUČNIK 1: Osjećam se kao da ću biti jako kliše. 210 00:09:50,610 --> 00:09:52,530 Ja bih samo reći, sviđa, super. 211 00:09:52,530 --> 00:09:53,540 >> Yaniv YACOBY: Pristup. 212 00:09:53,540 --> 00:09:55,080 >> JAKOVA Pritt: Besplatno slatkiša i pizze. 213 00:09:55,080 --> 00:09:57,310 >> TRAVIS Downs: Ne mogu se okrenuti prema dolje klasu koja ruke tortu. 214 00:09:57,310 --> 00:09:58,510 >> TIM McLaughlin: Energetska. 215 00:09:58,510 --> 00:10:00,040 >> VIPUL SHEKHAWAT: Essential. 216 00:10:00,040 --> 00:10:02,636 >> ROB Bowden: Dopustite mi da misle odgovor. 217 00:10:02,636 --> 00:10:04,480 Mislim da imam nešto. 218 00:10:04,480 --> 00:10:07,092 Oh, Bože. 219 00:10:07,092 --> 00:10:13,370 Da, moje ime je Rob Bowden, a ovo je CS50. 220 00:10:13,370 --> 00:10:16,340 >> [Pljesak] 221 00:10:20,810 --> 00:10:23,390 DAVID MALAN: U redu, tako da ćemo početi slikati sliku 222 00:10:23,390 --> 00:10:26,230 smjera u kojem možemo ići, i neka je uvesti 223 00:10:26,230 --> 00:10:28,190 ovaj koncept ovdje poznat kao pseudocode. 224 00:10:28,190 --> 00:10:29,560 Dakle pseudocode nije programiranje 225 00:10:29,560 --> 00:10:30,810 jezik k sebi. 226 00:10:30,810 --> 00:10:33,250 Nije to ništa tehnički po sebi, ali to je samo vrsta 227 00:10:33,250 --> 00:10:36,490 opći način izražavanje sebe dosta precizno, 228 00:10:36,490 --> 00:10:39,730 prilično algoritamski, prilično proceduralno, ali bez 229 00:10:39,730 --> 00:10:42,570 brige o tome što jezik ste izražavanje 230 00:10:42,570 --> 00:10:43,150 sami rezervirati 231 00:10:43,150 --> 00:10:46,280 To je neki model engleskom i programskih jezika s 232 00:10:46,280 --> 00:10:48,790 koji vam se dogoditi da bude upoznat, pa možemo početi 233 00:10:48,790 --> 00:10:50,600 pisanje takve stvari kao i mi ići. 234 00:10:50,600 --> 00:10:54,450 A u stvari, Josip, mogao sam ti posuditi na pozornici biti 235 00:10:54,450 --> 00:10:55,490 pisar ovdje? 236 00:10:55,490 --> 00:11:00,130 Ja sam otišao naprijed ovdje unaprijed i zaboravili staviti 237 00:11:00,130 --> 00:11:02,920 na nekim čarape danas, a to će biti među naše više 238 00:11:02,920 --> 00:11:03,780 smiješnih primjera. 239 00:11:03,780 --> 00:11:04,580 >> Sada, trebam te ovdje. 240 00:11:04,580 --> 00:11:05,630 Ja ću učiniti čarape dio. 241 00:11:05,630 --> 00:11:08,040 Dakle, ovdje imamo malo Blok za pisanje. 242 00:11:08,040 --> 00:11:09,940 Ovo je doslovno samo TextEdit u Mac. 243 00:11:09,940 --> 00:11:12,270 Nećemo se zapravo događa napisati runnable program, ali 244 00:11:12,270 --> 00:11:14,220 samo mi ćemo početi skiciranje iz pseudocode temeljen 245 00:11:14,220 --> 00:11:17,830 na neki od savjeta koje ste dali za mene ovdje. 246 00:11:17,830 --> 00:11:20,760 Dakle, ovdje je moj gomila čarapa kod kuće. 247 00:11:20,760 --> 00:11:23,320 Nemam čarape na kad se probudim ujutro, a mi smo sada 248 00:11:23,320 --> 00:11:26,280 treba napisati program, algoritam sorti, s kojim 249 00:11:26,280 --> 00:11:27,900 da biste dobili ove čarape na nogama. 250 00:11:27,900 --> 00:11:30,860 I usput, neka je vidjeti ako mi zapeti, ili susret, 251 00:11:30,860 --> 00:11:32,860 neke od ideja koje ste idući u morati početi 252 00:11:32,860 --> 00:11:35,470 razmišljam o mnogo ozbiljnije kada programiranje 253 00:11:35,470 --> 00:11:37,950 da vaši programi ne ponašaju sasvim onako kako smo zamislili. 254 00:11:37,950 --> 00:11:39,580 >> Tako sam sjesti ovdje. 255 00:11:39,580 --> 00:11:41,180 Imam svoju hrpu čarapa. 256 00:11:41,180 --> 00:11:43,780 Što je prva stvar razumno ljudsko biće bi 257 00:11:43,780 --> 00:11:46,600 učiniti kad je cilj staviti na par čarapa? 258 00:11:46,600 --> 00:11:49,190 Netko mi dati jedan korak, a samo jedan korak. 259 00:11:49,190 --> 00:11:49,796 Da? 260 00:11:49,796 --> 00:11:50,690 PUBLIKA: Bend dolje. 261 00:11:50,690 --> 00:11:54,290 DAVID MALAN: Bend dolje, OK. 262 00:11:54,290 --> 00:11:55,540 Korak dva. 263 00:11:59,975 --> 00:12:00,645 Korak dva. 264 00:12:00,645 --> 00:12:01,840 PUBLIKA: Pick up your čarapu. 265 00:12:01,840 --> 00:12:03,220 DAVID MALAN: Pick up your čarapu. 266 00:12:03,220 --> 00:12:07,610 Ok, tako blagi dvosmislenosti ovdje, a to je jedan od prvih 267 00:12:07,610 --> 00:12:09,380 kamena spoticanja da smo trebali namjerno 268 00:12:09,380 --> 00:12:10,290 susrećemo ovdje. 269 00:12:10,290 --> 00:12:14,110 To je malo dvosmisleno, tako pokupiti svoje čarapu. 270 00:12:14,110 --> 00:12:17,425 Dobro, ja ću uzeti ovaj jedan, ali računalo, realizirati u samo 271 00:12:17,425 --> 00:12:20,420 malo, ne će imati takvu vrstu ljudskog instinkta za samo 272 00:12:20,420 --> 00:12:21,490 pokupiti najbliži jedan. 273 00:12:21,490 --> 00:12:23,590 Mi ćemo morati početi, prije dugo, izražavajući 274 00:12:23,590 --> 00:12:24,610 sami preciznije. 275 00:12:24,610 --> 00:12:26,600 >> U redu, tako korak dva je pokupiti svoju čarapu. 276 00:12:26,600 --> 00:12:27,520 Mi ćemo ga uzeti. 277 00:12:27,520 --> 00:12:28,620 Korak tri. 278 00:12:28,620 --> 00:12:29,532 U leđa. 279 00:12:29,532 --> 00:12:30,900 PUBLIKA: Pronađite odgovarajući par. 280 00:12:30,900 --> 00:12:32,060 DAVID MALAN: pronaći odgovarajući par. 281 00:12:32,060 --> 00:12:34,740 Ok, tako da je ovo dobra. 282 00:12:34,740 --> 00:12:35,650 Morao sam izabrati ovu čarapu. 283 00:12:35,650 --> 00:12:39,200 Dakle, cilj je naći odgovarajući čarapu, a sada, ali ono što 284 00:12:39,200 --> 00:12:39,990 to znači? 285 00:12:39,990 --> 00:12:42,130 Razumno ljudsko biće, jednako kao što je u srijedu, kada sam 286 00:12:42,130 --> 00:12:44,700 znao kako pronaći Mike Smith u telefonskom imeniku, samo vrsta 287 00:12:44,700 --> 00:12:45,640 otišao sa svojim instinktom. 288 00:12:45,640 --> 00:12:49,220 Ali ovdje, to je očito to čarapa ovdje, ali računalo je 289 00:12:49,220 --> 00:12:51,350 neće biti tako instinktivno. 290 00:12:51,350 --> 00:12:53,830 Računalo će imati kolekciju bita, kao i mi 291 00:12:53,830 --> 00:12:55,380 razgovarali su u srijedu, a oni su 292 00:12:55,380 --> 00:12:56,710 organizirao nekako u memoriji. 293 00:12:56,710 --> 00:13:00,400 No, stvar je da računalo ima samo sposobnost 294 00:13:00,400 --> 00:13:03,390 gledati na stvari jednu po jednu, i zapravo, čak smo 295 00:13:03,390 --> 00:13:05,980 ljudi - iako se osjeća kao da sam pogledao dolje i Split 296 00:13:05,980 --> 00:13:08,900 Trenutak kasnije znam gdje čarapa je, moj mozak i moje oči 297 00:13:08,900 --> 00:13:12,000 vjerojatno nije brzo obrano tih čarapa, a zatim latched 298 00:13:12,000 --> 00:13:13,400 na one u pitanju. 299 00:13:13,400 --> 00:13:15,780 >> Dakle, ako smo se svi više namjerno sada kao računalo, 300 00:13:15,780 --> 00:13:17,780 Kako sam pronaći ovo podudaranje par? 301 00:13:17,780 --> 00:13:18,890 Pa, moramo ponoviti. 302 00:13:18,890 --> 00:13:21,440 Moramo možda petlji preko ovog nereda čarapa na 303 00:13:21,440 --> 00:13:25,760 kat gdje sam reći nešto poput ZA SVAKU čarapa, to podići 304 00:13:25,760 --> 00:13:30,195 gore, a ako isti oblik i veličinu kao onaj drugi, ONDA 305 00:13:30,195 --> 00:13:32,150 točka, točka, točka, mi ćemo nastaviti priču. 306 00:13:32,150 --> 00:13:34,430 Dakle, za svaku čarapu, tako da sam pokupiti ovaj jedan. 307 00:13:34,430 --> 00:13:36,520 Ja provjeriti je li to jednaka ovoj. 308 00:13:36,520 --> 00:13:38,250 To nije, pa sam stavio na stranu stranu. 309 00:13:38,250 --> 00:13:39,220 Onda sam opet ponoviti. 310 00:13:39,220 --> 00:13:40,340 Je li to jedna jednaki? 311 00:13:40,340 --> 00:13:42,010 Ne, to nije, pa sam ga staviti na stranu. 312 00:13:42,010 --> 00:13:42,710 Je li ovo? 313 00:13:42,710 --> 00:13:43,200 Ne. 314 00:13:43,200 --> 00:13:43,670 To je jedan? 315 00:13:43,670 --> 00:13:44,520 Ne, i tako dalje. 316 00:13:44,520 --> 00:13:48,730 I onda na kraju, nadamo se, ja ću se susresti ovu čarapu ovdje. 317 00:13:48,730 --> 00:13:51,350 Dakle, ako je isti oblik, veličina, uzmi ga. 318 00:13:51,350 --> 00:13:53,980 >> A sada, što će biti naš sljedeći korak ovdje? 319 00:13:53,980 --> 00:13:54,402 Da? 320 00:13:54,402 --> 00:13:56,090 PUBLIKA: Utvrditi desno od lijeve. 321 00:13:56,090 --> 00:13:58,980 DAVID MALAN: Ok, identificirati lijevo i desno, pa 322 00:13:58,980 --> 00:14:01,870 Srećom, takva djela. 323 00:14:01,870 --> 00:14:04,020 Malo simetrično, ili upravo sam nositi ih na taj način. 324 00:14:04,020 --> 00:14:07,020 U redu, tako da sam identificirao pravo. 325 00:14:07,020 --> 00:14:09,980 A sada, prije nego što nastavite, dopustite mi naglasiti ono što je Josip 326 00:14:09,980 --> 00:14:12,890 radili ovdje kao svojevrsni upućen programera. 327 00:14:12,890 --> 00:14:15,800 Pa opet, ne postoji jedan od načina za to, ali dalje od pukog 328 00:14:15,800 --> 00:14:18,480 numeriranje redaka, Josip je već počeo da to učinite 329 00:14:18,480 --> 00:14:19,460 vrsta otiska. 330 00:14:19,460 --> 00:14:21,950 Doista, ovo je vrlo čest konvencija u programiranju, 331 00:14:21,950 --> 00:14:26,110 kojim kada se nešto učiniti iterativan, petlje stil, kao 332 00:14:26,110 --> 00:14:28,480 mi smo implicirajući s engleskim izrazom "za svaku 333 00:14:28,480 --> 00:14:31,090 izlemati, "konvenciju u pseudocode i, kao što ćemo vidjeti, 334 00:14:31,090 --> 00:14:33,410 normalno programski jezici, je samo alineje. 335 00:14:33,410 --> 00:14:36,240 Hit razmaknicu nekoliko puta, pogodio tipku TAB ili slično, 336 00:14:36,240 --> 00:14:40,660 tako da ugniježđeni ispod "Za svaku čarapu" je komad 337 00:14:40,660 --> 00:14:43,430 stvari koje trebate učiniti kao rezultat tog kruga. 338 00:14:43,430 --> 00:14:45,940 Tako da je sve što je prenošenje semantički. 339 00:14:45,940 --> 00:14:48,620 Sada međuvremenu, "Ako je to isti oblik i veličinu", rekao je 340 00:14:48,620 --> 00:14:51,590 Činjenica da "Uzmi ga" razvedena dalje samo znači 341 00:14:51,590 --> 00:14:54,370 to je jedina stvar koju trebate učiniti ako taj uvjet, 342 00:14:54,370 --> 00:14:59,770 ako je to grana, koja vilica na cesti, je u stvari pravi. 343 00:14:59,770 --> 00:15:02,130 >> Dakle, sada ovdje, da smo na korak četiri, identificirati s lijeve i desne. 344 00:15:02,130 --> 00:15:03,410 Sam identificirao pravo. 345 00:15:03,410 --> 00:15:05,150 Daj mi korak pet. 346 00:15:05,150 --> 00:15:07,880 I tehnički, mi stvarno mogli nazvati 347 00:15:07,880 --> 00:15:09,510 ZA SVAKU stvar - 348 00:15:09,510 --> 00:15:11,450 vjerojatno biste trebali prebrojiti sve linije ako 349 00:15:11,450 --> 00:15:12,190 idemo to učiniti. 350 00:15:12,190 --> 00:15:14,006 JOSEPH: [nečujan] 351 00:15:14,006 --> 00:15:14,610 DAVID MALAN: [nečujan]? 352 00:15:14,610 --> 00:15:16,070 Ok, u redu, u redu, mi ćemo to učiniti svoj put. 353 00:15:16,070 --> 00:15:19,590 U redu, tako korak pet, kako ćemo to učiniti pravu čarapu? 354 00:15:19,590 --> 00:15:22,310 Kako smo nastavili dalje, ovdje? 355 00:15:22,310 --> 00:15:22,730 Da? 356 00:15:22,730 --> 00:15:24,300 PUBLIKA: Podignite desnu nogu. 357 00:15:24,300 --> 00:15:27,100 DAVID MALAN: Podignite desnu nogu, Ok. 358 00:15:27,100 --> 00:15:29,330 Korak šest? 359 00:15:29,330 --> 00:15:30,728 Brzo. 360 00:15:30,728 --> 00:15:31,202 Da. 361 00:15:31,202 --> 00:15:33,100 PUBLIKA: Pronađite otvoreni kraj čarapa. 362 00:15:33,100 --> 00:15:34,440 DAVID MALAN: Ok, pronaći otvoreni kraj čarapa. 363 00:15:34,440 --> 00:15:34,840 Pa dobro. 364 00:15:34,840 --> 00:15:37,180 Dakle, ovdje, iskreno, vrlo čest nagon samo biti 365 00:15:37,180 --> 00:15:39,880 staviti na desnoj čarapu, ali da je također prilično nejasna. 366 00:15:39,880 --> 00:15:42,750 Ako računalo ili ljudsko zna točno što to znači, 367 00:15:42,750 --> 00:15:45,160 to neće biti izvršiti da, pa evo, ja sam 368 00:15:45,160 --> 00:15:46,520 Našli otvaranje dionice. 369 00:15:46,520 --> 00:15:48,222 Korak sedam? 370 00:15:48,222 --> 00:15:49,700 PUBLIKA: Dodirnite prste. 371 00:15:49,700 --> 00:15:51,070 DAVID MALAN: Touch prstiju. 372 00:15:51,070 --> 00:15:53,546 Ok, tako da sada idemo - 373 00:15:53,546 --> 00:15:56,480 U redu, ja ću uzeti neke slobode ovdje. 374 00:15:56,480 --> 00:15:57,110 Hvala. 375 00:15:57,110 --> 00:15:59,210 Korak osam? 376 00:15:59,210 --> 00:16:00,060 Stavite na čarapu. 377 00:16:00,060 --> 00:16:02,060 Ok, tako da sada sam, mislim da smo dovoljno blizu da vrsta uzeti 378 00:16:02,060 --> 00:16:03,480 ovo kod kuće. 379 00:16:03,480 --> 00:16:05,980 U redu, tako to ide gore. 380 00:16:05,980 --> 00:16:07,950 Uzet ću neke slobode s tim što to znači, zapravo. 381 00:16:07,950 --> 00:16:08,920 Stavite čarapu na. 382 00:16:08,920 --> 00:16:10,853 U redu, sada korak devet? 383 00:16:10,853 --> 00:16:11,740 PUBLIKA: Put nogom. 384 00:16:11,740 --> 00:16:12,510 DAVID MALAN: Hvala. 385 00:16:12,510 --> 00:16:15,610 Korak devet, staviti nogu dolje, i sada, možemo ponoviti. 386 00:16:15,610 --> 00:16:19,540 Dakle, vjerojatno, sada možemo ići u korak 10 i reći identificirati 387 00:16:19,540 --> 00:16:21,960 lijevo čarapu, ali to je vjerojatno već učinili. 388 00:16:21,960 --> 00:16:24,100 >> I tako onda ja mogu sortirati od ponoviti ove korake. 389 00:16:24,100 --> 00:16:25,260 No, ova vrsta postavlja pitanje. 390 00:16:25,260 --> 00:16:28,100 Prije, zadnji put kad smo htjeli ponoviti nešto, mi 391 00:16:28,100 --> 00:16:30,730 Uspjeli iterativno, opet i opet, ZA 392 00:16:30,730 --> 00:16:32,660 Svaka petlja da se tako izrazim. 393 00:16:32,660 --> 00:16:36,420 Bi li to smisla koristiti petlju kako bi se nositi i 394 00:16:36,420 --> 00:16:38,470 lijevo i desno čarapa? 395 00:16:38,470 --> 00:16:40,460 Budući da se osjeća kao ovi poslovi su prilično 396 00:16:40,460 --> 00:16:43,090 identične, osim činjenice da je jedan počinje ovdje i jedan 397 00:16:43,090 --> 00:16:44,850 počinje ovdje? 398 00:16:44,850 --> 00:16:47,400 Hoćemo li petlju, ili mi samo držati pisanja korake 399 00:16:47,400 --> 00:16:48,745 10 i 11 i 12? 400 00:16:48,745 --> 00:16:50,540 PUBLIKA: Petlja. 401 00:16:50,540 --> 00:16:52,240 >> DAVID MALAN: Ok, tako da petlje. 402 00:16:52,240 --> 00:16:54,730 Ja sam zapravo mogao reći samo zadržati ide. 403 00:16:54,730 --> 00:16:55,720 Pa zašto je to tako? 404 00:16:55,720 --> 00:16:57,940 Pa, to je zapravo prva naša ne-očito 405 00:16:57,940 --> 00:17:01,210 dizajn odluke, u stvari, jedna od metrike s kojima 406 00:17:01,210 --> 00:17:03,990 počet ćemo procijeniti, za sebe i za vas, 407 00:17:03,990 --> 00:17:06,780 Kvaliteta programa je samo koliko dobro osmišljen je. 408 00:17:06,780 --> 00:17:09,619 Jeste li učinili minimalnu količinu rada potrebnu za 409 00:17:09,619 --> 00:17:12,480 dobiti posao učinio najviše brzo, bilo u smislu 410 00:17:12,480 --> 00:17:15,430 vaše vrijeme ili u smislu računala prikazivati ​​vrijeme? 411 00:17:15,430 --> 00:17:17,589 Koliko operacija ne traje izvršiti? 412 00:17:17,589 --> 00:17:20,180 Dakle, nedvojbeno, to je prilika za petlju, jer 413 00:17:20,180 --> 00:17:22,829 čim sam početak kopiranja i lijepljenja, kao Josipa učinkovito 414 00:17:22,829 --> 00:17:25,010 bi početi raditi u jednom trenutku, kad si ljubazan prosipati tvoj 415 00:17:25,010 --> 00:17:27,140 vrijeme, a vi ste se dvostruko izražajan. 416 00:17:27,140 --> 00:17:30,260 >> Ali, u isto vrijeme, to su zapravo samo dva posebna 417 00:17:30,260 --> 00:17:31,890 slučajevi, lijevo i desno. 418 00:17:31,890 --> 00:17:34,930 I dok je prije, možda ću imati 10 ili 20 ili više čarape u 419 00:17:34,930 --> 00:17:37,960 gomila, to definitivno ima smisla ne imati 50 redaka 420 00:17:37,960 --> 00:17:40,180 Kod rekavši provjeriti ovu čarapu, onda sljedeći, 421 00:17:40,180 --> 00:17:41,300 onda sljedeći. 422 00:17:41,300 --> 00:17:43,450 Evo, to je malo manje očito, a ja bih predložio 423 00:17:43,450 --> 00:17:44,390 da bismo mogli ići u oba smjera. 424 00:17:44,390 --> 00:17:46,720 Mi ni mogao imati tu petlju, iako je to samo petlje 425 00:17:46,720 --> 00:17:50,620 dvaput, ili smo jednostavno mogli kopirati i zalijepiti samo malo 426 00:17:50,620 --> 00:17:53,270 ovdje kako bi dobili posao ispunjavanja. 427 00:17:53,270 --> 00:17:55,210 No, ovaj program je lud, da se tako izrazim. 428 00:17:55,210 --> 00:17:59,120 To bi moglo imati neke pogreške, pogreške ili kutne slučajeva, tako da 429 00:17:59,120 --> 00:18:00,860 govoriti, da mi nije stvarno predvidjeti. 430 00:18:00,860 --> 00:18:03,400 Ništa je pošlo po krivu ovaj put, ali ono što nije pošlo krivo 431 00:18:03,400 --> 00:18:06,100 dok izvršavanju ovaj program? 432 00:18:06,100 --> 00:18:07,040 PUBLIKA: Vi nemate nikakve čarape. 433 00:18:07,040 --> 00:18:08,980 >> DAVID MALAN: Dakle, tu bi mogao biti nikakvih čarape tamo uopće. 434 00:18:08,980 --> 00:18:10,380 Dakle, neka je uzeti u obzir da je corner slučaj. 435 00:18:10,380 --> 00:18:14,670 Dakle, ako bismo mogli pomicanje natrag do jedan korak, pa korak je bio 436 00:18:14,670 --> 00:18:16,540 savijati prema dolje, tako da se provjerava. 437 00:18:16,540 --> 00:18:21,250 Korak dva, pokupiti svoju čarapu, ali onda pronaći odgovarajući čarapu, 438 00:18:21,250 --> 00:18:22,420 identificirati desno. 439 00:18:22,420 --> 00:18:25,050 Mi vrsta napravio hrpu pretpostavki, a to je, 440 00:18:25,050 --> 00:18:27,720 iskreno, zašto Program ponekad srušiti. 441 00:18:27,720 --> 00:18:30,240 Ako ste, programer, napravio neke pretpostavke, kao što su 442 00:18:30,240 --> 00:18:33,000 sigurno postoji će biti čarape ili sigurno Doći će 443 00:18:33,000 --> 00:18:35,310 biti memorija lijevo u računalo, sigurno postoji ide 444 00:18:35,310 --> 00:18:37,420 biti disku lijevo na tvrdom disku - 445 00:18:37,420 --> 00:18:39,040 Pa, ako bi ove pretpostavke, a to nije, 446 00:18:39,040 --> 00:18:41,880 Zapravo, stvarnost, tko zna što se ponekad računalo je 447 00:18:41,880 --> 00:18:42,520 će to učiniti? 448 00:18:42,520 --> 00:18:44,450 A ponekad, kada se vrti na plaži loptu ili 449 00:18:44,450 --> 00:18:47,750 smrznuti Windows ili slično, to je upravo zbog neke 450 00:18:47,750 --> 00:18:50,980 programer nije predvidio one takozvane slučajeve kutak. 451 00:18:50,980 --> 00:18:53,050 Što drugo mogao otići krivo u ovom programu? 452 00:18:53,050 --> 00:18:53,330 Da? 453 00:18:53,330 --> 00:18:55,950 >> PUBLIKA: Vi nemate desnu nogu i lijevu nogu. 454 00:18:55,950 --> 00:18:58,920 DAVID MALAN: Dobro, možda ne imati i desnu nogu i 455 00:18:58,920 --> 00:19:01,940 lijeva noga, i tako ovaj program ne može biti univerzalno 456 00:19:01,940 --> 00:19:02,590 primjenjivo. 457 00:19:02,590 --> 00:19:03,658 Drugi? 458 00:19:03,658 --> 00:19:05,650 PUBLIKA: Možda ste pokupili siroče čarapu. 459 00:19:05,650 --> 00:19:07,970 DAVID MALAN: Možda sam pokupila siroče čarapu, pa 460 00:19:07,970 --> 00:19:11,250 ne podudaranje čarapa da samo nema braće i sestara, jer ja sam 461 00:19:11,250 --> 00:19:13,650 ga izgubio, to je rastrgan, to je u pranju i dalje, ili slično. 462 00:19:13,650 --> 00:19:15,550 Tako da, također, nije stvarno obrađen. 463 00:19:15,550 --> 00:19:15,790 Da? 464 00:19:15,790 --> 00:19:17,510 PUBLIKA: Možda već imate čarape. 465 00:19:17,510 --> 00:19:19,050 DAVID MALAN: Ja već mogu imati čarape na. 466 00:19:19,050 --> 00:19:20,080 Nisam zapravo provjeriti. 467 00:19:20,080 --> 00:19:23,350 AKO nemate čarape, a zatim nastavite raditi 468 00:19:23,350 --> 00:19:24,330 crta jedan i dva. 469 00:19:24,330 --> 00:19:24,980 I to bi se moglo dogoditi. 470 00:19:24,980 --> 00:19:26,880 Vi zaspati sa svojim čarapama na i slično, tako da 471 00:19:26,880 --> 00:19:28,860 da, također, vrlo razumne kutak slučaj. 472 00:19:28,860 --> 00:19:29,630 I možda jedan drugoga? 473 00:19:29,630 --> 00:19:31,310 PUBLIKA: čarapa je iznutra prema van. 474 00:19:31,310 --> 00:19:34,000 DAVID MALAN: Dakle, čarapa je iznutra prema van, tako da smo napravili nikakvu pogrešku 475 00:19:34,000 --> 00:19:35,330 provjere, u kratko. 476 00:19:35,330 --> 00:19:38,550 Nismo provjerili je li država u svijetu je kao što smo očekivali. 477 00:19:38,550 --> 00:19:41,310 Nismo provjerili smo zapravo našli ono što tražimo. 478 00:19:41,310 --> 00:19:43,310 >> I iako je to vrsta smiješan primjer 479 00:19:43,310 --> 00:19:46,110 uključuje čarape, na kraju dana, to je upravo 480 00:19:46,110 --> 00:19:48,740 vrsta razmišljanje morate imati prilikom pisanja programa, 481 00:19:48,740 --> 00:19:51,740 čak iu Scratch kao iu C, u JavaScriptu, u PHP-u, 482 00:19:51,740 --> 00:19:53,920 jer inače, vaši programi će izlagati 483 00:19:53,920 --> 00:19:56,980 protuvrijednost toga vrti plaže lopte ili samo dati 484 00:19:56,980 --> 00:19:58,210 netočne rezultate. 485 00:19:58,210 --> 00:20:00,250 Dakle, puno hvala ovdje za naše pisar Josipa. 486 00:20:00,250 --> 00:20:05,060 [Pljesak] 487 00:20:05,060 --> 00:20:06,850 >> DAVID MALAN: U redu, tako što je, u 488 00:20:06,850 --> 00:20:08,230 Činjenica, računalni program? 489 00:20:08,230 --> 00:20:09,670 Pa, neka je brzo pogledao 490 00:20:09,670 --> 00:20:11,100 Predstavnik jedne ovdje. 491 00:20:11,100 --> 00:20:15,260 Dakle, ovo je program napisan u jeziku zove C. C 492 00:20:15,260 --> 00:20:17,830 prilično stare ovih dana, ali mnogi noviji jezici su izgradili 493 00:20:17,830 --> 00:20:18,460 na vrhu. 494 00:20:18,460 --> 00:20:21,180 Doista, PHP, jedan od web-orijentirane jezike ćemo 495 00:20:21,180 --> 00:20:24,050 koristiti prema pojma o kraju, i sama ima ono što se zove 496 00:20:24,050 --> 00:20:27,550 tumač, program koji je napisan u C, ali više o tome 497 00:20:27,550 --> 00:20:28,690 u mnogim tjedana od sada. 498 00:20:28,690 --> 00:20:30,840 No, ovaj program, a to je ono što znači pisati 499 00:20:30,840 --> 00:20:32,880 Program, iako je vrlo jednostavan. 500 00:20:32,880 --> 00:20:35,540 Mi imamo neke prilično grobni sintaksu ovdje, ali možete 501 00:20:35,540 --> 00:20:38,340 vjerojatno pogoditi, čak i ako ste nikada nije programiran prije, što 502 00:20:38,340 --> 00:20:39,750 ovaj program radi. 503 00:20:39,750 --> 00:20:43,640 Doista, ne znam što printf je, ali sigurno ispis 504 00:20:43,640 --> 00:20:45,700 dočarava ideju ispis nešto. 505 00:20:45,700 --> 00:20:48,590 I tako da, ovaj program je u konačnici će ispisati 506 00:20:48,590 --> 00:20:50,250 riječi: "Hello, World". 507 00:20:50,250 --> 00:20:53,390 >> Sada, da li imate Mac ili PC ili Linux računalo, izgledi 508 00:20:53,390 --> 00:20:55,550 su, barem ako ste preuzeli neke slobodno 509 00:20:55,550 --> 00:20:58,000 dostupan softver, mogli su pisanje programa na 510 00:20:58,000 --> 00:21:00,310 svoj laptop za neko vrijeme sada. 511 00:21:00,310 --> 00:21:03,040 Na Mac OS, na primjer, tu je to program koji se zove 512 00:21:03,040 --> 00:21:05,340 Terminal koji dolazi s Mac, to je obično u vašoj 513 00:21:05,340 --> 00:21:07,550 Komunalne mape, i to uglavnom otvara crno 514 00:21:07,550 --> 00:21:09,820 bijela ili bijela i crna prozor na kojem imate 515 00:21:09,820 --> 00:21:11,410 potaknuti na kojoj možete upisati naredbe. 516 00:21:11,410 --> 00:21:13,060 Dakle, ovo je zapravo podsjeća na ono što računala 517 00:21:13,060 --> 00:21:15,100 koristi se prije grafičko korisničko 518 00:21:15,100 --> 00:21:16,710 sučelja, GUIs, došle. 519 00:21:16,710 --> 00:21:19,200 Sada, u Windowsima, imate sličan mehanizam u obliku 520 00:21:19,200 --> 00:21:20,130 od naredbenog retka. 521 00:21:20,130 --> 00:21:23,430 >> No, ono što ću učiniti ovdje je otvoriti, recimo, 522 00:21:23,430 --> 00:21:26,580 TextEdit opet, tako da isti program smo koristili za 523 00:21:26,580 --> 00:21:28,870 pseudocode trenutak prije, a ja ću ići naprijed i 524 00:21:28,870 --> 00:21:30,080 napisati svoj prvi program. 525 00:21:30,080 --> 00:21:34,030 Uključi stdio.h, što god to značilo, int glavni 526 00:21:34,030 --> 00:21:36,880 void, što god to značilo, a zatim u sredini ovdje, 527 00:21:36,880 --> 00:21:40,560 printf ("Hello, svijet."). A onda se u blizini citat, 528 00:21:40,560 --> 00:21:42,340 zatvoriti paren, točka. 529 00:21:42,340 --> 00:21:44,460 Sada ću ići naprijed i samo pogodak Command-S. Idem 530 00:21:44,460 --> 00:21:47,650 ići naprijed i spremite to kao hello.c, tako konvencije 531 00:21:47,650 --> 00:21:50,530 svijet C programiranja je ime datoteke dot c. 532 00:21:50,530 --> 00:21:52,880 Ja ću samo staviti u Johna Harvarda home direktorija, 533 00:21:52,880 --> 00:21:56,370 Ovdje, kliknite Spremi, a sada ću ići preko toga 534 00:21:56,370 --> 00:21:59,110 terminal prozor, što opet je to crna i bijela brz 535 00:21:59,110 --> 00:22:00,860 gdje mogu izvršavati naredbe. 536 00:22:00,860 --> 00:22:04,550 >> Ja mogu pokrenuti programe upišete svoje ime, a ne 537 00:22:04,550 --> 00:22:06,710 dvoklikom ikone u uobičajenom smislu. 538 00:22:06,710 --> 00:22:10,590 No, stvar je o tome da je C jezik kao C prvi 539 00:22:10,590 --> 00:22:13,150 dolazi u ovom obliku, nešto što se zove izvorni kod. 540 00:22:13,150 --> 00:22:15,400 Nešto što izgleda malo kao engleski, ali je 541 00:22:15,400 --> 00:22:17,980 definitivno manje kao engleski nego Josipa pseudocode 542 00:22:17,980 --> 00:22:18,930 trenutak prije. 543 00:22:18,930 --> 00:22:20,560 To je malo više tajanstvena. 544 00:22:20,560 --> 00:22:22,830 Čini se da slijedite neke uzorke ili pravila. 545 00:22:22,830 --> 00:22:25,300 Činjenica da imam vitičastih zagrada, zarezom, citati, 546 00:22:25,300 --> 00:22:28,240 kut aparatić, osjeća kao računalo je došao gore sa ovaj 547 00:22:28,240 --> 00:22:29,250 vrsta jezika. 548 00:22:29,250 --> 00:22:32,010 Ali ako odem, sada, ovog prozora terminala, mogu pokrenuti 549 00:22:32,010 --> 00:22:35,250 naredba koja će se pretvoriti taj izvorni kod je 550 00:22:35,250 --> 00:22:36,610 nešto što se zove objektnog koda. 551 00:22:36,610 --> 00:22:39,690 To će pretvoriti Engleski-poput sintaksa za nula 552 00:22:39,690 --> 00:22:41,760 i one, iste vrste nulama i one koje 553 00:22:41,760 --> 00:22:42,820 govorio o srijedu. 554 00:22:42,820 --> 00:22:44,810 Sada, ja ću pokrenuti naredbu zove zveka. 555 00:22:44,810 --> 00:22:47,750 Više o tome u tjednima koji dolaze, ali to je program s 556 00:22:47,750 --> 00:22:52,330 koji sam može pretvoriti u hello.c cijela hrpa 557 00:22:52,330 --> 00:22:53,640 nula i one. 558 00:22:53,640 --> 00:22:54,950 >> Sada, ja sam pokrenuti ovu naredbu. 559 00:22:54,950 --> 00:22:57,940 Ja sam pokrenuti zveka, a onda sam rekao sebi izvoditi na ovoj datoteci 560 00:22:57,940 --> 00:23:00,630 zove hello.c, koji sam stvorio trenutak prije, a 561 00:23:00,630 --> 00:23:02,090 ništa ne čini da se dogodi. 562 00:23:02,090 --> 00:23:05,550 Ali doista, ako sam poked oko moje kuće imenik, ja bih vidjeti 563 00:23:05,550 --> 00:23:09,620 da je to glupo ime Program a.out sada postoji. 564 00:23:09,620 --> 00:23:12,250 Ovo je samo zadani naziv za program pri pisanju 565 00:23:12,250 --> 00:23:15,140 C. Mi može nadjačati ovo na kraju, ali je a.out 566 00:23:15,140 --> 00:23:18,340 Naziv programa sam samo pretvaraju u nulama i one. 567 00:23:18,340 --> 00:23:21,490 A sada da je nula i one, moj Mac, u ovom slučaju, ili 568 00:23:21,490 --> 00:23:24,670 Windows računalo, mogu razumjeti one komadiće, te 569 00:23:24,670 --> 00:23:25,410 nule i jedinice. 570 00:23:25,410 --> 00:23:29,130 I tako, kada sam pogodio Enter, vidim "Hello, world!" 571 00:23:29,130 --> 00:23:31,270 >> Ali to je malo lud. 572 00:23:31,270 --> 00:23:34,110 Nisam sasvim reći "Hello, svijet: zrak: -! Jharvard." Klima je 573 00:23:34,110 --> 00:23:35,020 ime moje računalo. 574 00:23:35,020 --> 00:23:37,730 Jharvard je naziv računa, tako da ono što sam jasno 575 00:23:37,730 --> 00:23:41,070 izostaviti iz programa? 576 00:23:41,070 --> 00:23:42,480 Neka vrsta retka. 577 00:23:42,480 --> 00:23:45,150 Nisam pogodio ekvivalent Unesite ili carriage return, 578 00:23:45,150 --> 00:23:47,760 i to je, opet, svjedoči i činjenica da računala mogu 579 00:23:47,760 --> 00:23:49,800 samo učiniti ono što vam reći da učine. 580 00:23:49,800 --> 00:23:52,400 A činjenica da nisam reći računalo premjestiti 581 00:23:52,400 --> 00:23:53,860 pokazivač u sljedeći redak - 582 00:23:53,860 --> 00:23:55,200 dobro, to sigurno je neće samo to učiniti 583 00:23:55,200 --> 00:23:56,750 drskosti za mene. 584 00:23:56,750 --> 00:24:00,860 Dakle, ako se vratim u moj program, a ja kažem \ n - 585 00:24:00,860 --> 00:24:03,180 Dakle, \ n, kao što ćemo uskoro vidjeti, je način 586 00:24:03,180 --> 00:24:06,910 predstavlja čudne stvari poput nove linije likova, stvari 587 00:24:06,910 --> 00:24:08,840 koje bi inače biti rezultat 588 00:24:08,840 --> 00:24:09,940 udaranje Enter. 589 00:24:09,940 --> 00:24:11,730 No, za sada, samo znam da je udaranje Enter bi 590 00:24:11,730 --> 00:24:14,170 Upravo bi naša kod izgledati čudno, pa svijet odlučio, znaš 591 00:24:14,170 --> 00:24:16,580 ono, da bi se stvari ljepše, da ga zadrži na jednoj liniji, ajmo 592 00:24:16,580 --> 00:24:19,070 samo reći \ n predstavlja novu liniju. 593 00:24:19,070 --> 00:24:22,260 Dopustite mi resave moj dosje, vratite se na prozor terminala, a 594 00:24:22,260 --> 00:24:25,290 re-run a.out, Enter. 595 00:24:25,290 --> 00:24:28,374 Ipak lud, ali zašto? 596 00:24:28,374 --> 00:24:29,750 >> PUBLIKA: [nečujan] 597 00:24:29,750 --> 00:24:31,540 DAVID MALAN: Da, pa sam ga morati rekompiliranje. 598 00:24:31,540 --> 00:24:34,610 Dakle, sastaviti program samo znači pretvoriti ga iz izvora 599 00:24:34,610 --> 00:24:37,660 koda objektnog koda, izvornog koda na nula i one. 600 00:24:37,660 --> 00:24:40,830 Sada, sama činjenica da sam pogodio Spremi u ovom TextEdit nema 601 00:24:40,830 --> 00:24:43,450 imajući na tim nulama i one jer sam najprije morate 602 00:24:43,450 --> 00:24:48,260 Reci zveka hej, ja sam promijenio one linija koda, 603 00:24:48,260 --> 00:24:49,040 koda. 604 00:24:49,040 --> 00:24:51,010 Morate regenerirati a.out. 605 00:24:51,010 --> 00:24:52,990 Ništa se ne pojavljuje da se dogodilo, ali u računalu, 606 00:24:52,990 --> 00:24:55,820 u zapovjednoj liniji, da se tako izrazim, kada se ništa ne događa, 607 00:24:55,820 --> 00:24:57,510 To obično znači da je sve dobro. 608 00:24:57,510 --> 00:24:59,040 Kada nešto ne dogodi, to znači 609 00:24:59,040 --> 00:25:00,420 ste zabrljati gore, općenito. 610 00:25:00,420 --> 00:25:04,020 >> Dakle, ajmo sada ići na a.out, i doista sada, ja imam "halo, 611 00:25:04,020 --> 00:25:04,440 svijet. " 612 00:25:04,440 --> 00:25:05,990 A sada, što je s tim nulama i one? 613 00:25:05,990 --> 00:25:07,520 Gdje, u stvari, oni? 614 00:25:07,520 --> 00:25:10,710 Pa, ja ne mogu zapravo samo vrsta džaku okolo vrlo 615 00:25:10,710 --> 00:25:11,210 učinkovito. 616 00:25:11,210 --> 00:25:12,650 Dopustite mi da se otvaraju TextEdit. 617 00:25:12,650 --> 00:25:14,060 Evo a.out. 618 00:25:14,060 --> 00:25:17,390 Pusti me naprijed i otvoriti ovo, a to je očito ono moje 619 00:25:17,390 --> 00:25:19,080 Program izgleda. 620 00:25:19,080 --> 00:25:21,570 Tako sam otvorio, ne hello.c, ali a.out. 621 00:25:21,570 --> 00:25:23,960 No, to zapravo nije ono što moj program doista jest. 622 00:25:23,960 --> 00:25:26,450 Jasno, ovo je neka vrsta abecednom znakova. 623 00:25:26,450 --> 00:25:28,670 Ja ne vidim nula i one, ali to je 624 00:25:28,670 --> 00:25:30,780 jer a.out je program. 625 00:25:30,780 --> 00:25:33,540 Nula i one - ali TextEdit, kao što ime sugerira, to je 626 00:25:33,540 --> 00:25:37,130 baš kao Notepad na Windows, samo je tekst editor, tako da je 627 00:25:37,130 --> 00:25:39,730 zbunjujuće sve one nula i one kao 628 00:25:39,730 --> 00:25:41,870 iako su, što? 629 00:25:41,870 --> 00:25:43,380 ASCII znakovi. 630 00:25:43,380 --> 00:25:45,020 >> Dakle, prisjetimo se u srijedu, samo mi je došao gore sa ovaj 631 00:25:45,020 --> 00:25:48,740 proizvoljna mapiranje brojeva, ili komadići, da slova 632 00:25:48,740 --> 00:25:51,690 abeceda i interpunkcijski simboli i slično. 633 00:25:51,690 --> 00:25:54,920 Dakle TextEdit, da je tekst editor je pogrešno 634 00:25:54,920 --> 00:25:57,270 te obrasci nula i one koje bi trebale biti 635 00:25:57,270 --> 00:25:59,990 tisak riječi, poput "Zdravo, svijet." To je prikazujući ih 636 00:25:59,990 --> 00:26:02,150 kao ASCII, i to je razlog zašto to izgleda malo neuredan. 637 00:26:02,150 --> 00:26:04,910 Sada, postoje neke naznake korektnosti u ovdje. 638 00:26:04,910 --> 00:26:08,090 Obavijest ako sam istaknuti, postoji naznaka zapravo "halo, 639 00:26:08,090 --> 00:26:10,810 svijet ", tako negdje u tom programu je 640 00:26:10,810 --> 00:26:12,120 rečenica sam napisao. 641 00:26:12,120 --> 00:26:14,610 Ali idemo naprijed i sada vidim s drugom programu. 642 00:26:14,610 --> 00:26:17,420 Ovo nije jedan koristit ćemo se često, ali ona također dolazi s 643 00:26:17,420 --> 00:26:19,970 Mac i bit će unutar CS50 aparata. 644 00:26:19,970 --> 00:26:23,940 Pusti me naprijed i otvoriti s programom pod nazivom XXD. 645 00:26:23,940 --> 00:26:26,530 >> Natrag u dan, većina programa imenovani su prilično šifrirano, 646 00:26:26,530 --> 00:26:28,200 i tako trend se nastavlja. 647 00:26:28,200 --> 00:26:31,160 Ali-b znači pljuvati ovaj program je kao binarni. 648 00:26:31,160 --> 00:26:32,330 Nemojte ga pokrenuti. 649 00:26:32,330 --> 00:26:35,770 Prikazati ga na mene kao nula i one, a to je C 650 00:26:35,770 --> 00:26:37,190 programirati samo smo pisali. 651 00:26:37,190 --> 00:26:39,920 Sada, ja sam, kao čovjek ovdje, ja iskreno nemam pojma što 652 00:26:39,920 --> 00:26:42,230 ti razni oblici nula i one predstavljaju. 653 00:26:42,230 --> 00:26:45,320 Natrag u dan, ja, s mojim bušiti kartice ili slično, bi 654 00:26:45,320 --> 00:26:48,080 zapravo morati potražiti ono što ove različite obrasce 655 00:26:48,080 --> 00:26:51,560 01111000, zapravo predstavljaju. 656 00:26:51,560 --> 00:26:54,390 Ili još gore, ja bi trebao učiniti probijanje ili stvaranje 657 00:26:54,390 --> 00:26:56,130 tih obrazaca nula i one. 658 00:26:56,130 --> 00:27:00,410 Ali za sada, uzeti na vjeri da je CPU, Intel unutra, tako 659 00:27:00,410 --> 00:27:03,440 govoriti, unutar svih naših računala ovih dana, ne zna 660 00:27:03,440 --> 00:27:05,100 kako tumačiti ove nule i one. 661 00:27:05,100 --> 00:27:07,010 A neki nula i one znače ispis. 662 00:27:07,010 --> 00:27:09,040 Neki nula i one znače igrati zvuk. 663 00:27:09,040 --> 00:27:13,630 Neki nula i one znače uzeti korisničkog unosa iz tipkovnice. 664 00:27:13,630 --> 00:27:15,960 Tu je sve vrste različitih uzoraka, ali smo, srećom, 665 00:27:15,960 --> 00:27:19,680 kao ljudi, samo općenito treba brinuti o programiranju na 666 00:27:19,680 --> 00:27:21,270 ovo prilično viša razina. 667 00:27:21,270 --> 00:27:24,320 I u drugim CS razredima možete prekapati dublje dolje i pogledati 668 00:27:24,320 --> 00:27:26,820 na stvari poput onih nula i one, ili još 669 00:27:26,820 --> 00:27:28,000 druge stvari još uvijek. 670 00:27:28,000 --> 00:27:29,210 >> Pa sada neka to pretvoriti. 671 00:27:29,210 --> 00:27:32,550 Idemo vrlo brzo od C i premjestiti na nešto na 672 00:27:32,550 --> 00:27:36,390 malo više utješno, malo više uzbudljivo, u to 673 00:27:36,390 --> 00:27:39,340 možemo vratiti naše animacije i zvukove i kao da 674 00:27:39,340 --> 00:27:40,940 jasno nam je pobjegao u to 675 00:27:40,940 --> 00:27:42,480 prilično primitivno sučelje. 676 00:27:42,480 --> 00:27:46,430 Dakle, taj isti program u C može biti zastupljeni sada u ovom 677 00:27:46,430 --> 00:27:50,060 programski jezik naziva Blok kako slijedi. 678 00:27:50,060 --> 00:27:54,230 Ovo je ekvivalent ovom Hello World programa pisanog u 679 00:27:54,230 --> 00:27:57,370 ovaj stil zagonetka komad jezik zove Scratch. 680 00:27:57,370 --> 00:28:00,600 Pa neka mi ići naprijed i otvoriti ovaj upravo program. 681 00:28:00,600 --> 00:28:01,850 To opet zove Scratch. 682 00:28:01,850 --> 00:28:03,880 To je slobodno dostupan, a to je ista stvar mi 683 00:28:03,880 --> 00:28:05,120 započela je danas na. 684 00:28:05,120 --> 00:28:07,790 >> Dakle, ovo ovdje je ispočetka, a to je razbijena na nekoliko 685 00:28:07,790 --> 00:28:09,700 različiti dijelovi. 686 00:28:09,700 --> 00:28:12,690 Na samom vrhu desno, imamo takozvanu fazu, a 687 00:28:12,690 --> 00:28:13,670 dapače, to je mjesto gdje su kolačići 688 00:28:13,670 --> 00:28:15,440 izvodi samo malo prije. 689 00:28:15,440 --> 00:28:19,660 I na toj pozornici su se stvari nazivaju sprites, likovi, ili 690 00:28:19,660 --> 00:28:21,030 predmeti ili osobe. 691 00:28:21,030 --> 00:28:23,320 To ne stvarno obzira koliko mislite o njima, ali oni 692 00:28:23,320 --> 00:28:26,740 su programabilne, pokretne stvari, au ovom slučaju, to 693 00:28:26,740 --> 00:28:30,730 program koji naš učenik napisao ima par medenjaka 694 00:28:30,730 --> 00:28:32,990 kolačići, par okruglih kolačića, cijela hrpa 695 00:28:32,990 --> 00:28:35,430 srca, cijela hrpa naočale. 696 00:28:38,170 --> 00:28:42,420 Zbog toga, on ili ona je u stanju programirati svaki od onih 697 00:28:42,420 --> 00:28:44,720 pojedini likovi odvojeno. 698 00:28:44,720 --> 00:28:46,480 >> Sada, što znači da se program ove znakove? 699 00:28:46,480 --> 00:28:49,440 Pa, dopustite mi ići naprijed i kliknite na ovaj lijevoj kolačić 700 00:28:49,440 --> 00:28:51,830 i pomaknite se na gornjem lijevom ovdje. 701 00:28:51,830 --> 00:28:53,670 U gornjem lijevom kutu mog ekrana sada je 702 00:28:53,670 --> 00:28:55,280 tzv skripte područje. 703 00:28:55,280 --> 00:28:58,790 To je vrsta prazno škriljevca, u početku, na kojem mogu 704 00:28:58,790 --> 00:29:01,540 povucite i ispustite slagalice koji, iskreno, učiniti 705 00:29:01,540 --> 00:29:03,020 točno ono što oni kažu. 706 00:29:03,020 --> 00:29:05,820 Na samom vrhu ovog hrpom slagalice je riječ 707 00:29:05,820 --> 00:29:09,340 Kada Zelena zastava Kliknuto, a ako niste primijetili prije, 708 00:29:09,340 --> 00:29:12,300 Tako sam počeo da kolačić pjesmu je klikom, doslovno, 709 00:29:12,300 --> 00:29:13,320 zelena zastava. 710 00:29:13,320 --> 00:29:16,590 Tako da zagonetka komad na gornjem lijevom kutu tamo znači kada 711 00:29:16,590 --> 00:29:19,780 ljudska klikne zelena zastava, nastavila raditi 712 00:29:19,780 --> 00:29:21,110 sljedeće stvari. 713 00:29:21,110 --> 00:29:23,330 >> Sada, ono što su oni Cookie nastaviti raditi? 714 00:29:23,330 --> 00:29:25,810 Ja stvarno ne znam kako se to tumači, no 715 00:29:25,810 --> 00:29:29,220 Cookie očito postaviti svoj žlijeb na nulu, onda je čekao 716 00:29:29,220 --> 00:29:31,740 tri sekunde, onda je promijenio svoju skupinu na jednom, onda je to 717 00:29:31,740 --> 00:29:33,590 čekao drugi, onda je promijenio svoje 718 00:29:33,590 --> 00:29:35,100 utor na jednu. 719 00:29:35,100 --> 00:29:37,373 I onda je to zapravo izgleda malo bug, ne treba 720 00:29:37,373 --> 00:29:39,440 morati promijeniti svoj ritam i opet, osim ako je 721 00:29:39,440 --> 00:29:43,380 se mijenja i drugdje, ali ovaj niz koraka je ono što je 722 00:29:43,380 --> 00:29:46,800 diktira ponašanje konkretnom kolačić. 723 00:29:46,800 --> 00:29:49,180 Dakle, neka je zapravo pomicanje natrag i ne gledati na nešto 724 00:29:49,180 --> 00:29:50,430 toliko složen još. 725 00:29:50,430 --> 00:29:52,260 Dopustite mi da ide naprijed i ići na File, New, 726 00:29:52,260 --> 00:29:53,560 i dobiti čistu škriljevca. 727 00:29:53,560 --> 00:29:56,590 >> Pa sad, ja doista imamo prazan prostor, skripte praznoj pozornici, 728 00:29:56,590 --> 00:29:59,380 s našim Scratch zadani sprite, a na gornjem lijevom 729 00:29:59,380 --> 00:30:01,670 na mom zaslonu moram na postelju svih njihovih 730 00:30:01,670 --> 00:30:03,400 Ekonomski slagalice. 731 00:30:03,400 --> 00:30:06,300 I nećemo proći kroz gotovo da su mnogi od tih stvari 732 00:30:06,300 --> 00:30:09,470 danas, jer, opet, većina su samorazumljivo, ali ćemo 733 00:30:09,470 --> 00:30:12,370 pokušati ih kategorizirati i ukazati na sličnosti 734 00:30:12,370 --> 00:30:15,380 s tim budućim jezika na kojem ćemo roniti. 735 00:30:15,380 --> 00:30:19,180 I na gornjem lijevom ovdje je prvi Kada Zelena zastava Kliknuto, 736 00:30:19,180 --> 00:30:22,170 pa neka mi povucite ovo ovdje, zoom out malo. 737 00:30:22,170 --> 00:30:25,780 I ako kliknete na zeleni zastavu, ništa se zapravo događa, jer 738 00:30:25,780 --> 00:30:29,360 Nisam prilogu bilo logiku, bilo izjava da se tako izrazim, na 739 00:30:29,360 --> 00:30:31,040 da zelena zastava, tako da me pusti do 740 00:30:31,040 --> 00:30:32,500 Kategorije ovamo. 741 00:30:32,500 --> 00:30:34,840 Ja sam trenutno u upravljačkoj kategoriji. 742 00:30:34,840 --> 00:30:37,630 Ja umjesto idem dolje do izgleda kategoriji, a 743 00:30:37,630 --> 00:30:39,970 tu je cijela hrpa stvari ovdje kažu Recimo, 744 00:30:39,970 --> 00:30:43,110 Razmislite, promijeniti boju, Switch kostim. 745 00:30:43,110 --> 00:30:44,860 >> Dakle, što možete učiniti gluposti s kostima i 746 00:30:44,860 --> 00:30:45,870 zvukovi i slično. 747 00:30:45,870 --> 00:30:49,970 Dopustite mi da ide naprijed i samo reći Say, a sada primjetiti kako sam povucite 748 00:30:49,970 --> 00:30:52,940 i ispustite ovu slagalice, ona će htjeti kvaka 749 00:30:52,940 --> 00:30:55,010 u odgovarajući oblik. 750 00:30:55,010 --> 00:30:58,020 Dakle, kada sam ići naprijed i pustiti moj miš, oni zaključavanje 751 00:30:58,020 --> 00:31:01,770 zajedno, a sada ako odem ovamo i kliknite na zelenu zastavu, 752 00:31:01,770 --> 00:31:05,910 mačka zapravo ne pozdraviti, jer to je ono što je unutra 753 00:31:05,910 --> 00:31:06,980 ove bijele kutije. 754 00:31:06,980 --> 00:31:08,900 Uskoro ćemo vidjeti da je ovaj bijeli okvir je ono što se zove 755 00:31:08,900 --> 00:31:10,250 argument ili parametar. 756 00:31:10,250 --> 00:31:12,560 To je način mijenja ponašanje, u ovom slučaju, 757 00:31:12,560 --> 00:31:15,070 puzzle komad, ali ako želim reći točno ono što sam rekao 758 00:31:15,070 --> 00:31:18,610 prije, pozdraviti, svijet, ja sada mogu vratiti ovamo, 759 00:31:18,610 --> 00:31:21,990 kliknite igrati, a "hello, world" je ono što je rekao. 760 00:31:21,990 --> 00:31:24,340 >> Tako smo doslovno programiranje sada. 761 00:31:24,340 --> 00:31:27,540 To nije sve što je uvjerljiv programa, ali barem 762 00:31:27,540 --> 00:31:30,140 to je malo više nego uvjerljiv nešto što izgleda, na 763 00:31:30,140 --> 00:31:31,300 prvi pogled, kao što je ovaj. 764 00:31:31,300 --> 00:31:34,190 I možemo vrlo brzo dobiti sve više izražajan 765 00:31:34,190 --> 00:31:36,600 jer u nule, kao i na drugim jezicima, tamo je sve 766 00:31:36,600 --> 00:31:40,010 vrste izvještaja, a ne samo reći ili tiskanje nešto, ali 767 00:31:40,010 --> 00:31:42,650 možete učiniti stvari kao što je čeka, kao što smo upravo vidjeli s 768 00:31:42,650 --> 00:31:44,240 Cookie, neki broj sekundi. 769 00:31:44,240 --> 00:31:46,440 Možete igrati zvukove u okolini nule samo 770 00:31:46,440 --> 00:31:49,050 kao što možete u normalnoj računalnog programa play zvuka. 771 00:31:49,050 --> 00:31:52,440 Možete provjeriti što se zove Boolean izraza. 772 00:31:52,440 --> 00:31:55,630 Tako sada, krenimo dodati na naš alat neke terminološke 773 00:31:55,630 --> 00:31:58,840 koji zapravo odnosi na primjer da je Joseph i ja učinio 774 00:31:58,840 --> 00:32:00,080 ovdje s čarapama. 775 00:32:00,080 --> 00:32:03,040 Dakle izjave su samo izjave činjenice. 776 00:32:03,040 --> 00:32:04,160 Učinite to. 777 00:32:04,160 --> 00:32:07,370 Direktiva za sprite, ili ja čovjek, nešto učiniti. 778 00:32:07,370 --> 00:32:10,420 Logički izraz je nešto što ima vrijednost, 779 00:32:10,420 --> 00:32:14,580 Takozvani istina vrijednost, to je bilo nula ili jedan, ili lažno 780 00:32:14,580 --> 00:32:17,890 istina, ili isključiti, ne ili da. 781 00:32:17,890 --> 00:32:19,730 Zar stvarno ne obzira koliko mislite o tome, ali to je 782 00:32:19,730 --> 00:32:20,700 binarno stanje. 783 00:32:20,700 --> 00:32:22,610 Kao što je Nate raspravljati u srijedu video, dva 784 00:32:22,610 --> 00:32:23,570 različite stvari. 785 00:32:23,570 --> 00:32:25,740 >> Tako je u nule, Boolean izraza dogoditi da pogledate 786 00:32:25,740 --> 00:32:28,910 poput ovih plavih objekte ovdje, u ovom slučaju, pitanje 787 00:32:28,910 --> 00:32:30,960 Oznaka znači da ste molba pitanje. 788 00:32:30,960 --> 00:32:34,250 Je mačka, ili Sprite, dira miša? 789 00:32:34,250 --> 00:32:36,580 Dakle, ovo je samo jedan primjer Scratch blok koji se događa 790 00:32:36,580 --> 00:32:39,950 kako bi se omogućilo nam da provjerite da ili ne, to je miš dira 791 00:32:39,950 --> 00:32:40,790 Sprite na zaslonu? 792 00:32:40,790 --> 00:32:42,840 I to može biti korisno ako stvarno želite učiniti stvari 793 00:32:42,840 --> 00:32:43,820 s mišem. 794 00:32:43,820 --> 00:32:46,470 Osim Boolean izraza, imamo stvari 795 00:32:46,470 --> 00:32:49,110 kao što je miš prema dolje, tako da možete otkriti takvu 796 00:32:49,110 --> 00:32:50,200 pitanje kao dobro. 797 00:32:50,200 --> 00:32:52,590 Mi možemo učiniti matematiku ako stvarno želite, a tu je 798 00:32:52,590 --> 00:32:55,170 zapravo više uvjerljivi koristi za to nego samo čista 799 00:32:55,170 --> 00:32:56,400 aritmetika, kao što ćemo vidjeti. 800 00:32:56,400 --> 00:32:59,690 Pseudo slučajnost i izradu programa čini se da misle 801 00:32:59,690 --> 00:33:03,490 ili drugačije ponašaju na temelju nekih naizgled slučajnih vrijednosti, 802 00:33:03,490 --> 00:33:06,610 i onda imamo stvari poput Boolean izraza poput I. 803 00:33:06,610 --> 00:33:08,830 Dakle, ako zaista želite provjeriti dvije vrijednosti, vidjet ćemo u 804 00:33:08,830 --> 00:33:11,110 Zagrebite da zapravo možemo testirati, ako je to 805 00:33:11,110 --> 00:33:13,190 istina i to je istina. 806 00:33:13,190 --> 00:33:15,300 Na primjer, u slučaju mojih čarapa, mogao sam na 807 00:33:15,300 --> 00:33:19,045 samom kraju postavio pitanje, ako lijevo čarapa je na desnom i čarapa 808 00:33:19,045 --> 00:33:20,610 je na, prestati. 809 00:33:20,610 --> 00:33:22,710 Svi ste učinili za taj dan, tako da će biti 810 00:33:22,710 --> 00:33:24,300 prilika za to. 811 00:33:24,300 --> 00:33:27,740 >> Dakle, idemo naprijed i pokušati komad neke od njih zajedno 812 00:33:27,740 --> 00:33:31,570 i otići u nekoliko primjera više 813 00:33:31,570 --> 00:33:32,610 uvjerljiv od ovoga. 814 00:33:32,610 --> 00:33:35,770 Pa neka mi ići naprijed i ovdje otvoriti neki od primjera 815 00:33:35,770 --> 00:33:38,350 da će uvijek biti na stazi web stranici, kao i, i 816 00:33:38,350 --> 00:33:39,870 otvoriti hello2. 817 00:33:39,870 --> 00:33:42,910 Tako je u hello2 ovdje, imamo program koji radi malo 818 00:33:42,910 --> 00:33:46,290 stvari, ali to nije to rade kao učinkovito kao što smo mogli. 819 00:33:46,290 --> 00:33:48,900 Dakle, ovdje se kaže "Hello, World" za jedan drugi i onda čeka 820 00:33:48,900 --> 00:33:49,450 za drugi. 821 00:33:49,450 --> 00:33:51,720 A onda ga ne opet, a zatim ga ponovno ne. 822 00:33:51,720 --> 00:33:55,530 Dakle, ako sam pritisnite zelenu zastavu, Scratch kaže: "Zdravo, svijet. 823 00:33:55,530 --> 00:33:57,160 Pozdrav, svijet. 824 00:33:57,160 --> 00:34:00,080 Pozdrav, svijet. "A to je očito kandidat za sada 825 00:34:00,080 --> 00:34:00,860 poboljšanje. 826 00:34:00,860 --> 00:34:03,070 >> Što je marginalna poboljšanja, nadamo se, možemo 827 00:34:03,070 --> 00:34:07,610 sada napraviti ako Scratch podržava koncept? 828 00:34:07,610 --> 00:34:08,310 Neka vrsta petlje. 829 00:34:08,310 --> 00:34:10,960 Neka vrsta ponavljanja, sad bi bilo lijepo, pa neka mi 830 00:34:10,960 --> 00:34:11,920 zapravo pokušati da. 831 00:34:11,920 --> 00:34:13,870 Dopustite mi zapravo ide i premjestiti to. 832 00:34:13,870 --> 00:34:16,449 Dakle, obavijest može odvojiti blokova lako kao što možete dodati 833 00:34:16,449 --> 00:34:17,420 spojite ih. 834 00:34:17,420 --> 00:34:20,730 Pusti me pod kontrolom, dođite ovamo, i doista, 835 00:34:20,730 --> 00:34:24,000 tu je ovo zagonetka komad ovdje, ponoviti i zauvijek i 836 00:34:24,000 --> 00:34:24,870 Zauvijek Ako. 837 00:34:24,870 --> 00:34:28,500 Dakle, postoji nekoliko načina izražavanja petlje konstrukti 838 00:34:28,500 --> 00:34:29,340 u nule. 839 00:34:29,340 --> 00:34:31,730 Jednom sam vjerojatno želite ovdje nije zauvijek, jer sam samo 840 00:34:31,730 --> 00:34:34,639 želite da se to dogodi tri puta, ali vjerojatno ponoviti. 841 00:34:34,639 --> 00:34:38,449 Pa neka mi povucite Ponovite ovamo, povucite i ispustite ga, a 842 00:34:38,449 --> 00:34:42,530 sada, umjesto da se kaže "Zdravo, svijet" tri odvojena puta, 843 00:34:42,530 --> 00:34:44,230 neka mi povucite slagalice ovdje. 844 00:34:44,230 --> 00:34:46,610 I iako se ne čini da stane, program je pametna 845 00:34:46,610 --> 00:34:48,920 dovoljno da shvate da će rasti ispuniti, tako da je 846 00:34:48,920 --> 00:34:51,270 oblici koji stvar, a ne apsolutna veličina. 847 00:34:51,270 --> 00:34:54,030 Dopustite mi da promijenite ponavljanje na tri, a sada pusti me 848 00:34:54,030 --> 00:34:56,560 naprijed i povucite Čekaj jednu sekundu tamo, kao dobro. 849 00:34:56,560 --> 00:34:59,220 To će puknuti kao dobro, pa sad ću povući 850 00:34:59,220 --> 00:35:01,370 ti dečki više ovdje i samo ih baciti jer sam 851 00:35:01,370 --> 00:35:02,710 ne trebate ih više. 852 00:35:02,710 --> 00:35:05,920 Dopustite mi da smanjivanje i kliknite na zelenu zastavu sada, a imamo 853 00:35:05,920 --> 00:35:09,600 isti program, ali, kao što sam predvidio prije, bolje 854 00:35:09,600 --> 00:35:12,200 dizajniran jer možete zamisliti kako je loše ovaj program 855 00:35:12,200 --> 00:35:14,410 bi se, svakako estetski, ako je to 856 00:35:14,410 --> 00:35:16,640 započeti kopiranje i lijepljenje, kopiranje i lijepljenje, ili 857 00:35:16,640 --> 00:35:20,020 povučete i ispustite iste darn stvari opet i opet. 858 00:35:20,020 --> 00:35:22,260 >> Sada, jednostavno govoreći stvari na ekranu, ispis na 859 00:35:22,260 --> 00:35:25,350 zaslon, stvarno nije sve tako uzbudljivo, pa ajmo otvoriti 860 00:35:25,350 --> 00:35:26,580 treći varijanca ovdje. 861 00:35:26,580 --> 00:35:29,810 I sada, kao što ćete vidjeti, to brzo ćete dobiti neugodno - 862 00:35:29,810 --> 00:35:30,850 [Meow] 863 00:35:30,850 --> 00:35:31,940 DAVID MALAN: - ali to je također sladak. 864 00:35:31,940 --> 00:35:35,244 [Meow] 865 00:35:35,244 --> 00:35:37,460 DAVID MALAN: Ok, pa bolje, a mi svakako može koristiti da 866 00:35:37,460 --> 00:35:41,060 Isti prijelaz komadanje ovo gore u loop 867 00:35:41,060 --> 00:35:43,520 struktura, ali budimo bi ga više zanimljiv i dalje. 868 00:35:43,520 --> 00:35:47,480 >> Pusti me naprijed i otvoriti četvrtine varijancu ovdje, gdje sam 869 00:35:47,480 --> 00:35:50,020 uzeti stvari jedan korak dalje. 870 00:35:50,020 --> 00:35:54,450 Dakle, prema tome, glup iako je to na prvi pogled 871 00:35:54,450 --> 00:35:58,530 pogled, što je ovaj program će učiniti? 872 00:35:58,530 --> 00:35:59,790 To će Mijau jednom. 873 00:35:59,790 --> 00:36:00,160 Zašto? 874 00:36:00,160 --> 00:36:03,340 Pa, jednom je, koliko ja znam, uvijek manje od dva. 875 00:36:03,340 --> 00:36:04,890 Nema pojma slučajnosti ovdje. 876 00:36:04,890 --> 00:36:07,240 Ja sam doslovno tvrdi kodirani jedan i dva, ali to je 877 00:36:07,240 --> 00:36:10,370 Primjer sada je zapravo koristi Boolean izraza. 878 00:36:10,370 --> 00:36:13,650 Mnogo se sviđa kako je Josip učinio u svom pseudocode, udubljenje AKO 879 00:36:13,650 --> 00:36:17,170 vam podudaranje čarape zatim učinite sljedeće, ovdje imamo 880 00:36:17,170 --> 00:36:19,750 Izraz IF jednom je manje od dva ONDA - 881 00:36:19,750 --> 00:36:21,820 i zapravo mi ni malo uvlačenja, 882 00:36:21,820 --> 00:36:24,480 gdje ljubičasta malo je razvedena na desno - 883 00:36:24,480 --> 00:36:26,600 ONDA ćeš igrati zvuk Meow. 884 00:36:26,600 --> 00:36:30,060 Sada, u ovom slučaju, da je jedan uvijek manje od dva, tako da je ovo 885 00:36:30,060 --> 00:36:31,970 je vrsta otpada stanju. 886 00:36:31,970 --> 00:36:34,890 No, mi ćemo biti u mogućnosti, kao što ćemo vidjeti, priključiti i druge stvari u 887 00:36:34,890 --> 00:36:37,420 ove rezervirana mjesta gdje je jedan i dva sada su. 888 00:36:37,420 --> 00:36:41,340 Dakle, ajmo sad prešli na primjer pet od tih nekoliko 889 00:36:41,340 --> 00:36:45,850 hellos i pogled na ono što ovaj program će učiniti. 890 00:36:45,850 --> 00:36:48,710 >> Tako sada, u engleskom kazne, kako to 891 00:36:48,710 --> 00:36:51,460 Program se ponašati? 892 00:36:51,460 --> 00:36:52,950 PUBLIKA: Woofer pola vremena. 893 00:36:52,950 --> 00:36:55,380 DAVID MALAN: meow je pola vremena, tako da je ovo način 894 00:36:55,380 --> 00:36:56,700 prenoseći vrlo jednostavnu ideju. 895 00:36:56,700 --> 00:36:59,400 Iako mi se dogoditi da se pomoću neke nejednakosti ovdje 896 00:36:59,400 --> 00:37:01,860 u nekim brojevima, to je stvarno samo programske 897 00:37:01,860 --> 00:37:09,490 način, precizan način, kaže, ako novac dolazi do glave, otići 898 00:37:09,490 --> 00:37:10,270 naprijed i meow. 899 00:37:10,270 --> 00:37:13,540 Ili obrnuto, ako novac dolazi do repa, ne meow. 900 00:37:13,540 --> 00:37:15,110 I u ovom slučaju, kako ćemo izraziti da? 901 00:37:15,110 --> 00:37:17,950 Mi ćemo odabrati slučajni broj 1 do 10, a ako to 902 00:37:17,950 --> 00:37:21,110 broj je manji od šest, ići naprijed i meow. 903 00:37:21,110 --> 00:37:22,260 A kako je to doći ovamo? 904 00:37:22,260 --> 00:37:24,620 Pa opet, primijetit samo povlačenjem i ispuštanjem i 905 00:37:24,620 --> 00:37:26,190 stvari sjedne na mjesto. 906 00:37:26,190 --> 00:37:28,020 >> Dakle, sada ćemo vidjeti ako je to slučajnost radi. 907 00:37:28,020 --> 00:37:29,845 Dopustite mi ići naprijed i kliknite na zelenu zastavu. 908 00:37:29,845 --> 00:37:31,120 [Meow] 909 00:37:31,120 --> 00:37:32,000 DAVID MALAN: Ok. 910 00:37:32,000 --> 00:37:33,430 [Meow] 911 00:37:33,430 --> 00:37:35,260 DAVID MALAN: Ok. 912 00:37:35,260 --> 00:37:38,510 Dobro, dobro, tako da smo dobili glave, glave, repove učinkovito. 913 00:37:38,510 --> 00:37:39,295 Repovi. 914 00:37:39,295 --> 00:37:39,590 [Meow] 915 00:37:39,590 --> 00:37:41,829 DAVID MALAN: šefovi. 916 00:37:41,829 --> 00:37:43,220 [Meow] 917 00:37:43,220 --> 00:37:44,040 DAVID MALAN: Izvrsno. 918 00:37:44,040 --> 00:37:46,220 To je uvijek neugodno kad samo statistički ste dobili loše 919 00:37:46,220 --> 00:37:48,510 pokrenuti, i to je sve glave, a program je zapravo ne 920 00:37:48,510 --> 00:37:49,230 raditi kao što bih se nadam. 921 00:37:49,230 --> 00:37:51,210 Ali ovaj put, to je radio, a mi se čini da su, ako nismo 922 00:37:51,210 --> 00:37:53,830 to neograničeni broj puta, 50% šanse. 923 00:37:53,830 --> 00:37:56,950 Sada opet, nije sve što je zanimljivo, samo što mačke 924 00:37:56,950 --> 00:37:59,840 meow, pa ćemo vidjeti, ako ne možemo napredovati ovo malo dalje 925 00:37:59,840 --> 00:38:01,820 ovdje u verziji šest. 926 00:38:01,820 --> 00:38:05,620 Dakle, sada smo stvarno neugodno verziju - 927 00:38:05,620 --> 00:38:08,215 [Meows svakih nekoliko sekundi] 928 00:38:08,215 --> 00:38:10,640 DAVID MALAN: - i to je ono što je poznato, općenito, kao 929 00:38:10,640 --> 00:38:11,670 beskonačna petlja. 930 00:38:11,670 --> 00:38:14,190 >> Dakle, beskonačna petlja u ovom slučaju se osjeća loše. 931 00:38:14,190 --> 00:38:16,970 To definitivno će započeti sondiranje loše, a ipak beskonačno 932 00:38:16,970 --> 00:38:18,740 petlje nisu uvijek loše. 933 00:38:18,740 --> 00:38:20,910 Možete li se sjetiti konteksta u računalne programe kojima želite 934 00:38:20,910 --> 00:38:22,910 zapravo žele beskonačnu petlju? 935 00:38:22,910 --> 00:38:23,691 Da? 936 00:38:23,691 --> 00:38:26,520 PUBLIKA: Kada želite provjeriti stanje. 937 00:38:26,520 --> 00:38:28,240 DAVID MALAN: Dobro, kad želite zadržati provjere stanje? 938 00:38:28,240 --> 00:38:29,190 Sviđa mi se što? 939 00:38:29,190 --> 00:38:30,440 PUBLIKA: [nečujan] 940 00:38:36,060 --> 00:38:38,170 DAVID MALAN: Dobro, dobro, tako da ako ste imali neki program, neki 941 00:38:38,170 --> 00:38:40,440 vrsta kućne automatizacije stvar, gdje želite da se stalno 942 00:38:40,440 --> 00:38:41,980 Monitor je nešto slučaj. 943 00:38:41,980 --> 00:38:42,850 Jesu li svjetla na? 944 00:38:42,850 --> 00:38:45,020 Jesu li svjetla na, jer možda imate vremena, a 945 00:38:45,020 --> 00:38:47,360 želite da ih otići, možda ćete morati učiniti nešto 946 00:38:47,360 --> 00:38:48,290 opet i opet. 947 00:38:48,290 --> 00:38:50,540 A u stvari, govori o vremena, bilo tko od vas koji su 948 00:38:50,540 --> 00:38:53,100 satovi na vašem računalu ili digitalnih satova, koji je 949 00:38:53,100 --> 00:38:54,210 beskonačna petlja. 950 00:38:54,210 --> 00:38:56,980 To i dalje ažurirali vrijeme, jer je stalno 951 00:38:56,980 --> 00:38:59,750 provjere i provjere i provjere ima vremena promijenila, 952 00:38:59,750 --> 00:39:01,000 i ako je tako, oh, moj bože. 953 00:39:03,670 --> 00:39:04,740 Sat konačno promijenila. 954 00:39:04,740 --> 00:39:07,020 To treba prikazati tu vrijednost za vas. 955 00:39:07,020 --> 00:39:10,880 Dakle, dok je većinu vremena beskonačnih petlji su pogreška, 956 00:39:10,880 --> 00:39:13,950 ili barem lošem dizajn odluke, ponekad im je činiti 957 00:39:13,950 --> 00:39:14,785 imaju svoju vrijednost. 958 00:39:14,785 --> 00:39:18,170 >> Pa, neka je unaprijed dalje ovdje hello7. 959 00:39:18,170 --> 00:39:20,410 Dakle, sada će program dobiti malo više interaktivni. 960 00:39:20,410 --> 00:39:23,120 Dopustite mi povećali ovdje, i opet, to je ono što je lijepo 961 00:39:23,120 --> 00:39:23,640 oko nule. 962 00:39:23,640 --> 00:39:26,760 A mi ćemo ga koristiti da bude jasno, Scratch, samo danas i na 963 00:39:26,760 --> 00:39:27,780 sljedeći tjedan je problem postaviti. 964 00:39:27,780 --> 00:39:31,920 No, u ponedjeljak, možemo zaroniti u C. U ovom programu ovdje, to ne, 965 00:39:31,920 --> 00:39:33,190 zauvijek, sljedeće. 966 00:39:33,190 --> 00:39:35,890 AKO dira miša - sada, tko je 967 00:39:35,890 --> 00:39:36,420 kontekst ovdje? 968 00:39:36,420 --> 00:39:39,670 Pa, i obavijest da onaj tko je izabran ovdje dolje na dnu 969 00:39:39,670 --> 00:39:43,060 Pravo je mačka, Sprite jedan, tako da ove skripte, to 970 00:39:43,060 --> 00:39:45,720 Program, vrijedi i za njega posebno. 971 00:39:45,720 --> 00:39:48,950 Dakle, ako je to mačka je dira miša, onda to ide 972 00:39:48,950 --> 00:39:51,350 igrati ovu dolje i pričekajte dvije sekunde, a 973 00:39:51,350 --> 00:39:53,030 ponovite oglas nauseum. 974 00:39:53,030 --> 00:39:55,360 >> Dakle, idemo naprijed i udario igru. 975 00:39:55,360 --> 00:39:57,580 Ništa se ne događa, ali ako želim ljubimac 976 00:39:57,580 --> 00:39:59,310 mačka sada, ja mogu jednostavno. 977 00:39:59,310 --> 00:40:01,130 [Meow] 978 00:40:01,130 --> 00:40:02,244 DAVID MALAN: Sladak. 979 00:40:02,244 --> 00:40:05,956 [Meow] 980 00:40:05,956 --> 00:40:08,750 DAVID MALAN: Ok, manje neugodno, ali također dobiva dosadno, 981 00:40:08,750 --> 00:40:11,480 pa krenimo dalje i vidjeti ako ne možemo ubrizgati 982 00:40:11,480 --> 00:40:12,460 malo više logike. 983 00:40:12,460 --> 00:40:14,300 To je primjer sedam. 984 00:40:14,300 --> 00:40:16,090 >> Ovdje u primjeru osam, idemo 985 00:40:16,090 --> 00:40:18,670 uvesti drugo stanje. 986 00:40:18,670 --> 00:40:21,440 Toliko kao doslovnom račvanju u ceste, u kojem možete ići 987 00:40:21,440 --> 00:40:24,260 lijevo ili možete ići desno, stanje u programiranju 988 00:40:24,260 --> 00:40:28,120 jezik kao Scratch, ili kao što ćemo vidjeti C, može vam omogućiti da 989 00:40:28,120 --> 00:40:32,230 ići u jednom ili drugom pravcu preko AKO JOŠ graditi. 990 00:40:32,230 --> 00:40:35,160 Dakle, sasvim doslovno, AKO dira miša, to 991 00:40:35,160 --> 00:40:38,680 igrat će neki zvuk, inače će igrati ovaj drugi 992 00:40:38,680 --> 00:40:39,800 zvuk, mijau. 993 00:40:39,800 --> 00:40:42,510 Sada, ako možete zaključiti iz naziva tih zvukova, možete 994 00:40:42,510 --> 00:40:45,310 vjerojatno pogoditi što ovaj program je značilo da se smisli 995 00:40:45,310 --> 00:40:46,250 Ideja. 996 00:40:46,250 --> 00:40:48,742 Ova mačka je meowing sretno. 997 00:40:48,742 --> 00:40:49,230 [Meow] 998 00:40:49,230 --> 00:40:51,410 DAVID MALAN: Sretno, ali ne 999 00:40:51,410 --> 00:40:52,926 sasvim se sviđa da se dotaknu. 1000 00:40:52,926 --> 00:40:54,550 [Grmi] 1001 00:40:54,550 --> 00:40:57,500 DAVID MALAN: Dakle, sada imamo mačka koji će vikati na tebe. 1002 00:40:57,500 --> 00:41:00,570 >> Dobro, dobro, posljednji je primjer s mačkama ovdje, i 1003 00:41:00,570 --> 00:41:02,920 neka je otvoren verzije devet ove ovdje. 1004 00:41:02,920 --> 00:41:06,190 Tako sada imamo sljedeću najviše uznemirujući zvuk da sam mogao 1005 00:41:06,190 --> 00:41:11,630 pronaći, tako da imamo morža ili morski lav ovdje tko će 1006 00:41:11,630 --> 00:41:13,222 učiniti sljedeće. 1007 00:41:13,222 --> 00:41:20,870 [SEAL kora] 1008 00:41:20,870 --> 00:41:23,310 DAVID MALAN: Ok, tako da će to ići na sve dok ne shvatite kako 1009 00:41:23,310 --> 00:41:24,640 ovaj program radi. 1010 00:41:24,640 --> 00:41:28,560 Dakle, ovaj put, ova životinja ima dvije skripte, a što je 1011 00:41:28,560 --> 00:41:31,050 Zanimljivo je da su ove skripte će izvršiti 1012 00:41:31,050 --> 00:41:32,260 paralelno. 1013 00:41:32,260 --> 00:41:35,340 Pa zato što su oboje počinju s jednom zelenom zastavom kliknuli, 1014 00:41:35,340 --> 00:41:38,080 to je kao da ide ovako, a oba programa početi prikazivati 1015 00:41:38,080 --> 00:41:41,370 jednom, čak i ako oni petlje zauvijek. 1016 00:41:41,370 --> 00:41:44,420 Dakle, u gornjem scenariju, imam neke logike. 1017 00:41:44,420 --> 00:41:49,275 Koje značajke koje pružaju tamo gore? 1018 00:41:49,275 --> 00:41:50,740 [SEAL kora] 1019 00:41:50,740 --> 00:41:51,670 PUBLIKA: [nečujan] 1020 00:41:51,670 --> 00:41:53,295 DAVID MALAN: Ako je to ono što? 1021 00:41:53,295 --> 00:41:53,760 [SEAL kora] 1022 00:41:53,760 --> 00:41:55,852 PUBLIKA: Ako isključen na nulu, to će nastaviti igrati 1023 00:41:55,852 --> 00:41:58,410 zvuk. [SEAL kora] 1024 00:41:58,410 --> 00:41:58,940 DAVID MALAN: Dobro, dobro. 1025 00:41:58,940 --> 00:42:01,960 Dakle, ako isključen, bez obzira na to je, to narančasta stvar je nula, 1026 00:42:01,960 --> 00:42:05,370 ONDA igrati zvuk morski lav i mislim: "Oh, 1027 00:42:05,370 --> 00:42:06,770 hi, "za dvije sekunde. 1028 00:42:06,770 --> 00:42:09,380 Sada, ja ne znam što je isključen je, ali nula dočarava 1029 00:42:09,380 --> 00:42:11,230 Ideja pogrešna ili isključiti. 1030 00:42:11,230 --> 00:42:14,490 Dakle, ako isključen je lažna, tako da ako se ne stišava, 1031 00:42:14,490 --> 00:42:15,660 držati igranje zvuk. 1032 00:42:15,660 --> 00:42:17,350 Dobro, dobro, kako ćemo onemogućiti ovu stvar? 1033 00:42:17,350 --> 00:42:19,310 >> Pa, pogledajmo drugom scenariju tamo dolje. 1034 00:42:19,310 --> 00:42:22,130 Drugi scenarij, kaže postavili isključen na nulu. 1035 00:42:22,130 --> 00:42:25,180 Obavijest je također narančasta, pa što ne Scratch je to boja 1036 00:42:25,180 --> 00:42:27,400 blokovi u istoj nijansi, ako je to neka vrsta 1037 00:42:27,400 --> 00:42:28,850 logično povezani. 1038 00:42:28,850 --> 00:42:32,850 Dakle, baš kao što isključen do vrha je narančasta, pa je isključen ovdje dolje 1039 00:42:32,850 --> 00:42:34,060 spomenut u narančastom blok. 1040 00:42:34,060 --> 00:42:36,170 Ali ovo je varijabla zadatke, tako da baš kao iu 1041 00:42:36,170 --> 00:42:39,170 algebre, imate X i Y i Z, u programiranju imate 1042 00:42:39,170 --> 00:42:41,440 varijable, ali oni su općenito - 1043 00:42:41,440 --> 00:42:42,580 neka je stanka za trenutak i lik kako 1044 00:42:42,580 --> 00:42:44,280 da se zaustavi ovo lajanje. 1045 00:42:44,280 --> 00:42:45,480 Kako to učiniti? 1046 00:42:45,480 --> 00:42:46,480 [SEAL kora] 1047 00:42:46,480 --> 00:42:47,920 DAVID MALAN: Ok. 1048 00:42:47,920 --> 00:42:49,490 To zaustavljen. Ok. 1049 00:42:49,490 --> 00:42:52,230 >> Dakle, baš kao u algebri imate varijable x, y, i z, ali u 1050 00:42:52,230 --> 00:42:55,260 programiranje, da varijable kao x, y, i z je općenito 1051 00:42:55,260 --> 00:42:57,330 frowned jer oni uopće ne izražajan. 1052 00:42:57,330 --> 00:43:00,070 Oni nemaju semantički smisao bilo, pa je tako u većini 1053 00:43:00,070 --> 00:43:02,110 programski jezici, varijable mogu imati pun 1054 00:43:02,110 --> 00:43:05,270 ravnopravni imena ili riječi ili fraze, poput isključen, reći 1055 00:43:05,270 --> 00:43:06,030 ono što im je činiti. 1056 00:43:06,030 --> 00:43:09,380 Dakle, ovaj drugi scenarij je također slušanje zauvijek, a to je 1057 00:43:09,380 --> 00:43:12,100 ako ključ, prostor tipkovnica ključ, je 1058 00:43:12,100 --> 00:43:13,370 pritisnuta, upitnik. 1059 00:43:13,370 --> 00:43:16,300 Dakle, tu je stanje sa Boolean izraza koji je 1060 00:43:16,300 --> 00:43:19,010 će odgovoriti na pitanje bilo istinito ili lažno, 1061 00:43:19,010 --> 00:43:22,880 onda sam unutar nje AKO prostor pritisne tipka I 1062 00:43:22,880 --> 00:43:28,020 AKO isključen je nula, postavili isključen na jedan, JOŠ postaviti isključen na nulu. 1063 00:43:28,020 --> 00:43:30,510 Dakle, ovaj drugi vilica na cesti, a obavijest kako sam 1064 00:43:30,510 --> 00:43:33,500 ugniježđena dva AKO uvjeti, način provjere je 1065 00:43:33,500 --> 00:43:36,610 Razmak pritiskom jer ako je tako, ja ni želite ići ova 1066 00:43:36,610 --> 00:43:38,000 način ili na taj način. 1067 00:43:38,000 --> 00:43:40,210 I kako sam izvrtati vrijednost isključen? 1068 00:43:40,210 --> 00:43:41,410 Moram provjeriti je li to nula? 1069 00:43:41,410 --> 00:43:45,890 Ako je tako, čine ga jednom, drugi bi ga nula, dakle za prebacivanje 1070 00:43:45,890 --> 00:43:47,670 njegove dvije države. 1071 00:43:47,670 --> 00:43:50,030 >> U redu, pa smo onda neke od tih temeljnih 1072 00:43:50,030 --> 00:43:50,540 konstrukti. 1073 00:43:50,540 --> 00:43:52,810 Imamo Boolean izraza, i shvatiti, također, su 1074 00:43:52,810 --> 00:43:54,050 nije sve što je nepoznato. 1075 00:43:54,050 --> 00:43:56,730 U stvari, ovdje je brz screenshot Harvarda tečaj je CS50 1076 00:43:56,730 --> 00:43:59,740 trgovački alat, a sve web stranice vani da ima okvire 1077 00:43:59,740 --> 00:44:02,420 i pad padovi stvarno, sve ovo vrijeme, bio koristeći 1078 00:44:02,420 --> 00:44:03,430 Boolean izraza. 1079 00:44:03,430 --> 00:44:05,760 U ovom slučaju ovdje, ako kliknete na kvadratić pored 1080 00:44:05,760 --> 00:44:08,620 tečaj veća od ili jednaka do 4,5, ili isti uz 1081 00:44:08,620 --> 00:44:11,200 fakultet, ti si navođenja Boolean izraza. 1082 00:44:11,200 --> 00:44:14,780 Pokaži mi tečajeve za koji izraz je istina. 1083 00:44:14,780 --> 00:44:17,080 Ili na desnoj strani, nije u sukobu s tečajevima sam 1084 00:44:17,080 --> 00:44:20,440 uzimanja, ako je to provjeriti, a zatim da, želite provjeriti 1085 00:44:20,440 --> 00:44:22,890 taj uvjet, drugi ga želite ignorirati. 1086 00:44:22,890 --> 00:44:25,170 Dakle, Boolean izraza su vrsta uokolo, ali kada 1087 00:44:25,170 --> 00:44:28,080 smo ih stavili u uvjetima, da li AKO uvjetima, AKO 1088 00:44:28,080 --> 00:44:30,480 Drukčije, ili možemo čak simulirati dublje 1089 00:44:30,480 --> 00:44:32,830 razine, AKO JOŠ AKO JOŠ - 1090 00:44:32,830 --> 00:44:34,430 tako da je svojevrsni ternarni države. 1091 00:44:34,430 --> 00:44:36,920 Možete ići na ovaj način ili ovako ili na taj način. 1092 00:44:36,920 --> 00:44:39,680 Možemo zadržati gnijezde stvari idu u različitim smjerovima. 1093 00:44:39,680 --> 00:44:41,800 >> Dakle Scratch ima ove petlje, poput zauvijek. 1094 00:44:41,800 --> 00:44:44,750 Ona ima ove značajke kao što su Repeat 10, neki 1095 00:44:44,750 --> 00:44:46,260 konačan broj puta. 1096 00:44:46,260 --> 00:44:49,040 Mi imamo sposobnost sada da postavite varijable, tako da u ovom slučaju 1097 00:44:49,040 --> 00:44:51,810 Ja sam proglasio, na primjer, varijable zvane čarape. 1098 00:44:51,810 --> 00:44:54,340 Ja sam inicijalizirane na 0, a to je još jedan smjer 1099 00:44:54,340 --> 00:44:56,940 Mogli smo uzeti ovdje s Josipom, pri čemu možda sam 1100 00:44:56,940 --> 00:45:00,150 samo pratiti koliko čarape imam na i raskinuti 1101 00:45:00,150 --> 00:45:03,490 Program kada tu varijablu je vrijednost dva. 1102 00:45:03,490 --> 00:45:05,660 To će biti još jedan način vrsta generaliziranja da 1103 00:45:05,660 --> 00:45:08,820 problem i radi nešto opet i opet. 1104 00:45:08,820 --> 00:45:12,080 Pa, idemo naprijed i sada uvesti par novih stvari. 1105 00:45:12,080 --> 00:45:14,100 Dakle, one od vas s prethodnom programiranje iskustvo će 1106 00:45:14,100 --> 00:45:17,120 znam da puno jezika imaju polja, ili vektora ili 1107 00:45:17,120 --> 00:45:19,970 liste, i doista, Scratch ima ovako nešto, previše. 1108 00:45:19,970 --> 00:45:22,510 Dakle, neka je vidjeti ako ne možemo uzeti stvari na sljedeću razinu ovdje. 1109 00:45:22,510 --> 00:45:24,920 Ako imam mogućnost, sada, s ovim slagalice za 1110 00:45:24,920 --> 00:45:29,080 dodati nešto, kao što su riječi ili broja, u varijablu, mogu 1111 00:45:29,080 --> 00:45:30,550 početi akumulirati stvari. 1112 00:45:30,550 --> 00:45:33,630 I to je zapravo prilično apropo za stvari kao što su igre, 1113 00:45:33,630 --> 00:45:35,810 uloga igranje igara gdje ste vrsta hodaju okolo 1114 00:45:35,810 --> 00:45:38,600 neki svijet mašte prikupljanje stvari, branje gore stvari, 1115 00:45:38,600 --> 00:45:39,900 zarađivati ​​bodove, ili slično. 1116 00:45:39,900 --> 00:45:42,310 Možda želite pratiti neke vrste inventara, a 1117 00:45:42,310 --> 00:45:45,180 dapače, to je ono što jedan od naših bivših studenata ovdje učinio s 1118 00:45:45,180 --> 00:45:47,750 nešto što se zove Fruitcraft igranja. 1119 00:45:47,750 --> 00:45:51,820 >> Pa neka mi ići naprijed i otvoriti ovu stvar ovdje, au 1120 00:45:51,820 --> 00:45:56,260 Fruitcraft, imamo ovaj svijet gore na vrhu. 1121 00:45:56,260 --> 00:45:58,820 Pa neka mi ići naprijed i kliknite na zelenu zastavu. 1122 00:45:58,820 --> 00:46:01,040 Obavijest u gornjem lijevom kutu je neka vrsta inventure. 1123 00:46:01,040 --> 00:46:04,110 To je implementiran u nule, kao što ćemo pozvati niz ili 1124 00:46:04,110 --> 00:46:06,890 popis, a sada imamo ovu malu animaciju. 1125 00:46:06,890 --> 00:46:10,440 Dakle, baš kao što smo počeli ranije s tom pričom cookie ljubavi, 1126 00:46:10,440 --> 00:46:13,320 i onda smo napredovali za mačke i morskih lavova, sada možemo imati 1127 00:46:13,320 --> 00:46:15,100 stvari koje su čak i više interaktivni. 1128 00:46:15,100 --> 00:46:18,250 I ovo malo plavo tip, ja mogu početi kretati njegove 1129 00:46:18,250 --> 00:46:19,500 Malo dom ovdje. 1130 00:46:19,500 --> 00:46:22,570 Tako to izgleda kao da je dobio izlaz ovdje dolje, pa ja sam koristeći 1131 00:46:22,570 --> 00:46:25,260 se strelicama, gore, dolje, lijevo desno. 1132 00:46:25,260 --> 00:46:28,370 I sada sam vani, pa neka je što sam došao ovdje. 1133 00:46:28,370 --> 00:46:30,920 Izgleda poput naranče, i doista, čim sam dodir 1134 00:46:30,920 --> 00:46:33,110 naranča, to dobiva plopped u moj inventar. 1135 00:46:33,110 --> 00:46:35,640 Ako idem ovdje na trešanja, sada imam nešto 1136 00:46:35,640 --> 00:46:36,760 drugdje u mom zaliha. 1137 00:46:36,760 --> 00:46:39,100 I to je sve lijepo i slatko, ali razmišljam o tome, a sada, to 1138 00:46:39,100 --> 00:46:39,840 provodi. 1139 00:46:39,840 --> 00:46:42,490 Pa, imamo taj pojam popisu, a to je očito 1140 00:46:42,490 --> 00:46:45,470 zagonetka komad koji vam samo reći ono što želite dodati na njega, dodati 1141 00:46:45,470 --> 00:46:46,950 naranče, dodati višnje. 1142 00:46:46,950 --> 00:46:48,540 Sada, što je to malo plavo tip radi? 1143 00:46:48,540 --> 00:46:49,810 Pa, on je čarobnjak. 1144 00:46:49,810 --> 00:46:52,190 I vjerojatno, naranče i trešnje - 1145 00:46:52,190 --> 00:46:54,140 su i sami bili odvojeni duhovi. 1146 00:46:54,140 --> 00:46:56,980 I pomoću uvjeta u Boolean izraza, na 1147 00:46:56,980 --> 00:47:00,530 Učenik je vjerojatno bio u stanju izraziti AKO plavi momak je 1148 00:47:00,530 --> 00:47:04,590 dirati trešnje zatim dodajte trešnje riječi na njegov 1149 00:47:04,590 --> 00:47:07,890 inventar, a potom i sakriti trešnja sprite. 1150 00:47:07,890 --> 00:47:10,600 Dakle, ispod poklopca motora, vjerojatno još uvijek je trešnja 1151 00:47:10,600 --> 00:47:11,350 Sprite postoji. 1152 00:47:11,350 --> 00:47:14,160 Upravo smo ga rekli da postane učinkovito nevidljiv. 1153 00:47:14,160 --> 00:47:16,340 >> Sada, ako sam držati hodanje ovamo, možemo to učiniti 1154 00:47:16,340 --> 00:47:19,150 proksimalni stvar, gdje mogu ići i čitati znakove. 1155 00:47:19,150 --> 00:47:23,170 Dakle, ako plavi dečko dira znak, možemo imati taj blok reći 1156 00:47:23,170 --> 00:47:26,455 baš kao mačka govorio nam je u riječima, halo, ranije, "Got 1157 00:47:26,455 --> 00:47:26,880 neko voće? 1158 00:47:26,880 --> 00:47:29,290 Donesite voća mjestu. "U redu, tako da sada, očito, 1159 00:47:29,290 --> 00:47:30,550 Imam moje upute. 1160 00:47:30,550 --> 00:47:33,050 Ja mogu ići ovdje na voćni mjestu, ja se postroje 1161 00:47:33,050 --> 00:47:33,740 s vratima. 1162 00:47:33,740 --> 00:47:35,390 Sada, ja sam ovdje. 1163 00:47:35,390 --> 00:47:38,120 Ja mogu ići do čovjeka na šalteru. 1164 00:47:38,120 --> 00:47:40,330 On otkrije da sam blizu njega, tako da to ne mora biti 1165 00:47:40,330 --> 00:47:46,780 sasvim identično dira, i ja sam pobijedio. 1166 00:47:46,780 --> 00:47:49,890 Dakle, tu imamo Fruitcraft RPG. 1167 00:47:49,890 --> 00:47:52,200 >> Tako možemo učiniti stvari čak i više naprednih od toga. 1168 00:47:52,200 --> 00:47:53,200 Možemo dodati zvukove. 1169 00:47:53,200 --> 00:47:54,610 Možemo dodati pseudo slučajnost. 1170 00:47:54,610 --> 00:47:56,260 Možemo dodati složenosti. 1171 00:47:56,260 --> 00:47:58,490 Pusti me naprijed ovdje, i umjesto da to učinite sebe, 1172 00:47:58,490 --> 00:48:01,240 neka mi vam pokazati jedan od sofisticiranijih podnesaka 1173 00:48:01,240 --> 00:48:06,640 dobili smo prošle godine iz određenog nekoga po imenu Blake. 1174 00:48:06,640 --> 00:48:08,910 Možemo li imati jednog dobrovoljca koji je udoban pojavljuju na 1175 00:48:08,910 --> 00:48:12,600 kamera i za igranje igre? 1176 00:48:12,600 --> 00:48:13,450 Kako o tamo? 1177 00:48:13,450 --> 00:48:15,380 Dođi gore. 1178 00:48:15,380 --> 00:48:19,680 U redu, tako da je igra da imate samo neznan 1179 00:48:19,680 --> 00:48:20,780 volontirala igrati - 1180 00:48:20,780 --> 00:48:25,910 [Pljesak] 1181 00:48:25,910 --> 00:48:28,610 DAVID MALAN: - nešto je od prošle godine pod nazivom 1182 00:48:28,610 --> 00:48:30,100 "Frogger". Koje je vaše ime? 1183 00:48:30,100 --> 00:48:30,730 RENDA: Renda. 1184 00:48:30,730 --> 00:48:31,050 DAVID MALAN: Redna? 1185 00:48:31,050 --> 00:48:32,530 RENDA: To je kao Brenda sa b. 1186 00:48:32,530 --> 00:48:33,190 DAVID MALAN: Ok, Renda. 1187 00:48:33,190 --> 00:48:33,590 David. 1188 00:48:33,590 --> 00:48:34,580 Drago mi je. 1189 00:48:34,580 --> 00:48:38,690 >> Dakle, ovdje u "Frogger", a ako bismo mogli podići volumen samo 1190 00:48:38,690 --> 00:48:39,780 malo, vi ste ovo malo 1191 00:48:39,780 --> 00:48:41,010 zelena žaba na dnu. 1192 00:48:41,010 --> 00:48:43,940 Možete koristiti lijevo, desno, gore i dolje, i vaš cilj je da se 1193 00:48:43,940 --> 00:48:46,510 prijeći ulicu, prijeći rijeku, i dodir ljiljana jastučići 1194 00:48:46,510 --> 00:48:47,760 na vrhu. 1195 00:48:52,090 --> 00:48:53,440 Ah. 1196 00:48:53,440 --> 00:48:54,630 Jedan više t - 1197 00:48:54,630 --> 00:48:56,400 ponoviti, zar ne? 1198 00:48:56,400 --> 00:48:58,890 Ajmo zaustavljanje hit. 1199 00:48:58,890 --> 00:49:00,140 Nitko nije vidio da. 1200 00:49:10,470 --> 00:49:12,930 [Pljesak] 1201 00:49:17,023 --> 00:49:17,850 [Pljesak] 1202 00:49:17,850 --> 00:49:19,341 DAVID MALAN: Da. 1203 00:49:19,341 --> 00:49:20,832 Vrlo dobro učinio. 1204 00:49:20,832 --> 00:49:22,082 Izvrsno, hvala. 1205 00:49:27,300 --> 00:49:29,430 >> Tako da nije bilo Frogger. Sada da znate što ste 1206 00:49:29,430 --> 00:49:32,170 sami stečen u, jedan više volontera za različite 1207 00:49:32,170 --> 00:49:34,910 Igra poslali drugog učenika. 1208 00:49:34,910 --> 00:49:35,560 Želite li doći gore? 1209 00:49:35,560 --> 00:49:36,576 Koje je vaše ime? 1210 00:49:36,576 --> 00:49:37,000 RICHARD: Richard. 1211 00:49:37,000 --> 00:49:37,420 DAVID MALAN: Richard. 1212 00:49:37,420 --> 00:49:39,732 U redu, Richard, dolaze na gore. 1213 00:49:39,732 --> 00:49:42,187 [Pljesak] 1214 00:49:45,140 --> 00:49:47,030 DAVID MALAN: Vi imate nešto što ćete zvuk 1215 00:49:47,030 --> 00:49:54,180 upoznati uskoro, pa ovdje su ti upute. 1216 00:49:54,180 --> 00:49:56,580 Dakle, u ovom trenutku, neke slagalice će pomicanje prema gore 1217 00:49:56,580 --> 00:49:58,150 sa zaslona da ni pogledati lijevo 1218 00:49:58,150 --> 00:49:59,450 ili desno gore ili dolje. 1219 00:49:59,450 --> 00:50:01,230 Vi ćete morati pogoditi strelicama na takav način 1220 00:50:01,230 --> 00:50:04,540 da odgovara tim slagalice obloge s 1221 00:50:04,540 --> 00:50:05,720 su rezervirana mjesta na vrhu. 1222 00:50:05,720 --> 00:50:07,500 Dakle, kada vidite lijevu strelicu, i to linije s lijeva 1223 00:50:07,500 --> 00:50:09,260 strijela, pogodio lijevu strelicu. 1224 00:50:09,260 --> 00:50:10,866 Vi svibanj početi. 1225 00:50:10,866 --> 00:50:13,674 [GLAZBA - "JAČI" Kayne WEST] 1226 00:51:21,222 --> 00:51:23,470 DAVID MALAN: U redu, veliki aplauz za Richarda. 1227 00:51:23,470 --> 00:51:26,082 [Pljesak] 1228 00:51:32,426 --> 00:51:33,720 DAVID MALAN: Vrlo dobro učinio. 1229 00:51:33,720 --> 00:51:34,110 Hvala Vam. 1230 00:51:34,110 --> 00:51:37,104 [Pljesak] 1231 00:51:41,600 --> 00:51:44,330 >> DAVID MALAN: Dakle, zabavan i, naizgled, vrsta 1232 00:51:44,330 --> 00:51:46,590 zastrašujuće, kao da bi moglo biti nešto provesti, kao 1233 00:51:46,590 --> 00:51:49,550 naizgled sofisticirani, jer to, shvatite da je student 1234 00:51:49,550 --> 00:51:51,450 nije krenuo i samo pisati to sve odjednom. 1235 00:51:51,450 --> 00:51:54,200 Umjesto toga, možete razbiti problem što naizgled složen 1236 00:51:54,200 --> 00:51:56,840 jer to u puno manjih komada, a to je, također, 1237 00:51:56,840 --> 00:51:57,560 će biti tema. 1238 00:51:57,560 --> 00:52:00,490 Najgore što možete učiniti u pisanju programa u većini bilo 1239 00:52:00,490 --> 00:52:03,480 jezik je sjesti, dobiti stvarno uzbuđen, pisati 1240 00:52:03,480 --> 00:52:07,200 Cijeli prokleti stvar, a onda se samo nadam da to radi 1241 00:52:07,200 --> 00:52:08,510 vrijeme ste završili pisanje. 1242 00:52:08,510 --> 00:52:10,920 Umjesto toga, proces programiranja treba općenito 1243 00:52:10,920 --> 00:52:13,440 biti vrlo namjerna, vrlo iterativni, pri čemu samo 1244 00:52:13,440 --> 00:52:16,955 postaviti vrlo male korake za sebe, ugriz veličine komada 1245 00:52:16,955 --> 00:52:20,070 želiš odgristi, i to tako da imate ove razum 1246 00:52:20,070 --> 00:52:21,740 provjere, malo miljokazi možete ispuniti. 1247 00:52:21,740 --> 00:52:24,170 I onda graditi na vrhu onih stvoriti više 1248 00:52:24,170 --> 00:52:25,400 sofisticirane stvari još uvijek. 1249 00:52:25,400 --> 00:52:26,820 >> Tako na primjer, kako bismo mogli ići oko 1250 00:52:26,820 --> 00:52:28,380 provedbi igru ​​kao što je ovaj? 1251 00:52:28,380 --> 00:52:30,160 Pa, iskreno, ja sigurno bi početi tek 1252 00:52:30,160 --> 00:52:32,260 podržava jednu tipku u isto vrijeme. 1253 00:52:32,260 --> 00:52:34,840 Ajmo implementirati podršku za lijevu strelicu. 1254 00:52:34,840 --> 00:52:37,610 Dakle, student morao nekako stvoriti u Photoshopu, ili u 1255 00:52:37,610 --> 00:52:40,340 Sama Scratch pomoću malo grafički urednik, jedan 1256 00:52:40,340 --> 00:52:42,680 strelica koja izgleda poput one na vrhu lijevo tamo, samo 1257 00:52:42,680 --> 00:52:43,910 siva rezervirano. 1258 00:52:43,910 --> 00:52:46,610 Tada učenik morao shvatiti što x, y koordinirati 1259 00:52:46,610 --> 00:52:48,380 staviti ga, gdje ga staviti u prozoru. 1260 00:52:48,380 --> 00:52:50,730 0, 0 je ovdje, tako da ćete morati odgonetnuti broj 1261 00:52:50,730 --> 00:52:53,690 piksela, ili točkice, kako bi se nadoknadio taj strelicu 1262 00:52:53,690 --> 00:52:54,800 na vrhu zaslona. 1263 00:52:54,800 --> 00:52:57,040 I onda kad je to na mjestu, vaš program zapravo ne 1264 00:52:57,040 --> 00:53:00,380 ništa još, pa onda treba drugi sprite, za 1265 00:53:00,380 --> 00:53:04,470 instanca zelena strelica koja je također usmjeren lijevo, a vi 1266 00:53:04,470 --> 00:53:06,710 onda morate početi pisati neke skripte za njega. 1267 00:53:06,710 --> 00:53:09,310 >> I primijetite, možda, da se takve stvari počeo dolaziti na 1268 00:53:09,310 --> 00:53:11,470 različite brzine, a boje su u različitim 1269 00:53:11,470 --> 00:53:13,750 lokacije, a to je zato što učenik koristi malo 1270 00:53:13,750 --> 00:53:14,990 pseudo slučajnost. 1271 00:53:14,990 --> 00:53:17,440 I pseudo slučajnosti, ja samo znači odabrati broj 1272 00:53:17,440 --> 00:53:20,230 između nešto i nešto, jer možete 1273 00:53:20,230 --> 00:53:22,890 početi karti stvari, kao što je, ako je broj između jedan i 1274 00:53:22,890 --> 00:53:24,940 pet, dobro, ajmo napraviti nešto zeleno. 1275 00:53:24,940 --> 00:53:28,290 Ako je između 6 i 10, hajdemo napraviti slagalice 1276 00:53:28,290 --> 00:53:29,730 crvene umjesto. 1277 00:53:29,730 --> 00:53:31,840 Tako dugo dok imate način stvara neku vrstu 1278 00:53:31,840 --> 00:53:34,730 slučajnost, onda možete donositi odluke na temelju koje 1279 00:53:34,730 --> 00:53:35,260 slučajnost. 1280 00:53:35,260 --> 00:53:37,490 I ja držati govore pseudo slučajni, jer postoji 1281 00:53:37,490 --> 00:53:38,390 malo prljave tajne. 1282 00:53:38,390 --> 00:53:41,130 Računala ne može doći do slučajnih brojeva. 1283 00:53:41,130 --> 00:53:42,800 Oni mogu učiniti samo ono što ste rekli, jer 1284 00:53:42,800 --> 00:53:44,110 oni su čovjek-made uređajima. 1285 00:53:44,110 --> 00:53:45,880 Oni ne mogu samo nagađati broj kao i mi ljudi 1286 00:53:45,880 --> 00:53:46,960 Osjećam se kao da mogu. 1287 00:53:46,960 --> 00:53:50,970 Računalo ima nešto napraviti matematičku dočarati 1288 00:53:50,970 --> 00:53:53,970 iluzija matematički broj, ponekad koriste 1289 00:53:53,970 --> 00:53:57,420 trenutni dan vrijeme kao ulaz u figuring out što 1290 00:53:57,420 --> 00:53:59,570 broj se vratiti, ali više na tom drugom vremenu. 1291 00:53:59,570 --> 00:54:02,060 Za sada, samo znam da mi može generirati pseudo slučajnost. 1292 00:54:02,060 --> 00:54:04,610 >> Dakle, jednom sam imati mogućnost za lijevu strelicu za početak 1293 00:54:04,610 --> 00:54:07,990 pojavljuju u različitim vremenima i na različitim brzinama, a zatim 1294 00:54:07,990 --> 00:54:10,230 Mogu se vratiti i dodati neke od njih AKO uvjeti. 1295 00:54:10,230 --> 00:54:14,950 Ako je ovo Sprite dodiruje onaj drugi, i strelicu lijevo 1296 00:54:14,950 --> 00:54:16,330 Ključ je bio pritisnut - 1297 00:54:16,330 --> 00:54:17,900 pa tri uvjeta u tom slučaju. 1298 00:54:17,900 --> 00:54:20,750 Ja mogu koristiti da blokiraju I možda, u tom slučaju - 1299 00:54:20,750 --> 00:54:23,210 ONDA želim ići naprijed i povećajte ocjenu. 1300 00:54:23,210 --> 00:54:25,130 I na vrhu, imamo rezultat, imamo strašan, 1301 00:54:25,130 --> 00:54:26,510 Cool, dobro, i Boo. 1302 00:54:26,510 --> 00:54:29,810 Dakle, tu je očito pet varijabli koje ovaj učenik 1303 00:54:29,810 --> 00:54:32,220 koristiti za praćenje tih različitih mjerenja. 1304 00:54:32,220 --> 00:54:34,180 Dakle, u kratko, krajnji rezultat je nevjerojatna. 1305 00:54:34,180 --> 00:54:37,320 To je zabavno, to je zabavno igrati, to je zanimljivo, ali to nije 1306 00:54:37,320 --> 00:54:38,380 gdje učenik počeo. 1307 00:54:38,380 --> 00:54:42,210 On ili ona je započeo u mnogo manjem skupu koraka. 1308 00:54:42,210 --> 00:54:44,470 >> Dakle, ono što su neke druge izgrađeni da možemo 1309 00:54:44,470 --> 00:54:45,760 tkaju u tim programima? 1310 00:54:45,760 --> 00:54:48,750 Pa, tu je ovo drugi koncept u većini jezika, 1311 00:54:48,750 --> 00:54:50,730 Zagrebite među njima, poznat kao niti. 1312 00:54:50,730 --> 00:54:54,660 Dakle, računalo se zapravo ne može stvarno učiniti više stvari na 1313 00:54:54,660 --> 00:54:56,730 vrijeme, barem ne obično. 1314 00:54:56,730 --> 00:54:59,930 Umjesto toga, računalo obično ima samo jedan procesor, pa čak i 1315 00:54:59,930 --> 00:55:02,230 iako su računala vrlo brzo i može, stoga, 1316 00:55:02,230 --> 00:55:04,740 stvoriti privid radi više stvari odjednom - 1317 00:55:04,740 --> 00:55:06,180 provjere svoj mail, uzimajući trenutak 1318 00:55:06,180 --> 00:55:07,770 Poruka, ispis dokumenta - 1319 00:55:07,770 --> 00:55:11,530 stvarno, računalo samo skakanje iz tiska da IMING 1320 00:55:11,530 --> 00:55:15,160 na e-mail, natrag i natrag i naprijed i natrag tako brzo da smo 1321 00:55:15,160 --> 00:55:18,170 tupoglav ljudi jednostavno ne shvaćaju da je to zapravo 1322 00:55:18,170 --> 00:55:21,240 trčanje tih programa malo na vrijeme. 1323 00:55:21,240 --> 00:55:23,960 Sada, ovo malo bijele leže ovih dana, jer danas, 1324 00:55:23,960 --> 00:55:26,740 mnogi naši računala su ono što se zove multi-core, tako da 1325 00:55:26,740 --> 00:55:29,760 imaju jedan CPU, ali više jezgri, što je vrsta kao 1326 00:55:29,760 --> 00:55:31,760 ima više procesora. 1327 00:55:31,760 --> 00:55:35,020 >> I tako ponekad, računala doista može učiniti više stvari 1328 00:55:35,020 --> 00:55:38,500 na vrijeme, ali uglavnom unutar programa, programi 1329 00:55:38,500 --> 00:55:40,200 oslanjati na te stvari zovu teme. 1330 00:55:40,200 --> 00:55:43,160 Dakle, nit je nešto kao minijaturni program koji može 1331 00:55:43,160 --> 00:55:46,540 postojati pored drugog minijaturni program i možete pokrenuti 1332 00:55:46,540 --> 00:55:51,250 paralelno, ili barem može izvoditi pod iluziju da 1333 00:55:51,250 --> 00:55:52,990 oni prikazivati ​​istovremeno. 1334 00:55:52,990 --> 00:55:55,060 Dakle Scratch podržava ove stvari zove teme. 1335 00:55:55,060 --> 00:55:57,580 Možete imati višestruke skripte izvršavanje odjednom, baš kao i mi 1336 00:55:57,580 --> 00:56:00,220 učinio s morskom lavu, a to nam omogućuje da se zapravo 1337 00:56:00,220 --> 00:56:03,620 zatim su interakcije među tim sprites. 1338 00:56:03,620 --> 00:56:09,910 Pusti me naprijed ovdje i podići, recimo, teme, a 1339 00:56:09,910 --> 00:56:11,870 igrati ovo što slijedi. 1340 00:56:11,870 --> 00:56:13,950 Imamo dva sprites, od kojih svaki ćemo vidjeti 1341 00:56:13,950 --> 00:56:15,720 ima samo jedan scenarij. 1342 00:56:15,720 --> 00:56:18,000 A primijetite čini se da postoji neki inteligencije u 1343 00:56:18,000 --> 00:56:21,335 mačka u ovom jednom, jer on je sve bliže - 1344 00:56:21,335 --> 00:56:21,730 [Grmi] 1345 00:56:21,730 --> 00:56:24,540 DAVID MALAN: - i bliže ptičica. 1346 00:56:24,540 --> 00:56:26,570 >> Pa kako je ptica operativni? 1347 00:56:26,570 --> 00:56:28,200 Pa, neka je pogledati ptice prvi. 1348 00:56:28,200 --> 00:56:31,220 Ptica skripta rekao kad zelena zastava se klikne, idite na x 1349 00:56:31,220 --> 00:56:34,020 jednako negativna 115 y jednak 150. 1350 00:56:34,020 --> 00:56:37,010 Tako sam shvatio slučajni mjesto gdje sam htjela 1351 00:56:37,010 --> 00:56:39,580 ptica za početak, a ja sam ga samo plopped tamo po defaultu. 1352 00:56:39,580 --> 00:56:42,800 Zatim Beskonačno AKO ne dira mačku, pa je to drugačije 1353 00:56:42,800 --> 00:56:45,080 vrsta petlje konstrukt, ali istu ideju, učinite to ponovo i 1354 00:56:45,080 --> 00:56:45,780 opet i opet. 1355 00:56:45,780 --> 00:56:49,410 Tako dugo dok niste dira mačku, pomaknuti tri koraka, a 1356 00:56:49,410 --> 00:56:51,680 ako si na rubu, odskočiti, gdje je vrsta 1357 00:56:51,680 --> 00:56:53,320 odraz u biljar smislu. 1358 00:56:53,320 --> 00:56:56,140 Dakle, to je kako ptica se kreće oko vrste 1359 00:56:56,140 --> 00:56:58,890 naizgled nasumično, ali to je samo zato što je odskakanje 1360 00:56:58,890 --> 00:57:00,170 zidovi u ovom slučaju. 1361 00:57:00,170 --> 00:57:03,170 >> Sada mačka, u međuvremenu, je vrsta varanja. 1362 00:57:03,170 --> 00:57:05,520 Mačka, kada je zelena zastava se klikne, da, počinje u 1363 00:57:05,520 --> 00:57:07,390 neki položaj, slučajni lokacija - 1364 00:57:07,390 --> 00:57:09,590 barem u dijelu kao i po pick 1365 00:57:09,590 --> 00:57:11,430 slučajni zeleni blok postoji - 1366 00:57:11,430 --> 00:57:14,660 i onda zauvijek ako dira pticu, igrati zvuk lav, 1367 00:57:14,660 --> 00:57:15,790 i onda prestati skriptu. 1368 00:57:15,790 --> 00:57:18,560 Dakle, kada sam rekao prekinuti, ili izađite prije, tu je zagonetka 1369 00:57:18,560 --> 00:57:20,600 komad u nule samo da će ubiti program na koji 1370 00:57:20,600 --> 00:57:22,900 ukazati, jer to je vrsta logično učinio. 1371 00:57:22,900 --> 00:57:25,030 Ali inače, ovdje, primijetit što će se dogoditi. 1372 00:57:25,030 --> 00:57:28,470 Točka prema ptice i kretati jedan korak. 1373 00:57:28,470 --> 00:57:31,390 Dakle, ta točka prema ptica je svojevrsna prednost mačka 1374 00:57:31,390 --> 00:57:34,640 ima u tome da je golub u na pokretne ptica, i možemo 1375 00:57:34,640 --> 00:57:37,370 Sada bi ovaj program sve više zanimljiv. 1376 00:57:37,370 --> 00:57:41,520 Umjesto da se kreće jedan korak u isto vrijeme po CPU ciklusa, po 1377 00:57:41,520 --> 00:57:44,280 štrajk danak na zvono, da se tako izrazim, neka mi ići naprijed i 1378 00:57:44,280 --> 00:57:47,350 premjestiti, recimo, pet koraka u isto vrijeme kao mačka. 1379 00:57:47,350 --> 00:57:51,120 Kliknite pokrenuti, a sada je on stvarno ga pronađe brzo. 1380 00:57:51,120 --> 00:57:55,620 Ako mi dvaput ovo dalje na 10 koraka, ona vrsta ide 1381 00:57:55,620 --> 00:57:56,370 pravo za njega. 1382 00:57:56,370 --> 00:57:57,750 Sada, možemo dati pticu, 1383 00:57:57,750 --> 00:57:59,540 možda, malo prednost. 1384 00:57:59,540 --> 00:58:02,370 Idemo na ptice i reći umjesto da se kreće u tri koraka, 1385 00:58:02,370 --> 00:58:07,140 krenimo ga 30 koraka. 1386 00:58:07,140 --> 00:58:08,700 No, on je još uvijek uhvaćeni na kraju. 1387 00:58:08,700 --> 00:58:10,430 >> Dakle, ovdje imamo dvije teme. 1388 00:58:10,430 --> 00:58:13,230 To je bio utamničen u nule s dvije skripte i dva 1389 00:58:13,230 --> 00:58:16,150 duhovi, ali ideja u drugim jezicima je da možete 1390 00:58:16,150 --> 00:58:19,220 pisati, u suštini, previše programe kao što je ovaj i imaju 1391 00:58:19,220 --> 00:58:22,950 ih pokrenuti uistinu, ili imaginarily, paralelno. 1392 00:58:22,950 --> 00:58:25,280 >> Sada, tu je i ovaj koncept u programiranju poznat kao 1393 00:58:25,280 --> 00:58:28,010 događanja, a to je nešto što nećete vidjeti u C, 1394 00:58:28,010 --> 00:58:30,500 jezik poznat kao C. Mi ćemo ga vidjeti prema semestra kraja 1395 00:58:30,500 --> 00:58:33,240 u web programiranju, kad smo uvesti JavaScript i 1396 00:58:33,240 --> 00:58:36,970 Pojam građevinskog web stranica koje su dinamičan i interakciju 1397 00:58:36,970 --> 00:58:37,710 s korisnicima. 1398 00:58:37,710 --> 00:58:40,430 Dakle, u ovom slučaju, imamo vrlo jednostavan primjer dva 1399 00:58:40,430 --> 00:58:43,860 duhovi, dječak i djevojčica, od kojih svaki ima svoje odgovarajući 1400 00:58:43,860 --> 00:58:48,040 teme, ali nekako ove dvije su međusobno komuniciraju putem 1401 00:58:48,040 --> 00:58:49,490 od nečeg što se naziva događaja. 1402 00:58:49,490 --> 00:58:52,750 Pa neka mi ići naprijed i ovdje uvećanje na dječakove pismom, 1403 00:58:52,750 --> 00:58:54,050 koja izgleda ovako. 1404 00:58:54,050 --> 00:58:57,510 Kada zelena zastava kliknuli, zauvijek učiniti sljedeće. 1405 00:58:57,510 --> 00:59:01,510 Ako ključ prostor, ili razmak, tipke, kažu 1406 00:59:01,510 --> 00:59:03,900 Marco za dvije sekunde, to je čisto estetski na 1407 00:59:03,900 --> 00:59:06,860 zaslon, malo govor mjehurić, ali onda emitiraju. 1408 00:59:06,860 --> 00:59:09,240 >> Dakle emitiranje je drugi Scratch komad koji je 1409 00:59:09,240 --> 00:59:12,050 Predstavnik klase funkcionalnosti u programiranju 1410 00:59:12,050 --> 00:59:15,080 koji omogućava različite programe, različite teme, 1411 00:59:15,080 --> 00:59:17,120 da me komuniciraju, nekako poslati 1412 00:59:17,120 --> 00:59:18,520 poruke, jedna na drugu. 1413 00:59:18,520 --> 00:59:21,930 Prolazeći komad papira u razredu je vrsta niske tech 1414 00:59:21,930 --> 00:59:22,700 ekvivalent. 1415 00:59:22,700 --> 00:59:24,300 Tako emitiraju događaj. 1416 00:59:24,300 --> 00:59:26,210 Ja mogu poslati ovu poruku, a događaj riječ 1417 00:59:26,210 --> 00:59:27,270 je potpuno proizvoljan. 1418 00:59:27,270 --> 00:59:30,000 Blok ponekad ima ove padajuće, tako da sam došao do 1419 00:59:30,000 --> 00:59:33,230 sa slučajnim riječi poput događaja jer se sada, što dječak ne 1420 00:59:33,230 --> 00:59:36,600 kad sam pritisnite tipku je on emitira ovaj događaj. 1421 00:59:36,600 --> 00:59:39,270 A ako gledam sada na djevojčinu skriptu, skripta je njezin 1422 00:59:39,270 --> 00:59:42,690 super jednostavna, jer sve što treba učiniti ne djelovati kada 1423 00:59:42,690 --> 00:59:44,100 zelena zastava se klikne. 1424 00:59:44,100 --> 00:59:47,910 Ona je dizajniran za akciju kada ona prima citat, završiti citat, 1425 00:59:47,910 --> 00:59:51,210 "Događaj", te je u tom trenutku, ona sluša stoga za 1426 00:59:51,210 --> 00:59:52,960 Takozvani događaj opet i opet. 1427 00:59:52,960 --> 00:59:55,790 Čim je dobio taj događaj, ona će vikati 1428 00:59:55,790 --> 00:59:57,680 Polo za dvije sekunde. 1429 00:59:57,680 --> 01:00:01,090 >> I tako se možda može zaključiti iz ovoga što točno 1430 01:00:01,090 --> 01:00:03,190 Sljedeći rezultat će biti. 1431 01:00:03,190 --> 01:00:04,910 Dopustite mi da kliknete na zelenu zastavu. 1432 01:00:04,910 --> 01:00:06,610 Ništa se ne događa jer trebam učiniti što? 1433 01:00:06,610 --> 01:00:07,310 PUBLIKA: razmak. 1434 01:00:07,310 --> 01:00:08,630 DAVID MALAN: razmak. 1435 01:00:08,630 --> 01:00:11,990 Dječak kaže Marco, djevojka kaže Polo. 1436 01:00:11,990 --> 01:00:13,670 No, to nije teško kodirana po sebi. 1437 01:00:13,670 --> 01:00:16,740 To je inter-komunikacija između skripti, tako da sada imamo 1438 01:00:16,740 --> 01:00:19,240 imaju sposobnost da čak i složenije programe gdje 1439 01:00:19,240 --> 01:00:22,830 ove dvije su nekako međusobno komuniciraju. 1440 01:00:22,830 --> 01:00:25,260 >> Dakle, u kojem smjeru možemo uzeti ovo? 1441 01:00:25,260 --> 01:00:28,260 Pa, u problemu set 0, stvarno, cilj je 1442 01:00:28,260 --> 01:00:29,830 zabavite se s nule. 1443 01:00:29,830 --> 01:00:32,440 Za hakerske izdanju, te umjesto toga ćete se zabaviti s više 1444 01:00:32,440 --> 01:00:35,850 sofisticirana verzija Scratch zove BYOB, Građa 1445 01:00:35,850 --> 01:00:38,040 Vaši Vlastiti blokova, ali ideja je ista. 1446 01:00:38,040 --> 01:00:38,780 Vi ćete biti u mogućnosti - 1447 01:00:38,780 --> 01:00:39,710 Da, to je bilo namjerno. 1448 01:00:39,710 --> 01:00:42,450 On je došao iz Berkeley. 1449 01:00:42,450 --> 01:00:45,200 BYOB je verzija haker izdanje, ali i 1450 01:00:45,200 --> 01:00:48,180 Demografija, Standard Edition i Hacker izdanju podjednako, 1451 01:00:48,180 --> 01:00:50,940 Cilj pri ruci za idući tjedan je zapravo samo roniti u 1452 01:00:50,940 --> 01:00:53,050 duboko, dobiti vaše ruke prljave s programiranjem, i napraviti 1453 01:00:53,050 --> 01:00:55,240 nešto zanimljivo, napraviti nešto interaktivni, napraviti 1454 01:00:55,240 --> 01:00:58,020 nešto umjetničko, napraviti nešto zabavno da se zapravo 1455 01:00:58,020 --> 01:01:01,020 pokazati, tako da do kraja tjedna, imat ćete projekt, 1456 01:01:01,020 --> 01:01:03,770 ne samo za svoj prvi CS50 pset, ali morat ćete 1457 01:01:03,770 --> 01:01:05,620 Malo nešto što možete pokazati u Annenberg na 1458 01:01:05,620 --> 01:01:08,830 prijatelji ili čak i obitelji tako da je upload na MIT stranici. 1459 01:01:08,830 --> 01:01:11,760 I tako kao što sam rekao u srijedu, očekujemo 90% od klasi, 1460 01:01:11,760 --> 01:01:13,970 općenito, učiniti standardne izdanja. 1461 01:01:13,970 --> 01:01:16,660 Shvatite da je i ovaj izlaz za one od vas koji 1462 01:01:16,660 --> 01:01:18,990 možda inače pronaći sebe malo dosadno s osnovama 1463 01:01:18,990 --> 01:01:21,650 i stvarno želite roniti i zanatskih viziju ste već 1464 01:01:21,650 --> 01:01:25,380 imaju uz prethodnu pozadini to više prijateljski 1465 01:01:25,380 --> 01:01:26,240 okoliš. 1466 01:01:26,240 --> 01:01:29,030 >> Pa neka mi podići jedan drugi primjer da je jedan od naš bivši 1467 01:01:29,030 --> 01:01:33,830 studenti ovdje učinio i reći nešto malo kroz pjesmu. 1468 01:01:33,830 --> 01:01:37,430 To slično, kao što je ova igra, razmišljati o tome kako idete o 1469 01:01:37,430 --> 01:01:40,520 provodi ovaj program koristeći upravo ti isti 1470 01:01:40,520 --> 01:01:44,180 izgrađeni, malo pseudo slučajnosti, a 1471 01:01:44,180 --> 01:01:46,010 malo poznatoj pjesmi. 1472 01:01:46,010 --> 01:01:47,910 Ako smo mogli podići glasnoću samo malo? 1473 01:01:47,910 --> 01:01:49,160 [GLAZBA - "Pada kiša Men" The Weather GIRLS] 1474 01:03:02,261 --> 01:03:03,930 >> DAVID MALAN: To je to za CS50. 1475 01:03:03,930 --> 01:03:05,860 Mi ćemo vas vidjeti u ponedjeljak. 1476 01:03:05,860 --> 01:03:21,152 [Pljesak]