1 00:00:00,000 --> 00:00:12,640 2 00:00:12,640 --> 00:00:15,410 >> SPEAKER 1: Hei verden, dette er CS50 Live. 3 00:00:15,410 --> 00:00:18,450 Vi vil gjerne begynne denne gangen med en rope ut til våre venner i St. Louis, 4 00:00:18,450 --> 00:00:21,450 Missouri, hvor en gruppe frivillige kjent som LaunchCode har vært 5 00:00:21,450 --> 00:00:25,920 samle sammen CS50x studenter i For å ta klassen kollektivt. 6 00:00:25,920 --> 00:00:29,250 Og den venstre slutt er at etter semesterets slutt, er å koble dem 7 00:00:29,250 --> 00:00:31,120 studenter med en lokal tech jobber. 8 00:00:31,120 --> 00:00:34,030 >> Nå opprinnelig LaunchCode folk, og elevene som er involvert, skulle 9 00:00:34,030 --> 00:00:37,550 å innkalle i et lokalt bibliotek hvor et par hundre mennesker hadde RSVPed. 10 00:00:37,550 --> 00:00:40,950 Men så mange mennesker endte opp RSVPing i slutten for dette initiativet, som de 11 00:00:40,950 --> 00:00:43,930 endte opp med å flytte til en lokal opera Huset, avbildet her. 12 00:00:43,930 --> 00:00:44,770 >> Nå er det litt lite. 13 00:00:44,770 --> 00:00:48,320 Men hvis du ser aldri så nøye du kan se opp på scenen som første lysbilde 14 00:00:48,320 --> 00:00:53,240 fra uke 0 som taler til det faktum at 73% av dine klassekamerater, kanskje 15 00:00:53,240 --> 00:00:55,650 inkludert deg, har ingen tidligere erfaring. 16 00:00:55,650 --> 00:00:58,420 Og ja det var veldig mye tilfelle i denne operaen her. 17 00:00:58,420 --> 00:01:01,170 Så våre hellos til folk på LaunchCode og 18 00:01:01,170 --> 00:01:02,180 borgere av St. Louis. 19 00:01:02,180 --> 00:01:05,150 Hvis du selv bor lokale til Saint Louis, gjør gjerne sjekke dem ut 20 00:01:05,150 --> 00:01:07,520 på launchcodestl.com. 21 00:01:07,520 --> 00:01:12,450 Eller, kanskje, slå på din lokale nyheter kanal som vi vil gjøre her for deg. 22 00:01:12,450 --> 00:01:15,790 >> SPEAKER 2: En fantastisk mulighet for noen Saint Louisan ønsker å lande en 23 00:01:15,790 --> 00:01:18,030 av disse high tech, høy betalte jobber. 24 00:01:18,030 --> 00:01:21,440 For første gang noensinne, det samme programmering klasse som er 25 00:01:21,440 --> 00:01:26,910 undervist på nettet ved Harvard og MIT er blir tilbudt i person på St. 26 00:01:26,910 --> 00:01:28,070 Louis Public Library. 27 00:01:28,070 --> 00:01:32,670 >> Det er alt takket være organisasjonen LaunchCode, som prøver å løse 28 00:01:32,670 --> 00:01:34,900 tech talent gap her i St. Louis. 29 00:01:34,900 --> 00:01:39,420 Nå kan alle som passerer dette fire måneder Kurset er sannsynlig å få en betalt 30 00:01:39,420 --> 00:01:43,260 læretid som kunne bli til et programmeringsjobb. 31 00:01:43,260 --> 00:01:47,010 LaunchCode medgrunnlegger sier, hvis du lære denne ferdigheten sett, i dagens 32 00:01:47,010 --> 00:01:52,100 markedet er du nesten garantert å land en seks figuren jobb i et par 33 00:01:52,100 --> 00:01:55,500 år, med en begynnerlønn rundt $ 50.000. 34 00:01:55,500 --> 00:01:56,580 Det høres ganske bra. 35 00:01:56,580 --> 00:02:00,930 Så hva slags person bør vurdere å ta denne klassen? 36 00:02:00,930 --> 00:02:03,890 >> JIM McKelvey: Du må være ganske smart, OK? 37 00:02:03,890 --> 00:02:06,690 Du må være ekstremt hardt arbeide. 38 00:02:06,690 --> 00:02:08,660 Men du trenger ikke å ha gått til de beste skolene. 39 00:02:08,660 --> 00:02:09,930 Du trenger ikke å være stor i matte. 40 00:02:09,930 --> 00:02:13,380 Du trenger ikke å ha noen av de ting som du kanskje tror du trenger. 41 00:02:13,380 --> 00:02:16,360 Og dette kurset vil fortelle deg hvis du har det. 42 00:02:16,360 --> 00:02:18,490 >> SPEAKER 2: Wow, nå, hvis du er lurer på om det er nok 43 00:02:18,490 --> 00:02:23,270 programmering ledige jobber i St. Louis, er svaret et stort ja. 44 00:02:23,270 --> 00:02:26,990 McKelvey sier det er mer enn 1000 ledige stillinger og bare ikke 45 00:02:26,990 --> 00:02:29,250 nok lokale folk prøver å fylle dem. 46 00:02:29,250 --> 00:02:33,250 Nå er denne klassen starter mandag klokken 05:30 på Central Branch i St. Louis 47 00:02:33,250 --> 00:02:34,530 Public Library. 48 00:02:34,530 --> 00:02:37,770 Hvis du er interessert, og jeg er sikker på at noen av dere vil være, den informasjonen 49 00:02:37,770 --> 00:02:39,020 at ksdk.com. 50 00:02:39,020 --> 00:02:41,582 51 00:02:41,582 --> 00:02:43,960 >> SPEAKER 1: Noen av dine klassekamerater ønsker nå å si hei. 52 00:02:43,960 --> 00:02:48,270 Opp først er Suzanne, fra Winthrop, Massachusetts, en by i nærheten bare ned 53 00:02:48,270 --> 00:02:50,022 veien herfra. 54 00:02:50,022 --> 00:02:52,290 >> SUZANNE: Hei verden, er jeg Suzanne. 55 00:02:52,290 --> 00:02:56,790 Jeg bor i Winthrop, Massachusetts, USA, på vannet. 56 00:02:56,790 --> 00:02:59,630 Og jeg er 63 år gammel. 57 00:02:59,630 --> 00:03:01,480 Jeg er en pensjonert sykepleier. 58 00:03:01,480 --> 00:03:05,860 Jeg har fire barn og to barnebarn. 59 00:03:05,860 --> 00:03:09,220 >> Jeg er også en teaterregissør og en skuespiller. 60 00:03:09,220 --> 00:03:13,550 Og en gang i år jeg vil bli vist i Discovery Channels "The 61 00:03:13,550 --> 00:03:17,840 Boston Strangler. "Jeg spille Zenovia Clegg. 62 00:03:17,840 --> 00:03:22,445 >> Jeg tar CS50 fordi jeg elsker EDX. 63 00:03:22,445 --> 00:03:24,595 Jeg har tatt to tidligere kurs. 64 00:03:24,595 --> 00:03:32,850 Jeg har tatt Justice, og folkehelse and Environmental Change. 65 00:03:32,850 --> 00:03:34,030 Og jeg elsket dem. 66 00:03:34,030 --> 00:03:37,360 >> Også fordi informatikk skremmer meg litt. 67 00:03:37,360 --> 00:03:43,940 Og i min aldersgruppe er vi oppmuntret å gjøre ting som skremmer oss. 68 00:03:43,940 --> 00:03:48,720 Så jeg tar CS50 og ser frem til det. 69 00:03:48,720 --> 00:03:52,405 Så mitt navn er Suzanne, og dette er CS50. 70 00:03:52,405 --> 00:03:55,020 71 00:03:55,020 --> 00:03:58,460 >> SPEAKER 1: Opp neste er flere hellos fra noen av dine klassekamerater i Brewer 72 00:03:58,460 --> 00:04:00,160 High School i Maine. 73 00:04:00,160 --> 00:04:02,010 La oss ta en lytt. 74 00:04:02,010 --> 00:04:04,640 >> BREWER High School studenter: Hei verden, er vi Brewer Høy. 75 00:04:04,640 --> 00:04:05,945 >> PATRICK: Hei, jeg er Patrick. 76 00:04:05,945 --> 00:04:07,490 >> ADAM: Jeg er Adam. 77 00:04:07,490 --> 00:04:09,020 >> NIKOLAI: Jeg er Nikolai. 78 00:04:09,020 --> 00:04:11,286 >> BEN: Jeg er Ben. 79 00:04:11,286 --> 00:04:12,660 >> DYLAN: Jeg er Dylan. 80 00:04:12,660 --> 00:04:13,930 >> NICK: Jeg er Nick. 81 00:04:13,930 --> 00:04:15,085 >> CHRISTINA: Jeg er Christina. 82 00:04:15,085 --> 00:04:16,069 >> JONATHAN: Jeg er Jonathan. 83 00:04:16,069 --> 00:04:17,000 >> CHARLES: Jeg er Charles. 84 00:04:17,000 --> 00:04:20,890 >> BREWER High School studenter: Og dette er CS50. 85 00:04:20,890 --> 00:04:24,360 >> SPEAKER 1: Hei Brewer High School - og nå Stuart og en venn av ham, 86 00:04:24,360 --> 00:04:26,320 fra den nærliggende delstaten Virginia. 87 00:04:26,320 --> 00:04:30,300 88 00:04:30,300 --> 00:04:33,170 >> STUART: Hei verden, mitt navn er Stuart. 89 00:04:33,170 --> 00:04:35,285 Og jeg er fra Virginia. 90 00:04:35,285 --> 00:04:38,230 Og dette er min første gang gjør en Harvard kurs eller noe 91 00:04:38,230 --> 00:04:41,670 nettbasert kurs sånn. 92 00:04:41,670 --> 00:04:44,980 Jeg liker datamaskiner og ønsker for å lære mer om dem. 93 00:04:44,980 --> 00:04:47,900 Jeg er Stuart, og dette er CS50. 94 00:04:47,900 --> 00:04:49,060 >> SPEAKER 1: Hei Stuart. 95 00:04:49,060 --> 00:04:51,900 Så vi har også vært å holde et øye med Twitter, hvor en av dine klassekamerater, 96 00:04:51,900 --> 00:04:55,020 Umberto fra Mexico, hadde dette å tweet nylig. 97 00:04:55,020 --> 00:04:57,270 Hei, @ davidjmalan, la meg stille deg et spørsmål - 98 00:04:57,270 --> 00:04:59,210 Mark Zuckerberg tok CS50? 99 00:04:59,210 --> 00:05:03,450 >> Så, dessverre, Mark faktisk ikke ta CS50 ved å melde deg som en førsteårsstudent her 100 00:05:03,450 --> 00:05:04,050 ved Harvard. 101 00:05:04,050 --> 00:05:07,570 Snarere han hoppet fremover til en mer avansert klasse som kalles CS51, som 102 00:05:07,570 --> 00:05:10,910 dekker informatikk emner som abstraksjon, og programmering konsepter 103 00:05:10,910 --> 00:05:13,900 som funksjonell programmering en objektorientert programmering. 104 00:05:13,900 --> 00:05:17,400 >> Nå på den tiden ble det undervist av en professor ved navn Henry Leitner, som 105 00:05:17,400 --> 00:05:19,890 faktisk undervist kurset når jeg tok den så godt. 106 00:05:19,890 --> 00:05:23,150 Vår egen veileder, Rob Bowden, nylig satte seg ned med professor 107 00:05:23,150 --> 00:05:28,060 Latiner å snakke om noen av hans tidligere studenter foruten meg. 108 00:05:28,060 --> 00:05:31,620 >> ROB BOWDEN: Hei, jeg er Rob Bowden, og jeg er her med Dr. Henry Leitner, er hvem 109 00:05:31,620 --> 00:05:35,270 Associate Dean of Information Teknologi på DCE, og førstelektor 110 00:05:35,270 --> 00:05:36,660 i informatikk. 111 00:05:36,660 --> 00:05:41,560 >> Greit, så jeg har hørt at du har hatt noen kjendiser passere 112 00:05:41,560 --> 00:05:43,360 gjennom noen av dine kurs. 113 00:05:43,360 --> 00:05:45,540 >> HENRY LEITNER: Ok, så jeg liker å fortelle elevene mine jeg har vært på Harvard 114 00:05:45,540 --> 00:05:46,240 lang tid. 115 00:05:46,240 --> 00:05:48,480 Og når de sier - godt hvordan lenge har du vært her? - 116 00:05:48,480 --> 00:05:53,930 mitt svar er at jeg er gammel nok til å ha jobbet på hjemmeoppgaver med 117 00:05:53,930 --> 00:05:56,740 at milliardæren dropout Bill Gates. 118 00:05:56,740 --> 00:05:59,650 Men jeg er også ung nok til å ha faktisk lært at milliardæren 119 00:05:59,650 --> 00:06:02,960 dropout Mark Zuckerberg, av Facebook berømmelse. 120 00:06:02,960 --> 00:06:08,600 >> Så mitt møte med Bill Gates går veien tilbake til begynnelsen på 1974, 121 00:06:08,600 --> 00:06:11,980 1975 studieåret. 122 00:06:11,980 --> 00:06:15,810 Historien er sant at Bill Gates ' venn Paul Allen gikk til aviskiosk 123 00:06:15,810 --> 00:06:18,340 i Harvard Square og kom over i Popular Electronics Magazine som 124 00:06:18,340 --> 00:06:21,170 var med en historie om verdens første personlige datamaskin, som 125 00:06:21,170 --> 00:06:24,070 du måtte faktisk bygge - montere fra deler - Altair. 126 00:06:24,070 --> 00:06:26,060 Han kom løpende tilbake til Bill Gates 'sovesal. 127 00:06:26,060 --> 00:06:28,640 Og de fikk alle glade for at personlige datarevolusjonen var om 128 00:06:28,640 --> 00:06:29,760 å starte uten dem. 129 00:06:29,760 --> 00:06:31,340 >> Så på den tiden, Gates og jeg - 130 00:06:31,340 --> 00:06:32,270 vi arbeidet med problemer. 131 00:06:32,270 --> 00:06:35,635 Det er fordi vi var begge registrert i en teori om beregning selvfølgelig en 132 00:06:35,635 --> 00:06:37,690 svært mathy høgare nivå kurs. 133 00:06:37,690 --> 00:06:40,690 Og på den første dagen av klasse professor fortalte alle i rommet til 134 00:06:40,690 --> 00:06:43,910 slå til sin nabo og introdusere seg selv, og da samarbeide med 135 00:06:43,910 --> 00:06:45,590 at personen på oppgavesett. 136 00:06:45,590 --> 00:06:46,440 Så Gates og jeg - 137 00:06:46,440 --> 00:06:47,810 Jeg visste ikke hvem han var på den tiden. 138 00:06:47,810 --> 00:06:50,390 Han var kanskje seksten eller sytten, men han så ut som han var 139 00:06:50,390 --> 00:06:51,840 tolv, for å være ærlig. 140 00:06:51,840 --> 00:06:54,010 >> Og vi begynte å jobbe med home sammen. 141 00:06:54,010 --> 00:06:57,710 Men så når Altair kom ut i Popular Electronics Magazine, fanget 142 00:06:57,710 --> 00:06:58,760 hans oppmerksomhet. 143 00:06:58,760 --> 00:06:59,890 Han bare forsvant. 144 00:06:59,890 --> 00:07:01,070 Han sluttet å gjøre lekser. 145 00:07:01,070 --> 00:07:02,300 Jeg ble sint på ham. 146 00:07:02,300 --> 00:07:06,750 >> Og jeg ville bare se ham i ett databehandling lab vi hadde på Harvard for 147 00:07:06,750 --> 00:07:09,340 forskning på den tiden, som ble kalt Aiken Computation Lab. 148 00:07:09,340 --> 00:07:10,980 En PDP-10 ble brukt. 149 00:07:10,980 --> 00:07:14,530 Og han var hacking bort dag og natt, utgangspunktet bare bor der. 150 00:07:14,530 --> 00:07:19,040 >> Da jeg fant ut senere, var han faktisk designe programvare for den opprinnelige 151 00:07:19,040 --> 00:07:22,180 Altair, et operativsystem, sammen med programmeringsspråket BASIC 152 00:07:22,180 --> 00:07:23,630 som skulle kjøre. 153 00:07:23,630 --> 00:07:28,330 Tanken er at for en personlig databransjen til å ta av deg 154 00:07:28,330 --> 00:07:29,630 ville trenge for å kunne å skrive programvare. 155 00:07:29,630 --> 00:07:32,540 Og å skrive programmer og maskin språk ved å vippe vippebrytere 156 00:07:32,540 --> 00:07:35,580 hadde ikke tenkt å gjøre det, bortsett fra utover amatører. 157 00:07:35,580 --> 00:07:39,965 >> Hva var interessant på den tiden var det Altair var så populær at du ikke kunne 158 00:07:39,965 --> 00:07:41,690 selv kjøpe en, sikkert etter det ble annonsert. 159 00:07:41,690 --> 00:07:46,840 Så Bill Gates, utrolig nok, med sin venn Paul Allen, skrev et program på 160 00:07:46,840 --> 00:07:51,010 PDP-10 som simulerte oppførselen av denne Altair, fordi de specs var 161 00:07:51,010 --> 00:07:53,750 fullt skrevet opp i den populære Electronics Magazine. 162 00:07:53,750 --> 00:07:56,870 >> Så, som jeg sa, fikk jeg sint på ham, jeg gjorde ikke betale oppmerksomhet. 163 00:07:56,870 --> 00:07:59,840 Han forsvant, gikk til Albuquerque, New Mexico, for å vise frem 164 00:07:59,840 --> 00:08:02,220 hva han hadde gjort mot folk som hadde bygget Altair. 165 00:08:02,220 --> 00:08:07,580 Og til tider, forlate college - forlate Harvard - for å starte et selskap 166 00:08:07,580 --> 00:08:08,720 var uhørt. 167 00:08:08,720 --> 00:08:11,320 Og så når jeg fant ut at det hva som hadde skjedd jeg var ferdig. 168 00:08:11,320 --> 00:08:13,770 Fordi jeg holdt tenker på - min foreldre ville ha drept meg hvis jeg hadde 169 00:08:13,770 --> 00:08:17,020 droppet ut av skolen bare for å gå av og starte et selskap. 170 00:08:17,020 --> 00:08:18,390 >> Og så er det selvfølgelig Mark Zuckerberg. 171 00:08:18,390 --> 00:08:23,530 Jeg ble kjent med ham blant annet fordi Han kom etter endt CS51. 172 00:08:23,530 --> 00:08:25,690 Jeg antar det var etter [uhørbart] hadde fullført kurset. 173 00:08:25,690 --> 00:08:30,000 Han ønsket å jobbe som lærer fellow i påfølgende år for CS51. 174 00:08:30,000 --> 00:08:31,370 Og han kom til intervju. 175 00:08:31,370 --> 00:08:35,690 >> Og sannheten i saken er hans resultatene var noe svak i forhold 176 00:08:35,690 --> 00:08:36,919 til de andre folkene som hadde intervjuet. 177 00:08:36,919 --> 00:08:38,450 Det var faktisk den svakeste av gjengen. 178 00:08:38,450 --> 00:08:42,230 Så jeg ikke føler meg som om jeg kunne i god samvittighet ansette ham. 179 00:08:42,230 --> 00:08:45,746 >> Plus, var han i litt trøbbel med den administrative styret. 180 00:08:45,746 --> 00:08:48,100 Hvis du så filmen, The Social Network. 181 00:08:48,100 --> 00:08:50,430 OK, er så mye av det saklig sant. 182 00:08:50,430 --> 00:08:55,040 På den tiden hadde han nettopp ferdig med å gjøre den Facemash, ikke Facebook, men den 183 00:08:55,040 --> 00:08:56,020 Facemash app. 184 00:08:56,020 --> 00:09:01,080 Og han hadde brakt ned Harvard nettverk utilsiktet. 185 00:09:01,080 --> 00:09:05,280 Og pluss han hadde stjålet ansiktene til Harvard College graduate kvinner til 186 00:09:05,280 --> 00:09:05,890 gjøre dette prosjektet. 187 00:09:05,890 --> 00:09:07,290 >> Så han ble brakt til administrativ bord. 188 00:09:07,290 --> 00:09:08,570 Han ble slått i hendene. 189 00:09:08,570 --> 00:09:09,760 Så han var i noen problemer. 190 00:09:09,760 --> 00:09:12,290 Og jeg tror han var liksom forvirret av det. 191 00:09:12,290 --> 00:09:15,890 >> Så jeg liker å fortelle folk at jeg tar en bitteliten bit av æren for 192 00:09:15,890 --> 00:09:17,710 Suksessen til Facebook fordi - 193 00:09:17,710 --> 00:09:21,970 A, er minst halvparten eller 1% av Zuckerberg programmering dyktighet kom 194 00:09:21,970 --> 00:09:23,125 fra min kurs - 195 00:09:23,125 --> 00:09:24,140 hva han har lært det. 196 00:09:24,140 --> 00:09:26,880 Og for det andre, hadde jeg hyret ham som en undervisning fyr, ville han ikke hatt 197 00:09:26,880 --> 00:09:30,090 tid til å full Facebook på det punktet at han gjorde. 198 00:09:30,090 --> 00:09:32,670 >> Så det har vært mye moro undervisning informatikk ved Harvard. 199 00:09:32,670 --> 00:09:36,480 Jeg mener det er bare fantastiske mennesker som går på å gjøre store ting. 200 00:09:36,480 --> 00:09:40,480 Jeg kunne gå på og fortelle deg om andre folkens, men jeg tror vår tid er ute. 201 00:09:40,480 --> 00:09:43,310 >> ROB BOWDEN: Så det høres ut som Bill Gates skylder deg noen penger for å forårsake 202 00:09:43,310 --> 00:09:45,260 alt som stress i Theory beregningsmetode. 203 00:09:45,260 --> 00:09:48,120 Og Mark Zuckerberg skylder deg noen penger for å la ham starte Facebook. 204 00:09:48,120 --> 00:09:50,370 >> HENRY LEITNER: Det er en fin måte å tenke på, sikkert. 205 00:09:50,370 --> 00:09:52,180 >> ROB BOWDEN: Ok, vel takk. 206 00:09:52,180 --> 00:09:53,575 Dette har vært stor. 207 00:09:53,575 --> 00:09:54,825 Takk for å ha meg. 208 00:09:54,825 --> 00:09:57,150 209 00:09:57,150 --> 00:09:58,400 Riste hånden kanskje. 210 00:09:58,400 --> 00:10:01,606 211 00:10:01,606 --> 00:10:02,880 Bør jeg ta ham i hånden? 212 00:10:02,880 --> 00:10:04,560 Skal vi gjøre om avslutningen? 213 00:10:04,560 --> 00:10:05,810 Hvordan skal vi gjøre det slutt? 214 00:10:05,810 --> 00:10:11,430 215 00:10:11,430 --> 00:10:13,290 >> SPEAKER 1: Neste, et spørsmål fra [? Sin,?] 216 00:10:13,290 --> 00:10:16,110 en av dine klassekamerater i Vietnam som hadde dette å si. 217 00:10:16,110 --> 00:10:18,430 Hvordan kontakter jeg andre folk i mitt land? 218 00:10:18,430 --> 00:10:19,565 Vel dette også er et stort spørsmål. 219 00:10:19,565 --> 00:10:24,703 Og hvis du logger inn i EDX-grensesnittet, for CS50x hoved info siden, vil du se 220 00:10:24,703 --> 00:10:29,520 en link til CS50 meetups, noe som vil føre du meetup.com/meet50, som 221 00:10:29,520 --> 00:10:32,650 er et verktøy som vi har satt opp for å tillate du å finne folk som er lokale for 222 00:10:32,650 --> 00:10:35,820 deg slik at du kan faktisk møte opp, ikke bare nesten med klassekamerater 223 00:10:35,820 --> 00:10:38,020 dette året, men i person også. 224 00:10:38,020 --> 00:10:41,160 >> Faktisk, når du besøker denne URL, vil du se et kart som ser ut som dette, 225 00:10:41,160 --> 00:10:44,530 hvor hvert merke representerer ett eller flere av dine klassekamerater i den delen 226 00:10:44,530 --> 00:10:45,350 av verden. 227 00:10:45,350 --> 00:10:49,150 Faktisk akkurat nå, noen av de mest populære samfunn av CS50x studenter 228 00:10:49,150 --> 00:10:55,030 er i New York, London, Delhi, Kairo, og San Francisco, og over 199 andre 229 00:10:55,030 --> 00:10:56,000 byer også. 230 00:10:56,000 --> 00:10:59,150 Så hvis interessert i å møte opp med noen klassekameratene lokalt, ikke hodet til 231 00:10:59,150 --> 00:11:02,050 møte meetup.com/meet50. 232 00:11:02,050 --> 00:11:06,150 >> Et spørsmål nå fra Scott i New York, som hadde dette spørsmålet å skrive - 233 00:11:06,150 --> 00:11:09,350 mest hvert program bruker strenger, så hvorfor ble printf inkludert i 234 00:11:09,350 --> 00:11:11,910 standard I / O-bibliotek, og GetString var ikke? 235 00:11:11,910 --> 00:11:14,520 Er GetString en funksjon definert i CS50 biblioteket? 236 00:11:14,520 --> 00:11:18,090 >> Så ja ja, er GetString faktisk definert i CS50 bibliotek. 237 00:11:18,090 --> 00:11:20,760 Og printf, i mellomtiden, er i standard I / O-bibliotek. 238 00:11:20,760 --> 00:11:24,630 Nå tilbake i dag, var da C oppfunnet, sikkert var det viktig, en 239 00:11:24,630 --> 00:11:28,750 fundamental funksjonalitet for kode som printf å faktisk print 240 00:11:28,750 --> 00:11:29,545 noe til skjermen. 241 00:11:29,545 --> 00:11:33,280 Dette var så kjernen til å skrive programvare, særlig programmer som kjører inne 242 00:11:33,280 --> 00:11:36,630 av at svart og hvit terminalvindu, at det var fornuftig for printf 243 00:11:36,630 --> 00:11:39,820 å være innebygd i språkets bibliotekene selv. 244 00:11:39,820 --> 00:11:43,160 >> Nå trenger du ikke GetString i orden å få strenger fra brukerne. 245 00:11:43,160 --> 00:11:45,350 Snarere kan du bruke funksjoner som scanf. 246 00:11:45,350 --> 00:11:48,680 Faktisk, hvis ukjente, ta en titt på noen av Uke 5 er walkthroughs hvor vi 247 00:11:48,680 --> 00:11:51,660 går gjennom prosessen med å bruke denne funksjonen, scanf, for å få 248 00:11:51,660 --> 00:11:52,890 input fra brukeren. 249 00:11:52,890 --> 00:11:56,310 Problemet er at de fungerer som scanf, som er innebygd i C 250 00:11:56,310 --> 00:11:59,140 standard biblioteker, er at de ikke gjør noe feilsjekking. 251 00:11:59,140 --> 00:12:01,540 Og de ikke faktisk tildele noe minne for strenger. 252 00:12:01,540 --> 00:12:03,340 >> Så et par dårlige ting kan skje - 253 00:12:03,340 --> 00:12:06,970 En, kan du overskrider grensene for klyngen, i så fall i beste fall, 254 00:12:06,970 --> 00:12:07,960 ditt program kan krasje. 255 00:12:07,960 --> 00:12:11,400 Men i verste fall kan en motstander være stand til å ta over programmet. 256 00:12:11,400 --> 00:12:14,020 Og du trenger for å administrere alle av at minne deg selv. 257 00:12:14,020 --> 00:12:16,300 >> Så GetString tar bort en mye av denne kompleksiteten. 258 00:12:16,300 --> 00:12:18,090 Slik at vi tildele minne for deg. 259 00:12:18,090 --> 00:12:20,800 Vi sørger for at du ikke går utover grensene til en matrise. 260 00:12:20,800 --> 00:12:23,940 Og vi returnere null hvis noe faktisk går galt. 261 00:12:23,940 --> 00:12:27,490 Så GetString legger rett og slett, på slutten av dagen, en hel haug med nyttige 262 00:12:27,490 --> 00:12:28,990 feilkontroll. 263 00:12:28,990 --> 00:12:32,700 >> Nå er en kommentar fra David i Ohio som hevder dette - 264 00:12:32,700 --> 00:12:35,670 nei, du trenger ikke apparatet for alle prosjektene. 265 00:12:35,670 --> 00:12:37,120 Nå hva mente han med dette? 266 00:12:37,120 --> 00:12:39,930 Vel, det viser seg at David anskaffet, fra en nettside, en 267 00:12:39,930 --> 00:12:44,030 Nokia LCD, som dette her, er at egentlig på størrelse med noe du kanskje 268 00:12:44,030 --> 00:12:45,330 se på en eldre mobiltelefon. 269 00:12:45,330 --> 00:12:48,160 Og han har også anskaffet en Tiva lansering bord, et stykke maskinvare som 270 00:12:48,160 --> 00:12:49,540 kobles til denne LCD. 271 00:12:49,540 --> 00:12:50,280 >> Nå er det ganske lite. 272 00:12:50,280 --> 00:12:52,720 Som du kan se her er en US kvartal for skala. 273 00:12:52,720 --> 00:12:56,160 Og hva han gjorde med dette er faktisk implementere et program i C. 274 00:12:56,160 --> 00:12:59,630 >> Faktisk trenger du ikke den CS50 apparatet for å skrive programmer i C. Du 275 00:12:59,630 --> 00:13:01,140 trenger ikke engang en Mac eller en PC. 276 00:13:01,140 --> 00:13:05,090 Du kan også skrive og kjøre C-kode på en innebygd enhet som dette. 277 00:13:05,090 --> 00:13:07,380 Vel, hva gjorde David faktisk skrive og kjøre? 278 00:13:07,380 --> 00:13:08,490 Vel sjekke det ut. 279 00:13:08,490 --> 00:13:12,390 Han implementert Mario på denne lille mobiltelefon-lignende skjerm fra 280 00:13:12,390 --> 00:13:13,660 Problem Sett en. 281 00:13:13,660 --> 00:13:16,840 >> Så jeg tror jeg ville stemme med en av Davids klassekamerater som, på samme 282 00:13:16,840 --> 00:13:19,360 Facebook tråden der David introdusert dette lille programmet til 283 00:13:19,360 --> 00:13:20,970 verden, svarte med - 284 00:13:20,970 --> 00:13:22,670 du er et beist kompis. 285 00:13:22,670 --> 00:13:23,560 Faktisk du er. 286 00:13:23,560 --> 00:13:25,550 >> Nå next up er en del av spam. 287 00:13:25,550 --> 00:13:28,520 Hvis du er i CS50 Facebook-gruppe, du kanskje har lagt merke til noen innlegg som 288 00:13:28,520 --> 00:13:30,410 dette som til tider skli inn der. 289 00:13:30,410 --> 00:13:32,030 Hvis du støter på noen spam, ingen big deal. 290 00:13:32,030 --> 00:13:34,430 Bare rapportere det til oss og vi vil gå foran og slette den. 291 00:13:34,430 --> 00:13:37,870 Men før vi slettet denne vi kunne ikke hjelpe ta noen skjermbilder 292 00:13:37,870 --> 00:13:39,460 og humre litt. 293 00:13:39,460 --> 00:13:43,850 >> Denne spesielle student her - vi vil kaller ham Alan Mobile - 294 00:13:43,850 --> 00:13:48,760 postet hans mobiltelefonnummer, hans Blackberry chat adresse, hans Skype ID, 295 00:13:48,760 --> 00:13:51,600 sin e-postadresse - og ingen av disse du bør faktisk ta kontakt. 296 00:13:51,600 --> 00:13:55,970 Men i henhold til bilder her, virker det som Alan Mobile har ganske mange 297 00:13:55,970 --> 00:13:59,630 iPhones for salg i det som synes å være en ganske ubestemmelig lageret. 298 00:13:59,630 --> 00:14:04,160 Nå som samme David svarte på Alan Mobiltelefon med følgende - 299 00:14:04,160 --> 00:14:06,220 kommer de med gedit installert? 300 00:14:06,220 --> 00:14:09,220 >> Normalt nå tror du at noen Spambot ville bare ignorere et svar til 301 00:14:09,220 --> 00:14:10,120 sin opprinnelige tråden. 302 00:14:10,120 --> 00:14:14,970 Men nei, hadde Alan Mobile dette til si - alle våre telefoner er helt ny, 303 00:14:14,970 --> 00:14:17,960 kommer med original eske og tilbehør, alle våre telefoner er SIM 304 00:14:17,960 --> 00:14:19,490 fri, og så videre. 305 00:14:19,490 --> 00:14:23,170 >> OK, så kanskje en automatisk generert svare på David menneskene 306 00:14:23,170 --> 00:14:26,290 respons, men David presset litt lenger - 307 00:14:26,290 --> 00:14:30,010 vil du installere og teste CS50 apparatet for oss før du sender? 308 00:14:30,010 --> 00:14:33,450 Greit, vel la oss se hva Alan Mobile har å si nå. 309 00:14:33,450 --> 00:14:37,330 >> Ja, og alle våre produkter er å jobbe med SIM-kort og nettverk over hele verden. 310 00:14:37,330 --> 00:14:42,830 Fantastisk, nå en annen klassekamerat vår, dansk, svarte med dette. 311 00:14:42,830 --> 00:14:43,730 Det ville være fantastisk. 312 00:14:43,730 --> 00:14:47,810 Ta bestillingen min så godt for to pluss en gratis, iPhone 5s med CS50 313 00:14:47,810 --> 00:14:49,470 Apparatet er forhåndsinstallert. 314 00:14:49,470 --> 00:14:53,390 >> Og til slutt, Alan Mobile sa - ja, alt vil fungere. 315 00:14:53,390 --> 00:14:54,080 Stol på meg. 316 00:14:54,080 --> 00:14:57,540 Så hvilke av produktene ville du liker å kjøpe fra oss. 317 00:14:57,540 --> 00:15:01,890 Sorry Alan Mobile, du er nå forbudt. 318 00:15:01,890 --> 00:15:04,730 >> Chris, nå, fra Toronto, spurte dette spørsmålet av oss. 319 00:15:04,730 --> 00:15:06,580 Jeg har en idé til CS50 Live. 320 00:15:06,580 --> 00:15:09,750 Jeg tror det ville være flott om David, eller noen av de andre CS50 personale, spilles 321 00:15:09,750 --> 00:15:13,180 ett eller flere sendt scratch spill for Problem Set 0. 322 00:15:13,180 --> 00:15:14,730 Så dette er et flott forslag. 323 00:15:14,730 --> 00:15:18,670 >> Og ting er, siden Problem Set 1 ble lansert 1. januar, vi har 324 00:15:18,670 --> 00:15:20,890 faktisk fått tusenvis av klø prosjekter. 325 00:15:20,890 --> 00:15:23,970 Så vi ikke kunne gjøre dem alle rettferdighet her og CS50 Live. 326 00:15:23,970 --> 00:15:26,860 Så vi tenkte at vi skulle rykke opp en som fanget vår øyet nylig kjent som 327 00:15:26,860 --> 00:15:27,920 Wizards 'Duel. 328 00:15:27,920 --> 00:15:31,420 >> Wizards 'Duel ble skrevet av en klassekamerat heter Patrick i Ohio. 329 00:15:31,420 --> 00:15:35,290 Og jeg bør advare at dette prosjektet virkelig gikk utover det som var 330 00:15:35,290 --> 00:15:36,730 forventet i oppgavesettet 0. 331 00:15:36,730 --> 00:15:39,580 Ikke i det hele tatt slite hvis dette ikke er noe du kan nødvendigvis 332 00:15:39,580 --> 00:15:43,090 oppnå i din aller første gang programmering, enten med Scratch eller 333 00:15:43,090 --> 00:15:44,130 noe annet språk. 334 00:15:44,130 --> 00:15:48,420 Men vi trodde det ville være morsomt å spille en liten bit av Wizards 'Duel her. 335 00:15:48,420 --> 00:15:50,276 >> [Musikk spilles] 336 00:15:50,276 --> 00:16:39,370 337 00:16:39,370 --> 00:16:43,860 >> Utrolig, så hvis du selv ønsker å spille eller remix Wizards 'duell, ta en 338 00:16:43,860 --> 00:16:45,350 se på denne nettadressen her. 339 00:16:45,350 --> 00:16:48,130 Gå videre og bare stoppe videoen hvis du ønsker å skrive at i. 340 00:16:48,130 --> 00:16:51,800 >> Vel next up er et nytt skrape prosjektet, dette en av en student ved navn 341 00:16:51,800 --> 00:16:54,600 David fra Cambridge, Massachusetts. 342 00:16:54,600 --> 00:16:58,820 Så dette var faktisk den aller første Programmet skrev jeg meg selv tilbake i 2007. 343 00:16:58,820 --> 00:17:01,410 Jeg var en graduate student på den tiden og jeg hadde kryss registrert i en 344 00:17:01,410 --> 00:17:05,099 kurs ved MIT, undervist av professor Mitchel Resnick. 345 00:17:05,099 --> 00:17:07,270 På den tiden, gjorde ikke Scratch virkelig eksisterer. 346 00:17:07,270 --> 00:17:10,510 Det var bare i beta-format, og vi - den elevene i denne klassen - hadde 347 00:17:10,510 --> 00:17:14,050 unik mulighet til å faktisk spille med, og eksperimentere med Scratch 348 00:17:14,050 --> 00:17:15,160 før noen andre. 349 00:17:15,160 --> 00:17:18,400 >> Faktisk en av våre første oppdrag i denne klassen var å faktisk gjøre vår 350 00:17:18,400 --> 00:17:19,420 egen Scratch prosjektet. 351 00:17:19,420 --> 00:17:23,069 Og til denne dag husker jeg tilbringe litt åtte timer på en fredag ​​kveld 352 00:17:23,069 --> 00:17:25,589 alle ting fungerer på oscartime her. 353 00:17:25,589 --> 00:17:28,550 Og nå de av dere kjent med Oscar den grinebiter fra Sesame Street 354 00:17:28,550 --> 00:17:31,700 kanskje i et øyeblikk husker sangen som er i ferd med å bli spilt. 355 00:17:31,700 --> 00:17:34,760 >> Og jeg pleide å ha veldig, veldig gode minner fra den sangen. 356 00:17:34,760 --> 00:17:38,340 Men tro meg, etter åtte timer lytte til noe på loop, 357 00:17:38,340 --> 00:17:43,730 med en evig typen loop, det svært raskt surne litt av dette minnet. 358 00:17:43,730 --> 00:17:45,870 Men for deg, får du bare ett glimt på dette. 359 00:17:45,870 --> 00:17:49,252 Og jeg gir dere dette eksempelet av oscartime. 360 00:17:49,252 --> 00:17:53,190 >> [Musikk spilles] 361 00:17:53,190 --> 00:17:56,940 >> SPEAKER 4: (synger) Å jeg elsker trash - 362 00:17:56,940 --> 00:18:05,200 noe skittent eller snusket eller støvete, noe fillete eller råtten eller rustne. 363 00:18:05,200 --> 00:18:08,668 Ja jeg elsker søppel. 364 00:18:08,668 --> 00:18:10,980 Her er litt mer råtten ting. 365 00:18:10,980 --> 00:18:20,012 Ja, jeg elsker, jeg elsker, jeg elsker trash. 366 00:18:20,012 --> 00:18:23,790 367 00:18:23,790 --> 00:18:26,940 >> SPEAKER 1: Nå hvis du ønsker å spille eller remix oscartime, og forbedre 368 00:18:26,940 --> 00:18:29,500 det, gå til denne nettadressen her. 369 00:18:29,500 --> 00:18:31,290 Vel, er neste spørsmål fra [? Bosco?] 370 00:18:31,290 --> 00:18:34,750 i Hong Kong, som skrev dette - hva er programmeringsspråket 371 00:18:34,750 --> 00:18:36,340 bak MIT Scratch? 372 00:18:36,340 --> 00:18:37,330 Så det er et stort spørsmål. 373 00:18:37,330 --> 00:18:40,640 >> Men heller enn svar som oss selv, vi besluttet å ta våre kameraer ned 374 00:18:40,640 --> 00:18:44,790 veien til MITs Media Lab, der Livslang Barnehagegruppen er ledet av 375 00:18:44,790 --> 00:18:47,610 Professor Mitchel Resnick, fra hvem Jeg tok det klasse år siden. 376 00:18:47,610 --> 00:18:50,250 Vi møtte ikke bare med professor Resnick, men også John Maloney, 377 00:18:50,250 --> 00:18:52,730 den opprinnelige forfatteren av Scratch-programmet. 378 00:18:52,730 --> 00:18:56,050 Så den aller programvare du har brukt å lage annen programvare var 379 00:18:56,050 --> 00:18:58,090 primært skrevet av John. 380 00:18:58,090 --> 00:19:02,020 Avbildet her faktisk er John, meg selv, og Mitchell står bak en reell 381 00:19:02,020 --> 00:19:05,750 verden inkarnasjon av Scratch kort tid etter vår samtale. 382 00:19:05,750 --> 00:19:10,278 Men før vi tar en lytt, seksti sekunder her for valper. 383 00:19:10,278 --> 00:20:11,860 >> [MUSIC - John Mayer, "WILD"] 384 00:20:11,860 --> 00:20:16,190 >> Scratch faktisk i all oppriktighet holder en spesiell plass i vårt hjerte 385 00:20:16,190 --> 00:20:16,990 her på CS50. 386 00:20:16,990 --> 00:20:20,020 Ja, vi introduserte Scratch inn i kurset i 2007. 387 00:20:20,020 --> 00:20:22,090 Og hva var påfallende at år var følgende. 388 00:20:22,090 --> 00:20:26,130 Mens det i årene før, sier 2006, vi ville ha noen 200 elever handle 389 00:20:26,130 --> 00:20:29,250 Selvfølgelig, som i Harvard tale midler å stikke innom kurset i den første 390 00:20:29,250 --> 00:20:33,120 ukene av semesteret, men ikke nødvendigvis ta klassen. 391 00:20:33,120 --> 00:20:36,350 67% av disse studentene ville typisk værende og komme tilbake i 392 00:20:36,350 --> 00:20:37,440 ukene som følger. 393 00:20:37,440 --> 00:20:40,320 >> I mellomtiden i 2007, da vi introduserte Scratch samt noen andre 394 00:20:40,320 --> 00:20:44,680 faglige tweaks, hoppet vi opp til en 97% oppbevaring forholdet mellom de studentene 395 00:20:44,680 --> 00:20:46,200 som var shopping CS50. 396 00:20:46,200 --> 00:20:49,960 Og så helt siden da Scratch har vært en sentral del av CS50, om enn bare 397 00:20:49,960 --> 00:20:50,890 i den første uken. 398 00:20:50,890 --> 00:20:54,420 Men jeg tør si det setter tonen på kurs, og virkelig taler til vårt mål 399 00:20:54,420 --> 00:20:58,840 i CS50 med å lage informatikk alle de mer tilgjengelige. 400 00:20:58,840 --> 00:21:02,530 Med det sagt, vår takk til Mitchell og John og hele Scratch-teamet. 401 00:21:02,530 --> 00:21:05,710 La oss nå ta dette feltet tur nedover veien. 402 00:21:05,710 --> 00:21:06,930 >> Mitchel Resnick: Hei, Jeg er Mitch Resnick. 403 00:21:06,930 --> 00:21:09,970 Jeg er professor of Learning Forskning her på MIT Media Lab. 404 00:21:09,970 --> 00:21:12,590 Og jeg har også direkte MIT Scratch team. 405 00:21:12,590 --> 00:21:15,810 >> JOHN MALONEY: Jeg er John Maloney, og jeg var en forsker i ca elleve 406 00:21:15,810 --> 00:21:19,240 år, jobber på et skrape prosjekt som hovedutvikler. 407 00:21:19,240 --> 00:21:22,460 >> Mitchel Resnick: Vi kaller vår forskning gruppen for livslang barnehagegruppe 408 00:21:22,460 --> 00:21:24,785 fordi vi er inspirert av måten barn lærer i barnehagen. 409 00:21:24,785 --> 00:21:28,820 I den klassiske barnehage, barn er lekent designe og skape 410 00:21:28,820 --> 00:21:30,920 ting i samarbeid med hverandre - 411 00:21:30,920 --> 00:21:33,300 bygge tårn med treklosser, å lage bilder med 412 00:21:33,300 --> 00:21:34,720 finger maling og fargestifter. 413 00:21:34,720 --> 00:21:38,430 Som vi utviklet Scratch, ville vi fange opp at barnehagen ånd for 414 00:21:38,430 --> 00:21:39,700 elever i alle aldre. 415 00:21:39,700 --> 00:21:42,880 >> JOHN MALONEY: En av de store motivasjon for Scratch var dette 416 00:21:42,880 --> 00:21:47,930 prosjekt som Mitchel og Natalie hadde startet kalt Computer klubbhuset. 417 00:21:47,930 --> 00:21:54,570 Og de så mange barn gjør ting med media verktøy som Photoshop og 418 00:21:54,570 --> 00:21:58,700 ulike lyd produksjonsverktøy, men de var ikke gjør noe programmering. 419 00:21:58,700 --> 00:22:00,020 Barna var ikke gjør programmering. 420 00:22:00,020 --> 00:22:02,440 Og vi kikket rundt og sa - vel, hvorfor er de ikke gjør det? 421 00:22:02,440 --> 00:22:06,380 Og svaret syntes å være at det var ikke et redskap som var aktuelle for 422 00:22:06,380 --> 00:22:07,220 at innstillingen. 423 00:22:07,220 --> 00:22:10,960 >> Mitchel Resnick: Da vi skulle utvikle Scratch, ble jeg inspirert av noen av de 424 00:22:10,960 --> 00:22:13,660 ideer av min mentor Seymour Papert, som utviklet 425 00:22:13,660 --> 00:22:15,640 logo programmeringsspråk. 426 00:22:15,640 --> 00:22:19,535 Seymour alltid pleide å si at det var viktig for en ny teknologi som har 427 00:22:19,535 --> 00:22:24,140 en lav etasje, noe som betyr at det er lett å få startet med, høyt under taket, mener du 428 00:22:24,140 --> 00:22:25,980 kan gjøre mer og mer komplekse ting med det. 429 00:22:25,980 --> 00:22:30,480 >> Vi ønsket også å ha det vi kaller brede vegger, noe som betyr at det er mange 430 00:22:30,480 --> 00:22:31,100 forskjellige veier. 431 00:22:31,100 --> 00:22:34,800 At du kan gjøre mange forskjellige ting med programvaren. 432 00:22:34,800 --> 00:22:38,320 Det er ikke nok bare å komme i gang lett og gjøre kompliserte ting hvis 433 00:22:38,320 --> 00:22:39,900 alle gjør det samme. 434 00:22:39,900 --> 00:22:42,690 Vi ønsket å ha mange forskjellige veier, fordi vi vet annerledes 435 00:22:42,690 --> 00:22:45,760 folk har forskjellige interesser, og vi ønsket alle å være i stand til å arbeide 436 00:22:45,760 --> 00:22:48,090 på prosjekter som vokste ut av sine egne interesser. 437 00:22:48,090 --> 00:22:52,020 >> JOHN MALONEY: Jeg vil gjerne si at vi vurderes om ti ganger mer 438 00:22:52,020 --> 00:22:55,730 kommandoer og funksjoner enn ha noen gang havnet i Scratch. 439 00:22:55,730 --> 00:23:01,160 Vi ville ha endeløse debatter om nøyaktig hva ordlyden å sette på blokker, 440 00:23:01,160 --> 00:23:05,650 og ting som om standard retning sprite bør være opp 441 00:23:05,650 --> 00:23:06,570 eller til høyre. 442 00:23:06,570 --> 00:23:10,450 Så vi tenkte på alle disse tingene, spesielt veldig tidlig 443 00:23:10,450 --> 00:23:13,790 erfaringer som folk ville ha med Scratch, og prøver å gjøre det så 444 00:23:13,790 --> 00:23:16,800 at ting kunne bli oppdaget bare ved eksperimentering. 445 00:23:16,800 --> 00:23:20,370 >> Mitchel Resnick: Da vi var først designe Scratch vår målgruppe 446 00:23:20,370 --> 00:23:22,670 var i alderen 8-16. 447 00:23:22,670 --> 00:23:26,400 >> JOHN MALONEY: På den lave enden av spektrum, fant vi at mye yngre 448 00:23:26,400 --> 00:23:28,940 Barna ble bruk av Scratch enn vi noensinne forventet. 449 00:23:28,940 --> 00:23:33,410 Jeg husker fortsatt den første Scratch dag, tror jeg, at vi hadde. 450 00:23:33,410 --> 00:23:36,340 Denne lille seks år gammel mann kom i. 451 00:23:36,340 --> 00:23:41,540 På den øvre enden, har jeg blitt overrasket ved for eksempel bruk av skrape i 452 00:23:41,540 --> 00:23:43,660 college klasser som CS50. 453 00:23:43,660 --> 00:23:47,750 Fordi vi ikke egentlig tenke på Scratch som et språk for undervisning 454 00:23:47,750 --> 00:23:50,070 informatikk til datamaskin forskere. 455 00:23:50,070 --> 00:23:52,970 >> En annen overraskelse er hvor mange voksne bruker det. 456 00:23:52,970 --> 00:23:58,830 Vi fant ut at mennesker som er like fullt tids programmerere nyte 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 Og så har vi sett folk på Scratch Nettside opprette prosjekter som 459 00:24:03,860 --> 00:24:05,470 gjør, for eksempel - 460 00:24:05,470 --> 00:24:08,380 ray tracing 3D rende systemer. 461 00:24:08,380 --> 00:24:10,120 Jeg kunne ikke tro det da jeg så det. 462 00:24:10,120 --> 00:24:13,170 >> Mitchel Resnick: Da vi begynte å jobbe på Scratch, ønsket vi å gjøre det 463 00:24:13,170 --> 00:24:16,360 forskjellig fra forrige programmering språk for å gjøre det 464 00:24:16,360 --> 00:24:19,010 tilgjengelig for et mye bredere rekke mennesker. 465 00:24:19,010 --> 00:24:21,770 Så vi hadde tre kjerne føringer. 466 00:24:21,770 --> 00:24:24,880 Først ønsket vi å gjøre det mer tinkerable, slik at du kan bygge opp 467 00:24:24,880 --> 00:24:27,810 programmer mye som å sette LEGO-klosser sammen. 468 00:24:27,810 --> 00:24:30,760 Så vi hadde det visuelle programmering blokkere det er ikke sammen. 469 00:24:30,760 --> 00:24:34,670 >> Andre av alt ønsket vi å la folk arbeide på mer meningsfylte prosjekter, 470 00:24:34,670 --> 00:24:37,060 ting som var personlig relevant for dem. 471 00:24:37,060 --> 00:24:38,890 Det er derfor vi gjør Scratch så media rik. 472 00:24:38,890 --> 00:24:41,230 >> Tredje av alt, ønsket vi å gjøre det mer sosialt. 473 00:24:41,230 --> 00:24:43,580 Fordi mange av de beste lærings erfaringer kommer når vi 474 00:24:43,580 --> 00:24:45,220 samhandle med andre. 475 00:24:45,220 --> 00:24:48,590 Så vi lagt Scratch online community helt fra begynnelsen, 476 00:24:48,590 --> 00:24:51,790 akkurat da vi lanserte programvaren, så at folk ville ha et publikum 477 00:24:51,790 --> 00:24:55,460 for sine kreasjoner, og også få inspirert av hva andre mennesker skapt. 478 00:24:55,460 --> 00:24:59,720 Siden vi lanserte scratch det har vært rundt 4,5 millioner prosjekter som 479 00:24:59,720 --> 00:25:01,760 har blitt delt på Scratch nettside. 480 00:25:01,760 --> 00:25:05,610 >> JOHN MALONEY: Så jeg faktisk sluttet seg til prosjektet etter slag 481 00:25:05,610 --> 00:25:07,770 av bedende til Mitchel. 482 00:25:07,770 --> 00:25:10,510 Jeg bedt om å sluttet da jeg hørte om det, fordi jeg trodde det skulle 483 00:25:10,510 --> 00:25:12,790 være slik en kul ting og Jeg ønsket å hjelpe. 484 00:25:12,790 --> 00:25:17,010 Men min favoritt språket var Smalltalk, og jeg hadde bidratt til å utvikle 485 00:25:17,010 --> 00:25:19,430 denne versjonen av Smalltalk kalt Squeak. 486 00:25:19,430 --> 00:25:23,240 >> Så jeg sa, vel, jeg skal komme og gjøre dette arbeidet så lenge jeg 487 00:25:23,240 --> 00:25:24,960 kan bygge det i Squeak. 488 00:25:24,960 --> 00:25:27,920 Og Mitchel sa - oh sikker, det gjør jeg ikke bryr seg hva den er laget i. 489 00:25:27,920 --> 00:25:28,920 Bare gjøre det arbeidet. 490 00:25:28,920 --> 00:25:31,950 Og så det er hvordan det kom til være skrevet i Squeak. 491 00:25:31,950 --> 00:25:36,730 >> Så med Scratch 2,0 trodde vi at vi ville prøve å gjøre Scratch rekkevidde ut til 492 00:25:36,730 --> 00:25:39,750 flere mennesker ved å gjøre det en Cloud basert app. 493 00:25:39,750 --> 00:25:43,290 Og selv om det var en versjon Knirker som kjørte i nettleseren, det 494 00:25:43,290 --> 00:25:45,960 nødvendig nedlasting og installere en plug-in. 495 00:25:45,960 --> 00:25:49,450 Og vi visste at mange mennesker ville har problemer med å gjøre det, enten 496 00:25:49,450 --> 00:25:54,310 fordi det var en komplisert prosess eller fordi deres administrasjon på 497 00:25:54,310 --> 00:25:56,470 deres skole, eller hva, ville ikke tillate det. 498 00:25:56,470 --> 00:26:00,310 Så vi ville ha noe som var snill av bygget inn i nettlesere, eller var 499 00:26:00,310 --> 00:26:03,050 slags standard det på de fleste nettlesere. 500 00:26:03,050 --> 00:26:07,100 Vi vurderte Java, vi betraktet Silverlight, vurderte vi Javascript, 501 00:26:07,100 --> 00:26:08,590 og vi vurderte Flash. 502 00:26:08,590 --> 00:26:11,020 >> På det tidspunktet Flash var virkelig på maktstilling. 503 00:26:11,020 --> 00:26:12,350 Adobe var virkelig presser den. 504 00:26:12,350 --> 00:26:17,420 Og vi ennå ikke visste at det skulle å være et slikt problem på iOS, og 505 00:26:17,420 --> 00:26:19,200 mobile enheter, og så videre. 506 00:26:19,200 --> 00:26:20,480 Så vi gikk med Flash. 507 00:26:20,480 --> 00:26:25,690 >> Og i ettertid ville det har kanskje vært bedre hvis vi hadde gått med 508 00:26:25,690 --> 00:26:27,900 Java fordi det er blitt det dominerende språket. 509 00:26:27,900 --> 00:26:31,690 Men jeg tror ikke det er noen måte vi kunne muligens ha sett alle 510 00:26:31,690 --> 00:26:33,690 ting som skulle endre mellom da og nå. 511 00:26:33,690 --> 00:26:37,620 Og det tar tre år eller så å sette sammen noe sånt som dette. 512 00:26:37,620 --> 00:26:40,860 Så du gjør ditt beste gjetning og håpe på det beste. 513 00:26:40,860 --> 00:26:44,720 >> Mitchel Resnick: En nye prosjekter er heter Scratch Junior, prøver å ha 514 00:26:44,720 --> 00:26:47,130 Scratch gå ned til enda yngre barn. 515 00:26:47,130 --> 00:26:49,810 Det blir rettet i en alder av fem til syv åringer, som 516 00:26:49,810 --> 00:26:51,780 barnehage til andre klasse. 517 00:26:51,780 --> 00:26:53,610 Den første versjonen av det vil være på iPad. 518 00:26:53,610 --> 00:26:57,130 Og vi har tenkt å ha den komme ut i midten av 2014. 519 00:26:57,130 --> 00:26:59,660 Så Scratch Junior vil være en noe nedskalert versjon. 520 00:26:59,660 --> 00:27:02,540 Den vil ha noe færre funksjoner, og også gjøre ting mer 521 00:27:02,540 --> 00:27:05,450 utviklingsmessig passende for yngre barn. 522 00:27:05,450 --> 00:27:09,580 >> JOHN MALONEY: Jeg liker det faktum at Skrap 2,0, spesielt, er liksom 523 00:27:09,580 --> 00:27:14,070 hemmelighet høyere ytelse enn du kan forestille deg. 524 00:27:14,070 --> 00:27:16,410 Som standard når du gjør animasjoner og så videre, er du 525 00:27:16,410 --> 00:27:20,730 begrenset til oppdaterings sats av skjermen. 526 00:27:20,730 --> 00:27:24,610 Og vi laget det bevisst slik at det bare gjør en liten bit per 527 00:27:24,610 --> 00:27:30,330 ramme, slik at hvis du sier gjenta 10, flytte 10, du faktisk se det bevege seg i 528 00:27:30,330 --> 00:27:32,450 ti små trinn. 529 00:27:32,450 --> 00:27:36,590 >> Men det er en form for skjult modus kalt turbo-modus, som du kan få 530 00:27:36,590 --> 00:27:38,920 ved skift klikke på det grønne flagget. 531 00:27:38,920 --> 00:27:42,670 Og som i utgangspunktet lar den kjøre type så fort som mulig. 532 00:27:42,670 --> 00:27:46,210 Så dette er hva kan du gjøre ting som ray tracer, og du ikke 533 00:27:46,210 --> 00:27:49,480 må - den opprinnelige ray tracer, du måtte vente som omtrent en halv time til 534 00:27:49,480 --> 00:27:52,020 se resultater, fordi det var slags tøffer gjennom 535 00:27:52,020 --> 00:27:53,060 ett bilde om gangen. 536 00:27:53,060 --> 00:27:57,240 Men, med skiftet klikk tingen, kan du få resultatene i noe sånt 537 00:27:57,240 --> 00:27:58,980 tjue sekunder. 538 00:27:58,980 --> 00:28:03,610 Så plutselig kan du bare liksom høyt nivå ting i Scratch, men 539 00:28:03,610 --> 00:28:05,990 det er en skjult funksjon. 540 00:28:05,990 --> 00:28:08,470 >> SPEAKER 1: Tusen takk til Mitchel og John for alt 541 00:28:08,470 --> 00:28:09,890 de har gjort for CS50. 542 00:28:09,890 --> 00:28:13,190 Takk til Andrew, Al, og Shelley, som står bak kameraene denne uken. 543 00:28:13,190 --> 00:28:15,460 Og takk så mye til alle studenter, de av dere der ute som 544 00:28:15,460 --> 00:28:16,290 innsendt innhold. 545 00:28:16,290 --> 00:28:22,340 >> Og ja, hvis du ønsker å bidra med innhold for en fremtidig uke, 546 00:28:22,340 --> 00:28:26,420 trenger nå ut til oss via Facebook, Reddit, Twitter, eller noen av de andre 547 00:28:26,420 --> 00:28:27,570 Kursets midler. 548 00:28:27,570 --> 00:28:29,750 Det er det for CS50 Live. 549 00:28:29,750 --> 00:28:32,480 Dette var CS50. 550 00:28:32,480 --> 00:28:33,730 Pokker. 551 00:28:33,730 --> 00:29:04,598