[Predvajanja glasbe] [GLASBA - ROSSINI, "Ranz DES VACHES "podaji William TELL] [GLASBA - SLOVENSKO BEAT, "MARCA O vrtljivimi glavami "] [APLAVZ in vzklikati] DAVID Malan: Torej, to je CS50. Moje ime je David Malan. In 73% vas nima predhodnih izkušenj z računalništva, v nasprotju s tem, kar si morda mislite. Torej, danes smo menili, da bi čip stran V tem nepoznavanja, pa tudi vam občutek, za tiste, ki ste z več udobja, ki smereh lahko greš ta semester. Torej začnimo s tem. Res nimam pojma, kaj je v notranjosti računalnik, čeprav, kot si ti, jaz ga uporabljajo vsak dan. Ampak to je neke vrste okno, in tam ni veliko vhoda vanjo. Minimalno, tam je, kaj? Verjetno napajalni kabel. In sicer s tem ene sestavine, električne energije, se zdi, da se lahko početje zelo malo v teh dneh. Toda na koncu dneva smo morali zastopati stvari da nam je mar. Moramo predstavljajo informacije v neki obliki. In ti si verjetno vsaj nejasno seznanjeni z idejo, z dvo-ali bitov tako ali drugače, računalniki zmanjša na ničel in enic. Lahko pa smo objemu da in vsaj dal malo svetlobe na to? Torej sem ti malo še desk svetilke tukaj. Imam električno vtičnico tukaj. In bom predlagal, da se v notranjosti v računalniku je vsaj eden od te stvari, nekaj sposoben jih je mogoče vklopiti ali izklopiti. V tem primeru je res namizno svetilko, vendar na nižji ravni, to je nekaj imenovana tranzistor. Toda v našem svetu, je namizno svetilko, tako da Jaz grem naprej in zapolnili to v mojo elektriko tukaj. In trdim, da s tem preprostim, preprosta naprava, to preprosto stikalo, I lahko predstavlja podatke. Na primer, zdaj sem predstavlja nič, kajne? Jaz sem kar predstavlja, kaj bom poklical 0 ali napačna, nasprotno od nečesa pravzaprav ni prisoten. Ampak, če sem samo vklopite stikalo, Zdaj pa sem predstavljal 1. Torej z uporabo te zelo preprost kos spomin, če hočete, lahko predstavljajo informacije. Zdaj žal, moj računalnik ne more storiti vse, da je veliko. To lahko pomeni samo dve vrednosti na celem svetu - 0 ali 1. Toda kaj je očitna rešitev, zdaj, Če želimo razširiti naš računalnik je spomin in predstavlja več kot samo 0 in 1? No, pa zgrabi drug takšen bit. Oglejmo zgrabi eno stikalo, drugo tranzistor, vendar bi radi razmišljati o tem. Dovolite mi, da gredo naprej in zapolnili to v mojem računalniku, kot tudi. In bom trdijo, zdaj, ki ga z malo več elektrike in več teh stikal vklop in off, lahko predstavljajo več kot informacije. Torej sedaj, to je 1. Če želim, da sedaj predstavljajo 2, jaz bi to naredil. Ampak ponavadi, konvencije, kot bomo sčasoma videli, bo moral jaz to storiti. To je torej 0, to je 1. To bi bilo 2. In ni presenetljivo, da to ne bi bilo 3. Torej, na ta način, še vedno lahko smo prešteti še? Če bom dobil še tretjo malo, tretje stikalo, kar je najvišja številka morem zdaj štetje do od 0? Torej, 7, če sem z začetkom na 0, kajne? Ker, če sem pa to svetlobo na in dejansko zapolnili to tretji in zadnji svetlobo v mojo vtičnico tukaj potem imam možnost, da zastopa koli od obeh vrednosti tu, dve vrednosti tukaj dve vrednosti tukaj - in tako sem lahko predstavlja 2 krat 2 krat 2, ali osem možne vrednosti. In če začnem računovodstva na 0, tako to je 0, 1, 2, 3, 4, 5, 6, 7. Torej, to binarno. Res je tako enostavno, kot da. In sem trdijo, da je to pravzaprav precej pozna večina vsi v tej sobi. Dovolite mi, da gredo naprej in odprite malo urejevalnik besedila tukaj. In morda spomnite iz razreda šole da smo imeli stvari kot sto mesto, deset mesto, in tisti kraj. In spomni, da če si imel nekaj decimalno številko, kot nekaj naključnega kot 123, bi ti v bistvu zapisal, da je v obliki teh treh stolpcev. In zakaj je 1, 2, 3, kar poznamo kot 123? Torej, v levemu stolpcu, smo ena 100 plus dva 10s, tako da je 120, plus tri 1s, tako da je 123. Sedaj je ta svet, ki smo ga pravkar osvetljene je povsem enako kot ste bili seznanjeni s tem več let, razen zdaj, naše kolone niso pooblastila 10. Oni so samo pooblastila 2. Zato ker je to tisti kraj, je to se bo dvojke mesto, to je bo krmarjem mesto. In ker sem samo z najpreprostejši mehanizmov vrteti stvari in izklop - elektrika teče ali se električna energija ne teče - Ne povsem imajo enako izrazite Razpon kot 0 do devetih. Bomo, da je zelo preprost na tem svetu računalnikov. Moram samo 0 ali 1 - Vklop ali napačne ali res. Pa kaj bom kar zdaj 1, 1, 1, ker je vsak od teh Luči se sveti. No, to mi daje en 4 plus eno 2, tako da to je 6 plus ena 1, in to je 7. In ergo ali to zaporedje treh bitov predstavlja število 7. Torej, ves ta čas, znotraj vašega računalnik, so poljubno število tranzistorji, poljubno število bitov. Toda na koncu dneva smo lahko predstavlja informacije kot enostavno, kot to. Zdaj žal, smo upoštevali le do 7, v CS50 tako daleč, vendar upajmo, da lahko storimo nekaj boljši od tega. In res smo lahko. Recimo, da smo kot ljudje samo samovoljno odločil, da se bomo povezati številke kot 1 in 2, 3, 4, 5, 6, 7, s posebnimi črkami abeceda. In zaradi zgodovinskih razlogov, bom začetek nekoliko samovoljno, ampak sem reči, ljudi, bomo odloča kot standard, na svetovni ravni, da 65 predstavlja število črko A. 66 bo zastopal B. pika, dot, pika. 90 bo predstavljala črko Z. In kaj je domnevam, da smo mi res dal nekaj Mislil vanjo, bi lahko prišli do s številkami za klicaji in male črke, in seveda, drugi ljudje storili za nas. Torej, zdaj smo imeli nastavke, s katerimi bomo lahko predstavljajo številke, številke, s katerimi lahko predstavljajo črke, in Črke lahko sedaj začnete skladanje e-pošte in tiskanje znaki na zaslonu. Naj povabi, če bi lahko, Osem pogumni prostovoljci - ki ne moti pojavljajo ne le na kamero, ampak na internetu - da bi prišli do tu in predstavljajo osem taka bitov, namesto teh treh. Torej, kako približno ena, dva? Kako približno tri? Kako približno štiri v luči modra, pet na koncu? O nekom več tukaj? Šest spredaj, sedem spredaj, in osem spredaj, kot tudi. Tako da sem samo zato, da se je zgodilo, da pridejo pripravljeni s kopico listke. In na te koščke papirja, so številke , ki predstavljajo kar stolpce gresta za zastopanje. Tako da bo - Kako ti je ime? ŠTUDENT: Anna Leah. DAVID Malan: Anna Leah, si bo 128s stolpec. Ste? ŠTUDENT: Chris. DAVID Malan: Chris bo je 64S stolpec. Ste? ŠTUDENT: Dan. DAVID Malan: Dan bo biti 32s stolpec. ŠTUDENT: Pramit. DAVID Malan: Pramit bo je 16s stolpec. ŠTUDENT: Lillian. DAVID Malan: Lillian bo 8s. ŠTUDENT: Jill. DAVID Malan: Jill bo biti 4s stolpec. ŠTUDENT: Mary. DAVID Malan: Marija bodo 2s, in? ŠTUDENT: David. DAVID Malan: David bo je 1s stolpec. Torej, če bi vi korak malo naprej, tako da lahko vsakdo vidi. Kaj vi ne vidite, da na nazaj teh listke je malo goljufija stanja, ki je približno naroči teh osem bitov, da bodisi dvigniti roko ali ne dvigniti roko. Če je njihova ročna gre gor, oni predstavlja 1. Če je njihova ročna ostane navzdol, oni predstavlja 0. Medtem pa moramo občinstvo lahko ugotovimo, temelji na tem kartiranje, kaj trimestna črkovna beseda te ljudje na tem, da natančno določi. Torej čez nekaj trenutkov, da boš prebrati prvo vrstico off hrbtni tvoja goljufija stanja, in ste bodisi bo dvigniti ali ne dvigniti roko. Če ste 1, višate, če si 0, stojiš tam nerodno, kar tako. Pojdi. Kaj več, predvsem so ti ljudje predstavljajo? 66. 66, kajne? Imamo 1 v 64S stolpcu 1 v 2s stolpcu. To mi daje 66, tako da se zdi, se predstavlja B. Torej fantje so napisane - OK, to je dovolj. B. Torej, zdaj gremo na naš drugi črka. Pojdi. Kdo je najhitrejši v matematiki tukaj? Torej 79. Tudi če seštejemo vse stolpce v katerih je 1, ki je trenutno, samo kot smo prej z najpreprostejši primerov 7, zdaj dobil številko 79. Ki je po našem kartiranju je črka O. Torej smo skoraj tam. B, O. In nenazadnje, pojdi. Kaj pa predstavlja zdaj? Manj soglasja. To je samo absolutna šumenje. Ja, to je v resnici 87. Dobro. Torej, če smo zdaj map, da nazaj do - dajmo začnite klicati našo tabelo ASCII, American Standard Code za Informacije o izmenjavi. To nam daje pismo - ne "Bo" ampak "lok". In to je odlična iztočnica za vama, da lok in glavo na zadnji strani. Hvala lepa. [APLAVZ] DAVID Malan: Lahko jih vodijo. V resnici pa bi kdo kot namizno svetilko, prav? [Skovikanje OD OBISKOVALCEV] DAVID Malan: dnevno luč? [SMEH] DAVID Malan: Res? Namizne svetilke za vsakogar? Vse je v redu. Torej, začenši z zelo najpreprostejši Načela, ki smo jih zdaj ne samo prešteti gor od 0 pa vse do 7, ki smo jih Predpostavlja se, da le s metanju več bitov ali več luči in več tranzistorjev na ta problem, smo lahko predstavljajo večje in večje številke, in ergo, večji in večji razponi abecede, kot angleščini. In samo vzemimo na veri za danes da podobno lahko začnemo predstavljajo grafiko in video in vse Številne druge medije, s katerimi smo znano danes. To je torej CS50, in v tem razredu poleg vas je spet zelo veliko sošolci, ki imajo tako malo, izkušnje kot ti. In to omenjam samo zato, ker precej pogosto, tudi v zadnjem času, kot eden novinec svetovanje dogodke in na letniku lansko pomlad v svetovanju Dogodek, pogosto slišimo študente odpovedujejo ko prihaja do CS mizo, dobro, Razmišljal sem o čemer ta intro razred, vendar nisem zares Računalnik oseba. Ali pa vsakdo zagotovo ve več kot jaz. In sem dal to v največji pisavi je možno, da gre to sporočilo, ki To ni v resnici primera. In če ste se spraševala, če bi Sem v resnici tukaj? Zavedam se, da ni samo to seveda je Naslov Uvod v računalništvo Znanost je Uvod v računalništvo Znanost I. Torej je res Drugi tak uvod. Torej nisi v resnici, na napačnem mestu. In med cilji, ki jih imam za danes, so umiriti imate takšne pritožbe vas morda, ampak tudi slikati sliko o tem, kaj je v skladišču za študenti manj in bolj udobno podobni v tem času. Najprej pa beseda na enem od letakov imate danes, med katerimi so številni pogosto zastavljena vprašanja. To je bila vizija naša že nekaj časa Zdaj uvesti novo razvrščanje možnost v tem času - in sicer, SAT / UNSAT. Filozofsko zame, je še veliko, bolj pomembno, da učenci v tem razredu sodeluje z Material se izpodbija Material in skrbi daleč, daleč manj o mehanika dejanskih rezultatov in pisma stopnje na semester konec, ampak resnično sprejmejo Tečaj in njegova materialna. In to res počuti, bolj splošno, za tisto, kar je zanimivo njih, občutek izpodbija, in nagrajeni, vendar brez strahu pred neuspehom. In res, tudi to je ponavljajoča tema v tem in drugih uvodni tečaji na drugih področjih, ki jih imajo To Strah, ko gre za dajanje svojih prstov v neznane vode. Sam sem že leta 1995, je bil novinec. Sem bil zelo osredotočen na počutje Gov koncentratorja tukaj. In vendar sem vedno odraščala z malo deleža v računalništvu. Vedno sem bil radoveden. Ampak takrat, čeprav se mi je strah celo stopile v CS50, toliko tako da sploh nisem nakupovati je prvi letnik. In edini razlog, da sem dal nogo Vrata letniku leto je bilo zato, ker sem je bilo dovoljeno, da se je opravil / ni opravil. Toda tudi DOBER / SLAB zahteva, da dobim do živca, da imenovanje s profesorjem Kernehan v času, da se ta velik list papirja, in se posvetujte mu za njegov podpis in njegovo dovoljenja za raziskovanje Ti neznane vode. In ni pomagala v zadnjih letih da pri tem v CS50, ko smo Včasih je DOBER / SLAB, podobno bi desetine ali stotine sošolci prišli do, bog ne daj, na sprednji Sandersa s tem obrazcem, ki v nekaterih glavah predstavlja nezmožnost, Upam si reči, da se izvede so ravni svojimi vrstniki. Kar je smešno, ampak jaz mislim, to je to miselnost. In je nikoli ni bilo v tej kulturi od SAT / UNSAT, ali opravil / ni več na splošno, v tem času, ali res na tej univerzi. Tako smo letos to spremenilo. Jaz bi bil ekstatične polovica končala ta razred ali več navzgor ob CS50 SAT / UNSAT. V roku enega leta, bi bilo čudovito če je skoraj vsakdo. Pozneje morda bomo delo na pisma razredov na Harvardu Kolegij bolj na splošno. Ampak za zdaj, bomo to naredili v našem lastna krogla, in jaz bi se iskreno Svetujemo vam, da pregledajo te pogosto zastavljena vprašanja in postavljajo vprašanja, kot se vam zdi primerno, da upajmo, da se, za razliko od mene, ne bo čisto imela enak strah dejavnik pri raziskovati, kaj je verjetno neznan kraj. Torej, kaj je CS50? To je uvod v intelektualne podjetja iz računalnika znanost in umetnost programiranja. Toda kaj to v resnici pomeni? No, doslej smo govorili zelo na kratko o predstavlja podatke. Recimo, da smo dejansko želijo nekaj storiti z njim. Moramo uvesti pojem kaj bomo imenujemo algoritem. Algoritem je postopek, proces, navodil za delaš nekaj. In algoritem lahko nekaj super enostavno. Na primer, na primer, pri katerem nekateri od vas morda pozna to stvar tukaj. Torej je ta knjiga tukaj je vse bolj dne, toda nekoč, je vsebuje cel kup imen in telefonske številke. In res, če sem hotel, da bi našli nekdo v tem imeniku - recimo, nekdo z imenom Mike Smith - Lahko bi našli Mike Smith v poljubnem številu za dokaj enostavne načine. Jaz bi začela na začetku in pojdite na stran 1, ne obstaja. Stran 2, ne obstaja. Stran 3. Je, da je algoritem, je, da postopek, pravilna? Torej je res, kajne? Nekako sem idiot za to početje v da je način, sčasoma pa bom našli priimek E, in upajmo, Mike je v tem poglavju, in jaz bom postal naredil z mojim algoritmom. Ampak zagotovo to ni intuitivno. Najbolj vsak razumen človek v tem Prostor ne bi storil. Kaj bi storili? Ste šli naravnost na sredini, kajne? Približno v sredini. In se zavedaš, oh, to so gospa Torej, Mike Smith, pri čemer Smith priimek, ni jasno, nato pa leva polovica knjige. On mora biti proti S je na desni. In na tej točki, čeprav večina od nas ne počni tega v resnici, ne moremo dobesedno raztrga ta problem v polovici. [Vzklikati in aplavz] DAVID Malan: Hvala. [Vzklikati in aplavz] DAVID Malan: Lahko dobesedno raztrga to Problem na pol, me pustilo, dobesedno, problem pol tako velika. Torej, če je to imenik - in to Verjetno je bil - o 1000 strani, zdaj to je samo 500. Če bi to naredil še enkrat in se zavedam, oh, Prekleto, sem šel predaleč, da sem v Ts del, sem lahko podobno - Figurativno in dobesedno - razporek imenika - je bilo dejansko veliko lažje, da je čas. Lahko dobesedno razporek telefonski imenik na pol, me odhajam z ne 1000, ne 500 - 250 strani. In sem lahko šel 125, polovica od tega, in polovico tega in pol, da dokler ne boste končno sem lahko zapustil z samo ena stran. [SMEH] DAVID Malan: To je I. del ne naprej. Ena stran, na kateri Mike upajmo, da je. Zdaj lahko ti različni algoritmi biti nekako ocenjene ali ovrednotene v drugačne načine. Prvi je bil zelo linearna, kajne? Obrniti stran, poglej za Mikea. Obrniti stran, poglej za Mikea. To je zelo linearna. Če je ena stran v telefonu knjigo, je to verjetno dogaja, da me odpelje eno sekundo, ena enota časa Vendar pa smo izračun časa. Torej lahko rišem takole to linijo tukaj, pri čemer je velikost Problem narašča od leve proti desni - Telefonski imenik postane manjši, da večji - in ko se bo povečala na navpične osi, večja imenik je. Tako n je le splošno spremenljivka, ki računalniški znanstveniki uporabljajo za zastopanje določeno vrednost, nekaj več. Tako n bo linearno povečuje. Podvojitev imeniku, to je da me bodo dvakrat toliko Čas, najverjetneje, da bi našli Mike. Zdaj sem lahko bil pameten o tem, kajne? Sem bil pridobivanje hitro dolgčas. Bi to storili po parih. Torej dve strani, nato štiri, nato šest, nato osem. In lahko začnem plujejo skozi njo v malo hitreje, čeprav na manjše tveganje Preseganje Mike, ampak, da krivulja ni da bo vse tako različni. To je še vedno dogaja, da se ravna linijo, vendar nekoliko hitreje. Ampak, kaj sem naredil? Pravzaprav sem naredil nekaj bistveno bolje. Dosegla sem, kaj bomo klic logaritemsko Čas, log n, pri čemer je ta zelena vrstica ima veliko, veliko, veliko manj ravnilo z njo. In namesto tega predlaga, kot je to nekako približa neskončnosti kdaj tako počasi, da sem lahko dejansko sprejme 1.000 strani telefonski imenik, podvojila svojo velikost Naslednje leto - ker domnevam veliko vedno več ljudi potuje v mesto. Torej, zdaj imam 2000 strani, ampak kako veliko več korakov je, da je pametnejši Algoritem bo trajalo? Samo eno. Mislim, da je močna stvar. Če gremo na 4000 straneh v naslednjem letu, da se dogaja, da me Samo še dva koraka. Tako da lahko vrgel večji in večji Težave vame, ne za razliko spletu, je metanje večje in večje probleme vsak dan ob Googles in Facebooks za svet, in to ni tak big deal. Ker sem dal bolj premišljena in nego v moj algoritem, s katerim bi rešili Težave učinkovito. In res, da bo ena Za dosego ciljev te seveda. Boste, poti, izvedeti, kako program. Naučili se boste, kako program v poljubno število jezikov. Toda na koncu dneva, tečaj o reševanju problemov in pridobivanje boljši pri reševanju problemov - in kot v primerih, kot je ta, reševanje problemov bolj učinkovito. Zdaj tako daleč, da smo to storili precej intuitivno. Dajmo uvesti nekaj dokaj generično imenovane psevdokoda. Tako da bomo na koncu dobili, V tem seveda različne programske jezike. Danes pa ga bom v angleščini podobno sintaksa, kjer si nekako rekel kaj misliš, ampak si kdaj tako jedrnate in vam ni treba skrbeti slovnice in popolne kazni. Pravkar ste izraziti sebe kot jedrnato, kot je mogoče. Torej psevdokoda je angleščina-like sintakso, ki predstavlja programski jezik. In proti ta namen, naj predlagajo, da zdaj modeliranje procesa smo samo opisano štetja nekaj malega drugače, tokrat ob poglej to pet minut videa proizvedene naši prijatelji na TED, da določa, kaj psevdokoda je, opredeljuje, kaj algoritmično razmišljanje in celo čeprav primer si nadeja je v sam po sebi zelo preprosto, je bo za začetek, da nam duševno Model, besednjak, s katerimi se storiti še veliko, veliko bolj zapletena precej hitro algoritmi. [BEGIN predvajanje videa] [Predvajanja glasbe] Pripovedovalec: Kaj je algoritem? V računalništvu, algoritem navodil za reševanje nekaterih Problem korak po korak. Značilno je, da so algoritmi izvajajo z računalnikov, vendar smo ljudje imajo algoritmi, kot dobro. Na primer, kako bi se lotili O štetjem oseb v sobi? No, če ste kot jaz, boš verjetno Točka, na vsako osebo, eno na čas in štetje od 0. 1, 2, 3, 4, in tako naprej. No, to je algoritem. Dejstvo je, poskusimo to izraziti nekoliko bolj formalno v psevdokoda - Angleško-podobno skladnjo, ki spominja programski jezik. Naj N enako 0. Za vsako osebo v sobi, nastavite N enako N plus 1. Kako razložiti to psevdokoda? No, prva vrstica izjavlja, da se tako izrazim, spremenljivka se imenuje N in inicializira njegova vrednost na 0. To samo pomeni, da na začetku naš algoritem, stvar, ki smo štetje ima vrednost 0.. Konec koncev, preden začnemo štetje, nismo šteli še ničesar. Kliče ta spremenljivka N je le dogovor. Lahko bi jo imenovali skoraj karkoli. Zdaj linijo dve demarks začetek zanka, zaporedje korakov, ki bodo ponovite nekaj več časa. Torej, v našem primeru, korak peljemo je štetje ljudi v prostoru. Pod črto dva je tretja vrstica, , ki opisuje, kako natančno bomo lotili štetja. Zamik pomeni, da je linijo tri, da se bo ponovil. Torej, kaj je rekel je psevdokoda da po začetku na 0, za vsako oseba v sobi, bomo povečati N do 1.. Zdaj je to algoritem pravilen? No, pa bang na njej malo. Ali to deluje, če obstajajo dve osebi v sobi? Poglejmo. V skladu eni smo inicializacijo N 0.. Za vsako od teh dveh oseb, potem smo prirastek N za 1. Torej na prvem potovanju prek zanka smo posodobiti N od 0 do 1. Na drugem potovanju po isti zanka smo posodobiti N od 1 do 2. In tako do konca tega algoritma je, n 2, ki sicer ustreza številu ljudi v sobi. Doslej je tako dobro. Kako približno kota primeru, čeprav? Denimo, da obstajajo ljudje 0 v prostoru - poleg mene, kdo dela štetja. V skladu eni smo inicializacijo N 0.. Ta čas, čeprav, tretja vrstica ne vršiti vse saj ni oseba v sobi. In tako ostaja N 0, ki ustreza število oseb v sobi. Precej preprosto, kajne? Vendar štetje ljudi ena naenkrat je precej neučinkovita, preveč, ne? Zagotovo lahko storimo bolje. Zakaj se ne šteje dve osebi naenkrat? Namesto štetje 1, 2, 3, 4, 5, 6, 7, 8, in tako naprej, zakaj ne računajo, 2, 4, 6, 8 in tako naprej? To celo zveni hitreje, in to zagotovo je. Oglejmo izrazi to optimizacijo V psevdokoda. Naj N enako 0. Za vsak par ljudi v sobi nastavite N enako N plus 2. Precej enostavno spremembo, kajne? Namesto da število ljudi, ena v času, smo namesto štetje jim dve hkrati. Ta algoritem je kar dvakrat tako hitro kot zadnji. Toda ali je to res? Poglejmo. Ali to deluje, če obstajajo dve osebi v sobi? V skladu eni smo inicializacijo N 0.. Za ta enim parom ljudi potem smo prirastek N z dva. In tako do konca tega algoritma je, N 2, ki sicer ustreza številu ljudi v sobi. Denimo, da obstajajo naslednja 0 ljudi v sobi. V skladu eni smo inicializacijo N 0.. Kot prej, tretja vrstica ne izvede sploh, ker ni vse pare oseb v sobi. In tako ostaja N 0, ki je dejansko ustreza številu ljudi v sobi. Toda kaj, če obstajajo tri ljudi v sobi? Kako to algoritem fare? Poglejmo. V skladu eni smo inicializacijo N 0.. Za par ljudem, potem smo prirastek N z 2. Ampak kaj potem? Ni drugega poln par ljudi v prostoru, tako da druga vrstica ni uporablja več. In tako do konca tega algoritma, N še 2, ki ni pravilno. Dejansko je ta algoritem je naj bi vozičkom, ker ima napako. Lets odškodnine z nekaj novega psevdokoda. Naj n enak 0 za vsak par oseb v sobi. Nastavite N enako N plus 2. Če ena oseba ostane brez para, nastavite N enako N plus 1. Da bi rešili ta problem, ki smo jih uvedena v skladu četrtem pogoj, sicer znan kot podružnica da izvaja le, če obstaja ena oseba, ki je nismo mogli Par z drugo. In sedaj, ali obstaja ena ali tri ali liho število ljudi v Prostor, ta algoritem jih bo zdaj šteje. Lahko naredimo še bolje? No, smo lahko računali na 3s in 4s ali celo 5s in 10s, vendar po tem, da je bo dobil malo težko točko. Ob koncu dneva, ali izvrši z računalniki ali ljudi, algoritmi so le niz navodil z za reševanje problemov. To so bili le trije. Kaj problem bi lahko rešili z algoritmom? [END predvajanje videa] DAVID Malan: To je edini čas Jaz se bo pojavil v obliki risanke. Ampak, če je ta zgodba zapusti off, Zdaj, je, kako lahko naredimo bolje? Trojk in štiric, trdimo, lahko računamo ljudje veliko hitrejši, vendar smo lahko narediti bistveno boljši od tega? In jaz sem stavil moremo. Če uvedemo malo lastnega psevdokoda tukaj, bom predlagala da bomo lahko dosegli linijo, kot je ta. Ne bomo za štetje ljudi ena, dva, tri, štiri. Ne bova šla dva, štiri, šest, osem. Bomo narediti bistveno bolje po premisleku problem, in to Primer, vplivno drugače premalo izkoriščen vir. V samo trenutek, upam, da ne boste zamerili in nas humor, ki ga stoje v mesto, na kateri točki se bomo vprašati vsakega od vas, da se v vašem umi številka 1. Saj potem bo vse bolj nerodno, ker čas teče, poiščite nekdo, ki stoji, združujejo vaše številke skupaj jih sešteva. Eden od vas je nato bo dirko za sedenje najprej navzdol, in druga oseba se bo ponovil. Torej, z drugimi besedami, sejanje vse si s številko 1 in nato združuje tiste 1s v 2s in tiste 2S v 4s, z vsemi bolj sedel, da bi morali, na koncu Ta algoritem, imajo le eno posojilo duša, ki ni sedel dovolj hitro, vendar ki ima celotno število občinstva V svojem umu. Torej, če bi bilo, gremo naprej in - Prvi korak - stand up v mestu. In izvedbo. [MNOŽICE mrmrajo] DAVID Malan: Ali veste, kje je Lauren? 729? [MNOŽICE mrmrajo] DAVID Malan: Vse v redu? [MNOŽICE mrmrajo] DAVID Malan: V redu, bi morali se bliža koncu. Vidimo enega fanta stala tu še vedno. Kdo potrebuje drugega, da se seznanite? Če vi želite seznaniti off. Nekdo up vrhu. Zakaj ne bi nudila roko tukaj. V zelo redkih ljudi, ki so še vedno stoji, kaj si naredil številke imate v mislih? ŠTUDENT: 78. DAVID Malan: 78 plus - kdo stoji tukaj? ŠTUDENT: 39. DAVID Malan: Plus 39. Plus kdo še stoji? 81? OK, kdo drug? Še en 81? Wow. In potem kaj je zadaj? ŠTUDENT: 49. DAVID Malan: 49, plus? ŠTUDENT: 98. DAVID Malan: 98 plus? Je, da je nekdo drug? 12? Dobro opravljeno. [SMEH] DAVID Malan: Oh, 112 - oh. Good job! [SMEH] [APLAVZ] DAVID Malan: kdo še vedno stoji? Oprostite? ŠTUDENT: 99. DAVID Malan: 99. Kdorkoli drug, še vedno stoji? In skupno število študentov tukaj je pravzaprav po - imaš številko? Oh, dejansko število oseb v Prostor, glede na to, da učni fantje počeli na vsakogar način v, je bil 729. Torej ven iz Polna soba s Harvarda študentov , ki se šteje, Odgovor je 637. [SMEH] DAVID Malan: Tako blizu. Ampak vseeno. OK, tako da je poučevanje Trenutek, kajne? To je zdaj tisto, kar smo opisali kot hrošč. Nekje na poti, smo naredili nekaj aritmetično narobe, ali je nekdo sedel, ali levo, ali je šlo nekaj narobe. Ampak to je v redu. Ker še vedno imamo imam zelo blizu. In sem trdijo, da moramo narobe odgovoriti veliko hitreje, kot bi morali z mojo več linearni pristop. Torej, kaj je domnevati, da je v resnici dobil popravi, ampak mislim zdaj o tem, kaj se je dogajalo vsakič, proti moji lastne naivnosti kaže algoritem. Ena, dva, tri. Če je dejansko 729 ali 637 ljudi tu, da bi me sprejela dobesedno na 637 ali 729 pointings s prstom in povečevanje mojega celotnega števila. In sem lahko naredil malo bolje bo dva, štiri, šest, osem, in podvojiti hitrost, morda celo trojno ali štirikrat, odvisno od tega, kako dobro sem lahko to, da štetje v moji glavi. Toda ta pristop, ki je vi je bil bistveno drugačen. Ker je na začetku, vse vas vstal. Torej, vse 729. In potem dobesedno pol od tebe sedel. In po tem, drugo polovica od vas sedel. In po tem, drugo polovica od vas sedel. In skupno število krat, da Fantje bi sedel je v grobem osem ali devet ali skupaj desetkrat, odvisno od tega, kakšna je naša Skupno število je. In mi lahko nekako narediti ta drug način. Če bomo imeli 1024 ljudi, v sobi, Skupno število krat, da bi lahko prepoloviti 1024 ljudi je 10. Zdaj pa pomislite na drugo smer. Domnevam, smešno, da smo imeli, recimo štiri milijarde ljudi v tej sobi, ali pa malo večja soba. Kolikokrat bi si šli s pomočjo tega algoritma, tako da polovica tega razreda sede? To je samo bo trajalo 32 kot operacije, tudi v razredu velikosti štiri milijarde. Zakaj? Ker štiri milijarde gre za dva milijarde evrov, gre za milijon, gre za 500 milijonov, gre za 250 milijonov, pika, dot, pika. Jaz lahko samo, da bo delitev nekaj 32 krat, na kateri točki, vsi razen ena oseba bi stale. In tudi to je neke vrste močna Ideja, da bolj bomo poskušali vzvod v tem času, in programiranje in računalništvo več na splošno so ti zametki ideje s , ki jih lahko nato reševanje problemov veliko, bolj močno. Tako smo začeli dokaj preprosta s tem psevdokoda in moški v sobi, vendar zdaj s celotno sobo, polno ljudi smo naredili bistveno bolje. No, kaj je zdaj prehod iz psevdokoda do neke dejanske kode. Ta jezik boste kmalu videli zgodilo da se imenuje Javascript, in bomo vrnili k temu proti konec semester. To je programski jezik, ki ga uporabiti, da bi spletne strani in druge, kot Programska oprema v teh dneh. In smo ga uporabili, zahvaljujoč prijatelju naša na Stanfordu, za kodiranje nekatere skrite informacije tukaj. To je umetnost steganography, tako rekoč, kjer se lahko skrijejo informacije, kaj se zdi drugače biti šum ali povsem drugačen slika celoti. Toda vgrajeni v tem sliki je res skrivnost sporočilo z menoj. Naj gredo naprej in potegnite navzgor enaka slika tukaj, to Čas v spletnem brskalniku. In bom zamahnete z roko nad nekaterimi podrobnosti za danes, zlasti Za tiste, ki ste to izgleda ne le Javascript ampak grškem, kot popolnoma neznan jezik. Vendar je to primer programski jezik. In za zdaj, da na veri, da ta prva vrstica kode - in z oznako, pravkar sem pomenilo besedilo. Besedilo, ki sem lahko dobesedno tipkal v Microsoft Wordu, če bi imel Pravica programska oprema nato nekaj storiti z njim. Programsko izvorno kodo, programiranje Koda je res samo besedilo, in to Izgleda različen glede na to, kaj jezik boste uporabljali, niso v nasprotju angleščini in Španščina in ruščina vse videti drugače ko jih vnesete na tipkovnici. Torej, ta prvi vrsti, za zdaj prevzeti vera, preprosto odpre grafike iz internet, ki hrupno grafični smo pravkar videli. Ta naslednji vrstici tukaj je primer zanke, in smo dejansko videli, da enako žargon v videu TED. Zanka je nekaj, kar se zgodi še enkrat in znova, in čeprav ta absolutno videti skrivnosten, z Ključna beseda za, nekateri oklepajev, in nekateri podpičji. Vrnili se bomo na to kmalu, vendar so zanke se je v osnovi govoril program, ponovitev čez vse teh hrupnih pik, od leve proti desni, od zgoraj navzdol. Ker na koncu dneva, slike všeč - in lahko dejansko nekako jo vidite na tej projektor - je res samo mrežo pik. Tako bomo lahko identificirati vsako izmed teh pik s koordinatnem, x, y, in s tem Program, zdaj lahko začnemo narediti nekaj za tiste pike. Torej, kaj bom, da gredo naprej in tukaj se je bom narediti nekaj sprememb. Najprej bom šel naprej in se znebite za vse, ki zelenkasta in modrikasto hrup, in jaz grem naprej in vnesite naslednje sicer skrivnosten sintaksa. im za sliko. nastavite modra na mestu x, vejica, lokacija y, z 0. Z drugimi besedami, želim samo izklopite vse modro pike na tej sliki. Jaz grem naprej in zdaj kliknite to Run / Shrani gumb, boste opazili na desni strani, Zdi Kakovost slike. Zdaj je super zelena, vendar to ni presenetljivo, saj sem dobesedno obrnil off, tako da 1 na 0, vse modro na tej sliki. No, dajmo malo več. im za sliko, pika setGreen, x, y. In to samo pomeni Ponovil od leve proti desni in od zgoraj navzdol. Ugasnite z vrednostjo 0, kot tudi. Shranite. In na projektorju, lahko dejansko ne res videli ničesar. Na moj laptop zaslon, če sem peer v pravkar pravi način, lahko vidim nekaj slike, ker oni so še vedno nekaj rdeče tam. Če ste kdaj slišali kratico RGB - rdeča, zelena, modra - to je sklicevanje na to sestavo iz podobe z uporabo samo te tri barve. In zdaj smo zavrgli vse zeleno, vse modro, vendar ni veliko rdeče. Naj ročice rdeče. Kako lahko naredim to? No, najprej, jaz bom prosil ta program vprašanje. Jaz grem naprej in dajmo ga pokličete spremenljivka, tako kot v algebri. Lahko imaš X ali Y ali Z. Grem prijaviti spremenljivko in reči, dal v to spremenljivko, začasno vrednost Slike getRed vrednost pri x, y. In spet se bomo vrnili vsem te podrobnosti v prihodnosti. Ampak za zdaj, vzemite v veri, da ta vrstica se sprašuje programa, kar je rdeča vrednost na x, y? Na tem posebnem piko? Potem bom nekaj storiti za to. Potem bom naredil sliko dot set rdeče na x, y, y, vendar tokrat bom jo povečali s tem, rdeče-krat, recimo, 10. Tako se poveča za faktor 10. Dovolite mi, da pomanjšati in zdaj klik bi Run / Save. In voila, da je bil tam ves Čas, čeprav naše človeške oči ni mogel popolnoma jasno. Torej, še enkrat, to je zdaj pravi koda, Primer jezika, da bomo prišli nazaj na že dolgo. Ampak zavedati, še posebej tiste, ki ste s takšno izkušnjo ne, je precej Takoj, da mi sami ne bo pisanje kode, kot da ni. V bistvu, orodje, s katerim ste vsi nekoliko pozna, morda, je CS50 je lastna tečaj-nakupovanje orodje, ki je bil dejansko ponovno zagnal to poletje, ki ga nekateri lastnih nekdanjih študentov CS50 je, Zdaj pa TFS. Torej, to se zgodi, da je spletna stran zgrajena v jeziku, ki se imenuje PHP. Uporablja podatkovno bazo, imenovano MySQL, stvari s katerimi bomo dobili naše roke umazan kasneje v semestru. Ampak verjeli ali ne, celo nekaj kot je to v končni fazi zmanjša za Najenostavnejši zank in pogoji, panoge, kot so tiste, smo videli samo pred nekaj trenutki v videu TED. Tisto, kar sem mislil, da sem sedaj storiti je delež ne samo nekaj, kar smo zaposleni so se za kampus, ampak nekaj Nekdanji študent - tri študentov, v resnici - je v zadnjem letu, Sierra, Daniel in Sam, zadnji od njih je imelo nobenega predhodnega programing izkušnje ko je prevzel CS50. In za njihov končni projekt, so razstavljen na sejmu CS50, aplikacijo, imenovano wrdly, ki je Program spleta, za katere je ta video, da sem mislil, da sem deliti z vam občutek, kaj je mogoče z izrazom na koncu. [Predvajanja glasbe] DAVID Malan: To je iz tedna Zero do 12. tedna v preteklem letu. [APLAVZ] DAVID Malan: Kot teaser, preveč, res Brusiti vaš apetit je, da tisto, kar je mogoče, ste morda že videli, ali lahko kmalu videli, market.cs50.net, a novo orodje, ki ima ekipa teku je se pripravlja, tokrat v sodelovanje s Harvard Student Agencije, kot da začnejo letos in še upajmo na to prihod poletja boste imeli standarda Priložnost na kampusu za nakup in prodati stvari, ki vas zanimajo. In partnerstva s HSA, boste Prav tako se lahko spustite off v enem od fizičnih trgovin HSA je v nekaterih točka v prihodnje tako proxy stvari, zlasti kar vas diplomirati in ne nujno želijo zavreči stvari, ampak dejansko plačajo naj se ljudje, ki bi vam sledijo tukaj na kampusu. Torej, več o tem, da pridejo. Ampak malo bolj konkretno orodje , ki je prišel iz CS50 v zadnjih letih let, s katero nekateri od vas morda seznanjeni in drugi od vas morda googling sedaj, v CS50.net/2x, boste našli povezavo do podaljšanja Chrome ki je demonstrativen, kako lahko uporabljajo JavaScript, da isti jezik smo uporablja z Eifflovega stolpa pred nekaj trenutki, izvajati hitrost 2x predvajanja za vse Harvarda iSites videoposnetkov. To je nekaj, kar je vgrajeno v lastnem video predvajalnik CS50 je. Ampak tudi to, če ste začeli kopati v izvorni kodi, kar bomo srečno dajo na voljo, boste videli, kako lahko celo reševanje problemov, kot je ta, pospeševanje gradnikov spletnih strani z ki ste že dobro poznajo. Torej beseda zdaj o poteku in pričakovanja in kaj je pred nami. Na splošno, bomo res zbrali ob ponedeljkih in sredah - čeprav ta petek, bomo zbrali, ker Shopping tedna - 1:00-14:00, čeprav včasih do 02:30. Glede na to, da bi torej želeli ali morali vzeti nekaj razred ob 02:00 dalje, ali še prej, se zavedaš, Tečaj je podpira, kar se imenuje hkratno vpis, s katerim bomo podpira pobudo odboru oglasov in vaš rezident dekani v vašem imenu, če imate konflikt nekje v tem 1:00-02:30 razpon. Vodja tem URL spletu za dodatne podrobnosti. Toda, v podporne strukture , ki je značilna CS50, za študente bolj in manj udoben podobni, smo ponujajo različne skladbe odsekov. In to je nekaj tednov po pa Pred dolgo, boste morali, da se vaša raven udobja. Ste med tistimi, manj udoben, bolj udobno, ali nekje vmes? In bomo imeli tri ločene skladbe, ki poskrbi za ravno tiste občinstvo. Torej v nobenem izraza morate celo občutek, kot da tekmujemo proti vsakemu študentu z več ali manj ozadje od tebe. Dejansko je seveda mišljena veliko bolj sodelovalno in še veliko bolj odprto kot to. V smislu problemskih sklopov, boste zdi tudi, da se poleg standardna izdaja problem vsakega tedna nastavljena, je pogosto "heker Edition ", ki je namenjena za usmerjene na 5% do 10% ali tako Demografska, ki je res med tistimi, udobnejši in bi radi več za izziv kot standardna izdaja te pset pričakuje. Več podrobnosti o tistih, ki se najdemo v učnem načrtu. Toda tudi tam nahaja podrobnosti na tečajih pozno dni. Značilno je problem določa zapadejo ob četrtkih. Vendar pa se lahko razširi veliko vaših Roki ta padec od četrtka do Petkih, ki jih preprosto nam sestali na pol poti, če se tako izrazim, odgovarjanje nekaj toplo-up Vprašanja v nekaterih problem na teden določa, da bo samodejno potem dam še dodatnih 24 ur. Mi se bo zmanjšal tudi vaša najnižja rezultat, glede na učni načrt. Da bi vam občutek, kaj je problem seti - ker je to res Problem Tečaj je opredeljeno, da navsezadnje opredeliti skoraj vsak učenčeva izkušnja, bolj kot predavanja, bolj kot oddelkov, več Tako kot večina druge vidik tečaja. Lani, na primer, smo začeli, kot je bomo začeli letos, z nič. Predvsem ta petek, bomo uporabili za Samo en dan časa, grafični programski jezik, s katerim bomo začetek programiranja z vlečenjem in spustite kosov sestavljanke, da je le zbrati fizično, če je smiselno storiti, zato je logično. Naslednji teden bomo hitro prehod C, precej star, vendar zelo majhna in preprost jezik, ki nam bo omogočilo res šel 0-60 tekom v nekaj tednih, nato pa Parlay te iste spretnosti in znanje osnovni programski konstrukti v jezikov na višji ravni, kot so PHP, JavaScript in spet drugi še vedno. Lani tretji pset v teku je bila, da kriptografije, domensko specifičnih aplikacija, pri čemer smo Izpodbijani študente za izvajanje katere koli število šifre, programi, s katerimi Izokrenuti Razmrsiti ali informacije, to šifriranje. Za izdajo hacker, nasprotno, smo dali heker študentom datoteko od standardne Unix računalnik, ki vsebuje uporabniška imena in gesla, slednji so šifrirani in smo izpodbijala tiste hekerja študentom za dešifriranje, kot najbolje bi lahko, ta gesla, še vedno, da Enako domena. Pehanje, igra, s katero nekateri od ste morda seznanjeni. Forenzika kos, kjer smo dijakom za povrnitev podatkov, ki so bili sicer izbrisana iz moje digitalno Fotoaparata Compact Flash kartice, ki jih dejansko pisanje programske opreme, da ugotovimo, kjer so bile ničle in enice v da je digitalni fotoaparat, ki je prej sestavljajo JPEG grafiko? Izziv vrst lani vključuje pisno najhitreje mogoče spell-checker, tekmovanje pred prijatelji in sošolci, če oni bi radi. Izvedbeni Huff 'n Puff, program za stiskanje. In potem se konča semester z CS50 Finance, aplikacija s spleta ki jo ustvarjajo Etrade podobno spletno stran za nakup in prodajo zalog, tako da govori, ki jih dejansko vleče skoraj realnem času kotacije Yahoo! Financiranje. Kaj nismo naredili lani en problem niz, ki ostaja Kljub temu najljubši. Če še nikoli niste šli shuttle.cs50.net, boste videli uporabnika vmesnik malo všeč. Toda pred dvema letoma, razred izvajali s pomočjo Google Maps in Google Earth plug-in malo od zdrava pamet z vožnjo po kampusu, tako da je cilj tega igre Kot lahko vidite nekaj obrazov, je, da vozi okoli kampusa išče osebja, poučevanje tovariši in CAS, in ko vam, da jih postavi na vaš avtobusom. Nobeden od njih dejansko zdi, da je tukaj, Tako bomo vnesti goljufija zbornik. [SMEH] DAVID Malan: Takole. Vse je v redu. In tu je zdaj zaposlenih šivajo v celotnem kampusu. In kot lahko vidite na desni strani strani zaslona, ​​avtobus Ima praznih sedežev. In cilj je bil napisati koda, s katerimi se simulirajo to vožnja in dviganje in spuščanje off potnikov. Tisto, tudi z uporabo jezika imenovano JavaScript. Torej, zavedati, da programe, kot da bo biti na naši isti poti to leto, kot tudi. V smislu, zdaj, dodatne podpore, imamo uradne ure. Kot ste morda videli v svoji hiši jedilnica ali Annenberg, bomo v hiši jedilnico Dvorane štiri noči na teden - Leverett, Pfoho, Eliot in Annenberg letos, 20:00-23:00. In kaj smo mislili narediti v tem letu je nekaj malo drugačen. Če ste slišali rumblings lani, da je bilo malo preveč stresno, to Letošnji govorilne ure, kot bomo opisali Naslednji teden, da ne bo več organske pri čemer ob prihodu, boste pošiljajo v neki tabeli kjer je več članov osebja čakajo, in potrudili se bomo stvari veliko bolj organsko. Nič več čakalne vrste, ni več iPad, vendar raje bolj intimno pogovarjali tabelo samo osem ali tako študente, tako da približen občutek kaj drugače bi bilo veliko manjša razred. Ponujamo vam, kot tudi, te stvari, ki jih imenovano walkthroughs, video posnet v napredovanje enega od poučevanja predmeta v fantje, Zamyla, v katerem je vas popelje skozi težave na teden sprejemnikov, ki ponujajo nasvete in trike izzivi, ki čakajo v prihodnosti. In obratno, ko problematičnih sklopov so zaradi, letos bomo tudi javnost malo posnetke pokličite post-mortems da pravzaprav sprehod skozi reprezentativnih rešitve, tako dobro in slabo, prek katerih lahko sklepamo, kako bi lahko imeli, ali bi morala imeti izvajajo svojo lastno rešitev. In kaj bomo ponudbo za prvič tudi letos, še posebej za tiste študente, ki se poslužujejo za tečaj je drugi sredstva, vendar kljub temu se borijo Vse preveč, seveda bo sam seznaniti tiste študente, ki zmožnostih, z mentorji, tako da imate veliko bolj intimno Priložnost kot jedilnico hiši dvoran omogočajo ena na ena pomoč. Zdaj končno pogled na nekatere končnih iger na vidiku. Morda ste seznanjeni s CS50 Hackathon. No, prihajajo decembra letos, od 8.00 PM na 07:00, na začetku Branje obdobja bo priložnost zbrati s sošolci - to bi bilo okrog 21:00 - , v katerem se potopite v vaš končni Izvajanje projekta skupaj sošolci, prijatelji in hrane. To bi bilo okoli 01:00, ko prva serija hrane prišel. In to je okoli 4:00, da Zlasti letos na CS50 Hackathon. Ampak res vrhunec je seveda pomenilo, da je sejem CS50, kampus ravni Razstava svojih končnih projektov, na katerega družina in prijatelji so vsi povabljeni, kot naše nabornikov in naši prijatelji iz industrije. To, na primer, je utrinek 2.000-plus ljudje, ki ste se udeležili preteklih letih. Izrazi, kot so to ni nič nenavadnega, in podobno, da svoje sošolci uživa v stvareh ste dosegli. In dejansko, k ta namen smo start-of-term dogodek, kot tudi. Če se stvari, kot je ta pritožba na vas, ali ste vsaj radoveden, kaj to vem, da nova tradicija Tečaj se imenuje CS50 Puzzle Day. In to je bil uveden par let nazaj res znak na kampusu da računalništvo ne gre programiranje, in to zagotovo ni približno sprejemajo samo tiste študente ki imajo predhodne izkušnje. Pravzaprav gre za reševanje problemov bolj na splošno. In tako Puzzle Day, je v zadnjih nekaj let, zdaj, se je razvilo v lepo partnerstvo z našimi prijatelji na Facebook, v skladu s katerim bo čudovito nagrade in pizza čez reko v i-lab to prihaja soboto. Glavo k temu URL z dvema ali tremi prijatelji, če bi želeli, da sodelujejo v tej novi tradicijo. Torej bi rad vprašal, da boste obdržali eno stvar v mislih, in imamo samo Dve minuti posnetek, na katerem zapreti danes. 73% je številka, da se spomnimo. Torta bo tudi vas čakajo zunaj tega transept kot smo preloži v pravkar Nekaj ​​trenutkov, kar je tradicija predmeta, kot tudi. Ampak to je ključ citat iz tečajnega je učni načrt v mislih. Ampak na koncu šteje v ta predmet ni tako veliko, če boste na koncu v primerjavi s sošolci, ampak kadar si, v 12. tednu, na koncu glede na sami v tednu 0. Ampak pogled, da bomo pustil z danes je to zadnja tukaj naš isti Daniel, ki je storil wrdly video pred nekaj trenutki. Sem pustil s tem pogled tega, kar je pred nami. In kot smo to storili, če bi lahko imamo CS50 zaposleni v pred sobo da pridejo gor na oder slikati vse bolj vidne slike se kaj vas čaka v letošnjem letu - pridobivanje nerodno. Bomo zaključil s tem Tukaj na zaslonu. [Predvajanja glasbe] DAVID Malan: To je CS50. [MUSIC - MATT & KIM, "V redu"] SPEAKER 1: Ljubim CS50 več kot mačke. ZVOČNIK 2: Whoaaaa! [SMEH] DAVID Malan: To je potem CS50. Vas bomo videli v petek. [APLAVZ in vzklikati] Pripovedovalec: Na naslednjem CS50, na odru demo ne gre po načrtih. DAVID Malan: Želimo, da bi našli Mikea Smith v tem imeniku. No, kaj so vaši instinkti? Morda bom v grobem skok na sredini telefonski imenik, pogled navzdol, vidite, da Jaz sem na M, in zdaj vem, da je Mike Smith ne na levo. On mora biti na desni. In tako se na tej točki smo lahko dobesedno raztrga - Na tej točki, lahko dobesedno raztrga - na tej točki, smo lahko v prenesenem pomenu trgati telefonski imenik na pol. [UKELELE Drndanje]