[Powered by Google Translate] [Rock mūzika]
[MUSIC - "laimīgi kopā" ​​bruņurupuči]
DAVID Malan: Šodien, mēs sākam mūsu izpētes
pamati datorzinātnes un mūsu ieviešanu,
Tagad, uz mākslu plānošanas, no kuriem tas ir
tikai viens piemērs.
Bet tajā pašā vēnu problēmu risināšanas, zina, ka
CS50 tradicionālo puzzle diena ir rīt.
Ja Jūs vēl neesat RSVPed par šo notikumu, jūs varat doties uz
cs50.net/rsvp.
Jūs varat dot komandas divu vai trīs vai četras.
Jums tiks apstrīdēti ar problēmām, piemēram, vienu jūs redzēju
tur sākumā.
Visas jaunās problēmas šajā gadā, ja jūs baudīju pagājušajā gadā, un jums
būs iespēja tad laimēt dažas pasakains balvas.
Starp tiem, Wii un daži dāvanu kartes un tamlīdzīgi,
visu laiku esot kopā ar CS50 studentiem un klasesbiedriem
un picas un Facebook.
Tātad vairāk par šo rīt, ja jūs vēlētos.
>> Šis tad ir CS50, tiem no jums, kas savieno mūs
pirmo reizi.
Un zinu, ka šis kurss ir īpaši noteikts, lai saņemtu
Jūs caur šo kursu uz savu gala beigās, kurā brīdī jums
būs ne tikai izpratne par šiem
pamati datorzinātnes, bet jums būs
Tas ļoti praktisku iemaņu kopumu, kas pēc tam var pieņemt atpakaļ uz
savu nodaļa, vai tas ir inženierzinātnēs,
lietišķās matemātikas, dabaszinātņu, dabas
zinātne, vai līdzīgi.
Patiešām, kas ir tik aizraujoši par datorzinātņu šiem
dienas ir, ka tas ir tikai tik piemērojama
visu veidu jomās.
Un, pat ja šodien, mēs tikai saskrāpēt virsmu
ļoti tradicionāla programmēšanas valoda pazīstams kā C, mēs
vietā apskatīt kaut ko sauc Scratch, kaut ar
ko šī sīkdatne mīlas stāsts tika īstenots ar vienu no jūsu
priekšteči gadu iepriekš, lai stāstīt stāstus, lai izveidotu spēles,
lai radītu interaktīvu mākslu, un faktiski sākt wrap OUR
prātus ap dažiem galvenajiem konstrukcijas, kas
pamatā programmēšana bet tādā kontekstā, kā jūs redzēsiet, ka ir
daudz mazāk biedējošu, kas ir daudz mazāk mistiskā, nekā jūs redzēsiet
pirms ilgi.
Un realizēt, arī tiem, kas no jums vienkārši pievienoties mums šajā
semestrī, frāzes par kuru mēs beidzās trešdienas lekciju,
tas nav tik svarīgi, kur tu galu galā, salīdzinot ar savu
klasesbiedru šajā klasē, bet, ja jūs, pēc semestra beigām
11 nedēļas, galu galā, salīdzinot ar sevi tiesības šajā pašā dienā.
>> Tātad bez papildu ADO, tas ir arī vērts pieminēt, ka
tiem mazāk apmierināti, tiem starp kaut kur ir
arī pēc Izstrādājot šo protams, nav tā, kas
vis-vis tiem ērtāk
stāšanās šajā klasē.
Kā jūs redzēsiet pa nedēļās, mums ir dažādi
dziesmas par atšķirīgu muguras fona, sekcijas tiem
mazāk apmierināti, ērtāk, tie kaut kur
starp.
Kā jūs redzēsiet šajā nedēļas nogalē un nākamnedēļ, divas versijas
Lielākā problēma komplekti gan standarta, gan hakeru izdevuma tā
ka jūs visi varat sevi izvēlēties nosaka ceļu, ar kuru
ir visērtāk.
>> Tātad šodien mēs ienirt šajā plānošanā
valodā sauc Scratch.
Tas ir grafiskā programmēšanas valoda, un tomēr tas ir
pašas iezīmes daži no augstāka līmeņa valodām mēs
izpētīt vēlāk semestrī, starp tiem C un
JavaScript un PHP.
Bet tas notiek, lai ļautu mums izvairīties no dažām traucējošos
agri no sintakses, lietām, piemēram semikoliem, iekavas
un citi Arcane ziņas, kas, pēc pirmā acu uzmetiena, ir tikai nav
vispār intelektuāli interesanti un mēdz saņemt
ceļā no kāda pamata izpratni.
Runājot par šobrīd atbalsta struktūru priekšā, sapratu
līdzeklis, CS50 diskutēt, kas būs saistīts ar kursu s
Mājas vēlāk šodien, ir tiešsaistes diskusiju forums
kas jums būs iespēja uzdot jautājumus par otru un
personāls, un tas ir arī līdzeklis, kā mēs redzēsim nākamnedēļ,
ka mēs izmantosim diezgan integratedly jo
darba laiks, kā arī.
Patiešām, darba laiks sākas pirmdien, un godīgi sakot, pirmais
nedēļa darba laika ir diezgan zems taustiņu.
>> Es nedomāju, ka jūs atradīsiet Scratch visu, kas pieejams.
Tas ir diezgan pašsaprotami, jo mēs redzēsim, un lai ko
mēs to izmantosim, lai šodien ir iegūt dažus
fundamentālas idejas, kas, pēc tam, saglabājas visu
pārējā semestrī.
Bet sākot Pirmdien, pie 8:00 līdz 23:00 būs
biroja stundas Annenberg nekā smadzeņu pārtraukuma.
Sectioning divi būs sāksies šovakar, tāpēc dažkārt šī
nedēļas nogalē, dodieties uz cs50.net/section, un jūs
lūgt vairākus jautājumus.
Starp tiem, kā jūs raksturotu
komforta līmeni kā šodien?
Nav grūti, ātri noteikumu par to, kurš ir kurā kauss.
Tas ir tikai veida lieta, ka jūs droši vien zināt, ja jūs
ir viens no tiem ir mazāk apmierināti vai citādi.
>> Un tagad, walkthroughs.
Problēma komplekts specifikācija šajā nedēļā, gan standarta
un hacker izdevums līdzīgi, ir tiešsaistē cs50.net kā tagad.
Un jūs redzēsiet, ka pirmais no šiem izdevumiem,
standarta izdevums katru nedēļu, ir pievienots kaut mēs
zvanīt kodu walkthrough, sesija vadīja vienu no
Protams mācība stipendiātiem, lai palīdzētu jums caur sniedz
padomus, un saņemt jūs leju īpašu ceļu, kad runa
sākuma šīs problēmas kopas.
Tātad ar katru no šīm problēmām komplekti, ja jūs kādreiz vēlas
par sevi, kur es varu sākt, jūs sākat ar šiem
walkthroughs.
Un patiesībā, ļaujiet man iepazīstināt Zamyla Chan, šo
Šogad mācību puisis, kurš vadīs katru
viena no šīm walkthroughs.
Zamyla?
>> [Aplausi]
ZAMYLA Chan: Ak, hi, visiem.
Mans vārds ir Zamyla.
Es esmu jaunākais studē inženierzinātnes, kas Winthrop namā.
Bet es mēģinātu fit tik daudz datorzinātņu kursus, kā I
varat, kas ir iemesls, kāpēc es esmu patiesi satraukti, ir vadošā šo
Šogad walkthroughs.
Walkthroughs, man bija svarīga daļa no manas CS50
pieredze.
Laikā walkthrough, par katru p-kopumu, mēs iesim cauri
Problēma, kas kopā, apskatīt problēmas, sava veida
sadalīt tos pārvaldāmu kodieniem.
Es došu jums padomus, metodes, lai iegūtu
caur un iesākumam.
Es ceru redzēt jūs visi pie walkthroughs.
Ja jūs nevarat veikt to personīgi, tad
lūdzu uzgriezt tiešsaistē.
>> DAVID Malan: Izcili.
Paldies, Zamyla.
Lai saprastu, ka walkthroughs ir, protams, par piektdiena
pēcpusdienā, bet tas ir apzināti veidoti tā, lai
pat ja jūs nevēlaties apmeklēt klasē par piektdienā
pēcpusdienā, video būs up ātrāk nekā
nedēļas nogalē.
Lai saprastu, ka cs50.net būs visi Zamyla s
walkthroughs.
Un ka ir šodienas datums un laiks, 3.00 pēcpusdienā
Harberd zāle, 104.
Un daži no mācību puiši ir sagatavojuši
daži par jums piezīmes aizmuguriski, lai dotu jums mazliet
perspektīva par to, ko viņu pieredze stāšanās un
izbeigs CS50 bija līdzīgi.
Tātad, ja mēs varētu tuvās tikai brīdi gaismas, es jums
daži no CS50 darbiniekiem.
>> JACKSON STEINKAMP: Man bija CS50 pagājušajā gadā kā pirmkursnieks
samazināties, un tas absolūti blew manu prātu.
Es nekad nebiju veikusi nekādus programmēšanas nodarbības pirms,
un nekad nāca ar kādu datorzinātņu
pieredzes.
Un tikai, es dzirdēju baumas par klasi un
nolēma ņemt to.
>> JULIA MITELMAN: Tas bija tiešām jautri, patiesi iesaistīties.
Es vēl līdz šai dienai -
Es tikai nesen redzēju, man ir diskete, ka Deivids deva mums
uz mūsu pirmajā dienā lekciju.
Man bija hung uz manu sienas.
Tas ir iespējams, nedaudz nerdy, bet es noliku uz manu
siena laikā klases kā atgādinājums par to, cik foršs tas bija.
>> TRAVIS Mīnusi: Tas ir tik kaitinoši.
>> JACKSON STEINKAMP: Datorzinātne ir kaut kas jums
vajadzētu mēģināt, pat ja jūs neesat viens
tradicionālās zinātnes.
Tas ir sava pieredze, un CS50 būs pārliecinieties, vai esat
atbalstījusi arī caur to ar savu īsts armijas TFS.
>> ALI NAHM: es tā kā pirmkursnieks, un tāpēc es daudz
jaunu draugu.
Es arī iepazinās ar šo visu koncentrāciju un
Visa skola inženierzinātņu, un tāpēc es ļoti ieteiktu to
un sveikt Jūs mūsu CS50 ģimeni.
>> Yaniv YACOBY: CS50 tikai māca, kā izmantot rīkus
kas ir plaši pieejami.
Jums vienkārši nepieciešams klēpjdators, jums ir nepieciešams interneta pārlūku, un jūs
jāmācās rakstīt kādu kodu, un jūs tiešām var veidot
veikls lietas.
>> KAREN Xiao: Tas ir tikai tik foršs, lai varētu izdarīt kaut ko
un ir cilvēki to izmanto un ir cilvēki redz to, un tas ir
ko es tiešām mīlu par to.
>> TIM MCLAUGHLIN: - kopienas apziņa, es domāju, šajā
kurss vairāk nekā jebkurā citā laikā es esmu pieņemts līdz šim.
Jūs esat ne tikai ņemot citu -
Jūs neesat aizpildot citu prasību.
Jūs esat ne tikai gatavojas lekcijas un iet uz sadaļu.
Bet jūs darāt t lietas, kas ir visu par
programmēšana un viss par tehnoloģijām, bet tas nav
tiešām jūtas kā klasē lielāko daļu laika.
>> Travis DOWNS: Un pirmajā dienā, viņi izsniedza kūka, un
Man bija uzreiz pārdots.
>> JACOB Pritt: Bezmaksas Candy un picas.
>> ZAMYLA Chan: - neatkarīgi no jūsu procentu līmeni, es domāju
ka CS50, jums ir jautri, un jūs būsiet intelektuāli
jāstimulē.
>> MARK GROZEN-SMITH: Tas vienmēr puse klasē, un tas ir
Katru dienu ballīte strādā savā p-komplektu.
>> JACKSON STEINKAMP: Katru reizi, kad jūs pabeigt problēmu kopumu, jūs
justies kā jūs esat pabeidzis projektu.
>> MELISSA NIU: Tas bija pirmkursnieks gadu, un man bija darīts iepirkties.
Man bija mana četras klases gatava, un es biju Annenberg.
Un es sasist vērā draugu, un viņš saka, hey, es esmu iepirkšanās
Šī klase sauc CS50, un jums vajadzētu nākt ar mani.
Beidzās ņemot to, ka šoruden, un pēc šīs klases, es
domāju, varbūt es esmu gatavojas minorā CS.
Bet šeit es esmu, trīs gadus vēlāk, joprojām studē datoru
zinātne un faktiski dara to kā galveno, un man patika ik
moments no tā.
>> ROB Bowden: Man nav ne jausmas.
>> ALI NAHM: Paskatīsimies.
>> MELISSA NIU: bezjēdzību.
>> SPEAKER 1: Es jūtu, es gribētu būt ļoti klišeja.
Es gribētu tikai teikt, piemēram, lieliski.
>> Yaniv YACOBY: Pieejamība.
>> JACOB Pritt: Bezmaksas Candy un picas.
>> TRAVIS Mīnusi: Nevar nolocīt klasi, kas rokas no kūka.
>> TIM MCLAUGHLIN: Enerģētiskā.
>> VIPUL Shekhawat: Essential.
>> ROB Bowden: Ļaujiet man domāt par atbildi.
Es domāju, ka es saņēmu kaut ko.
Ak, dievs.
Jā, mans vārds ir Rob Bowden, un tas ir CS50.
>> [Aplausi]
DAVID Malan: Nu labi, tāpēc sāksim uzzīmēt zīmējumu
virziena, kurā mēs varam iet, un pieņemsim ieviest
šis jēdziens šeit sauc par pseudocode.
Tāpēc pseudocode nav programmēšanas
valoda pati par sevi.
Tas nekas tehniskais per se, bet tas ir tikai sava veida
vispārējs veids, kā izteikt sevi diezgan precīzi,
diezgan algoritmiski, diezgan procesuāli, bet bez
jāuztraucas par to, ko valodas jūs paužot
sev iekšā
Tas ir daži modelis angļu un programmēšanas valodās ar
kas jums gadās būt pazīstami, lai mēs varētu sākt
rakstot šāda veida lieta, kā mums iet.
Un patiesībā, Jāzeps, es varētu aizņemties jums līdz uz skatuves būs
pārrakstītājs šeit?
Es esmu gājusi uz priekšu šeit iepriekš un aizmirst likt
par dažiem zeķes šodien, un tas būs viens mūsu vairāk
smieklīgs piemēri.
>> Tagad, man vajag tevi nekā šeit.
Es darīšu zeķes daļu.
Tātad šeit mums ir maza scratch pad.
Tas ir burtiski tikai TextEdit ar Mac.
Mēs faktiski nav gatavojas rakstīt skrienams programmu, bet
mēs esam tikai gatavojas sākt iezīmētu pseudocode bāzes
dažas no advokāta jūs sniedzat man šeit.
Tātad šeit ir mana kaudze zeķes mājās.
Man nav zeķes, kad es mosties no rīta, un mēs tagad
vajag uzrakstīt programmu, algoritmu par veidu, ar kuru
lai saņemtu šos zeķes uz manas kājas.
Un pa ceļam, pieņemsim redzēt, ja mēs paklupt, vai rodas,
dažas no idejām, kas jums nāksies sākt
domāt par daudz nopietnāk plānojot
citādi jūsu programmas ne uzvesties gluži kā paredzēts.
>> Tāpēc es apsēžos šeit.
Man mana kaudzi zeķes.
Kas ir pirmā lieta, saprātīgs cilvēks varētu
darīt, ja mērķis ir likt uz pāris zeķu?
Kāds varētu man vienu soli, un tikai viens solis.
Yeah?
Mērķauditorija: noliecies.
DAVID Malan: noliecies, Labi.
Solis divi.
Mērķauditorija: Pick up jūsu zeķes.
DAVID Malan: Pick up jūsu zeķes.
Labi, tāpēc neliels neskaidrība šeit, un tas ir viens no pirmajiem
klupšanas akmeņiem, ka mēs esam vajadzēja apzināti
sastopas šeit.
Tas nedaudz neskaidrs, tāpēc uzņemt jūsu zeķes.
Labi, es ņemšu šo vienu, bet dators, realizēt tikai
bitu, nav gatavojas būt, ka veida cilvēka instinkts tikko
izvēlēties tuvāko vienu.
Mēs ejam, lai būtu jāsāk, pirms ilgi, paužot
sevi precīzāk.
>> Labi, tāpēc otrais posms ir uzņemt jūsu zeķes.
Mēs ņemšu.
Trešais solis.
Uz muguras.
Mērķauditorija: atrast atbilstošas ​​pāri.
DAVID Malan: atrast atbilstošas ​​pāri.
Labi, tā tas ir labi.
Man bija jāizvēlas šī zeķes.
Tātad mērķis ir atrast atbilstošas ​​zeķes, tagad, bet kāda
tas nozīmē?
Saprātīgs cilvēks, līdzīgi trešdien, kad es tikko
zināja, kā atrast Mike Smith telefona grāmatu, tikai veida
gāja ar savu instinktu.
Bet šeit, tas, protams, tas zeķu šeit, bet datora
nebūs tik instinktīvs.
Dators ir nāksies kolekcija bitiem, kā mēs
apspriests trešdien, un tie ir
organizē kaut atmiņā.
Bet punkts ir tas, ka dators ir tikai spēju
paskatīties uz lietām vienā laikā, un faktiski pat mums
cilvēki - pat ja tā uzskata, tāpat kā es paskatījos uz leju un sadalīt
otru vēlāk Es zinu, kur zeķu ir manas smadzenes un manas acis
domājams bija ātrs nosmelt no šiem zeķes, un tad latched
uz vienu jautājumu.
>> Tātad, ja mēs būtu vēl tīšu tagad kā datora,
kā es varu atrast šo saskaņošanas pāri?
Nu, mums ir atkārtot.
Mums varbūt cilpa pār šo putru zeķes
stāvs, kurā es saku kaut ko, piemēram, par katru zeķi, paņemt to
augšu, un, ja pati forma un izmērs, kā otrs, TAD
dot, dot, dot, mēs turpināsim šo stāstu.
Tātad katram zeķes, tāpēc es uzņemt šo vienu.
Es pārbaudīt tas vienāds ar šo vienu.
Tas nav, tāpēc man malā pusi.
Tad es atkārtot vēlreiz.
Tas ir viens vienāds?
Nē, tas nav, tāpēc man to malā.
Tas ir viens?
Nē.
Šis viena?
Nē, un tā tālāk.
Un tad beidzot, cerams, es sastopas šo zeķes šeit.
Tātad, ja tas ir pati forma, izmērs, ņemt to.
>> Un tagad, kas varētu būt mūsu nākamais solis šeit?
Yeah?
Mērķauditorija: Noteikt tieši no kreisās.
DAVID Malan: Labi, apzināt labi un pa kreisi, lai
Par laimi, šāda veida darbu.
Maz simetriska, vai es esmu vienkārši nēsā to, ka veidā.
Labi, tāpēc es esmu identificēts tiesības.
Un tagad, pirms mēs doties, ļaujiet man norādīt, ko Jāzepa
darot šeit kā sava veida piedzīvojis programmētājs.
Tātad vēlreiz, tur nav viens veids, kā to izdarīt, bet tālāk tikai
numerācijas līnijas, Jāzeps jau ir sākusi to darīt
veida atkāpi.
Patiešām, tas ir ļoti bieži konvencija programmēšanā,
kuru gadījumā, ja jūs kaut ko iteratīvs, looping stilu, kā
mēs nozīmē ar angļu frāzi "par katru
kārumi, "šo konvenciju pseudocode un, kā mēs redzēsim,
parastās programmēšanas valodas, ir tikai ievilkumu.
Hit starpdevējs dažas reizes, hit Tab taustiņu vai tamlīdzīgi,
lai ligzdotu zem "KATRAM zeķe" ir rieciens
sīkumi, kas jums jādara, kā rezultātā šī cilpa.
Tā ka viss, kas ir vairošanai semantiski.
Tagad Tikmēr "Ja tas ir pati forma un izmērs, ka"
Fakts, ka "Ņem to" ir izrobota vēl tikai nozīmē
tas tikai lieta, jums vajadzētu darīt, ja šo nosacījumu,
ja, ka filiāle, kas dakša uz ceļa, ir patiesībā taisnība.
>> Tāpēc tagad šeit, mēs esam uz četriem soli, noteikt labi un pa kreisi.
Es esmu noteikti labi.
Dod man piekto soli.
Un tehniski, mēs varētu tiešām saucam
PAR KATRU lieta -
Jums ir iespējams numurē visas rindiņas, ja
mēs esam gatavojas darīt.
JOSEPH: [dzirdams]
DAVID Malan: [dzirdams]?
Labi, labi, labi, mēs darīsim to savu ceļu.
Labi, tāpēc soli pieci, kā mēs to darām pareizi zeķu?
Kā mēs turpinātu nākamais, šeit?
Jā?
Mērķauditorija: Paceliet labo kāju.
DAVID Malan: Paceliet labo kāju, Labi.
Step Six?
Ātri.
Yeah.
Mērķauditorija: Atrast atvērto galu zeķes.
DAVID Malan: Labi, atrast atvērto galu zeķes.
Tik labi.
Tātad šeit, godīgi, ļoti bieži instinkts būtu vienkārši
likts uz labo zeķes, bet tas arī ir diezgan neskaidrs.
Ja vien datoru vai cilvēku zina, ko tieši tas nozīmē,
tas nav būs izpildīt ka, tāpēc šeit, es esmu
konstatēja atvēršanu krājumu.
Step Seven?
Mērķauditorija: pieskarties jūsu pirkstiem.
DAVID Malan: Touch pirkstiem.
Labi, tāpēc tagad mums iet -
Labi, es esmu gatavojas veikt dažas brīvības šeit.
Paldies.
Solis astoņi?
Likts uz zeķes.
Labi, tāpēc tagad es, domāju, ka mēs esam pietiekami tuvu, lai sakārtotu un veikt
tas viens mājās.
Labi, tāpēc tas iet uz augšu.
Es ņemšu dažas brīvību ar ko tas nozīmē, faktiski.
Put sock tālāk.
Labi, tagad soli deviņi?
Mērķauditorija: Put kāju uz leju.
DAVID Malan: Paldies.
Solis deviņi, likt kāju uz leju, un tagad, mēs varam atkārtot.
Tātad iespējams, mēs tagad varam doties uz 10 soli un pateikt noteiktu
kreisi zeķes, bet tas ir iespējams jau izdarīts.
>> Un tā tad, es varu veida atkārtot šos soļus.
Bet šī veida Rodas jautājums.
Pirms, pēdējo reizi mēs vēlējāmies atkārtot kaut ko, mēs
darīja iteratīvi, atkal un atkal, PAR
Katru cilpu, lai runāt.
Vai ir jēga lietot cilpas, lai rīkoties gan
kreiso un labo zeķes?
Jo tā uzskata, tāpat kā šīs operācijas ir diezgan daudz
identiski, izņemot to, ka viens sākas šeit un viens
sākas šeit?
Vai mēs cilpa, vai mēs tikai glabāt rakstīšanas soļus
10 un 11 un 12?
AUDITORIJA: Cilpas.
>> DAVID Malan: Labi, tāpēc cilpa.
Es tiešām varētu teikt tikai glabāt notiek.
Tad kāpēc tas ir?
Nu, tas ir faktiski pirmā mūsu ne-skaidrs
dizains lēmumus, un faktiski, viens no rādītājiem, ar kuriem
mēs sāksim izvērtēt, sev un jums,
programmas kvalitāti ir, cik labi izstrādāta tā ir.
Tu esi izdarījis minimālu vajadzīgo darbu veikšanu
paveiktu darbu visvairāk ātri, vai nu tā
savu laiku vai, runājot par datora darbības laiku?
Cik operācijas tas nepieciešams, lai izpildīt?
Tātad varbūt, tas ir iespēja par cilpu, jo
tiklīdz es sāktu kopēšanu un ielīmēšanu, kā Jāzeps efektīvi
varētu sākt darīt pēc brīža, tu esi veida izšķērdēt savu
laiku, un jūs ir divkārt izteiksmīga.
>> Bet tajā pašā laikā, tie ir tiešām tikai divas īpašas
gadījumi, pa kreisi un pa labi.
Un tā kā pirms, es varētu būt 10 vai 20 vai vairāk zeķes
kaudzes, tas noteikti ir jēga nav ir 50 līnijas
kods sakot pārbaudīt šo zeķi, tad nākamais,
tad nākamais.
Lūk, tas ir nedaudz mazāk acīmredzama, un es ierosināja
ka mēs varētu iet vai nu veidā.
Mēs varētu vai nu ir, ka cilpa, lai gan tas tikai cilpas
divreiz, vai mēs varētu vienkārši nokopēt un ielīmēt tikai mazliet
šeit, lai iegūtu darbu veic.
Bet šī programma ir bagijs, lai runāt.
Tas varētu būt dažas kļūdas, kļūdas, vai stūra lietas, tāpēc, lai
runā, ka mēs neesam īsti prognozēt.
Nekas nogāja greizi šo laiku, bet kāda varētu būt nogājis greizi
kamēr izpildes šo programmu?
Mērķauditorija: Jums nav nekādas zeķes.
>> DAVID Malan: Tātad tur varētu būt zeķes tur nebūtu.
Tāpēc pieņemsim apsvērt šo stūra lietu.
Tātad, ja mēs varētu ritināt atpakaļ līdz soli vienu, tāpēc soli viens bija
noliekties, lai pārbaudes veic.
Otrais solis, uzņemt jūsu zeķes, bet tad atrast atbilstošu zeķes,
identificētu labi.
Mēs veida veikts viss ķekars pieņēmumiem, un tas ir,
godīgi sakot, kāpēc programma dažreiz crash.
Ja jūs, programmētājs, ir devuši konkrētus pieņēmumus, piemēram,
protams, tur būs zeķes vai protams, tur dodas
lai atmiņas paliek datorā, protams, tur notiek
būt diska vietas uz cietā diska -
Nu, ja jūs padarīt šos pieņēmumus, un tas nav,
Faktiski, realitāte, kas zina dažreiz kāda datora
gatavojas darīt?
Un reizēm, kad jūs saņemsiet vērpšanas pludmales bumba vai
saldētas Windows vai tamlīdzīgi, tas ir tieši tāpēc, ka daži
programmētājs nav paredzēt šo tā saukto stūra gadījumiem.
Ko vēl varētu būt nogājis greizi šajā programmā?
Yeah?
>> Mērķauditorija: Jums nav labo kāju un kreiso kāju.
DAVID Malan: Labi, varētu būt gan ar labo kāju un
kreisā kāja, un tāpēc šī programma varētu būt universāli
piemērojami.
Citi?
Mērķauditorija: Jums varētu būt palielinājies bārenis zeķes.
DAVID Malan: es varētu būt palielinājies bārenis zeķi, tāpēc
neatbilstošu zeķe, kas vienkārši nav brāļi un māsas, jo es esmu
zaudēja, tā ir saplēsts, tas ir mazgāt vēl, vai tamlīdzīgi.
Tā ka, arī nav īsti apstrādāti.
Yeah?
AUDITORIJA: Jūs varētu jau būt zeķes.
DAVID Malan: Es varētu jau būt zeķes.
Man nav faktiski pārbaudīt.
Ja jums nav zeķes, tad doties darīt
līnija viens un divi.
Un kas varētu notikt.
Jūs aizmigt ar savu zeķes un tamlīdzīgi, tāpēc
Tas arī ļoti saprātīgs stūra gadījums.
Un varbūt viens otru?
Mērķauditorija: zeķu ir iekšā ārā.
DAVID Malan: Tātad zeķu ir iekšā ārā, tāpēc mēs nekādas kļūdas
pārbaudot, īsumā.
Mums nav pārbaudīt, vai no pasaules stāvoklis ir, kā mēs sagaidām.
Mums nav pārbaudīt, vai mēs tiešām konstatēts, ko mēs meklējam.
>> Un, pat ja tas ir sava veida smieklīgs piemērs
iesaistot zeķes, beigās, dienā, tas ir tieši
veida domāšanas jums ir rakstot programmas,
pat Scratch, kā arī C, JavaScript, PHP,
jo citādi jūsu programmas tiks demonstrēti
līdzvērtīgs šīs vērpšanas pludmales bumbu vai vienkārši ļauties
neprecīzus rezultātus.
Tik liels paldies šeit mūsu mācītājs Jāzeps.
[Aplausi]
>> DAVID Malan: Nu labi, lai kāda ir, jo
Fakts, datorprogramma?
Nu, pieņemsim veikt ātri skatienu
pārstāvis vienu šeit.
Tātad šī ir programma rakstīts valodā sauc C. C ir
diezgan vecas šajās dienās, bet daudzi jaunāku valodas tiek būvētas
uz augšu no tā.
Patiešām, PHP, viens no tīmekļa centrēto valodām mēs
izmantot pret termina beigām, pati ir tas, ko sauc
tulks, programmu, kas ir rakstīts C, bet vairāk par to
Daudzās nedēļu laikā no tagad.
Bet šī programma, un tas ir tas, ko nozīmē rakstīt
Programma, kaut arī ļoti vienkāršs.
Mums ir dažas diezgan noslēpumains sintaksi, bet jūs varat
droši uzminēt, pat ja jūs nekad neesmu programmēt pirms, ko
šī programma dara.
Patiesi, es nezinu, kas printf ir, bet drukāt noteikti
uzbur ideju par drukāšanu kaut out.
Un tāpēc, jā, šī programma galu galā gatavojas izdrukāt
vārdus "Hello, World".
>> Tagad, vai jums ir Mac vai PC vai Linux datoru, izredzes
ir, vismaz, ja jums lejupielādēt dažas brīvi
pieejamo programmatūru, jūs varētu būt rakstot programmas uz
savu klēpjdatoru uz ilgu laiku tagad.
Mac OS, piemēram, tur ir šī programma, ko sauc
Terminālis, kas nāk ar Mac, kas ir parasti Jūsu
Komunālie mapi, un tas parasti atveras melnā un
balts vai balts un melns logs, kurā jums ir
liks pie kura jūs varat ierakstīt komandas.
Tātad tas faktiski atgādina ko datori
izmanto, lai būtu pirms grafisko lietotāja
saskarnes, GUIs, nāca līdzi.
Tagad, Windows, jums ir līdzīga mehānisma formā
no komandrindas.
>> Bet ko es esmu gatavojas darīt, šeit ir atvērt, teiksim,
TextEdit atkal, tāpēc pati programma mēs izmantojām, lai
pseudocode pirms brīža, un es esmu gatavojas iet uz priekšu un
uzrakstīt savu pirmo programmu.
Iekļaut stdio.h, kāds tas nozīmē, int main
spēkā neesošu, lai ko tas nozīmē, un pēc tam pa vidu šeit,
printf ("Hello, World."). Un tad tuvu citēju,
aizvērt paren, semikolu.
Tagad es esmu gatavojas iet uz priekšu un tikai hit Command-S. Es esmu
iet uz priekšu un saglabāt to kā hello.c, tāpēc konvencija
par C programmēšanas pasaulē ir nosaukt failu dot c.
Es esmu gatavojas tikai nodot Džona Hārvardas mājas direktorijā,
šeit, noklikšķiniet uz Saglabāt, un tagad es esmu gatavojas iet pa šo
termināla logu, kas atkal ir šī melnā un baltā tūlītēju
kur es varētu izpildīt komandas.
>> Es varētu palaist programmu, ierakstot savu vārdu, nevis
dubultklikšķi uz ikonas parastajā izpratnē.
Bet lieta ir par C ir tas, ka valoda kā C Izlaiduma
nāk šādā veidā, kaut ko sauc pirmkodu.
Kaut kas izskatās mazliet kā angļu valodā, bet ir
noteikti mazāk kā angļu nekā Jāzepa pseudocode
pirms brīža.
Tas nedaudz vairāk Arcane.
Šķiet ievērot dažus modeļus vai noteikumus.
Fakts, ka man ir cirtaini bikšturi, semikoliem, citātus,
leņķis bikšturi, jūtas, piemēram, datoru nāca klajā ar šo
kārtot valodas.
Bet, ja es eju, tagad, lai šī termināļa logu, es varētu palaist
Komanda, kas notiek, lai konvertētu šo pirmkodu, ir
kaut ko sauc objekta kodu.
Tas notiek, lai pārvērstu angļu-piemēram, sintakse ar nullēm
un tiem, tādus pašus nullēm un tiem, mēs
runāja par trešdien.
Tagad es esmu gatavojas palaist komandu sauc šķindēt.
Vairāk par to nedēļās nākt, bet tas ir programma ar
ko es varētu pārvērst hello.c vērā visu ķekars
gada nullēm un uzņēmumiem.
>> Tagad es esmu palaist šo komandu.
Es esmu palaist šķindēt, un tad es teicu palaist sevi par šo failu
sauc hello.c, ko es radīju pirms brīža, un
nekas, šķiet, nenotiks.
Bet patiešām, ja es poked ap manu mājas direktorijā, es varētu redzēt
ka šī muļķīgi nosaukts programma a.out tagad pastāv.
Tas ir tikai noklusējuma nosaukums programmai, rakstot
C. Mēs varam ignorēt šo beidzot, bet a.out ir
programmas nosaukums es tikko pārveidots nullēm un uzņēmumiem.
Un tagad, ka tas ir nullēm un tiem, mana Mac, šajā gadījumā, vai
jūsu Windows PC, var saprast šos biti, šos
nullēm un uzņēmumiem.
Un tad, kad es hit Enter, es redzu "Hello, World!"
>> Bet tas ir mazliet buggy.
Man nav gluži teikt "Hello, World: gaiss: -! Jharvard." Gaiss ir
vārds no mana datora.
Jharvard ir konta nosaukums, lai to, ko gan es skaidri
izlaist no programmas?
Sava veida līnijas pārtraukuma.
Man nav hit par Ievadiet ekvivalentu, vai rakstatgriezes,
un tas ir, atkal, apliecinājums tam, ka datori var
darīt tikai to, ko jums pateikt viņiem darīt.
Un tas, ka man nav pateikt datoru pārvietot
kursoru uz nākamo rindiņu -
labi, tas noteikti nav gatavojas tikai to darīt
pārgalvīgi par mani.
Tātad, ja es iet atpakaļ uz manu programmu, un es saku \ n -
Tātad \ n, kā mēs drīz redzēt, ir veids, kā
pārstāvot dīvaini lietas, piemēram, jaunus līnija rakstzīmes, lietas
kas citādi būtu rezultāts
hitting Enter taustiņu.
Bet tagad, tikai zinu, ka hitting Enter taustiņu varētu
tikai padara mūsu kods izskatās dīvaini, tāpēc pasaule nolēma, jūs zināt
ko, lai saglabātu lietas glītāka, lai saglabātu to vienā rindā, pieņemsim
tikai teikt \ n pārstāv jaunu līniju.
Ļaujiet man atkārtoti saglabāt manu failu, dodieties atpakaļ uz termināla logu, un
atkārtoti palaist a.out, Enter.
Joprojām bagijs, bet kāpēc?
>> Mērķauditorija: [dzirdams]
DAVID Malan: Jā, tāpēc man ir nepieciešams, lai recompile to.
Tātad, lai apkopotu programmu vienkārši nozīmē pārvērst to no avota
kodu, lai objekta kodu, kods uz nullēm un uzņēmumiem.
Tagad, pats fakts, ka es hit Saglabāt šo TextEdit neietekmē
paturot uz tām nullēm un tiem, jo ​​man vispirms ir nepieciešams
Pateikt šķindēt hey, es esmu mainījies tās koda rindiņas,
pirmkodu.
Jums ir nepieciešams, lai atjaunotu a.out.
Nekas, šķiet, ir noticis, bet ar datoru,
pie komandrindas, tā sakot, kad nekas nenotiek,
kas parasti nozīmē, viss ir labi.
Kad kaut kas notiek, tas nozīmē,
Jūs messed up, vispār.
>> Tāpēc pieņemsim tagad iet uz a.out, un tiešām tagad, man ir "sveiki,
pasaulē. "
Un tagad, ko par šīm nullēm un tiem?
Ja, patiesībā, ir tie?
Nu, es nevaru īsti tikai veida kule ap ļoti
efektīvi.
Ļaujiet man atvērt TextEdit.
Lūk a.out.
Ļaujiet man iet uz priekšu un atvērt šo, un tas ir acīmredzami, ko mans
Programma izskatās.
Tāpēc es esmu atvērts, nevis hello.c, bet a.out.
Bet tas ir faktiski nav ko mana programma tiešām ir.
Skaidrs, ka tas ir sava veida alfabēta rakstzīmes.
Es neredzu nullēm un tiem, bet tas ir
jo a.out ir programma.
Nullēm un tiem - bet TextEdit, kā liecina nosaukums, tā ir
tāpat kā Notepad uz Windows, ir tikai teksta redaktors, tāpēc tas ir
jauc visus šos nullēm un tiem, kas
lai gan tie bija, ko?
ASCII rakstzīmes.
>> Tā atgādināt trešdien, mēs tikko nāca klajā ar šo
patvaļīga kartēšana skaitļu, vai biti, lai vēstules
alfabēts un pieturzīmes simbolus un līdzīgi.
Tātad TextEdit, ka tas ir teksta redaktors ir kļūdaini interpretē
šie modeļi nullēm un tiem, kas ir vajadzētu būt
drukāšanas vārdi, piemēram, "Hello, World". Tas parādot tos
kā ASCII, un tāpēc tas izskatās mazliet netīrs.
Tagad tur ir daži pareizību mājieni šeit.
Pamanīt, ja es izcelt, ir mājiens par faktiski "sveiki,
pasaule, "tā kaut kur šajā programmā ir
teikumu es uzrakstīju.
Bet iesim uz priekšu, un tagad redzēt ar citu programmu.
Tas nav viens mēs izmantosim to bieži, bet tas arī nāk ar
Mac un būs iekšpusē CS50 ierīces.
Ļaujiet man iet uz priekšu un atvērt ar programmu, ko sauc XXD.
>> Atpakaļ dienā, vairums programmas tika nosaukti diezgan cryptically,
un tā tendence turpinās.
Bet-b nozīmē izspļaut šo programmu no kā bināro.
Neskrien to.
Parādītu to uz mani, jo nullēm un tiem, un tas ir C
programmā mēs tikko rakstīja.
Tagad, es kā cilvēks šeit, es godīgi nav ne jausmas, ko
šie dažādie modeļi nullēm un tiem pārstāv.
Atpakaļ dienā, es, ar savu perfokartes vai, piemēram, būtu
faktiski ir meklēt ko šie dažādus modeļus no
01111000, patiesībā pārstāv.
Vai vēl ļaunāk, es būtu nepieciešams darīt atzīmēšanās vai radīšanu
no šiem nullēm un tiem modeļiem.
Bet tagad, ņem uz ticību, ka CPU, Intel iekšā, tāpēc
runāt, iekšā visu mūsu datoru šajās dienās, zina
kā interpretēt šos nullēm un uzņēmumiem.
Un daži nullēm un tiem ir print.
Daži nullēm un tiem ir liela skaņu.
Daži nulles un tiem domāju ņemt lietotāja ievadi no klaviatūras.
Ir visas dažādos modeļos veidu, bet mums par laimi,
kā cilvēkiem, tikai parasti jāuztraucas par programmēšanas
Šī diezgan augstākā līmenī.
Un citās CS klasēs jūs varat rakņāties leju dziļāk un meklēt
pie lietas, piemēram tām nullēm un tiem, vai vēl
citas lietas joprojām.
>> Tāpēc tagad pieņemsim pārvērst šo.
Pieņemsim pāriet ļoti ātri prom no C un pārcelties uz kaut kādas
nedaudz vairāk mierinājuma, mazliet vairāk aizraujoša, jo
mēs varēsim atgriezties mūsu animācijas un skaņas un, piemēram, ka
skaidri ir aizbēguši mūs šajā
diezgan primitīvs interfeiss.
Tātad šī pati programma C var tikt pārstāvētas tagad šajā
programmēšanas valoda sauc Scratch šādi.
Tas ir līdzvērtīgs šā Hello World programmā rakstīts
Šī puzzle gabals stila valodā sauc Scratch.
Tāpēc ļaujiet man iet uz priekšu un atvērt šo ļoti programmu.
To atkal sauc Scratch.
Tas ir brīvi pieejams, un tas ir tas pats, mēs
sākās šodien.
>> Tātad tas šeit ir nulles, un tas ir sadalīts maz
dažādas sastāvdaļas.
Par ļoti augšējā labajā stūrī, mums ir tā saukto posmu, un
tiešām, ka tur cepumi
veica tikai nedaudz atpakaļ.
Un par šo posmu ir lietas sauc sprites, burtiem, vai
priekšmeti, vai vienībām.
Tas nav īsti svarīgi, cik tu domā par viņiem, bet viņi
ir programmējami, kustamo lietas, un šajā gadījumā tas
programma, kas mūsu students uzrakstīja ir pāris piparkūku
cepumi, pāris Apaļu sīkdatnes, viss ķekars
sirdis, viss ķekars brilles.
Šī iemesla dēļ, viņš vai viņa spēj programma katru no tiem
atsevišķas rakstzīmes atsevišķi.
>> Tagad, ko tas nozīmē, lai programma šīs zīmes?
Nu, ļaujiet man iet uz priekšu un noklikšķiniet uz šīs kreisajā sīkfaila
un ritiniet pa uz augšu pa kreisi šeit.
Tā augšējā kreisajā mana ekrāna tagad ir
tā saukto skripti zona.
Tas ir sava veida tukšu šīfera, sākotnēji uz kuru es varu
vilkt un nomest puzzle gabali, kas, atklāti sakot, darīt
tieši to, ko viņi saka.
Pie ļoti top šīs kaudzītes puzzle gabalus, ir vārds
Kad Zaļā karoga uzklikšķināt, un, ja jums nav paziņojums pirms,
kā es sāku, ka cookie dziesmu tika uzklikšķinot, burtiski,
Zaļā karoga.
Lai mīklu gabalu augšējā kreisajā tur nozīmē, ja
cilvēka klikšķi zaļā karoga, rīkotos
šādas lietas.
>> Tagad, ko viņi cepums sākt darīt?
Man nav īsti zināt, kā interpretēt šo ziņu, bet
sīkfails acīmredzot noteikt savu rievu līdz nullei, tad gaidīja
trīs sekundes, tad tas mainīja savu grupu ar vienu, tad tas
gaidīja otru, tad tas ir mainījis savu
groove atpakaļ uz vienu.
Un tad tas tiešām izskatās mazliet bug, nedrīkst
ir mainīt savu groove atkal un atkal, ja tas ir
tiek mainīts citur, bet šis soļiem sērija ir tas, kas ir
diktējot rīcību šajā sīkfailu.
Tāpēc pieņemsim faktiski ritināt atpakaļ, un nav apskatīt kaut
gluži tik sarežģīts vēl.
Ļaujiet man iet uz priekšu un doties uz File, New,
un saņemt tīru šīfera.
>> Tāpēc tagad, es tiešām ir tukša skriptu zonu, tukšas skatuves,
ar mūsu noklusējuma elfa nulles, un augšējā kreisajā
Ekrānā man paleti uz visiem
Pieejamas puzzle gabaliem.
Un mēs neko cauri gandrīz, ka daudzas no šīm lietām
šodien, jo, atkal, lielākā daļa ir pašsaprotami, bet mēs
mēģināt kategorizēt tos un norādīt līdzības
ar šo nākotnes valodām, uz kuru mēs nirt.
Un augšējā kreisajā šeit ir pirmais, kad Zaļā karoga uzklikšķināt,
tāpēc ļaujiet man vilkt tas vairāk nekā šeit, zoom out mazliet.
Un, ja es noklikšķiniet uz zaļās karogu, nekas īsti notiek, jo
Man nav pievienots nekādu loģiku, jebkurš paziņojums tā sakot, lai
ka zaļā karoga, tāpēc ļaujiet man iet līdz
kategorijām nekā šeit.
Es esmu šobrīd vadības kategorijā.
Es esmu nevis gatavojas iet uz leju, lai izskatās kategorijai, un
tur viss ķekars lietas šeit, kas saka, ka,
Domāju, mainīt krāsu, Switch kostīms.
>> Tātad jūs varat darīt dumjš lietām ar tērpiem un
skaņas un tamlīdzīgi.
Ļaujiet man iet uz priekšu un tikai teikt, ka, un tagad paziņojums, kā es vilkt
un nomest šo puzzle gabals, tas notiek, lai vēlas aizvaru
uz atbilstošo formu.
Tātad, kad es iet uz priekšu un ļaut aiziet no manas peles, viņi atslēga
kopā, un tagad, ja es eju pa šeit un noklikšķiniet uz zaļās karogu,
kaķis savā nozīmē nepateikt jo tas, kas ir iekšā
Šīs baltā kastē.
Mēs drīz redzēt, ka šis baltā kaste ir tas, ko sauc
arguments, vai parametrs.
Tas ir veids, kā mainīt uzvedību, šajā gadījumā,
puzzle gabals, bet, ja es gribu pateikt tieši to, ko es teicu
pirms, teiksim sveiki, pasaule, es tagad var atgriezties nekā šeit,
noklikšķiniet spēlēt, un "Hello, World" ir tas, ko teica.
>> Tātad mēs burtiski programmēšanas tagad.
Tas vēl nav viss, kas pārliecinoši ar programmu, bet vismaz
tas nedaudz vairāk pārliecinoša par kaut kas izskatās pēc
pirmā acu uzmetiena, kā šis.
Un mēs varam ļoti ātri iegūt visu vēl izteiksmīgāku
jo nulles, tāpat kā citās valodās, tur ir viss
veidu apgalvojumiem, ne tikai teikt, vai drukas kaut ko, bet
Jūs varat darīt lietas, piemēram gaida, kā mēs tikko redzējām ar
cepums, daži sekunžu skaits.
Jūs varat atskaņot skaņas vidē nulles tikko
kā jūs varat normālā datorprogrammu play skaņu.
Jūs varat pārbaudīt, ko sauc Būla izteiksmes.
Tāpēc tagad, sāksim pievienot mūsu rīkkopa dažas terminoloģijas
kas faktiski attiecas uz piemēru, ka Jāzeps un es darīju
šeit ar zeķēm.
Tā apgalvojumi ir tikai apgalvojumi par faktiem.
Izdarīt.
Direktīva par Sprite, vai man cilvēka, kaut ko darīt.
Būla izteiksme ir kaut kas ir vērtība,
Ts patiesība vērtība, kas ir vai nu nulle vai viens, nepatiesu vai
patiess, vai izslēgt, nemaz vai jā.
Nav īsti svarīgi, cik tu domā par to, bet tas ir
binārā valsts.
Kā Nate apspriests trešdienas video, divi
dažādas lietas.
>> Tātad Scratch, Būla izteiksmes gadās skatīties
piemēram, šo zilas objektiem šeit, un šajā gadījumā jautājums
zīme nozīmē, ka jūs esat jautā jautājumu.
Ir kaķis, vai Sprite, pieskaroties peles rādītāju?
Tātad tas ir tikai viens piemērs no Scratch bloku, kas notiek
lai ļautu mums, lai pārbaudītu jā vai nē, ir pele pieskaroties
elfa uz ekrāna?
Un tas var būt noderīgi, ja jūs patiešām vēlaties darīt lietas
ar peli.
Papildus Būla izteiksmes, mums ir lietas
tāpat ir pele uz leju, lai jūs varētu atklāt šāda veida
iztaujāt kā arī.
Mēs varam darīt, matemātiku, ja jūs tiešām vēlaties, un tur
tiešām vairāk pārliecinoši izmanto šim nekā tikai tīra no
aritmētika, kā mēs redzēsim.
Pseido nejaušības un padarīt savu programmu, šķiet domāt
vai uzvesties savādāk, pamatojoties uz dažiem šķietami izlases vērtībām,
un tad mums ir lietas, piemēram Boolean izteikumus kā UN.
Tātad, ja jūs patiešām vēlaties, lai pārbaudītu divas vērtības, mēs redzam
Scratch ka mēs faktiski var pārbaudīt, ja tas ir
patiesa un tas ir taisnība.
Piemēram, attiecībā uz manu zeķes, es varētu esam pie
pašām beigām uzdeva jautājumu, vai kreisā zeķe ir par un labi saistzoles
ir ieslēgts, atmest.
Jūs esat viss darīts, lai dienā, lai būtu
iespēja, ka.
>> Tāpēc pieņemsim iet uz priekšu un mēģināt salikt kādu no šiem kopā
un doties uz pāris piemērus vairāk
pārliecinoša par šo vienu.
Tāpēc ļaujiet man iet uz priekšu šeit un atvērt dažas no piemēriem
ka vienmēr būs par kursu mājas lapā, kā arī, un
atvērt hello2.
Tātad hello2 šeit, mums ir programma, kas dara maz
lietas, bet tas nav darīt to tik efektīvi kā mēs varētu.
Tātad šeit tas saka: "Hello, World" par vienu sekundi, un tad gaida
par sekundi.
Un tad tas vēlreiz, un tad dara to vēlreiz.
Tātad, ja es noklikšķiniet uz zaļās karogu, Scratch saka: "Sveiki, pasaule.
Sveiki, pasaule.
Sveiki, pasaule. "Un tas acīmredzot kandidāts tagad
uzlabošana.
>> Kas nedaudz uzlabosies, cerams, mēs varam
tagad darīt, ja Scratch atbalsta koncepciju?
Sava veida cilpa.
Daži no atkārtošanās veida, tagad, būtu jauki, tāpēc ļaujiet man
faktiski mēģina to.
Ļaujiet man tiešām iet un virzīties to.
Tātad paziņojums var atdalīt blokiem tikpat viegli, kā jūs varat pievienot
pievienot tiem.
Ļaujiet man iet zem kontroles, ritiniet uz leju šeit, un, protams,
tur ir šī mīkla gabals šeit, Atkārtot un Mūžīgi
Mūžīgi Ja.
Tātad tur ir vairāki veidi, kā izteikt looping konstrukcijas
jo nulles.
Viens es droši vien vēlaties šeit nav uz visiem laikiem, jo ​​es tikai
vēlas, lai tas notiktu trīs reizes, bet, iespējams, Atkārtot.
Tāpēc ļaujiet man vilkt Atkārtot nekā šeit, velciet un nometiet to, un
Tagad tā vietā, sakot "Hello, World" trīs atsevišķas reizes,
ļaujiet man vilkt šo puzzle gabals šeit.
Un pat ja tas nešķiet piemērots, programma ir gudrs
pietiekami, lai realizētu tā pieaugs aizpildīt, tāpēc ir
formas, kas jautājums un nav absolūts lielums.
Ļaujiet man mainīt atkārtošanu līdz trim, un tagad man aiziet
priekšu un velciet Pagaidiet vienu sekundi tur kā labi.
Tas notiek, lai snap, kā arī, un tāpēc tagad es esmu gatavojas vilkt
šīm pār šeit un tikai puiši mest tos prom, jo ​​es
nav nepieciešams tos vairs.
Ļaujiet man attālināt un noklikšķiniet uz zaļās karogu tagad, un mums ir
pati programma, bet, kā es prognozēt iepriekš, labāk
izstrādāta, jo jūs varat iedomāties, cik slikti šo programmu
varētu saņemt, protams estētiski, ja jums bija
sāktu kopēšanu un ielīmēšanu, kopējot un ielīmējot, vai
velkot un nometot tos pašus darn lietas atkal un atkal.
>> Tagad, vienkārši sakot sīkumi uz ekrāna, drukājot
ekrāns, tiešām viss nav tik aizraujoši, tāpēc pieņemsim sākt
3. dispersiju šeit.
Un tagad, kā jūs redzēsiet, tas būs ātri nokļūt kaitinošas -
[Meow]
DAVID Malan: - bet tas ir arī sava veida gudrs.
[Meow]
DAVID Malan: Labi, tāpēc labāk, un mēs noteikti var izmantot, ka
pati pāreja neveikls tas augšup looping
struktūru, bet pieņemsim padarīt to interesantāku vēl.
>> Ļaujiet man iet uz priekšu un atvērt 1/4 dispersiju šeit, kur es
veikt lietas vienu soli tālāk.
Tātad, saskaņā ar šo, muļķīgi gan tas ir sākumā
skatiens, kas ir šī programma gatavojas darīt?
Tas notiek, lai Ņau reizi.
Kāpēc?
Nu, viens ir, cik es zinu, vienmēr ir mazāks nekā divi.
Tur nav nejaušības jēdziens šeit.
Man burtiski iekodēts viens un divi, bet tas ir
piemērs tagad ir faktiski izmantojot Būla izteiksmes.
Daudz tāpat kā Jāzeps darīja viņa pseudocode, atkāpes IF
Jums atrast atbilstošas ​​zeķes tad rīkojieties šādi, šeit mums ir
izteiksme, ja viens ir mazāks nekā divi tad -
un patiesībā mēs pat ir mazliet atkāpi,
kur purpura ir nedaudz izrobota ar labo -
Tad jūs gatavojas spēlēt skaņas meow.
Tagad, šajā gadījumā, ka viens vienmēr ir mazāks nekā divi, tāpēc šī
ir sava veida atkritumu nosacījumu.
Bet mēs varēsim, jo ​​mēs redzēsim, plug citas lietas vērā
šie vietturi kur viens un divi tagad ir.
Tāpēc pieņemsim tagad pārietu uz šiem vairāki 5 Piemēram
hellos un pēc kāda šī programma gatavojas darīt izskatu.
>> Tāpēc tagad, jo angļu teikumā, kā to dara
Programma uzvesties?
Mērķauditorija: Mjau pusi laika.
DAVID Malan: Ņau s pusi no laika, tāpēc tas ir veids, kā
nogādājot ļoti vienkāršu ideju.
Pat ja mēs gadās būt, izmantojot dažus nevienlīdzības šeit
Dažās skaitļiem, tas ir tiešām tikai programmatical
veids, precīzs, kā pateikt, ja monēta nāk klajā galvas, dodieties
priekšu un ņau.
Vai otrādi, ja monēta nāk klajā astes, nav ņau.
Un šajā gadījumā, kā mēs izteikt kas?
Mēs izvēlēties izlases skaitli no 1 līdz 10, un ja tas
skaits ir mazāks par 6, iet uz priekšu un ņau.
Un kā gan tas nokļūt šeit?
Nu atkal, pamanīt tikai velkot un nometot un
lietas aizbīdņi vietā.
>> Tāpēc tagad pieņemsim redzēt, ja tas nejaušības darbi.
Ļaujiet man iet uz priekšu un noklikšķiniet uz zaļo karogu.
[Meow]
DAVID Malan: Labi.
[Meow]
DAVID Malan: Labi.
Labi, labi, tāpēc mēs saņēmām galvas, galvas, astes efektīvi.
Astes.
[Meow]
DAVID Malan: vadītāji.
[Meow]
DAVID Malan: Izcili.
Tas vienmēr neērti, kad tikko statistiski jums slikti
palaist, un tas viss galvas, un programma faktiski nav
darboties kā jūs gribētu, ka.
Bet šoreiz, tā strādāja, un mums šķiet, ir, ja mēs
šis bezgalīgs skaits reižu, 50% izredzes.
Tagad atkal, ne tik interesanti, tikai veicot kaķi
Ņau, tāpēc pieņemsim redzēt, ja mēs nevaram virzīt šo mazliet tālāk
šeit sešās versijā.
Tāpēc tagad mums ir tiešām kaitinošas versija -
[Mjau ik pēc dažām sekundēm]
DAVID Malan: - un tas ir tas, ko sauc, vispārējās, jo
bezgalīga cilpa.
>> Tātad bezgalīga cilpa šajā gadījumā jūtas slikti.
Tas noteikti gatavojas sākt skan slikti, un vēl bezgalīgs
cilpas ne vienmēr ir slikti.
Vai tu domā par kontekstu, datorprogrammu, kur jūs
tiešām gribu bezgalīgu cilpu?
Yeah?
Mērķauditorija: Ja jūs vēlaties, lai pārbaudītu stāvokli.
DAVID Malan: Labi, ja jūs vēlaties, lai saglabātu pārbaudot nosacījumu?
Patīk tas, ko?
Mērķauditorija: [dzirdams]
DAVID Malan: Labi, labi, tāpēc, ja jums bija dažas programmas, dažas
veida mājas automatizācijas lieta, kur jūs vēlaties, lai pastāvīgi
monitors ir kaut gadījums.
Vai gaismas uz?
Vai gaismas par, jo varbūt jums ir taimeris, un
Jūs vēlaties, lai iet off, jums var būt nepieciešams kaut ko darīt
atkal un atkal.
Un patiesībā, runājot par taimeri, kāds no jums, kuri ir
pulksteņi uz jūsu datoru vai ciparu pulkstenis, kas ir
bezgalīga cilpa.
Tā turpina atjaunināt laiku, jo tas ir pastāvīgi
pārbaudes un pārbaudes un pārbaudes ir laiks mainīt,
un ja tā, ak, mans Dievs.
Pulkstenis beidzot mainījies.
Tas nepieciešams parādīt, ka vērtību jums.
Tāpēc tā lielāko daļu laika bezgalīgu cilpu ir kļūda,
vai vismaz sliktu projektēšanas lēmumu, reizēm tie
ir sava vērtība.
>> Nu, pieņemsim virzīties šeit hello7.
Tāpēc tagad programma kļūs nedaudz vairāk interaktīvs.
Ļaujiet man tuvinātu šeit, un atkal, tas ir tas, kas ir jauki
par nulles.
Un mēs to izmantot, lai būtu skaidrs, Scratch, tikai šodien un uz
nākamnedēļ problēma noteikti.
Bet pirmdien, mēs ienirt C. Šajā programmā šeit, tas,
mūžīgi, šādi.
JA pieskaras peles rādītāju - tagad, kas ir
konteksts šeit?
Nu, un paziņojums, ka, kas ir izvēlēts leju šeit apakšā
tiesības ir kaķis, Sprite vienu, tāpēc šie skripti, šis
Programma, attiecas uz viņu īpaši.
Tātad, ja tas kaķis ir pieskaras peles rādītāju, tad tas notiek
spēlēt šo leju un jāgaida divas sekundes, un
atkārtojiet reklāmu nauseum.
>> Tāpēc iesim uz priekšu un hit spēlē.
Nekas nenotiek, bet, ja es gribu, lai pet
kaķis tagad, es varu vienkārši.
[Meow]
DAVID Malan: Burvīgs.
[Meow]
DAVID Malan: Labi, mazāk kaitinošas, bet arī izpaužas blāvi,
tāpēc pieņemsim pāriet un redzēt, ja mēs nevaram injicēt
nedaudz vairāk loģika.
Tas bija piemērs septiņi.
>> Šeit astoņās Piemēram, mēs ejam uz
ieviest Else stāvokli.
Tik daudz, piemēram, gramatiski dakšiņu ceļu, kurā var doties
kreisi vai jūs varat iet labi, jo programmēšanas nosacījums
valoda, piemēram, nulles, vai arī kā mēs redzēsim C, var ļaut jums
iet vienā virzienā, vai citu starpniecību, ja cits būvēt.
Tātad gluži burtiski, ja, pieskaroties peles rādītāju, tas
spēlē kādu skaņu, citādi tas notiek, lai spēlētu šo citu
skaņa, ņau.
Tagad, ja jūs varat secināt no nosaukuma šīm skaņām, jūs varat
iespējams uzminēt, ko šī programma ir domāts, lai uzburt
ideja.
Šis kaķis ir meowing laimīgi.
[Meow]
DAVID Malan: laimi, bet nav
gluži patīk pieskarties.
[Auro]
DAVID Malan: Tāpēc tagad mums ir kaķis, kurš būs kliegt pie jums.
>> Labi, labi, viens pēdējais piemērs ar kaķiem šeit, un
Atvērsim versija deviņi šo šeit.
Tāpēc tagad mums ir nākamais visvairāk kaitinošas skaņu, ka es varētu
atrast, tāpēc mums ir valzirgu vai jūras lauva šeit kurš būs
rīkojieties šādi.
[SEAL BARK]
DAVID Malan: Labi, tāpēc tas turpinās, līdz jūs saprast, kā
Šī programma darbojas.
Tātad šajā laikā, šis dzīvnieks ir divas skripti, un kāda ir
Interesanti ir tas, ka šie skripti gatavojas izpildīt
paralēli.
Tāpēc, ka viņi abi ar vienu zaļo karogu sākums uzklikšķināt,
tas ir tāpat kā iet kā šis, un abas programmas sāk rādīt to
reiz pat ja viņi looping mūžīgi.
Tātad top skriptu, man ir dažas loģiku.
Kādas funkcijas, kas nodrošina līdz pat tur?
[SEAL BARK]
Mērķauditorija: [dzirdams]
DAVID Malan: Ja tas ir tas, ko?
[SEAL BARK]
Mērķauditorija: Ja izslēgts līdz nullei, tas notiek, lai saglabātu spēles
skaņu. [SEAL BARK]
DAVID Malan: Labi, labi.
Tātad, ja izslēgts, kāds tas ir, šī oranžā lieta ir nulle,
Tad spēlē jūras lauva skaņas un domāju "Ak,
čau, "par divām sekundēm.
Tagad es nezinu, kas izslēgts ir, bet nulle uzbur
Ideja par viltus vai izslēgt.
Tātad, ja izslēgts ir nepatiesa, tādēļ, ja nav izslēgts,
turpināt spēlēt skaņu.
Labi, labi, kā mēs atslēgt šo lietu?
>> Nu, pieņemsim apskatīt otrajā skriptu tur lejā.
Otrais skripts saka noteikti izslēgts uz nulli.
Pamanāt, ka tas ir arī apelsīnu, lai to, ko Scratch tas ir tas krāsas
bloki pašā ēnā, ja tas ir sava
gada loģiski saistīti.
Tik vienkārši kā klusinātas līdz top bija oranža, tāpēc ir izslēgts leju šeit
minēta apelsīnu blokā.
Bet tas ir mainīgi uzdevumi, tāpēc tāpat kā
algebra, jums ir x un y un z, jo programmēšanas esat
mainīgie, bet viņi parasti -
pieņemsim pauzes uz brīdi un saprast, kā
lai apturētu šo riešanu.
Kā es varu darīt?
[SEAL BARK]
DAVID Malan: Labi.
Tas apstājās. Labi.
>> Tik vienkārši, kā algebra jums ir mainīgie x, y, un z, bet
programmēšana, kam mainīgie, piemēram X, Y un Z ir vispārēji
sarauca pieri, jo viņi nav vispār izteiksmīga.
Viņiem nav nekādas semantiskas nozīmes whatsoever, tāpēc vairums
programmēšanas valodas, mainīgie var būt pilns
apspalvošanās nosaukumi vai vārdi un frāzes, piemēram izslēgts, proti
ko viņi dara.
Tātad šī otrā skripts arī bija klausīties mūžīgi, un tā teica
ja atslēga, klaviatūras taustiņu Space, ir
nospiests, jautājuma zīme.
Tāpēc tur ar Būla izteiksmes, kas ir nosacījums
gatavojas atbildēt uz jautājumu, vai nu patiesi, vai nepatiesi,
tad man ir iekšā no tā, ja telpa taustiņš tiek nospiests un
JA izslēgts ir nulle, kas izslēgts ar vienu, cits noteikti izslēgts uz nulli.
Tātad šis cits dakša uz ceļa, un paziņojums, kā es esmu
ligzdotu divas Ja apstākļi, ir pārbaudīt veids ir
Kosmosa bārs nospiests, jo, ja tā, tad es nu gribu iet šo
veidā vai citādā veidā.
Un kā es varu invertcukura vērtību klusinātas?
Man ir jāpārbauda tas nulle?
Ja tā, padara to par vienu, cits padara nulles tāpēc pārslēgtos
tās divas valstis.
>> Labi, tāpēc mums ir, tad daži no šiem pamata
konstrukcijas.
Mums ir Būla izteiksmes, un realizēt, arī tie ir
ne viss, kas svešs.
Patiesībā, šeit ir ātrs screenshot no Hārvardas kurss s CS50
iepirkšanās līdzeklis, un jebkurš, kas tur mājas lapā, kas ir rūtiņas
un nolaižamos tiešām, visu šo laiku, izmantoju
Būla izteiksmes.
Šajā gadījumā šeit, ja jūs noklikšķiniet uz izvēles rūtiņas blakus
kurss lielāks vai vienāds ar 4,5, vai pats blakus
fakultāte, jūs norādot Būla izteiksme.
Parādiet man kursus, par kuriem šis izteiciens ir taisnība.
Vai pa labi, nav pretrunā ar kursiem es esmu
ņemot, ja tas ir pārbaudīts, tad jā, jūs vēlaties pārbaudīt
ka nosacījums, kas cits jūs vēlaties to ignorēt.
Tātad Būla izteiksmes ir sava veida visapkārt, bet, kad
mēs viņus apstākļos, vai ja nosacījumi, JA
Elses, vai mēs varam pat simulēt dziļāk
līmenis, ja cits, ja cits -
tā ka ir sava veida trīskāršu valsts.
Jūs varat iet šo ceļu vai šādā veidā vai šādā veidā.
Mēs varam glabāt ligzdošanas lietas iet dažādos virzienos.
>> Tātad Scratch ir šīs cilpas, uz visiem laikiem.
Tā ir šīs iezīmes, piemēram, 10 Atkārtot, daži
ierobežots skaits reižu.
Mums ir iespēja tagad noteikt mainīgos, tāpēc šajā gadījumā
Es esmu atzīts, piemēram, mainīgs saucamās zeķes.
Es esmu inicializēts līdz 0, un tas ir vēl viens virziens
mēs varētu būt ņemts šeit ar Jāzepu, kuru varbūt es
tikai izsekot, cik daudz zeķes man ir par un izbeigt
programma, kad šī mainīgā vērtība ir 2.
Tas būtu vēl viens veids, kā kārtot vispārina, ka
Problēma un darot kaut ko atkal un atkal.
Nu, iesim uz priekšu un tagad ieviest pāris jaunas lietas.
Tātad tiem no jums ar iepriekšēju programing pieredze
zināt, ka valodu daudz ir masīvi vai vektori vai
saraksti, un, protams, Scratch ir kaut kas līdzīgs šim, pārāk.
Tātad, pieņemsim redzēt, ja mēs nevaram veikt lietas uz nākamo līmeni šeit.
Ja man ir spējas, tagad ar šīm puzzle gabalus uz
pievienot kaut ko, piemēram, vārdu vai numuru, uz mainīgo, es varu
sāk uzkrāties lietas.
Un tas ir faktiski diezgan īstā par lietām, piemēram, spēlēm,
lomu spēlē spēles, kur tu esi veida staigā
daži fantāzijas pasaule savākt lietas, pacelt lietas uz augšu,
pelnot punktus, vai tamlīdzīgi.
Jūs varētu vēlēties, lai sekotu sava veida inventāru, un
tiešām, tas ko viens no mūsu bijušajiem studentiem šeit darīja ar
kaut ko sauc Fruitcraft RPG.
>> Tāpēc ļaujiet man iet uz priekšu un atvērt šo lietu šeit, un
Fruitcraft, mums ir šī pasaule līdz augšā.
Tāpēc ļaujiet man iet uz priekšu un noklikšķiniet uz zaļo karogu.
Paziņojums augšējā kreisajā pusē ir sava veida inventāru.
Tas ir īstenoti Scratch kā tas, ko mēs saucam masīvs vai
sarakstu, un tagad mums ir šī maza animācija.
Tik vienkārši, kā mēs sākām agrāk ar šo sīkdatni mīlas stāsts,
un tad mēs uzlabotas kaķiem un jūras lauvas, tagad mēs varam būt
lietas, kas ir pat vairāk interaktīvs.
Un tas maz zils puisis, es varētu sākt pārvietoties viņa
maz mājās šeit.
Tātad izskatās, ka viņš dabūja izeju uz leju šeit, tāpēc es esmu, izmantojot
bulttaustiĦus, uz augšu, uz leju, pa kreisi tiesības.
Un tagad es esmu ārpus, tāpēc pieņemsim to, ko man šeit.
Izskatās oranža, un, protams, tiklīdz es pieskarties
oranžs, tas izpaužas plopped manā inventāru.
Ja es eju pa šeit uz ķiršiem, tagad man ir kaut kas
cits manā inventāru.
Un tas ir viss jauki un gudrs, bet domā par to, kā, tagad tas
tiek īstenots.
Nu, mums ir šī jēdziena sarakstu, un tas acīmredzot
puzzle gabals, ka jūs vienkārši pateikt to, ko jūs vēlaties pievienot to, pievienot
apelsīnu, pievieno ķiršus.
Tagad, kas ir tas maz zils puisis dara?
Nu, viņš Sprite.
Un domājams, apelsīnu un ķirši -
viņi paši bija atsevišķas sprites.
Un izmantojot apstākļi Boolean izteicieniem
studentam bija iespējams iespēja izteikt JA zils puisis ir
pieskaras ķirši tad pievieno vārdu ķiršu viņa
inventārs, un tad arī slēpt ķiršu sprite.
Tātad zem motora pārsega, ka, iespējams, vēl ir ķiršu
Sprite tur.
Mēs esam tikko teicis to, lai kļūtu faktiski neredzams.
>> Tagad, ja es regulāri pastaigas vairāk nekā šeit, mēs varam arī darīt
proksimālo lieta, kur es varu iet un lasīt zīmi.
Tātad, ja zils puisis pieskaras zīmi, mēs varam būt tas saka bloku
tāpat kaķis runāja ar mums vārdos, sveiki, agrāk, "Got
daži augļi?
Lai to augļu vietā. "Nu labi, tāpēc tagad, acīmredzot,
Man ir manas virzienos.
Es varu iet pa šeit uz augļu vietā, līnija sevi augšu
ar durvīm.
Tagad, es esmu šeit.
Es varu aiziet līdz cilvēks pie letes.
Viņš atklāj, ka es esmu tuvu tam, lai tas nav jābūt
gluži identiski aizkustinošs, un man ir uzvarējis spēli.
Tātad mums ir Fruitcraft RPG.
>> Tātad, mēs varam darīt lietas vēl uzlabotas nekā šis.
Mēs varam pievienot skaņas.
Mēs varam pievienot pseido nejaušības.
Mēs varam pievienot sarežģītību.
Ļaujiet man iet uz priekšu šeit, un nevis darīt pats,
ļaujiet man jums parādīt vienu no vairāk sarežģītu iesniegumos
mēs saņēmām pagājušajā gadā no noteiktu kāds nosaukts Bleiks.
Mēs varam būt viens brīvprātīgais, kurš ir ērts rādīšanu
kamera un ir izveidota, lai spēlētu spēli?
Kā par labi tur?
Nāciet uz augšu.
Viss labi, tāpēc spēle, kas jums ir tikai neapzināti
brīvprātīgi, lai spēlētu -
[Aplausi]
DAVID Malan: - ir kaut kas no vakardienas sauc
"Frogger". Kāds ir Jūsu vārds?
RENDA: Renda.
DAVID Malan: Redna?
RENDA: Tas ir tāpat Brenda ar b.
DAVID Malan: Labi, Rendas.
Deivids.
Priecājos ar jums iepazīties.
>> Tātad šeit "Frogger", un, ja mēs varētu palielināt apjomu tikko
mazliet, jums ir tas maz
zaļā varde uz grunts.
Jūs varat izmantot pa kreisi, pa labi, uz augšu un uz leju, un jūsu mērķis ir
šķērsot ielu, šķērsot upi, un pieskarties lilija spilventiņi
augšpusē.
Aw.
One More t -
pārtaisīt, labi?
Pieņemsim hit pietura.
Neviens redzēja, ka.
[Aplausi]
DAVID Malan: Jā.
Ļoti labi darīts.
Lielisks, paldies.
>> Tā ka bija Frogger. Tagad, kad jūs zināt, ko jūs esat
gotten sevi vērā, vēl viens brīvprātīgais atšķirīgu
Spēle jāiesniedz cits students.
Jūs vēlaties, lai nāk uz augšu?
Kāds ir Jūsu vārds?
RICHARD: Ričards.
DAVID Malan: Ričards.
Labi, Ričards, nāk uz augšu.
[Aplausi]
DAVID Malan: Jums ir kaut kas būs skaņu
pazīstams drīz, tāpēc šeit ir jūsu norādījumi.
Tātad brīdi, daži puzzle gabalus gatavojas ritinātu uz augšu
no ekrāna, kas izskatās nu atstāja
vai pa labi uz augšu vai uz leju.
Jūs esat nāksies hit bulttaustiņus tādā veidā
ka tā atbilst tiem puzzle gabalus PIELĪDZINĀŠANĀS
vietturus augšā.
Tātad, ja jūs redzat kreiso bultiņas un tā līniju līdz ar kreiso
bulta, hit kreiso bultiņu.
Jūs varat sākt.
[MUSIC - "stiprāko" Kayne West]
DAVID Malan: Nu labi, liels kārta aplausi par Richard.
[Aplausi]
DAVID Malan: Ļoti labi darīts.
Paldies.
[Aplausi]
>> DAVID Malan: Tik jautri un, šķietami, kārtot
biedējoša kā tas varētu būt, lai īstenotu kaut kā
šķietami sarežģītas, kā tas, saprotam, ka students
nav noteikts, un tikai rakstīt šo visu uzreiz.
Drīzāk, jūs varat sadalīt problēmu kā šķietami sarežģītas
jo tas vērā daudz mazākos gabalos, un tas arī ir
būs tēma.
Sliktākais jūs varat darīt, rakstot programmu visvairāk jebkuru
valoda ir apsēsties, riktīgi satraukti, rakstiet
Visa nopelt lieta, un tad ceru, ka tā darbojas,
reizi esat pabeidzis rakstīt.
Drīzāk, plānošanas procesam kopumā
būt ļoti apzināta, ļoti iteratīvs, kuru jūs tikko
noteikti ļoti nelielus soļus sev, kumosa lieluma gabaliņos
Vai jūs vēlaties, lai nokost, un tā, ka Jums ir šie veselība
pārbaudes, maz pagrieziena varat ievērot.
Un tad jūs veidot papildus tiem, lai radītu vairāk
sarežģītas lietas joprojām.
>> Tātad, piemēram, kā mēs varētu iet par
īsteno spēli kā šis?
Nu, godīgi sakot, es noteikti sāktu ar tikko
atbalstot vienu taustiņu laikā.
Pieņemsim tikai īstenotu atbalstu kreiso bultiņu.
Tāpēc studentam bija kaut radīt Photoshop, vai
Saskrāpēt sevi izmantojot maz grafisko redaktoru,
bultiņa, kas izskatās kā viens augšā pa kreisi tur, vienkārši
pelēks vietturis.
Tad studentam bija izdomāt, ko x, y koordinēt
nodot to, kur likt to logā.
0, 0 ir šeit, lai jums ir izdomāt skaitu
pikseļi, vai punktu, lai kompensētu šīs bultiņas no
ekrāna augšpusē.
Un tad, kad tas ir vietā, jūsu programma nav reāli
kaut ko darīt vēl, lai jūs tad vajag otru Sprite, lai
Piemēram zaļā bulta, kas ir arī norāda kreisi, un jūs
tad jāsāk rakstīt dažus skriptus par to.
>> Un jūs novērojat, varbūt, ka šīs lietas sāka nāk pie
dažādi ātrumi, un krāsas bija atšķirīgas
vietas, un tas ir tāpēc, ka students izmanto mazliet
pseido nejaušība.
Un ar pseido nejaušības, es tikai domāju izvēlēties numuru
starp kaut ko un kaut ko, jo jūs varat
sāk karte lietām, piemēram, ja skaits ir no viena līdz
pieci, labi, pieņemsim lieta zaļš.
Ja tas ir no 6 līdz 10, pieņemsim padarīt puzzle gabals
sarkana vietā.
Tik ilgi, kamēr jums ir veids, kā ražot kādu
nejaušība, tad varat pieņemt lēmumus, pamatojoties uz to
nejaušība.
Un es turpinu sakot pseido izlases, jo tur
mazliet netīrs noslēpums.
Datorus nevar nākt klajā ar izlases numurus.
Viņi var darīt tikai to, ko viņi teica, jo
viņi mākslīgo ierīcēm.
Viņi var ne tikai uzminēt numuru, piemēram, mēs cilvēkiem
justies kā mēs varam.
Dators ir kaut ko darīt matemātiskās uzburt
ilūzija matemātisko skaita, dažkārt izmantojot
Šodienu laika kā ieguldījumu norādītas, ko
numuru, lai atgrieztos, bet vairāk par šo citā laikā.
Tagad, tikai zinu, ka mēs varam radīt pseido nejaušības.
>> Tāpēc kad man ir iespēja uz kreisās bultiņas, lai sāktu
parādās dažādos laikos un dažādos ātrumos, tad
Es varu doties atpakaļ un pievienot dažus no šiem, ja apstākļi.
Ja šī elfa pieskaras otru, un kreiso bulttaustiņu
atslēga ir nospiests -
tā trīs nosacījumi šajā lietā.
Es varu izmantot šo un bloķēt varbūt, šajā gadījumā -
Tad es gribu, lai iet uz priekšu un pieauguma rezultātu.
Un augšā, mums ir rezultāts, mums ir satriecošs,
Atdzesē, labi, un Boo.
Tātad tur ir acīmredzot pieci mainīgie lielumi, ka šis students
izmantots, lai sekotu šo dažādo rādītājiem.
Tātad īsumā, gala rezultāts ir pārsteidzošs.
Tas ir jautri, tas ir jautri spēlēt, tas nodarbojas, bet tas nav
ja students sākās.
Viņš vai viņa sākās daudz mazāks skaits soļiem.
>> Tātad, kādi ir daži citi elementi, ka mēs varam
aust šajās programmās?
Nu, tur ir šis cits jēdziens vairumā valodu,
Scratch starp tiem, kas pazīstams kā pavedieni.
Tāpēc dators var faktiski nav īsti darīt vairākas lietas, tajā
laiks, vismaz parasti nav.
Drīzāk, dators parasti ir tikai viens CPU, un pat
Lai gan datoriem ir super ātri un var, tāpēc,
radītu ilūziju par darot vairākas lietas uzreiz -
pārbaudot savu pastu, iegūt instant
ziņa, drukājot dokumentu -
tiešām, dators ir tikai lekt no drukāšanas līdz IMing
līdz pasta vēstuļu sūtīšanas, muguras un atpakaļ un uz priekšu un atpakaļ tik ātri, ka mēs
lēnas witted cilvēki vienkārši nav saprast, ka tas ir faktiski
darbojas šajās programmās mazliet laikā.
Tagad tas ir balts mazliet melot šajās dienās, jo mūsdienās,
daudzi mūsu datori ir tas, ko sauc par multi-core, lai jūs
ir viena CPU, bet vairākiem kodoliem, kas ir veida, piemēram
Ņemot vairākus CPU.
>> Un tāpēc dažreiz, datori tiešām var darīt vairākas lietas
laikā, bet kopumā programmas ietvaros, programmas
paļauties uz šīm lietām sauc pavedieni.
Tāpēc pavediens ir veida, piemēram, miniatūra programma, kas var
pastāvēt līdzās citu miniatūru programmu un var darboties
paralēli, vai vismaz var darboties saskaņā ar ilūziju, ka
viņi darbojas vienlaicīgi.
Tātad Scratch atbalsta šīs lietas, ko sauc pavedieni.
Jums var būt vairākas skriptus izpildītājas uzreiz, tāpat kā mēs
darīja ar jūras lauvu, un tas ļauj mums reāli
tad ir mijiedarbība starp šiem sprites.
Ļaujiet man iet uz priekšu šeit un uzvilkt, teiksim, pavedieni, un
spēlēt šo šādi.
Mums ir divi sprites, un katrs no viņiem mēs redzam
ir tikai viena skriptu.
Un jūs ievērosiet šķiet, ka daži izlūkošanas
kaķis šo vienu, jo viņš kļūst tuvāk -
[Auro]
DAVID Malan: - un tuvāk maz putns.
>> Tātad, kā putns darbojas?
Nu, pieņemsim to apskatīt putnu pirmās.
Putns Skripts teica, kad zaļo karogu ir noklikšķinājuši, dodieties uz x
vienāds negatīvs 115 un y ir vienāds 150.
Tāpēc es vienkārši sapratu izlases vietu, kur es gribēju
putns, lai sāktu, un es tikai plopped viņu tur pēc noklusējuma.
Tad mūžīgi, ja nav pieskaras kaķis, tāpēc tas ir atšķirīgs
veida looping būvēt, bet pati ideja, darīt atkal un
atkal un atkal.
Tik ilgi, kamēr jūs neesat pieskaras kaķis, pārvietot trīs soļus, un
ja jūs uz malas, lielība, kur tas ir sava veida
atspoguļojums biljarda izpratnē.
Tātad tas, kā putns ir pārvietojas veida
šķietami nejauši, bet tas ir tikai tāpēc, ka tas ir veselīgs off
sienas šajā lietā.
>> Tagad kaķis, tikmēr ir sava veida krāpšanos.
Kaķis, kad zaļo karogu ir noklikšķinājuši, jā, sākas
daži vieta, izlases vieta -
vismaz daļēji kā vienu pick
izlases zaļais bloks tur -
un tad mūžīgi, ja pieskaras putns, spēlēt lauva skaņu,
un tad apstāties skriptu.
Tātad, kad es teicu pārtraukt, vai izietu pirms, tur puzzle
gabals Scratch ka būs tikai nogalināt šo programmu, kas
punkts, jo tas ir sava veida loģiski darīts.
Bet citādi, šeit, ievērosiet, kas notiek varētu notikt.
Punkts pret putnu un pārvietoties vienu soli.
Tāpēc šis pret putnu punkts ir sava veida priekšrocības kaķu
ir jo tas ir vietas norādei uz kustīgu putns, un mēs varam
Tagad padarīt šo programmu vēl interesantāku.
Nevis pārvietot vienu soli laikā katru CPU ciklu, vienu
streiks nodevu par zvana, tā sakot, ļaujiet man iet uz priekšu un
pārvietot, teiksim, piecus soļus laikā, kā kaķis.
Noklikšķiniet palaist, un tagad viņš tiešām atrod viņu ātri.
Ja mēs dubultot šo tālāk ar 10 soļiem, tas veida iet
tieši viņam.
Tagad mēs varam sniegt putns,
varbūt, mazliet priekšrocības.
Iesim uz putnu un teikt nevis pārvietot trīs soļus,
pieņemsim pāriet viņam 30 pasākumus.
Bet viņš joprojām iekļuva beigās.
>> Tātad šeit mums ir divas tēmas.
Tas ieslodzīts Scratch ar diviem skriptus un divām
sprites, bet arī citās valodās ideja ir, ka jūs varat
rakstīt, būtībā, ir pārāk daudz programmas, piemēram, šo un
tos palaist patiesi, vai imaginarily, paralēli.
>> Tagad tur ir arī šis jēdziens programmēšanas pazīstams kā
notikumi, un tas ir kaut mēs ne redzēt C,
valoda pazīstams kā C. Mēs redzēsim to uz semestra beigām
web programmēšana, kad mēs ieviest JavaScript un
jēdziens ēkas web lapas, kas ir dinamiska un mijiedarboties
ar lietotājiem.
Tātad šajā gadījumā, mums ir ļoti vienkāršs piemērs divu
sprites, zēns un meitene, no kuriem katrs ir sava
diegi, bet kaut šie divi ir savstarpēji sazinoties ceļā
par kaut ko sauc notikumiem.
Tāpēc ļaujiet man iet uz priekšu šeit un tuvinātu zēna skriptu,
kas izskatās šādi.
Ja zaļo karogu uzklikšķināt, mūžīgi rīkojieties šādi.
Ja atslēgas, vai SPACE, tiek nospiests, teiksim
Marco par divām sekundēm, kas ir tīri estētisku uz
ekrāns, nedaudz runas burbulis, bet tad pārraidīt.
>> Tātad raidījums ir cits Scratch gabals, kas ir
pārstāvis klases funkcionalitātes programmēšana
kas ļauj dažādas programmas, dažādas tēmas,
starpteritoriāliem sazināties, lai kaut kādā veidā nosūtīt
ziņas, viens uz otru.
Garām papīra gabaliņu klasē ir sava veida zema tech
līdzvērtīgi.
Tātad raidījums notikumu.
Es varu nosūtīt šo ziņojumu, un vārdu pasākums
ir pilnīgi patvaļīgi.
Scratch dažreiz ir šīs nolaižamos, tāpēc es tikko nāca klajā
ar izlases vārdu, piemēram gadījumā, jo tagad, ko zēns dara
kad es nospiediet taustiņu ir viņš raida šo notikumu.
Un, ja es apskatīt tagad meitenes skriptu, viņas skripts ir
super vienkārši, jo visi viņa ir jādara, ir nevis rīkoties, ja
Zaļā karoga ir uzklikšķināt.
Viņa ir paredzēts darbībai kad viņa saņem piedāvājumu, likt pēdiņas beigās,
"Notikums", un tajā brīdī, viņa klausās tādēļ
ts notikums atkal un atkal.
Tiklīdz viņa saņem šo notikumu, viņa gatavojas kliegt
Polo par divām sekundēm.
>> Un lai jūs varētu varbūt no tā secinu, ko tieši
Nākamais rezultāts būs.
Ļaujiet man uz zaļo karogu.
Nekas nenotiek, jo man vajag darīt?
Mērķauditorija: Space Bar.
DAVID Malan: Space Bar.
Zēns saka Marko, meitene saka Polo.
Bet tas nav grūti kodē par sevi.
Tas ir savstarpējo komunikāciju starp skriptus, tāpēc tagad mēs
ir iespēja veikt vēl sarežģītas programmas kur
šie divi ir kaut savstarpēji sazināties.
>> Tātad kādā virzienā mēs varam pieņemt šo?
Nu, problēma komplektā 0, tiešām, mērķis ir
ir jautri ar nulles.
Par hakeru izdevums, jums tā vietā ir jautri ar vairāk
sarežģītu no Scratch versija sauc BYOB, Build
Jūsu paša blokiem, bet ideja ir tāda pati.
Jūs varēsiet -
Jā, tas bija apzināta.
Tas nāca no Berkeley.
BYOB ir hakeris izdevums versija, bet gan
Demogrāfija, Standard Edition un hacker izdevums līdzīgi,
mērķis pie rokas nākamajā nedēļā ir tiešām tikai nirt
dziļa, saņemt rokas netīras ar plānošanu, un padarīt
kaut kas interesants, lai kaut interaktīvas, padara
kaut mākslas, lai kaut ko jautru, lai reāli
jāpierāda, lai līdz nedēļas beigām, jums ir projekts,
ne tikai par savu pirmo CS50 PSET, bet jums ir
maz kaut kas jums var dižoties Annenberg līdz
draugi vai pat ģimenes, augšupielādējot to MIT lapā.
Un tā kā es teicu trešdien, mēs sagaidām 90% no klases,
vispār, darīt standarta izdevumos.
Saprast, ka tur ir arī tas, lai tiem no jums, kontaktligzdas, kuri
citādi varētu atrast sev mazliet garlaicīgi ar pamatiem
un patiešām vēlas ienirt un amatniecības redzējumu jums jau
ir ar iepriekšēju fona šajā draudzīgāku
vidi.
>> Tāpēc ļaujiet man uzvilkt vienu citu piemēru, ka viens no mūsu bijušais
studenti šeit darīja un pastāstīt mazliet kaut caur dziesmu.
Ka līdzīgi, kā tas spēlē, domā par to, kā jūs iet par
Īstenojot šo programmu, izmantojot precīzi tie paši
elementi, mazliet pseido nejaušības, un
mazliet pazīstami dziesmu.
Ja mēs varētu paaugstināt tilpums tikai mazliet?
[MUSIC - "līst Men" The Weather GIRLS]
>> DAVID Malan: Tas ir tas, lai CS50.
Mēs redzēsim jūs pirmdien.
[Aplausi]