[Powered by Google Translate] [Musikk spilles]
DAVID J. MALAN: Dette er CS50.
Så jeg var der du er nå noen år siden.
Og da jeg var førsteårsstudent på den tiden, var jeg egentlig ikke på
denne veien for å gjøre computer science, for å gjøre engineering.
Faktisk kom jeg inn i dette stedet som en regjering konsentratoren.
Jeg hadde vært i videregående skole, en gutt som
likte ting som historie.
Jeg likte statsrett, slag av engelsk og matematikk.
Det er som en slags godt avrundet, men ikke
nødvendigvis vet ting som jeg ikke hadde vært
undervist i videregående skole.
Og så freshman år, hadde jeg denne trepidation der selv
selv om jeg likte datamaskiner, spilte dataspill og
liker, jeg absolutt aldri tenkt på meg selv som en
datamaskin person, en datamaskin vitenskapsmann.
Og ærlig, jeg trodde mine venner i videregående skole som
tok informatikk var litt av en geeks.
Og likevel, når jeg kom hit på campus, var det
dette kurset, CS50.
>> Og på den tiden, hadde det dette ryktet av å virkelig være
noe å være oppmerksom.
Det var en god kurs.
Det var en morsom kurset.
Men du måtte faktisk få den foten i døren.
Og selv jeg ikke krysse at terskelen freshman year.
Og jeg gikk på min måte å være en regjering konsentrator, går
gjennom så mange av forutsetningene som jeg kunne,
kryss-telle ting for gen ed eller kjerne og lignende.
Og så sophomore året, for noen grunn, jeg fikk opp
nerve til trinn fot i Science Center B, der CS50 var.
En svært kjent datamaskin vitenskapsmann ved navn Brian
Kernighan lærte her det året.
Og selv da var jeg bare villig til å faktisk fylle ut
min studie kortet ved å ta denne klassen bestått / ikke bestått.
Jeg så rundt meg og jeg skjønte alle i dette ens
må vite mye mer om informatikk, om
programmering, om datamaskiner.
Alle må man være programmering, i dette rommet,
siden de var 12.
Men, ja, det var ikke tilfelle.
Og så den aller siste dagen, den femte mandag av semesteret,
gjorde jeg ta dette spranget og endring fra bestått / ikke bestått til en
bokstavkarakter og endte opp med å endre konsentrasjonen min som
samme dag til informatikk.
>> Nå, det er ikke vårt mål i denne klassen, for å slå dere alle
inn informatikk konsentratorer, men virkelig å
foreslår at det er en mulighet i dette feltet, og
i andre felt som du kan være ganske ukjent
gitt at videregående skoler vanligvis følger en ganske
standard curricular banen, men venture i, i CS50, inn
nye farvann.
Og hvis du sitter her i dag tenker du ikke
faktisk tilhører, så gjør de fleste til høyre og
til venstre.
Faktisk, i fjor, hadde 76% av elevene i denne klassen ikke
tidligere erfaring.
Så i motsetning til hva du kanskje tror, ​​de fleste
sitter rundt her i dag ikke, faktisk, har noen forutgående
erfaring.
18% har tatt en CS klasse, og 6% har tatt to eller flere.
I mellomtiden ber vi våre studenter hvert år for å beskrive
seg i form av komfort.
Og det er ingen definisjon av dette.
Du bare slags vite det hvis du ikke er veldig
komfortable i CS50.
Og i fjor hadde vi 55% i denne grønne pie stykke her
selvbeskrivende som mindre komfortable, studenter som
ærlig hadde ingen anelse om hvorfor de hadde selv handlet kurset på
den første dagen.
Men det samme 55% forble med oss ​​til begrepet slutt, som gjorde
35% som var et sted i mellom de mer komfortabel
og de mindre komfortable.
>> Så, hva er informatikk?
Vel i videregående skole, og egentlig mer generelt ut
det i disse dager, er det denne oppfatningen eller denne
misforståelse at informatikk er programmering.
Og det er absolutt en del av informatikk.
Men programmering, uansett språk er, er egentlig bare en
verktøy som dataforskere bruke for å løse problemer, enten
i domenet av informatikk eller stadig disse
dager i den fysiske fag, naturvitenskap, i
medisin, i humaniora, for å analysere store datasett.
Anywhere nå er det datamaskin og data, er det en
mulighet til å søke lærdom i en klasse som CS50.
>> Så la oss løse et problem at en datamaskin vitenskapsmann kan gå
om å løse og prøve å sette noen sjargong, sette noen
konseptuelt rammeverk, kan rundt hva ellers være noen
ganske abstrakt idé.
Så dette er en telefon.
Du ser ikke disse tingene for ofte, selv om høgskolen
fortsatt synes å ha disse i hus og sovesaler.
Men tilbake i dag når du ønsker å bruke en telefon som
dette var det ingen elektronisk adressebok
i din mobiltelefon.
Snarere, trakk deg opp noe
kjent som en telefonbok.
Og disse telefonen bøker hadde ca 1000 sider, typisk.
De ble sortert fra A til Å. Og du bare måtte finne
høyre side for å finne den personen du leter etter for å
finne deres navn og deres telefonnummer.
Nå hvordan går du om å se opp
noen i denne boken?
>> Anta mitt mål er å gi min venn, Mike Smith, en samtale.
Vel, hvordan går jeg om å finne Mike Smith?
Vel, en svært fornuftig tilnærming, hvis naiv og
ineffektiv, ville begynne her og begynne å bla til
side 4 side 5 side 6, og til slags lineært sammen
en rett linje, gå gjennom denne telefonboken.
Og selv om det skal bli utrolig kjedelig, hvis Mike
Smith er i denne boken, er jeg omsider skal nå ham
når jeg endelig vende til S delen av denne boken.
Nå selvfølgelig, trenger du ikke å være en datamaskin vitenskapsmann å
vet at dette er en dum måte å løse dette problemet.
Hva ville en typisk menneske gjøre?
Godt gjort.
Så du ville vende til midten, til høyre.
Så du vil vende omtrent til midten, se her, og jeg synes
å finne meg selv i M-delen.
OK, så M er helt klart ikke det jeg leter etter.
Og Mikes til høyre, så å si, i denne delen.
Og som noen av dere har sett før, kan vi bokstavelig talt nå
fortsette å rive dette problemet i to.
>> [Applaus]
Du bør ikke være så imponert.
Rive det ned sømmen er faktisk ikke så vanskelig.
De virkelige mennesker gjør det på denne måten.
Men, ned sømmen, har vi nå to problemer, hver av
som er halvparten så stor.
Og vi kan bokstavelig talt kaste at halvparten av problemet borte.
Nå er vi igjen ikke med 1.000 sider, men, sier, 500.
Så nå hva gjør jeg?
Godt, vil en typisk menneske gå omtrent i midten igjen.
Og jeg finner meg selv en R-delen.
Så ikke helt der.
Så igjen, kan jeg rive dette problemet i to.
[Applaus]
Takk.
Så nå har jeg bare rundt 250 sider.
Og jeg kan gjøre dette igjen og igjen og igjen og gå fra
125 ned til omtrent 60 til 30 til 15 og så videre.
Og til slutt vil jeg få redusert til en av S sidene på
som, hvis han er i telefonboken, bør Mike Smith være.
>> Nå, det er en åpenbart ganske rimelig algoritme,
og det er en engangs-bruk algoritmen i dette tilfellet.
Men hva kan vi liksom ta bort fra det?
Vel, den første tilnærmingen, korrigere hvis naiv om det
ble, kan beskrives av denne rette linje.
Så hvis du er på x-aksen her vi si dette er størrelsen på
problem, slik som x-aksen går til høyre, den
problemet blir større.
Hva betyr det å være større i
sammenheng med dette problemet?
Flere sider i telefonboken.
Det er mer noe vi kan måle.
På y-aksen, tid til å løse.
Så som aksen går opp, tar det antagelig mer tid.
Slik at første tilnærming lineært søker fra side 1
til prikk dot dot side 1000 er en lineær prosedyre, en lineær
algoritme eller prosess.
Og vi kan beskrive det med denne rett linje.
Hvis jeg legger flere sider i telefonlisten, det kommer til, i
verste fall ta meg flere sider flip
å finne Mike Smith.
Hvis jeg legger 100 sider, flips 100 mer eller enheter av gangen.
>> Nå kan jeg være litt flink med dette.
Jeg trenger ikke å virkelig slå den én side av gangen.
Jeg kan gjøre ting som 2 om gangen eller 4 gangen.
Men selv det er ikke alle som fundamentalt bedre.
Selv om det er to om gangen, ja, beveger den slags dette
linje ned litt, og det betyr at det tar mindre tid gitt
samme antall sider.
Men det er ikke fundamentalt bedre.
Men hva gjorde vi bare gjøre, og hva gjorde dere alle gjør
instinktivt?
Du faktisk oppnådd en litt noe sånt som dette,
logaritmisk tid, hvorved problemet kan vokse og vokse og
vokse men kostnaden ved å løse det problemet, tiden
kreves for å løse det problemet, ikke
vokse nesten like fort.
Dette ville være en logaritmisk kurve, logg av n, hvor n er
bare størrelsen på problemet, antall sider i denne
telefonboken.
Og hva betyr dette i praksis?
Vel, hvis vi har som 500 personer i dette rommet akkurat nå,
eller rettere sagt, hvis vi har -
miksing metafor, gjorde ikke det eksemplet ennå i år -
så hvis vi har 500 sider i telefonboken, og vi doble det til
1000, i dette mer intelligent modellen av bla
til midten, hvor mange flere sider tårer det ta å gå
fra 500 sider til 1000?
Vel, bare en ekstra side tåre.
Hvis du ga meg en 2000 side telefonbok, ingen big deal.
Jeg bare rive det en ekstra gang.
>> Så i korte, kan størrelsen av problemet vokse mye raskere
enn kostnaden for faktisk å løse det.
Nå er dette bare en slik algoritme.
Det finnes andre vi kan løse på samme måte.
Og så hvorfor ikke vi gjøre dette?
Hvis du vil humor meg, riktignok klønete her i Sanders, gå
fremover, alle, hvis du kan og stå opp i stedet.
Som du ser på skjermen her, dette er en algoritme, en
prosessen, et dataprogram hvis du vil, for å bli henrettet av
mennesker som har bare 3 trinn.
Vi er allerede på trinn 1.
Du har stått opp.
Og nå tenke deg selv nummer 1.
Det er din nåværende tall.
Alle her er nummer 1.
Trinn 2, pare seg med noen stående, legge tallene
sammen, og deretter vedta summen som det nye nummeret.
En av dere bør sette seg ned, og gjenta.
>> SPEAKER 1: 205.
DAVID J. MALAN: Hva er det?
SPEAKER 1: 205.
DAVID J. MALAN: OK.
SPEAKER 2: Han har de andre.
DAVID J. MALAN: 205?
SPEAKER 3: Ja.
DAVID J. MALAN: OK.
3.
SPEAKER 4: 400.
SPEAKER 5: 5.
700.
DAVID J. MALAN: All right.
På dette punktet, bør færre og færre mennesker bli stående.
Det er der det blir mer vanskelig.
Noen her.
Her.
Det verste er at du også nødt til å veldig verbalt gjøre
aritmetiske foran hundrevis av Harvard
undergrads.
OK.
Litt av en bug her.
Okay.
Hva er nummeret ditt?
SPEAKER 6: Nine.
DAVID J. MALAN: Hva er det?
SPEAKER 6: Nine.
DAVID J. MALAN: Nine.
Okay.
Hva er nummeret ditt?
SPEAKER 7: 179.
DAVID J. MALAN: 179?
Okay.
Bra.
Så 188.
Så dere kan sitte ned.
Hva er nummeret ditt?
SPEAKER 8: 118.
DAVID J. MALAN: 118.
Noen smarte undergrad begynne å gjøre regnestykket.
Okay.
118, 188.
Hva annet har vi?
SPEAKER 9: 71.
DAVID J. MALAN: 71.
SPEAKER 10: 79.
DAVID J. MALAN: 79.
Okay.
SPEAKER 11: 47.
DAVID J. MALAN: 47.
Som lærere, som gir oss hvor mange?
705 er svaret.
Og det er faktisk akkurat riktig.
Nei, vi var faktisk litt av det.
>> Men hvordan skal dette ha fungert?
Hva burde skjedde?
Så, på hver iterasjon av denne algoritmen, vi startet med
et antall mennesker stående, og det var
totalt antall n først.
Enn halvparten av dere satte seg, og vi gikk til n over 2.
Enn halvparten av dere satte seg.
Vi gikk til n over 4, n over 8, n over 16, og så videre,
inntil, selv om den slags disintegrerte det på
slutt, i teorien, alle hadde koblet sammen i balkong og
mezzanine og orkester her, ville vi ha hatt bare en ensom
person står med en total verdi, i dette tilfellet, av 705.
Nå hva betyr, men for kjøretiden?
Vel tenke på om jeg som menneske hadde gjort dette manuelt.
Jeg ville ha startet ganske naivt, men riktig med 1,
2, 3, 4, 5, 6, 7, 8, og så videre.
Tar ganske lang tid.
Så jeg kan gjøre bedre, ikke sant?
I grunnskolen, trenger du ikke bare telle i seg.
Du teller i toere.
SO 2, 4, 6, 8, 10, 12.
Og det blir mye raskere.
Men nå fundamentalt, ved å utnytte den kollektive
intelligens til alle i dette rommet, kan vi oppnå en
dempe mye mer som dette, hvor nå nummeret på
personer i dette rommet kan doble.
En annen 700 personer gå inn i dette rommet for 1400 mennesker,
men det ville bare ta oss en mer gjentakelse av dette
algoritmen for å løse.
>> Og så, i økende grad i disse dager, når vi har disse enorme
datasett i Facebook og Google og lignende, er det
løse problemer med litt innsikt, denne biten av
kløkt, som er slik at vi i økende grad til å gjøre mye, mye
kraftigere ting med datamaskiner i dag.
Hvis du liker slike ting, har du kanskje sett på
Facebook CS50 egen Puzzle Day kommer opp førstkommende lørdag.
Hvis du ønsker å delta i noe sånt
Dette innebærer at du, i 2 eller 3 eller 4 lag på 4, ønsker å
løse noen gåter som dette, vil du stå en sjanse
å vinne noen flotte premier, blant disse er en Wii og noen
gavekort eller annen Facebook Swag.
Denne lørdagen, middag til 03:00, gå til
cs50.net/rsvp for slike.
Og dette bildet er på nettet hvis du ønsker å leke seg.
Problemene i år skal være nye.
>> Du kan legge merke til i klasserommet, også, desto mer
kameraer i år.
Så ikke bare vil kurset bli filmet på vanlig måte, CS50
kan også ta del i en dokumentar om høyere
utdanning som ser på transformative erfaring
at en student kan ha i disse dager i en lavere
studium.
Så mot disse, så vil vi ikke bare være filming for
det, vil vi bli filme også for stadig vår
online publikum, så vel som på denne anledningen publikum her.
Så vi velkommen til klassen i år vår Harvard
Extension School studenter, Graduate School of Design,
Utdanning, handelshøyskole, Kennedy School,
loven skolen, samt en rekke studenter fra
Belmont, Lexington, Newton, og Watertown videregående skoler.
Velkommen til dere alle.
I tillegg dette året, har du kanskje hørt, Harvard og MIT,
og Berkeley nå har inngått et samarbeidsprosjekt
partnerskap, et initiativ kalt EDX, som er en
initiativ til å åpne opp utdanning til alle mer
folk på nettet og fundamentalt begynne å gjøre
forskning på et mye bredere skala med hensyn til hvordan folk lærer.
Og så CS50 vil være høgskolens første kurs
deltar i dette initiativet samt.
Hvilket betyr at du vil ha tilgang til alle de flere verktøy,
desto mer pensum innhold, desto mer video
innhold som et resultat, i tillegg, som ig morgen,
53019 personer som har registrert for å ta CS50 sammen
med deg i år på internett.
Så uten -
[Applaus]
Så hva dette betyr, spesielt, er at
lærere og jeg har brukt ganske mye tid på
sommer forbereder for høsten, både på campus og på, slik
at vi kan begynne å bygge opp et korpus av interessant, av
overbevisende, å engasjere pedagogisk innhold som
fokuserer særlig på mer intime transportmidler av
ganske komplisert materiale.
>> Så i tillegg til kursets forelesninger og seksjoner og
ting som kalles walkthroughs, som vi vil se i bare en
bit, vil vi også ha disse shorts i år som gjør at
du å engasjere seg med kurs fra en annen vinkel
helt.
Så la oss bruke dette som en mulighet til å ta en rask
titt på en som diskuterer dette begrepet binærfiler.
>> Så i informatikk, er det ting som kalles algoritmer -
to av dem vi bare tok en titt på - disse prosedyrene for
løse problemer.
Men på slutten av dagen, må du
representerer informasjon eller annen måte.
Og du trenger å representere den på en måte som en datamaskin kan
forstå.
Og selv om du egentlig ikke forstår datamaskiner og
du er i at 76% akkurat nå, har du sannsynligvis noen vage
forstand at datamaskiner liksom avtale i 0'er og 1'ere, det binære
system, så å si.
Nå hvorfor er det slik?
Vel, det viser seg når datamaskiner første kom, hvis
du trengte å representere informasjon, kan du gjøre det
med elektrisitet.
Og selv om dette er litt av en overforenkling, en svært
enkel måte å registrere informasjon er enten ved
snu den strøm på -
en 1 i binær, så å si - eller snu
at elektrisitet av.
>> Så hvis Barry, hvis du ikke har noe imot, kunne vi dempe lysene
fullt for bare et øyeblikk?
Dette her er en veldig umotivert binær 0.
Hvis vi slår av lysene opp igjen, nå Sanders Theatre er
representerer den binære verdien av en.
Dessverre, med bare en bit, med bare ett sett med
lys, kan vi bare representere to tall i
verden, 0 og 1.
Og det ville være fint om datamaskiner kunne telle en
litt høyere enn det.
Men faktisk de kan.
Så la meg trekke opp på skjermen her vår venn Nate Hardison
som vil gi oss en rask titt i løpet av bare noen få
minutter på denne oppfatningen av binære.
>> [VIDEOAVSPILLING]
NATE Hardison: Tilbake når du lærte å lese og skrive
tall, lærte du om sifrene 0-9.
Å skrive hele tall større enn 9, lærte du at alle
du måtte gjøre var å bruke en kombinasjon av disse sifrene,
som i 52 og 437.
Så har denne måten å skrive tallene en
navn, titallssystemet.
Hvorfor desimal?
Vel, betyr det latinske roten av en desimal, desem, 10.
Og når du har 10 siffer i notasjonssystem, 10
blir en ganske spesiell nummer.
La oss se på antall 437 skrevet i titallssystemet til
forstå hvorfor.
>> Vi kan først bryte opp 437 i 400 pluss 30 pluss 7.
Vi kan ta den fra hverandre enda mer slik at vi har 4 ganger 100
pluss 3 ganger 10 pluss 7 ganger en.
Husk å lære om de sted, titalls sted,
det hundrevis sted, og så videre?
Dette er akkurat der det kommer fra.
Og til slutt, kan vi se at vi har en haug med krefter 10
innebygd i her.
Vi har fire ganger 10 til 2 pluss 3 ganger 10 til 1 pluss
7 ganger 10 i 0.
Så nå kan du se hvorfor 10 er en spesiell
antall titallssystemet.
Faktisk har vi et navn for det.
Det kalles basen siden det er i bunnen av eksponent
i aritmetikk her.
>> Titallssystemet er ikke den eneste måten å representere tall.
Faktisk, selv om vi blir kvitt sifrene 2 til 9, kan vi
fortsatt representerer alle de tallene som
vi kunne med desimal.
Så nå har vi to siffer, 0 og 1, 2 er vår spesielle
nummer, bunnen av vårt notasjonssystem.
Navnet på denne notasjonen system kalles binære siden
prefikset "bi" betyr to.
Så i stedet nå for å ha en som sted og titalls sted og
så videre, har vi nå en de sted, et toere sted, en firere
sted, og så videre, går opp med potenser av 2.
Så la oss se dette ved å gjøre noen telling.
Så, er 0 fortsatt 0, og 1 er fremdeles en.
Men nå som vi har fått en toere sted i stedet for de ti
sted, representerer 10 tallet 2.
Å få 3, legger vi en til det og få 11.
4, siden det er nå en fire sted, er
representert ved 100.
Fem er 101.
6 er 110.
7 er 111.
8, igjen, har sin egen plass.
Så det er 1000.
Og jeg tror du tar poenget.
[END VIDEOAVSPILLING]
>> DAVID J. MALAN: Så dette er å si, hva datamaskiner gjør og
hva binær er er faktisk ikke så ulik fra hva
vi har tatt for gitt i noen år, ikke sant?
Du regner grunnskolen lærte du å telle i nøyaktig
mote som Nate foreslått.
Men du sannsynligvis ikke har egentlig tenkt på det siden,
det faktum at det er dette som sted, titalls sted, og
hundrevis sted.
Og det er ganske vilkårlig.
Og faktisk, datamaskiner rett og slett bruke denne annen base.
Men på slutten av dagen, å faktisk fysisk representere
denne oppfatningen av en 0 og 1, du åpenbart ikke bare slå
lysene på og av nødvendigvis.
Du trenger å gjøre det på en mye finere kornet skala.
Og ved finere kornet, kan du huske dette dum
lite leketøy fra barndommen, Woolly Willy og disse små
magnetiske partikler.
>> Så magnetiske partikler er noe som du kan justere
i et par forskjellige retninger, kanskje
nord-sør eller sør-nord.
Og så mange fysiske inkarnasjoner av teknologi
disse dager som bruker binære, som bruker 0'er og 1'ere, bare
har magnetisme på innsiden som justerer ting, opp-ned eller
ned-opp, med dermed representerer en 0 eller en 1,
henholdsvis.
Så ja, la oss gå bort fra det abstrakte her og
se på innsiden av hva som er en mer tradisjonell
datamaskinens harddisk.
Dette skjer for å være litt større på skjermen i at det er
fra en stasjonær datamaskin.
Men bærbare datamaskiner i dag har fortsatt den samme teknologien, men er
gradvis blir erstattet av mer avanserte ting som
har faktisk ingen bevegelige deler.
Innsiden, da, av en harddisk.
>> [VIDEOAVSPILLING]
SPEAKER 12: Harddisken er der PC lagrer mesteparten av
sine faste data.
For å gjøre det, reiser data fra RAM sammen med programvare
signaler som forteller harddisken hvordan du kan lagre disse dataene.
Harddisken kretser oversette disse signalene til
spenningsvariasjoner.
Disse igjen kontrollere harddisken bevegelige deler, noen av
de få bevegelige deler igjen i den moderne datamaskinen.
Noen av de signaler styrer en motor som spinner
metall-belagt fat.
Dine data er faktisk lagret på disse platene.
Andre signaler flytter lese-skrive-hodet til å lese eller
skrive data på platene.
Denne maskinen er så presis at et hårstrå kunne ikke
selv passere mellom hodene og spinning fat.
Men det virker alt til veldig bra hastigheter.
[END VIDEOAVSPILLING]
>> DAVID J. MALAN: Så hvis vi nå zoome inn på det som faktisk er
skjer på toppen av disse platestabel i form av
magnetisme, har vi denne andre av to utseende.
>> [VIDEOAVSPILLING]
SPEAKER 13: La oss se på hva vi nettopp så i slow-motion.
Når en kort puls av elektrisitet er sendt til
lese-skrive-hodet, knipser den på en liten elektromagnet for en
brøkdelen av et sekund.
Magneten skaper et felt som endrer polariteten
en liten, liten del av metallpartikler som strøk
hver tallerken overflate.
Et mønster serie av disse bittesmå ladet opp områder på disken
representerer en enkelt bit av data i det binære tallet
Systemet brukes av datamaskiner.
Nå, hvis strømmen er sendt en vei gjennom lese-skrive
hode, området polarisert i en retning.
Hvis gjeldende ligger i motsatt retning, den
polarisering er reversert.
Hvordan får du data utenfor harddisken?
Bare reversere prosessen.
Så det er partiklene på disken som får strøm i
lese-skrive-hodet i bevegelse.
Sett sammen millioner av disse magnetisert segmenter, og du har
fikk en fil.
Nå kan deler av en enkelt fil bli spredt over hele
en stasjon i platters, type som rotet av
papirer på pulten din.
Så en spesiell ekstra fil holder oversikt over hvor alt er.
Tror ikke du ønske du hadde noe sånt?
[END VIDEOAVSPILLING]
>> DAVID J. MALAN: Virkelig.
Så har vi denne muligheten til å representere informasjon, tall
på et svært lavt nivå.
Vi har en fysisk måte å representere det samme.
Men vi kan ikke gjøre så mye av interesse ennå
annet enn kanskje noen aritmetiske og matematikk.
Vi har ingen måte å representere hittil ting som
alfabetiske bokstaver slik at vi mennesker kan kommunisere
bruker de samme enhetene.
Men heldigvis finnes det kodinger, mønstre av 0s og
1s, som representerer høyere nivå konstruerer som a og b
og c og hele setninger og avsnitt og lignende.
Og så ASCII, som er et akronym som refererer til denne
kodesystem hvorved en tall representerer en gitt bokstav.
>> For eksempel er antallet som vi kjenner som desimalverdi 65
kjent som den store bokstaven A til datamaskiner.
Desimalverdien av 97 i datamaskiner er kjent som en
små bokstaver en.
Og hva betyr det egentlig?
Vel, selv om Nate et øyeblikk siden var det bare telles opp
0-8, hvis vi skulle fortsette å telle opp til 65 eller
videre til 97, mønsteret av 0'er og 1'ere at han ville ha
trukket på skjermen ville være nøyaktig hva en datamaskin bruker
å representere bokstaven A i alle caps eller
bokstaven a med små bokstaver.
Og ja, det er en hel ordning på dette.
Dette er en, ved første øyekast, overveldende diagram av
kodinger, men hvis du fokuserer bare på høyre halvdel her,
merke til i denne midterste kolonnen har vi denne oppfatningen av tall
etterfulgt av bokstaver.
Og på toppen har vi 32.
Og karakteren, røye, som 32, heltallet, refererer
er tilsynelatende Space Bar karakter.
Når du treffer Space Bar tegnet på den bærbare datamaskinen,
vel, hva du egentlig sender er et tall, et mønster
av 0'er og 1'ere, en strøm av elektrisitet hvis du vil,
representerer de 0'er og 1'ere at datamaskinen da
tolker som et mellomrom på skjermen.
Et utropstegn er 33.
Anførselstegn er 34.
Og hvis vi bla nedover her over til høyre, ser vi at
65 er faktisk A, og 97 er små bokstaver faktisk en.
>> Og så nå som vi har denne kodeskjema, kan vi begynne
å stave ting ut.
Faktisk, datamaskiner vanligvis uttrykker seg i standard
enheter, ikke med en individuell bit, som igjen er ikke alle
det nyttig å bare representere 0 eller 1, lys på eller av, men
heller bruke sekvenser av bits.
Og den vanligste måleenheten, som du sikkert vet
og eller i det minste utledes, er en byte.
En byte er bare åtte biter, åtte 0s eller 1s på rad.
Så vi kan begynne å stave ting ut.
Og så, hvis vi kunne, hvorfor ikke prøve dette litt
kollektivt her.
Er det åtte personer i dette rommet som ville være villig til å
komme opp på scenen?
Du må være komfortabel vises på kameraet, men du
egentlig ikke trenger å vite, ellers, hva er
skjer ennå.
Jeg ser en person som blir frivillig over her.
To, tre, fire, fem, seks, syv, og hvordan om åtte.
Kom opp.
>> Så du er i ferd med å representere en byte av mennesker.
La meg være du har den 128 plass, du 64 plass, du
32 plass.
Men vi skal veldig raskt å reversere dette.
Så la meg møte dere alle der.
Og du bør være i den 128 plass hele veien hit.
Mye som hundrevis sted og tusenvis sted ville
være lenger til venstre, vil vi den største plassholder
å være her på venstre som også.
Vi har 64s er 32, 16 s, 8-tallet, 4s, 2'S, og 1-ere.
Utmerket.
Så nå har vi -
OK, kan du hjelpe meg.
Så nå har vi - hva heter du?
JOANNE: Joanne.
DAVID J. MALAN: Joanne.
Så Joanne og jeg skal nå gi råd disse gutta om hvordan vi
kan gå om stavekontroll noe ut.
Så på ryggen av sine ark, de har en
lite jukse ark som kommer til å fortelle dem om
de representerer en 0 eller en 1.
Og hvorfor ikke for enkelhet, vil vi representere 0 ved bare
står der klønete.
Veldig bra.
Eller en 1 ved å heve hånden, som representerer en 1.
Og la oss se om vi ikke kan stave ut en fire karakter
setning her.
>> Så, gå fremover nå, frivillige, og utføre round én etter
heve hånden din hvis du er en 1 eller holde den
ned hvis du er en 0.
Så nå som vi har disse tre hender opp, hvilket nummer,
alle andre, de er faktisk representerer?
OK.
67 år.
Hvorfor?
Vel, rask forstanden sjekk.
64 plass, fordi det er en 1, er at som en ganger 64 pluss 1
2 ganger, slik at det er 66 pluss 1 ganger 1.
Det er pluss 1, så 67 år.
Så nå er disse gutta er samlet representerer 67
som representerer tilsynelatende hva her i ASCII?
OK.
Så en c.
OK.
Så la oss nå gå videre til runde to.
Alle starter med hendene ned.
Og i runde to -
det finnes faktisk ikke mye av en rolle her, antar jeg, men
vi vil late.
Så runde to, heve eller senke hendene.
>> OK.
Publikum, hva er vi nå uttrykker er 83.
Så du kan gjøre matematikk.
Men for alle som har hånd er opp, legger du inn nummeret som
de representerer.
Så nå har vi 83.
La oss utvide jukse ark litt, og vi har nå -?
[Uhørlig]
DAVID J. MALAN: OK.
Dette kan være opplagt hvor vi skal her, men
likevel, runde tre.
OK.
Runde tre er godt å gå ned dit.
Så runde tre, hvilket nummer er disse gutta nå
representerer?
OK.
Jeg hørte 53, som nå representerer?
Interessant.
Nå hvorfor denne typen counter intuitive resultat, ikke sant?
Hvis vi ønsker å representere 5 - vi alle sikkert vet
hvor dette går -
hvorfor jeg ikke bare heve 4 plass og en plass?
>> Vel, skjønner at det er en forskjell, fundamentalt,
mellom hvordan en datamaskin tolker disse bitene.
Hvis du prøver å representere nummer 5, så absolutt,
vi bare heve hånden nummer 4 og heve hånden nummer 1.
Men vi representerer tall her.
Sammenheng her på scenen er at vi representerer
tegn, eller tegn.
Og i denne sammenheng datamaskinen må innse at,
oh, er dette mønsteret biter ikke et nummer alene, er det
faktisk representerer et høyere nivå konsept, i dette tilfellet en
alfabetisk brev.
Så det faktum at det nå er som representerer antall 5 med
verdien 53 er fordi i ASCII ting vi
estetisk ser som nummer 5 i seg selv trenger en
mønster av biter.
Fordi hvorfor?
Vel, verden nettopp besluttet å bruke lavere tall, 0,
1, 2, 3, for hva ser til å være ganske kryptiske ting.
Og faktisk er det disse tegnene som ikke er på en
tastatur, spesielle uttrykk som du trenger i en datamaskin til
gjøre interessante ting, men mennesker aldri
faktisk skrive dem.
Så 53 representerer faktisk 5.
Nå, akkurat som en siste tilregnelighet sjekk, hvilket nummer skal de
representerer en liten stund?
PUBLIKUM: 48.
DAVID J. MALAN: OK.
Så 48.
Og ja, gå videre.
Runde fire.
16 pluss 32 er faktisk 48.
Og så en stor applaus, hvis vi kunne, for vår
åtte frivillige her.
Takk.
Du kan holde denne.
Hvis du -
Veldig godt gjort.
Noen retning er fine.
>> Så har vi nå en måte ikke bare å tenke på hvordan du
representere data og faktisk representerer det fysisk,
men også gjør på høyere nivå ting på toppen av det.
Faktisk er dette kommer til å bli et tema i hele datamaskin
vitenskapen om å bygge mer og mer interessant kompleks
ting på toppen av ganske enkle ideer, i dette
tilfelle bare 0'er og 1'ere.
I forhold til hvorfor dette er nyttig, godt selv om det i en
kurs som dette vil vi fokusere på grunnleggende og på
programmering og på å løse problemer, kan du gå av i
informatikk i en rekke retninger.
I dette tilfellet her, dette er et diagram som du har på
baksiden av din uoffisielle guide til CS ved Harvard, en av
i dag er to utskrifter.
Dette tyder de mange forskjellige retninger som
du kan gå etter et kurs som dette.
Lære om kunstig intelligens, om grafikk,
om maskinlæring, om språket selv.
Innser også at det er ennå andre baner.
Det er mer matematiske stier i informatikk.
Hvis du ikke selv i stand til å ta noe sånt CS50 dette
falle, er det innføringskurs i våren.
Datamaskin Science 1, for eksempel, er enda et
på rampen til denne nye verden.
>> Nå som en side av hensyn til å løse problemer
knyttet til kurs, innser at CS50 sett ut litt tid
siden for å prøve å løse en av disse problemene, problemet kjent
som my.harvard, som mange av dere kanskje bruker til å faktisk
handle for kurs.
Men hvis ikke, sjekk ut et verktøy som dette, samt andre
etterkommere at noen av våre tidligere studenter
og ansatte har skapt.
Men i Harvard Kurs, som er et web-basert verktøy -
noe som du vil være i stand til å utforme og
distribusjon selv, samt likevel andre ting også, ved
slutten av semesteret.
Innse at dette bygger på en åpen datasett, i dette tilfellet
en kurskatalog, og tillater elevene i dette tilfellet til
utforske en ganske kompleks datasett.
>> Vi gravde opp i går kveld noen statistikk basert på de få
tusen folk som har brukt dette over
de siste dagene.
Hvis du har vært nysgjerrig på å vite hvor mange kurs vennene dine
faktisk har en tendens til å handle, vel, i dag er det data tyder på at
7,6 er gjennomsnittlig antall kurs på
noens handleliste.
Og nå skal jeg gi deg, også, statistikken av de mest
rekke kurs i noens handleliste.
Og vi alle kjenner sikkert noen som dette.
201 er årets posten.
Nå noen av våre tidligere studenter og ansatte faktisk
sette sammen et klipp for å male et bilde for deg om hva dette
banen i informatikk og CS50 selv er.
La meg gå videre og trekke opp, takket være Mr. Hahvahd her, en
video produsert av noen av dine forgjengere.
Hvis vi kunne holde lysene opp for dette.
[VIDEOAVSPILLING]
[END VIDEOAVSPILLING]
>> SPEAKER 14: (sang) Vi tar vår tid med noen riper,
for looper, hendelser, kan vi matche, kompilering bruke vår
bash, vil dette begrepet ikke være en boring.
Hacking moro, noen gratis måltider, forelesninger er rett og slett uvirkelig,
vår rettferdige er en så stor avtale, det er så mye å elske.
Gå, David Malan.
Walkthroughs, jeg er ikke bailing.
Kontortid, er ingen sviktende.
Hvor du tror du koding, baby?
Hei, jeg bare møtt deg og dette er gal,
men her er vår grunn.
Ta CS50.
Det er vanskelig å kode rett uten deg, baby.
Men her er vår grunn.
Ta CS50.
Hei, jeg bare møtt deg og dette er gal,
men her er vår grunn.
Ta CS50.
Og hver stjerne firmaet ønsker å ansette meg, en annen grunn.
Ta CS50.
Før du kom inn i livet mitt, kodet jeg så ille, kodet jeg så
dårlig, kodet jeg så, så ille.
Før du kom inn i livet mitt, kodet jeg så ille
og jeg kan ikke gå tilbake.
Ta CS50.
>> DAVID J. MALAN: Jeg hadde ingen anelse om at skulle skje.
Så, ligger en mer alvorlig titt på hva som kommer.
Så i forhold til forventningene dette kurset,
du faktisk ventet å delta eller se på kursets
forelesninger, sende et problem sett, ta to spørrekonkurranser, sende
et avsluttende prosjekt.
I form av karakterer, innse at min kommentar ved åpningen
om bestått / ikke bestått, noe som vi veldig mye å ta til
hjertet i CS50.
Det er ikke på langt nær nok for en kultur ved Harvard for å prøve
noe og risikere å mislykkes.
Faktisk hadde vi antall studenter, og meg selv, i
Spesielt ble som bekymret sårer din GPA eller
få en B i noe sånt CS50.
Og muligheten til å ta et kurs som dette, og andre
gateway kurs på innføringsnivå, bestått / ikke bestått
er en svært dårlig utnyttede muligheter på dette college,
generelt.
Og så skal du vite selv jeg deltok i dette kurset
utgangspunktet for bestått / ikke bestått kreditt alene.
Og selv om jeg gjorde bryteren på slutten av dagen, var det
de fem første ukene, opp til den femte mandag hele
semester som er cutoff, som tillot meg å faktisk
sette foten inn i disse nye farvann og faktisk prøve noe
veldig uvant og svært ubehagelig
for meg på den tiden.
>> Så i form nå, av hvilken rolle de ulike vinkler via hvilke
du kan nærme dette kurset tjene, så forelesninger, er det opp til
deg hvis du delta med oss ​​i person på dette sted.
Faktisk vet vi statistisk at omtrent 40% av dere vil
slags komme og gå i løpet av semesteret.
Og 10% av dere, vi vil aldri se igjen etter i dag.
Og det er helt greit, for å være ærlig.
En av de kjennetegner CS50 er
at det er disse utallige ressurser, noen av
som vi vil skrangle gjennom i løpet av et øyeblikk, inkludert
forelesninger og seksjoner og ting kalt walkthroughs og
kontortid og lignende.
Og det er mer ressurser enn den typiske studenten
må eller kunne fysisk dra nytte av.
Men det er fordi de ulike læringsstiler som
enhver student body manifesterer.
Og så i forelesninger, den primære rolle, slik jeg ser det, er
ikke å verbalt presse ut ganske komplisert materiale og til
nødvendigvis levere alle vanskelighetene med
grunnleggende at vi vil utforske dette semesteret, men
heller å gjøre ting som vi har gjort så langt allerede,
disse eksemplene, som involverer mennesker på scenen, prøver å
male et mentalt bilde, og også opprette, tør jeg si, noen
av disse minneverdige øyeblikkene.
Slik at selv som du sliter med visse emner, har du
disse minnene liker, oh, selv om det var ganske
abstrakt, matte, jeg har mistet med å bære en, som det
virkelig, på slutten av dagen, er ikke alt som ulikt
noe jeg allerede vet.
Og så den rollen som forelesninger vil tjene, enten personlig
her i Sanders eller online på video, er virkelig å sette
iscenesette mentalt for deg hver uke for de ulike konseptene
og problemer som vi vil være dykking inn.
>> I form av høyt nivå konsepter, de fleste av disse ordene
kan flyte over hodet for øyeblikket, og det er fint.
For de av dere som kommer inn i kurset mer komfortabel
vil vite av noen av disse temaene.
Men vanligvis for at 10% av den klassen som de har
mye mer bakgrunn, tar AP informatikk,
programmering siden de var 12, innser at det vil være
muligheter i seksjoner og i problemet setter å gå hele
mer i dybden i ulike temaer, fylle i hva
hull du kan ha fra videregående skole eller før
bakgrunn.
I form av språk, innser at det språket vi
bruke i CS50 er i stor grad irrelevant i
slutten av dagen.
Vi måtte bruke, først og fremst, kalt et språk C. Mot
slutten av semesteret, innfører vi web-sentriske
språk som PHP og JavaScript.
Men vi og andre kunne lære et kurs som dette i de fleste helst
moderne høynivåspråk.
Python og Ruby og andre er ganske populært i disse dager.
Fordi realisere på slutten av dagen, du er ikke lærer
i dette kurset C. ikke Dere lærer PHP eller JavaScript.
Du lærer hvordan du kan løse problemer, enten web-basert,
PC-basert, eller data-orientert seg selv, ved hjelp av
disse bare som verktøy.
>> Nå, i form av logistikk, vil du bruke
noe, til slutt, kalt CS50 Appliance.
Spiller ingen rolle om du har en Mac, en PC, en Linux-datamaskin,
eller lignende.
Du vil ha fritt tilgjengelig programvare som starter neste uke
som å bruke CS50 Appliance, en virtuell
miljø som du vil bruke på din egen datamaskin, slik at du
og alle dine klassekamerater har en uniform Linux desktop
i dette tilfellet.
Det er problemet sett, skjønt, hvor du virkelig får
hendene skitne på kurset.
Og på slutten av dagen, er det de oppgavesett, jeg
tror, ​​som virkelig definerer en elevs
oppleve i dette kurset.
Innse at mange av oppgavesett vil bli utgitt
i to utgaver, en standard tillegg som vi forventer og
oppmuntre 90% av klassen til å dykke inn.
Men vi har også slippe noen problemområder sett i
såkalte hacker tilføyelser.
Og du vet at det er hacker tillegg fordi på hver side
med et vannmerke sier det hacker tillegg på den.
Og det er for denne demografiske av dere som har AP
informatikk med 10 års programmering under beltet
og ønsker å fylle disse hullene og å ha mer formell,
snarere enn selvlært, opplæring, kanskje.
Innser at det er en meget betydelig demografiske i
klasse som har nettopp den samme målet.
Du har fem sent dager.
Oppgavesett er vanligvis på grunn på torsdager, men du kan
utvide fem av disse fristene å bruke disse
ting som kalles sent dager.
Og vi vil også slippe laveste score på slutten av
semester per opplysningene i pensum.
>> Men en annen særtrekk ved CS50 løpet
årene har blitt kontortid.
Det er en mulighet som du så visuelt i bilder litt
siden, hvor vi samles - tidligere i huset servering
haller, før det i kjelleren i Science
Sentrum, og i år i Annenberg Hall - fire netter en
uke 20:00 til 11:00 der du vil ha dette veldig
mye delte erfaringer med å jobbe på, sliter
gjennom, visse problemer, men med en betydelig støtte
strukturen på plass.
Faktisk er måten dette vil fungere vil ankomme Annenberg
hvis du har noen spørsmål i løpet av uken, vil du få
den bærbare datamaskinen, vil du sitte ned, hente noe mat, og du vil logge
inn CS50 Diskuter, en web-basert verktøy som undervisningen
ansatte har utviklet som vil tillate deg å legge inn spørsmål
og se oppfølging i en typisk diskusjonsforum
forstand, bruk av etiketter og lignende og automatisk fylle ut til
søke i data.
Men du vil også være i stand til, i løpet av timer av kontoret
timer, har dine spørsmål videresendt til
virkelige mennesker.
Faktisk er målet til slutt slik at man begynner vi å bygge
opp i løpet av semesteret et korpus av forhåpentligvis
virkelig nyttig informasjon, felles svar på felles
spørsmål, slik at du selv kan løse problemer
og få unstuck så raskt som mulig, men samtidig ha den
lærere, vanligvis 20 til 30 av undervisningen stipendiater og
kurs assistenter, i staben på en gang.
>> Vi vil ha det som kalles CS50 Greeter i Annenberg.
Og når vi finner ut at, vet du hva, dette spørsmålet,
Vi kan egentlig ikke svare effektivt på nettet.
Vi trenger å se datamaskinen din.
Vi ønsker å snakke med deg en-mot-en.
På den ene.
Du virkelig sliter, og du derfor ønsker å snakke
one-on-one sammen noen, vil du bli sendt til
CS50 Greeter, et undervisningsopplegg stipendiat holding, bokstavelig talt, en
iPad som har elevenes navn på den ene siden, undervisning ansatte
Navnene på den andre.
Vi vil klikke navnet ditt etterfulgt av navnet på en
lærere, og dataskjermen vil starte
blinker si vennligst gå se Alice eller gå se Bob på
ansatte tabellen.
Og så på denne måten, vil vi være i stand til å sende ting som
effektivt som mulig, samt veilede deg mot
løsninger alle lettere.
I seksjoner, og disse vil være muligheter for mer
intime hands-on muligheter med en av
undervisning stipendiater og 12 til 16 eller så av dine klassekamerater i
som hver uke vil vi ha problemer i oppgavesettet
som spør en rekke konseptuelle spørsmål og en
antall bit-sized programmering spørsmål som du
kunne finne ut på egen hånd, og du kan jobbe på din
hånd, men i sammenheng med delen der vi jobber gjennom
kollektivt noen av disse problemene, og gå hvor
annen samtale tar oss.
>> I tillegg vil i avsnitt har du muligheter til å
gjennomgå innsending av lekser som du har gjort, din
klassekamerater, noen ganger anonymisert, alltid via opt-in
Hvis du ønsker å dele det arbeidet som du har sendt inn.
Så det vil virkelig være en toveis samtale,
en mulighet til å vurdere eget arbeid i en mye mer
dynamisk forstand, snarere enn bare å se på en PDF-fil eller en
utskriften og tenke på det i noen sekunder, og ikke
nødvendigvis absorberende tilbakemelding om at undervisningen
ansatte har gitt.
Og du vil bruke et verktøy her kalt CS50 Spaces.
For de som ikke kjenner, er dette språket kjent som C øverst
venstre, og du får vite dette over tid.
Men dette er en web-basert verktøy som vi skal bruke i
del som vil gi deg og din 15 eller så klassekamerater
logge inn med din undervisning stipendiat ved
forsiden av rommet.
Du vil være i stand til å skrive kode i dette vinduet.
Du vil være i stand til å chatte elektronisk, hvis du ikke
faktisk på seksjonen på det aktuelle øyeblikket.
Og undervisning kar, når det gjelder tid til å diskutere
Alice eller Bob løsning i klassen, undervisning fellow kan
Klikk på en knapp og voila, prosjekt på skjermen,
hva som studenten har jobbet med i det aktuelle
tidspunkt.
Så for de av dere som har venner som har tatt CS50 i
Tidligere innse at deler har vært vesentlig
restartet i år for å være enda mer aktive, desto mer
dynamisk, og virkelig en toveis samtale mellom undervisning
ansatte og studenter.
>> Og gjennomgang.
Så for disse problemområdene setter vi også tilby ikke bare
spesifikasjon selv, som er generelt en ganske detaljert
PDF, men også ting som kalles walkthroughs der man
medlem av undervisningspersonalet vil føre en ukentlig økt
som går bokstavelig talt deg gjennom oppgavesettet, noe som gir
deg hint og råd og utgangspunkt og er ment
å spørre veldig ofte spurt
spørsmålet, hvor skal jeg begynne?
Vel, begynner du enten ved å dykke ned i spec på sin
egen eller ved å delta eller se på disse walkthroughs.
Den første gjennomgang, faktisk, blir dette fredag.
De vil være på fredager, ikke så mye fordi vi tror det vil være
en populær tid, men fordi vi da kan filme dem veldig tidlig
i uken for å få dem på nettet av helgen, slik at du
har så mange dager som mulig å faktisk drive det
innhold i tillegg.
Men mer om det i foredraget denne fredagen.
>> Nå i form av bærekonstruksjonen, mest
betydelig statistikk er kanskje den 108 undervisning
stipendiater og kurs assistenter som dette
Kurset har i dag.
Hvis noen av dere som ikke har motstridende klasser ønsker
å bli med meg opp her på scenen, er det disse gutta som vil
slutt virkelig definere din erfaring i faget.
Jeg hadde mye undervisning stipendiater undervise meg klasser i
dagen, og jeg husker svært få av dem ærlig.
Men til dags dato, jeg husker blant de få, min CS50 TF
som virkelig hjalp meg å svare på spørsmål, som virkelig hjalp
meg når jeg slet, og var virkelig en partner i dette
opplevelsen av å lære et svært ny verden.
I en liten bit, vil alle disse gutta bli med deg utenfor for
kake, som er en tradisjon for CS50, i tverrskipet av
Memorial Hall.
>> Men la meg først til å introdusere deg til Nate
Hardison, igjen, Rob Bowden, og Tommy MacWilliam, dette
årets kurs leder.
Hvis dere vil bli med meg her i midten.
De har alle forberedt noen inspirerende bemerkninger.
>> TOMMY MACWILLIAM: jeg ikke forberede alt
inspirerende.
Men mitt navn er Tommy.
Jeg er en senior i Mather.
Jeg studerer informatikk.
Jeg er virkelig glade for å være på hekken team og går
gjennom CS50 reise med deg.
Hva jeg elsker om CS50 er hvordan det egentlig lærer deg
å tenke på problemer på en ny måte.
Dette er virkelig en ferdighet som kommer til å bli uvurderlig uansett
hvilket felt du gå inn.
Og ikke bare det, men vi tilbyr mer gratis godteri enn noen
andre kurs på campus.
Ja, og så jeg ser virkelig frem til å se hva
alle bygger dette semesteret.
Og hvis noen har noen spørsmål nå eller hele
semesteret, definitivt gjerne nå ut til meg og
Jeg vil være glad for å hjelpe.
>> Rob Bowden: Hei.
Jeg er Rob Bowden.
Jeg er en senior i Kirkland.
Ja, det er riktig.
Vi er alle veldig glade for dette neste semester.
Vi håper du alle glade.
Jeg hadde ikke ventet det.
Ja.
Så vi legger så mye arbeid i å gjøre dette
semester virkelig flott.
Og så lenge du er villig til å sette i arbeid, er det
så mye du kan få ut av dette kurset.
Ah, vi -
ja.
Du kan få mye moro ut av dette kurset.
Vi ville ikke ha en stab på 108 hvis du ikke kunne få en mye
moro ut av det.
Så, bare prøve å bli involvert, og du vil ikke angre.
>> NATE Hardison: Hei, folkens.
Jeg er Nate.
Jeg er veileder for kurset.
Jeg er virkelig glad for å være her også.
Dette er mitt første år her.
Jeg håper dere alle ta dette kurset og nyte det så mye som
Jeg har hatt det så langt.
Og hvis du noen gang ønsker å lære å telle til 9 eller 10 i
binære, komme til å snakke til meg.
>> DAVID J. MALAN: Så på risikoen for å forlate disse gutta her på
iscenesette en litt klønete, la oss virvle gjennom bare noen av
de tingene som venter før vi utsette for kake.
Hva er det som ligger foran oss?
Vel, hvis vi tar en rask titt tilbake på i fjor, i problemet
angir 0, due dine forgjengere i en programmering
språk kalt Scratch, en grafisk programmeringsspråk
du skal bruke i de første dagene av kurset starter denne
Fredag ​​å lære noen begreper ukjente for noen av dere.
Men innser det vil være en avansert aspekt av dette for
de av dere med tidligere bakgrunn.
>> I fjorårets problem sett 2, due studenter inn i
verden av kryptografi, kunsten enciphering eller scrambling
informasjon, implementering programmer som krypterte data.
Og i hacker tillegg fjor gjorde elevene fortsette
å sprekke eller dekode passord i en typisk
datamaskinens xe passord fil ved å komme opp med algoritmer og
heuristikk for brute force finne ut hva noen er
passord på et datasystem var.
I fjor også, i oppgavesettet 3, gjorde elevene implikasjoner - i
Problemet sett 4 - gjorde elevene
gjennomføre spillet Sudoku.
Og i hacker tillegg det året gjorde elevene ikke
bare gjennomføre hvordan du spiller spillet, men faktisk en Solver
der datamaskinen kan gi deg, menneske, med
hint av raskere enn du har løse
det aktuelle problemet.
>> I oppgavesettet 5, gjorde vi dataanalyse, denne kunsten
utvinne informasjon som var et uhell eller svært
bevisst slettet fra en datamaskin.
I fjor ruslet det pedagogiske personalet og jeg rundt campus
ta bilder av mennesker, steder og ting, og deretter
uhell formatert mediekortet på våre kamera som
hadde alle disse bildene.
Men ikke noe problem.
Vi har gjort en rettsmedisinsk bilde av dette mediekort, ga den ut
til alle elevene i klassen, og utfordret dem til å skrive
programmer som utvinnes alle JPEG fra dette kortet.
Og dette er faktisk en av våre favoritt oppgavesett.
>> Og jeg gravde opp i en e-post fra en av dine forgjengere,
som var mye moro å lese en gang siden.
Han skrev - dette er fra Matt - kjære David, går min
søster tilfeldigvis formatert henne kameraet SD-kort og tapte
et år igjen av minneverdige bilder.
Hun er dessverre ikke best på å sikkerhetskopiere sine data.
Men denne situasjonen minnet meg pset 5, så jeg tenkte jeg
ville prøve å kjøre henne SD-kort gjennom recover program
at jeg skrev hele veien tilbake i oktober.
Så etter fire timer med å finne ut hvordan du oppretter en
rå bilde fra formatert SD-kort -
Google viste seg å være ganske unhelpful i denne forbindelse til
ironisk jeg tilfeldigvis kommer over dine instruksjoner om
Internett -
etter fiksing og triksing rundt med noen av kommando argumenter,
Jeg klarte å lage den rettsmedisinske bildet.
Og etter installasjon og konfigurering av CS50
Appliance, klarte jeg å kjøre den rettsmedisinske bildet gjennom min
programmere og gjenopprette alle 1027 av min søster fotografier.
Høyre, Matt.
>> Så i siste year's -
[Applaus]
I fjorårets oppgavesettet 6, ga vi elevene en
ordbok på 150.000 engelske ord og utfordret dem til å
skrive en stavekontroll som svarte spørringer på formen
er dette ordet stavet riktig eller
feilaktig så fort som mulig.
Og i en opt-in basis var studenter lov til å så
utfordre klassekamerater ved å publisere sine resultater,
mengde RAM som de brukte, antall CPU-sykluser eller
sekunder som de brukte, slik at studentene ble deretter rangert
på kurset hjemmeside.
Nytt, rent valgfri del av det, men mye moro i det
svært ofte vil en student få å plassere nummer 10 eller så på
den store bord på nettstedet, kan du gå av til middag, og deretter
komme tilbake og innse sin romkamerat hadde nettopp falt i
foran ham eller henne på store bord, og dermed helle en annen
to eller tre timer bare til ett opp hans eller hennes romkamerat.
>> Så vi ser frem til noe lignende
i år også.
I problemet sett 7 vi styre i banens
programmering, faktisk løse problemer i den stadig
stadig vanligere miljøet til en nettleser.
Vet decreasingly laste vi programvare på Mac-er og
PCer, men i økende grad gjør vi alt innen web.
>> Og faktisk i fjor, noen 88% av studentenes endelige prosjekter i
kurset var web-basert.
Og de også er ferdigheter som du vil utlede fra dette
klasse ved kursets slutt.
Fordi hva som venter på kursets slutt er det CS50 Fair,
denne utstillingen som er basert på ideen om en science fair.
Men i denne versjonen av en rettferdig gjøre alle elevene i klassen
bringe sine bærbare datamaskiner og deres venner og familie og andre
til Nordvest Science, en stor bygning på campus, satt opp
sin laptop, få litt mat, få litt popcorn og drikke,
og deretter vise sine siste prosjekter for alle de i
frammøte som i fjor talte noen 2500 deltakere
fra hele campus.
Og uttrykk som dette og som dette var ikke
uvanlig på messen.
>> Frem til messen er den CS50 hackathon, en mulighet
å hoppe på en Harvard shuttle, hodet ned gaten til
Microsoft på 8:00, og ikke gå hjem før 07:00.
Vi serverer første middag på 8:00, andre middag på 1:00,
og for de som fortsatt står ved 05:00, behandler vi til
pannekaker på IHOP.
Og hackathon er en mulighet, som avbildet her,
å dykke inn i dine endelige prosjekter, enten du arbeider på
egen hånd eller med venner i et samarbeidsmiljø,
der hele lærerstaben fungerer godt i
natt med en rikelig tilførsel av Hong Kong kinesisk mat.
På 5:00 vil slike bilder som disse være ganske vanlig dette
år også.
>> Slik som vi utsette et øyeblikk for kake, husk at
76% av folket i dette rommet har ingen tidligere erfaring.
Og som per pensum, det som teller til slutt i dette
Kurset er ikke så mye hvor du ender opp i forhold til din
klassekamerater, men hvor du i uke 11 ende opp i forhold til
selv i uke 0.
Dette er CS50.