[Přehrávání hudby] [MUSIC - Rossini "Ranz DES Vaches "Od Vilém Tell] [MUSIC - ENGLISH BEAT, "BŘEZEN Z otočné hlavy "] [Potleskem a fandění] DAVID Malan: Tak tohle je CS50. Jmenuji se David Malan. A 73% z vás nemá žádnou předchozí zkušenost s informatice, v rozporu s tím, co byste si mohli myslet. Takže dnes jsme si mysleli, že odštípat na to, že nedostatek znalosti, ale také dá vám pocit, pro ty z vás, s více pohodlí, které směry můžete jít v tomto semestru. Takže začněme s tím. Já opravdu nemám ponětí, co je uvnitř počítač, i když, jako jste vy, jsem Používám ho každý den. Ale je to nějaký druh pole, a tam je není mnoho vstupy do něj. Minimálně tu, co? Pravděpodobně napájecí kabel. A skutečně s tímto jedné složky, elektrické energie, se zdá, že je schopen dělá docela dost v těchto dnech. Ale na konci dne, se mají reprezentovat věci že nám záleží. Musíme zastupovat informací v nějaké formě. A pak jste pravděpodobně alespoň nejasně obeznámeni s myšlenkou o binární nebo bity tak či onak, počítače snížena na nul a jedniček. Můžeme však přijmout, že i nejméně dát trochu světla na to? Tak jsem si to málo stolní lampy zde. Mám elektrickou zásuvku zde. A já jdu navrhnout, aby uvnitř ze svého počítače, je alespoň jeden z tyto věci, něco schopný o zapnutí nebo vypnutí. V tomto případě je to opravdu stolní lampa, ale na nižší úrovni, to je něco, co tzv. tranzistor. Ale v našem světě, je to stolní lampa, takže Chystám se jít dopředu a zapojte tento do mého elektřiny zde. A tvrdím, že pomocí tohoto jednoduchého, jednoduché zařízení, tento jednoduchý přepínač, jsem mohou představovat informace. Například, právě teď, jsem což nic, že ​​jo? Já jsem to, co představuje zavolám 0 nebo false, protiklad něčeho ve skutečnosti je přítomna. Ale když stačí jen zapnout tento přepínač, teď jsem si představoval jeden. Takže pomocí této velmi jednoduchý kus paměť, chcete-li, můžu zastupovat informace. Teď bohužel, můj počítač nemůže dělat všechno moc. To může představovat jen dvě hodnoty na celém světě - 0 nebo 1. Ale to, co je zřejmé řešení, teď, pokud chceme rozšířit náš počítač je paměť a reprezentují více než jen 0 a 1? Dobře, pojďme urvat další takovou trochu. Pojďme chytit další spínač, další tranzistor, ale chcete o tom přemýšlet. Nech mě jít napřed a zapojte tento do svého počítače také. A budu tvrdit, teď, že používat trochu více elektrické energie a soustružení více těchto přepínačů na a off, mohu představují více jako informace. Takže právě teď, je to jeden. Pokud chci v současné době představují 2, mohl jsem to udělat. Ale obvykle, konvence, jak my budeme nakonec vidět, bude mě to udělat. Tak to je 0, to je 1. To by bylo 2. A není divu, bylo by to 3. Takže tímto způsobem, se přesto mohou počítáme se ještě? Pokud dostanu třetiny trochu, třetí přepínač, co je to nejvyšší počet můžu teď počítat až od 0? Takže když jsem 7 začínající na 0, že jo? Protože když jsem zase na toto světlo a vlastně připojit tento třetí a poslední světlo do mé zásuvky tady, pak mám schopnost reprezentovat jakékoliv ze dvou hodnot, zde dvě hodnoty, zde dvě hodnoty zde - a tak mohu reprezentovat 2 krát 2 krát 2, nebo osm možných hodnot. A když začnu účetnictví na 0, tak to je 0, 1, 2, 3, 4, 5, 6, 7. Takže to binární. Je to opravdu tak jednoduché. A já bych tvrdit, že je to vlastně docela zná většina všichni v této místnosti. Nech mě jít dopředu a otevřít malý textový editor tady. A můžete vyvolat z základní školy že jsme měli věci jako stovky místo, desítky místo, a ty místo. A připomínají, že pokud jste měli nějaké desetinné číslo číslo, jako něco náhodného jako je 123, v podstatě byste napsat, že v podobě z těchto tří sloupců. A proč je 1, 2, 3, co známe jako 123? No, v levém sloupci, musíme jedno sto a dvě 10s, tak to je 120, plus tři 1s, tak to je 123. Teď to svět, který jsme právě svítí je přesně stejný jako jste byli obeznámeni s roky, s výjimkou teď, naše sloupce nejsou síly 10. Jsou to jen dvě pravomoci. Takže vzhledem k tomu, že je ti místo, tato bude místo dvojky, je to bude místo čtyřky. A protože jsem pouze s použitím nejjednodušší mechanismů, aby zhasl věci zapnutí a vypnutí - elektřina proudí nebo elektřina neproudí - Nemám úplně mít stejnou expresivní rozsah jako 0 až devět. Budeme držet to výborný jednoduché v tomto světě počítačů. Mám jen 0 nebo 1 - zapnutí nebo vypnutí, pravdivé, nebo nepravdivé. A tak to, co jsem právě teď představuje 1, 1, 1, protože každý z nich světla svítí. No, to mi dává jeden 4 a ještě jeden dva, takže to je 6 plus jeden jeden, a to je 7.. A ergo dělá tuto sekvenci tří bity představují počet 7. Takže celou tu dobu, uvnitř vašeho počítače, byly libovolný počet tranzistory, libovolný počet bitů. Ale na konci dne, se může představovat informaci tak jednoduše, jak to. Teď bohužel jsme Započítává až 7 v CS50 tak daleko, ale doufejme, že můžeme udělat něco lepší než to. A opravdu můžeme. Předpokládejme, že jsme jako lidé jen svévolně rozhodli, že budeme spojit čísla jako 1 a 2, 3, 4, 5, 6, 7, se specifickými písmen abeceda. A z historických důvodů, budu spustit trochu uměle, ale já jsem chtěl říct, lidi, budeme rozhodnout jako standard, na celém světě, že 65 představuje číslo písmeno A. 66 bude zastupovat B. tečka, tečka, tečka. 90 bude představovat písmeno Z. A předpokládejme, chceme-li skutečně dát nějaký Myslel na to, mohli bychom přijít s čísly na vykřičníky velká a malá písmena, a opravdu, ostatní lidé dělali to pro nás. Takže teď jsme měli kousky, se kterými můžeme představují čísla, čísla, se kterými můžeme představit dopisy, a s Písmena nyní můžeme začít skládat e-mailů a tisk znaky na obrazovce. Dovolte mi tedy pozvat, kdybych mohl, Osm statečných dobrovolníků - , kterým nevadí objevují nejen na fotoaparátu, ale na internetu - přijít sem a reprezentovat osm jako bitů, spíše než tito tři. Tak jak o jeden, dva? Jak asi tři? Jak asi čtyři ve světle modrá, pět na konci? O někom, než tady? Šest vpředu, sedm v přední části, a osm v přední části, jak je dobře. Tak jsem jen tak náhodou přišel připravený s celou partou papírky. A na těchto kouscích papíru jsou čísla které představují to, co sloupce vy se chystáte zastupovat. Takže si budou - Jak se jmenujete? STUDENT: Anna Leah. DAVID Malan: Anna Leah, ty bude 128s sloupec. Jste? STUDENT: Chris. DAVID Malan: Chris bude být 64s sloupec. Jste? STUDENT: Dan. DAVID Malan: Dan bude být 32s sloupec. STUDENT: Pramit. DAVID Malan: Pramit bude být 16s sloupec. STUDENT: Lillian. DAVID Malan: Lillian bude 8s. STUDENT: Jill. DAVID Malan: Jill bude být 4s sloupec. STUDENT: Mary. DAVID Malan: Mary budou 2s a? STUDENT: David. DAVID Malan: David bude být 1s sloupec. Takže pokud vy by mohla zvýšit trochu dopředu tak, že každý může vidět. Co vy nevidíte, že na zpět těchto proužky papíru malý tahák, který se chystá pokyn těchto osmi bity buď zvednou ruku, nebo ne zvednou ruku. Pokud se jejich ruka jde nahoru, jsou představuje 1. Pokud se jejich ruka zůstane na zemi, jsou to představuje 0. Mezitím jsme publikum by mělo být schopen přijít na to, na základě toho mapování, co tři-slovo dopisu tito lidé jsou o hláskovat. Takže za chvíli, budete přečíst první řádek ze zadní strany Váš tahák, a ať už jste seženeme, nebo ne zvednout ruku. Pokud jste jeden, můžete zvýšit, pokud jste 0, stojíte tam rozpačitě, stejně jako to. Přejít. Jaké číslo, v první řadě, jsou tito lidé představují? 66.. 66, ne? Máme jeden ve sloupci 64s, 1 ve sloupci 2s. To mi dává 66 tak, že se objeví k představuje B. So vy máte napsáno - OK, to stačí. B. Takže teď pojďme na náš druhý dopis. Přejít. Kdo je nejrychlejší v matematice tady? Tak 79. Opět platí, že pokud sečteme všechny sloupce ve kterém je 1, v současné době, právě stejně jako jsme to udělali předtím s nejjednodušší příkladů 7, nyní Číslo získáte 79. Což podle našeho mapování je Dopis O. Takže jsme skoro tam. B, O. A konečně, jít. Co to představuje nyní? Méně shoda. To je prostě absolutní šelest. Ano, je to ve skutečnosti 87. Dobře. Takže když jsme se zmapovat, kteří zálohují do - řekněme začít volat naši ASCII tabulku, Americká norma pro Výměny informací. To nám dává dopis - ne "bo", ale "luk". A to je perfektní narážka vy vzít luk a hlava na zádech. Děkuju mnohokrát. [APPLAUSE] DAVID Malan: Můžete si je nechat. I když ve skutečnosti by někdo jako stolní lampa, také? [HOOT u diváků] DAVID Malan: stolní lampa? [Smích] DAVID Malan: Opravdu? Stolní lampy pro všechny? Dobrá. Takže počínaje velmi nejjednodušší Principy, které jsme nyní nejen počítá nahoru od 0 po celou cestu až 7, máme Předpokládá se, že právě tím, že hodí více bitů nebo více světel nebo více tranzistory při řešení tohoto problému, můžeme představují stále větší čísla, a ergo, větší a větší rozsahy abeced, jako angličtině. A právě pojďme na víře dnes že podobně bychom mohli začít představují grafiku a video a všechny řada dalších médií, s nimiž jsme zná dnes. Tak to je CS50, a v této třídě vedle vás je opět velmi mnoho spolužáci, kteří mají tak málo, zkušenosti jako vy. A Zmiňuji se o tom jen proto, že zcela často, a to i v poslední době jako jeden ze prvák poradenství události a na Loni na jaře v druháku poradenství událost, často slýcháme studenti odmítají když přichází ke stolu UO, dobře, Přemýšlel jsem o přijetí této intro třída, ale já opravdu nejsem výpočetní člověk. Nebo, ale všichni jistě ví víc než já. A dal jsem to v největší písmo je to možné, sdělit tuto zprávu, která že to není ve skutečnosti případ. A pokud vás zajímá, měli I ve skutečnosti být? Uvědomujeme si, že nejen že je tento kurz je Název předmětu Úvod do počítače Věda, to je úvod do počítače Věda I. Takže tam je opravdu druhý takový úvod. Takže nejsi ve skutečnosti, na špatném místě. A mezi cíli mám pro dnešek jsou zmírnit Každé takové námitky, které byste může mít, ale také malovat obraz toho, co je v obchodě pro Studenti menší a pohodlnější podobně v tomto kurzu. Ale nejprve pár slov o jednom z prospektů máte dnes, mezi nimiž řada často kladených otázek. Byl to Naší vizí nějakou dobu nyní zavést nový třídění možnost do tohoto kurzu - jmenovitě, SAT / UNSAT. Filozoficky pro mě, je to mnohem, mnohem důležitější, že Studenti v této třídě zapojit materiál, je zastavena materiál a starosti daleko, daleko méně o mechanici skutečných skóre a dopis stupně na semestr je konec, ale opravdu obejmout kurz a jeho materiál. A opravdu je to vše, obecněji, za to, co je zajímavé pro ně, aby cítí napadena a odměněni, ale bez strachu z neúspěchu. A opravdu, toto je také opakující se téma v tomto a dalších úvodní Kurzy v jiných oblastech, které mají to rozechvění, pokud jde o uvedení něčí prsty u nohou neznámé vody. Já sám, v roce 1995, byl v prváku. Byl jsem velmi zaměřovaly na koncentrátor Gov zde. A přesto jsem vždycky vyrůstali s trochou podílu ve vědě o počítačích. Vždycky jsem byl zvědavý. Ale tenkrát, dokonce měl jsem strach i posílení nohou v CS50, tolik takže jsem se ani nakupovat to prváku. A jediný důvod, proč jsem dal nohu Dveře druháku, protože jsem bylo dovoleno, aby se to vyhovuje / nevyhovuje. Ale i vyhověl / nevyhověl vyžaduje, že jsem si do nervu, aby si schůzku s profesorem Kernehan v té době, aby tento velký arch papíru a požádejte ho pro jeho podpis a jeho povolení k prozkoumání Tyto neznámé vody. A to nepomohlo v posledních letech že při tom v CS50, když jsme býval vyhověl / nevyhověl, podobně jako by desítky či stovky svých spolužáků muset přijít, nedej bože, na Přední Sanders s touto formou, že v některých myslích představuje neschopnost, Troufám si říci, k provedení jsou na úrovni svých vrstevníků. Což je směšné, ale já si myslím, tam je to mentalita. A tam nikdy nebyl v této kultuře ze SAT / UNSAT, nebo vyhověl / nevyhověl více Obecně platí, že v tomto kurzu, nebo opravdu v tomto areálu. Takže letos jsme to změnili. Chtěl bych být u vytržení polovinu tato třída nebo více ukončena up s CS50 SAT / UNSAT. V průběhu jednoho roku, bylo by to skvělé když téměř všichni. Potom možná budeme pracovat na písmeno ročníků na Harvardu Vysoká škola obecně. Ale teď, uděláme to v rámci našeho vlastní koule, a já bych srdečně Doporučujeme, abyste si tyto časté otázky a klást otázky, jak uznáte za vhodné, aby se doufejme, že, na rozdíl ode mne, ne zcela mají stejný strach faktorem při zkoumat, co je pravděpodobně neznámé místo. Takže to, co je CS50? Jedná se o úvod do intelektuální podniky počítači věda a umění programování. Ale co to vlastně znamená? No, tak daleko, povídali jsme si velmi stručně o zobrazování informací. Ale předpokládejme, že chceme skutečně aby s tím něco udělat. Musíme zavést pojem co zavoláme algoritmus. Algoritmus je postup, proces, soubor instrukcí pro něco dělat. A algoritmus může být něco, Super jednoduché. Například, příklad s nichž některé z vás může být obeznámeni je to věc zde. Takže tato kniha je zde stále dne, ale kdysi to obsahuje spoustu jmen a telefonní čísla. A skutečně, když jsem chtěl najít někdo v tomto telefonním seznamu - říci, někoho jménem Mike Smith - Nemohl jsem najít Mike Smith v libovolném počtu z poměrně jednoduchých způsobů. Mohl bych začít od začátku a přejít na stránku 1, tam ne. Strana 2, tam není. Page 3. Je to, že algoritmus, který je proces, je to tak? Tak to je v pořádku, že jo? Jsem trochu idiot za to ji že způsob, ale nakonec budu najít příjmení S, a doufejme, že Mike je v tomto oddíle, a já budu stát udělal s mým algoritmem. Ale určitě to není intuitivní. Většina každý rozumný člověk v této pokoj by neměl dělat. Co byste udělali? Ty bys jít rovnou do středu, ne? Zhruba do poloviny. A vy si uvědomíte, oh, to jsou paní Takže Mike Smith, příjmení je Smith, není, tedy zřejmé, že v Levá polovina knihy. Musí být k S je v právu. A v tomto bodě, i když většina z nás nedělej to ve skutečnosti, můžeme doslova roztrhat tento problém na polovinu. [Fandění a potlesk] DAVID Malan: Děkuji. [Fandění a potlesk] DAVID Malan: Můžete doslova roztrhat to problém v polovině, takže mi, doslovně, což je problém poloviny tak velký. Takže pokud tento telefon kniha byla - a je to Pravděpodobně byla - asi 1000 stránek, nyní je to jen 500 Kč. Pokud bych to znovu a uvědomuji si, oh, sakra, jsem zašel příliš daleko, jsem v Ts část, mohu podobně - obrazně nebo doslovně - rip telefonního seznamu - to bylo vlastně mnohem jednodušší, že čas. Mohu doslova vyrvat telefonní seznam na polovinu, takže mě teď s ne 1000, a to 500 - 250 stran. A můžu jít 125, a polovina z toho, a polovina z toho, a půl z toho, až konečně budu odešel s jen jednu jedinou stránku. [Smích] DAVID Malan: To je část I selhat. Jediná stránka, na které Mike snad je. Nyní tyto různé algoritmy mohou být druh nebo vyhodnoceny v různými způsoby. První z nich byl velmi lineární, ne? Otočte stránku, podívejte se na Mika. Otočte stránku, podívejte se na Mika. Je to velmi lineární. Pokud je tu ještě jedna stránka v telefonu kniha, to asi bude trvat mě jeden druhého, jeden jednotku času, Nicméně jsme počítačového času. Takže jsem mohl kreslit takhle tento řádek zde, přičemž jako velikost problém se zvyšuje zleva doprava - Telefonní seznam se zmenší na větší - a čas se bude zvyšovat v svislá osa, větší telefonní seznam. Takže n je jen obecně proměnné, které počítačové vědci používají k reprezentaci nějakou hodnotu, nějaké číslo. Tak n poroste lineárně. Dvojnásobná velikost telefonního seznamu, je to mě vezme dvakrát tolik čas, s největší pravděpodobností najít Miku. Teď jsem mohl být inteligentní o tom, že jo? Jsem se nudit rychle. Mohl by to udělal po dvou. Takže dvě stránky, pak čtyři, pak šest, pak osm. A mohl bych létat přes to trochu rychleji, i když v menší riziko překročení Mike, ale že křivka není bude všechno jinak. Je to ještě bude rovný vedení, ale o něco rychlejší. Ale co mám dělat? Vlastně jsem udělal něco zásadně lepší. Jsem dosáhl toho, co budeme říkat logaritmické čas, log n, přičemž tato zelená linka má mnohem, mnohem, mnohem méně rovná hrana na to. A spíše to naznačuje, jak to nějak blíží k nekonečnu někdy tak postupně, že jsem mohl skutečně vzít 1000-page telefonní seznam, zdvojnásobí svou velikost příští rok - protože předpokládám hodně více lidí přestěhovat do města. Takže teď mám 2000 stránek, ale jak mnoho dalších kroků, které je chytřejší Algoritmus bude trvat? Jen jeden. Myslím, že je to mocná věc. Pokud půjdeme na 4000 stran v příštím roce, že to bude trvat mě Pouze další dva kroky. Takže můžete hodit větší a větší problémy se na mě, ne na rozdíl webu je házení větší problémy každý den na Googlu a na Facebooks svět, a to není tak velký problém. Protože jsem si více pozornosti a péče do můj algoritmus, se kterým řešit problémy efektivně. A ve skutečnosti, že se jeden z cíle tohoto kurzu. Budete, podél cesty, naučit se programovat. Dozvíte se, jak se programovat libovolný počet jazyků. Ale na konci dne, je kurz o řešení problémů a získávání lepší řešení problémů - a, stejně jako v případy, jako je tento, řešení problémů efektivněji. Nyní tak daleko, udělali jsme to poměrně intuitivně. Pojďme si představit něco spravedlivě obecný volal pseudocode. Takže budeme nakonec dostal, V tomto kurzu se různé programovací jazyky. Ale dnes to uděláme v anglicky jako syntax, kde se tak trochu říct, co máte na mysli, ale ty jsi někdy tak stručné a vy se nemusíte starat o gramatika a celé věty. Jenom vyjádřit sám sebe jako stručně, jak je to možné. Takže pseudokódu je angličtina-like syntax, která představuje programovací jazyk. A k tomuto účelu, dovolte mi navrhnout, aby začít modelovat proces jsme jen popsáno počítání něco trochu jinak, tentokrát s podívej se na tuto pět minut vyrobeného videa našimi přáteli na TED, že definuje, co je pseudokódu, definuje to, co algoritmické myšlení je, a dokonce když například jste asi vidět je v samo o sobě, super jednoduché, je to začnou se nám duševní model, slovní zásobu, s níž se to mnohem složitější algoritmy poměrně rychle. [BEGIN Přehrávání videa] [Přehrávání hudby] Vypravěč: Co je to algoritmus? Ve vědě o počítačích, algoritmus je sada instrukcí pro řešení některých Problém krok za krokem. Obvykle se provádí algoritmy o počítačích, ale my, lidé mají algoritmy, jakož i. Například, jak byste o počítání počtu lidí, kteří v pokoji? No, pokud jste stejně jako já, to by asi bod na každou osobu, po jednom čas a počítat od 0. 1, 2, 3, 4, a tak dále. No, to je algoritmus. Ve skutečnosti, zkusme jej vyjádřit trochu více formálně v pseudokódu - Angličtina-jako syntax, který se podobá programovací jazyk. Nechť n rovno 0. Pro každou osobu na pokoji, nastavte N roven N plus 1. Jak interpretovat tuto pseudocode? No, jedna linka prohlašuje, abych tak řekl, proměnná s názvem N a inicializuje jeho hodnotu na 0. To prostě znamená, že na začátku roku náš algoritmus, věc, se kterou Počítáme má hodnotu 0. Koneckonců, než začneme počítat, jsme se nepočítají zatím nic. Volání této proměnné N je jen konvence. Mohl jsem to nazval téměř všechno. Nyní řádek dva demarks začátku smyčky, sled kroků, které opakovat určitý počet opakování. Takže v našem příkladu krok bereme se počtu osob v místnosti. Pod řádek je řádek tři, , který popisuje, jak přesně budeme jít o počítání. Odsazení znamená, že je to řádek tři, které se bude opakovat. Takže to, co se říká, je pseudokódu , že po spuštění na 0, pro každou osoba v pokoji, budeme zvyšují o 1 N. Nyní je tento algoritmus správné? Dobře, pojďme bang na to trochu. Funguje to, pokud existují dva lidé v místnosti? Pojďme se podívat. V prvním řádku, se inicializovat N na 0. Pro každý z těchto dvou lidí, jsme pak přírůstek do N 1. Takže na první cestě smyčky, se aktualizovat N 0-1. Na druhou cestu přes ten stejný smyčka, aktualizujeme N 1-2. A tak tímto algoritmem je konec, n je 2, který skutečně odpovídá počtu lidé v místnosti. Tak daleko, tak dobrý. Jak se o rohové případě, i když? Předpokládejme, že existují lidé, 0 v místnosti - kromě mě, kdo to dělá počítání. V prvním řádku, se inicializovat N na 0. Tento čas však řada tří let ne spustit vůbec, protože tam není osoba v pokoji. A tak zůstává N 0, což odpovídá počet lidí v místnosti. Docela jednoduché, ne? Ale počítání lidé jeden po druhém je docela neefektivní, taky ne? Jistě můžeme udělat lépe. Proč ne počítat dva lidi najednou? Místo toho, aby počítání 1, 2, 3, 4, 5, 6, 7, 8, a tak dále, proč se nepočítá, 2, 4, 6, 8, a tak dále? Je to dokonce vypadá rychlejší, a to jistě je. Pojďme vyjádřit tuto optimalizaci v pseudokódu. Nechť n rovno 0. Pro každou dvojici lidí v místnosti, nastavit N rovno N + 2. Docela jednoduchá změna, ne? Spíše než počet lidí, jeden v době, místo toho jsme počítat je po dvou. Tento algoritmus je tedy dvakrát tak rychle, jak poslední. Ale je to správné? Pojďme se podívat. Funguje to, pokud existují dva lidé v místnosti? V prvním řádku, se inicializovat N na 0. Pro ten jeden pár lidí, se pak zvýšit N dvěma. A tak tímto algoritmem je konec, N 2, který skutečně odpovídá počtu lidé v místnosti. Předpokládejme, že existují další 0 lidí v místnosti. V prvním řádku, se inicializovat N na 0. Stejně jako dříve, řádek tři nespustí vůbec, protože tam nejsou žádné páry lidí v místnosti. A tak zůstává N 0, což ostatně odpovídá počtu lidé v místnosti. Ale co když jsou tam tři lidé v místnosti? Jak tento algoritmus jízdné? Pojďme se podívat. V prvním řádku, se inicializovat N na 0. Pro pár těchto lidí, jsme pak přírůstek do N 2. Ale co potom? Zda je na plný pár lidí v místnosti, takže řádek dva ne již neplatí. A tak tímto algoritmem je konec, N je stále 2, což není správné. Ve skutečnosti, je tento algoritmus říká, že je buggy, protože má chybu. Umožňuje nápravy s nějakým novým pseudokódu. Nechť n rovno 0 pro každou dvojici lidí v místnosti. Sada N rovno N + 2. Pokud jedna osoba zůstává nepárová, nastavit N roven N plus 1. Chcete-li vyřešit tento konkrétní problém, máme zavedla v řadový čtyřválec, stav, jinak známý jako složka že se provede pouze v případě, že je jeden osoba, které jsme nemohli dvojice s jiným. A tak nyní, zda je jeden nebo tři nebo lichý počet lidí pokoj, tento algoritmus bude nyní počítat. Můžeme to udělat ještě lépe? No, mohli bychom počítat 3s nebo 4s, nebo dokonce 5s a 10s, ale za to, že je to dostane trochu těžké bodu. Na konci dne, ať již je provedena pomocí počítačů nebo lidí, algoritmy jsou jen soubor pokynů se která řeší všechny problémy. Tito byli jen tři. Jaký problém chcete vyřešit s algoritmem? [END PŘEHRÁVÁNÍ] DAVID Malan: To je jediný okamžik, kdy Já se objeví ve formě karikatury. Ale kde ten příběh skončí, nyní je, jak můžeme dělat lépe? Trojky a čtyřky, tvrdíme, se můžeme spolehnout lidé mnohem rychleji, ale můžeme to zásadně lepší, než tohle? A vsadím se, můžeme. Pokud si představíme trochu naše vlastní pseudokódu tady, jdu navrhnout že můžeme dosáhnout řádek podobný tomuto. Nebudeme počítat lidí jeden, dva, tři, čtyři. Nebudeme chodit dva, čtyři, šest, osm. Chystáme se dělat zásadně lepší přehodnocením problém, a v tomto případ, využitím jinak nevyužité zdroje. Za chvíli, doufám, že mi odpustíte a humor nás tím, že stojí v místo, na kterém místě budeme požádat každého z vás, aby se ve vašem mysli číslo 1. Ty pak bude stále nemotorně, jak čas ubíhá, najít někdo jiný, kdo stojí, kombinovat vaše čísla dohromady přidáním je. Jeden z vás se pak bude závodit sedět se první a druhá osoba bude opakovat. Takže jinými slovy, že se nasadí všechny ty s číslem 1 a poté kombinující ty 1s do 2s a ty 2s do 4s, s každým dál sedět, měli bychom se na konci roku tento algoritmus, mít jen jeden úvěr, duše, která nesedl dost rychle, ale který má celý publikum počet v jeho mysli. Takže pokud chcete, pojďme dál a - první krok - postavit na místě. A spustit. [Dav mumlání] DAVID Malan: Víte, kde Lauren je? 729? [Dav mumlání] DAVID Malan: V pořádku? [Dav mumlání] DAVID Malan: Dobře, měli bychom se blíží ke konci. Vidíme jeden chlapík stojící stále tady. Kdo jiný potřebuje být spárován? Pokud vy chcete spárovat. Někdo se nahoře. Proč nemohu podat pomocnou ruku zde. Pro velmi málo lidí, kteří jsou stále stojí, jaká čísla se vám mají ve své mysli? STUDENT: 78. DAVID Malan: 78 plus - kdo by to stát tady dole? STUDENT: 39. DAVID Malan: Plus 39. Navíc, kdo jiný ještě stojí? 81? OK, kdo jiný? Další 81? Wow. A pak to, co je v zádech? STUDENT: 49. DAVID Malan: 49 plus? STUDENT: 98. DAVID Malan: 98 Plus? Je to někdo jiný? 12? Dobrá práce. [Smích] DAVID Malan: Oh, 112 - oh. Dobrá práce! [Smích] [APPLAUSE] DAVID Malan: Někdo jiný ještě stojí? Je nám líto? STUDENT: 99. DAVID Malan 99. Někdo jiný ještě stojí? A celkový počet studentů zde je ve skutečnosti, v závislosti na - máte číslo? Oh, skutečný počet lidí místnosti, v závislosti na účtu, který učební chlapi dělali na každého cesta dovnitř, bylo 729. Takže z místnosti plné studentů Harvardu který počítal sám, Odpověď je 637. [Smích] DAVID Malan: Tak blízko. Ale přesto. OK, tak to je učení moment, že jo? To je to, co teď můžeme označit za chybu. Někde po cestě jsme udělali některé aritmetický špatně, nebo někdo posadil, nebo vlevo, nebo se něco pokazilo. Ale to je v pořádku. Protože i přesto, jsme dostal docela blízko. A já bych tvrdit, že jsme se dostali do špatné zodpovědět mnoho rychleji, než bych si přes můj další lineární přístup. Takže předpokládejme, že jsme ve skutečnosti, že se opravit, ale že teď na to, co se děje pokaždé, proti mé vlastní naivní ukázal algoritmus. Jedna, dva, tři. V případě, že jsou skutečně 729 nebo 637 lidí tady, to by mě vzít doslova 637 nebo 729 pointings prstu a zvyšování můj celkový počet. A co jsem mohl udělat trochu lépe jít dva, čtyři, šest, osm a zdvojnásobit rychlost, možná i tří nebo čtyřnásobný, podle toho, jak dobře jsem si tomu, že počítání v mé hlavě. Ale tento přístup, který jste se zásadně liší. Vzhledem k tomu, na začátku, všechny z vás, vstal. Takže vše 729. A pak doslova polovina z vás se posadil. A poté, další polovina z vás se posadil. A poté, další polovina z vás se posadil. A celkový počet, kolikrát jste kluci mohli posadil je zhruba osm nebo devět nebo deset celkové časy, v závislosti na tom, co náš celkový počet je. A můžeme se nějak udělat to na druhou stranu. Pokud bychom měli 1024 lidí v místnosti, Celkový počet opakování byste mohli 1024 polovinu lidí je 10. Teď o tom přemýšlet v opačným směrem. Předpokládejme, směšně, že jsme měli, řekněme čtyři miliardy lidí v této místnosti, nebo o něco větší prostor. Kolikrát jsme šli prostřednictvím tohoto algoritmu, tak, že polovina této třídy sedne? Je to jen bude trvat 32 jako operace, a to i ve třídě o velikosti čtyři miliardy. Proč? Protože čtyři miliardy půjde na dva mld. Kč, jde do jednoho milionu, jde 500 milionů jde na 250 milionů, tečka, tečka, tečka. Můžu dělat jen tímto rozdělením nějakých 32 doba, na kterém místě, všichni, kromě jedna osoba by měla zůstat stát. A to je také trochu silný Představa, že stále více se budeme snažit využít v tomto kurzu, a programování a počítačové vědy více Obecně platí, že tyto zárodky nápadu s které pak mohou řešit problémy mnohem, mnohem silněji. Začali jsme docela jednoduché s tím pseudokódu a chlap v místnosti, ale nyní s celé místnosti plné lidí jsme udělali podstatně lépe. Dobře, pojďme se přechod od pseudokódu nějaké skutečné kódu. Tento jazyk se chystáte, aby se stalo být nazýván JavaScript, a vrátíme se k tomu Semestr je konec. Je to programovací jazyk, který použít, aby se webové stránky a jiné takové software v těchto dnech. A my jsme použili, díky příteli náš na Stanfordu, kódovat nějaký skrytý informací naleznete zde. To je umění steganografie, abych tak řekl, kde se můžete schovat informace v tom, co se zdá jinak být šum nebo úplně jiná obrázek dohromady. Ale vložený v tomto obrázku je opravdu tajná zpráva druhů. Tak mě nech jít dopředu a vytáhněte stejný obraz tady, toto tentokrát ve webovém prohlížeči. A budu mávat ruku na některé z podrobnosti pro dnešek, zejména pro ty z vás, kteří to vypadá jako nejen JavaScript, ale řecká, jako zcela neznámé jazykem. Ale to je příklad programovací jazyk. A teď se na víře, že První řádek kódu - a podle kódu, právě jsem na mysli text. Text, který jsem mohl doslova napsal do aplikace Microsoft Word, kdybych měl správný software do té doby s tím něco udělat. Zdrojového kódu, programování kód, je opravdu jen textu, a to vypadá jinak, na základě toho, co jazyk , kterou používáte, není na rozdíl od angličtiny a Španělština a ruština vše vypadat jinak Při psaní je na vaší klávesnici. Takže ten první řádek, teď se na víra, prostě otevře grafiku z internet, že hlučné grafický jsme právě viděli. Tento další řádek je zde příklad smyčka, a jsme skutečně viděli, že stejný žargon ve videu TED. Smyčka je něco, co se stane znovu a znovu, a to i přesto, absolutně vypadá tajemný, s Klíčové slovo pro, a některé závorky a některé středníky. Vrátíme se k tomu zanedlouho, ale, že smyčka je v podstatě je říká programu, iterovat přes všechny z těchto bodů hlučných zleva doprava, shora dolů. Vzhledem k tomu, na konci dne, obrázek takhle - a můžete skutečně druh vidět na tomto projektoru - je opravdu jen mřížka bodů. Takže můžeme určit každý z těchto bodů pomocí souřadnic x, y, a to Program lze nyní začneme něco na ty tečky. Takže já jdu dopředu a tady to je Chystám se udělat nějaké změny. První Chystám se jít dopředu a zbavit na všech, které nazelenalá a modra hluk, a já jdu do toho a zadejte následující sice tajemné syntaxe. im pro obraz. nastavit modré na souřadnicích x, čárka, umístění y, na 0. Jinými slovy, chci jen vypněte všechny modré tečky v tomto obrázku. Chystám se jít dopředu a klikněte to Run / tlačítko Uložit, a budete Všimněte si na pravé straně, výsledný obraz objeví. Nyní je Super zelená, ale to není překvapující, protože jsem doslova obrátil off, tím, že 1 je 0, všichni modrá v uvedeném obrázku. No, teď pojďme to udělat trochu víc. im pro obraz, tečka setGreen, x, y. A to jen znamená, že iterate zleva doprava a shora dolů. Vypni to s hodnotou 0, stejně. Uložit. A na projektoru, můžete ve skutečnosti opravdu vidět vůbec nic. Na mém notebooku obrazovce, když jsem nahlédnout do právě správná cesta, vidím trochu obrázek, protože jsou stále nějaký červený tam. Pokud jste někdy slyšeli zkratku RGB - červená, zelená, modrá - to s odkazem na toto složení z obrazu pomocí Jen tyto tři barvy. A právě teď jsme vyhodit všechny zelené, celé modré, ale že to není moc červené. Takže dovolte mi nahodit červené. Jak to mohu udělat? No, v první, jdu se zeptat tento program otázka. Chystám se jít do toho a říkejme ji proměnné, stejně jako v algebře. Můžete mít x nebo y nebo z. Budu deklarovat proměnnou a říct, dát do této proměnné, dočasně, hodnota obrazy getRed hodnotu na x, y. A opět vrátíme se na všechny tohoto detailu v budoucnosti. Ale teď, jen se na víře, že tato položka se ptá program, co je hodnota červené na x, y? V tomto konkrétním bodu? Pak budu dělat něco k tomu. Pak budu dělat obrázku dot sada červená na x, y, y, ale tentokrát budu podpořit ji dělá červené krát, řekněme, 10. Tak zvýšit o faktor 10. Dovolte mi, abych oddálit nyní klepněte na tlačítko Spustit mohl / Uložit. A voila, že tam byl celý čas, i když naše lidské oči nedokázal vidět. Takže znovu, teď je skutečný kód, příklad jazyka, který Přijdeme zpět zanedlouho. Ale uvědomit, zejména ty z vás, bez této zkušenosti, je to docela brzy, že my sami budou psát kód, jako že. Ve skutečnosti je nástroj, pomocí kterého jste všichni trochu znát, možná je to CS50 vlastní kurz-shopping nástroj, který byl vlastně restartován letos v létě některé vlastních CS50 bývalých studentů, se nyní TFS. Tak tohle se stane být postavena webová stránka v jazyce PHP s názvem. Využívá databázi MySQL s názvem věci s nimiž se dostaneme do rukou špinavé později v semestru. Ale věřte tomu nebo ne, i něco jako je to v konečném důsledku snižuje na Nejjednodušší smyček a podmínek a odvětví, jako například těch, které jsme viděli jen Před chvílí ve videu TED. To, co jsem si myslel, že to je nyní podíl není prostě něco, co jsme udělali zaměstnanci pro kampus, ale spíše něco bývalý student - tři studentů, ve skutečnosti - dělal minulý rok, Sierra, Daniel a Sam, poslední z nich neměl před programování zkušenosti když si vzal CS50. A pro závěrečného projektu, ale vystaveny, na CS50 veletrhu, Aplikace s názvem wrdly, který je webový program, pro který oni dělali toto video, které jsem myslel, že sdílet se vám smysl jen to, co je možný termín je konec. [Přehrávání hudby] DAVID Malan: To je týden od nuly do 12. týdne v minulém roce. [APPLAUSE] DAVID Malan: Jako ukázku, taky, opravdu povzbudit chuť k jídlu, je to, co je je to možné, jste mohli zaznamenat již nebo může brzy vidět, market.cs50.net, a nový nástroj, který v průběhu tým má pracuje na, tentokrát v spolupráci s Harvard Student Agentury tak, že od letošního roku a doufejme, že i nadále do tohoto přichází létě budete mít standard příležitost na akademické půdě koupit a prodávat věci, které vás zajímají. A s pomocí partnerství HSA, budete také moci k poklesu položky off v jednom z kamenných obchodech HSA je v některých v budoucnosti, tak, aby se Proxy věci, zejména pokud vás absolvent a nemusí nutně chtít zbavit věcí, ale ve skutečnosti ji zaplatit předat lidi, kteří by mohli následovat vás tady na akademické půdě. Takže více o tom přijít. Ale trochu konkrétněji, nástroj který přišel z CS50 v posledních letech roky, s níž někteří z vás by mohl být známé a jiní z vás může být googling teď, v CS50.net/2x, budete najít odkaz na rozšíření Chrome který je demonstrativní, jak můžete používat JavaScript, tentýž jazyk se použít Eiffelovy věže před chvílí, provádět 2x rychlosti přehrávání pro všechny Harvardu videa iSites. To je něco, co je postaven do vlastního CS50 je video přehrávač. Ale i to, když se vám začnou kopat do zdrojového kódu, které my budeme šťastně zpřístupnit, uvidíte, jak můžete dokonce řešit problémy, jako je to, urychlení widgety na webových stránkách s které jste již dobře obeznámeni. Takže slovo nyní v kurzu, a očekávání a to, co leží před námi. Obecně platí, že budeme skutečně získat zde v pondělí a ve středu - i když tento pátek, budeme sbírat, protože Shopping týdne - 01:00-14:00, ačkoli někdy až do 02:30. Vzhledem k tomu, že by proto chtějí, nebo muset vzít nějaké třídy v 14:00 kupředu, nebo i před Uvědomujete si, Kurz je podporuje, co se nazývá simultánní zápis, přičemž my budeme podporu petici Radou Ad a Váš pobyt děkani vaším jménem, ​​pokud Máte konflikt někde v tomto 1:00-02:30 rozsah. Adresa URL této on-line na další detaily. Ale pokud jde o nosné konstrukce který charakterizuje CS50, pro studenty více a méně pohodlné podobně, jsme Nabízíme různé stopy sekcí. A to je pár týdnů pryč, ale Netrvalo dlouho a budete požádáni, aby vaše úroveň pohodlí. Jste mezi ty méně pohodlné, pohodlnější, nebo někde mezi? A budeme mít tři odlišné skladby, které obstarávají právě ty diváci. Takže v žádném okamžiku v termínu měli byste dokonce pocit, že budete soutěžit proti každému studentovi se více nebo méně pozadí než vy. Ve skutečnosti je samozřejmě chtěl být mnohem více spolupráce a mnohem otevřenější než to. Pokud jde o základní problémové okruhy, budete najít také, že kromě Standardní vydání každého týdne problému nastavení, je to často "hacker vydání ", který je určen k cílené na 5% až 10% nebo tak demografické, kdo je opravdu mezi ty pohodlnější a chtěli byste více náročnější než standardní vydání tohoto Pset očekává. Více informací o těch, které mají být najdete v sylabu. Ale i tam lze nalézt podrobnosti na kurzech pozdní dní. Typicky problém sady jsou splatné ve čtvrtek. Nicméně, můžete rozšířit mnohé z vašich termíny letos na podzim od čtvrtka do Pátek jednoduše tím, že setkání s námi na půli cesty, abych tak řekl, odpovědi na několik warm-up otázky v některé z týdne problému sady, bude to automaticky pak vám extra 24 hodin. Budeme také pokles vaše nejmenší skóre, dle sylabu. Chcete-li vám o tom, co je problém sady jsou - protože je to opravdu Kurz je problém, který stanovuje nakonec definovat téměř každý studenta zkušenosti, víc než přednášky, víc než sekcích, více než většina jiných aspekt předmětu. V loňském roce jsme například začali jako začneme letos s Scratch. Právě tento pátek budeme používat pro jen jeden den čas, grafický programovací jazyk, s nímž my budeme začít s programováním přetažením klesá dílků, že pouze sestavit fyzicky, pokud to dává smysl k tomu logicky. Příští týden budeme rychle přechod na C, docela starý, ale velmi malé a jednoduchý jazyk, který nám umožní opravdu jít od 0 do 60 v průběhu Během pár týdnů, a pak přednosti tytéž znalosti a dovednosti Základní programovací konstrukty do vyšší programovací jazyky jako PHP, JavaScript, a ještě jiní stále. Loni třetí pset v průběhu bylo, že kryptografie, domény specifické pro aplikace, kdy jsme napadla studenty provést jakýkoli počet šifer, programy, s nimiž k zakódování a dekódování informace, na zašifrovat. Pro hackera vydání, naopak, Dali jsme se hacker studentům soubor ze standardního počítače Unix obsahující uživatelská jména a hesla, latter který byl zakódován, a my napadal ty hacker studenty k dešifrování, jak nejlépe mohli, ty hesla, stále na to stejnou doménu. Scramble, hra, se kterou někteří z vás jsou možná povědomá. Forenzní kousek, kde žádáme studenty obnovit data, která byla jinak odstraněn z mé vlastní digitální fotoaparátu paměťová karta Compact flash, podle a psaní software, aby zjistili, kde byli nuly a ty v že digitální fotoaparát, který dříve skládal JPEG grafiku? Výzva druhů v loňském roce zahrnující psaní nejrychlejší Kontrola pravopisu je to možné, soutěží s přáteli a spolužáky, pokud oni chtěli. Provádění Huff 'n Puff, kompresní program. A pak končí semestr, s CS50 Finance, webová aplikace s které vytvoříte ETrade-jako webové stránky nakupovat a prodávat akcie, tak mluví, tím vlastně táhne téměř real-time citace Yahoo! Finance. To, co jsme neudělali v loňském roce jeden problém sada, která zůstává nicméně oblíbené. Pokud jste nikdy šel do shuttle.cs50.net, uvidíte uživatele rozhraní trochu jako je tento. Ale před dvěma lety, třída realizována pomocí Google Maps a Google Earth plug-in a trochu důvtipný s řízením po kampusu, tak, že cílem této hry je, jak můžete vidět některé z tváří, je řídit po kampusu hledá zaměstnanci, kolegové výuky a CAS, a když to uděláte, jejich uvádění do vašeho shuttle bus. Žádný z nich ve skutečnosti se zdá, že je zde, takže budeme zadávat kódy. [Smích] DAVID Malan: Tak jdeme. Dobrá. A tady je personál přichycena po celém areálu. A jak můžete vidět, na pravé straně obrazovky, shuttle bus má prázdná místa. A cílem bylo napsat kód, pomocí kterého simulovat řízení a nástup a pád výstup a nástup cestujících. Že jeden, i za použití jazyka volal JavaScript. Takže si uvědomit, že programy, jako je, že bude být na našem stejné trajektorii tohoto rok, jakož i. V podmínkách, nyní dodatečné podpory, máme úřední hodiny. Jak jste mohli vidět ve vlastním domě jídelna nebo Annenberg, budeme v domě stolování haly čtyři noci v týdnu - Leveretta PfoHo, Eliot a Annenberg v letošním roce, 20:00-23:00. A co jsme si řekli, že to letos je něco trochu jiného. Pokud jste slyšeli hřmění že v loňském roce to bylo příliš stresující, to Letošní úřední hodiny, jak budeme popisovat příští týden, bude více organický, kdy po příjezdu, budete odeslány do jedné konkrétní tabulky kde více zaměstnanci čekají, a my budeme dělat věci mnohem více organicky. Žádné fronty, žádná iPad, ale raději intimnější konverzace kolem stolu jen osm nebo tak studenti, tak, že se přibližný pocit z toho, co jinak by byla mnohem menší třídy. Nabízíme, také, tyto věci my tzv. průchody, videa natáčel v posune o jeden z kursu nauky chlapi, Zamyla, ve kterém vás provede týden problému soupravy, které nabízejí tipy a triky pro výzvy, které leží před námi. A naopak, po základní problémové okruhy jsou díky, letos budeme také uvolnit malé klipy volání post-mortems, že ve skutečnosti vás provede reprezentativní řešení, jak dobré a špatné, přes který si můžete odvodit, jak můžete mít, nebo by měl mít realizována vlastní řešení. A co budeme nabízet poprvé i letos, a to zejména pro studenty, kteří využijí kurzu je jiný zdrojů, ale přesto se potýkají příliš mnoho, kurz sám bude spárovat ty studenty, jak zdroje dovolí, s učiteli, aby budete mít mnohem intimnější možnost než jídelny dům umožňují jeden na jednoho pomoci. Nyní konečné letmý pohled na některé konečných her v nedohlednu. Ty by mohly být obeznámeni s CS50 Hackathon. No, přijde letos v prosinci, od 08:00 PM do 07:00, na začátku Čtení období bude mít příležitost shromáždit se spolužáky - to by bylo asi 21:00 - během kterého se ponoříte do konečné realizace projektu společně s spolužáci, přátelé a jídlo. To by bylo asi 01:00, kdy První várka potravin dorazil. A to je asi 04:00, že Zejména rok na CS50 Hackathon. Ale pravda vyvrcholením kurzu je chtěl veletrhu CS50, areál pro celé Výstava z vašich vlastních finálních projektů, které rodina a přátelé jsou vyzývají, aby v našich personalisty a naši přátelé z průmyslu. To, například, je pohled 2000-plus lidé, kteří už se zúčastnili v minulých letech. Výrazy jako je tato, nejsou neobvyklé, a dělat to podobně spolužáci potěšení z věcí, jste dosáhl. A ve skutečnosti, k tomuto účelu, máme start-of-termín událost, stejně. Pokud se věci, jako je tento apel na vás, nebo jste alespoň zvědaví, co to, vím, že nová tradice Kurz se nazývá CS50 Puzzle Day. A to bylo zavedeno pár lety opravdu signál do areálu že počítačová věda není o programování, a rozhodně to není o zahrnuje pouze ti studenti, kteří mají předchozí zkušenosti. Je to opravdu o řešení problémů obecněji. A tak Puzzle den, během posledních několika let nyní, se vyvinula v pěkné Partnerství s našimi přáteli na Facebook, kdy tam bude báječný ceny a pizzu přes řeku na i-lab letos v sobotu. Vypravte se do této URL se dvěma nebo třemi přátelé, pokud chcete, aby se podílel v této nové tradici. Takže bych se chtěl zeptat, že budete mít jeden věc na mysli, a máme jen dvě minuty klip, na kterém uzavřít dnes. 73% je číslo pamatovat. Dort taky, bude na vás čekají mimo tento transeptu, jak jsme jen v odročení pár momentů, což je tradice kurzu, stejně. Ale to je klíčový citát Samozřejmě je osnova mít na paměti. Co nakonec záleží v tomto kurzu není tak kde jste skončili vzhledem ke svým spolužákům, ale kde ty, ve 12. týdnu, skončí ve vztahu k si v týdnu 0. Ale pohled, že opustí vás jsme se zde dnes je poslední z nich zde naše Danielovi, kdo to udělal wrdly videa před chvílí. Nechám vás s tímto pohled toho, co leží před námi. A jak to uděláme, kdybychom mohli mít CS50 pracovníci z přední části místnosti přijít až na jeviště, aby malovat všechny více vizuální obraz, aby se Co vás čeká v tomto roce - jak trapné. Budeme uzavírat s touto tady na obrazovce. [Přehrávání hudby] DAVID Malan: Toto je CS50. [MUSIC - MATT & Kim, "to je v pořádku"] SPEAKER 1: Miluji CS50 více než kočky. SPEAKER 2: Whoaaaa! [Smích] DAVID Malan: To je tedy CS50. Uvidíme se v pátek. [Potleskem a fandění] Vypravěč: Na další CS50, na jevišti demo nejde podle plánu. DAVID Malan: Chceme najít Mike Smith v tomto telefonním seznamu. No, jaké jsou vaše instinkty? Mohl bych skočit zhruba do poloviny telefonní seznam, podíval se, vidět, že Jsem na M, a teď vím, že Mike Smith není na levé straně. Musí být na pravé straně. A tak v tomto bodě jsme mohou doslova roztrhat - V tomto bodě, můžeme doslova roztrhat - V tomto bodě, můžeme obrazně roztrhnout telefonní seznam na polovinu. [Ukulele vybrnkávání]