[MUSIIKKIA] [MUSIIKKIA] DAVID MALAN: Selvä. Tämä on CS50. [Musiikki soi Tritonal, Cash Cash,  "Koskematon"] [MUSIIKKIA] SPEAKER 1: Aion Ranska, ja olet menossa, too. [MUSIIKKIA] DAVID MALAN: Tämä on CS50, Harvardin yliopiston esittely älylliseen yritysten tietojenkäsittelytiede ja taiteen program-- ja ensimmäistä kertaa historiassa, Yalen yliopiston samoin. Todellakin, olit sinä täällä Cambridge tai New Haven tai Miami tai St. Louis tai Amsterdamissa tai missä tahansa maailman ympäri ottaen CS50, tietokone tiede E50, CS50X, CS50 AP, olemme kaikki yksi ja sama. Tervetuloa CS50. Mitä me have-- [SUOSIONOSOITUKSET] [Nauraa] [SUOSIONOSOITUKSET] Joten tein virheen itselleni aika sitten kun aloitin pois college. Ja sain yliopistoon, ja päätin rehellisesti, kiinni sisällä mukavuus vyöhyke. Päädyin keskittymän julistamisesta, tai suuri, hallituksen. Ant että oli lähinnä funktiona minulle on melko tuttu hallituksen tai ainakin historiaa tai Tykkäsin valtiosääntöoikeuden lukiossa. Ja niin kun sain täällä, olen sellainen of hakeutuneet kohti asioita jonka kanssa olin jo tuttu. Oikea? Pois en huonosti luokassa. En todellakaan halunnut jäädä sisällä mukavuus vyöhyke, ja vasta toisen vuoden opiskelija vuodessa, että olen vihdoin nousi hermo vaiheeseen jalka luokassa nimeltä CS50. Ja siinä vaiheessa, teki vihdoin ymmärtää että luoja, läksyt voisi oikeastaan ole hauska. Itse olin yksi niistä lapsille että perjantai-iltaisin, kun P-SETS vapautettaisiin, I menisi takaisin huoneeseeni ja sukeltaa yöhön n P-setit. Ja minulle, että oli merkki että tämä oli kentän minulle. Mutta mikä oli tärkeämpää oli Se, että en saa tätä hermo tutkia vedet tuntemattomia minulle ja saada yli oman mukavuusalueen ja suoraan sanottuna vain voinut tehdä niin toisen vuoden opiskelija vuodessa ottamalla tässä luokassa hyväksytty / hylätty. Itse asiassa se oli viimeinen päivä, että Lopulta siirtyneet ja lopuksi ilmoitettu CS minun pitoisuus, laskemisesta gov tässä vaiheessa takanani. Ja niin me emme jossa määritellään Kurssin kääntää kaikille teille osaksi CS yhtiöitä tai keskittimistä mutta pikemminkin antaa sinulle mahdollisuuden toivottavasti ylittää maailman jolla parhaillaan olet tuttuja ja tuoda takaisin tähän maailmaan osaamista ja taju että voit hakea oman oma maailma, onko se humanistisissa, yhteiskuntatieteiden, luonnontieteissä tai sen jälkeen. Todellakin, jos olet tunne hieman peloton olemisesta tässä huoneessa saati tässä luokassa, ymmärtää, että jos historia on mitään viitteitä, 72% teistä eivät ole koskaan CS kurssin ennen. Joten se on kaikin keinoin ole että opiskelija istuu vasemmalle tai oikealle tai edessä tai takanasi tietää paljon enemmän siitä CS tai ohjelmointi etenkin kuin te. Se ei ole todella olemassa. Ja todellakin, paljon tukirakenne että olemme perustaneet tässä Tietenkin viime monta vuotta on ollut juuri tästä reason-- kohteeseen tarjota ramppi, joka edelleen poistuu niin tiukka ja yhtä suuri kuin ever-- mutta kaltevuus jotka mahdollistavat opiskelijoiden vähemmän mukava ja mukavampaa samankaltaisia ​​onnistua riippumatta hänen ennen tausta. Todellakin, mitä lopulta Olennaista tässä luokassa ei ole niin paljon, jossa voit päätyä suhteessa luokkatoverit mutta missä viikolla 12 päätyvät suhteessa itse viikolla nolla, mikä on missä olemme täällä tänään. Todellakin ja tämä saattaa hyvinkin ja luultavasti se näyttää Greek monille teistä. Mutta varma, että Tämän ja paljon muuta tulee olemaan täysin omassa tartuttava vain vähän aikaa. Mutta tänään, keskitymme joitakin korkeamman tason ajatuksia antaa sinulle maistaa CS50 ja tietojenkäsittelytiede tietyssä mielessä, mitä olet rekisteröitymisestä. Ja todellakin, tietojenkäsittelytiede saattaa olla tislattua lisää yksinkertaisesti laskennallinen thinking-- ajatella kuin tietokone, jos haluatte. Ja siellä on niin monia eri asioita ainesosia, jotka menevät tuohon, mutta katsotaan ehdottaa vain kolme tänään. Jos tavoitteena luokan lopulta ei opettaa sinulle ohjelmointi, ei opettaa sinulle C tai PHP tai SQL tai useita sanoja ja lyhenteitä Tietenkin kuvaus, vaan opettaa sinua ratkaisemaan ongelmia tehokkaammin ja ajatella enemmän järjestelmällisesti ja enemmän algoritmien, niin sanotusti. Katsotaan, mitä tämä tarkoittaa. Niinpä ehdotan, että ajattelu laskennallisesti kuihtuu ongelmien ratkaisuun. Mitä täytyy ratkaista ongelman? Sinun täytyy input-- kuten tulon problem-- tarvitset ulostulon, joka on toivottavasti ratkaisu, ja sitten sinun prosessia joka ratkaista ongelman, joka soitamme algorithm-- joukko ohjeet ongelman joitakin ongelmia. Mutta ensin Keskitytään ensimmäinen ja Viimeisessä näistä tulot ja lähdöt. Tietokoneet jälkeen kaikki, ilmeisesti vain ymmärtää nollia ja ykkösiä. Mutta miten se mahdollisesti olla? Vaikka et tunne lainkaan mitä on alla huppu, luultavasti ainakin kuullut, että tietokoneet ymmärtävät binary-- vain nollia ja ones-- mutta miten mitä mahdollisesti tehdä mitään mielenkiintoista? No, yksi teemoista luokan on menossa olla näin layering-- jossa nykyään käymme ottaa nopea vilkaisu alimmalla tasolla yksityiskohtia, mutta jokaisen päivä, jossa kerros tai abstrakteja päälle kyseiset tiedot todella ratkaista korkeammalle tasolle ongelmat kiinnostavat meitä. Joten tässä on se, mitä voisimme kutsua binary-- vain aakkoset 0 ja 1. Mutta me ihmiset ovat enimmäkseen perehtynyt desimaalin. Joulukuu merkitys 10. Bi tarkoittaen kahta. Ja niin desimaalin järjestelmä, meillä on 10 numeroa meidän disposal-- of Tietenkin nollasta yhdeksään. Joten jos tarkastellaan numero näin, useimmat teistä intuitiivisesti juuri ymmärtää, että on 123. Ei ole mitään todella vaikea siitä. Mutta miksi se 123? No, jos muistelen asteen school-- tai ainakin miten opin tästä Tällainen world-- te Muistanette, että käsittelimme nämä asioita sarakkeita, tai paikkoja. Meillä on siis itse paikka oikealla. Kymmenien sijoittaa keskelle. Satoja paikka vasemmalla. Ja sitten miten pääsemme Tämän kuvion symbols-- 1 2 3-- tämän korkeamman tason Ajatus siitä, että tunnemme 123? No, se on vain muutamia yksinkertaisia ​​aritmeettinen. Oikea? Yksi on pohjimmiltaan tarkoittaa antaa meille 100 kertaa 1 plus 10 kertaa 2 plus 1 kertaa 3. Ja tietysti jos teemme ulos matematiikka siellä, se on 100 plus 20 plus 3-- muuten kutsutaan 123. Joten jos olet samalla sivulla kuin tämän oikeuden nyt ja ovat mukavat niin sanottu desimaalin järjestelmää ihmisen, se on itse asiassa hyvinkin sinun laajuus mukavuutta harkita nyt binary järjestelmään. Ota villi guess-- tämä merkitsee, maailmassa tietokoneiden in binary-- mitä numero? Nolla. Mutta miksi? No, käy ilmi, että sarakkeita tai paikkoja here-- he eivät valtuuksia 10. 1, 10, 100, 1000, ja niin edelleen. He sen sijaan, melko yksinkertaisesti, valtuudet 2. Joten, 1, 2, 4, 8, 16, 32, ja niin edelleen. Ja niin nyt me tietenkin päästä 0 täällä yksinkertaisesti siksi meillä on 4 kertaa 0 plus 2 kertaa 0 + 1 kertaa 0, mikä tietenkin antaa meille 0. Mutta miten edetä edustava numero 1? Mikä rakenteessa nollia ja ykkösiä edustamaan numero me ihmiset tunnemme 1? 001. Ja 2? 010. Ja nyt kuviota alkaa toistoja. Nyt se on 011. Ja vielä, 0 nelinkontin, yksi 2, yksi 1. Joten 2 plus 1. Tilanne on 3. Ja nyt edustaa 4, me eivät vain muuttaa että 0 1. Sinä tavallaan täytyy kuljettaa, niin sanotusti, ja numerot Aloita flipping noin vain kuten desimaalin maailmassa. Tämä on siis 4. Tämä on 5. Tämä on 6. Tämä on 7. Ja niin olemme lasketaan jopa 7. Nyt kaikki meidän täytyy vain on enemmän bits-- enemmän nolla ja yksi. Ja todellakin "bittiä", jos olet kuuli tämän term-- binary digit. Bitti on, jos se on peräisin. Ja niin jos haluamme edustaa isompi numeroin, on enemmän bittejä. Mutta lähdetään pois diat nyt jotain hieman enemmän todellisia. Oletetaan, että haluamme todella edustaa tämä asia. No katsotaanpa katsomaan nyt at vähän esittelyä. Joten tämä on web-pohjainen sovellus että yksi CS50 oman, Michael G, koonnut tämän kesän auttaa meitä valaista juuri tätä ajatusta. Ja olisi joku venture lavalle edessä kaikki hänen luokkatoverinsa? Tuolla edessä. Tule ylös. Sinun täytyy olla mukava kameran ja internet. Ai, täällä. OK. Olemme OK. Selvä. Tule ylös. Mikä sinun nimesi on? Emily tule ylös. Joten tämä on Emily. Minä vuonna olet? Fuksi. Emily, mukava tavata. David. Selvä. Joten ruudulle täällä, meillä on tämä kosketusnäyttö joka aikoo antaa meille mahdollisuuden todella vuorovaikutuksessa tämän ohjelman, ja se on vain selain. Se Chrome täyden seulotaan tällä hetkellä, mutta se on ohjelmoitu Michael on reagoida tavalla, joka mahdollistaa meitä leikkiä binäärimerkillä. Niinpä esimerkiksi, tässä meillä ole kolme mutta kahdeksan bits-- nollia ja ykkösiä. Juuri nyt olemme katsomalla numero 0. Ja todellakin, kaikki kahdeksan nollia desimaali merkitsee nollaa. Niin, että kaikki se on vihjasi täällä. Joten jos halusi edustavat useita 8, mitä mallia nollia ja ne, jotka haluat? Voit yksinkertaisesti koskettamalla ylös tai alas tai numerot itse. Selvä. Niin, että on tietenkin 8, kuten näet siellä. Ja jos halusimme do 16, mitä teemme? Jep, juuri kosketa sitä uudelleen. 16. Selvä. Tämä kaikki on siis hieno ja hyvä, se on edelleen hyvin alhaisella tasolla. Tarvitsemme tavalla reaalimaailman Emilylle todellisuudessa edustaa näitä asioita. Ja niin oletetaan, että käännymme nämä nollia ja ykkösiä, joka on hyvin käsitteellinen, todellisiksi lamput. Oikea? Tietokone on fyysinen, mekaaninen, sähköinen laite. Ja sen input-- ainakin, jos kytket sen tai maksun it-- on saada akun virtaa ja elektronit virtaa sisään ja ulos. Joten nyt, miksi emme lopeta ajattelu noin bittiä kuin nollia ja ykkösiä, mutta jotain enemmän fyysistä kuten lamput täällä. Ja jos Dan Armendariz voisivat liittyä minulle vain moment-- tulla up-- aiomme jonottaa sovellus. Tule tänne, Emily. Valitettavasti tämä on kaikkein hankala demo koskaan. Tule tänne. Menemme jonoon kanssa kiitos Dan Armendariz, toinen jäsen henkilökuntamme, sovellus tunnetaan binary polttimo. Joten mitä meillä on täällä on iPad sovellus että on seuraava käyttäjä rajapinta ruudulla Emily. Se sai juuri täsmälleen sama UI pohjimmiltaan se on tuolla. Ja jos nyt haluat edustavat useita, sanovat 8, miten te edetä tee Tämän huomaamatta oikeaan, lamput, että meillä on täällä? Ah-ha. Maaginen. Joten jos haluamme nyt tehdä tästä jotain hieman haastavampaa, ja mennään eteenpäin ja poimia satunnainen numero kuten numero 50 täällä. Input tätä. Ja jos voit nyt haastetaan keksiä numero 50, meillä on upea palkinto sinulle. EMILY: OK. Herranjumala. DAVID MALAN: Aritmeettinen on todellakin kova edessä satojen oppilastoverisi. Mutta 50 on vastaus tähän. [SUOSIONOSOITUKSET] Ja niin nyt, tämä on tarkoitus olla demonstratiivinen Emilylle. Joten tässä, on hieman valoa sipulit aivan kuten nämä, mutta se on itse asiassa pikku magneettinauhoja. Ja mikä on siistiä näistä ja syy käytämme niitä CS50 on se, että ne tukevat niin sanotun API-- application programming käyttöliittymä, joka on vain hieno tapa sanoa, että mitä yksi henkilökuntamme ei kesän aikana oli luoda iPad sovellus täällä että puhuu Internetissä että lamput tänne, jotka ovat langattomasti liitetty toiseen laitteeseen. Mutta tämä on nyt vaihtoehto lopullista projekteja. Ja niin Emily, jos olisi niin kuten lopussa aikavälillä voit kaunistaa asuntolan huoneessa sillä välin kanssa. Kiitos Emily samoin. [SUOSIONOSOITUKSET] Mutta nyt, nyt kääntyä huomiomme mitä että viesti olisi saattanut näyttivät, ja se on vähän jotain tällaista. Itse asiassa tämä on Esimerkiksi yhtä teaser mitä on tulossa, mitä on kutsutaan API pyynnön. Ja niin, mitä olemme täällä on yksinkertaisesti täsmälleen erilaista viestiä että muutaman viikon aikaa CS50, luultavasti voi lähettää jotain melko tuttuja kuin että todella kytkeä ne päälle ja pois päältä. Mutta tämä on kaikki hyvä ja hieno. Oikea? Meillä mielikuvaan toivottavasti edustaa numerot nolla ja yksi. Ja nollia ja ykkösiä, voimme päästä suurempia määriä kuin 50, kuten Emily juuri teki, tai me voi siirtyä ylöspäin siitä. Ja Väitän, että voimme edustaa asioita, kuten kirjaimia samoin. Oikea? Tietokoneet ovat paljon mielenkiintoinen kuin vain numeroita. Ja niin miten edetä noin edustavat sanoja näytöllä tai sähköpostiviestejä tai esseitä tai vastaavaa? No, käy ilmi, että tietokoneet yksinkertaisesti abstrakti päälle näistä alhainen yksityiskohtia, ja ihmisillä jokin aika sitten, tuli kanssa mielivaltainen, mutta johdonmukainen, kartoitus numeroita letters-- niin että aina kun näet iso kirjain Tietokoneeseen näyttö, kertoimet ovat mitä alla huppu on kuvio nollia ja ykkösiä että edustavat useita, kohden tämä kaavio, 65. Ja fyysisesti tietokoneesi sisälle, ovat miljoonia asioita kutsutaan transistors-- nämä days-- joka ovat vain kytkimet, jos haluatte, asiat joka voi mennä päälle ja pois ja niin kuvitella. Ei kahdeksan näiden suurten hehkulamppujen mutta miljoonat näistä pikku valoa sipulit, tai kytkimiä tai transistorit, joka voi kytkeä päälle ja pois mukaan, miten ohjelmoida ne. Ja niin nyt meillä on tapa edustavat kirjaimia samoin. Itse asiassa, jos olisin käyttää tätä kartoitus täällä ja yrittää todella täsmentää jotain, voisimme katsoa Tämän kuvion desimaalia juuri nyt. Joten emme aio edes keskittyä binary enää. Toivotaan vain ne käsitellään desimaaliluku 72, 73, 33. Mutta mitä tämä voisi edustaa? Kellään riittävän valokuvamuisti tietää, mitä on kirjoitettu ruudulla täällä? Niin muutamia. Joten hei. H-I ja sitten huutomerkki, joka ei ollut todellisuudessa näytöllä. Mutta todellakin olemassa kartoitus jokainen kirjain jokaisen numeron että haluat ehkä Kirjoita näppäimistöllä. Mutta numerot ei tarvitse edustavat vain kirjaimia. Oikea? Kaikki meistä tietävät kuvia ja valokuvia ja äänitiedostoja ja videotiedostoja ja vastaavat. Joten selvästi voimme edustaa korkeamman tason asiat vielä. Ja mitä sitten tietokone ei yksinkertaisesti valitsemalla tulkita malleja nolla niistä eri perustuu yhteydessä. Jos kaksoisnapsautat Microsoft Word kuvake, näet sanoja ruudulla sen sijaan, että värejä ja kuvia koska sana tietää, että tämä on essee, että olet todella kirjoitettaessa. Jos sen sijaan tuplaklikkaa on JPEG tai GIF tai PNG, se avaa ja on kuva, koska .PNG- Tai Docx tai mitä tahansa tiedostoa laajentaminen on ja mitä ohjelmistoja käytät tietää tulkita kuvio nollia ja ykkösiä eri tavalla sen perusteella, mitä sen tarkoitus elämässä on. Niinpä esimerkiksi, tämä sama numerosarja voisi edustaa kuinka paljon punaista sinä haluta, kuinka paljon vihreää haluat, ja kuinka paljon sinistä haluat. Ja todellakin, jos olet koskaan kuullut RGB-- joten vain punainen vihreä sininen. Ja niin jos näen numerot kuten tämä anna minulle 72 punainen, anna minulle 73 vihreä, ja 33 sininen, näin tietokoneeseen kolme bytes-- jossa tavu on kahdeksan bittiä tai 24 bits-- merkitsisi aika ällöttävää sävy ruskeaa tai keltaista täällä. Ja eri yhteyksissä, nuo, täsmälleen sama malleja nollia ja ykkösiä tarkoittaa jotain täysin eri samoin. Meillä on nyt tapa esittää tiedot-- nollia ja ykkösiä. Sen lisäksi, saamme kirjeitä. Päälle, että voisimme saada väriä. Ja Oletetaan tänään että voimme saada audio ja video ja asiat niin paljon enemmän kehittyneempiä kuin. Mutta nyt Tarkastellaan miten käytämme näitä panoksia ja tuottaa nämä lähdöt nyt, että meillä on tapa esittää nämä tiedot. No, me tarvitsemme jotain kutsutaan algoritmia. Jälleen joukko ohjeita ratkaista joitakin ongelmia askel step-- ja tarkempi, sen parempi. Ja niin esimerkiksi jossa ihmiset ovat tosin vähemmän tuttuja näinä päivinä, mutta silti on edelleen kanssamme ohjelmisto, on prosessi etsii up joku puhelinluettelosta. Nyt yhä harvempi ihmiset tuntevat Vuoden mitä tämä jäänne oikeastaan ​​on täällä. Mutta takaisin minun päivä, tämä oli puhelinluettelo tuhansia sivuja ja numeroiden ja ihmisten nimiä kautta Z. Ja vaikka olemme tavallaan huijaaminen bit-- tämä on enimmäkseen keltaiset sivut. Oli myös valkoinen sivut tuolloin, mikä oli kaikki nämä nimet ja numerot todellisten ihmisten. Ja jos halusin etsiä joku vuonna puhelinluettelo näin tänään, tietenkin, Olen vain kirjoittaa muutaman ensimmäisen merkkiä hänen nimensä, ja puhelimessa toteaa tiedot. Mutta prosessi, jossa iPhone- tai Android-puhelinta tai mikä on todella löytää joku nimiluettelossasi on sama kuin mitä me ihmiset luultavasti ovat tehneet jo jonkin aikaa. Nyt voisin ottaa tämän ongelma, jos haluatte, ja tulot täällä eivät ole nollia ja ykkösiä. He pages-- kuten, sanokaamme 1000 sivua. Ja jos halusin etsiä joku kuten Mike Smith tässä puhelinluettelosta, Voisin aloittaa alusta ja nähdä, että olen osiossa ja käännä yksi sivu aika, etsii ja etsii kuin minä tehdä B: n ja C: n ja D's ja niin edelleen Mike Smith. Smith alkaen S, minä toivottavasti lopulta löytää hänet. Onko tämä algorithm-- että process-- oikea? Joo. Se on oikein. Löydän Mike, jos hän on täällä, mutta Mikä varoitus, että saatat tarjota. Se on hidas. Oikea? Tiedän Mike S on tavallaan kohti jälkipuoliskolla puhelinluettelon. Miksi hitossa olen alkaen alussa ja menee sivulle sivu sivulta. Niin tietysti, voisin käännä se ympäri ja alkaa takaisin, mutta joka nappaa minut sinne samalla nopeudella, jos willl-- sivu kun sivu toisensa jälkeen. Ja se ei tule toimimaan, jos haluan etsiä joku muu, jonka nimi tulee aiemmin aakkoset. Joten mitä jos teen mitä oppinut alakoulussa, jälleen, tehdä asioita ei mukaan joukkoon, mutta kaksittain. Joten 2, 4, 6, 8, 10, 12, ja niin edelleen. Pitääkö tämä paikkansa? Ei. Se on tavallaan oikeassa. Mutta jotkut teistä, jotka nurisivat no, missä on ongelma, tai vika, virhe niin sanotusti. Joo. OPISKELIJA: Saatat ohittaa yli oikea merkintä. DAVID MALAN: Joo. Saatan ohittaa Mike Smith on koska olen ottanut kaksi sivua kerralla ja hän vain sattuu olemaan välissä näiden kahden sivua. Saatan ymmärtää, että Olen edelleen T § ei todettuaan Mike Smith vielä. Ja niin mitä voisi kiinteän olla? No, jos en osuma Ts puhelinluettelosta, En ehkä kaksinkertaistaa takaisin yhden tai niin sivulle. Joten se on korjattavissa, mutta se ei ole aivan niin yksinkertainen kuten juuri menossa kaksi nopeuttaa minun suorituskykyä. Mutta mitä? Tule. Mikä on mitä useimmat ihmiset ovat menossa tehdä tällaista puhelinluettelo? Olet antanut puhelinluettelosta. Mitä sinä teet? Mikä tuo on? Mene keskelle. Joten kuulin mennä keskelle, ja minä Huomaan karkeasti M osassa, niin sanoakseni. Ja nyt, mitä minä haluan tehdä? Hyvää työtä. Mikä sinun nimesi on? JAMES: James. DAVID MALAN: James, kaikki hyvin. Mitä teen seuraavaksi? JAMES: Menet puoli, joka on S: n. DAVID MALAN: Selvä. Aion mennä puolet on S: n koska, jälleen, määräys täällä oli että tämä asia on lajiteltu. Se on aika hyödytön 1000 sivut jos Verizon ei varsinaisesti lajitella nämä asiat meille kautta Z. Joten jos tiedän Mike lienee jälkipuoliskolla puhelinluettelosta, Voin nyt. [Nauraa] Revi ongelma kahtia. [SUOSIONOSOITUKSET] Kiitos. Revi ongelma kahtia. Tämä oli todella real-- että taistelu. Joten repiä puhelinluettelosta kahtia, jolloin itse jossa pohjimmiltaan sama ongelma. Mutta tietenkin, puolet tästä. Ja jos seuraan Jamesin neuvonta jälleen, ja menen tänne. Sanon, oi nyt olen T §. Ja niin tietysti I voi repiä puhelinluettelosta puoli yhden kerran, jättäen minulle ongelma, joka on nyt neljäsosa koko. Joten olen mennyt 1000 500 on 250-125 ja niin edelleen. Tuntuu siltä, ​​että olen ottaen isompi puree pois Tämän ongelman keskenään iteraation tai jokainen askel siinä. Ja todellakin, aika aion viettää löytää Mike Smith tässä esimerkissä on niin paljon vähemmän, koska lopulta olen menossa vuolla tämä pone kirjan alas vain yksi yksinäinen sivulle. Ja jos Mike on sillä sivulla, olen menossa eteenpäin ja antaa hänelle Puhelun löydettyään hänet. Mutta miten paljon parempi on se, että algorithm-- että uskalla sanoa intuitiivinen algorithm-- kuin mitä me alkoi josta olemme hyvin linear-- vasemmalle right-- vauhdilla 1 tai 2 x? No, juoni tätä. Meillä ei tarvitse huolehtia liikaa matematiikka tai numeroita tässä asiassa. Me katsokaa juoni. Joten x, tai vaaka-akselilla, on koko problem-- kuinka monta sivua ovat siellä. Y, tai vertikaalinen akseli, kuinka paljon aikaa on se vie minua ratkaisemaan sitä. Ja ehkä se kuinka monta sivu kääntyy, kuinka monta sekuntia, miten many-- jotkut yksikkö toimenpiteitä. Ja olen piirtänyt punainen suoria linjoja täällä, koska jos kunkin sivun puhelinluettelon, I vaatia tehdä yksi ylimääräinen vaihe. Joten jos Verizon lisää yhden lisää sivun ensi vuonna, Olisin kääntää yhden sivun löytää joku Mike Smith. Samaan aikaan, toinen algoritmi, joka Menin kaksittain, on sama muoto. Se on edelleen hyvin lineaarinen, erittäin vasemmalle oikea, ottaen yhtäläinen bytes joka kerta, mutta rinne on hieman pienempi. Esimerkiksi, jos koko Ongelmana olivat karkeasti täällä ja käytin ensimmäinen algoritmi, Saatan päätyä aina yläreunassa että punainen viiva. Mutta jos sen sijaan käyttää ja twosies lähestyä, keltainen viiva ehdottaa koska se on pienempi, että se tulee viemään minulle vähemmän aikaa ratkaista. Mutta mitä muotoa Kolmas algorithm-- uudelleen, luultavasti intuitiivisin algoritmi? No, se näyttää hieman jotain tällaista. Se kaareva tai logaritminen, muodoltaan. Ja vaikka se ei koskaan sellainen vaakasuuntaan, se asymptoottisesti tuumaa ylös ja ylös ja ylös, mutta hirveän hitaasti vs. kaikki muu. Ja mitä ottaa pois? No, me kutsumme sitä log n. Mutta mitä se oikeastaan ​​tarkoittaa? No jos Verizon kaksinkertaistui sivumäärä puhelinluettelossa ensi vuonna 1000 2.000. Kuinka monta askelta on minun Ensimmäinen algoritmi vie? Ensimmäinen algoritmi. Ehkä 1000 askeleen. Jos he kaksinkertaistui puhelinluettelo, aion täytyy selata toiseen 1000 sivua löytää Mike. Tietenkin, jos toinen algoritmi, ehkä 500 koska olen menee kaksi kertaa niin nopeasti. Mutta jos Verizon kaksinkertaistaa Sivujen välillä tänä ja ensi, minun kolmas algorithm-- kuilun ja valloittaa että James ehdotettu, menossa puolet ja puolet ja half-- kuinka monta vaiheet se vie minut ensi vuonna on puhelinluettelo koko 2000? Vain yksi. Koska yhdellä purenta, voin ottaa, pois, että ongelman puolet sivujen pois. Ja jos ajattelee tästä hieman Järjettömän now-- jos puhelinluettelo ei on 1000 tai 2000 sivua, mutta sanokaamme 4 miljardia pages-- se on iso puhelin book-- miten monta kertaa tai kuinka monta askelta on se vie minua löytämään Mike Smith puhelinluettelosta jossa 4 miljardia sivua. Voit tavallaan alkaa tehdä matematiikka. Selvä. 4 miljardia jaettuna 2. Niin, että 2 miljardia jaettuna 1. Se on 1 miljardi. Sitten puoli miljardia. Sitten 250-- joten voit tehdä tämän uudestaan ​​ja uudelleen, mutta ei niin monta kertaa ennen saat yhden sivun. Ja todellakin, vaikka puhelin Kirja on 4 miljardia sivua pitkä tai tietokannan etsimäsi on 4 miljardia kirjaa pitkä, se vie annat tai ottaa 32 vaiheet vain löytää Mike Smith. Ja jos kaksinkertainen puhelinluettelon seuraava Vuoden 4000000000-8000000000, 33 vaiheet sijasta vain 32. Ja tämä on osoitus yksi ideoita että voisimme omaksua atk tiede yleisemmin mikä on tämä laskennallinen ajattelu ja lähestyy ongelma rehellisesti käyttäen työkaluja sinun jo tuttu työkalu kit-- reaalimaailman kanssa joka olet tuttuja, mutta hyödyntämällä näitä ideoita todella ratkaista ongelmia. Mutta meidän täytyy virallistaa meidän ratkaisuja näihin ongelmiin. Ja niin haluan esitellä hetkeksi me kutsua pseudokoodit. Suuri osa lukukauden, me viettää käyttämällä Varsinainen koodi kieliä kuten C ja PHP ja JavaScript ja SQL yms. Mutta nyt, nyt katsokaa jotain melko intuitiivinen kuten Englanti. Saatan tislata että algoritmi, jolla Löysin Mike askeleiksi näin. Poimi puhelinluettelosta Ottaa keskellä puhelinluettelon Katso nimeni Jos Mike on yksi nimi: n Soita Mike If Smith on aiemmin kirjasta Avoin keskellä vasen puoli kirjasta Muuten mene riville 3 If Smith on myöhemmin kirjan Avoin keskellä oikea puoli kirjasta Mene riville kolme Muu Luovuttaa Ja siellä on muutama ominaisuuksia nyt Tämän jotka ovat syytä huomauttaa. Joten, kaikki rivit Olen korostettu keltaisella aiomme aloittaa kutsuvan lausuntoja tai toiminnoista. He ovat vain teoillasi Tämän, ja siellä ei ole kovinkaan paljon vaihtelua siihen. Seuraava askel tässä kuitenkin, nämä conditions-- jos, else, else if, else. Ja nämä ovat nimeltään olosuhteet, tai oksat, ja he päätöskohtien. Ja he antavat meille mahdollisuuden tehdä jotain ehdollisesti. Ja itse asiassa, otetaan nopeasti katsokaa ehkä tuttu face-- soitamme hänelle Bill-- ja mitä nämä olosuhteet, miten niitä voidaan käyttää. Bill Gates: Ihmiset tekevät päätöksiä päivittäin. Esimerkiksi ennen kuin mennä ulos teitä sellainen on, jos ilmoitus, joka sanoo, jos sataa, niin minä täytyy saada takkini. Ja tietokoneet ovat hämmästyttäviä kun päättää tuollaisia ​​lausuntoja että ne voidaan luotettavasti suorittaa niitä asioita uskomattoman nopeudella. Ja niin tietokoneohjelma todella on hieman matematiikkaa ja joidenkin jos lausunnot jos päätös saa tehdä. DAVID MALAN: Nyt Keskitytään muutaman eri lines-- jotka olen korostanut keltaisella täällä. Ja se osoittautuu olemassa erilaisia tapoja ilmaista tätä ajatusta. Mutta intuitiivisesti mitä linjat 8 ja 11 että olen korostanut täällä kerron tehdä? Kyllä, mene riville 3, mutta mitä käytös on todella asiakkuutta? Se on jonkinlainen silmukan tai kierron, ja voit eräänlainen nähdä sen. Oikea? Jos rivillä 8, menet takaisin linja 3, ja sitten osut linjan 8 uudelleen, voit mennä takaisin linja 3, takaisin linja 3, takaisin linja 3. On tällainen sykli tai silmukan. Ja todellakin, joka on aiheutettiin line 11 mahdollisesti samoin. Ja tämä on perus ohjelmointi rakentaa samoin. Et ehkä halua vain tehdä jotain lausuman tai tehdä jotain ehdollisesti ehdon tai haara. Haluat ehkä tehdä jotain syklisesti silmukka. Ja meillä on joku muu, jonka kanssa saatat olla familiar-- soitamme hänelle Mark-- selittää tätä käsitettä tässä. Mark Zuckerberg: One asia, että tietokoneet ovat todella hyvä toistaa komentoja. Koska henkilö, saat luultavasti todella tylsää jos piti tehdä sama asia paljon kertaa peräkkäin, mutta tietokone voi tehdä saman asian miljoonia tai jopa miljardeja kertoja ja ei kyllästy ja voi sen toteuttamiseen todella hyvin. Niinpä esimerkiksi, jos olen haluavat toivottaa kaikille Facebook hyvää syntymäpäivää lähettämällä heille sähköpostia, se saattaa kestää minulle enemmän kuin luvulla todella kirjoittaa kaikki nämä sähköpostit kaikille. Mutta vain muutaman rivin koodia, voin on järjestelmä lähettää sähköpostin kaikille Facebook haluaa heille hyvää syntymäpäivää. Niin, että mitä silmukoita ja miksi he arvokkaita ja jotain että tietokoneet voivat tehdä hyvin. DAVID MALAN: Kiitos ystävillemme at code.org näiden kahden elokuvia. Ja juuri viime viikolla, saatat olla Nähdään, että Mark Zuckerberg ja Facebook lähetetty tämän ilmoituksen, joka on, että ne vain ovat läpäisseet tärkeä virstanpylväs ensimmäistä kertaa. 1 miljardi ihmistä käyttää Facebook yhden päivän, erityisesti viime maanantaina. Yksi seitsemästä ihmisillä maan päällä ilmeisesti kirjautunut Facebookiin. No, tämä näyttää hyvä tilaisuus muistella missä Facebook alkoi, ja kävimme läpi CS50 omien arkistot koska se kääntyy pois vuonna 2005 Mark antoi vierailuluennon in CS50. Huomaat, että tuotannon arvoja eivät olleet aivan samat tuolloin kannalta teknologian käytettävissä, ja voit myös nähdä, että läsnäolo Tämän vierailuluennon ei välttämättä herättäminen edun ylioppilaskunnassa, edeltäjänne, niin paljon kuin se voisi olla vain muutamaa vuotta myöhemmin. Joten katsomaan at Science Center C. SPEAKER 2: Ole hyvä liittyä minua, ja tervetulleita. [SUOSIONOSOITUKSET] Mark Zuckerberg: Yo. Selvä. Cool tämä on ensimmäinen kerta kun olen ikinä täytynyt pitää näistä asioista. Joten olen juuri menossa kiinnitä se todella nopeasti. Selvä. Kuuletko sen? Onko tämä hyvä? Onko tämä täydennetty ollenkaan? Selvä. Makea. Niin, tämä on kuin yksi ensimmäisistä kertaa Olen ollut luento Harvardin, mutta-- DAVID MALAN: Eli lopulta Science Keskus teki zoomata video, mutta ei ennen syömällä tätä ote missä Markin puhumisen jossa hän keskusteli hänen kämppäkaveri, Dustin, joka halusi lainata käsi tämän sivuston nimeltä Facebook.com ja huomasi, että Mark on aikeissa mainita ohjelmointiin languages-- yksi nimeltään Perl, yksi nimeltään PHP-- kun hän keskustelee alkuperä Dustin panosta. Mark Zuckerberg: I alkoi näkyä sivustolla ja käynnisti sen Harvard helmikuussa 2004. Joten kai melkein kaksi vuotta sitten. Ja parin viikon ajan, muutama tuhat ihmistä oli allekirjoittanut, ja aloimme saada joitakin sähköposteja ihmisiltä muissa oppilaitoksissa kysyy voimme käynnistää sen kouluissa. Ja Otin 161 tuolloin. Joten en tiedä, jos te tiedätte maine, joka tietenkin, mutta se oli sellainen raskas. Se oli todella hauskaa tietenkin, mutta se ei ole jättänyt minua paljon aikaa tehdä mitään muuta Facebook. Joten kämppäkaverini Dustin, joka kai oli juuri päättynyt CS50, oli kuin, hei. Haluan auttaa. Haluan tehdä laajennus ja auttaa voit selvittää, miten tehdä juttuja. Joten olin kuin, se on aika siistiä, dude. Mutta et todellakaan tiedä mitään PHP tai mitään sellaista. Niin, että viikonloppuna hän meni kotiin, osti kirjan Perl for Dummies, palasi ja oli kuin, kunnossa. Olen valmis lähtemään. Olin ihan, jätkä, sivusto on kirjoitettu PHP ei Perl, mutta se on siistiä. Niinpä hän piristyi PHP yli kuin muutaman päivän, koska olen luvata, että jos olet hyvä tausta C, PHP on hyvin yksinkertainen asia poimia. Hän juuri sellainen meni työtä. Ennen me katsomaan nyt jos kurssi on menossa, saanen kutsua vain joitakin of SC50 henkilöstö ylös vaiheeseen. Jotkut heistä ovat ostoksilla omia kursseja. Mutta jos nämä TF: t ja CA ja kurssi päät, jotka ovat täällä voisi tulla ylös ja yhtyä nopeaa hei. Saanen esitellä erityisesti, Hanna Maria, Daven, ja Rob, CS50: n kurssi päänsä täällä Cambridge. [SUOSIONOSOITUKSET] DAVID MALAN: Todellakin, osoitus tukirakenne, että kurssi on rakennettu viime vuosia, CS50 henkilöstön tänä vuonna määrä lähes 100, ja se on täällä Cambridge yksin. Samaan aikaan New Haven, on olemassa joitakin 40 TF: t ja CA ja henkilökunnan jäsentä siellä juosta kurssin samoin. Avulla voimme esitellä ensin Rob Bowden. ROB BOWDEN: Hi. Olen Rob. Tämä on minun kuudes vuosi TFing kurssin. Joten, aina takaisin minun lukuvuoden aikana, en ottanut CS50. Your fuksi fall-- saatat tuntea että voit vain ottaa neljä kurssia ja on niin paljon kursseja tänään. Joten olen kuin, eh. Otin AP HT minun vanhempi vuoden lukiossa se oli kamala. Joten, Olen kuin, eh. Tietojenkäsittelytiede ei ole minua varten. Niin se oli ohi Tietenkin minun fuksi fall, että minulla oli ystävä CS50, ja Uskon osallistui yhteen luento hänen kanssaan. Se on kuin, oh, tämä on tavallaan parempi kuin mitä oli lukiossa. Ja aikana vuosi, minulla oli oma ongelma sarjaa kursseille olin itse ottaa. Mutta huomasin, että aina kun halusi vitkastella niihin, Haluan palata CS50 ja tarkastelemme joitakin että tavaraa. Niin, joo. Olen viileä. Olen Viivyttely kanssa koodaus. Niin se lopussa syksyllä, että ymmärrän, hei, tietojenkäsittelytiede on aika siistiä. Päädyn ottaen CS51. Vuonna seuraavan lukukauden, Päädyn ottaen CS61. Ja kaikki sieltä, sitten lopulta julistaa tietojenkäsittelytiede, jota oli mitään aikomusta tehdä kun tulin yliopistoon. Ja nyt olen täällä. Eli kurssi on mitä teet siitä. Toivottavasti nautit siitä. [SUOSIONOSOITUKSET] DAVID MALAN: Kiitos Rob. Ja nyt Maria, meidän pää assistentin. MARIA: Hei. Nimeni on Maria. Olen toisen vuoden opiskelija Cabot House, tulevat Bulgaria, ja olen erittäin innoissani osa henkilöstöstä tänä vuonna. Otin CS50 kuin fuksi viime vuonna, ja en koskaan edes ajatellut CS etukäteen. Olen siis ehdottomasti rakkauden tietenkin, ja minä Toivottavasti kaikki rakastamme sitä niin paljon kuin minä. Ja joo. Tervetuloa CS50. DAVID MALAN: Kiitos Maria. [SUOSIONOSOITUKSET] Nyt Hanna, päämme opetus kaveri. HANNA: Hei, olen Hanna. Olen vanhempi Cabot opiskelu tietojenkäsittelytiede. Otin CS50 kuin fuksi ja oli ollut TFing-- tämä tulee olemaan kolmas vuosi. Joten aion onneksi mukana in CS50 Kaikkien neljän vuoden ajan, ja olen innolla työskennellä kanssanne kaikki. DAVID MALAN: Kiitos Hanna. [SUOSIONOSOITUKSET] Ja lopuksi, Daven, meidän precepter. Daven: Hei. Olen käskyn ohi tietojenkäsittelytiede täällä. Tämä tulee olemaan jo neljäs vuosi opetusta. Olen myös auttaa hallitsemaan kurssin. Joten olen varma näet minut ympäri, erityisesti virka. Olen aina toimistossa tuntia. Joten jos näet minut kävely noin, ehdottomasti tulla moikkaamaan. Rakastan tavata kaikille. Muuten on hauskaa, ja minä Nähdään. DAVID MALAN: Kiitos Daven samoin. Joten tapaat kaikki nämä ihmiset ennen pitkää. Mutta ilman puheitta, jos te olisi haluavat jatka paikkaa aikaisemmin. Saanen esitellä kaukaa nyt jotkut ystävämme New Haven, erityisesti kurssin päätä kuka will voida valvoa CS50 there-- Professor Brian Scassellati, Jason, ja Andi, jotka just-- jotta emme uhmata kohtaloa minkä tahansa FaceTime tai like-- juuri lähettänyt meille minuuttia sitten seuraava video, jossa he sanovat hei alkaen luentosalissa at Yale, jossa luento lähetetään virtana juuri nyt. Joten ystävämme Yalen. BRIAN Scassellati: Hei, David. Hei kaikki Harvardin. Olemme niin innoissamme tuo CS50 Yalen tällä lukukaudella. Nimeni on Brian Scassellati, mutta kaikki vain kutsuu minua scas. Ja olen täällä tänään ottaa käyttöön teille CS50 henkilökunta. [Hurraavat] Ja mikä tärkeintä, olen täällä ottaa käyttöön, sekä kaikki opiskelijoiden Yale jotka tästä aamusta ovat tehneet tämän suosituin Tietenkin Yalen CS50 opiskelijoille. [Hurraavat] Joten olemme hyvin innoissamme voidaan nähdä sinut täällä perjantaina ja lauantaina Puzzle Day ja on suuri luento. Bye. [SUOSIONOSOITUKSET] DAVID MALAN: Ruudulla tässä nimet joidenkin 140 työntekijää jäseniä, jotka odottavat sinua yli aikana semester-- jotkut täällä Cambridge, jotkut niistä täällä New Haven. Ja todellakin sinun on tilaisuus lauantaina, kuten CPSA muistiinpanot, osallistua CS50 Puzzle Day. Olet ehkä nähnyt pieni palapelin palaset liukastui alla oviaukkojen äskettäin. Meillä on muutama extrat täällä myöhemmin, kun olet olemassa. Jos koota kaikki neljä palapeliä kappaletta ja yhdistää voimansa huonetta lähellä sinun omassa talon tai asuntolan, he kokoontua QR code-- tai kaksiulotteinen viivakoodi, joka kokoonpanemat ja skannataan puhelimen johtaa sinut Joidenkin upea palkinto or-- kai voisitte kuvata tätä nyt yhtä hyvin. Mutta löytää ne palapelin palaset kuitenkin saadakseen että fabulous palkinnon. Ja todellakin yksi perinteiden in SC50-- ah, liian hidas. Yksi perinteiden CS50 on palvella kakku jälkeen ensimmäisen luennon. Ja niin todellakin, vuonna Muutaman minuutin kuluttua, tulee olemaan kakku tarjoillaan ulkona niin täällä New Haven samoin. Mutta first-- me koristeltu niitä itse. Mutta first-- ja toivottavasti siellä tulee olla tarpeeksi. Mutta ensin vilkaista. Joten luennot todellakin on tuotettu enimmäkseen täällä Cambridge. Mutta joka kuukausi, me hop alas Yale kanssa CS50: n tuotanto joukkue ja stream kurssi päinvastaisessa suuntaan sekä niin sillä tuoda nämä kaksi kampuksilla todella ensimmäistä kertaa historiassa niin lähellä toisiaan kuin mahdollista yhtenä samassa kurssin. Mitä tukirakenteen, joka on otettu nousi täällä Cambridge samoin kuten New Haven, ovat kohdat. Kuten jotkut teistä tietävät, meillä on erilaisia ​​kappaleita sisällä kurssi niille vähemmän mukava, mukavampaa, ja jossain välissä niin, että riippumatta oman ennen tausta, voit lopulta onnistua luokassa. Office tuntia välin, ovat mahdollisuus maanantaisin ja tiistaisin ja torstai-iltaisin toimia molempiin täällä ja New Haven meidän kurssin ongelma asettaa kymmeniä Kurssin henkilökunta lähelläsi. Ongelma asettaa välin, ovat tukevat asiat me kutsumme walkthroughs, jotka videopohjaiset opetusohjelmia, jotka todella vastaamalla FAQ on mistä aloittaa viikon haaste. Ja postmortems opastaa kautta mahdollisia ratkaisuja niin, että pää ongelma liian, et tietää tarkalleen, mitä olisi voinut tehdä eri tavalla tai kokonaan toisin. Ongelma asettaa itse tulla kahtena versiona, Standard Edition että odotamme ja kutsua useimmat class-- noin 90% plus do-- ja ns hakkeri painos johon jokaisella sivulla on emblazoned hakkeri painos, hakkeri painos, hakkeri painos, niin että sinulla on, että karma jos haluatte, sukellusta osaksi kehittyneempiä versioita kurssin ongelma sarjaa että kansi näennäisesti samaa materiaalia mutta kehittyneempi lähestymistapa ja ylimääräisiä tausta joskus käyttöön. Samaan aikaan on olemassa yhdeksän myöhään päivinä voit hakea kurssin ongelma asetetaan sekä alin pistemäärä, jota pudota ehdoin lopussa. Mutta mitä odottaa? No, maku ongelma asetetaan käsillä perjantaina ja ensi viikolla missä harrastella vain muutaman päivän jotain nimeltään Scratch, graafinen ohjelmointi kieli kehittämä ystävämme MIT: n Media Lab, jonka avulla voit ohjelmoida joko ensimmäistä kertaa tai uudessa ympäristössä kokonaan käyttämällä vedä ja pudota kaltaisessa ympäristössä. Jolloin palapelin palat Vain lukitsemaan yhteen jos se tekee loogista tehdä niin. Samaan aikaan ongelma asettaa kaksi viime vuonna esimerkiksi, ei esittelemme luokan maailmaan salakirjoituksen, taidetta salaavat tai muokkaamisella tiedot. Itse asiassa tämä teksti tähän jos salaus, todella johdattavat hauskaa määränpäähän. Ja ongelma asetettu, mitä meillä oli opiskelijoita do on toteuttaa juuri niitä Erilaisia ​​things-- algoritmin, tai joukko ohjeita muokkaamisella ja muokkaamisella tiedot. Ja hakkeri painos Saman ongelma asetettu, ei me haastaa opiskelijat ottamaan salattu tiedosto tyypillinen tietokoneesta järjestelmä, jossa on paljon käyttäjätunnuksia ja salattuja salasanoja ja murtaa ne passwords-- todella selvittää mitä ne olivat tietämättä mitään priori niistä todellista salasanoja. Samaan aikaan, me siirtymisen ongelma asettaa sen jälkeen katsomalla maailmaan grafiikka. Ja itse asiassa, voisi kuvitella Nyt, että tämä voisi ehkä olla yksinkertaisin tapa esittää mustavalkoinen kuva. Valkoinen pikseli, tai neliö, kuten ylhäällä oikeassa, voisi edustaa kanssa 1 ja musta neliö voisi edustaa kanssa 0. Ja vain käyttämällä enemmän bittejä kuin me Ehdotettu aiemmin 72 ja 73 ja 33, voisimme esittää väripikseleitä samoin. Ja mitä teemme aikana Tämän ongelman joukko on yleensä kestää kävellä kampus digitaalikameralla, Valokuvaan ihmisiä, paikkoja ja asioita. Sitten jotenkin lukukausittain, näytämme vahingossa poistettu tai vioittunut muistikortille jona kaikki nämä kuvat ovat, ja niin haastetaan ja sitten kirjoittaa ohjelmistoja jolla toipua niitä JPEG mistä kopio meidän kameran kortilla. Samalla me käsi sinulle myöhemmin termi sanakirjan Englanti sanat että on 143000 sanaa, ja sinun täytyy keksiä älykkäällä tavalla niiden lataamista muistiin, tai RAM niin sanotusti vastata kyselyt muotoa: on tämä sana, on tämä sana, toteuttamiseksi nopein oikoluku että voit, jopa pinning itse mahdollisesti vastaan ​​luokkatoverit mitkä teistä käyttää vähiten aikaa ajettaessa koodi ja jopa vähiten muistia. Myöhemmin termi sinä itse toteuttaa oma web-palvelin. Joten ei vain verkkosivuilla kieli kutsutaan HTML ja enemmän, mutta web-palvelin, joka todella kuuntelee pyyntöjä internetissä ja vastaa niihin. Ja todellakin, näin me silta meidän maailma C joka sinun tutustuu ensi viikolla ja PHP ja HTML ja JavaScript ja CSS ja vastaavat. Koska yksi ensimmäisistä web-pohjainen Projekti teemme myöhemmin aikavälillä on historiallisesti CS50 Finance. Etrade.com tyyli sivusto, joka sallii voit ostaa ja myydä varastoja käytännössä samalla kirjoittaa koodia puhua Yahoo Finance saada puolittain reaaliajassa varastossa lainaa päivittämiseksi oman salkun. Mutta lopuksi tietenkin, on lopullinen project-- mahdollisuus tehdä melkein mitä of kiinnostavan sinua ratkaista ongelma tai pidemmälle kiinnostaa te se jotenkin inspiroi jonka opetukset luokassa. Ja luokka, kuten ehkä tiedätte, huipentuu ns CS50 hackathon ja CS50 Fair ja rajoittamattoman määrän Muiden kulttuuritapahtumien koko lukukauden että voit käydä toisiinsa ja kurssin henkilökunta. Esimerkiksi kello Fire and Ice Sitar tänä vuonna, no, perjantai-iltapäivisin, kutsumme noin 50 oppilaita lounas kuka haluaisi liittyä meihin, itse, ja henkilökunta, ja ystävämme teollisuuden ja alums keskustella elämästä reaalimaailmassa ja sen jälkeen nauttia hyvän lounaan. Tällä hackathon tulee näet tällaiset kuvat koska nämä, myös runsaasti candy-- ja vuodesta 2014 ensimmäinen time-- vihannekset. [SUOSIONOSOITUKSET] Mutta 05:00, ei kohtaus yleensä näyttää hieman jotain tällaista. Ja sitten vain viikon tai niin myöhemmin, on CS50 Fair johon noin 2000 plus opiskelijoiden ja henkilökunnan ja tiedekunnan jäsentä ympäri kampuksen ja yli kampuksilla tänä vuonna tulevat katsomaan ja iloita saavutuksia CS50 opiskelijoita, jotka Nyt te. Ja todellakin, vaikka tänä vuonna will yllytätte ja Büsing ketään at Yale jotka haluaisivat keksiä Cambridge tämä lauantaina CS50 palapeli Päivä, ja me teemme täsmälleen sama asia joulukuussa CS50 hackathon niin että Harvard ja Yale opiskelijoille samankaltaisia ​​osallisiksi molemmissa näistä tapahtumista. Tulemme myös järjestää CS50 messuilla Cambridge ja New Haven tänä vuonna niin että opiskelijat molemmin kampuksilla ja henkilökunnan ja tiedekunnan nähdä jokaisen vastaavaan kampuksen saavutus. Ja ne saavutukset indusoi tällaisia ​​muistin koska tämä ja tämä ja lopulta Tässä, jossa te kaikki poistua luokan yllään hieman jotain joka olit toivottavasti mielellään tai ylpeä siitä, että otin CS50. Mutta ennen sitä ja ennen kuin palvella kakku, kokosimme together-- ansiosta CS50: n tuotantotiimi ja tietty itse tikku, kerran jota käytämme tällaisia ​​asioita for-- kun lähetti sen ei vain täällä Cambridge mutta myös New Haven kerätä muutaman hellos päässä Tietenkin henkilökunta ja kaikki ihmiset tapaat sekä täällä New Haven seuraavien kuukausien aikana. Saanen esitellä muutama enemmän CS50 henkilöstön. Mark Zuckerberg: Oliko jotka tekevät sen mennä? Voi, se on menossa. Se menee. Ooh. Yarr! [Musiikki soi ANDY GRAMMER, "Kulta, olen  HYVÄ"] MARY: Tämä on Caitlin. Se on Jay, ja olen Mary. SATO: Hei, kaverit. Olen Sato. MICHAEL G .: Hi. Nimeni on Michael, G. DOUG Lloyd: En ole. Ei. Olen Doug Lloyd. En voi uskoa, että olen holding selfiekeppi juuri nyt. SPEAKER 4: Hi. SPEAKER 5: Hi. SPEAKER 6: Hei. SPEAKER 7: Hi. SPEAKER 8: Hei. Olemme ripustettu Yalen. Olemme todella innoissani tällä lukukaudella koska se on Ensimmäistä kertaa se on tulossa Yalen. Se tulee olemaan mahtava! [MUSIIKKIA] JACOB Scherba: Nimeni on Jacob Scherba. Olen innoissani opettaa CS50 koska uskon se tuo tietojenkäsittelyä ihmisiä ja helposti lähestyttävissä tavalla. SPEAKER 9: Olen todella innoissaan opettaa CS50 koska otin luokan viime vuonna, ja se on yksi parhaista luokkiin. SPEAKER 10: Joo. Minun neuvoni on sinun pitäisi ottaa CS50. JACOB Scherba: Valitsin CS koska Minusta se on hauska ja luova tapa ratkaisemaan ongelmia analyyttisesti. SPEAKER 11: Takaisin kun olin pieni fuksi ja pelkää tietojenkäsittelytiede ja pelkää tehdä suunnittelu ja tavaraa, se oli ensimmäinen kova luokan otin, ja se oli myös suosikkini luokan koskaan. DOUG Lloyd: Tämä on minun yhdeksäntenä opetus CS50. Se saa minut kuulostamaan niin vanha! Siellä on aina jotain uutta. Siellä on aina jotain jännittävää. On aina uusia haasteita uudet opiskelijat, ja se on hauskaa auttaa heitä ja kokea näitä haasteita niiden kanssa ja auttaa heitä ratkaisemaan ongelmiaan. SPEAKER 12: Kun ensimmäinen oppinut tehdä CS, se oli kuin oppimisen suurvalta. Ja nähdä, että muut opiskelijat ja auttaa heitä läpi prosessin on yksi palkitsevaa asioita olen koskaan. SPEAKER 7: Valitsin CS koska alkaa, olin matematiikka keskitin ja otin CS50 ja rakastui siihen. Olen myös sitä mieltä, että CS, voisin rakentaa asioita. Ja se, ajattelin, oli todella siistiä näkökohta. SPEAKER 13: Ohjeita uusille opiskelijoille on mennä virka ja hengailla mahtava TF: iä. SPEAKER 14: Aloita P-setit aikaisin, mene virka, tullut frends kanssa TF. SPEAKER 15: Joo. Kaikki hän sanoi. SPEAKER 16: Älä pelkää pyytää apua. SPEAKER 17: Joo. SPEAKER 18: Aloita P-setit aikaisin. SPEAKER 19: Se on suuri sosiaalinen kokemus. Tee paljon ystäviä tällä tavalla. SPEAKER 14: Mene jakso Se on hauskaa. SPEAKER 11: Tarkoitan, mene siitä. On todella vaikea. Saat irti mitä olet tehnyt sen, mutta se on todella hauska luokka varsinkin jos olet valmis ottamaan aikaa siihen, mutta se auttaa, jos laitat aikaa siihen. Saat paljon enemmän pois sitä myöhemmin. MIKE: Olen Mike. CAMILLE: Olen Camille. Hanya: Olen Hanya. MATT: Olen Matt. PETER: Olen Peter. PHILLIP: Olen Phillip. PATRICK: Olen Patrick. ROB BOWDEN: Olen Rob Bowden. BRIAN Scassellati: My nimi on CPSA, ja this-- ALL: --is CS50. SPEAKER 20: At Yale. SPEAKER 21: At Yale. [Nauraa] DAVID MALAN: Se on se CS50. Nähdään Yalen päälle Perjantai, Puzzle Day lauantaina. Kakku on nyt tarjolla. Tämä on CS50. [MUSIIKKIA]