[Powered by Google Translate] [Musik spiller]
David J. Malan: Dette er CS50.
Så jeg var hvor du er nu nogle år siden.
Og da jeg var en freshman dengang, jeg var egentlig ikke på
denne vej at gøre datalogi, at gøre teknik.
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.
Det er ligesom slags godt afrundet, men gjorde ikke
nødvendigvis vide ting, som jeg ikke havde været
underviste i gymnasiet.
Og så freshman år havde jeg denne bæven, hvorved selv
selvom jeg kunne godt lide computere, spillede computerspil og de
gerne, jeg helt sikkert aldrig tænkt på mig selv som en
computer person, en datalog.
Og helt ærligt, jeg troede mine venner i gymnasiet, som
tog datalogi var lidt af et nørder.
Og dog, da jeg kom her på campus, var der
dette kursus, CS50.
>> Og på det tidspunkt, havde det 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, går
gennem så mange af forudsætningerne, som jeg kunne,
cross-tælle ting for gen ed eller kerne og lignende.
Og så sophomore år, af en eller anden grund, fik jeg op
nerve til trin fod i Science Center B, hvor CS50 var.
En meget berømt datalog ved navn Brian
Kernighan underviste her dette å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 denne ens
må kende måde mere om datalogi, om
programmering, om computere.
Alle skal man være programmering, i dette rum,
da de var 12.
Men, ja, det var ikke tilfældet.
Og så den allersidste dag, den femte mandag i semesteret,
har jeg tage dette spring og ændring fra bestået / ikke til en
brev klasse og endte med at ændre min koncentration, at
Samme dag til datalogi.
>> Nu, det er ikke vores mål i denne klasse, at vende jer alle
i datalogi koncentratorer, men virkelig til
foreslår, at der er en mulighed på dette område og
på andre områder, som du kan være helt ukendt
da gymnasierne typisk følge 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 ikke
faktisk tilhører, så gør de fleste af de folk til højre og
til venstre.
Faktisk sidste år, 76% af eleverne i denne klasse ikke havde nogen
tidligere erfaring.
Så i modsætning til hvad du måske tror, ​​de fleste af de mennesker
sidde her i dag, ikke i virkeligheden have nogen forudgående
erfaringer.
18% har taget en CS klasse, og 6% har taget to eller flere.
I mellemtiden beder vi vores studerende hvert år for at beskrive
selv i komfort niveau.
Og 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
selvbeskrivende som mindre komfortable, studerende, der
ærligt havde ingen anelse om, hvorfor de ville endda handlet kurset på
denne første dag.
Men det samme 55% forblev hos os indtil udtryk udgang, og det samme gjorde
35%, der var et sted i mellem de mere komfortable
og dem mindre behagelig.
>> Så hvad er datalogi?
Godt i high school, og virkelig mere generelt ud
der 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 en
værktøj, dataloger bruger til at løse problemer, enten
på området for datalogi eller stigende disse
dage i de fysiske videnskaber, naturvidenskab, i
medicin, i humaniora, analysere store datasæt.
Anywhere nu er der computer og data, der er en
mulighed for at anvende erfaringerne i en klasse som CS50.
>> Så lad os løse et problem, at en datalog kunne gå
om at løse og forsøge at sætte nogle jargon, sætte nogle
begrebsramme, kan omkring hvad ellers være nogle
temmelig abstrakt idé.
Så dette er en telefon.
Du behøver ikke se disse ting for ofte, selvom kollegiet
stadig synes at have disse i husene og sovesale.
Men tilbage i dag, når du ønskede at bruge en telefon som
dette 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
højre side for at 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 starte her og begynde at spejlvende til
side 4 til side 5 til side 6, og at slags lineært sammen
en lige linje, gå gennem denne telefonbogen.
Og selvom det bliver 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 naturligvis, behøver du ikke at være en datalog til
ved, 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, til højre.
Så du ville vende nogenlunde til midten, se her, og jeg synes
at finde mig i M sektionen.
OK, så M er tydeligvis ikke hvad jeg leder efter.
Og Mikes til højre, så at sige, i dette afsnit.
Og som nogle af jer har set før, kan vi bogstavelig talt nu
Fortsæt at rive dette problem i halve.
>> [Bifald]
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 nu har to problemer, der hver
der er halvt så stor.
Og vi kan bogstaveligt talt kaste at halvdelen af ​​problemet 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 en R-sektion.
Så ikke helt der.
Så igen, kan jeg rive dette problem i halve.
[Bifald]
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 ca 60 til 30 til 15 og så videre.
Og endelig vil jeg blive skåret ned til en af ​​de S-sider på
som, hvis han er i telefonbogen, bør Mike Smith være.
>> Se, det er en naturligvis temmelig rimelig algoritme,
og det er en engangs-anvendelse algoritme i dette tilfælde.
Men hvad kan vi sortere i tage væk fra det?
Nå, den første tilgang, rette hvis naive selvom det
blev, kan beskrives ved den lige linje.
Så hvis på x-aksen her vi siger, det er størrelsen af
problem, så x-aksen går til højre,
Problemet bliver større.
Hvad betyder det 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åledes aksen går op, er det formentlig tager længere tid.
Så det første tilgang af lineært søge fra side 1
til dot dot dot side 1.000 kr. 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, går det til, i
værste fald, tag mig endnu en side flip
at finde Mike Smith.
Hvis jeg tilføjer 100 sider, 100 mere flips eller tidsenheder.
>> 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 2 ad gangen eller 4 ad gangen.
Men selv det er ikke alle, der fundamentalt bedre.
Selvom det er 2 ad gangen, yeah, den slags bevæger denne
linje ned en smule, og det betyder, at det tager mindre tid
det samme antal sider.
Men det er ikke fundamentalt bedre.
Men hvad gjorde vi bare gøre, og hvad gjorde alle du 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 at løse dette problem har tid
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
bare størrelsen af ​​problemet, er antallet af sider i denne
telefonbogen.
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 telefonbogen, og vi fordoble det til
1000, i dette mere intelligent model for flipping
til midten, hvordan mange flere sider tårer 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 bare rive det en ekstra gang.
>> Så kort kan størrelsen af ​​problemet vokser meget hurtigere
end prisen på faktisk at løse det.
Nu dette er blot én sådan algoritme.
Der er andre, vi kan løse på samme måde.
Og så hvorfor gør vi ikke det?
Hvis du vil humor mig, omend akavet her i Sanders, gå
forude, alle, hvis du kunne og stå op på plads.
Som du kan se på skærmen her, det er en algoritme, en
proces, et edb-program, hvis du vil, der skal udføres af
mennesker, der har kun 3 trin.
Vi er allerede på trin 1.
Du har stået op.
Og nu spørger du dig selv det nummer 1.
Det er dit nuværende nummer.
Alle her er nummer 1.
Trin 2, parre ud med nogen stående, tilføje dine numre
sammen, og derefter vedtage beløb, som dit nye nummer.
En af jer skal sidde ned, og derefter gentage.
>> SPEAKER 1: 205.
DAVID J. Malan: Hvad er det?
SPEAKER 1: 205.
DAVID J. Malan: OK.
SPEAKER 2: Han har de andre.
David J. Malan: 205?
SPEAKER 3: Yeah.
DAVID J. Malan: OK.
3.
SPEAKER 4: 400.
SPEAKER 5: 5.
700.
DAVID J. Malan: Okay.
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 gøre
aritmetik foran hundredvis af Harvard
undergrads.
OK.
Bit af en bug her.
Okay.
Hvad er dit nummer?
SPEAKER 6: Nine.
DAVID J. Malan: Hvad er det?
SPEAKER 6: Nine.
DAVID J. Malan: Nine.
Okay.
Hvad er dit nummer?
SPEAKER 7: 179.
David J. Malan: 179?
Okay.
Godt.
Så 188.
Så du fyre kan sidde ned.
Hvad er dit nummer?
SPEAKER 8: 118.
David J. Malan: 118.
Nogle smarte undergrad begynder at gøre det math.
Okay.
118, 188.
Hvad har vi ellers?
SPEAKER 9: 71.
David J. Malan: 71.
SPEAKER 10: 79.
David J. Malan: 79.
Okay.
SPEAKER 11: 47.
David J. Malan: 47.
Hvilket laerere, der giver os, hvor mange?
705 er svaret.
Og det er i virkeligheden helt korrekt.
Nej, vi var faktisk en smule off der.
>> Men hvordan skal dette har fungeret?
Hvad skulle have skete der lige?
Så på hver iteration af denne algoritme, vi startede med
nogle antallet af mennesker stående, og det var
samlede antal n at starte med.
Så halvdelen af ​​jer satte sig ned, og vi gik til n over 2.
Så halvdelen af ​​jer sad.
Vi gik til n over 4, n over 8, n 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 til en samlet værdi, i dette tilfælde, på 705.
Nu, hvad betyder, men for den løbende tid?
Tja tænke på, hvis jeg som menneske havde gjort dette manuelt.
Jeg ville have startet temmelig naivt, men korrekt med 1,
2, 3, 4, 5, 6, 7, 8 og så videre.
Tager 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å 2, 4, 6, 8, 10, 12.
Og det bliver meget hurtigere.
Men nu fundamentalt, ved at udnytte den kollektive
intelligens for alle i dette rum, kan vi opnå en
bremse meget mere som denne, hvorved nu antallet af
mennesker i dette rum kunne fordoble.
Yderligere 700 mennesker går ind i dette rum til 1.400 mennesker,
men det ville kun tage os endnu en iteration af dette
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
Løsning af problemer med en smule indsigt, denne bit af
Klogskab, det er giver os i stigende grad at gøre meget, meget
mere kraftfulde ting med computere i dag.
Hvis du kan lide den slags ting, du måske har set på
Facebook CS50 egen Puzzle Day kommer op denne lørdag.
Hvis du ønsker at deltage i noget lignende
dette, hvor du, i 2 eller 3 eller 4 hold af 4, gerne ville til
løse nogle gåder som denne, du står en chance
at vinde nogle fantastiske præmier, blandt hvilke er en Wii, og nogle
gavekort eller en anden Facebook Swag.
Denne lørdag middag til 3:00 PM, skal du gå til
cs50.net/rsvp for denne.
Og dette dias er online, hvis du ønsker at spille rundt.
De problemer, dette år skal være nye.
>> Du vil måske bemærke i klasseværelset, også så meget desto mere
kameraer i år.
Så ikke blot vil naturligvis blive filmet på den sædvanlige måde, CS50
kan også deltage i en dokumentarfilm om højere
uddannelse, der kigger på den transformative oplevelse
at en studerende kan have i disse dage i en bachelor
studieforløb.
Så mod disse, så vil vi ikke blot blive filmet for
dette, vil vi blive filme så godt for stadig vores
online publikum, samt lejlighedsvis dette publikum her.
Så vi velkommen til klassen i år vores Harvard
Extension Skoleelever, Graduate School of Design,
Uddannelse, den business school, Kennedy School,
loven skole, samt et antal studerende fra
Belmont, Lexington, Newton, og Watertown gymnasier.
Velkommen til jer alle.
Hertil kommer i år, har du måske hørt, Harvard og MIT,
og Berkeley nu, har indgået et samarbejde
partnerskab, et initiativ kaldet EDX, hvilket er en
initiativ til at åbne uddannelse til alle mere
folk online og fundamentalt begynde at gøre
forskning på et meget bredere skala, hvordan mennesker lærer.
Og så CS50 vil være skolens første kursus
deltager i dette initiativ så godt.
Hvilket betyder, at du vil have adgang til alle de flere værktøjer,
desto mere uddannelsestilbuddet, desto mere video
indhold som et resultat, så godt, som i går morges, den
53.019 mennesker, der har registreret at tage CS50 langs
med dig i år på internettet.
Så uden -
[Bifald]
Så hvad det betyder, i særdeleshed, er, at
lærerpersonalet og jeg har tilbragt en hel del tid dette
sommer forberedelserne til efteråret, både på campus og fra, så
at vi kan begynde at opbygge et korpus af interessante, af
overbevisende, at engagere pædagogiske indhold,
fokuserer især på mere intime transportmidler af
temmelig komplekst materiale.
>> Så udover kursets forelæsninger og sektioner og
ting kaldet walkthroughs, som vi vil revidere i blot et
bit, vil vi også have disse shorts i år, der giver mulighed
dig til at engagere sig i forløbet fra en anden vinkel
helt.
Så lad os bruge dette som en mulighed for at tage en hurtig
kig på en, der diskuterer dette begreb binære filer.
>> Så i datalogi, er der ting, der kaldes algoritmer -
hvoraf to vi tog bare et kig på - disse procedurer for
løse problemer.
Men i slutningen af ​​dagen, er du nødt til
repræsentere information eller anden måde.
Og du har brug for 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
forstand, at computere eller anden måde beskæftige sig 0'er og 1-taller, det binære
system, så at sige.
Men hvorfor er det sådan?
Tja, det viser sig når computere først kom omkring, hvis
du behov for at repræsentere information, kan du gøre det
med elektricitet.
Og selvom dette er lidt af en forsimpling, en meget
nem måde at registrering af oplysninger er enten
drejning, at elektricitet på -
en 1 i binær, så at sige - eller dreje
at elektricitet off.
>> Så hvis 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 0.
Hvis vi tænde lyset tilbage op, nu Sanders Theatre er
repræsenterer den binære værdi af 1.
Desværre, med blot én bit, med blot ét sæt
lys, kan vi kun repræsentere to numre i
verden, 0 og 1.
Og det ville være rart, hvis computere kunne tælle en
smule højere end det.
Men faktisk de kan.
Så lad mig trække op på skærmen her vores ven Nate Hardison
der vil give os et hurtigt kig i løbet af blot et par
minutter ved denne opfattelse af binære.
>> [VIDEO PLAYBACK]
NATE Hardison: Tilbage, når du lærte at læse og skrive
numre, du har lært om tallene 0 til 9.
At skrive hele tal større end 9, lærte du, at alle
du havde at gøre, var bruge en kombination af disse cifre,
som i 52 og 437.
Så denne måde at skrive numre har en
navn, decimal notation.
Hvorfor decimal?
Nå, det latinske rod af en decimal, decem betyder 10.
Og når du har 10 cifre i dit notation system, 10
bliver en temmelig speciel nummer.
Lad os se på antallet 437 skrevet i decimal notation til
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 fået 4 gange 100
plus 3 gange 10 plus 7 gange 1.
Husk at lære om dem sted, tiere sted,
det hundredvis sted, og så videre?
Dette er præcis, hvor det kommer fra.
Og endelig kan vi se, at vi har fået en masse kræfter på 10
indlejret i her.
Vi har 4 gange 10 til 2 plus 3 gange 10 til 1 plus
7 gange 10 til 0.
Så nu kan du se hvorfor 10 er et særligt
Antallet af decimal notation.
Faktisk har vi et navn til det.
Det hedder basen, 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 2 til 9 vi kan
stadig repræsentere alle de numre,
vi kunne med decimal.
Så nu har vi to cifre, 0 og 1, 2 er vores særlige
nummer, grundlaget for vores notation system.
Navnet på denne notation system kaldes binær siden
præfikset "bi" betyder 2.
Så i stedet nu for at have en dem sted og titusinder sted og
så videre, har vi nu et dem plads, et toere sted, en fours
sted, og så videre, går op af potenser af 2.
Så lad os se dette ved at gøre nogle tælling.
Således, 0 stadig 0, og 1 er stadig 1.
Men nu, hvor vi har fået en toere sted i stedet for de titusinder
sted, 10 repræsenterer antallet 2.
For at få 3, tilføjer vi en til det og få 11.
4, da der nu en fire sted, er
ved 100.
Fem er 101.
6 er 110.
7 er 111.
8, igen, har sin egen plads.
Så det er 1000.
Og jeg tror du får det punkt.
[END VIDEO PLAYBACK]
>> DAVID J. Malan: Så det vil sige, hvad computere gør og
hvad binære er faktisk ikke så forskellige fra hvad
vi har taget for givet i nogle år, right?
Tror du, folkeskolen, du lærte at tælle i netop
den måde, at Nate foreslået.
Men du sandsynligvis har ikke rigtig tænkt over det siden,
, at der er dette dem sted, tiere sted, og
hundredvis 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 opfattelse af et 0 og 1, du tydeligvis ikke bare dreje
og slukker lyset nødvendigvis.
Du er nødt til at gøre det på en meget mere finkornet skala.
Og ved mere finkornet, kan du huske dette tåbelige
lille legetøj fra barndommen, Woolly Willy og disse lidt
magnetiske partikler.
>> Så magnetiske partikler er noget, som du kan justere
i et par af forskellige retninger, måske
nord-syd eller syd-nord.
Og så en masse fysiske inkarnationer af teknologi
disse dage, der bruger binære, der bruger 0'er og 1'ere, simpelthen
har magnetisme på indersiden, der bringer tingene, op-ned eller
down-up, med hvilket repræsenterer et 0 eller et 1,
hhv.
Så ja, lad os komme væk fra det abstrakte her og
se på indersiden af ​​hvad der er en mere traditionel
computerens 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 stadig have den samme teknologi, men er
gradvis erstattet af mere avancerede ting, som
har faktisk ingen bevægelige dele.
Indersiden så med en harddisk.
>> [VIDEO PLAYBACK]
SPEAKER 12: 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, som fortæller harddisken, hvordan man opbevarer disse data.
De hårde drivkredse oversætte disse signaler til
spændingsudsving.
Disse til gengæld styre harddiskens bevægelige dele, nogle af
de få bevægelige dele tilbage i den moderne computer.
Nogle af de signaler styrer en motor, som roterer
metal-coatede plader.
Dine data er faktisk gemt på disse plader.
Andre signaler flytter læse-skrive hoved til at læse eller
skrive data på pladerne.
Denne maskine er så præcis, at et menneskehår kunne ikke
endda passere mellem hoved og spinning fade.
Men det hele fungerer på forrygende hastigheder.
[END VIDEO PLAYBACK]
>> DAVID J. Malan: Så hvis vi nu zoome ind på, hvad der er faktisk
sker på toppen af ​​disse plader i forhold til
magnetisme, har vi denne anden af ​​to udseende.
>> [VIDEO PLAYBACK]
SPEAKER 13: Lad os se på, hvad vi lige har set i slow-motion.
Når en kort impuls af elektricitet sendes til
læse-skrive hoved, vender den på en lille elektromagnet for en
brøkdel af et sekund.
Magneten skaber et felt, som ændrer polaritet
en lille, lille del af de metalpartikler, der frakke
hver plade overflade.
Et mønster serie af disse små debiteret op områder på disken
repræsenterer en enkelt bit af data i det binære tal
der bruges af computere.
Nu, hvis strømmen er sendt en vej gennem læse-skrive
hoved, området er polariseret i en retning.
Hvis strømmen er justeret 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 strøm i
den læse-skrive hovedet bevæger sig.
Sammensæt millioner af disse magnetized segmenter og du har
fik en fil.
Nu kan stykker af en enkelt fil blive spredt over hele
en drevets fade, 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?
[END VIDEO PLAYBACK]
>> DAVID J. Malan: Sandelig.
Så har vi denne evne til at repræsentere 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 så meget af interesse endnu
bortset fra måske nogle regning 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 for 0'er og
1s, der repræsenterer højere niveau konstruktioner som a og b
og c og hele sætninger og afsnit og lignende.
Og så ASCII, som er en forkortelse, der refererer til dette
kodningssystem hvor en række svarer til en bestemt bogstav.
>> For eksempel er det nummer, vi kender som decimalværdi 65
kendt som det store bogstav A til computere.
Decimalværdien af ​​97 i computere er kendt som en
små bogstaver a.
Og hvad betyder det egentlig?
Tja, selvom Nate et øjeblik siden kun talt op
0 til 8, hvis vi skulle fortsætte med at tælle op til 65 eller
yderligere til 97, mønstret af 0'er og 1-taller, at han ville have
tegnes på skærmen ville være præcis, hvad en computer bruger
at repræsentere bogstavet A i alle hætter eller
bogstavet a med små bogstaver.
Og ja, der er en hel ordning til dette.
Dette er en, ved første øjekast, overvældende diagram over
kodninger, men hvis du nøjes med at fokusere på den højre halvdel her,
bemærke i denne midterste kolonne har vi denne opfattelse af tal
efterfulgt af bogstaver.
Og øverst har vi 32.
Og figuren, char, hvortil 32, det hele tal henviser
er tilsyneladende Space Bar karakter.
Når du rammer Space Bar karakter på din bærbare computer,
godt, hvad du virkelig sender er et tal, et mønster
af 0'er og 1-taller, et flow af elektricitet, hvis du vil,
repræsenterer de 0'er og 1-taller, 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 er faktisk små bogstaver en.
>> Og så nu, at vi har dette kodningsskema, kan vi begynde
at stave ting ud.
Faktisk computere typisk udtrykker sig i standard
enheder, der ikke bruger en enkelt bit, som igen er ikke alle
at nyttige for bare repræsentere 0 eller 1, lys tændt eller slukket, men
snarere ved hjælp af sekvenser af bits.
Og den mest almindelige måleenhed, som du sikkert ved
og eller i det mindste udledes, er en byte.
En byte er kun otte bits, otte 0'er eller 1s i træk.
Så vi kan begynde at stave ting ud.
Og så, hvis vi kunne, hvorfor så ikke prøve dette en lille smule
kollektivt her.
Er der otte mennesker i dette rum, der ville være villige til at
komme op på scenen?
Du er nødt til at være komfortable optræder på kamera, men du
ikke rigtig brug for at vide, ellers, hvad er
foregår endnu.
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ære 128 plads, du den 64 plads, du
32 plads.
Men vi skal meget hurtigt nødt til at vende denne.
Så lad mig møde jer alle derovre.
Og du skal være i 128 plads hele vejen herover.
Meget ligesom hundreder sted og tusinder sted ville
være længere til venstre, ønsker vi den største pladsholderen
at være her til venstre så godt.
Vi har 64s s 32, 16 s, 8 s, 4 s, 2 s, og 1-taller.
Excellent.
Så nu har vi -
OK, kan du hjælpe mig.
Så nu har vi - hvad er dit navn?
JOANNE: Joanne.
DAVID J. Malan: Joanne.
Så Joanne og jeg nu kommer til at rådgive disse fyre om, hvordan vi
kan gå om stavning noget ud.
Så på ryggen af ​​deres ark papir, har de en
lidt snyde ark, der kommer til at fortælle dem, om
de repræsenterer et 0 eller et 1.
Og hvorfor ikke for nemheds skyld, vil vi betegne 0 ved blot
stod der kejtet.
Meget godt.
Eller en 1 ved at hæve din hånd, svarende til en 1.
Og lad os se om vi ikke kan stave en fire tegn
sætning her.
>> Så gå videre nu, frivillige, og udføre runde af
hæve din hånd, hvis du er en 1 eller holde det
ned, hvis du er en 0.
Så nu hvor vi har disse tre hænder op, hvilket nummer,
alle andre, er de faktisk repræsenterer?
OK.
67.
Hvorfor?
Nå, hurtig tilregnelighed kontrollere.
64 plads, fordi det er et 1, det er ligesom 1 gange 64 plus 1
gange 2, 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?
OK.
Så en ca.
Ok.
Så lad os nu gå videre til runde to.
Alle starter med hænderne ned.
Og i runde to -
faktisk er der ikke meget af en rolle her, jeg formoder, men
vi vil foregive.
Så runde to, hæve eller sænke dine hænder.
>> Ok.
Audience, hvad skal vi nu udtrykker, er 83.
Så du kan gøre matematik.
Men for enhver, hvis hånd er op, tilføje dig i antallet at
de repræsenterer.
Så nu har vi 83.
Lad os udvide snyde ark en lille smule, og vi har nu -?
[Uhørlig]
DAVID J. Malan: OK.
Dette kan være indlysende hvor vi skal hen her, men
ikke desto mindre runde tre.
OK.
Runde tre er god til at gå derned.
Så runde tre, er, hvad nummer disse fyre nu
repræsenterer?
OK.
Jeg hørte 53, som nu repræsenterer?
Interessant.
Nu hvorfor denne form for counter intuitive resultat, right?
Hvis vi ønsker at repræsentere 5 - vi alle kender sikkert
hvor dette foregår -
hvorfor jeg ikke bare hæve 4 plads og 1 plads?
>> Nå, indse, at der er en forskel, fundamentalt,
mellem, hvordan en computer fortolker disse bits.
Hvis du forsøger at repræsentere tallet 5, så absolut,
vi bare hæve hånd nummer 4 og hæve hånd nummer 1.
Men vi er ikke repræsenterer numre her.
Konteksten her på scenen, er, at vi repræsenterer
tegn eller specialtegn.
Og i denne sammenhæng, at computeren har 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
bogstav.
Så det faktum, at det nu er, der repræsenterer antallet 5 med
værdien af ​​53 er fordi i ASCII de ting, vi
æstetisk ser som nummer 5 selv har brug for en
mønster af bits.
Fordi hvorfor?
Nå, verden netop besluttet at bruge de lavere tal, 0,
1, 2, 3, for hvad ser at 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
gøre interessante ting, men mennesker aldrig
faktisk skriver dem.
Så 53 faktisk udgør 5.
Nu, lige som en endelig tilregnelighed check, hvad skal nummer, de
repræsentere på bare et øjeblik?
PUBLIKUM: 48.
DAVID J. Malan: OK.
So 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.
Tak.
Du kan holde denne ene.
Hvis du -
Meget godt klaret.
Helst retning er fint.
>> Så har vi nu en måde ikke blot at tænke på, hvordan man
repræsentere data, og faktisk repræsenterer det fysisk,
men også gør højere niveau ting på toppen af ​​det.
Faktisk er dette vil være et tema i hele computer
videnskab for at bygge mere og mere interessant kompleks
ting på toppen af ​​forholdsvis enkle ideer, i dette
tilfælde bare 0'er og 1'ere.
Med hensyn til hvorfor dette er nyttigt, godt, selvom i en
kursus som dette vil vi fokusere på fundamentals og på
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 i
bagsiden af ​​din uofficielle guide til CS på Harvard, en af
i dag er to udskrifter.
Dette tyder på mange forskellige retninger, hvor
kan du gå efter et kursus som dette.
Læring om kunstig intelligens, om grafik,
om machine learning. omkring selve sproget
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 denne
falde, er der introduktionskurser i foråret.
Computer Science 1, for eksempel, er endnu et
on-rampe til denne nye verden.
>> Nu som en sidebemærkning af hensyn til at løse problemer
relateret til kurser, indse, at CS50 fastsat nogen tid
siden at forsøge at løse et af disse problemer, kendt problem
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 personale har oprettet.
Men i Harvard Kurser, der er et web-baseret værktøj -
noget, som du vil være i stand til at designe og
indsætte dig selv, såvel som endnu andre ting så godt, ved
I slutningen af ​​semesteret.
Indse, at dette sker på en åben datasæt, i dette tilfælde
et kursus 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 statistikker baseret på de få
tusind mennesker, der har brugt dette over
de sidste par dage.
Hvis du har været nysgerrig efter at vide, hvor mange kurser dine venner
faktisk en tendens til at shoppe, ja, i dag er det data tyder på, at
7,6 er det gennemsnitlige antal kurser på
andens indkøbsliste.
Og nu vil jeg give dig, også, at statistik over de mest
række kurser på en eller andens indkøbsliste.
Og vi ved alle kender sikkert nogen, som denne.
201 er dette års rekord.
Nu nogle af vores tidligere studerende og ansatte faktisk
sammensætte et klip for at 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. Hahvahd her, en
video produceret af nogle af dine forgængere.
Hvis vi kunne holde lysene op for dette.
[VIDEO PLAYBACK]
[END VIDEO PLAYBACK]
>> SPEAKER 14: (sang) Vi tager vores tid med nogle ridser,
for loops, events, kan vi matche, kompilering ved hjælp af vores
bash, vil denne periode ikke være en boring.
Hacking sjov, nogle gratis måltider, foredrag er simpelthen uvirkeligt,
vores fair er sådan en big deal, der er så meget at tilbede.
Go, David Malan.
Walkthroughs, jeg ikke øse.
Kontortid, er der ingen mangel.
Hvor tror du, du kodning, baby?
Hey, jeg har lige mødt dig, og det er vanvittigt,
men her er vores grund.
Tag CS50.
Det er svært at kode højre uden dig, skat.
Men her er vores grund.
Tag CS50.
Hey, jeg har lige mødt dig, og det er vanvittigt,
men her er vores grund.
Tag CS50.
Og hver stjerne firma ønsker at ansætte mig, en anden grund.
Tag CS50.
Før du kom ind i mit liv, jeg kodet så slemt, jeg kodet så
dårligt, jeg kodet så, så slemt.
Før du kom ind i mit liv, jeg kodet så slemt
og jeg kan ikke gå tilbage.
Tag CS50.
>> DAVID J. Malan: 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,
du faktisk forventes at deltage eller se kursets
forelæsninger, indsende et problem sæt, tag to quizzer, indsende
et afsluttende projekt.
Med hensyn til karakterer, indse, at min kommentar ved åbningen
om bestået / ikke bestået, noget, som vi i høj grad tage til
hjerte i CS50.
Der er ikke nær nok af en kultur på Harvard for at forsøge
noget og risikere fiasko.
Faktisk havde vi antal studerende, og jeg selv, i
Specielt blev der bekymrede såre din GPA eller
at få en B i noget lignende CS50.
Og mulighed for at tage et kursus som dette, og andre
gateway kurser på indledende niveau, bestået / ikke bestået
er en meget uudnyttede muligheder på dette kollegium,
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 selv om jeg gjorde kontakten ved slutningen af ​​dagen, var det
de fem første uger, op til den femte mandag i
semester, der er cutoff, der tillod mig at der faktisk
sætte foden i disse nye farvande og faktisk prøve noget
meget uvant og meget ubehageligt
for mig på det tidspunkt.
>> Så vidt angår, nu om, hvilken rolle de forskellige vinkler, via hvilke
du kan nærme sig dette kursus tjene, så foredrag, det er op til
dig, hvis du engagere sig med os i person på dette sted.
Faktisk ved vi statistisk, at omkring 40% af jer vil
slags kommer og går i løbet af semesteret.
Og 10% af dig, 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 midler, hvoraf nogle
som vi vil rasle igennem på bare et øjeblik, herunder
foredrag og sektioner og ting kaldet walkthroughs og
åbningstid og lignende.
Og det er flere ressourcer end den typiske studerende skal
nødt til eller kan fysisk drage fordel af.
Men det er på grund af de forskellige læringsstile, at
enhver studerende manifesterer.
Og så i forelæsninger, den primære rolle, som jeg ser det, er
ikke at verbalt skubbe ud temmelig komplekst materiale og til
nødvendigvis levere alle de snørklede af
fundamentals, som vi vil udforske dette semester, men
snarere at gøre ting som vi har gjort hidtil allerede,
disse eksempler, der involverer mennesker på scenen, forsøger at
male et mentalt billede, og også oprette, tør jeg sige, nogle
af disse mindeværdige øjeblikke.
Så det selv som du kæmper med bestemte emner, du har
disse erindringer kan lide, oh, selvom det var temmelig
abstrakt, matematik, fik jeg tabt med at bære 1, ligesom det
virkelig, ved slutningen af ​​dagen, er ikke så ulig
noget, jeg allerede kender.
Og så den rolle, foredrag vil tjene, enten personligt
her i Sanders eller online på video, er virkelig at indstille
iscenesætte mentalt for dig hver uge for de forskellige begreber
og problemer, som vi vil være dykning i.
>> Med hensyn til de højt niveau begreber, de fleste af disse ord
kan flyde over dit hoved for øjeblikket, og det er fint.
For dem af jer, der kommer ind i kurset mere komfortabel
vil vide af nogle af disse emner.
Men typisk for at 10% af den klasse, hvortil de er
meget mere baggrund, idet AP datalogi,
programmering, siden de var 12, indse, at der vil være
muligheder i sektioner og i problem indstiller til at gå hele
mere i dybden i forskellige emner, påfyldning uanset
huller, du måtte have fra din high school eller forudgående
baggrund.
Med hensyn til de sprog, indse, at hvad sprog vi
brug i CS50 er stort set irrelevant i
slutningen af ​​dagen.
Vi tilfældigvis til at bruge, først og fremmest, et sprog kaldet C. Mod
slutningen af ​​semestret, vi indfører 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 realisere ved slutningen af ​​dagen, er du ikke lærer
i dette kursus C. Du er ikke lærer PHP eller JavaScript.
Du lære at løse problemer, hvad enten web-baseret,
computer-baseret, eller data-orienterede selv, ved hjælp af
disse blot som værktøjer.
>> Nu, med hensyn til logistik, skal du bruge
noget i sidste ende, kaldet CS50 Appliance.
Gør ikke noget hvis du har en Mac, en pc, en Linux-computer,
eller lignende.
Du har frit tilgængelig software starter i næste uge
med til at bruge den 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 dette tilfælde.
Det er problemet sæt, selv om, hvor du virkelig får
dine hænder beskidte i løbet.
Og i slutningen af ​​dagen, er det problemet sæt, jeg
tror, ​​der virkelig definerer en elevs
opleve i dette kursus.
Indse, at mange af de problematiske sæt vil blive frigivet
i to udgaver, at en standard tilsætning vi forventer og
tilskynde 90% af klassen til at dykke ned.
Men vi har også frigive nogle problematiske apparater i
såkaldt hacker tilføjelser.
Og du ved, det er hacker tilsætning fordi på hver side
med et vandmærke det siger hacker tilsætning 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,
snarere end autodidakt, uddannelse, måske.
Indse, at der er en meget betydelig demografisk i
klasse, der har præcis det samme mål.
Du vil have fem sene dage.
Problem sæt skyldes generelt om torsdagen, men du kan
udvide fem af disse frister ved hjælp af disse
ting kaldet sene dage.
Og vi vil også falde din laveste score ved slutningen af ​​den
semester pr oplysningerne i pensum.
>> Men en anden kendetegn ved CS50 forhold
årene er blevet kontortid.
Det er en mulighed, at du så visuelt på fotos lidt
siden, hvor vi samles - tidligere i hus spisning
haller, før det i kælderen af ​​Science
Center og i år i Annenberg Hall - fire aftener om
uge fra 20:00 til 11:00, hvor du vil have det meget
meget delte erfaring med at arbejde, kæmper
igennem, visse problemer, men med en væsentlig støtte
struktur på plads.
Faktisk den måde, dette vil fungere, er du ankomme til Annenberg
hvis du har nogle spørgsmål i løbet af ugen, vil du bringe
din bærbare computer, vil du sidde ned, Grib nogle fødevarer, og du vil logge
i CS50 Diskuter, en web-baseret hjælpeprogram, at undervisningen
Personalet har udviklet, som vil give dig mulighed for at stille spørgsmål
og se opfølgninger i en typisk diskussionsforum
forstand ved hjælp af etiketter og lignende, og auto-fuldførelse til
søgning i oplysningerne.
Men du vil også være i stand til i løbet af de timer af kontor
timer har dine spørgsmål eskaleret til
virkelige mennesker.
Faktisk målet sidste ende er således at én, vi begynder at bygge
op i løbet af semestret et korpus af forhåbentlig
virkelig nyttige oplysninger, fælles svar på fælles
spørgsmål, så du selv kan løse problemerne
og komme galt så hurtigt som muligt, men samtidig have den
lærere, normalt 20 til 30 af de pædagogiske stipendiater og
kursus assistenter, på personale på én gang.
>> Vi vil have det, der kaldes CS50 Greeter i Annenberg.
Og når vi afgør det, ved du hvad, dette spørgsmål,
vi kan ikke rigtig svare effektivt online.
Vi er nødt til at se din computer.
Vi vil gerne tale med dig one-on-one.
På den ene.
Du er virkelig kæmper, og du derfor ønsker at tale
one-on-one sammen med nogen, vil du blive sendt til den
CS50 Greeter, en undervisning fyr bedrift, bogstaveligt talt, en
iPad, der har elevernes navne på den ene side, undervisning personalets
navnene på den anden.
Vi vil klikke på dit navn efterfulgt af navnet på en
undervisere, og computerskærmen starter
blinker siger please gå se Alice eller gå venligst se Bob på
personale bordet.
Og så på den måde vil vi være i stand til at sende ting som
effektivt som muligt, samt guide dig mod
opløsninger desto lettere.
I afsnit vil disse være muligheder for mere
intime hands-on muligheder med en af ​​de
undervisning stipendiater og 12 til 16 eller deromkring af dine klassekammerater i
som hver uge vil vi få problemer i det problem sæt
at stille en række principielle spørgsmål og en
Antallet af bit-størrelse programmering spørgsmål, som du
kunne finde ud af på egen hånd, og du kan arbejde på din
egne, men i sammenhæng med afsnittet, hvor vi arbejder igennem
kollektivt nogle af disse problemer og gå, hvor den
anderledes samtale tager os.
>> Derudover vil i sektion har du mulighed for at
gennemgå indlæg af lektier, som du har lavet, din
klassekammerater, nogle gange anonymiseres, altid via opt-in
hvis du gerne vil dele det arbejde, du har indsendt.
Så det vil virkelig være en to-vejs samtale,
lejlighed til at gennemgå dit eget arbejde i en langt mere
dynamisk forstand, snarere end blot at kigge på en PDF-fil eller en
udskrift og tænke over det i et par sekunder og ikke
nødvendigvis absorbere den feedback, at undervisningen
Personalet har givet.
Og du vil bruge et værktøj her kaldet CS50 Spaces.
For dem bekendt, er dette sprog er kendt som C ved top
til venstre, og du vil få at vide dette over tid.
Men dette er et web-baseret værktøj, som vi vil bruge i
sektion, der vil give dig og din 15 eller så klassekammerater
at logge ind med din undervisning stipendiat ved
forreste del af rummet.
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 ved snittet på det pågældende tidspunkt.
Og din undervisning fyr, når det drejer sig tid til at diskutere
Alices eller Bobs løsning i klassen, undervisning fyr kan
klik på en knap og voila, projekt på skærmen,
uanset at studerende har arbejdet på på det pågældende
tidspunkt.
Så for dem af jer, der har venner, der har taget CS50 i
fortiden, indser, at sektionerne har været væsentligt
genstartet i år til at være endnu mere aktive, desto mere
dynamisk, og virkelig en tovejs samtale mellem undervisning
medarbejdere og studerende.
>> Og walkthroughs.
Så for disse problemområder sæt, tilbyder vi også ikke blot
specifikation selv, som generelt er en temmelig detaljeret
PDF, men også ting kaldet walkthroughs, hvorved en
medlem af lærerstaben vil føre en ugentlig session
der bogstaveligt fører dig gennem problemet sæt, som giver
dig tips og råd og udgangspunkter og menes
at spørge meget ofte spurgt
spørgsmål, hvor skal jeg begynde?
Nå, du begynder enten ved at dykke ned i spec på sin
egen eller ved at deltage eller se 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 så kan filme dem meget tidligt
i ugen for at få dem online af weekenden, så du
har så mange dage som muligt rent faktisk at engagere sig i det
indhold så godt.
Men mere om det i forelæsning på fredag.
>> Nu med hensyn til støttestrukturen, det mest
signifikant statistik er måske den 108 undervisning
stipendiater og kursus assistenter, at dette
kursus har.
Hvis nogle af jer, der ikke har modstridende klasser ville gerne
at slutte sig til mig heroppe på scenen, er det disse fyre, der vil
i sidste ende virkelig definere din oplevelse i kurset.
Jeg havde en masse undervisning stipendiater lære mig klasser i
dagen, og jeg husker meget få af dem ærligt.
Men til dato, jeg husker stadig blandt de få, min CS50 TF
som virkelig hjalp mig svare på spørgsmål, som virkelig har hjulpet
mig, når 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, der er en tradition for CS50, i tværskib af
Memorial Hall.
>> Men tillad mig først at introducere dig til Nate
Hardison, igen, Rob Bowden, og Tommy MacWilliam, dette
års kursus hoveder.
Hvis du fyre ville slutte mig her i midten.
De har alle udarbejdet nogle inspirerende bemærkninger.
>> TOMMY MACWILLIAM: Jeg har ikke forberede noget
inspirerende.
Men mit navn er Tommy.
Jeg er en senior i Mather.
Jeg studerer datalogi.
Jeg er virkelig glade for at være på hækken team og går
gennem CS50 rejse med dig.
Hvad jeg virkelig elsker ved CS50 er, hvordan det virkelig lærer dig
at tænke om problemer på en ny måde.
Dette er virkelig en færdighed, der er gonna være uvurderlige ligegyldigt
hvad felt, du går ind.
Og ikke nok med det, men vi tilbyder mere fri slik end nogen
anden kursus på campus.
Ja, og så jeg ser virkelig frem til at se hvad
alle bygger dette semester.
Og hvis nogen har nogen spørgsmål nu eller i hele
semestret, 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 så længe du er villig til at sætte i den indsats, der er
så meget du kan få ud af dette kursus.
Ah, vi -
yeah.
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
af sjov ud af det.
Så bare forsøge 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 nydt det indtil videre.
Og hvis du nogensinde ønsker at lære at tælle til 9 eller 10 i
binære, komme og tale med mig.
>> DAVID J. Malan: Så med risiko for at forlade disse fyre her på
iscenesætte en smule akavet, lad os hvirvle gennem blot nogle få af
de ting, der venter, før vi afbryder for kage.
Hvad er det, der ligger forude?
Tja, hvis vi tager et hurtigt kig tilbage på sidste år, problem
sat til 0, Deres forgængere dove i et programmeringssprog
sprog kaldes Scratch, en grafisk programmeringssprog
du vil bruge i de første dage af kurset begynder denne
Fredag ​​til at lære nogle begreber ukendte for nogle af jer.
Men indse, der vil være en avanceret aspekt af dette for
dem af jer med forudgående baggrund.
>> I sidste års problem sæt 2, studerende dykkede ned i
verden for kryptografi, kunsten enciphering eller forvanske
information, gennemføre programmer, der krypterede data.
Og i hacker tilsætning sidste år blev eleverne fortsætte
til at revne eller afkode passwords i en typisk
computerens xe password fil ved at komme op med algoritmer og
heuristikker for brute force regne ud, hvad nogen er
adgangskode på et edb-system var.
Sidste år, også i problemer sæt 3, gjorde de studerende implicerede i - i
problem sat 4 - gjorde studerende
gennemføre spil Sudoku.
Og i hacker tilføjelse, at året har de studerende ikke
bare gennemføre, hvordan man spiller spillet, men faktisk en solver
hvorved computeren kan give dig, den menneskelige, med
hints med mere hurtigere end du har løse
dette særlige problem.
>> I problem set 5, gjorde vi retsvidenskab, denne kunst af
inddrive oplysninger, der var et uheld eller meget
bevidst slettet fra en computer.
Sidste år lærergruppen og jeg bartenderen omkring campus
tage billeder af mennesker, steder og ting, og derefter
uheld formateret mediekortet på vores kamera,
havde alle de billeder.
Men ikke noget problem.
Vi har lavet en retsmedicinsk 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 kort.
Og det er faktisk en af ​​vores foretrukne problem sæt.
>> Og jeg gravede op i en e-mail fra en af ​​dine forgængere,
som var sjovt at læse engang siden.
Han skrev - dette er fra Matt - kære David, går min
søster uheld formateret hendes kameras SD-kort og tabte
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 Pset 5, så jeg tænkte jeg
ville forsøge at køre hende SD-kort gennem genindvindingsværdien program
at jeg skrev helt tilbage i oktober.
Så efter fire timers finde ud af, hvordan du opretter en
rå billede fra formateret SD-kort -
Google viste sig at være temmelig uhensigtsmæssigt i denne henseende indtil
ironisk jeg sket til at komme på tværs af dine anvisninger på
Internettet -
efter at fifle rundt med nogle af de kommando argumenter,
Jeg formået at skabe den retsmedicinske billede.
Og efter installation og konfiguration af CS50
Appliance, jeg formåede at køre retsmedicinsk billede gennem min
programmere og gendanne hele 1.027 af min søsters fotografier.
Højre, Matt.
>> Så i sidste year's -
[Bifald]
I sidste års problem sæt 6, gav vi de studerende et
ordbog på 150.000 engelske ord og udfordrede dem til at
skrive en stavekontrol, der besvarede spørgsmål af formen
er dette ord stavet rigtigt eller
fejlagtigt så hurtigt som muligt.
Og i en opt-in var studerende lov til at så
udfordre klassekammerater ved at sende deres resultater,
mængde RAM, at de brugte, antallet af CPU cycles eller
sekunder, som de brugte, så de studerende blev derefter rangeret
på kursets hjemmeside.
Igen rent fakultativ aspekt af det, men sjovt i det
meget ofte vil en elev komme til at positionere nummer 10 eller deromkring på
den store bestyrelse på hjemmesiden, gå ud til middag, og derefter
komme tilbage og indse hans værelseskammerat havde lige kanter i
foran ham eller hende på den store bord, hvilket hælde en anden
to eller tre timer bare til en op hans eller hendes værelseskammerat.
>> Så vi ser frem til noget lignende
i år så godt.
I problem indstille 7 har vi styre i banens
programmering, faktisk løse problemer i den stadigt
mere almindeligt miljø i en webbrowser.
Kend mindre og mindre vi henter software på Mac-computere og
Pc'er, men i stigende grad gør vi det hele inden i banen.
>> Og faktisk sidste år, omkring 88% af de studerendes afsluttende projekter i
kurset var webbaseret.
Og dem, også er færdigheder, som du vil udlede af dette
klasse ved kursets afslutning.
Fordi hvad der venter ved kursets afslutning er det CS50 Fair,
denne 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 bærbare computere og deres venner og familie og andre
til Northwest Science, en stor bygning på campus, der er nedsat
deres laptop, få noget mad, få nogle popcorn og drikke,
og derefter udstiller deres afgangsprojekter for alle dem i
fremmøde, der sidste år talte omkring 2.500 deltagere
fra hele campus.
Og udtryk som dette, og som denne ikke var
ualmindeligt på messen.
>> Op til messen er CS50 hackathon, en mulighed
at hoppe på en Harvard shuttle, hoved ned på gaden til
Microsoft kl 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år på 5:00 AM, behandler vi til
pandekager på IHOP.
Og hackathon er en mulighed, som afbilledet her,
at dykke ned i dine endelige projekter, uanset om de arbejder på
din egen eller med venner i et samarbejdsmiljø,
hvor hele lærergruppen fungerer godt ind i
nat med en rigelig forsyning af Hong Kong kinesisk mad.
Kl 5:00, vil sådanne billeder som disse være ganske almindelig dette
år også.
>> Så som vi afbryder i et øjeblik for kage, skal du huske at
76% af de mennesker i dette rum har nogen forudgående erfaring.
Og som pr pensum, der i sidste ende betyder noget i denne
Kurset er ikke så meget, hvor du ender i forhold til din
klassekammerater, men hvor man i uge 11 ender i forhold til
selv i uge 0.
Det er CS50.