>> [Muusika mängimine]
>> [APPLAUSE]
>> DAVID J. Humala: See on CS50, Harvardi ülikooli kasutuselevõtt
intellektuaalse ettevõtete infotehnoloogia
ja programmeerimisest.
Nüüd, kui sa oled nende seas, kes igal aastal istume siin
natuke närvidele meelt, näiteks et sa ei usu, et sa kuulud siia,
sa arvad, et kõige keegi istub ümber
teab palju rohkem kui sina, on tõepoolest mugavam kui sa arvuti taga
teaduse või arvutid üldisemalt mõistma
et 78% õpilasi, kes nüüd võtta CS50 ei ole varasemaid kogemusi.
>> Tõepoolest, seal on 100 täppi seal ekraanile, 78 mis
on pidevalt roheline, mis tähendab, et sa, kui sa oled üks, et demograafiline,
on väga hea firma siia välja.
Ja kui sa oled selle asemel hulgast 22% CS50 õpilased, kes seda tõepoolest
on eelnev kogemus, kas keskkooli või mõni muu programm,
aru, et sind ka, siis vaidlustada käigus.
>> Mitte ainult meil on erinevad lood õpilastele vähem mugavamaks ja
mugav sarnased lõigud, me Samuti on nn häkker väljaanded
Enamiku probleem seab mis väljakutse nendele üliõpilastele
koos täiendavate kogemuste uurida sarnane materjal
kuid rohkem kogenud perspektiivi.
>> Aga milline on infotehnoloogia?
Noh, lõpuks, mis hakkab asi nagu te uurida selles valdkonnas ei ole
nii palju, kui sa lõpuks võrreldes oma klassikaaslastega,
aga kui sa ise sattuda 12. nädalal võrreldes kui sa hakkad siin
nädalal null.
Nüüd arvuti science-- noh, olgem nimetame seda teadust computation--
kus arvutusvõimsus on tõesti ainult fancy viis öelda, võttes mõned sisend,
toodavad mõned väljund ja Seejuures töötab algoritme,
komplekti juhiseid lahendamiseks mingi probleem nendele sisenditele
et toota mõned väljund või lahendus, kus olete huvitatud.
>> Nii et meil oli hiljuti mõnikord reisida läbi
California kohtuda vilistlane.
Tema nimi on Susan Wojcicki.
Ja ta tahaks rääkida et sa siin video
tunnistada, et just kui kohaldatav isegi lihtsalt maitse arvuti
teaduses sissejuhatav tasandil võib olla.
Isegi kui sa ei lähe jätkata arvutiteadus nagu väljale
või isegi inseneri, või STEM üldisemalt
näete, et tegelikult, kui teatud Muidugi nii mõjutanud tema elu.
Ja ta alles oli see, kui ta oli vanem siin Harvardi kolledž.
>> Kui me suudaksime päevasõidutulede tuled Susan.
Susan Wójcicki: Hello, world.
Olen Susan Wojcicki.
Olen tegevjuht YouTube.
Ja ma võtsin CS50 kui olin vanem Harvardis 1990.
Ma olin tegelikult ajalugu ja kirjanduse peamine.
>> Ja mu noorem suvel Ma sain aru, et võib-olla ma
tahtsin midagi õppida arvutid.
Ja nii ma tulin tagasi.
Võtsin CS50.
See oli raske, kuid see oli Kõige hämmastav klassi võtsin.
>> See muutis kuidas ma mõtlen kõike.
Ja kui ma lõpetanud Harvard 1990, läksin Silicon Valley.
Ja mul on töö.
Ja ma olen töötanud tech ajast.
DAVID J. Humala: Mis nüüd Susan ei maininud seda videot,
et tegelikult tema garaaž, et Google ise oli
asutasid Larry ja Sergey.
>> Nüüd ka ulatasid meie sõbrad at code.org, organisatsioon, mis
Viimase aasta jooksul on olnud et inimesed eriti
põnevil arvutiteadus ja koostamine, eelkõige.
Kuid see on väärt märkimist, et programmeerimine ei arvutiteaduse per se.
Arvutiteadus ei ole programmeerimine.
Pigem programmeerimine on vaid tool-- kellega te kõik
on kõik väga hästi, tuttav poolt semestri väljatöötamiseni
nii et saate rakendada ei lihtsalt tulevasi kursusi CS
aga mis iganes väljad kust sa tuled, humanitaaria,
sotsiaalteadused, loodus teaduse või sarnased.
>> Tõepoolest, võimaldavad mõned muud vilistlaste ja oma kolleege
rääkida kohaldatavus valdkonna, mis ootab.
>> Bill Gates: Ma olin 13, kui ma esimest korda sain juurdepääs arvuti.
>> JACK DORSEY: Minu vanemad ostis mulle Macintosh 1984
kui ma olin kaheksa-aastane.
>> Mark Zuckerberg: olin kuuendas klassis.
>> SPEAKER 1: õppisin koodi kolledžis.
>> RUCHI Sanghvi: Uustulnuk aasta esimene semester, tutvustus Computer Science.
>> Bill Gates: Ma kirjutasin programmi et mängitakse trips-traps-trull.
>> DREW HOUSTON: Ma arvan, et see oli üsna tagasihoidlik algus.
Ma arvan, et esimene programm Kirjutasin küsis asju,
Milline on sinu lemmik värv?
Või kui vana sa oled?
ELENA SILENOK: Ma esimest õppinud kuidas teha roheline ring
ja punane ruut ilmuvad ekraanile.
Gabe Newell: Esimene kord, kui ma tegelikult oli
midagi tulla ja öelda, tere, maailm.
Ja ma tegin arvuti teha.
See oli lihtsalt hämmastav.
>> Mark Zuckerberg: õppimine et programm ei alustanud
kui tahavad õppida kõik arvutiteadus
või üritavad kapten seda distsipliini või midagi sellist.
Ta lihtsalt hakkas välja, sest ma tahtsin seda teha üks lihtne asi.
Tahtsin teha midagi, mis oli lõbus mina ja mu õde.
>> Ja ma kirjutasin selle väikese programmi.
Ja siis põhimõtteliselt lihtsalt lisada veidi ta.
Ja siis, kui ma vajasin õppida midagi uut,
Ma uurisin seda, kas raamat või Internetis
ja seejärel lisatakse veidi ta.
>> DREW HOUSTON: See ei ole tõesti erinevalt mängides instrument või midagi
või mängib sport.
DAVID J. Humala: Olgu.
Olgem nüüd tegelikult sukelduda veidi sügavamale.
Mis need on sisendid ja väljundid et me räägime siin?
>> Niisiis, kuidas midagi lihtsat?
Te ilmselt teate, isegi kui teil on no tuttav infotehnoloogia
üldse, et arvutid kuidagi kasutada ja oskab ainult nulle ja ones.
Aga kuidas see võimalik anda, kuidas palju tänapäeva lauaarvutid ja sülearvutid moodi
saab teha?
>> DNA päev, ainult tähestik, et nad mõistavad
on null või üks.
Noh, mõtle sellele.
Meie, inimeste, kalduvad kasutama detsimaalsüsteem. "Detsember", mis tähendab 10.
Ja see on 10, sest meil on 10 numbrit, 0 kuni üheksa.
>> Nüüd arvutid, seevastu kalduvad kasutama binaarne.
"Bi", mis tähendab kahte.
Nii nad kalduvad kasutama ainult nulli ja ühe.
Aga selgub, et isegi ainult nullidega ja need, mis
on piisavalt suur tähestik kellega esindada kõige
iga tükk andmed, mida soovite, kas see on number,
kas see on kirjas, kas see on graafika või video ekraanil.
>> Võtame näiteks, kuidas me inimesi tavaliselt seda tõlgendada number siin.
See on vaid kolm numbrit, üks, kaks, kolm.
Aga me teame, et see number loomupäraselt nüüd 123.
Aga miks see nii on?
>> Noh, kui te arvate tagasi et võib-olla algkool,
sa ilmselt õpetati mõtlema Nende numbrite olevaks veerud
kus üks on sadu kohas, kaks on kümneid koha
ja kolm on üheliste kohale.
Miks see nii on tegelikult kasulik?
Noh, mõtle super lihtne aritmeetika
et meil kõigil on olnud teeme juba aastaid.
Tõhusalt, kui sul üks sadu koha
sa kiire matemaatika 100 korda 1 pluss 10 korda 2--
sest kaks on kümneid tulevad-- pluss 1 korda 3--
kuna kolm on üheliste kohale.
Niisiis, muidugi, kui me tegelikult selle läbi korrutan,
mida me tegelikult esindavad Selle pattern-- üks
kaks meeter on 100 pluss 20 pluss 3, mis muidugi on 123.
>> Nüüd binaarne ja arvutid tõesti, põhimõtteliselt räägivad sama keelt
mida me teeme.
Nad lihtsalt on väiksem tähestikku.
Nii et arvutid on ainult nullid ja need, kelle käsutuses.
Nii et arvestades, et me inimestel on sisuliselt volitusi 10 kõigis nendes places--
10 kuni nullini, 10 ühe, kümme Lisa kaks korda, võimaldades 110 ja 100
aastal.
>> Kuna arvutid on ainult kaks väärtust nad saavad aru, nulli ja ühe,
nad kasutavad erinevaid väärtusi Nendes veergudes, üks, kaks, neli.
Ja kui me elus hoida, kaheksa, 16, 32, 64, ja nii edasi.
Aga muster ja mentaliteet on täpselt sama.
>> Nii et see loogika, et keegi, kuidas oleks Ma minna esindavad number
üks binaarne?
Kui sa pole kunagi isegi mõelnud seda enne, mis su soole öelda?
>> Sihtrühm: One.
DAVID J. Humala: One.
Täpselt.
Meil on vaja ainult üks ones koht, sest nulli
piisab meile kumbki nelja ega kaks.
Nii et üks korda üks võrdub üks.
Nüüd on asjad natuke huvitav.
Kui ma tahan esindada kahekomponentsete number kaks-- kuid
uuesti, isegi kui te pole kunagi räägitakse seda keelt enne,
kuidas me esindame binaarne väärtus meie, inimesed teavad, kui kaks?
Zero üks null.
Pane üks veerus, et sa tahad seda.
>> Nüüd see muutub üsna lihtne ilmselt nüüd.
Nii et kui ma tahan kujutada meeter puudub kolme veeru.
Niisiis, jälle saan nüüd lisada need väärtused kokku pannes siin.
Seega 2 korda 1 pluss 1 korda 1 on muidugi 3.
>> Nüüd on asjad natuke nalja et need nüüd nulli.
Ning esindada neli, ma saan seda.
Ja kui me juurdekasvu aeglaselt siin-- et oleks viis.
See oleks kuus.
See oleks seitse.
>> Aga nüüd ma tundub, et on tekib probleem.
Kuidas võiks ma minna esindavad eight-- oleks järgmine väärtus.
Jah, me vajame uut bitti.
Ja tõesti, kui olete kuulnud seda fraasi enne,
bitti, see on lihtsalt lühike Kahendnumber, null või üks.
>> Ja nii ma juhtumisi esindavad kõigest kolm bitti siin.
Aga kui mul oleks viis ladustamiseks ei kolme erinevat bitti, kuid neli,
kindlasti ma võiks olla kaheksa ja siis üheksa ja seejärel
10 ja isegi kõrgemale ja kõrgemale.
>> Aga mis siis nõuab kahtluse, kuidas me saame
minna neid esindavate asjad kõigepealt.
See on üks asi, mida teha neid siin slaidile
aga kuidas sa neid esindama kui sa oled mehaaniline seade?
Mis on arvuti teeb esindavad sisendid ja väljundid, et
põhimõtteliselt määratleda arvutamine lõpus päeval?
>> Noh, aga midagi super lihtne nagu see on?
See on lihtsalt üks lambipirn.
Ja ma ei saa käivitada seda lambipirn minna
keerates mõned elekter kohta ja võimaldab elektrone
läbivoolu, mis muudab oma riik või selle väärtus, kui nii võib öelda.
Näiteks on see vana kooli laualamp
siin üks selline lambi sees on.
Ja just nüüd, et see pole tõesti teeb midagi kasulikku.
Aga niipea, kui ma ühendage see vooluvõrku
ja seda siis kasutada switch-- või saame isegi kutsuvad seda transistor
või ma arvan et kui such-- Nüüd saan esinda
seda väärtust, kui lamp on ilmselt ära, või selle väärtust.
See väärtus või selle väärtuse.
See väärtus ja nii edasi.
>> Nii sees arvuti, arvatavasti, on palju väiksemad tükid riistvara,
kuid lõpus päeval lihtsalt
kasutada electricity-- võibolla lüüa Kui--
ja siis kas hoida midagi või hoida midagi välja.
Loomulikult ei ole see Eriti huvitav on teha
vaid ühe lambipirni.
>> Tegelikult, kui kõrgele ma saan loota sisse binaarne selle laualamp siin?
>> Sihtrühm: One.
>> DAVID J. Humala: Üks, eks?
Mul on vaja rohkem laualambid, kui ma tegelikult tahan loota suurem.
Aga me saame teha paremini.
Kuna lambid, mis meil panna need asjad
on tegelikult Kasvataja lambid kui Läinud lubaks.
Ja nad on tegelikult võrgustatud lambipirnid.
Ja kobarad ettevõtted teha neid asju nendel päevadel.
>> Aga selgub, et see üks eriti
Kaasas omadus, mille saate muuta oma värvi.
Nii näiteks, kui te kaunistatud oma Dorm tuba
mõned neist tuli sibulad, sõltuvalt teie meeleolu,
olenevalt sellest, kes on saadaval, sõltuvalt ilmast,
sõltuvalt kellaajast päeva, saab tegelikult
muuta värve sibulad oma toas.
Ja see on sellepärast, et nende valgus sibulad ja teised, nagu see on, mida on
nimetatakse API, taotluse programmeerimise liides, mis
on teema, mille sa pead olema hästi tuttav poolt semestri lõpus.
>> Ja see on lihtsalt fancy, segasena viis öelda,
saab programmeerida neid kerge sibulad teha oma pakkumise.
Võite saata neile sõnumeid just nagu sina, inimene,
saab sõnumit saata veebiserverisse ütles mulle tänane uudis
või anna mulle oma e-posti.
>> Võite saata enam kauge sõnumeid need lambid
öelda, sisse ja välja lülitada.
Aga see pole veel kõik, et huvitav.
Võite öelda, lülitage punane, põleb roheliselt, lülitage sinine,
kõik sama lambipirn.
Ja te võite isegi natuke rohkem Savvy, ütleme, keera ennast siniseks
kui see on sünge päev väljaspool, näiteks.
See võib tegelikult plaaster sisse Ilm API ja teada saada,
mis ilm on, või aeg päev, või muid selliseid käivitab.
>> Niisiis, tegelikult kaks CS50 enda töötajad,
Dan Bradley ja Ansel Duff siin lahkelt hangitud
meil terve hunnik neid lampe.
Ja nad ehitasid CS50 on esimene binaarne sibulad,
kus me oleme esindatud siin-- nende mänguline vähe magnets--
mitmesuguseid kohatäitjaid me vihjas lihtsalt natuke tagasi.
>> Niisiis, kuidas siin on ones kohas, kaks, neli.
Ja me ei näinud kõrgem.
Aga muidugi, nad on volitused kaks.
Kaheksa, 16, 32, 64, ja 128.
Nii et kui ma nüüd tahan olla veidi Kasvataja kui kasutate seda vana kooli lüliti,
Mul on siin selle iPad super lihtne kasutajaliides
et Dan Bradley, endine õpilane ja nüüd õpetab kolleege,
programed kasutades mõned HTML ja JavaScript, mis
on juurdehindlus ja programmeerimine keelte kohta.
Ja võite ilmselt vaadake-- isegi tagasi--
seal on suur pluss ja suur miinus, pluss üks nupp kõigi nende sibulad.
Ja mis see läheb lubage mul ei on näiteks klõpsake pluss
ja nüüd esindab, ning Muidugi, mis number?
Üks.
Ja ma ei tabanud seda jälle.
Kaks.
Kolm.
Four.
Viis.
Kuus.
Seitse.
>> Ja nüüd siin me saame, et pikendamist, kuid peame neljas bitine seekord
nii et nüüd on meil kaheksa.
Nii et me võiks seda teha juba mõnda aega.
Tegelikult, nagu kõrvale, kuidas kõrge võiksime loota?
Keegi?
>> Sihtrühm: 255.
>> DAVID J. Humala: 255, eks?
Ärge muretsege liiga palju matemaatikat nüüd, kuid see on päris korralik number.
Aga tegelikult ei seondunud lihtsalt kui palju andmeid,
nagu kirjas, või graafiline et meil võiks olla.
>> Aga ükski asi nüüd.
Ma lähen edasi minna ja muuta need kõik maha.
Ja kui ma saaksin, tahaks küsida vabatahtlike, meie esimene volunteer--
oh, hello-- laval.
Saak pead olema mugav ilmumist, kui sa selgelt
on ees kõik oma klassikaaslastega, samuti internetis.
Ja lubage mul vaadata veidi kaugemale kura kuidas siin valge särk?
Ja käsi üles.
Tule.
Mis su nimi on?
>> Sihtrühm: Jackie.
>> DAVID J. Humala: Jackie.
Jackie, tulge siia.
Niisiis, mida on ka selles iPad on nupp nimega mäng režiimis.
Ja see Mängurežiim luban, et ma sisend
eelnevalt konkreetse kohaga number, numbrid meil inimestel on
tuttav.
Ja siis tuleb väljakutse siin kasutada nuppe
aasta top-- üks Kõigi nende bulbs--
et tegelikult aru saada, muster lambid
mis tähistab number küsimus.
>> Ja mul on kahju, mis su nimi oligi?
>> Sihtrühm: Jackie.
>> DAVID J. Humala: Jackie.
Olgu.
Meeldiv kohtuda.
>> Nii et lubage mul minna ja programmi maailma näha number 15.
Hoiame seda esialgu väike siin.
Ja ma lähen minema mäng režiimis.
Ja ma lähen, et täpsustada, anna meile number 15.
>> OK.
Ja nüüd kõik watching-- kui tahad äkki seisma nii,
sest see liinile up-- minna ja Lülitab kaheksa nupud ülaosas
pöörduda Lampide või välja näed.
>> Sihtrühm: OK.
>> DAVID J. Humala: Ja no petmine lööb pluss 15 korda.
Oh, me ei kavatse seda teha.
>> Sihtrühm: Oh, oota.
Mul on nii kahju.
>> DAVID J. Humala: võid keerata lambid individuaalselt
kõigi nende nuppude peal.
Sihtrühm: Oh, OK.
Seega oleks nagu--
DAVID J. Humala: OK.
Nii et nüüd on meil kaheksa.
Nii et olgem pausi publik tegeleda siin.
Mis number on Jackie praegu on?
11.
Nii et me oleme peaaegu kohal.
Ja väga hea.
Nii et meil on meie esimene võitja.
Palju õnne.
>> Ja me arvasime me tahaks olla mõned vapustav meened.
Kui soovid olla üks selline Dorm tuba siin ülikoolilinnakus
võite ise on lõplik projekt kasutades nüüd see API, tänu Jackie.
Nii nüüd--
>> [APPLAUSE]
>> --if saime veel üks nagu ümber selle.
Oh, nüüd igaüks tahab mõned lambid.
Sest nn häkker väljaanne, me ramp see üles a-- oh,
Jah, millekski.
Ma arvan, et sa kohe olemas kui käsi läheb alla.
Mis su nimi on?
>> Sihtrühm: Alex.
DAVID J. Humala: Alex, tule siia.
Nii Alex, me ei kavatse programmi veidi suurem arv.
Arvatavasti selleks.
Number 50.
>> Sihtrühm: OK.
DAVID J. Humala: Aga nagu Ma ütlesin ja te võite
taha seista siin, nii et nupud rivistama
kui sa oleks expect-- aga ma tegin nimetame seda häkker väljaanne.
Nii-- õnne!
>> [Naer]
>> Sul on võimalik pöörduda need ära, kui sind-- OK.
Suurepärane.
Wonderful.
Palju õnne.
>> [APPLAUSE]
Ma arvan, et ma peaks maksma.
Õnnitlused Alex samuti.
OK.
>> Nii ülim Buffee siin on loodetavasti ausalt öeldes
simplicity-- lihtsus, millega
saad mõne kena valgus sibulad, ilmselt [kuuldamatu].
Aga mida nad esindavad, lõppkokkuvõttes sama ideed
kellega meil on inimesed juba liigagi tuttav.
Niisiis, milline võiks järgmise etapis olla progresseerumise
üritavad teha midagi huvitav andmeid
ja esindavad sisendid, mis ei ole lihtsalt numbrid, kuid on võib-olla tähed või rohkem?
>> Noh, selgub, et arvuti maailmas, aastaid
lihtsalt vastu meelevaldne, kuid järjepidev standard, mis kaardistab numbrid
kuni tähestiku tähti.
Näiteks, siin on Katkend et kaardistamine.
Seda nimetatakse ASCII.
-S-C-I-I. Ja see on lihtsalt tabel, mis kaardistab suurtäheks Kirjad--
Selles juhul-- koma numbrid.
>> Aga mis on kaudselt?
Noh, kui sa tegelikult tahad esindada midagi talle või mingi tekst
veebilehele, siis ilmselt tahavad näidata
inimese tähed tähestik, mitte numbrid.
Nii et olenevalt kontekstis programmi
et kasutaja kasutab, kui see on veebibrauser või e-posti klient,
numbreid saab kindlasti tõlgendada nii, et tähed.
See tähendab, mustrid bittide saab lihtsalt tuleb tõlgendada nii tähti.
>> Ja mis meil on on kirjas olemise
esindatud 65 B on esindatud 66.
Nii et kui meil on super lühike sõna, nagu hi,
mida arvuti lõppkokkuvõttes Hoida kohaga, kuid tegelikult binaarne,
kasutades teatud bittide jada, võimendades natuke elektrit mingil viisil,
oleks kaks numbrit 72 ja 73.
>> Aga muster bitid esindab neid väärtusi.
Nii et need on siis kuidas me saame esindada oma sisendid ja väljundid.
Ja piisab, kui öelda, et me ei saa seda keerulisem esindused
lõpuks on asjad graafika, videod, muusika ja rohkem
nagu me näeme hiljem selle aja jooksul.
>> Nii et lihtsalt jätab siis algoritmid, nende komplektid
juhiseid, mille me lahendada tegelikke probleeme.
Me möödume sisendite algoritme.
Ja need algoritmid toodavad väljundid, loodetavasti õige väljundid
ja loodetavasti ka efektiivselt kogutud väljundid.
Teisisõnu, see on üks asi, rakendada midagi õigesti.
See on teine ​​asi, et rakendada midagi hästi või tõhusalt.
>> Näiteks üks meeleavaldus et me oleme kiindunud käigus
on see üks.
Aga need asjad hakkavad üha raske leida.
Aga see on tõesti vana kooli telefoniraamat, mille sees
on 1000 pluss lehekülge nimed ja telefoninumbrid.
Ja kui ma tahtsin otsida keegi selles telefoniraamatust
Ma lihtsalt ei oska väga naiivne algoritm.
Ma võiks avada esimesel leheküljel, ja Ma võiks hakata otsima, ütleme, keegi
nimega Mike Smith.
Ja kui ta ei ole esimesel lehele, ma edu teiseks
ja siis kolmas, ja seejärel Lisa neljandat ja nii edasi,
kuni ma lõpuks leida Mike Smith.
>> Nüüd on see, et algoritm on õige?
>> Sihtrühm: Jah.
>> DAVID J. Humala: Jah.
Kui ta on seal, ma tulen lõpuks ta leida.
Aga see on väidetavalt ei ole väga tõhus, kindlasti mitte kiiresti,
sest, mu Jumal, miks ma raiskad oma aega flipping
läbi kõik need leheküljed, kui suutsin kindlasti seda teha füüsiliselt kiiremini?
>> Noh, kerge optimeerimine, nii et räägi, võib olla mitte üks lehekülg korraga,
kuid kaks, neli, kuus, kaheksa, 10.
Ikka õige?
>> Sihtrühm: Ei
>> DAVID J. Humala: Nii ei kui I Näiteks vahele üle Mike Smith.
Aga nii kaua, kui ma tagasi pedaali üks lehekülg, kui ma ületavad teda,
võibolla me võiks parandada seda, mis vastasel juhul võivad olla gotcha.
>> Aga kas see on parem?
Kas see on kiirem?
Ma mõtlen, jah.
See on sõna otseses mõttes kaks korda kiiremini kui ma seda kaks lehekülge korraga.
Nii et kui ma algselt oli 1000 lehekülge, nüüd mul on ainult klapp 500 korda
ole täielikult 1000 lehekülge, et saada potentsiaalselt kõige halvemal juhul
Lisa lõpuks telefoni raamat, kus keegi
nagu Mike Smith või keegi hiljem nimi võiks tegelikult olla.
>> Kuid loomulikult inimestel kindlasti ei ole
hakkate tegema, et kindlasti mitte sel hetkel meie elus.
Milline on mõistlik Inimese tõenäoliselt teeme?
Sihtrühm: Mine otse the9 S.
DAVID J. Humala: Mine otse S?
Kuidas minna otse S?
>> Sihtrühm: Rip see pooleks.
DAVID J. Humala: Noh, seal ei ole märgistus.
Nii et, jah, kui oleks tõepoolest Valmistaja või kleepuv sakk S,
peaksime hüpata seal.
Aga see on üsna kahjutu.
Nii et parim, mis ma teha saan, on enam-vähem et S jagu või ehk umbes
keskele.
Aga peamine Buffee nüüd-- ja intuitsioon
et olete võetud antakse aastat ehk--
on see, et mida sa nüüd teavad seda probleemi?
>> Sihtrühm: [kuuldamatu]
>> DAVID J. Humala: Mike Smith on kindlasti mitte selles pool probleemi
sest Smith tuleb pärast keskel mis on umbes M jagu,
see tundub olevat.
Nii nagu te võib-olla näha Visitas, saame nüüd sõna otseses mõttes
pisar selle probleemi poole.
Sihtrühm: Woo!
DAVID J. Humala: See on üha lihtsamaks ja lihtsamaks.
[APPLAUSE]
Seal sa lähed.
[Naer]
Ja nüüd ma põhimõtteliselt on sama probleem,
aga see on sõna otseses mõttes kaks korda väiksem.
Ma ikka otsin Mike Smith.
Ja Julgen väita, ma ei saa ikka otsida teda samamoodi
jagades probleemi pooleks uuesti, pisaravool probleem uuesti
poole, mis nüüd jääb mul probleem kvartalis suurus,
dramaatiliselt visata, et pool ära ja korrake seda protsessi ikka ja jälle
ja jälle, põrkav alla igas punktis näha
Kui Mike Smith on Lehe küsimusele.
>> Nüüd, kui ma seda teha küll, lõpuks ma leian end
vaid üks leht, kus Mike Smith on, kui ta on tõesti telefoniraamatust.
Muidugi, ma võiks kunagi helistada Mike uuesti.
Aga point on selles, et kui me alustasime koos 1000 lehekülge, minu esimene algoritm,
flip lehele, võibolla 1000 korda-- kindlasti vähem, sest see on
S nime ja mitte Z nimi, kuid nagu palju kui 1000 lehekülge potentsiaalselt.
>> Teine algoritm, seda parem.
500 lehekülge.
Kolmas algoritm, kuigi Mitu sammu oleks see
võtta jagada 1000 lehekülge telefoniraamat pooleks niimoodi?
10, võta või jäta.
Nii et ainult flipping kaudu, et telefoniraamat, sukeldumine ja vallutamist,
niiöelda 10 korda, siis ma teen Minu tee alla vaid üks lehekülg.
>> Ja nii me saab lüüa see intuitsioon Nüüd natuke graafiliselt
kui sa lihtsalt kaaluda see super lihtne graafik.
Me oleme x-teljel, horisontaalselt või telg, on suurus minu probleem
lehekülgede arvu telefoniraamatus.
Ja infotehnoloogid üldiselt meeldib helistada
suurus probleemi n, kus n on vaid mõned muutuja, mis
represents-- selles juhul-- lehekülgede arv.
>> Vertikaalne või y-telg, siin on läheb aega, et lahendada
võibolla arv lehekülje pöördeid, võibolla sekundite arv
või protokolli sõltumata oma mõõtühik on.
Ja nii see punane joon tähistab esimese algoritmi
sest seal on 00:59 suhet number
lehekülgede ja aega kulub.
>> Kui Verizon kahekordistab arv lehti telefoniraamatust järgmisel aastal
minu jooksvad AEG_ aega täitmisega
et esimene algorithm-- kahekordistab halvimal juhul.
Aga teise algoritmi, kus ma flipping kaks,
nõuab vähem aega antud suurusega probleem.
Nii et kui mul on see palju lehti siin-- teade
et kollane joon soovitab vähem aega lahendada.
Ja tõepoolest, see tähendab, me ütleme, n üle kahe.
>> Aga mis on kuju kolmanda ja lõplik kõver hakkab välja nägema?
Jah, see on tõepoolest läheb vaata-- I ei tea, mida te kavatsete öelda.
Aga vaatame, mida te ei kavatse öelda.
>> Sihtrühm: Nagu see.
>> DAVID J. Humala: See hakkab välja nägema see, logaritmiline slope-- täpselt--
mille sa pead seda uudishimulik kalle.
See ei ole enam sirge.
Ja mis mõjuvad umbes see on, et kuigi graafik on nüüd ära lõigatud,
saab ekstrapoleerida oma meeles, et see roheline joon ei ole
läheb suureneb kõrgus kõik, et palju
kui sa edasi tegutseda ette, et horisontaalteljel.
>> Tõepoolest, Verizon, et Näiteks võib kahekordistuda
lehekülgede arv telefoninumber Raamatu vahel tänavu ja järgmisel aastal
alates 1000 kuni 2000 lehed, kuid pole hullu.
Selle kolmanda ja viimase, seal on intuitiivne algoritm
jagamise ja vallutamise.
See hakkab mind, kui palju astub järgmisel aastal, et leida keegi
meeldib Mike Smith?
>> Sihtrühm: One.
>> DAVID J. Humala: Seal on ainult üks.
Ja nad saavad neljakordne, see on aega võtab mul veel kaks sammu
ja nii edasi.
Ja nii on see märk sellest, kuidas mõned hoolikalt läbi mõelda
ja mõned tunnustust selle eest, mida oma sisendid on võimalik teha veelgi paremini.
Nüüd me petmine natukene mõttes
et me võimendades oletus.
Mis on minu oletus meie telefoniraamat
mis võimaldas mul jaga ja valitse selles intuitiivne ja ikka õige?
>> Sihtrühm: [kuuldamatu]
DAVID J. Humala: Jah.
Nii et see oli tellitud.
See oli Tähestikuline poolt telefoniraamatust ettevõte.
Kui see oleks juhuslikus järjekorras, et oleks kuradima Telefoniraamatu
kuid see kindlasti ei anda ennast algoritm
Ma kasutasin, sest sa ei oleks kunagi lihtsalt juhtub kogu Mike Smith
kui te hoida jagades sisse pool niimoodi juhuslikult.
>> Nii et olgem nüüd vormistama mis on selgelt arusaadavad.
Nii et midagi, mida nimetatakse pseudokoodi on kus me
algab mõned meie esialgsed probleemid.
Ja see on üldine viis, kuidas kirjeldada algoritmi või arvutiprogrammi
ei kasuta C või C ++ või Java või mis tahes keeles,
aga lihtsalt, kasutades inglise keeles, mis tahes inimese võib olla tuttav.
>> Ja me võiksime kirjutada pseudokoodi Selle probleemi järgmiselt.
Astu ühte, korja telefoniraamatust.
Teine etapp, mis on avatud keset telefoniraamat.
Kolmas samm, pilk nimed.
Samm neli, kui Smith on üks nimed-
>> Ja nüüd on see huvitav konstruktsioon.
See on otsus, punkt.
See on tee hargneb, kui te siis, filiaal, nii rääkida.
Nii et ma lähen treppimistasemel lihtsalt kokkuleppeliselt step--
ei five-- mis on ütleme, et ma helistan Mike.
Nii et see taandus, täiesti suvalise inimese konventsioon, kuid see on
lihtsalt tähendas edastada semantiliselt et kui Smith on üks nimesid,
siis ma helistan Mike.
>> Vahepeal samm kuus, teade mis taandus läinud.
Nii et veel on teine ​​kahvel tee, teiste liiklejate võin reisida.
Nii teine ​​kui Smith on varasem raamat, mis on
minu järgmine samm ilmselt saab olema siin?
Sihtrühm: Lähed vasakule küljele.
DAVID J. Humala: Jah, nii minna vasakul pool telefoniraamatust.
Viska ära parem pool, kui Smith on varem raamatus.
Nii avatud keskel vasakul poolel raamat.
>> Ja siis samm kaheksa, minna liinil.
Ja see on uudishimulik loop ma olen indutseerivate, rekursioon niiöelda.
Aga rohkem sellest tulevikus.
>> Ma kasutan oma sama algoritmi, minu sama pseudokoodi,
lahendada sama probleem uuesti sest ainus asi, mis on muutunud
on suurus probleem, mitte minu eesmärk ja mitte inimene
Ma otsin.
Nii et ma ei saa taaskasutada algoritm et ma olen juba määratletud.
>> Else kui Smith on hilisem aastal book-- võite
arvan-- avatud keskel paremal poolel raamat.
Ja jälle läheb liinile kolm.
Else-- mis on viimane rida Selles programmis saab olema?
Kui ta ei ole nende hulgast nimesid lehel ma olen
kohta, kui ta ei ole varem raamat ja ta ei ole hiljem
raamat, mida ma tean On tõsi, umbes Mike Smith nüüd?
Sihtrühm: Ta ei ole raamat.
DAVID J. Humala: Ta ei ole raamat.
Nii et parim, mis ma teha saan, on lihtsalt loobuda ja lõpetada see programm.
Olgu.
Nii et sel hetkel, võtame kiirülevaate mõned, mis ootab.
Ja tegelikult, ma olen siin poolt mitmeid CS50 personal.
Kui need inimesed saaksid kõik minuga siin laval.
>> [APPLAUSE]
>> Mind you, see on ainult alagrupis CS50 personal
sest igal aastal on meil ligi 100 töötajat liikmete rollid muidugi assistendid
õpetamise stipendiaatide ja rohkem.
Tule.
Nii nad ühinevad meiega siin kohmakalt hetkeks
kui me anname tuulispask tour, mida Peaksite siin muidugi.
>> Nii et ennekõike on meil SAT / UNS kui liigitamise valik muidugi.
See on mõeldud tahtlikult oleks võimalus, mille
Kui teil on natuke rahutu kell on käigus,
ja sa ei karda failure-- isegi kui ausalt jätmine tähendab kannatamist GPA,
saada B ja ei A-- mis on täpselt see, mida kindlasti käib värav
Muidugi nagu CS50 ja muud sissejuhatavad kursused,
sellise liigitamise võimalust eesmärgiks on võimaldada.
>> Ma südamest julgustada students-- eriti
kui on Taraga-- alustada Muidugi SAT / UNS isegi jääda SAT / UNS.
Aga sa võid kindlasti minna kirja klassi viienda esmaspäeval perspektiivis.
>> Ausalt, tagasi, kui ma oli uustulnuk 1995
Ma ise ei ole isegi võtta CS50 sest ma ei saa üles närvi
tegelikult samm jala klassiruumis.
Tundus domeeni liiga võõras mulle ja tõesti ainult
neile, mu sõbrad, ausalt, kes oli olnud programmeerimine
sest need olid kuue või äkki 10-aastane.
Ja see oli ainult sellepärast, et ma olin võimalik võtta CS50 minu päev
aastal samaväärse versioon SAT / UNS-- läbimise / mitteläbimise tagasi day--
et isegi võtsin 50.
Ja ühel või teisel moel, olen jälle siin täna teiega.
>> Nüüd vahepeal mida veel peaksid meeles pidama, umbes 50
Samaaegselt kursusel.
Erinevalt kuulujutud, et Te olete kuulnud,
saate tegelikult üheaegselt registreeruda CS50 ja teine ​​klass,
kohtub sama või osad kattuvad ajal CS50 loenguid siin.
Vaata ainekava andmed selle rakendamisele.
>> Loengud, vahepeal vastuolus mis on ametlikult kataloogi
üldiselt ainult kohtuvad vaid tund.
Mõnikord võime joosta natuke pikk.
Kuid pidage meeles, et eesmärk CS50 loengud
on pakkuda Teile kontseptuaalne ülevaade,
loodetavasti mõned meeleavaldused, võibolla isegi mõned meened,
mis ootab jaoks nädalal, mis järgneb.
>> Ja nii loengutes Uurime neid teemasid ja näiteid koos,
tuues õpilased lavale ja töötajate lavale nii tihti kui võimalik,
vaid paar tundi nädalas.
Jaos, vahepeal on pakutud need inimesed siin-- palju
neist õpetamise stipendiaatide mõned neist muidugi assistants-- tahet
toimumas nädalas.
>> Ja mis peamine, et hoida meeles on see, et me
ei peate-- ole erinevalt Esimese Ööd, muusika class--
eri palade sektsioonid üliõpilased vähem mugav, rohkem
mugav, ja kusagil vahepeal.
Ja ausalt öeldes, sa tead, kui sa oled vähem mugav.
Ja te ilmselt teate, kui sa oled rohkem rahul.
Ja kui sa ei ole päris kindel, siis on definitsiooni kusagil vahepeal.
Nii et kui on aeg jagu nädal või nii, ühe õppekava,
küsime sellele küsimusele.
Ja sa võid ise valida Based ise mugavuse tase
ja olla students-- olla roheline dots-- sarnane mugavuse tase teile.
>> Samas on meil probleem komplektid, mis lõppkokkuvõttes
määratleda oma kogemusi selles muidugi.
Nad pakutakse tavaliselt mitmes väljaandes.
Standard Edition, et ootame kõige iga õpilane käigus tegeleda
kuid ka nn häkker väljaanne mis ei paku kujul täiendava laenu
otse, kuid tegelikult praalimine õigusi öelda, et te olete proovinud ja lahendada
Muidugi on häkker väljaandeid, mis läheneda sarnane materjal
kuid keerukamaid nurk.
>> Mida pakume Standard Edition, eest,
jälle super enamus õpilased, ei ole
ainult walk-läbi ekspordi, mis on videod eesotsas muidugi töötajad
et tõeliselt sõelub Loomulikult on probleeme ja võimalikke disain
rakendusi.
Ja meil on ka pärast Tegelikult pakuvad Lahkamine,
kusjuures kui sa ei tea, kuidas te oleksite
või oleks lahendanud mõned probleem, õppejõudude
sõelub need on video ka.
>> Vahepeal, mis ootab sama ka viie hilinenud päeva ja asjaolu
et me kaotage väikseim probleem seatud skoor.
Me kindlasti hindan seda, et vahetada töökoormuse et 50 loodab
teist, elu jääb jalgu Mõnikord, kui mitte viis korda.
Ja nii see annab sa natuke paindlikkust,
laiendada oma tähtaja, ütleme, Neljapäev keskpäeval reede keskpäeval.
Vaata ainekava rakendamise üksikasjadest.
>> Nüüd sellest, mis nüüd ootab?
Ja see on ainult esinevate mulle nüüd lihtsalt, kui kaua
Mul on teiega siin seista laval.
>> [Naer]
>> DAVID J. Humala: Aga me jõuame climactic viimistlus enne pikk.
Mida ootab poolest Probleemi komplekti?
Noh, võib-olla teaser, mida me kõik eelmisel aastal tegid oma eelkäijatest.
Esimesel probleem komplekt Eelmisel aastal tutvustasime
Scratch, graafiline programmeerimiskeel, mis
saab programmeerida sõna otseses mõttes pukseerige puzzle tükki,
nagu need, mis on meenutab konstruktid
näed vaid üks nädal seega, kui me lülituda
et traditsiooniliste keelt, tuntakse C.
>> Eelmisel aastal asus Selle probleemi komplekt,
hõlmavad krüptograafia, segipaiskamist info
hoida seda riiklike või sõprade silmi, et sa ei taha seda näha.
Kodeeritud siin sõnum, et varsti sa
suudab dekrüpteerida või de-rüselus.
>> Breakout oli probleem eelmisel aastal püstitatud, milles
kasutada neid uue leiti programmeerimine oskusi tegelikult rakendada
mäng wherein-- kui võib mäletate childhood--
Eesmärgiks oli bash tellised, mis on atop ekraani
siin, akumuleerivad lööb mööda teed,
ja rakendades oma algoritme kellega see lahendus lõppkokkuvõttes
võimaldab teil mängida mängu.
Vahepeal hiljem semester, anname teile
sõnastik 143091 ingliskeelseid sõnu.
Ja siis tuleb väljakutse Kirjutada programm, mis
õigekirja kontroll, dokumentide, mille laadimist, et paljud sõnad mällu
võimalikult tõhusalt.
Üldiselt pehme sind vastu oma klassikaaslastega
kui valite sisse natuke väljakutse juht pardal
näha, kes saab kasutada kõige vähem sekundit sõiduaega,
ja kõige vähem megabaiti mälu,
ja tegelikult peenhäälestus-programmid uskumatult ressursside tõhusa ei
lihtsalt aega.
>> Eelmisel aastal liiga, otsisime lõpus semestri ajal veebi programmeerimine.
Ja tõepoolest, me teeme seda uuesti seda aastal mitme probleem komplekti,
tutvustab teile tehnikaid ja mõtteviisi, millega saab kohaldada
Nende programmeerimise oskusi veebilehed, dünaamilisi veebisaite,
veebisaidid, mis tegelikult lahendada probleeme ja käituda erinevalt
ning ei ole lihtsalt staatiline alade staatiline teave.
>> Lõplik projekt lõpuks määratleb, kuigi
kliimaksi käigus õpilastele, kus
saate vaidlustas rakendada Kõige midagi huvi
teile, nii kaua, kui see kuidagi juhib pärast kursuse õppetunnid.
>> Ja kui sa nägid video alguses,
me järeldada semestri CS50 hackathon, mis siis, kui võõras,
algab kell 07:00 ühe öö ja lõpeb kell 07:00 järgmisel hommikul.
Umbes 09:00, paneme et esimese õhtusöögi.
Umbes 01:00, paneme et teise õhtusöögi.
Ja kui sa oled ikka seisvat 05:00 oleme
hakkab liinibuss sa et IHOP hommikusöögiks.
>> CS50 Fair, vahepeal on sündmus millele 2000 pluss õppejõud, üliõpilased,
ja personali kogu linnak tulla, et näha oma saavutusi
käigus ning lõpliku projektide ja loomingut
et loote oma sülearvuteid, lauaarvutid, või isegi lambipirnid.
>> Vahepeal tööajal ja tugistruktuur.
Ja nüüd see oleks olnud paremat aega, et viia teid kõiki üles.
>> Tööaeg toimub neli ööd nädalas mitu tundi igal öösel
on tavaliselt 20 kuni 30 kohta Muidugi töötajad tööl korraga
pakkuda teile intiimne üks-ühele võimalusi toetust
koos muidugi probleem komplekti.
Õpetamine liiga on kättesaadav, eelkõige
õpilastele vähem comfortable-- või julgen öelda vähemalt comfortable-- kellele
tööajal ei ole kõige toitev keskkond
ja kindlasti ei ole kõige stressivaba.
Eriti siis, kui tähtajad on pressimine, me ennetavalt siduda teile endale
liikmega töötajate tööle mõned regulaarset teie vajadustele
ja oma ajakava lubab.
>> Ja töötajad.
Lubage mul tutvustada Davon, Rob, ja Gabriel, tänavu pead.
Kui teil oleks iga meeldib olen öelnud
>> [APPLAUSE]
--a sõna.
[APPLAUSE]
Davon siin on muidugi manager, mis
tähendab tema täistööajaga roll ta aitab täitmine
ja logistika CS50.
Davon: Jah, Tere, kutid.
Näete palju mulle tööajal.
Ma õpetamise lõigud.
Ja kui sa tulistada kirju edasi, Ma ilmselt reageeri.
Nii et ma näen palju te kõik semester.
Ja tere tulemast CS50.
>> DAVID J. Humala: Ja nüüd Gabriel, kes ise oli lihtsalt uustulnuk eelmisel aastal
kuid on viimase paari aasta jooksul on tegutseb oma versiooni CS50
Brasiilias, mille ta alla kõik kursuse content--
mis on selge märk, filmitud ja paigutatud online--
, et ta saaks seda tõlkida Portugali ja seejärel õpetada rohkem kui 100
oma klassikaaslastega üle käigus paar aastat,
õpetas oma emakeeles Kursuse õppekava.
>> GABRIEL: Tere.
>> [APPLAUSE]
GABRIEL: Tere, mina olen Gabriel.
Olen pea TF muidugi.
Ja ma loodan, et sa armastad CS50.
See on CS50.
>> DAVID J. Humala: Nüüd Rob.
Oh, sa tahad kasutuselevõtt?
>> ROB: Ei, ma ei tea.
[Naer]
DAVID J. Humala: Ja Rob Boden.
[Naer]
ROB: Tere, ma olen Rob.
See on minu viiendal aastal kursusega seotud.
Igal aastal, see on lihtsalt paremaks klass,
nii et te olete selgelt saab olema fantastiline.
Loodan, et te kõik nautige seda.
Ma lähen nautige seda.
Nii näeme siis.
>> DAVID J. Humala: Ja aeg ei võimalda meid--
>> [APPLAUSE]
>> Aeg ei luba meil tutvustada kõigile
laval ja kõik oma kolleegid kes on ostetavad klasside täna.
Aga lubage mul tutvustada Belinda ja CS50 Puzzle
Päev, mis ootab seda tulevad laupäev, mis
on esimene Muidugi on ulatuslike sündmuste.
>> See üks eriti tähendas haamer kodus punkt
et infotehnoloogia on lõppkokkuvõttes mitte umbes programmeerimine, vaid pigem
umbes probleemilahendus üldisemalt.
Ja Puzzle Day, nagu te peate vaata, jõuad
ja oma klassikaaslastega koos-- loodame, et see laupäev.
>> BELINDA: OK.
Tere, kutid.
Nii et aitäh.
Nii nagu meie kuulus kapten ütles minu nime Belinda.
Olen üliõpilane at Quincy House.
>> Ma lihtsalt tahan, et te, võttis CS50 eelmisel aastal tõesti meeldis see.
Mul on pehme koht kutid kolmandas reas.
Ja ma olen uhke öelda, ma olen nüüd aastal toime suhe
koos CS50 [kuuldamatu].
OK.
See oli minu lame versioon nali.
>> Igatahes, liigub, tahtsin kutsuda
te kõik i-lab või HBS nõgestõbi.
Me läheme olema võttes Puzzle Day 12:00-03:00.
Ja see on suurepärane võimalus teil poisid, et rahuldada oma mehe CS sõbrad,
lahendada mõned mitte-CS mõistatusi, nagu Captain nimetatud, ja ka süüa tasuta toitu,
teenida vinge auhindu, nagu kinkekaardid, $ 75 inimese kohta,
ja also-- mis see oli?
Wii U või midagi?
Wii U?
Jah.
Meie loosimine.
Lahe.
Nii et ma jään umbes pärast klassis.
Ja kui te mingit küsimusi, andke teada.
>> DAVID J. Humala: Ja te näete, pärast see pole midagi teha täna.
Esimeseks probleemiks seatud lähevad reede.
Aga meid koju täna, ma tahaks tutvustada teile konkreetselt ühe
personali liige, Colton Ogden siin, kelle käed on nüüd
kaitstud üle teile Selle MIDI kontroller
haamer kodus punkt veelgi et infotehnoloogia, liiga,
on kohaldatavuse kaugemale inseneri ja vars ja infotehnoloogia ise,
laiendada ka selliste valdkondade nagu muusika.
>> Colton on lahkelt offered-- ma arvasin üks neist pidi fookust fikseerida.
Andrew, kui me võiksime kutsuda fookus siin hetkeks.
>> Mis Colton teinud eelnevalt on programmi
see seade käesoleva pad nupud et näete pildil siin,
nagu MIDI kontroller, kusjuures kõik need nupud
on traadiga eelkõige muusikaline tähele või heli üldisemalt Salvestamise
nii et mängides mustrid neist nupud, palju nagu mustrid bitti,
võib esindada teisi kõrgema taseme mõisted.
Kas ta saaks lõpuks meid koju täna siin?
Ilma pikema jututa, kui võiksime päevasõidutulede tuled,
ja lülita ekraani taga Colton.
>> Sihtrühm: Woo!
>> DAVID J. Humala: See on CS50.
>> [Muusika mängimine]
>> [APPLAUSE]
>> Ongi CS50.
Me näeme reedel.
Mõned kook ootab teid Transept.
>> [Muusika mängimine]