[Powered by Google Translate] SPEAKER 1: Dette er CS50.
Så jeg var hvor du er nu nogle år siden, og da jeg var en freshman i
tid, jeg var egentlig ikke på denne vej at gøre computere videnskab, at gøre
engineering.
Faktisk kom jeg på denne plads som en regering koncentrator.
Jeg havde været i high school et barn, der kunne lide ting som historien.
Jeg kunne godt lide forfatningsret slags engelsk og matematik, så slags
godt afrundet, men ikke nødvendigvis vide ting, som jeg ikke var blevet undervist i
i high school.
Og så freshman år havde jeg denne bæven, hvorved selvom jeg
kunne lide computere, spille computerspil og lignende, jeg sikkert aldrig
tænkt på mig selv som en computer person, en datalog, og
ærligt, jeg troede mine venner i gymnasiet der tog computer
videnskab var lidt af en - nørder.
>> Og dog, da jeg kom her på campus, var der dette kursus, CS50, og på
den tid, det havde denne ry for virkelig at være noget at passe på.
Det var et godt kursus.
Det var en sjov kursus.
Men skulle du faktisk få at foden i døren.
Og selv jeg ikke krydse denne tærskel freshman år.
Og jeg gik på min måde at være en regering koncentrator, som går gennem
som mange af forudsætningerne, som jeg kunne, krydser tælle ting til gen
ed eller core og lignende, og derefter sophomore år, eller anden grund har jeg
op den frækhed at skridt mund i Science Center B, hvor CS50.
En meget berømt datalog ved navn Brian Kernighan var
undervisning her det år, og selv da jeg var kun villig til rent faktisk at
udfylde mit studiekort ved at tage denne klasse bestået / ikke bestået.
Jeg kiggede mig omkring, og jeg regnede alle i dette rum er nødt til at kende
måde mere om datalogi, om programmering, om computere.
Alle skal være programmering i dette rum, siden de var 12, men ja,
det var ikke tilfældet.
Og så den allersidste dag, den femte mandag i semestret, at jeg tager
dette spring og ændring fra bestået / ikke bestået til et brev lønklasse, og ender med at ændre mit
koncentration, der samme dag til datalogi.
>> Nu, er ikke vores mål i denne klasse, at vende jer alle til computer
videnskab koncentratorer, men virkelig, at foreslå, at der er denne mulighed
på dette område og på andre områder, som du kan være helt ukendt,
da gymnasierne typisk følger en temmelig standard læseplaner
sti, men vove sig i, i CS50, i nye farvande.
Og hvis du sidder her i dag tænker du faktisk ikke hører hjemme, så
gøre de fleste af de folk til højre og til venstre.
Faktisk sidste år, 76% af eleverne i denne klasse havde ingen forudgående erfaring.
Så i modsætning til hvad du måske tror, ​​de fleste af de mennesker, der sidder omkring dig
dag ikke i realiteten have nogen forudgående erfaring.
18% har taget en CS klasse, og 6% har taget to eller flere.
I mellemtiden beder vi vores studerende hvert år for at beskrive sig selv i form
for komfortniveau, og det er -
der er ingen definition af dette.
Du skal bare slags vide det, hvis du ikke er meget komfortabel i CS50.
Og sidste år havde vi 55% i denne grønne pie skive her, selv-beskrivelse
som mindre komfortable studerende, der ærligt havde vi ingen idé om hvorfor tog de
shoppe kurset på denne første dag, men det samme 55% forblev hos os indtil
Udtrykket udgang, og det samme gjorde 35%, der var et sted i mellem de mere
komfortable og de mindre komfortabel.
>> Så hvad er datalogi?
Tja, i gymnasiet, og virkelig mere generelt derude i disse dage,
der er denne opfattelse eller denne misforståelse, at datalogi er
programmering.
Og det er absolut et aspekt af datalogi, men programmering,
uanset hvilket sprog er, er egentlig bare et værktøj, der dataloger
bruge til at løse problemer, enten i området for datalogi eller,
stigende i disse dage, i de fysiske videnskaber, den naturlige
videnskaber, i medicin, i de humanistiske fag, analysere
store datasæt.
Anywhere nu er der computer og data, der er en mulighed for at anvende
erfaringer i en klasse som CS50.
>> Så lad os løse et problem, at en datalog kan gå om
løse og forsøge at sætte nogle jargon, sætte nogle begrebsmæssige rammer, omkring
hvad der ellers ville være nogle temmelig abstrakte ideer.
Så dette er en telefon.
Du behøver ikke se disse ting for ofte.
Skolen synes stadig at have disse i husene og sovesale, men
tilbage i dag, når du ønskede at bruge en telefon som denne, var der ingen
elektronisk adressebog i din mobiltelefon.
Snarere, du trak op noget kendt som en telefonbog, og disse telefonbøger
havde omkring 1.000 sider typisk.
De blev sorteret fra A til Z, og du simpelthen nødt til at finde den rigtige side til
finde den person, du leder efter for at finde deres navn og deres
telefonnummer.
Nu hvordan kan du gå om at se op nogen i denne bog?
>> Antag mit mål er at give min ven Mike Smith et opkald.
Nå, hvordan kan jeg gå om at finde Mike Smith?
Tja, en meget fornuftig tilgang, hvis naive og ineffektiv, ville være begynde
her, og begynde at vende til side fire, til side fem, til side seks, og til at sortere
af lineært,, langs en ret linje igennem denne telefonbogen, og selv
selvom det kommer til at være utrolig kedelig, hvis Mike Smith er i denne
bog, jeg sidst vil nå ham, når jeg endelig vende til S
afsnit af denne bog.
Nu, selvfølgelig, behøver du ikke at være en computer videnskabsmand for at vide, at dette
er en dum måde at løse dette problem.
Hvad ville en typisk menneske gøre?
Godt klaret.
Så du ville vende til midten, ikke?
Så du ville vende nogenlunde til midten, se her, og jeg synes at finde mig selv
i M sektionen.
Okay, så M er tydeligvis ikke hvad jeg leder efter.
Mike er til højre, så at sige, i dette afsnit, og som nogle af jer har
set før, kan vi bogstavelig talt nu fortsætte med at rive dette
problem i en halv.
>> Du burde virkelig ikke være så imponeret.
Rive det ned sømmen er faktisk ikke så svært.
De virkelige mennesker gør det på denne måde, men ned sømmen, vi
har nu to problemer.
Hver af hvilket er halvt så stor, og vi kan bogstaveligt kaste, at halvdelen af
problem væk.
Nu er vi tilbage ikke med 1.000 sider, men siger, 500.
Så nu hvad skal jeg gøre?
Nå, vil et typisk menneske gå nogenlunde i midten igen, og jeg finder mig selv på
R sektionen, så ikke helt der.
Så igen, kan jeg rive dette problem i halve.
Tak.
Så nu har jeg kun omkring 250 sider, og jeg kan gøre det igen, og igen, og
igen og gå fra 125 til omkring 60, til 30, til 15, og så videre.
Og endelig vil jeg blive skåret ned til en af ​​de s sider, som, hvis han er
i telefonbogen, bør Mike Smith være.
>> Nu, er et åbenbart temmelig rimelig algoritme, og det er en
engangs-brug algoritme i dette tilfælde, men hvad kan vi sortere i
tage væk fra det?
Nå, den første metode, korrekt, hvis naive, men det var, kan være
beskrevet af den lige linje.
Så hvis på x-aksen, vi her sige, det er størrelsen af ​​problemet.
Således x-aksen går til højre, at problemet bliver større.
Hvad vil det sige at være større?
I forbindelse med dette problem. Flere sider i telefonbogen
Der er mere noget, vi kan kvantificere.
På y-aksen, tidspunkt for at løse.
Så som aksen går op, vi formoder det formentlig tager længere tid.
Så det første tilgang af lineært søger fra side et til side 1.000
er en lineær procedure, en lineær algoritme eller proces, og vi kan
beskrive det ved denne lige linje.
Hvis jeg tilføje endnu en side til telefonbogen, det vil i værste
tilfælde, tag mig endnu en side flip for at finde Mike Smith.
Hvis jeg tilføjer 100 sider, 100 mere flips, eller enheder af gangen.
>> Nu kan jeg være lidt smart med dette.
Jeg behøver ikke at virkelig slå det én side ad gangen.
Jeg kan gøre ting som to ad gangen eller fire ad gangen, men selv det er ikke
alt det fundamentalt bedre.
Selvom det er to ad gangen, yeah, den slags bevæger denne linje ned en smule,
og det betyder, at det tager mindre tid, have samme antal sider, men
Det er ikke fundamentalt bedre.
Men hvad gør vi bare gør, og hvad gjorde alle jer gør instinktivt?
Du faktisk opnåede en lidt noget som dette, logaritmisk tid,
hvorved problemet kan vokse og vokse og vokse, men omkostningerne ved løsningen, at
problem, den tid der kræves til at løse dette problem, ikke
vokse næsten lige så hurtigt.
Dette ville være en logaritmisk kurve, log af n, hvor n er lige i størrelsen af
problemet, at antallet af sider i denne telefonbog.
Og hvad betyder det reelt?
Tja, hvis vi har, ligesom, 500 mennesker i dette rum lige nu -
eller rettere, hvis vi har -
blanding metafor -
ikke gjorde det eksempel endnu i år - så hvis vi har 500 sider i telefonen
bog, og vi fordoble det til 1.000, i dette mere intelligent model
flipping til midten, hvordan mange flere side-tearers det tage at gå fra
500 sider til 1.000?
Nå, bare en ekstra side tåre.
Hvis du gav mig en 2.000 side telefonbog, no big deal.
Jeg ville bare rive det en ekstra gang.
>> Så kort kan størrelsen af ​​problemet vokse meget hurtigere end prisen på
faktisk løse det.
Nu dette er blot én sådan algoritme.
Der er andre, vi kan løse på denne samme måde.
Og så hvorfor gør vi ikke det - hvis du vil humor mig, omend akavet her
i Sanders, gå videre, alle, hvis du kunne, og stå op på plads.
Som du kan se på skærmen her, det er en algoritme, en proces, en computer
program, hvis du vil, kan udføres af mennesker, der har blot tre trin.
Vi er allerede på trin et, har du stod op.
Og nu tænke på dig selv nummer et.
Det er dit nuværende nummer.
Alle her er nummer et.
Trin to, parre op med nogen stående og dine tal sammen,
og derefter vedtage dette beløb som dit nye nummer.
En af jer skal sidde ned, og derefter gentage.
>> På dette punkt, bør færre og færre mennesker blive stående.
Det er her, det bliver mere akavet.
Nogen her, her.
Den værste del er, du også nødt til meget verbalt regne i front
hundredvis af Harvard undergrads.
Okay, lidt af en fejl her.
Okay, hvad er dit nummer?
Nine.
Okay.
Hvad er dit nummer?
179.
Okay, godt.
Så 188.
Så du fyre kan sidde ned.
Hvad er dit nummer?
118.
Nogle smarte undergrad begynder at gøre det math.
Okay, 118, 188.
Hvad har vi ellers?
71.
79.
Okay.
Og?
47, som lærere, der giver os, hvor mange?
705 er svaret.
Og det er i virkeligheden helt korrekt.
>> Nej, vi var faktisk en lille smule off der, men hvordan
Dette bør have arbejdet?
Hvad skulle have skete der lige?
Så på hver iteration af denne algoritme, startede vi med nogle tal
mennesker stående, og det var det samlede antal, n, i første omgang.
Så halvdelen af ​​jer satte sig ned, og vi gik til n over to.
Så halvdelen af ​​jer sad ned, gik vi til n over fire, n over otte, over 16,
og så videre, indtil, selv om den slags sønderdelt der ved
ende, i teorien, havde alle parret ud i balkon, og mezzanin, og
orkester her, ville vi have haft bare én enlig person, der står med et samlet
værdi, i dette tilfælde på 705.
Nu hvad betyder det, men for køretiden?
Nå, så tænk på, hvis jeg, som det menneskelige, havde gjort dette manuelt.
Jeg ville have startet temmelig naivt, men korrekt med en, to, tre,
fire, fem, seks, syv, otte, og så videre; tager temmelig lang tid.
Så jeg kan gøre det bedre, ikke?
I folkeskolen, behøver du ikke bare tælle i dem.
Du tæller i toere.
Så to, fire, seks, otte, ti, tolv.
Og det bliver meget hurtigere, men nu fundamentalt, ved at udnytte den
kollektive intelligens alle i dette rum, kan vi opnå en kurve meget
mere som denne, hvorved nu, at antallet af de mennesker i dette rum
kunne double, en anden 700 mennesker går ind i dette rum til 1.400 mennesker, men
ville det kun tage os endnu en iteration af denne algoritme til at løse.
>> Og så i stigende grad, i disse dage, når vi har disse enorme datasæt i
Facebook, og Google og lignende, er det at løse problemer med denne smule af
indsigt, denne lidt Klogskab, det er giver os i stigende grad at gøre meget,
langt mere kraftfulde ting med computere i dag.
Hvis du kan lide den slags ting, du måske har set på Facebook CS50 s
eget Puzzle Day, kommer op denne lørdag.
Hvis du ønsker at deltage i noget som dette, hvor du og
to eller tre eller fire hold af fire vil gerne løse nogle gåder sådanne
som dette, står du en chance for at vinde nogle fantastiske præmier, blandt hvilke er en
Wii, og nogle gavekort, og nogle andre Facebook Swag denne lørdag,
middag til 3:00 PM.
Gå til cs50.net/rsvp en sådan.
Og dette dias er online, hvis du ønsker at spille rundt.
Gåderne i år skal være nye.
>> Du vil måske bemærke i klasseværelset, også alle de flere kameraer i år.
Så ikke blot vil naturligvis blive filmet på den sædvanlige måde, kan CS50 også være
deltager i en dokumentarfilm om højere uddannelse, der er at se på
transformative erfaring, at en elev kan have disse dage i en
bachelor studieforløb.
Så mod disse ende, vil vi ikke blot blive filmet for det, vil vi filme
samt for i stigende grad vores online publikum, såvel som til tider
dette publikum her.
Så vi velkommen til klassen i år vores Harvard forlængelse skoleelever,
Graduate School of Design, uddannelse, business school, Kennedy
School, jurastudiet, samt et antal studerende fra Belmont,
Lexington, Newton, og Watertown High Schools.
Velkommen til jer alle.
Hertil kommer, i år, som du måske har hørt, Harvard og MIT, og
Berkeley nu har indgået en samarbejdsaftale om et
initiativ kaldet EDX, der er et initiativ til at åbne op uddannelse til alle
jo flere mennesker online, og fundamentalt, begynde at gøre forskning i
en langt bredere skala, hvordan mennesker lærer.
Og så CS50 vil være skolens første kursus, der deltager i det
initiativ, så godt, betyder som du vil have adgang til alle de mere
værktøjer, desto mere uddannelsestilbuddet, desto mere videoindhold som
et resultat, såvel som i går morges, de 53.019 mennesker, der har
registreret til at tage CS50 sammen med dig i år på internettet.
Så hvad det betyder, i særdeleshed, er, at lærergruppen og jeg har
brugt ganske lidt tid denne sommer forberedelse til efteråret, både på campus
og slukket, så vi kan begynde at opbygge et korpus af interessante, af
overbevisende, at engagere pædagogiske indhold, fokuserer det især på
mere intime transportmidler af temmelig komplekst materiale.
>> Så udover kursets forelæsninger og sektioner, og ting
såkaldte walkthroughs, som vi vil revidere i blot en smule, vil vi også have
disse shorts i år, så du kan engagere sig med kurset fra en
anden vinkel alle sammen.
Så lad os bruge dette som en mulighed for at tage et hurtigt kig på en,
diskuterer dette begreb binær.
>> Så i datalogi der er ting der kaldes algoritmer, hvoraf to
vi tog bare et kig på - disse procedurer til løsning af problemer.
Men i slutningen af ​​dagen, er du nødt til at repræsentere information eller anden måde, og du
nødt til at repræsentere det på en måde, som en computer kan forstå.
Og selvom du ikke rigtig forstår computere, og du er i
at 76% lige nu, har du sandsynligvis har nogle vage fornemmelse af, at computere
en eller anden måde beskæftige sig nuller og ettaller, det binære system, så at sige.
Men hvorfor er det sådan?
Nå, viser sig når computerne først kom omkring, hvis du har brug for at repræsentere
information, kan du gøre det med elektricitet, og selv om dette er en smule
af en forsimpling, er en meget nem måde at registrering af oplysninger enten
ved at dreje, at el på, at dreje en i binær, så at sige, eller
at elektricitet off.
>> Så Barry, hvis du ikke har noget imod kunne vi dæmpe lyset
fuldt ud for bare et øjeblik?
Det her er en meget umotiveret binær nul.
Okay, hvis vi tænde lyset tilbage op, nu Sanders Theatre er
repræsenterer den binære værdi af én.
Desværre, med blot én bit, med blot et sæt af lys, kan vi kun
repræsentere to numre i verden, nul og én, og det ville være rart, hvis
computere kunne tælle en smule højere end det, men ja, de kan.
Så lad mig trække op på skærmen her vores ven, Nate Hardison, som vil give
os et hurtigt kig i løbet af blot et par minutter på
Denne opfattelse af binær.
>> NATE Hardison: Tilbage, når du lærte at læse og skrive numre, du
lært om cifrene nul til ni.
At skrive hele tal større end ni, du lærer at alt hvad du havde at gøre
blev anvender en kombination af disse cifre, som i 52 og 437.
Så denne måde at skrive numre har et navn, decimal notation.
Hvorfor decimal?
Nå, det latinske rod af decimal, deca betyder 10, og når du har 10 cifre
i dit notation system, bliver 10 en noget speciel nummer.
Lad os se på antallet 437 skrevet i decimal notation til at forstå hvorfor.
>> Vi kan først opdele 437 i 400 plus 30 plus 7.
Vi kan tage det fra hinanden endnu mere, så vi har fire gange 100 plus 3
gange 10 plus 7 gange 1.
huske at lære om dem sted, 10s sted, 100s
sted, og så videre?
Dette er præcis, hvor det kommer fra.
Og endelig kan vi se, hvordan vi har fået en masse beføjelser
10 indlejret i her.
Vi har 4 gange 10 til 2 plus 3 gange 10 til 1 plus 7
gange 10 til nul.
Så nu kan du se hvorfor 10 er et særligt tal i decimal notation.
Faktisk har vi et navn til det.
Det hedder base, da det er bunden af ​​eksponenten i
vores aritmetiske her.
>> Decimal notation er ikke den eneste måde at repræsentere tal.
I virkeligheden, selv om vi slippe af med cifrene to til ni vi kan stadig
repræsentere alle de numre, vi kunne med decimal.
Så nu, at vi har to cifre, nul og en, to er vores særlige nummer,
bunden af ​​vores notation system.
Navnet på denne notation systemet kaldes binær, da
prefix bi betyder to.
Så i stedet nu at have en dem sted, og 10s sted, og så videre, vi
nu et dem sted, et twos sted, en fire sted, og så videre, stiger med
potenser af to.
Så lad os se dette ved at gøre nogle tælling.
Så nul er stadig nul, og man er stadig en.
Men nu, hvor vi har fået en toere sted i stedet for en 10s sted, 10
repræsenterer nummer to.
For at få tre, tilføjer vi en til det, og få 11.
Four, da der er nu en fire sted, er repræsenteret af 100.
Fem er 101.
Seks er 110.
Syv er 111.
Otte, igen, har sin egen plads.
Så det er 1000.
Og jeg tror du får det punkt.
>> SPEAKER 1: Så dette er at sige, hvad computere gøre, og hvad binære er er
faktisk ikke så forskellig fra det, vi har taget for givet for nogle
år, right?
Tilbage i folkeskolen, du lærte at tælle præcist i
mode, at Nate foreslået, men du sandsynligvis har ikke rigtig tænkt over
det siden, at der er dette dem sted, 10s sted, og 100s
sted, og det er temmelig vilkårlig.
Og ja, computere blot bruge denne anden base.
Men i slutningen af ​​dagen, at rent fysisk repræsentere denne forestilling om en
nul og én, du tydeligvis ikke bare tænde lyset og slukke
nødvendigvis.
Du er nødt til at gøre det på en meget finere korn skala.
Og ved finere korn, kan du huske dette tåbelige lille legetøj fra barndommen,
Woolly Willy og disse små magnetiske partikler.
>> Så magnetiske partikler er noget, som du kan justere i et par
forskellige retninger, måske nord-syd eller syd-nord.
Og så en masse fysiske inkarnationer af teknologi i disse dage, der bruger
binær, der bruger nuller og ettaller, skal du blot have magnetisme på indersiden
der bringer tingene op-ned eller ned-op, hvilket repræsenterer en nul eller én,
hhv.
Så ja, lad os komme væk fra det abstrakte her, og se på indersiden
af, hvad der er en mere traditionel computer harddisk.
Denne ene sker for at være en smule større på skærmen, i, at det er fra en stationær
computer, men bærbare computere i dag har stadig den samme teknologi, men er efterhånden
bliver erstattet af mere avancerede ting, som rent faktisk har ingen bevægelige
dele - den indvendige side så med en harddisk.
>> SPEAKER 2: Harddisken er der, hvor din pc gemmer det meste af
dets permanente data.
At gøre det, at data bevæger sig fra RAM sammen med software-signaler, der fortæller
harddisken, hvordan man opbevarer disse data.
De hårde drivkredse oversætte disse signaler til spænding
udsving.
Disse, til gengæld, kontrollere harddisken bevægelige dele, nogle af de få
bevægelige dele tilbage i den moderne computer.
Nogle af de signaler styrer en motor, hvilke skoler metalovertrukne plader.
Dine data er faktisk gemt på disse plader.
Andre signaler flytter læse-skrive hoveder til at læse eller
skrive data på pladerne.
Denne maskine er så præcis, at et menneskehår ikke engang kunne passere mellem
hoveder spinning fade, men det hele virker på forrygende hastigheder.
>> SPEAKER 1: Så vi nu zoome ind på, hvad der rent faktisk sker på toppen af ​​disse
plader i form af magnetisme, har vi denne anden af ​​to udseende.
>> SPEAKER 3: Lad os se på, hvad vi lige har set i slowmotion.
Når en kort puls af elektricitet sendes til læse-skrive-hoved, det vender
på en lille elektromagnetisk til en brøkdel af et sekund.
Magneten skaber et felt, som ændrer polaritet en lille, lille
del af metalpartiklerne som coat hver plade overflade.
Et mønster serie af disse små ladede op områder på disken repræsenterer en
enkelt bit af data i et binært tal, der anvendes af computere.
Nu, hvis det nuværende er sendt en vej gennem læse-skrive hoved, området
er polariseret i en retning.
Hvis den aktuelle sendes i den modsatte retning, det
polarisering vendes.
Hvordan får man data fra harddisken?
Bare vende processen.
Så det er partiklerne på disken, der får den nuværende og den læse-skrive
hovedet bevæger sig.
Sammensæt millioner af disse magnetized segmenter, og
du har fået en fil.
Nu stykker af en enkelt fil kan være spredt over hele en drevets plader,
lidt ligesom det rod af papirer på dit skrivebord.
Så en ekstra fil holder styr på hvor alt er.
Må ikke du ønsker du havde sådan noget?
>> SPEAKER 1: Ja.
Så vi har denne evne til at repræsentere denne information, tal
på et meget lavt niveau.
Vi har en fysisk måde at repræsentere det samme, men vi kan ikke rigtig
gøre alt, meget af interesse endnu, andet end måske nogle aritmetiske og
matematik.
Vi har ingen måde at repræsentere således langt ting som alfabetiske bogstaver,
så vi mennesker kan kommunikere ved hjælp af de samme enheder.
Men heldigvis findes der kodninger, mønstre af nuller og ettaller
der repræsenterer højere niveau konstruktioner som A og B, og C, og hele
sætninger og afsnit, og lignende.
Og så ASCII, hvilket er et akronym, der betegner det kodende system, hvor
en nummer repræsenterer et bestemt bogstav - for eksempel det antal, som vi kender
som decimalværdi 65 er kendt som det store bogstav A til computere.
Decimalværdien af ​​97 i computere er kendt som en lille en.
Og hvad betyder det egentlig?
Nå, selv om Nate, for et øjeblik siden, kun talt op fra nul til otte, hvis
vi skulle fortsætte med at tælle op til 65, eller yderligere, til 97, mønsteret af
nuller og ettaller, at han ville have draget på skærmen ville være præcis
hvad en computer bruger til at repræsentere bogstavet A i alle caps, eller bogstavet a
med små bogstaver.
Og ja, der er en hel ordning til dette.
Det er ved første øjekast, overvældende diagram af kodninger, men hvis du fokuserer
lige på den højre halvdel her, i denne midterste kolonne mærke, har vi denne
begrebet tal efterfulgt af bogstaver.
Og øverst har vi 32, og den karakter char, hvortil 32,
heltal, nu henviser til, er tilsyneladende den plads bar tegn.
Når du får den plads bar tegn på din bærbare computer, hvad du virkelig
sender er et tal, et mønster af nuller og ettaller, en strøm af elektricitet,
hvis du vil, repræsenterede disse nuller og ettaller, at computeren og derefter
tolker som et rum karakter på skærmen.
Et udråbstegn 33.
Anførselstegn er 34.
Og hvis vi rulle ned her over til højre, ser vi, at 65 er faktisk A, og
97 ganske små bogstaver a.
>> Så nu, at vi har dette kodningsskema, kan vi begynde at
stave ting ud.
Faktisk computere typisk udtrykker sig i standardenheder, ikke
ved hjælp af en individuel bit, hvilket igen, er ikke så hensigtsmæssigt at netop
repræsentere nul eller ét, lys på eller slukket, men snarere ved hjælp af
sekvenser af bits.
Og den mest almindelige måleenhed, som du sikkert ved, eller i det mindste
udledes, er en byte.
En byte er kun otte bits, otte nuller eller dem i træk.
Så vi kan begynde at stave ting ud.
Og så hvis vi kunne, hvorfor så ikke prøve dette lidt kollektivt her?
Er der otte mennesker i dette rum, der ville være villige
at komme op på scenen?
Du er nødt til at være komfortable optræder på kamera, men du behøver ikke virkelig har brug for
at vide ellers hvad der sker lige nu.
Jeg ser en person, der meldte sig herovre.
To, tre, fire, fem, seks, syv, og hvordan omkring otte?
Kom nu op.
>> Så du er ved at repræsentere en byte af mennesker.
Lad mig har du været det 128s sted, du 64s sted, du 32s sted.
Men vi vil meget hurtigt nødt til at vende denne.
Så lad mig møde jer alle derovre.
Og du skal være i 128s sted hele vejen over, her meget gerne
hundreder sted eller tusinder sted ville være længere til venstre, vi ønsker
den største pladsholder for at være her til venstre så godt.
Vi har 64s, 32, 16s, 8s, 4s, 2s, og 1'ere -
excellent.
Så nu har vi -
okay, kan du hjælpe mig.
Så nu har vi - hvad er dit navn?
JOANNE: Joanne.
SPEAKER 1: Så Joanne og jeg skal nu rådgive disse fyre om, hvordan vi
kan gå om stavning noget ud.
Så på ryggen af ​​deres ark papir, de har en lille snyde ark
der kommer til at fortælle dem om de blev repræsenterer et nul eller én.
Og hvorfor ikke, for enkelhed, vil vi repræsenterer nul ved blot
stod der kejtet.
Meget godt.
Eller en en ved at hæve din hånd, der repræsenterer en én.
Og lad os se om vi ikke kan stave en fire tegn sætning her.
>> Så gå videre nu, frivillige, og udføre runde ved at hæve din hånd
hvis du er en en, eller holde det nede, hvis du er et nul.
Så nu, at vi har disse tre hænder op, hvilket nummer, alle andre, er
de faktisk repræsenterer?
Okay, 67.
Hvorfor?
Nå, hurtig tilregnelighed kontrollere.
64s sted, fordi det er en én.
Det er ligesom én gange 64 plus 1 gange to, så det er 66, plus 1 gange 1.
Det er plus 1, så 67.
Så nu er disse fyre er kollektivt repræsenterer 67, som tilsyneladende
svarer til, hvad her i ASCII?
Okay,
så en C. Okay.
Så lad os nu gå videre til runde to.
Alle starter med hænderne ned, og derefter runde to.
Faktisk er der ikke meget af en rolle her, jeg formoder, men vi vil lade som om.
Så runde to, hæve eller sænke dine hænder.
>> Ok.
Publikum, hvad er vi nu?
Udtrykke er 83.
Så du kan gøre matematik.
Men for enhver, hvis hånd er op, tilføje dig i det nummer, de repræsenterer.
Så nu har vi 83.
Lad os udvide snyde ark en lille smule, og vi har nu -
dette kan være indlysende hvor vi skal hen her, men
ikke desto mindre runde tre.
Okay, runde tre er god til at gå derned, så runde tre, hvad nummer er
disse fyre nu repræsenterer?
Okay, jeg hørte 53, som nu repræsenterer - interessant.
Nu hvorfor denne form for counter-intuitive resultat, right?
Hvis vi ønsker at repræsentere fem -
vi alle sikkert kender, hvor dette foregår -
hvorfor jeg ikke bare hæve fours sted og dem plads?
>> Tja, vi indse, at der er en forskel, fundamentalt, mellem, hvordan
en computer fortolker disse bits.
Hvis du forsøger at repræsentere nummer fem, så absolut, vi bare
hæve din hånd nummer fire og hæve hånd nummer et.
Men vi er ikke repræsenterer numre her.
Konteksten her på scenen, er, at vi repræsenterer tegn eller
chars, og i den forbindelse har computeren til at indse, at åh, dette
mønster af bits er ikke et tal alene.
Det er faktisk repræsenterer et højere niveau koncept.
I dette tilfælde en alfabetisk bogstav.
Så det faktum, at det nu repræsenterer nummer fem med
værdi 53 er fordi i ASCII, de ting vi æstetisk ser som den
nummer fem i sig selv har brug for et mønster af bits - fordi hvorfor?
Nå, verden netop besluttet at bruge de lavere tal, nul, et, to,
tre for hvad kiggede være temmelig kryptiske ting.
Og ja, det er de tegn, der ikke på et tastatur.
Særlige udtryk, du har brug for i en computer til at gøre interessante ting, men
mennesker faktisk aldrig skriver dem.
Så 53, faktisk udgør fem.
Nu blot som en endelig tilregnelighed check, hvad skal nummer, de
repræsentere på bare et øjeblik?
Okay, så 48.
Og ja, gå videre, runde fire.
16 plus 32 er faktisk 48.
Og så en stor runde af bifald, hvis vi kunne, for vores otte frivillige her.
Meget godt klaret.
Helst retning er fint.
>> Så nu har vi en måde at ikke kun tænke på, hvordan til at repræsentere data,
og faktisk repræsenterer det fysisk, men også gør en højere
niveau ting oven på.
Og ja, dette vil være et tema i hele datalogi af
bygge flere og mere interessant og kompleks ting på toppen af
forholdsvis enkle ideer -
i dette tilfælde. bare nuller og ettaller
Med hensyn til hvorfor dette er nyttigt, ja, selv om der i et kursus som dette,
vi vil fokusere på fundamentals, og om programmering, og om løsningen af
problemer, kan du gå ud i datalogi i et vilkårligt antal retninger.
I dette tilfælde her, er dette et diagram, som du har på bagsiden af ​​din
uofficielle guide til CS på Harvard, en af ​​dagens to udskrifter.
Dette tyder de mange forskellige retninger, hvor du kan gå efter en
kursus som dette -
lære om kunstig intelligens, om grafik, om
machine learning, om sproget selv.
Indser også, at der findes endnu andre veje.
Der er mere matematiske stier i datalogi.
Hvis du ikke selv i stand til at tage noget som CS50 dette efterår, er der
introduktionskurser i foråret, Datalogi 1, for eksempel, er
endnu en om-rampe til denne nye verden.
>> Nu som en sidebemærkning, af hensyn til at løse problemer relateret til kurser
indse CS50 fastsat nogen tid siden at forsøge at løse et af disse problemer, en
problem kendt som my.harvard, som mange af jer bruger måske til rent faktisk at
shop for kurser, men hvis ikke, så tjek et værktøj som dette, samt andre
efterkommere, at nogle af vores tidligere studerende og ansatte har skabt.
Men i Harvard Kurser, der er et web-baseret værktøj, noget, som du
vil være i stand til at designe og implementere jer, såvel som endnu
andre ting også ved udgangen af ​​semestret, indse, at dette bygger
på en åben datasæt.
I dette tilfælde, selvfølgelig, katalog, og giver eleverne mulighed for i dette tilfælde
udforske en temmelig kompliceret datasæt.
>> Vi gravede op i går aftes et par baseret på de få tusinde folk, der
har brugt denne i løbet af de sidste par dage.
Hvis du har været nysgerrig efter at vide, hvor mange kurser dine venner faktisk
tendens til at shoppe, ja, i dag disse data tyder på, at 7,6 er den gennemsnitlige
række kurser på en eller andens indkøbsliste.
Og nu vil jeg give dig også statistik over de mest antallet af
kurser om nogens indkøbsliste - og vi alle kender sikkert
en som denne.
201 er dette års rekord.
Nu nogle af vores tidligere studerende og ansatte faktisk sat sammen et klip til
male et billede til dig, hvad denne vej datalogi
og CS50 selv er.
Lad mig gå videre og trække op, takket være Mr. Harvahd her, en video produceret af
nogle af dine forgængere, hvis vi kunne holde lysene op for dette.
[Musik spiller]
>> SPEAKER 1: Jeg havde ingen idé om, at der skulle ske.
Så en mere alvorlig kig på hvad der ligger forude.
Så i forhold til de forventninger til dette kursus, er du faktisk forventes at
deltage eller se kursets foredrag, indsende otte problematiske sæt, tage to
quizzer, indsende et afgangsprojekt.
Med hensyn til karakterer, indse, at mine kommentarer ved åbningen om
pass-fail, noget, som vi i høj grad tage til hjerte i CS50 - der er ikke
næsten nok af en kultur på Harvard for at forsøge
noget og risikere fiasko.
Faktisk havde vi antal studerende, og jeg selv i særdeleshed, som var
bekymret såre din GPA, eller få en B i noget lignende CS50,
og mulighed for at tage et kursus som dette og andre gateway kurser på
det indledende niveau bestået / ikke bestået, er et meget uudnyttede muligheder på dette
college i almindelighed.
Og så skal du vide, selv jeg tilmeldt dette kursus i første omgang til bestået / ikke bestået
kredit alene, og selvom jeg gjorde kontakten ved slutningen af ​​dagen, var det
de fem første uger, op til den femte mandag i semestret, der er
cutoff, der tillod mig at faktisk sætte foden ind i disse nye
farvande, og faktisk prøve noget meget uvant og meget ubehageligt
for mig på det tidspunkt.
>> Så hvad nu af, hvilken rolle de forskellige vinkler, som du kan
nærme sig dette kursus tjene -
så forelæsninger. Det er op til dig.
Hvis du engagere sig med os i person på dette sted, ja, vi kender
statistisk, at omkring 40% af jer vil slags kommer og går over
løbet af semestret, og 10% af jer vil vi aldrig se igen efter i dag.
Og det er helt fint, at være ærlig.
Et af de vigtigste kendetegn ved CS50 er, at der er disse
utallige ressourcer, hvoraf nogle vi vil rasle igennem på bare et øjeblik,
herunder foredrag og sektioner, og ting kaldet walkthroughs, og kontor
timer, og lignende, og det er flere ressourcer end den typiske studerende
skal have eller kunne fysisk drage fordel af, men det er fordi
af de forskellige læringsstile, at enhver studerende manifesterer.
Og så i foredrag, er den primære rolle, som jeg ser det ikke at verbalt skubbe
ud temmelig komplekst materiale og nødvendigvis levere alle de
snørklede af de grundlæggende, at vi udforske dette semester, men
snarere, at gøre ting som vi har gjort hidtil allerede, disse eksempler
involverer mennesker på scenen forsøger at male et mentalt billede, og også
skabe, tør jeg sige, nogle af disse mindeværdige øjeblikke, så selv når du
kæmper med bestemte emner, du har disse erindringer, ligesom oh, selvom
der var temmelig abstrakt den matematik, fik jeg tabt med at bære en én, ligesom,
det virkelig, ved slutningen af ​​dagen, er ikke så ulig noget, jeg
allerede kender.
Og så den rolle, forelæsninger vil tjene enten personligt her i Sanders
eller online på video er virkelig at sætte scenen mentalt for dig hver uge
for de forskellige begreber og problemer, som vi vil være dykning i.
>> Med hensyn til de overordnede begreber, kan de fleste af disse ord flyde over
dit hoved for øjeblikket.
Og det er fint.
De af jer, der vil komme i kurset mere komfortabel vil kende
nogle af disse emner, men typisk for at 10% af den klasse, hvortil
de har langt mere baggrund, idet AP datalogi, programmering siden
de var 12, indse, at der vil være muligheder i sektioner og
problem indstiller at gå hele mere dybde i forskellige emner, udfylde
uanset huller du måtte have fra din high school eller forudgående baggrund.
Med hensyn til de sprog, indse, at hvad sprog vi bruger i CS50 er
stort set irrelevant ved udgangen af ​​dagen.
Vi tilfældigvis til at bruge primært et sprog kaldet C. Hen mod slutningen af ​​den
semester, introducerer vi web-centreret sprog, som PHP og JavaScript.
Men vi og andre kunne lære et kursus som dette i de fleste enhver moderne
højniveausprog -
Python, og Ruby, og andre er meget populære i disse dage, fordi indse,
ved slutningen af ​​dagen, er du ikke lære i denne C. Du er ikke
lære PHP eller JavaScript.
Du lære at løse problemer, hvad enten webbaseret, computer-baseret, eller
data-orienterede sig selv, ved hjælp af disse blot som værktøjer.
>> Nu med hensyn til logistik, vil du bruge noget til sidst kaldes
CS50 Appliance.
Gør ikke noget hvis du har en Mac, en pc, en Linux-computer, eller lignende,
har du frit tilgængelig software starter næste uge med til at bruge
det CS50 Appliance, et virtuelt miljø, som du vil bruge på din
egen computer, så du og alle dine klassekammerater har en ensartet Linux
desktop i denne sag.
Det er problemet sæt, selv om, hvor du virkelig få dine hænder
beskidt i løbet.
Og i slutningen af ​​dagen, er det problemet sæt, jeg tror, ​​der virkelig
definere en studerendes erfaring på dette kursus.
Indse, at mange af de problematiske sæt vil blive frigivet i to udgaver -
en standard udgave, som vi forventer og tilskynder 90% af
klasse til at dykke ned.
Men vi har også udgivet nogle problematiske sæt i såkaldte hacker-udgaver, og du
ved, det er hacker udgave, fordi på hver side med et vandmærke, det
siger hacker udgave på det.
Og det er for denne demografiske af jer, der har AP datalogi med 10
års programmering under dit bælte, og søger at udfylde disse huller,
og have mere formel, end autodidakt træning måske, indser
at der er en meget stor demografisk i den klasse, der har
præcis samme mål.
Du vil have fem sene dage.
Problem sæt skyldes generelt om torsdagen, men du kan forlænge fem af
disse frister med disse ting kaldet sene dage, og vi vil også falde
din laveste score ved slutningen af ​​semestret, pr
specifikationerne i pensum.
>> Men en anden afgørende kendetegn ved CS50 årenes løb blevet kontor
time, en mulighed, du så visuelt i billeder lidt siden, hvor
vi samles tidligere i huset spisesale, før det i
kælderen af ​​science center, og i år i Annenberg Hall, fire
nætter en uge fra 20:00 til 11:00, hvor du vil have det meget
fælles erfaringer med at arbejde på, kæmper gennem visse problemer,
men med en væsentlig støtte struktur på plads.
Faktisk den måde, dette vil fungere, er du ankommer til Annenberg, hvis du har
nogle spørgsmål i løbet af ugen.
Du vil bringe din bærbare computer, vil du sidde ned, Grib nogle fødevarer, og du vil logge
ind til CS50 Diskuter, et web-baseret hjælpeprogram, der lærergruppen har
udviklet som vil tillade dig at skrive spørgsmål og se opfølgninger i et
typisk diskussionsforum forstand ved hjælp af etiketter og lignende, og auto-complete
at søge i oplysningerne.
Men du vil også være i stand til i løbet af de timer af åbningstiden, har din
spørgsmål eskaleret til virkelige mennesker.
Faktisk målet sidste ende er således at én, vi begynder at opbygge i
løbet af semestret et korpus af forhåbentlig rigtig nyttig information,
fælles svar på almindelige spørgsmål, så du selv kan løse problemerne
og komme galt så hurtigt som muligt, og samtidig have undervisningen
personale - normalt 20% til 30% af undervisningen stipendiater og kursus assistenter
på personalet på én gang.
>> Vi vil have det, der kaldes CS50 Greeter in Annenberg, og når vi
bestemme, at, ved du hvad?
Dette spørgsmål, vi virkelig svare effektivt online.
Vi er nødt til at se din computer.
Vi vil tale med dig en på én.
Du er virkelig kæmper, og du derfor ønsker at tale en på én
sammen nogen, vil du blive sendt til den CS50 Greeter, en
undervisning fyr bedrift, bogstaveligt talt, en iPod, der har elevernes navne på én
side, undervisningspersonale navne på den anden.
Vi vil indsamle dit navn, efterfulgt af navnet på en lærerstab, og din
computerskærm vil begynde at blinke, siger du gå se Alice eller behage
gå se Bob på personalet bordet.
Og så på denne måde, vil vi være i stand til at sende tingene så effektivt som
muligt, samt guide dig mod løsninger desto mere let.
I afsnit vil disse være muligheder for mere intime hands-
på muligheder med en af ​​de pædagogiske stipendiater og 12 til 16 eller deromkring af
dine klassekammerater, hvor hver uge, vil vi have problemer med det problem sæt
at stille en række principielle spørgsmål, og en række bid-størrelse
programmering spørgsmål, som du kunne finde ud af på egen hånd, og du kunne
arbejde på egen hånd, men i sammenhæng med afsnittet, vil vi arbejde igennem
kollektivt nogle af disse problemer og gå, hvor den
samtale tager os.
>> Derudover vil i sektion har du mulighed for at gennemgå indlæg
lektier, som du har lavet, dine klassekammerater, nogle gange anonymiseret,
altid med en opt-in, hvis du ønsker at dele
arbejde, at du har indsendt.
Så det vil virkelig være en to-vejs samtale, og mulighed for at
gennemgå dit eget arbejde i en langt mere dynamisk forstand, snarere end blot
ser på en PDF-fil eller udskrift og tænke over det i et par sekunder
og ikke nødvendigvis absorbere den feedback, den
lærere har givet.
Og du vil bruge et værktøj her kaldet CS50 Spaces.
For dem bekendt, er dette sprog kendt som C øverst til venstre, og
du får at vide dette over tid, men dette er et web-baseret hjælpeprogram, vi får
bruge i afsnit, der vil give dig og dine 15 eller så klassekammerater at logge ind med
din undervisning stipendiat ved den forreste del af lokalet.
Du vil være i stand til at skrive kode i dette vindue.
Du vil være i stand til at chatte elektronisk, hvis du ikke er faktisk på afsnittet
dette særlige øjeblik, og din undervisning fyr, når det drejer sig tid til
diskutere Alice eller Bob løsning i klassen, kan undervisningen fyr klikke på en
knappen, og voila, projekt på skærmen, uanset at studerende har været
arbejder på på det pågældende tidspunkt.
Så for dem af jer har venner, der har taget CS50 i fortiden, indser
at afsnittene er blevet betydeligt genstartet i år til at være så meget desto mere
aktiv, desto mere dynamisk, og virkelig, en to-vejs samtale mellem
undervisning medarbejdere og studerende.
>> Og walkthroughs.
Så for disse problemområder sæt, tilbyder vi også ikke blot specifikationen
selv, som generelt er en temmelig detaljeret PDF, men også noget kendt
som walkthroughs, et medlem af lærerstaben, hvorved vil føre en ugentlig
session, der bogstaveligt fører dig gennem problemet sæt, som giver dig
hints, og rådgivning, og udgangspunkter, og er beregnet til at spørge meget
ofte stillede spørgsmål: hvor skal jeg begynde?
Nå, du begynder enten ved dykning i spec på sin egen, eller ved at deltage i
eller ser disse walkthroughs.
Den første gennemgang, faktisk være vil denne fredag.
De vil være om fredagen, ikke så meget fordi vi tror, ​​det vil være en populær
tid, men fordi vi kan så filme dem meget tidligt i ugen og få
dem online ved weekenden, så du har så mange dage som muligt til
faktisk udøver i dette indhold så godt.
Men mere om det i forelæsning på fredag.
>> Nu med hensyn til bærestrukturen, er den væsentligste statistik
måske de 108 pædagogiske stipendiater og kursus assistenter, at dette kursus
har i øjeblikket.
Hvis nogle af jer, der ikke har modstridende klasser gerne vil være med
mig op her på scenen, er det disse fyre, der i sidste ende vil virkelig definere din
oplever i løbet.
Jeg havde en masse undervisning stipendiater underviser mig klasser i dag, og jeg
husker meget få af dem, helt ærligt, men til dato, stadig husker jeg blandt
de få min CS50 TF, som virkelig hjalp mig besvare spørgsmål, der virkelig
hjalp mig, da jeg kæmpede, og virkelig var en partner i denne
erfaring med at lære en meget ny verden.
I en lille smule, vil alle disse fyre slutte sig til dig uden for kage, som
er en tradition for CS50, i tværskib af Memorial Hall, men lad mig
først introducere dig til Nate Hardison igen, Rob Bowden, og Tommy
McWilliams, dette års kursus hoveder.
Hvis du fyre ville slutte mig her i midten.
De har alle udarbejdet nogle inspirerende bemærkninger.
>> TOMMY McWilliams: Jeg har ikke forberede noget inspirerende.
Men mit navn er Tommy.
Jeg er en senior i Mather.
Jeg studerer datalogi, virkelig glade for at være på hovederne holdet og
går gennem CS50 rejse med dig.
Hvad jeg virkelig elsker ved CS50 er, hvordan det virkelig lærer dig at tænke over
problemer på en ny måde.
Dette er virkelig en færdighed, der kommer til at være uvurderlig, uanset hvilket område
du gå ind.
Og ikke nok med det, men vi tilbyder mere fri slik end nogen
anden kursus på campus.
Så jeg er bare virkelig ser frem til at se hvad
alle bygger dette semester.
Og hvis nogen har nogen spørgsmål nu eller hele semesteret, absolut
velkommen til at nå ud til mig, og jeg ville være glad for at hjælpe.
>> ROB BOWDEN: Hej.
Jeg er Rob Bowden.
Jeg er en senior i Kirkland.
Ja, det er rigtigt.
Vi er alle virkelig glade for denne næste semester.
Vi håber, du er alle glade.
Jeg havde ikke ventet det.
Yeah.
Så vi lagt så meget arbejde i at gøre dette semester virkelig stor, og som
længe du er villig til at sætte i indsatsen, der er så meget du kan få
ud af dette kursus.
Du kan få en masse sjov ud af dette kursus.
Vi ville ikke have en stab på 108, hvis du ikke kunne få en masse sjov ud af det,
så bare prøv at være involveret, og du vil ikke fortryde det.
>> NATE Hardison: Hej, gutter.
Jeg er Nate.
Jeg er preceptor for kurset.
Jeg er virkelig spændt på at være her så godt.
Dette er mit første år her.
Jeg håber I alle tage dette kursus, og nyde det så meget som jeg har
nød det så langt.
Og hvis du nogensinde ønsker at lære at komme til ni eller ti i binær, kommer
tale med mig.
>> SPEAKER 1: Så med risiko for at forlade disse fyre her på scenen lidt
akavet, lad os hvirvle gennem blot et par af de ting, der venter, før vi
udsætte for kage.
Hvad er det, der ligger forude?
Tja, hvis vi tager et hurtigt kig tilbage på sidste år, problem indstille nul, er din
forgængere dykkede ind i et programmeringssprog kaldet Scratch, en grafisk
programmering sprog, du vil bruge i de første dage af kurset, der starter
denne fredag, at lære nogle begreber ukendte for nogle af jer, men indse
vil der være en avanceret aspekt af dette for dem af jer med forudgående
baggrund.
>> I sidste års problem indstille to, studerende sprang ind i verden af
kryptografi, kunsten enciphering eller forvanske oplysninger,
gennemføre programmer, der krypterede data, og i hacker-udgave sidste
år blev de studerende videre til revne eller afkode passwords i en typisk
computers. xc password fil ved at komme op med algoritmer og heuristikker for
brute force regne ud, hvad en persons password på en computer
system var.
Sidste år eller to, i problem opstillet fire gjorde studerende
gennemføre spil Sudoku.
Og hacker udgave samme år havde de studerende ikke bare implementere hvordan
spille spillet, men faktisk en solver, hvorved computeren kan give dig,
det menneskelige, med hints af hurtigere, end du løse
dette særlige problem.
>> I problem set fem, gjorde vi retsvidenskab, denne kunst for at inddrive information
der var et uheld eller meget bevidst
udgår fra computeren.
Sidste år lærergruppen og jeg bartenderen omkring campus tager
fotografier af mennesker, steder og ting og derefter uheld
formateret mediekortet på vores kamera, der havde alle de billeder.
Men ikke noget problem, har vi lavet en retsvidenskab billede af denne mediekort, rakte det ud
til alle elever i klassen, og udfordrede dem til at skrive programmer, der
genvundet alle de JPEG fra det pågældende kort.
Og det er faktisk en af ​​vores foretrukne problem sæt, og jeg gravede op en
gamle e-mail fra en af ​​dine forgængere, som var sjovt at
læse engang siden.
>> Dette er fra Matt.
Kære David, går min søster uheld formateret hendes kameras SD
kort og mistede et års forbrug af mindeværdige billeder.
Hun er desværre ikke den bedste til at sikkerhedskopiere sine data.
Men denne situation mindede mig om p-sæt fem, så jeg tænkte jeg ville prøve at
køre hende SD-kort via genvinde program, som jeg skrev helt tilbage
i oktober.
Så efter fire timers finde ud af, hvordan man skaber en rå billede fra
formateret SD-kort -
Google vise sig at være temmelig nyttigt i denne forbindelse, indtil jeg ironisk
sket til at komme på tværs af dine anvisninger på Internettet -
efter at fifle rundt med nogle af de kommandolinjeargumenter, lykkedes det mig
at skabe det retsmedicinske billede, og efter installation og konfiguration af
CS50 Appliance, jeg formåede at køre retsmedicinske image gennem mit program og
inddrive alle 1.027 af min søsters fotografier, skriver Matt.
>> I sidste års problem set seks, gav vi de studerende en ordbog over
150.000 engelske ord og udfordrede dem til at skrive en stavekontrol, der
besvaret forespørgsler af form, er dette ord stavet rigtigt eller forkert
så hurtigt som muligt.
Og på opt-in var studerende lov til at så udfordre klassekammerater
ved at sende deres resultater, mængden af ​​RAM, at de bruger, antallet af
CPU-cyklusser eller sekunder, som de brugte, så de studerende blev derefter klassificeret på
kursets hjemmeside - igen, rent fakultativ aspekt af det, men sjovt
i det meget ofte vil en elev komme til position nummer 10 eller deromkring på den store
bord, på hjemmesiden, gå ud til middag og derefter vende tilbage, og indse
hans værelseskammerat havde lige kantet foran ham eller hende på den store bord,
derved hælde yderligere to eller tre timer bare til én
op hans eller hendes værelseskammerat.
>> Så vi ser frem til noget lignende i år så godt.
I problem set 7 gjorde vi styre i retning af web programmering, faktisk
løse problemer i den stadigt mere almindeligt miljø
af en webbrowser.
Vid da mindre og mindre vi henter software på Mac'er og pc'er, men
stigende, gør vi det hele inden i banen.
>> Og ja, sidste år, omkring 88% af de studerendes afsluttende projekter i løbet
var webbaseret.
Og dem, også er færdigheder, som du vil udlede denne klasse ved
kursets afslutning, fordi hvad der venter ved kursets afslutning er det CS50 Fair, dette
udstilling, der er baseret på ideen om en videnskab fair, men i denne version af
en retfærdig gøre alle elever i klassen bringe deres laptops, og deres
venner og familie, og andre til Northwest Science, en stor bygning på
campus, oprette deres laptop, få noget mad, få nogle popcorn og drikke, og
så udstille deres afsluttende projekter for alle de fremmødte, der sidste år
nummereret omkring 2.500 deltagere fra hele campus, og udtryk som
dette, og som denne var ikke ualmindelige på messen.
>> Op til messen er CS50 hackathon, en mulighed for at hoppe på en
Harvard shuttle, hoved ned på gaden til Microsoft på 8:00 PM, og ikke gå hjem
indtil 7:00 AM.
Vi serverer første middag kl 8:00 PM, anden middag på 1:00 AM, og for dem der stadig
stående kl 5:00 behandler vi til pandekager på IHOP.
Og hackathon er en mulighed, som afbilledet her, at dykke ind i din
afgangsprojekter, uanset om de arbejder på egen hånd eller sammen med venner i en
samarbejdsmiljø, hvor hele lærergruppen fungerer godt
ud på natten med en rigelig forsyning af Hong Kong kinesisk mad.
Kl 5:00 vil sådanne billeder som disse være ganske almindelige i år så godt.
>> Så som vi afbryder i et øjeblik for kage, huske på, at 76% procent af
mennesker i dette rum har nogen forudgående erfaring, og som pr pensum,
der i sidste ende betyder noget i dette kursus er ikke så meget, hvor du ender
i forhold til dine klassekammerater, men hvor man i uge 11, ender i forhold til
selv i uge 0.
Det er CS50.