>> [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]