[Powered by Google Translate] ZVUČNIK 1: Ovo je CS50. Tako sam bio gdje ste sada prije nekoliko godina, a kad sam bio brucoš na vrijeme, nisam bio stvarno na tom putu radi računala znanosti, radiš inženjering. Doista, došao sam na ovo mjesto kao države Usmjerivac. Ja sam bio u srednjoj školi klinac koji je volio stvari poput povijesti. Volio sam ustavni zakon, vrsta engleskog i matematike, tako da vrsta dobro zaobljena, ali nije nužno znati stvari koje nisam poučeni u srednjoj školi. I tako prve godine, imao sam taj strah, pri čemu iako sam volio računala, igraju računalne igre i slično, ja sigurno nikada mislio sam kao računalni osobi, računalni znanstvenik, i Iskreno, mislio sam da moje prijatelje u srednjoj školi, koji su uzimajući računalo Znanost je malo - geekovi. A ipak, kad sam došla ovdje na kampusu, bilo je to, naravno, CS50, a na vrijeme, to je taj ugled stvarno bude nešto da se čuvaju. To je bio dobar tečaj. To je bio zabavan tečaj. Ali imali ste zapravo dobili taj nogom u vrata. A čak nisam prijeći te godine brucoš prag. I ja sam otišao na moj način se vlada Koncentrator, prolazi kroz kao i mnogi od preduvjeta kao što sam mogao, prijeći računajući stvari za gen ed ili core i slično, a onda student godine, iz nekog razloga, dobio sam do živca na korak nogom u znanosti Center B, gdje CS50. Vrlo poznati računalni znanstvenik po imenu Brian Kernighan bio učeći da se ovdje godinu, pa čak i onda, bio sam samo spremni da se zapravo ispunite moju karticu studija uzimajući ovaj razred proći / ne. Osvrnuo sam se oko mene, a ja sam shvatio svi u ovoj sobi je dobio to znati način više o računalnoj znanosti, o programiranju, o računalima. Svatko mora biti programiranje u ovoj sobi jer su bili 12, ali doista, da nije bio slučaj. I tako vrlo posljednji dan, peti ponedjeljak u semestru da uzmem ovaj skok i promjena iz prolaz / pad na slovo razreda, a završiti mijenja moj Koncentracija taj isti dan računalnih znanosti. Sada to nije naš cilj u ovoj klasi, uključite se svi u računalu znanost koncentratore, ali stvarno, predložiti da je ovo prilika u tom području i na drugim poljima s kojima bi mogle biti prilično nepoznat, s obzirom da su visoke škole obično slijedi prilično standardni nastavni put, ali da venture u, u CS50, u nove vode. A ako sjedi ovdje danas misleći da zapravo ne pripadaju, pa učiniti većina ljudi na desnoj strani i na lijevoj. Doista, prošle godine, 76% učenika u ovom razredu nije imao prethodnog iskustva. Dakle, suprotno onome što možda mislite, većina ljudi sjedi oko vas danas ne, u stvari, imati prethodno iskustvo. 18% su uzeti jedan CS klasu, a 6% su uzeti dva ili više. U međuvremenu, tražimo naše studente svake godine da se opisati u terminima utjehe razini, a to je - nema nikoga definicija to. Vi samo vrsta ne znam, ako niste jako ugodno u CS50. I prošle godine smo imali 55% u toj zelenoj pita kriška ovdje, self-opisujući kao manje udobnim studenata koji iskreno nismo imali pojma Zašto oni kupovali tečaj na tom prvom danu, ali isto 55% ostao s nama do Termin je kraj, kao i 35%, koji su bili negdje između onih koji više udoban i one manje ugodno. Dakle, ono što je informatika? Pa, u srednjoj školi, i stvarno, općenito vani ovih dana, tu je ova percepcija ili to zabluda da je računalo znanost programiranje. I to je apsolutno jedan aspekt računalne znanosti, ali programiranje, god je jezik, je zapravo samo alat koji računalni znanstvenici koristiti za rješavanje problema, bilo u domeni računalne znanosti ili, sve češće ovih dana, u fizičkim znanostima, prirodne Znanost u medicini, u humanističkim, analizirati velike skupove podataka. Bilo gdje sada postoji računalo i podaci, tu je prilika da se primjenjuju naučene lekcije u razredu kao CS50. Tako ćemo riješiti problem koji računalni znanstvenik može ići oko rješavanje i pokušati staviti neke žargon, staviti neki konceptualni okvir, oko ono što inače bi moglo biti neke prilično apstraktne ideje. Dakle, ovo je telefon. Vi ne vidite ove stvari prečesto. Faksu još uvijek izgleda kao da su oni u kućama i domovima, ali natrag u dan, kad god sam htio koristiti telefon kao što je ovaj, nije bilo elektronički adresar u vašem mobitelu. Umjesto toga, izvukao nešto poznat kao telefonskom imeniku, a ti telefonski imenici imao oko 1.000 stranica obično. Oni su razvrstani od A do Z, a vi jednostavno morao pronaći pravu stranicu na pronaći osobu koju tražite kako bi se pronašli svoje ime i njihovih telefonski broj. Sad, kako idete o potrazi gore netko u ovoj knjizi? Pretpostavimo moj cilj je dati moj prijatelj Mike Smith poziv. Pa, kako mogu ići o pronalaženju Mike Smith? Pa, vrlo razuman pristup, ako naivna i neučinkovita, će biti započeti ovdje, i početi flipping na stranicu četiri, na stranicu pet, šest na stranicu, a za sortiranje linearno, uzduž pravca, proći kroz ovaj telefonskom imeniku, pa čak i iako će to biti nevjerojatno dosadan, ako Mike Smith je u to Knjiga, na kraju sam ću doći do njega kad sam konačno okrenuti na S poglavlje u ovoj knjizi. Sada, naravno, ne treba biti računalni znanstvenik znati da je to je glup način rješavanja ovog problema. Što bi tipično ljudsko biće učiniti? Bravo. Tako da bi se okrenuti prema sredini, zar ne? Dakle, želite okrenuti otprilike na sredini, pogledajte ovdje, a čini mi se da sam pronaći u M odjeljku. Ok, tako da je M očito nije ono što ja tražim. Mike je na desnoj strani, da tako kažemo, u ovom odjeljku, kao i neki od vas imaju vidio prije, doslovno sada mogu nastaviti do suza ovo Problem je u poluvremenu. Vi stvarno ne bi trebao biti da impresioniran. Ga rušeći šav je zapravo nije tako teško. Pravi ljudi to učiniti na ovaj način, ali dolje šav, mi Sada imate dva problema. Svaka od kojih je polovica kao velika, a mi doslovno mogu baciti tu polovicu Problem daleko. Sada smo ostavili ne s 1000 stranica, ali recimo, 500. Pa sad, što da radim? Pa, tipično ljudsko će ići otprilike u sredini opet, i ja sam se naći na R poglavlje, pa nije sasvim tamo. Pa opet, ja mogu rastrgati ovaj problem na pola. Hvala Vam. Dakle, sada imam samo oko 250 stranica, a ja mogu to učiniti opet, i opet, i opet, i otići od 125 pa do otprilike 60 do 30, do 15, i tako dalje. I na kraju, ja ću dobiti whittled dolje na jednoj od S stranica, na kojoj se, ako je u telefonskom imeniku, Mike Smith bi trebao biti. Sada je očito prilično razumno algoritam, a to je jednokratna uporaba algoritam u ovom slučaju, ali ono što možemo izdvojiti od odvesti daleko od toga? Pa, prvi pristup, točne, ako naivno, ipak, to je bio, može biti opisao ovaj pravac. Dakle, ako na x-osi, ovdje možemo reći, ovo je veličina problema. Dakle, kao što je x-os ide na desno, problem postaje veći. Što to znači biti veći? U kontekstu ovog problema, više stranica u telefonskom imeniku. Tu je još nešto što možemo kvantificirati. Na y-osi, vrijeme riješiti. Dakle, kao os ide gore, pretpostavljamo da vjerojatno treba više vremena. Tako da prvi pristup linearno traži od stranice jednom na stranici 1000 je linearni postupak, linearni algoritam ili proces, a možemo opisati ovaj pravac. Ako sam dodati još jednu stranicu u telefonskom imeniku, to će, u najgorem slučaj, uzmi me još jedna stranica Flip pronaći Mike Smith. Ako sam dodati 100 stranica, 100 više flips, ili jedinice vremena. Sada mogu biti malo pametan s tim. Ne trebam se stvarno pretvoriti ga jednu stranicu u isto vrijeme. Ja mogu učiniti stvari kao dva u isto vrijeme ili četiri u isto vrijeme, ali čak i da nije sve to bitno bolje. Čak i ako je to dvoje u isto vrijeme, da, vrsta kreće ovu liniju dolje malo, a to znači da je potrebno manje vremena, s obzirom na isti broj stranica, ali to nije bitno bolje. No, ono što smo upravo učiniti, a što nije sve vas učiniti instinktivno? Vi zapravo postigao malo ovako nešto, logaritamska vrijeme, pri čemu problem može rasti i rasti i rasti, ali trošak rješavanja koji Problem je, vrijeme potrebno za rješavanje tog problema, ne raste gotovo jednako brzo. To će biti logaritamska krivulja, log n, gdje je n samo u veličini problem, broj stranica u ovom telefonskom imeniku. A što to znači u realnim uvjetima? Pa, ako smo, kao, 500 ljudi u ovoj sobi upravo sada - odnosno, ako imamo - miješanje metafora - nije to taj primjer još ove godine - tako da ako imamo 500 stranica u telefonu Knjiga, a mi ga udvostručiti do 1000, u tom više inteligentnog modelu flipping na sredini, koliko više stranica-tearers je potrebno da se ide od 500 stranica u 1000? Pa, samo jedan dodatni stranica suza. Ako predao mi 2000 stranice telefonskog imenika, nije velika stvar. Ja bih samo suzu ga jednom dodatno vrijeme. Dakle, u kratko, veličina problema može rasti brže od troškova zapravo ga rješava. Sada je to samo jedan takav algoritam. Tu su i drugi možemo riješiti u ovom isti način. I tako zašto ne bismo to učinili - ako bi me humora, iako nespretno ovdje u Sanders, ići naprijed, svima, ako bi mogao, i stand up na mjestu. Kao što vidite na zaslonu ovdje, ovo je algoritam, proces, računalo Program, ako hoćete, da bude pogubljen od strane ljudi, koji ima samo tri koraka. Mi smo već na prvom koraku, vi ste ustali. I sada mislim da sebi broj jedan. To je vaš trenutni broj. Svatko ovdje je broj jedan. Korak dva, združiti se s nekim stojeći i svoje brojeve zajedno, a zatim usvojiti ovaj iznos kao svoj novi broj. Jedan od vas treba sjesti, a zatim ponovite. U ovom trenutku, sve manje i manje ljudi trebali stajati. To je mjesto gdje se dobiva više nespretan. Netko ovdje, ovdje. Najgori dio je, također imate na vrlo verbalno raditi aritmetiku ispred stotina Harvard undergrads. Ok, malo bug ovdje. Dobro, što je tvoj broj? Devet. Ok. Što je vaš broj? 179. Dobro, dobro. Dakle 188. Dakle, vi možete sjesti. Što je vaš broj? 118. Neki pametni dodiplomskog početi raditi matematiku. Dobro, 118, 188. Što još imamo? 71. 79. Ok. I? 47, koja je, nastavno osoblje, koji nam daje koliko? 705 je odgovor. I to je, u stvari, točno točno. Ne, bili smo zapravo malo off tamo, ali kako treba to radili? Što bi tek bilo? Dakle, na svakom iteracija ovog algoritma, počeli smo s nekim brojem od ljudi stoji i da je ukupan broj, n, na prvom mjestu. Tada polovica vas sjeo, i otišli smo na n preko dvije. Tada polovica vas sjeo, otišli smo na n preko četiri, n preko osam, preko 16, i tako dalje, sve dok se, iako je to vrsta raspala tamo na kraj, u teoriji, imali su svi upareni off u balkonom, i polukat, a Orkestar ovdje, mi bi imali samo jednog usamljenog osoba koja stoji, s ukupno vrijednost, u ovom slučaju, od 705. Sada, što to znači, ipak, za vrijeme rada? Pa, mislim o tome, ako sam, kao čovjek, učinio to ručno. Bih upis prilično naivno ali točno s jednom, dvije, tri, četiri, pet, šest, sedam, osam, i tako dalje; traje dosta vremena. Dakle, ja mogu učiniti bolje, zar ne? U osnovnoj školi, ne samo računati u sebe. Možete računati u paru. Dakle, dva, četiri, šest, osam, deset, dvanaest. A to dobiva mnogo brže, ali sada bitno, iskorištavanjem kolektivna inteligencija svima u ovoj sobi, možemo postići mnogo krivulju više ovako, pri čemu sada, broj ljudi u ovoj sobi mogao dvaput, još 700 ljudi hodaju u ovoj sobi za 1400 ljudi, ali samo bi nam još jednu inačicu ovog algoritma za rješavanje. I tako sve više, ovih dana, kada imamo ove velike skupove podataka u Facebook i Google, i slično, to je rješavanje problema s ovim malo uvid, ovo malo pameti, da nas je sve čime se učiniti mnogo, puno snažnije stvari s računalima danas. Ako vam se sviđa ova vrsta stvari, možda ste vidjeli na Facebook CS50-a vlastiti Puzzle Dana, dolazi do ove subote. Ako želite sudjelovati u ovako nešto, pri čemu se i dva, ili tri, ili četiri ekipe četiri željeli riješiti neke zagonetke takve kao što je ovaj jedan, možete stajati priliku osvojiti neke fenomenalne nagrade, među kojima je Wii, a neki poklon kartice, i neke druge Facebook plijen ove subote, podne do 3:00. Idi na cs50.net/rsvp za takve. A to je slajd online ako želite poigrati. Zagonetke ove godine će biti nova. Možda ćete primijetiti u učionici, također, sve više kamera ove godine. Dakle, ne samo da će tečaj biti sniman na uobičajen način, CS50 može biti sudjeluje u dokumentarcu o visokom obrazovanju koji je gleda transformativni iskustvo koje student može imati ovih dana u preddiplomski studij. Dakle, prema ovim kraju, ne samo da ćemo snimati za to, mi ćemo se snimao kao i za, sve, naš online publika, kao i, u povodu, ova publika ovdje. Tako smo dobrodošli u klasi ove godine naše Harvard učenicima srednjih škola produžne, Graduate School of Design, obrazovanje, poslovna škola, Kennedy Škola, pravna škola, kao i broj učenika iz Belmont, Lexington, Newton, a Watertown Visoke škole. Dobrodošli na sve vas. Osim toga, ove godine, kao što ste možda čuli, Harvard, MIT i, i Berkeley sada su ušli u suradnju partnerstva na Inicijativa se zove EDX, što je inicijativa za otvaranje obrazovanje za sve više ljudi online i, u osnovi, početi raditi istraživanja o puno šira skala tome kako ljudi uče. I tako CS50 će biti na faksu prvi tečaj sudjeluju u tome inicijativa, kao i, što znači da će imati pristup sve više alati, sve više nastavnih sadržaja, sve više video sadržaja, kao Rezultat, kao i jučer ujutro, na 53.019 ljudi koji imaju Prijavljeni da se CS50 zajedno s vama ove godine na internetu. Dakle, što to znači, posebno, da nastavno osoblje i imam proveo dosta vremena ovog ljeta priprema za jesen, kako na kampusu i off, tako da možemo početi graditi do korpus Zanimljivo, od uvjerljiv, angažiranja obrazovnih sadržaja, koji se fokusira osobito na više intimni prijevozna sredstva u prilično složene građe. Dakle, osim na tijek predavanja i sekcije, i stvari takozvani Walkthroughs, koje ćemo ponovno razmotriti u samo malo, također ćemo imati ove hlačice ove godine koji omogućuju vam da se uključe sa naravno iz drugačiji kut svi zajedno. Tako ćemo koristiti ovo kao priliku da se brzo zaviriti u jednoj toj raspravlja ovaj pojam binarne. Dakle, u računalnoj znanosti postoje stvari nazivaju algoritmi, od kojih su dva samo mi je uzeo pogledati - tih postupaka za rješavanje problema. No, na kraju dana, morate predstavljaju informacije nekako, a vi treba ga predstavljaju na način da računalo može razumjeti. A čak i ako stvarno ne razumijem računala, a vi ste u da je 76% odmah, vjerojatno imate neki nejasan osjećaj da računala nekako posao u nulama i one, binarni sustav, da se tako izrazim. Sad zašto je to tako? Pa, ispada kada su računala prvi je došao oko, ako je potrebno da predstavljaju informacije, možete to učiniti sa strujom, i iako je to malo od pojednostavljivanje, vrlo jednostavan način snimanja podataka je bilo okretanjem tu struju na, jedan u binarnom, da se tako izrazim, ili okretanje da je struja isključena. Dakle, Barry, ako ne bi smetalo, mogli smo dim svjetla u potpunosti samo na trenutak? Ovo ovdje je vrlo bespotrebnim binarno nula. Dobro, ako ćemo paliti svjetla natrag gore, sada Sanders Kazalište je predstavlja binarnu vrijednost jedne. Nažalost, sa samo jednim bitom, sa samo jednom set svjetla, možemo samo predstavljaju dva broja u svijetu, nula i jedan, i to bi bilo lijepo ako računala može računati malo veći od toga, ali uistinu, oni mogu. Pa neka mi podići na zaslonu ovdje naš prijatelj, Nate Hardison, koji će dati nas brzo pogledati tijekom samo nekoliko minuta ovaj pojam binarne. Nate HARDISON: Povratak kada ste naučili kako čitati i pisati brojeve, te saznao znamenki nula do devet. Za pisanje cijelih brojeva većih od devet, što ste naučili da sve što je morao učiniti je koristiti neku kombinaciju tih znamenki, kao iu 52 i 437. Dakle, ovaj način pisanja brojeva ima ime, decimalnu notaciju. Zašto decimalni? Pa, latinski korijen decimalu, deca, znači 10, a kad imate 10 znamenki u svom sustavu zapis, 10 postaje vrlo poseban broj. Pogledajmo broj 437 pisan u decimalnom zapisu razumjeti zašto. Mi smo prvi put može razbiti 437 na 400 plus 30 plus sedam. Možemo ga rastaviti, čak i više, tako da imamo četiri puta 100 plus 3 puta 10 plus 7 puta jedan. sjećam učenje o one mjestu, 10s mjesta, 100s mjesto, i tako dalje? To je točno gdje koja dolazi iz. I konačno, možemo vidjeti kako smo hrpu ovlasti 10 ugrađen u ovdje. Imamo četiri puta 10 na dva plus tri puta 10 na jedan plus sedam puta 10 na nulu. Dakle, sada možete vidjeti zašto je 10 posebna broj u decimalnom zapisu. U stvari, imamo ime za to. To se zove baza, budući da je baza eksponenta u naša aritmetička ovdje. Decimalni zapis nije jedini način da se predstavljaju brojeve. U stvari, čak i ako smo dobili osloboditi od znamenki dva do devet, možemo dalje predstavljaju sve brojeve da bismo mogli s decimalama. Tako da sada imamo dvije znamenke, nula i jedan, dva je naš specijalni broj, Temelj našeg oznake sustava. Ime ovog zapis sustava naziva binarni, jer Prefiks bi znači dva. Dakle, umjesto toga, sada, nakon što je od one mjesto i 10s mjesto, i tako dalje, mi Sada imate one mjesto, a dvojke mjesto, četveronoške mjesto, i tako dalje, ide gore po ovlasti dva. Dakle, neka je vidjeti to radi neke prebrojavanje. Dakle, nula je još uvijek nula, a jedan je još jednom. Međutim, sada kada smo dobili dvojke mjesto umjesto 10s mjesto, 10 predstavlja broj dva. Da biste dobili tri, dodali smo jedan od toga, i dobiti 11. Četvrto, budući da je sada četveronoške mjesto, predstavlja 100. Pet je 101. Šest je 110. Sedam je 111. Osam, opet, ima svoje mjesto. Dakle, to je 1000. I mislim da ste dobili točku. ZVUČNIK 1: Dakle, ovo je reći ono što rade računala i binarni što je je zapravo ne da razlikuje od onoga što smo uzimali zdravo za gotovo za neke godina, zar ne? Povratak u osnovnoj školi, što ste naučili brojati upravo u modni da je Nate predložila, ali vjerojatno nisu stvarno mislio o to jer, činjenica da je ovo one mjesto, 10s mjesto, a 100s mjesto, a to je prilično proizvoljna. I doista, računala jednostavno koristiti ovu drugu bazu. No, na kraju dana, zapravo fizički predstavljaju taj pojam nula i jedan, ti očito ne samo paliti svjetla i isključivanje nužno. Morate to učiniti na mnogo finije zrno skali. I finije zrno, možda ćete se sjetiti ove blesave igračku iz djetinjstva, Vunasta Willy i ove male magnetske čestice. Dakle, magnetska čestice su nešto što možete poravnati u nekoliko različitim smjerovima, možda sjever-jug ili jug-sjever. I tako puno fizičkih inkarnacija tehnologije ovih dana da koriste binarni, koji koriste nula i one, jednostavno imaju magnetizam iznutra da poravnava stvari gore-dolje ili dolje-gore, a time predstavlja nulu ili jedan, respektivno. Dakle, doista, krenimo od sažetka ovdje, i pogled na unutrašnjost od čega je više tradicionalna računalo hard disk. Ovaj se dogoditi da bude malo veći na zaslonu, u smislu da je iz desktop računalo, ali laptop danas još uvijek imaju tu istu tehnologiju, ali je postupno se zamjenjuju više sofisticirane stvari koje zapravo ne kreće dijelovi - unutar, tada, hard disk. ZVUČNIK 2: hard disk je mjesto gdje vaše računalo pohranjuje većina njegovi stalni podataka. Da bi to učinili, podaci putuje iz RAM-a, zajedno sa softverskim signale koji govore hard disk kako pohraniti te podatke. Tvrde krugovi pogon prevesti te signale u naponu fluktuacije. To je, pak, kontroliraju tvrdom disku pokretne dijelove, neke od rijetkih pokretnih dijelova ostavio u modernom računalu. Neki od signala kontrolirati motor, koji škole metalne obložene plate. Vaši podaci zapravo je pohranjena na ovim plate. Ostali signali pomaknuti za pisanje i čitanje glave za čitanje ili pisati podatke na plate. Ovo strojevima je tako precizan da ljudska kosa nije ni mogao proći između glave okreću plate, ali sve to djeluje na sjajan brzinama. ZVUČNIK 1: Dakle, sada smo povećali na što se zapravo događa na vrhu ove plate u smislu magnetizma, imamo ovaj drugi od dva izgleda. ZVUČNIK 3: pogledajmo što smo upravo vidjeli u slow motion. Kada kratki puls električne energije je poslan na pisanje i čitanje glave, flips na maleni elektromagnetnim za djelić sekunde. Magnet stvara polje koje mijenja polaritet maleni, maleni Dio metalnih čestica koje kaput svake pladnju površina. Uzorak niz tih malih nabijenih do područja na disku predstavlja jedna malo podataka u binarni brojevni sustav koristi računala. Sada, ako struja poslao jedan put kroz pisanje i čitanje glave, područje je polarizirano u jednom smjeru. Ako struja je poslana u suprotnom smjeru, polarizacija je obrnuta. Kako ste dobili podatke s tvrdog diska? Samo obrnuti proces. Dakle, to su čestice na disku da biste dobili trenutni i čitanje i pisanje glava se kreće. Stavite zajedno milijune tih magnetiziranih segmentima, a imaš datoteku. Sada komada jednoj datoteci može se raspršili po cijelom pogon na plate, vrsta kao nered radova na vašem stolu. Dakle, posebna ekstra datoteka prati gdje je sve. Ne želite li imao nešto slično? ZVUČNIK 1: Doista. Dakle, imamo tu sposobnost da zastupa tu informaciju, brojevi na vrlo niskoj razini. Imamo fizički način predstavlja tu istu stvar, ali ne možemo stvarno učiniti sve što je puno interesa, ali, osim možda nekog aritmetike i matematika. Mi nemamo način predstavlja dosad stvari poput abecednom slova, tako da mi ljudi mogu komunicirati, koristeći iste uređaje. No, srećom, postoji kodiranja, obrasci nula i one koji predstavljaju višu razinu konstrukti kao što i B i C, kao i cijele rečenice, i paragrafi, i slično. I tako ASCII, što je skraćenica koja se odnosi na ovaj sustav kodiranja kojim jedan broj predstavlja određeni pismo - na primjer, broj koji znamo kao decimalni vrijednosti 65 je poznat kao slovom na računalima. Decimalna vrijednost od 97 u računalima je poznat kao malim slovom A. A što to zapravo znači? Pa, iako je Nate, trenutak prije, samo broje do od nula do osam, ako bili smo nastaviti brojanje do 65, ili dalje, na 97, uzorak nula i one koje bi on izvučeni na zaslonu će biti točno što računalo koristi za zastupanje pismo A u svim kape, ili slovo A malim slovima. I doista, tu je cijela shema za to. To je, na prvi pogled, neodoljiv chart od kodiranja, ali ako se usredotočiti samo na desnoj polovici ovdje, primijetit u tom srednjem stupcu, imamo ovo Pojam brojeva slijede slova. I na vrhu, imamo 32, i karakter char, na koje 32, cijeli, sada se odnosi, je očito znak razmaknicu. Kada dobijete karakter razmaknicu na prijenosnom računalu, što ste stvarno slanje je broj, uzorak nula i one, protok električne energije, ako hoćete, što predstavlja one nule i one, koje računalo zatim interpretira kao razmakom na zaslonu. Uskličnik je 33. Dupli citati je 34. A ako mi dođite ovamo preko desne strane, vidimo da 65 je doista i 97 doista je mala slova. Tako da sada imamo ovu shemu kodiranja, možemo početi čarolija stvari. Doista, računala obično se izražavaju u standardnim jedinicama, a ne uporabe pojedinog malo, što opet, nije sve što je korisno samo predstavljaju nula ili jedan, svjetla ili isključiti, nego, koristeći sekvence bita. A najčešći jedinica mjere, kao što vjerojatno znate, ili barem zaključiti je bajt. Byte je samo osam bita, osam nula ili one u nizu. Dakle, možemo početi pravopis stvari. I tako, ako smo mogli, zašto ne probati ovo malo kolektivno ovdje? Ima osam ljudi u ovoj sobi koji će biti spremni doći na pozornicu? Morate biti ugodno pojavljuju na kameri, ali stvarno ne treba znati inače što se događa samo još. Vidim jednu osobu koja se dobrovoljno ovamo. Dvije, tri, četiri, pet, šest, sedam, i kako oko osam? Dođi gore. Dakle, vi ste o tome da predstavljaju bajt ljudi. Dopustite mi da ste bili 128s mjesto, 64S mjesto, 32s mjesto. No, mi ćemo vrlo brzo morati preokrenuti ovo. Dakle, dopustite mi da vas zadovolji sve tamo. A ti bi trebao biti u 128s mjestu sve više, ovdje slično stotine mjesto ili tisuće mjesto će biti dalje s lijeve strane, želimo Najveći rezervirano biti ovdje na lijevoj strani, kao dobro. Imamo 64S, 32, 16S, 8s, 4s, 2S, i 1S - izvrsna. Tako sada imamo - ok, možete mi pomoći. Tako sada imamo - ono što je vaše ime? JOANNE: Joanne. ZVUČNIK 1: Dakle, Joanne i ja sada ide savjetovati ove momke kako bismo možete ići oko pravopis nešto. Dakle, na leđima svojih listova papira, oni imaju malo varati list koji će im reći da li su predstavlja nulu ili jedan. A zašto ne, radi jednostavnosti, mi ćemo predstavljaju nulu po samo stoji nespretno. Vrlo dobro. Ili jedan podizanjem ruku, predstavlja jedan. I neka je vidjeti ako ne možemo sricati četiri znaka frazu ovdje. Pa ići naprijed sada, volonteri, i izvršiti jedan okrugli podizanjem ruku ako si jedan, ili ga držeći dolje, ako ste nula. Tako da sada imamo ove tri ruke, što je broj, svi drugi su oni zapravo predstavlja? Ok, 67. Zašto? Pa, brzo razum ček. 64S mjesto, jer to je jedan. To je kao jedan puta 64, plus jedan puta dva, tako da je 66, plus jedan puta jedan. To je plus 1, pa 67. Dakle, sada ovi momci kolektivno predstavljaju 67, što je očito predstavlja ono što ovdje u ASCII? Ok, pa C. U redu. Tako sada pređimo zaokružiti dva. Svatko počevši sa svojim rukama dolje, a zatim okrugli dva. Zapravo, ne postoji mnogo ulogu ovdje, pretpostavljam, ali mi ćemo se pretvarati. Dakle rundu, povećati ili smanjiti svoje ruke. U redu. Publika, ono što smo sada? Izražavajući je 83. Dakle, što možete učiniti matematiku. No, za svakoga čija je ruka gore, dodate u broju koji oni predstavljaju. Tako sada imamo 83. Hajdemo proširiti mangupirati se plahta malo, a mi sada imamo - to bi moglo biti očito gdje idemo ovdje, ali ipak, okrugli tri. Ok, okrugli tri je dobro ići tamo dolje, tako da okrugli tri, što su broj ovi momci sada predstavlja? Ok, čuo sam 53, koja sada predstavlja - zanimljivo. Sad zašto je ova vrsta protu-intuitivno rezultat, zar ne? Ako želimo da predstavljaju pet - smo svi vjerojatno znate gdje je to ide - zašto ne samo podići četveronoške mjesto i one mjesto? Pa, shvatili smo da postoji razlika, u osnovi, između kako računalo interpretira ove komadiće. Ako pokušavate da predstavljaju broj pet, onda apsolutno, samo smo podići svoju ruku broj četiri i podići ruku broj jedan. Ali mi ne predstavlja brojeve ovdje. Kontekst ovdje na pozornici je da smo predstavljajući likove ili znakovi, iu tom kontekstu, računalo mora shvatiti da oh, ovo uzorak bitova nije broj sami. To je zapravo predstavlja višu razinu koncept. U ovom slučaju, abecedni pismo. Dakle, činjenica da se sada predstavlja broj pet sa vrijednost 53 jer u ASCII, stvar mi estetski vidi kao broj pet sama treba uzorak bitova - jer zašto? Pa, svijet samo odlučio koristiti niže brojeve, nula, jedan, dva, tri za ono što je izgledalo da se prilično grobni stvari. I doista, to su likovi koji se ne nalaze na tipkovnici. Posebni izrazi koje trebate na računalu raditi zanimljive stvari, no ljudi zapravo nikada ih upisati. Dakle, 53, doista, predstavlja pet. Sada samo kao konačni uračunljivosti ček, ono broj bi oni predstavljaju u samo trenutak? Ok, tako da 48. I doista, ići naprijed, krug četiri. 16 plus 32 je doista 48. I tako veliki aplauz, ako smo mogli, za naše osam volontera ovdje. Vrlo dobro učinio. Svaki smjer je u redu. Tako sada imamo način ne samo razmišljati o tome kako predstavljaju podatke, i zapravo ga predstavlja fizički, ali i radi veće level stvari na vrhu. I doista, to će biti tema tijekom računalne znanosti izgradnju više i više zanimljiva i složena stvari na vrhu prilično jednostavne ideje - u ovom slučaju, samo nule i jedinice. U smislu zašto je to korisno, dobro, iako je u tijeku kao što je ovaj, ćemo se usredotočiti na osnove, a na programiranje, a na rješavanje problemi, možete otići u informatici u svakom broju smjerovima. U ovom slučaju ovdje, ovo je shema da imate na zadnjoj stranici u vašoj neslužbeni vodič za CS na Harvardu, jedan od današnjih dva ispisa. To sugerira različite smjerove u kojima možete ići nakon Tečaj ovako - učenje o umjetnoj inteligenciji, o slikama, o stroj za učenje, o jeziku sama. Shvatite, također, da postoje još druge staze. Postoji više matematički staze u računalnoj znanosti. Ako niste ni mogućnosti da se nešto poput CS50 ove jeseni, postoji uvodni tečajevi u proljeće, informatika 1, na primjer, je još jedan na rampi na ovom novom svijetu. Sada kao stranu, u interesu rješavanja problema koji se odnose na tečajeve, shvatiti CS50 set od prije nekog vremena da pokuša riješiti jedan od tih problema, Problem poznat kao my.harvard, što su mnogi od vas možda koristi da se zapravo shop za tečajeve, ali ako ne, check out alat kao što je ovaj, kao i druge potomci da su neki od naših prošlih studenata i osoblja stvorio. No, u Harvard Tečajevi, što je web-based alat, nešto što će biti sposobni za projektiranje i implementaciju sebe, kao i još druge stvari, kao i po završetku semestra, shvatiti da je ovo gradi na otvorenom skupu podataka. U tom slučaju, naravno, katalog, i omogućuje studentima u ovom slučaju na istražiti prilično kompleksan set podataka. Mi iskopao sinoć nekoliko statistika temelji se na nekoliko tisuća ljudi koji su pomoću ovog u posljednjih nekoliko dana. Ako ste bili znatiželjni znati koliko tečajevi vaši prijatelji zapravo imaju tendenciju da se dućan, dobro, danas taj podatak sugerira da je 7,6 prosjek broj predmeta na nečijem popisu shopping. A sada ću vam dati također podatak o najvećem broju tečajevi o nečijem popisu shopping - i mi svi vjerojatno znate netko ovako. 201 je ovogodišnji rekord. Sada neki od naših bivših studenata i osoblja zapravo sastaviti isječak slikati sliku za vas ono što ovaj put informatike i CS50 je sama po sebi. Pusti me naprijed i povucite prema gore, zahvaljujući gospodinu Harvahd ovdje, video-produkciji neke od svojih prethodnika, ako smo mogli zadržati svjetla za to. [Glazba svira] ZVUČNIK 1: Nisam imao pojma da će se dogoditi. Dakle, više ozbiljan pogled na ono što se nalazi ispred. Dakle, u smislu očekivanja ovog tečaja, doista se očekuje da sudjelovati ili gledati toku je predavanje, dostaviti osam problematičnih seta, uzeti dva kvizove, podnijeti konačni projekt. U smislu razreda, shvatili da su moji komentari na otvaranju o pass-fail, nešto što mi jako puno uzeti k srcu u CS50 - ne postoji približno dovoljno kulture na Harvardu pokušava nešto i riskirati neuspjeh. Doista, imali smo broj studenata, a ja posebno, koji je bio zabrinuti ranjavanje GPA, ili dobivanje B u nešto poput CS50, i prilika da se tečaj ovako i drugih pristupnika kolegija na Uvodni razina proći / ne je vrlo nedovoljno prilika na ovo koledž u cjelini. I tako znajte, čak sam upisao ovaj tečaj u početku za proći / ne kredit sama, i iako sam prekidač na kraju dana, to je bio tih pet početnih tjedana do petog ponedjeljak u semestru, što je granična, da mi je omogućilo da se zapravo staviti nogu u ovim novim vode, a zapravo pokušavaju nešto vrlo nepoznati i vrlo neugodan za mene u tom trenutku. Dakle, u smislu onoga što sada uloga razni kutovi koji možete približiti ovaj tečaj poslužiti - pa predavanja. To je do vas. Ako se uključe s nama u osobi na ovom mjestu, dapače, znamo statistički da je otprilike 40% od vas će se vrsta dolaze i odlaze preko Tijek semestra, a 10% vas nikada nećemo vidjeti nakon danas. I to je savršeno u redu, da budem iskren. Jedan od definiranja karakteristika CS50 je da postoje oni Bezbroj sredstva, od kojih su neke ćemo štropot kroz u samo jednom trenutku, uključujući predavanja i sekcije, i stvari se zove Walkthroughs, i ured sati, i slično, a to je više sredstava nego u tipičnom studentu bi trebali imati ili bi mogao fizički iskoristiti, ali to je zato od različitih stilova učenja da svaki student tijelo manifestira. I tako na predavanjima, primarna uloga kao što sam ga vidjeti je da ne verbalno guranje od prilično složene materijala i nužno dostaviti sve zamršenosti osnovama koje ćemo istražiti ovaj semestar, ali radije, za napraviti stvari kao što smo radili do sada već, ovi primjeri uključuje ljude na pozornici pokušava slikati mentalnu sliku, a također stvoriti, usudio bih reći, neki od tih nezaboravnih trenutaka, tako da čak i kao što borba s određenim temama, imate ove uspomene, poput, oh, iako koji je bio prilično apstraktno, matematika, dobio sam izgubio s nosi jedan, kao što je, to stvarno, na kraju dana, nije sve što je različito od nešto što već znamo. I tako je uloga da predavanja će poslužiti bilo osobno ovdje u Sanders ili online na videu je stvarno postaviti pozornicu psihički za vas svaki tjedan za razne koncepte i probleme koje ćemo biti ronjenja u. U smislu visokoj razini pojmova, većina tih riječi može teći preko glava za trenutak. I to je u redu. Oni od vas koji će doći u toku ugodnije će znati neke od tih tema, ali obično za to 10% razreda za koje oni imaju mnogo više pozadine, uzimajući AP informatike, programiranja jer oni su bili 12, shvaćaju da će biti prilike u odjeljcima i Problem postavlja da ide sve više dubine u raznim temama, punjenje u god praznine možda ste iz srednje škole ili prethodnog pozadina. U pogledu jezika, shvatiti da je ono što jezik mi koristimo u CS50 je uglavnom nebitna na kraju dana. Mi se dogoditi da koriste prvenstveno jezik zove C. Pred kraj semestar, uvodimo web usmjerene jezika, kao što su PHP i JavaScript. No, mi i drugi mogli učiti tečaj ovako u većini bilo moderno jezik visoke razine - Python i Ruby, a drugi su vrlo popularan ovih dana, jer shvaćaju, Na kraju dana, vi ne učite u ovom C. Nisi učenje PHP ili Javascript. Vi ste učenje kako riješiti probleme, bilo na web-u, računalo-based, ili podaci orijentirana sama, pomoću njih jednostavno kao alata. Sada u smislu logistike, morat ćete koristiti nešto na kraju zove CS50 aparati. Nije bitno ako imate Mac, PC, Linux računalo, ili slično, ćete imati slobodno dostupan softver počevši sljedeći tjedan s kojima se koriste CS50 aparati, virtualno okruženje koje ćete koristiti na vašem svoje računalo, tako da ti i sve svoje kolege imaju jedinstvenu Linux desktop u ovom slučaju. To je problem seta, iako, u kojem ćete stvarno dobiti svoje ruke prljave u tijeku. I na kraju dana, to je problem seta, mislim, da je stvarno definirati na studentske iskustvo u ovoj stazi. Shvatite da su mnogi od problema setovima će biti objavljen u dva izdanja - standardno izdanje koje očekujemo i potičemo 90% Klasa zaroniti u. Ali, mi također objavio neki problem postavlja u tzv hakerske izdanja, a vi Znam da je haker izdanje, jer na svakoj stranici s vodeni žig, to kaže haker izdanje na njemu. I to je za ove demografske od vas koji imaju AP informatike s 10 godina programiranja ispod pojasa, te su u potrazi za popunjavanje te praznine, i da imaju više formalnim, nego samouki trening možda, shvatiti da je vrlo značajan demografski u klasi koja ima Upravo taj isti cilj. Vi ćete imati pet kasni dana. Problem setovi su uglavnom zbog četvrtkom, ali možete produljiti pet ti rokovi koriste takve stvari zove kasno dana, a također ćemo ispustiti svoga najniža rezultat na kraju semestra, po Pojedinosti u programu. No, drugi definiranje karakteristika CS50 tijekom godina postala ured sati, prilika da si vidio vizualno fotografije malo prije u kojem smo okupiti ranije u kući blagovaonice, prije toga u Podrum znanstvenom centru, a ove godine u Annenberg dvorani, četiri noći tjedno od 20:00 do 23:00, gdje ćete imati to jako puno dijeli iskustvo rada na, bore kroz određene probleme, ali sa značajnim potpornu strukturu u mjestu. Doista, način to će raditi je ćete stići na Annenberg ako imate nekih pitanja tijekom tjedna. Vi ćete donijeti svoj laptop, vi ćete sjesti, zgrabiti nešto hrane, a vi ćete se prijaviti u CS50 razgovarale, web-based alat koji nastavno osoblje ima razvila koji će vam omogućiti da postavljati pitanja i vidjeti followups u Tipičan forum za raspravu osjećaj, koristeći naljepnice i slično, i auto-kompletna Usporedite podatke. No, također ćete biti u mogućnosti da, tijekom sati radnog vremena, imaju svoje Pitanja eskalirala do stvarnih ljudskih bića. Doista, cilj je u konačnici tako da je jedan, možemo početi graditi preko Tijek semestra korpus nadamo se stvarno korisnih informacija, zajedničke odgovore na najčešća pitanja, tako da možete sami riješiti probleme i dobiti odlijepio što je brže moguće, a da nastavu osoblja - obično 20% do 30% nastavnih bližnjima i naravno asistenti na osoblje odjednom. Mi ćemo imati ono što se zove CS50 Greeter u Annenberg, a kad smo odrediti da, znate što? Ovo pitanje, mi zapravo odgovorili učinkovito online. Moramo vidjeti vaše računalo. Želimo razgovarati s vama jedan na jedan. Ti si stvarno bore, i stoga želim razgovarati jedan na jedan uz nekoga, vi ćete biti otpremljena na CS50 Greeter, demonstrator holding, doslovno, iPod koji ima učeničkih imena na jednoj strana, nastavno osoblje je imena na druge. Mi ćemo prikupljati svoje ime, potom na ime nastavnika, a vaš računalo zaslon će početi treptati, rekavši molimo idite vidjeti Alice molimo ili ići vidjeti Boba na osoblje tablici. I tako na taj način, mi ćemo biti u mogućnosti da pošalje stvari kao učinkovito kao moguće, kao i voditi vas prema rješenjima sve lakše. U dijelovima, to će biti prilika za intimnije rukama- na mogućnosti s jednom od nastavnih bližnjima i 12-16 ili tako Vaši kolege, u kojoj svaki tjedan, mi ćemo imati problema u problem setu da pitam broj konceptualnih pitanja, a broj ugriz veličine programiranje pitanja da biste mogli shvatiti na svoje, a ti bi mogao raditi na svoju ruku, ali u kontekstu dijelu, mi ćemo raditi kroz kolektivno neke od tih problema, a tamo gdje Razgovor nas vodi. Osim toga, u poglavlju ćete imati prilike za ocjenu podneske zadaća koje ste napravili, vaši kolege, ponekad anonimni, Uvijek po opt-u, ako želite podijeliti raditi da ste poslali. Dakle, to je stvarno ću biti dvosmjerna razgovor, i prilika za pregledati svoj rad u mnogo dinamičnom smislu, nego jednostavno gleda na PDF ili ispis i razmišljanja o tome za nekoliko sekundi , a ne nužno upijaju povratne informacije koje nastavno osoblje su dali. A vi ćete koristiti alat ovdje zove CS50 mjesta. Za one koji nisu upoznati, to je jezik poznat kao C u gornjem lijevom kutu, a ćete upoznati ovu vremenom, ali ovo je web-based alat koji ćemo koristiti u dijelu koji će vam omogućiti i svoje 15 ili tako kolege da se prijavite u sa Vaš demonstrator na prednjem dijelu prostorije. Vi ćete biti u mogućnosti da pisati kod u ovom prozoru. Vi ćete biti u mogućnosti razgovarati elektronski ako niste zapravo na dijelu na da određeni trenutak, a vaš demonstrator, kada dođe vrijeme za raspravljati Alice ili Bob rješenje u klasi, kolega nastava se može kliknuti gumb, i voila, projekt na zaslonu god da je učenik bio raditi na na toj određenoj točki u vremenu. Dakle, za one od vas imaju prijatelje koji su se CS50 u prošlosti, shvatite koji dijelovi su značajno digne ove godine biti sve više aktivan, sve više dinamike, i stvarno, dvosmjerna komunikacija između nastavno osoblje i studenti. I Walkthroughs. Dakle, za tih problema seta, također nudimo ne samo specifikaciju Sama, koji je općenito prilično detaljno PDF, ali i stvari poznat kao Walkthroughs, pri čemu je jedan član nastavnog osoblja će dovesti tjedno sjednici koja doslovno vodi vas kroz problema set, dajući vam savjeti, i savjete, i polazišta, a namijenjen je pitati vrlo često pitao pitanje: gdje ću početi? Pa, što počnete bilo ronjenje u spec. na vlastitu, ili pohađaju ili gledajući ove Walkthroughs. Prvi prohod, u stvari, biti će ovog petka. Oni će biti petkom, ne toliko zbog toga što mislim da će biti popularan vrijeme, ali zato možemo onda ih snimiti vrlo rano u tjednu i dobiti ih online do vikenda, tako da imate onoliko dana kao moguće zapravo sudjelovati u tom sadržaju, kao dobro. Ali više o tome u predavanju ovaj petak. Sada u smislu podrške strukturi, najznačajniji statistika možda i 108 nastavnih novaci i asistenti naravno da je ovaj tečaj trenutno ima. Ako neki od vas koji nemaju sukobljene klase željeli da se pridruže mi ovdje na pozornici, to je ovi momci koji su u konačnici će stvarno definirati svoj iskustvo u tijeku. Imao sam puno nastavnih bližnjima nastava mi nastavu u dan, a ja sam zapamtite vrlo malo onih, iskreno, ali do sada, još uvijek se sjećam među onih rijetkih moj CS50 TF, koji stvarno mi je pomogao odgovoriti na pitanja, tko stvarno mi je pomogao kada sam se borio, i stvarno je bio partner u ovu iskustvo učenja vrlo novi svijet. U malo, svi ovi momci će vam se pridružiti izvan za tortu, koji je tradicija CS50, u transepta u Memorial Hall, ali mi dopustite prvi vam predstaviti Nate Hardison opet, Rob Bowden, i Tommy McWilliams, ovogodišnji tečaj glave. Ako vi bi mi se pridružiti ovdje u sredini. Oni su svi spremni neke inspirativne primjedbe. TOMMY McWilliams: Nisam pripremiti ništa inspirativna. No, moje ime je Tommy. Ja sam viši u Mather. Studiram informatike, stvarno uzbuđen biti na glavama tima i prolazi kroz CS50 putovanje s vama. Ono što sam stvarno vole o CS50 je kako je to zapravo uči da razmišljaju o problemi u novi način. Ovo je stvarno vještina koja će biti od neprocjenjive vrijednosti, bez obzira na polje idete u. I ne samo to, već nudimo više slobodnog bombon od bilo drugi tečaj na kampusu. Dakle, ja sam samo jako veseli vidjeti što svatko gradi ovaj semestar. I ako netko ima bilo kakvih pitanja sada ili tijekom semestra, definitivno slobodno doprijeti do mene, a ja bih se rado pomoći. ROB Bowden: Bok. Ja sam Rob Bowden. Ja sam viši u Kirkland. Da, to je točno. Svi smo jako uzbuđeni za ovaj sljedeći semestar. Nadamo se da ste svi uzbuđeni. Nisam očekivao da. Da. Tako smo stavili toliko truda u izradi ovog semestra stvarno super, i kao dok ste spremni da stavite u nastojanju, postoji toliko možete dobiti iz ovog predmeta. Možete dobiti puno zabave iz ovog kolegija. Mi ne bi imao osoblje od 108 ako ne mogu dobiti puno zabave izvan njega, pa samo pokušati biti uključeni, i nećete požaliti. Nate HARDISON: Bok, dečki. Ja sam Nate. Ja sam učitelj za tečaj. Jako sam uzbuđen što sam ovdje, kao dobro. Ovo je moja prva godina ovdje. Nadam se da ćete svi uzeti ovaj tečaj, i uživati ​​u njemu koliko imam uživao tako daleko. A ako ste ikada željeli naučiti kako doći do devet ili deset u binarnom, dolaze razgovarati sa mnom. ZVUČNIK 1: Dakle, na rizik od odlaska ove momke ovdje na pozornici malo nespretno, ajmo kovitlati kroz samo neke od stvari koje čekaju prije nego što smo odgoditi za tortu. Što je to što se nalazi ispred? Pa, ako uzmemo brzi pogled unatrag na prošle godine, u problemu postaviti na nulu, vaše prethodnici zaronio u programskom jeziku zove Scratch, grafički programski jezik koji ćete koristiti u prvim danima naravno, počevši ovaj petak, naučiti neke pojmove nepoznate nekima od vas, ali shvatite tu će biti napredni aspekt ove za one od vas s prije pozadina. U prošloj godini je problem postaviti dva, studenti zaronili u svijet kriptografija, umjetnost enciphering ili remećenje informacije, provedbeni programi koji šifriranih podataka, te u posljednjem izdanju hakerske godine nije studenti nastaviti ispucati ili dekodirati lozinke u tipično računala. xc lozinka datoteku dolaze s algoritama i heuristike za silu figuring out ono što nečija lozinka na računalu Sustav je bio. Prošle godine ili dvije, u problemu postaviti četiri učinio studente provesti igra Sudoku. A haker izdanje koje godine nije studenti ne samo provoditi kako igrati igru, ali zapravo je Solver, pri čemu računalo može vam pružiti, ljudski, uz naznake, a brže nego što rješavanja da određeni problem. U problema setu pet, nismo forenzike, ovo umjetnost oporavlja podatke da je slučajno ili namjerno vrlo izbrisan iz računala. Prošle godine, nastavno osoblje i sam ušetao u okolici kampusa uzimanje fotografije ljudi, mjesta i stvari i onda slučajno formatiran medijsku karticu na našoj kameri koja je imala sve one fotografije. No, nije problem, napravili smo forenzike sliku ove medijske kartice, predao se za sve učenike u razredu, te ih izazov pisati programe koji oporavio sve JPEG iz tog kartice. I to je zapravo jedan od naših omiljenih problema seta, a ja sam iskopao stara e-mail od jednog od svojih prethodnika, koji je zabavno pročitao negdje prije. Ovo je od Matta. Dragi David, jučer je moja sestra slučajno formatiran njezina fotoaparata SD kartica i izgubio godinu dana vrijedi nezaboravnih fotografija. Ona nažalost nije najbolji na backup svoje podatke. Ali ova situacija podsjetila me na p-set pet, pa sam pomislio bih pokušati pokrenuti svoju SD karticu kroz oporaviti program koji sam napisao sve na putu natrag u listopadu. Tako je nakon četiri sata figuring out kako napraviti sirovi sliku iz formatirani SD kartica - Google dokazati da se prilično korisna u tom pogledu, dok sam ironično dogodilo naići vašim uputama na internetu - nakon petljaju okolo sa nekim od argumenata naredbenog retka, uspio sam stvoriti forenzičke sliku, i nakon instaliranja i konfiguriranja CS50 aparati, uspio sam pokrenuti forenzičke sliku preko mog programa i oporavim sve od 1027 moja sestra je fotografijama, piše Mt. U prošlogodišnjem problema skupa šest, dali smo studentima rječnika 150.000 engleskih riječi i izazvao ih napisati provjeru pravopisa da odgovori upiti o obliku, je ova riječ ispravno napisane ili nepravilno kao brz kao moguć. I na opt-u osnovi bili studenti smiju zatim izazov razredu slanjem svoje rezultate, količinu RAM-a koji su potrošili, broj CPU ciklusi ili sekundi da oni koriste, tako da studenti onda su rangirani na tečaja na web stranici - opet, čisto neobavezno aspekt toga, ali zabavno u tome vrlo često bi učenik doći do pozicije broj 10 ili tako na velika odbor, na web stranici, otići na večeru, a zatim se vratiti, i shvatiti njegov cimer upravo ivica ispred njega ili nju na velikom brodu, time ulijevanja još dva ili tri sata samo za jedan do njegov cimer. Dakle, veselimo se nešto slično i ove godine. U problema setu 7 nije mi kormilariti u smjeru web programiranje, zapravo rješavanju problema u sve više zajedničkog okoliša od web preglednik. Znaj zatim decreasingly mi preuzeti softver na Macovima i PC, ali sve, ne možemo to učiniti sve u okviru webu. I doista, prošle godine, neki 88% učenika završnih projekata u tijeku su web-based. A oni su, također, vještine koje će proizaći iz ove klase po Naravno je kraj, jer ono što čeka na kraju tečaja je CS50 sajam, to Izložbu koja se temelji na ideji o znanstvenom sajmu, ali u ovoj verziji Sajam učiniti sve učenike u razredu dovedu prijenosnicima, a njihova prijatelji i obitelj, a drugi prema sjeverozapadu znanosti, velika zgrada na kampus, postavili svoje prijenosno računalo, dobiti nešto za jelo, dobiti neke kokice i piće, a onda pokazuju svoje konačne projekte za sve one koji u nazočnosti, koji je prošle godine brojevima neke 2500 sudionika iz cijelog kampusa, i izrazi poput to, i kao što to nije bilo neuobičajeno na sajmu. Vodeći do sajma je CS50 Hackathon, prilika da hop na Harvard prijevoz, glava niz ulicu s Microsoftom u 20:00, a ne ići kući do 07:00. Mi služimo prvi večera u 20:00, drugi večeru na 01:00, a za one koji još uvijek stoji na 05:00 mi počastiti palačinkama na IHOP. I Hackathon je prilika, kao na slici ovdje, da se upustim u vašoj Konačni projekti, hoće li raditi na svoju ruku, ili s prijateljima u suradničko okruženje, gdje cijela nastavno osoblje radi dobro u noći s dovoljno opskrba Hong Kong kineske hrane. U 05:00 će se ovakve slike kao što su to biti vrlo čest i ove godine. Dakle, kao što smo prekinuti u trenutku za tortu, imajte na umu da je 76% posto ljudi u ovoj sobi nema prethodno iskustvo, kao i po nastavnom planu, što u konačnici važno u ovom tečaju je ne toliko gdje ćete završiti u odnosu na svoje kolege, ali gdje, u tjednu 11, završiti u odnosu na se u tjednu 0. Ovo je CS50.