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