>> SPEAKER: Olen [kuultavissa].
Ja olen vanhempi klo Leverett House.
Opiskelen tietojenkäsittelytiede, ja olen TF CS50.
Kuten fuksi, en edes ole kannettava tietokone tai älypuhelin.
Minulla ei ollut mitään kokemusta ohjelmoinnista.
CS50 oli ikimuistoisin tietenkin, että Otin Harvardin koska se oli
taistelu, mutta se oli todella fun taistelu samaan aikaan.
Ja tein paljon uskomattomia, pysyvä ystäviä, ja olen oppinut paljon todella
sovelletaan taitoja.
Olen vain niin iloinen, että en anna minun puutteen taustalla olla tekosyy minua
ole CS50.
Olen [kuultavissa].
Olen vanhempi klo Leverett House, luokka 2014.
Ja otin CS50.
>> DAVID MALAN: Eli tämä on CS50.
Tämä on viikon lopussa nolla.
Ja muistaa missä aloitimme viime kerralla, oli näitä lamppuja, jotka olivat
niin suosittu, että menimme ja ostin lisää tänään.
Joten mielestäni tämä on meidän juttu tänä vuonna -
Kirjoituspöydän lamput jos tulet lavalle, ainakin kunnes loppuu.
>> Mutta käytimme näitä muistaa, ottaa käyttöön perusteet tietojen esittämisessä.
Tarvitsimme tapa aloittaa edustavat tietoa sisällä tietokoneen.
Ja yksinkertaisin tapa tehdä se oli yksi ainesosa, sähkö.
Ja yksinkertaisin asia, voit tehdä sähkö on käynnistä se ja se.
Anna Elektronit virtaavat vai ei.
Ja käyttää näitä kahta perustilaa pois ja tai epätosi ja tosi, tai nolla ja
yksi, aloimme nähdä, että voisimme rakentaa up, tässä tapauksessa valoa
sipulit, enemmän numeroita kuin vain nolla ja yksi.
Laskimme peräti seitsemän, Esimerkiksi viime kerralla.
Mutta meidän täytyy tehdä, on pitää heittää enemmän ja enemmän hehkulampput että
ongelma, ja todella, voimme edustaa numero, joka meillä
mahdollisesti haluavat.
>> No, me siirryttiin nopeasti sitten Keskiviikosta tämä tavu vapaaehtoisia.
8 bittiä me yleensä kutsumme tavu, joten tässä meillä oli kahdeksan vapaaehtoista
Keskiviikkona jotka yhdessä olivat edustaa kahdeksan bittiä.
Ja kun ne meni , he olivat yhdessä.
Ja kun ne olivat alas, oli nolla.
Ja meillä oli nämä ihmiset keksiä lavalla miksi?
Mitä pystymme tekemään kanssa Tämä bittijono?
>> Voit luoda aakkoset.
Pystyimme rakentamaan sen päälle edellinen opetus ja oikeastaan
alkaa tehdä mielenkiintoisempia tietoa, joka on ainakin enemmän
tuttu meille ihmisille.
Ja tämä tulee olemaan toistuva teeman 50, mutta myös tietokoneen
tiede yleisemmin, tämä ajatus tasoilla, jos lopussa
päivä, jos todella alkoi perusasiat tietokoneen, kyllä,
se on nollia ja ykkösiä.
Ja alla, että se on vain sähköä.
Mutta hyvin nopeasti alkaa ottaa nämä alhainen yksityiskohdat itsestäänselvyytenä
ja alkaa kerros päälle aikaisemmin työskenteli tehdään niin, että me viime kädessä siitä,
lopussa lukukauden ja todella, yleisemmin tietotekniikan tutkijoita
ja ohjelmoijat voivat tehdä joitakin todella voimakas asioita hyödyntämällä työtä
että olemme itse tehneet ja myös seisoo olkapäillä toisten.
>> Nyt nopeasti siirtynyt keskiviikkona alkaen vain tarvitse
esittämiseen haluaisi tehdä jotain.
Mitäs me määrittelemme algoritmi?
Käskyjä.
Joten se sarja ohjeita, useita vaiheita, että voit, ihmisen tai
tietokone, tyypillisemmin, olisi suorittaa yksi toisensa jälkeen, jotta
saavuttaa jotakin päämäärää.
Ja meillä oli muutamia tavoitteita viimeisen kerran, joista yksi oli laskea
henkilöä huoneessa.
Ja toinen esimerkki oli löytää Mike Smith puhelinluettelosta.
>> Joten ehkä muistatte, että revin puhelimen kirja puoli tätä kohti päätyä
löytää Mike Smith.
Tarkoituksena on, että visuaalinen oli osoittaa jälleen, että olimme
kirjaimellisesti repiminen tämän ongelman puoli, puoli, puoli, ja hyvin
nopeasti menee kuin 1000 sivua vain yhdellä sivulla.
Ne teistä, jotka ovat jääneet tätä Keskiviikko Luulin toistaa
kuvamateriaalia, mitä menetit.
Katsotaanpa katsomaan.
>> [VIDEOTOISTOSTA]
>> -Siellä mennään.
1500 sivua, Nice clean linja, laillista repiä.
>> [END VIDEOTOISTOSTA]
>> DAVID MALAN: Joten se oli keskiviikkona.
Me siirtyminen, vaikka keskiviikkona nyt haluaisi edustaa algoritmeja
Joissakin hieman tavallinen, ei vain kuvataan niitä suullisesti, mutta
yrittää ilmaista ne kirjallisesti tai tietokoneen näytöllä, jotta voisimme
alkaa parannella ja muokata heitä, ja lopulta itse
analysoida, kuinka oikein tai kuinka nopeasti he olivat.
>> Joten otimme käyttöön tämän käsitteen ja pseudokoodi, mikä
Maallikon termein, on mitä?
OK, sanoja.
Mennään hieman syvemmälle kuin että.
Englanti, varmista, ovat vaan kohti mitä varten?
Sanat, joilla luodaan tai edustaa algoritmeja.
Joten ei ole mitään yhtä kieltä tiedossa pseudokoodina maailmassa.
Se on vain, että sinä, Englanti, tai mikä tahansa puhuttu kieli on, käytä
eräänlainen pintapuolinen merkintätapa välittää idea hyvin ytimekkäästi.
Mutta näemme, että varmasti kanssa Englanti pseudokoodit ja se osoittautuu
useimmat ohjelmointikielet itse ovat johdannainen Englanti itse,
Löydämme että on olemassa jokin vakio tapoja edustavat pseudokoodina ja
myös ohjelmointityötä.
Joten kun alkaa nähdä edes yksinkertaisimpia esimerkkejä tänään, ymmärtää nämä
Sama kuviot toistuu ensi viikolla.
>> Joten pseudokoodina oli jonkinlainen Kielen muistuttava
ohjelmointikieli.
Ja ensimmäinen esimerkki näimme visuaalisesti kirjoitettu oli tämä.
Se oli vain kolme askeleen ohjelma, Tavoitteena oli laskea montako
ihmisiä asuntolan tilaa että video keskiviikkona.
Mutta oli muutamia mielenkiintoisia näkökohtia Tämän yksinkertaisin ohjelman.
>> Ja tämä on toistuvia teemoja.
Joten niille, jotka eivät tunne Tässä yksi, otimme käyttöön muuttuja.
Ja luultavasti jokainen tässä huoneessa on tuntee muuttujan
yhteydessä algebra.
Mutta täällä ohjelmointi, muuttujat on yksi, voi olla
nimeltään mitä haluamme.
Olemme käyttäneet n kuin laskuri.
Mutta voisimme käyttää sanaa laskuri, tai kuten näet, eniten tahansa lause, joka
haluat ehkä niin kauan kuin se on kuvaileva, mutta se on oikeastaan ​​vain
säiliöön.
Se kimpale muisti, jotkut määrä bittiä, ja se vaihtelee tietokoneen, miten
monta bittiä on, että säveltää muuttuja.
>> Mutta voimme laittaa arvoja sen.
Tähän mennessä olemme vain laittaa numeroita.
Mutta voimme laittaa todellisia sanoja.
Voimme laittaa kohdat.
Voimme laittaa kuvat -
mitään, todella, voimme edustaa kanssa nollia ja ykkösiä, voimme laittaa
tämän korkeamman tason käsite muuttujan.
>> Joten melko suoraan eteenpäin siellä.
Ja se on linjalla yksi.
Mutta hyvin nopeasti siirtynyt line yksi todella tehdä
jotain, että muuttuva.
Ja linja kolme, me päivitetty N. Me kasvatetaan N. Ja voimme kirjoittaa tämän
kuinka monella tavalla tahansa.
Mutta ehkä kaikkein ilmeisin on vain sanoa, asettaa N: n arvoksi
mitä N on plus 1.
Niin, että oli meidän verran.
>> Samaan aikaan, oli silmukka.
Ja tämä yksi, sekin on luultavasti melko intuitiivinen.
Silmukka on vain jotain ohjelmaa että tapahtuu uudelleen ja uudelleen, jotkut
tällaista aikana.
Ja tämä hokeman täällä, jokaisen on itse asiassa hyvin yleinen lähes koko
ohjelmointikielet, kuten niitä näemme aikana.
Aina kun näet sanan, se tyypillisesti sisältää ajatuksen, että
silmukka, jotain syklistä, on noin tapahtua.
>> Mutta on syytä huomata, yhden muut syntaktinen yksityiskohtaisesti.
Se, että kolmas linja on todella sisennetään ottaa osuma
välilyöntiä muutaman kerran on tahallista.
Koska ihmisen yleissopimus on sellainen, että kun teet jotain uudestaan ​​ja
Jälleen silmukka, koska alkanut linjalla kaksi, voit luetelmakohta mitään, kuului
siihen silmukka vain tehdä selväksi, että se linja kolme mutta esimerkiksi
line neljä tai viisi, jos oli linjat tai viisi, jotka ovat
osa tätä silmukoita.
Joten tämä yksinkertainen syvennys välittää, että perusajatus.
>> Joten haimme tämä algoritmi, nyt, muutamia esimerkkejä.
Ja tämäkin yksinkertainen esimerkki todellisessa maailmassa.
Mutta se tulee olemaan edustava miten voit mennä noin testaat
omistavat yhä monimutkaisempia ohjelmia.
Yrität joitakin tilanteita, jotkut edustajat tuloa, ja katso jos
saat haluamasi lähdöt.
>> Joten tämä oli esimerkiksi kaksi ihmistä istuu asuntolan huoneessa.
Vasemmalla on samaa pseudo koodia.
Ja tämä on kuvakaappaus hyvin viimeinen vaihe soveltamisesta
algoritmin niille tuloa, jos oli kaksi henkilöä huoneessa ja
muistaa, kun me selata linjat yksi, ja kaksi ja kolme, ja kaksi
ja kolme ja tehty -
loppuun mennessä, että algoritmi, meillä oli todellakin lasketaan kaksi kaverit, jotka ovat
huoneessa.
>> Joten yritimme toinen esimerkki.
Ja me sanoimme mitä jos on olemassa nolla henkilöä huoneessa?
Onko tämä koodi vielä oikein?
Ja se todellakin oli.
On vain niin, että linja kaksi ja, näin ollen, rivi kolme tai
aio toteuttaa.
He eivät tule lainkaan tapahtumaan koska he vain ei sovelleta, jos
siellä on nolla henkilöä huoneessa.
>> Mutta ei ole iso juttu.
Line yksi alustettu N nollaan, niin vaikka vain yksi tämän
Ohjelma itse päätyy hyödyllistä, se silti tuottaa oikean vastauksen, kuten
merkitty oranssi nollaan alareunassa.
Mutta sitten päätimme, että oli Tällainen tyhmä algoritmi.
Se oli melko hidasta.
Totisesti, minä voi tehdä kaksi, neljä, kuusi, kahdeksan, kymmenen, kun
laskenta ihmisiä huoneeseen.
>> Joten me viritetty algoritmi, pseudokoodit sanoa, nyt linjassa kaksi,
jokaisen parin ihmisiä huoneessa, edetä, linjassa kolme, lisäys
vuonna kaksi kunkin iteraation.
Niin, että olisi työskennellyt täällä Tässä pari henkilöä huoneessa.
>> Mutta sitten, jos alkaa miettiä Tämä ja se ei kestänyt kauan
ymmärtää, odota hetki tämä on aio rikkoa, se hajoaa
mitä yksinkertainen asia?
Jos siellä on kolme henkilöä huoneessa tai yleisemmin, kun on
pariton määrä ihmisiä huone, joista yksi.
Olisimme missata henkilö tässä, koska ei ole sellaisia ​​pareja.
Joten me nopeasti puututtava sijaan käyttöön mitä muita
ohjelmointi konstruktioita ja pseudo-koodi.
>> Joten kunnossa, me kutsuimme se, tai sivuliike.
Ja se on tarkoitus välittää, visuaalisesti, Ajatus sivuliikkeen, tienhaarasta
jossa voit joko tehdä tämän tai, ehkä, jotain muuta.
Ja todellakin, me käsittelemme tätä kysymystä lisäämällä rivi 4, sanomalla, todella kello
aivan lopussa, jos yksi henkilö pysyy, sitten mennä eteenpäin ja laskea niitä erityisiä.
Joten olet tavallaan erikoistapaus niitä, joten puhua, jotta nyt voimme käsitellä
sekä parillinen määrä ihmisiä ja pariton määrä ihmisiä.
>> Nyt olemassa useita tapoja olisimme voineet ilmaisi tämän.
Ja suoraan sanottuna, en voinut olla vieläkin nit nirso, kun se tuli minun valinta
Englanti varten pseudokoodina.
Mutta ainakin henki idea välittyy.
Jos annoit koodin kaverille joka ei ole CS, tai ei ole koskaan otettu
CS, kertoimet ovat he voisivat selvittää, annettiin kolme henkilöä huoneessa, miten
laskea ne ihmiset perustuu ohjeiden mukaan.
Ja se kaikki todella haluamme saavuttaa kanssa pseudokoodit jotenkin
standardoida miten aiomme noin edustavat ajatuksia, jotta voimme
alkaa tehdä monimutkaisempia asia vielä.
>> Joten, joka johtaa meidät sitten tänään, todellista koodia.
Alamme ohjelma tänään, vaikkakin mukavassa ympäristössä.
Ja sitten me siirtyminen hyvin nopeasti enemmän mystistä syntaksin, mutta joka
näet on pohjimmiltaan sama kuin ideoita näkevät ilmenee kanssa
tämä toinen kieli tänään.
Se on vain menossa katsomaan hieman erilainen.
>> Joten mieluummin kuin vain soittaa tätä koodia, olen olemaan hieman tarkempi
ja sanoa, vastedes, kun kirjoitat ohjelman, kirjoitat lähdekoodia.
Se on tavallaan kuin pseudokoodina.
Mutta näemme se ei ole sellainen löysä kun se tulee valita sanoja
että käytät.
Kun ohjelmointi kielellä, sinulla on käyttää sanoja, lauseita,
syntaksin, että muut ihmiset ovat päättäneet edustavat
kyseisellä kielellä.
Joten pseudocodes on sinun.
Todellinen ohjelmointikieli kuten C, koska me lopulta nähdä, on
standardoitu muita ihmisiä.
>> Miten siis edetä kirjallisesti jotkut lähdekoodi?
No aion mennä eteenpäin ja tehdä tämän.
Aion mennä eteenpäin ja avata ikkuna täällä.
Lisää tästä ensi viikolla.
Mutta tämä on laite nimeltä CS50 laite.
Olen käynnissä pala ohjelmisto minun Mac, mutta voit tehdä saman asian
Windows-tietokoneeseen, joka antaa minulle illuusio käynnissä eri
käyttöjärjestelmän kokonaan oikealle täällä ikkunaan Macin.
Olen aivan täynnä seulottu niin et itse nähdä Mac OS juuri nyt.
>> Tämä on käyttöjärjestelmä nimeltä Linux.
Se on hyvin suosittu.
Se on erittäin nopea.
Se on hyvin vapaa, ja se on tehnyt hyvin pakottavia, erityisesti
kaupallisessa maailmassa.
Ja lisää, että loppua kohti lukukauden kun käytämme Linux melko vähän
web ohjelmointi ja ylläpito Varsinainen verkkosivustoja ja hankkeita.
Joten nyt vain tietää, että tämä on työpöydän joka on tarkoitus näyttää epämääräisesti
tuttu Windows-ja Mac OS.
Se vain on hieman eri nimiä ja kuvakkeet asioita.
Mutta tämä on niin sanottu CS50 laite, virtuaalikone, että
alkaa ensi viikolla, te kaverit ajaa sisällä ikkuna
oman Mac-tai PC.
>> Tänään aion avata yksinkertaisin ohjelmia.
Sitä kutsutaan gedit.
Ja tämä on vain graafinen editori.
Se on ikään kuin Microsoft Sana, mutta yksinkertaisempi.
Se on ikään kuin tekstin edit tai notepad.
Se on vain hyvin yksinkertainen ohjelma joka kirjoittaa sanoja ruudulla.
On vain niin mitä tapahtuu, että jos minä pelastan tiedostoja, jotka luon kun tämä ohjelma
erityinen laajennus kuten. c sijaan on. doc tai. xls, tai mitä tahansa
olet perehtynyt, voin oikeastaan luoda ohjelmia käyttäen edes tätä yksinkertaista
tekstieditori.
>> Joten anna minun tehdä sitä.
Anna minun mennä eteenpäin ja tallentaa tiedosto ensin hello.c.
Ja vielä, tämä käyttöliittymä tullut tutulta nopeasti.
Mutta nyt, olen vain kirjoittamalla Tiedoston nimessä.
Aion säästää se minun John Harvardin kotihakemiston.
Ja nyt minulla on tämä välilehti, joka ilmaisee Olen todellakin muokkaaminen
tiedosto nimeltä hello.c.
Joten ei mitään liian mielenkiintoista vielä.
>> Ja nyt se tulee saada melko arvoituksellinen.
Aion suurentaa vain niin se on enemmän näkyvissä.
Ja aion aloittaa kirjoittamisen myös stdio.h, int main, mitätön, avoinna kihara
ahdin, yksi, kaksi, kolme, neljä aluetta painuman, tulostaa f, tulostus
jotain alustettu, lainaus lainaus, "Hello, world" kenoviiva n lähellä
lainaus, loppusulkumerkit, puolipiste, kirjoita askelpalauttimen, askelpalauttimen, askelpalauttimen,
askelpalauttimen, suljettu kihara ahdin -
Olen ohjelmoitu.
>> Okei, joten tämä on erittäin yksinkertainen ohjelma, todella, ohjelma
joku alkaa ohjelmointia.
Ja kaikki se, kaikki sen monimutkaisuus, on tulosta ulos
näyttö, arvaa mitä?
Hello world.
Mutta se ei riitä vain kirjoittaa ohjelman.
Joten tämä on koodi.
Tämä on lähdekoodi kieltä kutsutaan c.
Se tallennetaan tällä hetkellä tiedosto nimeltä hello.c.
>> Katsokaa nyt alhaalla on näytön täällä.
Lisätietoja tästä, jälleen vuonna tulevina viikkoina.
Mutta tämä on mitä me kutsumme terminaali-ikkuna.
Se vilkkuu, musta ja valkoinen nopeasti.
Se on eräänlainen vanhan koulun käyttöliittymä tietokone, joka ei yleensä
Käytä hiirtä tai muita graafiset elementit.
Se vain käyttää näppäimistöä.
Ja voin kirjoittaa komennot Tämän vilkkuu nopeasti.
>> Ja nykypäivän tarkoituksiin, olen vain menossa kirjoita seuraava -
tehdä hei.
Ja että ohjelma tehdä, on vain ohjelma, todellisessa maailmassa nämä
päivää, olisimme tuplaklikkaa.
Mutta tämä käyttöliittymä tänään, olemme aikoo kirjoittaa sen nimen tässä nopeasti.
tehdä hei on kirjaimellisesti menossa tehdä minulle ohjelma nimeltä hei.
Ja se aikoo tehdä niin katsomalla tiedostolle, vain
Oletuksena kutsutaan hello.c.
Se tulee olettaa, haluan C-ohjelma luonteen mukaan, miten tämän tietokoneen
on määritetty.
>> Joten menin eteenpäin ja paina enter.
Näen joitakin arvoituksellisia tuotos, mutta Tämä tulee aivan liian
tuttu ennen pitkää.
Tämä tapahtui ajaa kääntäjä, enemmän on, että hetki, jota kutsutaan kalahtaa.
Mutta nyt minulla on vain yksi vilkkuu pyytää.
Ja voin mennä eteenpäin nyt ja kirjoita piste slash, sillä mielenkiinnoton syistä hyvitämme
palata ensi viikolla -
Hei.
>> Joten kaikki tämä vaivaa toistaiseksi vain kirjoittaa yksinkertaisin ohjelmia, että
heti kun Enter, tekee sen.
Joten olen kirjoittanut minun ensimmäinen ohjelma.
Joten olen tietoisesti pilaa Tässä hyvin yksinkertainen ohjelma
varten pari syistä.
Yksi, se on vaikea saada innostumaan noin ottaen luokka, jos
tämä on loppupelin.
>> Mutta enemmän kuin, että siellä on paljon häiriötekijöitä täällä.
Ensimmäisen kerran opit ohjelma, Niille teistä vähemmän mukava, ja
jopa minä, takaisin seuraavana päivänä, kun ensimmäinen näki jotain tällaista - voit sellaista
kuvan, että okei, tämä on tulosta hello world.
Mutta siellä on niin paljon häiriötekijöitä.
On niin paljon syntaksin ruudulla että se saa sillä tavalla hyvin
yksinkertainen, muuten yksinkertainen, ideoita.
>> Joten mitä aiomme tehdä tänään olemme aikoo laittaa syrjään C ja tulevat
takaisin, että maanantaina.
Ja aiomme käyttää graafista ohjelmointikieli nimeltään Scratch.
Tämä on ohjelmointikieli, että minä viittasi keskiviikkona, että menee
jotta voimme tehdä samanlaista tavaraa mutta läpi sormien, tänään,
to aaltosulkeiden, suluissa, puolipisteet, ja kaikki nämä tyhmä
häiriötekijöitä, jotka saavat tavalla, ensimmäisenä päivänä, joitakin perustietoja, melko
mielenkiintoisia ajatuksia.
>> Joten kohti tätä varten, aion mennä takaisin työpöydälle tänne ja
esitellä sinulle vaihtoehto, että ohjelma, joka on menossa katsomaan
vähän jotain valoa tähän.
Näin aiomme toteuttaa, että Sama ohjelma tänään - kaksi palapeli
kappaletta, että kun lomittain ja napsautti, sanoo maailman,
hello world.
>> Joten itse mennä sinne.
Joten aion mennä eteenpäin ja avata verkkosivusto, scratch.mit.edu.
Ja tämä johtaa minut Tällä sivustolla täällä.
Etukäteen, olen kirjautunut tähän verkkosivuilla ja ensimmäinen ongelmia
käydään läpi Kaikki vaiheet.
Aion mennä eteenpäin ja valitse minun tyhjästä kansiosta täällä.
>> Ja tämä on menossa näyttämään minulle joitakin hankkeita, että olen
todella luotu etukäteen.
Ja käy ilmi, että tämän graafisen ohjelmointikieli ei vain on menossa
olkaamme ohjelman vetämällä ja pudottamalla nämä palapelin palaset, sinun
ei tarvitse edes erityistä ohjelmistoa.
Se kaikki upotettu selain niin että voit tehdä tämän, teoriassa on
tietokoneiden juuri nyt, kuten jotkut teistä Saattaa hyvinkin olla, edes tarvitse
ohjelmistoja, kuten CS50 laite, joka tulee ensi viikolla.
>> Joten aion mennä ylös nurkkaan täällä ja valitse Luo.
Ja hetken aion olla tyhjä näyttö, jonka kautta voin aloittaa
ohjelmointi tästä graafisesta ohjelmointiympäristö.
Mutta tällä kertaa se tulee olemaan paljon, paljon helpompi itse tehdä niin.
Joten vain hetki, kun Wi-Fi yhteistyötä, meillä on nyt tämä näyttö.
Niin nopea sanallinen kiertueella, mutta uskallan sanoa, toki kun sukeltaa
Ensimmäinen ongelma sarja, sinun löytää kaikki hyvin
helposti ja melko intuitiivinen.
Mutta katsotaanpa hahmottamaan vain hetken.
>> Joten alla tämä nopea sanomalla save muutoksia, olet tulleet tyhjästä.
Tämä on sprite.
Se on merkki.
Ja hän asuu, mitä me kutsumme vaiheessa Tämä iso valkoinen suorakulmio
jossa hän voi liikkua ylös, alas, vasemmalle, oikea, ja tehdä, todella,
muita toimia.
>> Samaan aikaan, keskellä tämän käyttäjän käyttöliittymä, meillä on koko joukko
palapelin palaset.
Ja huomaat, että he sanovat asioita, kuten liikkua 10 askeleen, kääntyi 15 astetta,
pisteen tiettyyn suuntaan.
Mutta on luokkaa korttelin ylös täälläkin.
Joten jos menen ulkonäkö, huomaat, että siellä on muita palapelin palaset
ilmeisesti kertoo tämä teos on tervehtimään, ajatella, näyttää
itse piiloutua.
Jos menen alas sinne, se kääntyy pois siellä tapaa pelata kuulostaa miau,
lopettaa kaikki äänet, pelata rumpu.
>> Niin, pitkä tarina lyhyt, siellä on koko nippu palapelin palaset, joiden avulla voit
kertoa tämä kissa, tai useita muita merkkejä, mitä tehdä.
Mutta jotta tämä kaikki tapahtuu sinulle täytyy aloittaa ohjelmointi.
Ja tämä iso valkoinen laatikko, tai harmaa laatikkoon oikealla puolella, tämä on silloin
Aion itse vetää ja pudottaa niitä palapelin palaset.
Tämä on minun tyhjä tekstiä ikkuna vastaavia.
>> Joten aion mennä eteenpäin ja valitse Ohjaa keskellä.
Tai pikemminkin, aloitan perustettu Tapahtumat.
Alle Tapahtumat penkki, huomaat muutamia asioita, jotka ovat tietoisesti
kaareva päälle siten, että he luultavasti eivät turvamekanismi
päälle palapelin palaset.
Ja se on, koska ne Demark alku ohjelman, alku
script, niin sanoakseni.
Joten jos menen eteenpäin ja vedä, kun vihreä lippu napsautetaan tänne, ja sitten minä
halua tätä kissa sanoa jotain aluksi.
Joten aion mennä alle näyttää paneeli.
Ja aion mennä eteenpäin ja napata tervehtimään lohko, ja vedä ja pudota,
ja anna mennä niin, että se automaattisesti lukitsee siellä.
>> Ja sitten huomaa voin klikkaa tekstiä.
Ja voin ohittaa sen olevan enemmän erityisiä kuten vaikkapa, hello world.
Ja nyt meillä on ohjelma, joka Väitän vastaa, että paljon
mystistä ohjelmaa olen toteuttanut C hetki sitten.
>> Jos minä menen nyt vasemmalla puolella, huomaa siellä on iso stop-merkin
ja iso vihreä lippu.
Saanen zoomata selkeyttä.
Ja kun nyt klikkaa tätä vihreä lippu, arvata mitä tämä ensin
Ohjelma on nyt aikoo tehdä.
Joten sielläkin, olemme ohjelmointia, mutta emme oikeastaan ​​juuttua
Joissakin näistä syntaktiset, pienimmätkin yksityiskohdat.
>> Mutta katsotaanpa kokeilla jotain hieman mielenkiintoisemman.
Anna minun mennä minun Scratch kansioon täällä.
Ja oikeastaan ​​haluan niin haluan avata erillinen ohjelma tästä vain
hetkellä Maksimoi ikkuna, tiedosto avattuna ja aion mennä tänään
lähdehakemistoon.
Kuten aina, löydät tänään ja lähtien, että kaikki nykypäivän esimerkkejä
ovat saatavilla sisällä Kurssin verkkosivuilla.
>> Ja aion mennä eteenpäin tässä ja poimia jopa vähän jotain erilaista.
Tämä yksi täällä, joiden Tarvitsen vapaaehtoisen.
Kuka haluaisi pöytälampun tänään?
OK, miten joku vähän - oletko loppuun?
Tule alas.
Nyt haluaisit osallistua, tai vain sanoa aloittaa pöytälamppu?
>> VANESSA: [kuultavissa].
>> DAVID MALAN: OK.
Erinomainen, mikä on nimesi?
Vanessa?
David.
Hauska tavata.
Joten tule ja Vanessa menossa vallata minun
näppäimistö vain hetken.
Ja mitä olen tehnyt täällä, vain aika on vuoksi, koska olen huomannut
Wi-Fi oli vähän hidas, Scratch, ohjelmointiympäristö, että olemme
käyttäen, voi myös ladata ja ajaa paikalliselle tietokoneelle.
Joten mitä tein ennen luento, vuonna Jos näin tapahtuu, on olen ladannut
kaikki tiedostot aiomme pelata niin, että ne voivat suorittaa hieman
nopeasti täällä minun laptop.
Joten siksi nyt näen Mac-erityinen käyttöliittymä.
>> Joten aion mennä eteenpäin ja avata tämä.
Aion mennä eteenpäin nyt ja koko näytön ikkuna.
Ja kuten näet, voimme hyvin nopeasti, koska tämä opiskelija teki, yksi
edeltäjänsä, menevät hello world ja paljon muuta pakottavia
hakemus.
Joten tässä ovat ohjeet.
Niin, ja meillä on yksi asia.
Ajattelin, että olisi hauskaa, koska yleensä, me kuvaamisen
kamerat tällä tavalla.
Ajattelin, että olisi hauskaa, jos Vanessa, voisimme nähdä maailmaa
kautta silmäsi.
Joten tässä meillä on joitakin Google Glass.
>> [Hämmästynyt henkäisee]
>> DAVID MALAN: Me vain antaa pois Kirjoituspöydän lamput tänään.
>> [Naurua]
>> Joten anna minun cue tähän asti.
Okei, joten kosketa tätä.
OK, Glass, tallentaa videon.
Okei, Vanessa?
Nyt, kun syrjään että on saanut mitään tehdä Scratch, jos tarkastellaan
hieman ylös ja oikealle, näet kirjaimellinen lasia, ja sinun pitäisi
nähdä hieman suorakaiteen muotoinen ikkuna.
Sinun pitäisi nähdä kaikki luokkatoverit kuvattiin juuri nyt?
Kyllä.
>> VANESSA: Kyllä.
>> DAVID MALAN: OK.
Niin se on hieno.
Me vapautamme tämän kuvamateriaalia myöhemmin.
Nyt käännä huomiota näytön täällä.
Ja mitä edeltäjä on tehnyt on laittaa näytön ohjeita
vain käyttämällä Paint-ohjelma.
Joten olet menossa, hetken, painamalla välilyöntiä alkaa.
Ja sitten jotkut palapelin palaset ovat menossa siirtyvän ylös näytön.
Ja haluat lyödä nuolinäppäimillä, vain kuten oikeassa DDR mukaisesti
asioita riviin kanssa nuolet.
>> VANESSA: OK.
>> DAVID MALAN: Olet pelata tätä ennen.
>> VANESSA: Joo.
>> DAVID MALAN: Okei, Vanessa, mennä eteenpäin ja ottaa sen pois.
>> [MUSIC - kayne WEST, "vahvempi"]
>> [APPLAUSE]
>> DAVID MALAN: Joten nyt ottaa askel siitä.
Niin selvästi, että on loppupelin.
Loppupelin ei ole hello world.
Mutta sinun ei tarvitse välttämättä tehdä asioita, jotka ovat niin vuorovaikutteisia.
Voit myös tehdä animaatio.
Joten esimerkiksi toinen oman seuraajansa teki tästä ohjelmasta,
joka kertoo tarinan yli se ei toteutettu peli.
Joten anna minun mennä eteenpäin ja avata tässä Ohjelman meidän samassa lähdehakemistosta
alkaen tänään.
Tämä yksi puhelu, ja aloitamme kanssa, evästeen rakkaustarina.
>> Eikä tehdä tästä liian akateeminen, mutta kuten katsella tätä, ajatella
itse, mikä niistä yksinkertaisia ohjelmoinnin käsitteiden olemme puhuneet
noin tähän asti -
muuttujia, ja silmukat, ja edellytykset, Oliko edeltäjänsä luultavasti käyttää vain
toteuttaa joitakin visualisointeja.
Näet täällä.
Joten annan sinulle evästeen rakkaustarina.
>> [MUSIC - GREEN DAY, "loma"]
>> [CRASH]
>> [MUSIC - kilpikonnia, "Happy Together"]
>> DAVID MALAN: Okei, joten, meillä oli evästeen rakkaustarina.
Sielläkin -
>> [APPLAUSE]
>> DAVID MALAN: Okei, sielläkin ajattele, kuin sydän meni
alhaalta näytön yläreunaan, oli todella vähän
satunnaisuus tekeillä.
Ja todellakin, me näemme, että jopa Yksinkertaisin ympäristöissä, kuten
Scratch, kuten C, voit luoda satunnaisia ​​numeroita, tai illuusion
satunnaislukuja, niin että peli on hieman mielenkiintoisempaa kuin se voisi
olla, jos sinulla on ollut ehdottoman koodattu kaiken.
>> Liikkeen, jonka näet, on siellä on jonkinlainen reagointikykyä.
Heti piparkakut mies koskettaa piparkakut nainen, hän
tuntuu liikkua pois.
Ja niin, todellakin, voit toteuttaa vuonna useimmat ohjelmointikielet, käsite
tapahtumia, jolloin jos toisaalta koskettaa Toisaalta, jotka voivat aiheuttaa jonkin verran
oman lähdekoodin todella toteuttaa.
Voit kuunnella tällaista asiat näytöltä.
>> Joten lyhyen esittelyn jälkeen, ja joitakin rakennuspalikoita voimme käyttää
saavuttamaan joitakin näistä tavoitteista.
Joten tässä mitä me hyvitämme vastedes soittaa selvitys.
Lausuma sattuu olemaan violetti Scratch, vähän jotain tällaista,
mutta se on mielivaltainen.
Lausunto on vain palapelin pala, tai yleisemmin, opetusta, jotta
kertoo tietokoneen tehdä jotain, lausunto.
>> Joten tässä on yksinkertainen otos.
Say hello world.
Toinen voisi olla odota sekunti.
Joten tämä palapelin pala, joka on tuettu Scratch, me anna
merkkiä tauko joidenkin määrä sekuntia.
Tämäkin on vain lausunto.
>> Tässä seuraava, meillä on toinen enemmän mielenkiintoinen, leikkiä ääni miau, ja
pieni nuoli tarkoittaa, että Scratch, Tämä on pudotusvalikosta.
Joten voit tuoda ääniä.
Voit tallentaa ääntä ja tehdä muita hauskoja asioita Scratch.
Ja sekin, vaikka lopussa Päivän, on vain lausunto.
Mutta Nyt käyttöön enemmän mielenkiintoinen, että tunnetaan
Boolen lauseke.
Capital B, nimetty mies nimeltä Bool.
>> Ja Boolen lauseke on palapelin pala tai yleisemmin
tieto, joka on joko tosi tai epätosi -
yksi tai nolla, kyllä ​​tai ei.
Joten se on vain yksi niistä vastakohdat.
Joten yksi tällainen Boolen lauseke maailma Scratch näyttää tältä sininen
palapelin pala.
Ja se kysyy kysymyksen, hiiri alas, ja joka voi olla joko, ja
Tietenkin, totta vai tarua.
Niinpä tämän palapelin pala Scratch, hyvin, voit havaita, jos
palapeli, jos hiiri on, itse asiassa, että pitää alhaalla ihmisen vuorovaikutuksessa
ohjelman kanssa.
>> Tämä on hieman abstrakti, mutta nämä kaksi valkoista laatikkoa
ovat vain numeroita.
Voit siis tehdä asioita, kuten tämä on pienempi kuin muut?
Ja jos niin, Scratch käyttäytyy tavalla tai toisella.
Tämä on hieman enemmän graafista.
Se jos sprite, jos kissa varten Esimerkiksi on todella koskettaa
hiiren osoittimen.
Joten jos pieni nuoli pään leijuu yli kissa, niin tämä
palapelin pala on tosi.
Se on totta, jolloin, jos käyttää Boolen lauseke, kuten tulemme
nähdä hetkessä, haara, voit joko tehdä tämän, tai voit tehdä sen,
aivan kuten meillä oli ehdolla, että tarkastetaan, onko yksi viimeinen henkilö
huoneessa?
Jos näin on, lisätään yksi.
Muuten, älä huolestu vielä.
>> Joten Boolen lauseke voi myös olla ja-ed yhdessä tai tai-ed yhdessä.
Joten voit yhdistää Boolen ja sanoa tämä ja tämä on totta
koko juttu on totta.
Ja tässä on enemmän reaalimaailman esimerkki.
Jos olet käyttänyt CS50 Kurssit tehdä kurssin ostoksia, valintaruudut
siellä, missä jos tarkistaa, että ruutu kursseja, jotka sanovat, kyllä,
vain näyttää minulle kursseja, jotka Q-arvo on 4.5 tai uudempi.
Jos poistat sen, ei, älä huolehtia siitä.
Tai vastaavasti, oikealla ei Ristiriita Kurssit otan,
se on joko tosi tai epätosi.
Se on vain Boolen lauseke.
Joten kaikki tämä kun olet käyttänyt verkkosivujen valintaruutuja, olet vain
toggling vastaa Boolen ilme ja pois.
>> Joten missä muodossa käytät näitä?
No, Scratch, näemme hetken että on olemassa edellytykset, että
näyttää tältä.
Ja se on tavallaan järkevää, koska paljon kuten pseudokoodilla, me sisennetty
eräänlainen U-muotoinen palapelin palat, merkitse että mitään sisällä että U on
menossa suoritus tai ei, riippuen siitä, missä se on.
Joten jos Boolen lauseke, sitten mitä on sisällä saavat teloitettiin.
>> Samaan aikaan on olemassa, jos / muu lohko.
Joten jos haluat haara, joka menee tämän niin tai näin, Scratch antaa meille.
Ja tämän logiikan, nyt vaikka, että palapelin pala on selvästi liian pieni
kiilata jotain muuta sen sisällä, naarmu palapelin palaset, he
juuri menossa kasvamaan.
Kun vetää ja pudottaa yli jotain, se vain kasvaa sopimaan mitä se
on yrität tehdä.
>> Jotta voimme ottaa kaksi näistä asioista ja tee kolme tapaa tienhaaraan niin
että olet joko tehdä tämän, tai että, tai tämä toinen asia vain pesii niitä
tällä tavalla.
Tietenkin, jos et, että liian paljon, se alkaa saada ruma.
Mutta siinä vaiheessa, olet todella todennäköisesti ole ohjelmoinnin hyvin.
Ja niin, että on toistuva teema myös, että tyyliä.
Vain kuinka hyvin itse muotoilla koodi?
Tai kuinka hyvin voit suunnitella oman koodin?
Mutta siitä lisää myöhemmin.
>> Ja nyt meillä on silmukoita.
On mukava ikuisesti silmukan Scratch joka kirjaimellisesti tarkoittaa, että - tehdä
mitä on sisällä tätä uudelleen, ja uudestaan, ja uudestaan.
Voit olla konkreettisempia ja sanoa, seuraavasti asia 10 kertaa.
Voit myös käyttää muuttujia.
Voit keksiä mitään nimeä, joka hieman pudota alas ja sanoa, anna minulle
muuttuja nimeltä n ja asettaa se sama jossain arvoa.
Ja sitten voit olla toimintoja.
Mutta enemmän kuin vain hetken.
>> Anna minun mennä takaisin minun Scratch-liitäntä.
Ja anna minun mennä eteenpäin tällä kertaa.
Ja mennään eteenpäin ja avata, sanokaamme, esimerkiksi -
joka on hieman mielenkiintoisempi.
Anna minun mennä eteenpäin, ja itse asiassa haluan vain tehdä sen itse.
Minun ei tarvitse avata tämä.
Anna minun mennä Tiedosto, Uusi.
Aion mennä Events.
Aion mennä, kun vihreä lippu napsautetaan, ja aion mennä Sound.
Ja aion vetää ja pudottaa tämän palapelin pala, toistaa ääntä miau.
Se salvat yhteen.
Ja nyt, jos klikkaan Vihreä lippu -
>> [MEOW SOUND]
>> DAVID MALAN: Suloinen.
OK, joten nyt tehdään jotain hieman loogisempaa vain osoittaa, että
voimme nyt.
Aion unlatch Tämä siitä että kaveri.
Aion mennä hallita.
Ja aion napata kunnossa.
Joten jos jotain sitten.
Niin, että miten se näyttää siellä.
Joten minun on Boolen lauseke.
Ja anna minun mennä eteenpäin ja sanoa, anna minun mennä Operaattorit.
Aion tehdä jotain hieman mathy ihan vain huvin vuoksi.
Aion mennä ja sanoa, jos jotain on vähemmän kuin jotain muuta,
mennä eteenpäin ja tehdä jotain.
Joten nyt tiedät mitä, satunnainen lohko.
Joten huomaa, miten, jos olen hääriä tämän asia tässä, että napsahtaa siellä.
>> Joten nyt, ilmoitusta, olen alkanut tehdä jotain jo järkevämpää
mielenkiintoinen.
Jos satunnainen numero 1 ja 10 on pienempi kuin, sanokaamme kuusi.
Jos valitsen kuusi, joka olennaisesti tarkoittaa, tee seuraavat 50%
todennäköisyydellä.
Se on kuin kolikonheittoa.
Nyt voin tehdä jotain ehdollisesti.
Ja että jotain aion vain pelata äänen.
Joten nyt, kun klikkaa ruudulla lippu, se on kuin heitin kolikon.
>> [MEOW SOUND]
>> DAVID MALAN: Se oli heads tai vaikka mitä siellä.
Tehdään se uudestaan.
>> [MEOW SOUND]
>> DAVID MALAN: Heads uudelleen.
>> [MEOW SOUND]
>> DAVID MALAN: Heads uudelleen.
Huh huh, OK.
Tails tuolloin.
Joten 50% ajasta, jos teemme tämän äärettömän pitkä, saamme 50% meows
ja 50% hiljentää.
Joten ei vain perusrakenneosan lohko, jonka avulla voimme tehdä.
Mutta tämä on sellainen ikävä, että olen pitää klikkaamalla tätä nappia.
Joten haluan vain vetää ja heittää kaikki nämä pois.
Jos vedit heidät keskelle, he vain poistaa itse.
>> Anna minun mennä jopa hallita.
Anna minun mennä ikuisesti.
Ja tällä kertaa aion tehdä jotain minorly ärsyttävää.
>> [Naurua]
>> DAVID MALAN: Ja anna minun mennä eteenpäin ja tehdä valvontaa.
Odota yksi sekunti, vain niin se ei ole liian ritilä.
>> [MEOW SOUND]
>> DAVID MALAN: Se ei ole luonnollista.
OK.
>> [MEOW SOUND]
>> DAVID MALAN: Ja huomautus Mitä, nice noin Scratch, niille, jotka
on ennen ohjelmointi kokemusta, sinun ei tarvitse aloittaa ja lopettaa.
Sinun ei tarvitse kääntää.
Sinä vain muuttaa sitä, ja ohjelma sopeutuvat dynaamisesti.
Joten tämä on tulossa vähän mielenkiintoinen.
Mutta katsotaanpa ottaa sen askeleen pidemmälle.
Anna minun mennä eteenpäin ja saada eroon ohjelman.
>> [MEOW SOUND]
>> DAVID MALAN: Sitähän me hyvitämme soittaa vian Scratch.
Hän ei pidä tehdä, että äänen.
Joten me kerromme häntä lopettamaan.
Okei, joten nyt olen aio mennä -
Kerron MIT tietää.
Menemme tänne ikuisesti.
Ja nyt, haluan tehdä jotain uudelleen ja uudelleen.
Aion mennä ohjaus.
>> Ja katsotaanpa, aion vetää minun jos ehto on.
Joten nyt huomaa logiikan.
Kun Vihreä lippu napsautetaan, tehdä jotain ikuisesti, vaan ainoastaan ​​tehdä
jotain, jos tämä toinen asia on totta.
Aion mennä, nyt sanoa, tunnistus.
Ja aion mennä eteenpäin ja valita koskettaa ja pudota sinne.
Se Boolen lauseke.
>> Ja nyt, huomaa, tässä pudota valikosta on
valmiisiin arvot.
Voin siis sanoa, olet koskettaa näytön reunaan?
Vai oletko koskettaa hiiren osoitin nuoli ruudulla?
Joten aion tehdä niin.
Ja jos näin on, niin aion mennä eteenpäin ja toistaa ääntä miau.
Joten nyt minulla sellainen on alkaa peli -
ihana peli.
>> [MEOW SOUND]
>> DAVID MALAN: OK, ihastuttava, buginen peli.
Anna minun odottaa, sanotaanko, yhden sekunnin siellä.
Nyt pelata uudestaan, klikkaamalla Vihreä lippu.
>> [MEOW SOUND]
>> DAVID MALAN: Eli nyt on kuten hyväily kissan.
>> [MEOW SOUND]
>> DAVID MALAN: Okei, nyt tämä minun ei tehdä etukäteen.
Hyvin myöhään, se saa sellaista helppo tehdä tyhmyyksiä.
Joten anna minun mennä tänne.
Sanotaan, että on Pet Cat.
Katsotaanpa nyt avata Älä Pet Cat.
Nyt, jos me pelata tätä, Voit arvata, jos olet
katsomatta näyttöä -
>> [MEOW SOUND]
>> DAVID MALAN: Nyt, jos olen lemmikki kissa
>> [Lion ROAR]
>> DAVID MALAN: Joten älä itse lemmikki kissa tässä tapauksessa.
Nyt meidän on vain esimerkki haara, joka menee kahteen suuntaan.
Nyt haluan mennä eteenpäin ja avaa toinen täällä.
Tämä yksi, myös keskuudessa lähde kooditiedostot päivän.
Joten anna minun mennä takaisin minun Source hakemisto ja mennä, valitkaamme
tämä kaveri täällä ja nähdä mitä eri.
>> Vau, okei, joten nyt se alkaa hieman monimutkaisempi.
Ja ennen kuin näemme, mitä tämä kaveri tekee, yritetään päätellä, ohjelmasta
oikealla puolella.
Ja nyt tyhjästä selvästi antaa meille mahdollisuuden on useita skriptejä, useita
ohjelmat, jotka liittyvät yhteen sprite, yksi merkki ja ilmeisesti
he molemmat menossa ajaa tahtiin.
Koska molemmat näistä ohjelmista alkaa kanssa, kun vihreä lippu napsautuksella Tämä on
vihjaten kehittyneempi aihe, jossa jonka jotkut teistä saattavat tuntea,
tunnetaan ketjuttaminen, tai monisäieominaisuuksia.
>> Osoittautuu, pitkä tarina lyhyt, tietokoneet tänään voi olennaisesti tehdä useita
asiaa kerralla.
Tai he voivat tehdä yksi asia kerrallaan, joten nopeasti, että et edes huomaa, että
se todella tekee yhden asia kerrallaan.
Mutta nyt Oletetaan, että molemmat nämä ohjelmat ovat menossa suorittaa milloin
samaan aikaan.
Ja ilmoitus, molemmilla on ikuisesti palapelin palaset.
Joten he molemmat menossa pitää käynnissä kunnes osuin punainen stop-merkki.
>> Joten mitä he aikovat tehdä?
Vasemmalla puolella, olen ilmeisesti julistaa muuttuja nimeltä vaimennettu.
Joten en kutsua sitä jotain tylsää kuin N. kutsuin sitä mykistyy tämän
aikaa välittää merkitystä.
Otan sen nolla.
Ajatellaanpa, että False, tai Ajatellaanpa, että False.
>> Nyt, ikuisesti toimi seuraavasti.
Jos näppäimistön välilyöntiä painetaan, Sitten jos mykistetty on nolla,
vaihda mykistyy yhtäläisiä yhden.
Else asettaa vaimennettu nollaan.
Joten loogisesti, vaikka se on aivan nippu palapelin palaset, joka on
vain sanomalla, kun välilyöntiä, mitä minun pitäisi tehdä muuttujan
kutsutaan hiljaiseksi?
Muuttaa nollasta yhteen, tai nollasta yhteen.
Siinä kaikki.
Joten se on kuin kääntämällä valokytkin päälle tai pois ja muistamisen kanssa
muuttuja, että olen tehnyt sen.
>> Samaan aikaan, oikealla puolella, vuonna Maallikon termein, mitä on tarkoitus
käsikirjoitus oikealla?
>> Opiskelija: Voit pelata merileijona ääni.
>> DAVID MALAN: Jos haluat pelata Sea Lion ääni, jos hän ei ole mykistetty, jonka
luonne, että muuttuja.
Joten jaamme valtion, niin sanotusti, jakaa tietoa eri näiden kahden
skriptejä, koska huomaa täällä, me olemme ikuisesti tekemällä seuraavat.
Jos vaimennettu on nolla, joten jos se ei ole mykistetty - jos mykistyy on väärä, sitten pelata
Tämän Sea Lion ääni.
Ja ajatella itse, hi, hi, hi, sillä kaksi sekuntia, odota hetki, ja sitten
tarkista uudelleen.
Joten jos menemme nyt tänne vasemmalle, missä tämä kaveri on, ja osuma
Vihreä lippu,
>> [Merileijona SOUND]
>> DAVID MALAN: missä vaiheessa Tämä saa todella ärsyttävää?
Koska tämä vain loputtomiin.
Joten joskus, ääretön silmukoita, niin sanoakseni, on tahallista.
Mutta tässä tapauksessa, heti kun olen välilyöntiä, hän lopettaa.
Nyt ohjelma ei lopeta.
Se on edelleen käynnissä näissä silmukoita.
Mutta jos saan välinäppäin -
>> [Merileijona SOUND]
>> DAVID MALAN: Hän vilkastumassa mihin hän lähti pois.
Joten on yksi tapa, jolla voimme tehdä jotain uudestaan ​​ja uudestaan, mutta että
aikaa, vain ehdollisesti.
No, kun olemme tämäntapaista tehdä asioita uudestaan ​​ja uudestaan, haluan
mennä toiseen esimerkki tästä.
Tämä soitamme Counting Sheep.
>> Ja huomaa, mitä tämä kaveri tekee.
Se on oikeastaan ​​hieman enemmän kuin pseudokoodina leikittiin on
Keskiviikko jolloin hän asettaa joitakin laskuri, ajattele sitä on N jälleen,
nolla, hän ikuisesti tekee seuraavat.
Hän sanoo, laskurin arvo yhden Toinen, odottaa toista, ja sitten
muuttaa vasta yhden.
Ja tässä yhteydessä, että vain tarkoittaa välein sen.
Niinpä hän lisää yhden sen.
Joten tämä on kirjaimellisesti -
se ei ole aivan sitä, mitä ajattelemme AS Counting Sheep.
Se lampaat tekee laskennan ikuisesti, nollasta ylöspäin.
>> Joten voimme tehdä samanlaisia ​​asioita siellä, loogisesti.
Mutta nyt yritetään puhdistaa joitakin näistä asioista ylös.
Anna minun mennä eteenpäin nyt pelkäksi Esimerkiksi jos meidän kissa on juuri menossa
alkaa yskä.
Okei, joten tässä meillä on yskä 0 -
tietotekniikan tutkijoita aloittaa laskien 0.
Joten tämä kissa on juuri menossa yskä kolme kertaa.
Ja tässä miten olen toteuttanut sen.
Kun Vihreä lippu napsautetaan, yskä, odota, yskä, odota, yskä, odota.
Ja tein tämän vetämällä ja pudottamalla palapelin palaset.
Tai jos alkaa korjailla Scratch, näet voit itse
kahtena kappaletta niin, että voit tehdä asiat nopeammin ilman vetämällä
ja pudottamalla loputtomiin.
>> Mutta emme ole paras keino tähän.
Koska miten hänet yskä neljännen kerran?
No, voisin tavallaan mennä tänne.
Voisin kopioida ja sitten liitä tämä sinne.
Miten hänet yskä viidennen kerran?
No, kopioi ja liitä uudelleen.
Tai vedä pudota uudelleen.
Ja hyvin nopeasti, tämä ohjelma käynnistyy saada todella, todella tarpeeton,
todella pitkä, mutta todella mielenkiinnoton.
Mutta on tapa puhdistaa tämän.
Mikä on ilmeinen tapa puhdistaa tämän?
>> OK, joten voisimme todella todella mennä pois, ja kun osut tilaa
baari, hänet yskä.
Mutta jos haluan vain tehdä jotain toistuvasti, muistaa, että meillä on
Joissakin ohjaus rakentaa.
Jatkan tätä pois tavalla, mene hallinnassa.
Haluan vain tehdä toista, sanoa, kolme kertaa.
Ja nyt haluan varastaa Näiden palapelin palaset.
Saanen snap tämän tänne.
Saanen heittää nämä pois kokonaan.
>> Ja nyt, minulla on parempi suunniteltu ohjelma.
Miksi?
Jos haluan muuttaa kertaa tämä kissa yskii, kaikki minun täytyy
vain vaihtaa yksi muuttuja, tai yksi arvo, pikemminkin kolme, neljä tai
viisi tai kuusi.
Tai voisin tehdä jotain ehdollisesti, vaikka, jossa tilaa
bar, jos halusin.
>> Joten tämä on yleinen periaate.
Kun aloitat kopioimalla koodi, onko se Scratch, tai
C, teet jotain väärin, todennäköisesti.
Tai ainakin, kun olet ylittänyt joitakin kohtuullisen määrän kopioita ja
pastat, olet todennäköisesti tehnyt jotain väärin.
>> Mutta tiedätkö mitä?
En oikein pidä tästä.
Tämä ei ole puhtain suunnittelu.
Toivotan oli palapelin pala nimeltään yskä, koska niin en
on pantava täytäntöön tämän itse, vanhanaikaisella tavalla, jonka
ottaa sanovat, ja odota -
mitä jos ne olivat vain yskä palapelin pala.
>> No, voin todella tehdä.
Anna minun mennä mukaan enemmän lohkoja, valitse Tee Block, ja nyt saan tämän
ikkuna täällä.
Aion kutsua tätä asiaa yskä.
Aion mennä eteenpäin ja klikkaa OK.
Ja nyt ilmoitus, saan uuden alun pala, joka on kaareva päällä.
Ja mitä aion tehdä tämän, olen menossa vain varastaa nämä kentät.
Aion laittaa ne tänne.
>> Ja nyt, nämä kolme kappaletta, olen toteutetaan mitä aion soittaa
toiminto tai menettely, tai joidenkin ehkä tietävät sen menetelmä.
Lievä eroja sanoja.
Mutta nyt haluan vain kutsua tätä toimintoa.
Tämä on vain uusi palapelin pala.
Nyt se on toteutettu näin.
>> Mutta huomaa, että Scratch on antanut meille fyysinen edustus, että koko
estää tänne.
Joten nyt voin vain vetää tämän tänne, sanoa, toista kolme kertaa, ja
mitä tapahtuu nyt, kun pelaan tämä kirjoitus on vain yksi ohjelma
on käynnissä kerrallaan.
On vain yksi, kun Vihreä lippu napsautetaan.
Mutta että violetti lohko kutsutaan yskä on tehokkaasti kertoo Scratch, joka
kerran näet, että palapelin pala, oikeastaan Suorita nämä vaiheet, että minä
tapahtua toteuttaa manuaalisesti.
>> Niin, että sellainen siisti.
Mutta nyt olettaa, että päätin, en halua tätä kissa vain yskä.
Haluan hänen pystyä aivastaa samoin.
No, miten voisimme edetä täytäntöönpanosta aivastus?
No voisin melko paljon tehdä sama asia.
Voisin tehdä toinen lohko.
Voisin kutsua tätä aivastaa, klikkaa OK.
>> Sitten tänne voisin oikeastaan ovat, haluan kopioida tätä -
ja siellä missä pitäisi tuntua olet todennäköisesti tee jotain
paras tapa.
Voisin sanoa jotain, Achoo, yhden sekunnin.
Odota hetki.
Nyt minulla on uusi lohko nimeltään aivastaa.
Ja todellakin, siellä se on.
>> Mutta tämäkin pitäisi alkaa tuntea - ehkä ei ensimmäisellä viikolla luokassa, mutta
toisen - vain hieman tarpeeton.
On selvää, siellä on joitakin irtisanomisia täällä.
Joten haluaisin ehdottaa sen sijaan, että tarkentaa tätä määritelmää seuraavasti.
>> Anna minun mennä jopa minun file-valikosta.
En aio säästää tämän version.
Aion mennä johonkin minun premade tiedostot tänne.
Ja aion mennä eteenpäin ja avata yskä 2.
Whoops joka oli yskä 2.
Anna minun mennä eteenpäin ja avata yskä 3, joka on tästä lähteestä hakemistoon.
Yskä 3 ja huomaa - oh, sanoin tarina väärässä järjestyksessä.
Saanen toipua tämän tarinan.
>> Tarina Tarkoitin sanoa päättyy yskä 4 -
siellä se on.
Joten mitä jos en sen sijaan määritellä isompi palapelin pala kutsutaan
määritellä, sano sana n kertaa.
Aivastelu on vain ilmeisesti Scratch, Achoo.
Joten annamme sen sanan, vain koska se on
rajoite ohjelman.
Ja yskä on [Yskä], mutta yskä, C-O-U-G-H. Niin, että on vain kaksi
eri sanoja tekemässä lähinnä, sama asia.
>> Joten en voi itse tehdä uusi lohko näin.
En käytä tätä valikon ennen.
Mutta kun valitset Make Block, voit valita joitakin vaihtoehtoja.
Ja voit sanoa, että tämä lohko todella vie jonkin tuloa, toisin
tunnetaan argumentteja, tai parametrit, niin että voit muuttaa käyttäytymistä
oman lohkon.
>> Joten mitä tein hetki sitten oli Kutsuin tätä block Sano.
Ja sitten minä sanoin, se vie Jonosyötteitä.
Ja nyt huomaa, oletuksena, se sanoo string 1.
Merkkijono on vain sana, tai lause, meidän tarkoituksiin.
Mutta olen juuri menossa laittaa paikanvaraajatekstin siellä, aivan kuten
verkkosivuilla, kun näet käyttäjätunnuksen, tai salasana, ja sitten se katoaa, kun
aloitat kirjoittamisen.
Se kaikki on.
>> Ja nyt aion lisätä numeron syöttö.
Ja aion kutsua tätä n - mutta se on melko mielivaltainen.
Ja sitten vain merkki, vain tehdä tämä lohko hieman enemmän itse
perusteluissa -
kertaa, että mitä tein.
Ja lopputulos on, että saan lohko, joka näyttää tältä.
>> Ja nyt huomaa, olen käyttäen toista lohko.
Mutta sen sijaan kova koodaus kolme, olen vetämällä ja pudottamalla n siellä niin I
voi parametrize toiminto.
Voin tehdä tämän toiminnon tehdä jotain eri määrän kertoja perustuen
että arvo.
>> Ja huomaa, sanoa, tämä on mitä tein täällä, jos vedän sana, voin sanoa ei
koodattu sana, mutta mitä tahansa johdetaan yhden sekunnin.
Samaan aikaan, miten uudelleen käyttöön yskä?
Minä sen sijaan määritellä yskä sanomalla yskä n kertaa.
>> Joten lyhyt, olen menossa läpi tämän nopeasti, mutta perusidea on heti
kun alkaa nähdä oman ohjelman , että hetkinen, olen tehnyt
aivan kuten tämän ennenkin, voin tekijä joitakin yhteisiä
toimintoja?
Voinko hajota mitä teen johonkin perusajatuksia?
Se mitä teemme täällä.
Ja olen pinottu näitä asioita, visuaalisesti, päällekkäin toistensa
koska se on osoitus, että ajatus alkaen binary, menee ASCII,
tehdä graafisia ohjelmia, eräänlainen kerrospukeutuminen yhä monimutkaisempia ideoita
päällekkäin.
>> Sama ajatus täällä.
Aloitin tyhjästä, täytäntöönpanosta yskä, tajusi yskä on
oikeastaan ​​vain sanoa jotain.
Joten haluan sen sijaan toteuttaa käsitettä sanoa jotain.
Ja päälle, että voin toteuttaa Achoo tai yskää?
Ja voisimme tehdä enemmän tällaisia variantteja edelleen.
>> Joten tästä periaatteesta, voimme alkaa tehdä
yhä monimutkaisempia ohjelmia.
Saanen avata tämä.
Meillä saattaa olla useita sprite vuorovaikutuksessa ruudulla kerralla.
Jos menen lähdekoodin hakemistoon napata yksi nimeltään Langat, muistaa, että
lanka on vain todella kyky kaksi skriptejä ajaa rinta
puolella samaan aikaan.
>> Huomaa nyt, on sekä lintu sprite ja kissa sprite, jotka molemmat ovat
omia skriptejä.
Joten ilmoituksen, kun napsautan kissa, saan nämä skriptejä.
Kun klikkaan lintu, Saan näitä skriptejä.
Joten jokainen näistä kavereista on hänen omia ohjelmia.
Kun olen nyt klikkaa Vihreä lippu, huomaa että mitä tämä ohjelma tekee on
on kissa, uskomattoman hitaasti, jahdata lintu.
Mutta kissa on etunaan on ohjelmoitu siten, että
että missä lintu on, kissa menee häntä kohti.
>> Voimme pelata tätä peliä paljon nopeammin.
Joten jos olen kissa, huomaa, että olen käyttäen, sanokaamme liikkua yhden askeleen.
Katsotaanpa häntä siirtyä viisi vaiheet aikaa, joten viisi pistettä kerrallaan.
Minäpä valitse pelata.
>> [Lion ROAR]
>> DAVID MALAN: Okei, nyt voimme todella antaa kissan etu.
10 askelta kerrallaan.
>> [Lion ROAR]
>> DAVID MALAN: Okei, niin hyvin nopeasti, se saa vähän hyötyä
kissalle.
Mutta minä heiluttaa kättäni joitakin yksityiskohtia.
Mutta syy, että polku on alkaen hieman erilainen joka kerta
on se, että olen tekemässä vähän satunnaisuutta.
Olen oikeastaan ​​osoittaa kissa eri suuntaan sen perusteella, missä I
halua häntä aluksi niin, että joka kerta pelin tai animaation, on
hieman erilainen.
>> Nyt haluan esitellä yksi muut rakentaa täällä.
Joten tässä tapauksessa, meillä oli toimintoja.
Mukana on myös olemaan palapelin pala tunnetaan array, tai lista,
jonka avulla voit tallentaa useita arvojen sisällä muuttuja.
Näimme kierteet, ja nyt siellä on tapahtumia.
>> Joten tässä tapauksessa käyttämällä nämä kaksi kaveria täällä.
Ja jos minä avata tiedosto nimeltä Tapahtumat nykypäivän esimerkkejä, me
Katso ohjelma, joka näyttää vähän kuin tämä.
Ja nyt huomaa tämä kaveri -
niin huomaa minulla on sininen Muppet napsautetaan -
hän tekee vain seuraavat.
Hän ei ole yksi niistä Vihreä lippu palapelin palaset.
Hänellä on kun saan tapahtuma -
joten jotkut mielivaltainen sana.
Sain kirjoitetaan ulos tapahtuma siellä -
Hän aikoo sanoa, Polo, kahden sekunnin ajan.
>> Joten ne teistä, jotka tuntevat tätä peliä voi tietää
mihin tämä on menossa.
Jos minä nyt klikkaa oranssi Muppet, Hänen ohjelma tekee tämän.
Ikuisesti, jos näppäimistön välilyöntiä tukahdutetaan, hän aikoo sanoa, Marco,
kaksi sekuntia ruudulla.
Mutta hän myös aikoo käyttää tätä harrastaja estää tunnetaan lähetystä.
Hän aikoo lähettää viestiä lainaus, "tapahtuma."
>> Samaan aikaan, sininen kaveri, muistaa, on kuuntele quote lainaus, "tapahtuma."
Joten jotenkin, nyt voimme olla kaksi sprites vuorovaikutuksessa.
Ja kun saamme Web-ohjelmointi, myöhemmin aikavälillä, samalla tulee tämän
olla edullista sivustosi tehdä jotain vastauksena varten
Esimerkiksi napin näppäimistön.
>> Joten anna minun mennä eteenpäin ja välilyöntiä.
Oranssi kaveri sanoo Marco.
Sininen kaveri sanoo Polo.
Jos teen sen taas oranssi kaveri sanoo Marco, sininen kaveri sanoo polo.
Joten ottakaamme tämä askeleen pidemmälle.
Tällä kertaa me mennä, luultavasti vain muutama minuutti tästä.
Onko meillä -
pöytälamppu, tule alas.
Olet aivan lopussa.
OK, voit molemmat keksiä.
Meillä on Kirjoituspöydän lamput kaikille.
Tule.
En tiedä, jos voimme pitää tätä naurettavaa gag ylös
kaikki lukukauden, vaikka.
Okei, tule alas.
>> Ja sillä välin, meillä on Seuraavat esimerkit vetää ylös, vain
nopeuttaa asioita nyt, niin että me on osoitus toisesta
edeltäjä omasi käyttäen samat rakennuspalikoita.
Mikä sinun nimesi on?
>> JOHN: John.
>> DAVID MALAN: John.
Kiltti minulle sinua.
Ja?
>> SETZ: Setz.
>> DAVID MALAN: Setz, kiltti minulle sinua.
John, jos haluat tulla ensin ylös, tämä on vanha
koulun pelin nimeltä Frogger.
Voit käyttää näppäimistöä tästä.
Ja tavoitteena on saada eri katu-ja vesi.
>> [Frogger musiikki ja ääni PLAYS]
>> DAVID MALAN: Olen pahoillani, ei pöytälamppu sinulle tänään.
Okei, Setz, ethän haluavat tulla ylös?
Okei, tehdään se uudestaan.
>> SETZ: Älä käytän nuolia?
>> DAVID MALAN: Vain nuolinäppäimillä.
Ylös, alas, vasen, oikea.
>> [Frogger musiikki ja ääni PLAYS]
>> DAVID MALAN: Soitamme heille lohdutus palkinnot tänään,
sitten, hyvin tehty.
Täällä teille molemmille, John ja Setz.
Onneksi olkoon, kaikki hyvin.
Joten jälleen, koska tämä peli pelaa, miettiä, mitä on tekeillä?
>> Yksi, siellä on selvästi paljon liikettä.
Mutta olemme nähneet miten, kissa ja lintu esimerkiksi miten voit tehdä
illuusion liikkeen vain siirtämällä joitakin pikselien määrä uudelleen ja uudelleen.
Ja jos sinulla on ikuisesti lohko, sinulla voisi olla näitä
autot tekevät tätä ikuisesti.
Meillä on kyky on joitakin satunnaisuuden.
Joten tämä peli ei tarvitse olla täsmälleen sama joka kerta.
Nämä lokit, ne autot, voi alkaa hieman eri aikoina niin, että
Peli itsessään on mielenkiintoinen jokaisen pelin.
>> Ja Samaan aikaan olemme nähneet kyky kuunnella välilyönti.
Mutta selvästi, Scratch, voitte myös kuuntele ylös, alas, vasemmalle, oikealle, ja
oikeastaan ​​mitään näppäimistön näppäintä.
Ja voit myös tehdä joitakin muita asioita.
Anna minun mennä eteenpäin ja palata verkkoversio.
>> Anna minun mennä meidän kokoelma esimerkkejä tästä.
Ja alle Oma studio, videon, joka on pohjimmiltaan kansioon
scratch.mit.edu.
Meillä on web-versiot kaikki nämä hankkeet.
Ja katsotaanpa saan tietokone yhteistyötä täällä.
Tämä on kirjoittanut yksi ystävämme MIT, nimeltään Siirrä Butterfly.
>> Ja kun tämä avaa, tämä on aikoo itse käyttää enemmän
tietokoneen laitteiston.
Scratch sattuu toteutetaan Flash.
Flash voi puhua nettikamerasi jos sinulla on sellainen.
Joten jos menen eteenpäin ja koko näytön tämän täällä, valitse vihreä lippu, ilmoitus
että Flash tietoturvaviestin sanoo, haluatko
anna käyttää minun webcam?
>> Tavallisesti pitää ehkä sanoa Estä.
Mutta tässä tapauksessa, me sanomme avulla.
Sitten aion kertoa Chrome jotta tämän hyvin.
Ja nyt, vain hetken, näet minut, jep, minulle.
Ja jos käteni menee ylös -
Täytyy liiku minun pää samanaikaisesti.
Mukana on myös pohdintaa ruudulla.
Tule, siellä mennään -
voit siirtää sen ruudulla, koska siellä on myös palapelin palat - Ai, sinä
tiedä mikä se on, se on koska myös katso valkokangas takanani.
Joten meillä on pieni ääretön asia siellä tapahtuu.
>> Okei, niin minä pelaan täällä.
Siellä mennään.
Joten siellä on myös palapelin pala, joka sanoo, kun näet liikkeen alla
yksi sprite, voit olla se mennä ylös, alas, vasemmalle, oikealle tai vastaavaa.
Joten meillä on vähän virtuaalitodellisuus täällä hyvin, kaikki
rajojen minun selain, vain tästä käyttäen minun webcam.
Niin mitä sitten horisontissa.
Ensimmäinen ongelma set, kuten näet, tai verkkosivuilla mennä verkossa myöhemmin
tänään klo cs50.net, on melko paljon olemaan avoimia.
Ja toteuttaa Scratch projektin kiinnostaa sinua, peli,
vuorovaikutus, jotain taiteellista ja haasta itsesi käytä numeroa
Näiden palapelin palaset.
Ja se voi olla joko vuorovaikutteinen tällä tavalla.
Tai se voi olla jotain enemmän tietoisesti teki kertoa tarinan.
>> Ja todellakin, siitähän me lopulta pois tänään vielä yhden esimerkin.
Anna minun mennä Scratch paikallisesti.
Anna minun mennä eteenpäin ja avata tämän ja pelata viimeinen ohjelma kirjoittanut yksi
edeltäjistänne eli että yksi tässä.
Hyvä, nostaa äänenvoimakkuutta tämä yksi.
>> [Musiikki soi]
>> Kertoja: Seuraavassa CS50, David kutsuu vapaaehtoinen lavalla.
>> DAVID MALAN: Tätä esittelyä, aiomme tarvitsevat yksi vapaaehtoinen.
Haluatko tulla alas?
Mikä sinun nimesi on?
Liikettä.