[Powered by Google Translate] SPEAKER 1: Dette er CS50. Så jeg var der du er nå noen år siden, og da jeg var en freshman på gang, var jeg egentlig ikke på denne veien for å gjøre datamaskiner vitenskap, for å gjøre engineering. Faktisk kom jeg inn i dette stedet som en regjering konsentratoren. Jeg hadde vært i videregående skole en gutt som likte ting som historie. Jeg likte statsrett, slag av engelsk og matematikk, så snilt av godt avrundet, men ikke nødvendigvis vet ting som jeg ikke hadde lært i videregående skole. Og så freshman år, hadde jeg denne trepidation, der selv om jeg likte datamaskiner, spille dataspill og lignende, jeg absolutt aldri tenkt på meg selv som en datamaskin person, en datamaskin vitenskapsmann, og ærlig, trodde jeg mine venner i videregående skole som ble tatt datamaskin vitenskap var litt av en - geeks. Og likevel, når jeg kom hit på campus, var det dette kurset, CS50, og på tiden, hadde det dette ryktet av å virkelig være noe å pass. Det var en god kurs. Det var en morsom kurset. Men du måtte faktisk få den foten i døren. Og selv jeg ikke krysse at terskelen freshman year. Og jeg gikk på min måte å være en regjering konsentratoren, går gjennom som mange av forutsetningene som jeg kunne, krysser telle ting for gen ed eller kjerne og lignende, og deretter sophomore året, for noen grunn, jeg opp nerve å gå foten i Science Center B, der CS50. En svært kjent datamaskin vitenskapsmann ved navn Brian Kernighan var undervisning her det året, og selv da, jeg var bare villig til å faktisk fylle ut min studie kortet ved å ta denne klassen bestått / ikke bestått. Jeg så rundt meg, og jeg skjønte at alle i dette rommet er nødt til å vite måten mer om informatikk, om programmering, om datamaskiner. Alle må være programmering i dette rommet siden de var 12, men ja, det var ikke tilfelle. Og så den aller siste dagen, den femte mandag av semesteret som jeg tar dette spranget og endring fra bestått / ikke bestått til en bokstavkarakter, og ender opp med å endre min konsentrasjon samme dag til informatikk. Nå det er ikke vårt mål i denne klassen, for å slå dere alle inn i datamaskinen vitenskap konsentratorer, men egentlig å foreslå at det er denne muligheten på dette feltet og i andre felt som du kan være ganske ukjente, gitt at videregående skoler vanligvis følger en ganske standard curricular banen, men venture i, i CS50, til nye farvann. Og hvis du sitter her i dag tenker du ikke egentlig hører hjemme, så gjøre de fleste til høyre og til venstre. Faktisk, i fjor, hadde 76% av elevene i denne klassen noen tidligere erfaring. Så i motsetning til hva du kanskje tror, ​​de fleste av menneskene som sitter rundt deg i dag ikke, faktisk, har noen tidligere erfaring. 18% har tatt en CS klasse, og 6% har tatt to eller flere. I mellomtiden ber vi våre studenter hvert år for å beskrive seg selv i form av komfort nivå, og dette er - det er ingen definisjon av dette. Du bare slags vet det, hvis du ikke er veldig komfortabel i CS50. Og i fjor hadde vi 55% i denne grønne pie stykke her, selv beskriver som mindre komfortable studenter som ærlig vi hadde ingen anelse om Hvorfor gjorde de handle kurset på den første dagen, men det samme 55% forble med oss ​​til Begrepet er slutt, det samme gjorde 35%, som var et sted i mellom de mer komfortable og de mindre komfortable. Så hva er informatikk? Vel, i videregående skole, og virkelig, mer generelt der ute i disse dager, det er denne oppfatningen eller denne misforståelse at informatikk er programmering. Og det er absolutt en del av informatikk, men programmering, uansett språk er, er egentlig bare et verktøy som dataforskere bruke til å løse problemer, enten i domenet av informatikk eller, stadig i disse dager, i naturvitenskap, den naturlige fag, i medisin, i humaniora, analysere store datasett. Anywhere nå er det datamaskin og data, er det en mulighet til å søke erfaringer i en klasse som CS50. Så la oss løse et problem at en datamaskin vitenskapsmann kan gå om løse og prøve å sette noen sjargong, sette noen konseptuelt rammeverk, rundt hva kan ellers være noen ganske abstrakte ideer. Så dette er en telefon. Du ser ikke disse tingene for ofte. Høgskolen synes fortsatt å ha disse i hus og sovesaler, men tilbake i dag, når du ønsker å bruke en telefon som dette, var det ingen elektronisk adressebok i din mobiltelefon. Snarere, trakk deg opp noe som kalles en telefonbok, og disse telefonen bøker hadde ca 1000 sider vanligvis. De ble sortert fra A til Z, og du bare måtte finne riktig side finne den personen du leter etter for å finne deres navn og deres telefonnummer. Nå hvordan går du om å se opp noen i denne boken? Anta mitt mål er å gi min venn Mike Smith en samtale. Vel, hvordan går jeg om å finne Mike Smith? Vel, en svært fornuftig tilnærming, hvis naiv og ineffektiv, ville være å starte her, og begynner flippe side fire, til side fem, til side seks, og å sortere av lineært, langs en rett linje, gå gjennom denne telefonboken, og selv selv om det kommer til å bli utrolig kjedelig, hvis Mike Smith er i denne bok, jeg til slutt kommer til å nå ham når jeg endelig snu til S delen av denne boken. Nå, selvfølgelig, trenger du ikke å være en datamaskin vitenskapsmann å vite at dette er en dum måte å løse dette problemet. Hva ville en typisk menneske gjøre? Godt gjort. Så du ville vende til midten, ikke sant? Så du vil vende omtrent til midten, se her, og jeg synes å finne meg selv i M-delen. Ok, så M er helt klart ikke det jeg leter etter. Mike er til høyre, så å si, i denne delen, og som noen av dere har sett før, kan vi bokstavelig talt nå fortsette å rive dette problem i en halv. Du bør ikke være så imponert. Rive det ned sømmen er faktisk ikke så vanskelig. De virkelige mennesker gjør det på denne måten, men ned sømmen, vi nå har to problemer. Som hver er halvparten så stor, og vi kan bokstavelig kaste at halvparten av problemet bort. Nå er vi igjen ikke med 1.000 sider, men si 500. Så nå hva gjør jeg? Vel, vil en typisk menneskelig gå omtrent i midten igjen, og jeg finner meg selv på R delen, så ikke helt der. Så igjen, kan jeg rive dette problemet i to. Takk. Så nå har jeg bare rundt 250 sider, og jeg kan gjøre dette igjen og igjen, og igjen, og gå fra 125 ned til omtrent 60, til 30, til 15, og så videre. Og til slutt vil jeg få redusert til en av S-sider, der, hvis han er i telefonboken, bør Mike Smith være. Nå det er en åpenbart ganske rimelig algoritme, og det er en engangsavgift for bruk algoritmen i dette tilfellet, men hva kan vi liksom ta bort fra det? Vel, den første tilnærmingen, riktig, hvis naiv, men det var, kan være beskrevet av denne rette linje. Så hvis du er på x-aksen, her vi si, dette er størrelsen på problemet. Slik som x-aksen går til høyre, blir problemet større. Hva betyr det å bli større? I sammenheng med dette problemet, flere sider i telefonboken. Det er mer noe vi kan måle. På y-aksen, tid til å løse. Så som aksen går opp, antar vi det antakelig tar mer tid. Slik at første tilnærming lineært søker fra side en til side 1000 er en lineær prosedyre, en lineær algoritme eller prosess, og vi kan beskrive det ved denne rette linje. Hvis jeg legger flere sider i telefonlisten, det kommer til, i verste tilfelle, ta meg en side flip å finne Mike Smith. Hvis jeg legger 100 sider, 100 flere knipser, eller enheter av gangen. Nå kan jeg være litt flink med dette. Jeg trenger ikke å virkelig slå den én side av gangen. Jeg kan gjøre ting som to av gangen eller fire om gangen, men selv det er ikke alle som fundamentalt bedre. Selv om det er to om gangen, ja, beveger den slags denne linjen ned litt, og det betyr at det tar mindre tid, gitt samme antall sider, men det er ikke fundamentalt bedre. Men hva gjør vi bare gjøre, og hva gjorde dere alle gjør instinktivt? Du faktisk oppnådd en litt noe sånt som dette, logaritmisk tid, hvorved problemet kan vokse og vokse og vokse, men kostnaden ved å løse det problem, den tiden som kreves for å løse det problemet, ikke vokse nesten like fort. Dette ville være en logaritmisk kurve, logg av n, hvor n er bare i størrelsen problemet, antall sider i denne telefonboken. Og hva betyr dette i praksis? Vel, hvis vi har, i likhet, 500 personer i dette rommet akkurat nå - eller rettere sagt, hvis vi har - miksing metafor - gjorde ikke som eksempel, men dette året - så hvis vi har 500 sider i telefonen bok, og vi doble det til 1000, i dette mer intelligent modellen av bla til midten, ikke hvor mange flere sider-tearers det ta å gå fra 500 sider til 1000? Vel, bare en ekstra side tåre. Hvis du ga meg en 2000 side telefonbok, ingen big deal. Jeg ville bare rive det en ekstra gang. Så kort sagt, kan størrelsen på problemet vokser mye raskere enn kostnadene for faktisk løse det. Nå er dette bare en slik algoritme. Det er andre vi kan løse i dette samme måte. Og så hvorfor kan ikke vi gjøre dette - hvis du vil humor meg, riktignok klønete her i Sanders, gå videre, alle sammen, hvis du kan, og stå opp i stedet. Som du ser på skjermen her, dette er en algoritme, en prosess, en datamaskin programmet, hvis du vil, for å bli henrettet av mennesker, som har bare tre trinn. Vi er allerede på trinn en, har du stått opp. Og nå tenke deg selv nummer én. Det er din nåværende tall. Alle her er nummer én. Trinn to, koble opp med noen stående og dine tall sammen, og deretter vedta denne summen som det nye nummeret. En av dere bør sette seg ned, og gjenta. På dette punktet, bør færre og færre mennesker bli stående. Det er der det blir mer vanskelig. Noen her, her. Det verste er, du må også veldig verbalt regne foran av hundrevis av Harvard undergrads. Ok, litt av en bug her. Ok, hva er nummeret ditt? Ni. Okay. Hva er nummeret ditt? 179. Ok, bra. Så 188. Så dere kan sitte ned. Hva er nummeret ditt? 118. Noen smarte undergrad begynne å gjøre regnestykket. Ok, 118, 188. Hva annet har vi? 71. 79. Okay. Og? 47, som lærere, som gir oss hvor mange? 705 er svaret. Og det er faktisk akkurat riktig. Nei, vi var faktisk litt av det, men hvordan bør dette ha fungert? Hva burde skjedde? Så på hver iterasjon av denne algoritmen, startet vi med noen tall av folk som står, og det var det totale antallet, n, først. Enn halvparten av dere satte seg, og vi gikk til n over to. Enn halvparten av dere satte seg, gikk vi til n over fire, n over åtte, over 16, og så videre, inntil, selv om den slags disintegrerte det på slutt, i teorien, alle hadde koblet sammen i balkong, og mezzanine, og orkester her, ville vi ha hatt bare en ensom person stående, med en total verdi, i dette tilfellet, av 705. Nå hva betyr det, men for kjøretiden? Vel, tenk om jeg, som menneske, hadde gjort dette manuelt. Jeg ville ha startet ganske naivt, men riktig med én, to, tre, fire, fem, seks, sju, åtte, og så videre, tar ganske lang tid. Så jeg kan gjøre bedre, ikke sant? I grunnskolen, trenger du ikke bare telle i seg. Du teller i toere. Så to, fire, seks, åtte, ti, tolv. Og det blir mye raskere, men nå fundamentalt, ved å utnytte kollektiv intelligens til alle i dette rommet, kan vi oppnå en kurve mye lignende, hvor nå, antall mennesker i dette rommet kunne doble, en annen 700 personer går inn i dette rommet for 1400 mennesker, men det ville bare ta oss en mer gjentakelse av denne algoritmen for å løse. Og så i økende grad, i disse dager, når vi har disse enorme datasett i Facebook og Google, og lignende, er det å løse problemer med denne litt innsikt, denne litt kløkt, som er slik at vi i økende grad til å gjøre mye, mye kraftigere ting med datamaskiner i dag. Hvis du liker slike ting, har du kanskje sett på Facebook CS50 er egen Puzzle Day, kommer opp førstkommende lørdag. Hvis du ønsker å delta i noe som dette, hvor du og to, eller tre, eller fire lag med fire ønsker å løse noen gåter slike som denne, vil du stå en sjanse til å vinne noen flotte premier, blant disse er en Wii, og noen gavekort, og noen andre Facebook swag denne lørdagen, middag til 15:00. Gå til cs50.net/rsvp for slikt. Og dette bildet er på nettet hvis du ønsker å leke seg. Oppgavene i år skal være nye. Du kan legge merke til i klasserommet, også, alle flere kameraer i år. Så ikke bare vil kurset bli filmet på vanlig måte, kan CS50 også være ta del i en dokumentar om høyere utdanning som ser på transformerende opplevelse som en student kan ha i disse dager i en lavere studium. Så mot disse slutten, vil vi ikke bare være filme for det, vil vi filme så vel for, i økende grad, vår online publikum, så vel som til tider denne målgruppen her. Så vi velkommen til klassen årets våre Harvard Extension School studenter, graduate school of design, utdanning, handelshøyskole, Kennedy Skolen, jusstudiet, samt en rekke studenter fra Belmont, Lexington, Newton, og Watertown High Schools. Velkommen til dere alle. I tillegg dette året, som du kanskje har hørt, Harvard, og MIT, og Berkeley har nå inngått et samarbeid partnerskap på en initiativ kalt EDX, som er et initiativ for å åpne opp utdanning til alle jo flere folk på nettet og, fundamentalt, begynner å forske på et mye bredere skala med hensyn til hvordan folk lærer. Og så CS50 vil være høgskolens første kurset deltar i det initiativ, så vel, noe som betyr at du vil ha tilgang til alle de mer verktøy, desto mer pensum innhold, desto mer videoinnhold som et resultat, så vel som av går morgen, 53.019 personer som har registrert for å ta CS50 sammen med deg i år på internett. Så hva dette betyr, i særdeleshet, er at lærere og jeg har tilbrakte mye tid i sommer forbereder for høsten, både på campus og på, slik at vi kan begynne å bygge opp et korpus av interessant, av overbevisende, å engasjere pedagogisk innhold, fokuserer på at spesielt på mer intime conveyances av ganske komplisert materiale. Så i tillegg til kursets forelesninger, og seksjoner, og ting såkalte walkthroughs, som vi vil se i bare litt, vil vi også ha disse shorts i år som lar deg engasjere seg med kurs fra en annen vinkel alle sammen. Så la oss bruke dette som en mulighet til å ta en rask titt på en som drøfter dette begrepet binære. Så i informatikk er det ting som kalles algoritmer, hvorav to vi bare tok en titt på - disse prosedyrene for å løse problemer. Men på slutten av dagen, må du representere informasjon eller annen måte, og du trenger å representere det på en måte som en datamaskin kan forstå. Og selv om du egentlig ikke forstår datamaskiner, og du er i at 76% akkurat nå, har du sannsynligvis noen vag følelse at datamaskiner liksom avtale i nuller og enere, det binære systemet, så å si. Nå hvorfor er det slik? Vel, det viser seg når datamaskiner første kom, hvis du trengte å representere informasjon, kan du gjøre det med strøm, og selv om dette er litt av en overforenkling, er en svært enkel måte å registrere informasjon enten ved å slå på at elektrisitet på, en i binær, så å si, eller snu at elektrisitet av. Så Barry, hvis du ikke har noe imot, kunne vi dempe lysene fullt for bare et øyeblikk? Dette her er en veldig umotivert binær null. Greit, hvis vi skru lysene opp, nå Sanders Theatre er representerer den binære verdien av en. Dessverre, med bare en bit, med bare ett sett med lys, kan vi bare representerer to tall i verden, null og én, og det ville være fint om datamaskiner kunne telle litt høyere enn det, men ja, de kan. Så la meg trekke opp på skjermen her vår venn, Nate Hardison, som vil gi oss en rask titt i løpet av bare noen få minutter på denne oppfatningen av binære. NATE Hardison: Tilbake når du lærte å lese og skrive tall, du lært om tallene null til ni. Å skrive hele tall større enn ni, lærer du at alt du måtte gjøre ble bruke en kombinasjon av disse sifre, som i 52 og 437. Så denne måten å skrive tall har et navn, titallssystemet. Hvorfor desimal? Vel, betyr det latinske roten av desimal, deca, 10, og når du har 10 siffer i notasjon systemet, blir 10 en ganske spesielt nummer. La oss se på antall 437 skrevet i titallssystemet å forstå hvorfor. Vi kan først bryte opp 437 i 400 pluss 30 pluss 7. Vi kan ta den fra hverandre enda mer, slik at vi har fått fire ganger 100 pluss tre ganger 10 pluss 7 ganger 1. Husk å lære om de sted, 10s sted, 100s sted, og så videre? Dette er akkurat der det kommer fra. Og til slutt, kan vi se hvordan vi har fått en haug med krefter 10 innebygd i her. Vi har fire ganger 10 til 2 pluss 3 ganger 10 til 1 pluss 7 ganger 10 til null. Så nå kan du se hvorfor 10 er et spesielt nummer i titallssystemet. Faktisk har vi et navn for det. Det kalles basen, siden det er i bunnen av eksponenten i vår regning her. Titallssystemet er ikke den eneste måten å representere tall. Faktisk, selv om vi blir kvitt sifrene to gjennom ni, kan vi fortsatt representere alle de tallene som vi kunne med desimal. Så nå som vi har to sifre, null og én, er to vår spesielt nummer, grunnlaget for vår notasjonssystem. Navnet på denne notasjon system kalles binært, siden prefiks bi betyr to. Så i stedet, nå, for å ha et de sted, og 10s sted, og så videre, har vi har nå et de sted, et toere sted, et Fours sted, og så videre, går opp med krefter to. Så la oss se dette ved å gjøre noen telling. Så null er fortsatt null, og en er fremdeles en. Men nå som vi har fått en toere sted i stedet for et 10s sted, 10 representerer nummer to. Å få tre, legger vi en til det, og få 11. Fire, siden det er nå en fire sted, er representert med 100. Fem er 101. Seks er 110. Sju er 111. Åtte igjen, har sin egen plass. Så det er 1000. Og jeg tror du tar poenget. SPEAKER 1: Så dette er å si hva datamaskiner gjør og hva binær er er faktisk ikke så ulik fra hva vi har tatt for gitt for noen år, ikke sant? Tilbake i grunnskolen, lærte du å telle nøyaktig i mote som Nate foreslått, men du sannsynligvis ikke har egentlig tenkt på det siden, det faktum at det er dette som sted, 10s sted og 100s sted, og det er ganske vilkårlig. Og faktisk, datamaskiner rett og slett bruke denne annen base. Men på slutten av dagen, å faktisk fysisk representere denne oppfatningen av en null og én, har du åpenbart ikke bare slå av lysene på og av nødvendigvis. Du trenger å gjøre det på en mye finere korn skala. Og ved finere korn, kan du huske dette dum liten leketøy fra barndommen, Ullen Willy og disse små magnetiske partikler. Så magnetiske partikler er noe som du kan justere i et par forskjellige retninger, kanskje nord-sør eller sør-nord. Og så mye fysiske inkarnasjoner av teknologi i disse dager som bruker binære, som bruker nuller og enere, bare ha magnetisme på innsiden som justerer ting opp-ned eller ned-opp, og dermed representerer en null eller en, henholdsvis. Så ja, la oss gå bort fra det abstrakte her, og se på innsiden av hva som er en mer tradisjonell datamaskinens harddisk. Dette skjer for å være litt større på skjermen, i at det er fra en stasjonær datamaskin, men bærbare datamaskiner i dag har fortsatt den samme teknologien, men er gradvis blir erstattet av mer avanserte ting som faktisk har ingen bevegelige deler - inne, da, på en harddisk. SPEAKER 2: Harddisken er der PC lagrer mesteparten av sine faste data. For å gjøre det, reiser data fra RAM sammen med programvare signaler som forteller harddisken hvordan du kan lagre disse dataene. Harddisken kretser oversette disse signalene til spenning svingninger. Disse, i sin tur, styrer harddiskens bevegelige deler, noen av de få bevegelige deler igjen i den moderne datamaskinen. Noen av de signaler styrer en motor, hvilke skoler metall belagt platestabel. Dine data er faktisk lagret på disse platene. Andre signaler flytte lese-og skrivehoder å lese eller skrive data på platene. Dette maskineriet er så presis at et hårstrå kan ikke engang passere mellom hoder spinne fat, men det fungerer alt på kjempefint hastigheter. SPEAKER 1: Så vi nå zoome inn på hva som faktisk skjer på toppen av disse platters i form av magnetisme, har vi denne andre av to utseende. SPEAKER 3: La oss se på hva vi nettopp så i sakte film. Når en kort puls av elektrisitet blir sendt til lese-skrive hodet, knipser det på en liten elektromagnetisk for en brøkdel av et sekund. Magneten skaper et felt, endrer hvilke polariteten en liten, liten del av metallpartikler som strøk hver tallerken overflate. Et mønster serie av disse små ladede opp områder på disken representerer en eneste bit av data i et binært tall som brukes av datamaskiner. Nå hvis strømmen er sendt en vei gjennom lese-skrive hodet, området er polarisert i en retning. Hvis strømmen er sendt i den motsatte retning, den polarisering er reversert. Hvordan får du data utenfor harddisken? Bare reversere prosessen. Så det er partiklene på disken som får strøm og lese-skrive hode i bevegelse. Sett sammen millioner av disse magnetisert segmenter, og du har en fil. Nå biter av en enkelt fil kan bli spredt over et stasjonens fat, typen som rotet papirer på skrivebordet. Så en spesiell ekstra fil holder oversikt over hvor alt er. Tror ikke du ønske du hadde noe sånt? SPEAKER 1: Ja. Så vi har denne evnen til å representere denne informasjonen, tall på et svært lavt nivå. Vi har en fysisk måte å representere det samme, men vi kan ikke egentlig gjøre alt det mye av interesse ennå, annet enn kanskje noen aritmetiske og matematikk. Vi har ingen måte å representere hittil ting som alfabetiske bokstaver, slik at vi mennesker kan kommunisere ved hjelp av disse samme enhetene. Men heldigvis, det finnes kodinger, mønstre av nuller og enere som representerer høyere nivå konstruerer som A og B, og C, og hele setninger og avsnitt, og lignende. Og så ASCII, som er et akronym som refererer til denne kodesystem der ett nummer representerer en gitt bokstav - for eksempel nummeret som vi vet som desimalverdi 65 er kjent som den store bokstaven A til datamaskiner. Desimalverdien av 97 i datamaskiner er kjent som en liten en. Og hva betyr det egentlig? Vel, selv om Nate, for et øyeblikk siden, telles bare opp fra null til åtte, hvis vi skulle fortsette å telle opp til 65, eller ytterligere, til 97, mønsteret av nuller og enere at han ville ha trukket på skjermen ville være nøyaktig hva en datamaskin bruker til å representere bokstaven A i alle caps, eller bokstaven a med små bokstaver. Og ja, det er en hel ordning på dette. Dette er, ved første øyekast, overveldende oversikt over kodinger, men hvis du fokuserer bare på høyre halvdel her, legge merke til i denne midterste kolonnen, har vi denne oppfatningen av tall etterfulgt av bokstaver. Og på toppen, har vi 32, og karakteren char, som 32, heltall, nå refererer, er tilsynelatende mellomromstasten karakter. Når du får plass bar tegnet på den bærbare datamaskinen, hva du virkelig sending er et tall, et mønster av nuller og enere, en strøm av elektrisitet, hvis du vil, som representerer de nuller og enere, at datamaskinen da tolker som et mellomrom på skjermen. Et utropstegn er 33. Anførselstegn er 34. Og hvis vi bla nedover her over til høyre, ser vi at 65 er faktisk A, og 97 er små bokstaver faktisk en. Så nå som vi har denne kodeskjema, kan vi begynne å stave ting ut. Faktisk, datamaskiner vanligvis uttrykker seg i standard enheter, ikke med en individuell bit, som igjen er ikke alle som nyttig å bare representerer null eller én, lysene på eller av, men snarere ved hjelp sekvenser av biter. Og den vanligste måleenheten, som du sikkert vet, eller i det minste utledes, er en byte. En byte er bare åtte biter, åtte nuller og ettall på rad. Så vi kan begynne å stave ting ut. Og så hvis vi kunne, hvorfor ikke prøve dette litt kollektivt her? Er det åtte personer i dette rommet som ville være villig å komme opp på scenen? Du må være komfortabel vises på kameraet, men du egentlig ikke trenger å vite ellers hva som skjer ennå. Jeg ser en person som blir frivillig over her. To, tre, fire, fem, seks, syv, og hvordan om åtte? Kom opp. Så du er i ferd med å representere en byte av mennesker. La meg har du vært 128s sted, du 64s sted, du 32s sted. Men vi kommer til å veldig raskt å reversere dette. Så la meg møte dere alle der. Og du bør være i 128s sted hele veien over, her mye som hundrevis sted eller tusenvis sted ville være lenger til venstre, vil vi den største plassholderen å være her på venstre også. Vi har 64s, 32, 16s, 8s, 4s, 2s, og 1'ere - utmerket. Så nå har vi - okay, kan du hjelpe meg. Så nå har vi - hva heter du? JOANNE: Joanne. SPEAKER 1: Så Joanne og jeg skal nå gi råd disse gutta om hvordan vi kan gå om stavekontroll noe ut. Så på ryggen av sine ark, de har en liten jukselapp som kommer til å fortelle dem om de var representerte en null eller en. Og hvorfor ikke, for enkelhet, vil vi representere null ved bare står der klønete. Veldig bra. Eller en ved å heve hånden, som representerer en. Og la oss se om vi ikke kan stave ut en fire tegn setning her. Så gå videre nå, frivillige, og utføre runde en ved å heve hånden hvis du er en, eller holde den nede hvis du er et null. Så nå som vi har disse tre hendene opp, hvilket nummer, alle andre, er de faktisk representerer? Ok, 67 år. Hvorfor? Vel, rask forstanden sjekk. 64s sted, fordi det er en. Det er som en ganger 64, pluss en ganger to, så det er 66, pluss 1 ganger 1. Det er pluss 1, så 67 år. Så nå er disse gutta er samlet representerer 67, som tilsynelatende representerer hva her i ASCII? Ok, så en C. All right. Så la oss nå gå videre til runde to. Alle starter med hendene ned, og deretter runde to. Egentlig er det ikke mye av en rolle her, antar jeg, men vi later. Så runde to, heve eller senke hendene. OK. Publikum, hva er vi nå? Uttrykke er 83. Så du kan gjøre matematikk. Men for alle som har hånd er opp, legger du inn nummeret som de representerer. Så nå har vi 83. La oss utvide jukse ark litt, og vi har nå - dette kan være opplagt hvor vi skal her, men likevel, runde tre. Ok, runde tre godt å gå ned der, så tre runde, hvilket nummer er disse gutta nå representerer? Ok, jeg hørte 53, som nå representerer - interessant. Nå hvorfor denne typen bakvendt resultat, ikke sant? Hvis vi ønsker å representere fem - vi alle sikkert vet hvor dette kommer - hvorfor jeg ikke bare heve firere stedet og de sted? Vel, innser vi at det er en forskjell, fundamentalt, mellom hvordan en datamaskin tolker disse bitene. Hvis du prøver å representere nummer fem, så absolutt, vi bare heve hånden nummer fire og heve hånden nummer én. Men vi representerer tall her. Sammenheng her på scenen er at vi representerer tegn eller chars, og i denne sammenheng, har datamaskinen til å innse at oh, dette mønster av biter er ikke et tall alene. Det er faktisk representerer et høyere nivå konsept. I dette tilfellet, en alfabetisk bokstav. Så det faktum at det nå er som representerer antall fem med Verdien 53 er fordi i ASCII, ting vi estetisk ser som nummer fem selv trenger et mønster av biter - fordi hvorfor? Vel, verden nettopp besluttet å bruke lavere tall, null, ett, to, tre for det som så ut til å være ganske kryptiske ting. Og ja, dette er de tegn som ikke er på et tastatur. Spesielle uttrykk som du trenger i en datamaskin for å gjøre interessante ting, men mennesker aldri skrive dem. Så 53, faktisk representerer fem. Nå bare som en siste tilregnelighet sjekk, hvilket nummer skal de representerer en liten stund? Ok, så 48. Og ja, gå videre, runde fire. 16 pluss 32 er faktisk 48. Og så en stor applaus, hvis vi kunne, for våre åtte frivillige her. Veldig godt gjort. Noen retning er fine. Slik at vi nå har en måte ikke bare å tenke på hvordan å representere data, og faktisk representerer det fysisk, men også gjør høyere nivå ting på toppen av. Og ja, dette kommer til å bli et tema i hele informatikk av bygge flere og mer interessant og kompleks ting på toppen av ganske enkle ideer - i dette tilfellet, bare nuller og enere. I forhold til hvorfor dette er nyttig, vel, selv om det i et kurs som dette, Vi vil fokusere på grunnleggende, og på programmering, og på å løse av problemer, kan du gå av i informatikk i en rekke retninger. I dette tilfellet her, dette er et diagram som du har på baksiden av uoffisielle guide til CS ved Harvard, en av dagens to utskrifter. Dette tyder de mange forskjellige retninger som du kan gå etter en kurs som dette - lære om kunstig intelligens, om grafikk, om maskinlæring, om språket selv. Innser også at det er ennå andre baner. Det er mer matematiske stier i informatikk. Hvis du ikke selv i stand til å ta noe sånt CS50 denne høsten, er det introduksjonskurs i løpet av våren, Computer 1 Science, for eksempel, er enda en på rampen til denne nye verden. Nå som en side, av hensyn til å løse problemer knyttet til kurs, realisere CS50 sett ut for en tid siden for å prøve å løse en av disse problemene, en problemet kjent som my.harvard, som mange av dere kanskje bruker til å faktisk shop for kurs, men hvis ikke, sjekk ut et verktøy som dette, samt andre etterkommere at noen av våre tidligere studenter og ansatte har opprettet. Men i Harvard Kurs, som er et web-basert verktøy, noe som du vil være i stand til å utforme og distribusjon dere samt ennå andre ting også ved slutten av semesteret, innser at dette bygger mot en åpen datasettet. I dette tilfellet, selvfølgelig, katalog, og tillater elevene i dette tilfellet til utforske en ganske kompleks datasett. Vi gravde opp i går kveld noen statistikk basert på de få tusen folk som har brukt denne de siste dagene. Hvis du har vært nysgjerrig på å vite hvor mange kurs vennene dine faktisk tendens til å handle, vel, i dag er dette data tyder på at 7,6 er den gjennomsnittlige rekke kurs i noens handleliste. Og nå skal jeg gi dere også statistikken over flest antall kurs på noens handleliste - og vi alle sikkert vet noen som dette. 201 er årets posten. Nå noen av våre tidligere studenter og ansatte faktisk sette sammen et klipp til male et bilde for deg om hva denne banen for informatikk og CS50 selv er. La meg gå videre og trekke opp, takket være Mr. Harvahd her, en video produsert av noen av dine forgjengere, hvis vi kunne holde lysene opp for dette. [Musikk spilles] SPEAKER 1: Jeg hadde ingen anelse om at skulle skje. Så en mer alvorlig titt på hva som ligger foran oss. Så i forhold til forventningene dette kurset, er du faktisk forventet å delta eller se kursets foredrag, sende åtte oppgavesett, ta to spørrekonkurranser, sende et avsluttende prosjekt. I form av karakterer, innser at mine kommentarer på åpningen om pass-mislykkes, noe som vi veldig mye å ta til hjertet i CS50 - det er ikke nesten nok av en kultur ved Harvard for å prøve noe og risikere å mislykkes. Faktisk hadde vi antall studenter, og jeg spesielt, som var bekymret skade din GPA, eller får en B i noe sånt CS50, og muligheten til å ta et kurs som dette og andre gateway kurs på innføringsnivå bestått / ikke bestått er en svært lite brukt mulighet på dette college generelt. Og så skal du vite, selv jeg deltok i dette kurset utgangspunktet for bestått / ikke bestått kreditt alene, og selv om Jeg bytte på slutten av dagen, det var de fem første ukene, opp til femte mandag av semesteret, som er cutoff, som tillot meg å faktisk sette foten inn i disse nye farvann, og faktisk prøve noe veldig ukjent og svært ubehagelig for meg på den tiden. Så i form nå av hvilken rolle de ulike vinkler som du kan nærme seg dette kurset tjene - så forelesninger. Det er opp til deg. Hvis du delta med oss ​​i person på dette sted, ja, vi vet statistisk at omtrent 40% av dere vil slags komme og gå over løpet av semesteret, og 10% av dere vi aldri vil se igjen etter i dag. Og det er helt greit, for å være ærlig. En av de kjennetegner CS50 er at det er disse utallige ressurser, noen som vi vil skrangle gjennom i løpet av et øyeblikk, forelesninger og seksjoner, og ting som kalles walkthroughs og kontor timer, og lignende, og det er mer ressurser enn den typiske student bør ha eller kunne fysisk dra nytte av, men det er fordi av de ulike læringsstiler at enhver student body manifesterer. Og så i forelesninger, er den primære rolle som jeg ser det ikke verbalt presse ut ganske kompleks materiale og å nødvendigvis levere all vanskelighetene med det grunnleggende at vi vil utforske dette semesteret, men heller å gjøre ting som vi har gjort så langt allerede, disse eksemplene involverer mennesker på scenen prøver å male et mentalt bilde, og også opprette, tør jeg si, noen av disse minneverdige øyeblikkene, slik at selv når du sliter med visse emner, har du disse minnene, som oh, selv om som var ganske abstrakt, matte, jeg har mistet med å bære en, som, det virkelig, på slutten av dagen, er ikke alle som ulikt noe jeg allerede vet. Og så den rollen som forelesninger vil tjene, enten personlig her i Sanders eller online på video er virkelig å sette scenen mentalt for deg hver uke for de ulike begreper og problemstillinger som vi vil være dykking inn. I form av høyt nivå konsepter, kanskje de fleste av disse ordene flyte over hodet for øyeblikket. Og det er fint. De av dere som vil komme inn i kurset mer komfortabel vil vite av noen av disse temaene, men vanligvis for 10 at% av klassen som de har mye mer bakgrunn, tar AP informatikk, programmering siden de var 12, innse at det vil være muligheter i seksjoner og Problemet setter å gå hele mer dybde i ulike emner, fylle hva hull du kan ha fra videregående skole eller før bakgrunn. I form av språk, innser at det språket vi bruker i CS50 er irrelevant på slutten av dagen. Vi måtte bruke primært et språk kalt C. Mot slutten av semester, introduserer vi web-sentriske språk, som PHP og JavaScript. Men vi og andre kunne lære et kurs som dette i de fleste enhver moderne høynivåspråk - Python og Ruby, og andre er ganske populært i disse dager, fordi innse, på slutten av dagen, du er ikke læring i denne C. Du er ikke læring PHP eller JavaScript. Du lærer hvordan du kan løse problemer, enten web-basert, PC-basert, eller data-orientert seg selv, ved hjelp av disse bare som verktøy. Nå i form av logistikk, vil du bruke noe til slutt kalt CS50 Appliance. Spiller ingen rolle om du har en Mac, en PC, en Linux-datamaskin, eller lignende, vil du ha fritt tilgjengelig programvare som starter neste uke med å bruke den CS50 Appliance, et virtuelt miljø som du vil bruke på egen datamaskin, slik at du og alle dine klassekamerater har en uniform Linux skrivebordet i dette tilfellet. Det er problemet sett, skjønt, hvor du virkelig få hendene skitne i kurset. Og på slutten av dagen, er det de oppgavesett, tror jeg, som virkelig definere en student erfaring i dette kurset. Innse at mange av oppgavesett vil bli utgitt i to utgaver - en standard utgave som vi forventer og oppmuntrer 90% av klasse til å dykke inn. Men vi har også gitt ut noen problem sett i såkalte hacker utgaver, og du vet at det er hacker utgave, fordi på hver side med et vannmerke, det sier hacker utgave på den. Og det er for denne demografiske av dere som har AP informatikk med 10 år programmering under beltet, og er ute etter å fylle disse hullene, og å ha mer formell, snarere enn selvlært trening kanskje, innser at det er en meget betydelig demografisk i den klassen som har nettopp den samme målet. Du har fem sent dager. Oppgavesett er vanligvis på grunn på torsdager, men du kan utvide fem av de tidsfrister som bruker disse tingene kalles sent dager, og vi vil også slippe din laveste score på slutten av semesteret, i henhold til opplysninger i pensum. Men en annen særtrekk ved CS50 gjennom årene har blitt kontor timer, en mulighet som du så visuelt i bilder litt siden der vi samles tidligere i huset spisesalene, før det i kjelleren av science center, og i år i Annenberg Hall, fire netter i uken 20:00 til 11:00, hvor har du dette veldig mye delte erfaringer med å jobbe på, sliter gjennom visse problemer, men med en betydelig støtte strukturen på plass. Faktisk er måten dette vil fungere vil ankomme Annenberg hvis du har noen spørsmål i løpet av uken. Du vil ta den bærbare datamaskinen, vil du sitte ned, hente noe mat, og du vil logge på CS50 Diskuter, en web-basert verktøy som lærerne har utviklet som vil tillate deg å legge inn spørsmål og se followups i en typisk diskusjonsforum forstand, bruker etiketter og lignende, og autofullfør å søke i data. Men du vil også være i stand til, i de timene kontortid, har din spørsmål eskalert til virkelige mennesker. Faktisk er målet til slutt slik at man begynner vi å bygge opp over løpet av semesteret et korpus av forhåpentligvis virkelig nyttig informasjon, felles svar på vanlige spørsmål, slik at du selv kan løse problemer og få unstuck så raskt som mulig, samtidig som de har undervisning ansatte - vanligvis 20% til 30% av undervisningen stipendiater og kurs assistenter i staben på en gang. Vi vil ha det som kalles CS50 Greeter i Annenberg, og når vi bestemme det, vet du hva? Dette spørsmålet, vi virkelig svare effektivt på nettet. Vi trenger å se datamaskinen din. Vi ønsker å snakke med deg en mot en. Du er virkelig sliter, og du derfor ønsker å snakke en på en sammen noen, vil du bli sendt til CS50 Greeter, en undervisning stipendiat holding, bokstavelig talt, en iPod som har elevenes navn på en side, undervisning personalets navn på den andre. Vi vil samle inn navn, etterfulgt av navnet på en pedagogisk personale, og dataskjermen vil begynne å blinke, sier du gå se Alice eller ta gå se Bob på ansatte bordet. Og så på denne måten, vil vi være i stand til å sende ting så effektivt som mulig, samt veilede deg mot løsninger hele lettere. I seksjoner, og disse vil være muligheter for mer intime hands- på muligheter med en av undervisning stipendiater og 12 til 16 eller så av klassekameratene dine, der hver uke, vil vi få problemer i oppgavesettet som spør en rekke konseptuelle spørsmål, og en rekke bite-sized programmering spørsmål som du kunne finne ut på egen hånd, og du kan arbeide på egen hånd, men i sammenheng med seksjonen vil vi arbeide gjennom kollektivt noen av disse problemene, og gå hvor samtale tar oss. I tillegg vil i avsnitt har du muligheter til å gjennomgå innsending av lekser som du har gjort, klassekameratene dine, noen ganger anonymiseres, alltid av en opt-in, hvis du ønsker å dele fungere som du har sendt inn. Så det vil virkelig være en toveis samtale, og mulighet til å gjennomgå eget arbeid i en mye mer dynamisk forstand, snarere enn bare ser på en PDF eller utskrift og tenke på det i noen sekunder og ikke nødvendigvis absorberende tilbakemelding om at lærere har gitt. Og du vil bruke et verktøy her kalt CS50 Spaces. For de som ikke kjenner, er dette språket kjent som C øverst til venstre, og du får vite dette over tid, men dette er en web-basert verktøy som vi vil bruke i delen som vil tillate deg og dine 15 eller så klassekamerater å logge inn med undervisningen stipendiat på forsiden av rommet. Du vil være i stand til å skrive kode i dette vinduet. Du vil være i stand til å chatte elektronisk dersom du ikke er faktisk på delen på det aktuelle øyeblikket, og undervisningen stipendiat, når det gjelder tid til å diskutere Alice eller Bob løsning i klassen, kan undervisningen stipendiat klikke på en knappen, og voila, prosjekt på skjermen hva som student har vært arbeider på det aktuelle tidspunkt. Så for de av dere har venner som har tatt CS50 i det siste, innser at deler har blitt betydelig restartet i år for å være enda mer aktiv, desto mer dynamisk, og virkelig, en toveis samtale mellom lærere og studenter. Og gjennomgang. Så for disse problemområdene setter vi også tilby ikke bare spesifikasjonen seg selv, er som regel en ganske detaljert PDF, men også ting kjent som walkthroughs, der ett medlem av undervisningspersonalet vil føre en ukentlig sesjon som bokstavelig talt tar deg gjennom oppgavesettet, slik at du hint og råd, og start poeng, og er ment å spørre veldig ofte spurte spørsmål: hvor skal jeg begynne? Vel, begynner du enten ved å dykke ned i spec på egen hånd, eller ved å delta eller ser disse walkthroughs. Den første gjennomgang, faktisk, blir dette fredag. De vil være på fredager, ikke så mye fordi vi tror det vil være et populært tid, men fordi vi da kan filme dem veldig tidlig i uken og få dem online av helgen slik at du har så mange dager som mulig å faktisk engasjere seg i dette innholdet også. Men mer om det i foredraget denne fredagen. Nå i form av bærekonstruksjonen, er den mest signifikante statistikken kanskje de 108 undervisning stipendiater og kurs assistenter at dette kurset har i dag. Hvis noen av dere som ikke har motstridende klasser ønsker å delta meg opp her på scenen, er det disse gutta som til slutt vil virkelig definerer oppleve i kurset. Jeg hadde mye undervisning stipendiater som underviser meg klasser i dag, og jeg husker veldig få av dem, ærlig, men til dags dato, jeg husker blant de få min CS50 TF, som virkelig hjalp meg å svare på spørsmål, som virkelig hjalp meg da jeg strevde, og var virkelig en partner i dette opplevelsen av å lære et svært ny verden. I en liten bit, vil alle disse gutta bli med deg utenfor for kake, som er en tradisjon for CS50, i tverrskipet av Memorial Hall, men la meg første introdusere deg til Nate Hardison igjen, Rob Bowden, og Tommy McWilliams, leder årets kurs. Hvis dere vil bli med meg her i midten. De har alle forberedt noen inspirerende bemerkninger. TOMMY McWilliams: Jeg har ikke forberede noe inspirerende. Men mitt navn er Tommy. Jeg er en senior i Mather. Jeg studerer informatikk, veldig glade for å være på den hoder team og gå gjennom CS50 reise med deg. Hva jeg elsker om CS50 er hvordan det egentlig lærer deg å tenke på problemer på en ny måte. Dette er virkelig en ferdighet som kommer til å være uvurderlig, uansett hvilket felt du går inn. Og ikke bare det, men vi tilbyr mer gratis godteri enn noen andre kurs på campus. Så jeg bare gleder meg til å se hva alle bygger dette semesteret. Og hvis noen har noen spørsmål nå eller gjennom semesteret, definitivt gjerne nå ut til meg, og jeg vil være glad for å hjelpe. Rob Bowden: Hei. Jeg er Rob Bowden. Jeg er en senior i Kirkland. Ja, det er riktig. Vi er alle veldig glade for dette neste semester. Vi håper du alle glade. Jeg hadde ikke ventet det. Ja. Så vi legger så mye arbeid i å gjøre dette semesteret virkelig flott, og som lenge du er villig til å sette i arbeid, det er så mye du kan få ut av dette kurset. Du kan få mye moro ut av dette kurset. Vi ville ikke ha en stab på 108 hvis du ikke kunne få mye moro ut av det, så bare prøver å være involvert, og du vil ikke angre. NATE Hardison: Hei, folkens. Jeg er Nate. Jeg er veileder for kurset. Jeg er virkelig glad for å være her også. Dette er mitt første år her. Jeg håper dere alle ta dette kurset, og nyte det så mye som jeg har likte det så langt. Og hvis du noen gang ønsker å lære hvordan å komme til ni eller ti i binær, kommer snakke med meg. SPEAKER 1: Så på risikoen for å forlate disse gutta her på scenen litt awkwardly, la oss virvle gjennom bare noen av de tingene som venter før vi utsette for kake. Hva er det som ligger foran oss? Vel, hvis vi tar en rask titt tilbake på i fjor, i oppgavesettet null, din forgjengere due i et programmeringsspråk som heter Scratch, en grafisk programmeringsspråk vil du bruke i de første dagene av kurset, som starter denne fredagen, for å lære noen begreper ukjente for noen av dere, men innser vil det være en avansert aspekt av dette for de av dere med tidligere bakgrunn. I fjorårets problem satt to, due studenter inn i verden av kryptografi, kunsten enciphering eller scrambling informasjon, implementere programmer som krypterte data, og i hacker utgave sist år gjorde elevene fortsette å sprekke eller dekode passord i en typisk datamaskinens. xc passord filen ved å komme opp med algoritmer og heuristikk for brute force finne ut hva noens passord på en datamaskin systemet var. Siste året eller to, i problemet satt fire gjorde elevene gjennomføre spillet Sudoku. Og hacker utgaven som året gjorde elevene ikke bare implementere hvordan spille spillet, men faktisk en Solver, der datamaskinen kan gi deg, mennesket, med hint ved raskere enn du løse det aktuelle problemet. I oppgavesettet fem, gjorde vi dataanalyse, denne kunsten å utvinne informasjon som var et uhell eller svært bevisst slettet fra datamaskinen. I fjor ruslet det pedagogiske personalet og jeg rundt campus tar fotografier av mennesker, steder og ting og deretter uhell formatert mediekortet på våre kamera som hadde alle disse bildene. Men ikke noe problem, vi har gjort en etterforskning bilde av dette mediekort, ga den ut til alle elevene i klassen, og utfordret dem til å skrive programmer som gjenopprettet alle JPEG fra dette kortet. Og dette er faktisk en av våre favoritt oppgavesett, og jeg gravde opp en gamle e-post fra en av dine forgjengere som var mye moro å les en gang siden. Dette er fra Matt. Kjære David, går min søster ved et uhell formatert hennes kameraets SD kort og mistet et år igjen av minneverdige bilder. Hun er dessverre ikke best på å sikkerhetskopiere sine data. Men denne situasjonen minnet meg p-set fem, så jeg tenkte jeg ville prøve å kjøre henne SD kortet gjennom gjenopprette program som jeg skrev hele veien tilbake i oktober. Så etter fire timer med å finne ut hvordan du oppretter en rå bilde fra formatert SD-kort - Google vise seg å være ganske nyttig i denne forbindelse, før jeg ironisk skjedd kommer over dine instruksjoner på Internett - etter fiksing og triksing rundt med noen av kommandolinjeargumenter, klarte jeg å skape den rettsmedisinske bildet, og etter installere og konfigurere CS50 Appliance, klarte jeg å kjøre den rettsmedisinske bildet gjennom mitt program og gjenopprette alle 1027 av min søster fotografier, skriver Matt. I fjorårets oppgavesettet seks, ga vi elevene en ordbok av 150000 engelske ord og utfordret dem til å skrive en stavekontroll som besvarte spørsmål i skjemaet, er dette ordet stavet riktig eller feil så fort som mulig. Og på opt-in basis var studenter lov til å så utfordre klassekamerater ved å publisere sine resultater, mengden RAM som de bruker, antall CPU-sykluser eller sekunder som de brukte, slik at studentene ble deretter rangert på kursets hjemmeside - igjen, rent valgfri del av det, men mye moro i det svært ofte vil en student få stilling nummer 10 eller så på den store styret, på nettstedet, kan du gå av til middag og deretter komme tilbake, og innse romkameraten hadde nettopp falt foran ham eller henne på the Big Board, dermed helle ytterligere to eller tre timer bare til én opp hans eller hennes romkamerat. Så vi ser frem til noe lignende i år også. I oppgavesettet 7 gjorde vi styre i retning av web-programmering, faktisk løse problemer i den stadig mer vanlig miljø av en nettleser. Vet da decreasingly laste vi programvare på Mac og PC, men økende grad, gjør vi alt innen web. Og ja, i fjor, noen 88% av studentenes endelige prosjekter i løpet var web-basert. Og de også er ferdigheter som du vil utlede fra denne klassen av Selvfølgelig er slutt, fordi hva som venter på kursets slutt er det CS50 Fair, dette Utstillingen som er basert på ideen om en science fair, men i denne versjonen av en rettferdig gjøre alle elevene i klassen bringe sine bærbare datamaskiner, og deres venner og familie, og andre til Northwest Science, en stor bygning på campus, sette opp sin laptop, få litt mat, få litt popcorn og drikke, og deretter vise sine siste prosjekter for alle som var tilstede, som i fjor nummerert noen 2500 deltakere fra hele campus, og uttrykk som dette, og som dette var ikke uvanlig på messen. Frem til messen er den CS50 hackathon, en mulighet til å hoppe på en Harvard shuttle, hodet ned gaten til Microsoft på 8:00, og ikke gå hjem til 7:00 AM. Vi serverer første middag på 20:00, andre middag på 1:00, og for de som fortsatt stående på 05:00 behandler vi til pannekaker på IHOP. Og hackathon er en mulighet, som avbildet her, å dykke inn i endelige prosjektene, uansett om man jobber på egen hånd eller med venner i en samarbeidsmiljø, hvor hele lærerstaben fungerer godt i natt med en rikelig tilførsel av Hong Kong kinesisk mat. På 5:00 vilje slike bilder som disse være ganske vanlig i år også. Slik som vi utsette et øyeblikk for kake, husk at 76% prosent av personer i dette rommet har ingen tidligere erfaring, og som per pensum, hva som til slutt teller i dette kurset er ikke så mye hvor du ender opp i forhold til klassekameratene dine, men hvor du, i uke 11, ender opp i forhold til selv i uke 0. Dette er CS50.