[Prehrávanie hudby] [MUSIC - Rossini "Ranz DES Vaches "Od Viliam Tell] [MUSIC - ENGLISH BEAT, "MAREC Z otočnej hlavy "] [Potleskom a fandenie] DAVID Malan: Tak toto je CS50. Volám sa David Malan. A 73% z vás nemá žiadnu predchádzajúcu skúsenosť s informatike, v rozpore s tým, čo by ste si mohli myslieť. Takže dnes sme si mysleli, že odštípat na to, že nedostatok vedomosti, ale tiež dá vám pocit, pre tých z vás, s viac pohodlia, ktoré smery môžete ísť v tomto semestri. Takže začnime s tým. Ja naozaj nemám potuchy, čo je vnútri počítač, aj keď, ako ste vy, som Používam ho každý deň. Ale je to nejaký druh poľa, a tam je nie je veľa vstupy do neho. Minimálne tu, čo? Pravdepodobne napájací kábel. A skutočne s týmto jednej zložky, elektrickej energie, sa zdá, že je schopný robí celkom dosť v týchto dňoch. Ale na konci dňa, sa majú reprezentovať veci že nám záleží. Musíme zastupovať informácií v nejakej forme. A potom ste pravdepodobne aspoň nejasne oboznámení s myšlienkou o binárne alebo bity tak alebo onak, počítače znížená na núl a jednotiek. Môžeme však prijať, že aj najmenej dať trochu svetla na to? Tak som si to málo stolové lampy tu. Mám elektrickú zásuvku tu. A ja idem navrhnúť, aby vo vnútri zo svojho počítača, je aspoň jeden z tieto veci, niečo schopný o zapnutie alebo vypnutie. V tomto prípade je to naozaj stolná lampa, ale na nižšej úrovni, to je niečo, čo tzv tranzistor. Ale v našom svete, je to stolová lampa, takže Chystám sa ísť dopredu a zapojte tento do môjho elektriny tu. A tvrdím, že pomocou tohto jednoduchého, jednoduché zariadenie, tento jednoduchý prepínač, som môžu predstavovať informácie. Napríklad, práve teraz, som čo nič, že jo? Ja som to, čo predstavuje zavolám 0 alebo false, protiklad niečoho v skutočnosti je prítomná. Ale keď stačí len zapnúť tento prepínač, teraz som si predstavoval jeden. Takže pomocou tejto veľmi jednoduchý kus pamäť, ak chcete, môžem zastupovať informácie. Teraz bohužiaľ, môj počítač nemôže robiť všetko moc. To môže predstavovať len dve hodnoty na celom svete - 0 alebo 1. Ale to, čo je zrejmé riešenie, teraz, ak chceme rozšíriť náš počítač je pamäť a reprezentujú viac než len 0 a 1? Dobre, poďme urvat ďalšie takú trochu. Poďme chytiť ďalší spínač, ďalšie tranzistor, ale chcete o tom premýšľať. Nechaj ma ísť napred a zapojte tento do svojho počítača tiež. A budem tvrdiť, teraz, že používať trochu viac elektrickej energie a sústruženie viac týchto prepínačov na a off, môžem predstavujú viac ako informácie. Takže práve teraz, je to jeden. Ak chcem v súčasnosti predstavujú 2, mohol som to urobiť. Ale zvyčajne, konvencie, ako my budeme nakoniec vidieť, bude ma to urobiť. Tak to je 0, to je 1. To by bolo 2. A niet divu, bolo by to 3. Takže týmto spôsobom, sa napriek tomu môžu počítame so ešte? Ak dostanem tretiny trochu, tretí prepínač, čo je to najvyšší počet môžem teraz počítať až od 0? Takže keď som 7 začínajúce na 0, že jo? Pretože keď som zase na toto svetlo a vlastne pripojiť tento tretí a posledný svetlo do mojej zásuvky tu, potom mám schopnosť reprezentovať akékoľvek z dvoch hodnôt, tu dve hodnoty, tu dve hodnoty tu - a tak môžem reprezentovať 2 krát 2 krát 2, alebo osem možných hodnôt. A keď začnem účtovníctva na 0, tak to je 0, 1, 2, 3, 4, 5, 6, 7. Takže to binárny. Je to naozaj tak jednoduché. A ja by som tvrdiť, že je to vlastne docela pozná väčšina všetci v tejto miestnosti. Nechaj ma ísť dopredu a otvoriť malý textový editor tu. A môžete vyvolať z základnej školy že sme mali veci ako stovky miesto, desiatky miesto, a tie miesto. A pripomínajú, že ak ste mali nejaké desatinné číslo číslo, ako niečo náhodného ako je 123, v podstate by ste napísať, že v podobe z týchto troch stĺpcov. A prečo je 1, 2, 3, čo poznáme ako 123? No, v ľavom stĺpci, musíme jedno sto a dve 10s, tak to je 120, plus tri 1s, tak to je 123. Teraz to svet, ktorý sme práve svieti je presne rovnaký ako ste boli oboznámení s roky, s výnimkou teraz, naše stĺpce nie sú sily 10. Sú to len dve právomoci. Takže vzhľadom k tomu, že je ti miesto, táto bude namiesto dvojky, je to bude namiesto štvorky. A pretože som iba s použitím najjednoduchšej mechanizmov, aby zhasol veci zapnutie a vypnutie - elektrina prúdi alebo elektrina neprúdi - Nemám úplne mať rovnakú expresívne rozsah ako 0 až deväť. Budeme držať to výborný jednoduché v tomto svete počítačov. Mám len 0 alebo 1 - zapnutie alebo vypnutie, pravdivé, alebo nepravdivé. A tak to, čo som práve teraz predstavuje 1, 1, 1, pretože každý z nich svetlá svietia. No, to mi dáva jeden 4 a ešte jeden dva, takže to je 6 plus jeden jeden, a to je 7.. A ergo robí túto sekvenciu troch bity predstavujú počet 7. Takže celú tú dobu, vnútri vášho počítače, boli ľubovoľný počet tranzistory, ľubovoľný počet bitov. Ale na konci dňa, sa môže predstavovať informáciu tak jednoducho, ako to. Teraz bohužiaľ sme Započítava až 7 v CS50 tak ďaleko, ale dúfajme, že môžeme urobiť niečo lepší než to. A naozaj môžeme. Predpokladajme, že sme ako ľudia len svojvoľne rozhodli, že budeme spojiť čísla ako 1 a 2, 3, 4, 5, 6, 7, so špecifickými písmen abeceda. A z historických dôvodov, budem spustiť trochu umelo, ale ja som chcel povedať, ľudí, budeme rozhodnúť ako štandard, na celom svete, že 65 predstavuje číslo písmeno A. 66 bude zastupovať B. bodka, bodka, bodka. 90 bude predstavovať písmeno Z. A predpokladajme, ak chceme skutočne dať nejaký Myslel na to, mohli by sme prísť s číslami na výkričníky veľké a malé písmená, a naozaj, ostatní ľudia robili to pre nás. Takže teraz sme mali kúsky, s ktorými môžeme predstavujú čísla, čísla, s ktorými môžeme predstaviť listy, a s Písmená teraz môžeme začať skladať e-mailov a tlač znaky na obrazovke. Dovoľte mi teda pozvať, keby som mohol, Osem statočných dobrovoľníkov - , Ktorým nevadí objavujú nielen na fotoaparáte, ale na internete - prísť sem a reprezentovať osem ako bitov, skôr než títo traja. Tak ako o jeden, dva? Ako asi tri? Ako asi štyri vo svetle modrá, päť na konci? O niekom, než tu? Šesť vpredu, sedem v prednej časti, a osem v prednej časti, ako je dobre. Tak som len tak náhodou prišiel pripravený s celou partiou papieriky. A na týchto kúskoch papiera sú čísla ktoré predstavujú to, čo stĺpce vy sa chystáte zastupovať. Takže si budú - Ako sa voláte? STUDENT: Anna Leah. DAVID Malan: Anna Leah, tie bude 128s stĺpec. Ste? STUDENT: Chris. DAVID Malan: Chris bude byť 64s stĺpec. Ste? STUDENT: Dan. DAVID Malan: Dan bude byť 32s stĺpec. STUDENT: Pramit. DAVID Malan: Pramit bude byť 16s stĺpec. STUDENT: Lillian. DAVID Malan: Lillian bude 8s. STUDENT: Jill. DAVID Malan: Jill bude byť 4s stĺpec. STUDENT: Mary. DAVID Malan: Mary budú 2s a? STUDENT: David. DAVID Malan: David bude byť 1s stĺpec. Takže ak vy by mohla zvýšiť trochu dopredu tak, že každý môže vidieť. Čo vy nevidíte, že na späť týchto prúžky papiera malý ťahák, ktorý sa chystá pokyn týchto ôsmich bity buď zdvihnú ruku, alebo nie zdvihnú ruku. Ak sa ich ruka ide hore, sú predstavuje 1. Ak sa ich ruka zostane na zemi, sú to predstavuje 0. Medzitým sme publikum by malo byť schopný prísť na to, na základe toho mapovanie, čo tri-slovo listu títo ľudia sú o hláskovať. Takže za chvíľu, budete prečítať prvý riadok zo zadnej strany Váš ťahák, a nech už ste zoženieme, alebo nie zdvihnúť ruku. Ak ste jeden, môžete zvýšiť, ak ste 0, stojíte tam rozpačito, rovnako ako to. Prejsť. Aké číslo, v prvom rade, sú títo ľudia predstavujú? 66.. 66, nie? Máme jeden v stĺpci 64s, 1 v stĺpci 2s. To mi dáva 66 tak, že sa objaví k predstavuje B. So vy máte napísané - OK, to stačí. B. Takže teraz poďme na náš druhý list. Prejsť. Kto je najrýchlejší v matematike tu? Tak 79. Opäť platí, že ak zrátame všetky stĺpce v ktorom je 1, v súčasnej dobe, práve rovnako ako sme to urobili predtým s najjednoduchšou príkladov 7, teraz Číslo získate 79. Čo podľa nášho mapovania je List O. Takže sme skoro tam. B, O. A konečne, ísť. Čo to predstavuje teraz? Menej zhoda. To je proste absolútna šelest. Áno, je to v skutočnosti 87. Dobre. Takže keď sme sa zmapovať, ktorí zálohujú do - povedzme začať volať našu ASCII tabuľku, Americká norma pre Výmeny informácií. To nám dáva list - nie "bo", ale "luk". A to je perfektné narážka vy vziať luk a hlava na chrbte. Ďakujem mnohokrát. [APPLAUSE] DAVID Malan: Môžete si ich nechať. Aj keď v skutočnosti by niekto ako stolná lampa, tiež? [HOOT u divákov] DAVID Malan: stolná lampa? [Smiech] DAVID Malan: Naozaj? Stolné lampy pre všetkých? Dobrá. Takže počnúc veľmi najjednoduchšie Princípy, ktoré sme teraz nielen počíta hore od 0 po celú cestu až 7, máme Predpokladá sa, že práve tým, že hodí viac bitov alebo viac svetiel alebo viac tranzistory pri riešení tohto problému, môžeme predstavujú čoraz väčšie čísla, a ergo, väčšie a väčšie rozsahy abecied, ako angličtine. A práve poďme na viere dnes že podobne by sme mohli začať predstavujú grafiku a video a všetky rad ďalších médií, s ktorými sme pozná dnes. Tak to je CS50, a v tejto triede vedľa vás je opäť veľmi veľa spolužiaci, ktorí majú tak málo, skúsenosti ako vy. A Spomínam to len preto, že úplne často, a to aj v poslednej dobe ako jeden zo prvák poradenstvo udalosti a na Vlani na jar v druháku poradenstvo udalosť, často počúvame študenti odmietajú keď prichádza k stolu UO, dobre, Premýšľal som o prijatí tejto intro trieda, ale ja naozaj nie som výpočtovej človek. Alebo, ale všetci iste vie viac ako ja. A dal som to v najväčšej písmo je to možné, oznámiť túto správu, ktorá že to nie je v skutočnosti prípad. A ak vás zaujíma, mali Aj v skutočnosti byť? Uvedomujeme si, že nielen že je tento kurz je Názov predmetu Úvod do počítača Veda, to je úvod do počítača Veda I. Takže tam je naozaj druhý taký úvod. Takže nie si v skutočnosti, na zlom mieste. A medzi cieľmi mám pre dnešok sú zmierniť Každé také námietky, ktoré by ste môže mať, ale tiež maľovať obraz toho, čo je v obchode pre Študenti menšie a pohodlnejšie podobne v tomto kurze. Ale najprv pár slov o jednom z prospektov máte dnes, medzi ktorými rad často kladených otázok. Bol to Našou víziou nejakú dobu teraz zaviesť nový triedenie možnosť do tohto kurzu - menovite, SAT / UNSAT. Filozoficky pre mňa, je to oveľa, oveľa dôležitejšie, že Študenti v tejto triede zapojiť materiál, je zastavená materiál a starosti ďaleko, ďaleko menej o mechanici skutočných skóre a list stupňa na semester je koniec, ale naozaj objať kurz a jeho materiál. A naozaj je to všetko, všeobecnejšie, za to, čo je zaujímavé pre nich, aby cíti napadnutá a odmenení, ale bez strachu z neúspechu. A naozaj, toto je tiež opakujúce sa tému v tomto a ďalších úvodný Kurzy v iných oblastiach, ktoré majú to rozechvění, pokiaľ ide o uvedenie niečí prsty na nohách neznáme vody. Ja sám, v roku 1995, bol v prvom ročníku. Bol som veľmi zameriavali na koncentrátor Gov tu. A napriek tomu som vždy vyrastali s trochou podielu vo vede o počítačoch. Vždy som bol zvedavý. Ale vtedy, dokonca mal som strach aj posilnenie nôh v CS50, toľko takže som sa ani nakupovať to prvák. A jediný dôvod, prečo som dal nohu Dvere druháku, pretože som bolo dovolené, aby sa to vyhovuje / nevyhovuje. Ale aj vyhovel / nevyhovel vyžaduje, že som si do nervu, aby si schôdzku s profesorom Kernehan v tej dobe, aby tento veľký hárok papiera a požiadajte ho pre jeho podpis a jeho povolenie k objavovaniu Tieto neznáme vody. A to nepomohlo v posledných rokoch že pri tom v CS50, keď sme býval vyhovel / nevyhovel, podobne ako by desiatky či stovky svojich spolužiakov musieť prísť, nedajbože, na Predné Sanders s touto formou, že v niektorých mysliach predstavuje neschopnosť, Trúfam si povedať, na vykonanie sú na úrovni svojich rovesníkov. Čo je smiešne, ale ja si myslím, tam je to mentalita. A tam nikdy nebol v tejto kultúre zo SAT / UNSAT, alebo vyhovel / nevyhovel viac Všeobecne platí, že v tomto kurze, alebo naozaj v tomto areáli. Takže tento rok sme to zmenili. Chcel by som byť vo vytržení polovicu táto trieda alebo viac ukončená up s CS50 SAT / UNSAT. V priebehu jedného roka, bolo by to skvelé keď takmer všetci. Potom možno budeme pracovať na písmeno ročníkov na Harvarde Vysoká škola všeobecne. Ale teraz, urobíme to v rámci nášho vlastné gule, a ja by som srdečne Odporúčame, aby ste si tieto časté otázky a klásť otázky, ako uznáte za vhodné, aby sa dúfajme, že, na rozdiel odo mňa, nie celkom majú rovnaký strach faktorom pri skúmať, čo je pravdepodobne neznáme miesto. Takže to, čo je CS50? Jedná sa o úvod do intelektuálne podniky počítači veda a umenie programovania. Ale čo to vlastne znamená? No, tak ďaleko, rozprávali sme si veľmi stručne o zobrazovanie informácií. Ale predpokladajme, že chceme skutočne aby s tým niečo urobiť. Musíme zaviesť pojem čo zavoláme algoritmus. Algoritmus je postup, proces, súbor inštrukcií pre niečo robiť. A algoritmus môže byť niečo, Super jednoduché. Napríklad, príklad s ktorých niektoré z vás môže byť oboznámení je to vec tu. Takže táto kniha je tu stále dňa, ale kedysi to obsahuje veľa mien a telefónne čísla. A skutočne, keď som chcel nájsť niekto v tomto telefónnom zozname - povedať, niekoho menom Mike Smith - Nemohol som nájsť Mike Smith v ľubovoľnom počte z pomerne jednoduchých spôsobov. Mohol by som začať od začiatku a prejsť na stránku 1, tam nie. Strana 2, tam nie je. Page 3. Je to, že algoritmus, ktorý je proces, je to tak? Tak to je v poriadku, že jo? Som trochu idiot za to ju že spôsob, ale nakoniec budem nájsť priezvisko S, a dúfajme, že Mike je v tomto oddiele, a ja budem stáť urobil s mojím algoritmom. Ale určite to nie je intuitívne. Väčšina každý rozumný človek v tejto izba by nemal robiť. Čo by ste urobili? Ty by si ísť rovno do stredu, nie? Zhruba do polovice. A vy si uvedomíte, oh, to sú pani Takže Mike Smith, priezvisko je Smith, nie je, teda zrejmé, že v Ľavá polovica knihy. Musí byť k S je v práve. A v tomto bode, aj keď väčšina z nás nerob to v skutočnosti, môžeme doslova roztrhať tento problém na polovicu. [Fandenie a potlesk] DAVID Malan: Ďakujem. [Fandenie a potlesk] DAVID Malan: Môžete doslova roztrhať to problém v polovici, takže mi, doslovne, čo je problém polovice tak veľký. Takže ak tento telefón kniha bola - a je to Pravdepodobne bola - asi 1000 stránok, teraz je to len 500 Sk. Ak by som to znova a uvedomujem si, oh, sakra, som zašiel príliš ďaleko, som v Ts časť, môžem podobne - obrazne alebo doslovne - rip telefónneho zoznamu - to bolo vlastne oveľa jednoduchšie, že čas. Môžem doslova vyrvať telefónny zoznam na polovicu, takže ma teraz s nie 1000, a to 500 - 250 strán. A môžem ísť 125, a polovica z toho, a polovica z toho, a pol z toho, až konečne budem odišiel s len jednu jedinú stránku. [Smiech] DAVID Malan: To je časť I zlyhať. Jediná stránka, na ktorej Mike snáď je. Teraz tieto rôzne algoritmy môžu byť druh alebo vyhodnotené v rôznymi spôsobmi. Prvý z nich bol veľmi lineárny, nie? Otočte stránku, pozrite sa na Mika. Otočte stránku, pozrite sa na Mika. Je to veľmi lineárny. Ak je tu ešte jedna stránka v telefóne kniha, to asi bude trvať ma jeden druhého, jeden jednotku času, Avšak sme počítačového času. Takže som mohol kresliť takhle tento riadok tu, pričom ako veľkosť problém sa zvyšuje zľava doprava - Telefónny zoznam sa zmenší na väčšie - a čas sa bude zvyšovať v zvislá os, väčšie telefónny zoznam. Takže n je len všeobecne premenné, ktoré počítačové vedci používajú na reprezentáciu nejakú hodnotu, nejaké číslo. Tak n porastie lineárne. Dvojnásobná veľkosť telefónneho zoznamu, je to ma vezme dvakrát toľko čas, s najväčšou pravdepodobnosťou nájsť Miku. Teraz som mohol byť inteligentný o tom, že jo? Som sa nudiť rýchlo. Mohol by to urobil po dvoch. Takže dve stránky, potom štyri, potom šesť, potom osem. A mohol by som lietať cez to trochu rýchlejšie, aj keď v menšej riziko prekročenie Mike, ale že krivka nie je bude všetko inak. Je to ešte bude rovný vedenia, ale o niečo rýchlejší. Ale čo mám robiť? Vlastne som urobil niečo zásadne lepší. Som dosiahol to, čo budeme hovoriť logaritmickej čas, log n, pričom táto zelená linka má oveľa, oveľa, oveľa menej rovná hrana na to. A skôr to naznačuje, ako to nejako blíži k nekonečnu niekedy tak postupne, že som mohol skutočne vziať 1000-page telefónny zoznam, zdvojnásobí svoju veľkosť budúci rok - pretože predpokladám veľa viac ľudí presťahovať do mesta. Takže teraz mám 2000 stránok, ale ako mnoho ďalších krokov, ktoré je múdrejší Algoritmus bude trvať? Len jeden. Myslím, že je to mocná vec. Ak pôjdeme na 4000 strán v budúcom roku, že to bude trvať ma Iba ďalšie dva kroky. Takže môžete hodiť väčšie a väčšie problémy sa na mňa, nie na rozdiel webe je hádzanie väčšie problémy každý deň na Googlu a na Facebooks svet, a to nie je tak veľký problém. Pretože som si viac pozornosti a starostlivosti do môj algoritmus, s ktorým riešiť problémy efektívne. A v skutočnosti, že sa jeden z ciele tohto kurzu. Budete, pozdĺž cesty, naučiť sa programovať. Dozviete sa, ako sa programovať ľubovoľný počet jazykov. Ale na konci dňa, je kurz o riešení problémov a získavanie lepšie riešenie problémov - a, rovnako ako v prípady, ako je tento, riešenie problémov efektívnejšie. Teraz tak ďaleko, urobili sme to pomerne intuitívne. Poďme si predstaviť niečo spravodlivo všeobecný volal pseudocode. Takže budeme nakoniec dostal, V tomto kurze sa rôzne programovacie jazyky. Ale dnes to urobíme v anglicky ako syntax, kde sa tak trochu povedať, čo máte na mysli, ale ty si niekedy tak stručné a vy sa nemusíte starať o gramatika a celé vety. Len vyjadriť sám seba ako stručne, ako je to možné. Takže pseudokódu je angličtina-like syntax, ktorá predstavuje programovací jazyk. A na tento účel, dovoľte mi navrhnúť, aby začať modelovať proces sme len popísané počítanie niečo trochu inak, tentoraz s pozri sa na túto päť minút vyrobeného videá našimi priateľmi na TED, že definuje, čo je pseudokódu, definuje to, čo algoritmické myslenie je, a dokonca keď napríklad ste asi vidieť je v samo o sebe, super jednoduché, je to začnú sa nám duševné model, slovnú zásobu, s ktorou sa to oveľa zložitejšie algoritmy pomerne rýchlo. [BEGIN Prehrávanie videa] [Prehrávanie hudby] Rozprávač: Čo je to algoritmus? Vo vede o počítačoch, algoritmus je sada inštrukcií pre riešenie niektorých Problém krok za krokom. Obvykle sa robí algoritmy o počítačoch, ale my, ľudia majú algoritmy, ako i Napríklad, ako by ste o počítanie počtu ľudí, ktorí v izbe? No, ak ste rovnako ako ja, to by asi bod na každú osobu, po jednom čas a počítať od 0. 1, 2, 3, 4, a tak ďalej. No, to je algoritmus. V skutočnosti, skúsme ho vyjadriť trochu viac formálne v pseudokódu - Angličtina-ako syntax, ktorý sa podobá programovací jazyk. Nech n rovné 0. Pre každú osobu na izbe, nastavte N rovný N plus 1. Ako interpretovať túto pseudocode? No, jedna linka prehlasuje, aby som tak povedal, premenná s názvom N a inicializuje jeho hodnotu na 0. To jednoducho znamená, že na začiatku roka náš algoritmus, vec, s ktorou Počítame má hodnotu 0. Koniec koncov, než začneme počítať, sme sa nepočítajú zatiaľ nič. Volanie tejto premennej N je len konvencie. Mohol som to nazval takmer všetko. Teraz riadok dva demarks začiatku slučky, sled krokov, ktoré opakovať určitý počet opakovaní. Takže v našom príklade krok berieme sa počtu osôb v miestnosti. Pod riadok je riadok tri, , Ktorý opisuje, ako presne budeme ísť o počítanie. Odsadenie znamená, že je to riadok tri, ktoré sa bude opakovať. Takže to, čo sa hovorí, je pseudokódu , Že po spustení na 0, pre každú osoba v izbe, budeme zvyšujú o 1 N. Teraz je tento algoritmus správne? Dobre, poďme bang na to trochu. Funguje to, ak existujú dvaja ľudia v miestnosti? Poďme sa pozrieť. V prvom riadku, sa inicializovať N na 0. Pre každý z týchto dvoch ľudí, sme potom prírastok do N 1. Takže na prvej ceste slučky, sa aktualizovať N 0-1. Na druhú cestu cez ten rovnaký slučka, aktualizujeme N 1-2. A tak týmto algoritmom je koniec, n je 2, ktorý skutočne zodpovedá počtu ľudia v miestnosti. Tak ďaleko, tak dobrý. Ako sa o rohové prípade, aj keď? Predpokladajme, že existujú ľudia, 0 v miestnosti - okrem mňa, kto to robí počítanie. V prvom riadku, sa inicializovať N na 0. Tento čas však rad troch rokov nie spustiť vôbec, pretože tam nie je osoba v izbe. A tak zostáva N 0, čo zodpovedá počet ľudí v miestnosti. Celkom jednoduché, nie? Ale počítanie ľudia jeden po druhom je celkom neefektívne, tiež nie? Iste môžeme urobiť lepšie. Prečo nie počítať dvoch ľudí naraz? Namiesto toho, aby počítanie 1, 2, 3, 4, 5, 6, 7, 8, a tak ďalej, prečo sa nepočíta, 2, 4, 6, 8, a tak ďalej? Je to dokonca vyzerá rýchlejšie, a to iste je. Poďme vyjadriť túto optimalizáciu v pseudokódu. Nech n rovné 0. Pre každú dvojicu ľudí v miestnosti, nastaviť N rovné N + 2. Celkom jednoduchá zmena, nie? Skôr než počet ľudí, jeden v dobe, namiesto toho sme počítať je po dvoch. Tento algoritmus je teda dvakrát tak rýchlo, ako posledný. Ale je to správne? Poďme sa pozrieť. Funguje to, ak existujú dvaja ľudia v miestnosti? V prvom riadku, sa inicializovať N na 0. Pre ten jeden pár ľudí, sa potom zvýšiť N dvoma. A tak týmto algoritmom je koniec, N 2, ktorý skutočne zodpovedá počtu ľudia v miestnosti. Predpokladajme, že existujú ďalšie 0 ľudí v miestnosti. V prvom riadku, sa inicializovať N na 0. Rovnako ako predtým, riadok tri nespustí vôbec, pretože tam nie sú žiadne pary ľudí v miestnosti. A tak zostáva N 0, čo napokon zodpovedá počtu ľudia v miestnosti. Ale čo keď sú tam tri ľudia v miestnosti? Ako tento algoritmus cestovné? Poďme sa pozrieť. V prvom riadku, sa inicializovať N na 0. Pre pár týchto ľudí, sme potom prírastok do N 2. Ale čo potom? Či je na plný pár ľudí v miestnosti, takže riadok dva nie už neplatí. A tak týmto algoritmom je koniec, N je stále 2, čo nie je správne. V skutočnosti, je tento algoritmus hovorí, že je buggy, pretože má chybu. Umožňuje nápravy s nejakým novým pseudokódu. Nech n rovné 0 pre každú dvojicu ľudí v miestnosti. Sada N rovné N + 2. Ak jedna osoba zostáva nepárová, nastaviť N rovný N plus 1. Ak chcete vyriešiť tento konkrétny problém, máme zaviedla v radový štvorvalec, stav, inak známy ako zložka že sa vykoná len v prípade, že je jeden osoba, ktoré sme nemohli dvojica s iným. A tak teraz, či je jeden alebo tri alebo nepárny počet ľudí izba, tento algoritmus bude teraz počítať. Môžeme to urobiť ešte lepšie? No, mohli by sme počítať 3s alebo 4s, alebo dokonca 5s a 10s, ale za to, že je to dostane trochu ťažké bodu. Na konci dňa, či už je vykonaná pomocou počítačov alebo ľudí, algoritmy sú len súbor pokynov sa ktorá rieši všetky problémy. Títo boli len tri. Aký problém ste vyriešili s algoritmom? [END PLAYBACK] DAVID Malan: To je jediný okamih, kedy Ja sa objaví vo forme karikatúry. Ale kde ten príbeh skončí, teraz je, ako môžeme robiť lepšie? Trojky a štvorky, tvrdíme, sa môžeme spoľahnúť ľudia oveľa rýchlejšie, ale môžeme to zásadne lepšie, ako toto? A stavím sa, môžeme. Ak si predstavíme trochu naše vlastné pseudokódu tu, idem navrhnúť že môžeme dosiahnuť riadok podobný tomuto. Nebudeme počítať ľudí jeden, dva, tri, štyri. Nebudeme chodiť dvaja, štyri, šesť, osem. Chystáme sa robiť zásadne lepšie prehodnotením problém, a v tomto prípad, využitím inak nevyužité zdroje. Za chvíľu, dúfam, že mi odpustíte a humor nás tým, že stojí v miesto, na ktorom mieste budeme požiadať každého z vás, aby sa vo vašom mysli číslo 1. Tie potom bude stále nemotorne, ako čas ubieha, nájsť niekto iný, kto stojí, kombinovať vaše čísla dohromady pridaním je. Jeden z vás sa potom bude pretekať sedieť sa prvá a druhá osoba bude opakovať. Takže inými slovami, že sa nasadí všetky tie s číslom 1 a potom kombinujúci tie 1s do 2s a tie 2s do 4s, s každým ďalej sedieť, mali by sme sa na konci roka tento algoritmus, mať len jeden úver, duša, ktorá nesadol dosť rýchlo, ale ktorý má celý publikum počet v jeho mysli. Takže ak chcete, poďme ďalej a - prvý krok - postaviť na mieste. A spustiť. [Dav mumlání] DAVID Malan: Viete, kde Lauren je? 729? [Dav mumlání] DAVID Malan: V poriadku? [Dav mumlání] DAVID Malan: Dobre, mali by sme sa blíži ku koncu. Vidíme jeden chlapík stojaci stále tu. Kto iný potrebuje byť spárovaný? Ak vy chcete spárovať. Niekto sa hore. Prečo nemôžem podať pomocnú ruku tu. Pre veľmi málo ľudí, ktorí sú stále stojí, aké čísla sa vám majú vo svojej mysli? STUDENT: 78. DAVID Malan: 78 plus - kto by to stáť tu dole? STUDENT: 39. DAVID Malan: Plus 39. Navyše, kto iný ešte stojí? 81? OK, kto iný? Ďalšie 81? Wow. A potom to, čo je v chrbte? STUDENT: 49. DAVID Malan: 49 plus? STUDENT: 98. DAVID Malan: 98 Plus? Je to niekto iný? 12? Dobrá práca. [Smiech] DAVID Malan: Oh, 112 - oh. Dobrá práca! [Smiech] [APPLAUSE] DAVID Malan: Niekto iný ešte stojí? Je nám ľúto? STUDENT: 99. DAVID Malan 99. Niekto iný ešte stojí? A celkový počet študentov tu je v skutočnosti, v závislosti na - máte číslo? Oh, skutočný počet ľudí miestnosti, v závislosti na účte, ktorý učebné chlapi robili na každého cesta dovnútra, bolo 729. Takže z miestnosti plnej študentov Harvardu ktorý počítal sám, Odpoveď je 637. [Smiech] DAVID Malan: Tak blízko. Ale napriek tomu. OK, tak to je učenie moment, že jo? To je to, čo teraz môžeme označiť za chybu. Niekde po ceste sme urobili niektoré aritmetický zle, alebo niekto posadil, alebo vľavo, alebo sa niečo pokazilo. Ale to je v poriadku. Pretože aj napriek tomu, sme dostal celkom blízko. A ja by som tvrdiť, že sme sa dostali do zlej odpovedať mnoho rýchlejšie, než by som si cez môj ďalší lineárny prístup. Takže predpokladajme, že sme v skutočnosti, že sa opraviť, ale že teraz na to, čo sa deje zakaždým, proti mojej vlastné naivné ukázal algoritmus. Jedna, dva, tri. V prípade, že sú skutočne 729 alebo 637 ľudí tu, to by ma vziať doslova 637 alebo 729 pointings prsta a zvyšovanie môj celkový počet. A čo som mohol urobiť trochu lepšie ísť dva, štyri, šesť, osem a zdvojnásobiť rýchlosť, možno aj troch alebo štvornásobný, podľa toho, ako dobre som si tomu, že počítanie v mojej hlave. Ale tento prístup, ktorý ste sa zásadne líši. Vzhľadom k tomu, na začiatku, všetky z vás, vstal. Takže všetko 729. A potom doslova polovica z vás sa posadil. A potom, ďalšie polovica z vás sa posadil. A potom, ďalšie polovica z vás sa posadil. A celkový počet, koľkokrát ste chlapci mohli posadil je zhruba osem alebo deväť alebo desať celkovej časy, v závislosti na tom, čo náš celkový počet je. A môžeme sa nejako urobiť to na druhú stranu. Ak by sme mali 1024 ľudí v miestnosti, Celkový počet opakovaní by ste mohli 1024 polovicu ľudí je 10. Teraz o tom premýšľať v opačným smerom. Predpokladajme, smiešne, že sme mali, povedzme štyri miliardy ľudí v tejto miestnosti, alebo o niečo väčší priestor. Koľkokrát sme išli prostredníctvom tohto algoritmu, tak, že polovica tejto triedy sadne? Je to len bude trvať 32 ako operácie, a to aj v triede o veľkosti štyri miliardy. Prečo? Pretože štyri miliardy pôjde na dva mld Sk, ide do jedného milióna, ide 500 miliónov ide na 250 miliónov, bodka, bodka, bodka. Môžem robiť len týmto rozdelením nejakých 32 čas, na ktorom mieste, všetci, okrem jedna osoba by mala zostať stáť. A to je tiež trochu silný Predstava, že čoraz viac sa budeme snažiť využiť v tomto kurze, a programovania a počítačovej vedy viac Všeobecne platí, že tieto zárodky nápadu s ktoré potom môžu riešiť problémy oveľa, oveľa silnejšie. Začali sme celkom jednoduché s tým pseudokódu a chlap v miestnosti, ale teraz s celej miestnosti plnej ľudí sme urobili podstatne lepšie. Dobre, poďme sa prechod od pseudokódu nejaké skutočné kódu. Tento jazyk sa chystáte, aby sa stalo byť nazývaný JavaScript, a vrátime sa k tomu Semester je koniec. Je to programovací jazyk, ktorý použiť, aby sa webové stránky a iné takéto softvér v týchto dňoch. A my sme použili, vďaka priateľovi náš na Stanforde, kódovať nejaký skrytý informácií nájdete tu. To je umenie steganografie, aby som tak povedal, kde sa môžete schovať informácie v tom, čo sa zdá inak byť šum alebo úplne iná obrázok dohromady. Ale vložený v tomto obrázku je naozaj tajná správa druhov. Tak ma nechaj ísť dopredu a vytiahnite rovnaký obraz tu, toto tentoraz vo webovom prehliadači. A budem mávať ruku na niektoré z podrobnosti pre dnešok, najmä pre tých z vás, ktorí to vyzerá ako nielen JavaScript, ale grécka, ako úplne neznáme jazykom. Ale to je príklad programovací jazyk. A teraz sa na viere, že Prvý riadok kódu - a podľa kódu, práve som na mysli text. Text, ktorý som mohol doslova napísal do aplikácie Microsoft Word, keby som mal správny softvér do tej doby s tým niečo urobiť. Zdrojového kódu, programovanie kód, je naozaj len textu, a to vyzerá inak, na základe toho, čo jazyk , Ktorú používate, nie je na rozdiel od angličtiny a Španielčina a ruština všetko vyzerať inak Pri písaní je na vašej klávesnici. Takže ten prvý riadok, teraz sa na viera, jednoducho otvorí grafiku z internet, že hlučné grafický sme práve videli. Tento ďalší riadok je tu príklad slučka, a sme skutočne videli, že rovnaký žargón vo videu TED. Slučka je niečo, čo sa stane znova a znova, a to aj napriek tomu, absolútne vyzerá tajomný, s Kľúčové slovo pre, a niektoré zátvorky a niektoré bodkočiarkami. Vrátime sa k tomu onedlho, ale, že slučka je v podstate je hovorí programu, iterovat cez všetky z týchto bodov hlučných zľava doprava, zhora nadol. Vzhľadom k tomu, na konci dňa, obrázok takhle - a môžete skutočne druh vidieť na tomto projektore - je naozaj len mriežka bodov. Takže môžeme určiť každý z týchto bodov pomocou súradníc x, y, a to Program možno teraz začneme niečo na tie bodky. Takže ja idem dopredu a tu to je Chystám sa urobiť nejaké zmeny. Prvý Chystám sa ísť dopredu a zbaviť na všetkých, ktoré zelenkavá a modra hluk, a ja idem do toho a zadajte nasledujúce síce tajomné syntaxe. im pre obraz. nastaviť modré na súradniciach x, čiarka, umiestnenia y, na 0. Inými slovami, chcem len vypnite všetky modré bodky v tomto obrázku. Chystám sa ísť dopredu a kliknite to Run / tlačidlo Uložiť, a budete Všimnite si na pravej strane, výsledný obraz objaví. Teraz je Super zelená, ale to nie je prekvapujúce, pretože som doslova obrátil off, tým, že 1 je 0, všetci modrá v uvedenom obrázku. No, teraz poďme to urobiť trochu viac. im pre obraz, bodka setGreen, x, y. A to len znamená, že iterate zľava doprava a zhora nadol. Vypni to s hodnotou 0, rovnako. Uložiť. A na projektore, môžete v skutočnosti naozaj vidieť vôbec nič. Na mojom notebooku obrazovke, keď som nahliadnuť do práve správna cesta, vidím trochu obrázok, pretože sú stále nejaký červený tam. Ak ste niekedy počuli skratku RGB - červená, zelená, modrá - to s odkazom na toto zloženie z obrazu pomocou Len tieto tri farby. A práve teraz sme vyhodiť všetky zelené, celé modré, ale že to nie je moc červené. Takže dovoľte mi nahodiť červené. Ako to môžem urobiť? No, v prvom, idem sa opýtať tento program otázka. Chystám sa ísť do toho a hovorme ju premenné, rovnako ako v algebre. Môžete mať x alebo y alebo z Budem deklarovať premennú a povedať, dať do tejto premennej, dočasne, hodnota obrazy getRed hodnotu na x, y. A opäť vrátime sa na všetky tohto detailu v budúcnosti. Ale teraz, len sa na viere, že táto položka sa pýta program, čo je hodnota červenej na x, y? V tomto konkrétnom bode? Potom budem robiť niečo k tomu. Potom budem robiť obrázku dot sada červená na x, y, y, ale tentoraz budem podporiť ju robí červené krát, povedzme, 10. Tak zvýšiť o faktor 10. Dovoľte mi, aby som oddialiť teraz kliknite na tlačidlo Spustiť mohol / Uložiť. A voila, že tam bol celý čas, aj keď naše ľudské oči nedokázal vidieť. Takže znova, teraz je skutočný kód, príklad jazyka, ktorý Prídeme späť onedlho. Ale uvedomiť, najmä tých z vás, bez tejto skúsenosti, je to celkom čoskoro, že my sami budú písať kód, ako že. V skutočnosti je nástroj, pomocou ktorého ste všetci trochu poznať, možno je to CS50 vlastný kurz-shopping nástroj, ktorý bol vlastne reštartuje tento rok v lete niektoré vlastných CS50 bývalých študentov, sa teraz TFS. Tak toto sa stane byť postavená webová stránka v jazyku PHP s názvom. Využíva databázu MySQL s názvom veci s ktorými sa dostaneme do rúk špinavé neskôr v semestri. Ale verte tomu alebo nie, aj niečo ako je to v konečnom dôsledku znižuje na Najjednoduchšie slučiek a podmienok a odvetví, ako napríklad tých, ktoré sme videli len Pred chvíľou vo videu TED. To, čo som si myslel, že to je teraz podiel nie je proste niečo, čo sme urobili zamestnanci pre kampus, ale skôr niečo bývalý študent - tri študentov, v skutočnosti - robil minulý rok, Sierra, Daniel a Sam, posledný z nich nemal pred programovania skúsenosti keď si vzal CS50. A pre záverečného projektu, ale vystavené, na CS50 veľtrhu, Aplikácia s názvom wrdly, ktorý je webový program, pre ktorý oni robili toto video, ktoré som myslel, že zdieľať so vám zmysel len to, čo je možný termín je koniec. [Prehrávanie hudby] DAVID Malan: To je týždeň od nuly do 12. týždňa v minulom roku. [APPLAUSE] DAVID Malan: Ako ukážku, taky, naozaj povzbudiť chuť k jedlu, je to, čo je je to možné, ste mohli zaznamenať už alebo môže čoskoro vidieť, market.cs50.net, a nový nástroj, ktorý v priebehu tím má pracuje na, tentoraz v spolupráci s Harvard Student Agentúry tak, že od tohto roku a dúfajme, že aj naďalej do tohto prichádza lete budete mať štandard príležitosť na akademickej pôde kúpiť a predávať veci, ktoré vás zaujímajú. A s pomocou partnerstva HSA, budete tiež môcť k poklesu položky off v jednom z kamenných obchodoch HSA je v niektorých v budúcnosti, tak, aby sa Proxy veci, najmä ak vás absolvent a nemusí nutne chcieť zbaviť vecí, ale v skutočnosti ju zaplatiť odovzdať ľudí, ktorí by mohli nasledovať vás tu na akademickej pôde. Takže viac o tom prísť. Ale trochu konkrétnejšie, nástroj ktorý prišiel z CS50 v posledných rokoch roky, s ktorou niektorí z vás by mohol byť známe a iní z vás môže byť googling teraz, v CS50.net/2x, budete nájsť odkaz na rozšírenie Chrome ktorý je demonštratívny, ako môžete používať JavaScript, ten istý jazyk sa použiť Eiffelovej veže pred chvíľou, vykonávať 2x rýchlosti prehrávania pre všetky Harvarde videa iSites. To je niečo, čo je postavený do vlastného CS50 je video prehrávač. Ale aj to, keď sa vám začnú kopať do zdrojového kódu, ktoré my budeme šťastne sprístupniť, uvidíte, ako môžete dokonca riešiť problémy, ako je to, urýchlenie widgety na webových stránkach s ktoré ste už dobre oboznámení. Takže slovo teraz v kurze, a očakávania a to, čo leží pred nami. Všeobecne platí, že budeme skutočne získať tu v pondelok av stredu - aj keď tento piatok, budeme zbierať, pretože Shopping týždňa - 01:00-14:00, hoci niekedy až do 02:30. Vzhľadom k tomu, že by preto chcú, alebo musieť vziať nejaké triedy v 14:00 dopredu, alebo aj pred Uvedomujete si, Kurz je podporuje, čo sa nazýva simultánne zápis, pričom my budeme podporu petíciu Radou Ad a Váš pobyt dekani vašim menom, ak Máte konflikt niekde v tomto 1:00-02:30 rozsah. Adresa URL tejto on-line na ďalšie detaily. Ale pokiaľ ide o nosné konštrukcie ktorý charakterizuje CS50, pre študentov viac a menej pohodlné podobne, sme Ponúkame rôzne stopy sekcií. A to je pár týždňov preč, ale Netrvalo dlho a budete požiadaní, aby vaša úroveň pohodlia. Ste medzi tie menej pohodlné, pohodlnejšie, alebo niekde medzi? A budeme mať tri odlišné skladby, ktoré obstarávajú práve tie diváci. Takže v žiadnom okamihu v termíne mali by ste dokonca pocit, že budete súťažiť proti každému študentovi sa viac alebo menej pozadie než vy. V skutočnosti je samozrejme chcel byť oveľa viac spolupráce a oveľa otvorenejší než to. Pokiaľ ide o základné problémové okruhy, budete nájsť tiež, že okrem Štandardné vydanie každého týždňa problému nastavenie, je to často "hacker vydanie ", ktorý je určený na cielené na 5% až 10%, alebo tak demografické, kto je naozaj medzi tie pohodlnejšie a chceli by ste viac náročnejšie ako štandardné vydanie tohto pset očakáva. Viac informácií o tých, ktoré majú byť nájdete v sylabu. Ale aj tam možno nájsť podrobnosti na kurzoch neskoré dní. Typicky problém sady sú splatné vo štvrtok. Avšak, môžete rozšíriť mnohé z vašich termíny tento rok na jeseň od štvrtka do Piatok jednoducho tým, že stretnutie s nami na polceste, aby som tak povedal, odpovede na niekoľko warm-up otázky v niektorej z týždňa problému sady, bude to automaticky potom vám extra 24 hodín. Budeme tiež pokles vaše najmenšie skóre, podľa sylabu. Ak chcete vám o tom, čo je problém sady sú - pretože je to naozaj Kurz je problém, ktorý stanovuje nakoniec definovať takmer každý študenta skúsenosti, viac než prednášky, viac než sekciách, viac než väčšina iných aspekt predmetu. V minulom roku sme napríklad začali ako začneme tento rok s Scratch. Práve tento piatok budeme používať pre len jeden deň čas, grafický programovací jazyk, s ktorým my budeme začať s programovaním pretiahnutím klesá dielikov, že iba zostaviť fyzicky, ak to dáva zmysel k tomu logicky. Budúci týždeň budeme rýchlo prechod na C, docela starý, ale veľmi malé a jednoduchý jazyk, ktorý nám umožní naozaj ísť od 0 do 60 v priebehu Behom pár týždňov, a potom prednosti tie isté vedomosti a zručnosti Základné programovací konštrukty do vyššia programovacie jazyky ako PHP, JavaScript, a ešte iní stále. Vlani tretí pset v priebehu bolo, že kryptografia, domény špecifické pre aplikácie, kedy sme napadla študentmi vykonať akýkoľvek počet šifier, programy, s ktorými na zakódovanie a dekódovanie informácie, na zašifrovať. Pre hackera vydanie, naopak, Dali sme sa hacker študentom súbor zo štandardného počítača Unix obsahujúce používateľské mená a heslá, latter ktorý bol zakódovaný, a my napádal tých hacker študentov na dešifrovanie, ako najlepšie mohli, tie heslá, stále na to rovnakú doménu. Scramble, hra, s ktorou niektorí z vás sú možno povedomá. Forenznú kúsok, kde žiadame študentov obnoviť dáta, ktorá bola inak odstránený z mojej vlastnej digitálnej fotoaparátu pamäťová karta Compact flash, podľa a písanie softvér, aby zistili, kde boli nuly a tie v že digitálny fotoaparát, ktorý predtým skladal JPEG grafiku? Výzva druhov v minulom roku zahŕňajúce písanie najrýchlejší Kontrola pravopisu je to možné, súťaží s priateľmi a spolužiakmi, ak oni chceli. Vykonávanie Huff 'n Puff, kompresný program. A potom končí semester, s CS50 Financie, webová aplikácia s ktoré vytvoríte ETrade-ako webové stránky nakupovať a predávať akcie, tak hovorí, tým vlastne ťahá takmer real-time citácie Yahoo! Finance. To, čo sme neurobili v minulom roku jeden problém sada, ktorá zostáva však obľúbené. Ak ste nikdy šiel do shuttle.cs50.net, uvidíte užívateľa rozhranie trochu ako je tento. Ale pred dvoma rokmi, trieda realizovaná pomocou Google Maps a Google Earth plug-in a trochu pútavé s riadením po kampuse, tak, že cieľom tejto hry je, ako môžete vidieť niektoré z tvárí, je riadiť po kampuse hľadá zamestnanci, kolegovia výučby a CAS, a keď to urobíte, ich uvádzanie do vášho shuttle bus. Žiadny z nich v skutočnosti sa zdá, že je tu, takže budeme zadávať kódy. [Smiech] DAVID Malan: Tak ideme. Dobrá. A tu je personál prichytená po celom areáli. A ako môžete vidieť, na pravej strane obrazovky, shuttle bus má prázdne miesta. A cieľom bolo napísať kód, pomocou ktorého simulovať riadenie a nástup a pád výstup a nástup cestujúcich. Že jeden, aj za použitia jazyka volal JavaScript. Takže si uvedomiť, že programy, ako je, že bude byť na našom rovnaké trajektóriu tohto rok, ako i V podmienkach, teraz dodatočnej podpory, máme úradné hodiny. Ako ste mohli vidieť vo vlastnom dome jedáleň alebo Annenberg, budeme v dome stolovanie haly štyri noci v týždni - Leverett PfoHo, Eliot a Annenberg v tomto roku, 20:00-23:00. A čo sme si povedali, že to tento rok je niečo trochu iné. Ak ste počuli hrmenie že v minulom roku to bolo príliš stresujúce, to Tohtoročné úradné hodiny, ako budeme popisovať budúci týždeň, bude viac organický, kedy po príchode, budete odoslané do jednej konkrétnej tabuľky kde viac zamestnancami čakajú, a my budeme robiť veci oveľa viac organicky. Žiadne fronty, žiadna iPad, ale radšej intímnejší konverzácie okolo stola len osem alebo tak študenti, tak, že sa približný pocit z toho, čo inak by bola oveľa menšia triedy. Ponúkame, tiež, tieto veci my tzv priechody, videá natáčal v posunie o jeden z kurzu náuky chlapi, Zamyla, v ktorom vás prevedie týždeň problému súpravy, ktoré ponúkajú tipy a triky pre výzvy, ktoré ležia pred nami. A naopak, po základnej problémové okruhy sú vďaka, tento rok budeme tiež uvoľniť malé klipy volanie post-mortems, že v skutočnosti vás prevedie reprezentatívny riešenie, ako dobré a zlé, cez ktorý si môžete odvodiť, ako môžete mať, alebo by mal mať realizovaná vlastné riešenie. A čo budeme ponúkať prvýkrát aj tento rok, a to najmä pre študentov, ktorí využijú kurzu je iný zdrojov, ale napriek tomu sa stretávajú príliš veľa, kurz sám bude spárovať tých študentov, ako zdroje dovolia, s učiteľmi, aby budete mať oveľa intímnejší možnosť než jedálne dom umožňujú jeden na jedného pomôcť. Teraz konečnej letmý pohľad na niektoré konečných hier v nedohľadne. Tie by mohli byť oboznámení s CS50 hackathon. No, príde tento rok v decembri, od 08:00 PM do 07:00, na začiatku Čítanie obdobia bude mať príležitosť zhromaždiť so spolužiakmi - to by bolo asi 21:00 - počas ktorého sa ponoríte do konečnej realizácia projektu spoločne s spolužiaci, priatelia a jedlo. To by bolo asi 01:00, kedy Prvá várka potravín dorazil. A to je asi 04:00, že Najmä rok na CS50 hackathon. Ale pravda vyvrcholením kurzu je chcel veľtrhu CS50, areál pre celé Výstava z vašich vlastných finálnych projektov, ktoré rodina a priatelia sú vyzývajú, aby v našich personalistov a naši priatelia z priemyslu. To, napríklad, je pohľad 2000-plus ľudia, ktorí už sa zúčastnili v minulých rokoch. Výrazy ako je táto, nie sú nezvyčajné, a robiť to podobne spolužiaci potešenie z vecí, ste dosiahol. A v skutočnosti, na tento účel, máme start-of-termín udalosť, rovnako. Ak sa veci, ako je tento apel na vás, alebo ste aspoň zvedaví, čo to, viem, že nová tradícia Kurz sa nazýva CS50 Puzzle Day. A to bolo zavedené pár rokmi naozaj signál do areálu že počítačová veda nie je o programovania, a rozhodne to nie je o zahŕňa len tí študenti, ktorí majú predchádzajúce skúsenosti. Je to naozaj o riešenie problémov všeobecnejšie. A tak Puzzle deň, počas posledných niekoľkých rokov teraz, sa vyvinula v peknej Partnerstvo s našimi priateľmi na Facebook, kedy tam bude báječný ceny a pizzu cez rieku na i-lab tento rok v sobotu. Vypravte sa do tejto URL s dvoma alebo troma priatelia, ak chcete, aby sa podieľal v tejto novej tradícii. Takže by som sa chcel opýtať, že budete mať jeden vec na mysli, a máme len dve minúty klip, na ktorom uzavrieť dnes. 73% je číslo pamätať. Tortu taky, bude na vás čakajú mimo tento transeptu, ako sme len v odročenie pár momentov, čo je tradícia kurzu, rovnako. Ale to je kľúčový citát Samozrejme je osnova mať na pamäti. Čo nakoniec záleží v tomto kurze nie je tak kde ste skončili vzhľadom k svojim spolužiakom, ale kde tie, v 12. týždni, skončí vo vzťahu k si v týždni 0. Ale pohľad, že opustí vás sme sa tu dnes je posledný z nich tu naše Danielovi, kto to urobil wrdly videa pred chvíľou. Nechám vás s týmto pohľad toho, čo leží pred nami. A ako to urobíme, keby sme mohli mať CS50 pracovníci z prednej časti miestnosti prísť až na javisko, aby maľovať všetky viac vizuálny obraz, aby sa Čo vás čaká v tomto roku - ako trápne. Budeme uzatvárať s touto tu na obrazovke. [Prehrávanie hudby] DAVID Malan: Toto je CS50. [MUSIC - MATT & Kim, "to je v poriadku"] SPEAKER 1: Milujem CS50 viac ako mačky. SPEAKER 2: Whoaaaa! [Smiech] DAVID Malan: To je teda CS50. Uvidíme sa v piatok. [Potleskom a fandenie] Rozprávač: Na ďalšie CS50, na javisku demo nejde podľa plánu. DAVID Malan: Chceme nájsť Mike Smith v tomto telefónnom zozname. No, aké sú vaše inštinkty? Mohol by som skočiť približne do polovice telefónny zoznam, pozrel sa, vidieť, že Som na M, a teraz viem, že Mike Smith nie je na ľavej strane. Musí byť na pravej strane. A tak v tomto bode sme môžu doslova roztrhať - V tomto bode, môžeme doslova roztrhať - V tomto bode, môžeme obrazne roztrhnúť telefónny zoznam na polovicu. [Ukulele vybrnkávanie]