[Powered by Google Translate] [ROCK MUSIC]
[MUSIC - "Happy Together" TURTLES]
DAVID MALAN: Tänään aloitamme tutkia
perusteet tietojenkäsittelytieteen ja esittelyyn,
nyt, että taiteen ohjelmoinnin, joista se on
vain yksi esimerkki.
Mutta samalla linjalla ongelmanratkaisuun, tietää, että
CS50 perinteinen Puzzle Day on huomenna.
Jos et ole vielä vastannut tähän tapahtumaan, voit mennä
cs50.net/rsvp.
Voit tuoda joukkuetta kaksi tai kolme tai neljä.
Sinut haastetaan ongelmia, kuten yhden näit
siellä alussa.
Kaikki uudet ongelmat tänä vuonna, jos söi viime vuonna, ja sinä
on mahdollisuus sitten voittaa upeita palkintoja.
Niistä, Wii ja jotkut lahjakortteja ja vastaavat,
kaikki samalla hengailua CS50 opiskelijoiden ja luokkatoverit
ja pizzaa ja Facebook.
Joten lisää, että huomenna jos haluat.
>> Tämä on siis CS50, niille teistä liityit
ensimmäisen kerran.
Ja tiedän, että tämä kurssi on erityisen päättäneet saada
läpi tämän kurssin lopullisia, jolloin sinun
on paitsi käsitys näistä
perusteet tietojenkäsittelytiede, mutta sinun on
Tämä erittäin käytännöllinen taito asettaa, että voit viedä takaisin
oma osasto, onko se insinööritieteiden
sovelletun matematiikan, fysikaalisten tieteiden, luonnon
tieteen, tai vastaavaa.
Todellakin, mikä on niin jännittävää tietojenkäsittelytiede näistä
päivinä on, että se on vain niin sovelletaan
kaikenlaisia ​​aloilla.
Ja vaikka tänään, me vain naarmuttaa pintaa
hyvin perinteinen ohjelmointikieli tunnetaan C, hyvitämme
vaan katsoa jotain kutsutaan Scratch, jotain
jossa kyseinen eväste rakkaustarina pantiin täytäntöön joku
edeltäjien takavuosina, kertoa tarinoita, luoda pelejä,
luoda vuorovaikutteisia taidetta, ja todella alkaa kääriä meidän
mielissä noin joitakin perustavanlaatuisia rakenteita, jotka
taustalla ohjelmointi mutta tilanteessa, kuten näet, se on
paljon vähemmän pelottava, että on paljon vähemmän mystistä, kuin näet
ennen pitkää.
Ja ymmärtää myös niille juuri liityit tähän
lukukauden, lauseita johon päädyimme keskiviikon luento,
se ei ole niin tärkeää, jos voit päätyä suhteessa omaan
luokkatoverit tässä luokassa, mutta missä viimeistään lukukauden loppuun
viikolla 11 päätyä suhteessa itsesi oikealle tänäkin päivänä.
>> Joten pitemmittä puheitta, tämä on myös hyvä huomata, että
Niille vähemmän mukava, ne jossain välissä, ovat
myös, jonka suunnittelussa tämä tietenkään ole mitään haittaa
ennakoitu suhteessa näiden mukavampaa
tulossa tähän luokkaan.
Kuten näet yli tulevina viikkoina, olemme erilaisia
raidat erilaisia ​​back tausta, kohdat niille
vähemmän mukava, mukava, ne jonnekin
välillä.
Kuten näet tänä viikonloppuna ja ensi viikolla, kaksi versiota
suurin ongelma settiä sekä vakio hakkeri painos niin
että te kaikki voi itsensä valita alas polkua, jonka kanssa
ovat mukavin.
>> Joten tänään me sukeltaa tähän ohjelmointi
kieltä kutsutaan Scratch.
Se on graafinen ohjelmointikieli, ja silti se on
samat ominaisuudet joitakin korkeamman tason kielellä hyvitämme
tutkia myöhemmin lukukauden, joukossa C ja
JavaScript ja PHP.
Mutta se tulee jotta voimme välttää joitakin häiriötekijöitä
varhain syntaksin, asioita, kuten puolipiste, sulkeita
ja muita vaikeaselkoisia yksityiskohtia, että ensi silmäyksellä, eivät vain ole
lainkaan älyllisesti kiinnostava ja taipumus saada
tavalla joitakin perustavanlaatuisia ymmärrystä.
Mitä nyt tukirakenteen eteenpäin, tajusi tämä
työkalu, CS50 Keskustele, joka liitetään päällä kurssin
sivuilla myöhemmin tänään, on online-keskustelupalsta
jotka voit esittää kysymyksiä toisistaan ​​ja
henkilökunta, ja se on myös väline, kuten näemme ensi viikolla,
että käytämme varsin integratedly vuonna
virka samoin.
Itse asiassa virka alkaa maanantaina, ja suoraan sanottuna, ensimmäinen
viikolla virka on melko pieni avain.
>> En usko huomaat Scratch kaikki saavuttamattomissa.
Se on melko itsestäänselvyyksiä, kuten tulemme näkemään, ja niin mitä
käytämme sitä tänään on poimia joitakin
perusajatukset, jotka sitten edelleen kaikkialla
loput lukukauden.
Mutta alkaa maanantaina kello 20:00 kautta 23:00 tulee
virka-ajan Annenberg yli aivojen tauko.
Leikkaus kaksi tulevat alkaa tänä iltana, joten joskus tämä
viikonloppu, mene cs50.net/section, ja sinun
pyydetään useita kysymyksiä.
Niistä miten kuvailisit
mukavuuden taso kuin tänään?
Ei ole vaikea, nopea sääntö siitä kuka joissa ämpäri.
Se on juuri sellainen asia, että luultavasti tiedätte, jos
ovat ne vähemmän mukavat tai muuten.
>> Ja nyt, walkthroughs.
Harjoitus eritelmä tällä viikolla, niin vakio
ja hakkeri painos yhtälailla on verkossa osoitteessa cs50.net jo nyt.
Ja huomaat, että ensimmäinen näistä painoksia,
Standard Edition viikossa, on mukana meidän
soittaa koodin esitystä, istunto johti yhden
Kurssin opetus kaverit opastaa, antaa
vinkkejä, ja sinut alas erityisesti polku, kun se tulee
aloittamista näitä ongelmia sarjaa.
Joten jokainen ongelma asetetaan, jos olet koskaan halunnut
itse Mistä aloitan, aloitat nämä
walkthroughs.
Ja itse asiassa, sallikaa minun esitellä Zamyla Chan, tämä
vuoden opetus sälli on johtava jokaista
yksi näistä walkthroughs.
Zamyla?
>> [Taputuksia]
ZAMYLA CHAN: Ai, hei, kaikki.
Nimeni on Zamyla.
Olen nuorempi opiskelee insinööriksi Winthrop House.
Mutta yritän ja sopivat niin monta tietojenkäsittelytieteen kursseja kuin minä
voi, minkä vuoksi olen todella innoissani johtaa tätä
vuoden walkthroughs.
Walkthroughs, minulle, olivat olennainen osa minun CS50
kokemus.
Vuoden walkthrough, jokaisen p-sarja, menemme läpi
ongelma asettaa yhdessä, katso yli ongelmiin, millaisia
jakaa ne hallittaviin puree.
Annan sinulle vinkkejä, tekniikoita, saada
kautta ja aloittaminen.
Toivottavasti näemme teidät kaikki walkthroughs.
Jos et voi tehdä sitä henkilökohtaisesti, niin
tee virittää verkossa.
>> DAVID MALAN: Erinomainen.
Kiitos, Zamyla.
Niin ymmärtää, että walkthroughs ovat todellakin perjantaina
iltapäivällä, mutta tämä on tahallaan suunnittelu siten, että
vaikka et halua osallistua luokan perjantaina
iltapäivällä, videot on kaiken nopeammin yli
viikonloppu.
Niin ymmärrettävä, että cs50.net tulee kaikki Zamyla n
walkthroughs.
Ja että nykypäivän päivämäärä ja aika, 15:00,
Harberd Hall, 104.
Ja jotkut opetuksen asiantuntijat ovat myös valmiita
muutamia huomautuksia voit poissaolevana antaa sinulle hieman
näkökulmasta, mitä heidän kokemuksensa tulossa ja
menossa ulos CS50 oli.
Joten jos voisimme himmentää valoja hetkeksi, annan teille
jotkut CS50 henkilöstön.
>> JACKSON Steinkamp: Otin CS50 viime vuoden fuksi
pudota, ja se ehdottomasti räjäytti tajuntani.
En ollut koskaan ottanut mitään ohjelmointia luokille,
eikä koskaan tuli mitään tietojenkäsittelytiede
kokemusta lainkaan.
Ja juuri, kuulin sirinä noin luokkaa ja
päätti ottaa sen.
>> JULIA MITELMAN: Se oli todella hauskaa, todella harjoittaa.
Olen edelleen tähän päivään -
Olen juuri nähnyt minulla levykettä, David antoi meille
meidän ensimmäinen päivä luento.
Olin roikkunut se minun seinään.
Tämä on luultavasti hieman nörtti, mutta olen ripustettu minun
seinä aikana luokka muistutus siitä, miten siistiä se oli.
>> TRAVIS Downs: Se on niin noloa.
>> JACKSON Steinkamp: Tietojenkäsittelytiede on jotain
kannattaa kokeilla vaikka et ole yksi
perinteiset tieteet.
Se on omien kokemustensa ja CS50 varmistaa olet
tuetaan hyvin läpi sen todellisia armeijan TF.
>> ALI Nahm: Otin sen fuksi, joten tein paljon
uusia ystäviä.
Sain myös käyttöön tämän koko keskittyminen ja
koko koulun suunnittelu, ja niin olen erittäin suosittelen sitä
ja tervetuloa meidän CS50 perheen.
>> Yaniv YACOBY: CS50 juuri opit käyttämään työkaluja
jotka ovat laajasti saatavilla.
Tarvitset vain kannettavan tietokoneen, tarvitset selaimen, ja voit
opittava kirjoittamaan koodia, ja voit todella rakentaa
siisti asioita.
>> KAREN XIAO: On vain niin siistiä pystyä tekemään jotain
ja ovat ihmiset käyttävät sitä ja ihmiset näkevät sen, ja se on
Mitä minä todella rakastan sitä.
>> TIM McLaughlin: - yhteisöllisyys, mielestäni tässä
Tietenkin enemmän kuin mikään muu Tottakai olen ottanut tähän mennessä.
Et vain ottaa toista -
et täytön toista vaatimusta.
Et juuri menossa luentoja ja menossa kohta.
Mutta teet tonnia asioita, jotka ovat kaikki noin
ohjelmointi ja kaikki tekniikasta, mutta se ei
todella tuntuu luokan suurimman osan ajasta.
>> TRAVIS Downs: Ja ensimmäisenä päivänä, he jakoivat kakku, ja
Olin heti myyty.
>> JACOB PRITT: Vapaa karkkia ja pizzaa.
>> ZAMYLA chan: - riippumatta oman edun taso, luulen
että CS50, sinulla on hauskaa, ja voit olla älyllisesti
edistettävä.
>> MARK GROZEN-SMITH: On aina juhlat luokassa, ja se on
bileet joka yö työstää p-set.
>> JACKSON Steinkamp: Aina olet ongelma, saatat
tuntuu olet valmis projekti.
>> MELISSA NIU: Se oli fuksi vuosi, ja olin tehnyt ostoksia.
Minulla oli neljä luokkaa valmiina, ja olin Annenberg.
Ja minä törmää ystävä, ja hän sanoo, hei, olen ostamassa
Tämän luokan nimeltä CS50, ja sinun pitäisi tulla minun kanssani.
Päätyi ottaen se, että syksyllä, ja sen jälkeen luokka, minä
Ajattelin Aion pieniä CS.
Mutta tässä olen, kolme vuotta myöhemmin, vielä opiskelee tietokoneella
tiede ja todella tekee sen niin suuria, ja nautin joka
hetkestä sen.
>> ROB Bowden: Minulla ei ole aavistustakaan.
>> ALI Nahm: Katsotaanpa.
>> MELISSA NIU: hulluutta.
>> SPEAKER 1: Tunnen olisin hyvin klisee.
Olin vain sanoa, niinku, mahtava.
>> Yaniv YACOBY: Accessibility.
>> JACOB PRITT: Vapaa karkkia ja pizzaa.
>> TRAVIS Downs: ei voi kääntää alas luokka, kädet pois kakku.
>> TIM McLaughlin: energinen.
>> Vipul Shekhawat: Essential.
>> ROB Bowden: Saanen ajatella vastausta.
Taisin jotain.
Voi jumala.
Joo, minun nimeni Rob Bowden, ja tämä on CS50.
>> [Taputuksia]
DAVID MALAN: Okei, joten aloitetaan maalata kuvan
ja mihin suuntaan voimme mennä, ja mennään käyttöön
tämä käsite tässä yhteydessä kutsutaan pseudokoodilla.
Joten pseudokoodina ei ohjelmointia
kieli itseensä.
Se ei ole mitään teknistä sinänsä, mutta se on vain eräänlainen
yleinen tapa ilmaista itseäsi melko tarkasti,
melko algoritmisesti, melko menettelyllisesti, mutta ilman
murehtimatta mitä kieltä olet ilmaisee
itsesi sisään
Se on joku malli Englanti ja ohjelmointikielet kanssa
jonka satut olemaan tuttu, joten voimme aloittaa
kirjallisesti tällainen asia kuin menemme.
Ja itse asiassa, Joseph, voisinko lainata sinut lavalla olevan
kirjanoppinut täällä?
Olen mennyt eteenpäin täällä etukäteen ja unohtanut laittaa
joitakin sukat tänään, ja tämä tulee olemaan keskuudessa enemmän
naurettavaa esimerkkejä.
>> Nyt, minä tarvitsen sinua täällä.
Teen sukat osa.
Joten tässä meillä on pieni muistilehtiö.
Tämä on kirjaimellisesti vain TeXturi Mac.
Emme oikeastaan ​​aio kirjoittaa runnable ohjelmaa, mutta
olemme juuri menossa aloittaa hahmotellaan pseudokoodina pohjainen
joitakin neuvoja annat minulle tänne.
Joten tässä on minun kasa sukkia kotona.
Minulla ei ole sukkia kun herään aamulla, ja nyt
täytyy kirjoittaa ohjelma, algoritmi lajittelee, joiden
saada nämä sukat jalassa.
Ja matkan varrella, katsotaanpa jos kompastua tai kohdata,
joitakin ajatuksia, että olet menossa on aloittaa
ajatellut paljon vakavammin, kun ohjelmoit
jottei ohjelmat eivät käyttäydy ihan toivotulla tavalla.
>> Joten istun täällä.
Minulla minun kasa sukkia.
Mikä on ensimmäinen asia kohtuullinen ihminen olisi
tehdä, kun tavoitteena on laittaa sukat?
Joku antaa minulle yksi askel, ja vain yksi askel.
Niin?
YLEISÖ: Taivuta alas.
DAVID MALAN: Taivuta alas, Okei.
Vaihe kaksi.
YLEISÖ: Pick up your sukka.
DAVID MALAN: Pick up your sukka.
Kunnossa, niin vähäinen epäselvyyttä tässä, ja tämä on yksi ensimmäisistä
kompastuskiviä että meidän pitäisi tietoisesti
kohtaavat täällä.
Se on vähän epäselvä, joten noutaa sukka.
Hieno, minä otan tämän, mutta tietokone, toteuttaa vain
bitti, ei olemaan tuollainen ihmisen vaisto vain
valita lähin.
Aiomme pitää aloittaa, ennen pitkää, ilmaisee
itseämme tarkemmin.
>> Selvä, joten toinen vaihe on noutaa sukka.
Otamme sen.
Vaihe kolme.
Takana.
YLEISÖ: Etsi matching pari.
DAVID MALAN: Etsi matching pari.
Okei, joten tämä on hyvä.
Jouduin valitsemaan tämä sukka.
Joten tavoitteena on löytää matching sukka, nyt, mutta mitä
se merkitsee?
Kohtuullinen ihminen, aivan kuten keskiviikkona, kun vain
osasi löytää Mike Smith puhelinluettelosta, juuri sellainen
meni niiden vaisto.
Mutta tässä se on tietenkin tämä sukka täällä, mutta tietokoneen
ei tule olemaan niin vaistomaisesti.
Tietokone tulee olemaan kokoelma bittiä, kuten me
keskusteltiin keskiviikkona, ja ne ovat
järjestetään jotenkin muistiin.
Mutta kohta on se, että tietokone on vain kyky
katsomaan asioita yksi kerrallaan, ja itse asiassa, vaikka me
ihmiset - vaikka se tuntuu Vilkaisin alas ja split
Sekuntia myöhemmin Tiedän missä sukka on, aivoni ja silmäni
oletettavasti ollut nopea silmäillä näitä sukkia, ja sitten lukittu
edelleen yksi kysymys.
>> Joten jos me sitäkin tahallinen nyt tietokone-
Miten löydän tämän matching pari?
No, meidän täytyy toistaa.
Meidän on kenties silmukan yli tämän sotku sukat
lattia jolloin sanon jotain KULLEKIN sukka, nosta se
ylös, ja jos sama muoto ja koko kuin toinen, NIIN
piste, piste, piste, jatkamme tarinaa.
Joten jokaisen sukan, joten otan tämän.
I tarkistaa tämä sama kuin tämä yksi.
Se ei ole, joten laitan syrjään puolella.
Sitten toistaa taas.
Onko tämä tasa-arvoisia?
Ei, se ei ole, joten laitoin sen syrjään.
Onko tämä?
Nro
Tämä yksi?
Ei, ja niin edelleen.
Ja sitten lopuksi, toivottavasti, aion kohdata tämä sukka täällä.
Joten jos se on sama muoto, koko, ota se.
>> Ja nyt, mikä olisi meidän seuraava askel tässä?
Niin?
YLEISÖ: Tunnista oikea vasemmalta.
DAVID MALAN: Okei, tunnistaa oikea ja vasen, niin
onneksi sellainen toimii.
Pieni symmetrinen, tai olen vain kuluneet ne sellaisina.
Selvä, joten olen löytänyt oikeat.
Ja nyt, ennen kuin jatkamme, haluaisin huomauttaa, mitä Josephin
tehneet täällä tavallaan perehtynyt ohjelmoija.
Joten jälleen, ei ole yksi tapa tehdä tämä, mutta pelkkien
numerointi linjat, Joseph on jo alkanut tehdä tätä
tavallaan sisennys.
Itse asiassa tämä on hyvin yleinen yleissopimuksen ohjelmoinnin,
jolloin jos et jotain iteratiivinen, kiehkura tyyliä, kuten
me vihjaat kanssa Englanti lause "jokaiselle
sukka "yleissopimus pseudokoodilla ja kuten näemme,
normaali ohjelmointikielet, on vain luetelmakohtaan.
Välilyöntiä muutaman kerran, iski sarkainnäppäintä tai vastaava,
niin että sisäkkäisiä alla "kullekin sukka" on kimpale
asioita, jotka sinun täytyy tehdä seurauksena, että silmukka.
Niin, että kaikki mitä kuljetus semanttisesti.
Nyt välin "Jos se on sama muoto ja koko,"
että "Ota se" on sisennetty edelleen vain tarkoittaa
se on ainoa asia mitä sinun pitäisi tehdä, jos tätä edellytystä,
jos sivuliike, että tienhaarasta, on itse asiassa totta.
>> Joten nyt täällä, me olemme vaiheessa neljä tunnistaa oikealle ja vasemmalle.
Olen tunnistettu oikein.
Anna minulle vaiheeseen viisi.
Ja teknisesti, voisimme todella kutsua
JOKAISESTA asia -
sinun pitäisi luultavasti numeroitava rivejä
aiomme tehdä tämän.
JOSEPH: [kuulumattomissa]
DAVID MALAN: [kuulumattomissa]?
Okei, hienoa, okei, me teemme sen haluamallasi tavalla.
Selvä, joten vaihe viisi, miten teemme oikean sukan?
Miten edetä seuraavaan, täällä?
Kyllä?
YLEISÖ: Nosta oikea jalka.
DAVID MALAN: Nosta oikea jalka, Okay.
Vaihe kuusi?
Nopeasti.
Joo.
YLEISÖ: Etsi avoimen pään sukka.
DAVID MALAN: Okei, löytää avoimen pään sukka.
Niin hyvä.
Joten tässä, rehellisesti, hyvin yleinen vaisto olisi vain
laittaa oikealla sukka, mutta sekin on melko epämääräinen.
Ellei tietokone tai ihmisen tietää tarkalleen, mitä se tarkoittaa,
se ei tule olemaan toteuttaa se, joten tässä, olen
löytyi avaaminen varastosta.
Vaihe seitsemän?
YLEISÖ: Kosketa varpaitasi.
DAVID MALAN: Touch varpaat.
Okei, joten nyt mennään -
Okei, aion ottaa joitakin vapauksia täällä.
Kiitos.
Vaihe kahdeksan?
Laita sukka.
Okei, joten nyt olen, mielestäni olemme tarpeeksi lähellä tavallaan ottaa
Tässä yksi kotona.
Okei, joten tämä menee ylöspäin.
Otan joitakin vapauksia, mitä se tarkoittaa, oikeastaan.
Sukka.
Okei, nyt lisättävä yhdeksän?
YLEISÖ: Laita jalka alas.
DAVID MALAN: Kiitos.
Vaihe yhdeksän laittaa jalka alas, ja nyt voimme toistaa.
Eli oletettavasti voimme nyt mennä askel 10 ja sano tunnistaa
vasen sukka, mutta se on luultavasti jo tehty.
>> Ja niin sitten voin tavallaan toista nämä vaiheet.
Mutta tällainen herättää kysymyksen.
Ennen viimeistä kertaa halusimme toistaa jotain, me
teki sen iteratiivisesti, uudestaan ​​ja uudestaan, FOR
Kukin silmukka niin sanoakseni.
Olisiko järkevää käyttää silmukan jotta käsittelemään sekä
vasen ja oikea sukka?
Koska se tuntuu nämä toimet ovat melko
identtisiä lukuun ottamatta sitä, että yksi alkaa tästä ja yksi
alkaa tästä?
Onko meillä silmukka, tai me vain pitää kirjoittaa askeleen
10 ja 11 ja 12?
YLEISÖ: Loop.
>> DAVID MALAN: Okei, joten silmukka.
Olen itse voinut sanoa vain jatkamme eteenpäin.
Miksi tämä asia?
No, tämä on oikeastaan ​​ensimmäinen meidän ei-ilmeinen
suunnittelun päätöksiä, ja itse asiassa yksi mittareita, joiden
alamme arvioida itseämme ja sinua,
laatu-ohjelma on vain kuinka hyvin suunniteltu on.
Oletko tehnyt minimimäärän työtä tarvitaan
saada työ tehdyksi mahdollisimman nopeasti, joko suhteen
aikaasi tai suhteen tietokoneen käyttöaikaa?
Montako toiminta ei vie toteuttaa?
Joten luultavasti tämä on tilaisuus silmukka, koska
heti kun alkaa kopioimalla, kuten Joseph tehokkaasti
alkaisi tekee hetken, olet tavallaan tuhlaa
ajan, ja sinä on kaksinkertaisesti ilmeikäs.
>> Mutta samaan aikaan, ne ovat oikeastaan ​​vain kaksi erityistä
tapauksissa vasen ja oikea.
Ja taas ennen, saatan olla 10 tai 20 tai enemmän sukat
kasa, se varmasti järkevää ei saada 50 riviä
koodi sanomalla tarkistaa sukka, niin seuraava,
Sitten seuraava.
Tässä se on hieman vähemmän ilmeinen, ja haluaisin ehdottaa
että voisimme mennä joko tavalla.
Voisimme joko että silmukka, vaikka se vain silmukoita
kahdesti, tai voimme yksinkertaisesti kopioida ja liittää vain vähän
täällä saadakseen työnsä tehtyä.
Mutta tämä ohjelma on buginen, niin sanotusti.
Se saattaa olla joitakin virheitä, virheitä tai rajatapauksissa, niin
puhua, että emme oikeastaan ​​ennakoida.
Mikään meni pieleen tällä kertaa, mutta mitä olisi voinut mennä pieleen
suoritettaessa tämän ohjelman?
YLEISÖ: Sinulla ei ole sukkia.
>> DAVID MALAN: Eli ei voi olla sukkia siellä mitään.
Joten mielestä kulma tapaus.
Joten jos voisimme siirtyä takaisin ylös vaiheeseen yksi, joten astu yksi oli
taivuttaa alas, niin että on kunnossa.
Vaihe kaksi, noutaa sukka, mutta sitten löytää sopivat sukka,
tunnistaa oikea.
Me tavallaan teki koko joukko oletuksia, ja tämä on,
rehellisesti, miksi ohjelma joskus kaatuu.
Jos, ohjelmoija, ovat tiettyjen oletusten, kuten
Varmasti tulee olemaan sukkia tai varmasti siellä tulee
olevan muistin jäljellä tietokone, varmasti siellä tulee
olla levytilaa jäljellä kovalevy -
No, jos teet näitä oletuksia, ja se ei ole,
Itse asiassa, todellisuudessa, kuka tietää joskus mitä tietokoneen
aikoo tehdä?
Ja joskus, kun saat spinning rantapallo tai
jäädytetyt Windows tai vastaavaa, joka on juuri sen vuoksi, jotkut
ohjelmoija ei ennakoida näitä ns rajatapauksissa.
Mitä muuta olisi voinut mennä pieleen tässä ohjelmassa?
Niin?
>> YLEISÖ: Sinulla ei ole oikeutta jalka ja vasen jalka.
DAVID MALAN: Okei, ehkä ei ole niin oikea jalka ja
vasen jalka, ja niin tämä ohjelma ei välttämättä ole yleisesti
soveltaa.
Muut?
YLEISÖ: Olet ehkä piristynyt orpo sukka.
DAVID MALAN: olisin kyytiin orpo sukka, joten
Ei-matching sukka että vain ei ole sisaruksia, koska olen
kadonnut, se on revitty, se on pestä edelleen, tai vastaavat.
Niin että myös ei oikeastaan ​​ole käsitelty.
Niin?
YLEISÖ: Sinulla saattaa jo olla sukat.
DAVID MALAN: Saatan jo sukat.
En itse tarkistaa.
Jos sinulla ei ole sukkia, ja jatka sitten tehdä
linjalla yksi ja kaksi.
Ja se voisi tapahtua.
Nukahdat teidän sukat ja vastaavat, joten
Sekin on hyvin kohtuullinen nurkkaan tapauksessa.
Ja ehkä yksi muu?
YLEISÖ: sukka on nurinpäin.
DAVID MALAN: Eli sukka on nurinpäin, joten teimme mitään virhettä
tarkkailun, lyhyesti.
Emme tarkista maailman tilasta on kuin odotamme.
Emme tarkista me itse löytänyt mitä etsimme.
>> Ja vaikka tämä on eräänlainen naurettava esimerkki
mukana sukat, lopussa päivä, tämä on juuri
eräänlainen mielentila sinun täytyy olla samalla kirjallisesti ohjelmia,
jopa Scratch sekä C-, JavaScript-, PHP,
koska muuten ohjelmat tulee ilmetä
vastaa että spinning rantapallo tai vain tuottaa
epätarkkoja tuloksia.
Niin monet kiitokset tästä meidän kirjurina Joseph.
[Taputuksia]
>> DAVID MALAN: Okei, joten mitä on, on
Itse asiassa, tietokoneohjelma?
No, otetaanpa nopea vilkaisu
edustaja täällä.
Joten tämä on kirjoitettu ohjelma kielellä nimeltään C. C on
melko vanha näinä päivinä, mutta monet uudemmat kielet on rakennettu
sen päälle.
Todellakin, PHP, yksi www-centric kielet hyvitämme
Käytä kohti aikavälin lopussa, itsessään on mitä kutsutaan
tulkki, ohjelma, joka on kirjoitettu C, mutta siitä lisää
Monissa viikon päästä.
Mutta tämä ohjelma, ja tämä on mitä se tarkoittaa kirjoittaa
ohjelma, joskin hyvin yksinkertainen.
Meillä on joitakin melko arvoituksellisesti syntaksin täällä, mutta voit
luultavasti arvata, vaikka et ole koskaan ohjelmoinut aikaisemmin, mitä
Tämä ohjelma tekee.
Itse en tiedä mitä printf on, mutta tulosta varmasti
loihtii ajatus tulostaa jotain.
Ja niin kyllä, tämä ohjelma on lopulta menossa tulostaa
sanat "Hello, World".
>> Nyt, onko sinulla Mac tai PC tai Linux-tietokoneen, kertoimet
ovat, ainakin jos latasit joitakin vapaasti
tarjolla olevien ohjelmistojen, olet voinut kirjallisesti ohjelmia
oman kannettavan jo jonkin aikaa.
Mac OS, esimerkiksi, on tämä ohjelma nimeltä
Terminal mukana Mac, joka on yleensä oman
Utilities-kansio, ja se yleensä avaa mustan ja
valkoinen tai valkoinen ja musta ikkuna, jossa olet
kehottaa jossa voit kirjoittaa komentoja.
Joten tämä on todella muistuttaa mitä tietokoneet
käytetään olla ennen graafinen
rajapintoja, graafisia, tuli.
Nyt, Windows, sinulla on samanlainen mekanismi muodossa
on komentokehote.
>> Mutta mitä aion tehdä tässä avata, sanotaanko,
TeXturi jälleen, joten saman ohjelman käytimme varten
pseudokoodina hetki sitten, ja aion mennä eteenpäin ja
kirjoita ensimmäinen ohjelma.
Sisällytä stdio.h, mitä se tarkoittaa, int main
void, mitä se sitten tarkoittaakin, ja sitten keskellä täällä,
printf ("Hello, world."). Ja sulje lainaus,
Sulje Paren, puolipiste.
Nyt aion mennä eteenpäin ja painaa Komento-S. Menen
mennä eteenpäin ja tallentaa tämän hello.c, joten yleissopimuksen
maailma C ohjelmointi on nimetä tiedosto piste c.
Aion vain laittaa John Harvardin kotihakemistossa,
täällä, valitse Tallenna, ja nyt aion mennä yli tämän
terminaali-ikkunan, joka taas on tämä mustavalkoinen nopea
missä voin suorittaa komentoja.
>> Voin ajaa ohjelmia kirjoittamalla heidän nimensä, ei
kaksoisnapsauttamalla kuvakkeita tavanomaisessa merkityksessä.
Mutta asia on noin C on se kieli kuten C ensimmäinen
tulee tässä muodossa, jota kutsutaan lähdekoodin.
Jotain, joka näyttää vähän kuin Englanti, mutta on
selvästi vähemmän kuin Englanti kuin Joosefin pseudokoodina
hetki sitten.
Se on hieman mystistä.
Se näyttää seurata joitakin malleja tai sääntöjä.
Se, että olen aaltosulkeita, puolipistettä, lainauksia,
kulma olkaimet, tuntuu tietokone keksi
eräänlainen kielen.
Mutta jos menen nyt, tämän pääteikkuna, voin ajaa
komento joka menee muuntaa että lähdekoodi on
jotain kutsutaan kohdekoodilla.
Se tulee muuttamaan Englanti kaltainen syntaksi nollia
ja niitä, sama lajittelee nollia ja ykkösiä me
puhui keskiviikkona.
Nyt aion ajaa komento nimeltään clang.
Lisää tämä lähiviikkoina, mutta se ohjelma
jonka voin muuntaa hello.c tulee koko joukko
nollia ja ykkösiä.
>> Nyt olen suorittanut tämän komennon.
Olen törmännyt clang, ja sitten sanoin ajaa itse tämän asian
kutsutaan hello.c, jonka olen luonut hetki sitten, ja
mitään ei näytä tapahtuvan.
Mutta tosiaan, jos minä tönäisi noin minun kotihakemisto, näkisin
että tämä typerästi nimetty ohjelman a.out on nyt olemassa.
Tämä on vain oletus nimi ohjelmaa, kun kirjoitat
C. Voimme ohittaa tämän lopulta, mutta a.out on
ohjelman nimi juuri muunnetaan nollia ja ykkösiä.
Ja nyt se on nollia ja ykkösiä, Mac, tässä tapauksessa, tai
Windows PC, voi ymmärtää ne bitit, jotka
nollia ja ykkösiä.
Ja niin kun lyön Enter, näen "Hello, world!"
>> Mutta se on vähän buginen.
En oikein sanoa "hei, maailma!: Ilma: - jharvard." Ilma on
nimi tietokoneeni.
Jharvard on tilin nimi, joten mitä minä selvästi
jättää pois ohjelmasta?
Jonkinlainen rivinvaihto.
En lyönyt vastaa Enter tai rivinvaihto,
ja tämä on jälleen osoitus siitä, että tietokoneet voivat
vain tehdä mitä kerrot heille tehdä.
Ja että en kerro tietokonetta siirrä
kohdistimen seuraavalle riville -
No, se on varmasti aio vain tehdä sitä
ylimielisesti minulle.
Joten jos menen takaisin minun ohjelmaan, ja sanon \ n -
Joten \ n, kuten tulemme pian nähdä, on tapa
edustavat outoja asioita, kuten rivinvaihtomerkit asiat
, jotka muutoin olisivat seurausta
Enter-näppäintä.
Mutta nyt, vain tietää, että lyömällä Enter-näppäimen olisi
vain teemme koodi näyttää oudolta, joten maailma päätti tiedät
mitä, pitää asiat kauniimpi, pitää se yhdelle riville, nyt
sano \ n edustaa uutta linjaa.
Saanen tallenna omat tiedoston, siirry takaisin pääteikkunaa ja
Re-run a.out, Enter.
Silti buginen, mutta miksi?
>> YLEISÖ: [kuulumattomissa]
DAVID MALAN: Joo, niin minun täytyy kääntää sitä.
Joten kääntää ohjelma vain tarkoittaa muuntaa sen lähteestä
koodi konekielisessä lähdekoodi nollia ja ykkösiä.
Nyt, pelkästään se, että osuin Tallenna tässä TeXturissa ole
joissa niihin nollia ja ykkösiä, koska olen ensin
Tell clang hei, olen muuttanut näitä riviä koodia,
lähdekoodia.
Sinun täytyy uudistua a.out.
Mikään ei näytä tapahtuneen, vaan tietokone,
klo komentoriviltä, ​​niin sanotusti, kun mitään ei tapahdu,
että yleensä tarkoittaa kaikki on hyvin.
Kun jotain tapahtuu, se tarkoittaa
sinut sekaisin, yleensä.
>> Joten nyt mennä a.out, ja todellakin nyt olen "Hei,
maailman. "
Ja nyt, mitä näistä nollia ja ykkösiä?
Jos itse asiassa ovat?
No, en voi oikeastaan ​​vain eräänlainen penkoa hyvin
tehokkaasti.
Saanen avata TextEdit.
Tässä a.out.
Anna minun mennä eteenpäin ja avata tämä, ja tämä on ilmeisesti mitä minun
Ohjelma näyttää.
Joten olen avannut, ei hello.c, mutta a.out.
Mutta tämä ei oikeastaan ​​ole, mitä minun ohjelma todella on.
Selvästi tämä on jonkinlainen kirjaimia.
En näe mitään nollia ja ykkösiä, mutta tämä on
koska a.out on ohjelma.
Nollia ja ykkösiä - mutta TextEdit, kuten nimestä voi päätellä, se on
aivan kuten Notepad Windows, on vain tekstieditori, joten se on
hämmentävä kaikki nämä nollia ja ykkösiä, koska
vaikka ne olivat, mitä?
ASCII-merkit.
>> Joten muistuttaa keskiviikkona, me vain keksi
mielivaltainen kartoitus numeroita tai bittejä, jotta kirjeet
aakkoset ja välimerkit ja vastaavat.
Joten TeXturi, että se on tekstieditori on vääristelemättä
niitä malleja nollia ja ykkösiä, jotka on tarkoitus olla
tulostus sanoja, kuten "Hello, world." Se näyttää ne
ASCII, ja siksi se näyttää hieman sotkuinen.
Nyt on joitakin vihjeitä oikeellisuuden täällä.
Ilmoitus jos Korostan, on ripaus todella "Hei,
maailman ", niin jossain että ohjelma on
lauseen kirjoitin.
Mutta mennään eteenpäin ja nyt nähdä eri ohjelmaa.
Tämä ei ole yksi käytämme sitä usein, mutta se myös tulee
Macin ja tulee olemaan sisällä CS50 laitteen.
Anna minun mennä eteenpäin ja avata ohjelmalla nimeltä XXD.
>> Takaisin seuraavana päivänä, useimmat ohjelmat nimettiin melko arvoituksellisesti,
joten trendi jatkuu.
Mutta-b tarkoittaa sylkäistä ohjelman ulos binary.
Älä suorita sitä.
Näytä se minulle niin nollia ja ykkösiä, ja tämä on C
ohjelmoida me juuri kirjoitti.
Nyt olen, sillä ihmisen täällä, en rehellisesti ei ole aavistustakaan, mitä
Näiden eri malleja nollia ja ykkösiä edustavat.
Takaisin seuraavana päivänä, minä, minun reikäkortteja tms., olisi
todella täytyy etsiä mitä nämä eri malleja
01111000, todella edustavat.
Tai pahempaa, olisin tarvinnut tehdä lävistys tai luomiseen
näistä malleista nollia ja ykkösiä.
Mutta nyt, ottaa usko että CPU, Intel Inside, joten
puhua, sisällä kaikki meidän tietokoneissa näinä päivinä, tietää
miten tulkita näitä nollia ja ykkösiä.
Ja jotkut nollia ja ykkösiä tarkoittaa tulosta.
Jotkut nollia ja ykkösiä tarkoittaa toistaa äänen.
Jotkut nollia ja ykkösiä tarkoita ottaa käyttäjän signaalin näppäimistöltä.
On kaikenlaisia ​​erilaisia ​​malleja, mutta onneksi
kuten ihmisillä, vain yleensä tarvitse pelätä ohjelmointiin
Tämän melko korkeamman tason.
Ja muihin CS luokkiin voit kaivaa alas syvemmälle ja etsiä
asioita kuten ne nollia ja ykkösiä, tai vielä
muita asioita edelleen.
>> Joten nyt mennään muuntaa tätä.
Mennään liikkua hyvin nopeasti pois C ja siirtyä jotain
hieman lohdullista, hieman jännittävä, koska
saamme takaisin meidän animaatioita ja ääniä ja sellaista
selvästi ovat karanneet meille tässä
melko alkeellinen käyttöliittymä.
Joten tämä saman ohjelman C voidaan esittää nyt tässä
ohjelmointikieli kutsutaan Scratch seuraavasti.
Tämä vastaa tämän hello world ohjelma kirjoitettu
Tämän palapelin pala tyyli kieli nimeltään Scratch.
Joten anna minun mennä eteenpäin ja avata tämän hyvin ohjelmaan.
Sitä taas kutsutaan Scratch.
Se on vapaasti saatavilla, ja tämä on sama asia me
alkoi tänään.
>> Joten tämä tässä on Scratch, ja se hajotetaan muutaman
eri kappaletta.
Hyvin alkuun oikeassa, meillä on niin sanottu vaiheessa, ja
todellakin, sinne evästeet
suoritetaan vain hieman sitten.
Ja tässä vaiheessa ovat asioita kutsutaan sprite, merkkejä tai
esineiden tai yhteisöjä.
Sillä ei ole väliä miten ajattelet, mutta ne
ovat ohjelmoitavissa, irtainta asioita, ja tässä tapauksessa tämä
ohjelma että opiskelija kirjoitti on pari piparkakut
evästeet, pari pyöreä evästeet, koko joukko
sydämet, koko joukko silmälasit.
Tämän vuoksi, hän ei voi ohjelmoida kunkin näistä
yksittäisiä merkkejä erikseen.
>> Nyt, mitä se tarkoittaa ohjelmoida nämä merkit?
No, anna minun mennä eteenpäin ja klikkaa tästä vasemmalla evästeen
ja selaa yli vasemmassa yläkulmassa täällä.
Vuonna vasemmassa yläkulmassa minun näytöllä nyt
ns skriptejä alueella.
Tämä on tavallaan puhtaalta pöydältä, aluksi, jolle voin
vedä ja pudota palapelin paloja, rehellisesti, tee
mitä he sanovat.
Huipulla tämän pinon palapelin palaset on sana
Kun Vihreä lippu Clicked, ja jos et ole huomannut aikaisemmin,
miten aloitin että evästeen Laulun klikkaamalla, kirjaimellisesti,
vihreä lippu.
Jotta palapelin pala ylhäällä vasemmalla siellä tarkoittaa, kun
Ihmisen napsauttaa vihreä lippu, eteni tehdä
seuraavat asiat.
>> Nyt, mitä he evästeen edetä tehdä?
En todellakaan tiedä miten tulkita tätä vielä, mutta
Eväste ilmeisesti asettaa sen uran nollaan, se odotti
kolme sekuntia, sitten se muutti ryhmä yhden, sitten se
odotti toinen, niin se muutti
ura takaisin yhteen.
Ja sitten tämä todella näyttää hieman bugi, ei pitäisi
on muutettava uran uudelleen ja uudelleen, ellei se
ollaan muuttamassa muualle, mutta tämä sarja vaiheita on mitä
sanelee käyttäytymistä tässä evästeen.
Joten todellisuudessa siirry takaisin ja katsoa jotain
aivan niin monimutkaisia ​​vielä.
Anna minun mennä eteenpäin ja mene Tiedosto, Uusi,
ja saada puhtaalta pöydältä.
>> Joten nyt, minä todellakin tyhjä käsikirjoitus alue, tyhjä vaihe,
meidän oletus sprite Scratch ja ylhäällä vasemmalla
minun näytöllä minulla on lavan kaikkien niiden
käytettävissä palapelin palaset.
Ja me ei mene läpi lähes, että monet näistä asioista
tänään, koska taas useimmat ovat itsestään selviä, mutta me
yrittää luokitella niitä ja huomauttaa yhtäläisyyksiä
Näiden tulevien kielten jota aiomme sukeltaa.
Ja ylhäällä vasemmalla tässä on ensimmäinen, kun Vihreä lippu napsautetaan,
joten anna minun vetää tämä tänne, loitontaa hieman.
Ja jos painan vihreää lippua, mitään ei oikeastaan ​​tapahdu, koska
En ole kiinnitetty mitään logiikkaa, mitään lausuntoa niin sanotusti
että vihreä lippu, joten anna minun mennä jopa
Kategoriat tänne.
Olen tällä hetkellä Ohjaus luokkaan.
Minä sen sijaan mennä alas Looks luokkaan, ja
siellä koko joukko asioita täällä, että Say Say,
Ajattele, vaihtaa väriä, Switch puku.
>> Joten voit tehdä typeriä asioita ja puvut ja
äänet ja niiden kaltaiset.
Anna minun mennä eteenpäin ja sanoa Say, ja nyt huomaa niin vedän
ja pudota tämä palapelin pala, se tulee haluta tajuta
osaksi vastaava muoto.
Joten kun menen eteenpäin ja päästää minun hiiri, ne lukkiutuvat
yhteen, ja nyt jos menen tänne ja klikkaa vihreää lippua,
kissa ei todellakaan sanoa hei, koska sitähän on sisällä
Tämän valkoinen ruutu.
Me pian nähdä, että tämä valkoinen laatikko on mitä kutsutaan
argumentti, tai parametri.
Se on tapa muuttaa käyttäytymistä, tässä tapauksessa,
palapelin pala, mutta jos haluan sanoa mitä sanoin
ennen, tervehdi, maailma, voin nyt palata tänne,
Napsauta pelata, ja "Hello, world" on mitä on sanottu.
>> Joten olemme kirjaimellisesti ohjelmoinnin nyt.
Se ei ole kovin vakuuttava ohjelman, mutta ainakin
se on vähän enemmän pakottavia kuin jotain, joka näyttää, milloin
Ensisilmäyksellä, kuten tämä.
Ja voimme hyvin nopeasti saada kaikki enemmän ilmaisuvoimaa
koska Scratch, kuten muilla kielillä, siellä kaikki
monenlaisia ​​lausuntoja, eikä vain sanoa tai tulostamista jotain, mutta
voit tehdä asioita, kuten odottaa, kuten juuri näimme kanssa
evästeen, jotkut monta sekuntia.
Voit pelata äänet ympäristössä Scratch vain
kuin pystyt normaalissa tietokoneohjelman toiston ääntä.
Voit tarkistaa, mitä kutsutaan Boolen lausekkeita.
Joten nyt aloitetaan lisätä meidän työkalupakki joitakin terminologiaa
tosiasiallisesti liittyy esimerkiksi, että Joosef ja tein
täällä sukat.
Joten lausunnot ovat vain lausuntoja siitä.
Tee tämä.
Direktiivin Sprite tai minulle ihminen, tehdä jotain.
Boolen lauseke on jotain, joka on arvo,
ns totuusarvo, joka on joko nolla tai yksi, vääriä tai
totta, sammutettuna tai ei tai kyllä.
Ei ole väliä miten ajattelet tästä, mutta se on
binääritilan.
Kuten Nate keskusteltu keskiviikon video, kaksi
eri asioita.
>> Joten Scratch, Boolen satut katsomaan
kuten nämä siniset esineet täällä, ja tässä tapauksessa kysymys
merkki tarkoittaa, että kysyt kysymyksen.
Onko kissa tai sprite, koskettaa hiiren osoittimen?
Joten tämä on vain yksi esimerkki Scratch lohkon, joka menee
jotta voimme tarkistaa kyllä ​​tai ei, on hiiri koskettaa
sprite ruudulla?
Ja tämä voi olla hyödyllistä, jos todella haluat tehdä asioita
hiirellä.
Lisäksi Boolen lausekkeet, meillä on asiat
kuten on hiiri alas, joten voit havaita sellaista
kyseenalaistaa samoin.
Voimme tehdä matematiikka jos todella haluat, ja siellä on
oikeastaan ​​enemmän pakottavia käyttötarkoituksiin tätä kuin vain puhtaita
aritmeettinen, kuten näemme.
Pseudo satunnaisuus ja teet ohjelma näyttää ajattelevan
tai käyttäytyvät eri perustuu joidenkin näennäisesti satunnaisia ​​arvoja,
ja sitten meillä on asioita, kuten Boolen kuten JA.
Joten jos todella haluat tarkistaa kaksi arvoa, me nähdä
Raaputa että voimme todella testata, jos tämä on
totta ja tämä on totta.
Esimerkiksi tapauksessa minun sukat, olisin voinut at
aivan lopussa kysyi jos vasen sukka on ja oikean sukan
on, sulje.
Olet kaikki tehnyt päivän, jotta olisi
mahdollisuus, että.
>> Joten mene eteenpäin ja yrittää pala joitakin näistä yhdessä
ja mennä pari esimerkkiä lisää
pakottavia kuin tämä yksi.
Joten anna minun mennä eteenpäin tänne ja avata joitakin esimerkkejä
että aina kurssin verkkosivuilla samoin, ja
avata hello2.
Joten hello2 täällä, meillä on ohjelma, joka tekee muutaman
asioita, mutta se ei tee sitä yhtä tehokkaasti kuin olisimme.
Joten tässä se sanoo "Hello, world" yhden toisen ja sitten odottaa
toista.
Ja sitten tekee sen taas, ja sitten tekee sen uudelleen.
Joten jos painan vihreää lippua, Scratch sanoo "Hei, maailma.
Hei, maailma.
Hei, maailma. "Ja tämä on tietenkin ehdokas nyt
parantaminen.
>> Mikä marginaalinen parannus, toivottavasti voimme
nyt tehdä jos Scratch tukee käsite?
Jonkinlainen silmukan.
Jonkinlainen toistoa, nyt olisi kiva, joten saanen
itse kokeilla sitä.
Saanen itse mennä ja siirtää tämän.
Joten ilmoitus voidaan irrottaa lohkot yhtä helposti kuin voit lisätä
kiinnitä ne.
Päästä minut kurissa, selaa täällä, ja todellakin,
on tämä palapelin pala täällä, Toista ja Ikuisesti ja
Ikuisesti Jos.
Joten siellä useita tapoja ilmaista kiehkura rakenteita
Scratch.
Minun varmaan täällä ei ikuisesti, koska minulla on vain
halua näin tapahtuvan kolme kertaa, mutta luultavasti Toista.
Haluan siis vetää Toista tänne, vedä ja pudota, ja
nyt vaan sanoa "Hello, world" kolme erillistä kertaa,
haluan vetää tämän palapelin pala täällä.
Ja vaikka se ei tunnu sopivan, ohjelma on älykäs
tarpeeksi ymmärtää se kasvaa täyttää, joten se on
muodot asia eikä absoluuttinen koko.
Saanen vaihtaa toistoa kolmeen, ja nyt haluan mennä
eteenpäin ja vedä odota sekunti myös siellä.
Se tulee napsahtaa myös, joten nyt aion vetää
nämä kaverit tänne ja heittää ne pois, koska olen
ei tarvitse niitä enää.
Saanen loitontaa ja klikkaa vihreää lippua nyt, ja meillä on
sama ohjelma, mutta kuten olen ennusti aiemmin, parempi
suunniteltu, koska voitte kuvitella kuinka huono tämä ohjelma
saisi varmasti esteettisesti, jos sinulla on ollut
Aloita kopiointi ja liittäminen, kopioimalla ja liittämällä tai
vetämällä ja pudottamalla sama hiton asioita uudestaan ​​ja uudestaan.
>> Nyt yksinkertaisesti sanomalla tavaraa ruudulla, tulostaa
näyttö, oikeastaan ​​kaikki ole niin jännittävää, joten katsotaanpa avata
kolmas varianssi tässä.
Ja nyt, kuten näet, tämä tulee nopeasti saada harmittaa -
[MEOW]
DAVID MALAN: - mutta se on myös eräänlainen söpö.
[MEOW]
DAVID MALAN: Okei, niin parempi, ja voimme varmasti käyttää sitä
Sama siirtyminen chunking tämä ylös looping
rakenne, mutta tehkäämme se mielenkiintoista silti.
>> Anna minun mennä eteenpäin ja avata neljäsosa varianssi täällä, missä minä
ottaa asiat askel eteenpäin.
Joten mukaan tähän, typerä vaikka tämä on ensimmäisessä
silmäyksellä, mitä tämä ohjelma aikoo tehdä?
Se tulee miau kerran.
Miksi?
No, yksi on, sikäli kuin tiedän, aina vähemmän kuin kaksi.
Ei ole käsitettä satunnaisuuden täältä.
Olen kirjaimellisesti kovakoodatuilla yksi ja kaksi, mutta tämä on
Esimerkiksi nyt tosiasiallisesti käyttää Boolen lauseke.
Mielelläni kuten Joseph teki hänen pseudokoodilla, sisennys IF
löydät sopivat sukat tee seuraavat, tässä meillä on
lauseke Jos yksi on vähemmän kuin kaksi SITTEN -
ja itse asiassa meillä on jopa hieman sisennys,
jossa violetti on hieman sisennetty oikealle -
Sitten olet menossa pelaamaan äänen miau.
Nyt, tässä tapauksessa, että yksi on aina pienempi kuin kaksi, joten tämä
on eräänlainen tuhlausta kunnossa.
Mutta pystymme, kuten näemme, kytkeä muita asioita huomioon
nämä paikkamerkit jossa yksi ja kaksi ovat nyt.
Joten nyt etenemään esimerkiksi viisi näistä useiden
Terveisiä ja katsomaan mitä tämä ohjelma aikoo tehdä.
>> Joten nyt, Englanti lause, miten tämä
Ohjelma käyttäytyä?
YLEISÖ: Meows puolet ajasta.
DAVID MALAN: Miau n puolet ajasta, joten tämä on tapa
välittää hyvin yksinkertainen ajatus.
Vaikka satumme käyttää joitakin eriarvoisuutta täällä
Joissakin numeroita, tämä on oikeastaan ​​vain ohjelmallisesti
tavalla, tarkka tapa, sanoa jos kolikko tulee päät, mene
eteenpäin ja miau.
Tai päinvastoin, jos kolikko tulee esiin hännät, eivät miau.
Ja tässä tapauksessa, miten voimme ilmaista sen?
Me poimia satunnaisluku 1-10, ja jos se
määrä on pienempi kuin 6, mennä eteenpäin ja miau.
Ja miten tämä tänne?
No taas huomaa vain vetämällä ja pudottamalla ja
asiat napsahtaa paikalleen.
>> Joten nyt katsotaanpas, jos tämä satunnaisuus toimii.
Anna minun mennä eteenpäin ja klikkaa vihreää lippua.
[MEOW]
DAVID MALAN: Okei.
[MEOW]
DAVID MALAN: Okei.
Okei, hyvä, joten saimme päät, päät, hännät tehokkaasti.
Tails.
[MEOW]
DAVID MALAN: Heads.
[MEOW]
DAVID MALAN: Erinomainen.
Se on aina hankalaa, kun vain tilastollisesti saat huono
ajaa, ja se kaikki päät, ja ohjelma itse ei
toimi kuten toivoisin.
Mutta tällä kertaa se toimi, ja meillä näyttää olevan, jos emme
Tämän rajattoman monta kertaa, 50% kertoimet.
Nyt taas ei ole kovin kiinnostavaa, vain tehdä kissat
meow, joten katsotaanpa jos emme voi edistää tätä hieman pidemmälle
täällä kuudes versio.
Joten nyt meillä on todella ärsyttävää versio -
[Meows muutaman sekunnin välein]
DAVID MALAN: - ja tämä on mitä kutsutaan, yleinen, sillä
loputon silmukka.
>> Joten ääretön silmukka tässä tapauksessa tuntuu pahalta.
Se varmasti tulee aloittaa kuulostava huono, ja silti ääretön
silmukat eivät aina huonoja.
Keksitkö yhteydessä tietokoneohjelmien jossa haluat
todella haluavat loputon silmukka?
Niin?
YLEISÖ: Kun haluat tarkistaa kunnossa.
DAVID MALAN: Okei, kun haluat pitää tarkistaa kunnossa?
Kuten mitä?
YLEISÖ: [kuulumattomissa]
DAVID MALAN: Okei, hyvä, joten jos sinulla oli jotain ohjelmaa, jotkut
sellainen kotiautomaatio asia, johon haluat jatkuvasti
monitori on jotain asian.
Ovatko valot päällä?
Ovatko valot päällä, koska ehkä olet ajastin, ja
haluat heidän mennä pois, ehkä tehdä jotain
uudestaan ​​ja uudestaan.
Ja itse asiassa puhuessaan ajastimet, kukaan teistä, jotka ovat
kellot tietokoneeseen tai digitaalinen kellot, se on
loputon silmukka.
Se jatkaa päivittää aikaa, koska se on jatkuvasti
tarkastus ja valvonta ja tarkastus on aika muuttunut,
ja jos näin on, Luoja.
Kello on lopulta muuttunut.
Se tarvitsee näyttää että arvoa sinulle.
Joten taas suurimman osan ajasta ääretön silmukat ovat virhe,
tai ainakin huono suunnittelu päätös, joskus ne
on niiden arvo.
>> No, pitemmälle täällä hello7.
Joten nyt ohjelma saa hieman enemmän vuorovaikutteinen.
Saanen zoomata tänne, ja taas, tämä on mitä on kiva
noin Scratch.
Ja käytämme sen olevan selvää, Scratch, juuri tänään ja otetaan
ensi viikolla ongelman asetettu.
Mutta maanantaina, me sukeltaa C. tästä ohjelmasta, se,
ikuisesti, seuraavat.
JOS koskettaa hiiren osoitin - nyt, kuka
yhteydessä täällä?
No, ja huomaa, että kuka on valittu tänne alareunassa
oikeus on kissa, sprite yksi, joten nämä komentosarjat, tämä
ohjelma, koskee häntä erikseen.
Joten jos kissa koskettaa hiiren osoittimen, niin se menee
pelata tätä alas ja odota kaksi sekuntia, ja
Toista sitten loputtomiin.
>> Joten mene eteenpäin ja osui pelata.
Mitään ei tapahdu, mutta jos haluan lemmikkieläinten
kissa nyt, voin vain.
[MEOW]
DAVID MALAN: Adorable.
[MEOW]
DAVID MALAN: Okei, vähemmän ärsyttävää, mutta saa myös tylsää,
joten katsotaanpa eteenpäin ja katso jos voimme olla pistää
hieman enemmän logiikkaa.
Se oli esimerkki seitsemän.
>> Täällä esimerkiksi kahdeksan, aiomme
käyttöön ELSE kunnossa.
Niin paljon kuin kirjaimellinen tienhaarasta, jossa voit mennä
vasemmalle tai voit mennä oikealle, ehto ohjelmointi
kieli kuten Scratch, tai kuten näemme C, voi voit
menevät yhteen suuntaan tai toiseen kautta IF ELSE rakentaa.
Joten aivan kirjaimellisesti, JOS koskettaa hiiren osoitin tämä
toistaa joitakin ääni, muuten se tulee pelata tätä muihin
ääni, miau.
Nyt, jos voit päätellä nimen näitä ääniä, voit
luultavasti arvata, mitä tämä ohjelma on tarkoitus loihtia
ajatusta.
Tämä kissa on meowing onnellisesti.
[MEOW]
DAVID MALAN: Onneksi, mutta ei
aivan kuin olisi koskettanut.
[Ulvoo]
DAVID MALAN: Eli nyt meillä on kissa, joka huutaa sinulle.
>> Selvä, no, viimeinen esimerkki kissojen kanssa täällä, ja
Avataan versio yhdeksän täällä.
Joten nyt meillä on seuraavaksi eniten harmittaa ääni, että voisin
löytää, joten meillä mursun tai merileijona täällä kuka
toimi seuraavasti.
[SEAL BARK]
DAVID MALAN: Okei, joten tämä jatkuu kunnes selvittää, miten
tämä ohjelma toimii.
Joten tällä kertaa, tämä eläin on kaksi skriptejä, ja mitä
mielenkiintoista tässä on, että nämä skriptit ovat menossa suorittamaan
rinnakkain.
Joten koska he molemmat alkavat yksi vihreä lippu napsautetaan,
se on kuin menee näin, ja molemmat ohjelmat alkavat näkyä sen
kerran, vaikka he kiehkura ikuisesti.
Joten alkuun käsikirjoituksen, minulla on jotain logiikkaa.
Mitä ominaisuuksia jotka tarjoavat siellä?
[SEAL BARK]
YLEISÖ: [kuulumattomissa]
DAVID MALAN: Jos se on mitä?
[SEAL BARK]
YLEISÖ: Jos mykistetty nollaan, se tulee pitää pelaa
kuulostaa. [SEAL BARK]
DAVID MALAN: Okei, hyvä.
Joten jos mykistetty, mitä tämä on, tämä oranssi juttu on nolla,
Sitten pelata Sea Lion ääntä ja ajattelevat "Ai,
Hei, "kaksi sekuntia.
Nyt en tiedä mitä mykistetty on, mutta nolla loihtii
Ajatus vääriä tai pois.
Joten jos mykistetty on väärä, joten jos ei mykistetty,
pitää pelissä äänen.
Selvä, no, miten me poistaa tämän?
>> No, katsokaamme toisen käsikirjoituksen siellä.
Toinen kirjoitus sanoo asetettu mykistetty nollaan.
Huomaa se on myös oranssi, joten mitä Scratch se on se värejä
lohkot samaa sävyä, jos se on tavallaan
loogisesti liittyvät.
Eli aivan kuten vaimennettu ylös oli oranssi, joten mykistyy täällä
mainittu oranssi lohkossa.
Mutta tämä on muuttuja tehtäviä, joten aivan kuten
algebran, sinun on x-ja y-ja z-, ohjelmointi olet
muuttujia, mutta ne ovat yleensä -
Katsotaan pysähtymään hetkeksi ja kuva miten
lopettaa tämä haukkuminen.
Miten voin tehdä tämän?
[SEAL BARK]
DAVID MALAN: Okei.
Se pysähtyi. Okei.
>> Aivan kuten algebran teillä muuttujat x, y, ja z, mutta
ohjelmointi, ottaa muuttujia kuin x, y ja z on yleensä
paheksutaan koska he eivät lainkaan ilmeikäs.
Heillä ei ole semanttista merkitystä lainkaan, joten useimmissa
ohjelmointikielet, muuttujilla voi olla täysi
kehittynyt nimiä tai sanoja tai lauseita, kuten vaimennettu, sanoa
mitä he tekevät.
Joten tämä toinen kirjoitus oli myös kuunnella ikuisesti, ja se sanoi
jos avain, näppäimistön näppäintä Space, on
painetaan, kysymysmerkki.
Joten on kunnossa Boolen lauseke, joka on
aio vastata kysymykseen joko totuudenmukaisesti tai vääriä,
Sitten olen sisällä, jos tila painetaan JA
JOS mykistetty on nolla, mykistetty yksi, ELSE aseta mykistetty nollaan.
Joten tämä toinen tienhaarasta, ja huomaa kuinka olen
sisäkkäin kaksi IF edellytykset, on tapa tarkistaa on
Space Bar painetaan sillä jos näin on, en myöskään halua mennä tähän
tavalla tai tällä tavalla.
Ja miten voin kääntää arvo mykistetty?
Täytyy tarkistaa se nolla?
Jos näin on, mikä tekee siitä yhden, muuten tehdä nolla siis vaihtaa
sen kaksi valtiota.
>> Selvä, joten meillä on silloin joitakin näistä keskeisistä
konstrukteja.
Olemme Boolen lausekkeita, ja ymmärtää myös nämä
ei kaikki tuntemattomia.
Itse asiassa tässä on nopea kuvakaappaus Harvardin kurssin CS50
ostos työkalu, ja kaikki verkkosivuilla siellä, että on valintaruudut
ja alasvetovalikoilla ovat todella kaikki tällä kertaa, ollut käytössä
Boolen.
Tässä tapauksessa täällä, jos valitset valintaruudun vieressä
tietysti suurempi tai yhtä suuri kuin 4,5, tai saman vieressä
tiedekunta, olet määrittää Boolen lauseke.
Näytä minulle kursseja, joita varten lauseke on tosi.
Tai oikealle, ei ole ristiriidassa kursseja olen
ottaen, jos se on valittu, niin kyllä, sinun kannattaa tarkistaa
että ehto, muuta haluat ohittaa sen.
Joten Boolen lausekkeet ovat tavallaan ympäri, mutta kun
laitamme ne ehdot, ovatpa jos olosuhteet, JOS
Elses, tai voimme jopa simuloida syvemmälle
tasoilla, JOS ELSE IF ELSE -
niin se on tavallaan ternäärisen valtion.
Voit mennä tällä tavalla tai näin tai näin.
Voimme pitää pesiviä asiat mennä eri suuntiin.
>> Joten Scratch on nämä silmukat, kuten Ikuisesti.
Se on näitä ominaisuuksia, kuten toisto 10, jotkut
äärellinen määrä kertoja.
Meillä on kyky nyt asettaa muuttujia, joten tässä tapauksessa
Olen ilmoittanut, esimerkiksi muuttuja nimeltä sukat.
Olen alustettu arvoon 0, ja se on vielä toinen suunta
olisimme voineet ottaa täällä Joseph, jolloin ehkä
vain seurata, kuinka monet sukat olen ja lopettaa
ohjelma kun että muuttujan arvo on 2.
Tämä olisi yksi tapa tavallaan yleistäen, että
ongelma ja tehdä jotain uudestaan ​​ja uudestaan.
No, mennään eteenpäin ja nyt esitellä pari uutta asiaa.
Joten ne teistä etukäteen ohjelmointi kokemusta
tiedän, että monet kielet ovat matriiseja tai vektoreita tai
luettelot, ja todellakin, Scratch on jotain tämäkin.
Joten katsotaanpas jos emme voi ottaa asioita seuraavalle tasolle täällä.
Jos minulla on kyky, nyt nämä palapelin palat
lisätä jotain, kuten sana tai numero, muuttuja, voin
alkaa kertyä asioita.
Ja tämä on oikeastaan ​​aika sopivasti asioita, kuten pelejä,
roolipelejä pelejä, joissa olet sellainen käveleminen
Joissakin fantasiamaailmassa kerätä asioita, poiminta asioita,
ansaita pisteitä, tai vastaavat.
Haluat ehkä seurata jonkinlaista varaston ja
todellakin, että mitä yksi entisten opiskelijoiden täällä teki
jotain kutsutaan Fruitcraft RPG.
>> Joten anna minun mennä eteenpäin ja avata tämä asia täällä, ja
Fruitcraft, meillä on tässä maailmassa ylös ylhäällä.
Joten anna minun mennä eteenpäin ja sitten vihreää lippua.
Ilmoitus ylhäällä vasemmalla on jonkinlainen inventaario.
Se on toteutettu Scratch kuin mitä me kutsumme array tai
lista, ja nyt meillä on tämä pieni animaatio.
Eli aivan kuten aloitimme aikaisemmin tämän evästeen rakkaustarina,
ja sitten eteni kissojen ja merileijonat, nyt voimme olla
asioita, jotka ovat vielä interaktiivisia.
Ja tämä pieni sininen kaveri, voin alkaa liikkua hänen
pieni koti täällä.
Joten näyttää siltä, ​​että hän sai poistua täällä, joten olen käyttäen
nuolia avaimet, ylös, alas, vasemmalle oikealle.
Ja nyt olen ulkona, joten katsotaanpa mitä minulla täällä.
Näyttää oranssi, ja todellakin, heti kun kosketan
oranssi, se saa plopped minun inventaario.
Jos menen tänne kirsikat, nyt minulla on jotain
muu mainosjakaumaani.
Ja tämä kaikki on mukava ja söpö, mutta mieti, miten nyt, tämä
toteutetaan.
No, meillä on tämä käsite luettelon, ja se on ilmeisesti
palapelin pala, että sanoit mitä haluat lisätä sen, lisää
oranssi, lisää kirsikat.
Nyt, mitä tämä pieni sininen kaveri tekee?
No, hän on sprite.
Ja oletettavasti, oranssi ja kirsikat -
he itse olivat erillisiä sprites.
Ja käyttämällä olosuhteita Boolen lausekkeita,
opiskelija oli luultavasti pysty ilmaisemaan Jos sininen kaveri on
koskettamalla kirsikat lisää sitten sanan kirsikat hänen
varaston, ja sitten myös piilottaa kirsikka sprite.
Joten alla huppu, ei luultavasti edelleen kirsikka
sprite siellä.
Olemme vain kertoneet siitä tulee käytännössä näkymättömiä.
>> Nyt, jos pidän kävely täällä, voimme myös tehdä
proksimaalinen asia, jossa voin mennä ja lukea merkki.
Joten jos sininen kaveri koskettaa merkki, voimme saada tämän Say lohko
aivan kuten kissa puhui meille sanoen, hei, aiemmin "Got
joitakin hedelmiä?
Tuo se hedelmää paikkaan. "Selvä, joten nyt ilmeisesti
Minulla on ohjeet.
Voin mennä tänne hedelmää paikkaan, riviin itseäni
oven kanssa.
Nyt olen täällä.
Voin mennä jopa miehen tiskillä.
Hän havaitsee, että olen lähellä häntä, joten sen ei tarvitse olla
aivan identtisesti koskettaa, ja olen voittanut pelin.
Joten ei meillä Fruitcraft RPG.
>> Joten voimme tehdä asioita vieläkin kehittyneempää kuin tämä.
Voimme lisätä ääniä.
Voimme lisätä pseudo satunnaisuutta.
Voimme lisätä monimutkaisuutta.
Anna minun mennä eteenpäin tänne, ja sen sijaan tehdä tämän itse,
Näytän sinulle yhden kehittyneempiä väitteitä
Saimme viime vuoden tietty joku nimeltä Blake.
Voimmeko olla yksi vapaaehtoinen joka on mukava näkyä
kamera ja on jopa pelaamiseen peli?
Entä tuolla?
Tule ylös.
Selvä, joten peli, että olet juuri tietämättään
tarjoutui pelaamaan -
[Taputuksia]
DAVID MALAN: - on jotain mennyt kutsutaan
"Frogger." Mikä on nimesi?
Renda: Renda.
DAVID MALAN: Redna?
Renda: Se on kuin Brenda kanssa b.
DAVID MALAN: Okei, Renda.
David.
Hauska tavata.
>> Joten täällä "Frogger" ja jos voisimme nostaa äänenvoimakkuutta juuri
vähän, olet tämän pienen
vihreä sammakko pohjalle.
Voit käyttää vasemmalle, oikealle, ylös ja alas, ja sinun tehtäväsi on
ylittää kadun, ylittää joen, ja kosketa lilja tyynyt
yläreunassa.
Aw.
Vielä yksi t -
redo, okei?
Mennään osuma pysäkki.
Kukaan ei nähnyt sitä.
[Taputuksia]
DAVID MALAN: Joo.
Hyvin tehty.
Erinomainen, kiitos.
>> Siten, että siellä oli Frogger. Nyt kun tiedät mitä olet
mennyt itsenne, yksi vapaaehtoinen eri
peli esittämä toinen opiskelija.
Haluat tulla ylös?
Mikä sinun nimesi on?
RICHARD: Richard.
DAVID MALAN: Richard.
Selvä, Richard, tule ylös.
[Taputuksia]
DAVID MALAN: Sinulla on jotain, joka kuulostaa
tuttu pian, joten tässä on ohjeitasi.
Joten hetkellä noin palapelin palaset ovat menossa selata ylös
näytöstä, jotka näyttävät joko vasen
tai oikealle ylös tai alas.
Olet menossa on lyödä nuolinäppäimillä siten
että se vastaa niitä palapelin palaset riviin kanssa
paikkamerkit ylhäällä.
Joten kun näet vasemmalla nuolella, ja se on linjassa vasemmalla
nuoli, osuma vasenta nuolta.
Voitte aloittaa.
[MUSIC - "vahvempi" Kayne WEST]
DAVID MALAN: Okei, iso aplodit Richard.
[Taputuksia]
DAVID MALAN: Erittäin hyvin tehty.
Kiitos.
[Taputuksia]
>> DAVID MALAN: Niin hauskaa ja nähtävästi tavallaan
pelottava kuin se voisi olla toteuttaa niinkin
näennäisesti hienostunut kuin tämä, ymmärtää, että opiskelija
ei esitetty, ja vain kirjoittaa tämä kaikki kerralla.
Pikemminkin voi hajottaa ongelma näennäisesti monimutkainen
koska tämä tulee paljon pienemmiksi paloiksi, ja tämäkin on
olemaan teema.
Pahinta mitä voit tehdä kirjallisesti ohjelma useimmissa tahansa
kieli on istua alas, saa todella innoissaan, kirjoita
Koko hemmetin juttu, ja sitten vain toivoa, että se toimii
kerran olet lopettanut kirjoittamisen.
Pikemminkin, prosessi ohjelmointi olisi yleisesti
hyvin tarkoituksellinen, hyvin iteratiivinen, jolloin juuri
asettaa hyvin pieniä askeleita itsellenne, bite-size kappaletta
Haluatko purra, ja niin että sinulla on nämä järki
tarkastukset, pikku virstanpylväitä voit tavata.
Ja sitten rakentaa päälle nuo luoda enemmän
hienostunut asioita edelleen.
>> Niinpä esimerkiksi, kuinka voisimme edetä
täytäntöön peli kuin tämä?
No, suoraan sanoen, olisin varmasti aloittaa vain
tukee yhtä näppäintä kerrallaan.
Toivotaan vain toteuttaa tuki vasenta nuolta.
Joten opiskelija oli jotenkin luoda Photoshopissa tai
Raaputa itse käyttämällä pikku graafinen editori,
nuolinäppäin joka näyttää yksi vasemmassa yläkulmassa siellä vain
harmaa paikkamerkki.
Sitten opiskelija oli selvittää, mitä x, y koordinoimaan
laittaa sen, mihin se ikkunassa.
0, 0 on täällä, joten sinun täytyy selvittää määrä
pikseleitä tai pisteitä, korvata, että nuoli
näytön yläreunassa.
Ja sitten kun se on paikallaan, sinun ei varsinaisesti
tee vielä mitään, joten sinun sitten täytyy toisen sprite varten
Esimerkiksi vihreä nuoli, joka on myös vasemmalle osoittava, ja te
Sitten täytyy alkaa kirjoittaa joitakin skriptejä sitä.
>> Ja huomaat, kenties, että nämä asiat alkoivat tulossa
eri nopeuksilla, ja värit olivat eri
paikoissa, ja se johtuu opiskelija käyttää hieman
pseudo satunnaisuus.
Ja pseudo sattumanvaraisuuden, en tarkoita pelkästään poimia useita
välillä jotakin ja koska voit
alkavat karttaa asioita, kuten jos numero on yhdestä ja
viisi, hyvin, tehkäämme asia vihreää.
Jos se on välillä 6 ja 10, tehkäämme palapelin
punainen sijaan.
Niin kauan kuin sinulla on tapa tuottaa jonkinlaista
satunnaisuus, voit tehdä päätöksiä, jotka perustuvat että
satunnaisuus.
Ja minä pitää sanoa pseudo random koska siellä
vähän likainen salaisuus.
Tietokoneet eivät keksiä satunnaisia ​​numeroita.
He voivat tehdä vain mitä käsketään, koska
he ihmisen laitteita.
He eivät voi vain arvata numero kuten me ihmiset
tuntuu pystymme.
Tietokoneen täytyy tehdä jotain matemaattista loihtia
illuusio matemaattinen numero, joskus käyttäen
Nykyisen päivän ajan tulona mietitään mitä
numero palata, mutta siitä lisää toisella kertaa.
Nyt vain tietää, että voimme tuottaa pseudo satunnaisuutta.
>> Joten kun olen kyky vasenta nuolta alkaa
esiintyvät eri aikoina ja eri nopeuksilla, niin
Voin palata ja lisätä joitakin näistä, jos olosuhteet.
Jos tämä sprite koskettaa toista, ja vasenta nuolta
näppäintä on painettu -
joten kolme ehtoa siinä tapauksessa.
Voin käyttää sitä ja estää ehkä tässä tapauksessa -
Sitten haluan mennä eteenpäin ja kasvattaa pisteet.
Ja ylös, meillä on pisteet, olemme Awesome,
Cool, hyvä, ja Boo.
Joten ei ilmeisesti viisi muuttujaa että opiskelija
käytetään seurata näitä eri mittareita.
Eli lyhyesti sanottuna, lopputulos on hämmästyttävä.
Se on hauskaa, se on hauska pelata, se harjoittaa, mutta tämä ei ole
jossa opiskelija alkoi.
Hän aloitti paljon pienempi joukko vaiheita.
>> Mitkä ovat joitakin muita rakennuspalikoita, että voimme
kutoa näihin ohjelmiin?
No, on tämä toinen käsite useimmilla kielillä,
Naarmuttaa niiden joukossa, jotka tunnetaan kierteet.
Joten tietokone voi itse oikeastaan ​​tehdä useita asioita samanaikaisesti
aikaa, ainakaan yleensä.
Pikemminkin, tietokone on yleensä vain yksi CPU, ja jopa
Vaikka tietokoneet ovat erittäin nopeita, ja voi siten
luo illuusion tehdä useita asioita samanaikaisesti -
tarkistaa sähköpostin, saada instant
viestin, tulostus asiakirja -
todella, tietokone on vain hyppäämällä tulostus IMing
ja sähköpostitse, takaisin ja takaisin ja edestakaisin niin nopeasti, että me
hidas älyinen ihmiset vain eivät ymmärrä, että se on oikeastaan
käynnissä nämä ohjelmat vähän kerrallaan.
Nyt tämä hieman valkoinen valhe näinä päivinä, koska nykyään,
monet meidän tietokoneet ovat mitä kutsutaan multi-core, joten
yksi CPU, mutta useita sydämiä, joka on ikään kuin
ottaa useita suorittimia.
>> Ja niin joskus, tietokoneet voi todella tehdä useita asioita
kerrallaan, mutta yleensä ohjelman sisällä, ohjelmien
riippuvaisia ​​näistä asioita kutsutaan kierteet.
Joten kierre on tavallaan kuin pienoiskoossa ohjelma, joka voi
rinnalla toinen miniatyyri ohjelman voi ajaa
rinnakkain, tai ainakin voi kulkea illuusion, että
he käynnissä samanaikaisesti.
Joten Scratch tukee näitä asioita kutsutaan kierteet.
Sinulla voi olla useita skriptejä täytäntöönpanovaltiossa kerralla, aivan kuten me
teki merileijona, ja tämä antaa meille mahdollisuuden todella
sitten on vuorovaikutus näiden sprites.
Anna minun mennä eteenpäin tänne ja vedä ylös, sanotaanko, kierteet ja
pelata tätä seuraavasti.
Meillä on kaksi sprite, joista kukin näemme
on vain yksi käsikirjoitus.
Ja huomaat, että näyttää olevan jonkin verran älykkyyttä
kissa tätä, koska hän lähestyy -
[Ulvoo]
DAVID MALAN: - ja lähempänä pikku lintu.
>> Joten miten on lintu käyttöjärjestelmä?
No, katsotaanpa katsomaan linnun ensin.
Lintu script sanoi kun vihreä lippu napsautetaan, siirry x
on yhtä suuri kuin negatiivinen 115 ja y on yhtä kuin 150.
Joten olen vain tajunnut satunnaiseen paikkaan, jossa halusin
lintu aloittaa, ja minä vain plopped hänet sinne oletuksena.
Sitten ikuisesti, jos ei kosketa kissa, joten tämä on erilainen
sellainen kiehkura rakentaa, mutta sama idea, tehdä tämän uudestaan ​​ja
uudestaan ​​ja uudestaan.
Niin kauan kuin et kosketa kissa, siirtää kolme vaihetta, ja
jos olet reunalla, pomppia, missä se on eräänlainen
pohdinnan biljardi merkityksessä.
Niin, että miten lintu liikkuu sellainen
näennäisen satunnaisesti, mutta se on vain koska se on kimposivat
seinät tässä tapauksessa.
>> Nyt kissa puolestaan ​​on tavallaan huijausta.
Kissa, kun vihreä lippu napsautetaan, kyllä, alkaa
Joissakin sijainti, satunnainen sijainti -
ainakin osittain kohti pick
satunnainen vihreä block siellä -
ja sitten ikuisesti, jos koskettaa lintu, pelata leijona äänen,
ja sitten lopettaa käsikirjoituksen.
Joten kun sanoin lopettaa tai poistua ennen siellä palapeli
pala Scratch joka vain tappaa ohjelman että
kohtaan, koska se on tavallaan loogisesti tehty.
Mutta muuten, täällä, huomaa mitä tulee tapahtumaan.
Kohta kohti lintu ja siirtyy askeleen.
Joten tässä vaiheessa kohti lintu on eräänlainen etu kissa
on, että se on itseohjautuva liikkuvaan lintu, ja voimme
nyt tehdä tämän ohjelman kaikki mielenkiintoisempia.
Sen sijaan liikkuvat yhden askeleen kerrallaan kohti CPU sykli kohti
lakko menetyksiä kelloa, niin sanotusti, anna minun mennä eteenpäin ja
liikkua, sanotaanko, viisi askelta kerrallaan kissan.
Valitse Suorita, ja nyt hän todella löytää hänet nopeasti.
Jos me kaksinkertaistaa edelleen 10 askelmaa, se tavallaan menee
oikea hänelle.
Nyt voimme antaa lintu,
ehkä vähän etua.
Mennään lintu ja sano siirtelyn sijaan kolme vaihetta,
lähdetään hänen 30 askelta.
Mutta hän silti joutui lopulta.
>> Joten tässä meillä on kaksi kierteet.
Se vangittuna Scratch kaksi skriptit ja kaksi
sprites, mutta ajatus muilla kielillä on, että voit
kirjoittaa kaikkea, liikaa ohjelmia, kuten tämä, ja on
ne ajaa todella, tai kuvitellusti, rinnakkain.
>> Nyt siellä on myös tämä käsite ohjelmoinnissa tunnetaan
tapahtumia, ja tämä on jotain emme näe C,
kieli tunnetaan C. Näemme sitä kohti lukukauden loppua
web ohjelmointi, kun esittelemme JavaScript ja
käsite rakennuksen verkkosivuja, jotka ovat dynaamisia ja vuorovaikutuksessa
käyttäjien kanssa.
Joten tässä tapauksessa meillä on hyvin yksinkertainen esimerkki kahden
sprites, poika ja tyttö, joista jokainen on omalla
kierteet, mutta jotenkin nämä kaksi ovat toisistaan ​​yhteydenpito tavalla
jotain kutsutaan tapahtumista.
Joten anna minun mennä eteenpäin tässä ja zoomata pojan kirjoitus,
joka näyttää tältä.
Kun vihreä lippu napsautetaan, ikuisesti toimi seuraavasti.
Jos avain Space tai välilyöntiä, painetaan, sano
Marco kahden sekunnin, joka on puhtaasti esteettinen päälle
näyttö, pieni puhekuplan, mutta sitten lähettää.
>> Joten lähetys on toinen Scratch pala, joka on
tyypillinen luokan toiminnallisuuden ohjelmoinnin
joka mahdollistaa eri ohjelmia, erilaisia ​​lankoja,
väliseen kommunikoida, jotenkin lähettää
viestin, yksi toiseen.
Syöttäminen paperi luokassa on eräänlainen matalan teknologian
vastaava.
Niin lähettää tapahtuman.
Voin lähettää tämän viestin, ja sana tapahtuman
on täysin mielivaltainen.
Scratch on joskus näitä alasvetovalikoilla, joten olen vain tuli
satunnainen sana kuin tapahtuma, koska nyt, mitä poika tekee
kun painan näppäintä hän lähettää tämän tapahtuman.
Ja jos katson nyt tytön käsikirjoitus, hänen käsikirjoitus on
super yksinkertainen, koska se tarvitsee tehdä, ei toimi, kun
Vihreä lippu on napsautettu.
Hän on suunniteltu toimia, kun hän saa lainata, lainaus päättyy,
"Tapahtuma", ja siinä vaiheessa, hän kuuntelee siksi
ns tapahtuman uudestaan ​​ja uudestaan.
Heti kun hän saa joka tapauksessa hän aikoo huutaa
Polo kaksi sekuntia.
>> Ja niin voit ehkä päätellä tästä mitä
Seuraava tulos tulee olemaan.
Saanen napsauttamalla vihreää lippua.
Mitään ei tapahdu, koska minun täytyy tehdä mitä?
YLEISÖ: Space Bar.
DAVID MALAN: Space Bar.
Poika sanoo Marco, tyttö sanoo Polo.
Mutta se ei ole koodattu sinänsä.
Se välistä viestintää skriptejä, joten nyt
on kyky tehdä vieläkin monimutkaisempia ohjelmia, joiden
nämä kaksi ovat jotenkin toisiinsa kommunikoida.
>> Joten mitä suuntiin voimme ottaa tämän?
No, ongelma asettaa 0, todella, tavoitteena on
hauskaa Scratch.
Sillä hakkeri painos, sinulla sen sijaan on hauskaa enemmän
kehittyneempi versio Scratch nimeltään BYOB, Build
Oma Blocks, mutta idea on sama.
Pystyt -
Kyllä, se oli tahallista.
Se tuli Berkeley.
BYOB on hakkeri painos versio, mutta molemmat
väestönkehitys, Standard Edition ja hakkeri painos samankaltaisia,
Tavoitteena käsillä tulevan viikon on oikeastaan ​​vain sukeltaa
syvä, saada kädet likainen ohjelmointia ja tee
jotain mielenkiintoista, tee jotain interaktiivinen,
jotain taiteellista, tee jotain hauskaa todella
osoittaa, niin että viikon loppuun, sinulla on projekti,
ei vain ensimmäinen CS50 PSET, mutta sinulla on
jotain pientä, että voit keuliminen Annenberg ja
ystävien tai jopa perheen lähettämällä se MIT: n verkkosivuilla.
Ja niin kuin sanoin keskiviikkona, odotamme 90% luokkaa,
yleensä tehdä standardin versioita.
Ymmärtää, että siellä on myös tämä markkinat niille, jotka
muuten löytää itsesi hieman kyllästynyt perusasiat
ja todella haluavat sukeltaa ja veneet visio jo
on etukäteen taustalla tässä ystävällisempiä
ympäristöön.
>> Joten anna minun vetää yksi muu esimerkki, että yksi meidän entisen
opiskelijat täällä teki ja kertoa hieman jotain kautta laulu.
Että samalla, kun tämä näytelmiä, mieti miten edetä
Ohjelman toteuttamisessa käytetään juuri näitä samoja
rakennuspalikat, hieman pseudo sattumanvaraisuuden ja
hieman tuttu laulu.
Jos voisimme nostaa äänenvoimakkuutta vain vähän?
[MUSIC - "Se on Raining Men" The Weather Girls]
>> DAVID MALAN: Siinä se CS50.
Tulemme näkemään sinut maanantaina.
[Taputuksia]