[GROJA MUZIKA] [GROJA MUZIKA] DAVID Malan: Gerai. Tai CS50. [Muzikavimo Tritonal, pinigų grynais,  "Untouchable"] [GROJA MUZIKA] GARSIAKALBIS 1: Aš ruošiuosi Prancūzija ir jūs ketinate, taip pat. [GROJA MUZIKA] DAVID Malan: Tai CS50, Harvardo universiteto Įvadas į intelektinės įmonės kompiuterių mokslo Ir program-- menų ir pirmą kartą per visą istoriją, Jeilio Universiteto taip pat. Iš tiesų, ar jūs čia Kembridže arba New Haven ar Majamyje ar St Louis arba Amsterdamas ar kur aplink pasauli atsižvelgiant CS50, kompiuteris Mokslas E50, CS50X, CS50 AP, mes visi vienas ir tas pats. Sveiki atvykę į CS50. Ką mes have-- [Plojimai] [Juokiasi] [Plojimai] Taigi, aš padariau klaidą ir aš kai prieš laikas, kai aš pradėjau kolegijoje. Ir aš gavau į koledžą, o aš nusprendžiau Atvirai kalbant, klijuoti per mano komforto zonos. Aš galų gale, skelbiantis koncentraciją, ar pagrindinis, vyriausybės. Skruzdė, kad daugiausia buvo iš manęs funkcija yra gana gerai susipažinęs su vyriausybe arba bent jau istorija ar man tikrai patiko konstitucinė teisė vidurinėje mokykloje. Ir todėl, kai aš čia, aš natūra iš nukeliavusi į dalykų su kuriais jau buvau pažįstamas. Right? Neduok Dieve aš blogai klasėje. Aš tikrai norėjau pasilikti per mano komforto zonos, ir tai buvo ne iki antrakursis metus, kad aš pagaliau atsikėlė nervų dėti koją klasėje vadinamas CS50. Ir tuo momentu, aš pagaliau suvokti, kad, mano Dieve, namų tikrųjų galėtų būti įdomus. Iš tiesų, aš buvau vienas iš tų vaikų kad penktadienio vakarais, kai P-RINKINIAI būtų išleistas, aš būtų grįžti į savo kambarį ir nėrimo į naktį anketa P rinkinių. Ir man, tai buvo ženklas kad tai buvo lauke už mane. Bet kas buvo svarbesnis buvo Faktas, kad aš keltis šį nervą ištirti vandenis nepažįstamas man ir gauti už savo paties komforto zonos ir atvirai, aš tik galėjo padaryti, kad antrakursis metus pradėdami vartoti šį klasę perduoti / žlugti. Iš tiesų, tai buvo labai paskutinė diena, kad Aš pagaliau perėjo daugiau ir pagaliau paskelbė CS kaip mano koncentraciją išleisti GOV tuo momentu už manęs. Ir taip mes ne nustatydama Šis kursas paversti jus visus į CS didžiųjų ar koncentratoriai, bet o suteikti jums galimybę tikiuosi peržengti pasaulyje su kuria šiuo metu esate susipažinę ir sugrąžinti iš šio pasaulio įgūdžių ir žinių ir išminties kad jūs galite kreiptis į savo savo pasaulį, ar tai humanitarinių, socialinių mokslų, Gamtos mokslai, ar už jos ribų. Iš tikrųjų, jei esate jausmas šiek tiek bebaimis apie tai buvo šiame kambaryje jau nekalbant šioje klasėje, suprasti, kad jei istorija yra kokių nors požymių, 72% iš jūsų niekada ėmėsi CS kursą anksčiau. Taigi tai yra visomis priemonėmis ne tas atvejis kad studentas sėdi į kairę arba į dešinę arba į priekį arba už jus žino daug daugiau apie CS arba programavimo ypač už jus. Tai ne iš tikrųjų tas atvejis. Ir iš tiesų, daug atraminė struktūra kad mes įsteigtas šis Žinoma, per pastaruosius daugelį metų buvo būtent dėl ​​šios reason-- į Pateikite ant rampos, kad dar išeina kaip griežtai ir kaip aukštas, kaip ever-- bet kurių nuolydis leistų studentams mažiau patogus ir patogesnis panašūs sėkmingai nepaisant jo ar jos išankstinio fone. Iš tiesų, kas galiausiai klausimai šioje klasėje nėra tiek daug, kur jūs galų gale palyginti su savo klasiokais bet kur 12 savaitės galų gale lyginant su savimi nulinis savaitę, kuris yra kur mes esame šiandien. Iš tiesų, o tai gali labai gerai ir tikriausiai atrodo kaip graikų daugeliui iš jūsų. Tačiau būkite tikri, kad tai ir daug daugiau bus visiškai per savo suvokti ir tik šiek tiek laiko. Tačiau šiandien, mes sutelkti dėmesį į kai aukštesnio lygmens idėjomis duoti jums skonį CS50 ir kompiuterių mokslas prieš prasme, kas jūs Užsiregistravę. Ir iš tiesų, kompiuterių mokslas gali būti naudojamas distiliuotas daugiau tiesiog kaip skaičiavimo thinking-- galvoju kaip kompiuteris, jei bus. Ir ten tiek daug skirtingų dalykų ingredientai, kad eiti į tą, bet tegul pasiūlo tik trys šiandienai. Jei klasės tikslas galiausiai Netiksli išmokyti jus, programavimas, Netiksli išmokyti jus C arba PHP arba "SQL arba bent vienu iš žodžių skaičius ir akronimai eidami į Kursas aprašymas, o išmokyti jus efektyviau spręsti problemas ir daugiau galvoti metodiškai ir daugiau algoritmą, taip sakant. Pažiūrėkime, ką tiksliai tai reiškia. Taigi norėčiau pasiūlyti, kad mąstymas skaičiavimais suvesta sprendžiant problemas. Ką jūs turite išspręsti problemą? Jums reikia input-- kaip įėjimo į problem-- Jums reikia išėjimą, kuris yra tikiuosi sprendimas, ir tada jums reikia pagal procesą kurios išspręsti šią problemą, kuri mes vadiname algorithm-- iš rinkinio instrukcijos sprendžiant tam tikrą problemą. Bet pirmiausia, tegul sutelkti dėmesį pirmasis ir paskutinis šių įėjimų ir išėjimų. Kompiuteriai juk matyt tik supranta nulių ir. Bet kaip gali, kad galbūt būtų? Net jei nesate susipažinę ne visi su tuo, kas yra po kapotu, tikriausiai bent girdėjote, kad Kompiuteriai suprasti binary-- tik nuliai ir ones-- bet kaip galima jūs galbūt nieko įdomaus padaryti? Na, viena iš temų, Klasės vyksta būti tai layering-- kur šiandien mes priimti greitai Žvilgsnis į žemiausio lygio informacija, bet su kiekviena diena, kur mes sluoksnis arba abstraktus ant tų detalių realiai spręsti aukštesnio lygio problemos interesų į mus. Taigi čia yra tai, ką galėtume pavadinti binary-- vien su 0 ir 1 abėcėlės. Bet mes, žmonės dažniausiai susipažinę su po kablelio. Gruodis reikšmė 10. Patinka reiškia du. Ir taip po dešimtainio sistema, mes turime 10 skaitmenų mūsų disposal-- iš Žinoma, nulis per devynių. Taigi, jei jums pažvelgti į skaičių kaip tai, kad dauguma iš jūsų intuityviai tiesiog suvokti, kad yra 123. Nėra nieko tikrai sunku apie tai. Bet kodėl jis 123 metu? Na, jei jūs manote, kad atgal į Įvertinimas school-- arba bent kaip aš sužinojau, tai rūšies world-- jus gali priminti, kad mes traktuojami šie dalykų kolonos, ar vietų. Taigi, mes turime tuos vietą dešinėje. Dešimtis įdėkite į vidurį. Šimtų vieta kairėje. Ir tada, kaip mes gauti nuo šio modelio symbols-- 1 2 3-- šį aukštesnį lygį Idėja, kad mes žinome, kaip 123? Na, tai tik keletas paprasta aritmetika. Right? Vienas yra iš esmės reiškia, duoti 100 JAV kartus 1 plius 10 kartų 2 plius 1 kartų 3 d. Ir, žinoma, jei mes out matematikos ten tai 100 plius 20 plius 3-- kitaip žinomas kaip 123. Taigi, jei esate dėl tas pats puslapis, kaip šios teisės dabar ir yra patogūs su vadinamasis dešimtųjų sistema kaip žmogus, tai tikrai gerai per Jūsų veiklos sritis komforto apsvarstyti dabar dvejetainis sistemą. Paimkite laukinių guess-- tai yra, į kompiuterių pasaulyje į binary-- kokiu numeriu? Nulis. Bet kodėl taip yra? Na, tai paaiškėja, kad stulpeliai arba vietos here-- jie nėra įgaliojimai 10 d. 1, 10, 100, 1000, ir taip toliau. Jie vietoj to, gana tiesiog, įgaliojimai 2. Taip, 1, 2, 4, 8, 16, 32, ir taip toliau. Ir taip dabar mes, žinoma, gauti iki 0 čia tik todėl, kad mes turime 4 kartus 0 plius 2 kartus 0 ir 1 kartų 0, kuris, žinoma, suteikia mums 0. Bet kaip man eiti apie atstovaujanti skaičių 1? Koks modelis nuliai ir tie, kurie atstovauja Skaičių mes, žmonės žino, kaip 1? 001. Ir 2? 010. Ir dabar modelis pradeda kartojasi. Dabar tai 011. Ir vėl, 0 keturiomis, vienas 2, vienas 1. Taigi 2 plius 1. Štai 3. Ir dabar atstovauti 4, mes ne tik pakeisti, kad 0 iki 1. Jūs tarsi turi atlikti, taip sakant, ir numeriai pradėti prakeiktas aplink tik kaip ir po dešimtainio pasaulyje. Taigi tai yra 4. Tai yra 5. Tai yra 6. Tai yra 7. Ir taip mes skaičiuojami kaip aukštas, kaip 7. Dabar visi mes tiesiog reikia labiau bits-- daugiau nulis "ir vienas-aisiais. Ir iš tiesų "bitai", jei jūs girdėjau šį term-- dvejetainis skaitmuo. Truputi yra, kai kurie ateina iš. Ir taip, jei norime atstovauti Didesnės numeriai, mums reikia daugiau bitų. Bet tegul tolti nuo skaidres dabar į kažką šiek tiek daugiau reali. Tarkime, kad norime realiai atstovauti šį dalyką. Na tegul pažvelgti dabar ne mažai demonstravimo. Taigi tai yra žiniatinklio programa kad vienas iš CS50 paties, Michael G kartu sudėjus šią vasarą padėti mums išsiaiškinti tiksliai šią idėją. Ir būtų kažkas panašaus žengti ant scenos prieš visus jo klasiokų? Teisė yra priekyje. Nagi į viršų. Jūs turite būti patogi kamerą ir internetą. Oi, čia. GERAI. Mes Gerai. Gerai. Nagi į viršų. Koks tavo vardas? Emilija ateiti iki. Taigi tai yra Emily. Kas metus tu? Pirmakursis. Emilija, malonu susitikti su jumis. Davidas. Gerai. Taip iki ekrane čia, mes turime šį jutiklinį ekraną kurie ketina leisti mums iš tikrųjų bendrauti su šia programa, ir tai tik naršyklė. Tai "Chrome pilnas tikrinami Šiuo metu, tačiau tai buvo užprogramuotas Mykolui reaguoti tokiu būdu, kuris leidžia mums pažaisti su dvejetainiais skaitmenimis. Taigi, pavyzdžiui, čia mes ne trys, bet aštuonios bits-- nulių ir. Šiuo metu mes žiūri į 0. Ir iš tiesų, visi aštuoni nuliai dešimtaine reiškia nulį. Taigi, kad visi tai buvo užsimenama čia. Taigi, jei norite atstovauja numerį 8, kas iš nulių modelis ir tie, kurie norite? Jūs galite tiesiog bakstelėkite aukštyn arba žemyn ar patys numeriai. Gerai. Taigi, kad, žinoma, yra 8, kaip matote ten. Ir jei mes norėjome do 16, ką mes galime padaryti? Taip, tiesiog palieskite jį dar kartą. 16. Gerai. Taigi tai yra viskas gerai ir gerai, jis vis dar labai žemas lygis. Mums reikia pakeliui į nekilnojamojo pasaulis Emily faktiškai atstovauja šiuos dalykus. Ir taip manau, kad mes savo ruožtu šie nulių ir, kuris yra labai konceptualus, į faktines elektros lemputes. Right? Kompiuteris yra fizinis, mechaninis, elektrinis prietaisas. Ir jos input-- bent jau jei jūs prijunkite jį arba mokestis it-- yra turėti akumuliatoriaus energiją ir elektronai teka ir išeina. Taigi dabar, kodėl ne mes nustoti galvoti apie bitus kaip nulių ir, bet kažkas kietesnis kaip lemputes čia. Ir jei Danas Armendariz galėtų prisijungti man vos moment-- nagi up-- mes ketiname stovėti eilėje paraišką. Nagi daugiau, Emily. Atsiprašome tai yra labiausiai nepatogu demo kada. Nagi čia. Mes ketiname eilėje su dėka Dan Armendariz dar vienas mūsų darbuotojas, programa vadinama dvejetainiu lemputė. Taigi ką mes turime čia yra "iPad" programa kad turi toliau pateiktą naudotojo sąsaja dėl Emily ekrane. Tai tiesiog gavo tą patį tiksliai UI iš esmės tai ten. Ir jei dabar nori atstovauti skaičių, sako, 8, kaip jūs eiti apie tai daro Tai pastebime dešinėje, Elektros lemputės, kad mes čia turime? Ak-HA. Magiškas. Taigi, jei norime, kad dabar virsta tai kažkas šiek tiek daugiau sudėtinga, ir eikime į priekį ir pasiimti atsitiktinis skaičius kaip skaičius 50 čia. Įvesties tai. Ir jei dabar galima ginčyti sugalvoti su numeriu 50, mes turime nuostabų prizą už jus. EMILY: Gerai. O Dieve. DAVID Malan: aritmetinis Iš tiesų sunku priešais šimtai jūsų klasiokų. Tačiau 50 buvo atsakymas čia. [Plojimai] Ir todėl dabar, tai yra skirtas būti demonstratyvus už Emily. Taigi, čia yra keletas šviesos lemputės labai patiko tai, bet tai iš tikrųjų mažai magnetinės juostelės. Ir kas kietas apie šiuos ir priežastis, mes naudojame juos CS50 yra tai, kad jie palaiko vadinamąjį API-- programa programavimas sąsaja, kuri yra tik išgalvotas būdas pasakyti, kad tai, ką vienas iš mūsų darbuotojų nebuvo per vasarą buvo sukurti iPad taikymas čia kad kalba per internetą su lempučių nei čia kuris yra be laidų prijungtas prie kito prietaiso. Bet tai dabar pasirinkimas galutinių projektų. Ir taip Emilija, jeigu norite, kad kaip, tuo termino pabaigos, galite pagražinti savo bendrabučio kambarį tuo tarpu su tais. Dėkojame, kad Emily, taip pat. [Plojimai] Bet dabar, tegul paversti mūsų dėmesį į tai, ką kad pranešimas gali atrodė, ir tai šiek tiek kažką panašaus į tai. Iš tiesų, tai yra pavyzdys tik kaip kibinimas kas turi ateiti, kas yra vadinamas API prašymas. Ir taip, ką mes turime čia yra tiesiog būtent tas pranešimą rūšių kad po kelių savaičių Laikas CS50, jums būtų galima siųsti į kažką gana susipažinę, kaip kad iš tikrųjų juos įjungti ir išjungti. Bet tai viskas gerai ir gerai. Right? Mes turime psichikos modelį tikiuosi atstovaujant numerius Zero ir vienas-aisiais. Ir iš nulių ir, galime gauti didesni skaičiai kaip 50, kaip Emily tiesiog padarė, ar mes gali judėti iš to. Ir aš teigti, kad mes galime atstovauti dalykų, pavyzdžiui, laiškų, taip pat. Right? Kompiuteriai yra kur kas daugiau Įdomu ne tik skaičiai. Ir taip kaip tu apie atstovaujančių žodžių ekrane ar laiškų ar esė ar pan? Na, it turns out, kad kompiuteriai paprasčiausiai abstraktus ant šių žemo lygio detalės, ir žmonės jau seniai atėjo su savavališkai, bet nuosekliai, kartografavimas numerių letters-- taip kad bet kuriuo metu galite pamatyti kapitalo laišką Kompiuteryje ekranas, šansai yra kas po gaubtu yra modelis nulių ir kad atstovauti skaičių, už šios diagramos, 65. Ir fiziškai viduje kompiuterio, yra milijonai dalykų vadinami transistors-- šiuos days-- kuri tik įsijungia, jei bus, kas kad gali eiti ir išjungti ir taip įsivaizduoti. Ne aštuoni iš šių didelių lemputes bet milijonai šių mažų mažai šviesos svogūnėliai, ar jungiklių ar tranzistoriai, kad gali įjungti ir išjungti remiantis tuo, kaip juos programuoti. Ir taip dabar mes turime būdą atstovaujanti raides taip pat. Iš tiesų, jei aš buvo naudoti šį kartografavimo čia ir bandyti iš tikrųjų rašybos kažką iš, mes gali atrodyti šiuo dešimtųjų skaitmenų modelio dabar. Taigi mes neketiname net sutelkti dėmesį į dvejetainis nebėra. Tegul tik juos laiko dešimtainis skaičius 72, 73, 33. Bet kas gali tai reiškia? Kiekvienas turi pakankamai fotografijos atminties žinoti, kas išdėstyta Ekrane čia? Taip kelias. Taigi Sveiki. H I ir tada šauktukas, kuris buvo ne iš tikrųjų ekrane. Bet iš tiesų ten yra kartografavimo už kiekvieną laišką į kiekvieną numerį kad jūs galbūt norėsite įrašykite savo klaviatūroje. Bet numeriai neturite atstovauti tik raides. Right? Visi mes žinome apie vaizdus ir nuotraukos ir garso failus ir vaizdo failus ir pan. Taigi aiškiai galime atstovauti aukštesnio lygio dalykai dar. Ir taip kas kompiuteris ar tiesiog pasirinkti interpretuoti modelius nulio tie skirtingai, atsižvelgiant į nuo konteksto. Jei dukart spustelėkite "Microsoft Word" piktogramos, matote žodžius ekrane vietoj spalvų ir paveikslėlių nes žodis žino, kad tai yra Esė, kad jūs iš tikrųjų įvedėte. Jei vietoj dukart spustelėkite ant JPEG arba GIF arba PNG, ji atveria ir vaizdo, nes PNG arba .docx ar kas failą išplėtimas ir kokia programinė įranga Jūs naudojate žino interpretuoti iš nulių ir modelis skirtingai remiantis tuo, kas jos gyvenimo tikslas yra. Taigi, pavyzdžiui, tai pats seka skaičių gali atstovauti kiek raudona padaryti jums nori, kiek žalia norite, ir kiek mėlyna norite. Ir iš tiesų, jei jūs kada nors girdėjote RGB-- tad tiesiog Raudona Žalia Mėlyna. Ir todėl, jei matau numerius, pavyzdžiui, tai man 72 Raudonas, duok man 73 žalia, ir 33 mėlyna, tai yra, kaip kompiuterį ir atvirkščiai naudojant trijų bytes-- kur baitas yra aštuoni bitai arba 24 bits-- reikštų gana bjaurus atspalvis rudos arba geltonos čia. Ir skirtinguose kontekstuose, galėtų tie Tikslios patys modeliai nulių ir reiškia kažką visiškai taip pat skiriasi. Taigi, mes turime dabar atstovavimo būdas informacija-- nulių ir. Viršuje, kad, kurią mes gauname laiškus. Viršuje, kad mes galime gauti spalvas. Ir tarkime šiandien kad mes galime gauti garso ir vaizdo ir dalykų tiek daug sudėtingas, kad ne. Bet dabar aptarkime kaip mes naudojame tuos įėjimus ir gamina tie išėjimai Dabar, mes turime atvaizdavimo šią informaciją būdas. Na, mes turime kažką vadinamas algoritmas. Vėlgi, skirtų instrukcijų rinkinys sprendžiant tam tikrą problemą žingsnis po step-- ir tiksliau, tuo geriau. Ir taip pavyzdys, su kuriuo žmonės yra Tiesa mažiau susipažinę šių dienų, bet vis dar su mumis programinei įrangai, yra ieško procesas iki kažkas telefonų knygoje. Dabar, vis mažiau ir mažiau žmonių žino vienas metų, kas tai reliktas iš tikrųjų yra čia. Bet atgal į mano dieną, tai buvo Telefonų knyga su tūkstančiais puslapių ir numeriai ir žmonių vardus iš A iki Z. Ir nors mes rūšies sukčiavimas bit-- tai daugiausia įmonių katalogas. Taip pat buvo baltas puslapiai Tuo metu, kuris turėjo visus tuos pavadinimus ir numeriai faktinių žmonėmis. Ir jei aš norėjau atrodyti ką nors A telefonų knyga, kaip tai šiandien, žinoma, Aš tiesiog įveskite pirmas kelias simbolių savo vardu, ir mano telefonas randa tą informaciją. Tačiau procesas, kurio metu jūsų iPhone arba Android "telefonas ar kas iš tikrųjų rasti kas nors iš jūsų adresatų sąrašo yra identiška tai, ką mes žmonėms tikriausiai padarei tam tikrą laiką. Dabar galėčiau tai problema, jei norite, ir įėjimai čia nėra nulių ir. Jie pages-- patinka, tarkim 1000 puslapių. Ir jei aš norėjau ieškoti ką nors patinka Mike Smith šiame telefonų knygoje, Galėčiau pradėti iš pradžių ir pamatysite, kad aš A skyriuje ir tada pasukite vieną puslapį laikas, ieško ir ieško kaip aš padaryti B "ir" C "ir D'ai ir tt Mike Smith. Smithas pradeda su S, aš tikiuosi galiausiai jį rasti. Ar tai algorithm-- kad process-- informacija? Taip. Teisingai. Aš rasite Mike, jei jis čia, bet kas yra įspėjimas, kad jums gali pasiūlyti. Tai lėtas. Right? Žinau Mike S yra tarsi link pastaroji pusė telefonų knygoje. Kodėl gi aš esu pradedant nuo pradžios ir vyksta po puslapį po puslapio. Taigi žinoma, galėčiau ją apversti aplink ir pradėti iš nugaros, bet ketina gauti man ten tuo pačiu greičiu, Jei willl-- puslapį Po puslapis po puslapio. Ir ji nesiruošia dirbti, jei noriu ieškoti kažkas, kurio Pavadinimas kilęs anksčiau abėcėlės. Taigi ką daryti, jei aš ką aš išmoko pradinėje mokykloje, vėl daryti tai, ko nėra pagal tuos tačiau po du. Taip 2, 4, 6, 8, 10, 12, ir taip toliau. Tai teisinga? Ne. Tai tipo teisinga. Bet kai kurie iš jūsų, kurie murmėjo ne, kur yra problema, arba klaida, klaida taip sakant. Taip. STUDENTŲ: Jūs galite praleisti virš dešinio įrašą. DAVID Malan: Taip. Galiu praleisti Mike Smith nes aš paimti du puslapius iš karto ir jis tiesiog atsitinka būti įtvirtinta tarp šių dviejų puslapių. Galėčiau suprasti, kad Aš prie T skyriuje neradę Mike Smith dar. Ir taip kas tai galėtų ten pritvirtinamas būti? Na, jei aš hit TS telefonų knygoje, Aš gali prireikti dvigubai Atgal Į arba tiek puslapyje. Taigi, tai gali būti sutvirtinti, bet tai ne visai taip paprasta kaip tik vyksta pagal dvi pagreitinti savo darbą. Bet kas? Nagi. Kas yra tai, ką dauguma žmonių vyksta daryti su šiuo telefonų knygoje natūra? Jūs esate suteikta telefono knyga. Ką darai? Kas tai? Eiti į vidurį. Taigi, aš girdėjau, eiti į vidurį, ir aš rasti sau apytikriai M skyriuje taip sakant. O dabar ką noriu daryti? Šaunuolis. Koks tavo vardas? James James. DAVID Malan: Jokūbas, viskas gerai. Ką daryti toliau? JAMES: Nueini į pusė, kuri turi S-aisiais. DAVID Malan: Gerai. Aš ruošiuosi eiti į pusę, kad turi S iš to, nes, vėlgi, numatyta nuostata buvo čia kad šis dalykas yra rūšiuojami. Tai gana nenaudingas 1000 puslapiai, jei "Verizon" iš tikrųjų nėra surūšiuoti šių dalykų mums gražų Z. Taigi, jei aš žinau, Mike tikriausiai pastarasis pusė telefonų knygoje, Galiu dabar. [Juokiasi] Ašara per pusę problemą. [Plojimai] Ačiū. Ašara per pusę problemą. Tai iš tikrųjų buvo real-- kad kovą. Taigi ašaros telefono knyga per pusę, paliekant save su iš esmės ta pačia problema. Bet žinoma, pusė kaip didelis. Ir jei aš po James vėl patarimai ir einu čia. Sakau, oi dabar aš T skyriuje. Ir taip, žinoma, aš gali suplėšyti telefono knyga per pusę One More Time, paliekant man su problema, kad anketa dabar yra dydžio ketvirtį. Taigi aš dingo iš 1000 500 į 250-125 ir kt. Jis jaučiasi kaip aš atsižvelgiant didesnių įkandimų iš apie šią problemą su kiekviena iteracijos, ar kiekvienas žingsnis į jį. Ir iš tiesų, laikas aš ruošiuosi praleisti rasti Mike Smith šiame pavyzdyje yra tiek daug mažiau, nes galiausiai aš ketina Whittle tai siųskite knyga žemyn tik vieno vieniši puslapyje. Ir jei Mike tame puslapyje, aš ketina eiti į priekį ir suteikti jam kvietimas radęs jį. Bet tik kaip daug geriau yra tai, kad algorithm-- kad išdrįstų pasakyti intuityvus algorithm-- nei tie mes pradėjo su kuria mes labai linear-- kairės į right-- esant 1 arba 2x greičiu? Na, tegul sklypas tai. Neturime nerimauti per daug apie matematika arba numeriai šiuo atveju čia. Mes tiesiog pažvelgti į sklypą. Tt X, arba horizontalią ašį, yra problem-- dydis Kiek puslapių yra ten. Į Y, arba vertikalus ašis yra, kiek laiko ji ketina imtis man ją išspręsti. O gal tai, kiek puslapis posūkiai, kiek sekundžių, kaip many-- šiek priemonių vienetas. Ir aš sudarytas raudonos tiesias linijas čia, nes jei kiekvieną papildomą puslapį iš telefonų knygoje, man reikia padaryti vieną papildomą žingsnį. Taigi, jei "Verizon" prideda vieną daugiau puslapis kitais metais, Aš gali tekti vartyti dar vieną puslapį rasti ką nors panašaus Mike Smith. Tuo tarpu, antra algoritmas, kuris Nuėjau po du, yra tos pačios formos. Jis vis dar labai linijinė, labai liko teisę, atsižvelgiant lygias baitų kiekvieną kartą, bet nuolydis yra šiek tiek mažesnės. Pavyzdžiui, jei dydis problema buvo maždaug čia ir aš savo pirmąjį algoritmą, Aš gali baigtis visą kelią ne tos raudona linija viršuje. Bet jei aš vietoj naudoti į twosies požiūris, geltona linija rodo nes tai mažesnė, kad ji ketina imtis man mažiau kartą spręsti. Bet kas iš forma Trečiasis algorithm-- vėl, be abejo, labiausiai intuityviojo algoritmas? Na, atrodo, šiek tiek kažkas panašaus į tai. Tai išlenkti, arba logaritminė, formos. Ir nors ji niekada rūšies iśsitiesina, ji asimptotiškai colių aukštyn ir aukštyn ir aukštyn, bet siaubingai lėtai prieš visa kita. Ir kas yra atimti? Na, mes jį vadiname log n. Bet ką tai iš tikrųjų reiškia? Na, jei "Verizon dvigubai puslapių skaičius į telefonų knygą kitais metais nuo 1000 iki 2000. Kiek daugiau žingsniai yra mano Pirmasis algoritmas ketina imtis? Mano pirmasis algoritmas. Gal 1000 daugiau žingsnių. Jei jie dvigubai telefonų knyga, aš ruošiuosi turėti vartyti kita 1000 puslapiai rasti Mike. Žinoma, jei sekundę algoritmas, gal 500, nes aš vyksta dvigubai greičiau. Bet jei "Verizon" padvigubina skaičių Puslapių tarp šiais ir kitais metais, su mano trečdalis algorithm-- atskirties ir užkariauti kad James pasiūlė vyksta per pusę ir pusę ir half-- kiek daugiau veiksmų bus jis mane kitąmet turėti telefono knyga dydžio 2,000? Tik vieną. Nes su vienu įkandimo, galiu imtis, iš tos problemos, pusė puslapių toli. Ir jei jūs manote apie tai šiek tiek crazily now-- jei telefonas knyga nėra turi 1000 ar 2000 puslapis, bet tarkim 4 mlrd pages-- tai didelis telefonas book-- kaip daug kartų ar kiek žingsnių ji ketina imtis mane rasti Mike'as Smithas telefonų knygoje 4 milijardų puslapių. Jūs galite rūšiuoti pradėti daryti matematikos. Gerai. 4 milijardus, padalytą iš 2. Taigi, kad 2 mlrd padalytą iš 1. Štai 1 mlrd. Tada pusė milijardo. Tada 250-- todėl jūs galite tai padaryti ir vėl vėl, bet ne tai, kad daug kartų, kol jums vieną puslapį. Ir iš tiesų, net jei telefonas knyga yra 4 mlrd puslapių arba duomenų ieškote yra 4 mlrd įrašų ilgas, ji ketina imtis jums suteikti arba užtrukti 32 žingsnių tik rasti Mike Smith. Ir jei jūs dvigubai telefono knyga Kitas metų nuo 4 mlrd 8 mlrd, 33 žingsnių, o ne tik 32. Ir tai liudija į vieną iš idėjos kad galėtume priimti kompiuteryje Mokslas apskritai, o tai skaičiavimo mąstymas ir artėja problemą atvirai naudojant įvairias priemones nuo Jūsų jau pažįstamas įrankis kit-- savo tikrą pasaulį su kuri esate susipažinę, bet panaudoti šias idėjas realiai spręsti problemas. Bet mums reikia formalizuoti DUK šių problemų sprendimai. Ir todėl leiskite man pristatyti akimirkai kažkas galėtume pavadinti Pseudocode. Daug semestro, mes praleisti naudojant Tikrasis kodas kalbomis, pavyzdžiui, C ir PHP ir "JavaScript" ir SQL ir pan. Bet dabar, tegul tiesiog atrodo kažką gana intuityvus kaip anglų kalba. Galėčiau distiliuoti, kad algoritmas, su kuria Radau Mike į žingsnius, kaip šis. Pasiimti telefono knyga Atidaryti viduryje telefonų knygoje Pažvelkite NAME Jei Mike tarp NAME Skambinkite Mike Else if Smithas yra ankstesnė knygos Atvira viduryje kairėje pusėje, knygos Kita eiti į 3 eilutė Else if Smith vėliau knygoje Atvira viduryje teisę pusė knygos Eiti į liniją trys kitas Pasiduoti Ir ten kelis požymius dabar tai, kad yra verta pažymėti,. Taigi vienas, visas eilutes Aš paryškinamas geltonai mes ketiname pradėti skambinti ataskaitos ar funkcijų ar procedūrų. Jie tiesiog veiksmai padaryti tai, ir ten nėra visi, kad daug nepastovumas į jį. Kitas žingsnis čia, nors yra šie conditions--, jei kitur, kitur, jei kitur. Ir jie vadinami sąlygos, arba filialai, ir jie sprendimus taškų. Ir jie leidžia mums daryti kažkas sąlyginai. Ir iš tiesų, galime imtis greitas pažvelgti galbūt pažįstamas face-- mes vadiname jį Bill-- ir ką šios sąlygos, kaip jie gali būti naudojami. Bill Gates: Žmonės padaryti sprendimai kiekvieną dieną. Pavyzdžiui, prieš išvykdami už jus rūšies turi IF, kuri sako, jei lyja, tada aš reikia gauti mano striukę. Ir kompiuteriai yra nuostabi, kai jūs nuspręsti tuos pareiškimus rūšių kad jie gali patikimai vykdyti tie dalykai neįtikėtinas greitis. Ir taip kompiuterinė programa tikrai yra šiek tiek matematikos ir kai jei ataskaitose kur sprendimas bus padaryta. David Malan: Taigi dabar leiskite dėmesys ant kelių skirtingų lines-- tie Aš paryškinti geltonai čia. Ir paaiškėja, kad skiriasi būdų išreikšti šią idėją. Bet intuityviai, kas mūsų linijos 8 ir 11 kad aš pabrėžė čia sakau daryti? Taip, pereikite prie 3 linijos, bet tai, ką elgesys yra tas, kad tikrai skatinančius? Tai kai linijos ar ciklo rūšis, ir jūs galite rūšies pamatyti. Right? Jei 8 eilutę, jums grįžti į eilutę 3, tada paspausite linija 8 vėl galite grįžti į 3 eilutę, Atgal į 3 eilutę, atgal į 3 eilutė. Yra toks ciklo ar kilpa rūšiuoti. Ir iš tiesų, kad manimi sukeltas linija 11 potencialiai taip pat. Ir tai yra pagrindinis programavimo statyti, taip pat. Galbūt nenori tiesiog kažką daryti su pareiškimu arba padaryti kažką lygtinai su sąlyga ar filialą. Galbūt Jūs norite padaryti kažką cikliškai su kilpa. Ir mes turime ką nors kitą, su kuriais Jums gali būti familiar-- mes vadiname jį Mark-- paaiškinti šią sąvoką čia. Mark Zuckerberg: Vienas dalykas, kad kompiuteriai yra tikrai gerai kartojasi komandas. Kaip asmuo, norite gauti tikrai nuobodu, jei jums turėjo padaryti tą patį daug kartų iš eilės, bet kompiuteris gali padaryti tą patį milijonus ar net milijardus kartų o ne nuobodu ir gebėti atlikti, kad tikrai gerai. Todėl, pavyzdžiui, jei aš noriu palinkėti visiems "Facebook" su gimtadieniu siunčiant jam laišką, ji gali imtis man daugiau nei amžiaus, kad iš tikrųjų rašyti visų šių laiškų visiems. Bet tik keletą eilučių kodo, galiu turėti sistemą, siųsti el.laišką visiems Facebook norintis jiems gimtadienio proga. Štai ką kilpos ir kodėl jie vertingi ir kažkas kad kompiuteriai gali padaryti labai gerai. DAVID Malan: Many thanks mūsų draugams ne code.org už šių dviejų filmų. Ir tik praėjusią savaitę, jums gali tekti matyti, kad Mark Zuckerberg ir "Facebook" parašė šį pranešimą, kuris yra tai, kad jie tiesiog Praėjo svarbus etapas pirmą kartą. 1 milijardas žmonių naudojosi "Facebook" A vieną dieną, būtent praėjusį pirmadienį. Vienas iš septynių žmonių Žemėje matyt prisijungęs prie Facebook. Na, tai atrodo gera proga pažvelgti atgal, kur "Facebook" pradėjo, ir mes nuėjome per CS50 savo paties archyvai, nes paaiškėja, 2005, Pažymėti davė svečiams paskaitą CS50. Jūs pamatysite, kad gamybos vertybes buvo ne visai tas pats tada atsižvelgiant į technologijų prieinama, ir jūs taip pat matyti, kad esant Šio svečių paskaitos nebūtinai nuoskauda palūkanas studentų organizacijos, jūsų pirmtakai, tiek, kiek tai gali turėti vos keli vėlesni metai. Taigi leiskite pažvelgti ne mokslo centras C. GARSIAKALBIS 2: Prašome prisijungti prie manęs, ir laukiami. [Plojimai] Mark Zuckerberg: yo. Gerai. Cool tai yra pirmas kartas, aš kada nors turėjo turėti vieną iš šių dalykų. Taigi, aš tik ketina pridėti jį tikrai greitai. Gerai. Ar galite ją išgirsti? Ar tai gerai? Ar tai sustiprina ne visi? Gerai. Saldus. Taip, tai kaip vieną iš pirmųjų kartų Buvau paskaitoje Harvarde, but-- DAVID Malan: Taigi galiausiai Mokslas Centras padarė priartinti vaizdo, bet ne anksčiau užfiksuoti tai ištrauka, kurioje Marko šneka kuriuos jis aptarė savo kambarioku, Dustin, kuris norėjo ištiesti ranką su šia Svetainės vadinamas Facebook.com ir suprato, kad Markas yra apie paminėti programavimo languages-- vienas vadinamas Perlas, vienas vadinamas PHP-- kaip jis aptaria Dustin įnašas ištakos. Mark Zuckerberg: "Aš pradėjo rodyti svetainę ir pradėjo jį Harvardo vasario, 2004. Taigi, manau, beveik prieš dvejus metus. Ir per porą savaičių A keli tūkstančiai žmonių buvo užsiregistravote, ir mes pradėjome gauti kai laiškus nuo Žmonės kitų kolegijų klausia mums pradėti jį savo mokyklose. Ir aš tuo metu buvo atsižvelgiant 161. Taigi, aš nežinau, jei jūs žinote, iš to kurso reputacija, bet jis buvo natūra sunkus. Tai buvo tikrai įdomus, žinoma, bet ji neturėjo palikti mane su daug laiko daryti nieko kito, su "Facebook". Taigi mano kambarioku Dustin, kuris spėju ką tik baigė CS50, buvo, pavyzdžiui, ei. Noriu padėti. Noriu daryti plėtrą ir padėti jums išsiaiškinti, kaip tai padaryti stuff. Taigi buvau kaip, kad gana kietas, miestietis. Bet jūs tikrai nežino, bet PHP ar ko nors panašaus, kad. Taigi, kad savaitgalį jis grįžo namo, nusipirkau knyga Perl for Dummies, grįžo ir buvo, pavyzdžiui, visi teisūs. Aš pasiruošęs eiti. Aš, pavyzdžiui, miestietis, svetainė parašyta PHP ne Perl, bet tai kietas. Taigi jis pakėlė PHP per kaip kelios dienos, nes aš Pažadame, kad jei turite geras fonas C, PHP yra labai paprastas dalykas pasiimti. Ir jis tiesiog rūšies ėjo į darbą. Prieš pažvelgti dabar jei studijos vyksta, leiskite pakviesti tik keletas iš SC50 personalo ant į etapą. Kai kurie iš jų yra apsipirkti jų pačių kursai. Bet jei tas TFS ir CAS ir žinoma Vadovai, kurie čia gali ateiti iki ir prisijungti prie manęs greitai Hello. Leiskite man pristatyti ypač Hanna, Marija, Daven ir Robas, CS50 kursas vadovauja čia Cambridge. [Plojimai] DAVID Malan: Iš tiesų, testamentas paramos struktūra, kad kursas turi pastatytas iš per pastaruosius daugelį metų, CS50 darbuotojai šiemet numeriai beveik 100, ir tai čia Kembridžo vieni. Tuo tarpu, New Haven, ten kai 40 TFS ir CAS ir darbuotojai ten paleisti kursą, taip pat. Leiskite mums pristatyti pirma, Rob Bowden. ROB BOWDEN: Sveiki. Aš Robas. Čia yra mano šešerius metus TFing į paskaitas. Taigi, visą kelią atgal į savo pirmakursis metų, aš ne imtis CS50. Jūsų pirmakursis fall-- jums gali būti susipažinę kad jūs galite pasiimti tik keturis kursus ir yra tiek daug kursų ir šiandien. Taigi aš, kaip, eh. Aš paėmė AP AP mano vyresnysis metai aukštosios mokyklos buvo siaubinga. Taigi, aš kaip, eh. Kompiuterių mokslas yra ne man. Taigi tada jis buvo Virš Žinoma mano pirmakursis kristi, kad turėjau draugas CS50 ir Manau, lankiau vieną paskaitą su ja. Tai kaip, oi, tai yra rūšies geriau nei ką turėjau vidurinėje mokykloje. Ir per kurso metų, turėjau mano paties problema rinkiniai kursuose aš iš tikrųjų buvo vartojate. Bet radau, kad kai aš norėjo vilkinti tiems, Norėčiau grįžti į CS50 ir pažvelgti į kai tos stuff. Taigi, taip. Aš kietas. Aš vilkinimas su kodavimo. Taip, tada tai pabaigoje rudenį, kad aš suprantu, ei, kompiuterių mokslas yra gana kietas. Aš galų gale imtis CS51. Per kitą pusmetį, Aš galų gale imtis CS61. Ir visa tai iš ten, tada aš galų gale deklaruojant kompiuterių mokslas, kuris turėjau absoliučiai jokios daryti ketinimas kai aš atėjau į koledžą. Ir dabar aš čia. Taigi žinoma yra tai, ką jūs darote tai. Tikiuosi, kad jums patiks jį. [Plojimai] DAVID Malan: Ačiū apiplėšti. Ir dabar Marija, mūsų galvą kurso asistentas. MARIA: Ei vaikinai. Mano vardas yra Maria. Aš į Cabot antrakursis Namas, iš Bulgarijos, ir labai džiaugiuosi, kad būtų dalis darbuotojų šiemet. Aš paėmė CS50 kaip pirmakursis Pernai ir aš niekada net pagalvojau apie CS anksto. Taigi, aš labai patinka kursą, ir aš tikimės, kad jums visa tai patinka, kiek aš padariau. Ir taip. Sveiki atvykę į CS50. DAVID Malan: Dėkojame, kad Maria. [Plojimai] Dabar Hannah, mūsų pagrindinė mokymo kolegos. HANNA: Sveiki, aš Hanna. Aš vyresnysis Cabot studijuoja informatikos. Aš paėmė CS50 kaip pirmakursis ir turėjo buvo TFing-- tai bus mano trečius metus. Taigi, aš bus laimingai dalyvauja į CS50 visiems ketverius metus ir aš laukiu dirbti su jumis visais. DAVID Malan: Dėkojame, kad Hanna. [Plojimai] Ir galiausiai, Daven, mūsų precepter. DAVEN: Ei vaikinai. Aš principo, nei į kompiuterių mokslas čia. Tai bus mano ketvirtus metus mokymas. Aš taip pat padeda valdyti kursą. Taigi, aš tikiu, kad jūs pamatysite mane aplink, ypač darbo valandomis. Aš visada darbo valandomis. Taigi, jei jūs matote mane vaikščioti aplink, tikrai ateis pasisveikinti. Man patinka susitikti visiems. Priešingu atveju, smagiai, ir aš tave matyti aplink. DAVID Malan: Dėkojame Daven taip pat. Taigi jūs patenkinti visus Šie žmonės prieš ilgas. Tačiau be toliau ADO, jei jus vaikinai būtų patinka atnaujinti savo sėdynes iš anksčiau. Leiskite man pristatyti iš tolo dabar kai kurie iš mūsų draugų iš New Haven, Visų pirma, žinoma Galvų kurie bus būti prižiūrėti CS50 there-- profesorius Brianas Scassellati, Jasonas ir Ieva, kas just--, kad mes ne Patiria likimą su bet FaceTime arba like-- ką tik atsiuntė mums minutes prieš šį vaizdo įrašą, kuriame jie sako labas nuo paskaitų salėje Jeilio, kuriame paskaita yra transliuojamas dabar. Taigi, mūsų draugai iš Jeilio. BRIAN SCASSELLATI: Sveiki, Davidas. Sveiki, visi Harvarde. Mes taip džiaugiamės, kad pareikšti CS50 į Yale šį semestrą. Mano vardas yra Brian Scassellati, bet visi tiesiog vadina mane SCAS. Ir aš čia šiandien pristatyti naudotojo, CS50 darbuotojai. [Didelio džiaugsmo] Ir dar svarbiau, aš čia pristatyti, taip pat visi studentams Jeilio kas kaip šį rytą padarė šį populiariausias Žinoma Jeilio kad CS50 studentai. [Didelio džiaugsmo] Taigi mes labai džiaugiamės būti matau jus čia penktadienį ir šeštadienį Puzzle dieną ir turite puikią paskaitą. Ate. [Plojimai] DAVID Malan: Ekrane čia Iš kai 140 darbuotojų pavardės nariai, kurie laukia jūsų Virš Žinoma iš semester-- kai kurie iš jų čia Cambridge, kai iš jų čia, New Haven. Ir iš tiesų jums turėti galimybė šį šeštadienį, kaip SCAS pažymi, kad dalyvauti CS50 Puzzle diena. Galite matėme mažai įspūdį paslydo po jūsų durų neseniai. Mes turime keletą papildomų čia vėliau, kai egzistuoja. Jei jums surinkti visus keturis galvosūkį vienetų ir sujungti jėgas su kambarius Netoliese jūsų jūsų namas ar bendrabučio, jie surinkti į QR code-- arba dvimatis brūkšninis kodas, kad Kai surinkti ir nuskaityti su telefonu nuves jus tam tikru Pasakų prizą or-- manau galima tiesiog nufotografuoti tai dabar taip pat. Bet rasti tuos įspūdį vis dėlto siekiant laimėti šį nuostabų prizą. Ir iš tiesų viena iš tradicijų į SC50-- Ah, per lėtas. Vienas iš CS50 tradicijų yra tarnauti tortą po pirmosios paskaitos. Ir taip iš tiesų, A kelias minutes nuo dabar, ten bus pyragas, patiekiamas ne tiek čia, tiek Niu Heivenas, taip pat. Bet first-- mes papuoštas jiems save. Bet first-- ir tikiuosi ten bus pakankamai. Bet pirmiausia, greitas išvaizdą. Taigi paskaitos iš tiesų bus gaminamas daugiausia čia Cambridge. Bet kiekvieną mėnesį, mes hop iki Yale su CS50 gamybos komanda ir upelio atvirkštine Žinoma kryptis taip pat, kaip suderinti šiuos du miesteliai tikrai pirmą kartą per visą istoriją kaip arti vienas kito, kaip įmanoma kaip vieną toje pačioje žinoma. Kalbant apie paramos struktūros ŠTAI buvo atsistojęs čia Kembridže taip pat kaip New Haven, yra skyriai. Iš tiesų, kaip kai kurie iš jūsų gali žinote, mes turime skirtingus takelius per tiems, mažiau žinoma patogus, patogesnis, ir kur nors tarp taip, kad nepriklausomai nuo savo ankstesnio fone, galite galiausiai pavyks klasėje. Darbo valandos Tuo tarpu, yra galimybė pirmadieniais ir antradieniais ir ketvirtadienį vakarais dirbti tiek čia ir New Haven mūsų aikštyno problema komplektai su kelių dešimčių Žinoma, darbuotojai šalia jūsų. Problema nustato tuo tarpu, yra remia ką mes vadiname Walkthroughs, kurios vaizdo remiantis samouczków, kad tikrai atsakyti DUK nuo kur pradėti savaitę iššūkį. Ir postmortems vaikščioti jus per galimų sprendimų taip, kad galutinis problema nustatyti taip pat jums tiksliai žinoti, ką galėjo padaryti skirtingai arba visai kitaip. Problema nustato patys ateis dvi versijos, standartinis leidimas kad tikimės ir pakviesti dauguma class-- apie 90% plius do-- ir vadinamasis hakeris leidimas ant kurios kiekvienas puslapis yra papuoštas hakeris leidimas, hakeris leidimas, hakeris leidimas, taip, kad jūs turite, kad karmą jei bus, nardymas į daugiau pažangių versijų Kurso problema rinkiniai kad dangtis neva tos pačios medžiagos bet su daugiau sudėtingų požiūris ir su papildoma fone kartais įvesta. Tuo tarpu, ar yra devyni vėlai dienas, kad galite kreiptis į kursą problema rinkinių, taip pat mažiausią rezultatą, kurį mes nukritę terminų pabaigos. Tačiau kas laukia? Na, problemos skonis nustato ranka penktadienį ir kitą savaitę, kur mes taškytis vos keletą dienų į kažką vadinama nulio, grafinis programavimas kalba sukurta mūsų draugais ne MIT Media Lab ", kuri leidžia jums programuoti arba pirmą kartą arba naujoje aplinkoje kartu sudėjus naudojant drag and drop tipo aplinkoje. Pagal kurį puzzle gabalai tik susikabinti kartu jei ji daro logine prasme tai daryti. Tuo tarpu problema nustatyti du pernai pavyzdžiui, Ar mes pristatome klasę į slaptaraščio pasaulyje, iš šifravimo meno ar kodavimo informaciją. Iš tiesų, šis tekstas čia, jei iššifruojama, tikrai bus sukelti jums tam tikrą įdomus paskirties. Ir problema nustatyti, ką mes turėjome studentams padaryti, tai įdiegti tiksliai tie rūšių Quake algoritmą, ar nurodymų dėl kodavimo ir kodavimo informaciją. Ir hacker leidimas Tos pačios problemos rinkinys, Ar mes iššūkį studentams imtis šifruotą failą iš įprastiniame kompiuteryje sistema su daugybe vardų ir šifruotus slaptažodžius ir nulaužti tuos passwords-- iš tikrųjų išsiaiškinti, tai, ką jie buvo nežinant nieko a priori apie tuos faktinius slaptažodžius. Tuo tarpu, padaryti mes perėjimas problemos nustato, kad tada žiūri Grafikos pasaulis. Ir iš tiesų, galite įsivaizduoti Dabar, kai šis galbūt būti paprasčiausias būdas atstovauti juoda ir balta vaizdas. Balta pikselių, arba kvadrato, kaip viršuje teisę ten, gali būti atstovaujama su A 1 ir A juodas kvadratas gali būti atstovaujama su 0. Ir tik naudojant daugiau bitų, kaip mes Siūloma anksčiau su 72 ir 73 ir 33, galėtume atstovauti spalvų pikselių, taip pat. Ir ką mes darome per Ši problema rinkinys paprastai pasivaikščioti aplink miesteliu su skaitmeninio fotoaparato, fotografuoti žmonių, vietų ir dalykų. Tada kažkaip kiekvieną semestrą, mes, atrodo, kad netyčia ištrinti arba sugadinti atminties kortelė dėl kurių visų šių nuotraukų yra, ir taip esate ginčijo tada parašyti programinę įrangą su kuria susigrąžinti tuos JPEG iš mūsų fotoaparato kortelės kopiją. Tuo tarpu, mes vertus, jūs vėliau terminas daug angliškų žodžių žodyną kad turime 143,000 žodžių, ir jums reikia sugalvoti su Smart būdas Padėję į atmintį, arba RAM taip sakant, atsakyti užklausos formos: tai žodis, tai žodis, įgyvendinant Greičiausias rašybos tikrintuvas, kad galite, net prisegimą save potencialiai prieš klasiokais pamatyti, kuris iš jūsų naudoja mažiausia suma laiko kai veikia savo kodą ir net mažiau atminties kiekis. Vėliau terminas jūs iš tikrųjų įgyvendinti savo žiniatinklio serveryje. Taigi ne tik žiniatinklio svetainę kalba vadinama HTML ir daugiau, bet Web serveris, kad iš tikrųjų klauso prašymus internete ir į juos reaguoja. Ir iš tiesų, tai, kaip mes tilto mūsų pasaulis C, su kuria jūs susipažins kitą savaitę ir PHP ir HTML ir "JavaScript" ir CSS ir panašiai. Kadangi viena iš pirmųjų žiniatinklyje Projektas mes vėliau terminas yra istoriškai CS50 finansai. Etrade.com stiliaus svetainė, kuri leidžia pirkti ir parduoti atsargas beveik o taip pat rašyti kodą pasikalbėti su Yahoo Finansai gauti pusiau realaus laiko atsargų citatos, siekiant atnaujinti savo portfelį. Bet galiausiai, žinoma, yra galutinis project-- galimybė daryti dauguma nieko iš palūkanų jums išspręsti problemą čia ar už įdomūs Jums tai kažkaip įkvėpė iki pamokų klasėje. Ir klasė, kaip jūs galbūt žinote, kulminacija vadinamosios CS50 Hackathon ir CS50 mugė ir bet koks skaičius kitų kultūros renginių visoje semestrą kad leidžia užsiimti tarpusavyje ir kurso darbuotojai. Pavyzdžiui, prie laužo ir ledo Sitar Šiemet, gerai, penktadienio popietėmis, kviečiame apie 50 Studentai pietų, kas norėtų prisijungti prie mūsų, save, ir darbuotojai, ir mūsų draugai iš pramonės ir alums kalbėtis apie gyvenimą realiame pasaulyje ir už jos ribų, o naudojasi gerą pietūs. Tuo Hackathon bus matote tokius vaizdus nes jie, įskaitant daug candy-- ir nuo 2014 m pirmą LAIKĄ_ daržovės. [Plojimai] Bet 5:00, ar sceną paprastai atrodo šiek tiek kažką panašaus į tai. Ir tada tiesiog per savaitę ar taip vėliau, yra CS50 mugė kuri, kai 2000 plius studentai ir darbuotojai ir dėstytojai nariai iš visos miesteliu ir visoje miesteliai šiemet ateiti pamatyti ir malonumas į pasiekimai CS50 studentams, kurie dabar jums. Ir iš tiesų, o šiais metais mes būti pakviesti ir busing niekam ne Jeilio kurie norėtų ateiti iki Kembridžo šį šeštadienį už CS50 Dėlionės Dieną, ir mes padarysime tą patį dalyką gruodžio už CS50 Hackathon taip, kad Harvardo ir Jeilio studentai panašūs įsitraukti į abu šiuos įvykius. Mes taip pat palaikykite CS50 mugės Kembridžo ir New Haven šiemet taip, kad studentai iš abiejų miesteliai ir darbuotojai ir dėstytojai galite pamatyti kiekvieno atitinkamo CAMPUS anketa pasiekimas. Ir tie pasiekimai bus sukelti tokią atmintį kaip tai ir tai ir galiausiai tai, kurioje visi iš jūsų išeiti iš klasės dėvėti šiek tiek kažkas, kuris jums buvo tikiuosi laimingas arba didžiuojuosi, kad pasakyti, kad aš paėmė CS50. Bet prieš tai ir kol mes tarnauti tortą, mes įdėti together-- dėka CS50 s gamybos komanda ir tam tikras savęs lazda, viena proga, kad mes naudojame tokie dalykai for--, kai mes išsiųsti ją ne tik čia į Kembridžą bet taip pat į New Haven surinkti keletą hellos iš tos Kursas darbuotojai ir visi žmonės, sutiksite tiek čia, tiek Naujiena Heivenas per ateinančius mėnesius. Leiskite man pristatyti keli iš CS50 darbuotojų. Mark Zuckerberg: Ar tai, kad ji eiti? O, tai vyksta. Tai vyksta. Ooh. Yarr! [Muzikavimo Andy GRAMMER, "Brangioji, I'M  Geras "] MARIJOS: Tai Caitlin. Štai Jay ir aš Marija. Sato: Sveiki, vaikinai. Aš Sato. MICHAEL G. .: Sveiki. Mano vardas yra Michael G. Doug LLOYD: aš nesu. Ne. Aš Dougas Lloyd. Aš negaliu patikėti, kad aš laikydami asmenukės klijuoti dabar. GARSIAKALBIS 4: Sveiki. GARSIAKALBIS 5: Sveiki. GARSIAKALBIS 6: Sveiki. GARSIAKALBIS 7: Sveiki. GARSIAKALBIS 8: Ei. Mes hanging out Jeilio. Mes tikrai džiaugiamės už šį semestrą, nes tai Pirmą kartą ji ateina į Yale. Tai bus nuostabus! [GROJA MUZIKA] JACOB SCHERBA: Mano vardas yra Jokūbas Scherba. Man malonu mokyti CS50, nes manau, jis atneš kompiuterių mokslas žmonių ir prieinamas būdas. GARSIAKALBIS 9: aš tikrai malonu mokyti CS50 nes aš paėmė klasę praėjusiais metais, ir jis yra vienas iš geriausių klasių. GARSIAKALBIS 10: Taip. Mano patarimas jums turėtų imtis CS50. JACOB SCHERBA: Aš pasirinkau CS, nes Manau tai įdomus ir kūrybiškas būdas spręsti problemas analitinio būdu. GARSIAKALBIS 11: Atgal, kai buvau šiek tiek pirmakursis ir bijo kompiuterių mokslo ir nebijo daryti inžinerija ir kita, ji buvo pirmoji sunku klasė I paėmė, ir ji taip pat buvo mano mėgstamiausia klasė kada. Doug LLOYD: Tai mano devintasis metų mokymo CS50. Tai leidžia man skamba toks senas! Visada yra kažkas naujo. Visada kažkas įdomus. Visada nauji iššūkiai, su kuriais susiduria naujų studentų, ir tai smagu jiems padėti ir patirti tuos iššūkiai su jais ir padėti jiems išspręsti jų problemas. GARSIAKALBIS 12: Kai aš pirmą kartą sužinojo, kaip padaryti CS, tai buvo kaip mokymosi super galią. Ir pamatyti, kad kitais studentais ir padėti jiems per šį procesą yra vienas iš labiausiai naudingas ką aš kada nors. GARSIAKALBIS 7: Aš pasirinkau CS, nes į pradžioje, buvau matematikos koncentratorius ir aš paėmė CS50 ir nukrito į meilės su juo. Aš taip pat manė, kad su AP, galėčiau sukurti dalykų. Ir tai, aš maniau, buvo tikrai cool aspektas. GARSIAKALBIS 13: Keletas patarimų dėl naujų studentai yra eiti į darbo valandų ir hang out su awesome TFS. GARSIAKALBIS 14: Pradėkite savo P-rinkiniai anksti, eiti į darbo valandomis, tapti frends su savo TF. GARSIAKALBIS 15: Taip. Viskas sakė ji. GARSIAKALBIS 16: Nebūk bijo prašyti pagalbos. GARSIAKALBIS 17: Taip. GARSIAKALBIS 18: Pradėkite savo P-rinkiniai anksti. GARSIAKALBIS 19: Tai didelis socialinės patirties. Padaryti daug draugų tokiu būdu. GARSIAKALBIS 14: Eikite į skyrių Smagu. GARSIAKALBIS 11: Aš turiu galvoje, eiti į jį. Tai tikrai sunku. Gausite iš jo ką jūs įtraukėte į jį, bet tai tikrai smagu klasė ypač jei esate nori įdėti laiko į jį, bet Jis padeda, jei jūs įtraukėte laiką į jį. Jūs gausite daug daugiau iš jo vėliau. MIKE: aš Mike. CAMILLE: aš Kamilė. Hanya: aš Hanya. Matt: aš Matas. Peter: aš esu Petras. PHILLIP: aš Filipas. PATRICK: aš Patrick. ROB BOWDEN: aš Robas Bowden. BRIAN SCASSELLATI: Mano vardas SCAS ir this-- VISUS: --is CS50. GARSIAKALBIS 20: Jeilio. GARSIAKALBIS 21: Jeilio. [Juokiasi] DAVID Malan: Štai jį CS50. Mes jus pamatyti iš Yale apie Penktadienis, Puzzle diena šeštadienį. Tortas dabar tarnavo. Tai CS50. [GROJA MUZIKA]