1 00:00:00,000 --> 00:00:17,044 2 00:00:17,044 --> 00:00:18,210 DAVID J. MALAN: Hei verden. 3 00:00:18,210 --> 00:00:22,679 Dette er CS50 Live og dette er mars 14, noe som betyr, glad pi dag. 4 00:00:22,679 --> 00:00:24,470 Nå har det gått en stund siden vi har sett deg, 5 00:00:24,470 --> 00:00:26,682 fordi sist fredag, Rob Bowden og jeg var faktisk 6 00:00:26,682 --> 00:00:28,390 bort på en konferanse i Atlanta, Georgia. 7 00:00:28,390 --> 00:00:30,525 En konferanse kjent som SIGCSE, Special Interest 8 00:00:30,525 --> 00:00:33,400 Gruppe på Computer Science Education, som hvert år samler 9 00:00:33,400 --> 00:00:35,900 noen tusen lærere til snakke om og å jobbe 10 00:00:35,900 --> 00:00:38,692 på forbedringer på informatikkutdannelse. 11 00:00:38,692 --> 00:00:40,650 En av hovedtalerne dette året, faktisk, 12 00:00:40,650 --> 00:00:42,800 var grunnleggeren av code.org, som du kanskje 13 00:00:42,800 --> 00:00:44,550 sett i pressen løpet av det siste året. 14 00:00:44,550 --> 00:00:47,050 De har gjort en ekstraordinær jobb det siste året med å få 15 00:00:47,050 --> 00:00:50,310 folk begeistret informatikk, og om programmering spesielt. 16 00:00:50,310 --> 00:00:52,351 Faktisk er en av de mest kjente tiltak 17 00:00:52,351 --> 00:00:56,560 er kjent som The Hour of Code som er en mulighet og et pensum via der 18 00:00:56,560 --> 00:00:58,769 du, eller en venn, eller en familiemedlem eller kollega, 19 00:00:58,769 --> 00:01:01,810 kunne få hendene skitne med en bit i informatikk og programmering 20 00:01:01,810 --> 00:01:04,610 for bare en time til se om du kommer inn i det. 21 00:01:04,610 --> 00:01:06,964 >> Faktisk, hvis du selv har en venn, familiemedlem, 22 00:01:06,964 --> 00:01:10,130 eller kollega som ønsker å prøve sin eller hennes hånd på noen informatikk, 23 00:01:10,130 --> 00:01:13,390 men du tror kaste dem inn CS50 er Læreplanen kan være litt for mye for 24 00:01:13,390 --> 00:01:17,910 snart, vel for all del, se dem å code.org / lære hvor de kan prøve 25 00:01:17,910 --> 00:01:21,110 deres hånd for bare én time på en bit av informatikk. 26 00:01:21,110 --> 00:01:23,180 Eller enda bedre, vise dem dette klippet. 27 00:01:23,180 --> 00:01:27,570 >> [VIDEOAVSPILLING] 28 00:01:27,570 --> 00:01:28,570 >> -Hei, jeg heter Leah. 29 00:01:28,570 --> 00:01:29,320 >> -Og jeg er Tonya. 30 00:01:29,320 --> 00:01:31,820 >> -Og vi er heldige nok til å skal studere informatikk. 31 00:01:31,820 --> 00:01:34,895 Vi synes det er forferdelig at 90% av skolen ikke lærer det. 32 00:01:34,895 --> 00:01:37,020 -De gjorde definitivt ikke tilbyr det på min videregående skole. 33 00:01:37,020 --> 00:01:40,047 -Så vi prøver å gjøre denne videoen å vise at hvem som helst kan lære. 34 00:01:40,047 --> 00:01:42,463 Vi ønsker å få 10 millioner studenter til å gjøre The Hour of Code. 35 00:01:42,463 --> 00:01:43,810 >> -Hour of Code. 36 00:01:43,810 --> 00:01:44,410 >> -Hour of Code. 37 00:01:44,410 --> 00:01:45,405 >> -The Hour of Code. 38 00:01:45,405 --> 00:01:46,317 >> -Hour of Code. 39 00:01:46,317 --> 00:01:46,900 -Hour of Code. 40 00:01:46,900 --> 00:01:47,460 -Hour of Code. 41 00:01:47,460 --> 00:01:48,043 -Hour of Code. 42 00:01:48,043 --> 00:01:49,947 -The Hour of Code. 43 00:01:49,947 --> 00:01:51,780 -Hvordan kan du få ham til å komme til solsikke. 44 00:01:51,780 --> 00:01:53,920 Han trenger å gjøre noen handlinger. 45 00:01:53,920 --> 00:01:54,560 >> -Jeg fikk det. 46 00:01:54,560 --> 00:01:56,440 Yay. 47 00:01:56,440 --> 00:01:59,610 >> -Og så får vi kjøre det og se hva som skjer. 48 00:01:59,610 --> 00:02:00,415 >> -Utrolig. 49 00:02:00,415 --> 00:02:02,598 >> -Det vi går. 50 00:02:02,598 --> 00:02:04,483 >> -Du skrev din første program. 51 00:02:04,483 --> 00:02:04,983 -Jeg skrev det? 52 00:02:04,983 --> 00:02:05,937 -Ja. 53 00:02:05,937 --> 00:02:07,368 -Dette er koden du nettopp skrev. 54 00:02:07,368 --> 00:02:08,800 -Veldig awesome. 55 00:02:08,800 --> 00:02:12,317 -Jeg tenkte liksom: kode var som FBI hacker, symboler og sånt. 56 00:02:12,317 --> 00:02:14,650 -Litt av problemet løse, en liten bit av logikk. 57 00:02:14,650 --> 00:02:15,650 -Det er som instruksjoner. 58 00:02:15,650 --> 00:02:18,040 -Programmering er mye lettere i dag. 59 00:02:18,040 --> 00:02:20,060 -Ikke bare spille på telefonen. 60 00:02:20,060 --> 00:02:20,600 Programmere den. 61 00:02:20,600 --> 00:02:21,099 >> -Greit. 62 00:02:21,099 --> 00:02:21,926 -Awesome. 63 00:02:21,926 --> 00:02:24,050 >> -Hvordan noen går om å få en jobb? 64 00:02:24,050 --> 00:02:26,960 >> -Kanskje ta en online klasse, finne en klasse på et community college. 65 00:02:26,960 --> 00:02:29,219 >> -Du kan få en av de beste betalte jobber i verden. 66 00:02:29,219 --> 00:02:31,510 -Jeg tror medisinens flytting inn hele dataalderen. 67 00:02:31,510 --> 00:02:33,450 -Teknologi berører alle deler av våre liv. 68 00:02:33,450 --> 00:02:36,340 Hvis du kan lage teknologi, du kan forandre verden. 69 00:02:36,340 --> 00:02:39,539 >> -Så vi er glade for at du er deltar i dagens Hour of Code. 70 00:02:39,539 --> 00:02:40,830 -Vi gjorde bare to linjer med kode. 71 00:02:40,830 --> 00:02:42,471 -Tre linjer med kode. 72 00:02:42,471 --> 00:02:42,970 -Fire linjer. 73 00:02:42,970 --> 00:02:43,760 -Syv linjer. 74 00:02:43,760 --> 00:02:44,585 -Fem linjer. 75 00:02:44,585 --> 00:02:49,435 76 00:02:49,435 --> 00:02:50,971 -16 Linjer med koder. 77 00:02:50,971 --> 00:02:51,720 -99 Linjer med kode. 78 00:02:51,720 --> 00:02:52,670 -60 Linjer. 79 00:02:52,670 --> 00:02:54,380 -18 Linjer med kode. 80 00:02:54,380 --> 00:02:56,330 -75 Linjer med kode. 81 00:02:56,330 --> 00:02:58,700 -Det spiller ingen rolle hvor gammel du er. 82 00:02:58,700 --> 00:02:59,426 -Hour of Code. 83 00:02:59,426 --> 00:03:01,890 -Hour of Code. 84 00:03:01,890 --> 00:03:02,880 -The Hour of Code. 85 00:03:02,880 --> 00:03:03,750 -The Hour of Code. 86 00:03:03,750 --> 00:03:06,410 -The Hour of Code. 87 00:03:06,410 --> 00:03:08,555 -Enten du er ung mann eller en ung kvinne. 88 00:03:08,555 --> 00:03:11,127 Enten du bor i en by-eller jordbruksområde. 89 00:03:11,127 --> 00:03:13,876 -Alle i dette landet bør lære å programmere en datamaskin. 90 00:03:13,876 --> 00:03:15,001 -Og jeg nettopp fullført - 91 00:03:15,001 --> 00:03:16,050 -Hour of Code. 92 00:03:16,050 --> 00:03:17,790 -Det er faktisk veldig lett å lære. 93 00:03:17,790 --> 00:03:19,330 -Jenter bør lære dette, også. 94 00:03:19,330 --> 00:03:22,940 -Forstå at språket som kommer til å være fremtiden. 95 00:03:22,940 --> 00:03:24,420 -Alle kan lære informatikk. 96 00:03:24,420 --> 00:03:25,378 -Og du kan lære også. 97 00:03:25,378 --> 00:03:29,374 -Jack Dorsey, Mark Zuckerberg, Bill Gates, alle dere, jeg lærer. 98 00:03:29,374 --> 00:03:30,040 -Gi det en sjanse. 99 00:03:30,040 --> 00:03:43,330 100 00:03:43,330 --> 00:03:44,300 >> [END VIDEOAVSPILLING] 101 00:03:44,300 --> 00:03:47,610 >> Nå noe forteller meg at hvis du er i CS50 eller er i CS50x, 102 00:03:47,610 --> 00:03:50,850 du har brukt vel mer enn bare en time på koding. 103 00:03:50,850 --> 00:03:53,080 Men for noen familiemedlemmer, venner eller kolleger 104 00:03:53,080 --> 00:03:56,450 som du ønsker å presentere for dette verden, her er en annen insentiv. 105 00:03:56,450 --> 00:03:57,440 Husk denne fyren? 106 00:03:57,440 --> 00:03:59,860 Veldig populært i det siste, har vært en såkalt flappy 107 00:03:59,860 --> 00:04:01,540 fugl på ulike plattformer. 108 00:04:01,540 --> 00:04:05,310 Og her har vi en URL, på code.org / flappy, 109 00:04:05,310 --> 00:04:08,400 der slags folk på code.org kan sette sammen et verktøy via hvor du 110 00:04:08,400 --> 00:04:12,570 eller en venn kan lage din egen gjennomføring av det populære spillet. 111 00:04:12,570 --> 00:04:13,910 Så sjekk det ut. 112 00:04:13,910 --> 00:04:15,811 >> Nå som konferansen, og sist fredag. 113 00:04:15,811 --> 00:04:18,060 Rob Bowden og jeg der igjen, bort på denne konferansen, 114 00:04:18,060 --> 00:04:19,768 og vi tenkte på å ha en gjest vert. 115 00:04:19,768 --> 00:04:22,174 Og vi prøvde ut ganske få folk til auditions. 116 00:04:22,174 --> 00:04:24,090 Ingen av dem så ut til å trene, så vi trodde 117 00:04:24,090 --> 00:04:27,110 vi vil vise deg noen klipp hva gjorde svette. 118 00:04:27,110 --> 00:04:27,810 >> [VIDEOAVSPILLING] 119 00:04:27,810 --> 00:04:31,670 >> RAMON GALVAN: Jeg er Ramon Galvan fylling i for normal vert, David Malan. 120 00:04:31,670 --> 00:04:40,340 Det amerikanske militærets passord var 000 000, egentlig ikke trygg hvis du spør meg. 121 00:04:40,340 --> 00:04:43,430 Likevel, jeg elsker deg. 122 00:04:43,430 --> 00:04:45,650 I motsetning til David, som sirkler deg. 123 00:04:45,650 --> 00:04:48,880 124 00:04:48,880 --> 00:04:51,040 La oss ikke gå over denne feilen. 125 00:04:51,040 --> 00:04:53,067 Hva handler dette om? 126 00:04:53,067 --> 00:04:54,733 La oss bare se en video med Harry Lewis. 127 00:04:54,733 --> 00:04:55,116 >> [END VIDEOAVSPILLING] 128 00:04:55,116 --> 00:04:57,721 >> DAVID J. MALAN: Nå, hva som er mest morsomt om at klippet er ikke 129 00:04:57,721 --> 00:05:00,720 hvor Ramon utført foran kamera, men hvordan Ramon ikke vet, 130 00:05:00,720 --> 00:05:02,870 til og med noen få øyeblikk siden, at vi var 131 00:05:02,870 --> 00:05:05,860 kommer til å spille disse klemmene tilbake her for deg på internett. 132 00:05:05,860 --> 00:05:07,680 Så CS50 egen, Ramon Galvan. 133 00:05:07,680 --> 00:05:10,070 Kommer tilbake kanskje i noen fremtidig episode. 134 00:05:10,070 --> 00:05:12,460 >> Nå i mellomtiden, kan du huske vi dro siste tider episode 135 00:05:12,460 --> 00:05:14,670 på litt av en cliffhanger, hvor vi har nevnt 136 00:05:14,670 --> 00:05:17,250 at Rob Bowden har en tvillingbror, Paul. 137 00:05:17,250 --> 00:05:19,450 Hvem, igjen, liker seg litt av en komiker. 138 00:05:19,450 --> 00:05:22,200 Men han har også skjedd på nett i en populær amerikansk gameshow, 139 00:05:22,200 --> 00:05:23,696 og vi spurte deg hvilken. 140 00:05:23,696 --> 00:05:25,570 Vel flere av dere skrev på med svaret. 141 00:05:25,570 --> 00:05:27,580 Og her er et slikt eksempel. 142 00:05:27,580 --> 00:05:31,140 >> I CS50 levende, nevnte David om Robert tvillingbror, Paul Bowden, 143 00:05:31,140 --> 00:05:32,590 og spurte om å Google det. 144 00:05:32,590 --> 00:05:34,420 Vel ser ut som han er i Harvard, også. 145 00:05:34,420 --> 00:05:37,990 Og, som ønsker å bli millionær, og ja, om jeg er den første 146 00:05:37,990 --> 00:05:41,810 å rapportere dette, David, sir, ville jeg være glad for å bli berømt på neste CS50 147 00:05:41,810 --> 00:05:42,310 leve. 148 00:05:42,310 --> 00:05:45,400 Så tenk deg selv berømt fordi svaret var ja, 149 00:05:45,400 --> 00:05:46,650 Hvem vil bli millionær. 150 00:05:46,650 --> 00:05:50,390 Og faktisk, avbildet her er Paul Bowden sammen som TV-show vert. 151 00:05:50,390 --> 00:05:53,344 Og vi gjorde også en bit av graving, og fant dette klippet for deg. 152 00:05:53,344 --> 00:05:54,010 [VIDEOAVSPILLING] 153 00:05:54,010 --> 00:05:56,410 -Paul Bowden fra Franklin, New Jersey. 154 00:05:56,410 --> 00:05:59,290 155 00:05:59,290 --> 00:05:59,897 Hei Paul. 156 00:05:59,897 --> 00:06:00,730 Velkommen til showet. 157 00:06:00,730 --> 00:06:02,650 >> -Takk. 158 00:06:02,650 --> 00:06:06,140 >> -Paul det står her at du er en Sophomore ved Harvard University, åpenbart 159 00:06:06,140 --> 00:06:07,840 en smart fyr. 160 00:06:07,840 --> 00:06:09,400 >> -Jeg antar. 161 00:06:09,400 --> 00:06:11,384 >> -Vel i min bok som tyder absolutt på det. 162 00:06:11,384 --> 00:06:13,800 Og jeg vet da du var står i kø for Millionaire, 163 00:06:13,800 --> 00:06:17,420 et tegn fra himmelen sa du er sannsynligvis kommer til å gjøre det bra, ikke sant? 164 00:06:17,420 --> 00:06:19,260 >> -Du kan si det. 165 00:06:19,260 --> 00:06:22,920 Da jeg ble stående i kø jeg hadde en Polo skjorte som var gjemt i 166 00:06:22,920 --> 00:06:26,300 og en fugl som skjedde med bæsj rett ned på baksiden av skjorten min. 167 00:06:26,300 --> 00:06:28,510 Og det var fortsatt gjemt i. 168 00:06:28,510 --> 00:06:30,390 Men det endte opp med å være lykke. 169 00:06:30,390 --> 00:06:32,070 >> -Det er lykke, se? 170 00:06:32,070 --> 00:06:33,440 Der du går, er du her. 171 00:06:33,440 --> 00:06:35,086 Greit, Paul. 172 00:06:35,086 --> 00:06:36,440 Er du klar? 173 00:06:36,440 --> 00:06:36,941 >> -Jeg er klar. 174 00:06:36,941 --> 00:06:37,440 -Greit. 175 00:06:37,440 --> 00:06:38,685 Så la oss spille millionær. 176 00:06:38,685 --> 00:06:41,360 177 00:06:41,360 --> 00:06:44,120 Og broren din har blitt sittende bak deg, din bror Rob. 178 00:06:44,120 --> 00:06:45,220 Hvor er du, Rob? 179 00:06:45,220 --> 00:06:46,150 >> -Jeg er godt hvor er du? 180 00:06:46,150 --> 00:06:47,421 >> -Twin bror. 181 00:06:47,421 --> 00:06:47,920 -Ja. 182 00:06:47,920 --> 00:06:50,290 -Nå er du, den yngre skjønt, du kom ut seks minutter senere, ikke sant? 183 00:06:50,290 --> 00:06:51,130 Er det riktig? 184 00:06:51,130 --> 00:06:51,650 >> -Jeg er, ja. 185 00:06:51,650 --> 00:06:53,970 >> -Men er du smartere bror? 186 00:06:53,970 --> 00:06:55,480 >> -Vel, jeg ønsker ikke å skryte. 187 00:06:55,480 --> 00:06:56,765 Så jeg kan ikke svare på det. 188 00:06:56,765 --> 00:06:58,600 >> [END VIDEOAVSPILLING] 189 00:06:58,600 --> 00:07:02,610 >> -Så Rob har en tvilling, skriver en annen av dine klassekamerater, hmm interessant. 190 00:07:02,610 --> 00:07:04,410 Hvor dypt stikker kaninhullet går? 191 00:07:04,410 --> 00:07:08,290 Jeg har et spørsmål, hvorfor problem sett ta så lang tid å bli autograded? 192 00:07:08,290 --> 00:07:09,860 Hva som foregår bak kulissene? 193 00:07:09,860 --> 00:07:11,590 Så tenkte vi at dette ville faktisk være et godt spørsmål 194 00:07:11,590 --> 00:07:14,930 å svare på fordi det ikke foreslå en litt av en underliggende interessant teknisk 195 00:07:14,930 --> 00:07:15,620 detaljer. 196 00:07:15,620 --> 00:07:18,880 I motsetning til det mange tror, ​​er de ikke faktisk graderes ved Muppets, men heller 197 00:07:18,880 --> 00:07:21,950 med en infrastruktur som vi kjenner som Sjekk 50 på klienten. 198 00:07:21,950 --> 00:07:25,350 Og en infrastruktur vi vet det sandkasse 50 på serversiden. 199 00:07:25,350 --> 00:07:27,250 >> Nå for dem ukjent, for å teste 200 00:07:27,250 --> 00:07:30,009 riktigheten av noen av CS50 problem satt problemer, 201 00:07:30,009 --> 00:07:32,050 du kan kjøre en kommando i den CS50 apparatet kjent 202 00:07:32,050 --> 00:07:35,355 som sjekker 50, der du angir en unik identifikator for testen 203 00:07:35,355 --> 00:07:36,230 at du ønsker å kjøre. 204 00:07:36,230 --> 00:07:38,050 Og så du spesifisere banene til fil 205 00:07:38,050 --> 00:07:40,697 eller filene du vil laste opp til servere for testing. 206 00:07:40,697 --> 00:07:42,780 Nå, når responsen kommer tilbake fra serveren, 207 00:07:42,780 --> 00:07:45,820 forhåpentligvis se dere alle grønn smilefjes, som de her, 208 00:07:45,820 --> 00:07:49,000 noe som indikerer at jeg skrev "Hello, World" veldig riktig. 209 00:07:49,000 --> 00:07:51,630 Derimot, hvis jeg gjorde noe galt, som faktisk ikke 210 00:07:51,630 --> 00:07:55,045 navngi filen på riktig måte, kan jeg få denne skremmende rød ulykkelig ansikt 211 00:07:55,045 --> 00:07:58,230 sier hello.c eksisterer, noe som betyr at det ikke 212 00:07:58,230 --> 00:07:59,669 faktisk, som vist med rødt. 213 00:07:59,669 --> 00:08:01,460 Og hvis noe er i gul, i mellomtiden, det 214 00:08:01,460 --> 00:08:04,400 betyr at de sjekker ikke selv kjøre på grunn av noen avhengighet, 215 00:08:04,400 --> 00:08:07,030 noen tidligere test gjorde ikke faktisk lykkes. 216 00:08:07,030 --> 00:08:09,164 >> Så hva som egentlig skjer under panseret? 217 00:08:09,164 --> 00:08:11,080 Vel når du kjører denne Sjekk 50-kommandoen, er vi 218 00:08:11,080 --> 00:08:12,830 hovedsak suse opp alle filene dine, 219 00:08:12,830 --> 00:08:16,510 komprimere dem, sende dem opp til se CS50 sin klynge av servere, hvor 220 00:08:16,510 --> 00:08:19,090 vi deretter opprette det som kalles en sandkasse rundt dem. 221 00:08:19,090 --> 00:08:21,100 Hovedsak du kan tenke på dette som en mappe, 222 00:08:21,100 --> 00:08:25,250 og som en spesiell bruker som eksisterer utelukkende med det formål å kompilere 223 00:08:25,250 --> 00:08:28,790 og kjører som spesifikk kode isolert fra andres, 224 00:08:28,790 --> 00:08:32,480 slik at bare i tilfelle en student har en utilsiktet uendelig loop eller verre, 225 00:08:32,480 --> 00:08:35,200 det er ikke til å nødvendigvis påvirke noen andre på systemet. 226 00:08:35,200 --> 00:08:39,200 Heller ikke kan noen filer bli manipulert eller slettet som ikke bør tillates. 227 00:08:39,200 --> 00:08:41,159 >> Nå, hvordan koden får testet? 228 00:08:41,159 --> 00:08:45,950 Vel, vi skrev en hel infrastruktur ringte igjen, sandkasse - CS 50 sandkasse. 229 00:08:45,950 --> 00:08:48,470 Og denne infrastrukturen er skrevet, overraskelse, 230 00:08:48,470 --> 00:08:49,980 på et språk som heter Javascript. 231 00:08:49,980 --> 00:08:53,000 Som du kanskje vet, fra client opplevelser, men det viser seg 232 00:08:53,000 --> 00:08:55,490 du kan også bruke Java på tjenersiden. 233 00:08:55,490 --> 00:08:57,450 Hva gjør noen av de tester faktisk se ut? 234 00:08:57,450 --> 00:09:01,260 Vel her er noen server side Java kode, og det er bare et utdrag av denne. 235 00:09:01,260 --> 00:09:04,710 Men dette representerer to sjekker at vi kan kjøre på koden din. 236 00:09:04,710 --> 00:09:08,360 >> Den første av disse opp toppen der, sjekker om filen hello.c eksisterer, 237 00:09:08,360 --> 00:09:11,880 og den andre en faktisk sjekker om filen kompilerer OK. 238 00:09:11,880 --> 00:09:15,080 Og det er det som til syvende og sist genererer de ulykkelige ansikter 239 00:09:15,080 --> 00:09:18,479 eller de glade ansiktene som du ser i form av sjekk 50 resultater. 240 00:09:18,479 --> 00:09:20,270 Nå, for mye mer tekniske detaljer, er du 241 00:09:20,270 --> 00:09:23,436 velkommen til å ta en titt på denne artikkelen her, som tilfeldigvis var faktisk 242 00:09:23,436 --> 00:09:25,680 presentert på fjorårets SIGCSE konferansen, 243 00:09:25,680 --> 00:09:28,660 og det tar for seg mye mer detalj på hvordan dette systemet fungerer 244 00:09:28,660 --> 00:09:31,010 og hvorfor vi bygget det siste året. 245 00:09:31,010 --> 00:09:33,180 >> Nå, i media i det siste, har vært dette uttrykket 246 00:09:33,180 --> 00:09:35,640 her - goto mislykkes, såkalte goto fail 247 00:09:35,640 --> 00:09:38,410 bug som plaget Apple Computer nylig. 248 00:09:38,410 --> 00:09:42,021 Nå trenger vi ikke innføre dette i CS 50, fordi goto uttalelse i C 249 00:09:42,021 --> 00:09:44,770 er generelt mislikt, selv selv om det definitivt har sine bruksområder. 250 00:09:44,770 --> 00:09:47,490 Og hva betyr dette her, goto mislykkes, er at uansett hva 251 00:09:47,490 --> 00:09:50,550 Programmet har denne linjen av kode, skal gå til, er at 252 00:09:50,550 --> 00:09:54,290 hoppe til en annen linje med kode uavhengig av eventuelle linjer 253 00:09:54,290 --> 00:09:58,300 in mellom den, og at kodelinjen vil bli merket med søkeordet mislykkes. 254 00:09:58,300 --> 00:10:01,005 >> Og mislykkes kan være alt, en FUBAR [? BES?] Men i dette tilfellet, 255 00:10:01,005 --> 00:10:03,630 Apple valgte å kalle det mislykkes fordi det er den del av koden som 256 00:10:03,630 --> 00:10:06,850 bør gjennomføre hvis og når noe har sviktet. 257 00:10:06,850 --> 00:10:10,717 Nå, dessverre, gjorde Apple en feil med denne uttalelsen, som vi snart se. 258 00:10:10,717 --> 00:10:12,550 Og de nylig utgitt denne kunngjøringen 259 00:10:12,550 --> 00:10:14,710 i en av sine bug fix rapporter. 260 00:10:14,710 --> 00:10:16,950 En angriper med en privilegert nettverksposisjon 261 00:10:16,950 --> 00:10:21,880 kan fange opp eller endre data i sesjoner beskyttet av SSL / TLS. 262 00:10:21,880 --> 00:10:24,250 SSL, husker, var sikker sockets layer, og det er 263 00:10:24,250 --> 00:10:28,070 teknologien som brukes til typisk kryptere trafikk mellom en nettleser, 264 00:10:28,070 --> 00:10:31,730 si på en Mac eller en iPhone, eller en hvilken som helst andre enheter, og en web server. 265 00:10:31,730 --> 00:10:33,400 Og TLS er relatert til det. 266 00:10:33,400 --> 00:10:36,670 >> Dette problemet ble løst ved å gjenopprette mangler validerings trinn. 267 00:10:36,670 --> 00:10:40,350 Så dette var Apples beskrivelse av problemet og løsningen dertil. 268 00:10:40,350 --> 00:10:41,630 Men hva gjorde egentlig det? 269 00:10:41,630 --> 00:10:44,171 Så vi gjorde litt graving, og vi faktisk funnet kildekoden 270 00:10:44,171 --> 00:10:49,170 for Apples egen gjennomføring av SSL, som igjen påvirker Mac eller iPhone, 271 00:10:49,170 --> 00:10:51,970 spesielt hvis du bruker Safari på disse datamaskinene. 272 00:10:51,970 --> 00:10:53,890 Her er et utdrag fra den koden. 273 00:10:53,890 --> 00:10:56,140 >> Nå kan du ikke kjenne igjen noen av funksjonene. 274 00:10:56,140 --> 00:10:59,560 Og du kan ikke gjenkjenne bruken av en gå til uttalelse frem til nå. 275 00:10:59,560 --> 00:11:01,480 Men dette er noe kjent syntaks. 276 00:11:01,480 --> 00:11:04,900 Vi har litt om forholdene, noen innrykk, en funksjon, klammeparentes. 277 00:11:04,900 --> 00:11:06,340 Så ikke alle som utenlandske. 278 00:11:06,340 --> 00:11:07,780 Men la oss zoome inn litt. 279 00:11:07,780 --> 00:11:11,590 Her, tilpasse seg disse forholdene, og her er omtale av goto mislykkes. 280 00:11:11,590 --> 00:11:12,579 Nå, hva er mislykkes? 281 00:11:12,579 --> 00:11:14,870 Vel la oss faktisk bla ned ytterligere i programmet. 282 00:11:14,870 --> 00:11:17,360 Disse linjene av kode, de tre linjene som 283 00:11:17,360 --> 00:11:20,970 utføres hvis du gjør faktisk gå til å mislykkes. 284 00:11:20,970 --> 00:11:22,430 >> Nå, hva er problemet da? 285 00:11:22,430 --> 00:11:24,430 Vel, la oss gå tilbake opp på de forholdene der 286 00:11:24,430 --> 00:11:28,630 Jeg har merket med gult alle nevner av goto mislykkes. 287 00:11:28,630 --> 00:11:30,860 Se noe nysgjerrig? 288 00:11:30,860 --> 00:11:32,210 Fokus på bunnen der. 289 00:11:32,210 --> 00:11:32,710 Høyre? 290 00:11:32,710 --> 00:11:34,830 Koden kan være nye, men ideene er ikke. 291 00:11:34,830 --> 00:11:37,130 Hvis vi zoomer inn her, vil du legge merke til at programmereren 292 00:11:37,130 --> 00:11:40,200 har skrevet goto mislykkes to ganger, men rykket dem begge. 293 00:11:40,200 --> 00:11:44,445 Men du kan ha gjort den samme feilen selv i noen problemer for CS 50. 294 00:11:44,445 --> 00:11:47,070 Bare fordi du rykke inn to linjer kode innsiden av en tilstand 295 00:11:47,070 --> 00:11:49,111 betyr ikke at de er begge kommer til å utføre. 296 00:11:49,111 --> 00:11:52,240 De er bare begge kommer til å utføre hvis du faktisk omgir dem begge 297 00:11:52,240 --> 00:11:53,100 med hva? 298 00:11:53,100 --> 00:11:54,320 Klammeparentes. 299 00:11:54,320 --> 00:11:57,130 >> Så hva er det egentlig som skjer hvis Jeg liksom fikse innrykk 300 00:11:57,130 --> 00:12:01,330 og ikke legge noen klammeparentes, hva er egentlig skjer under panseret, 301 00:12:01,330 --> 00:12:03,920 er at goto fail har hovedsak venstre allianse her, 302 00:12:03,920 --> 00:12:07,100 noe som betyr at det kommer til å utføre uansett hva. 303 00:12:07,100 --> 00:12:09,640 Og du kommer til å gå til, eller hoppe til, de tre 304 00:12:09,640 --> 00:12:12,500 linjer med kode så vi på et øyeblikk siden. 305 00:12:12,500 --> 00:12:14,330 Så hva er konsekvensen? 306 00:12:14,330 --> 00:12:17,760 Vel, ta en titt på disse bunn fleste to linjer her. 307 00:12:17,760 --> 00:12:20,450 Disse linjene vil aldri, noensinne bli nådd. 308 00:12:20,450 --> 00:12:22,780 Fordi uansett hva, at andre goto fail 309 00:12:22,780 --> 00:12:25,790 kommer til å tvinge programmet å hoppe rett over disse linjene. 310 00:12:25,790 --> 00:12:28,030 Og lang historie kort, de to siste linjene 311 00:12:28,030 --> 00:12:31,100 er faktisk viktig for riktigheten av SSL. 312 00:12:31,100 --> 00:12:35,610 >> Faktisk, hvis de ikke utføres, er det mulig eller en motstander, en bad guy, 313 00:12:35,610 --> 00:12:38,210 å føre det som er allment kjent som en mann i midten angrep, 314 00:12:38,210 --> 00:12:41,860 utgir seg for å være et sikkert nettsted liker Facebook, eller Amazon eller Google. 315 00:12:41,860 --> 00:12:45,680 Men egentlig bare se - å ha en kryptert tilkobling til dere, 316 00:12:45,680 --> 00:12:48,792 og de deretter videresende trafikken sammen, for bedre eller verre. 317 00:12:48,792 --> 00:12:50,750 Muligens ditt brukernavn, muligens passordet ditt, 318 00:12:50,750 --> 00:12:54,080 muligens kredittkortinformasjon, til den faktiske aktuelle området. 319 00:12:54,080 --> 00:12:55,410 Eller selv ikke i det hele tatt. 320 00:12:55,410 --> 00:12:57,656 Med andre ord, bryter dette SSL. 321 00:12:57,656 --> 00:12:59,280 Nå heldigvis, Apple gjorde løse dette. 322 00:12:59,280 --> 00:13:01,930 Både for Mac OS og iOS nylig. 323 00:13:01,930 --> 00:13:04,790 Men hvis du ønsker å dobbeltsjekke Datamaskinen din er nå oppdatert, 324 00:13:04,790 --> 00:13:08,630 forutsatt at du har automatisk oppdatering på, hodet til gotofail.com 325 00:13:08,630 --> 00:13:11,440 og du vil se en fin liten test som vil fortelle deg så mye. 326 00:13:11,440 --> 00:13:14,190 I mellomtiden, hvis du ønsker å ta en ser på selve kildekoden, 327 00:13:14,190 --> 00:13:16,990 dette er en lang URL, men her er den hele kildekoden for denne filen 328 00:13:16,990 --> 00:13:19,740 hvis du ønsker å få en følelse av hva den virkelige verden programmering er 329 00:13:19,740 --> 00:13:22,310 like, og ærlig reelle bugs. 330 00:13:22,310 --> 00:13:25,390 >> Snakker av bugs, dette meme var sirkulert ganske mye i det siste. 331 00:13:25,390 --> 00:13:28,670 99 små bugs i koden, 99 små bugs i koden, 332 00:13:28,670 --> 00:13:32,650 ta en ned, lappe den rundt, 127 små bugs i koden. 333 00:13:32,650 --> 00:13:34,010 Så hva er dette henviser til? 334 00:13:34,010 --> 00:13:36,410 Muligens er dette en opplevelse du selv har hatt, 335 00:13:36,410 --> 00:13:39,400 hvor du prøver å jage ned noen bug, og deretter en annen, eller kanskje 336 00:13:39,400 --> 00:13:42,290 enda flere bugs vokse opp som et resultat av at du har prøvd 337 00:13:42,290 --> 00:13:43,829 å løse ett problem. 338 00:13:43,829 --> 00:13:45,620 Faktisk, for at dette skal treffes hjemme enda lenger, 339 00:13:45,620 --> 00:13:48,080 la oss trekke opp et ansikt det er kanskje kjent. 340 00:13:48,080 --> 00:13:49,730 Hal, fra Malcolm in the Middle. 341 00:13:49,730 --> 00:13:50,850 >> [VIDEOAVSPILLING] 342 00:13:50,850 --> 00:13:52,818 >> [Musikk spilles] 343 00:13:52,818 --> 00:14:17,587 344 00:14:17,587 --> 00:14:18,420 [END VIDEOAVSPILLING] 345 00:14:18,420 --> 00:14:21,128 DAVID J. Malan: og nå noen hellos fra noen av dine klassekamerater. 346 00:14:21,128 --> 00:14:24,405 Opp først er Khalid, og en venn av hans som kommer fra Nord-Virginia 347 00:14:24,405 --> 00:14:26,030 i USA. 348 00:14:26,030 --> 00:14:30,590 >> KHALID: Ahoy CS50 kamerater, min Navnet er Khalid [uhørbart]. 349 00:14:30,590 --> 00:14:35,580 Møt min papegøye, [uhørbart] Jeg bor i Nord-Virginia. 350 00:14:35,580 --> 00:14:41,070 Jeg er en åttende klassing og jeg er glade for å være del av CS50 klasse. 351 00:14:41,070 --> 00:14:46,340 Dette er flott å oppleve en høyskole, men bo hjemme. 352 00:14:46,340 --> 00:14:49,980 Som du kan gjette, er jeg innmeldt i den elektroniske læringsprogrammet. 353 00:14:49,980 --> 00:14:54,380 Føl deg fri til å oppleve mitt første prosjekt her. 354 00:14:54,380 --> 00:14:56,579 Se deg rundt. 355 00:14:56,579 --> 00:14:58,620 DAVID J. MALAN: Og nå la oss dra til Kansas City, 356 00:14:58,620 --> 00:15:00,464 Missouri hvor Derek venter. 357 00:15:00,464 --> 00:15:03,380 Derek var på jobb da han filmet dette slik at du kan høre litt av støy 358 00:15:03,380 --> 00:15:07,170 i bakgrunnen siden han arbeider i et datasenter. 359 00:15:07,170 --> 00:15:10,520 >> DEREK MITCHELL: Hei verden, mitt navn er Derek Mitchell. 360 00:15:10,520 --> 00:15:12,930 Jeg er i Kansas City, Missouri. 361 00:15:12,930 --> 00:15:16,790 Og jeg tar den CS50 klasse fordi jeg virkelig 362 00:15:16,790 --> 00:15:19,830 trenger å lære noen programmering for jobben min. 363 00:15:19,830 --> 00:15:20,770 Det er der jeg jobber. 364 00:15:20,770 --> 00:15:27,030 Jeg er en regional support tekniker for Cabelas, verdens fremste outfitter. 365 00:15:27,030 --> 00:15:31,160 Og jeg prøver bare å lære litt mer programmering så jeg kan utmerke seg på min karriere 366 00:15:31,160 --> 00:15:33,690 og bare være en bedre tekniker. 367 00:15:33,690 --> 00:15:40,600 Så igjen, mitt navn er Derek Mitchell og dette er CS50. 368 00:15:40,600 --> 00:15:45,950 >> [Snakker italiensk] 369 00:15:45,950 --> 00:15:47,110 >> FEDERICO: Hei verden. 370 00:15:47,110 --> 00:15:48,318 Mitt navn er Federico Grivelli. 371 00:15:48,318 --> 00:15:49,210 Jeg er fra Italia. 372 00:15:49,210 --> 00:15:52,670 Jeg ble født i en av de største byene i landet, Milan. 373 00:15:52,670 --> 00:15:56,720 Og jeg ble faktisk oppvokst i en mindre by ved siden av Milano. 374 00:15:56,720 --> 00:16:00,740 Så her starter mitt ønske på å utvide min horisont. 375 00:16:00,740 --> 00:16:04,910 Og dette er grunnen i dag er jeg en fremmed utvekslingsstudent i Washington state. 376 00:16:04,910 --> 00:16:07,260 Selvfølgelig, United States of America. 377 00:16:07,260 --> 00:16:10,545 Så amerikansk utdanning er veldig forskjellig fra italiensk. 378 00:16:10,545 --> 00:16:14,150 Her får jeg mye mer hendene på erfaring, 379 00:16:14,150 --> 00:16:17,870 snarere enn studier og utenatlæring. 380 00:16:17,870 --> 00:16:24,430 Så dette var meg, igjen er navnet mitt Federico Grivelli, og dette er en CS50. 381 00:16:24,430 --> 00:16:27,240 >> DAVID J. MALAN: Og nå et hei fra noen vi ikke var ventet. 382 00:16:27,240 --> 00:16:28,380 >> SARAH COFFEY: Hei verden. 383 00:16:28,380 --> 00:16:32,030 Mitt navn er Sarah Coffey, jeg er fra Maltham, Massachusetts, 384 00:16:32,030 --> 00:16:35,810 og jeg er gift med CS50 egen Dan Coffey. 385 00:16:35,810 --> 00:16:39,592 Dan, jeg ville bare ønske du en veldig fin bursdag. 386 00:16:39,592 --> 00:16:42,550 DAVID J. MALAN: Han vet ikke dette er i ferd med å skje, men CS50 egen, 387 00:16:42,550 --> 00:16:44,770 Danny Coffey, er riktig nå i kontrollrommet. 388 00:16:44,770 --> 00:16:49,125 Men er i ferd med å være på internett, fordi i dag er 29 år. 389 00:16:49,125 --> 00:16:51,865 390 00:16:51,865 --> 00:16:53,308 Kom ut Dan. 391 00:16:53,308 --> 00:16:57,160 392 00:16:57,160 --> 00:17:01,306 Kom ut, Dan, ellers dette er i ferd med å bli svært vanskelig. 393 00:17:01,306 --> 00:17:04,010 Dan? 394 00:17:04,010 --> 00:17:08,040 I år er Dan Coffey, visste ikke dette skulle skje - vi 395 00:17:08,040 --> 00:17:10,780 selvfølgelig har forberedt dette. 396 00:17:10,780 --> 00:17:20,980 Så glade 29-årsdag, og vi håper du er, faktisk, overrasket. 397 00:17:20,980 --> 00:17:23,741 Nei, det, andre veien, andre veien. 398 00:17:23,741 --> 00:17:24,240 Nei det var. 399 00:17:24,240 --> 00:17:24,889 >> DAN COFFEY: Det vi går. 400 00:17:24,889 --> 00:17:26,430 >> DAVID J. MALAN: Dan Coffey, alle. 401 00:17:26,430 --> 00:17:28,460 Tusen takk Dan, for å komme ut. 402 00:17:28,460 --> 00:17:32,400 Og nå, 60 sekunder av pandaer. 403 00:17:32,400 --> 00:17:33,676 >> [VIDEOAVSPILLING] 404 00:17:33,676 --> 00:17:36,156 >> [Musikk spilles] 405 00:17:36,156 --> 00:18:32,077 406 00:18:32,077 --> 00:18:32,910 [END VIDEOAVSPILLING] 407 00:18:32,910 --> 00:18:34,670 DAVID J. MALAN: Nå kan du husker fra en fersk episode, 408 00:18:34,670 --> 00:18:37,830 at vi innførte LaunchCode, en initiativ i Saint Louis, Missouri, 409 00:18:37,830 --> 00:18:40,200 drevet av frivillige som har fulgt sammen 410 00:18:40,200 --> 00:18:43,304 med CS50 læreplan og guiding borgere av Saint Louis 411 00:18:43,304 --> 00:18:46,470 ved at materialet mot en ende av bidrar til å pare dem med programmering 412 00:18:46,470 --> 00:18:48,530 jobber på slutten av semesteret. 413 00:18:48,530 --> 00:18:51,360 Du husker kanskje faktisk, at dette initiativet var så populær 414 00:18:51,360 --> 00:18:55,749 i Saint Louis, at de nesten fløt det lokale operahuset. 415 00:18:55,749 --> 00:18:57,540 Vel, LaunchCode sin gründerne svært allernådigst 416 00:18:57,540 --> 00:18:59,610 kom til campus nylig og ble enige om å sette seg ned 417 00:18:59,610 --> 00:19:02,830 med oss ​​i Sanders Theatre for en prat om hva LaunchCode er 418 00:19:02,830 --> 00:19:04,589 og hvordan det har pågått. 419 00:19:04,589 --> 00:19:07,880 DAVID J. MALAN: Vi er her i dag med vår venner fra LaunchCode som har fløyet 420 00:19:07,880 --> 00:19:10,410 i hele veien fra St. Louis for å si hei. 421 00:19:10,410 --> 00:19:11,279 Hei alle sammen. 422 00:19:11,279 --> 00:19:12,070 JIM McKelvey: Hei. 423 00:19:12,070 --> 00:19:14,819 DAVID J. MALAN: Hvem har vi her sammen med oss ​​i dag fra LaunchCode. 424 00:19:14,819 --> 00:19:16,304 JIM McKelvey: Så, jeg er Jim McKelvey. 425 00:19:16,304 --> 00:19:17,720 BRENDAN LIND: Og jeg er Brendan Lind. 426 00:19:17,720 --> 00:19:19,050 ZACH LOU: Og jeg er Zach Lou. 427 00:19:19,050 --> 00:19:20,020 DAVID J. MALAN: Og for de som ikke kjenner, 428 00:19:20,020 --> 00:19:22,005 kan du fortelle oss litt om hva LaunchCode er? 429 00:19:22,005 --> 00:19:24,380 >> JIM McKelvey: Så LaunchCode er en jobb plassering system 430 00:19:24,380 --> 00:19:26,880 at vi er pionerer starter i St. Louis, 431 00:19:26,880 --> 00:19:28,600 men vi kommer til å ta det på landsbasis. 432 00:19:28,600 --> 00:19:31,460 Ideen er i utgangspunktet å få selskapene til å endre sin ansettelses 433 00:19:31,460 --> 00:19:34,640 praksis for å akseptere mennesker som har utradisjonell legitimasjon. 434 00:19:34,640 --> 00:19:39,350 Så som vi vet, som programmerere, at mange av de beste programmerere 435 00:19:39,350 --> 00:19:41,720 er selvlært til en viss grad. 436 00:19:41,720 --> 00:19:44,869 Og selskapene ikke nødvendigvis gjenkjenne 437 00:19:44,869 --> 00:19:46,160 dette i sine ansette praksis. 438 00:19:46,160 --> 00:19:49,240 Så hvis du er en god koder, du fremdeles ikke nødvendigvis 439 00:19:49,240 --> 00:19:51,080 har en måte å en god jobb. 440 00:19:51,080 --> 00:19:53,400 >> Og så begynte vi å jobbe med hundre selskaper 441 00:19:53,400 --> 00:19:55,790 fra milliard dollar firmaer som Enterprise, 442 00:19:55,790 --> 00:19:59,670 og MasterCard, ned til to-manns start-ups. 443 00:19:59,670 --> 00:20:03,720 Og vi har fått dem alle til å bli enige å ta LaunchCode kandidater inn, 444 00:20:03,720 --> 00:20:05,230 utgangspunktet en lærlingordning. 445 00:20:05,230 --> 00:20:07,920 >> DAVID J. MALAN: Og hvordan fant du CS50 er materialer i første omgang. 446 00:20:07,920 --> 00:20:09,461 >> JIM McKelvey: Så det var virkelig morsomt. 447 00:20:09,461 --> 00:20:14,310 Min kone tok klassen din på nettet gjennom Harvard Extension. 448 00:20:14,310 --> 00:20:17,560 Og hun tok Fall 2012 CS50. 449 00:20:17,560 --> 00:20:22,010 Og mens vi var, jeg er en dataingeniør ved trening. 450 00:20:22,010 --> 00:20:25,180 Og så jeg hjalp henne gjennom klassen, ble jeg ser det. 451 00:20:25,180 --> 00:20:30,980 Og hun sa, du vet, dette er som tilbys på nettet gjennom EDX, 452 00:20:30,980 --> 00:20:36,960 og vi plasserer disse menneskene, som har svært lite tradisjonelle legitimasjon, 453 00:20:36,960 --> 00:20:38,870 og vi er like, ville dette være fantastisk. 454 00:20:38,870 --> 00:20:40,540 Så det er slik vi fant ut om det. 455 00:20:40,540 --> 00:20:41,535 Gjennom m kone, Anna. 456 00:20:41,535 --> 00:20:42,994 Og din Harvard Extension Program. 457 00:20:42,994 --> 00:20:44,201 DAVID J. MALAN: Det er morsomt. 458 00:20:44,201 --> 00:20:47,620 Det er slik en liten avgjørelse, hennes taking klassene hadde en slik innvirkning da. 459 00:20:47,620 --> 00:20:49,940 >> JIM McKelvey: Det var super heldig. 460 00:20:49,940 --> 00:20:53,931 Og vi var veldig glade for å se at dere jobbet med EDX 461 00:20:53,931 --> 00:20:56,430 og gjør den tilgjengelig, og alle tilleggsmaterialer. 462 00:20:56,430 --> 00:20:58,840 Og det er fantastisk ressurs for opplæring. 463 00:20:58,840 --> 00:20:59,590 DAVID J. MALAN: OK. 464 00:20:59,590 --> 00:21:02,596 Vel, i nyhetene, vi faktisk kom over en titt 465 00:21:02,596 --> 00:21:05,720 på hva den første natten av LaunchCode var da du var i operahuset. 466 00:21:05,720 --> 00:21:07,520 Kan du gi oss en førstehånds beretning om hva 467 00:21:07,520 --> 00:21:09,840 din erfaring var som den kvelden? 468 00:21:09,840 --> 00:21:11,880 >> JIM McKelvey: Ja, så jeg var i Roma. 469 00:21:11,880 --> 00:21:14,950 Og Brendan ringte meg på 03:00 i morgen, og sa, 470 00:21:14,950 --> 00:21:17,140 vi har flommet over alle tre arenaer. 471 00:21:17,140 --> 00:21:21,360 Så vi hadde Christ Church Katedralen, Downtown Library, 472 00:21:21,360 --> 00:21:24,520 og Soldiers Memorial, som er tre ganske store arenaer. 473 00:21:24,520 --> 00:21:26,390 Og vi ventet et par hundre mennesker. 474 00:21:26,390 --> 00:21:28,550 Vi hadde over 1000 mennesker melde seg. 475 00:21:28,550 --> 00:21:30,890 Så vi fløt over alt og Brendan kaller meg, 476 00:21:30,890 --> 00:21:33,840 liker, trenger vi en større bygning. 477 00:21:33,840 --> 00:21:36,370 Og de fikk oss dette giganten, dette gigantiske opera 478 00:21:36,370 --> 00:21:38,717 hus, hvor vi holdt den første klassen. 479 00:21:38,717 --> 00:21:40,050 DAVID J. MALAN: Å, det er flott. 480 00:21:40,050 --> 00:21:42,590 JIM McKelvey: Og folk var så takknemlig. 481 00:21:42,590 --> 00:21:45,930 Jeg mener, folk som vi er nå er 482 00:21:45,930 --> 00:21:48,089 folk som du bare vil å hjelpe disse folkene. 483 00:21:48,089 --> 00:21:50,630 DAVID J. MALAN: Og fra hva du har sett, bare hvor realistisk 484 00:21:50,630 --> 00:21:53,460 er det noen som kommer inn i kurs med ingen tidligere bakgrunn. 485 00:21:53,460 --> 00:21:56,150 Og noen måneder senere, de har 13 uker med CS50 486 00:21:56,150 --> 00:21:58,310 under beltet å faktisk føler seg trygg nok 487 00:21:58,310 --> 00:22:01,000 og være kvalifisert nok for en faktisk programmeringsjobb. 488 00:22:01,000 --> 00:22:03,590 >> JIM McKelvey: Så David, Vi vet egentlig ikke, OK? 489 00:22:03,590 --> 00:22:06,770 Fordi vi har ikke gjort det når som helst slags skalere ennå. 490 00:22:06,770 --> 00:22:10,910 Du vet, våre datapunkter akkurat nå er hva jeg har lært var mulig. 491 00:22:10,910 --> 00:22:13,533 Og så 50 noen folk som vi har plassert, 492 00:22:13,533 --> 00:22:15,200 vi vet generelt hvor de er. 493 00:22:15,200 --> 00:22:18,270 Og vår gjetning er at noen som kommer gjennom CS50 494 00:22:18,270 --> 00:22:21,397 kommer til å være generelt så dyktig som noen 495 00:22:21,397 --> 00:22:23,480 av de menneskene vi har allerede registrert. 496 00:22:23,480 --> 00:22:25,620 >> Så vi ikke har bevist sin skala ennå. 497 00:22:25,620 --> 00:22:29,140 Og jeg sier ikke at det er en fullføre i utdanning på noen måte. 498 00:22:29,140 --> 00:22:31,990 Men det er en god start. 499 00:22:31,990 --> 00:22:33,640 Og det gir folk en sammenheng. 500 00:22:33,640 --> 00:22:36,310 Og det også, vet du, det er en streng klasse. 501 00:22:36,310 --> 00:22:40,020 Så alle som fullfører dette klasse har bevist noe. 502 00:22:40,020 --> 00:22:43,175 At de har vist noen karakter eller en kombinasjon av deg 503 00:22:43,175 --> 00:22:48,170 vet, enten fasthet eller intelligens, eller hva det magiske formelen er 504 00:22:48,170 --> 00:22:51,660 som får dem gjennom den ganske tøff klasse, 505 00:22:51,660 --> 00:22:54,420 vi tror det kommer til å bode veldig godt for deres suksess. 506 00:22:54,420 --> 00:22:57,340 Og vi har selskaper som er villig til å sikkerhetskopiere på det. 507 00:22:57,340 --> 00:22:59,700 Så, så vi vet egentlig ikke. 508 00:22:59,700 --> 00:23:03,630 Men vi er veldig optimistisk på at alle som kommer gjennom CS50, 509 00:23:03,630 --> 00:23:06,080 vi kan få en jobb. 510 00:23:06,080 --> 00:23:09,320 >> BRENDAN LIND: Og ting er at LaunchCode er ikke 511 00:23:09,320 --> 00:23:11,120 som den typiske entry level utleie. 512 00:23:11,120 --> 00:23:13,870 Greit, det er ikke der du kommer inn og sier 513 00:23:13,870 --> 00:23:16,410 normalt du kanskje trenger en C.S. grad og to års arbeid 514 00:23:16,410 --> 00:23:18,800 opplevelse å få en masse arbeidsplasser, ikke sant? 515 00:23:18,800 --> 00:23:22,680 Men så, kommer LaunchCode i, du trenger ikke noen av disse tingene. 516 00:23:22,680 --> 00:23:24,620 Du trenger ikke å være kvalifisert til det punktet. 517 00:23:24,620 --> 00:23:26,370 Hvor du må være er har at aptitude 518 00:23:26,370 --> 00:23:27,780 og kjøre for å komme til det nivået. 519 00:23:27,780 --> 00:23:28,960 Så det er en læretid. 520 00:23:28,960 --> 00:23:31,920 Og det varer til du er på det nivå, hvor 521 00:23:31,920 --> 00:23:34,040 du ville bli brakt i for den normale stilling. 522 00:23:34,040 --> 00:23:35,910 Og selskapet kan la du går på noe punkt. 523 00:23:35,910 --> 00:23:38,000 >> DAVID J. MALAN: Så selskapene er de som gjør, til slutt, 524 00:23:38,000 --> 00:23:39,177 det første partnerskapet. 525 00:23:39,177 --> 00:23:40,010 BRENDAN LIND: Høyre. 526 00:23:40,010 --> 00:23:43,045 Så hva CS50 - hva vi er gjør prøver å gjøre med CS50 527 00:23:43,045 --> 00:23:46,320 er å få dem til det punktet hvor da, hei hvis du kan ta CS50, 528 00:23:46,320 --> 00:23:48,620 som du har denne stasjonen, du har som vilje til å lære, 529 00:23:48,620 --> 00:23:53,460 og du har den evne til å selv lære og jobbe i et selskap, 530 00:23:53,460 --> 00:23:56,160 til å håndtere hva det er som er nødvendig. 531 00:23:56,160 --> 00:23:58,530 Og så kan vi få dem, vi få dem i døren. 532 00:23:58,530 --> 00:24:02,640 Og de får betalt, de får betalt $ 15 en time for varigheten læretid. 533 00:24:02,640 --> 00:24:05,880 Og når de er klare, selskapet gjør dem til en lønnet stilling. 534 00:24:05,880 --> 00:24:08,570 Hvis de ikke gjør det, dersom selskapet ikke tror at de er på vei, 535 00:24:08,570 --> 00:24:09,445 de kan la dem gå. 536 00:24:09,445 --> 00:24:14,750 Og så langt, er at suksess at stort sett alle er fortsatt 537 00:24:14,750 --> 00:24:15,630 med deres selskap. 538 00:24:15,630 --> 00:24:16,540 >> DAVID J. MALAN: OK. 539 00:24:16,540 --> 00:24:18,350 Så akkurat nå er du fokusert på Saint Louis, 540 00:24:18,350 --> 00:24:20,880 men jeg samle du ønsker å ta initiativ nasjonalt. 541 00:24:20,880 --> 00:24:22,790 Så hva er faktisk neste for deg? 542 00:24:22,790 --> 00:24:25,630 >> JIM McKelvey: Så neste er en serie av byer rundt om i landet. 543 00:24:25,630 --> 00:24:28,710 Så, ønsker vi ikke å gå nasjonalt før vi avgrense modellen, 544 00:24:28,710 --> 00:24:32,470 og kanskje lagt et par av dem fortau gjennom smuss. 545 00:24:32,470 --> 00:24:34,830 Fullføringen av denne første CS50 klasse er 546 00:24:34,830 --> 00:24:38,080 kommer til å være veldig viktig, fordi vi får gode data fra det. 547 00:24:38,080 --> 00:24:43,079 Men når vi vet hva som fungerer og hva vi egentlig burde gjøre og skalering, 548 00:24:43,079 --> 00:24:45,120 så vi kommer til å skalere så raskt som mulig, 549 00:24:45,120 --> 00:24:46,710 fordi behovet finnes overalt. 550 00:24:46,710 --> 00:24:50,260 Og vi prøver ikke å gjøre dette til noen slags lokal, Saint Louis fenomen. 551 00:24:50,260 --> 00:24:52,740 Vi bare bruker det som en test seng. 552 00:24:52,740 --> 00:24:55,900 Og da vil vi være å utvide du vet, så raskt vi kan 553 00:24:55,900 --> 00:24:58,160 til steder som har tilsvarende behov. 554 00:24:58,160 --> 00:25:00,070 >> DAVID J. MALAN: Vel, takk så mye for alt du har gjort. 555 00:25:00,070 --> 00:25:01,610 Vi er smigret å selv være en del av det. 556 00:25:01,610 --> 00:25:02,660 Det har vært ganske inspirerende. 557 00:25:02,660 --> 00:25:03,660 >> JIM McKelvey: Takk. 558 00:25:03,660 --> 00:25:08,610 Dette har vært så sjenerøse av bare en verdensklasse utdanning som 559 00:25:08,610 --> 00:25:12,660 er tilgjengelig for folk som genuint setter pris på det. 560 00:25:12,660 --> 00:25:14,410 Jeg skulle ønske du kunne møte noen av studentene 561 00:25:14,410 --> 00:25:18,470 og se folk som deg vet, det forandrer liv. 562 00:25:18,470 --> 00:25:22,610 Og jeg skulle bare ønske vi kunne nå gjennom kameraene og bringe dem her. 563 00:25:22,610 --> 00:25:25,090 Men det er så meningsfylt. 564 00:25:25,090 --> 00:25:28,189 Og det er å flytte nålen og det er veldig bra. 565 00:25:28,189 --> 00:25:28,730 Så takk. 566 00:25:28,730 --> 00:25:29,980 >> DAVID J. MALAN: Thank du fra oss også. 567 00:25:29,980 --> 00:25:30,900 Setter pris på det. 568 00:25:30,900 --> 00:25:33,660 569 00:25:33,660 --> 00:25:35,660 Takk så mye for å bli med oss. 570 00:25:35,660 --> 00:25:39,550 launchcodestl.com for mer. 571 00:25:39,550 --> 00:25:43,109 >> Så vi fikk chatting kort tid etter at chatte om hva mer vi kunne gjøre. 572 00:25:43,109 --> 00:25:44,400 Og vi kom over følgende. 573 00:25:44,400 --> 00:25:48,010 Vi er så glade for å kunngjøre første gang CS50 Hackathon at 574 00:25:48,010 --> 00:25:50,500 skal gå på Veien til Saint Louis. 575 00:25:50,500 --> 00:25:51,780 Den LaunchCode utgaven. 576 00:25:51,780 --> 00:25:54,230 Faktisk vil vi ta med oss, Hvis du ønsker å møte disse folkene. 577 00:25:54,230 --> 00:25:56,563 Hvis du selv hagl fra St. Louis, eller ville til slutt 578 00:25:56,563 --> 00:25:59,850 som å tune inn online, CS50 er egen Andrew vil være der. 579 00:25:59,850 --> 00:26:04,720 CS50 Chang, Colton, Dan, som du nettopp har møtt, 580 00:26:04,720 --> 00:26:11,040 Devin, Gabriel, Jason, Ramon, som du også møtt tidligere. 581 00:26:11,040 --> 00:26:15,920 Rob Bowden, Shelly, som du kan husker fra filmer som - 582 00:26:15,920 --> 00:26:17,370 og [? Zemaila?]. 583 00:26:17,370 --> 00:26:20,600 >> Så ja, hvis du ønsker å bli med oss ​​i St. Louis eller online 584 00:26:20,600 --> 00:26:24,800 på live.cs50.net, tune in for neste live show på fredag 585 00:26:24,800 --> 00:26:27,332 28 mars kl 06:00 Eastern Time. 586 00:26:27,332 --> 00:26:29,790 Vi kommer til å være våken for ganske mange timer den kvelden. 587 00:26:29,790 --> 00:26:32,170 Og vi håper du vil bo opp med oss ​​også. 588 00:26:32,170 --> 00:26:33,896 Det var det for denne ukens CS50 Live. 589 00:26:33,896 --> 00:26:35,770 Takk så mye til alle bak kameraet. 590 00:26:35,770 --> 00:26:37,320 Takk så mye til våre bidragsytere. 591 00:26:37,320 --> 00:26:39,880 Vi vil se deg i St. Louis, dette var CS50. 592 00:26:39,880 --> 00:27:07,810 593 00:27:07,810 --> 00:27:10,350 >> RAMON: Hva sier reven? 594 00:27:10,350 --> 00:27:31,146