>> [Přehrávání hudby]
>> [APPLAUSE]
>> David J. Malan: To je CS50, Úvod Harvard University
k duševnímu podniky informatiky
a umění programování.
Nyní, pokud patříte k těm, které Každý rok se tu sedí
s trochu nervů ve vaší mysli, jako , že si nemyslím, že sem patřím,
si myslíte, že nejvíce někdo sedí kolem vás
ví mnohem víc než vy, je skutečně pohodlnější než ty u počítače
věda nebo počítače obecněji, realizovat
že 78% studentů, kteří se se CS50 mít žádné předchozí zkušenosti.
>> Ve skutečnosti, tam je 100 bodů tam na displeji, 78, z nichž
jsou zeleně, která vás znamená, pokud jste mimo, že demografické,
jsou ve velmi dobré společnosti zde na ven.
A pokud jste místo mezi 22% CS50 studentů, kteří to opravdu
mít předchozí zkušenost, ať už v vysoké školy nebo nějaký jiný program,
uvědomit si, že i vy, bude být zpochybněna v průběhu.
>> Nejen, že máme různé stopy pro studenty méně pohodlná a více
komfortní podobně v oddílech jsme také takzvané hackerské vydání
z nejvíce problémové okruhy, které Dotkne se těm studentům,
s tím další zkušenosti prozkoumat podobný materiál
ale z více sofistikovaný pohled.
>> Ale to, co je počítačová věda?
No, nakonec, co se děje na ohledu na to, jak si prohlédnout toto pole není
tak kde jste skončili ve vztahu ke svým spolužákům,
ale tam, kde vy sami skončí v týden 12 proti, kde začnete zde
v týdnu nula.
Nyní počítač science-- dobře, pojďme říkat věda computation--
kde výpočet je opravdu jen ozdobný způsob, jak říkat, přičemž nějaký vstup,
produkovat nějaký výstup, a Přitom by se systémem algoritmů,
sady instrukcí pro řešení nějaký problém z těchto vstupů
aby produkoval nějaký výstup nebo řešení, ve kterém máte zájem.
>> Takže jsme v nedávné době příležitost cestovat ven
do Kalifornie, aby setkání s absolventkou.
Její jméno je Susan Wojcicki.
A ona chtěla mluvit aby jste zde na videu
svědčit o tom, jak použít dokonce jen chuť počítače
věda ve úvodní úroveň může být.
Dokonce i když nechcete jít na sledovat počítačové vědy jako pole,
nebo dokonce inženýrství, STEM nebo obecněji
uvidíte, ve skutečnosti, jak určitá Samozřejmě tak ovlivnila její život.
A ona jen prostě to vzal, když Byl senior zde na Harvard College.
>> Pokud bychom mohli ztlumit světla pro Susan.
SUSAN Wójcicki: Hello, world.
Já jsem Susan Wojcicki.
Jsem generální ředitel YouTube.
A vzal jsem CS50, když jsem byl senior na Harvardu v roce 1990.
Byl jsem vlastně historie a literatura major.
>> A můj junior v létě, Uvědomil jsem si, že bych
chtěl něco naučit o počítačích.
A tak jsem se vrátil.
Vzal jsem CS50.
Bylo to těžké, ale bylo to nejúžasnější třída I vzal.
>> To změnilo, jak jsem se myslet na všechno.
A když jsem vystudoval Harvard v roce 1990, jsem šel do Silicon Valley.
A já jsem dostal práci.
A já jsem pracoval v tech od té doby.
David J. Malan: Co teď Susan nezmínil v tomto videu,
že to bylo vlastně v ní garáž, že Google sám byl
založil Larry a Sergey.
>> Nyní jsme se také natáhl k našim přátelům v code.org, organizace, která
v průběhu minulého roku bylo přimět lidi, zejména
nadšený informatice a programování, a to zejména.
Ale je třeba poznamenat, že programování není počítačová věda sama o sobě.
Počítačová věda není programování.
Spíše programování je jen tool--, se kterými vás všechny
Bude až příliš dobře obeznámeni by semestru end--
tak, že můžete použít ne jen proto, aby budoucí kurzy v CS
ale jakýmikoli oblastí, odkud jedeš v humanitních,
společenské vědy, přírodní věda, nebo podobně.
>> Ve skutečnosti, dovolte několik dalších absolventů a jejich kolegové
mluvit o použitelnosti pole, které čeká.
>> Bill Gates: Byl jsem 13, když jsem se poprvé dostal přístup k počítači.
>> JACK DORSEY: Moji rodiče mi koupil Macintosh v roce 1984
když mi bylo osm let starý.
>> Mark Zuckerberg: Byl jsem v šesté třídě.
>> SPEAKER 1: Naučil jsem se ke kódu na vysoké škole.
>> Ruchi Sanghvi: prvním ročníku, první semestr, Úvod do informatiky.
>> Bill Gates: Napsal jsem program který hrál tic-tac-toe.
>> DREW HOUSTON: Myslím, že to bylo docela skromné ​​začátky.
Myslím, že první program Napsal jsem žádal věci jako,
Jaká je vaše oblíbená barva?
Nebo kolik je vám let?
ELENA SILENOK: Poprvé jsem se naučil jak se dělá zelený kruh
a červený čtverec se objeví na obrazovce.
Gabe NEWELL: První Doba vlastně jsem měl
něco přijít a říct ahoj, svět.
A udělal jsem počítač dělat.
Bylo to prostě úžasné.
>> Mark Zuckerberg: Učit se, jak k programu nezačala off
jako chtít se učit všechny počítačové vědy
nebo se snaží zvládnout tento disciplína, nebo něco takového.
Je to jen nastupuje proto, že jsem chtěl udělat jednu jednoduchou věc.
Chtěl jsem udělat něco, co Byla to zábava pro mě a mé sestry.
>> A jsem napsal tento malý program.
A pak v podstatě jen přidal trochu na to.
A pak, když jsem potřeboval naučit se něco nového,
Našel jsem si to, ať už v knihy nebo na internetu,
a pak přidal trochu na to.
>> DREW HOUSTON: Je to opravdu není na rozdíl od hraní na hudební nástroj, nebo tak něco
nebo hraní sport.
David J. Malan: Dobře.
Takže dejte nám teď vlastně ponořit trochu hlouběji.
Jaké jsou tyto vstupy a výstupy že mluvíme o tady?
>> Tak jak je to s něčím jednoduchým?
Asi víte, i když máte žádná znalost výpočetní techniky
vůbec, že ​​počítače nějakým způsobem použít a chápe pouze nul a jedniček.
Ale jak je to možné mít jak Hodně dnešní stolní počítače a notebooky podobně
může udělat?
>> DNA dne, jen abeceda, že chápou
je nula nebo jedna.
No, to považují.
My, lidé, mají tendenci používat desítková soustava. "Prosinec", což znamená 10.
A to je 10, protože máme 10 číslic, 0 až devět.
>> Nyní počítače, naopak mají tendenci používat binární.
"Bi", což znamená dva.
Takže mají tendenci pouze nula a jedna k použití.
Ale ukazuje se, že i jen s nulami a jedničkami, že
je dostatečně velké abecedy s, který představují většinu
některý údaj chcete, ať už je to číslo,
ať už je to dopis, ať už je to grafiky nebo videa na obrazovce.
>> Vezměme si například, jak se lidé typicky interpretují toto číslo zde.
To je jen tři číslice, jeden, dva, tři.
Ale my víme, toto číslo přirozeně nyní jako 123.
Ale proč je to tak?
>> No, pokud si myslíte, že zpět aby snad na základní škole,
pravděpodobně jste se učili myslet Tato čísla, jako by byla ve sloupcích,
kde jeden je ve stovkách místo, dva je v místě desítek,
a tři jsou na místo jednotek.
Proč je to, že ve skutečnosti užitečné?
No, myslím, že o Super jednoduchý aritmetický
že jsme všichni byli dělá už léta.
Účinně, pokud máte jeden na stovky místě,
uděláte rychlý matematiky 100 krát 1 plus 10 krát 2--
protože dva je v řádu desítek place-- navíc 1 krát 3--
protože tři je na místo jednotek.
Takže, samozřejmě, pokud my vlastně množí se na to,
to, co jsme skutečně představuje s tímto jedním pattern--
dvě tři-- 100 Plus 20 Plus 3, který, samozřejmě, je 123.
>> Nyní binární a počítače opravdu, zásadně mluví stejným jazykem
, co děláme.
Oni prostě mají menší abecedu.
Takže počítače mají pouze nuly a ty, které mají k dispozici.
Takže zatímco my lidé mají v podstatě pravomoci 10 v každé z těchto places--
10 až na nulu, 10 k jedné, deset pro dva, která vám 110 a 100
resp.
>> Protože počítače mají pouze dvě hodnoty mohli pochopit, nula a jedna,
mají použít různé hodnoty v těchto sloupcích, jeden, dva, čtyři.
A pokud budeme dál, osm, 16, 32, 64, a tak dále.
Ale vzor a mentalita je úplně stejný.
>> Takže této logické, nikomu by se jak Chodím na číslo představuje počet
jeden v binární?
Pokud jste nikdy ani nenapadlo o předtím, co se vaše střeva říct?
>> DIVÁKŮ: One.
David J. Malan: One.
Přesně tak.
Potřebujeme jen jedna ku Ones místo protože nulami
stačit, aby nás ani čtyři, ani dvě.
Takže jedna krát jedna se rovná jedné.
Nyní se věci trochu zajímavější.
Pokud chci reprezentovat v binární číslo dva--, ale
znovu, i když jste nikdy mluvený tento jazyk dříve,
jak se můžeme reprezentovat v binárním hodnotu, kterou lidé znají jako dva?
Nula jedna nula.
Stačí dát jeden v sloupec, který chcete.
>> Teď je to stále dost snadno asi teď.
Takže pokud chci reprezentovat tři-- je sloupec ničím tři je.
Takže znovu, nyní mohu přidat tyto hodnoty dohromady tím, že jeden tady.
SO 2 krát 1 plus 1 krát 1 je, samozřejmě, 3.
>> Nyní se věci trochu pobavit v že ty se stanou nuly.
A reprezentovat čtyři, já si to.
A pokud budeme zvyšovat pomalu tady--, že by bylo pět.
To by bylo šest.
To by bylo sedm.
>> Ale teď se zdá, že mají narazit na problém.
Jak bych mohl jít o zastupování eight-- by být další hodnota.
Jo, takže potřebujeme nové kousky.
A skutečně, pokud jste slyšela tuto frázi,
bity, to je jen krátký binární číslice, nula nebo jedna.
>> A tak jsem se stalo, že se představuje pouze tři takové kousky zde.
Ale když jsem měl možnost ukládání není tři různé kousky, ale čtyři,
Jistě bych mohl představovat osm, a pak devět, a pak
10, a ještě výš a výš.
>> Ale to pak volá na otázku, jak můžeme
jít o zobrazování těchto věci na prvním místě.
To je jedna věc k tomu je tady na snímku,
ale jak si je představují pokud jste mechanické zařízení?
Co je to počítač dělá představují vstupy a výstupy, které
zásadně definují výpočet Na konci dne?
>> No, co o něčem super jednoduché takhle?
Je to jen žárovka.
A mohu spustit tento žárovka dál
otočením nějaké elektrické energie na a umožňující elektrony
protékat, kterým se mění její stát nebo jeho hodnota, abych tak řekl.
Například, to je old school stolní lampa
tady se jedna taková Žárovka uvnitř ní.
A právě teď, že to není opravdu dělají něco užitečného.
Ale jakmile jsem ji připojte do elektrické zásuvky
a poté použijte tuto switch-- nebo můžeme dokonce říkat tranzistor
nebo myslíte, že na to, jak such-- Nyní mohu reprezentovat buď
Tato hodnota, kde je žárovka samozřejmě mimo, nebo je tato hodnota.
Tato hodnota, nebo je tato hodnota.
Tato hodnota, a tak dále.
>> Takže uvnitř počítače, pravděpodobně, jsou mnohem menší kusy hardwaru,
ale, že na konci dne jednoduše
použít electricity-- Možná zachytit to--
a pak buď držet něco nebo držet něco vypnout.
Samozřejmě, že to není zvláště zajímavé dělat
pouze s jedinou žárovkou.
>> Ve skutečnosti, jak vysoko můžu počítat v binární s tímto tady lampou?
>> DIVÁKŮ: One.
>> David J. Malan: Jedna, že jo?
Potřebuju víc stolní lampy, když vlastně chcete spočítat vyšší.
Ale můžeme udělat lépe než to.
Vzhledem k tomu, že žárovky dali jsme v těchto věcech
jsou ve skutečnosti milovník žárovky než minulý rok by umožnila.
A oni jsou vlastně síťové žárovky.
A svazky firem aby tyto věci v těchto dnech.
>> Ale ukázalo se, že tahle zejména
přichází s funkcí, přičemž můžete změnit jeho barvu.
Tak například, pokud zdobí své koleji pokoj
s několika z těchto světla cibule, v závislosti na vaší náladě,
v závislosti na tom, kdo přijde, v závislosti na počasí,
v závislosti na čase dne, můžete skutečně
změnit barvy žárovky ve svém pokoji.
A to proto, že tyto světla žárovky a jemu podobné to, co je
volal API, aplikace programovací rozhraní, které
je téma, se kterým budete dobře obeznámeni s koncem semestru.
>> A to je jen fantazie, mystický způsob, jak říct,
můžete naprogramovat tyto světla žárovky dělat svou příkazy.
Můžete je posílat zprávy stejně jako vy, člověk,
můžete poslat zprávu na webový server řekl, dej mi dnešní novinky
nebo mi můj e-mail.
>> Můžete poslat více tajemný Zprávy těchto žárovek
říci, zapnout a vypnout.
Ale to není všechno, že zajímavé.
Můžete říci, zapněte červený, zapnout zelené, zapnout modré,
všechny se stejným žárovkou.
A dokonce můžete, s trochu více důvtipný, řekněme, obrátit se na modrou
když je to pochmurný den venku, například.
To může skutečně opravit do Počasí API a zjistit,
jaké počasí je, nebo čas denní, nebo jiných takových spouští.
>> Takže, ve skutečnosti, dva Vlastní zaměstnanci CS50 je,
Dan Bradley a Ansel Duff sem laskavě opatřil
nás celá parta z těchto žárovek.
A oni stavěli CS50'S vůbec první binární cibule,
kde jsme zastoupeni tady-- s těmito hravé malé magnets--
různé zástupné symboly my zmiňoval před jen trochu.
>> Takže cesta sem je Ones místo, dva, čtyři.
A my jsme neviděli vyšší, než je.
Ale, samozřejmě, že jsou síly dva.
Osm, 16, 32, 64 a 128.
Takže pokud bych chtěl, aby se trochu milovník než při použití této staré školy přepínač,
Mám zde na tomto iPadu Super jednoduché rozhraní
že Dan Bradley, bývalý student a nyní učí člověk,
naprogramovaný pomocí některé HTML a JavaScript, které
jsou značky a programování jazyky, resp.
A můžete pravděpodobně see-- iv back--
tam je velké plus a velké mínus, navíc jedno tlačítko pro každý z těchto žárovek.
A co tohle mi umožní to je, například, klepněte na znaménko plus
a nyní představují, z Samozřejmě, že to číslo?
One.
A já jej udeřil znovu.
Dva.
Tři.
Čtyři.
Pět.
Six.
Seven.
>> A teď tady máme ten efekt přechodu, ale máme čtvrtiny trochu tentokrát,
Takže teď máme osm.
Takže bychom to mohli udělat pro docela nějaký čas.
Ve skutečnosti, jak je stranou, jak vysoko můžeme počítat?
Každý, kdo?
>> Diváků: 255.
>> David J. Malan: 255, že jo?
Nebojte se příliš mnoho o matematice pro teď, ale to je docela slušné číslo.
Ale to vlastně není vázán jen kolik kusů informací,
jako dopis nebo grafiku že bychom mohli reprezentovat.
>> Ale bez ohledu na to, pro teď.
Chystám se jít dopředu a zase je všechno pryč.
A kdybych mohl, tak bych se chtěl zeptat na dobrovolník, naše první volunteer--
oh, hello-- na jevišti.
Háček je v tom, musíte být pohodlné objevit, jak jste jasně
jsou v přední části všech vašich spolužáků, , jakož i na internetu.
A dovolte mi, abych vypadat trochu mimo to-- jak je to tady v bílé košili?
A ruku nahoru.
Pojď nahoru.
Jaké je vaše jméno?
>> DIVÁKŮ: Jackie.
>> David J. Malan: Jackie.
Jackie, pojď nahoru.
Takže to, co tam je také na tomto iPad je tlačítko s názvem Game Mode.
A to Herní režim je mě umožnit vstup
v předstihu zejména desetinné číslo, čísla my, lidé jsou
znáte.
A pak budete mít za úkol Zde pomocí tlačítek
na top-- jeden pro Každý z těchto bulbs--
skutečně zjistit, model žárovky
, který představuje číslo v otázce.
>> A je mi líto, co se jmenujete?
>> DIVÁKŮ: Jackie.
>> David J. Malan: Jackie.
V pořádku.
Rád vás poznávám.
>> Tak nech mě jít napřed a program aby se svět vidět číslo 15.
Budeme si to malý nejprve zde.
A já jdu do režimu hry.
A budu specifikovat, nám číslo 15.
>> OK.
A teď se všichni watching-- pokud Chcete-li možná stát tímto způsobem,
protože to bude linka up-- pokračovat a přepínat mezi osmi tlačítek podél horní
otočit žárovek na nebo vypnout, jak uznáte za vhodné.
>> DIVÁKŮ: OK.
>> David J. Malan: A žádný podvádění tím, že udeří a 15 krát.
Oh, budeme dělat, že.
>> DIVÁKŮ: Oh, počkej.
Je mi to tak líto.
>> David J. Malan: Můžete také zapnout Žárovky na individuálně
s každou z těchto tlačítek nahoře.
DIVÁKŮ: Oh, OK.
Tak to by bylo jako--
David J. Malan: OK.
Takže teď máme osm.
Takže pojďme pozastavit publikum, aby se zapojily zde.
Jaké číslo je Jackie V současné době zastupuje?
11.
Jsme tak skoro tam.
A vynikající.
Takže máme prvního vítěze.
Blahopřejeme.
>> A my jsme si mysleli, že mají některé báječné dárky.
Pokud byste chtěli, aby se jeden takový koleji pokoj tady na akademické půdě,
můžete si mít závěrečný projekt pomocí se toto rozhraní API, díky Jackie.
Takže teď--
>> [APPLAUSE]
>> --if jsme mohli, jeden jako kolem tohoto.
Oh, teď chce každý pár žárovek.
Pro takzvané hacker vydání, budeme rozjet to a-- oh,
jo, nic neříkající.
Myslím si, že jedeš se nyní pokud vaše ruka jde dolů.
Jaké je vaše jméno?
>> DIVÁKŮ: Alex.
David J. Malan: Alexi, pojď sem.
Takže pro Alexe, budeme Program v mírně větším počtu.
Možná, že v pořádku.
Číslo 50.
>> DIVÁKŮ: OK.
David J. Malan: Ale, jak I said-- a ty by mohly
chtějí postavit tu tak že tlačítka line up
jako byste expect-- ale já jsem Nazývám to hacker vydání.
Tak-- hodně štěstí!
>> [SMÍCH]
>> Budete mít možnost se obrátit je vypnutý, pokud ty-- OK.
Výborně.
Wonderful.
Blahopřejeme.
>> [APPLAUSE]
Myslím, že bych měl zaplatit.
Gratulujeme Alex stejně.
OK.
>> Takže konečné stánek s jídlem tady je snad, upřímně řečeno,
simplicity-- jednoduchost, se kterou
můžete získat nějaké pěkné světlo žárovky, zřejmě v [neslyšitelné].
Ale představují, nakonec, stejné myšlenky
s jakou my lidé jsme již příliš známé.
Takže to, co je možné, že další krok je v progresi
že se snaží dělat něco zajímavé údaje
a představující vstupy, které jsou nejen čísla, ale jsou možná dopisy nebo více?
>> No, ukázalo se, že počítačový svět, na mnoho let,
prostě přijala libovolný, ale odpovídá standardu, který mapuje čísla
písmen abecedy.
Například, je zde výňatek z tohoto mapování.
Tomu se říká ASCII.
-S-C-I-I. A to je prostě tabulka, která mapuje uppercase letters--
v tomto case-- na desítkové číslo.
>> Ale co je důsledek?
No, pokud jste skutečně chtějí reprezentovat něco jako e-mail, nebo nějaký text
na webové stránce, můžete zřejmě chtějí ukázat
lidské dopisy abeceda, ne čísla.
Takže v závislosti na rámci programu
že uživatel používá, pokud je to webový prohlížeč nebo e-mailový klient,
Čísla mohou být pro interpretovat jako písmena.
To znamená, že vzory bitů může snadno interpretovat jako písmena.
>> A tak to, co můžeme mít je písmeno bytost
reprezentován jako 65, B je reprezentován jako 66.
Takže pokud máme super krátké slovo, stejně jako hi,
co počítačový by nakonec obchod v desítkové soustavě, ale opravdu binární,
používat některé sekvence bitů, využití trochu elektřiny nějakým způsobem,
by být dvě čísla 72 a 73.
>> Ale vzor bitů představuje tyto hodnoty.
Tak to pak je, jak můžeme Zastupujeme vstupy a výstupy.
A stačí, když řeknu, můžeme dělat složitější reprezentace
nakonec se věci, jako je grafika, videa, hudbu a další
jak uvidíme později tento termín.
>> Tak to prostě odejde a pak algoritmy, tyto soubory
pokynů, s nimiž máme řešení konkrétních problémů.
Jsme předáním vstupy do algoritmu.
A ty algoritmy produkují výstupy, snad správné výstupy
a doufejme, že také, efektivně shromáždili výstupy.
Jinými slovy, to je jedna věc, realizovat správně něco.
To je další věc, kterou k realizaci něco dobře nebo efektivně.
>> Například, jeden demonstrace že jsme rádi v průběhu
je to jedna.
Ale tyto věci jsou stále stále těžké najít.
Ale to je opravdu staré školy telefonní seznam, uvnitř které
jsou 1000, plus stránky Jména a telefonní čísla.
A když jsem chtěl vyhledat někdo v tomto telefonním seznamu,
Nemohl jsem prostě dělat velmi naivní algoritmus.
Nemohl jsem otevřít na první stránku, a Mohl bych začít hledat, řekněme, někdo
jmenoval Mike Smith.
A když to není na první stránky, jsem postoupit do druhého,
a pak třetí, a potom na čtvrtý, a tak dále,
až jsem konečně najít Mike Smith.
>> Nyní je to algoritmus správný?
>> Hlediště: Ano.
>> David J. Malan: Jo.
Jestli je tam, budu nakonec ho najít.
Ale to pravděpodobně není příliš efektivní, určitě ne rychle,
protože, můj bože, proč jsem plýtvat mým časem obracející
přes všechny tyto stránky, když jsem se mohl Určitě to fyzicky rychleji?
>> No, mírné optimalizace, tak mluvit, nemusí být vždy jednu stránku najednou,
ale dvě, čtyři, šest, osm, deset.
Stále je to tak?
>> Diváků: Ne
>> David J. Malan: Takže ne, jestli jsem pro instance přeskočit Mike Smith.
Ale tak dlouho, jak jsem se pedál jednu stranu, když jsem ho přesahovat,
možná bychom mohli napravit to, co mohlo by být jinak gotcha.
>> Ale je to lepší?
Je to rychlejší?
Myslím, že jo.
Je to doslova dvakrát tak rychle, když to udělám dvě stránky najednou.
Takže když jsem původně měl 1000 stran, Teď mám jen otočit 500 krát,
nejsou plně 1.000 stran, aby si případně v nejhorším případě
na konci telefonu kniha, kde někdo
jako je Mike Smith, nebo někoho, kdo se později jméno by mohlo být ve skutečnosti.
>> Ale, samozřejmě, jsme lidé rozhodně nejsou
bude dělat, že určitě není v tomto okamžiku v našem životě.
Co je to rozumné člověk pravděpodobně dělat?
Diváků: Jdi přímo na the9 S let.
David J. Malan: Jdi přímo na S let?
Jak mám jít rovnou do S let?
>> Diváků: Rip jej v polovině.
David J. Malan: No, není označení.
Takže ano, v případě, že byly skutečně Štítek nebo kartu lepkavá pro S,
bychom měli skočit rovnou tam.
Ale je to docela neškodné.
Takže nejlepší, co mohu udělat, je zhruba v sekci S nebo možná zhruba
do středu.
Ale hlavní jídlo s sebou teď-- a intuice
že jste si vzal na udělena pro roky probably--
je to, že to, co děláte teď přátele o tomto problému?
>> Diváků: [neslyšitelné]
>> David J. Malan: Mike Smith je jistě není v této polovině problému
protože Smith přichází po polovině což je zhruba sekce M,
se zdá být.
Takže jak jste mohli vidět na Visitas, můžeme nyní doslova
trhat tento problém na polovinu.
Diváků: Woo!
David J. Malan: Je to stále snazší a jednodušší.
[APPLAUSE]
Tady to je.
[SMÍCH]
A teď jsem v podstatě mají stejný problém,
ale je to doslova poloviny tak velký.
Jsem stále hledají Mike Smith.
A troufám si říct, můžu pořád podívejte se na něj stejným způsobem,
rozdělit problém na polovinu opět trhá problém znovu
na polovinu, což mě teď opouští s problém čtvrtiny velikosti,
dramaticky hodit, že polovina pryč, a tento proces opakovat znovu a znovu
a znovu se podíval dolů v každém bodě vidět
pokud Mike Smith je na stránky se jedná.
>> Teď, když mám toto právo, nakonec jsem se to najít
s jedinou stránku, na které Mike Smith je, jestli je opravdu v telefonním seznamu.
Samozřejmě, že jsem mohl nikdy volat znovu Mike.
Ale zde je, že když jsme začali s 1000 stránkami, můj první algoritmus,
otočit stránku, možná 1000 times-- Určitě méně, protože je to
Název S a ne jméno Z, ale jako tolik jako 1000 stran potenciálně.
>> Druhý algoritmus, lépe.
500 stran.
Za třetí algoritmus, ačkoli, kolik kroků by to
se rozdělit 1000 stránky telefonní seznam na dvě poloviny, jako je tohle?
10, dávat nebo brát.
Takže jen listovala, že telefonní seznam, potápění a dobývání,
abych tak řekl, 10 krát, udělám můj způsob, jak se k jen jedné straně.
>> A tak můžeme zachytit tuto intuici teď trochu graficky
pokud jste právě v úvahu Super jednoduchý graf.
Jsme na ose x, nebo horizontální osa, je velikost mého problému,
počet stránek v telefonním seznamu.
A počítačoví odborníci obvykle s oblibou nazývají
velikost problému n, kde n je jen některé proměnné, které
represents-- v tomto case-- počet stránek.
>> Vertikální, nebo y-osa, zde je bude k řešení,
Možná, že počet stránek zatáček, Možná, že počet sekund
nebo minuty, bez ohledu na Váš měrná jednotka je.
A tak se červená čára představuje první algoritmus,
protože tam je jedna až jedna vztah mezi počtem
stránek a množství času to bere.
>> Pokud Verizon zdvojnásobuje počet stránky v telefonním seznamu v příštím roce,
můj běh time-- Potřebný čas k provedení
že první algorithm-- zdvojnásobí v nejhorším případě.
Ale druhý algoritmus, kde jsem mizerný dva,
vyžaduje méně času na daný problém velikosti.
Takže pokud jsem to mnoho pages tady-- upozornění
že žlutá čára navrhuje méně času na řešení.
A opravdu, to znamená, budeme říkat, n více než dvě.
>> Ale co je tvar třetího a poslední křivka bude vypadat?
Jo, je to opravdu bude look-- I Nevím, co jsi chtěl říct.
Ale pojďme se podívat, co jsi chtěl říct.
>> Diváků: Takhle.
>> David J. Malan: Bude to vypadat to, logaritmická slope-- exactly--
kdy budete mít tento podivný sklon.
Už to není přímka.
A co je přesvědčivé o tom, že , i když je nyní graf odříznut,
můžete extrapolovat ve vašem nevadí, že zelená linka není
bude zvýšení Výška tak moc
jak budete postupovat dál se stanoví, že horizontální osy.
>> Ve skutečnosti, Verizon, pro instance, by mohl znamenat zdvojnásobení
počet stránek v telefonu Kniha od tohoto roku a příští rok
od 1000 do 2000 strany, ale žádný velký problém.
S touto třetí a poslední, je tu intuitivní algoritmus
dělení a dobývání.
Bude mi trvat, kolik kroky příští rok najít někoho,
jako Mike Smith?
>> DIVÁKŮ: One.
>> David J. Malan: Je tu jen jeden.
A mohou čtyřnásobek, je to mi bude trvat jen dva kroky
a tak dále.
A tak je to dokladem toho, jak někteří opatrní konstrukce
a někteří uznání za to, co vaše vstupy jsou umí ještě lépe.
Teď jsme podvádění trochu v tom smyslu,
že jsme využití předpoklad.
Jaký je můj předpoklad o našem telefonním seznamu
které mi umožnilo rozděl a panuj v této intuitivní a stále správným způsobem?
>> Diváků: [neslyšitelné]
David J. Malan: Jo.
Tak to bylo nařízeno.
To bylo podle abecedy podle telefonní seznam společnosti.
Kdyby to bylo v náhodném pořadí, které by bylo sakra telefonního seznamu,
ale rozhodně ne nehodí algoritmu
Použil jsem, protože byste nikdy náhodou přes Mike Smith
pokud jste si nechali dělení v polovina tímto způsobem náhodou.
>> Takže pojďme se nyní formalizovat co je jasně intuitivní.
Takže něco, co nazývá pseudokód je, kde budeme
začnou některé z našich počátečních problémů.
A to je obecný způsob, jak popisovat algoritmus nebo počítačový program,
ne pomocí C nebo C ++ nebo Java, nebo nějaký konkrétní jazyk,
ale jen pomocí anglicky, s které každý člověk může být povědomý.
>> A můžeme psát pseudokódu Pro tento problém následovně.
Krok číslo jedna, zvedněte telefonní seznam.
Krok dva, otevřený střed telefonního seznamu.
Krok tři, podívej se na jména.
Krok čtyři, pokud Smith patří mezi names--
>> A teď je to zajímavé konstrukt.
Je to rozhodnutí, bod.
Je to rozcestí, pokud máte bude, větev, abych tak řekl.
Takže budu odsazení jen konvencí step--
Není five-- který je řekněme, zavolám Miku.
Takže to odsazení, zcela svévolné lidské konvence, ale je to
prostě chtěl sdělit sémanticky že pokud Smith patří mezi jmény,
pak bych měl zavolat Mikea.
>> Mezitím se v kroku šest, oznámení že odsazení je pryč.
Tak je jiný druhý vidlice v silnice, ostatní silnice bych mohla cestovat.
Takže else if Smith dříve v knize, co je
můj další krok pravděpodobně bude tady?
Diváků: Jdete na levé straně.
David J. Malan: Jo, tak jděte na Levá polovina telefonního seznamu.
Vyhoďte pravou polovinu, pokud Smith je dříve v knize.
Tak otevřené až do poloviny Levá polovina knihy.
>> A pak krok osm, jít na linku tři.
A to je zvědavý smyčka jsem způsobuje, rekurze, abych tak řekl.
Ale o tom více v budoucnu.
>> Já jsem pomocí mého stejný algoritmus, má stejný pseudokód,
znovu řešit stejný problém protože jediná věc, která se změnila
je velikost problému, ne mým cílem, a ne člověk
Hledám.
Tak jsem si znovu algoritmus že jsem již definovány.
>> Else if Smith později v book-- byste mohli
hádat otevřena až do poloviny pravá polovina knihy.
A opět, přejděte na řádek tři.
Else-- co je poslední řádek v rámci tohoto programu bude?
Pokud to není mezi jména na stránce Jsem
na, pokud to není dříve knihy, a on to nejpozději
v knize, co já vím Nyní je pravda o Mike Smith?
Diváků: Není v knize.
David J. Malan: Není v knize.
Takže nejlepší, co mohu udělat, je jen vzdát a zastavit tento program.
V pořádku.
Takže v tomto bodě, pojďme se Rychlá prohlídka některé z toho, co vás čeká.
A ve skutečnosti, já jsem sem vstoupil o počtu zaměstnanců CS50.
Pokud se tito lidé mohli vše se mnou tady na jevišti.
>> [APPLAUSE]
>> Nezapomínejme, že je to jen podmnožina personálu CS50,
protože každý rok máme téměř 100 zaměstnanců členové v roli asistentů kurzu,
výuka chlapi, a další.
Pojď nahoru.
Takže oni se k nám připojí zde rozpačitě na chvíli
jak dát vichřice prohlídku toho, co do kurzu by měl očekávat zde.
>> Takže v první řadě, máme SAT / UNS jako možnost třídění v průběhu.
To znamená záměrně být možnost, kdy
Pokud jste trochu nesvůj z toho, že v průběhu,
a nemáte strach failure--, i když upřímně řečeno, selhání znamená bolet vaše GPA,
dostat B a ne A--, který je přesně to, co jistě pro brány
Samozřejmě, stejně jako CS50 a další úvodní kurzy,
Tato možnost třídění je určen povolit.
>> Upřímně podpořit students-- zejména
pokud na fence-- začít Samozřejmě, SAT / UNS, i nadále SAT / UNS.
Ale můžete samozřejmě přepnout na dopis stupně v pátém pondělí v termínu.
>> Upřímně řečeno, když jsem byl v prváku v roce 1995,
Já sám jsem ani brát CS50 protože jsem nevstal odvahu
skutečně krok nohu ve třídě.
Zdálo se, že doménu příliš neznámé ke mně, a opravdu jen
pro ty z mých přátel, Upřímně řečeno, kdo byl programování
protože oni byli víceletých nebo možná 10 let starý.
A bylo to jen proto, že jsem byl schopni přijmout CS50 v můj den
v odpovídající verzi SAT / UNS-- vyhovuje / nevyhovuje zpět do day--
že i já vzal 50.
A tak či onak, jsem zase tady dnes s vámi.
>> Teď zatím co ještě by měl mít na paměti, o 50
je simultánní zápis.
Na rozdíl od pověsti, že Možná jste slyšeli,
je to možné, ve skutečnosti, současně zapsat CS50 a další skupiny, které
schází na stejné nebo některé překrývající tentokrát jako CS50 přednášek tady.
Podívejte se na učební osnovy pro údaje z jejich provádění.
>> Přednášky, zatím, na rozdíl od co je oficiálně v katalogu,
obecně jen splnit jen za hodinu.
Příležitostně můžeme spustit trochu dlouho.
Ale mějte na paměti, že Cílem v CS50 přednášek
je poskytnout vám koncepční přehled,
doufejme, že některé ukázky, možná dokonce i některé dárky,
o tom, co čeká na týden, který následuje.
>> A tak na přednáškách, budeme zkoumat tato témata a příklady dohromady,
přináší studentům na jevišti, a zaměstnancům na jevišti tak často, jak můžeme,
jen na pár hodin každý týden.
Sekce, mezitím bude nabízeny tyto lidi tady-- mnoha
z nich se učí chlapi, některé Z nich samozřejmě assistants-- vůle
se děje jednou za týden.
>> A co je klíčem k udržení na paměti, je, že jsme
se have-- ne na rozdíl od First Nights, hudba class--
různé stopy úseků pro Studenti méně komfortní, více
pohodlné, a někde mezi tím.
A upřímně řečeno, víte-li že jste méně pohodlné.
A vy asi víte, pokud jste mnohem pohodlnější.
A pokud si nejste opravdu jisti, jste podle definice někde mezi.
Takže když přijde čas na úseku za týden nebo tak, na učebních osnov,
my vám zeptat na tuto otázku.
A můžete si vybrat self-Based na vlastní úroveň pohodlí
a být s students-- být s zelenou dots-- podobná úroveň pohodlí pro vás.
>> Mezitím, máme problém sady, což v konečném důsledku
definovat své zkušenosti v tomto kurzu.
Jsou nabízeny většinou v několika vydáních.
Standard Edition, které očekáváme, že většina každý student v průběhu řešit
ale také takzvaný hacker vydání který nenabízí žádné formu kreditu navíc
úplně, ale opravdu vychloubání práv říci, že jste se snažil a řešit
hackerské vydání kurzu, že obrátit na podobný materiál
ale z sofistikovanější úhlu.
>> Co nabízíme pro Standard Edition, pro,
opět super většina studentů, nejsou
pouze walk-průchodky, které jsou videa pod vedením pracovníků Kurz je
že opravdu vás provede Problémy kurzu a možné provedení
implementace.
A také, po Skutečnost, nabízejí postmortems,
přičemž pokud jste zvědaví, jak byste mohli mít
nebo by měla vyřešit některé problém, pedagogičtí pracovníci
vás provede ty na video i.
>> Mezitím, co je čeká také jsou pět pozdní dní a skutečnost,
že se sníží vaše Nejnižší problém nastavit skóre.
Určitě oceníte, že výměnou na pracovní zátěž, která očekává, že 50
z vás, život dostane do cesty Někdy, ne-li pětkrát.
A tak to bude nabízet jste trochu flexibility,
rozšiřuje svůj termín od, řekněme, Ve čtvrtek v poledne v pátek v poledne.
Podívejte se na učební osnovy pro podrobnosti jejich provádění.
>> Tak co teď čeká?
A je to jen dochází Teď mě, jak dlouho
Mám vy tady stát na jevišti.
>> [SMÍCH]
>> David J. Malan: Ale my dostaneme vrcholný provedení zanedlouho.
Takže to, co vás čeká, pokud jde z problémových sad?
No, možná ukázka toho, co my všichni loni se svými předchůdci.
V prvním problému sady v loňském roce jsme uvedli na trh
Scratch, grafický programovací jazyk, který
umožňuje naprogramovat doslova přetažením dílků,
jako ty, které jsou připomínající konstruktů
uvidí jen jeden týden proto, když přepínání
na více tradiční jazyk, známý jako C.
>> V loňském roce jsme pokračovali k tomuto problému sadě,
zahrnující pro kryptografii, kódování informací
aby jej z vládní nebo přátelé " oči, které nechcete vidět.
Zakódovány v zde zprávy, že brzy si
budou moci dešifrovat nebo de-vyškrábat.
>> Breakout byl problém nastavit v loňském roce, ve kterém
můžete použít tyto nově nalezenou programování dovednosti skutečně realizovat
hra wherein-- jako vy Možná si vzpomenete, od childhood--
Cílem bylo bash cihly, které jsou na vrcholu obrazovky
tady, akumulaci skóre po cestě,
a provádění vlastních algoritmů s, který toto řešení v konečném důsledku
umožňuje hrát hru.
Mezitím, později v semestr, dáme vám
slovník 143091 anglických slov.
A vy budete mít za úkol napsat program, který
kouzlo kontroly, dokumenty, které načítá že mnoho slov do paměti
tak efektivně, jak je to možné.
Obecně ti bodové před svými spolužáky
pokud se rozhodnete do trochu výzvou v žebříčku
vidět, kdo může používat nejmenším počtem sekund z hlediska doby provozu,
a nejmenší počet megabajtů paměti,
a ve skutečnosti jemné ladění Vámi programy být neuvěřitelně náročná na zdroje není
jen čas.
>> V loňském roce, také jsme se podívali na konci semestru na programování pro web.
A skutečně, uděláme to znovu toto rok s několika problémovými sad,
zavádí vás do technik a způsob myšlení, se kterým můžete použít
Tyto znalosti programování na webové stránky, dynamické webové stránky,
webové stránky, které skutečně řeší problémy, a chovat se jinak
a nejsou jen statické stránky se statickým informací.
>> Závěrečný projekt nakonec bude definovat, i když,
Vyvrcholením kurzu pro studenty, kde
budete mít za úkol realizovat většina něco zájem
pro vás, tak dlouho, jak to nějak čerpá poučení kurzu je.
>> A jak jste viděli v Video na začátku,
budeme uzavřít semestr se CS50 Hackathon, který v případě, neznámé,
začne v 19:00 a jednu noc a skončí v 07:00 druhý den ráno.
Kolem 21:00 se budeme Pořadí v první večeři.
Kolem 01:00 se budeme Pořadí, ve druhé večeři.
A pokud jste ještě stojí v 05:00 jsme
bude shuttle bus vás na IHOP na snídani.
>> CS50 trh, zatím je událost k němuž 2000 navíc fakulty, studenti,
a zaměstnanci z celého areálu bude přijďte se podívat své úspěchy
v průběhu a konečné projekty a kreace
, které vytvoříte na vašem notebooky, Stolní počítače, nebo možná i žárovky.
>> Mezitím, úřední hodiny a nosná konstrukce.
A teď bylo by to lepší čas, aby vám vše dohromady.
>> Konzultační hodiny se budou konat čtyři noci týdně po dobu několika hodin každou noc
s obecně o 20 až 30 z Zaměstnanci hřiště je ve službě najednou
poskytnout vám intimní one-on-one možnosti podpory
s problémovými sady kurzu je.
Doučování také bude k dispozici, a to zejména
pro studenty méně comfortable-- nebo troufám tvrdit, alespoň comfortable-- pro koho
úřední hodiny nejsou největší výchovné prostředí
a rozhodně nejsou největší stres-volný.
Zvlášť, když termíny jsou lisování, budeme aktivně spárovat vám sami
s zaměstnanec pracovat s na některých pravidelných intervalech, jak vaše potřeby
a jejich rozvrh dovolí.
>> A zaměstnanců.
Dovolte mi představit Davon, Rob, a Gabriel, letošní hlavy.
Pokud by každý chtěl say--
>> [APPLAUSE]
--a slovo.
[APPLAUSE]
Davon tady je Course Manager, který
znamená, že ve své roli na plný úvazek pomáhá s realizací
a logistika CS50.
DAVON: Jo, ahoj, kluci.
Uvidíte hodně mě v úředních hodinách.
Budu učit sekcí.
A pokud budete střílet e-maily dopředu, Budu pravděpodobně reagovat.
Tak uvidím spoustu z vás celý semestr.
Vítejte na CS50.
>> David J. Malan: A teď Gabriel, který sám byl jen nováček v loňském roce,
ale v posledních letech se působí svou vlastní verzi CS50
v Brazílii, přičemž se stáhli všechny content-- stránce kurzu
což je jednoznačně být natočený a umístil online--
tak, aby ji mohl přeložit do Portugalský a učit více než 100
z jeho spolužáků více než Během dvou let,
výuku v rodném jazyce Osnovy kurzu je.
>> GABRIEL: Dobrý den.
>> [APPLAUSE]
GABRIEL: Ahoj, já jsem Gabriel.
Já jsem hlava TF kurzu.
A doufám, že budete milovat CS50.
To je CS50.
>> David J. Malan: A teď Rob.
Oh, chceš úvod?
>> ROB: No, já nevím.
[SMÍCH]
David J. Malan: A Rob Boden.
[SMÍCH]
ROB: Ahoj, já jsem Rob.
Toto je můj pátý rok zapojeni do kurzu.
Každý rok, je to jen lepší a lepší třídy,
tak vy jste jasně bude úžasné.
Doufám, že jste všichni bavit se s ním.
Budu se bavit s ním.
Tak vidíte kolem sebe.
>> David J. Malan: A čas nedovolí us--
>> [APPLAUSE]
>> Čas nedovolí nám představit všechny
na jevišti a všichni jejich kolegové kteří jsou nákupní třídy dnes.
Ale dovolte mi představit Belinda a CS50 Puzzle
Den, který čeká na to přijde sobota, která
je první události velkého rozsahu Course.
>> Ten především znamenalo kladivo domů bod
že výpočetní technika je v konečném důsledku Nejde o programování, ale
o řešení problémů obecně.
A puzzle den, jak budete vidět, přinese vám
a vaše spolužáky dohromady-- Doufáme, že tuto sobotu.
>> BELINDA: OK.
Ahoj, kluci.
Takže díky.
Tak jako naše proslulé kapitána řekl, jmenuji se Belinda.
Jsem ve druháku na Quincy House.
>> Já, stejně jako vy, se CS50 v loňském roce, ale opravdu se to líbilo.
Mám slabost pro vy ve třetí řadě.
A já jsem hrdý na to, že jsem teď na vážný vztah
s CS50 [neslyšitelné].
OK.
To byl můj ubohý verze vtipu.
>> Každopádně, takže pohybující se na, chtěl pozvat
vy všichni na I-Lab, nebo HBS kopřivka.
Chystáme se, že má Puzzle den od 12:00 do 03:00.
A to je skvělá příležitost pro vás lidi, aby vyhovoval vašim kolegům CS, přátele,
vyřešit některé non-CS hádanek, stejně jako kapitán bylo zmíněno, a také jíst nějaké jídlo zdarma,
vydělat nějaké úžasné ceny, stejně jako dárkové karty, 75 dolarů na osobu,
a also-- co to bylo?
Wii U nebo tak něco?
Wii U?
Ano.
Pro naše tombola.
Skvělé.
Takže budu držet kolem po hodině.
A pokud vy máte nějaké otázek, dejte mi vědět.
>> David J. Malan: A uvidíte, za to není nic, co dělat dnes.
První problém nastavit zhasne pátek.
Ale aby nám dnes doma, rád bych se Představujeme Vám konkrétně jeden
zaměstnanec, Colton Ogden tady, jehož ruce jsou nyní
chráněné nad vámi se Tento MIDI ovladač
kladivo domů bod dále že výpočetní technika se také
má použitelnost daleko za techniky a STEM a výpočetní technika sama o sobě,
rozšířit i na takové domény je například hudba.
>> Colton se laskavě offered-- jsem si myslel, jeden z nich se bude zaostření.
Andrew, kdybychom mohli přivolat zaměření více než na chvíli tady.
>> Co Colton udělal předem je program,
Toto zařízení, tento polštářek z tlačítek , které vidíte na obrázku tady,
jako MIDI kontrolér, přičemž každá z těchto tlačítek
je připojen k určité noty nebo zvuk, obecněji záznam,
tak, že tím, že hraje vzory těchto tlačítka, stejně jako vzory bitů,
může představovat další vyšší koncepty úrovni.
Bude moci nakonec aby nás doma dnes?
Bez dalších okolků, je-li můžeme ztlumit světla,
a zapněte obrazovku za Colton.
>> Diváků: Woo!
>> David J. Malan: To je CS50.
>> [Přehrávání hudby]
>> [APPLAUSE]
>> To je pro CS50.
Uvidíme se v pátek.
Některé dort na vás čeká v příčné lodi.
>> [Přehrávání hudby]