[Glazba svira] [MUSIC - Rossinija, "RANZ DES VACHES "iz William Tell] [MUSIC - ENGLISH BEAT, "OŽUJKA Pomoć okretne glave "] [PLJESAK i pljeskati] DAVID Malan: Dakle, ovo je CS50. Moje ime je David Malan. I 73% od vas nemaju prethodnog iskustva uz računalne znanosti, suprotno onome što možda mislite. Dakle, danas smo mislili da bi čip daleko na toj nedostatka poznavanja, ali i daje vam osjećaj, za one od vas s više udobnosti, pravaca možete ići ovaj semestar. Dakle, krenimo s ovim. Ja stvarno nemam pojma što je unutra Računalo, iako, kao i ti, ja ga koristiti svaki dan. Ali to je nekakav okvir, a tu je mnogi ne ulazi u nju. Minimalno, tu je, što? Vjerojatno kabel za napajanje. I doista, s ovim jednog sastojka, električne energije, kao da se nalazimo u stanju radi vrlo malo ovih dana. Ali na kraju dana, mi moraju zastupati stvari da mi je stalo. Imamo informacije da predstavljaju u nekom obliku. I vjerojatno ste barem maglovito upoznati s idejom prema binarnom ili bitovi nekako, računala smanjena na jedinica i nula. No, možemo prihvatiti da se i najmanje staviti malo svjetla na to? Dakle, moram to malo stolna lampa ovdje. Imam utičnicu ovdje. I ja ću predložiti da se unutar moje računalo je barem jedan od te stvari, nešto sposobno da bude uključen ili isključen. U ovom slučaju, to je doista stolna svjetiljka, , ali na nižoj razini, što je nešto zove tranzistor. No, u našem svijetu, to je stolna svjetiljka, tako da Ja ću ići naprijed i uključite ovu u moju struju ovdje. A ja tvrdim da je koristeći ovaj jednostavan, Jednostavan uređaj, to jednostavno promjena, sam može predstavljati informacije. Na primjer, upravo sada, ja sam predstavlja ništa, zar ne? Ja predstavlja ono što ću nazvati 0 ili netočno, suprotno od nečega zapravo bio prisutan. Ali, ako sam jednostavno okrenuti taj argument, Sada sam predstavljao jedan. Dakle, pomoću ovog vrlo jednostavan komad memorije, ako hoćete, ja mogu predstavljati Informacije. Sada, nažalost, moje računalo Ne mogu učiniti sve što je puno. To samo može predstavljati dvije vrijednosti u cijelom svijetu - 0 ili 1. No, ono što je očito rješenje, sada, ako želimo proširiti naše računalo ' memorije i predstavljaju više nego samo 0 i 1? Pa, neka je zgrabiti još jedan takav zalogaj. Idemo zgrabite drugi prekidač, još jedna tranzistora, kako god želite razmišljam o tome. Dopustite mi da ide naprijed i uključite ovu u moje računalo kao dobro. I ja ću tvrditi, sada, da pomoću malo više električne energije i više okreće od tih prekidača na i off, ja mogu predstavljati više kao Informacije. Pa sad, ovo je jedan. Ako želim sada predstavljaju 2, ja bih to mogao. Ali obično, konvencija, kao što ćemo na kraju vidjeti, morat ću to učiniti. Dakle, ovo je 0, to je 1. To će biti 2. I ne čudi, to bi bilo 3. Dakle, na ovaj način, ipak, mogu brojimo do još dalje? Ako sam dobiti treću malo, treća prekidača, ono što je najviše što mogu sada brojati do od 0? Dakle, 7 ako sam počinju na 0, zar ne? Jer ako sam pretvoriti ovo svjetlo i zapravo priključiti ova treća i konačna svjetlo u moju električnu utičnicu ovdje, onda imam sposobnost da predstavljaju bilo koja od dvije vrijednosti, ovdje dvije vrijednosti Ovdje, ovdje dvije vrijednosti - i tako ja mogu predstavljati dva puta 2 puta 2, ili osam moguće vrijednosti. A ako počnem računovodstvo na 0, pa da je 0, 1, 2, 3, 4, 5, 6, 7. Dakle, ovaj binarni. To je uistinu tako jednostavno. I ja bih tvrditi da je to zapravo prilično upoznat s najviše svi u ovoj sobi. Dopustite mi da ide naprijed i otvorite Malo tekst editor ovdje. A možda podsjetiti na osnovnoj školi da smo imali stvari kao što su stotine mjesto, deseci mjesta, i one place. I podsjetiti da, ako ste imali neke decimale broj, kao nešto slučajnom kao i 123, što bi u suštini pišu da se u obliku ove tri stupca. I zašto je 1, 2, 3 što znamo kao 123? Pa, u lijevom stupcu, imamo jedan 100 plus dva 10s, tako da je 120, plus tri 1S, tako da je 123. Sada ovaj svijet koji smo upravo osvijetljena je točno isti kao ste bili upoznati s godinama, Osim sada, naši kolumne nisu ovlasti 10.. To su samo dvije sile. Dakle, dok to one mjesto, taj će biti mjesto dvojke, ovo je će biti mjesto kormilara. I zato sam samo sam koristeći najjednostavniji mehanizama da se stvari na i off - struja teče ili struja ne teče - Ne sasvim su isti izražajan Raspon kao 0 kroz devet. Idemo da bi to super jednostavno u ovom svijetu računala. Ja imam samo 0 ili 1 - ili isključiti, lažna ili istinita. I tako ono što sam zastupa upravo sada je 1, 1, 1, jer je svaki od tih svjetla svijetli. Pa, to mi daje jednu četiri plus jedan dva, tako da to je 6, 1 plus jedan, a to je 7. I ergo se ovaj niz od tri bita predstavljaju broj 7. Dakle, sve ovo vrijeme, unutar vašeg Računalo, je bilo koji broj tranzistora, bilo koji broj bitova. Ali na kraju dana, mi može predstavljati informacije jednostavno kao da. Sada, nažalost, možemo samo sam broje do 7 u CS50 do sada, ali nadamo se da možemo napraviti malo bolje od toga. I doista možemo. Smatram da mi kao ljudi samo samovoljno odlučio da idemo povezati brojeve poput 1 i 2, 3, 4, 5, 6, 7, sa specifičnim slova abeceda. I to zbog povijesnih razloga, ja ću počnete nešto proizvoljno, ali ja sam će reći, ljudi, mi smo idući u odlučiti kao standard, na globalnoj razini, kako 65 predstavlja broj slovo A. 66 predstavljat će B. točka, točkica, dot. 90 će predstavljati slovo Z. I pretpostavimo, ako stvarno staviti neke Mislio u nju, mogli bismo doći do s brojevima za uskličnika i mala slova, i doista, drugi ljudi su učinili za nas. Dakle, sada smo imali bitova s ​​kojima možemo predstavljaju brojevi, brojevi s kojima možemo predstavljaju slova, te s slova možemo sada početi sastavljati e-mailove i tiskanje znakova na zaslonu. Pa neka mi pozivamo, ako sam mogao, Osam hrabrih volontera - koji ne smeta pojavljuju ne samo na kameru, ali na internetu - doći ovamo i predstavljaju osam takvih bita, umjesto ove tri. Dakle, o tome jedan, dva? Kako oko tri? Kako o četiri u svjetlu plava, pet na kraju? O nekim preko ovdje? Šest ispred, sedam u prednjem, i osam ispred, kao što je dobro. Tako sam samo tako se dogodilo da dođe pripremljena s cijelom gomilom gaćice od papira. I na tim komadima papira su brojevi koji predstavljaju ono kolumne ti dečki idu za zastupanje. Tako da će se - kako se ti zoveš? STUDENT: Anna Lea. DAVID Malan: Anna Lea, što će biti 128s stupac. Vi ste? STUDENT: Chris. DAVID Malan: Chris će biti 64S stupac. Vi ste? STUDENT: Dan. DAVID Malan: Dan će biti 32s stupac. STUDENT: Pramit. DAVID Malan: Pramit će biti 16s stupac. STUDENT: Lillian. DAVID Malan: Lillian će biti 8s. STUDENT: Jill. DAVID Malan: Jill će biti 4s stupac. STUDENT: Marija. DAVID Malan: Marija će biti 2s, a? STUDENT: David. DAVID Malan: David biti 1s stupac. Dakle, ako ti dečki mogli pojačati malo prema naprijed, tako da svatko može vidjeti. Ono što vi ne vidite da se na natrag od tih gaćice od papira je malo varati list koji je o tome da podučavati ovih osam bita bilo podići svoju ruku ili ne podići svoju ruku. Ako im ruka ide prema gore, oni su predstavlja jedan. Ako im ruka ostaje dolje, oni su što predstavlja 0. U međuvremenu, mi publika bi trebao biti u mogućnosti shvatiti, na temelju toga mapiranje, što je tri slova riječi tih ljudi su oko sricati. Tako je u samo trenutak, idete pročitajte prvu liniju s leđa Vaš cheat sheet, a vi ste ili ide za podizanje ili ne podizanje ruku. Ako ste jedan, te podići, ako je ti si 0, što stajati nezgodno, baš kao da je. Idi. Koji broj, prije svega, ovi momci predstavlja? 66. 66, zar ne? Imamo 1 u 64S stupcu 1 u 2s stupcu. To mi daje 66, tako da se pojavljuje da predstavlja B. Dakle ti dečki su napisane - OK, to je dovoljno. B. Pa sad idemo na Naš drugo pismo. Idi. Tko je najbrži u matematici ovdje? Tako 79. Opet, ako zbrojimo sve stupce u kojem postoji 1, trenutno, samo kao što smo učinili prije sa najjednostavniji primjera 7, mi sada dobiti broj 79. Koji se prema našim mapiranje je Pismo O. Tako smo stigli. B, O. I na kraju, idite. Što su oni danas predstavlja? Manje konsenzus. To je samo apsolutna žamor. Da, to je u stvari 87. Dobro. Dakle, ako mi sada map to natrag do - hajdemo početi zvati našu ASCII tablicu, American Standard Code za Razmjena informacija. To nam daje pismo - Ne "bo", ali "leptir". I to je savršena znak za vas dvoje uzeti luk i glavu na leđima. Puno hvala. [PLJESAK] DAVID Malan: Možete ih zadržati. Iako zapravo, bi li itko kao stolnu lampu, također? [Trubljenje iz gledališta] DAVID Malan: dnevno svjetlo? [Smijeh] DAVID Malan: Stvarno? Desk svjetiljke za svakoga? U redu. Dakle, počevši s vrlo najjednostavnije Načela, sada smo ne samo broje gore od 0 pa sve do 7, mi smo Pretpostavlja se da je upravo bacajući više bita ili više svjetla ili više tranzistori na ovaj problem, možemo predstavljaju veći i veći broj, i Ergo, veći i veći rasponi pisma, kao što su engleski. I samo neka je uzme na vjeri za danas koji slično mogli bismo početi predstavlja grafike i video zapisa i bilo broj drugih medija s kojima smo si upoznati danas. Dakle, ovo je CS50, au ovoj klasi uz tebe su, opet, vrlo mnogo kolege koji imaju što manje iskustvo kao i vi. A ja spominjem to samo zato sasvim Često, uključujući i nedavno kao jedan od Brucoš savjetovanje događaje i na Prošlog proljeća je student savjetovanje događaja, često čujemo studenata odriču kada dolazi do CS stola, pa, Razmišljao sam o preuzimanju ove intro klase, ali ja sam stvarno ne Računalo osoba. Ili, ali svatko zasigurno zna više od mene. I ja sam ovo staviti u najvećem font moguće, prenijeti tu poruku da je to je u stvari nije slučaj. A ako se pitate, trebali Ja, u stvari, biti ovdje? Shvatite da ne samo da je ovaj tečaj je Naslov Uvod u računala Znanost, to je Uvod u računala Znanost I. Tako je doista Drugi takav uvod. Dakle, ti nisi, u stvari, na krivom mjestu. A među ciljevima koje imam za danas su umiriti takvim slučajevima vas Možda ima, ali i da se bojite slika onoga što je u spremištu za učenika manje i ugodnije podjednako na ovom tečaju. Ali prvo, riječi na jednoj od brošure imate danas, među kojima niz Pitanja. Prošlo je naša vizija za neko vrijeme Sada uvesti novu ocjenjivanja opciju u ovaj tečaj - Naime, SAT / UNSAT. Filozofski za mene, to je mnogo, mnogo, Mnogo je važnije što učenika u ovom razredu baviti sa Materijal, biti izazvan Materijal i brige daleko, daleko manje o mehanika stvarnih rezultata i pismo razreda na semestar end, ali doista zagrljaju Tečaj i njegov materijal. I doista to osjeća, općenitije, za ono što je interesantno za njih, kako bi osjećaju izazvan i nagrađeni, ali bez straha od neuspjeha. I doista, ovo je također ponavlja Tema u ovom i drugim uvodna tečajevi u drugim područjima, da imaju ovaj strah kada je u pitanju stavljajući nečije prste u nepoznate vode. Ja osobno, natrag u 1995, bio brucoš. Bio sam jako usmjerena na bitak Gov Koncentrator ovdje. I još uvijek sam odrastao uz malo od interesa za računalne znanosti. Uvijek sam bio znatiželjan. Ali tada, čak sam imao taj strah od čak koračni nogom u CS50, toliko , tako da nisam ni dućan je prve godine. I jedini razlog zašto sam stavio nogu u Vrata student druge godine, jer sam bio je dopušteno da se to prođe / ne. No, čak i prolazi / ne zahtijeva da ću dobiti do živca da bi imenovanje s profesorom Kernehan u to vrijeme, donijeti ovaj veliki list papira, i pitati ga je za njegov potpis i njegovi Dopuštenje za istraživanje ove nepoznate vode. I to nije pomoglo u posljednjih nekoliko godina da kad to rade i na CS50, kada smo Nekada je to bilo pass / fail, slično bi se desetke ili stotine svojih kolega moraju se, ne daj Bože, na Pročelje Sanders s ovom obliku, da u nekim glavama predstavlja nesposobnost, Usudio bih se reći, za obavljanje su svoje vršnjake 'razini. Što je smiješno, ali ja to mislim Tu je to mentalitet. I nikada nije bilo u ovoj kulturi od SAT / UNSAT, ili prolaze / ne više Općenito, na ovom tečaju, ili stvarno na ovom sveučilištu. Tako smo ove godine promijenio. Ja bih bio presretan polovica ova klasa ili više završila uzimanje CS50 SAT / UNSAT. U godinu dana, to bi bilo divno Ako su gotovo svi. Nakon toga vjerojatno ćemo raditi Na pismo ocjenama na Harvardu College općenito. Ali za sada, mi ćemo to učiniti u roku od naših vlastitu sferu, i ja bih od srca Preporučujemo vam da pregledate i one često postavljana pitanja postavljati pitanja kao što vidite stane, tako da je nadamo se, za razliku od mene, neće sasvim imaju isti strah faktor kada istraživati ​​što je vjerojatno nepoznato mjesto. Dakle, ono što je CS50? To je uvod u intelektualne poduzeća računala znanost i umjetnost programiranja. No, što to zapravo znači? Pa, do sada, razgovarali smo ukratko podatke o zastupanju. No, pretpostavimo da smo zapravo žele nešto učiniti s njom. Mi moramo uvesti pojam ono što ćemo nazvati algoritam. Algoritam je postupak, proces, Skup uputa za radiš nešto. I algoritam može biti nešto super jednostavna. Na primjer, primjer s kojim neka od vas bi moglo biti poznato je li to stvar ovdje. Tako ova knjiga ovdje je sve curom, ali jednom davno, to sadržavao puno imena i telefonski brojevi. I doista, ako sam htio pronaći netko u tom telefonskom imeniku - recimo, netko po imenu Mike Smith - Sam mogao naći Mike Smith u svakom broju razmjerno jednostavnim načine. Mogao bih početi na početku i premjestiti na stranicu 1, ne postoji. Stranica 2, ne postoji. Page 3. Je li to algoritam, koji je proces, točno? Dakle, to je točno, zar ne? Nekako sam idiot za to u koji način, ali s vremenom ću pronaći prezime S, i nadamo se Mike je u tom dijelu, i ja ću postati učinio s mojim algoritma. No, sigurno to nije intuitivno. Većina svaki razuman čovjek u ovom boravak ne bi učinili. Što biste vi učinili? Ti bi otišao ravno na sredini, zar ne? Otprilike na sredini. I shvatite, oh, to su gđa Dakle, Mike Smith, prezime kao Smith, Nije, jasno, a zatim u lijeva polovica knjige. On mora biti prema S je u pravu. I u ovom trenutku, iako je većina od nas nemojte to učiniti u stvarnosti, možemo doslovno suzu ovaj problem na pola. [Navijanje i PLJESAK] DAVID Malan: Hvala vam. [Navijanje i PLJESAK] DAVID Malan: Vi doslovno možete istrgnuti ovo Problem je u polovici, ostavljajući me s, doslovno, problem upola velika. Dakle, ako ovaj telefon je knjiga - i to Vjerojatno je - oko 1000 stranica, sada to je samo 500. Ako sam to učiniti opet i shvaćam, oh, damn, otišao sam predaleko, ja sam u Ts odjeljku, ja mogu na sličan način - figurativno ili doslovno - RIP telefonskog imenika - to je zapravo puno lakše to vrijeme. Ja doslovno može potegnuti iz telefonskog imenika na pola, ostavljajući me sada s Ne 1000, ne 500 - 250 stranica. I ja mogu ići 125, a pola od toga, a upola manji, a polovica da dok konačno ću biti s lijeve samo jednu stranicu. [Smijeh] DAVID Malan: To je Dio sam uspjeti dalje. Jedan jednu stranicu na kojoj Mike nadamo se. Sada su ti različiti algoritmi mogu biti vrsta procjenjuju ili ocjenjuju u različita načina. Prvi je bio vrlo linearno, zar ne? Okrenite stranicu, potražite Mike. Okrenite stranicu, potražite Mike. To je vrlo linearno. Ako postoji još jedna stranica na telefonu Knjiga, to je vjerojatno da će me odvesti još jedan drugi, još jedna jedinica vremena, Međutim, mi smo računanje vremena. Tako sam mogao privući ovako ovu liniju ovog mjesta, pri čemu kao veličina Problem povećava s lijeva na desno - telefonski imenik dobiva manji za veći - i time će se povećati na vertikalne osi, veća telefonski imenik je. Dakle, n je samo opći varijabla koja računalni znanstvenici koriste za zastupanje neke vrijednosti, neki broj. Dakle, n ide na povećanje linearno. Dvaput veličinu telefonskom imeniku, to je da će me odvesti dvostruko više Vrijeme, najvjerojatnije, naći Mikea. Sada sam mogao biti pametna o tome, zar ne? Sam bio uzimajući dosadno brzo. Mogao sam to učinio po paru. Dakle, dvije stranice, a zatim četiri, zatim šest, od osam. A mogao sam početi letjeti kroz nju je malo brže, iako manjeg rizika Mike promašaja, ali to nije kriva će biti sve što je drugačije. Još uvijek će biti ravna linije, ali malo brže. No, što sam učinio? Ja sam zapravo učinio nešto bitno bolje. Postigao sam ono što ćemo nazvati logaritamska Vrijeme, log n, pri čemu se ovaj zeleni linija ima puno, puno, puno manje ravnalo na njega. A umjesto toga, on predlaže, kao što je svojevrsni približava beskonačnosti sve to postupno, da sam zapravo mogao uzeti 1.000 stranica telefonski imenik, udvostručiti svoju veličinu sljedeće godine - jer pretpostavljam puno više ljudi presele u grad. Tako sada sam dobio 2000 stranica, ali kako mnogo više koraka je da je pametnije Algoritam će to trajati? Samo je jedan. Mislim, to je moćna stvar. Ako idemo na 4.000 stranica iduće godine, koji će me odvesti samo još dva koraka. Tako možete baciti veći i veći Problemi na mene, a ne za razliku webu bacanje veći i veći problem svaki dan u googles i Facebooks od svijet, i to ne tako velika stvar. Zato sam stavio više misli i brige u moj algoritam kojim se rješavaju problemi učinkovito. I doista, to će biti jedan od ciljevi ovog kolegija. Vi ćete, usput, naučiti programirati. Vi ćete naučiti kako programirati u bilo koji broj jezika. Ali na kraju dana, staza je o rješavanju problema i dobivanje bolji u rješavanju problema - i, kao u ovakvim slučajevima, rješavanje problema učinkovitije. Sada do sada, mi smo to učinili prilično intuitivno. Ajmo uvesti nešto istinito generički zove pseudocode. Tako smo na kraju ćete doći, u ovom naravno, da različiti programski jezici. Ali danas mi ćemo to učiniti na engleskom jeziku, kao što je sintakse, gdje se samo vrsta kažu što misliš, ali ti si uvijek tako jezgrovit i ne brinite gramatika i čitavim rečenicama. Vi samo izraziti sebe kao sažeto što je više moguće. Dakle pseudocode je engleski nalik sintakse koji predstavlja programski jezik. I prema tom cilju, neka mi predlažemo da mi sada modelirati proces možemo samo opisao brojanja nešto malo Drugim riječima, ovaj put uzimajući pogledajte ovaj pet minuta videa proizvedenog Naši prijatelji na TED-u da definira što je pseudocode, definira što algoritamski razmišljanje, pa čak i iako je primjer da ste o kako bi vidjeli je, u samo od sebe, super jednostavna, to je će početi da nam mentalno Model, vokabular, s kojima se učiniti mnogo, mnogo složeniji Algoritmi vrlo brzo. [POČETKA video reprodukciju] [Glazba svira] Narator: Što je algoritam? U računalnoj znanosti, algoritam skup uputa za rješavanje nekih Problem korak po korak. Tipično, algoritmi se izvršava pomoću računala, ali mi ljudi imamo algoritama, kao dobro. Na primjer, kako bi idete O brojanjem ljudi u sobi? Pa, ako ste poput mene, vjerojatno bih Točka na svaku osobu, jedan po jedan vrijeme, i brojati od 0 do. 1, 2, 3, 4, i tako dalje. Pa, to je algoritam. U stvari, pokušajmo izraziti ga malo više formalno u pseudocode - Engleski poput sintakse koja podsjeća programski jezik. Neka N jednako 0. Za svaku osobu u sobi, postavite N jednaka N plus jedan. Kako protumačiti ovu pseudocode? Pa, jedna linija izjavljuje, da tako kažemo, varijabla zove N i inicijalizira njegova vrijednost na 0.. To samo znači da je na početku naš algoritam, stvar s kojom Brojimo ima vrijednost 0. Uostalom, prije nego što počnemo brojati, nismo još ništa broje. Pozivanje ovu varijablu N je samo konvencija. Mogao sam to nazvao najviše ništa. Sada linija dva demarks početka petlje, slijed koraka koji će Ponavljam neki broj puta. Dakle, u našem primjeru, korak uzimamo broji ljudi u sobi. Ispod linije dva je tri linije, koji opisuje kako je točno mi ćemo ići oko brojanja. Udubljenje podrazumijeva da je linija tri koje će se ponoviti. Dakle, ono što je rekao je pseudocode da nakon pokretanja na 0, za svaku Osoba u sobi, mi ćemo povećati N do 1.. Sada je ovaj algoritam točne? Pa, neka je lupati po njemu malo. Da li to raditi ako postoje dvije osobe u sobi? Idemo vidjeti. U skladu jednom, možemo započeti s N 0. Za svaki od tih dviju osoba, Mi smo tada povećajte N do 1.. Tako da se na prvom putu kroz petlje, da nakon ažuriranja N od 0 do 1. Na drugom putovanju kroz taj isti petlje, da nakon ažuriranja N od 1 do 2. I tako je ovaj algoritam kraja, n 2, koji doista pristaje broj ljudi u sobi. Do sada, tako dobro. Kako o kutu slučaju, iako? Pretpostavimo da postoje ljudi 0 u sobi - osim mene, tko radi prebrojavanja. U skladu jednom, možemo započeti s N 0. Ovaj put, međutim, tri linije ne izvršavati na sve jer ne postoji osoba u sobi. I tako dalje N 0, što odgovara broj ljudi u sobi. Prilično jednostavno, zar ne? No, s time da su ljudi jedan po jedan je prilično neučinkovit, također, zar ne? Sigurno možemo učiniti bolje. Zašto se ne računaju dvije osobe u isto vrijeme? Umjesto brojanja 1, 2, 3, 4, 5, 6, 7, 8, i tako dalje, zašto se ne računaju, 2, 4, 6, 8, i tako dalje? To zvuči još brži, i to je sigurno. Idemo izraziti ovu optimizaciju u pseudocode. Neka N jednako 0. Za svaki par ljudi u sobi, postavljena N jednaka N plus dva. Prilično jednostavno promjena, zar ne? Umjesto broj ljudi jedan u isto vrijeme, umjesto da smo brojati ih dva u isto vrijeme. Ovaj algoritam je tako dva puta jednako brzo kao posljednji. No, je li to točno? Idemo vidjeti. Da li to raditi ako postoje dvije osobe u sobi? U skladu jednom, možemo započeti s N 0. Za taj jedan par ljudi, Mi smo tada povećajte N po dva. I tako je ovaj algoritam kraja, N 2, koji doista pristaje broj ljudi u sobi. Pretpostavimo da postoje sljedeći 0 ljudi u sobi. U skladu jednom, možemo započeti s N 0. Kao i prije, tri linije ne izvrši na sve, jer ne postoje nikakvi parova ljudi u sobi. I tako dalje N 0, što je uistinu odgovara broju ljudi u sobi. No, što ako postoje tri ljudi u sobi? Kako se ovaj algoritam zbivati? Idemo vidjeti. U skladu jednom, možemo započeti s N 0. Za par tih ljudi, Mi smo tada povećajte n 2. Ali što onda? Ne postoji niti jedan full par ljudi u sobi, tako da dvije linije ne više ne vrijedi. I tako je ovaj algoritam kraja, N je još uvijek 2, što nije točno. Doista, ovaj algoritam je rekao da se buggy, jer ima grešku. Omogućuje zadovoljštinu s nekim novim pseudocode. Da n jednak 0, za svaki par ljudi u sobi. Postavite N jednaka N plus dva. Ako jedna osoba ostane pojedinačna, postavljena N jednaka N plus jedan. Kako bi riješio ovaj problem, mi smo uveden u skladu četiri, stanje, inače poznat kao grane da samo izvršavaju ako postoji jedan osoba koja mi to nismo uspjeli Par s drugom. I sad, da li postoji jedna ili tri ili bilo koji neparan broj ljudi u soba, ovaj algoritam sada će ih brojati. Možemo učiniti čak i bolje? Pa, mogli bismo računati u 3s ili 4s ili čak 5s i 10s, ali dalje od toga, to je će dobiti malo teško točke. Na kraju dana, da li izvršiti od strane računala ili ljudi, Algoritmi su samo set uputa s za rješavanje problema. Ovo su samo tri. Koji bi problem riješiti s algoritma? [END video reprodukciju] DAVID Malan: To je jedini put Ja će se pojaviti u crtanom obliku. Ali gdje je ta priča prestaje, Sada, je kako možemo učiniti bolje? Trojkama i četveronoške, tvrdimo, možemo računati ljudi puno brže, ali možemo to bitno bolje od toga? A ja kladiti možemo. Ako uvedemo malo naše vlastite pseudocode ovdje, ja ću predložiti da možemo postići liniju kao što je ovaj. Nećemo brojati ljude jedan, dva, tri, četiri. Nećemo ići dva, četiri, šest, osam. Mi ćemo učiniti temeljno bolje by promišljanje problema, a to slučaj, utjecati na neki drugi način nedovoljno resursa. U samo jednom trenutku, nadam se da ćete oprostiti i nas humor stoji u mjesto, na kojem trenutku ćemo pitajte svakog od vas da se u vašem umovi broj 1. Nakon toga idemo na sve nespretno, kako vrijeme prolazi, pronašli netko tko je stajao, kombinirati tvoji brojevi zajedno dodajući ih se. Jedan od tebe onda se ide na utrku sjesti sjesti i druga osoba će se ponoviti. Dakle, drugim riječima, prema sijanje sve da s brojem 1, a zatim Kombinirajući te 1s u 2s i onih 2S u 4s, sa svima sve sjedi, treba, na kraju ovaj algoritam, ima samo jedan kredit duša koja nije sjesti dovoljno brzo, ali tko ima cijelu publiku računati u svom umu. Dakle, ako bi se, idemo naprijed i - jedan korak - stand up na mjestu. I izvršavanje. [CROWD mrmljajući] DAVID Malan: Znate li Lauren gdje je? 729? [CROWD mrmljajući] DAVID Malan: U redu? [CROWD mrmljajući] DAVID Malan: U redu, trebali bismo se bliži kraju. Vidimo jedan kolega je ovdje još uvijek. Tko još treba biti u paru? Ako vi želite upariti off. Netko do vrha. Zašto ne pružiti ruku ovdje. Za vrlo malo ljudi koji su još uvijek stoji, ono što ti brojevi imati u svom umu? STUDENT: 78. DAVID Malan: 78 plus - tko stoji ovdje? STUDENT: 39. DAVID Malan: Plus 39. Plus tko još uvijek stoji? 81? U redu, tko još? Još 81? Wow. I onda ono što je u pozadini? STUDENT: 49. DAVID Malan: 49, plus? STUDENT: 98. DAVID Malan: 98 plus? Je li to netko drugi? 12? Dobar posao. [Smijeh] DAVID Malan: Oh, 112 - oh. Dobar posao! [Smijeh] [PLJESAK] DAVID Malan: Bilo tko drugi još uvijek stoji? Nažalost? STUDENT: 99. DAVID Malan: 99. Bilo tko drugi još uvijek stoji? A ukupan broj studenata ovdje je zapravo, prema - imate li broj? Oh, stvarni broj ljudi u soba, prema računu koji nastavne momci radili na svačiji način u, bio je 729. Dakle, iz sobi prepunoj Harvard studenata koji se broje, Odgovor je 637. [Smijeh] DAVID Malan: Tako blizu. No, još uvijek. U redu, tako da je nastava Trenutak, zar ne? To je ono što mi je sada opisati kao bug. Negdje usput, jesmo neke aritmetika krivu, ili netko sjeo, ili lijevo, ili je nešto pošlo po zlu. Ali to je u redu. Jer čak i dalje, mi dobio prilično blizu. I ja bih se tvrditi da smo se krivo odgovoriti na puno brže nego ja bi koristeći moj više linearno pristup. Dakle, pretpostavimo da je u činjenici da su dobili ispraviti, ali da sada o tome što se događa svaki put, u odnosu na moje vlastita naivna ukazujući algoritam. Jedan, dva, tri. Ako doista postoje 729 ili 637 ljudi ovdje, da bi me uzeti doslovno 637 ili 729 pointings od prsta i povećavanjem moje zbrajanje. A što sam mogao učiniti nešto bolje ide dva, četiri, šest, osam i udvostručiti brzinu, možda čak i trostruko ili četverokrevetne, ovisno koliko dobro mogu to računajući u glavi. No, ovaj pristup kako da ga je bio bitno drugačiji. Jer se u početku, svi vi ustao. Dakle, sve 729. I onda doslovno poluvrijeme od vas sjeo. A nakon toga, još jedna polovica vas sjeo. A nakon toga, još jedna polovica vas sjeo. A ukupan broj puta da Dečki moglo sjeo je otprilike osam ili devet ili deset puta ukupno, ovisno o tome što naš ukupni zbroj. A možemo napraviti svojevrsni ovaj drugi način. Ako smo imali 1024 ljudi u sobi, Ukupan broj puta ste mogli prepoloviti 1024 ljudi je 10. Sada razmišljam o tome u drugi smjer. Recimo, smiješno, da smo imali, recimo četiri milijarde ljudi u ovoj sobi, ili nešto veća soba. Koliko puta bi smo otišli kroz ovaj algoritam, tako da polovica te klase sjeda? To samo će potrajati 32, kao operacija, čak iu klasi veličine četiri milijarde. Zašto? Zbog četiri milijarde ide u dva milijardi kuna, ide na milijun, ide na 500 milijuna, otpada na 250 milijuna kuna, točka, točka, točka. Ja se samo mogu napraviti tu podjelu neki 32 puta, na kojem trenutku, svi osim jedna osoba će biti ostavljeni. I to je, također, vrsta moćna Ideja da sve ćemo pokušati poluga u ovom Naravno, te u programiranje i informatika više Općenito, ove bakterije iz ideje s koje zatim možemo riješiti probleme puno, puno moćnije. Tako smo počeli vrlo jednostavna s tim pseudocode i tip u sobi, ali Sada sa cijeloj sobi punoj ljudi smo učinili bitno bolje. Pa, neka je sada prijelaz iz pseudocode do neke stvarne koda. Ovaj jezik ćete vidjeti dogoditi da se zove JavaScript, i mi ćemo se vratiti na ovo ka Semestar je kraj. To je programski jezik koji ste koristiti za pravljenje web stranice, kao i druge Softver ovih dana. I mi smo ga koristili, zahvaljujući prijatelju naša na Stanfordu, za kodiranje neka skrivena informacija ovdje. To je umijeće steganography, da tako kažemo, gdje se mogu sakriti Informacije u ono što se inače pojavljuje se biti buke ili potpuno drugačija Slika uopce. No, ugrađen u ovom slikom je doista tajna poruka od sorti. Zato mi dopustite da ići naprijed i povucite prema gore Ista slika ovdje, ovo Vrijeme u web pregledniku. I ja ću mahati moje ruke na neke od detalji za danas, posebice za one od vas koji ovo izgleda ne samo JavaScript, ali grčki, kao potpuno nepoznatom jeziku. Ali ovo je primjer programski jezik. A za sada, odvesti na vjeri da ovo prva linija koda - i po kodu, ja samo znači tekst. Tekst koji sam mogao doslovno su upisali u Microsoft Word, ako sam imao pravo softver kako bi onda nešto učiniti s njom. Programiranje koda, programiranje broj, je zapravo samo tekst, i to izgleda drugačije na temelju onoga što jezik koristite, a ne za razliku od engleskog i Španjolski i ruski svi izgledaju drugačije kada ih upisati na tipkovnici. Dakle, ovom prvom redu, za sada se na Vjera, jednostavno otvara grafike iz internet, koji bučno grafičke smo upravo vidjeli. Ovaj sljedeći redak ovdje je primjer petlje, a mi zapravo vidio da ista Žargon u TED videu. Petlja je nešto što se dogodi jednom i opet, i iako je to Apsolutno izgleda zagonetan, s ključna riječ za, a neki zagrade, a neki zarezom. Vratit ćemo se na to ne zadugo, ali da ima petlje u biti je govorim program, iteraciju preko svega od onih bučnih točaka, s lijeva na desno, odozgo prema dolje. Jer se na kraju dana, slike sviđa mi se ovo - i možete zapravo vrsta ga vidjeti na ovaj projektor - je zapravo samo mreža točaka. Dakle, možemo identificirati svaku od tih točaka kao koordinatnu, x, y, te time Program, sada možemo početi učinite nešto za tih točaka. Dakle, ono što ću ići naprijed i ovdje to je da ću napraviti neke izmjene. Prvo ću ići naprijed i riješi svega toga zelenkasto i plavkasto buke, a ja ću ići naprijed i tip sljedeće doduše zagonetan sintakse. im za slike. postavljena plavo na mjesto x, zarez, Mjesto na y, na 0. Drugim riječima, želim samo isključite sve plave točkice u toj slici. Ja ću sada ići naprijed i kliknite to Run / Spremi gumb, a vi ćete Primijetit na desnoj strani, Dobit slika pojavi. Sada je super zeleni, ali to nije čudno, jer sam doslovno pretvorio off, tako što je jedan 0, sve plavi u toj slici. Pa, sad ćemo to napraviti malo više. im za sliku, dot setGreen, x, y. A to samo znači ponoviti slijeva na desno, a zatim odozgo prema dolje. Uključite koji off s vrijednošću od 0, kao i. Spremi. I na projektoru, ne možete zapravo stvarno vidi ništa. Na moj laptop zaslon, ako sam zaviriti u samo pravi put, ja mogu vidjeti malo slika, jer oni su još uvijek neki red tamo. Ako ste ikada čuli akronim RGB - crvena, zelena, plava - to se odnosi na ovaj sastav od slike pomoću samo one tri boje. I upravo sada, mi smo bačeni sva zelena, plava svima, ali nema puno crveno. Pa neka mi ručica crveno. Kako mogu to učiniti? Pa, prvo, idem pitati ovaj program je pitanje. Ja ću ići naprijed i neka ga nazivaju promjenjiva, baš kao u algebra. Možete imati X ili Y ili z. Idem proglasiti varijablu i reći, staviti u ovu varijablu, privremeno, vrijednost Slike getRed vrijednost u x, y. I opet, vratit ćemo se na sve ove detalje u budućnosti. Ali za sada, samo se na vjeri da Ova linija je molba program, što je crvena vrijednost na x, y? U tom točkom? Tada ću učiniti nešto za njega. Tada ću učiniti slika dot set crveno u x, y, y, ali ovaj put ću se to potaknuti radeći crvene puta, recimo, 10. Tako ga povećati za faktor 10. Dopustite mi sada i smanjivanje klik mogao Run / Save. I voila, da je bio tamo cijelo Vrijeme, iako su naše ljudske oči nisam mogao vidjeti. Pa opet, ovo sada je pravi broj, Primjer jeziku koji ćemo doći natrag prije dugo. Ali shvatite, pogotovo one od vas bez takvog iskustva, to je sasvim Uskoro kako smo i sami će se pisanja koda kao da postoji. U stvari, alat s kojim ste sve nešto upoznat, možda, CS50-a vlastita tečaj-shopping alat, koji je bio zapravo ponovno podizanje ovog ljeta od strane nekih CS50 od vlastitih bivših studenata, Sada se okrećemo TFS. Dakle, ovo se događa da se web stranice izgrađen u jeziku zove PHP. Ona koristi bazu podataka MySQL zove, stvari s kojima ćemo dobiti naše ruke prljavo kasnije u semestru. No, vjerovali ili ne, čak i nešto kao što je to u konačnici smanjuje se najjednostavniji od petlje i uvjeta, a grane, poput onih koje smo vidjeli samo maloprije u TED videu. Ono što sam mislio da ću učiniti sada je dionicom nije samo nešto smo napravili osoblje za kampus, nego nešto bivši student - tri učenika, u stvari - je ove protekle godine, Sierra, Daniel i Sam, posljednji je imao prije programiranje iskustvo kada je uzeo CS50. I za njihov konačni projekt, oni Izlagao je na sajmu CS50, program pod nazivom wrdly, što je web-based program za koji su napravili ovaj video koji sam mislio bih podijeliti s daje vam osjećaj upravo ono što je moguće izraz je kraj. [Glazba svira] DAVID Malan: To je iz tjedna Zero na 12. tjednu ove protekle godine. [PLJESAK] DAVID Malan: Kao teaser, previše, stvarno oštriti apetit je da ono što je moguće, možda ste već vidjeli, ili uskoro vidjeti, market.cs50.net, a Novi alat koji toku je tim radili na, ovaj put u suradnja s Harvard Student Agencije, kao da su s početkom ove godine i nadamo se nastavlja u ovo dolazi ljeto ćete imati standard Prilika na kampusu za kupnju i prodaju stvari od interesa za vas. A uz partnerstvo kroz HSA, vi ćete Također bi mogli ispustiti stavke off u jednoj od HSA-a fizičke trgovine na neki točka u budućnosti, kako bi se proxy stvari, pogotovo što vas diplomirati, a ne nužno žele bacite stvari, ali zapravo to platiti proslijediti ljudi koji bi vas prate ovdje na kampusu. Dakle, više o tome doći. No, malo konkretnije, alat koji je došao iz CS50 u nedavnom godine, s kojima su neki od vas možda upoznati i drugi od vas može biti googling sada, na CS50.net/2x, vi ćete naći link na Chrome proširenje koji nam prikazuje kako možete koristiti JavaScript, taj isti jezik smo koristiti s Eiffelovog tornja maloprije, provesti 2x brzinu reprodukcije za sve Harvard iSites videa. To je nešto što je izgrađen u CS50 vlastite video player. Ali to je, ako se početi kopati u izvorni kod, što ćemo sretno na raspolaganje, vidjet ćete kako čak možete riješiti probleme kao što je to, ubrzavanje clanak u web stranice s što ste već dobro upoznati. Dakle, riječ je sada o tijeku i očekivanja i što je pred nama. U principu, mi doista ću se ovdje okupljaju ponedjeljkom i srijedom - iako ovog petka, mi ćemo prikupiti, jer Shopping Week - 01:00-14:00, iako ponekad i do 02:30. S obzirom da stoga možda želite ili morati poduzeti neke klase na 14:00 nadalje, ili čak i prije, shvaćaju Tečaj podupire ono što se naziva istodobni upis, pri čemu ćemo podržati peticiju oglasa odbora i Vaš stanovnik dekani na vaše ime, ako imate sukob negdje u ovo 1:00-02:30 rasponu. Voditelj na tom URL za online dodatne pojedinosti. , Ali u odnosu na potpornu strukturu koja karakterizira CS50, za studente više i manje ugodno podjednako, mi nude različite pjesme sekcija. A to je nekoliko tjedana off, ali prije dugo, vi ćete biti upitani o tome Vaš udobnost razini. Jeste li među onima manje udobno, ugodnije, ili negdje u sredini? I mi ćemo imati tri različita pjesme koje razonoditi upravo ti publika. Dakle, ni u kojem trenutku u razdoblju trebali ste čak osjećati kao da ste natječu protiv kojeg studenta s više ili manje pozadinu od tebe. Doista, tečaj je značilo da se puno više suradnje i mnogo otvoreniji od toga. U pogledu problematična, one će naći, također, da osim standardno izdanje svakog tjedna problema postavljena, je često "haker edition "koji je značilo da se ciljano na 5% do 10%, ili tako demografska tko je doista među onima ugodnije, a željeli više od izazov nego standardni izdanje tog pset očekuje. Više detalja o onih koje treba nalaze u nastavnom planu. No, također tamo se može naći smještaj na tečajeve kasno dana. Obično problema postavlja dospijevaju četvrtkom. Međutim, možete produljiti mnoge svoje rokovi ove jeseni iz četvrtkom Petkom jednostavno nas susretu pola puta, da se tako izrazim, odgovorite na nekoliko zagrijavanja Pitanja u neke od tjedan problema seta, koji će se automatski onda vam dati dodatnih 24 sata. Također će pasti tvoja najniže ocjena, kao i po nastavnom planu. Da bi vam dati osjećaj za ono što je problem setovi su - jer to je doista toku je problem koji postavlja konačnici definirati gotovo svaka studenta iskustvo, više nego Predavanja, više nego sekcije, više tako da od većine bilo koji drugi aspekt tečaja. Prošle je godine, primjerice, počeli smo, kao počet ćemo ove godine, s nule. Osobito ovaj petak, koristit ćemo, za Samo jedan dan je vrijeme, grafički programski jezik, s kojom ćemo započeti programiranje povlačenjem i ispustite slagalice koja samo okupiti fizički, ako ima smisla to logično. Sljedeći tjedan, mi ćemo brzo prijeći na C, prilično stara, ali vrlo mali i Jednostavan jezik, koji će nam omogućiti da stvarno ide 0 do 60 tijekom o samo nekoliko tjedana, a zatim klađenje te iste vještine i znanje Osnovni programiranje konstrukata u više razine jezici poput PHP, JavaScript, a neki još uvijek. Prošle godine, trećeg pset u tijeku bila je kriptografije, domene određeni program u kojem smo izazvao studenata za provedbu bilo broj šifre, programi s kojima veranje ili dešifrirati podatke, to šifriranje. Za hakerske izdanju, za razliku od, dali smo haker studentima datoteku iz standardne Unix računala sadrži korisnička imena i lozinke, potonji od kojih su šifrirani, a mi pobijaju hakeru studenata za dekriptiranje, kao najbolje što su mogli, te lozinke, i dalje na tome istu domenu. Scramble, igra s kojima su neki od vas su možda upoznati. Forenzike komada, gdje smo pitati studente da se oporavim podataka koje su bile inače brišu iz vlastitog digitalnog Kamere Compact Flash kartice, koje zapravo pisanje softver za shvatiti, gdje su nule i jedinice u da je digitalni fotoaparat koji je prethodno sastoji JPEG slika? Izazov vrsta lani uključuje pisanje najbrži alat za provjeru pravopisa moguća, natječući protiv prijatelja i kolege ako oni željeli. Implementacija Huff 'n Puff, Program kompresije. A onda je završio semestar s CS50 Financije, web-based aplikacija s kojima stvoriti eTrade-poput web stranice kupiti i prodati dionice, tako da se govore, koje zapravo povlačenjem gotovo real-time citati Yahoo! Finance. Ono što nismo prošle godine bila jedan problem set koji ostaje ipak najdraži. Ako ste nikada nije otišao u shuttle.cs50.net, vidjet ćete korisnika sučelje nešto poput ovoga. No, prije dvije godine, klasa provodi, koristeći Google Maps i Google Earth plug-in i malo od pamet s vožnje oko kampusa, tako da je cilj ove igre je, kao što možete vidjeti neke od lica, se voziti okolo u potrazi za kampusu osoblja, nastavna momci i CAS, i Kada to učinite, stavljajući ih na svoj shuttle bus. Nitko od njih zapravo čini da se ovdje, tako da ćemo unesite varati kod. [Smijeh] DAVID Malan: Tu smo. U redu. I ovdje je sada osoblja začinjena cijelom kampusu. I kao što možete vidjeti, na desnu strani zaslona, ​​shuttle bus ima prazna mjesta. A cilj je bio napisati broj s kojim se simulira ovu vožnje i branje gore i ispustite isključiti putnika. Taj jedan, također, koristeći jezik zove JavaScript. Dakle, shvatite da programi kao što je to volja biti na našoj istom putanjom to godine, kao i. U smislu, sad, dodatne potpore, imamo radno vrijeme. Kao što ste mogli vidjeti u vlastitom domu blagovaonica ili uzivo, mi ćemo biti u kući blagovaona Dvorane četiri noći tjedno - Leverett, Pfoho, Eliot i Annenberg ove godine, od 20:00 do 23:00. I što smo mislili da ćemo učiniti ove godine je nešto malo drugačiji. Ako ste čuli rumblings prošle godine to je malo previše stresan, ovo Ovogodišnji radno vrijeme, kao što ćemo opisati sljedeći tjedan, će biti više organskih, kojom prilikom dolaska, vi ćete biti otpremaju u jednom određenom stolu gdje je više osoblje čekaju, a mi ćemo napraviti stvari puno više organski. Nema više čekanja, nema više iPad, ali a imaju intimnije Razgovori oko stola od samo osam ili tako studenata, kako bismo približan dojam ono što inače će biti mnogo manji klase. Nudimo, kao i, te stvari mi zove Walkthroughs, video sniman u unaprijed od strane jednog od tečaja učenja Momci, Zamyla, u kojoj je provest će vas kroz tjedan problema garniture, koje nude savjete i trikove za izazovima koji je pred njima. A s druge strane, nakon što je problematična setovi su zbog, ove godine, također ćemo objaviti mali isječak nazovite Obdukcijski da zapravo vas kroz predstavnička rješenja, i dobro i loša, preko koje možete zaključiti koliko je što bi moglo imati ili bi trebao imati provodi svoje rješenje. A što ćemo ponuditi za prvi put i ove godine, posebice Za one studente koji se poslužiti Tečaj je od drugog resursima, ali ipak se bore Svi previše, kolegij Sam će upariti one studente, kao sredstva dopuštaju, s tutora tako da imate puno intimnije priliku od kuće blagovaonice omogućilo jedan-na-jedan pomoć. Sada konačni pogled na neke od krajnjih igara u očima. Možda ćete biti upoznati s CS50 Hackathon. Pa, dolazi u prosincu ove godine, od 8:00 PM do 7:00, na početku Čitanje razdoblje, bit će prilika druženja s vršnjacima - to će biti oko 21:00 - tijekom koje ste zaroniti u vaš konačni Provedba projekta uz kolege, prijatelji i hrane. To će biti oko 01:00, kada je prva serija od hrane stigli. A to je oko 04:00 da Konkretno godine na CS50 Hackathon. Ali istina Vrhunac tečaja je značilo da u CS50 sajmu, campus-wide Izložba svojim posljednjim projektima, na koje obitelj i prijatelji su svi pozvani, kao regrut i našim naši prijatelji iz industrije. To, na primjer, je uvid 2000-plus ljudi koji ste pohađali Posljednjih godina. Izrazi poput ove nisu neuobičajene, i slično učiniti vaš kolege uživati ​​u stvarima ste postigli. I doista, prema tom cilju, imamo start-of-termina događaja, kao dobro. Ako stvari poput ove žalbe na vas ili ti si barem znatiželjan kao što to, znam da je nova tradicija Tečaj se zove CS50 Puzzle dan. I to je bio pokrenut par godina doista signal na kampusu da informatika nije o programiranja, a to sigurno nije oko obuhvaćajući samo oni studenti koji imaju prethodno iskustvo. To je zapravo o rješavanju problema općenito. I tako Puzzle dan, tijekom posljednjih nekoliko godina, razvio u lijepo partnerstvo s našim prijateljima u Facebook, pri čemu tu će biti nevjerojatan Nagrade i pizza preko rijeke, na ja-laboratorij ovaj dolazak subota. Krenite na taj URL s dva ili tri prijatelji, ako želite sudjelovati u ovom novom tradicijom. Tako Htio bih pitati da li zadržati jednu stvar na umu, a mi imamo samo dvije minute isječak na kojem zatvoriti i danas. 73% je broj zapamtiti. Torta je, također, će vas dočekati izvan te transepta kao što smo prekinuti samo u nekoliko trenutaka, što je tradicija je naravno i. No, to je ključ citat iz Naravno-a Nastavni plan i držati na umu. Ono što u konačnici važno u ovom kolegiju nije toliko gdje ćete završiti u odnosu na svoje kolege, ali gdje da, u 12. tjednu, završiti u odnosu na se u tjednu 0. Ali pogled da ćemo vas ostaviti s danas ovdje je ovo zadnje ovdje naš istom Daniela, koji je učinio wrdly Video maloprije. Ostavljam vas s ovom pogled onoga što je pred nama. I kao što smo to učinili, ako smo mogli CS50 Osoblje na prednjoj sobi doći na do pozornice slikati sve više od vizualne slike kako bi se ono što vas čeka u ovoj godini - dobivanje neugodno. Mi ćemo zaključiti s ovim Ovdje na zaslonu. [Glazba svira] DAVID Malan: Ovo je CS50. [MUSIC - MATT & KIM, "U redu"] ZVUČNI 1: Volim CS50 više od mačaka. ZVUČNI 2: Whoaaaa! [Smijeh] DAVID Malan: To je, dakle, CS50. Mi ćemo vas vidjeti u petak. [PLJESAK i pljeskati] Narator: Na sljedećem CS50, na pozornici Demo ne ide kako je planirano. DAVID Malan: Želimo pronaći Mikea Smith je u tom telefonskom imeniku. Pa, ono što su tvoji instinkti? Možda ću skočiti otprilike na sredini telefonski imenik, pogled dolje, vidjeti da Ja sam na M, i sada znam da je Mike Smith nije u lijevo. On mora biti na desnoj strani. I tako u ovom trenutku, mi može doslovno suza - U ovom trenutku, mi bismo doslovno može suza - u ovom trenutku, možemo figurativno suza telefonski imenik na pola. [UKELELE drndanje]