1 00:00:00,000 --> 00:00:12,640 2 00:00:12,640 --> 00:00:15,410 >> HÖGTALARE 1: Hej världen, detta är CS50 Live. 3 00:00:15,410 --> 00:00:18,450 Vi skulle vilja börja denna gång med en skrika ut till våra vänner i St Louis, 4 00:00:18,450 --> 00:00:21,450 Missouri, där en grupp av frivilliga försökspersoner känd som LaunchCode ha varit 5 00:00:21,450 --> 00:00:25,920 samla CS50x studenter i För att ta klassen kollektivt. 6 00:00:25,920 --> 00:00:29,250 Och målet i slutändan är att efter terminen slut, är att para ihop dem 7 00:00:29,250 --> 00:00:31,120 studenter med en lokal tech jobb. 8 00:00:31,120 --> 00:00:34,030 >> Nu Ursprungligen LaunchCode folk och studenterna involverade, skulle 9 00:00:34,030 --> 00:00:37,550 sammanträder i biblioteks där ett par hundra personer hade RSVPed. 10 00:00:37,550 --> 00:00:40,950 Men så många människor hamnade RSVPing in slutet för detta initiativ, att de 11 00:00:40,950 --> 00:00:43,930 hamnade flyttar till en lokal opera hus, skildras här. 12 00:00:43,930 --> 00:00:44,770 >> Nu är det lite små. 13 00:00:44,770 --> 00:00:48,320 Men om du tittar aldrig så noga du kan se upp på scenen som första bilden 14 00:00:48,320 --> 00:00:53,240 från vecka 0 som talar till det faktum att 73% av dina klasskamrater, kanske 15 00:00:53,240 --> 00:00:55,650 inklusive dig, har ingen tidigare erfarenhet. 16 00:00:55,650 --> 00:00:58,420 Och faktiskt det var väldigt mycket fall i den här operan här. 17 00:00:58,420 --> 00:01:01,170 Så våra hellos till folk vid LaunchCode och 18 00:01:01,170 --> 00:01:02,180 medborgare i St Louis. 19 00:01:02,180 --> 00:01:05,150 Om du själv bor lokal till Saint Louis, känner sig fri att kolla upp dem 20 00:01:05,150 --> 00:01:07,520 vid launchcodestl.com. 21 00:01:07,520 --> 00:01:12,450 Eller, kanske, slå på lokala nyheter kanal som vi ska göra här för dig. 22 00:01:12,450 --> 00:01:15,790 >> TALARE 2: En fantastisk möjlighet för någon Saint Louisan ser att landa en 23 00:01:15,790 --> 00:01:18,030 av de högteknologiska, välbetalda jobb. 24 00:01:18,030 --> 00:01:21,440 För första gången någonsin, samma datorprogrammering klass som är 25 00:01:21,440 --> 00:01:26,910 visas på nätet av Harvard och MIT är erbjuds personligen på St 26 00:01:26,910 --> 00:01:28,070 Louis Public Library. 27 00:01:28,070 --> 00:01:32,670 >> Det är allt tack vare organisationen LaunchCode, som försöker lösa 28 00:01:32,670 --> 00:01:34,900 tech talang klyftan här i St Louis. 29 00:01:34,900 --> 00:01:39,420 Nu alla som passerar här fyra månader Kursen kommer sannolikt att få en betald 30 00:01:39,420 --> 00:01:43,260 lärlingsutbildning som kan förvandlas till en datorprogrammering jobb. 31 00:01:43,260 --> 00:01:47,010 LaunchCode grundare säger, om du lära sig denna kompetens, i dagens 32 00:01:47,010 --> 00:01:52,100 marknad du är nästan garanterat att mark en sex siffra jobb i ett par 33 00:01:52,100 --> 00:01:55,500 år, med en ingångslön runt $ 50.000. 34 00:01:55,500 --> 00:01:56,580 Det låter ganska bra. 35 00:01:56,580 --> 00:02:00,930 Så vilken typ av person bör överväga att ta denna klass? 36 00:02:00,930 --> 00:02:03,890 >> JIM McKelvey: Du måste vara ganska smart, OK? 37 00:02:03,890 --> 00:02:06,690 Du måste vara extremt hårt arbetande. 38 00:02:06,690 --> 00:02:08,660 Men du behöver inte ha gått till de bästa skolorna. 39 00:02:08,660 --> 00:02:09,930 Du behöver inte vara bra på matte. 40 00:02:09,930 --> 00:02:13,380 Du behöver inte ha någon av de saker som du kanske tror att du behöver. 41 00:02:13,380 --> 00:02:16,360 Och den här kursen kommer att berätta dig om du har det. 42 00:02:16,360 --> 00:02:18,490 >> TALARE 2: Wow, nu, om du är undrar om det finns tillräckligt med 43 00:02:18,490 --> 00:02:23,270 programmeringsjobb finns i St Louis, är svaret ett stort ja. 44 00:02:23,270 --> 00:02:26,990 McKelvey säger att det finns mer än 1.000 öppna positioner och bara inte 45 00:02:26,990 --> 00:02:29,250 tillräckligt många lokala människor som försöker för att fylla dem. 46 00:02:29,250 --> 00:02:33,250 Nu är denna klass börjar måndag kl 05:30 på Central Branch i St Louis 47 00:02:33,250 --> 00:02:34,530 Stadsbibliotek. 48 00:02:34,530 --> 00:02:37,770 Om du är intresserad, och jag är säker på att vissa om du kommer att vara, den information 49 00:02:37,770 --> 00:02:39,020 att ksdk.com. 50 00:02:39,020 --> 00:02:41,582 51 00:02:41,582 --> 00:02:43,960 >> SPEAKER 1: Några av dina klasskamrater vill nu säga hej. 52 00:02:43,960 --> 00:02:48,270 Upp först är Suzanne, från Winthrop, Massachusetts, en närliggande stad bara ner 53 00:02:48,270 --> 00:02:50,022 vägen härifrån. 54 00:02:50,022 --> 00:02:52,290 >> SUZANNE: Hej världen, jag är Suzanne. 55 00:02:52,290 --> 00:02:56,790 Jag bor i Winthrop, Massachusetts, Förenta staterna, på vattnet. 56 00:02:56,790 --> 00:02:59,630 Och jag är 63 år gammal. 57 00:02:59,630 --> 00:03:01,480 Jag är en pensionerad sjuksköterska. 58 00:03:01,480 --> 00:03:05,860 Jag har fyra barn och två barnbarn. 59 00:03:05,860 --> 00:03:09,220 >> Jag är också en teaterregissör och skådespelerska. 60 00:03:09,220 --> 00:03:13,550 Och någon gång i år jag kommer att visas i Discovery Channels "The 61 00:03:13,550 --> 00:03:17,840 Boston Strangler. "I spela Zenovia Clegg. 62 00:03:17,840 --> 00:03:22,445 >> Jag tar CS50 eftersom jag älskar EDX. 63 00:03:22,445 --> 00:03:24,595 Jag har tagit två tidigare kurser. 64 00:03:24,595 --> 00:03:32,850 Jag har tagit rättvisa och folkhälsa och miljöförändringar. 65 00:03:32,850 --> 00:03:34,030 Och jag älskade dem. 66 00:03:34,030 --> 00:03:37,360 >> Också eftersom datavetenskap skrämmer mig lite. 67 00:03:37,360 --> 00:03:43,940 Och i min åldersgrupp vi uppmuntras att göra saker som skrämmer oss. 68 00:03:43,940 --> 00:03:48,720 Så jag tar CS50 och ser överlämna den. 69 00:03:48,720 --> 00:03:52,405 Så mitt namn är Suzanne, och detta är CS50. 70 00:03:52,405 --> 00:03:55,020 71 00:03:55,020 --> 00:03:58,460 >> HÖGTALARE 1: Upp nästa finns flera hellos från några av dina klasskamrater i Brewer 72 00:03:58,460 --> 00:04:00,160 High School i Maine. 73 00:04:00,160 --> 00:04:02,010 Låt oss ta en lyssna. 74 00:04:02,010 --> 00:04:04,640 >> BREWER gymnasieelever: Hej värld, vi är Brewer hög. 75 00:04:04,640 --> 00:04:05,945 >> PATRICK: Hej, jag är Patrick. 76 00:04:05,945 --> 00:04:07,490 >> ADAM: Jag är Adam. 77 00:04:07,490 --> 00:04:09,020 >> NIKOLAI: Jag är Nikolai. 78 00:04:09,020 --> 00:04:11,286 >> BEN: Jag är Ben. 79 00:04:11,286 --> 00:04:12,660 >> DYLAN: Jag är Dylan. 80 00:04:12,660 --> 00:04:13,930 >> NICK: Jag är Nick. 81 00:04:13,930 --> 00:04:15,085 >> KRISTINA: Jag är Christina. 82 00:04:15,085 --> 00:04:16,069 >> JONATHAN: Jag är Jonathan. 83 00:04:16,069 --> 00:04:17,000 >> CHARLES: Jag är Charles. 84 00:04:17,000 --> 00:04:20,890 >> BREWER gymnasieelever: Och detta är CS50. 85 00:04:20,890 --> 00:04:24,360 >> SPEAKER 1: Hej Brewer High School - och nu Stuart och en vän till honom, 86 00:04:24,360 --> 00:04:26,320 från den närliggande delstaten Virginia. 87 00:04:26,320 --> 00:04:30,300 88 00:04:30,300 --> 00:04:33,170 >> STUART: Hej världen, mitt namn är Stuart. 89 00:04:33,170 --> 00:04:35,285 Och jag är från Virginia. 90 00:04:35,285 --> 00:04:38,230 Och det här är första gången jag gör en Harvard kurs eller något 91 00:04:38,230 --> 00:04:41,670 online-kurs så. 92 00:04:41,670 --> 00:04:44,980 Jag gillar verkligen datorer och vill ha att lära sig mer om dem. 93 00:04:44,980 --> 00:04:47,900 Jag är Stuart, och detta är CS50. 94 00:04:47,900 --> 00:04:49,060 >> SPEAKER 1: Hej Stuart. 95 00:04:49,060 --> 00:04:51,900 Så vi har också hållit ett öga på Twitter, där en av dina klasskamrater, 96 00:04:51,900 --> 00:04:55,020 Umberto från Mexico, hade detta för att tweet nyligen. 97 00:04:55,020 --> 00:04:57,270 Hej, @ davidjmalan, låt mig ställa en fråga - 98 00:04:57,270 --> 00:04:59,210 Mark Zuckerberg tog CS50? 99 00:04:59,210 --> 00:05:03,450 >> Så, tyvärr, Mark i själva verket inte tar CS50 vid inskrivning som en nybörjare här 100 00:05:03,450 --> 00:05:04,050 vid Harvard. 101 00:05:04,050 --> 00:05:07,570 Istället hoppade han framåt mot en mer avancerad klass som kallas CS51, som 102 00:05:07,570 --> 00:05:10,910 täcker datavetenskap som ämnen abstraktion, och programmering begrepp 103 00:05:10,910 --> 00:05:13,900 som funktionell programmering en objektorienterad programmering. 104 00:05:13,900 --> 00:05:17,400 >> Nu när den undervisades av en professor vid namn Henry Leitner, som 105 00:05:17,400 --> 00:05:19,890 faktiskt lärde kursen När jag tog det också. 106 00:05:19,890 --> 00:05:23,150 Vår egen uppfostrare, Rob Bowden, nyligen satte sig med professor 107 00:05:23,150 --> 00:05:28,060 Latiner att tala om några av hans tidigare studenter förutom mig. 108 00:05:28,060 --> 00:05:31,620 >> ROB BOWDEN: Hej, jag är Rob Bowden, och jag är här med Dr Henry Leitner, som är 109 00:05:31,620 --> 00:05:35,270 Associate Dean of Information Teknik på DCE, och universitetslektor 110 00:05:35,270 --> 00:05:36,660 i datavetenskap. 111 00:05:36,660 --> 00:05:41,560 >> Okej, så jag har hört att du har haft en del kändisar passera 112 00:05:41,560 --> 00:05:43,360 genom några av dina kurser. 113 00:05:43,360 --> 00:05:45,540 >> HENRY LEITNER: Okej, så jag gillar att berätta för mina elever som jag har varit på Harvard 114 00:05:45,540 --> 00:05:46,240 en lång tid. 115 00:05:46,240 --> 00:05:48,480 Och när de säger - och hur länge har du varit här? - 116 00:05:48,480 --> 00:05:53,930 mitt svar är att jag är gammal nog att ha arbetat med hemuppgifter med 117 00:05:53,930 --> 00:05:56,740 att miljardären avhopp Bill Gates. 118 00:05:56,740 --> 00:05:59,650 Men jag är också tillräckligt ung för att ha faktiskt lärde att miljardären 119 00:05:59,650 --> 00:06:02,960 avhopp Mark Zuckerberg, av Facebook berömmelse. 120 00:06:02,960 --> 00:06:08,600 >> Så mitt möte med Bill Gates går långt tillbaka till början på 1974, 121 00:06:08,600 --> 00:06:11,980 1975 läsåret. 122 00:06:11,980 --> 00:06:15,810 Berättelsen är sant att Bill Gates vän Paul Allen gick till nyheter stå 123 00:06:15,810 --> 00:06:18,340 i Harvard Square och kom över i Popular Electronics Magazine, vilket 124 00:06:18,340 --> 00:06:21,170 var med en berättelse om världens första persondatorn, som 125 00:06:21,170 --> 00:06:24,070 du var tvungen att faktiskt bygga - montera från delar - Altair. 126 00:06:24,070 --> 00:06:26,060 Han kom springande tillbaka till Bill Gates sovsal. 127 00:06:26,060 --> 00:06:28,640 Och de fick alla glada att persondator revolutionen var ungefär 128 00:06:28,640 --> 00:06:29,760 att starta utan dem. 129 00:06:29,760 --> 00:06:31,340 >> Så på den tiden, Gates och jag - 130 00:06:31,340 --> 00:06:32,270 vi arbetade med problemen. 131 00:06:32,270 --> 00:06:35,635 Det beror på att vi var båda inskrivna i en teori för beräkning naturligtvis en 132 00:06:35,635 --> 00:06:37,690 mycket mathy forskarutbildningskurs. 133 00:06:37,690 --> 00:06:40,690 Och på den första dagen i klassen för professor berättade för alla i rummet att 134 00:06:40,690 --> 00:06:43,910 vända sig till sin granne och införa själva, och sedan samarbeta med 135 00:06:43,910 --> 00:06:45,590 den personen på problem ställer. 136 00:06:45,590 --> 00:06:46,440 Så Gates och jag - 137 00:06:46,440 --> 00:06:47,810 Jag visste inte vem han var på den tiden. 138 00:06:47,810 --> 00:06:50,390 Han var kanske sexton eller sjutton, men han såg ut som han var 139 00:06:50,390 --> 00:06:51,840 tolv, för att vara ärlig. 140 00:06:51,840 --> 00:06:54,010 >> Och vi började arbeta på Hemuppgifter tillsammans. 141 00:06:54,010 --> 00:06:57,710 Men sedan när Altair kom ut i Popular Electronics Magazine, fångad 142 00:06:57,710 --> 00:06:58,760 hans uppmärksamhet. 143 00:06:58,760 --> 00:06:59,890 Han bara försvann. 144 00:06:59,890 --> 00:07:01,070 Han slutade att göra läxor. 145 00:07:01,070 --> 00:07:02,300 Jag blev arg på honom. 146 00:07:02,300 --> 00:07:06,750 >> Och jag vill bara se honom i en computing labb vi hade på Harvard för 147 00:07:06,750 --> 00:07:09,340 forskning på den tiden, som kallades Aiken Beräkning Lab. 148 00:07:09,340 --> 00:07:10,980 En PDP-10 användes. 149 00:07:10,980 --> 00:07:14,530 Och han hacka bort dag och natt, i princip bara bor där. 150 00:07:14,530 --> 00:07:19,040 >> När jag fick reda på senare, var han faktiskt designa mjukvara för den ursprungliga 151 00:07:19,040 --> 00:07:22,180 Altair, ett operativsystem, tillsammans med programmeringsspråket BASIC 152 00:07:22,180 --> 00:07:23,630 som skulle köra. 153 00:07:23,630 --> 00:07:28,330 Tanken är att för en personlig datorindustrin att ta av dig 154 00:07:28,330 --> 00:07:29,630 skulle behöva kunna för att skriva programvara. 155 00:07:29,630 --> 00:07:32,540 Och att skriva program och maskin språk genom att bläddra vippströmbrytare 156 00:07:32,540 --> 00:07:35,580 var inte kommer att göra det, förutom bortom hobby. 157 00:07:35,580 --> 00:07:39,965 >> Det som var intressant på den tiden var det Altair var så populär att du inte kunde 158 00:07:39,965 --> 00:07:41,690 även köpa en, förvisso efter det meddelades. 159 00:07:41,690 --> 00:07:46,840 Så Bill Gates, otroligt, med hans vän Paul Allen, skrev ett program på 160 00:07:46,840 --> 00:07:51,010 PDP-10 som simulerade beteendet av denna Altair, eftersom den speciell var 161 00:07:51,010 --> 00:07:53,750 helt skrivits upp i populära Electronics Magazine. 162 00:07:53,750 --> 00:07:56,870 >> Så, som sagt, fick jag arg på honom, det gjorde jag inte uppmärksamma. 163 00:07:56,870 --> 00:07:59,840 Han försvann, gick bort till Albuquerque, New Mexico, för att visa upp 164 00:07:59,840 --> 00:08:02,220 vad han hade gjort med folk som hade byggt Altair. 165 00:08:02,220 --> 00:08:07,580 Och på de tider, som lämnar college - lämnar Harvard - att starta ett företag 166 00:08:07,580 --> 00:08:08,720 var obefintliga. 167 00:08:08,720 --> 00:08:11,320 Och så när jag fick reda på att det är vad som hade hänt jag var klar. 168 00:08:11,320 --> 00:08:13,770 Eftersom jag tänkte på - min föräldrar skulle ha dödat mig om jag hade 169 00:08:13,770 --> 00:08:17,020 hoppade av skolan bara för att gå ut och starta ett företag. 170 00:08:17,020 --> 00:08:18,390 >> Och så naturligtvis finns det Mark Zuckerberg. 171 00:08:18,390 --> 00:08:23,530 Jag lärde känna honom delvis på grund Han kom efter avslutad CS51. 172 00:08:23,530 --> 00:08:25,690 Jag antar att det var efter [OHÖRBAR] hade slutfört kursen. 173 00:08:25,690 --> 00:08:30,000 Han ville jobba som lärare kollega under det följande året för CS51. 174 00:08:30,000 --> 00:08:31,370 Och han kom till intervjun. 175 00:08:31,370 --> 00:08:35,690 >> Och sanningen är hans resultat var något svag jämfört 176 00:08:35,690 --> 00:08:36,919 till de andra folk som hade intervjuats. 177 00:08:36,919 --> 00:08:38,450 Det var faktiskt den svagaste av gäng. 178 00:08:38,450 --> 00:08:42,230 Så jag inte känner mig som om jag kunde med gott samvete anställa honom. 179 00:08:42,230 --> 00:08:45,746 >> Dessutom var han i lite problem med styrelsen. 180 00:08:45,746 --> 00:08:48,100 Om du såg filmen, The Social Network. 181 00:08:48,100 --> 00:08:50,430 OK, är så mycket av det faktiskt sant. 182 00:08:50,430 --> 00:08:55,040 Vid den tiden hade han precis avslutat göra den Facemash, inte Facebook men 183 00:08:55,040 --> 00:08:56,020 Facemash app. 184 00:08:56,020 --> 00:09:01,080 Och han hade fått ner Harvard nätverk av misstag. 185 00:09:01,080 --> 00:09:05,280 Och plus att han hade stulit ansikten Harvard högskolan grund kvinnor till 186 00:09:05,280 --> 00:09:05,890 göra det här projektet. 187 00:09:05,890 --> 00:09:07,290 >> Han fördes till Styrelsen. 188 00:09:07,290 --> 00:09:08,570 Han smällde på händerna. 189 00:09:08,570 --> 00:09:09,760 Så han var i en del trubbel. 190 00:09:09,760 --> 00:09:12,290 Och jag tror att han var slags förvirrade av det. 191 00:09:12,290 --> 00:09:15,890 >> Så jag gillar att berätta för folk att jag tar en liten, liten bit av äran för 192 00:09:15,890 --> 00:09:17,710 framgången för Facebook eftersom - 193 00:09:17,710 --> 00:09:21,970 A, åtminstone en halv eller 1% av Zuckerberg programmering skicklighet kom 194 00:09:21,970 --> 00:09:23,125 från min kurs - 195 00:09:23,125 --> 00:09:24,140 vad han lärde sig där. 196 00:09:24,140 --> 00:09:26,880 Och för det andra, hade jag anställt honom som en undervisning karl, skulle han inte ha haft 197 00:09:26,880 --> 00:09:30,090 tid att fylla Facebook vid den punkt som han gjorde. 198 00:09:30,090 --> 00:09:32,670 >> Så det har varit mycket roligt undervisning datavetenskap vid Harvard. 199 00:09:32,670 --> 00:09:36,480 Jag menar det är bara fantastiska människor som går på att göra stora saker. 200 00:09:36,480 --> 00:09:40,480 Jag skulle kunna fortsätta och berätta om andra folk, men jag tror att vår tid är ute. 201 00:09:40,480 --> 00:09:43,310 >> ROB BOWDEN: Så det låter som Bill Gates är skyldig dig lite pengar för att orsaka 202 00:09:43,310 --> 00:09:45,260 allt att stress i teori i beräkning. 203 00:09:45,260 --> 00:09:48,120 Och Mark Zuckerberg är skyldig dig lite pengar för att låta honom starta Facebook. 204 00:09:48,120 --> 00:09:50,370 >> HENRY LEITNER: Det är en fin sätt att tänka på, visst. 205 00:09:50,370 --> 00:09:52,180 >> ROB BOWDEN: Okej, bra tack. 206 00:09:52,180 --> 00:09:53,575 Det har varit stor. 207 00:09:53,575 --> 00:09:54,825 Tack för att jag fick komma. 208 00:09:54,825 --> 00:09:57,150 209 00:09:57,150 --> 00:09:58,400 Skaka handen kanske. 210 00:09:58,400 --> 00:10:01,606 211 00:10:01,606 --> 00:10:02,880 Ska jag skaka hans hand? 212 00:10:02,880 --> 00:10:04,560 Ska vi göra om slutet? 213 00:10:04,560 --> 00:10:05,810 Hur ska vi göra slut? 214 00:10:05,810 --> 00:10:11,430 215 00:10:11,430 --> 00:10:13,290 >> HÖGTALARE 1: Next, en fråga från [? Sin,?] 216 00:10:13,290 --> 00:10:16,110 en av dina klasskamrater i Vietnam som hade följande att säga. 217 00:10:16,110 --> 00:10:18,430 Hur kontaktar jag andra människor i mitt land? 218 00:10:18,430 --> 00:10:19,565 Ja detta är också en stor fråga. 219 00:10:19,565 --> 00:10:24,703 Och om du loggar in på EDX-gränssnitt, för CS50x huvud info sida, ser du 220 00:10:24,703 --> 00:10:29,520 en länk till CS50 meetups, vilket kommer att leda du meetup.com/meet50, vilket 221 00:10:29,520 --> 00:10:32,650 är ett verktyg som vi har skapat för att göra det möjligt du att hitta människor som är lokal till 222 00:10:32,650 --> 00:10:35,820 dig så att du faktiskt kan träffas, inte bara gott med klasskamrater 223 00:10:35,820 --> 00:10:38,020 i år, men personligen också. 224 00:10:38,020 --> 00:10:41,160 >> Faktum är att när du besöker den här webbadressen, kommer du se en karta som ser ut så här, 225 00:10:41,160 --> 00:10:44,530 där varje markör representerar en eller mer av dina klasskamrater i den delen 226 00:10:44,530 --> 00:10:45,350 av världen. 227 00:10:45,350 --> 00:10:49,150 Indeed just nu, några av de mest populära samhällen av CS50x studenter 228 00:10:49,150 --> 00:10:55,030 är i New York, London, Delhi, Kairo, och San Francisco, och över 199 andra 229 00:10:55,030 --> 00:10:56,000 städer. 230 00:10:56,000 --> 00:10:59,150 Så om intresse att möta upp med några klasskamrater lokalt, inte gå till 231 00:10:59,150 --> 00:11:02,050 träffa meetup.com/meet50. 232 00:11:02,050 --> 00:11:06,150 >> En fråga nu från Scott i New York, som hade den här frågan för att skriva - 233 00:11:06,150 --> 00:11:09,350 mest varje program använder strängar, så varför var printf med i 234 00:11:09,350 --> 00:11:11,910 standard I / O-bibliotek, och GetString var inte? 235 00:11:11,910 --> 00:11:14,520 Är GetString en funktion som definieras i CS50 biblioteket? 236 00:11:14,520 --> 00:11:18,090 >> Så ja ja, är GetString verkligen definieras i CS50 bibliotek. 237 00:11:18,090 --> 00:11:20,760 Och printf, under tiden, är i standard I / O-bibliotek. 238 00:11:20,760 --> 00:11:24,630 Nu tillbaka i dag, var när C uppfanns, säkert det var viktigt, en 239 00:11:24,630 --> 00:11:28,750 grundläggande funktionalitet för kod som printf att faktiskt utskrifts 240 00:11:28,750 --> 00:11:29,545 något till skärmen. 241 00:11:29,545 --> 00:11:33,280 Det var så kärna att skriva programvara, särskilt program som körs inne 242 00:11:33,280 --> 00:11:36,630 av det svarta och vita terminalfönster, att det var meningsfullt för printf 243 00:11:36,630 --> 00:11:39,820 att bäddas in i språkets biblioteken själv. 244 00:11:39,820 --> 00:11:43,160 >> Nu behöver du inte GetString för att få strängar från användarna. 245 00:11:43,160 --> 00:11:45,350 Istället kan du använda funktioner liknande scanf. 246 00:11:45,350 --> 00:11:48,680 Faktum är att om obekant, ta en titt på en del av Vecka 5: s genomgångar där vi 247 00:11:48,680 --> 00:11:51,660 gå igenom processen med att använda denna funktion scanf, för att få 248 00:11:51,660 --> 00:11:52,890 inmatning från användaren. 249 00:11:52,890 --> 00:11:56,310 Problemet är att de fungerar som scanf, som är inbyggda i C 250 00:11:56,310 --> 00:11:59,140 standardbibliotek, är att de gör inte någon felkontroll. 251 00:11:59,140 --> 00:12:01,540 Och de egentligen inte allokera något minne för strängar. 252 00:12:01,540 --> 00:12:03,340 >> Så ett par dåliga saker kan hända - 253 00:12:03,340 --> 00:12:06,970 1, kan du överskrider gränserna för arrayen, i vilket fall i bästa fall, 254 00:12:06,970 --> 00:12:07,960 ditt program kan krascha. 255 00:12:07,960 --> 00:12:11,400 Men i värsta fall kan en motståndare vara kunna ta över ditt program. 256 00:12:11,400 --> 00:12:14,020 Och du behöver för att hantera alla av detta minne själv. 257 00:12:14,020 --> 00:12:16,300 >> Så GetString tar bort en mycket av denna komplexitet. 258 00:12:16,300 --> 00:12:18,090 Så att vi allokera minne för dig. 259 00:12:18,090 --> 00:12:20,800 Vi ser till att du inte går längre än gränserna för en matris. 260 00:12:20,800 --> 00:12:23,940 Och vi återvänder null om något faktiskt går fel. 261 00:12:23,940 --> 00:12:27,490 Så GetString lägger helt enkelt, i slutet av dagen, en hel massa användbara 262 00:12:27,490 --> 00:12:28,990 felkontroll. 263 00:12:28,990 --> 00:12:32,700 >> Nu en kommentar från David i Ohio som hävdar detta - 264 00:12:32,700 --> 00:12:35,670 nej, du behöver inte apparaten för alla projekt. 265 00:12:35,670 --> 00:12:37,120 Nu vad menade han med det? 266 00:12:37,120 --> 00:12:39,930 Tja, visar det sig att David upphandlas, från en hemsida på nätet, en 267 00:12:39,930 --> 00:12:44,030 Nokia LCD, som den här här, det är verkligen storleken på något du kanske 268 00:12:44,030 --> 00:12:45,330 se på en äldre mobiltelefon. 269 00:12:45,330 --> 00:12:48,160 Och han också skaffat en Tiva lansering styrelse, en maskinvara som 270 00:12:48,160 --> 00:12:49,540 ansluter till denna LCD. 271 00:12:49,540 --> 00:12:50,280 >> Nu är det ganska små. 272 00:12:50,280 --> 00:12:52,720 Som ni kan se här är en US kvartal för skala. 273 00:12:52,720 --> 00:12:56,160 Och vad han gjorde med detta är faktiskt genomföra ett program i C. 274 00:12:56,160 --> 00:12:59,630 >> I själva verket behöver du inte den CS50 apparat för att skriva program i C. Du 275 00:12:59,630 --> 00:13:01,140 behöver inte ens en Mac eller en PC. 276 00:13:01,140 --> 00:13:05,090 Du kan också skriva och köra C-kod på inbäddade enheter som denna. 277 00:13:05,090 --> 00:13:07,380 Tja vad gjorde David faktiskt skriva och köra? 278 00:13:07,380 --> 00:13:08,490 Tja kolla upp det. 279 00:13:08,490 --> 00:13:12,390 Han genomfört Mario på denna lilla mobiltelefon-liknande skärm från 280 00:13:12,390 --> 00:13:13,660 Problem Set 1. 281 00:13:13,660 --> 00:13:16,840 >> Så jag tror att jag skulle instämma med en av Davids klasskamrater som, i samma 282 00:13:16,840 --> 00:13:19,360 Facebook gänga i vilken David infört detta lilla program till 283 00:13:19,360 --> 00:13:20,970 världen, svarade med - 284 00:13:20,970 --> 00:13:22,670 du är ett odjur kompis. 285 00:13:22,670 --> 00:13:23,560 I själva verket är du. 286 00:13:23,560 --> 00:13:25,550 >> Nu är nästa upp en bit av skräppost. 287 00:13:25,550 --> 00:13:28,520 Om du i CS50: s Facebook-grupp, du kanske har märkt några inlägg som 288 00:13:28,520 --> 00:13:30,410 detta som ibland slinka in där. 289 00:13:30,410 --> 00:13:32,030 Om du stöter på några spam, ingen stor sak. 290 00:13:32,030 --> 00:13:34,430 Helt enkelt rapportera det till oss och vi kommer gå vidare och ta bort den. 291 00:13:34,430 --> 00:13:37,870 Men innan vi bort det som vi kunde inte låta bli att ta några skärmdumpar 292 00:13:37,870 --> 00:13:39,460 och skrocka lite. 293 00:13:39,460 --> 00:13:43,850 >> Denna speciella student här - vi kommer kalla honom Alan Mobilephone - 294 00:13:43,850 --> 00:13:48,760 posted hans mobilnummer, hans BlackBerry chatt adress, hans Skype ID, 295 00:13:48,760 --> 00:13:51,600 hans e-postadress - varav ingen du bör verkligen kontakta. 296 00:13:51,600 --> 00:13:55,970 Men enligt de bilder här, verkar det som Alan Mobilephone har en hel del 297 00:13:55,970 --> 00:13:59,630 iPhones till salu i vad som verkar vara en ganska intetsägande lager. 298 00:13:59,630 --> 00:14:04,160 Nu när samma David svarade Alan Mobiltelefon med följande - 299 00:14:04,160 --> 00:14:06,220 kommer de med gedit installerat? 300 00:14:06,220 --> 00:14:09,220 >> Nu normalt du tror att en del Spambot skulle bara ignorera ett svar på 301 00:14:09,220 --> 00:14:10,120 deras ursprungliga tråden. 302 00:14:10,120 --> 00:14:14,970 Men nej, Alan Mobilephone hade följande att säger - alla våra telefoner är helt nya, 303 00:14:14,970 --> 00:14:17,960 kommer med originalkartong och tillbehör, alla våra telefoner är SIM 304 00:14:17,960 --> 00:14:19,490 fri, och så vidare. 305 00:14:19,490 --> 00:14:23,170 >> OK, så kanske ett automatiskt genererat svar till David människorna 306 00:14:23,170 --> 00:14:26,290 svar, men David skjuts lite längre - 307 00:14:26,290 --> 00:14:30,010 ska du installera och testa CS50 apparat för oss innan leverans? 308 00:14:30,010 --> 00:14:33,450 Okej låt oss se vad Alan Mobilephone har att säga nu. 309 00:14:33,450 --> 00:14:37,330 >> Ja och alla våra produkter är att arbeta med SIM-kort och nätverk över hela världen. 310 00:14:37,330 --> 00:14:42,830 Fantastiskt, nu en annan klasskamrat vår, danska, svarade med detta. 311 00:14:42,830 --> 00:14:43,730 Det skulle vara häftigt. 312 00:14:43,730 --> 00:14:47,810 Ta min beställning samt för två, plus en gratis, iPhone 5s med CS50 313 00:14:47,810 --> 00:14:49,470 Apparaten förinstallerad. 314 00:14:49,470 --> 00:14:53,390 >> Och slutligen, Alan Mobilephone sade - ja, allt kommer att fungera. 315 00:14:53,390 --> 00:14:54,080 Lita på mig. 316 00:14:54,080 --> 00:14:57,540 Så vilken av produkterna skulle du gillar att köpa från oss. 317 00:14:57,540 --> 00:15:01,890 Tyvärr Alan Mobilephone, du är nu förbjudna. 318 00:15:01,890 --> 00:15:04,730 >> Chris, nu, från Toronto, frågade denna fråga av oss. 319 00:15:04,730 --> 00:15:06,580 Jag har en idé för CS50 Live. 320 00:15:06,580 --> 00:15:09,750 Jag tror att det skulle vara bra om David, eller vissa av de andra CS50 personal, spelade 321 00:15:09,750 --> 00:15:13,180 en eller flera lämnades repa spel för Problem Set 0. 322 00:15:13,180 --> 00:15:14,730 Så detta är ett bra förslag. 323 00:15:14,730 --> 00:15:18,670 >> Och saken är den, eftersom Problem Set 1 släpptes den 1 januari, vi har 324 00:15:18,670 --> 00:15:20,890 faktiskt emot tusentals av repa projekt. 325 00:15:20,890 --> 00:15:23,970 Så kunde vi omöjligen göra dem alla rättvisa här och CS50 Live. 326 00:15:23,970 --> 00:15:26,860 Så vi tänkte att vi skulle plocka ut en som fångade vårt öga nyligen känd som 327 00:15:26,860 --> 00:15:27,920 Wizards "Duel. 328 00:15:27,920 --> 00:15:31,420 >> Wizards "Duel skrevs av en klasskamrat vid namn Patrick i Ohio. 329 00:15:31,420 --> 00:15:35,290 Och jag borde varna för att det här projektet verkligen gick utöver vad som var 330 00:15:35,290 --> 00:15:36,730 väntas i Problem Set 0. 331 00:15:36,730 --> 00:15:39,580 Inte alls gnaga om detta inte är något du kan nödvändigtvis 332 00:15:39,580 --> 00:15:43,090 åstadkomma i ditt allra första gången programmering, vare sig med Scratch eller 333 00:15:43,090 --> 00:15:44,130 något annat språk. 334 00:15:44,130 --> 00:15:48,420 Men vi tyckte det skulle vara kul att spela lite av Wizards "Duel här. 335 00:15:48,420 --> 00:15:50,276 >> [MUSIK SPELA] 336 00:15:50,276 --> 00:16:39,370 337 00:16:39,370 --> 00:16:43,860 >> Fantastiskt, så om du själv vill spela eller remixa Wizards "Duel, Ta en 338 00:16:43,860 --> 00:16:45,350 titta på denna URL här. 339 00:16:45,350 --> 00:16:48,130 Gå vidare och bara pausa videon, om du vill skriva den i. 340 00:16:48,130 --> 00:16:51,800 >> Jo nästa upp är en annan Scratch projekt, här en efter en student vid namn 341 00:16:51,800 --> 00:16:54,600 David från Cambridge, Massachusetts. 342 00:16:54,600 --> 00:16:58,820 Så detta var faktiskt den allra första program jag själv skrev redan 2007. 343 00:16:58,820 --> 00:17:01,410 Jag var doktorand på tiden och jag hade kors registrerade i en 344 00:17:01,410 --> 00:17:05,099 utbildning kurs på MIT, undervisade av professor Mitchel Resnick. 345 00:17:05,099 --> 00:17:07,270 Vid den tiden gjorde Scratch inte verkligen existerar. 346 00:17:07,270 --> 00:17:10,510 Det var bara i beta-format, och vi - det eleverna i denna klass - hade 347 00:17:10,510 --> 00:17:14,050 unik möjlighet att faktiskt spela med, och experimentera med Scratch 348 00:17:14,050 --> 00:17:15,160 innan någon annan. 349 00:17:15,160 --> 00:17:18,400 >> Faktum är att en av våra första uppdrag i denna klass var att faktiskt göra vårt 350 00:17:18,400 --> 00:17:19,420 egen Scratch projektet. 351 00:17:19,420 --> 00:17:23,069 Och än i dag minns jag spendera lite åtta timmar på en fredag ​​kväll för 352 00:17:23,069 --> 00:17:25,589 allt arbetar på Oscartime här. 353 00:17:25,589 --> 00:17:28,550 Och nu de av er känner till Oscar den Grouch från Sesam 354 00:17:28,550 --> 00:17:31,700 kanske i ett ögonblick minns låten som är på väg att spelas. 355 00:17:31,700 --> 00:17:34,760 >> Och jag brukade ha väldigt, väldigt fina minnen av låten. 356 00:17:34,760 --> 00:17:38,340 Men tro mig, efter åtta timmars lyssna på något på slingan, 357 00:17:38,340 --> 00:17:43,730 med ett evigt typ loop, det mycket snabbt sours lite av detta minne. 358 00:17:43,730 --> 00:17:45,870 Men för dig, får du bara en inblick i detta. 359 00:17:45,870 --> 00:17:49,252 Och jag ger dig det här exemplet av Oscartime. 360 00:17:49,252 --> 00:17:53,190 >> [MUSIK SPELA] 361 00:17:53,190 --> 00:17:56,940 >> SPEAKER 4: (Sjunger) Åh jag älskar trash - 362 00:17:56,940 --> 00:18:05,200 något smutsigt eller smutsiga eller dammiga, något ojämn eller ruttna eller rostig. 363 00:18:05,200 --> 00:18:08,668 Ja jag älskar trash. 364 00:18:08,668 --> 00:18:10,980 Här är lite mer ruttna saker. 365 00:18:10,980 --> 00:18:20,012 Ja, jag älskar, jag älskar, jag älskar trash. 366 00:18:20,012 --> 00:18:23,790 367 00:18:23,790 --> 00:18:26,940 >> HÖGTALARE 1: Nu om du vill spela eller remix Oscartime, och förbättrar på 368 00:18:26,940 --> 00:18:29,500 det, gå till denna URL här. 369 00:18:29,500 --> 00:18:31,290 Tja, är nästa fråga från [? Bosco?] 370 00:18:31,290 --> 00:18:34,750 i Hong Kong, som skrev detta - vad är programmeringsspråket 371 00:18:34,750 --> 00:18:36,340 bakom MIT: s Scratch? 372 00:18:36,340 --> 00:18:37,330 Så det är en bra fråga. 373 00:18:37,330 --> 00:18:40,640 >> Men snarare än svar som oss själva, Vi beslutade att ta våra kameror ner 374 00:18:40,640 --> 00:18:44,790 vägen till MIT: s Media Lab, där Livslångt Dagis grupp, ledd av 375 00:18:44,790 --> 00:18:47,610 Professor Mitchel Resnick, från vem Jag tog det klass år sedan. 376 00:18:47,610 --> 00:18:50,250 Vi träffade inte bara med Professor Resnick, utan även John Maloney, 377 00:18:50,250 --> 00:18:52,730 den ursprungliga författaren av Scratch-programmet. 378 00:18:52,730 --> 00:18:56,050 Så mycket program du har använt att skapa andra program var 379 00:18:56,050 --> 00:18:58,090 skriven i första hand av John. 380 00:18:58,090 --> 00:19:02,020 På bilden i själva verket är John, jag själv, och Mitchell står bakom en riktig 381 00:19:02,020 --> 00:19:05,750 värld inkarnation av Scratch kort efter vårt samtal. 382 00:19:05,750 --> 00:19:10,278 Men innan vi tar en lyssna, sextio sekunder här för valpar. 383 00:19:10,278 --> 00:20:11,860 >> [MUSIK - John Mayer, "WILDFIRE"] 384 00:20:11,860 --> 00:20:16,190 >> Scratch faktiskt i all uppriktighet innehar en speciell plats i vårt hjärta 385 00:20:16,190 --> 00:20:16,990 här på CS50. 386 00:20:16,990 --> 00:20:20,020 Faktiskt, introducerade vi Scratch i loppet 2007. 387 00:20:20,020 --> 00:20:22,090 Och vad som var slående att året var följande. 388 00:20:22,090 --> 00:20:26,130 Medan det i år tidigare, säger 2006, vi skulle ha cirka 200 elever handla 389 00:20:26,130 --> 00:20:29,250 Kursen, som i Harvard talar medel att sjunka med kursen i första 390 00:20:29,250 --> 00:20:33,120 veckorna av terminen, men inte nödvändigtvis ta klassen. 391 00:20:33,120 --> 00:20:36,350 67% av de studenter skulle normalt kvar och komma tillbaka i 392 00:20:36,350 --> 00:20:37,440 de veckor som följer. 393 00:20:37,440 --> 00:20:40,320 >> Under tiden i 2007, då vi introducerade Skrap liksom några andra 394 00:20:40,320 --> 00:20:44,680 curricular tweaks, hoppade vi upp till en 97% behålla förhållandet mellan de elever 395 00:20:44,680 --> 00:20:46,200 som var shopping CS50. 396 00:20:46,200 --> 00:20:49,960 Och så sedan dess Scratch har en central del av CS50, om än bara 397 00:20:49,960 --> 00:20:50,890 i det första veckan. 398 00:20:50,890 --> 00:20:54,420 Men jag vågar säga att det anger tonen för kurs, och verkligen talar till vårt mål 399 00:20:54,420 --> 00:20:58,840 i CS50 att göra datavetenskap desto mer åtkomliga. 400 00:20:58,840 --> 00:21:02,530 Med det sagt, vårt tack till Mitchell och John och hela Scratch laget. 401 00:21:02,530 --> 00:21:05,710 Låt oss nu ta det fältet snubbla på vägen. 402 00:21:05,710 --> 00:21:06,930 >> MITCHEL Resnick: Hej, Jag är Mitch Resnick. 403 00:21:06,930 --> 00:21:09,970 Jag är professor i lärande Research här på MIT Media Lab. 404 00:21:09,970 --> 00:21:12,590 Och jag också direkt MIT Scratch laget. 405 00:21:12,590 --> 00:21:15,810 >> JOHN MALONEY: Jag är John Maloney, och jag var en forskare för omkring elva 406 00:21:15,810 --> 00:21:19,240 år, arbetar på en Scratch projekt som huvudutvecklare. 407 00:21:19,240 --> 00:21:22,460 >> MITCHEL Resnick: Vi kallar vår forskning grupp för livslångt Kindergarten gruppen 408 00:21:22,460 --> 00:21:24,785 eftersom vi är inspirerade av vägen barn lär sig på dagis. 409 00:21:24,785 --> 00:21:28,820 I de klassiska dagis, barn är lekfullt att utforma och skapa 410 00:21:28,820 --> 00:21:30,920 saker i samverkan med varandra - 411 00:21:30,920 --> 00:21:33,300 bygga torn med klossar, göra bilder med 412 00:21:33,300 --> 00:21:34,720 fingerfärg och kritor. 413 00:21:34,720 --> 00:21:38,430 När vi utvecklade Scratch, ville vi fånga det dagis anda för 414 00:21:38,430 --> 00:21:39,700 elever i alla åldrar. 415 00:21:39,700 --> 00:21:42,880 >> JOHN MALONEY: En av de stora drivkrafter för Scratch var här 416 00:21:42,880 --> 00:21:47,930 projekt som Mitchel och Natalie hade började kallas Computer klubbhuset. 417 00:21:47,930 --> 00:21:54,570 Och de såg en massa barn att göra saker med mediaverktyg som Photoshop och 418 00:21:54,570 --> 00:21:58,700 olika ljud produktionsverktyg, men de inte göra någon programmering. 419 00:21:58,700 --> 00:22:00,020 Barnen var inte att göra någon programmering. 420 00:22:00,020 --> 00:22:02,440 Och vi tittade och sa - ja, varför är de inte gör det? 421 00:22:02,440 --> 00:22:06,380 Och svaret tycktes vara att det var inte ett verktyg som var lämpligt för 422 00:22:06,380 --> 00:22:07,220 den inställningen. 423 00:22:07,220 --> 00:22:10,960 >> MITCHEL Resnick: När vi utvecklar Scratch, blev jag inspirerad av en del av den 424 00:22:10,960 --> 00:22:13,660 idéer av min mentor Seymour Papert, som utvecklat 425 00:22:13,660 --> 00:22:15,640 programmeringsspråk logotyp. 426 00:22:15,640 --> 00:22:19,535 Seymour brukade alltid säga att det var viktigt för en ny teknik för att få 427 00:22:19,535 --> 00:22:24,140 ett lågt golv, vilket betyder att det är lätt att få började med, högt i tak, menar du 428 00:22:24,140 --> 00:22:25,980 kan göra mer och mer komplexa saker med det. 429 00:22:25,980 --> 00:22:30,480 >> Vi ville också ha vad vi kallar breda väggar, det vill säga det finns många 430 00:22:30,480 --> 00:22:31,100 olika vägar. 431 00:22:31,100 --> 00:22:34,800 Att du kan göra många olika saker med programvaran. 432 00:22:34,800 --> 00:22:38,320 Det räcker inte bara att komma igång enkelt och gör komplicerade saker om 433 00:22:38,320 --> 00:22:39,900 alla gör samma sak. 434 00:22:39,900 --> 00:22:42,690 Vi ville ha många olika vägar, eftersom vi vet att olika 435 00:22:42,690 --> 00:22:45,760 människor har olika intressen, och vi ville att alla skulle kunna arbeta 436 00:22:45,760 --> 00:22:48,090 på projekt som växte fram ur av sina egna intressen. 437 00:22:48,090 --> 00:22:52,020 >> JOHN MALONEY: Jag skulle vilja säga att vi anses ungefär tio gånger mer 438 00:22:52,020 --> 00:22:55,730 kommandon och funktioner än har någonsin hamnat i Scratch. 439 00:22:55,730 --> 00:23:01,160 Vi skulle ha ändlösa debatter om exakt vilken formulering att sätta på block, 440 00:23:01,160 --> 00:23:05,650 och saker som om standard riktning på spriten ska vara upp 441 00:23:05,650 --> 00:23:06,570 eller till höger. 442 00:23:06,570 --> 00:23:10,450 Så vi tänkte på alla dessa saker, särskilt den mycket tidigt 443 00:23:10,450 --> 00:23:13,790 upplevelser som folk skulle ha med Scratch, och försöker göra det så 444 00:23:13,790 --> 00:23:16,800 att saker och ting skulle kunna upptäckas bara genom experimenterande. 445 00:23:16,800 --> 00:23:20,370 >> MITCHEL Resnick: När vi var först utforma Scratch vår målgrupp 446 00:23:20,370 --> 00:23:22,670 var i åldern 8-16. 447 00:23:22,670 --> 00:23:26,400 >> JOHN MALONEY: På den lägre delen av den spektrum, fann vi att mycket yngre 448 00:23:26,400 --> 00:23:28,940 barnen använde Scratch än vi någonsin väntat. 449 00:23:28,940 --> 00:23:33,410 Jag kommer fortfarande ihåg den första Scratch dag, tror jag, att vi hade. 450 00:23:33,410 --> 00:23:36,340 Denna lilla sex-årig kille kom in 451 00:23:36,340 --> 00:23:41,540 På den övre delen har jag varit förvånad på, till exempel användning av Scratch i 452 00:23:41,540 --> 00:23:43,660 college klasser såsom CS50. 453 00:23:43,660 --> 00:23:47,750 Eftersom vi inte riktigt tänka på Scratch som ett språk för undervisning 454 00:23:47,750 --> 00:23:50,070 datavetenskap till dator vetenskapsmän. 455 00:23:50,070 --> 00:23:52,970 >> En annan överraskning är hur många vuxna använder den. 456 00:23:52,970 --> 00:23:58,830 Vi fann att människor som är som fullt tids programmerare njuta programmering i 457 00:23:58,830 --> 00:24:00,530 Scratch som en slags hobby. 458 00:24:00,530 --> 00:24:03,860 Och så vi har sett folk på Scratch hemsida skapa projekt som 459 00:24:03,860 --> 00:24:05,470 göra, till exempel - 460 00:24:05,470 --> 00:24:08,380 ray tracing 3D-konverteringssystem. 461 00:24:08,380 --> 00:24:10,120 Jag kunde inte tro det när jag såg det. 462 00:24:10,120 --> 00:24:13,170 >> MITCHEL Resnick: När vi började arbeta på Scratch, ville vi göra det 463 00:24:13,170 --> 00:24:16,360 skiljer sig från tidigare programplanering språk för att göra det 464 00:24:16,360 --> 00:24:19,010 tillgängliga för ett mycket bredare spektrum av människor. 465 00:24:19,010 --> 00:24:21,770 Så vi hade tre kärn vägledande principer. 466 00:24:21,770 --> 00:24:24,880 Först ville vi göra det mer tinkerable, så att du kan bygga upp 467 00:24:24,880 --> 00:24:27,810 program ungefär som att sätta LEGO klossar tillsammans. 468 00:24:27,810 --> 00:24:30,760 Så vi hade den visuella programmeringen blockera det är inte ihop. 469 00:24:30,760 --> 00:24:34,670 >> För det andra ville vi låta folk arbeta på mer meningsfulla projekt, 470 00:24:34,670 --> 00:24:37,060 saker som var personligen relevanta för dem. 471 00:24:37,060 --> 00:24:38,890 Det är därför vi gör Scratch så media rika. 472 00:24:38,890 --> 00:24:41,230 >> Tredje och främst ville vi göra det mer socialt. 473 00:24:41,230 --> 00:24:43,580 Eftersom en hel del av det bästa lärandet erfarenheter kommer när vi 474 00:24:43,580 --> 00:24:45,220 interagera med andra. 475 00:24:45,220 --> 00:24:48,590 Så vi lagt till Scratch online community från början, 476 00:24:48,590 --> 00:24:51,790 rätt när vi lanserade programmet, så att folk skulle ha en publik 477 00:24:51,790 --> 00:24:55,460 för sina skapelser, och även få inspireras av vad andra skapat. 478 00:24:55,460 --> 00:24:59,720 Sedan vi lanserade scratch det har varit cirka 4,5 miljoner projekt som 479 00:24:59,720 --> 00:25:01,760 har delat på Scratch hemsida. 480 00:25:01,760 --> 00:25:05,610 >> JOHN MALONEY: Så jag faktiskt anslutit sig till projektet genom att sortera 481 00:25:05,610 --> 00:25:07,770 av inlaga Mitchel. 482 00:25:07,770 --> 00:25:10,510 Jag bad att gick med när jag hörde om det, eftersom jag trodde att det skulle 483 00:25:10,510 --> 00:25:12,790 vara en sådan cool sak och Jag ville hjälpa. 484 00:25:12,790 --> 00:25:17,010 Men min favorit språk var Smalltalk, och jag hade hjälpt till att utveckla 485 00:25:17,010 --> 00:25:19,430 denna version av Smalltalk kallas Squeak. 486 00:25:19,430 --> 00:25:23,240 >> Så jag sa, ja, jag ska komma och göra detta arbete så länge jag 487 00:25:23,240 --> 00:25:24,960 kan bygga det i Squeak. 488 00:25:24,960 --> 00:25:27,920 Och Mitchel sa - Åh visst, det gör jag inte bry sig om vad den är gjord i. 489 00:25:27,920 --> 00:25:28,920 Bara få det att fungera. 490 00:25:28,920 --> 00:25:31,950 Och så det är hur det kom till skrivas på Squeak. 491 00:25:31,950 --> 00:25:36,730 >> Så med Scratch 2.0 vi trodde att vi skulle försöka göra Scratch nå ut till 492 00:25:36,730 --> 00:25:39,750 fler människor genom att göra det ett moln baserad app. 493 00:25:39,750 --> 00:25:43,290 Och även om det fanns en version av Squeak som sprang i webbläsaren, det 494 00:25:43,290 --> 00:25:45,960 krävs nedladdning och installera en plug-in. 495 00:25:45,960 --> 00:25:49,450 Och vi visste att många människor skulle har svårt att göra det heller 496 00:25:49,450 --> 00:25:54,310 eftersom det var en komplicerad process eller för att deras förvaltning på 497 00:25:54,310 --> 00:25:56,470 deras skola, eller vad som helst, skulle inte tillåta det. 498 00:25:56,470 --> 00:26:00,310 Så vi ville ha något som var snäll av inbyggda i webbläsare, eller var 499 00:26:00,310 --> 00:26:03,050 slags standard där på de flesta webbläsare. 500 00:26:03,050 --> 00:26:07,100 Vi ansåg Java, vi ansåg Silverlight, ansåg vi JavaScript 501 00:26:07,100 --> 00:26:08,590 och vi ansåg Flash. 502 00:26:08,590 --> 00:26:11,020 >> Vid det laget Flash var verkligen på uppgång. 503 00:26:11,020 --> 00:26:12,350 Adobe var verkligen trycka den. 504 00:26:12,350 --> 00:26:17,420 Och vi visste inte att det skulle för att vara ett sådant problem på iOS, och 505 00:26:17,420 --> 00:26:19,200 mobila enheter, och så vidare. 506 00:26:19,200 --> 00:26:20,480 Så vi åkte med Flash. 507 00:26:20,480 --> 00:26:25,690 >> Och så här i efterhand skulle det har kanske varit trevligare om vi hade gått med 508 00:26:25,690 --> 00:26:27,900 JavaScript eftersom det har blivit det dominerande språket. 509 00:26:27,900 --> 00:26:31,690 Men jag tror inte att det finns något sätt som vi skulle kunna ha sett alla de 510 00:26:31,690 --> 00:26:33,690 saker som kommer att förändra mellan då och nu. 511 00:26:33,690 --> 00:26:37,620 Och det tar tre år eller så för att sätta tillsammans ungefär så här. 512 00:26:37,620 --> 00:26:40,860 Så du gör ditt bästa gissning och hoppas på det bästa. 513 00:26:40,860 --> 00:26:44,720 >> MITCHEL Resnick: Ett nytt projekt är kallas Scratch Junior, försöker ha 514 00:26:44,720 --> 00:26:47,130 Scratch gå ner till ännu yngre barn. 515 00:26:47,130 --> 00:26:49,810 Det är som syftar till fem års ålder till sju-åringar, som 516 00:26:49,810 --> 00:26:51,780 förskola till andra klass. 517 00:26:51,780 --> 00:26:53,610 Den första versionen av den kommer att finnas på iPad. 518 00:26:53,610 --> 00:26:57,130 Och vi planerar att ha det komma ut i mitten av 2014. 519 00:26:57,130 --> 00:26:59,660 Så Skrapa Junior kommer att vara en något nedskalad version. 520 00:26:59,660 --> 00:27:02,540 Det kommer att ha något färre funktioner, och även göra saker mer 521 00:27:02,540 --> 00:27:05,450 utvecklingsmässigt lämpligt för yngre barn. 522 00:27:05,450 --> 00:27:09,580 >> JOHN MALONEY: Jag tycker om det faktum att Skrapa 2,0, speciellt, är slags 523 00:27:09,580 --> 00:27:14,070 hemlighet högre prestanda än du kanske tror. 524 00:27:14,070 --> 00:27:16,410 Som standard när du gör animeringar och så vidare, är du 525 00:27:16,410 --> 00:27:20,730 begränsad till uppdatering hastighet av skärmen. 526 00:27:20,730 --> 00:27:24,610 Och vi utformat det medvetet så att det bara gör en liten bit per 527 00:27:24,610 --> 00:27:30,330 ram, så att om du säger att upprepa 10, flytta 10, du faktiskt se den röra sig i 528 00:27:30,330 --> 00:27:32,450 tio små steg. 529 00:27:32,450 --> 00:27:36,590 >> Men det finns ett slags dolt läge kallad turbo-läge, som du kan få 530 00:27:36,590 --> 00:27:38,920 genom förskjutning klicka på den gröna flaggan. 531 00:27:38,920 --> 00:27:42,670 Och det i grund och botten låter den gå typ av så fort som möjligt. 532 00:27:42,670 --> 00:27:46,210 Så det här är vad du kan göra saker som ray tracer, och du behöver inte 533 00:27:46,210 --> 00:27:49,480 måste - den ursprungliga ray tracer, du fick vänta ut ungefär en halvtimme till 534 00:27:49,480 --> 00:27:52,020 se resultatet, eftersom det var slags chugging genom 535 00:27:52,020 --> 00:27:53,060 en bildruta i taget. 536 00:27:53,060 --> 00:27:57,240 Men, med skift klicka sak, kan du får resultaten i något som 537 00:27:57,240 --> 00:27:58,980 tjugo sekunder. 538 00:27:58,980 --> 00:28:03,610 Så helt plötsligt kan du bara sorts hög nivå saker i Scratch, men 539 00:28:03,610 --> 00:28:05,990 det är en dold funktion. 540 00:28:05,990 --> 00:28:08,470 >> HÖGTALARE 1: Tack så mycket för Mitchel och John för allt 541 00:28:08,470 --> 00:28:09,890 de har gjort för CS50. 542 00:28:09,890 --> 00:28:13,190 Tack till Andrew, Al, och Shelley, som är bakom kamerorna i veckan. 543 00:28:13,190 --> 00:28:15,460 Och tack så mycket till alla de studenter, de av er där ute som 544 00:28:15,460 --> 00:28:16,290 lämnats innehåll. 545 00:28:16,290 --> 00:28:22,340 >> Och faktiskt, om du vill bidra med innehåll för en framtida vecka, 546 00:28:22,340 --> 00:28:26,420 når ut till oss via Facebook, Reddit, E-post, eller någon av de andra 547 00:28:26,420 --> 00:28:27,570 kursens medel. 548 00:28:27,570 --> 00:28:29,750 Det var allt för CS50 Live. 549 00:28:29,750 --> 00:28:32,480 Detta var CS50. 550 00:28:32,480 --> 00:28:33,730 Fan också. 551 00:28:33,730 --> 00:29:04,598