>> [Zenelejátszás]
>> [Taps]
>> David J. MALAN: Ez CS50, Harvard Egyetem bemutatása
hogy a szellemi vállalkozások számítástechnika
és a művészet a programozás.
Most, ha azok közé tartozik, amelyek minden évben itt ülünk
egy kis idegek a fejedben, mint hogy nem hiszem, hogy ide tartozik,
úgy gondolja, hogy a legtöbb valaki ül körül
tud sokkal többet, mint amennyit, valóban kényelmesebb, mint te a számítógép
tudomány vagy számítógépek általában észre
hogy 78% a diákok, akik most hogy CS50 nem korábbi tapasztalatok.
>> Sőt, ott van a 100 pont ott A kijelző, 78 amely
szilárd zöld, ami azt jelenti, hogy, Ha körében, hogy a demográfiai,
vannak nagyon jó társaság itt ki.
És ha helyette között a 22% CS50 diákok, akik valóban
rendelkezik előzetes tapasztalattal, akár gimnázium vagy más program
észre, hogy te is, akkor vitatható során.
>> Nem csak különböző pályák a diákok kevésbé kényelmes, és több
kényelmes egyaránt szakaszában, mi szintén úgynevezett hacker kiadása
A legtöbb probléma határozza meg, hogy kihívást azok a diákok
azzal a további tapasztalatok felfedezni hasonló anyaggal
hanem egy sokkal kifinomult perspektíva.
>> De mi is az a számítástechnika?
Nos, végül is, mi fog anyag, amit felfedezni ezen a területen nem
annyi, ahol a végén képest az osztálytársaival,
de ahol te magad a végén A 12. héten, szemben hol itt kezdődik
A hét nulla.
Most számítógép tudomány-nos, hívják a tudomány computation--
ahol számítás tényleg csak egy divatos módja mondván, vesz egy kis bemenet,
termelő néhány kimenetet, és Ezzel a futás algoritmusok
készlet utasítások megoldására néhány probléma azok bemenetek
annak érdekében, hogy készítsen néhány kimenet vagy megoldás, amely érdekli.
>> Így a közelmúltban volt alkalom utazni ki
Kaliforniába, hogy találkozzon egy alumínium-oxid.
A neve Susan Wojcicki.
És ő szeretne beszélni hogy itt a videó
arról tanúskodnak, hogy mennyire alkalmazható még csak egy kis ízelítőt a számítógép
tudomány a bevezető szint lehet.
Akkor is, ha nem megy, hogy folytassa számítástechnika, mint a mező,
vagy akár mérnöki, vagy szár általánosabban
látni fogja, sőt, hogy egy bizonyos Természetesen így befolyásolták az életét.
És ő csak most vette, amikor volt a vezető itt a Harvard College-ban.
>> Ha tudnánk homályos a fények Susan.
Susan Wojcicki: Helló, világ.
Vagyok Susan Wojcicki.
Én vagyok a vezérigazgató a YouTube.
És én CS50 koromban a vezető a Harvardon 1990-ben.
Én valójában a történelem és irodalom szakon.
>> És a junior nyár, Rájöttem, hogy talán
akart tanulni valamit a számítógépek.
És így jöttem vissza.
Vettem CS50.
Nehéz volt, de ez volt az legcsodálatosabb osztály vettem.
>> Ez megváltoztatta azt hiszem mindent.
És amikor végzett a Harvardon 1990-ben mentem Szilícium-völgyben.
És kaptam munkát.
És én dolgoztam tech azóta.
David J. MALAN: Most mi Susan nem említette ezt a videót,
hogy valójában az ő garázs, hogy a Google maga is
által alapított Larry és Sergey.
>> Most is kinyújtotta, hogy a barátok A code.org, olyan szervezet, amely
Az elmúlt évben már az emberek egyre különösen
izgatott számítástechnika és programozás, különösen.
De érdemes megjegyezni, hogy a programozás nem számítógép-tudomány önmagában.
Számítástechnika nem programozás.
Inkább programozás csak egy tool-- amellyel mindenkinek
lesz nagyon is jól ismerős a félév end--
úgy, hogy akkor lehet alkalmazni, nem csak azért, hogy a jövőben tanfolyamok CS
hanem, hogy bármilyen területen, ahonnan jössz, a humán,
társadalomtudományok, természetes tudomány, vagy hasonlók.
>> Sőt, hogy néhány más Alumni és kollégáik
beszélni az alkalmazhatóság A terület, amely vár.
>> Bill Gates: 13 éves voltam, amikor először kapott hozzáférést a számítógéphez.
>> Jack Dorsey: A szüleim vett nekem egy Macintosh 1984-ben
amikor én nyolc éves.
>> Mark Zuckerberg: voltam a hatodik fokozat.
>> SPEAKER 1: megtanultam, hogy kódot a főiskolán.
>> Ruchi Sanghvi: első évben, első félév, Bevezetés a Computer Science.
>> Bill Gates: írtam egy programot játszott tic-tac-toe.
>> DREW HOUSTON: Azt hiszem, hogy nagyon szerény kezdetek.
Azt hiszem, az első program Írtam kérdezte a dolgokat, mint,
Mi a kedvenc színed?
Vagy hány éves vagy?
ELENA SILENOK: először hallottam hogyan lehet a zöld kör
és egy piros négyzet jelenik meg a képernyőn.
GABE NEWELL: Az első alkalommal, amikor valóban volt
valami jön és azt mondja, helló, világ.
És én egy számítógépes csinálni.
Ez csak megdöbbentő.
>> Mark Zuckerberg: Tanulás, hogyan a program nem indul el
mivel szeretnének tanulni az összes számítógép-tudomány
vagy megpróbálja elsajátítani ezt fegyelem, vagy ilyesmi.
Ez csak most kezdődött el, mert ezt akartam csinálni egy egyszerű dolog.
Azt akartam, hogy valami Jó móka volt a magam és a testvéreim.
>> És írtam ezt a kis programot.
És akkor alapvetően csak hozzá egy kicsit hozzá.
És akkor, amikor kellett tanulni valami újat,
Utánanéztem, akár a könyv vagy az interneten,
majd hozzátette, egy kicsit rá.
>> DREW HOUSTON: Ez tényleg nem ellentétben hangszeren játszani, vagy valami
vagy játszik a sport.
David J. MALAN: Rendben.
Így hát most már tényleg merülés egy kicsit mélyebbre.
Mik ezek a bemenetek és kimenetek hogy beszélünk itt?
>> Szóval, hogy valami egyszerű?
Ön valószínűleg tudja, akkor is, ha nem ismeri a számítógép-tudomány
egyáltalán, hogy a számítógépek valahogy használni és érti csak nullák és egyesek.
De hogyan lehet, hogy esetleg lehet adni, hogy sok mai asztali és hordozható számítógépek számára egyaránt
lehet tenni?
>> A DNS-t a nap, az egyetlen ábécé, hogy megértsék
nulla vagy egy.
Nos, hogy ezt.
Mi, emberek, hajlamosak használni a decimális rendszer. "December", azaz 10.
És ez azért van, mert 10 10 számjegy, 0 és kilenc.
>> Most számítógépek, ezzel szemben, hajlanak arra, hogy a bináris.
"Bi", azaz kettő.
Így általában csak a nulla és egy.
De kiderült, hogy még csak a nullák és egyesek, hogy
egy elég nagy ábécé képviselnek, amellyel a legtöbb
bármilyen adat akarsz, hogy ez a szám,
hogy ez a levél, legyen az grafika vagy videó a képernyőn.
>> Vegyük például, hogy mi, emberek általában értelmezik ezt a számot itt.
Ez csak három számjegy, egy, kettő, három.
De tudjuk, hogy ez a szám veleszületett most, mint 123.
De miért van ez?
>> Nos, ha úgy gondolja, vissza hogy talán iskolában,
akkor valószínűleg arra tanították, hogy gondolni ezeket a számokat, hogy az oszlopok,
ahol az egyik a több száz hely, a kettő a tízesek helyén,
és a három is van a helyén.
Miért, hogy valóban hasznos?
Nos, gondolj a szuper egyszerű számtani
hogy mi minden volt csinál már évek óta.
Hatékonyan, ha van egy a több száz helyen,
te a gyors matek 100 szer 1 plusz 10-szer 2--
mert kettő van a tízes place-- plusz 1 alkalommal 3--
mert három van, az is helyén.
Szóval, persze, ha valójában szaporodnak ezt ki,
amit mi igazán képviselő ezzel pattern-- egy
két three-- 100 plusz 20 plusz 3, ami, persze, 123.
>> Most bináris, és a számítógépek nagyon, alapvetően ugyanazt a nyelvet beszélik
hogy mi.
Ők csak egy kisebb ábécé.
Így a számítógépek csak nullákat és azok a rendelkezésükre áll.
Tehát míg mi, emberek lényegében hatáskörét a 10 mindegyik places--
10 a nulla, az egy 10, tíz A két, így 110 és 100
ill.
>> Mivel a számítógépek csak két értéke tudják megérteni, nulla és egy,
van, hogy különböző értékeket Ezekben az oszlopokban, egy, kettő, négy.
És ha folyamatosan megy, nyolc, 16, 32, 64, és így tovább.
De a minta és a mentalitás pontosan ugyanaz.
>> Tehát ezt a logikát, valaki, hogyan lenne Megyek a képviselő a szám
egy bináris?
Ha még soha nem is gondoltam ez előtt, mi a bél mondani?
>> Közönség: Egy.
David J. MALAN: Egy.
Pontosan.
Csak meg kell egy a is el, mert a nulla
elég, hogy nekünk sem négy, sem a kettő.
Tehát az egyik alkalommal egy egyenlő egy.
Most a dolgok egy kicsit érdekes.
Ha azt akarom, hogy képviselje a bináris száma kettő--, de
megint, akkor is, ha soha nem beszélt ezen a nyelven előtt,
hogyan képviseljük bináris az érték, amit az emberek tudni két?
Zero egy nulla.
Csak tedd az egyik a oszlopot akarod.
>> Most már kezd nagyon könnyű talán most.
Tehát, ha azt akarom, hogy képviselje three-- nincs három oszlopának.
Szóval, megint, én most hozzá ezeket az értékeket össze azzal, hogy itt senki.
Tehát 2-szer 1 plusz 1 1 alkalommal, természetesen, 3.
>> Most a dolgok egy kicsit móka hogy azok ma már nulla.
És tartalmazza a négy, én ezt.
És ha növelni lassan itt-- lenne öt.
Ez hat.
Ez lenne a hét.
>> De most úgy tűnik, hogy befut egy probléma.
Hogyan lehet, hogy megyek a képviselő eight-- lesz a következő érték.
Igen, szükségünk van egy új bit.
És valóban, ha már hallottam ezt a kifejezést korábban,
bit, ez csak rövid bináris számjegy, nulla vagy egy.
>> És így megtörténhet, hogy képviselő Csak három ilyen bitet itt.
De ha volt egy módja tárolására nem három különböző bitet, hanem négy,
biztosan tudtam képviselt nyolc, majd kilenc, majd a
10, és még magasabbra.
>> De ez majd meghívja a kérdés, hogy hogyan lehet
megy a képviselő ezeket dolgok az első helyen.
Ez az egyik dolog, hogy dolgozzon őket ide egy csúszda,
de hogyan képviselje őket ha egy mechanikus eszköz?
Mi az a számítógép tesz képviseli a bemenetek és kimenetek
alapvetően meghatározza számítás a végén a nap?
>> Nos, mi a valami szuper egyszerű, mint ez?
Ez csak egy villanykörte.
És kiválthatja ezt villanykörte menni
forgatva néhány elektromosság és lehetővé teszi az elektronok
átfolyni, amely megváltoztatja annak állam vagy az értéke, hogy úgy mondjam.
Például, ez a egy régi iskola asztali lámpa
itt egy ilyen villanykörte belsejébe.
És most ez nem igazán csinál semmit hasznos.
De amint azt dugja az elektromos aljzatba
majd ezt switch-- vagy mi is ez egy tranzisztor
vagy úgy gondolja, hogy ez egy such-- Most már képviselhetnek
ezt az értéket, ahol a villanykörte a nyilvánvalóan ki, vagy ezt az értéket.
Ez az érték, vagy ezt az értéket.
Ez az érték, és így tovább.
>> Így belsejében egy számítógép, feltehetően, sokkal kisebb darabokra a hardver,
de, hogy a végén A nap egyszerűen
használni electricity-- talán elfog it--
és akkor vagy tartsa valami vagy tartani valamit.
Természetesen, ez nem Különösen érdekes, hogy nem
csak egy villanykörte.
>> Tény, hogy milyen magasra tudok számolni az bináris ezzel asztali lámpa itt?
>> Közönség: Egy.
>> David J. MALAN: Egy, nem igaz?
Kell még asztali lámpa, ha valóban szeretné számolni magasabb.
De meg tudjuk csinálni jobban is.
Mivel az izzók, hogy , amit tenni ezeket a dolgokat
valóban szakértő izzók mint tavaly lehetővé tenné.
És ők valóban hálózati izzók.
És fürtök vállalatok hogy ezek a dolgok manapság.
>> De kiderül, hogy a ez különösen
jön a funkció, amellyel meg tudod változtatni a színeket.
Így például, ha díszített kollégiumi szoba
egy pár ilyen fény izzók, attól függően, hogy a hangulat,
attól függően, hogy aki jön, az időjárástól függően,
attól függően, hogy az idő A nap, akkor valóban
változtatni a színét az izzók a szobában.
És ez azért van, mert ezek a fény izzók és mások, mint azt, hogy mi a
hívott egy API, az alkalmazás programozási felület, amely
egy olyan téma, amellyel akkor jól ismeri a félév végén.
>> És ez csak a képzelet, rejtélyes módon mondván,
akkor a program ezeket könnyű izzók csinálni a licitálás.
, Akkor küldje el az üzeneteket mint te, egy ember,
tud üzenetet küldeni a web szerver mondván, hogy nekem a mai hír
vagy adj e-mail címemet.
>> Küldhetünk több misztikus üzeneteket ezekre izzók
mondani, be-és kikapcsolása.
De ez nem olyan érdekes.
Azt lehet mondani, kapcsolja be a piros, bekapcsolásához zöld, kapcsolja be kék,
összes azonos villanykörte.
És akkor is, egy kicsit több hozzáértés, mondjuk, viszont magát a kék
ha ez egy borús nap kívül, például.
Ez valójában javítást időjárás API és megtudja
milyen az időjárás, vagy az idő nap, vagy más ilyen kiváltó.
>> Tehát, sőt, a két CS50 saját munkatársai,
Dan Bradley és Ansel Duff itt, kedves beszerzett
nekünk egy csomó ilyen izzók.
És építettek CS50 a első bináris izzók,
ahol már képviselt itt-- ezekkel a játékos kis magnets--
A különböző helyőrzőket mi utalt, hogy csak egy kicsit korábban.
>> Így módon itt van a is hely, kettő, négy.
És nem láttuk magasabb.
De, persze, ők hatásköre két.
Nyolc, 16, 32, 64, és 128.
Tehát ha én most szeretnék egy kicsit cifrább mint használ a régi iskola kapcsoló,
Van itt a iPad egy szuper egyszerű felület
hogy Dan Bradley, a korábbi diák és most tanítás ember,
programozott segítségével néhány HTML és a JavaScript, amely
olyan jelölés és programozás nyelv volt.
És akkor talán csak-- még a visszautazni--
van egy nagy plusz, és egy nagy mínusz, plusz egy gomb minden egyes ilyen izzók.
És mi ez fog engedje meg, hogy nem az, például, kattintson a plusz
és most képvisel, a Persze, milyen számot?
Egy.
És én is sújtotta újra.
Két.
Három.
Négy.
Öt.
Six.
Hét.
>> És itt most kap az átforgatás de van egy negyedik kicsit ebben az időben,
így most már nyolc.
Így tudnánk ezt jó ideje.
Valójában, mint egy félre, milyen magasra tudnánk számolni?
Valaki?
>> Közönség: 255.
>> David J. MALAN: 255, nem igaz?
Ne aggódj túl sokat a matek most, de ez egy elég tisztességes szám.
De ez valójában nem kötődik csak hány darab információ,
mint egy levél, vagy a grafikus hogy mi képviseli.
>> De nem számít, egyelőre.
Én megyek előre és kapcsolja ki az összes.
És ha tudnám, szeretném kérni önkéntes, az első volunteer--
ó, hello-- a színpadon.
A fogás van, hogy kényelmes jelennek meg, ahogy jól
amelyek előtt minden osztálytársai, valamint az interneten.
És hadd nézzem egy kicsit túl a-- mi a helyzet itt, a fehér ing?
És kezét.
Gyere fel.
Mi a neve?
>> Közönség: Jackie.
>> David J. MALAN: Jackie.
Jackie, gyere fel.
Szóval, mi is van ezen iPad egy gomb nevű játékmódban.
És ez a játék mód majd engedje meg, hogy bemenet
előzetesen egy adott tizedes szám, a számok mi emberek
ismerik.
És akkor lehet megtámadni itt a gombokkal
A top-- egyet mindegyik bulbs--
hogy valóban kitalálni a minta izzók
, amely képviseli az adott darabszámot.
>> És sajnálom, hogy mi volt a neved?
>> Közönség: Jackie.
>> David J. MALAN: Jackie.
Rendben.
Örülök, hogy találkoztunk.
>> Szóval, hadd menjen előre, és program a világ, hogy a 15-ös.
Majd tartani kicsi először itt.
És én megyek be játékmódban.
És én fogom megadni, adja meg a 15-ös.
>> OK.
És most mindenki watching-- ha szeretné talán állni így,
mert sorban hurok-- megy előre, és válthat a nyolc gomb a felső
kapcsolja az izzók vagy ki ahogy jónak látod.
>> Közönség: OK.
>> David J. MALAN: És nem csalás ütő plusz 15 alkalommal.
Ó, fogunk csinálni.
>> Közönség: Oh, várj.
Annyira sajnálom.
>> David J. MALAN: Ki is kapcsolhatja Az izzók külön
Ezekkel a gombok tetején.
Közönség: Oh, OK.
Így lenne mint--
David J. MALAN: OK.
Tehát most már nyolc.
Úgyhogy szünetet a közönség, hogy vegyenek részt itt.
Mi a szám Jackie jelenleg képviselő?
11..
Így már majdnem ott vagyunk.
És kiváló.
Tehát az első győztes.
Gratulálok.
>> És úgy gondoltuk, mi lenne néhány mesés ajándékot.
Ha azt szeretné, hogy egy ilyen kollégiumi szoba itt az egyetemen,
tudod magad, hogy a végleges projekt használ most az API, köszönhetően Jackie.
Így now--
>> [Taps]
>> --if tudnánk, még egy e ilyen körül.
Ó, most már mindenki azt akarja, néhány izzók.
Az úgynevezett hacker kiadás, fogjuk rámpa fel egy-- ó,
Ja, semmitmondó.
Azt hiszem, jön most Ha a kezed megy lefelé.
Mi a neve?
>> Közönség: Alex.
David J. MALAN: Alex, gyere ide.
Így Alex, fogunk programot egy kissé nagyobb számot.
Talán azért.
A szám 50.
>> Közönség: OK.
David J. MALAN: De, mint Én mondta-- és lehet, hogy
akar állni itt így hogy a gombok sorakoznak
ahogy azt expect-- de tettem hívják ezt a hacker kiadás.
Úgyhogy-- jó szerencsét!
>> [Nevetés]
>> Ön képes lesz arra, hogy kapcsolja őket, ha te-- OK.
Kiváló.
Csodálatos.
Gratulálok.
>> [Taps]
Azt hiszem, meg kell fizetni.
Gratulálunk Alex is.
OK.
>> Tehát a végső elvihető Itt remélhetőleg, őszintén szólva,
a simplicity-- a egyszerűség, amely
lehet kapni néhány szép fény izzók, látszólag [nem hallható].
De az általuk képviselt, végül, az azonos gondolatok
amivel az emberek már nagyon is ismerős.
Szóval, mi lehet a következő lépés lehet a progresszió
próbál tenni valamit Érdekes adatokkal
és ami bemenetek, amelyek nem csak számok, de talán betűk vagy több?
>> Nos, kiderült, hogy a számítógépes világ, sok éven át,
csak elfogadott egy tetszőleges, de a egységes szabvány, amely leképezi számok
hogy az ábécé.
Például, itt van egy részlet az feltérképezése.
Úgy hívják ASCII.
A-S-C-I-I. És ez csak a tábla térképek nagybetűs letters--
ebben case-- a decimális számok.
>> De mi a következménye?
Nos, ha valóban szeretné, hogy képviselje olyasmi, mint egy e-mail vagy valamilyen szöveget
egy weboldalon, akkor Nyilvánvalóan szeretnénk megmutatni
az emberi betűit ábécé, nem a számok.
Tehát attól függően, hogy a A program keretében
hogy a felhasználó az, ha ez A webböngésző vagy e-mail kliens,
számok minden bizonnyal értelmezhető leveleket.
Ez azt jelenti, minták bit könnyen értelmezhető leveleket.
>> És mi lehet a levél A lény
képviseletében a 65, B hogy képviseletében a 66.
Tehát ha van egy szuper rövid szó, mint hi,
amit a számítógép végül tárolja decimális de tényleg bináris,
segítségével néhány bitek sorozatát, kihasználva egy kis elektromosság valamilyen módon,
lenne a két szám 72 és 73.
>> De a minta bitek képviseli ezeket az értékeket.
Így ezek akkor is, hogy hogyan lehet képviselni a bemenetek és kimenetek.
És elég annyit mondani, tudjuk nem bonyolultabb reprezentációk
végül a dolgok, mint grafika, videók, zenék, és még
mint látni fogjuk később ezt a kifejezést.
>> Úgy, hogy csak hagy majd algoritmusok, ezek a készletek
Az utasítások, amelyek mi megoldásában aktuális problémák.
Most haladunk a bemeneteket algoritmusok.
És ezek algoritmusok termelő kimenet, remélhetőleg korrekt kimenet
és remélhetőleg, is, hatékonyan összegyűjtött kimenetek.
Más szóval, ez az egyik dolog végrehajtani valamit helyesen.
Ez egy másik dolog, hogy végre valami jó vagy hatékonyan.
>> Például, egy demonstrációs hogy vagyunk kedveli során
ez egy.
De ezek a dolgok egyre egyre nehezebb találni.
De ez valóban egy régi iskola telefonkönyv, amelynek belsejében
1,000 plusz oldalnyi neveket és telefonszámokat.
És ha akartam, hogy néz ki valaki ebben a telefonkönyvben,
Én egyszerűen nem egy nagyon naiv algoritmus.
Nem tudtam megnyitni az első oldalon, és Tudtam kezdeni keresni, mondjuk, valaki
nevű Mike Smith.
És ha nem az első oldal, én tovább a második,
, majd a harmadik, majd a negyedik, és így tovább,
amíg végül megtalálja Mike Smith.
>> Most az, hogy algoritmus helyes?
>> Közönség: Igen.
>> David J. MALAN: Igen.
Ha bent van, én végül találni.
De vitathatatlan, hogy nem túl hatékony, biztosan nem gyors,
mert, Istenem, miért vagyok vesztegeti az időmet essek
végig ezeket az oldalakat, ha tudtam biztosan nem ez fizikailag gyorsabban?
>> Nos, egy kis optimalizálás, így a beszélni, lehet, hogy nem egy oldalt egy időben,
hanem két, négy, hat, nyolc, 10.
Mégis igaz?
>> Közönség: Nem
>> David J. MALAN: Szóval nem, ha a Például átugorják Mike Smith.
De amíg én vissza pedál egy oldalt, ha túllépik neki,
talán tudnánk kijavítani milyen egyébként egy Megvagy.
>> De ez jobb?
Ez gyorsabb?
Úgy értem, igen.
Ez szó szerint kétszer olyan gyorsan ha én két oldalt egy időben.
Tehát, ha én eredetileg 1000 oldal, Most már csak a flip 500-szor,
nem teljesen 1000 oldal, hogy esetleg a legrosszabb esetben
a végén a telefon könyv, ahol valaki
Mike Smith, vagy valaki későbbi neve is valójában.
>> De, persze, az emberek biztosan nem
lesz ezzel, hogy biztosan nem ezen a ponton az életünkben.
Mi az ésszerű ember valószínűleg fog csinálni?
Közönség: Menj egyenesen The9 S.
David J. MALAN: Menj egyenesen a S?
Hogyan megy egyenesen a S?
>> Közönség: Rip félbe.
David J. MALAN: Nos, nincs jelölés.
Szóval, igen, ha valóban címke vagy a ragadós lapon S,
meg kell ugrani ott.
De ez elég ártalmatlan.
Tehát a legjobb, amit tehetek, hogy nagyjából az S szakasz vagy esetleg durván
középre.
De a legfontosabb elvihető now-- és az intuíció
, amit tett nyújtott éves probably--
az, hogy mit csinál most tudni ezt a problémát?
>> KÖZÖNSÉG: [nem hallható]
>> David J. MALAN: Mike Smith biztosan nem ebben a felében a probléma
mert Smith után jön a középső amely nagyjából az M rész,
úgy tűnik, hogy.
Szóval, mint ahogy azt már láttuk a Visitas, most már szó szerint
szakadás ezt a problémát ketté.
Közönség: Woo!
David J. MALAN: Ez egyre könnyebb és könnyebb.
[Taps]
Tessék.
[Nevetés]
És most én alapvetően ugyanaz a probléma,
de szó szerint fele akkora.
Még mindig keresem Mike Smith.
És merem állítani, még most is keresse őt ugyanúgy,
felosztása a probléma fele ismét, tépte a probléma újra
a fél, amely most hagy nekem probléma negyede a méret,
drámaian dobja, hogy a fele el, és ismételje meg ezt a folyamatot újra és újra
és újra, lenézett minden ponton, hogy
ha Mike Smith a a kérdéses oldalt.
>> Most, ha én ezt a jogot, végül én magam
csak egy oldal, amely Mike Smith , ha ő valóban a telefonkönyvben.
Persze, tudtam, soha nem hívja Mike újra.
De a lényeg az, hogy ha elkezdtük 1000 oldal, az első algoritmus,
fordítsa az oldalt, talán 1000 times-- határozottan kevésbé, mert
S nevet és nem Z-ig név, hanem több mint 1000 oldal potenciálisan.
>> Másodszor algoritmus, annál jobb.
500 oldal.
Harmadszor algoritmus, bár, hány lépés lenne az
hogy osztja a 1000 oldal telefonkönyv félbe, mint ez?
10 ide vagy oda.
Tehát csak essek át az telefonkönyv, búvárkodás és hódító,
hogy úgy mondjam, 10-szer, teszem azt utamat le, hogy csak egyetlen oldalt.
>> És így tudjuk megragadni ezt az intuíciót most egy kicsit grafikusan
ha csak úgy ez szuper egyszerű gráf.
Mi vagyunk az x-tengely, vagy vízszintes tengely, a mérete a probléma,
Az oldalak számát a telefonkönyvben.
És számítógépes szakemberek általában szeretném felhívni
akkora, mint egy probléma n, ahol n csak néhány változó
represents-- ebben case-- oldalak számát.
>> A függőleges, vagy Y-tengelyen, itt van lesz az idő, hogy megoldja,
Lehet, hogy az oldalszámot fordulat, Lehet, hogy a másodpercek száma
vagy perc, bármi a mértékegység.
És ez a piros vonal jelenti az első algoritmus,
mert van egy 1-1 közötti kapcsolat szám
Az oldalak és mennyi időt vesz igénybe.
>> Ha Verizon megduplázza száma oldalakat a telefonkönyvben a következő évben,
a futás time-- a végrehajtásához szükséges időt
az első algorithm-- megduplázza a legrosszabb esetben.
De a második algoritmus, ahol én essek két,
kevesebb idő Egy adott méretű probléma.
Tehát, ha én ezt a sok oldalak itt-- értesítés
hogy a sárga vonal javasolja, kevesebb időt, hogy megoldja.
És valóban, az általa képviselt, azt fogjuk mondani, n két.
>> De mi az alakja a harmadik és végső görbe fog kinézni?
Igen, ez valóban fog Nézd! I Nem tudom, mit fog mondani.
De lássuk, mi akartál mondani.
>> Közönség: Így.
>> David J. MALAN: Meg fog kinézni ez egy logaritmikus slope-- exactly--
amelynek van ez a furcsa lejtőn.
Ez már nem egy egyenes vonal.
És mi vonzó arról, hogy annak ellenére, hogy a grafikon most vágva,
lehet extrapolálni a baj, hogy ez a zöld vonal nem
növekedni fog magasság, hogy sok minden
ahogy haladsz előre le, hogy a vízszintes tengely.
>> Sőt, a Verizon, a Például, megduplázódhat
az oldalak számát, a telefon könyv között az idei és a következő év
1000 és 2000 oldal, de nem nagy ügy.
Ezzel a harmadik és egyben utolsó, van egy intuitív algoritmus
Az osztódó és hódító.
Ez fog telni, hogy sokkal több lépéseket a következő évben, hogy talál valakit
Mike Smith?
>> Közönség: Egy.
>> David J. MALAN: Csak egy.
És ők is négyszeresére, ez az fog telni, csak két lépésben
és így tovább.
És ez bizonyíték arra, hogy csak hogy néhány gondos tervezés
és néhány elismerést, amit a bemenet képes még jobb.
Most már csal a kicsit abban az értelemben,
hogy mi kihasználva egy feltételezés.
Mi a feltételezés a mi telefonkönyv
amely lehetővé tette számomra, hogy ossza meg és uralkodj ebben intuitív, és még mindig a helyes út?
>> KÖZÖNSÉG: [nem hallható]
David J. MALAN: Igen.
Így elrendelte.
Ezt betűrendbe által A telefonkönyv társaság.
Ha ez véletlen sorrendben, hogy lenne egy pokoli telefonkönyv,
de ez biztosan nem alkalmas arra, hogy az algoritmus
Én, mert akkor soha nem csak úgy történnek szerte Mike Smith
ha folyamatosan osztjuk fél, hogy így véletlenül.
>> Úgyhogy most hivatalossá Mi egyértelműen intuitív.
Tehát valami úgynevezett pszeudokódja ahol mi
kezdődik néhány kezdeti problémák.
És ez egy általános leírási módja egy algoritmus, vagy egy számítógépes programot,
nem a C vagy C ++, vagy Java, vagy konkrét nyelv,
de csak a angol, a amely minden emberi lehet ismerős.
>> És lehet, hogy írni a pszeudokód ezt a problémát a következők szerint.
Első lépés, vedd fel a telefonkönyvet.
Második lépés, nyitott a közepén telefonkönyv.
A harmadik lépés, nézd meg a neveket.
Negyedik lépés, ha Smith között names--
>> És most ez egy érdekes konstrukció.
Ez egy döntési pont.
Ez egy villát az úton, ha majd egy ág, hogy úgy mondjam.
Úgyhogy behúzni csak a konvenció step--
nem five-- amely a mondjuk, hívom Mike.
Tehát ez a behúzás, teljesen önkényes emberi konvenció, de
egyszerűen azt jelentette, hogy közvetíteni szemantikailag hogy ha Smith között nevek,
akkor hívjanak Mike.
>> Közben lépésben hat, értesítés hogy a behúzás elment.
Tehát van még a másik villát a út, a másik út talán utazni.
Tehát, még ha Smith korábban a könyv, mi a
a következő lépés valószínűleg lesz itt?
Közönség: Menj a bal oldalon.
David J. MALAN: Igen, így megy a bal fele a telefonkönyv.
Dobd el a jobb fele, ha Smith korábban a könyvben.
Annyira nyitott, hogy a közepén a bal fele a könyv.
>> Majd lépésről nyolc, megy a sorban három.
És ez a furcsa hurok vagyok indukáló, rekurzív hogy úgy mondjam.
De még az, hogy a jövőben.
>> Én a saját azonos algoritmus, én ugyanaz pszeudokódja,
megoldani ugyanazt a problémát újra mert az egyetlen dolog, ami változott
a méret a probléma, nem a célom, és nem a személy
Keresem.
Szóval újra az algoritmus hogy én már definiált.
>> Else if Smith később A book-- lehet, hogy
találjam nyitott közepéig a jobb felét a könyv.
És ismét, menjen a sorban három.
Else-- mi az utolsó sor ez a program lesz?
Ha ő nem tartozik a nevét az oldalon vagyok
az, ha nem korábban a könyvet, és ő nem később
a könyvben, mit tudom én Igaz, Mike Smith most?
Közönség: Ő nem az a könyv.
David J. MALAN: Ő nem az a könyv.
Tehát a legjobb, amit tehetek, hogy csak add fel, és ne ezt a programot.
Rendben.
Tehát ezen a ponton, vessünk egy gyors túra néhány, amit vár.
És valóban, én csatlakozott ide számos CS50 személyzet.
Ha ezek az emberek is mind velem itt a színpadon.
>> [Taps]
>> Ne feledd, hogy ez csak egy részhalmaza CS50 személyzet,
óta minden évben már közel 100 dolgozót tagok szerepe természetesen asszisztensek,
tanítási fickók, és így tovább.
Gyere fel.
Így fog csatlakozni hozzánk itt ügyetlenül egy pillanatra
mint mi, hogy a forgószél túra amit meg kell várni, itt a kurzus.
>> Tehát az első és legfontosabb, van SAT / UNS mint az osztályozó opció során.
Ez azt jelenti, szándékosan hogy egy lehetőséget, amely
ha egy kicsit nyugtalan az, hogy a tanfolyam,
és akkor félelem failure-- még ha őszintén szólva nem azt jelenti, fáj a GPA,
kapok egy B, és nem A-- hogy pontosan mi, természetesen a gateway
Természetesen, mint a CS50 és egyéb bevezető tanfolyamok,
Ebbe a kategóriába tartoznak az opció azt jelenti, hogy.
>> Szívből ösztönözni students-- különösen
ha a fence-- kezdeni a Természetesen SAT / UNS, még marad SAT / UNS.
De akkor biztosan váltani egy levél fokozat az ötödik hétfőn a távon.
>> Őszintén szólva, mikor még volt egy újonc 1995-ben,
Én magam nem is veszi CS50 mert én nem kaptam fel az ideg
hogy valóban lépést gyalog az osztályteremben.
Úgy tűnt, a domain túl ismeretlen számomra, és tényleg csak
azok számára, barátom, őszintén szólva, aki már a programozási
mivel ezek hat vagy talán 10 éves.
És csak azért, mert én voltam tudja, hogy CS50 az én időmben
Az ekvivalens változata SAT / UNS-- megfelel / nem felel vissza a day--
hogy még vettem 50.
És valahogy, vagy más, én vagyok itt megint veled ma.
>> Most közben mi mást kell szem előtt tartani 50
egyidejű beiratkozás.
Ellentétben a pletykák, hogy lehet, hogy hallott,
lehet, sőt, egyszerre beiratkozik a CS50 és egy másik osztály
megfelel az azonos vagy néhány egymást átfedő időben CS50 előadásain itt.
Lásd a tananyag az adatok az azok végrehajtására.
>> Előadások, közben, ellentétben Mi hivatalosan a katalógusban,
általában csak találkoznak csak egy órára.
Alkalmanként lehet futtatni egy kicsit hosszú.
De ne feledje, hogy a cél CS50 előadások
az, hogy az Ön számára fogalmi áttekintést,
remélhetőleg néhány tüntetések, talán még néhány ajándékot,
Az, hogy mi vár a A hét következik.
>> És így előadások, fogjuk felfedezni azok a témák és példák együtt,
így a hallgatók a színpadra, és személyzet a színpadon, amilyen gyakran csak lehet,
csak egy pár órát hetente.
Szakaszok, eközben lesz által ezek az emberek itt-- sok
Ezek tanítás fickók, néhány Ezek természetesen assistants-- akarat
történhet hetente.
>> És mi a kulcs, hogy szem előtt, hogy mi
Ne lesz-- nem ellentétben First Éjszaka, a zene class--
különböző zeneszámokat szakaszok a diákok kevésbé kényelmes, több
kényelmes, és valahol a kettő között.
És őszintén szólva, tudod, ha akkor kevésbé kényelmes.
És akkor valószínűleg tudja, ha te vagy kényelmesebb.
És ha nem is biztos, akkor definíció szerint valahol a kettő között.
Tehát, ha eljön az ideje, hogy rész Egy hét múlva, egy a tanterv,
fogjuk kérni, hogy a kérdést.
És akkor saját válassza alapú a saját komfort
és legyen students-- legyen zöld dots-- hasonló komfort az Ön számára.
>> Közben van probléma meghatározza, amely végső soron
meghatározni a tapasztalat ezen a kurzuson.
Ők kínálják jellemzően több kiadást ért meg.
A Standard Edition, hogy mi várható a legtöbb minden hallgató a kurzus, hogy kezeljék
hanem egy úgynevezett hacker kiadás hogy nem nyújt formája külön hitel
nyíltan de tényleg a kérkedés jogok mondani, hogy kipróbált és foglalkozni
A tanfolyam hacker kiadásban az megközelítés a hasonló anyagi
hanem egy sokkal kifinomultabb szög.
>> Amit kínálunk az standard változat, az,
Ismét egy szuper többség a diákok, nem
csak gyalog-átvezetéseket, melyek videók által vezetett tanfolyam munkatársai
hogy valóban végigvezeti a Természetesen a problémák és a lehetséges tervezési
megvalósítások.
És mi is, miután a Tény, hogy kínálnak postmortems,
ahol, ha kíváncsiak vagytok, hogy hogyan tudta volna
vagy kellett volna megoldani, néhány probléma, a nevelőtestület
végigvezeti azok a video is.
>> Eközben mi vár is vannak öt kései nap, és az a tény,
hogy csökken a legkisebb probléma beállított pontszámot.
Azt biztosan értékelik, hogy cserébe a terhelés, amely 50 elvár
Az, az élet az utamba Néha, ha nem öt alkalommal.
És így ez nyújt Ön egy kis rugalmasság,
kitolja a határidőt, mondjuk, a Csütörtök délben a péntek délben.
Lásd a tanterv a végrehajtásának részleteit tartalmazza.
>> Most mi most vár?
És ez csak a bekövetkezett most nekem, hogy milyen hosszú
Én magam srácok itt állok a színpadon.
>> [Nevetés]
>> David J. MALAN: De mi lesz a az éghajlati Befejezés előtt hosszú.
Szóval, mi vár szempontjából A probléma készletek?
Nos, talán a teaser, amit minden tavaly az Ön elődei.
Az első probléma készlet Tavaly bevezették
Scratch, grafikus programozási nyelv, amely
segítségével programozni szó szerint húzással puzzle darabkái,
mint ezek, amelyek emlékeztet a konstrukciók
fogja látni csak egy hét Ezért, ha váltani
a hagyományos nyelv, ismert, mint a C.
>> A tavalyi évben folytatódott hogy ezt a problémát meg,
beleértve a kriptográfia, a kódolási információ
tartani az állami vagy a barátok " szeme, hogy nem akarja látni.
Kódolt, itt van egy üzenet, hogy hamarosan meg
képes lesz dekódolni vagy de-tülekedés.
>> Breakout volt a probléma be az elmúlt évben, amelyben
használja ezeket az új talált programozás készségek ténylegesen alkalmazni
a játék wherein-- ahogy Talán emlékszik rá az childhood--
A cél az volt, hogy beüt a téglák, melyek tetején a képernyő
itt felhalmozódó pontszám az út mentén,
és végrehajtási saját algoritmusok amellyel ez a megoldás végül
lehetővé teszi, hogy a játék.
Közben, később a félév, adunk
a szótár 143.091 angol szavak.
És akkor lehet megtámadni, írni egy programot, amely
helyesírás ellenőrzés, okmányok, betöltése, hogy sok szót a memóriába
a lehető leghatékonyabban.
Általában ragya ellen osztálytársai
Ha úgy dönt, hogy egy kicsit kihívás ranglistán
hogy ki tudja használni a legkevesebb másodperc működési idő,
és a legkevesebb megabájt memória,
és valóban finom hangolás a programokat hogy hihetetlenül erőforrás-hatékony nem
éppen időben.
>> Az elmúlt évben is, néztük a végén A félév a webes programozás.
És valóban, mi nem, hogy újra ezt év több probléma készletek,
vezet be, hogy a technika és a a gondolkodásmód, amellyel akkor lehet alkalmazni,
ezek a programozási ismeretek weboldalak, dinamikus weboldalak,
weboldalak, amelyek valóban megoldani problémák és másképp viselkednek
és nem csak statikus oldalak statikus információkat.
>> Az utolsó projekt végül határozza meg, mégis,
a csúcspontja a kurzus a diákok, ahol a
akkor lehet megtámadni, hogy hajtsák végre leginkább semmit az érdeklődés
neked, mindaddig, amíg azt valahogy merít a tanfolyam tanulságokat.
>> És ahogy láttam a videó elején,
fogjuk kötni a félévben a CS50 Hackathon, amely, ha ismeretlen,
kezdődik 07:00 egy éjszaka véget 07:00 a következő reggel.
Körülbelül 09:00, majd rend első vacsora.
Körülbelül 01:00, majd rend második vacsora.
És ha még mindig állt 5:00, mi
majd shuttle busszal a IHOP reggelire.
>> A CS50 Fair, eközben egy olyan esemény amelyre 2000 plusz kar, a diákok,
és munkatársak számára mind Campus jönnek, hogy a teljesítmények
során, és a végső projektek és alkotások
hogy hozzon létre a laptopok, asztali, vagy talán még izzók.
>> Eközben munkaidőben és a tartószerkezet.
És most ez lett volna a jobb alkalom, hogy Önnek az egészet.
>> Fogadóóra kerül sor négy éjszakára hetente több órán át minden éjjel
általában a 20 és 30, a Természetesen a személyzet szolgálatban egyszerre
hogy az Ön számára meghitt egy-egy lehetőséget a támogatás
A kurzus probléma készletek.
Tutori is lesz rendelkezésre álló, különösen
a diákok kevésbé comfortable-- vagy merem mondani, legalábbis comfortable-- kinek
munkaidőben nem a legtöbb tápláló környezet
és biztosan nem a legtöbb stressz-mentes.
Különösen akkor, ha a határidőket megnyomja, mi proaktív módon van pár magunkat
egy tagja a személyzet dolgozni egyes, menetrend, az igényeknek megfelelően
és a menetrend lehetővé teszi.
>> És a személyzet.
Engedjék meg, hogy bemutassam Davon, Rob, és Gabriel, az idei feje.
Ha minden szeretne mondanak:
>> [Taps]
--a szó.
[Taps]
Davon itt van a tanfolyam vezetője, amely
azt jelenti, az ő teljes munkaidőben szerep ő segít a végrehajtás
és logisztikai CS50.
Davon: Igen, szia, srácok.
Majd meglátod, nagyon sokat jelent nekem a munkaidő.
Fogok tanítani szakaszok.
És ha lőni maileket előre, Majd talán reagál.
Szóval találkozunk sok van minden félévben.
És üdvözöljük a CS50.
>> David J. MALAN: És most Gabriel, aki maga is csak egy újonc tavaly,
de az elmúlt pár évben óta működik a saját verzióját CS50
Brazíliában, ahol ő le az összes tanfolyam content--
ami egyértelműen lenni filmre és elhelyezni online--
hogy tudta lefordítani a Portugál, majd tanítani több mint 100
az osztálytársai felett során egy pár évig,
tanítás az ő anyanyelvén a tanfolyam tanterv.
>> GABRIEL: Hello.
>> [Taps]
GABRIEL: Szia, én vagyok Gabriel.
Én vagyok a vezetője TF a kurzus.
És remélem, tetszeni fog CS50.
Ez CS50.
>> David J. MALAN: Most Rob.
Ó, akarsz bevezetés?
>> Ebből: Nem, én nem tudom.
[Nevetés]
David J. MALAN És Rob Boden.
[Nevetés]
ROB: Szia, én vagyok Rob.
Ez az én ötödik év részt vett a tanfolyam.
Minden évben, ez csak egy jobb és jobb osztály,
így vagytok egyértelműen lesz félelmetes.
Remélem, minden szórakozni vele.
Fogok szórakozni vele.
Így találkozunk.
>> David J. MALAN És idő nem teszi lehetővé minket--
>> [Taps]
>> Az idő nem teszi lehetővé számunkra, bemutatni mindenkinek
a színpadon és minden kollégáik akik vásárolni osztályok ma.
De engedje meg, hogy bemutassam Belinda és CS50 Puzzle
Nap, ami vár ez jövő szombaton, ami
az első a Természetesen a nagyszabású eseményeket.
>> Ez különösen azt jelenti, kalapács haza a pontot
hogy a számítógép-tudomány végső soron nem a programozás, hanem inkább
a problémamegoldás általában.
És puzzle nap, mint majd látni, viszi
és az osztálytársaival together-- reméljük, most szombaton.
>> BELINDA: OK.
Sziasztok.
Szóval köszönöm.
Úgy, mint a mi jeles kapitány azt mondta, a nevem Belinda.
Én egy másodéves Quincy House.
>> Én, akárcsak ti, volt CS50 tavaly, nagyon tetszett.
Nekem van egy puha helyet a srácok a harmadik sorban.
És büszke vagyok, hogy mondjam, én vagyok most egy elkötelezett kapcsolatban
A CS50 [nem hallható].
OK.
Ez volt a béna változata egy vicc.
>> Különben is, így haladunk tovább, Csak szerettem volna meghívni
srácok mind az I-lab, vagy HBS csalánkiütés.
Mi lesz, amelynek Puzzle nap 12:00-03:00.
És ez egy nagyszerű lehetőség, srácok, hogy megfeleljen a többi CS barátok,
megoldani néhány nem-CS rejtvények, mint a kapitány említett, és egyen egy kis ingyen étel,
keresni néhány félelmetes díjat, mint ajándék kártyák, $ 75 személyenként,
és also-- mi volt ez?
Wii U, vagy valami?
Wii U?
Igen.
A mi tombola.
Félelmetes.
Szóval maradok óra után.
És ha a srácok bármilyen kérdés, szólj.
>> David J. MALAN És meglátod, túl ez nincs semmi köze a mai.
Az első probléma beállítása kialszik péntek.
De hogy nekünk haza ma, szeretnék be, hogy kifejezetten egy több
a személyzet tagja, Colton Ogden, akinek a keze már
védett felett Önnek MIDI vezérlő
kalapács haza a pontot tovább hogy a számítógép-tudomány, is,
van alkalmazhatóság messze mérnöki és a szár és a számítástechnika is,
kiterjesztése még az ilyen területeken a zene.
>> Colton kedvesen offered-- azt hittem, egyikük fogja rögzíteni a fókuszt.
Andrew, ha meg tudnánk hívni fókusz itt egy pillanatra.
>> Mi Colton tett előre a programban
ez a készülék, ez a pad gombok hogy látod a képen itt,
MIDI vezérlő, amelynek minden egyes ilyen gombok
van bekötve, hogy egy adott zenei hang vagy a hang, általában a felvétel,
úgy, hogy a játék minták ezek gombok, ugyanúgy, mint minták bit,
képviselhet más magasabb szintű fogalmak.
Képes lesz végül hogy minket haza ma?
Minden további nélkül, ha a tudtuk homályos a fények,
és kapcsolja be a képernyő mögött Colton.
>> Közönség: Woo!
>> David J. MALAN: Ez CS50.
>> [Zenelejátszás]
>> [Taps]
>> Ez az a CS50.
Látni fogjuk, hogy péntek.
Néhány sütemény várja a kereszthajó.
>> [Zenelejátszás]