[Powered by Google Translate] [Glazba svira] David J. MALAN: Ovo je CS50. Tako sam bio gdje ste sada prije nekoliko godina. I kad sam bio brucoš na vrijeme, nisam bio stvarno na ovaj put radi informatike, radiš inženjering. Doista, došao sam na ovo mjesto kao države Usmjerivac. Ja bih bio u srednjoj školi, klinac koji volio stvari kao što su povijest. Volio sam ustavni zakon, ljubazno engleskog i matematike. To je kao vrsta dobro zaobljena, ali nije nužno znati stvari koje nisam bio učio u srednjoj školi. I tako prve godine, imao sam taj strah pri čemu čak iako sam volio računala, igrao računalne igre i sviđa, ja sigurno nikada nije mislio o sebi kao Računalo osoba, računalni znanstvenik. I iskreno, mislila sam da moji prijatelji u srednjoj školi koji su uzimanje informatike bili malo geeks. A ipak, kad sam došla ovdje na kampusu, bilo je ovaj tečaj, CS50. I u to vrijeme, to je taj ugled stvarno biti nešto oprezu. 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, idući kroz koliko je od preduvjeta kao što sam mogao, cross-računajući stvari za gen ed ili Core i slično. A onda sophomore godine, iz nekog razloga, sam ustao živac na korak nogom u znanosti Center B, gdje je bio CS50. Vrlo poznati računalni znanstvenik po imenu Brian Kernighan je podučavao da se ovdje godinu dana. A čak i tada, bio sam samo spremni da se zapravo ispuniti moj studij kartica uzimajući ovaj razred proći / ne. Pogledao sam oko sebe i shvatio sam svima u ovaj jedan je Moraš znati način više o informatici, o programiranje, o računalima. Svatko jednom mora biti programiranje, u ovoj sobi, jer su bili 12. Ali, doista, da nije bio slučaj. I tako vrlo posljednji dan, peti u ponedjeljak semestra, sam uzeti ovaj skok i promjenu od prijevoja / ne Pismo razred i završio promjenom moje koncentraciju koja Isti dan na informatici. Sada, to nije naš cilj u ovoj klasi, uključite se svi u računalne znanosti koncentratore, ali stvarno predložiti da postoji prilika u ovoj oblasti i u drugim područjima s kojima bi moglo 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 ne zapravo pripadaju, tako da većina ljudi to je vaše pravo i na lijevoj strani. Doista, prošle godine, 76% učenika u ovom razredu nije imao prethodno iskustvo. Dakle, suprotno onome što možda mislite, većina ljudi sjedi ovdje danas ne, u stvari, imaju bilo prije 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 kako bi opisao sami u smislu razinu udobnosti. I ne postoji jedan definicija to. Vi samo vrsta to znati ako niste vrlo ugodno u CS50. I prošle godine smo imali 55% u toj zelenoj pita kriška ovdje self-opisujući je kao manje udoban, studenti koji iskreno imali pojma zašto su čak bih kupovala tečaj na da je prvi dan. Ali isto 55% ostao s nama do kraja izraz, kao i 35% koji su bili negdje između onih udobnije i onima manje ugodno. Dakle, ono što je informatika? Pa u srednjoj školi, a stvarno više općenito iz tamo ovih dana, tu je ova percepcija ili ovaj zabluda da informatika je programiranje. I to je apsolutno jedan aspekt računalne znanosti. No, programiranje, bez obzira na jezik, je zapravo samo alat koji računalni znanstvenici koriste za rješavanje problema, bilo u domeni informatike ili više njih dana u fizičkom znanosti, prirodnih znanosti, u medicina, u humanističkim znanostima, da analizira velike skupove podataka. Bilo gdje sada postoji računalo i podaci, postoji prilika da se primjenjuje naučene lekcije u razredu kao CS50. Tako ćemo riješiti problem koji računalni znanstvenik može ići o rješavanju i pokušati staviti neke žargon, staviti neke Konceptualni okvir, oko čega inače bi moglo biti nekih prilično apstraktna ideja. Dakle, ovo je telefon. Vi ne vide te stvari previše često, iako koledž još uvijek izgleda kao da su oni u kućama i domovima. No, vratimo se u danu kada ste htjeli koristiti telefon kao to nije bilo elektronski adresar u svom mobitelu. Umjesto toga, izvukao nešto poznat kao telefonski imenik. I ove telefonski imenici imao oko 1.000 stranica, obično. Oni su razvrstani od A do Z. A možete jednostavno morao pronaći Pravo stranica za pronaći osobu koju tražite, kako bi se pronašli svoje ime i svoj telefonski broj. Sada kako idete o potrazi gore netko u ovoj knjizi? Pretpostavimo moj cilj je dati moj prijatelj, Mike Smith, poziva. Pa, kako mogu ići o pronalaženju Mike Smith? Pa, vrlo razuman pristup, ako naivna i neučinkovita, bi se početi ovdje i početi flipping na stranica 4 na stranici 5 do 6 stranice, te vrsta linearno, zajedno ravna crta, proći kroz ovaj telefonskom imeniku. I premda to će biti nevjerojatno dosadan, ako Mike Smith je u ovoj knjizi, ja sam na kraju ćeš doći do njega kad sam konačno okrenuti na S dijelu ove knjige. Sada, naravno, ne treba biti računalni znanstvenik na znam da je to glupo način rješavanja ovog problema. Što bi tipično ljudsko biće učiniti? Bravo. Tako da bi se okrenuti prema sredini, desno. Dakle, želite okrenuti otprilike na sredini, pogledajte ovdje, a čini mi se za sebe pronaći u M dijelu. U redu, tako da je M očito nije ono što ja tražim. I Mike desno, da tako kažemo, u ovom odjeljku. I kao što su neki od vas vidio prije, možemo doslovno sada nastaviti do suza ovaj problem na pola. [Pljesak] 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. No, niz šava, sada imamo dva problema, svaki od što je upola velika. I mi smo doslovno mogu baciti tu polovicu problema daleko. Sada smo ostavili ne s 1000 stranica, ali, kažu, 500. Pa sad, što da radim? Pa, tipično ljudsko će ići otprilike u sredini opet. I nađem R sekciju. Dakle, nije baš tamo. Pa opet, ja mogu rastrgati ovaj problem na pola. [Pljesak] Hvala Vam. Dakle, sada imam samo oko 250 stranica. I ja mogu to učiniti opet i opet i opet i ići od 125 do otprilike 60-30 do 15 i tako dalje. I na kraju, ja ću dobiti whittled dolje na jednoj od stranica na S koja, ako je on u telefonskom imeniku, Mike Smith bi trebao biti. Sada, to je očito prilično razumno algoritam, i to je jedan put upotreba algoritam u ovom slučaju. No, ono što možemo izdvojiti od odvesti daleko od toga? Pa, prvi pristup, ispraviti ako naivna iako to godine, može se opisati u ovom pravcu. Dakle, ako na x-osi ovdje možemo reći je to veličina Problem je, kako x-os ide na desno, Problem postaje veći. Što to znači biti veća u kontekst 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 što je os ide gore, to vjerojatno ima više vremena. Tako da prvi pristup linearno potrazi sa stranice 1 kako dot dot dot stranici 1000 je linearna postupak, linearno algoritam ili proces. A to možemo opisati ovaj pravac. Ako sam dodati još jednu stranicu u telefonskom imeniku, to će se, u najgorem slučaju, uzmi me još jedna stranica Flip pronaći Mike Smith. Ako sam dodati 100 stranice, 100 više flips ili jedinice vremena. Sada, ja 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 4 u isto vrijeme. Ali čak i da nije sve što je bitno bolji. Čak i ako je to dvoje u isto vrijeme, da, vrsta seli ovo linija dolje malo, a to znači da je potrebno manje vremena s obzirom isti broj stranica. Ali to nije bitno bolje. No, ono što smo upravo to, a ono što je svima vama učiniti instinktivno? Vi zapravo postigao nešto malo ovako, Logaritamska vrijeme, pri čemu problem može rasti i rasti i rasti, ali troškovi rješavanje tog problema, vrijeme potrebno riješiti taj problem, ne raste gotovo jednako brzo. To će biti logaritamska krivulja, log n, gdje je n samo veličina problema, broj stranica u ovu telefonski imenik. 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 - pa ako imamo 500 stranica u telefonskom imeniku, a mi ga udvostručiti na 1000, u tom više inteligentnog modelu flipping na sredini, koliko više stranica suze je potrebno ići od 500 stranica za 1000? Pa, samo jedan dodatni stranica suza. Ako predao mi 2000 stranice telefonskog imenika, nije velika stvar. Samo sam ga jednom suza 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 na isti način. I tako zašto ne bismo to učinili? Ako bi me humora, iako nespretno ovdje u Sanders, idite naprijed, svatko, ako bi i stand up na mjestu. Kao što vidite na zaslonu ovdje, ovo je algoritam, Proces, računalni program, ako hoćete, da bude pogubljen po ljudi koji ima samo tri koraka. Mi smo već na 1. koraku. Vi ste ustali. I sada mislim na sebe broj 1. To je vaš trenutni broj. Svatko ovdje je broj jedan. Korak 2, združiti se sa netko stoji, dodajte brojeve zajedno, a zatim donijeti iznos kao svoj novi broj. Jedan od vas treba sjesti, a zatim ponovite. ZVUČNIK 1: 205. David J. MALAN: Što je to? ZVUČNIK 1: 205. David J. MALAN: U redu. ZVUČNIK 2: On ima one druge. David J. MALAN: 205? ZVUČNIK 3: Da. David J. MALAN: U redu. 3. ZVUČNIK 4: 400. ZVUČNIK 5: 5. 700. David J. MALAN: U redu. 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 učiniti aritmetička pred stotinama Harvardu undergrads. OK. Malo bug ovdje. Ok. Što je vaš broj? ZVUČNIK 6: Devet. David J. MALAN: Što je to? ZVUČNIK 6: Devet. David J. MALAN: Devet. Ok. Što je vaš broj? ZVUČNIK 7: 179. David J. MALAN: 179? Ok. Dobro. Dakle 188. Dakle, vi možete sjesti. Što je vaš broj? ZVUČNIK 8: 118. David J. MALAN: 118. Neki pametni dodiplomskog početi raditi matematiku. Ok. 118, 188. Što još imamo? ZVUČNIK 9: 71. David J. MALAN: 71. ZVUČNIK 10: 79. David J. MALAN: 79. Ok. ZVUČNIK 11: 47. David J. MALAN: 47. Koji, nastavnom osoblju, koje nam daje koliko? 705 je odgovor. I to je, u stvari, točno točno. Ne, bili smo zapravo malo off tamo. Ali kako bi to radili? Što bi tek bilo? Dakle, na svakom iteracija ovog algoritma, počeli smo s neki broj ljudi stoji, a to je bio ukupni broj n na prvom mjestu. Tada polovica vas sjeo, i otišli smo na n preko dvije. Tada polovica vas sjeo. Išli smo na n preko 4, n preko 8, n preko 16, i tako dalje, dok se, iako je to vrsta raspala tamo na kraj, u teoriji, nije svatko u paru s balkonom u i polukat i orkestar ovdje, mi bi imali samo jedan usamljeni osoba koja stoji u ukupnoj vrijednosti, 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. Ja bih počeo prilično naivno, ali ispravno s jedne, 2, 3, 4, 5, 6, 7, 8, i tako dalje. Vodi 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 2, 4, 6, 8, 10, 12. A to dobiva puno brže. Ali sada bitno, iskorištavanjem kolektiv inteligencija svima u ovoj sobi, možemo postići obuzdati mnogo više ovako, pri čemu sada broj Ljudi u ovoj prostoriji mogao udvostručiti. Još 700 ljudi hodaju u ovoj sobi za 1400 ljudi, ali to bi samo uzeti nam još jednu inačicu ovog algoritam za rješavanje. I tako, sve ove dane, kad smo to ogromna podaci postavlja u Facebook i Google i slično, to je rješavanje problema s malo uvida, ovo malo pameću, koji je dopuštajući nam sve učiniti puno, puno snažnije stvari s računalima danas. Ako vam se sviđa ova vrsta stvari, možda ste vidjeli na Facebook CS50 vlastiti puzzle Dan dolazi do ove subote. Ako biste željeli sudjelovati u nečemu poput ovo čemu ste, u dvije ili tri ili četiri momčadi 4, željeli riješiti neke zagonetke kao što je ovaj jedan, možete stajati priliku osvojiti neke fenomenalne nagrade, među kojima je i Wii i neke poklon kartice ili neke druge Facebook swag. Ove subote u podne do 3:00, idite na cs50.net/rsvp za takve. A to je slajd online ako želite poigrati. Problemi ove godine će biti nova. Možda ćete primijetiti u učionici, također, sve više Kamere ove godine. Dakle, ne samo da će tečaj biti sniman na uobičajen način, CS50 može se sudjeluje u dokumentarcu o viša obrazovanje koje je gleda transformativnog iskustva da student može imati ovih dana u preddiplomski studij. Dakle, prema tim, onda, ne samo da će mi se snimao za da, mi ćemo se snimati, kao i za sve više naših online publika, kao i prigodom to publika ovdje. Tako smo dobrodošli u klasi ove godine naš Harvard Produženje učenici, Graduate School of Design, Obrazovanje, poslovna škola, Kennedy School, pravna škola, kao i broj učenika iz Belmont, Lexington, Newton, a Watertown srednje škole. Dobrodošli na sve vas. Osim toga ove godine, možda ste čuli, Harvard i MIT, i Berkeley sada, su ušli u suradnju partnerstvo, inicijativa zove EDX, koji je Inicijativa za otvaranje obrazovanje za sve više ljudi online i fundamentalno početi raditi Istraživanje na mnogo širem planu kao kako ljudi uče. I tako CS50 će biti na faksu prvi tečaj sudjeluje u toj inicijativi, kao dobro. Što znači da ćete imati pristup svim više alata, sve više nastavnih sadržaja, sve više videa sadržaj kao rezultat, kao i, od jučer ujutro 53.019 ljudi koji su se prijavile da se CS50 zajedno s vama ove godine na internetu. Dakle, bez - [Pljesak] Dakle, što to znači, posebno, da je nastavnog osoblja i proveo sam dosta vremena ovaj ljeto priprema za jesen, kako na kampusu i off, tako da možemo početi graditi do korpus Zanimljivo, od uvjerljiv, angažiranja obrazovne sadržaje koji usredotočuje, posebice na više intimnim prijevoznim sredstvima u prilično složen materijal. Dakle, osim na tijek predavanja i sekcije i stvari zove Walkthroughs, što ćemo ponovno razmotriti u samo malo, također ćemo imati ove gaćice ove godine koji omogućuju da se uključe sa naravno iz drugog kuta uopce. Tako ćemo koristiti ovo kao priliku da se brzo zaviriti u jednom da raspravlja ovaj pojam binarne. Tako je u informatici, postoje stvari koje se nazivaju algoritmi - dvije od kojih smo samo uzeo pogledati - ove postupke za rješavanju problema. No, na kraju dana, morate predstavljaju informacije nekako. A morate ga predstavljaju na način da računalo može razumjeti. A čak i ako stvarno ne razumijem računala i ti si u toj 76% upravo sada, vjerojatno imate neke nejasne Osjećaj da računala nekako nositi u 0S i 1s, binarni sustav, da se tako izrazim. Sad zašto je to tako? Pa, to ispada kada su računala prvi put došao oko, ako vam je potrebno da predstavljaju informacije, možete to učiniti sa strujom. I premda je to malo od pojednostavljivanje, vrlo jednostavan način za snimanje podataka je bilo okretanje da električnu energiju na - 1 u binarnom, da se tako izrazim - ili okretanje da je struja isključena. Dakle, ako je Barry, ako ne bi smetalo, mogli smo dim svjetla u potpunosti samo na trenutak? Ovo ovdje je vrlo bespotrebnim binarno 0. Ako ćemo paliti svjetla natrag gore, sada Sanders Kazalište je predstavlja binarnu vrijednost 1. Nažalost, sa samo jednim bitom, sa samo jednim skupom svjetla, možemo samo predstavljaju dva broja u svijet, 0 i 1.. I to bi bilo lijepo ako računala može računati malo više od toga. No, doista mogu. Pa neka mi podići na zaslonu ovdje naš prijatelj Nate Hardison koji će nam dati brzi pogled tijekom samo nekoliko minuta na tom pojmu binarni. [Video reprodukciju] Nate HARDISON: Povratak kada ste naučili kako čitati i pisati brojevi, što ste naučili o znamenke 0-9. 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 u 52 i 437. Dakle, ovaj način pisanja brojeva ima Naziv, decimalna notacija. Zašto decimalni? Pa, latinski korijen u decimalu, prosincu, znači 10. A kad imate 10 znamenki u vašem zapis sustava, 10 postaje vrlo poseban broj. Pogledajmo broj 437 pisan u decimalnom zapisu za razumijem 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. Sjeti se učenje o one mjesto, deseci mjesta, stotine mjesto, i tako dalje? To je točno gdje koja dolazi iz. I na kraju, možemo vidjeti da imamo hrpu ovlasti 10 ugrađen u ovdje. Imamo četiri puta 10 na dva plus tri puta 10 na jedan plus 7 puta 10 do 0. Dakle, sada možete vidjeti zašto je 10 posebna broj decimalnom zapisu. U stvari, imamo ime za to. To se zove baze budući da je baza eksponenta u našoj aritmetici ovdje. Decimalni zapis nije jedini način da se predstavljaju brojeve. U stvari, čak i ako smo dobili osloboditi od znamenaka 2 do 9, možemo još uvijek predstavljaju sve brojeve koji smo mogli s decimalama. Dakle, sada imamo dvije znamenke, 0 i 1, 2 je naša posebna broj, temelj našeg oznake sustava. Ime ovog zapis sustava naziva binarni od prefiks "bi" znači dva. Dakle, umjesto da sada u vlasništvo one mjesto, a deseci mjesto i tako dalje, sada imamo one mjesto, dvojke mjesto, četveronoške mjesto, i tako dalje, ide se po ovlasti dva. Dakle, neka je vidjeti to radi neke prebrojavanje. Dakle, 0 je uvijek 0, a 1 je uvijek 1. Međutim, sada kada smo dobili dvojke mjesto umjesto nekoliko desetaka mjesto, 10 predstavlja broj 2. Da biste dobili 3, dodali smo jedan za to i dobili 11. 4, budući da je sada četveronoške mjesto, je zastupa 100. Pet je 101. 6 110. 7 111. 8, opet, ima svoje mjesto. Dakle, to je 1000. I mislim da ste dobili točku. [END video reprodukciju] David J. MALAN: Dakle, ovo je za reći, ono što rade računala i što binarni zapravo ne da razlikuje od onoga uzimamo zdravo za gotovo za nekoliko godina, zar ne? Misliš osnovne škole, što ste naučili brojati u precizno modni da je Nate predložio. No, vjerojatno niste stvarno mislio o tome, jer je, Činjenica da je to one mjesto, deseci mjesto, a stotine mjesta. I to je prilično proizvoljna. I doista, računala jednostavno koristiti ovu drugu bazu. Međutim, na kraju dana, da se zapravo fizički predstavljaju ovaj pojam 0 i 1, što očito ne samo okrenuti svjetla na i off nužno. Morate to učiniti na mnogo finije zrnate skali. I finije-zrnate, možda ćete se sjetiti ovaj glup Malo igračka iz djetinjstva, vunasta Willy i to malo magnetske čestice. Dakle, magnetska čestice su nešto što možete uskladiti u nekoliko različitih smjerova, možda sjever-jug ili jug-sjever. I tako puno fizičkih inkarnacija tehnologije ovih dana da koriste binarni, koji koriste 0s i 1s, jednostavno imaju magnetizam na unutrašnjost koja poravnava stvari, gore-dolje ili dolje-gore, s time što predstavlja 0 ili 1, respektivno. Dakle, doista, krenimo od apstraktnog i ovdje pogled na unutrašnjost što je više tradicionalna računalo hard disk. Ovaj se dogoditi da bude malo veći na zaslonu u da ga je iz desktop računala. Ali laptop danas još uvijek imaju istu tehnologiju, ali je postupno se zamjenjuju više sofisticirane stvari koje zapravo nema pokretnih dijelova. Unutrašnjost je, dakle, od hard disk. [Video reprodukciju] ZVUČNIK 12: 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 softverom signali koji govore hard disk kako pohraniti te podatke. Tvrde krugovi pogon prevesti te signale u oscilacija napona. To pak kontrolirati tvrdom disku pokretne dijelove, neke od nekolicina pomični dijelovi ostavili u modernom računalu. Neki od signala kontrolirati motor koji vrti Metalizirana plate. Vaši podaci zapravo je pohranjena na ovim plate. Ostali signali pomaknuti za čitanje i pisanje glavu za čitanje ili pisati podatke na plate. Ovaj stroj je tako precizan da ljudska kosa nije mogao čak i proći između glave i vrti pladnjevi. Ipak, sve to djeluje na sjajan brzinama. [END video reprodukciju] David J. MALAN: Dakle, ako smo sada povećati na ono što je zapravo događa na vrhu ove plate u smislu magnetizam, imamo ovaj drugi od dva izgleda. [Video reprodukciju] ZVUČNIK 13: Idemo pogledati što smo upravo vidjeli u usporeni. Kada kratki puls električne energije je poslan na čitanje i pisanje glavu, to flips na maleni elektromagneta za frakcija drugi. Magnet stvara polje koje mijenja polaritet maleni, maleni dio metalnih čestica koje kaput svakog pladnju površina. Uzorak niz tih sićušnih naplaćuje se područja na disku predstavlja jednu malo podataka u binarnom broju Sustav koristi računala. Sada, ako struja poslao jedan put kroz čitanje i pisanje glava, područje je polarizirano u jednom smjeru. Ako struja je postavljen 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 struju u čitanje i pisanje glava se kreće. Stavite zajedno milijune tih magnetiziranih segmentima, a vi ste Dobio datoteku. Sada, komada jednu datoteku može biti raspršena po cijelom pogon na plate, vrsta kao nered Radovi na vašem stolu. Dakle, posebna ekstra datoteka prati gdje je sve. Ne želite li imao nešto slično? [END video reprodukciju] David J. MALAN: Doista. Dakle, imamo tu sposobnost da predstavljaju informacije, brojeve na vrlo niskoj razini. Imamo fizički način predstavlja tu istu stvar. No, ne možemo učiniti sve što je puno interesa još osim možda neke aritmetike i matematike. Mi nemamo način predstavlja dosad stvari poput abecedni slova, tako da mi ljudi mogu komunicirati pomoću te iste uređaje. No, srećom, postoji kodiranja, obrasce 0S i 1s, koji predstavljaju višu razinu konstrukti kao i B i c i reËenice i paragrafe i slično. I tako ASCII, što je skraćenica koja se odnosi na ovu kodiranje sustav u kojem broj predstavlja određeni pismo. Na primjer, broj koji znamo kao decimalnu vrijednost 65 poznat kao slovom A do računala. Decimalna vrijednost od 97 u računalima je poznat kao mala slova. A što to zapravo znači? Pa, iako je Nate trenutak prije samo broje do 0-8, ako smo i dalje računajući do 65 ili dodatno 97, uzorak 0s i 1s da će imati izvučeni na zaslonu će biti upravo ono što računalo koristi predstavljaju slovo A u svim kape ili pismo u malim slovima. I doista, tu je cijela shema za to. To je, na prvi pogled, neodoljiv shema kodiranja, ali ako se usredotočiti samo na desnoj polovici ovdje, primijetiti u ovom srednjem stupcu imamo taj pojam brojeva slijedi slova. A na vrhu imamo 32. I karakter, char, na koje 32, cijeli broj, odnosi je očito znak za razmak. Kada pogoditi karakter razmaknicu na prijenosnom računalu, dobro, ono što stvarno Šaljemo je broj, uzorak od 0s i 1s, protok struje, ako će, zastupanje te 0s i 1s da 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 je doista mala slova. I tako da sada imamo ovu shemu kodiranja, možemo početi čarolija stvari. Doista, računala obično se izražavaju u standardni jedinice, a ne pomoću individualni malo, što opet nije sve da je korisno samo da predstavlja 0 ili 1, svjetla ili isključiti, ali radije koristite nizove bitova. A najčešći jedinica mjere, kao što vjerojatno znate i ili barem zaključiti je bajt. Byte je samo osam bita, osam ili 0s 1s 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 za došao na pozornicu? Morate biti ugodno pojavljuju na kameri, ali stvarno ne trebaju znati, inače, što je 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 se u 128 je mjesto, što je 64 je mjesto, 32 je mjesto. Ali to ćemo vrlo brzo morati preokrenuti to. Dakle, dopustite mi da vas zadovolji sve tamo. A ti bi trebao biti u 128 je mjesto skroz ovamo. Slično kao i stotine mjesta i tisuće mjesto bi biti dalje s lijeve strane, želimo najveću rezervirano da se ovdje na lijevoj strani, kao dobro. Imamo 64S je 32, 16-ih, 8-a, 4-a, 2-a, i jedan-a. Izvrsno. Tako sada imamo - OK, možete mi pomoći. Tako sada imamo - ono što je vaše ime? JOANNE: Joanne. David J. MALAN: Joanne. 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 reći hoće li ih oni su predstavlja 0 ili 1. A zašto ne radi jednostavnosti, mi ćemo predstavljaju 0 po samo stoji nespretno. Vrlo dobro. Ili jedan podizanjem ruku, predstavlja jedan. I neka je vidjeti ako ne možemo sricati četiri karakter fraza ovdje. Dakle, ići naprijed sada, volonteri, i izvršiti jedan krug po podizanje ruku ako ste jedan ili čuvanje dolje, ako ste 0. Dakle, sada kada imamo ove tri ruke, što je broj, svi drugi, oni zapravo predstavlja? OK. 67. Zašto? Pa, brzo razum ček. 64 je mjesto, jer to je jedan, koji je kao jedan puta 64 plus 1 puta 2, tako da je 66 plus 1 puta 1. To je plus 1, pa 67. Dakle, sada ovi momci kolektivno predstavljaju 67 koji očito predstavlja ono što je ovdje u ASCII? OK. Tako c. U redu. Tako sada pređimo zaokružiti dva. Svatko počevši sa svojim rukama prema dolje. A u drugu rundu - zapravo ne postoji mnogo ulogu ovdje, pretpostavljam, ali ćemo se pretvarati. Dakle rundu, povećati ili smanjiti svoje ruke. U redu. Publika, ono što smo sada izražavanje je 83. Tako ste mogli učiniti matematiku. No, za svakoga čija je ruka gore, dodate u broju toj oni predstavljaju. Tako sada imamo 83. Hajdemo proširiti mangupirati se plahta malo, a mi sada imamo -? [Nečujan] David J. MALAN: U redu. To bi moglo biti očito gdje idemo ovdje, ali ipak, okrugli tri. OK. Okrugli tri je dobro ići tamo dolje. Dakle kolu tri, što broj su ovi momci sada predstavlja? OK. Čuo sam 53, koji sada predstavlja? Zanimljivo. Sad zašto je ova vrsta brojača intuitivno rezultat, zar ne? Ako želimo da predstavljaju 5 - mi svi vjerojatno znate gdje je to ide - zašto ne samo podići 4 je mjesto i jedan je mjesto? Pa, shvatiti da postoji razlika, u osnovi, između kako računalo interpretira ove komadiće. Ako pokušavate da predstavljaju broj 5, onda apsolutno, samo smo podići 4 broj ruku i podići ruku broj jedan. Ali mi ne predstavlja brojeve ovdje. Kontekst ovdje na pozornici je da smo zastupanje znakova ili znakova. I u tom kontekstu računalo ima shvatiti da, oh, ovaj uzorak bitova nije broj miru, to je zapravo predstavlja višu razinu koncept, u ​​ovom slučaju abecedni pismo. Dakle, činjenica da se sada predstavlja broj 5 s vrijednost od 53 jer u ASCII stvar mi estetski vidi kao broj 5 i sama treba uzorak bitova. Jer zašto? Pa, svijet samo odlučio koristiti niže brojeve, 0, 1, 2, 3, za što izgleda da se prilično zagonetni stvari. I doista, to su likovi koji se ne nalaze na tipkovnica, posebni izrazi koji trebate u računalu napraviti zanimljive stvari, ali ljudi nikada zapravo ih upisati. Dakle, 53 doista predstavlja pet. Sada, baš kao konačni uračunljivosti ček, ono broj bi oni predstavljaju u samo trenutak? PUBLIKA: 48. David J. MALAN: U redu. Tako 48. I doista, ići naprijed. Okrugli četiri. 16 plus 32 je, doista, 48. I tako veliki aplauz, ako smo mogli, za naše osam volonteri ovdje. Hvala. Možete zadržati ovaj jedan. Ako - Vrlo dobro učinio. Svaki smjer je u redu. Dakle, sada imamo način ne samo razmišljati o tome kako predstavljaju podatke i zapravo ga predstavlja fizički, ali također radi na višoj razini stvari na vrhu. Doista, to će biti tema tijekom računalu znanost o izgradnji sve više i više zanimljiv kompleks stvari na vrhu prilično jednostavnih ideja, u to Slučaj samo 0s i 1s. U smislu zašto je to korisno, dobro iako u Tečaj ovako ćemo se usredotočiti na osnove i na programiranje i na rješavanje problema, možete otići u informatika u svakom broju smjerovima. U ovom slučaju ovdje, ovo je shema da imate na sigurnosnu stranicu vašeg neslužbenim vodič za CS na Harvardu, jednom od danas je dva ispisi. To sugerira različite smjerove u kojima možete otići nakon naravno kao što je ovaj. Učenje o umjetnoj inteligenciji, o slikama, o strojnog učenja, 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 to pasti, tu je uvodni tečajevi u proljeće. Informatika 1, na primjer, još je jedan na rampu na ovom novom svijetu. Sada kao stranu u interesu rješavanja problema odnosi na tečajeve, shvatiti da CS50 set neko vrijeme prije pokušati 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 osoblje su stvorili. No, u Harvard Tečajevi, što je web-based alat - nešto što će biti sposobni za projektiranje i sebe razmještanje, kao i još drugih stvari, kao i, kraj semestra. Shvatite da je to gradi na otvorenom skupu podataka, u ovom slučaju Tečaj katalog, a 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 nad 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 je to podaci pokazuju da 7,6 je prosječni broj predmeta na nečiji popis za kupovinu. A sada ću vam dati, također, podatak od najvažnijih broj predmeta na nečijem popisu shopping. A mi svi vjerojatno znate nekoga ovako. 201 je ovogodišnji rekord. Sada neki od naših bivših studenata i osoblja zapravo sastaviti isječak slikati sliku za tebe što to Put računalnih znanosti i CS50 sama je. Pusti me naprijed i povucite prema gore, zahvaljujući gospodinu Hahvahd ovdje, Video produced by neke od svojih prethodnika. Ako smo mogli zadržati svjetla za to. [Video reprodukciju] [END video reprodukciju] ZVUČNIK 14: (pjevanje) Mi uzeti naše vrijeme s nekim nule, za petlje, događaja, možemo odgovarati, sastavljanje Koristeći naše bash, ovaj termin neće biti rodila. Hakiranje zabavno, neke besplatne obroke, predavanja su jednostavno nestvarno, naš sajam je kao velika stvar, ima toliko da obožavaju. Idi, David Malan. Walkthroughs, nisam izvukla. Radno vrijeme, nitko nije. Gdje mislite da ste kodiranja, dušo? Hej, samo sam vas upoznao, a to je ludo, ali ovdje je naš razum. Uzmi CS50. Teško je kod prava bez tebe, dušo. No, ovdje je naš razum. Uzmi CS50. Hej, samo sam vas upoznao, a to je ludo, ali ovdje je naš razum. Uzmi CS50. I svaka zvijezda tvrtka želi me zaposliti, još jedan razlog. Uzmi CS50. Prije nego što je došao u moj život, ja kodirane tako loše, ja kodirane tako loše, ja kodirane tako, tako loše. Prije nego što je došao u moj život, ja kodirane tako loše a ja se ne mogu vratiti. Uzmi CS50. David J. MALAN: 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 prisustvuju ili gledati tečaj je predavanja, podnijeti set problema, uzeti dva kvizove, dostaviti Konačni projekt. U smislu razreda, shvatiti da je moj komentar na otvaranju o proći / ne, nešto što mi jako puno odvesti srce u CS50. Tu nije ni približno dovoljno kulture na Harvardu od pokušaja nešto i riskirati neuspjeh. Doista, imali smo broj studenata, i ja, u Konkretno, koji su zabrinuti za ranjavanje GPA ili uzimajući B u nešto poput CS50. A prilika da se tečaj ovako, a drugi gateway tečajevi na uvodnoj razini, proći / ne je vrlo nedovoljno prilika na ovom faksu, u cjelini. I tako znajte čak sam upisao ovaj tečaj u početku za proći / ne kreditne sami. I iako sam prekidač na kraju dana, to je bio tih pet početnih tjedana, do petog ponedjeljak od semestar koji je kritična, koji mi je dopustio da se zapravo staviti nogu u tim novim vodama i zapravo probati nešto vrlo nepoznato i vrlo neugodan za mene u tom trenutku. Dakle, u smislu, sad, što uloga razni kutevi preko kojih možete pristupiti ovaj tečaj služi, pa predavanja, to je do što ako surađuju s nama u osobi na ovom mjestu. Doista, mi znamo da je statistički otprilike 40% od vas će se vrsta dolaze i odlaze tijekom semestra. I 10% od 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 ti bezbroj resurse, neki od koje ćemo štropot kroz u samo jednom trenutku, uključujući predavanja i profili i stvari zove Walkthroughs i radno vrijeme i slično. I to je više sredstava nego u tipičnom studentu treba moraju ili bi mogao fizički iskoristiti. No, to je zbog različitih stilova učenja koje svaki student tijelo manifestira. I tako na predavanjima, primarna uloga, kao što sam to vidjeti, ne verbalno izgurati prilično kompleksan materijal i nužno dostaviti sve zamršenosti osnove koje ćemo istražiti ovaj semestar, ali radije raditi stvari kao što smo radili do sada, već ovi primjeri, koji uključuju ljude na pozornici, pokušavajući slikati mentalnu sliku, a također i stvarati, usudio bih reći, neki tih nezaboravnih trenutaka. Tako da čak i kao što se bore s određenim temama, imate ta sjećanja sviđa, oh, iako je to bio prilično sažetak, 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 sam već znaju. I tako je uloga da predavanja će služiti, bilo osobno ovdje u Sanders ili online na videu, stvarno postaviti pozornici psihički za vas svaki tjedan za razne koncepte i problemi koji ćemo biti ronjenja u. U pogledu na visokoj razini pojmova, većinu od tih riječi Možda teći preko glave na trenutak, i to je u redu. Za one od vas koji dolaze u tijeku udobnije će znati neke od tih tema. No, obično za to 10% razreda za koje imaju mnogo više pozadine, uzimajući AP informatike, programiranja jer su bili 12, shvaćaju da će biti mogućnosti u dijelovima i problema postavlja ići sve više u dubinu u raznim temama, punjenje u bilo praznine možda ste iz srednje škole ili prije pozadina. U pogledu jezika, shvatiti da je ono što mi jezik koristiti u CS50 je uglavnom irelevantno na kraj dana. Mi se dogoditi za korištenje, prvenstveno, jezik zove C. Prema međutim kraj semestra, uvodimo web-centric jezici poput PHP i JavaScript. No, mi i drugi mogli učiti tečaj ovako u većini bilo moderan jezik visoke razine. Python i Ruby i drugi su vrlo popularan ovih dana. Budući da shvate na kraju dana, vi ne učite U ovom tečaju C. Ne učite PHP ili Javascript. Vi ste učenje kako riješiti probleme, bilo na web-u, računalo-based, ili podataka orijentirane sama, koristeći to jednostavno kao alata. Sada, u smislu logistike, morat ćete koristiti nešto, na kraju, pozvao CS50 Appliance. Nije bitno ako imate Mac, PC, Linux računala, ili slično. Vi ćete imati slobodno dostupan softver počevši sljedeći tjedan s kojim se koristiti CS50 aparati, virtualni okruženje koje ćete koristiti na vašem računalu, tako da i sve svoje kolege imaju jedinstvenu Linux desktop u ovom slučaju. To je problem seta, iako, u kojem ćete stvarno dobiti vaše ruke prljave u tijeku. I na kraju dana, to je problem setovi, ja mislim, da stvarno definirati učenik iskustvo u ovom tečaju. Shvatite da su mnogi od problema setovima će biti pušten u dva izdanja, standardni dodatak da očekujemo i poticati 90% od klase zaroniti u. Ali, mi također objaviti neke seta problema u tzv hakerski slike. I znate da je haker dodatak jer na svakoj stranici s vodenim žigom kaže haker dodatak na njemu. I da je za ova demografska od vas koji imaju AP informatika sa 10 godina programiranja ispod pojasa te su u potrazi za popuniti one praznine i da imaju više formalnim, nego samouk, obuka, možda. Shvatiti da postoji vrlo bitan demografskih klasa koja ima upravo taj isti cilj. Vi ćete imati pet kasni dana. Problem setovi su uglavnom zbog četvrtkom, ali možete proširiti pet od tih rokova pomoću njih stvari zove kasno dana. I također ćemo ispustiti svoju najnižu ocjenu na kraju semestar po pojedinostima u programu. No, drugi definiranje karakteristika CS50 nad godine postao je radno vrijeme. To je prilika da si vidio vizualno na fotografijama malo prije u kojima smo se skupili - prethodno u kući blagovaona dvorane, a prije toga u podrumu znanosti Centar, a ove godine u Annenberg dvorani - četiri noći prije tjedan od 20:00 do 23:00 gdje ćete imati ovo vrlo koliko dijeli iskustvo rada na, bore kroz, određenih problema, ali sa značajnim podršku Struktura u mjestu. Doista, način na koji će to raditi je ćete stići na Annenberg ako imate neka pitanja tijekom tjedna, da ćete donijeti vaš laptop, vi ćete sjesti, zgrabiti nešto hrane, a vi ćete se prijaviti u CS50 raspravljati, web-based utility da nastava Osoblje je razvio koje će vam omogućiti da objavite pitanja i vidjeti follow-up u tipičnom tribini osjećaj, koristeći naljepnice i kao i auto kompletan za pretraživanje podataka. No, također ćete biti u mogućnosti da, tijekom sati uredu sati, su vaši pitanja eskalirala do stvarni ljudska bića. Doista, cilj je u konačnici tako da je jedan, počinjemo graditi gore tijekom semestra korpus nadamo stvarno korisne informacije, zajedničke odgovore na česta pitanja, tako da možete sami riješiti probleme i dobiti odlijepio što je brže moguće, ali dok ima nastavnog 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 utvrdili da je, znate što, ovo pitanje, ne možemo odgovoriti učinkovito online. Moramo vidjeti vaše računalo. Želimo razgovarati s vama jedan-na-jedan. Na jednom. Stvarno si bore, a vi, dakle, žele razgovarati jedan-na-jedan pored nekoga, vi ćete biti poslana CS50 Greeter, gospodarstvo demonstrator, doslovno, iPad koji ima učeničkih imena na jednoj strani, nastavnom osoblju je imena na druge. Mi ćemo kliknite svoje ime nakon čega slijedi ime nastavnog osoblja, a vaše računalo zaslon će se početi treperi govore molim ići vidjeti Alice ili posjetite vidjeti Boba na osoblje stol. I tako na ovaj način, mi ćemo biti u mogućnosti otpreme stvari kao učinkovitije moguće, kao i vas voditi prema rješenja sve lakše. U dijelovima, to će biti prilika za više intimne hands-on mogućnosti s jednom od nastavne momci i 12-16 ili tako svoje kolege u koji svaki tjedan ćemo imati problema u problemu setu da pitam broj konceptualnih pitanja i broj bita veličine programskim pitanjima koje mogao shvatiti na svoje, a ti bi mogao raditi na vašem vlastiti, ali u kontekstu dijelu gdje ćemo raditi kroz kolektivno neke od tih problema, a tamo gdje drugačiji razgovor vodi nas. Osim toga, u poglavlju ćete imati prilike pregledati podneske zadaće koje ste napravili, vaš kolege iz razreda, ponekad anonimni, uvijek putem opt-u ako želite podijeliti posao koji ste poslali. Dakle, to će stvarno biti dvosmjerna razgovor, prilika da pregledate svoj vlastiti rad u mnogo više dinamičan osjećaj, nego jednostavno gleda na PDF ili ispis i razmišljanja o tome za nekoliko sekundi, a ne nužno upija povratnu informaciju da je nastava Osoblje dali. A vi ćete koristiti alat ovdje zove CS50 mjesta. Za one koji nisu upoznati, to je jezik poznat kao C na vrh lijevo, a vi ćete upoznati ovu vremenom. Ali ovo je web-based alat koji ćemo koristiti u dio koji će omogućiti vama i vašoj 15 ili tako Classmates prijaviti sa svojim kolegama na nastavi Ispred sobi. Vi ćete biti u mogućnosti da pisati kod u ovom prozoru. Vi ćete biti u mogućnosti razgovarati elektronski, ako niste zapravo na dio u tom trenutku. I vaš demonstrator, kada dođe vrijeme za razgovor Alice ili Bob rješenje u klasi, demonstrator može kliknite na gumb i voila, projiciraju na ekranu, što god da je učenik radi na na taj određeni točka u vremenu. Dakle, za one od vas koji su prijatelji koji su se u CS50 prošlosti, shvatite da dijelovi su značajno digne ove godine biti sve više aktivan, sve više dinamična, i stvarno dvosmjerna komunikacija između nastave osoblje i studenti. I Walkthroughs. Dakle, za tih problema seta, također nudimo ne samo Specifikacija sama, što je općenito prilično detaljno PDF, ali i stvari poznat kao Walkthroughs pri čemu jedan član nastavnog osoblja će voditi tjedni sjednicu koja doslovno vodi vas kroz problema setu, dajući ti savjeti i savjete i polazišta i značilo pitati vrlo česta pitanje, gdje ću početi? Pa, što počnete bilo ronjenje u spec. na svojoj samostalno ili sudjelovanjem ili gledanje ovih Walkthroughs. Prvi prohod, u stvari, biti će ovog petka. Oni će biti petkom, ne toliko zbog toga što mislim da će biti popularni vrijeme, ali zato možemo onda ih snimiti vrlo rano u tjedan dana kako bi ih online vikenda, tako da imati onoliko dana što je više moguće da se zapravo bave da sadržaj kao dobro. Ali više o tome u predavanju ovaj petak. Sada u smislu podrške strukturi, najviše Značajan statistika je možda 108 nastava novaci i asistenti naravno da je to Tečaj trenutno ima. Ako neki od vas koji nemaju sukobljene klase željeli da mi se pridruže ovdje na pozornici, to je ovi dečki koji će konačnici stvarno definirati svoje iskustvo u tijeku. Imao sam puno nastavnih bližnjima podučavanje mi nastavu u dan, i sjećam se da je vrlo malo onih koji iskreno. No, do danas, još uvijek se sjećam među onima malo, moj CS50 TF tko stvarno mi je pomogao odgovoriti na pitanja, tko stvarno pomogli ja kad sam bio bore, i stvarno je bio partner u ovu iskustvo učenja vrlo novi svijet. U malo, svi ovi momci će vam se pridružiti vani kolač, koji je tradicija CS50, u transepta od Memorijalna dvorana. No, dopustite mi prvi da vam predstaviti Natea Hardison, opet, Rob Bowden, i Tommy MacWilliam, to Ovogodišnji tečaj glave. Ako vi bi mi se pridružiti ovdje u sredini. Oni su svi spremni neke inspirativne primjedbe. TOMMY MACWILLIAM: Nisam ništa pripremiti inspirativno. No, moje ime je Tommy. Ja sam viši u Mather. Studiram informatike. Ja sam stvarno uzbuđen da se na hedge tima i ide kroz CS50 putovanje s vama. Ono što sam stvarno vole o CS50 je kako to stvarno uči razmišljati o problemima u novi način. Ovo je stvarno vještina koja će biti od neprocjenjive vrijednosti, bez obzira ono polje idete u. I ne samo to, već nudimo više slobodnog bombon od bilo drugi tečaj na kampusu. Da, pa ja sam stvarno obličje naprijed to viđenje onoga što svatko gradi ovaj semestar. I ako netko ima bilo kakvih pitanja sada ili tijekom semestar, definitivno slobodno doprijeti do mene i Ja bih 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 semestar stvarno super. I dok ste spremni da stavite u nastojanju, postoji toliko možete dobiti iz ovog kolegija. Ah, mi - Da. Možete dobiti puno zabave iz ovog kolegija. Mi ne bi imao osoblje od 108 ako nisu mogli dobiti puno zabave izvan njega. Dakle, 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 ​​koliko Ja sam ga uživao tako daleko. A ako ste ikada željeli naučiti kako računati na 9 ili 10 u binarni, došao razgovarati sa mnom. David J. MALAN: Pa na rizik od odlaska ove dečke ovdje pozornici malo nespretno, ajmo kovitlati kroz samo nekoliko 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 postavite 0, vaši prethodnici zaronili u programiranju jezik naziva Scratch, grafički programski jezik ćete koristiti u prvim danima tijekom pokretanja ove Petak naučiti neke pojmove nepoznate nekima od vas. No, shvatili da će biti napredni aspekt ove za one od vas uz prethodnu pozadini. U prošloj godini je problem postaviti dva, studenti zaronili u svijet kriptografije, umjetnost enciphering ili remećenje Informacije, provedbeni programi koji šifriranih podataka. I u hakerske toga lani nije studenti nastaviti ispucati ili dekodirati lozinke u tipično Računala xe lozinka datoteku dolaze s algoritama i heuristika za silu figuring out ono što je netko lozinka na računalnom sustavu bio. Prošle godine, također, u problemu postaviti tri, učinio studenata ukazuje na činjenicu - u Problem postaviti 4 - učinio studente provesti igra Sudoku. I u hakerske toga da godine učinio studenti ne samo provoditi kako igrati igru, ali zapravo solver pri čemu se računalo vam može dati, ljudsko, s savjeti za brže nego što ste rješavanje da određeni problem. U problema setu pet, nismo forenzike, ova umjetnost oporavlja podatke koji je slučajno ili vrlo namjerno izbrisan iz računala. Prošle godine, nastavno osoblje i ja prošetali oko kampusa fotografiranje ljudi, mjesta i stvari, a zatim slučajno formatiran medijsku karticu na našoj kameri toj imao sve one fotografije. No, nije problem. Napravili smo forenzičke sliku ove medijske kartice, predao se za sve učenike u razredu, a izazvao ih pisati programi koji oporavio sve JPEG iz tog kartice. I to je zapravo jedan od naših omiljenih problematičnih setovima. I ja sam iskopao na e-mail od jednog od svojih prethodnika, što je zabavno čitati negdje prije. On je napisao - to je od Matta - dragi Davida, jučer moja sestra slučajno formatiran njezina fotoaparata SD karticu i izgubio Godinu dana je vrijedan spomena fotografije. Ona nažalost nije najbolji na backup svoje podatke. Ali ova situacija podsjetila me pset 5, pa sam pomislio će pokušati pokrenuti svoju SD karticu kroz oporaviti programa da sam napisao sve na putu natrag u listopadu. Tako je nakon četiri sata figuring out kako stvoriti sirovi fotografija iz formatirana SD kartice - Google se pokazao prilično unhelpful u tom pogledu do ironično sam se dogodilo da naići vašim uputama na Internet - nakon petljaju okolo s nekim od zapovjednih argumenata, Uspio sam stvoriti forenzičke sliku. I nakon instalacije i konfiguriranja CS50 Aparati, uspio sam pokrenuti forenzičke sliku kroz moje programirati i oporaviti sve 1027 od moje sestre fotografijama. Točno, Matt. Tako je u posljednjih year's - [Pljesak] U prošlogodišnjem problema set 6, dali smo studentima rječnik 150.000 engleskih riječi te ih izazov napisati provjeru pravopisa da odgovori upite obliku je ova riječ ispravno napisane ili krivo što je brže moguće. I u opt-u osnovi bili studenti smiju zatim izazov kolegama slanjem svoje rezultate, količina RAM koji se koristi, je broj ciklusa procesora ili sekundi da se koristi, tako da studenti su zatim rangirani na stazi web stranici. Opet, čisto neobavezno aspekt toga, ali zabavno u tome Vrlo često će učenik dobiti za poziciju broj 10 ili tako dalje velika zajednica na web stranici, otići na večeru, a zatim vratiti i shvatiti njegov cimer upravo oštrice u Ispred njega ili nju na velikom brodu, čime ulijevanja drugi dva ili tri sata samo za jedan do njegovog ili njezinog cimera. Dakle, veselimo se nešto slično ove godine, kao dobro. U problema postaviti 7 smo kormilariti u smjeru webu programiranje, zapravo rješavanju problema u ikad sve zajedničko okruženje web pregledniku. Znati decreasingly mi preuzeti softver na Macovima i Računala, ali sve ćemo učiniti sve u okviru webu. I doista prošle godine, neki 88% učenika završnih projekata u Tečaj je web-based. A oni su, također, vještine koje će proizaći iz ovog Klasa strane tečaja kraja. Jer ono što čeka na kraju tečaja je CS50 sajam, ova izložba koja se temelji na ideji o znanstvenom sajmu. No, u ovoj verziji sajmu učiniti sve učenike u razredu donijeti svoje laptop i svoje prijatelje i obitelj i druge da Sjeverozapad Znanost, velika zgrada na kampusu, postaviti njihov laptop, dobiti nešto za jelo, dobiti neke kokice i piće, i onda pokazuju svoje konačne projekte za sve one koji u pohađanje koji je prošle godine brojevima neke 2500 sudionika iz cijelog kampusa. I izrazi poput ove i ovako nije bilo neuobičajeno na sajmu. Vodeći do sajma je CS50 Hackathon, prilika hop na Harvard shuttle, glave ulicom do Microsoft je u 20:00, a ne ići kući do 07:00. Mi služimo prvi večeru u 20:00, drugi večeru na 01:00, i za one koji još uvijek stoji na 05:00, ne možemo liječiti palačinke na IHOP. I Hackathon je prilika, kao na slici ovdje, zaroniti u svoje konačne projekte, hoće li raditi na sami ili s prijateljima u kolaborativnom okruženju, gdje je cijeli nastavno osoblje radi dobro u noć s obilnim opskrbu Hong Kong kineske hrane. U 05:00 će takve slike kao ti biti sasvim uobičajeno ovu godine, kao dobro. Dakle, kao što smo prekinuti u trenutku za tortu, imajte na umu da 76% ljudi u ovoj sobi nema prethodno iskustvo. I kao po planu, što u konačnici važno u ovom Tečaj nije toliko gdje ćete završiti u odnosu na vaše kolege, ali gdje se u tjednu 11 do kraja u odnosu na se u tjednu 0. Ovo je CS50.