[POZADIE NOISE] Funguje to? PATRICK REBESCHINI: Môžeme začať. OK. Výborne. Začnime. Tak to je moja najväčšia radosť vás všetkých dnes vítaný pre prvý prednáške z nej dobre, úvod k počítaču a programovanie. Tiež známy ako CS50 alebo studne, CPSC 100, oficiálne tu na Yale. Takže sme nemohli byť viac vzrušený vás všetkých vítam tu. Volám sa Patrick Rebeschini. Som vedúcim inštruktorom pre triedu. Som tu predstavuje skupinu asi 60 zamestnancov že bude pracovať s vami v priebehu semestra. Toto číslo je takmer 60 z nás. Napriek tomu spolu mimoriadneho úroveň záväzkov že dáme do toho trieda, robí CS50 triede na univerzite v Yale, ktorá ponúka najvyššiu úroveň podpory pre všetkých z vás. A my sme nemohli byť viac hrdý ktoré ponúkajú túto triedu zase tu. V skutočnosti, ako skoro zažiť, CS50 je oveľa viac než triedy. Je to komunita. A tie budú súčasťou Čoskoro tejto komunity. Ide o druhý rok, Yale ponúka túto triedu. Staviame na extrémne Úspech minulého roka, kedy prvýkrát, Tu na tejto univerzite, bakalársky študijný referentka boli prijaté v učebniach. Všetko to začalo Táto trieda vlani. Tak ako viete, trieda je vyučovaný spoločne s Harvard University. Naučiť tento kurz Sme relying-- môžeme spoľahnúť na veľké odborné znalosti David Malan a tím Harvard. Tak Dávid bol výučba CS50 pre studňu, 10 rokov teraz. A každý rok pôsobí posúvame hranice a zlepšenie skúsenosti triede. Opäť platí, že sme nemohli byť viac ochotne pokračovať v tejto spolupráci s nimi. V skutočnosti jeden z Najzaujímavejšou časťou, Poviem prevádzkovať túto triedu teraz, a to ako na Harvarde a tu na Yale, Je naozaj neuveriteľné cross-fertilizácie nápadov, ktorého cieľom je zlepšiť učenie zážitok pre vás všetkých. Tak, aby v dôsledku toho rozsiahly Spolupráca medzi týmito dvoma univerzity, CS50 je hrdý na to, oznamuje novú verziu tohto roka s viditeľnými zmenami. David bude všetko povedzte nám o nich teraz. Takže please-- túto bytosť povedal, prosím, so mnou vitajte na vzniku veľký potlesk privíta Davida a Harvard tím tu na Yale. [APPLAUSE] DAVID Malan: Ďakujem. Vďaka. To je CS50, Harvard University a Yale University úvod na intelektuálne podniky informatiky a umenia programovania. A čo to znamená, že tento predmet nakoniec je o riešení problémov. V skutočnosti mnohí z vás možno prišli zo strednej školy alebo ste strávil posledných pár rokov premýšľal, čo niektorí z vašich priateľov vlani alebo v iných triedach. A napriek tomu, realita znamená, že bez ohľadu na to, čo sme robiť na konci dňa v tejto triede, to bude o riešení problémov. A ako taký, snáď vziať niektoré uistenia v tom, že 73% študentov, že vziať túto triedu, a to ako tu na Yale, rovnako ako na Harvarde, Nikdy predtým vziať triedu SK. Takže ak sedíte vy tu publikum dnes uvažoval Prečo sedíte tu v hľadisku dnes, alebo možno len nasledoval spolu s niektorými priateľmi, alebo možno ste boli Trochu zvedaví, čo počítačovej vedy a programovanie, realizovať že väčšina z vašich spolužiakov, aby vľavo a vpravo od teba sú veľmi veľa v tom istom demografické. A skutočne, ak sa pozrieme v posledných štatistík ročne v rámci študentskej tele CS50, a to ako a tu na Harvarde, 58% študentov popisovať seba ako menej pohodlné. 9% je oveľa pohodlnejšie. A potom 33% je niekde medzi. A neexistuje žiadny formálny definícia o tom, čo tieto vedierka znamená. Vy nejako vedieť, že ste menej pohodlné, ak ste. Vy sa cítite trochu nesvoj sa možno bytia v triede. Vy nie ste úplne istí, či je počítač veda trieda je nakoniec pre vás, a uvedomiť si, že ste vo veľmi dobrej spoločnosti. A skutočne triedenie, a posúdenie, a spätná väzba, a všetky, ktoré nosná štruktúra v triede je v konečnom dôsledku veľmi individuálne. Viac než väčšina ostatných akýkoľvek Druhá skupina zámerné. A skutočne, čo nakoniec záležitosti v tejto triede nie je tak kde ste skončili až vzhľadom k ostatným, ale kde sa v týždni 11 alebo posledný, a vo vzťahu k sebe v týždni 0 tu náš prvý. Tak čo to znamená? No, to znamená, že z tých 73% študenti v minulom roku, že nikdy nebral trieda SK predtým, prepočítaná podľa kurzu začiatok semestra oni boli pustili v jazyku s názvom Scratch, ktorý sám sebou, Uvidíte tu dnes. A do konca semester keby preč cez celý tento zoznam problémov. Počnúc jazyka s názvom C. Implementácie, čo je Na prvý pohľad ide byť trochu výzva pre niektoré, ale celkom potešujúce, akonáhle sa dostať Super Mario poskakovanie hore a dole pyramídy realizovaný, aj keď sa práve niečo, čo nazýva ASCII art. Implementácia poslednej rok-- čo Študenti vlani po tom sa po tom, čo sa ich realizáciu Vlastné Caesar šifra a Vigener kód. Takže šifrovacie algoritmy s ktorým by ste mohli ťahanice informácie a potom dešifrovať Informácie posielať tajné správy. Hra 15. Ak si pamätáte z detstva alebo nejaká strana láskavosť, že malý plastový hra, kde sa pohybujete čísla hore, dole, doľava a doprava pokúsiť sa dostať je v poriadku, v skutočnosti sa vykonáva túto hru a riešenie logiku potrebnú tam. A potom sme fušoval do forenznú vlani. Takže v polovici semestra, študenti, ktorí nikdy používal ich klávesnice na tento účel pred, písali softvér zotaviť sa, aby som tak povedal, JPEG alebo fotografie že sme mali náhodou vypúšťa z digitálneho pamäťovú kartu z fotoaparátu. Obnovenie tajné správy zvnútra bitmapový obraz, a ďalšie podobné typy grafiky rovnako. Potom sme prešli na poskytovanie celá trieda slovník. Len naozaj veľký textový súbor s 150.000 anglických slov. A každý bol napádaný nejako čítať, tak povediac, tieto slová do pamäte. Do pamäte počítača. A potom odpovedať na otázky formy, je toto slovo? Je to slovo? Je to slovo? Naozaj len vykonávacie kontrolu pravopisu. A potom náročné každý ostatné s veľkým board-- leader board vidieť, kto mohol použiť čo najmenšie množstvo pamäte, v najmenej množstvo času na v skutočnosti kontrolu pravopisu veľkých dokumentov. prešli sme od tej doby sa vykonávacie ones vlastný webový server. Takže nie robiť webové stránky v jazykoch ako HTML a CSS, ak ste oboznámení. Ale v skutočnosti sa vykonáva server, ktorý počúva na internete na požiadavku od prehliadača a potom reagovať na tieto žiadosti. Potom sa robí naše vlastné e-obchod, ako webové stránky, kde študenti mohli nakupovať a predávať akcie. Kreslenie v takmer reálnom čase ceny akcií z Yahoo Finance. A umožniť žiakom, aby si ako sa ich portfólio sa vyvíja. A potom konečne mash up z Google News a Google Mapy pricom študenti po členu výrazy konca mal možnosť kliknúť a koleso, a vyhľadávanie na mape Google. A potom vidieť všetky spravodajské články, ktoré sú proximálne týchto území. Tak skutočne ide od nuly do 60 ° C. A po ceste s čo sme mali vlani zavolal, hackerské dodatky. Ktoré zvyšujú latku ďalej pre tých z vás, ktorí by mohli veľmi dobre mať dobrý Množstvo skúseností z bytia v tomto 9% viac pohodlnejšie. Takže si uvedomiť, že je tu veľmi vysoký strop aj v rámci tých, výzvy pre študentov pochádzajúci z odlišného prostredia. Vzhľadom k tomu, na konci deň, sme nakoniec zamerala jednoducho na túto tému. Ale to, čo robí toto znamenať, riešenie problémov? Takže poďme navrhnúť, aby sme to páliť takto. Takže riešenie problému je naozaj práve tento druh obrazu. Takže máte vstupy do nejakého problému, niečo, čo skutočne chcú riešiť. Cieľom je získať výstupy, riešením tohto problému. A potom v prostrednej je čo budeme nazývať čiernu skrinku. Nemusíte nutne vedieť, alebo dokonca jedno, čo je vo vnútri tej čiernej skrinky. Všetko, čo viem, je, že keď kŕmite vstup do nej, ste snáď dostať výstup alebo roztok z neho. A zatiaľ čo dnes sa pozrieme a to ako na vstupoch a výstupoch, spomenieme dlhodobá, a cez Priebeh celého semestra zamerať sa na to, čo je vo vnútri tej krabici. A v tom bude spočívať niečo, čo nazýva algoritmy. Krok za krokom pre v skutočnosti riešenie niektorých problémov. Ale čo je príklad niektorých vstupov? Takže možno jednoduchá vec u začiatku každého školského roka, niekto chcieť vziať dochádzky. Takže by sme mohli urobiť jeden, dva, tri, štyri, päť, šesť, a ako by som udržať Trať týchto informácií. Mohol by som jednoducho ísť jeden, dva, tri, štyri, päť, šesť. A stačí použiť druh jednociferné. Alebo by som mohol skutočne zaznamenať to trochu dlhodobejšie. A ako môžem reprezentovať všetky ľudia v tejto miestnosti? No, možno som niečo podobné, OK. Vidím jednu osobu. Dobre. Vidím inú osobu, je tretia osoba, a tak ďalej. Ale nikto sa počíta ľudí ako je táto. Takže doslova, väčšina z nás, keď sme dokonca ísť k tomu vôbec nič, pravdepodobne pôjde raz dva tri štyri, Možno sa trochu fantázie, päť, šesť, sedem, osem, deväť, desať a tak ďalej. A to je vlastne Systém nazvaný unárne. Uno, podobne ako uno znamenať jedno, kde si stačí jedno písmeno abecedy. Práve ste sa dostal tento hash značku. A ja, pre efektivitu, len kreslil Tieto znaky hash, nakoniec as rovnými čiarami. Ale mohol som nakreslil im ako malé tyče postavy. kde reprezentovať jedna osoba, jeden vstup, Len som nakresliť palicu postavou alebo krížik. Ale to nie je všetko, že expresívne. Ak je všetko čo mám, je táto hash značky, nieto čísla tyče, Ako by som mohol predstavovať niečo ako číslo 15? Alebo 15 ľudí v miestnosti? Budem musieť urobiť niečo ako 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15. To jednoducho nie je meradlo dobre. Vzhľadom k tomu, vstupy zväčší, my Potrebujeme lepší systém, ako je táto. A ukázalo sa, že Systém, ktorý počítače používajú Je príliš nelíši z toho, čo vy a ja viem. V skutočnosti, väčšina ľudí v tejto miestnosti, aj keď patrí medzi tie menej pohodlné, nemusí nutne vedieť, ako váš Mac alebo PC naozaj funguje, pravdepodobne ste aspoň počuli, že Pod kapotou sú 0 a 1 je. Takzvaný binárny systém. Takže v skutočnosti, počítače majú viac ako Len znaky hash v ich slovníku, ale nie tak moc slovná zásoba ako my ľudia. V skutočnosti my ľudia nepoužívajú binárne. Bi čo znamená 2, 0 a 1. Ale desatina, Deca čo znamená, 10, 0 až 9. Takže máme oveľa výraznejšie schopnosti v našej normálnom ľudskom svete. Ale ja by som tvrdiť, že tieto systémy, binárne a desiatkovej, a všetko medzi nimi aj mimo nej, sú vlastne všetko dobre oboznámený. Napríklad, zvažovať Tento príklad tu, 123. Tak to naozaj je, samozrejme, celá rada poznáme ako 123. Ale všetko, len som nakreslil bola práve táto vzor symbolov, piktogramy tak povediac. Druh tvary na tabuli kriedou. Ale prečo by sme okamžite a intuitívne pochopiť to ako 123? No, ak ste boli ako me na základnej škole, pravdepodobne ste sa dozvedel, že sa jedná o 1s stĺpec, to je stĺpec 10s, To je stĺpec 100s. A prečo je to užitočné? No, je to prostý aritmetický ťa teraz urobiť, aby sa od vzoru symbolov k rade chápeme intuitívne. Je to, čo, 100-krát 1, a potom 10 krát 2 a 1 krát 3, čo je samozrejme len 100, a To je 20, a to je tri. A tak keď pridáme tie together-- ah. Takže v tom spočíva ten druh uvažovania Za prečo táto sada symbolov znamená niečo skutočného a číselné. No, počítače robiť presne to isté, ale oni len môžu spoľahnúť rovnako vysoká ako jeden celok. Kým som bol schopný počítať tak vysoko, ako tri. A v skutočnosti, keď som išiel ďalej by som mohol ísť tak vysoko, ako deväť v tomto systéme. Počítače majú iba nuly a tie v ich abecedy. Tak čo to znamená? No, to jednoducho znamená, že ak v počítači chce reprezentovať, hovoria, že číslo 0, Možno pomocou troch characters-- tri písmená abecedy tak povediac, to je, ako počítač znamená 0. Takže nie je všetko, čo desivé tak ďaleko. Je to presne to, čo ľudia urobia. A v skutočnosti, väčšina z nás by jednoducho ignorujú počiatočné nuly tak ako tak. Počítač, ak chce uložiť číslo 1, Ukazuje sa, bude to robiť. A počítač pre ukladanie číslo 2 nie je robiť unárne systém, ktorý spomínal som sa skôr. Je to vlastne bude, ako to dosiahnuť. A to je pravdepodobne kde začína vzor aby sa stal pre väčšinu ľudí menej zrejmé. To je 2, to je 3. Je zvláštne, že toto je teraz 4. A teraz to naozaj Zdá sa, že možno záhadný, ale to nie je ak uvážime, čo binárne naozaj znamená. To znamená, že máte dva listy svojho abecedy. Takže dva možné znaky Pre každý zástupný symbol. Takže to vlastne znamená ideme potrebovať 1s miesto, alebo 2s miesto, 4S miesto a potom 8, a 16, 32, a 64. A čo je tam rozdiel? Rovnako ako títo sú 1, 2, 4, 8, 16, 32, 64. A ako sme mali 110, 100,000, 10,000. Čo je tam podobnosť? A čo je vzor? Jo. Žiak: Sily 2 namiesto sily 10. DAVID Malan: Jo. Právomoci 2 namiesto sily 10. A tak keď som chcel, aby deje, 8, 16 a tak forth-- ale teraz, ak máte tento druh zo záchytného bodu, teraz binárny systém je vlastne celkom jednoduché. Prečo je tento vzor z 0 rokov vo svete počítačov 0? No, pretože je to 4 krát 0, 2 časy 0, 1 krát 0 a dostanete 0. Prečo je toto číslo 1? Rovnaká úvaha, ale teraz sme majú 1 v stĺpci 1. Prečo je to 2? Máme 1 v 2s stĺpci. A ako potom môžem reprezentovať hovoria, číslo 7 v binárnej? Hovoriť hlasnejšie. STUDENT: Tri 1s. DAVID Malan: Tri 1s. Takže 1, 1, 1, pretože stačí 4 a 2 plus 1 mi dáva 7. Dobre. Takže odtiaľ, ako my predstavujú 8 s 3 zástupnými symbolmi? Jo. STUDENT: 1, 0, 0, 0. DAVID Malan: Jo 1, 0, 0, 0. A napriek tomu možno, som tak trochu technicky potrebujú pridať ďalšie vyhradené miesto k doske. Ak chcem, aby sa zmestili, že som naozaj je potrebné urobiť niečo také. Tak som skutočne potrebujú teraz používať 8s stĺpec, a to je v poriadku. Ale zvláštna vec v oblasti výpočtovej techniky je že nás bude niečo stáť. Budete potrebovať viac pamäte RAM v počítači teraz. Budete potrebovať viac pamäte pretože budete potrebovať niečo fyzický uložiť, že ďalší kúsok, aby som tak povedal. Binárne číslice. A skutočne všetko, čo sa stalo Tu, rovnako ako desiatkovej sústave, ak držíme pridávanie čísel vyššie a vyššie a hore, ideme na 5 až 6 pre 7-8 Je to ako nesúci 1, a to doslova. A potom všetko ostatné siaha až na nulu. Ale ako v skutočnosti predstavovať tieto veci fyzicky v počítači? No, na konci dňa, jediný fyzický vstup ísť do môjho počítača Tu je to napájací kábel, takže elektrina alebo elektróny od steny. A tak ako to mám dostať z niečoho fyzický takhle vlastne predstavujúce predstavu takhle miesto. No, čo sme mohli robiť? Mohli by sme vziať do úvahy, že v poriadku, Možno, že keď elektrina prúdi Mohol som ju skladovať a držať na to. A keď som držal do určitej elektrickej energie, že to len bude ľubovoľne predstavujú 1. A keď som vytiahnuť zástrčku a tam nič nie je, viete, že to len bude ľubovoľne predstavujú 0. Takže keď sa niečo tam je, 1. Ak sa nič tam, 0. Alebo si môžete urobiť to trochu viac vizuálne. Tu je 0. Na tom nie je nič zaujímavého o tom v zadnej časti telefónu. Ale keby som dovoliť trochu bit elektrickej energie prúdiť, aj keď je to trochu svetlé tu, moja baterka pokračoval. Takže som uložením náboj a ergo, tento telefón teraz predstavuje 1. Tak 0 1. Takže s 1 iPhone, ako vysoko môžem Počet použitie tohto druhu prístupu? Mám na mysli: 1. To nie je všetko, čo presvedčivé. Takže čo viac by sme mohli robiť? No pozrime, je niekto na ich telefón práve teraz, že by som mohol požičať? Každý, kto má telefón s baterkou postavená v roku? Môžem si požičať? Nepotrebujem to odomknutá. Dobre. Ďakujem. Požičaj mi to. Dobre. Takže keď som sa posúvať nahor a tu, čo mám súčasnosti predstavuje? Jo. Takže je to tri, pretože to je v 1s stĺpec, to je v stĺpci 2s. Takže 1 plus 2 je 3. A potom keď sa budeme snažiť získať Naozaj creative-- ach, ďakujem. Veľmi preemptivní. Dobre. Teraz mám tri iPhone. Dobre. A teraz tohle-- nebudem robiť ďalej ako toto. Čo mám súčasnosti predstavuje? Len sedmičky. Ale potreboval som fyzicky viac pamäte v tomto prípade. Ale to je všetko, čo je. Si môžete myslieť, čo sa deje on-- Ďakujeme vás-- vnútri telefónu ako len byť spínač, ktorý je je zapínať a vypínať. A ak ste niekedy počuli Slovo tranzistor. Alebo ak ste niekedy počuli marketing hovoriť Intel Inside, že hovorí druhu hardvéru že je vnútri počítača. Intel robí CPU, centrálnej procesorovej jednotky, ktoré sú ako mozgy vnútri počítača. A tieto procesory a veci, ktoré nadviazanie spojenia s užívateľom majú veľa a veľa drobných prepínačov. Milióny, miliardy spínačov ktorá môže byť buď zapnutý alebo vypnutý. Takže počítačov, našťastie, ako naše Mac a PC, môže počítať s cestou vyššej ako 7 alebo 8 pretože majú oveľa viac ako tri alebo štyri bity. Oveľa viac než ekvivalent Tri baterky, ktoré sme práve mali. Ale teraz to začína byť docela nezaujímavé rýchlo. Ak by som teraz chcel byť skutočne schopní robiť niečo zaujímavejšie, Chcem byť schopný skočiť na niečo také. Takže ASCII, to nie je naozaj užitočný akronym, ale American Standard Code na výmenu informácií. Znamená to len niekoľko rokov Pred my ľudia rozhodli, Vieš čo, chceme byť schopní robiť viac počítačoch, než len s číslami. Nechceme im len drahé kalkulačky, by sme chceli mať možnosť robiť veci, ako je spracovanie textu, hoci veľmi jednoducho. Neskôr sme mali e-maily a ďalšie také médiá. A tak sa svet rozhodol niekoľko rokov Pred podľa tohto systému ASCII, vieš čo? V niektorých typov Programy kedykoľvek budete pozri ekvivalent čísla 65, rovnako ako vzor bitov. A my sme mohli robiť math tu na palube. Vzor bitov, ktoré predstavujú 65. Nenechajte si ju predstaviť ako 65 v desiatkovej sústave. Ber to ako ľubovoľne, ale globálne, dôsledne ako kapitál A. A potom sa svet rozhodol, vieš čo? Zoberme si ďalší vzor bitov. A či sa niekedy vidieť číslo 66, Povedzme predpokladať, že to je kapitál B. Rýchly posun vpred na H a ja, keď vidíte, 72 alebo 73, ktoré by malo byť H a I, resp. A tak dlho, kým sa celý world súhlasí na to. Takže keď dostanete e-mail, alebo by ste si súboru na USB flash disk, alebo niečo podobné, keď to-- vidíte, že vzorka bitov, viete, že by malo byť toto písmeno alebo iné písmeno. Ale je to špecifický kontext, v poriadku. E-mailový program by mohol interpretovať tieto veci ako znaky, ale grafickým kalkulátorom alebo kalkulačka môže predstavovať alebo vykladať tieto veci, samozrejme, ako písmená. Takže s tým povedal, rýchly trochu kontrole. To je možno tri znak e-mailu, ktorý bol poslaný ku mne. Pod kapotou je to všetko v 0 a 1, ale my sa nestarajú. Chystáme sa začať abstraktné Nad 0s a 1s na listy. A keď vidím vzor 0s a 1s, že v skutočnosti predstavujú 72, nápoveda, náznak, 73, a potom 33, aké je posolstvo? STUDENT: [nepočuteľné] DAVID Malan: Takže ak si myslíte, Pred späť chvíľou, HI bolo posolstvo som sa snažil komunikovať tu, pretože H je 72, Aj je 73, a teraz 33-- nechceli ste nutne vedieť vopred, ale to dopadá, keď sa v skutočnosti vidieť viac z grafu a systém že ľudstvo dohodnuté rokov Pred, je to len výkričník. A skutočne, je vzor Symboly a čísla pre každý znak že by ste mohli mať na klávesnici. Dobre. Poďme abstraktné ďalej. Ak nechceme, aby jednoducho mať veci, ako je čísel a písmen, chceme skutočne zaviesť grafiku. No, ak ste niekedy Počul skratku RGB. Je to trochu starý teraz, ale je to stále trochu tam. RGB je červená, zelená, modrá. A je to len systém hovoriť, viete čo, poďme použiť tri sady bitov. Sada 8 bitov, ďalšia sada 8 bity a ďalšie sada 8 bitov. A poďme používať tieto kúsky ukladať ako veľa červeného my chcem na našich obrazovke, koľko green chceme na našej obrazovke, a koľko modrej chceme na našej obrazovke. A to práve znamená, že ak majú lot-- veľký počet pre červenú, to znamená, daj mi veľa červenej. Ak máte veľký počet pre zelená, daj mi veľa zelene. A ak máte len trochu modré alebo malého počtu ako 33, daj mi trochu modrej. A ak ste náhodou kombinovať tie, tri veličiny, tak povediac, dostanete tohle-- sotva vidíte na projektor tu, ale to kalné odtieň žltej alebo hnedej. Ale to znamená, že za použitia vzor 8 a 8 Plus navyše 8-- že vzor 24 bitov je, ako by počítač obchod, ktorý odtieň žltej v jednom drobná bodka pixel na obrazovke. Takže sme preč od 0s a 1s do desiatkovej sústavy Čísla písmenami abecedy. Alebo ešte zaujímavejšie, farebné bodky. No, čo samozrejme potom príde nabudúce? No, a čo je obraz, ktorý vás vidieť na Facebooku alebo dostať do e-mailu? Alebo podobne? Aká je definícia technicky obrazu? Jo. Aký je obraz zložený zo ak vás vyzerajú naozaj zblízka na obrazovke? Jo. Je to len celá rada pixelov. V skutočnosti, ak užívate laptop možno neskôr, a vyzerajú naozaj úzko v závislosti to-- o tom, ako drahé je notebook a Ako vysoká kvalita je obrazovka, môžete veľmi dobre vidieť všetky malé bodky na obrazovke. A tie bodky alebo pixelov, čo znamená, že je 24 bitov predstavujúce každý pixel v tom Fotografie, ktoré vidíte na Facebooku, alebo že ste si vzali na vašom iPhone v poslednej dobe. A tak to je, ako sa dostaneme k veciam, ako je grafika. No, čo je video? Video je len súbor grafiky lietanie na obrazovke znova a znova a znova. A tak videá naozaj len vzory bitov reprezentujúcich Mreže, riadky a stĺpy bodov, lietanie obrazu na monitore, Po obrazom podľa obrázku, alias Pohyblivé obrázky. Tak to je pre vstupy a výstupy. Všetko, čo máme teraz, je Predpoklad, že ste Vieš čo, ak chceme počítač reprezentovať informácie, máme systém pre to robí. Môžeme to urobiť s 0s a 1s na konci dňa. Ale môžeme abstraktné, takže hovoriť, v hornej časti, ktorá tak, že predstavujú viac zaujímavé veci. A teraz sa v CS50, av počítačovej vedy všeobecnejšie teraz stojí na ramenách zo všetkých ľudí, ktorí boli pred nami, kto prišiel na to von. A teraz len predpokladať, že počítače môže predstavovať vstupy a výstupy. Ale teraz poďme vlastne urobiť niečo s nimi. Takže algoritmus je len set pokyny, krok za krokom, pre riešenie nejaký problém. A čo by jeden taký problém bude. Tak toto je stará škola Technológia, telefónny zoznam. A vnútorný telefónny zoznam je celá rada mien a čísel. A tieto mená sú všeobecne radené abecedne. Takže keď som chcel nájsť niekoho Tento telefónny zoznam ako Mike Smith, čo je typický človek robiť? No, môžete jednoducho otvoriť it up, pozrite sa na prvej stránke. Nevidím Mike Smith. Otočiť na druhú stranu, Nevidím Mike Smith. A práve ďalej a ďalej. Je to krok za krokom prístup správny? Jo. Je to trochu hlúpe, že jo. Je to neefektívne, že jo. Vzhľadom k tomu, že to bude trvať večne sa dostať k Mike, ale je to správne. Pretože ak Mike je tu Ja ho skutočne našli. Takže čo je to o niečo viac rozumný človek robiť? Môžu napriek tomu otvoriť na prednej strane, a možno preletieť v telefónnom zozname dve strany naraz. Dve, ​​štyri, šesť, osem. nemôžem vlastne fyzicky to veľmi dobre. Ale teoreticky by to malo byť dvakrát tak rýchlo, dve stránky naraz. Je tento algoritmus správny? STUDENT: [nepočuteľné] DAVID Malan: Nie nevyhnutne. Dobre. Prečo, že námietka? STUDENT: Vzhľadom na to, že by mohol byť na jednom zo stránok, ktoré ste preskakovanie. DAVID Malan: Jo. Takže aj keď som sa dostať bližšie a bližšie. Čo keď je to len náhodne, zlý šťastie, zovretý medzi dvoma stránkami že letím cez? Takže potrebujeme opravu pre toto. v skutočnosti musíme potom hovoria, počkaj, Možno, že keď ideme príliš ďaleko, možno ak narazíme sekciu T, pre T prichádza potom, čo Smith, potom by sme mali prinajmenšom zdvojnásobiť späť aspoň jednu stránku. Takže opraviteľný, ale tam je podmienený problém tam. Tak to je dvakrát tak rýchlo, ale možno budete musieť zdvojnásobiť späť len trochu. Ale nikto vo svojej izbe, aj keď vás nemáte naozaj používať telefónne zoznamy anymore, sa chystá začať od začiatku. Čo budeš robiť hľadal Mike Smith? Budeš ísť zhruba S rokov. Alebo ak ste naozaj nemajú cheat sheet na papieri, sa chystáte ísť prinajmenšom zhruba do stredu. A už vôbec nie predná časť knihy. Budeš sa pozerať dole. A matematicky ste pravdepodobne chystá nájdete v časti M, ktorá je zhruba v polovici. A potom budete si uvedomiť, čo je pravda? Kde je Mike? STUDENT: [nepočuteľné] DAVID Malan: Jo. Takže je viac ako na tejto strane. A tak čo môžete robiť? No, a to ako obrazne i doslovne môžete trhať problém v polovici raz? A potom viete, že môžete hodiť táto polovica problému preč. A teraz sme vľavo s zásadne rovnaký problém, ale je to polovica rovnako veľká. A tak teraz to, čo je sada inštrukcií? Aký je algoritmus pre nájdenie Mike Smith? Je to presne to isté. Teraz sa to stane, že je M časť a to je časť Z, ale základné Vzorec je stále rovnaký. Prejdite zhruba do polovice, pozerať sa dole, ach, čertovsky ju. Teraz som v úseku T, Som zašiel príliš ďaleko. Ale aj tu môže vám platí, že rovnaké logiky. Hod polovica problému preč a teraz sme odišiel s problémom, ktorý je štvrtina veľkosti. A môžeme opakovať, a môžeme zopakovať, a môžeme opakovať, kým teoreticky tam je vľavo na len jednu stránku ktoré Mike buď je, alebo nie je. Takže čo je tak silný, o tejto myšlienke? Myslím po tom všetkom, je to celkom intuitívne. Nikto sa chystá začať u začiatok telefónneho zoznamu a flip 1000 stránok nájsť Mike Smith. Väčšina všetci v tejto miestnosti sa deje robiť zhruba tento druh algoritmu uložiť pre roztrhnutiu. A tak prečo to robíme? No, zvažovať efektivitu. Zoberme si, ako veľmi to lepšie Algoritmus bol prostredníctvom jej rozdelenie do jeho jednotlivých častí. Tak čo mám robiť ako prvé? Zdvihol som telefónny zoznam. A počítačový vedec, a programátor, všeobecnejšie Ukazuje sa, že sa deje zahájiť počítanie všetko pri 0 ° C. Prečo? No, je to trochu divný že ľudia počítať, všeobecne, od jednej. Vzhľadom k tomu, aký je najmenšie číslo môžeme jasne predstavujú báze dokonca aj na našej starej základke matematiky? No, bolo to 0, či už to je v desiatkovej alebo binárne. A tak uvidíte vo svete výpočtovej a programovanie, konkrétne, začneme počítanie všetko od 0 ° C. Tak som zdvihol telefónneho zoznamu krok: 0. Idem otvoriť na Uprostred telefónneho zoznamu. A to je vskutku vyjadrením toho, čo som urobil. A potom druhý krok bol pohľad na mená. Tretí krok je trochu odlišné koncepčne. Pýtam sa sám sebe otázku. V prípade, Smith je medzi názvami, Chystám sa urobiť rozhodnutie. Ak je medzi menami, Potom idem volať Mika. A ja idem urobiť rozhodnutie na základe tejto údaj. Avšak, ak nie, ak je Smith predtým v knihe doľava, Idem otvoriť do stredu ľavej polovici knihy. A potom tu je chytrosť, Chystám sa vrátiť na krok dve. Idem do akejsi stojí na svojich vlastných pleciach a len zopakovať minulé prácu, ktorú som urobil. Ale práca, ktorú som si nechal ich menej a menej, a menej. Ale je to stále nebude fungovať. Ale ak Mike, namiesto toho je neskôr v knihe na pravej strane, Idem otvoriť do stredu z pravej polovice knihy, potom sa vráťte na krok dve. Ale je tu vlastne štvrtiny scenár. Mike je buď tu, alebo tu alebo tu, nebo-- STUDENT: Tam nie. DAVID Malan: Nie je tam. A skutočne, ak nebudeme predbiehať Tento štvrtý a posledný scenár náš program môže byť kočík alebo chybné nejakým spôsobom. Else, skončil v prípade, že nenašli sme Mika vôbec. A skutočne, ak ste niekedy všimli počítač visí, alebo všetky náhleho slová alebo iné Program práve neočakávane, a niekedy aj tebe chyba Správa je doslova to. Tento program neočakávane. To môže byť pre ľubovoľný počet dôvodov. Ale niekedy je to niečo tak jednoduché, ako to. ľudský programátor ktorý napísal, že softvér neuvedomil, že, oh, je tu tam vec, ktorá sa môže skutočne stať. A ak nechcete písať kód zachytiť ten štvrtý scenár, je skutočne neočakávaný niekedy čo počítač môže vlastne robiť. Teraz hovorme OUT Niektoré z týchto vecí. Takže v žltej tu, ja zdôraznili termíny že odteraz sme len zavolá funkcie. Funkcie vo svete programovanie sú rovnako ako akcie, výkazy akcií. Takže vyzdvihnúť, otvorený, pozrite sa u, zavolaj, otvorené, otvorené, prestať. To je funkcia, postup, akcie, ľubovoľný počet synoným bude fungovať rovnako dobre. Čo teraz sú tieto veci teraz žlto? V prípade iného, ​​v prípade iného, ​​ak inak, jedná sa o čo budeme nazývať podmienky v programovaní, alebo vetvy, rozhodnutie upozorňuje, ak chcete. Ale ako viete, ktorý vidlica na ceste, aby sa tak povediac? musíme zdôrazniť výrazy vpravo tam, ktorý sú: áno, žiadne otázky. Tieto skutočné falošné otázky. Smith medzi menami? Smith predtým v knihe? Smith neskôr v knihe? To sú otázky, na čo je áno alebo nie, alebo ekvivalentne pravdivé, alebo nepravdivé, alebo ekvivalentne jedna alebo nula odpoveď. A medzitým je tu len posledný kus. To má tú aký vplyv? Či alebo nie vy programovať predtým, ako by ste popísať, čo krok sedem a desať robia? Čo si povedal? STUDENT: rekurzívne krok. DAVID Malan: rekurzívne krok. Áno, v podstate. Je to technicky iteratívny Tu, ak ste oboznámení. Ale my sa vrátime k tomu. Ale je to niečo jasnejšie. Opäť platí, že to prinútilo cyklus, slučka, pravá. Tie doslova deje späť do určitej predchádzajúci krok. A tak v skutočnosti, to bude implementovať nejaký druh cyklu. Ale nie ste dostaneme uviazol v tomto nekonečne, že jo. Pretože ak ste neustále kontrolovať ich Mike tu, alebo vľavo, alebo nie tu, Nakoniec on nebude tam. A stačí prestať úplne podľa tej posledný riadok. Tak to je pre slovníka. A to bolo to, čo by sme všeobecne požadujú pseudocode kód. Nie je to skutočný jazyk. Je to len veľmi hutný English, ale komunikuje bod. Neexistuje žiadny formálny štruktúra tu. Stačí len, že je to málo slová, ale ako jasná slova ako môžete oznámiť svoju predstavu. Teraz, ako dobrá je, že algoritmus a koľko lepšie to je? No, my nemusíme dostať do špecifiká čísel alebo čokoľvek ako to. Ale môžeme pozrieť na Tvar tohto riešenia. Takže ak budeme len kresliť nejaké xy dej Tu na horizontálnej osi tu. Povedzme, stačí zavolať na rozsah problému. A počítačový vedec by zvyčajne používajú n ako premennú tu. Takže n stránok alebo N ľudí v miestnosti, alebo čo to je sa snažíte počítať. A potom sa na zvislej osi na strane doľava, to by bolo na čase riešiť. Tak koľko sekúnd to robí vezmi ma nájsť Mike Smith? Alebo koľko krokov to trvá? Koľko strana zákruty to trvá? Tak to je, koľko to stojí aby som v čase vyriešiť problém. A mohli by sme čerpať prvé algoritmy svah, ak chcete, ako práve tento priamky v červenej farbe. A ja ho zavolám n. Prečo n? Prečo je to práve táto na jeden vzťah? No, či Verizon alebo bez ohľadu na telefónne spoločnosť pridáva ešte jednu stránku do telefónneho zoznamu v budúcom roku, ktoré by mohli tlačiť Mike jedno ďalší krok bližšie ku koncu, V závislosti na tom, kde je táto stránka. A tak sa efekt môže len bolo pridať ešte jednu sekundu. Alebo ešte jedna strana zase. Jeden k jednému pomeru. Naproti tomu, druhý algoritmus. Ako oveľa rýchlejšie to bolo intuitívne? Tam, kde som išiel dve stránky naraz? Jo. STUDENT: [nepočuteľné] DAVID Malan: Jo. Takže to bude dvakrát tak rýchlo. A my by sme vyvodiť, že tu V závislosti na váhe. Stále je priamka, ale nižšiu ako červenú čiaru. Vzhľadom k tomu, z nejakého počtu strán, ak to trvá ste tento veľa krokov s Prvý algoritmus, to ťa vziať polovice ako rad krokov s sekundu. A tak sa žltá čiara popisujúci druhý algoritmus Je len bude pod ním. Ale čo je naozaj silný, je premýšľať o tom, tretí a posledný, a prekvapivo najviac intuitívne Algoritmus, ktorý má tento tvar. Technicky by sme nazvali Tento logaritmické krivka. Log základňu 2 n v tomto prípade. Ale to nezáleží. Na čom záleží, je naozaj zásadne iný tvar, ktorý sa má. A môžete zvážiť, ako oveľa kratšia táto linka naozaj je v dlhodobom horizonte. Je to neustále zvyšuje. Nezáleží na vyrovnávanie dokonale. Ale rastie niekedy tak oveľa pomalšie ako tento problém dostane väčšie a väčšie. A môžete si ju týmto way-- ak Verizon nie je len pridať jednu stránku budúci rok, ale štvorhra počet stránok v telefónnom zozname, Prvá algoritmu, by mohla trvať dvakrát toľko krokov. Ak je to 1,000 týchto stránok rok, 2.000 strán v budúcom roku, Mike by mohlo byť, že oveľa ďalej. Takže je to 1000 ďalšie kroky, aby ho našli. druhý algoritmus by mohlo byť iba 500 viac Kroky, aby ho nájsť, pretože ešte raz, Letím cez to dva naraz. Ale čo tretieho algoritmu? Ak Verizon zdvojnásobí Veľkosť telefónneho zoznamu Budúci rok od 1000 do 2000 stránky, koľko ďalších krokov je moja tretia algoritmus bude trvať? Jo, je to len jeden. A to je silná myšlienka. Môžete si vziať 1,000 stránku sústo z tohto problému naraz. A teraz, keď si uvedomíte, hlúpy scenár, ale je to trochu hovorí do Sila tohto druhu intuition-- v prípade, že telefónny zoznam mal rád, štyri miliardy Stránky, cíti sa ako naozaj veľký problém. A skutočne, to by mohlo mi trvať štyri miliardy stránku zisťuje, Mike Smith v tom puzdro s prvým algoritmom. Ale koľko krokov by to vziať v treťom algoritme nájsť Mika medzi štyrmi miliardy kusy papiera? Takže štyri miliardy budete trhať na polovicu. Dostanete dve miliardy. Potom miliarda, potom 500 miliónov, 250000000, 125 million-- ale cíti ako to je bude chvíľu trvať. Možno budem potrebovať 32 prstov spočítať, že vysoká. Ale je to skutočne as nemnoho ako 32 Page slzy. Môžete ísť od štyroch miliardy na jednu stranu delenie pôvodný počet Stránka v polovici 32 krát kým ste odišiel s práve to jediná stránka. Teraz, samozrejme, ja podvádzanie tu. To neznamená, že sme len, že triedenie hlúpy úplne s prvé dva algoritmy. Som podvádzanie v nejakom zmysle, alebo Naozaj som pákového efektu predpoklad. Čo platilo o telefónnom zozname vo svojej pôvodnej podobe, ktorá umožnila aby som sa dokonca použiť túto tretiu algoritmus? Jo? Divákov: To bolo podľa abecedy. DAVID Malan: To bolo podľa abecedy, že jo? Keby to bolo len v náhodnom Aby sa jedná o odpad času, celý tento rozhovor. Musím sa pozerať na každý strana, ak je to v náhodnom poradí nájsť Mike Smith pred I. možno vyvodiť, že je tam, alebo nie. A tak sme rohový znížili sa, že mám Predpokladá sa, že niekto iný v tomto prípade urobil prácu za mňa. A aby nakoniec pozvánky otázka, no, počkaj. Ako sa vám triediť 1000 Stránky mien a čísel? To je vlastne odlišný Problém, niečo vrátime v budúcnosti. Ale keď sa nad tým zamyslíte webových stránok ako je Facebook a Google pre Gmail a veci, ako je Google Vlastné vyhľadávanie indexy, ak máte milióny či miliardy kúsky údaje boli uložené v týchto dňoch, searching-- a nehovoriac triedenie týchto problems-- je v konečnom dôsledku výzva sama o sebe. A skutočne, to je potom Len jeden z tých výziev že budeme pozerať. Takže teraz poďme sa na chvíľu a pozrieť sa na CS50 sám a dá vám pocit čo je v obchode v tomto semestri. V skutočnosti, ak ste tak už neurobili, to sa pozrieť na túto adresu URL. A ako Patrick narážal sa tento rok sme predstavovať značnú investíciu všetko čím viac na podporu tohto kurzu je štruktúra, pokiaľ ide o TA a autority, úradné hodiny, úseky dostupnosť a digitálne materiály on-line, rovnako. V skutočnosti, pokiaľ ide o priebeh je prednáška, sme tu dnes. A očakávania táto ročník oficiálne kurzu sa zúčastní na dnešný kurz je Posledný prednáška, a kurz zhruba v polovici semestra s každým prednáške v rozmedzí k dispozícii všeobecne v piatok popoludní on-line, a to ako pre študentov Yale a Harvard študentov tohto roka. V skutočnosti jeden z Zásadné zmeny je že sme prijatím na Harvard paradigma moc ako my tu v minulom roku a teraz sa v tomto roku, tak, že podobne, stále natáčať najviac prednášok kurzu je v Cambridge ale aby boli k dispozícii skôr ako máme v minulosti tak, že tí z vás, ak vás-- by som, napríklad, získať náskok o materiáloch Na prvý víkend trochu než druhý víkend, budete mať Prístup k týmto druhom materiálov, vyhľadávať, jednej rovine, hyperlinkable na príbuzné zdroje všetky skôr. Čo sa týka tém, aby vám pocit trajectory-- tohto kurzu je a niektorí to môže byť žargóne teraz, ale nie na dlho, uistení. Začneme ešte dnes, nakoniec, sa pozrieme na jeden programovací jazyk s názvom Scratch. potom budeme prechod Budúci týždeň k niečomu volal C a potom pri pohľade na ostatné budovy bloky pre riešenie problémov, veci zvané polia a algoritmy, ako používať pamäť v náš prospech a nevýhody, a veci ako dátových štruktúr, a potom smerom k zadnému koncu trieda pri pohľade na strojového učenia a pri pohľade na iný jazyk s názvom Python, ako web funguje, ako internet viac Všeobecne funguje, protokoly ako HTTP, jazyky pre databáz, ako je SQL, JavaScript pre web, a nakoniec viazanie všetkých žiadostí. A tak vskutku, u koniec dňa, vás nebude učiť sa v tejto triede Scratch alebo C alebo Python alebo SQL alebo JavaScript. Budete namiesto toho všeobecnejšie učiť počítačová veda a základy tejto zmluvy, a budete naučiť sa programovať v ľubovoľnom počte z nich Jazyky pozdĺž cesty. Takže v skutočnosti, jedným z cieľov predmetu na konci je zložiť všetky Samozrejme je tréningové kolá podľa týchto posledných týždňoch takže po tomto, môžete vrátiť do svojho vlastného fields-- či už to je alebo nie je Nie je computer science alebo strojárstvo, v prirodzenom vedy, umenie, humanitné vedy, alebo beyond-- a priniesť niektoré z týchto nápady kurzu a toto pole je nápady a praktické zručností na vlastnej doméne s cieľom riešiť problémy v ňom. Čo budeme robiť tu medzitým Vo väčšine štvrtok po dnešku je s hlavami priebehu predných čo budeme hovoriť priechody problémových sád kurzu je. Takže každý týždeň, keď sme si stanovili nejaký problém, my budeme sa prechádzal v mieste takhle výzvy kurzu je, Vám ponúka niekoľko tipov a triky a konštrukčné techniky. Ale ak nie ste schopní aby sa tie osobne, realizovať tie isté prostriedky budú vložené jedným z kurzu je pedagogické asistentov v probléme uvádza sa, rovnako. Problém nastaví tento rok, na rozdiel od v minulom roku, na základe spätnej väzby, bude ešte byť prepustený v piatok. Ale skôr ako z dôvodu následná piatok, čím vám len sedem dní, účinne byť spôsobené 10 dní neskôr. A skutočne, to bude znamenať, že budú prekrývať cez víkend. Ale dúfame, že tento rok To bude obzvlášť umožniť študentom, aby lepšie pokryl odliv a príliv vo svojich plánoch, či už je to akademici alebo extracurriculars alebo atletiku alebo Priebežné sezónu. Môžete buď front-load alebo back-load Váš týždeň so zameraním na báze CS50 na svoj vlastný týždenný skutočnom zaťažení kurzu. Problém nastaví sami bude zahŕňať celý rad jazykov, keď sa budeme sústrediť prevažne skoro na C Než sme sa potom zameria na vyššiu level, viac web-centric jazyky. A potom pár OTÁZKY here-- by ste mali vziať triedu ako CS50 Ako prvý rok? Tak absolútne. A skutočne, to nie je nutne niečo by ste mali odložiť, kým ste rez vaše zuby na iné typy tried. Ale skôr do úvahy že pre mnoho študentov, vrátane mňa späť v deň, to je veľmi neznáme pole, Zvlášť ak ste nikdy nemal vziať AP CSA alebo niečo podobné, že na strednej škole. Ale uvedomiť, že na začiatku, či už je to tento kurz alebo nejaký iný úvodný kurz, Teraz je naozaj najlepší čas, Myslím, že nájsť nejakú novú cestu alebo nejaký nový akademický záujem, rovnako. A potom brať s ostatnými courses-- tak jeden z kľúčových rozdielov tu oproti Harvard je, že len my trvať štyri kurzy za semester na Harvarde z nejakého dôvodu. A vy vlastne ťahať off cca 36 kurzov celkom v priebehu svojich štyroch rokov, čo znamená, že zvyčajne štyri alebo päť triedy. A ja si myslím, že je celkom spravodlivé povedať, a zriekajú CS50, podľa návrhu, je Pravdepodobne nie je typ triedy že by ste mali typicky vziať s ďalšími štyrmi kurzy pre celkom päť preto, že sú podľa psets navrhnúť pomerne intenzívne. Ostatne, aj ja sa naučil Tento späť v deň. Ja by som opísal CS50 a informatika, programovanie ako veľmi ťažké, ako to je len časovo náročné. Nie je to ten druh vecí kde po večeri, tie môže ísť späť do svojej koľaji izba, sadnúť a začať zameraním na pset myslenia, v poriadku, Idem na to bang Dnes večer a potom sa presunúť na moje ďalšie tému na ďalší deň. Niekedy proste narazil do steny. Máte chyby v kóde. Nemusíte nutne vedieť, ako riešiť nejaký problém. A jedným z kľúčových rysov programovanie pre seba až do dnešného dňa Je vám tak nejako je potrebné vziať krokom späť niekedy spať na ňom alebo myslíte, že na neho v priebehu z behanie alebo inú činnosť, a potom sa vrátiť sa k nemu čerstvé. A stačí tieto okná času. A vskutku, to je dôvod, prečo máme predĺžiť dobu k dispozícii pre problémové sady v tomto roku a tiež na tomto URL Dal som privstať, aby čo je nové v tomto polroku, zdobené problém nastaví tak, aby oni sú v podstate o nič menej prísne, a takeaways nie sú o nič menej, ale je tu oveľa menej čelo ohľadu na to, oveľa menej terénny výskum, že je potrebné vykonať na prednej strane každého problém sady, ako uvidíte, ako budete môcť skutočne ponoriť do mäsa nej. Takže si uvedomiť, že tieto a ďalšie zmeny sú na obzore aby sa lepšie prispôsobili študentov, ale nakoniec, aby sa ubezpečil že takeaways sú naozaj tak vysoko, ako je to možné. Takže zatiaľ čo viac práce, než ju môže byť v typickom triedy, Dúfame, že sa vráti k ty a takeaways pre vás a zručnosti a nápady s ktorou opustenie sú tým skôr ako výsledok. A aby vám there-- a to je jedným z kľúčových takeaways, ako Patrick narážal earlier-- je Nosná konštrukcia kurzu je. Takže nielenže CS50 mať jeden z najväčší kurz štáby na akademickej pôde. To tiež má jeden z nasledujúcich Najväčší vysokoškolák. V skutočnosti CS50 vlani bola prvá trieda mať vysokoškolské pedagógmi. A dôkazom tohto úspechu robiť mnoho ďalších ihrísk v Yale SK majú, že rovnako. Aj pre študentov, konkrétne, Budú tieto TA a asistenti kurzu bude podporovať celá sieť podporných prostriedkov, medzi nimi sekcií alebo ústnymi, týždenné príležitosti mať viac intímne rozhovory a hodnotenie materiálu cielená na rôznych tratiach, pre študentov menej pohodlné, oveľa pohodlnejšie, alebo niekde medzi. Tie budú sledovať dostupnosť prednášky o niekoľko dní každý týždeň v pondelok av utorok. A potom office hours-- one-on-one príležitosti o pomoc z kurzu certifikačných autorít a TA bude v stredu a vo štvrtok a nedelí na viac krát, z ktorých všetky budú zverejnené na internetových stránkach kurzu je, ešte viac ako vlani, rovnako. Ale to, čo je kľúčom k CS50, pokiaľ Nie je Je pravda trochu nezvyklé, je kultúra kurzu, podľa ktorého sme sa snažili kultivovať, a to ako v Cambridge po mnoho rokov a teraz naposledy v New Haven. A v skutočnosti, prichádza tento Sobota, ak ste nepočuli, Je CS50 Puzzle Day, ktorý má nemá nič spoločného s informatike ale je úplne určený na odoslanie správa, ktorá je počítačová veda o riešení problémov. A skutočne, ak by ste chceli partnera s jedným alebo dvoma alebo tromi priateľmi a tvorí tím pre CS50 Puzzle deň, pozrite sa u inzerátov, ktoré sú na ceste von. A tri hodiny pizze a hádanky a ceny čakajú. A skutočne, pre Prvýkrát v tomto roku, nebude konať spoločne s Harvard. Bude tu nezávisle na Yale. Tak dávať pozor na tí, ak nemáte. Väčšina každý piatok v semestri sa snažíme urobiť veľkú triedu pripadal malý a priniesť asi 50 študentov na obed so zamestnancami samozrejme je, s absolventov, priateľmi z priemyslu hovoriť o tom, čo život je ako po trieda ako CS50 a počas leta a po dokončení štúdia. Tak dávať pozor na pozvánky na to. Prvýkrát niekedy v tomto roku budeme držať vôbec prvý CS50 kódovanie Súťaž, voliteľný opt-in príležitosť mid-semester, po tom všetkom z nás mali asi šesť alebo sedem týždňov programovania v jazyku C pod svojimi pásmi súťažiť, ak by ste to znovu vyberte-- Na teams-- snažia riešiť toľko problémov ako môžete pri programovaní s vaši priatelia proti ostatným. A smerom k zadnej časti semestra budeme charterové niektoré autobusy, v skutočnosti stráviť nejaký čas v Cambridge, keby si sa k nám pripojiť, pretože tzv CS50 hackathon. V 7 hodín začneme. Okolo 9 hodín, budeme mať pizzu. Okolo 1:00, budeme mať burritos. A ešte niekto hore na Jazda autobusom domov okolo 5:00, budeme zastaviť na palacinky na IHOP na ceste home-- 12 hodín príležitosť ponoriť Nechajte sa spolužiakmi a zamestnancami V konečnom projektu samozrejme je, čo je príležitosť ísť aj za hranice problémové sady Course návrh a vykonávať väčšinu čokoľvek vás zaujímajú, že bude nakoniec tu vystupoval v Commons. Vôbec prvý CS50 veľtrhu bola naposledy rok, výstava end-of-semestra alebo oslava čo všetci v triede dokázali, najmä tie, opäť, kto išiel od nič k niečomu, od nuly do 60, s žiadne predchádzajúce pozadie a vystavovať, nakoniec, niečo pre celú areálu a, -Li online, svet vidieť, ako dobre. Teraz títo tu sú len niektoré z TA a certifikačnej autority, ktorá robí CS50 možné. Dovoľte mi, aby som pozvať ktorúkoľvek týchto zamestnancov ktorí sú tu prísť na javisku, rovnako ako hlavami kurzu je, ponúknuť niekoľko slov inšpirácie, rovnako. ANDI: Ahoj, chlapci. Môže vy počujete ma? Vďaka za nami na túto tému pôvabný, daždivé štvrtok popoludní. Volám sa Andi. Som junior v Berkeley. A spolu s Stelios av lete, budeme vaše tri hlava výučba asistenti pre tento nadchádzajúci rok. Takže, myslím, show hands-- koľko z vás nemajú v úmysle byť SK Hlavným ani naozaj potápanie hlboko do počítačovej vedy ako major tu? Úžasné. To je geniálny. Takže som vlastne globálne záležitosti a kognitívne veda major. Doslova som prišiel do Yale so zámerom už nikdy mať pozrieť sa na Číslo nikdy v mojom živote. Keď som prišiel na Yale, to bolo niečo, čo nikdy nebolo na mojom radare. Chcel som sa dozvedieť o poéziu. Chcel som sa dozvedieť o medzinárodné vzťahy. Chcel som sa dozvedieť o akvarel kresby. Áno, ponúkame triedu Na akvarelových kresieb. Ale nikdy som sa zaujímal v niečom STEM súvisiace. Ale potom som starší dostali, tým viac som si uvedomil, že každé pole v skutočnosti v niektorých Zmysel zamestnáva počítačovej vedy, alebo ak nie je počítačovej vedy, počítanie. V skutočnosti, pre môj celosvetový záležitosti vyvrcholenie projektu, používame analytiku dát analyzovať teroristických útokov Pre Boko Haram v Nigérii. A tak ako vidíte, bez ohľadu čo major ste skončili sledovanie alebo aké sú vaše záujmy, tu na Yale sú, programovanie a základy akéhokoľvek zručnosti sú mimoriadne užitočné. A CS50 naozaj dobre vybavený tak, aby druh požičiavať veľa svojich zdrojov na vás, bez ohľadu na ako pohodlne ste alebo ako ste záujem pri presadzovaní triedu. Letné deje hovoriť trochu Trochu o tom, čo vy ste bude učiť v tomto roku. LETO: Ahoj, všetci. Som Summer Wu. Som junior v Morse. A ja som vlastne začal ako CS50 študenta sám. Pred tromi rokmi tak som bol na rok medzery. Nikdy som prijaté SK triedy na strednej škole, ale myslel som si, že vo svojom voľnom čase, že to bude v pohode naučiť sa kódu. Tak som to urobil rýchle vyhľadávanie Google, Pozrel sa na to, čo bolo k dispozícii on-line, a videl toto video s bábky a DJs a chladné webové stránky. Bol som rád, chcem sa dozvedieť, ako to urobiť. Tak som vzal kurz, a ja práve zamiloval sa do nej. Ale spomínam si, že je tak žiarlivý z deti, ktorí by sa mohli zúčastniť hackathon, navštevovať Puzzle Day, navštevovať pobočku hodiny, získať pomoc od TA osobne. A tak som si nikdy nepredstavoval že by som dostať šancu sa tu podieľa Kurz, ktorý sa prvýkrát dostal ma zaujímajú počítače veda a je dôvodom, prečo Som počítačová veda major dnes. Tak som ťa varovať, túto triedu sa chystá pretiahnuť. Bude to vás napadnúť. Ale je to tiež bude vás naučí, ako robiť veci že ste si nikdy nepredstavoval, by ste mohli. Stelios: Ahoj, všetci. Volám sa Stelios. Som junior v Branford Vysoká škola a hlavné CS. Som tiež z Atén, Grécko. Ja naozaj teším na stretnutie s vami všetkými, chatovanie s vami v sekcii na úradné hodiny, v piatok obedy. Som naozaj nadšený, pretože sme vložili toľko úsilia do vytvára jedinečnú podporu štruktúra pre všetkých z vás, aby svoje skúsenosti s Kurz najlepšie možné. A dúfam, že aj keď väčšina ste pravdepodobne nebude prijatý SK Samozrejme predtým, dúfam, že to CS50 Pre vás je to, čo iskry záujem ďalej sledovať počítače vedy v budúcnosti, ako tomu bolo s takým Mnoho ľudí v minulosti. Takže ďakujem za to, že Odtiaľ radi, že ťa vidím. Jason Hirschhorn. JASON Hirschhorn: Ahoj všetci. Moje meno je Jason Hirschhorn. Bývam v Silliman. A išiel som na Harvard ako undergrad a odbor spoločenských vied a minored v informatike. A jeden z mojich hlavných rolí tu je podporiť tento nádherný personál pretože vás všetkých podporujú. V skutočnosti, to je nie všetky z nich. K dispozícii je 55 vysokoškoláci a absolventi tu pre vás všetkých podporovať. A trúfam si tvrdiť, jeden z najlepších Časti kurzu pre vás všetko sa dostáva k práci s im, ako sa s nimi zoznámiť, dostať je vidieť, ako v CS50 a mimo CS50 tento semester a pre mnoho semestre prísť. Takže dúfajme, že budete vziať Samozrejme, pretože dúfajme, že dostať sa k interakcii s Úžasný personál máme na javisku. HLAS: Dobrá, nechaj ma dokončiť tým, že hovorí, že to bude sranda. DAVID Malan: No, Vďaka celého nášho tímu. Dovoľte mi, aby som stlmiť svetlá a dovoliť viac nášho tímu, a to ako z Cambridge a New Haven, pozdraviť ako súbor mimo týchto ľudí. A potom budeme prechod na Prvý z našich programových zákaziek s týmto jazykom s názvom Scratch. Takže vďaka tímu. Poďme stlmiť svetlá a počul od niekoľkých iných. [APPLAUSE] [Videoprehrávanie] -The Poslaním CS50 je, aby sa vám pohodlnejšie s úplne novým spôsobom, myslenie, tento výpočtový myslenia. -Je Vyrobený počítačovú vedu zaujímavé, ktorá je niečo, čo som sa naozaj realizovať Bol to možné, kým som vzal triedu. -I Bol rád, hej. Som naozaj prekladať svoje myšlienky do počítača práve teraz. -I, Ak nemajú žiadne zázemie v oblasti počítačovej vedy alebo akékoľvek skúsenosti, to je vlastne trieda pre vás. -Tak Rozhodne chcem moji študenti na práve vzrušovať informatiky. A to nielen programovanie, ale myslieť ako erudovaný je naozaj to, čo chcem pokúsiť sa učiť moje prvom ročníku. -CS50 Je tvrdá a obohacujúce. -an Zážitok. -Extravaganza. -Je To nám prináša na ďalšiu úroveň. [MUSIC PLAYBACK] -The TFS sú, myslím, že je miazgou kurzu. -Som Radi, že sa moji študenti Pomáham majú ktorý aha moment si uvedomiť, čo oni sú vlastne snažia k tomu, aby zistili, ako to urobiť pset. -CS50 To určite ťažký priebeh. Ale na rozdiel od akejkoľvek inej Samozrejme naozaj na Yale, to má taký veľký, podporná komunita. -Ty Absolútne nie vedieť nič o kódovanie, aby mohol zúčastniť kurzu. -Je To úžasné sledovať, ako ďaleko ľudia prichádzajú v jednom semestri. -Ty Neboli sám sedí v váš pokoj naučiť sa kódu, ale bolo to viac než len triede. Bol to zážitok. -The Najlepší spôsob, ako naučiť pojmy a o ich spracovanie, je tým, že učia ostatní. Čo je telefónne rozkol? [MUSIC PLAYBACK] -A To je CS50. [MUSIC PLAYBACK] Toto je CS50. -Máš Problém? Trhať ho na polovicu. [MUSIC PLAYBACK] Hodiť preč. DAVID Malan: Dobre. Takže poďme tackle-- v malom bit, mimochodom, je to Bol to tradícia z nejakého dôvodu po dobu 10 rokov slúžiť tortu at the začiatok a koniec CS50. Takže vás čaká na konci roka Dnes, okrem osnovách, Bude nejaký koláč rovnako, a Personál Kurz je pozdraviť. Prechod Ale teraz poďme k prvý z našich jazykov, kde strávime naozaj len týždeň a jeden Problém nastaviť v tejto doméne, škrabanie. A zistíte, ak ste naprogramované, mnoho nápadov a Možnosti sú oboznámení s vami. Ale zistíte, že je to zábavné pozdĺž cesty prísť na to, ako presne preložiť niektoré z myšlienok, ktoré už poznáte na tomto konkrétnom prostredí naozaj zapôsobiť svoju rodinu a priatelia s vašou prácou, ktoré môžu prejsť do režimu online, ak sa tak rozhodnete, potom. A ak máte nie predchádzajúce skúsenosti a sú medzi väčšinu Študenti menej pohodlné, Uvedomujeme si, že mnoho z nápadov sme Len preskúmal s vecami reality-- ako telefónne zoznamy a účasťou a tak forth-- preložiť celkom pekne do počítača, ale nie ak budete používať, spočiatku jazyk takto. Tak toto je program napísaný v jazyku s názvom C. A budeme venovať trocha čas v C, nakoniec. Ale šance sú, to bude vyzerať trochu mystické vám na prvý pohľad. V skutočnosti, tam je veľa divný syntax, zátvorky, lomené zátvorky, zložené zátvorky, citácie, a bodkočiarkami. A skutočne, keď sa ponoriť do programovanie prvýkrát pri pohľade na a snaží sa vytvárať veci takto, úprimne, vám utápať tak tak často v blbosť markante, ktorý nemá nič spoločné intelektuálne zaujímavé o tom. Ale predstavte si, že by ste mohli vytvoriť Tento rovnaký program--, ktoré ako by sa mohlo trochu vyvodiť, pravdepodobne vytlačí "Hello, world" tak či onak. Môžeme páliť, že rovnaký nápad do len dva kúsky skladačky, ak chcete. V skutočnosti, Scratch je zaujímavé pretože je to grafický jazyk. Môžete drag and drop nich skladačky, že iba blokovanie ak to dáva logický zmysel, aby tak urobili. A tak vo Scratch, budeme čoskoro vidieť, to je ako by ste implementovať ten istý Program, s iba dvoma dielmi skladačky že do značnej miery to, čo hovoria. Ale uvidíme za chvíľu, že niektoré zo stavebných blokov, ktoré sme narážal k skôr a niektoré ďalšie sú všetko nakoniec budú predstavovať niektoré z našich prvých programov. Budeme mať veci ako functions-- len akcie, ktoré niečo robiť, ako pozdraviť svet. Budeme mať slučky, veci, ktoré indukujú cykly znovu a znovu, rovnako ako my urobil pred chvíľou s vyhľadávaním Mike Smith. Premenné, ako v algebre, ak vás majú X alebo Y, ktoré možno uložiť číslo. No, v programe, môžete skutočne uložiť viac než len číslami. Môžete ukladať slov a viet a grafiky a ďalšie veci v pokoji. Logické výrazy, len questions-- áno alebo nie, true alebo false. Podmienky, rozhodnutie making založené na týchto áno / nie odpovede. A potom milovník veci, ako je array a nite a udalosti a akýkoľvek počet iných vlastnosti, ale to všetko Pre veľmi pekne do veľmi priateľské bloky takto. To bude funkciu, je fialová kúsok skladačky, ktorý len hovorí, čo jej názov je-- v tomto prípade povedať. A potom často, je tu biely rámček, ktorý vás môžete zadať alebo ťahaním nejakú hodnotu do. A to je to, čo je všeobecne volal argument alebo parameter. Je to spôsob, ako sa zmenila Predvolené správanie puzzle kus, alebo tak, že to robí funkcie niečo na zákazku pre vás ako hovoriť, Dobrý deň, world alebo Dobrý deň, Andy alebo Dobrý deň, Jason alebo nejaký iný veta miesto. Ak chcete povedať, že lot-- doslova forever-- si môžete vziať ďalšie skladačky s názvom navždy a práve vložené dvaja takto spolu. A to slučka, pretože obraz naznačuje, znamená len pozdraviť, svet navždy, znovu a znovu a znovu. Alebo, ak si len chcete urobiť to konečný počet opakovaní, rovnako ako 50 krát, Je tu bude ďalšie puzzle kus pre že-- opakujte 50 krát. Zatiaľ, ak chcete mať premennú V tomto jazyku sme asi na hranie, môžete použiť oranžový blok, ako je tento. A táto premenná I svojvoľne Volal som na celé číslo. A práve som nastavil to rovná 0. A tak možno aj, v tomto case-- to proměnná-- reprezentuje niečí skóre v hre. Začnete na nule, a zakaždým, keď docielenie bránky alebo niečo také, dostanete jeden dodatočný bod. Môžete klásť otázky nuly. Ak budeme preťahovať puzzle kusov vo chvíli, ako je táto, môžete klásť otázky ako: No, je aj nižšia ako 50 ° C? Možno budete potrebovať 50 bodov k víťazstvu. A tak by to bolo Otázkou by ste sa opýtať. Alebo všeobecnejšie, tie Dalo by sa povedať, je x menšie ako y, tam, kde sa podieľali dve premenné? Teraz, toto je veľa väčšie na prvý pohľad, ale v skutočnosti nie je všetko, že zložitejšie. To je len kombinácia podmienok a premenných a logické výrazy sa opýtať tri questions-- je x menšie ako y? Ak áno, povedzte to. Povedzme, že x je menšia než y. Iný, ak x je väčšia ako y, inak x sa musí rovnať y. A vzhľadom k tomu s Mikom Smithom, tam boli štyri scenáre, tu vo svete čísel, x je buď menšie ako, väčší alebo rovné. Všetko, čo máme tri vidličky na ceste. A potom je tu milovník skladačky, ako je tento pre veci, ako je pole, kde sme to bude schopný uchovávať informácie. Budeme vidieť bloky, ktoré umožňujú nám realizovať viac vlákien, Ďalším znakom budeme používať, a potom tiež niečo, čo nazýva udalosti. Ale skôr, než sa dostaneme k tomuto bod a vytvoriť ešte, nakoniec, naše vlastné zákazku dieliky, poďme v skutočnosti otvoriť program sám. Tak toto je Scratch. Je k dispozícii na adrese scratch.mit.edu. A zač hrať teraz alebo neskôr rovnako. To sa stane, že verzia v režime offline. Pre ľudí, ktorí nemajú nutne majú veľký pripojenie k internetu, Tu si môžete stiahnuť Rovnaký softvér, rovnako. A je tu naozaj len tri komponenty k tomuto softvéru. Na ľavom hornom rohu obrazovka je druh javisko že Scratch, ktorý v predvolenom nastavení vyzerá ako mačka, žije vo vnútri. Ten sa môže pohybovať hore, dole, doľava a doprava a vykonať ľubovoľný počet ďalších vecí, a môže vyzerať ľubovoľný počet spôsobov založených na kostýmy, ktoré priradíte k nemu. Ale to je to, čo budeme nazývať sprite, druh charakteru. A môžete mať násobok znaky, ako budeme čoskoro vidieť. V strede sú teraz všetky tieto puzzle kúsky a tieto kategórie alebo palety z nich. Takže teraz som klikol na Motion. A tak vidím všetky motion súvisiace s dielikmi alebo bloky, takže funkcie, ktoré majú čo do činenia s ísť hore, nadol, doľava alebo doprava alebo niektoré ďalšie operácie. Ale keď som klikol na vzhľad, budete mohli vidieť veci, ako je povedzme blok že sme videli pred chvíľou. A keď som kliknite na Control, uvidíte veci, ako je opakovanie a večne a v prípade, že blok sme videli pred chvíľou. A tak zistíte že budeme len poškriabať povrch niektoré z puzzle dohromady, ale je to všetko celkom intuitívne a bod a kliknite. V skutočnosti, Scratch bol navrhnutý pre mladších študentov pomáhať im odbyt pre kreatívne myslenie. A napriek tomu skvele, je to skvelý odrazový mostík aby presne nápady budeme preskúmať v C a Python a JavaScript tiež. Na pravej strane, konečne, tu je to, takzvaný skripty plochu. A to je len prázdne bridlice s ktoré si začať písať program. A ja budem presne to. Teraz som náhodou viem, kde sú veci preto, že som to urobil niekoľkokrát. Ale viem, že v rámci kategórie Events, je tu tento blok here-- Pri kliknutí na zelenú vlajkou. A všimnite si, či som oddialiť a naspäť tu na javisku, Stieracie žije v tejto malý obdĺžnikový svet, vrchole, ktorý je zelená vlajky a červená stopka. Tak choď a zastaviť, resp. A tak to, čo robiť chcem robiť pokiaľ je táto zelená vlajka kliknutí? No, nechaj ma ísť k tomu Vyzerá kategórii. A nechaj ma ísť napred a drag and drop to. A všimnite si, akonáhle sa dostane V blízkosti sú to akési magnetické. Takže keď som teraz pustiť, aby zapadla spolu pekne a čisto. A ja idem dopredu a hovoria niečo ako Hello, world po dobu dvoch sekúnd. Nechaj ma oddialiť a kliknite teraz zelenou vlajkou, a hovoria, Hello, world. Dobre. Takže to je všetko v poriadku a dobre. Nie všetko, čo vzrušujúce. Urobme to trochu krajší. A viem, že v záloha, Scratch sa stane prísť s niektorými roztomilé veci, ako je tento. Takže hrať zvuku mňaukanie do práce. Tak ideme na to. [MŇAU] Ále, to je rozkošný. A keď som na neho again-- [MŇAU] A znova. [MŇAU] Ale ja stále museli oživiť nuly. Ale môžem robiť lepšie ako toto. Prečo nemôžem stačí pretiahnuť tri z nich. A teraz je to trikrát rozkošný. [Mňaučanie] OK, vlastne je to trochu strašidelné. Takže potrebujeme niečo medzi tým tam. Ak idem na kontrolu, vyzerá to, že tam je vlastne čakanie blok. A tak si všimnúť, či som vznášať sa nad there-- a dovoľte mi, aby to trochu väčšie. Keby som vznášať sa, že to bude na zaskočí. Tak počkať jednu sekundu, počkajte jednu sekundu. Poďme hit zelenú vlajku znova. [Mňaučanie] OK, trochu prirodzenejšie, ale nie príliš efektívne. Tak toto je správna, ak môj program je Cieľom bolo mňau trikrát. Ale to nie je moc dobre navrhnutý. Tak nejako som rezať niektoré rohy. Mám trochu lenivý. Čo cíti jako-- čo mi zdá k robili zle, by ste povedal? Jo? Jo, v stredu. Divákov: Používa sa viac pamäť, ako ste potreboval pretože používate toľkých rôznych online. DAVID Malan: Jo, takže viac riadkov. A to by nutne nemusel byť pamäť, aj keď by to mohlo byť považované za týmto spôsobom. Ale je to definitely-- tam je nadbytočnosť. A doslova som trochu ťahal a klesol rovnaké veci. A ak ste trochu extrapolate-- pokiaľ to nie je zrejmé here-- dobre, ako by Aj mňau 30krát? Bol by som drag and drop, podobne, 30 viac párov dielikov. A iste, existuje lepší spôsob. A my sme videli lepší spôsob. Čo by intuitívne byť lepší spôsob? Jo, stačí použiť slučku. Žiadne kopírovanie a vkladanie. A vskutku, kedykoľvek to semester ak začnete nájdenie seba samého pretiahnutím, alebo naozaj kopírovanie a vkladanie, nebezpečný zvyk dostať sa do, pretože to je len nepríliš udržiavateľná. Napríklad, ak chcem zmeniť zvuku k niečomu inému, Musím to zmeniť hneď v troch lokácie, nie len jeden. Vzhľadom k tomu, naozaj, keby som prelomenie tohto away-- Som práve chystá ju oddeliť takhle. Nechaj ma chytiť opakovanie bloku, a kliknite na tlačidlo tri, Druh byt, hodiť niektoré z nich preč len pustil. A potom ju všimnúť nevyzerá to zapadá, ale magneticky, to ide k prichyteniu a to nielen v mieste ale rastú, aby sa zmestili požadovaný tvar. Tak to je dobre. A teraz keď som na tlačidlo prehrávania. [Mňaučanie] Veľmi pekné. Dobre. A teraz je to veľmi jednoduché Zmena taky, pretože môžem len zmeniť jedno číslo na jednom mieste. Ale to tiež nie je všetko zaujímavé. Poďme skutočne Scratch nie mňau, ale pohybovať. Nechaj ma ísť do pohybu a move 10 krokov Vnútri of-- Jejda, dovoľte mi, aby som tento problém odstrániť. Dovoľte mi, aby som si to presunúť 10 steps-- v skutočnosti, nech to nie je to zopakovať. Nechaj ma chytiť riadiaci blok, a vykonajte nasledujúce navždy. Forever, presunúť 10 krokov. A kliknite na tlačidlo Prehrať. OK. Takže našťastie sa zastaví. V opačnom prípade by sa deti veľmi rozrušený keď nejako stratí svoju mačku. Ale aspoň môžem pretiahnuť ho späť do obrazovky. Ale to nie je všetko, veľkého hry alebo animácie. Bolo by pekné, keby azda Odrazil okraj. Tak čo budeme robiť? Čo konštrukt potrebujeme mať Scratch rozhodnúť sa odraziť, myslíte si, Aj keď ste nikdy Videl Scratch predtým? Jo, v chrbte. Publikum: len pokiaľ je ak bloku alebo if-then. DAVID Malan: Jo, takže niektoré druh bloku if alebo if-then. Takže vlastne máme jeden z nich tu. Takže if-- tak ma nechaj zbaviť hnutia. Dovoľte mi priblížiť, takže je to väčšia. Tak ako o tom. Forever, ak Sensing-- sme nie je to nevidel. Potrebujem logický výraz. A ukázalo sa, ak sa dotýka čo? Ak sa dotýkať okraja, čo chcem robiť? No, keď som sa vrátiť do pohybu, Ukazuje sa, oh, môžem otočiť. Nechaj ma ťahať to tu. Prečo nemôžem ísť dopredu a otočiť o 180 stupňov? A teraz mi dovoľte, aby som len presunúť na koniec. Mohol by som dať pohyb na začiatok alebo koniec. Ale logicky, zakaždým, keď sa pohybujem, ja chcete skontrolovať, mám dotýkať okraja? Som dotýkať okraja? Som dotýkať okraja? Takže logicky som sa otočiť a ak áno. Takže poďme hit hru. OK. Takže je to trochu buggy, tak povediac. A chyba je proste chyba v počítačovom programe. Ale aspoň, že to funguje. A v skutočnosti, môžem ísť sem. A dovoľte mi, aby som to nie 10 krokov pri čas, ale to je všetko, animácie. To všetko je karikatúra alebo dokonca film. Nechaj ma pohybovať 20 krokov naraz. Takže 20krát toľko vecí sa deje Raz alebo dvakrát toľko, v tomto prípade. A on sa pohybuje rýchlejšie. Dovoľte mi, aby som sa zmení na 30 rokov. 100. 1000. A bude to naozaj rýchlo. A to je-- jo, OK. Takže teraz sme len preberať s ním. OK, takže kočík. Ale môžeme ho vytiahnuť z cesty tu. Ale môžeme robiť viac zábavy s tým taky. Ako sa o tohle--, že je hore nohami. Ale ukazuje sa, Scratch-- a je v skutočnosti, Musím poprieť, žiadny akademický Hodnota k tomu, čo sa chystám urobiť. Ale keď som otvoriť mikrofón, poďme ho zastaviť a urobiť niečo takého. Au! [Smiať] To bolo nádherné. Ďakujem. Toto je to, čo môj hlas vyzerá, keď som kričať Au. Nemyslím si, že sme chytili svoj smiech. To je v poriadku. Nechaj ma uložiť ako "Au." Poďme uložiť ako "Au". A teraz sa vrátime do skriptov. A teraz som need-- pozrime, Zvuk. Oh, prehrávať zvukové Ouch. Takže keď som sa dotýkať okraja, dovoľte mi, aby som Prvá hra Au, a potom otočiť. A teraz poďme dať ju do stredu. [Hovoriť "OUCH"] Dvakrát tak rýchlo. OK. Ale je to doslova robiť to, čo hovorím. Tak to je v skutočnosti správne, je to len trochu nepríjemné rýchlo. Takže poďme niečo pridať zaujímavejšie v tejto oblasti. Nechaj ma vlastne otvárajú ten, ktorý som urobil v predstihu, príhodne nazvaný Pet Mačka, že to robí. Tu je scenár tu. Čo to bude robiť v anglických termínov? Čo to je navrhnutý tak, aby robiť? Jo, poďme some-- jo? Divákov: Keď vás pet mačku, to meows. DAVID Malan: Jo, takže keď vás pet mačku, že to bude mňaukať. Takže inými slovami, je tu teraz navždy slučka napriek tomu, kombinované s podmienkou, kombinované s logický výraz, v kombinácii s niekoľkými funkcií, účinok z toho, keď som hrať tento program, nie je nič sa stane, až som presunúť kurzor bližšie a bližšie a bližšie a-- [MŇAU] Potom je to ako maznanie mačku. [MŇAU] Len raz vás vlastne presuňte kurzor nad ním. Teraz som tiež rozdúchala nemajú pet mačka, ktorá robí toto miesto. [Mňaučanie] Takže sa to jednoducho neustále meowing. [Mňaučanie] Ale keď som si taky close-- [Mňaučanie] [ROAR] Takže ako to funguje? Teraz už len mať dvojcestný rázcestí. Ak sa ukazovateľ myši dotýka, potom prehrať zvuk leva. Else len hrať zvuk mňau, a potom čakať tri sekundy, takže že je to niečo robí Je to veľmi pokojne. Dobre. Tak to je kombinovanie Niektoré ďalšie nápady v pokoji. Poďme sa pozrieť na tento príklad šľahačkou som volal vlákna. A toto je zásadne líši v tom Využíva znakom mnohých programovací jazyk nazvaný nite, schopnosť programu doslova robiť dve veci naraz. V skutočnosti, v týchto dňoch, ak používate Dokumenty Google alebo Microsoft Word, a dokument sa neustále kúzlo-kontrolovať, aj keď ste type-- alebo hit Command-P alebo Control-P a tlačiť niečo, je to tlač, zatiaľ čo budete pokračovať v písaní. Programy dnes skutočne môže robiť násobok vecí naraz, rovnako ako v Scratch tu. Tak tu mám dva škriatkov Teraz, vták a mačka. A keď som kliknúť na každý z tie znaky jeden po druhom, Vidím, že práve teraz vták skripty v pravom hornom rohu. Teraz vidím, že mačka je. Vták, mačka. Takže každý z nich má svoj vlastný scenár. Ale upozornenie, čo skladačky sa obaja začínajú? Keď zelená vlajka kliknutí. A vták, keď zelená vlajka kliknutí. Takže keď som kliknite na zelenú vlajku, oba tieto skriptov alebo programov budú prebiehať paralelne. A všimnite si, že vták je len tupo odrážanie cez okraj. Mačka jasne bol naprogramovaný s strategickú výhodu. a-- [ROAR] Dobre. Takže mačka chytil vtáka v tomto prípade. Prečo to tak je? No, Oznámenie najprv musíme len vták len tupo deje do tejto počiatočnej polohe, a potom navždy, ak nie dotýkať mačku, len presunúť. A ak ste na hrane, odskočiť. A len presunúť. A ak ste na hrane, odskočiť. Ale mačka, medzitým, má nejakú ďalšiu logiku ktorý hovorí tohle-- prvý, len tak že to nie je celkom skreslená proti vtáka, všimnite si, že som používal zelené skladačky tam v skutočnosti, že vyberie náhodné číslo. Charakteristickým rysom mnohých jazykov je dať vy náhodných alebo pseudonáhodných čísel. Takže v tomto prípade, mačka spočiatku vyberie náhodné číslo medzi nimi, rovnako ako, 90 stupňov a 180 stupňa, v podstate tak, že je tu trochu rozptylu. A potom navždy, ak dojemné vták, prehrávať zvuk leva. V opačnom prípade stačí smerovať vtáka. Smerovať k vtáka. Bod smerom vtáka, ktorý je skladačky sama o sebe v tomto prípade. No, môžeme to urobiť jednu vec tu. Dovoľ mi otvoriť program podujatia tu. A tu sme opäť dve škriatkov, ktoré vyzerajú ako tieto dve bábky tu. A čo je zaujímavé, tu je to. Oranžová chlap má toto set dielikov tu. Forever robiť following-- ak stlačíte medzerník, teda povedať, Marco, a potom vysielať udalosť. A medzitým modré chlap má tu tohle--, ak sa zobrazí udalosť, hovoria Polo. Tak to dopadá v Scratch aj v iných jazykoch, existujú spôsoby, ako pre dva programy alebo dva skripty, v tomto prípade, aby prepojené tak, že keď som hit medzerníka, hovorí Marco. A ten druhý človek počuje, že tak hovoriť, a hovorí Polo v odozve. Takže môžete písať programy, ktoré skutočne pracujú týmto spôsobom. A keď to urobím toto miesto, Môžem pridať aj premenné, len pomocou jedného sprite v tomto prípade. Toto je obzvlášť nepríjemné. [SEAL Barking] Teraz oznámenia na pravej strane máme niektoré ďalšie logika tady. Ako môžem zastaviť túto pečať z štekanie? [SEAL Barking] Vyzerá to, že na pravej strane stránkou je to, čo je prehrávanie zvuku. Ale je to len hranie znieť, či to, čo je pravda? Ak sa proměnná-- oranžovej block-- tlmený je nula. Ako zmením stlmený byť 1, čo znamená pravda, aby to tlmené? Zdá sa, že druhý scenár, môžem hit medzerníka, a teraz sa zastaví. Takže môžeme mať tento vzájomnej komunikácie naprieč skriptov, rovnako, jednoduchým zdieľanie premenné po dvoch, ako je táto. Teraz to nie je všetko tak zaujímavé. Poďme ďalej a to aj kombinovať mnoho z týchto myšlienok s týmto programom tu. Než to urobíme, aj keď, ako je to jeden dobrovoľník? Dovoľte mi, aby som tlak off o mňa, pretože nemám vlastne hrať túto hru. Poďme mať niekoho, my ešte nevideli. Musíte byť pohodlné prichádza up na javisku tu, na kameru. Dobre, poď hore. Veľmi statočný. Ako sa voláš? IDRIS: Idris. DAVID Malan: Čože? IDRIS: Idris. DAVID Malan: Idris, rád vás spoznávam. Poď hore. A teraz, na svoj vlastný mobil telefón, hráš Pokemon ísť? IDRIS: Nie. DAVID Malan: Vážne? IDRIS: Jo. DAVID Malan: OK. Dobre. No, rád ťa spoznávam. Poď. Ja tiež nie. Takže budeme prísť na to, ako dosiahnuť hrať to, ktoré niekto vlastne išiel a realizované v Scratch zmenou mačku v zásade rôzne postavy dohromady. A keď som celú obrazovku to tu, ideme zobrazí sa nasledujúce hru spolu. Stále načítava sa stále načítanie. Poď. Nechaj ma to urobiť. Poď. Táto hra je tak veľký, že sa zrútil. Pripravte sa. Skúste to ešte raz. Poď. Dobre. Tam sme ísť. OK. Zelenou vlajkou. Tak ideme na to. [MUSIC PLAYBACK] Vyberte prostrednej úrovne tu. Kliknutím na modrej chlapa tam. Dobre. A môžete použiť šípku keys-- hore, dole, doľava, doprava. Teraz uvažujme ako my tohle-- a potom ísť po charakteru tam. Hej. A teraz kliknite naň myšou. Ó áno. Pohnúť. Kde je ten šíp? Nech sa páči. Takže kliknite na tam. Jo. Dobre. Takže teraz mi povedané, že máte Poke loptu že ak na neho, bude to robiť. Veľmi dobre. Pri praktizovaní pre dnešok, já našiel túto verziu hry je v skutočnosti nie je príliš ťažké. Takže ak chcete ísť zase tu, ísť dole na tento Poke lopte. A potom ísť vziať právo. Skúste kliknúť na neho. Oh, v skutočnosti, to je úložiska, zrejme. OK tak blízko, že. Nikdy urobil predtým. Možno ísť až na tú vec tu. Oh, tam idete. Počkaj, je tu ešte jedna tamto. Oh, je tu ešte jeden. OK. Nadol. Áno, na tlačidlo OK. OK, to je veľmi roztomilé. OK, veľmi dobre. Táto hra nie je príliš ťažké. OK. Blahoželáme. Tu máme CS50 stres loptu pre vás. Ale uvažovať len na okamih, aké niektoré z takeaways sú tam. Jednoduchšie ako skutočnú hru, zrejme. Ale všetko, čo sme ísť tu je znak ktorý má pravdepodobne nejakú slučky s ním spojené. Nie je to mačka. Je to znak miesto. A to slučka je jednoducho neustále hovoriť, či šípku nahor lisované, Pri stlačení šípky dole, ak šípka vľavo alebo vpravo lisované šípka lisované, pohybovať hore alebo nadol alebo doľava alebo doprava. Alebo či je tam iný skladačky ktorý hovorí, že pri dotyku iný objekt sprite, pri dotyku jednu z postáv k Poke lopty, ak dojemné, potom to urobiť. Takže všetky myšlienky my sme používali doteraz skutočne môžu byť použité len v tomto konkrétnom kontext hrať túto hru, rovnako. Nechaj ma ísť dopredu a vytiahnite up jedným tu druhé, v skutočnosti. Nechaj ma ísť dopredu a vytiahnite up, povedzme, to. To je niečo, čo sme remixoval. Made by jeden z našich študenti v Cambridge, a potom som prešiel a k zmene skoro každý prípad Harvard na Yale tentoraz. By niekto chcel súťažiť proti Brečtan Tu v inom akumulácie všetkých týchto myšlienok? Poď dole, áno. Ako sa voláš? DINA: Dina. DAVID Malan: Adina? DINA: Dina. DAVID Malan: Dina, poď dole. V poriadku, Dina. Takže táto hra stále ťažšie a ťažšie, pretože v tejto hre, tam je premenné používané rovnako , Ktoré sa neustále sledovanie na akej úrovni ste v hre. Tak rád ťa spoznávam. Poď sem okolo seba. A tak Cieľom je zoradiť of aby si cestu bludiskom že tento žiak realizovaný. A len preto, aby pripravila pôdu, každý z týchto obrazov na obrazovke je jeho vlastné sprite, svoj vlastný charakter. Tak to bolo v predvolenom nastavení mačiek ale je študent zmenený do rôznych log brečtanu tu. A potom uvidíte, že práve za použitia podmienok a slučiek a funkcie a viac, dostanete to. [MUSIC PLAYBACK] [MUSIC - MC Hammer, "U nemôže dotknúť  Tento "] Jo, OK. Jo, pokračuj. Prvá úroveň je veľmi jednoduché. Práve ste sa dostali tam ísť. Ale znovu zvážiť, je to len slučka načúva šípky keys-- hore, dole, doľava, doprava. A teraz snímacie blok. Veľmi pekné. [MUSIC - MC Hammer, "U nemôže dotknúť  Tento "] Veľmi pekné. [MUSIC - MC Hammer, "U nemôže dotknúť  Tento "] Veľmi pekné. Celkom jednoduché, Crimson. Dobre. Levels-- uh-oh. [MUSIC - MC Hammer, "U nemôže dotknúť  Tento "] A opäť, v týchto Tri Harvard hrebene, stačí mať logiku hovorí Ak na hrane, odskočiť. [MUSIC - MC Hammer, "U nemôže dotknúť  Tento "] OK, čo robíš sa zaujímavejšie než prečo. Veľmi pekné. Veľmi pekné. Uh Oh. [MUSIC - MC Hammer, "U nemôže dotknúť  Tento "] Myslím, že budete musieť obetovať sami. [MUSIC - MC Hammer, "U nemôže dotknúť  Tento "] Rýchlo! [MUSIC - MC Hammer, "U nemôže dotknúť  Tento "] Pekný. To je v poriadku. Dostanete ju. Áno áno! Veľmi pekné. [Fandenie] [MUSIC - MC Hammer, "U nemôže dotknúť  Tento "] Pekný! [MUSIC - MC Hammer, "U nemôže dotknúť  Tento "] Mám to. Poď! Druhý na poslednú úroveň. [MUSIC - MC Hammer, "U nemôže dotknúť  Tento "] Dobre. [MUSIC - MC Hammer, "U nemôže dotknúť  Tento "] Áno. Dobré využitie premenných tu. [MUSIC - MC Hammer, "U nemôže dotknúť  Tento "] Áno. [MUSIC - MC Hammer, "U nemôže dotknúť  Tento "] Pekný. [MUSIC - MC Hammer, "U nemôže dotknúť  Tento "] Je to v poriadku. Musíme sa dostať až do konca. K dispozícii. Oh! [MUSIC - MC Hammer, "U nemôže dotknúť  Tento "] Naraziť dnes neskoro, ale že to bude stáť za to. [MUSIC - MC Hammer, "U nemôže dotknúť  Tento "] Ty to dokážeš! Yeah! [Fandenie] [MUSIC - MC Hammer, "U nemôže dotknúť  Tento "] Toto je naozaj ťažké. [MUSIC - MC Hammer, "U nemôže dotknúť  Tento "] Dáme vám ďalšie dva životy. Môžeš to urobiť? [MUSIC - MC Hammer, "U nemôže dotknúť  Tento "] Dobre. Ako sa o veľkom kole potlesku však. Musíš druhej až poslednej úrovni. Ďakujem. [APPLAUSE] Takže je to len povedať, ako veľmi si dá robiť s týmito druhmi vecí. A uvedomiť si tiež, že ak skladačky nemajú exist-- A skutočne, to bude jedno právomocí s prvým problémom súpravy a beyond-- je skutočne vytvoriť svoj vlastný. A to je len úryvok jedného z príkladov budete môcť hrať s on-line, kde ak ste nemajú zabudovanú do Scratch niečo ako kašeľ kúsok skladačky, môžete skutočne robiť sami. A tak všetko a oveľa viac čaká. A práve maľovať záverečná obraz skutočne to, čo je vpred v obchode pre triedu pre vás, na základe fotografie z spolužiakmi minulosť, dovoľte mi, aby som stlmiť svetlá jeden posledný čas a ukázať vám CS50. [MUSIC PLAYBACK] Dobre. To je pre CS50. Koláč je teraz slúžil. [MUSIC PLAYBACK]