[Predvajanje glasbe] -Prav! Tole je CS50. Tole je CS50. Tole je CS50. [MUSIC - IGGY AZALEA "modno"] -Moje Najljubši spomin iz CS50 je bil, ko sem šel na Puzzle dan. Verjetno samo čas delavec delal na problemskih sklopov s prijatelji in ljudmi, ki Ravnica sčasoma postali moji blockmates. Moja najboljša pomnilnik CS50 je Hackathon. -V CS50 Hackathon. -Hackathon. -Hackathon. -Hackathon. -V Hackathon -Rob Bowden. Samo vse okoli njega. [MUSIC - IGGY AZALEA "modno"] -Moje Najljubši spomin je, ko sem bil na stage in sem igral prestižno vlogo vozlišča [? v povezano?] [? Seznam. ?] Kdaj bomo vsi dobili brezplačno Dropbox prostora in David je bil všeč, poglej pod svoje sedeže. In bilo je kot, prostor za vsakogar! [MUSIC - IGGY AZALEA "modno"] Moja nasvet za katerokoli Prihodnje študent bi je res delati na P-seti s prijatelji. -Office Ur je zelo tvoj prijatelj. Objavljajo večina vaše izkušnje in izpolnjujejo čim več ljudi, kot si lahko. Ne bodi strah prositi za pomoč. -start P-nizov v začetku tedna. Mislim, da je največja stvar je, da izkoristiti vse vire, da CS50 ima. -Pojdi Do uradnih ur zgodnjih v tednu. -Zagotovo Gledam hlače. -Ne Odlašajo na vaših P-sprejemnikov. Objavljajo, da boste našli veliko skupino ljudi za delo na P-sprejemnikov z. Lahko imajo veliko zabave in se delo skupaj. Ne bodi strah, da se potiskanje. Go za izdajo hacker včasih. -Write Stvari na papirju pred Ste že kdaj dotakniti računalnika. -CS50 Je res super na zagotavljanjem načinov, da bi dobili pomoč. Moja en nasvet je spanec. Je kdo rekel, da je? Sleep, zagotovo. To je enostavno, da ne, ampak moraš to narediti, se mi zdi. Jaz bi rekel, res se psihično pripravili ker ti bo všeč. [MUSIC - IGGY AZALEA "modno"] Tole je CS50. Tole je CS50. Tole je CS50. [MUSIC - IGGY AZALEA "modno"] Tole je CS50. [APLAVZ] DAVID J. Malan: Torej, to je CS50 in to je konec 0 tedna. In to je bilo le nekaj osebja CS50 je kdo čakajo vas ne le v oddelkih in uradnih ur, vendar, tudi ta prihaja konec tedna na CS50 Puzzle dan. Ki je, še enkrat, ni vse o programiranju. Dejansko je bilo pričakovati, da vas ne bo treba programirati ničesar, ampak reševati probleme z uporabo razum in prijatelji z vami. Mi se jim bodo pridružili tudi nekateri naših prijateljev na Facebook-- če tu-- registracijo, ki v zadnjih nekaj letih, imajo dejansko pisanje ti izzivi z nami. In tako se bodo oni tisti, na koncu teče Puzzle Day. In tako, boste mogoče izpodbijati z ravno prave vrste stvari in problemov, ljudje na Facebook želi razmišljati. Torej, to je jutri. Registriraj se na cs50.harvard.edu/register. Zdaj beseda na nekaj osebja posebej. To tukaj je Ansel Duff, ki je pravzaprav ena od soavtorjev ti binarno žarnice, ki smo jih videli v sredo, poleg CS50 lastno Dan Bradley. Ansel Duff je bil tudi nekdanji novinec advisee moj 3 leta nazaj in je dejansko celo zgradili to govorniškim pultom. Odšel je na narediti inženirske znanosti in še več. Zdaj, njegova slika je tu dejansko Ansel pred 3 leti na CS50 Hackathon ko je sposodil enega od naših baloni, je zaljubljen v svoj laptop, in za naslednjih 12 nekaj čudno ur, ki se osredotoča na svojem zadnjem projektu, ob odmori samo za odpiranje vrečke bonbonov na Hackathon. Ampak je šel na nedavno na preživijo to čez poletje pri nas, saj CS50 za svoje osebje, in zdaj študenti tem polletju, ima svojo 3D tiskalnik. In na kratko 3D tiskalniki je Naprava, ki izgleda precej všeč. Lahko ga napolnimo s plastično konico da stalimo po napravi in ste graditi stvari dobesedno iz nič. Podobno kot brizgalni tiskalnik, ko začnete izpljunil majhne pike plastike da tvorita skupaj tvorijo celotno predmetov. In tako Ansel na primer, prej to poletje, je iPhone 5 in se odločil, da je res želel da ga podpre na njegovi mizi. Toda on ni hotel iti ven in kupiti nekaj iz trgovine Apple ali kaj podobnega, tako da je sedel in začel risati nekaj. Vzel je nekaj meritev , kako debel in kako širok je bil njegov iPhone, je narisal to sliko tukaj, se je odločil, da je želel da imajo nagib 75 stopinj saj je strmel mu na njegovi mizi tam. Potem se je obrnil to uporabo programske opreme v 3D CAD modela da je pogledal malo kaj takega. In potem je nadaljeval, končno, dejansko ustvarjajo. Torej, v bistvu, če kdo od vas tukaj, morda v vrsti, da sem lahko vrgel, da imajo an-- tam imamo ljudje z iPhone 5, in tukaj imamo dva več. Zdaj, da ne bo zaostajal, CS50 lastne Cheng Gong določa tudi to poletje zgraditi kar nekaj stvari in, v resnici, zaradi razlogov, ki so še vedno nejasen, je počasi tiskanje vojsko slonov artikulacijski z orožjem in debla. Nekaj, ki so dejansko tukaj, če kdo bi zdaj takšen-- slona. V redu. ampak kaj Cheng tudi storila Za nas je bil zelo vljudno ustanoviti kamero zaradi tega slona, verjeli ali ne, traja približno dve uri in pol ure za tiskanje. Tudi stojalo iPhone je uro in pol za tiskanje. In kaj Cheng je šel naprej in naredili je bila ustanovljena lepo kamero na sprednji strani te 3D tiskalniku, posnet za eno uro in pol so oblikovanje Ansel natisnjene. Obloži smo nekaj sexy glasba ji da da vam to, da si kako 3D tiskarno. In čeprav je to je pravzaprav v plastiko, Zavedam se, da če je to področje vas zanima akademsko, obstajajo ljudje, med jim Jennifer Lewis tukaj na Visoki šoli za Engineering, ki so dejansko delajo na 3D tiskanja plastičnih predmetov. Ampak še vedno bolj bioloških materialov za reševanje fizioloških težav pri ljudeh. Ampak tukaj je malo Nekaj ​​od CS50. [LOUD MECHANICAL zvoke] DAVID J. Malan: To se ne sliši kaj podobnega, da je v resnici, ampak to je precej hladneje, da pazi pri tej hitrosti in s tem zvokom. Zdaj, v sredo, kako smo prvič prišli sem? Začeli smo govoriti o računalniku znanost in smo vprašali, kaj je bilo. In gre za več stvari, in tam je toliko različnih smereh , v katerem se lahko odpravite Po zaključenem kot CS50. V bistvu, če ste pobrali eno teh neuradnih vodnikov CS zunaj, v knjižici, ki smo pod pogojem, ali ste nameraval vzeti le CS50, ali pa morda delaš sekundarne, ali morda celo usmeriti v CS, ne flip skozi to. In boste videli diagram proti koncu, da vam prikazuje različne smeri v CS da lahko greš off. Ampak za danes, bomo osredotočiti, še enkrat, na res ena izmed temeljnih stališč, morda, kjer imate Poraba težave, imate izhodnih težave, in imate algoritmi, s katerimi ustvariti ti izhodi iz teh vložkov. In en tak primer, je bil od Seveda, ta telefon knjigo tukaj. In smo uporabili kot primer, da gredo s pomočjo algoritma, ki je bila pravilna. In potem še eden je bil pravilna, vendar nekoliko hitreje. In potem še eden, ki je malo bolj dramatično, vendar bistveno hitreje. V redu, ta telefon knjigo, ki jo trdil je imela približno 1000 strani. In kolikokrat si moram trgati imenika na pol da bi našli nekoga, kot je Mike Smith, maksimalno, v 1.000 strani knjige? Torej, 10 gor ali dol. In tako, ko sem strgal to stvar v pol, ali pa preprosto, bolj zrelo, razdeljen na pol, saj je samo 10 strani, od 1000. In če ste ekstrapolirati, malo nerealno za telefonski imenik, ampak, če je imel ta telefon knjigo nekaj 4 milijard strani v njem, tako da v celoti nepriročno fizično, koliko krat si razdelite 4 milijarde stran imenika na pol? Torej je to dejansko 32, vzemi ali pusti. In le tako 32-krat, od 4 milijarde strani, lahko boste našli nekoga, kot Mike Smith. In to je učinkovitost. To je dober algoritem, si trditi. Ampak potem smo se preselili iz tega da bi poskušali formalizirati. In sem predlagal to psevdokoda kodo. Psevdokoda koda ni nič formalno. To ni nekaj, kar si zapomniti. To je samo nekaj, kar izražajo precej intuitivno uporabo angleščine, ali katerikoli jezik res, da izraža svoje ideje jedrnato. Toda kaj je ključnega pomena zaradi psevdokoda koda je, da vas poskusite predvideti vse možni primeri, da bi se lahko zgodilo. In res, v tem psevdokoda Koda je bilo res trije primeri vsakič, ko sem razdelil telefonski imenik. Mike lahko v levo. Mike je lahko v desno. Ali bi lahko bil prav na strani sem. Ali Četrti primer vogal, tako rekoč. Slab scenarij, bi bila lahko eden which-- kaj se dogaja? Mike je samo ne v Telefonski imenik na vse. In ko programi crash-- ko Mac in PC software, da vi teči na svojih računalnikih, včasih visi ali se nepričakovano zapre, ki na splošno pomeni, da nekateri programer, nekateri človek, kot si ti kmalu, samo zasral in naredil nekaj zmotil. Morda ni predvidel, da morda obstaja Ni Mike Smith v telefonskem imeniku. In če ne boste dejansko napisati Koda ravnati v situacijah, kot je ta, običajno nepredvidljivi stvari se lahko zgodi. Naprava lahko zamrzne. To lahko ponovno zagnal. Program lahko nehal. In tako se vsi ti neumnosti, ki jih lahko se pojavile v vaš dejanski življenje samo z uporabo računalnikov, bo bolj prav odslovljena s tem intuicijo in to razumevanje tega, kaj je dejansko dogaja pod pokrovom. Zdaj pa poskusimo, da se zazremo na bolj splošen problem. Namesto da bi prisotnost v mestu, kot to, kar bi bilo zelo počasno storiti, ena, dva, tri, štiri. Ali morda dve, štiri, šest, osem. Osredotočimo se namesto na kako bi lahko formalizirali algoritem procesu ki bi lahko vzamemo udeležbo. In na tej poti, pa začnimo jih namažete z nomenklaturo da bomo uporabili tudi danes, ko smo dejansko pričetkom programiranja v jeziku. Torej, jaz ti dam zdaj, štiri minutni video da smo skupaj z našimi prijatelji iz TED, organizacije. Pri čemer imamo na voljo scenarij in so prinesli svoje animatorje nositi, in dejansko ustvaril 2D animacija, kaj algoritem. Če bi lahko zatemnite. [Predvajanje glasbe] NARRATOR: Kaj je algoritem? Na področju računalništva, Algoritem je niz navodil reševanje nekateri problem korak za korakom. Značilno je, algoritmi računalniki izvajajo, vendar smo ljudje imajo algoritme, kot dobro. Na primer, kako greste o štetju število ljudi v prostoru? No, če ste kot jaz, bi si verjetno opozarjajo na vsako osebo ena naenkrat in prešteti od nič. Ena, dva, tri, štiri, in tako naprej. No, to je algoritem. V bistvu, poskusimo jo je izraziti malo bolj formalno v psevdokoda kodo. Angleško-podobno skladnjo, ki spominja na programski jezik. Naj bo n enak 0. Za vsako osebo v sobi, nastavljen n enako n plus 1. Kako razložiti psevdokoda? No, prva vrstica izjavlja, tako rekoč, spremenljivko imenujemo n in inicializira njegova vrednost na 0 to samo pomeni, da na začetek našega algoritma stvar, s katero smo štetje ima vrednost 0. Konec koncev, preden začnemo štetje še nismo šteli nič. Kliče te spremenljivke n je le dogovor. Lahko bi ga imenovali najbolj karkoli. Zdaj liniji demarks začetek zanke, zaporedje korakov, da bo ponoviti določeno število krat. Torej, v našem primeru, korak smo Odvzem je štetje ljudi v sobi. Pod črto dve je linija tri, ki opisuje točno, kako se bomo lotili štetja. Vdolbina pomeni, da to je tretja vrstica, ki bo ponovil. Torej s kodo psevdokoda je rekel je, da potem ko se začne z 0 Za vsako osebo v Prostor bomo povečali n za 1 Zdaj je to algoritem pravilen? No dajmo bang na njej malo. Deluje, če obstajajo v sobi dve osebi? Pa poglejmo. V prvi liniji bomo inicializacijo n 0. Za vsako od teh dveh oseb, smo nato prirastek n za 1. Tako je v prvem potovanju prek zanka, smo posodobili n od 0 do 1. Na drugem potovanju skozi, da Enako zanka, smo posodobili n od 1 do 2. In tako, ki jo je ta algoritem je konec, je n 2, ki dejansko ustreza številu ljudi v sobi. Do sedaj tako dobro. Kaj praviš na primer kota, čeprav? Denimo, da obstajajo ljudje, 0 v room-- poleg mene, ki je tem štetju. V prvi liniji, smo spet zažene n 0. Ta čas, čeprav, linija tri ne izvede na vseh saj ni oseba v sobi. In tako ostaja n 0, kar dejansko ustreza število ljudi v sobi. Precej preprosto, kajne? Vendar štetje ljudi, eno naenkrat je precej neučinkovita, preveč, ne? Zagotovo lahko storimo bolje. Zakaj se ne šteje za dve osebi naenkrat, namesto štetje ena, dva, tri, štiri, pet, šest, sedem, osem, in tako naprej. Zakaj se ne šteje dve, štiri, šest, osem, in tako naprej? To celo zveni hitreje. In to je zagotovo. Pojdimo izrazi to optimizacijo v psevdokoda kodo. Naj bo n enak 0. Za vsak par ljudi v Prostor, določen n enak n plus 2. Precej enostavno spremembo, kajne? Namesto štetje ljudi v enem trenutku, smo jim namesto računati dve hkrati. Ta algoritem je torej dvakrat hitreje kot zadnji. Toda ali je to res? Pa poglejmo. Deluje, če obstajajo v sobi dve osebi? V liniji smo inicializacijo n 0. Za ta enim parom ljudi, smo nato prirastek n z 2. In tako ga je ta algoritem je Konec je n 2, ki dejansko ustreza številu ljudi v sobi. Denimo, da obstajajo naslednja nič ljudi v sobi. V prvi liniji bomo inicializacijo n 0. Kot prej, tretja vrstica pa vse ne izvrši saj ne obstajajo kakršne koli parov ljudi v sobi in tako ostane n 0. Ki dejansko ustreza število ljudi v sobi. Toda kaj, če obstajajo v sobi trije ljudje? Kako to algoritem fare? Poglejmo, v liniji, smo inicializacijo n 0. Za par teh ljudi, smo nato prirastek n z 2. Toda kaj potem? Ni drugega poln par ljudi v sobi, tako druga vrstica ne velja več. In tako do konca tega algoritma je, n je vedno 2, ki ni pravilna. Dejansko je ta algoritem je dejal, da biti buggy ker ima napako. Pojdimo odškodnine z nekaterimi Novi psevdokoda code. Naj bo n enak 0. Za vsak par ljudi v Prostor naj bo N enako n plus 2. Če ena oseba ostane brez para, nastavljena N enako n plus 1. Da bi rešili ta problem, ki smo jih uvedena v liniji štiri stanja, sicer znan kot podružnice, le da Izvrši Če je le ena oseba, ki jo ni mogla seznaniti z drugo. In zdaj, ali je en ali trije, ali liho število oseb v sobi, Ta algoritem se bo zdaj jih šteje. Lahko storimo še bolje? No, smo lahko računali na trojkah, ali štiric, ali celo petke in desetine, ampak po tem, kaj gre, da bi dobili malo težko izpostaviti. Ob koncu dneva, bodisi računalniki ali človeka izvršen, algoritmi so samo nabor ukazov , s katerimi bi rešili težave. To so bili samo trije. Kaj bi vi problem rešiti z algoritmom? DAVID J. Malan: Torej namerno, zelo preprost program, zelo preprost algoritem, za doseganje nekaj Zelo preprosto, štetje število ljudi v sobi. Ampak kaj je draži narazen nekatere predstavnika Ima tukaj, da so dejansko bo uporaben tudi kadar izvajanje najbolj Kompleksna programske opreme. Tako, na primer, v tej prvi vrstici, imamo kar imenujemo spremenljivko, in iz algebre, ste splošno znano uporabo x in y in z včasih, in tako naprej. Toda v programiranju, spremenljivke so še vedno na koncu dneva, zelo podoben. Ampak to je morda lažje razmišljati spremenljivke kot samo posodo. In, v resnici, je nekaj število bitov izvajati nekako v trdem disku ali v pomnilnik vašega računalnika, a več o tem v prihodnosti. To je samo posoda. In če rečeš kot da n enak 0, dobro, da je, kot zahteva ta kozarec bowl tu n, le poljubno ime, in dajanje nič v njej sprva. Torej je vrednost tega bowl zdaj nič. In seveda, če dojemajo v naslednjem linije, dejansko prirastek nekaj linijo kodo, se v tej tretji vrstici tukaj, za 1, ki je, kot pravijo, kaj je Sedanja vrednost n, je 0, plus 1, dal nekaj podobnega ping-pong žogo tukaj. Zdaj se vrednost tega spremenljivka je preprosto 1. In bi lahko zelo hitro ekstrapolirati, zdaj pa je 2, zdaj je 3, in tako naprej. Tako, da je vse spremenljivka. To je kos shranjevanja, dejansko shranite nekaj podatkov. Za zdaj je ping pong žoga. Tukaj je številka. Vendar pa bi bilo besede v slovar, kot je črkovalnik I omenili v sredo za ena od lanskoletnih problemskih sklopov. Zdaj pa še ena ključna ideja, da podobno je precej intuitiven jaz bi trdil, je, da zanke. In zanke v procesu šteto od vsakogar je seveda počne isto spet stvar in again-- enem hkrati ali dva naenkrat. In to lahko izrazi v angleškem jeziku, ali psevdokoda koda, v poljubnem številu načinov, vendar z uporabo tega predloga v "za" je zelo pogost način s tem. Za vsako osebo v sobi, to storite. Znova in znova. In dejstvo, da je razčlenjena, linija tri, pomeni le, da je kaj boš moral storiti je stvar, ki je zamaknjen pod liniji sama. Samo človek konvencija, ampak pogost kot bomo videli v dejanski Higher programskem jeziku. Zdaj pa malo bolj zanimivo je, ko prideš v primeru kota. Na primer, kotiček primer je bil, ko je so bili trije ljudje, ali pet ali sedem, ali liho število oseb v sobi, ker to, da z parih zavorami na koncu, ker vaš bo da pogrešam nekoga, bodisi na samem začetku ali zelo konec odvisno od tega, kako si to naredil. In tako je, zdaj imam to podružnico, ali stanje, če se ena oseba še vedno, potem pa pojdi naprej in obvladam osamljena oseba, ki ni dobil seznanjene z nekom. Torej, to je tisto, kar bi imenovali stanje, ali podružnica. Zdaj psevdokoda koda bolj splošno lahko pisni rešiti poljubno število problemov. In tisto, kar sem mislil, da smo tukaj storiti je vzeti trenutek povabiti rečemo CS50 je lastnik Rob Bowden na odru se pridružila dva prostovoljce, , ki nimajo pojma, kaj nas čaka. Roko je šel dol takoj, ko sem rekel, da. Kaj pa ti na konča tukaj, pridi gor. In kako približno od dlje stran, kaj pa način v hrbtu. Zadnja vrsta, pridi gor z dvignjenimi rokami. Dobro, in kako ti je ime? ANITA: Anita. DAVID J. Malan: Anita. Ok, lepo, da sva se spoznala. Dovolite mi, da vam predstavim Rob Bowden. To je Anita. In kako ti je ime? KIERSTEN: Kiersten DAVID J. Malan: Kiersten. Kiersten, pridi gor in izpolnjujejo Rob Bowden in Anita. Lepo, da sva se spoznala. KIERSTEN: Me veseli. DAVID J. Malan: Dobro, Rob. ROB Bowden: Me veseli. DAVID J. Malan: Anita. KIERSTEN: Hi Anita. DAVID J. Malan: In vaš več sto sošolci. Tako, zdaj pa grem naprej in potegnite up preprostim programom tukaj na Mac OS bom, da mi dovolite, dejansko zapišete nekaj opomb navzdol. In če hočete, da sprejmeta položaj na enem od teh šol tam, Naj gredo naprej in se začne seznam od psevdokoda kode, če hočete. In kaj hočem narediti tukaj, na koncu je tip za vas nekaj navodil, da je naša Člani občinstva so dejansko bo recitirati za nas. Dovolite mi, da gredo naprej in samo spremeniti to oštevilčen seznam da se ujemajo, kar smo počeli tam. In kaj bom naredil z vaša pomoč, je napisati program v psevdokoda, s katerim ti fantje gredo izvajati kikiriki maslo in žele sendvič. Zato je morda apropos za nekaj pokazati nekatere izmed vas Morda so videli na internetu za samo kratek siten trenutku. [MUSIC BUCKEWHEAT BOYS, "arašidovo maslo  JELLY TIME "] DAVID J. Malan: OK. To je dovolj, da. Torej, tukaj je medtem, imam Par Google Glasses, ki bomo dali CS50 lastno Rob Bowden videti svet skozi njegove oči. In mi se bomo potrudili na delovnem mestu proizvodnja dejansko tkanje posnetek kaj Rob videnje Zdaj, v tem dejansko predavanje video z našimi dva prostovoljci poleg njega. Torej, kaj bom naredil je, bom tipkam. Imamo cilj Tu dejansko pisanje programa s katerimi naj bi v končni fazi arašidovo maslo in žele sendvič, ampak ti trije se bodo obnašali kot da so računalniki. In računalniki, na koncu dneva, so pravzaprav precej neumna naprave. Oni so super hitro, ampak jih lahko samo storiti, dobesedno, kaj so povedali. Ne moreš kar reči, da kikiriki maslo in žele sendvič. Moraš jih programirate za to. Moraš jim povedati natančno, kaj naj naredim, manj gredo stvari strašno in upajmo, zabavno narobe. Torej, s tem je dejal, da potrebujemo en klic-out iz občinstva Za kaj naj okrepijo eno je, če je cilj tukaj je, da kikiriki maslo in žele sendvič. Ja? OBČINSTVO: [neslišno] vrečko kruha. DAVID J. Malan: Odprite vrečko kruha. Torej, če bi trije tekmovalci želite nadaljevati to storiti dobesedno. Odprite vrečko kruha. [PUBLIKA smejati] DAVID J. Malan: Torej delati na tem. V redu. Torej drugi korak, kako-- vzemiva to še dodatno. Ja, na sprednji strani. OBČINSTVO: [neslišno] kruh. DAVID J. Malan: Kaj je to? OBČINSTVO: Odstranite kruh. DAVID J. Malan: Odstranite kruh. Podobno jedrnati. Hvala. [APLAVZ] DAVID J. Malan: To je to? OK, tako da stopite dva se dogaja da se odstrani kruh. Dobro, nekdo rad pišite nam daljšo kazen? Nekdo drug? Malo več [neslišno]. Ne, nič zdaj. Ja? OBČINSTVO: Place dva rezine drug poleg drugega. DAVID J. Malan: Place dva rezine drug poleg drugega. [PUBLIKA smejati] DAVID J. Malan: Place dva rezine drug poleg drugega. Četrti korak. Ja? OBČINSTVO: Vzemite si roko in jo rahlo na vrhu pokrova arašidovo maslo. [PUBLIKA smejati] OBČINSTVO: [neslišno] poleg kikirikijevo maslo. DAVID J. Malan: Kaj? Ponoviš. OBČINSTVO: Odvijte pokrov in dal nežno poleg kikirikijevo maslo. DAVID J. Malan: Daj jo nežno poleg kikirikijevo maslo. OK, napredek. Peti korak. Odlično. Ja? Poberi nož. DAVID J. Malan: Poberi nož. OK, šestim korakom. Ja? OBČINSTVO: Drži nož za ročaj. DAVID J. Malan: Držite nož za ročaj. Držite nož za ročaj. Sedmi korak. Ja? OBČINSTVO: [neslišno] nož na arašide maslo in tako malo ven [neslišno]. DAVID J. Malan: Postavite nož noter-- I Slišal "dal nož v arašidovo maslo in se tako malo, kot je mogoče. " Mimogrede, najprej odstranimo papir. V redu, stopite devet. Devet korak. Devet korak. Nismo dejansko je še sendvič. Ja? OBČINSTVO: Z nožem v arašidovo maslo, Uporablja arašidovo maslo na omenjeni kruh. DAVID J. Malan: Z nožem v arašidovo maslo, uporabljati arašidovo maslo na dejal kruh. [PUBLIKA smejati] DAVID J. Malan: Dobro korak 10. 10. korak. Ja? OBČINSTVO: Taste arašide maslo za zagotavljanje kakovosti. [PUBLIKA smejati] DAVID J. Malan: 11. korak. 11. korak. 11. korak. Daj no. Ja? Točno tam. OBČINSTVO: Previdno poberem žele. DAVID J. Malan: Previdno poberem žele. OK, potem pa še ena roka je bila gor. Takoj za tabo. Ja, v modri barvi. OBČINSTVO: Dobro, odstranite pokrov iz [neslišno], ja, odstraniti pokrov iz želeja. [PUBLIKA smejati] DAVID J. Malan: Od žele. Ha ha. [PUBLIKA smejati] DAVID J. Malan: In? OBČINSTVO: In komaj pomete vsak [neslišno]. [PUBLIKA smejati] OBČINSTVO: Seveda, pred [neslišno] odstranite papir iz želeja. DAVID J. Malan: Odstranite papir iz želeja. 14. korak. Skoraj smo že tam. Ja? OBČINSTVO: Obrni jelly steklenica preden se je vse pade ven. DAVID J. Malan: Obrni jelly Steklenička pred žele pade ven. 15. korak. OBČINSTVO: Zamenjajte pokrov. DAVID J. Malan: Zamenjajte pokrov. 16. korak. Ja? OBČINSTVO: [neslišno] DAVID J. Malan: Ponovi to. OBČINSTVO: Vzemite pokrovček vaše žele. DAVID J. Malan: Off vaš žele. Torej res-- Ups. Daj no. Zamenjajte pokrov. Put cap-- Rekli ste odstranite pokrovček z želejem. Počutim se, kot da smo v nekaj zanke. 17. korak. Ja? OBČINSTVO: [neslišno] DAVID J. Malan: Ponovi to. OBČINSTVO: [neslišno] DAVID J. Malan: Vrnite se step-- OBČINSTVO: [neslišno] DAVID J. Malan: Odstrani kapa iz kikirikijevega masla. Ja? OBČINSTVO: izbrišite vse jelly na kruh. DAVID J. Malan: izbrišite vse žele za kruh. DAVID J. Malan: Skoraj smo že tam. Korak 19. OBČINSTVO: Odvečno žele. DAVID J. Malan: Haha, žele. [APLAVZ] DAVID J. Malan: Zakaj ne lahko-- en korak, da to doma. Še en korak in potem bomo služijo sendviče. Ja? OBČINSTVO: [neslišno] DAVID J. Malan: Medtem koli sendvič alinea remains-- Pojdimo to-- jesti. [Smeh občinstva] DAVID J. Malan: Dobro, hvala da si naši prostovoljci tukaj. [APLAVZ} DAVID J. Malan: Imamo nekaj lepo slovesu darila za vsakega izmed vas. Vaša lastna arašidovo maslo, žele, in kruh, da bi nazaj domov. Hvala. KIERSTEN: Hvala. DAVID J. Malan: [neslišno] dobrodošli. [APLAVZ] DAVID J. Malan: Torej, to je, Seveda, smešno primer. Prav? Ampak to nekako pokažejo, kako smo ljudje vzemite jasnost za samoumevno. In dejstvo, da sem bil Govorimo, da drugemu človeku, on ali ona samo ve, kaj misliš. Računalniki ne bodo da vem, kaj misliš, tudi pri uporabi, kot smo na tem, da je danes, programiranje nekaj v Scratch, povlecite in spusti, košček sestavljanke slog jezik. Tudi zasnovan za mlade Otroci, imate da so tako očitne in tako literal s kaj želite, da vaš program za narediti. Zdaj na koncu, smo bo programiranje ne psevdokoda kodo, Angleščina kot sintakso, vendar kodo ali bolj pravilno, izvorna koda. Izvorna koda je samo fancy način za opisovanje kodo, ki jo dejansko pisati s tipkovnico, ki je ne v angleščini po sebi. To je v C ali Java ali C ++ ali kaj podobnega tako, kot bomo kmalu videli. In v resnici, samo prestrašiti nekaj vas je, na prvi pogled, to je program napisan v jeziku imenovano C. Ampak un-prestrašiti nekaj od tebe, boste popolnoma razumeti, kaj se dogaja pridejo na naslednji ponedeljek, ko ga gre za kaj takega. Odkrito povedano, to je starejši jezik. To je precej skrivnostne, vendar je reprezentativen partije jezikov te dni, da imajo veliko oklepaji in kodrolistna oporniki in narekovajev in podpičja. In veliko tega skladenjska stvari, ki je ne sploh intelektualno zanimiva. Pravzaprav, to je popolna zmeda od zelo preprostih idej da so nas gledal v obraz. Ta program, kot si lahko samo mislim, odtisi na nekoga računalniškem zaslonu besede "Hello comma svetu." To je vse. Torej je jasno, da je Veliko stvari, ki je že na poti nekateri očitnost tam, ampak to bo zelo hitro zdrsnejo stran in je popolnoma intuitivno. Pravzaprav, kaj bomo storili danes destilirati to precej zapletena išče programa, kar spet boste prišli hitro razumeli, ampak za nekaj, veliko enostavnejša. Reciva, kaj mislimo. Pojdimo narisati sliko o tem, kaj mislimo, s pomočjo teh kosov sestavljanke tukaj. Torej, to je programiranje jezik, znan kot nič. Zato je bil razvit z MIT Media Lab. In kaj boste videli na problem nastaviti ničlo, ki bo izšla kasneje nocoj, bomo morali greš na to URL tukaj scratch.mit.edu. In imajo spletu vmesnik, ki temelji preko katerih boste napisali svoj prvi program. Ali tiste, ki ste pred izkušnje, tvoj drugi programi, toda v okolju, ki je Verjetno malo poznajo, in da si bo prizadevala ustvariti nekaj z uporabo te zelo vizualno okolje. Zdaj, kaj bom naredil tukaj je odprla sam program. To ne obstaja le kot spletni brskalnik, ampak tudi kot downloadable programa tako da lahko dejansko uporabljajo Če nimate dostopa do interneta. In bom za to Tukaj, v Sanders, samo v primeru, Wi-Fi ne sodelovati super dobro. In kaj bom storiti, je točka ven nekaj značilnosti tega programa. Torej, da bo jasno, imam samo dvojno kliknili na ikono na namizje, ali enakovredno šli scratch.mit.edu, in to je potegnil to okno. To je programsko okolje. To je kos programske opreme, ki nekateri naši prijatelji na MIT je zapisal, da naj v ZDA in pišete Programi v jeziku imenuje praske. Zdaj se to zgodi, da se Mačka, ki je znan tudi pod imenom Scratch in to je njegov svet, v katerem živi. To je stopnja, tako rekoč, da pravokotnik v zgornjem levem kotu. In ni nujno, da je videti kot mačka. Lahko da mu je videti kot karkoli in vam imajo lahko veliko takšnih sprites, ali znakov, v programu. Medtem sem na daleč V redu, je velik nepopisan list. In to je, če se v trenutku, se bomo za začetek programiranja z vlečenjem in spuščanjem ti grafični puzzle kosi, ki so prav tu v sredini. In tam je veliko bolj od njih, kot bomo preživeli več časa tukaj v razredu ker boste ugotovili, da oni so vsi precej intuitivna. Spet je bilo načrtovano za otroke, vendar smo zafrkavajo, razen nekaj tistih temeljne ideje spremenljivk, zank, pogoji, in kmalu stvari kot funkcije in dogodki in niti in drugi modni stvari, ki jih bomo priti pred dolgo, da se dejansko ustvarijo nekaj iz nič. Pun namenjena. Zdaj, kaj bom storiti, je tu kliknite na ne gibanje, ampak nadzor. In to je samo kategorizacija tu-- in vidim drugačen Barva niz blokov. Ampak obvestilo nekaj poznane besede. "Če" in "else if" in "ponavljanja". In si verjetno lahko uganiti to spominja na podružnice, ali pogojev, smo videli, in tudi zanka konstrukt. Torej imamo tukaj podobne bloke. Ampak najbolj zanimivo ena je tale tukaj. Ko je ta zelena zastava kliknili, to je za tiste s predhodnim programiranje izkušnje, je enakovredna za glavno funkcijo. Toda za tiste, ki ne poznajo, To je puzzle piece , ki se bodo začeli začeli naš celoten program. To dobesedno pomeni, ko sem šel v to program in kliknite na zeleno flag-- ki si lahko ogledate tukaj v zgornjem levem kotu na UI, tako da vidim zeleno zastavo ob rdeči stop znak? Ko sem kliknite, da moj Program se bo teči. Zdaj bom nekaj narediti super enostavno z Scratch. Jaz grem naprej in pojdite na plošči Looks tukaj, kjer imam kup vijoličnih koščke, in bom, da gredo naprej in ne Nekaj ​​zelo preprostega, kot, recimo. In potem-- Obvestilo to besedilo v beli škatli je editable-- bom rekel, "Hello world", kot mi storil v tem gramatikalne Različica za trenutek nazaj. In zdaj, če grem in kliknite to zelena zastava, ki sem jih sedaj programirati. To ni posebej zanimiv program, vendar sem računalnik nekaj narediti. Začel sem program in ga kar sem rekel, da naj naredim. Zdaj bom lahko še naprej, da povlečete in spustite več in več teh kosov sestavljanke in gredo, da sinhronizira, vendar kaj je klofuta nekaj terminologije tukaj da bomo videli ponavljajoče celotnem poteku, in res po vsej računalništva in načrtovanje na splošno. Ta "reči" blok, v vijolični, dajva šele začetek kliče izjavo. To je kot dejansko trditvijo. Ali to. Torej, to je kategorija navodila, ki vas bi lahko nahranili računalnik kot del programa ali algoritma. In da bo jasno, ki ste jih Verjetno samoumevno da imate programe na vašem računalniku. In oni so vrste algoritmov, vendar Program je res kup algoritmov da so nekateri ljudje pisali. Zapakirane jo gor in so ga prodali, tako vas, ali pa so objavljene na spletnih straneh za vas, da prenesete. Torej, program je le Cel kup ničel in enic da, nekako, ljudje ustvarili. In ti vzorci ničel in tisti predstavljajo stvari, navsezadnje, kot "pozdravit sveta" ali "predvajanjem ta glasba "ali" igrati ta video " ali "pošljete e-pošto." Ampak se bomo vrnili v tako bolj podrobno, kaj Program je, ko ti, sami, jih napišite. Tu je še en statement-- "Počakajte eno sekundo." Nisem te še uporabljajo, vendar, če želim moj program za premor za trenutek nekaj narediti, lahko jaz povem, da to storijo. Počakajte trenutek. Zdaj morda še eden je "igral zvok." Torej, to je edinstvena na nič, ga Ima sposobnost, da predvaja zvoke. Torej, sem morda izjavo Uporaba je tukaj, "play zvok." Medtem, Boolean izraz, tako da je to Ljubitelj beseda poimenovana po le nekoga z imenom G. bool, in to je vse o vprašanju. True ali false-- je miška dol? Logični izraz je le nekateri izraz v angleščini ki je bodisi resnična ali neresnična. Bodisi na ali izključite. Bodisi eno ali nič. Lahko si misliš o njem v poljubnem številu načinov, ampak to je bodisi resnična ali Ta lažna, na koncu. Torej "miške navzdol vprašaj," da bi logični izraz. In lahko si misliš o drugih, morda. Na primer, "je levo število manj kot pravo število? " Tudi to bi bilo Logični izraz. "Manj kot je" Logični izraz. Ta je tudi, "ganljivo miškin kazalec." Ne vem, zakaj so Poimenovali so ga kazalec miške. To samo pomeni, je kazalec, je puščica na zaslonu, da se dotaknete mačko, na primer. Ali drug vidik zaslona. In to je vprašanje, še enkrat, in , ki označuje logični izraz. Nekaj, kar bi lahko želijo uporabljati v stanju. Tako bomo prišli do, da je v samo nekaj trenutkov. Lahko "in" stvari skupaj. Torej, če želite, da preverite, če je to je primer in da je v primeru, lahko uporabite "in" blok, kot je ta. In tukaj je ta pogoj. Opazili obliko malo odprtino na vrhu te rumene koščka sestavljanke, to spominja na obliko da smo pravkar videli pred nekaj trenutki. Vsaka od teh logičnih izrazov imajo te zašiljene robove na levo in desno. In to zato, ker MIT ljudje odločili, da jih vizualno transportnih oblik, lahko nekako pomagali ljudem, študenti kot otroci, da nekako zapolniti prazne dobesedno. Zdaj, puzzle-- da Odpiranje je malo majhen, in, kot bomo videli v programu, V Scratch, bo rasla, da se prilega. Da bo ohranila svojo obliko, v končni fazi. Torej, stanje pa se odločite "Moram nekaj narediti ali ne?" Logični izraz je dejansko vprašanje ki ga uporabljate za odločitev ne grem levo ali naj grem na desno ko naletijo na to tako imenovani vilice na cesti? Lahko imaš dve veji. Če je nekaj res, naredite Ta, sicer gredo v to smer, ali pa preprosto sploh nič Vse, kar je pomenilo to block. Podobno smo lahko gnezdo te stvari. Torej, če želite, da trojne vilice road, to ali to ali ono storiti, si lahko samo gnezdo te stvari skupaj. In se začne, da bi dobili malo grd, sčasoma zagotovo, vendar logika je vedno enaka. Lahko dobesedno prebral To zgoraj navzdol in pravi, kaj je pomeni--, če je to je res to, if drugje. Zanka ne pride enostavnejša v nič. Forever storite naslednje. Zdaj pa ti morda ne zdi more veliko storiti, ker tam ni veliko prostora med top in Dno odpiranja puzzle kos. Vendar boste videli Scratch bo raste, da se prilega toliko kosov sestavljanke kot želite, da strpati tja. Druga zanka lahko izražena s ponovitvami. Če veste, vnaprej, «sem želijo narediti nekaj 10-krat, " lahko samo povem, praske da narediš nekaj 10-krat. In medtem, lahko imamo spremenljivke. Torej, tukaj je ena arbitrarna, je oranžna v tem primeru, in to je tornado turnejo. Again, boste našli to zelo dostopna Ko začnete z opozarjanjem in kliknete. Sem poimenovala moj spremenljivo n, ampak jaz Lahko bi ga poimenovali kar hočem, in sem ga na tem mestu, v ta samovoljna primer, nič. Zdaj vidim program, kot je zdravo svet ni vse, kar prepričljiv, tako da je dejansko odprla nekaj da nekdanji študent je. Dovolite mi, da gredo naprej in odprla, na primer, tale tukaj, za katere bi radi imeti prostovoljca. V redu, kako na-- pojdimo dalje. Ja, pridi gor. Kako ti je ime? Abby: Abby. DAVID J. Malan: Abby, pridi gor. Torej, ste kdaj igrali ta igra prej? Abby: Ne DAVID J. Malan: Dobro. David, lepo, da sva se spoznala. Pridi. In kaj je tvoj programiranje v ozadju, če sploh. Abby: Sem se naučil nekaj C ++. DAVID J. Malan: ste se naučili nekaj C ++. In kaj je tvoja igra igranjem ozadje? Abby: Ni veliko. DAVID J. Malan: OK, tako da bom vzel. Torej, tukaj je, kako igra, se bo delo. Jaz grem naprej in kliknite na zeleno zastavo, ki je tu v zgornjem desnem kotu. Zdaj je vaš predhodnik v razredu je dal nekaj napotkov tukaj. In vsak trenutek, ga pravi "prostor za začetek." Tako da gredo naprej in zadeti preslednico. RAČUNALNIŠKA IGRA: Pikachu. DAVID J. Malan: In cilj je, da ujeti hrano, kot je narisano tam na levi strani. In [neslišno] [GAME predvajanja glasbe] DAVID J. Malan: Aww, dobro, hvala za igranje. Imamo tu malo slovesu darilo za vas. Imamo CS50 stres žogo, Če želite izbrati. Dobro, dobro, da sva se spoznala. Hvala za obisk in izziv. Torej imamo več stresa kroglice, tako da Naredimo še en primer za motivacijo. Prostovoljec? V redu, kaj pa Prav pred. Kako ti je ime? PHILLIP: Phillip. DAVID J. Malan: Phillip. Pridi gor, Phillipa. Torej, Phillip se bo izpodbijati z drugo igro da je eden od vaših predhodnikov zapisal kot del problema nastaviti ničlo, imenovano Ivy Hardest Game. In bomo videli, v samo Trenutek, kaj je mišljeno s tem. Phillip, lepo, da sva se spoznala. Kakšno je vaše ozadje? PHILLIP: V veliko kodiranja. Opravljeno malo igranja, preveč. DAVID J. Malan: OK. Dobil veliko iger na srečo, preveč. In ste igrali to igro, preden? PHILLIP: Ne DAVID J. Malan: All Dobro, torej gremo. Jaz grem naprej in kliknite na zeleno zastavo. [GAME MUSIC] [MUSIC MC Hammer, "U NE MOREJO tega dotaknila"] PHILLIP: [neslišno] DAVID J. Malan: [neslišno] PHILLIP: [neslišno] [Laughing] [MUSIC MC Hammer, "U NE MOREJO tega dotaknila"] DAVID J. Malan: [neslišno] Proorati njo. PHILLIP: [neslišno] DAVID J. Malan: Pojdi naprej. [MUSIC MC Hammer, "U NE MOREJO tega dotaknila"] DAVID J. Malan: Dobro. Čestitam. [APLAVZ] DAVID J. Malan: Bomo objave na spletu, da kasneje tako da lahko odlašajo z njo pa tudi. Princeton je naslednji, po tem. Torej, zdaj pa pravzaprav nadaljuje začeti iz nič, tako rekoč, in dejansko zgraditi do lahko draži narazen nekatere od teh idej in se za nekaj, kar sploh bolj zapletena konca. Jaz grem tja in bom da gredo naprej in ustvarite novo datoteko. Torej še enkrat, bo problem set sprehod ste skozi nekatere od teh korakov. Ampak, vse, kar sem storil, je bilo go v meniju Datoteka in I dejal: "Nova" toliko kot Microsoft Word, ali kateri koli program, kot je ta. In pojdimo naprej sedaj-- in mi izvaja "Hello world" Trenutek nazaj ampak dajmo narediti nekaj malo lepši. Jaz grem gor na dogodke. In bom naredil ", ko zelena zastava kliknili. " In potem grem za uporabo, rečemo, podružnico. Torej bom uporabiti "če" stanje. In opazili, kako čim prej pridem blizu na to, da želi skupaj snap. Zato sem izpustil in da skoči skupaj. In zdaj ne morem narediti nekaj zanimivega. Če sem se pomikate po tu, bom da vidim cel kup blokov. Če grem na "podatki" - Naj povečavo noter-- obstaja nekaj o spremenljivkah. Če grem v "gibanju", lahko stvari očitno obrnil. Če grem na "operaterji" - oh, to je zanimivo, Lahko izberete naključno število. Torej, kaj naj naredim s samo nekaj nekateri verjetnost, samo zato, ker. Jaz grem naprej in povlecite ta kos sestavljanke, to je, da je manj kot blok, tako da je le "Je to število manjše od tega enega?" Ampak jaz nočem trdega šifra število ker to precej nesmiselno. Torej bom vleči ta kos tu, in opazujte, kako se zaskoči, in zdaj naj gredo naprej in rekli, "če Številka, ki je izbral naključno je manj kot šest, naredite naslednje. " Zdaj, zakaj manj kot šest? Kakšna je verjetnost, da se to dejansko dogaja, da me, samo intuitivno? Približno 50%, kajne? Če je številka, ki je uganiti naključno med 1 in 10 je manj kot šest, jasno, da je ena, dva, tri, štiri ali pet. In tako, da se dogaja, da mi 50% verjetnost, kaj se dogaja? No, dajmo narediti nekaj podobnega to, "play zvoka mijav." In obvestilo, še enkrat, puzzle piece raste da se prilega, dokler oblike ujemajo. To je tisto, kar je pomembno. Naj grem več na Scratch tu in kliknite "play". Nič se ne zgodi. Je to bug? Ne, ni potrebno. To lahko samo, da je Večje število je bilo izbrano. Torej, dajmo še enkrat. Nič. [Meow] DAVID J. Malan: Tukaj je. [Meow] DAVID J. Malan: Spet. Število [MEOWING] DAVID J. Malan: Torej, če ste jih kdaj igral igro, seveda, kjer stvari se dogaja naključno, kot slabi prihajajo ali ne prihaja na zaslonu, ali stvari, ki spadajo ali ne spadajo, to je samo zato, ker nekaj super preprosta, kot se to dogaja. Pick naključno število, in če to je manj kot neko vrednost, Mogoče to narediti ali pa to. Mi lahko vključi da je v stanju. Naredimo nekaj drugačnega. Naj me vrgli proč. Lahko se znebite stvari, ki jih Pravkar jo zvlekel v levo in opuščanja. Dovolite mi, da gredo naprej in narediti večno blok in zelo hitro narediti nekaj siten. Dovolite mi, da gredo naprej in pravijo "play zvoka mijav." Vendar ne želim, da je to preveč moteč, zato naj me zgrabi ta blok, "Počakajte trenutek" in obvestilo ni več prostora za to. Ampak, če greš dovolj blizu, želi, da bi šel tja. Zato sem izpustil in bo raste za zapolnitev blok. Zdaj, to je zanka. [MEOWING] DAVID J. Malan: Sem dobesedno delaš to za vedno. Znova in znova. To preprosto ni naravno zveneče. Dovolite mi, da gredo naprej in to spremenili da ne eno sekundo, za dve sekundi in pritisnite tipko Enter. In kaj je lepo o Scratch je da bi lahko programirate interaktivno. Naredili spremembo, morda pritisnite tipko Enter ali Predvajaj še enkrat, in to bo samo naprej. No, zakaj ne delamo nekaj malo lepši? Namesto, da stori vse, kar iz nič, Naj gredo naprej in odprla predujem je eno, da sem pre-pečen, imenuje "Pet Cat." In bomo objavili vse Te datoteke na spletu, in problem nastaviti nič vam bo povedal, kako priti do njih in odprite jih. In obvestilo, to je zelo preprosta. Vendar vnaprej, sem se zdi, da je zgrabil "za vedno" blok, tako da imam zanko. In potem sem dobil "če" stanje. Imam logični izraz. Torej, v angleščini, samo pogledal na to, še posebej, če ste nikoli programirano pred, samo intuitivno, kaj bo to naredil, ta program? [PUBLIKA Zmenkar] DAVID J. Malan: Če vaš hišni ljubljenček mačko, mačka se bo Meow, kajne? Ker je "za vedno počistite" je miškin kazalec dotika mačko. Torej, da bo jasno, jaz nisem rekel že prej, vse te sestavljanke kosov in skript, ki smo jih združili v, tako rekoč, scenarij je sinonim Program, res, spada v to mačko. In razlog je-- ker obvestilo kako je označena ta ista mačka tukaj, tukaj si lahko ustvarite Druga mačka ali pes ali res karkoli hočeš grafično. Lahko uvozite nekaj iz Photoshopa ali podobno, in vključiti nekaj, če ste želijo, da bi bilo za projekt. In kaj boste našli, v končni fazi, je, da vas lahko dodate skript, dodamo uganke kosov, do posameznih znakov. Torej, vsi ti pripadajo To zlasti mačka. Torej, zdaj, če grem naprej in igrati ta program, nič ne dogaja. Ampak to deluje. Program je v tem večno zanko, nekako čakajo, kaj se bo zgodilo? [PUBLIKA Zmenkar] DAVID J. Malan: Za hišne mačke. Torej, če sem premakniti miško proti him-- [MEOWING] DAVID J. Malan: Torej, zdaj Jaz sem ljubkuje mačko. Medtem, bomo lahko imeli dvojno podružnico. Dovolite mi, da gredo naprej in odprite up ne poboža mačko. Bomo objavili v spletu, kot tudi. To je malo več kompleks, vendar brez rekoč lahko uganiti morda kaj se bo zgodilo. [MEOWING] DAVID J. Malan: Cat je meowing, grand starega časa. Vendar je ta program seveda imenovano "Ne Pet Cat," zato je jasno, želim hišne mačke. [Buči] DAVID J. Malan: Ne hišne mačke. Zdaj pa si poglejmo na drugi primer tukaj. Ta se bo imenovala "Hi, Hi, Hi," zaradi da bo jasno, saj takoj, ko sem teči ta stvar-- [SEAL BARKING] DAVID J. Malan: Zelo enostavno pisati nadležne programe nič. [SEAL BARKING] DAVID J. Malan: Zdaj se ne bom spuščal v veliko podrobnosti z vsemi temi, ampak obvestilo obstaja Nekaj ​​novosti tukaj. Tam je spremenljivka, ki se imenuje "utišani" in potem je tukaj še kup pogojev. In za zdaj, kaj me samo zafrkavali z besedami da če je ta fant preveč siten, Lahko hit preslednico in se ustavi. Ker so vlogo igrale ti dve skripte je, kot sledi. Eden od njih je delal lajanje vsakih nekaj sekund. Drugi pa je samo čaka za mene udaril preslednico. In če jaz udaril preslednico, to se bo spremenilo stanje te spremenljivke, vrednost te spremenljivke, ki je očitno imenovano "utišan", nisem poklical je nekaj dolgočasno, kot n, Poklical sem ga angleške besede "izključen." 1 do 0 ali 0 do 1. Iz true na false ali false na true. In tako si lahko dejansko zdaj vidim, da vas bi lahko imeli dve skripte, dva programov teče hkrati, in oba lahko seje v zanki nekaj dela. Čakam na človeško storiti nekaj podobnega hitting preslednico. [SEAL BARKING] DAVID J. Malan: In zdaj je že na poti spet. [SEAL BARKING] DAVID J. Malan: Torej, kaj še Morda bomo s temi primeri? No, gremo naprej in to primer s štetjem ovac. To bomo še naprej po vzoru tukaj o-- Odprimo primer ovce. In obvestilo, tako kot prej, je to eno, na srečo, je malo manj nadležno. Ko sem udaril igrati tu-- Oh no, to je nadležno. On se dogaja, da BAA z neko verjetnostjo. Igrajmo se to še enkrat. [OVCE BLEETING] DAVID J. Malan: Razlika je le v smo spremenili kostum, tako rekoč, in smo razpolovila in reči kakšna je dejanska številka. Pa pojdimo naprej in to en korak naprej. In naj vas draži s ena značilnost tukaj. Pojdimo naprej in odprla program, imenovan Threads. Toliko, kot si lahko eno sprite, ki imajo več scenarijev, imaš lahko dve sprites, ptic v mačka, ki imajo vsaka svoj scenarij. In vsak od njih lahko delujeta istočasno. Če ste kdaj slišali Beseda "večnitnostnost" Računalnik je "večnitne" pomeni to lahko naredite več stvari naenkrat, in seveda, tako da lahko Scratch. In zdaj opazili ptica je neumen. To je samo delaš stvari naključno, odbijajo zaslon. Jasno je mačka programirana da nekako še išče zmogljivosti doma v na ptice zato, ker on je vedno obrnjena na glavo. Dokler končno je ujame dejansko ptico. Tako da ne bom spuščala v podrobnosti tukaj, lahko pa nekako pogled enake oblike, nekateri "Če" pogoji, nekatere spremenljivke, morda nekaj zank, so navsezadnje počne isto stvar. Zdaj pa grem naprej in odprite up nekaj povsem drugega, draži nekateri od vas, še posebej tiste bolj udobno, kaj lahko dejansko naredim s tem. Jaz grem naprej in odpirajo Button tukaj. In to je super Program preprost navidezna, vendar pazite, kaj se zgodi ko I-- Oglejte si, kaj se zgodi, ko odprem to različico nje, tukaj v brskalniku, scratch.mit.edu. In ko kliknem ta velik rdeče gumb, opazili, kaj se zgodi. Torej, kaj se tukaj dogaja? Tam je pravzaprav veliko bolj zahtevnost dogaja pod pokrovom, čeprav sem izvajala to, ali odkrito, Dan Bradley je ta izveden tako preprosto. Je bil zasnovan po meri Scratch sestavljanke Kos, ki je znana kot razširitev Scratch, je imenoval ga Toggle. In kaj Toggle pa je pošlje sporočilo preko interneta. In da je sam sporočilo Izgleda malo skrivnosten. Ampak tudi to, boste razumeti do konca izraza je. Sporočilo, da je v resnici pošilja Izgleda Nekaj ​​takega. To je samo besedilo. Cryptic. Boste razumeli s časom smo dobili problem določiti sedem. To je samo pošiljanje tekstovnih sporočil preko interneta na strežnik. In da je strežnik, na koncu, govoril te žarnice, ki je eden od teh fancy žarnic v njem, da je sama, je govoril z Wi-Fi na omrežju tukaj, kjer lokalna naprava navzdol tu-- in končno, da je dejansko vklopimo to svetlobo in izklop. Vendar pa lahko naredimo več še zanimive stvari. Opažati Dan storil tudi za nas. Naredil je več sprites, vsaka ki ima scenarij čaka za klik. In če sem kliknite red, da gre rdeča. Če dobim modra, gre blueish. Zelena, rumena, oranžna. In vse to se dogaja z bo izhod na internetu, nazaj dol, da žarnica, in izklop. In če lahko tem-- verjamem in to je morda ena od najbolj zapletenih Scratch Projekti nekdo implemented-- je to storil, v poštenosti, v enem dnevu. In to je bil izziv, vrgel dol Dana, ko smo videli, imajo binarne žarnice, imamo praske, kako Lahko jih kombinirate? In res, to je popolnoma kaj kdo v tej sobi lahko storite s end-- semester Je reimplemented binarni žarnice, ki uporabljajo isti vmesnik, ki je na naši iPad v sredo. Tako, da zdaj, če sem dejansko kliknite na plus sem, imamo eno, dve, tri. Ne morem zadeti 16 in nato, da je eden na. 128, in tako naprej. Zdaj, če ima ta sam pihano svoj um, lahko narediš stvari veliko bolj dostopne, ki ne vključuje nobene strojne opreme gotovo. Samo stvari na zaslonu sama. In res, kar večina študentov na koncu delaš neke vrste divjadi, nekaj del umetniškega dela, ali nekakšen interaktivni animaciji. In bom rekel eden od naših izbira je bila to ena. In mislil sem, da če bomo lahko zatemnite, bova vzela pogled na finale Projekt praske na koncu. Ampak kaj boš moral imeti v mislih, kot Lahko draži z eno zadnje podrobnosti odseke se bo začel naslednji teden. Uradne ure se bo začel naslednji teden. Problem nastavite zero bodo objavljene CS50.harvard.edu kasneje danes. In vas bo pozdravil problematično nastaviti ničlo da CS50 lastno Zamyla Chan, ki je večina naših walkthroughs vodi. To so vgrajeni videos v problemskih sklopov da bo imel roko skozi veliko začetnega vzpostavi in ​​skozi mnoge možnih odločitev glede projektiranja. Torej, če ste kdaj imeli, da čustva pri dviganju domačo nalogo in se sprašujete, kje naj začnem? Ona bo imela ta odgovor za vas. In zdaj, zadnji program iz ene od vaših predhodnikov v odgovor na vprašanje, "Kaj je lisica rekla?" [MUSIC YLVIS, "KAJ FOX rekel?] YLVIS: (PETJE) Dog gre hov. Cat gre mijav. Bird gre tweet in miško gre Citati. Krava gre Moo. Žaba gre poginil. In slon gre toot. Ducks pravijo kvak in ribe šel blub. In tesnilo gre ow ow ow, vendar tam je en zvok, da nihče ne ve, Kaj je lisica rekla? In DAVID J. Malan: To je za CS50. Vas bomo videli na Puzzle dan in v ponedeljek. [APLAVZ] [MUSIC YLVIS, "KAJ je lisica rekla?"] NARRATOR: In sedaj globoko misli, ki jih Daven Farnham. Danes me je zadela v soočajo z imenika. Zmedeno, kot da sem na doma gledal na spletu.