Məruzəçi: I [işitilemez] edirəm. Və mən Leverett House baş edirəm. Mən, informatika təhsil və mən CS50 üçün TF edirəm. Bir birinci kimi, mən belə yox idi bir laptop və ya smartphone. Mən heç bir proqramlaşdırma təcrübə idi. CS50 ən yaddaqalan kurs idi ki, Idi, çünki mən Harvard aldı mübarizə, lakin həqiqətən eyni zamanda fun mübarizə. Və mən gözəl, daimi bir çox olmuşdur dostlar, mən, həqiqətən, bir çox şey öyrəndim tətbiq bacarıqları. Mən imkan vermədi ki, yalnız elə sevindim mənim fon olmaması mənim üçün bəhanə ola CS50 almaq deyil. I [işitilemez] edirəm. Mən Leverett baş deyiləm House, 2014-sinif. Və mən CS50 etdi. DAVID Malan: Belə ki, bu CS50 edir. Bu həftə sıfır sonu. Biz son dəfə başladı və geri olan bu işıqlar, idi getdiyimiz və belə məşhur Bu gün bir çox alıb. Mən bu olacaq bizim şey bu il - masa lampaları siz səhnəsinə gəlsə, ən azı biz tökülmək qədər. Amma biz tətbiqi üçün, bu geri istifadə məlumat nümayəndəliyinin əsasları. Biz təmsil başlamaq üçün yol lazım kompüter daxilində məlumat. Və bunu sadə yol idi bir tərkib, elektrik. Və siz edə bilərsiniz sadə şey elektrik açın və onu. Olan elektronların hərəkəti və ya edək. Və off, bu iki əsas dövlətlərin istifadə və ya yalan və doğru, və ya sıfır və bir, biz qurmaq bilər ki, görməyə başladı up, bu halda, yüngül ampüller çox ədəd çox yalnız sıfır və bir. Biz yeddi kimi yüksək hesablanır Misal üçün, ötən vaxt. Amma biz bunu bütün atma saxlamaq edilir ki, daha çox yüngül ampüller problem və həqiqətən, biz təmsil edə bilər hər hansı bir sayı ki, bəlkə bilərsiniz. Yaxşı, biz tez sonra transitioned Könüllülərin bu byte Çərşənbə. 8 bit, biz ümumiyyətlə byte zəng nə Belə ki, burada biz səkkiz könüllü idi kollektiv olan Çərşənbə səkkiz bit edir. Və əllərində getdi zaman up, onlar bir idi. Və əllərini zaman aşağı, sıfır var idi. Və biz də bu insanlar idi mərhələ nə gəlib? Biz edə ne bit Bu ardıcıllığı? Bir əlifba yaratmaq. Biz ki, üst inşa edə bildik Əvvəlki dərs həqiqətən öyrənilmiş və daha maraqlı etmək başlamaq ən azı daha çox ki, informasiya bizə insanlar üçün tanış olmuşlar. Və bu təkrarlanan olacaq 50 ərzində mövzu, həm də kompüter ümumiyyətlə elm, bu ideya ki, sonunda layering harada, gün, həqiqətən başladı əgər kompüter ilə əsasları, bəli, bu adet sıfır və olanları var. Və bu ki, altında yalnız elektrik. Amma biz çox tez bu almaq üçün başlamaq verilən aşağı səviyyədə ətraflı və keçmiş üst qat başlamaq işləyib görülən biz nəhayət ki, Bu dövr sonu və, həqiqətən, ümumiyyətlə kompüter elm kimi və proqramçılar, həqiqətən bəzi edə bilərsiniz iş yararlanarak güclü şeylər biz özümüz də işlər və ki, başqalarının üzərinə dayanır. İndi biz tez Çərşənbə transitioned yalnız ehtiyacı olan istəyən məlumatları ilə bir şey etmək. Biz alqoritm nə kimi müəyyən etdiniz? Təlimatlar bir sıra. Belə ki, təlimat bir sıra, bir siz ki, insan, və ya addımlar sayı kompüter, daha adətən, ki, üçün bir-birinin ardınca həyata bir məqsədə nail olmaq. Və biz, bir neçə qol son dəfə idi biri saymaq idi otaqda insanlar. Və digər misal tapmaq idi Bir telefon kitab Mike Smith. Beləliklə, siz bir telefon cırdı ki, geri bilər Bu məqsədlə doğru yarısında kitab Mike Smith tapmaq. Əyani məqsədi idi biz idi ki, təkrar nümayiş sanki bu problem qoparmaq yarısı yarısında yarısında və çox tez kimi 1000 pages davam yalnız bir səhifə. Bu buraxılmış edənləri Çərşənbə, biz geri oynamaq istədiyiniz fikir siz buraxılmış nə bəzi görüntülər. Bir nəzər salaq. [Video playback] -Orada biz gedin. 1500 səhifəlik, Nice təmiz xətti, qanuni gözyaşardıcı. [END video playback] DAVID Malan ki: Belə çərşənbə idi. İndi Çərşənbə günü Biz keçid olsa da, alqoritmlər təmsil istəyən bir qədər standart yol deyil, yalnız şifahi onlara izah, lakin yazılı və ya onları ifadə etməyə çalışır bir kompüter ekran biz bilər ki, inkişaf etdirmək başlamaq və dəyişdirmək onlara və nəhayət, həqiqətən, təhlil necə doğru ya necə sürətli onlar idi. Beləliklə, biz bu anlayışı daxil pseudocode ki, hansı ki, layman nin baxımından, nədir? OK, söz. Ki, bir az dərin getmək edək. İngilis, əmin, lakin nə sonuna doğru? Sözləri yaratmaq və ya olan alqoritmlər təmsil etmək. Belə ki, məlum heç bir dil var dünyada pseudocode kimi. İngilis, siz yalnız, və ya Sizin danışıq dili nə istifadə çatdırmaq ötəri notation bir növ bir fikir çox müfəssəl. Amma biz bir ilə əlbəttə ki, görürsünüz İngilis pseudocode, və çıxır ən çox proqramlaşdırma dilləri özlərini İngilis özü törəmə var, bəzi standart var ki, tapa bilərsiniz pseudocode təmsil yolları və həmçinin kodu proqramlaşdırma. Siz hətta sadə görmək üçün başlamaq kimi nümunələri bu gün bu həyata Eyni nümunələri gələn həftə qayıtmaq edəcək. Belə pseudocode bir növ idi bənzər dil bir proqramlaşdırma dili. Və ilk nümunəsi biz əyani gördük yazılmış bu idi. Bu, yalnız üç addım proqramı idi qol olan sayını idi bir yurt otaq insanların Çərşənbə ki, video. Amma bir neçə maraqlı aspektləri var idi Bu sadə proqram. Bu təkrarlanan mövzular olacaq. Belə ki, tanış olan şəxslər üçün Bu, bir, biz dəyişən təqdim etdi. Və yəqin ki, bu otaqda hər kəs ki, bir dəyişən tanış cəbr kontekstində. Amma burada proqramlaşdırma, dəyişənlərin bir, ola bilər biz istəyirik bir şey çağırıb. Biz counter kimi n istifadə etdik. Amma biz sözü counter istifadə edin, və ya, bilər görəcəksiniz kimi, ən çox bir söz ki, Bunu uzun bu kimi ola bilər təsviri, lakin yalnız bir həqiqətən saxlama konteyner. Bu yaddaş yığın, bir sıra bit, və kompüter dəyişir, necə bir çox bit ki, dəyişən daxildir. Amma biz bu dəyərlərin bilər. Bu günə qədər, yalnız ədəd gətirdik. Amma biz faktiki sözləri qoya bilər. Biz-ci maddələrdə bilər. Biz images qoymaq bilər - bir şey, həqiqətən, biz təmsil edə bilər adet sıfır və olanları, biz qoya bilər Bu ali səviyyəli anlayışı bir dəyişən. Belə ki, olduqca düz irəli var. Və line biri. Amma biz çox tez-dan köçürülüb line həqiqətən etmək üçün bir ki, dəyişən bir şey. Və xətti üç ildə biz N. Biz yenilənir N. artırılacağını Və biz bu yazmaq bilər yollarla hər hansı bir sayı. Amma yəqin ki, ən çox göz qabağındadır yalnız demək qurmaq N bərabər hər hansı N plus 1-dir. Beləliklə, bizim artım idi. Eyni zamanda, bir loop var idi. Və bu da, yəqin ki, olduqca asan. A loop yalnız bir proqram bir şeydir təkrar olur ki, bəzi dövrü cür. Və burada əsas söz, hər biri üçün deyil, Ən boyunca həqiqətən çox ümumi o cümlədən proqramlaşdırma dilləri, olanları biz zamanı görəcəksiniz. Anytime siz onu üçün sözü bax adətən fikir köçürür ki, loop, cyclical bir şey, baş gedir. Amma bir qeyd var digər sintaktik ətraflı. Üçüncü xətti var ki, əslində hit göstərməklə indented space bar neçə dəfə qəsdən edir. Insan konvensiya belə Çünki ki, yeniden bir şey etdiyini və olduğunuz zaman yenidən, bir loop kimi, xətti iki başlamışdır Əgər məxsus bir şey indent ki, loop yalnız aydın ki etmək ki, məsələn, üç xətt və deyil line dörd və ya beş, varmış ki üçün xətləri və ya beş, ki, loops hissəsidir. Bu sadə abzas Belə ki, ki, əsas fikir köçürür. Beləliklə, biz bu alqoritm tətbiq İndi, bir neçə nümunələr. Bu, çox sadə misal real dünyada. Amma bu nümayəndəsi olacaq Siz test haqqında getmək necə getdikcə daha kompleks proqramları var. Bir neçə ssenariləri, bəzi cəhd nümayəndələri giriş, və bax, əgər istədiyiniz nəticələr almaq. Beləliklə, bu nümunə iki nəfər var idi ki, yurt otağında oturan. Sol həmin yalançı kodudur. Bu çox bir ekran shot deyil Bu proqram son addım bu giriş alqoritmi, yerdə iki otaq insanlar idi, biz xətləri biri ilə addım kimi, geri və iki, və üç və iki və üç və görülən - ki, alqoritm sonuna biz idi həqiqətən olan iki yoldaşları sayılır otaqda. Belə ki, başqa bir misal çalışırdılar. Və biz nə olduqda bildirib oda sıfır insanlar? Bu kodu hələ doğru mu? Və həqiqətən idi. Bu, sadəcə belə ki, xətti iki baş və beləliklə, xətti üç və ya icra etmək niyyətində deyil. Onlar bütün baş fikrində deyilik onlar yalnız əgər tətbiq edirik, çünki oda sıfır insanlar var. Amma böyük. Sıfır Line bir başlatılmış N, belə ki, olsa da bu yalnız bir xətt proqram həqiqətən faydalı olan qədər başa, hələ kimi, doğru cavab verir narıncı tərəfindən göstərilən alt sıfıra. Amma sonra biz qərara aldı ki, bir axmaq alqoritm cür. Bu olduqca yavaş idi. Həqiqətən, mən, iki, dörd edə bilərsiniz altı, səkkiz, on, zaman bir otaqda adam hesablanması. Belə ki, alqoritmi tweaked ki, İndi xətti iki ildə demək pseudocode, oda insanların hər bir cüt üçün, xətti üç, davam artım hər iteration iki tərəfindən. Belə ki, burada işləmiş ki, oda bu şəxslər cüt. Siz başlamaq Lakin, sonra düşünür Bu və bu uzun deyil həyata, bu bir dəqiqə gözləyin pozmaq üçün gedir, onu pozur nə sadə halda? Üç oda insanların və ya, varsa ümumiyyətlə, bir var zaman də insanların tək sayda o cümlədən otaq. Biz burada həmin şəxs miss olardı, çünki belə cüt var. Beləliklə, biz tez əvəzinə müraciət əlavə təqdim nə proqramlaşdırma yapıları yalançı kodu. Bir vəziyyətdə Beləliklə, biz adlı bu və ya filialı. Və bu, vizual, çatdırmaq üçün nəzərdə oldu filialının ideyası yolun bir çəngəl ya bunu edə bilərsiniz və ya, bəlkə, başqa bir şey. And olsun ki, biz bu məsələnin həlli da, həqiqətən, deyərək, line 4 əlavə çox sonunda, bir nəfər qalarsa, sonra irəli getmək və onlara xüsusi count. Beləliklə, siz ki, xüsusi halda onların sort indi biz idarə edə bilərsiniz, belə ki, danışmaq insanların da sayı, həm də və insanların tək sayda. İndi yollarla hər hansı bir sayı vardır biz bu ifadə bilərdi. Və Açığı, mən daha olduğunuz bilər bu mənim seçimi gələndə picky sirke Ki, pseudocode üçün İngilis dili. Amma ən azı ruhu fikir ötürülür. Bir dost Bu kodu təhvil edin kim CS deyil, və ya qəbul heç vaxt CS, odds onlar anlamaq bilər var necə, otaqda üç nəfər verilir əsasında insanların saymaq Bu təlimatları. Və biz nail olmaq istəyirik həqiqətən var pseudocode ilə birtəhər Biz gedirik necə standartlaşdırmaq təmsil ideyaları biz ki, daha mürəkkəb etmək başlayacaq hələ də bir şey. Belə ki, bu gün bizə rəhbərlik faktiki kodu. Biz də olsa, bu gün proqram başlayacaq dost mühitində. Çox tez və sonra keçid daha gizli sintaksis, amma biri Əgər əsaslı eyni görürsünüz ideya ilə özünü görəcəksiniz Bu digər dil bu gün. Bu, sadəcə baxmaq olacaq bir az fərqli. Yalnız bu kod zəng Belə deyil, Ben bir az daha dəqiq olacaq bir yazarkən və bundan sonra da deyirlər ki, proqram, siz mənbə kodu yazıyoruz. Bu kimi pseudocode növü var. Amma biz bunu boş növ deyil görürsünüz bu sözləri seçilməsi gəldiyi zaman istifadə edir. Bir dildə zaman proqramlaşdırma, siz sözləri, söz, istifadə etmək ki, sintaksis ki, digər insanlar təmsil qərarına gəldik ki, xüsusi dil. Belə ki, pseudocodes qədər deyil. Kimi faktiki proqramlaşdırma dili C, biz nəhayət görəcəksiniz kimi, digər şəxslər tərəfindən standart. Biz yazma haqqında necə getmək yoxdur bir mənbə kodu? Yaxşı mən getmək gidiyorum qabaqda və bunu. Mən davam gedən və alıram burada bir pəncərə açır. Bu gələn həftə daha çox. Amma bu adlı bir cihaz ki, CS50 cihaz. Mən proqram bir parça çalışan alıram Mac, siz eyni şeyi bilər, baxmayaraq Windows kompüter ki, verir Mənə bir fərqli çalışan illüziya cəmi sağ əməliyyat sistemi burada mənim Mac bir pəncərə edir. Əgər bunu mən yalnız tam nümayiş etdik əslində indi Mac OS görürük. Bu əməliyyat sistemi Linux çağırıb. Bu, çox məşhur deyil. Bu, çox sürətli. Bu çox etdi ki, çox pulsuz xüsusən, çekici kommersiya dünya. Və sonuna doğru ki, daha çox biz kifayət qədər bir az Linux istifadə edərkən semestri Web proqramlaşdırma və ev sahibliyi üçün faktiki web və layihələr. Belə ki, indi, yalnız bu bir masa üstü bilirik ki, ki, yayğın baxmaq üçün nəzərdə oldu Windows və Mac OS tanış. Bu, sadəcə bir sıra müxtəlif adları var şeylər üçün və nişanlar. Lakin bu sözdə CS50 edir cihaz ki, bir virtual maşın, Siz uşaqlar, gələn həftə olacaq başlayaraq bir pəncərə daxilində çalıştırmak Öz Mac və ya PC. Bu gün, mən açmaq gidiyorum proqramlarının sadə. Bu gedit deyirlər. Və bu yalnız bir qrafik redaktorudur. Microsoft kimi növ var Word, lakin sadə. Bu kimi mətn növü var edit və ya notepad. Bu yalnız bir çox sadə proqram ekranda sözləri yazmaq üçün. Mən qazanc əgər Bu, sadəcə belə nə olur Mən yaratmaq faylları bu proqram c. kimi əvəzinə xüsusi genişləndirilməsi . doc, və ya. xls, və ya hər hansı Sizinlə tanış olduğunuzda, mən, həqiqətən bilər hətta bu sadə istifadə proqramları yaratmaq mətn redaktoru. Mənə bunu bildirin. Mənə irəli getmək və bu qənaət edək hello.c kimi ilk faylı. Və yenə bu istifadəçi interfeysi olacaq tez tanış olur. Amma indi, mən yalnız yazaraq alıram bir fayl adı. Mən John onu saxlamaq gidiyorum Harvard ev directory. İndi isə göstərir ki, bu nişanı var Mən, həqiqətən, redaktə alıram bir fayl hello.c çağırıb. Hələ çox maraqlı bir şey var. Və indi olacaq olduqca sirli almaq. Mən yalnız Yakınlaştırmak üçün gidiyorum belə ki, daha çox görünən deyil. Və mən yazaraq daxil başlamaq üçün gidiyorum stdio.h, int əsas, etibarsız, açıq buruq burğu, bir, iki, üç, dörd fəzalarında çap üçün abzas, çap f, biçimlendirilmiş bir şey quote dırnağı bağlamaq, Yaxın "Salam, dünya" backslash, n, quote qapalı mötərizə, nöqtəli vergül, , Geri, Geri, backspace daxil edin backspace, buruq brace bağlanıb - Mən proqramlaşdırılmış var. Bütün hüquqlar bu super sadədir proqram, həqiqətən, proqram hər kəs ilə proqramlaşdırma off başlayır. Və bütün bu, onun bütün mürəkkəbliyi üçün edir üzrə çap edilir ekran, nə tahmin? Salam dünya. Amma bu, yalnız kifayət deyil, bir proqram yazmaq. Beləliklə, bu kodudur. Bu mənbə kodu edir c adlı bir dil. Bu anda xilas oldu bir fayl hello.c çağırıb. İndi aşağı baxmaq burada ekran. Daha bu, yenə də həftə gəlib. Amma bu dediyimiz lazımdır nə terminal pəncərə. Bu yanıb-sönən, qara və ağ tez. Bu köhnə məktəb interface növ var ümumiyyətlə deyil ki bir kompüter bir siçan və ya digər istifadə qrafik elementləri. Bu yalnız sizin klaviatura istifadə edir. Və mən komutları yazın bilər Bu yanıb-sönən tez. Və bugünkü məqsədlər üçün, yalnız deyiləm aşağıdakıları yazın gedir - salam olun. Və proqram etmək, yalnız bir proqram ki, real dünyada bu ilə gün biz cüt basın olardı. Amma bu gün bu interface, biz istəyirik Bu tez öz adını yazın gedir. salam etmək sözün gedir mənə salam adlı proqram edir. Və baxaraq bunu olacaq bir fayl üçün, sadəcə Default, hello.c çağırıb. Mən bir C proqram istəyirəm güman olacaq necə bu kompüter təbiəti yapılandırılmış. Beləliklə, mən davam və daxil edib. Mən bəzi sirli çıxış görürük, amma Bu, bütün çox olacaq uzun əvvəl tanış olmuşlar. Bu daha compiler çalıştırmak oldu bir anda ki, cingilti çağırıb. Amma indi mən var yalnız bir Sayrışma təklif. Və mən indi irəli getmək və dot daxil edə bilərsiniz biz edəcəyik maraqsız səbəblərə görə, zərbə gələn həftə geri gəlib - salam. Beləliklə, bu səy, bütün bu günə qədər yalnız ki, proqramların sadə yazmaq Mən Enter kimi, ki, yoxdur. Beləliklə, mən ilk proqram yazdıq. Beləliklə, mən qəsdən fun poking alıram bu çox sadə proqramı səbəblərdən bir neçə. Biri də həyəcanlı almaq çətindir bir sinif əgər görülməsi haqqında bu son oyun. Amma daha çox var bir burada distractions qədər çoxdur. Sizin üçün proqram öyrənmək ilk dəfə siz bu az rahat və hətta mən geri gün, mən ilk ne cür bilər - bu kimi bir şey gördüm rəqəm bütün sağ ki, bu bir çap Salam dünya edir. Amma belə çox yayındırma var. Ekranda qədər sintaksis var çox yolu olur ki, , əks halda sadə, sadə fikir. Belə ki, nə biz bu gün nə olacaq, biz istəyirik edir C kənara qoymaq və gələcək geri Bazar ertəsi günü ki. Və biz bir qrafik istifadə olacaq proqramlaşdırma dili Not çağırıb. Bu bir proqramlaşdırma dilidir ki, Çərşənbə günü üçün alluded ki, gedən bizim məhsulları eyni cür imkan Amma bu gün üçün, göz yummaq Kıvırcık aşırma üçün parantez, ki, semicolons və bütün bu axmaq yolu ilə əldə ki, distractions ki, bəzi əsas, olduqca bu ilk günündə, maraqlı fikirlər. Belə ki sonuna doğru, mən getmək gidiyorum geri artıq burada masa üstü və ki, alternativ sizə təqdim bir baxmaq üçün gedir olan proqram, az bir şey bu işıq. Yəni ki, həyata keçirəcəyik ne var həmin proqram bu gün - iki puzzle interlocked və nə vaxt ki, ədəd tıkladığınız, dünyanın deyəcəklər Salam dünya. Elə həqiqətən var gedək. Beləliklə, mən irəli getmək və açılması üçün gidiyorum bir veb scratch.mit.edu kimi tanınır. Və bu məni gətirib çıxaracaq Bu haqqinda. Əvvəlcədən, bu daxil etdik haqqinda və ilk problemlər Siz gəzmək olacaq bu addımlar bəzi. Mən irəli getmək və basın gidiyorum Burada danışıq qovluq. Və bu mənə göstərmək niyyətindədir Mən var ki, bəzi layihələr əslində əvvəlcədən yaratmışdır. Və çıxır bu qrafik ki, proqramlaşdırma dili gedir nəinki sürükleyerek bizə proqramı imkan və Bu puzzle ədəd düşmə, siz hətta xüsusi proqram ehtiyac yoxdur. Bu, bütün belə bir brauzer katıştırılmış oldu Bunu edə bilər ki, nəzəriyyədə üzrə İndi kompüter, siz bəzi hətta ehtiyac olmadan ola bilər ki, CS50 cihaz kimi software, gələn həftə gələcək edir. Mən üst küncündə qədər getmək gidiyorum burada yarat basın. Və bir anda bir boş almaq üçün gidiyorum Mən başlaya bilərsiniz olan vasitəsilə ekran Bu qrafik proqramlaşdırma ətraf mühit proqramlaşdırma. Amma bu dəfə, bu, çox olacaq çox sadə əslində bunu. Belə ki, yalnız bir anda, zaman Wi-Fi indi bu ekran var, əməkdaşlıq edir. , Sürətli şifahi tur Beləliklə, amma demək cəsarət Siz daxil Dive əlbəttə zaman Birinci problem dəsti, will Bu, bütün çox tapmaq əlçatan və ədalətli intuitiv. Amma üzrə ruhi şəkil çəkmək imkan yalnız bir an. Belə ki, bu tez deyərək qazanc altında dəyişikliklər, sıfırdan görmək barədə istəyirik. Bu sprite edir. Bu bir xarakter var. O, biz mərhələ arayacaðým nə yaşayır Bu böyük ağ düzbucaqlı o, sol, aşağı, yuxarı hərəkət edə bilər sağ və bunu, həqiqətən, əməllərin digər növləri. Eyni zamanda, bu istifadəçi ortasında interface, biz bütün dəstə var puzzle ədəd. Və onlar kimi dedilər ki, görürsünüz , 15 dərəcə dönüb, 10 addımlar hərəkət müəyyən bir istiqamətdə nöqtə. Amma kateqoriyaları var Burada da blokları up. Mən görünür getmək Belə ki, görəcəksiniz ki, digər puzzle ədəd var ki, yəqin bu cit deyəcəyəm göstərmək üçün, düşünmək, salam demək özü özünü saxla. Mən Sesler enmək, bu, çıxır miyavlamak kimi səsləri oynaya yolları var bir baraban oynamaq, bütün səslər dayandırmaq. Belə ki, uzun hekayə qısa, bütövlükdə var siz imkan verən puzzle ədəd dəstə Bu pişik, və ya hər hansı bir sayı demək digər simvol, nə. Amma bu bütün baş etmək proqramlaşdırma başlamaq lazımdır. Və bu böyük ağ qutusu, və ya boz qutusu, sağ tərəfdən, bu burada Mən, həqiqətən, sürükleyin gedən və alıram bu puzzle ədəd buraxın. Bu mənim boş mətn pəncərə bərabərdir. Beləliklə, mən irəli getmək və basın gidiyorum Ortada nəzarət. Daha doğrusu, məni başlamaq edək Hadisələr altında. Hadisələr dəzgah altında, bir görəcəksiniz qəsdən ki, neçə şey ki, belə bir şəkildə üst əyri onlar yəqin ki, haqqında interlock yoxdur Bu puzzle ədəd üst. Onlar start demark çünki var bir proqram, bir başlanğıc script, belə danışmaq. Mən irəli getmək və sürükleyin Belə ki, zaman yaşıl bayraq burada tıklandığında, sonra Bu pişik demək istəyirəm ilk şey. Beləliklə, mən altında getmək gidiyorum paneldə görünür. Və mən irəli getmək və qamarlamaq üçün gidiyorum salam bloku, drag və açılan, demək və s gidelim onu ​​avtomatik olaraq orada interlocks. Və sonra mən qeyd mətn basın. Və mən onu daha çox yalnış bilər xüsusi Salam dünya, demək istəyirəm. İndi biz iddia proqramı daha çox bərabərdir Mən həyata gizli proqram bir an əvvəl C. Mən sol tərəfinə artıq getmək varsa, böyük bir stop ibrət vardır bildiriş və böyük yaşıl bayrağı. Mənə aydınlıq üçün zoom edək. Və mən indi bu yaşıl bayrağı basın zaman, Siz yəqin ki, təxmin edə bilərsiniz bu ilk nə proqram indi gedir. Belə ki, orada da, biz proqramlaşdırma, ancaq edirik aşağı bataqlıqlaşmışdır Biz, həqiqətən əldə deyilik həmin sintaktik bəzi, dəqiqə ətraflı. Amma bir şey a edək az daha maraqlı. Məni bura mənim Not qovluğa getmək edək. Və həqiqətən, mənə belə mənə açmaq qoy qoy burada ayrı bir proqram yalnız bir an, bu pəncərə Maximize, Fayl Aç və mən bu gün getmək gidiyorum mənbə directory. Həmişə olduğu kimi, siz tapmaq bu gün və bilərsiniz irəli ki, bugünkü nümunələri bütün daxilində erişilebilir Kursun veb səhifəsinə. Və mən burada davam və seçmək üçün gedirəm bir az bir şey fərqli up. Bu bir, üçün Mən könüllü lazımdır. Kim bu gün bir masa lampası istəyirsiniz? OK, necə kimsə haqqında bir az - Əgər sonunda var? Aşağı Hadi. İndi, iştirak etmək istəyirəm, və ya ki, yalnız stolüstü lampa ilə başlamaq demək? Vanessa: [işitilemez]. DAVID Malan: OK. Əla, siz adı nədir? Vanessa? David. Cavab gözəl. Belə up gəlib və Vanessa nin gedir Mənim nəzarət etmək üçün yalnız bir an üçün klaviatura. Və nə yalnız zamanların üçün, burada etdik naminə, mən həyata etdiyiniz kimi Wi-Fi, Not, bir az yavaş idi Biz istəyirik ki, proqramlaşdırma mühit istifadə edərək, ayrıca daşıyanlar bilər yerli bilgisayarınızda axır. Belə ki, I, mühazirə əvvəl nə etdi , olur ki, halda mən nazil biz oynamaq üzeresiniz bütün faylları onlar bir az daha çalıştırabilirsiniz ki, tez burada mənim laptop. İndi mən görüyorum niyə Belə ki, Mac xüsusi interfeys. Beləliklə, mən irəli getmək gidiyorum və bu bir açır. İndi davam gedən və alıram tam ekran pəncərə. Görəcəksiniz kimi, biz çox tez bilərsiniz Bu tələbə kimi, bir Sizin sələflərinin Salam dünya getmək daha çekici bir qədər tətbiqi. Belə ki, burada təlimatlar. Oh, və biz bir şey var. Mən, çünki, bu, fun olacaq fikir Adətən, biz çəkiliş olacaq kameralar bu yol. Hesab edirəm ki, əyləncə, Vanessa, əgər olacağını düşündüm biz dünyanın oldu Sizin gözü ilə. Belə ki, burada biz bəzi Google Glass var. [Heyran GASPS] DAVID Malan: Biz yalnız verilməsi olunacaq uzaq masa lampaları gün. [Gülüş] Mənə replika bu qədər imkan verir. Bütün sağ, bu toxunmayın. OK, Cam, video qeyd edin. Bütün hüquqlar, Vanessa? İndi bir kənara kimi bir şey var Siz baxsaq, Not ilə yüngül və sağ, görəcəksiniz hərfi şüşə, və olmalıdır bir az düzbucaqlı pəncərə görmək. Siz bütün sinif yoldaşları görməlisiniz İndi filmə olunur? Bəli. Vanessa: Bəli. DAVID Malan: OK. Belə ki, gözəl. Biz sonra bu görüntülər azad olacaq. Indi üçün diqqət açın burada ekran. Və hansı sələfi həyata edir ekranda bir sıra təlimatlar qoymaq yalnız bir boya proqramı istifadə edərək. Belə ki, bir anda, olacaq başlamaq üçün yer bar basın. Və sonra bir puzzle ədəd gedir ekran qədər hərəkət başlamaq üçün. Və yalnız ok tuşlarını hit istəyirəm uyğun olaraq, real DDR kimi şeyi astarlı o oxları ilə. Vanessa: OK. DAVID Malan: Siz əvvəl bu oyun etdik. Vanessa: Bəli. DAVID Malan: Bütün sağ, Vanessa, irəli getmək və üz almaq. [MUSIC - KAYNE WEST, "GÜCLÜ"] [Alqış] DAVID Malan: Belə ki, indi edək ki, bir addım. Belə aydın ki, son oyun. Sonunda oyun salam dünya deyil. Amma mütləq bunu yoxdur belə interaktiv olan şeylər. Siz həmçinin animasiya edə bilərsiniz. Sizin Belə ki, məsələn, başqa bir varisləri, burada bu proqram etmişdir çox bəhs edən bir oyun həyata yoxdur. Mənə davam və burada açmaq bildirin Bizim eyni mənbə directory proqram bu gün. Bu zəng və başlanğıc bildirin çerez sevgi hekayəsi ilə. Və, bu da akademik, lakin deyil bu bir izləmək kimi, hesab edirəm ki, özünüzü bu sadə olan biz söhbət etdik proqramlaşdırma anlayışlar İndiyədək haqqında - dəyişənlərin və loops, və şərtlər Sizin sələfi yəqin ki, yalnız istifadə etməyib bəzi həyata keçirilməsi olan visualizations. Siz burda baxa bilərsiniz. Mən sizə bir cookie sevgi hekayəsi verir. [MUSIC - Green Day, "Holidey"] [CRASH] [MUSIC - THE bağa, "BİRLİKDƏ HAPPY"] DAVID Malan: Bütün sağ, belə orada, biz cookie sevgi hekayəsi idi. Lakin hətta orada - [Alqış] DAVID Malan: Bütün sağ, hətta orada, bu ürəklərindəki getdi kimi, haqqında düşünmək Ekranın üst alt bir az həqiqətən var idi randomness davam. And olsun ki, görəcəyik ki, hətta olan kimi, mühit sadə Scratch, C kimi, siz yarada təsadüfi nömrələri, və ya illüziya oyun ki təsadüfi nömrələri, bu güc daha az daha maraqlı Siz tamamilə olsaydı olmaq ağır hər şey kodlu. Gördüğünüz hərəkət var məsuliyyətin bir növ var. Kimi tezliklə gingerbread man toxunan kimi Gingerbread qadın, o, uzaqlaşmağa görünür. Belə ki, həqiqətən, siz, həyata keçirə bilər ən çox proqramlaşdırma dilləri, anlayışı tədbirlər, vasitəsi, əgər bir tərəfdən üz bəzi tetikleyebilecek Digər tərəfdən, mənbə kodu ilə faktiki icra. Siz üçün dinləyə bilərsiniz ekranda şeylər. Belə ki, sonra isə tez tur bildirin biz istifadə edə bilərsiniz bloklar bəzi Bu məqsədlərə bəzi nail olmaqdır. Belə ki, burada biz bundan sonra da edəcəyik bəyanat çağırırıq. A şərhdə, bənövşəyi olmaq olur Scratch, bu kimi bir az bir şey, amma ki, ixtiyari var. Şərhdə yalnız bir puzzle parça və ya deyil, ümumiyyətlə, təlimat ki, kompüter nə deyir bir şey bəyanat. Belə ki, burada sadə bir nümunə var. Dünya salam demək. Digər bir bir ikinci gözləyin bilər. Dəstəklənir Yəni bu puzzle parça, Scratch, biz imkan lazımdır, sizin simvol bəzi duraklatırım saniyə sayı. Bu da, yalnız bir arayışdır. Burada Növbəti başqa bir çox var maraqlı bir, oyun səs miyavlamak və kiçik arrow deməkdir ki, Not-ci ildə, Bu menyu aşağı açılan edir. Belə ki, səslər idxal edə bilər. Siz səslər yazmaq və digər edə bilərsiniz Not əyləncə şeyi. Sonunda da Və ki, baxmayaraq ki, gün, yalnız bir arayışdır. Amma indi bir daha təqdim bildirin kimi tanınan maraqlı parça, Boolean ifadəsidir. Adına Capital B, bir yoldaş bool adına. Və bir Boolean ifadə yalnız bir puzzle parça və ya ümumiyyətlə, bir ki, informasiya parça doğru və ya yalan ya - bir və ya sıfır, Bəli və ya No. Belə ki, yalnız biri iki opposites. Olan Belə ki, belə bir Boolean ifadə Not dünya bu mavi kimi görünür parça puzzle. Və bu siçan bir sual var aşağı, və ya ola bilər, və edə bilər ki, Əlbəttə, doğru və ya yalan. Belə ki, Scratch bu puzzle parça ilə, yaxşı, siz qəbul edə bilərsiniz bir halda siçan olan, əslində, əgər puzzle insan əlaqə tərəfindən keçirilən Proqram ilə. Bu bir az daha abstrakt var lakin bu iki ağ qutuları yalnız nömrələri üçün. Belə ki, kimi şeylər edə bilərsiniz bu başqa az sayda? Və əgər, Not davranmaq edəcək bir yolu və ya digər. Bu bir az daha çox qrafik var. Ki, sprite əgər üçün, pişik, əgər var Məsələn, həqiqətən toxunan edir siçan pointer. Kiçik ox ucluğu hovering edir Belə ki, əgər pişik üzərində, onda bu puzzle parça doğru üçün qiymətləndirəcək. Bu halda, bu halda, doğru olacaq biz edəcəyik, bu Boolean ifadəsini istifadə bir şöbəsində, bir anda bax, siz ya bunu və ya bunu edə bilərsiniz biz bir vəziyyət idi çox kimi ki, yoxlanılmış, orada daha bir son şəxsdir otaqda? Əgər belədirsə, bir əlavə. Əks halda, daha narahat olmayın. Belə bir Boolean ifadə də ola bilər birlikdə birlikdə-ed və ya və ya ed. Beləliklə, siz Boolean ifadələr birləşdirə bilər və bu və bu demək doğru olmalıdır doğru olmaq bütün şey. Və burada bir daha real dünya nümunəsidir. Siz nə CS50 kurslar kullandıysanız alış-veriş, bu onay qutuları var, Bir sonrakı ki, qutusu Ü yoxlamaq əgər kurslara ki, bəli, deyəcəklər yalnız mənə kursları göstərmək olan Q dəyər 4.5 və ya daha yüksək. Siz heç, bu işaretini sil, yoxsa ki, narahat. Və ya eyni, sagdaki, yoxdur Mən alaraq alıram kursları ilə ziddiyyət ki, doğru və ya yalan ya var. Bu yalnız bir Boolean ifadə var. Əgər istifadə etdiyiniz zaman bütün bu zaman belə çek qutuları ilə web saytları, yalnız istəyirik bir Boolean bərabər toggling ifadə və off. Beləliklə, nə şəkildə bu istifadə edirsiniz? Yaxşı, Not, biz bir anda görürsünüz ki, şərait var bu kimi görünür. Və belə həssas, çünki çox pseudocode kimi, biz indented U-formalı puzzle ədəd sort, demək ki, U bir şey daxilində deyil icra, və ya, asılı gedir olduğu haqqında. Belə ki Boolean ifadə, sonra əgər daxili nə edam olacaq. Bu vaxt əgər / başqa məhəllə var. Bu çıxan bir filialı istəyirəm əgər yol və ya, Not bizə verir. Bu məntiq ilə, indi olsa belə ki, puzzle parça aydın çox kiçik içərisində onun başqa bir şey paz üçün, danışıq puzzle ədəd, onlar etdiyiniz yalnız inkişaf gedir. Siz sürükleyin və bir şey üzərində açılan zaman yalnız nə bu uyğun artacaq Siz çalışdığınız edir. Beləliklə, biz bu işləri iki almaq bilər yolun üç yol çəngəl belə etmək ya bu ki, və ya, və ya yalnız quş balası onlara bu başqa şey ki, yolu. Əlbəttə ki, əgər ki, çox çox bu çirkin almaq üçün başlayır. Amma o anda, həqiqətən istəyirik yəqin ki, çox yaxşı proqramlaşdırma deyil. Və belə təkrarlanan olacaq mövzu, çox, üslub ki. Sadəcə necə yoxdur əslində kodunuzu format? Və ya necə sizin kodu dizayn edirsiniz? Gələcək ki, Amma daha çox. Və indi biz loops var. Scratch bir gözəl əbədi loop var etmək - hansı sözün o deməkdir ki, yenə bu daxili nə olursa olsun, və yenidən və yenidən. Siz daha konkret olmaq və demək olar Aşağıdakı şey 10 dəfə edin. Siz həmçinin dəyişənlər istifadə edə bilərsiniz. Siz hər hansı bir adı ilə gəlmək olar az açılan və demək, mənə vermək dəyişən n adlanır və müəyyən bəzi dəyərinə bərabərdir. Və sonra funksiyaları ola bilər. Yalnız bir anda o, lakin daha çox. Mənim geri edək Interface danışıq. Və mənə qabaqda bu dəfə gidelim. Və nin davam və açmaq bildirin ki, deyirlər bir nümunə edək - ki, bir az daha maraqlıdır. , Həqiqətən, mənə davam edək və mənə yalnız özüm edək. Bu bir açıq ehtiyac yoxdur. Mənə, yeni fayl gedək. Mən Hadisələr getmək üçün gedirəm. Mən zaman yaşıl bayrağa getmək gidiyorum tıklayan və mən Sound getmək üçün gedirəm. Və mən bu sürükleyip gidiyorum puzzle parça, səs miyavlamak oynayır. Bu birlikdə latches. İndi, mən yaşıl bayrağı basın əgər - [Meow SES] DAVID Malan: Sitayişə layiq. OK, belə ki, indi bir az bir şey edək daha məntiqli yalnız nümayiş üçün indi üçün bilərsiniz. Mən unlatch gidiyorum ki, oğlan bu. Mən nəzarət getmək üçün gedirəm. Və mən bir vəziyyətdə qamarlamaq üçün gedirəm. Belə ki, bir şey daha sonra əgər. Belə ki, orada necə var. Mən bir Boolean ifadə lazımdır. Və mənə davam və deyək mənə Operatorlar getmək bildirin. Mən bir az bir şey etmək gidiyorum yalnız kicks üçün mathy. Əgər mən, burada getmək və demək gidiyorum bir şey, başqa bir şey azdır irəli getmək və bir şey yoxdur. Belə ki, indi, bir təsadüfi blok nə bilirik. Mən bu artıq hover Belə ki, necə hiss orada şaqqıltı edəcək ki, burada bir şey. Belə ki, indi, bildiriş, mən bunu baþlýyorum artıq məntiqi bir şey maraqlı. Təsadüfi sıra 1 və əgər 10, altı deyək azdır. Mən altı ki, mahiyyətcə seçerseniz vasitələri, 50% aşağıdakıları edin ehtimal. Bu Coin Flipping kimi. İndi şərti bir şey edə bilərsiniz. Və gedirəm ki, bir şey etmək üçün səs oynamaq edir. Belə ki, indi, mən ekranda basın bayraq, bir sikkə tossing kimi. [Meow SES] DAVID Malan: Bu başçıları idi və ya orada etajer. Daha bunu edək. [Meow SES] DAVID Malan: daha başlıqlar. [Meow SES] DAVID Malan: daha başlıqlar. Phew, OK. Quyruğu o zaman. Vaxt belə 50%-i bunu əgər sonsuz uzun, biz 50% meows olacaq və 50% silences. Belə ki, orada yalnız bir əsas binası buna imkan verir ki, blok. Amma bu cür mən ki, yorucu deyil ki, 'düyməsinə tıklayarak saxlamaq. Belə ki, ədalətli sürükleyin və atmaq imkan o üz bütün. Siz orta onları sürüklənəcəklər Əgər onlar yalnız özlərini silmək lazımdır. Mənə nəzarət qədər gedək. Mənə əbədi gedək. Və bu zaman, Mən gedirəm minorly annoying bir şey. [Gülüş] DAVID Malan: Və getməmə irəli və nəzarət etmək. Yalnız belə bir ikinci gözləyin çox şəbəkəni deyil. [Meow SES] DAVID Malan: Bu təbii deyil. OK. [Meow SES] DAVID Malan: Və gözəl nə bildiriş Not haqqında, sizin üçün kim əvvəlki proqramlaşdırma təcrübəsi var, başlamaq və dayandırmaq üçün lazım deyil. Siz tərtib etmək lazım deyil. Siz yalnız dəyişmək və proqram dinamik uyğunlaşdırmaq olacaq. Belə ki, bu əldə olunur az maraqlı. Amma biri addım daha da götürək. Mənə irəli getmək və əldə edək proqram xilas. [Meow SES] DAVID Malan: ki, biz nə edəcəyik Scratch bir səhv çağırırıq. O bildirib ki, səs vermə saxlamaq lazım deyil. Beləliklə, biz dayandırmaq onu deyim. Bütün sağ, indi mən daxil etmək niyyətindədir - Mən MİT bildirin lazımdır. Biz Forever etmək üçün burada artıq getmək lazımdır. İndi, mən bir şey etmək istəyirəm təkrar. Mən Control getmək üçün gedirəm. Və nin görək, mən sürükleyin gidiyorum Mənim orada vəziyyəti əgər. Belə ki, indi məntiqi bilərsiniz. Yaşıl bayrağı tıklandığında, nə yalnız əbədi bir şey, lakin o, bunu bir şey başqa bir şey doğru olsun. Mən getmək edək gidiyorum algılama, deyirlər. Və mən irəli getmək və seçmək üçün gedirəm toxunan və orada buraxın. Bu Boolean ifadə var. İndi, bu açılan Qeyd menyusu var bəzi əvvəlcədən təyin edilmiş dəyərlər. Mən sizə aid edilir, demək olar Ekranın kənarında? Yoxsa, siçan pointer aid edilir ekranda arrow? Beləliklə, mən bunu gidiyorum. Belə, onda mən getmək gidiyorum irəli və səs miyavlamak oynayır. Belə ki, indi mən növ var bir oyun əvvəlinə - bir sitayişə layiq oyun. [Meow SES] DAVID Malan: OK, bir sitayişə layiq, arabası oyunu. Mənə gözləyin edək, deyək orada bir ikinci. İndi tıklayarak yenidən oynamaq yaşıl bayrağı. [Meow SES] DAVID Malan: Belə ki, indi bu bir pişik ərköyünlük kimi. [Meow SES] DAVID Malan: İndi bütün sağ, bu Mən əvvəlcədən etdi biridir. Çox gec, bu cür olur axmaq şeyə asan. Mənə burada gedək. Gəlin Cat Pet ki, deyirlər. Açmaq indi edək Cat Pet etməyin. İndi biz bu oyun halda, sen əgər tahmin edə bilərsiniz ekran baxaraq - [Meow SES] DAVID Malan: İndi, mən pişik pet əgər [Aslan nəf] DAVID Malan: bunu həqiqətən bu halda pişik pet. Belə ki, indi yalnız bir nümunə iki istiqamətdə gedir ki, filial. İndi mənə davam imkan və Burada başqa bir açın. Bu, həmçinin, bizim mənbə arasında Bu gün üçün kod faylları. Belə ki, mənim Kaynak geri gidelim kataloq və daxil, bu seçin bildirin burada bax bu oğlan nə müxtəlif var. Wow, tamam, indi onu əldə bir az daha kompleks. Və biz bu oğlan nə görmək əvvəl, proqramın, nəticə çıxarmaq üçün cəhd edək sağ tərəfində. İndi danışıq aydın bizə imkan verir çox çox scripts var bir sprite ilə bağlı proqramları, bir xarakter və yəqin ilə Onlar həm də lockstep çalışması olacaq. Bu proqramların həm də başlayır Çünki zaman yaşıl bayrağı klik ilə, bu ilə daha inkişaf etmiş bir mövzu da imalı Siz bəzi tanış ola bilər ki, Threading kimi tanınan, və ya multi-Threading. Çıxır, uzun hekayə qısa, kompüter Bu gün mahiyyətcə çox edə bilərsiniz bir dəfə şeylər. Və ya onlar bir-bir şey edə bilərsiniz fark belə deyil ki, sürətli ki, bu, həqiqətən bir əməlindəndir bir anda şey. Amma hələlik, bu Fərz edək, həm də ki, Bu proqramlar da icra edir Eyni zamanda. Və bildiriş, onların həm də əbədi ədəd puzzle. Belə ki, onlar həm də davam saxlamaq olacaq Mən qırmızı stop işarəsi hit qədər. Beləliklə, nə onlar üçün gedir? Sol tərəfində, mən yəqin edirəm sessizleştirildi adlı dəyişən elan. Beləliklə, mən bu kimi bir şey zəng etməyib N. kimi sondaj mən bu sesi adlı mənasını çatdırmaq üçün vaxt. Mən sıfıra bərabər seçin. Ki, saxta, və ya hesab edək ki, yalan hesab edək. İndi, əbədi aşağıdakıları edin. Klaviatura kosmik bar bərk varsa, sonra sessizleştirildi bərabərdir əgər sıfır, sonra bərabər bir sessizleştirildi dəyişir. Başqa, sıfıra sesi seçin. Belə məntiqi ki, bütün belə olsa ki, puzzle ədəd dəstə Mən Space bar hit zaman, yalnız deyərək, Mən dəyişən nə etmək lazımdır sessizleştirildi adlanır? , Bir sıfır dəyişdirmək və ya sıfır bir. Vəssalam. Belə ki, yüngül switch dönüş kimi və ya söndürün və bir ilə xatırlayaraq haqqında Hesab edirəm ki, etdiyiniz dəyişən. Bu vaxt, sağ ki, layman nin baxımından, məqsədi nədir sağdakı script? TƏLƏBƏ: dəniz aslan səs oynamaq. DAVID Malan: Sea Lion səs oynamaq üçün, o tərəfindən bağlıdır deyilsə dəyişən təbiəti. Beləliklə, biz, necə deyərlər, dövlət paylaşma edirik bu iki arasında məlumat mübadiləsi scripts, çünki burada qeyd, biz əbədi aşağıdakı edir. Sessizleştirildi sıfır olarsa, bu sessizleştirildi deyil əgər - sessizleştirildi yalan, onda oyun Bu Sea Lion sound. Və özünüz üçün hesab edirəm ki, hi, hi, hi üçün iki saniyə, sonra bir an gözləyin və yenidən yoxlayın. Biz burada sola indi gedib əgər, Bu adam olduğu üçün, və hit yaşıl bayrağı, [SEA LION SES] DAVID Malan: nə nöqtədə Bu, həqiqətən annoying almaq? Bu yalnız əbədi davam edəcək. Belə ki, bəzən sonsuz loops, necə deyərlər, qəsdən edir. Amma bu halda, qısa müddətdə mən Space bar hit, o durur. İndi proqram çıxmaq deyil. Bu hələ də bu loops davam edir. Amma yenə yer bar almaq əgər - [SEA LION SES] DAVID Malan: O seçmək olacaq qədər o, off tərk harada. Belə ki, bizə nə üçün bir yolu var təkrar şey ancaq ki, zaman, yalnız şərti. Yaxşı, biz bunu bu damar bile şeyi təkrar, mənə bildirin burada bir misal daxil. Bu, biz qoyun hesablanması zəng edəcəyik. Bu oğlan nə görürsünüz. Bu, həqiqətən, daha çox kimi bir az var pseudocode biz ilə oynanan O, bir counter edir vasitəsi Çərşənbə, düşünün kimi, yenə n sıfır, o, əbədi aşağıdakı edir. Deyir biri üçün counter dəyəri ikinci, sonra ikinci gözləyir və biri əks dəyişir. Yalnız və bu çərçivədə ki, əlavələr deməkdir. Belə ki, o, bir edir. Belə ki, bu sözün var - Biz hesab edirəm ki, çox nə deyil kimi qoyun hesablanması. Bu sayılması etdiyini qoyun əbədi qədər sıfır. Beləliklə, biz oxşar şeyi edə bilər var, məntiqi. Amma indi təmiz cəhd edək bunlar bir qədər. Mənə bir sadə daxil indi irəli gedək bizim cat yalnız gedir, misal öskürək başlayın. Bütün sağ, belə ki, burada biz öskürək 0 var - kompüter elm başlamaq 0 hesablanması. Beləliklə, bu pişik yalnız gedir üç dəfə öskürək. Və burada mən ki, həyata necə var. Yaşıl bayrağa tıklandığında, öskürək, , gözləyin öskürək, gözləyin, öskürək, gözləyin. Və mən yalnız sürükleyerek bu idi və puzzle ədəd düşmə. Yoxsa Scratch ilə misgər başlamaq əgər, Siz həqiqətən bilərsiniz görürsünüz edə bilərsiniz, belə ki, ədəd dublikat sürükleyerek olmadan daha tez şeyi və reklam nauseum düşmə. Amma biz burada ən yaxşı yolda deyilik. Mən onu etmək necə Çünki dördüncü dəfə öskürək? Yaxşı, mən burada getmək sort bilər. Mən sonra dublikat bilər orada bu yapışdırıb. Necə Mən ona beşinci dəfə öskürək edə bilərəm? Yaxşı, surəti və yenidən yapışdırıb. Və ya yenidən açılan sürükleyin. Və çox tez, bu proqram başlayır həqiqətən, həqiqətən lazımsız almaq üçün, həqiqətən uzun, lakin həqiqətən, maraqsız. Lakin bu təmizləmək üçün bir yol var. Aşkar yolu nədir Bu təmizləmək üçün? OK, belə ki, biz, həqiqətən, həqiqətən getmək bilər Siz yer hit zaman həyata və bar, onu öskürək var. Amma yalnız bir şey etmək istəyirəm əgər repetitively, biz ki, xatırlayıram Bəzi nəzarət yaradır. Məni bu həyata hərəkət edək yol nəzarət altında gedin. , Mənə yalnız bir təkrar edək , üç dəfə demək. İndi mənə bir oğurlamaq imkan Bu puzzle ədəd. Məni bura bu şaqqıltı edək. Mənə ümumiyyətlə bu tullamaq edək. İndi, mən bir daha yaxşı proqram nəzərdə tutulmuşdur. Niyə? Mən sayını dəyişmək istəyirsinizsə, Bu pişik öskürək, bütün Mən var , bir dəyişən və ya bir değeri yoxdur daha üç, dörd və ya beş və ya altı. Və ya, şərti bir şey edə bilər hətta yer ilə Mən istəyirdi bar. Beləliklə, bu ümumi bir prinsipdir. Sonra, kod çıxarmaq ve yapıştırma başlamaq bu Scratch və ya olsun C, sizə bir şey yapýyorsun yanlış, çox güman. Və ya ən azı bir dəfə bir aştınız nüsxə və ağlabatan nömrələri pastalar, yəqin ki, istəyirik səhv edir. Amma nə? Mən bu kimi həqiqətən deyil. Bu təmiz dizayn deyil. Mən adlı bir puzzle parça var idi arzulayıram öskürək sonra mən, çünki Bu özümü həyata var ilə köhnə moda yol, demək, gözləyin edərək - nə onlar yalnız əgər öskürəyə puzzle parça. Bəli, mən həqiqətən edə bilərsiniz. Mənə daha çox blokları altında gedək basın Bir məhəlləli olun, indi mən bu almaq burada pəncərə. Mən bu şey öskürək zəng etmək üçün gedirəm. Mən irəli getmək və OK basın gedirəm. İndi bildiriş, yeni bir başlanğıc almaq üst əyri ki, parça. Və mən bu ilə gedirəm, nə Ben yalnız bu blokları oğurlamaq gedir. Burada onların qoyulması üçün gedirəm. İndi bu üç ədəd ilə, mən var Mən zəng etmək gidiyorum nə həyata funksiyası, və ya prosedur və ya bəzi bir üsulu kimi bunu bilər. Sözləri arasında cüzi fərqlər. Amma indi üçün ədalətli imkan bu bir funksiyası zəng edin. Bu yalnız bir yeni puzzle parça. İndi bu kimi həyata keçirilir. Amma Not bizə verdi ki, görürsünüz ki, bütün fiziki nümayəndəliyi buraya blok. Belə ki, indi, yalnız burada, bu sürükleyebilirsiniz , deyə üç dəfə təkrar və Mən oynamaq zaman nə, indi baş verəcək bu orijinal, yalnız bir proqram bir anda çalışır. Yalnız bir zaman var yaşıl bayrağı tıklayan. Lakin öskürək deyilir ki, bənövşəyi blokları səmərəli hər, Not danışanlardan zaman həqiqətən ki, puzzle parça bax bu addımlar yerinə ki, əl həyata keçirilməsi üçün baş verir. Belə ki, səliqəli növü var. Amma indi mən, mən qərara almışdır ki, güman yalnız öskürək Bu pişik istəyirəm. Mən onu etmək istəyirəm həmçinin asqırmaq üçün. Yaxşı, biz necə getmək bilər asqırmaq həyata? Yaxşı mən olduqca çox ola bilər eyni şey. Başqa bir blok edə bilər. Mən bu asqırmaq zəng edə bilər, OK basın. Sonra burada mən, həqiqətən ola bilər , məni bu dublikat imkan var - sizin kimi hiss etməlidir, harada və var siz yəqin ki, bir şey məşğul deyilik ən yaxşı yolu. Mən bir şey kimi deyə bilər achoo, bir ikinci. Bir ikinci gözləyin. İndi mən asqırmaq adlı yeni blok var. And olsun ki, orada deyil. Amma bu, çox hiss başlamaq lazımdır - bəlkə deyil, birinci dərəcəli həftə, lakin yalnız - ikinci bir az lazımsız. Aydındır ki, bəzi ixtisar burada var. Belə ki, əvəzinə, mənə təklif edək ki, biz bu anlayış aşağıdakı kimi hassaslaştırın. Mənim fayl menyu qədər gedək. Mən bu versiyası saxlamaq fikrində deyiləm. Mən birinə getmək gidiyorum Burada premade faylları. Və mən irəli getmək gidiyorum və öskürək 2 açır. Whoops ki, öskürək 2. Mənə davam və öskürək 3 açmaq edək, bu mənbə kataloq edir. 3 öskürək və qeyd - oh Dediyim səhv üçün hekayə. Mənə bu hekayə bərpa edək. Demək üçün nəzərdə hekayə öskürək 4 ilə başa çatır - orada deyil. Mən əvəzinə, müəyyən Belə ki, nə əgər adlı böyük bir puzzle parça söz n dəfə demək, müəyyən edir. Asqırıq, yalnız Şübhəlinin Not ildə achoo. Beləliklə, biz bir söz kimi ifadə ki, yalnız, çünki Proqramın sıxıntı. Və öskürəyə, [öskürək], lakin öskürək edir C-O-U-G-H. Belə ki, yalnız iki Fərqli sözlər, mahiyyətcə, bunu eyni şey. Beləliklə, mən, həqiqətən, edə bilər Bu kimi yeni blok. Mən əvvəl bu menyu et istifadə etməmişdir. Amma Block olun tıklattığınızda bəzi variantları seçə bilərsiniz. Və ki, bu blok həqiqətən demək olar başqa, bəzi giriş edir mübahisələri, və ya parametrləri, belə kimi tanınan Siz davranış dəyişə bilərsiniz ki, Sizin məhəllə. Belə ki, nə bir an əvvəl oldu Mən bu blok De çağırıb. Və sonra mən bunu etdiyini ifadə edərək, bir simli daxil etmə. İndi, ismarıcları, qeyd bu string 1 deyir. Bir simli yalnız bir söz və ya bir söz, bizim məqsədlər üçün. Amma yalnız bəzi qoymaq gidiyorum yalnız kimi orada tutucu mətn, web, siz istifadəçi adı görmək, və ya zaman parol, sonra yox Siz yazmağa başlayın. Ki, bütün var. İndi gedirəm bir sıra giriş əlavə edin. Və mən bu n zəng etmək gidiyorum - lakin olduqca ixtiyari var. Və sonra yalnız bir etiket, yalnız etmək bu blok bir az daha özünü izahlı - dəfə ki, mən yalnız nə var. Və son nəticədə mən əldə edir bu kimi görünür ki, blok. İndi kullanıyorum qeyd təkrar blok. Amma olduqca çətin coding üç, Ben Mən orada n sürükleyerek və bırakarak funksiyası parametrize bilər. Mən bu funksiya bir şeylər edə bilərsiniz əsasında dəfə fərqli bir sıra ki, dəyəri. Və bu mən nə olduğunu, hiss demək Burada söz sürükleyin, mən bir demək olar ağır kodlu söz, lakin hər hansı bir bir ikinci üçün qəbul edilir. Eyni zamanda, mən yenidən həyata yoxdur öskürək? Mən əvəzinə kimi öskürək müəyyən deyərək öskürək n dəfə. Belə ki, qısa, mən bu yolu gedirəm tez, lakin əsas ideya kimi tezliklə Siz proqram görən başlamaq kimi , bir dəqiqə gözləyin ki, mən etdik əvvəl çox bu kimi bir şey, Mən bəzi ümumi amil həyata bilər funksionallığı? Mən yapýyorum nə ayrılmaq Can bəzi əsas ideyaları içinə? Yəni, biz burada işle var. Və mən, vizual, bu işlər dizilir etdik bir-birinə üst o ki, ideyası vəsiyyət çünki , ASCII gedən ikili başlayaraq növ, qrafik proqramları edilməsi on layering getdikcə kompleks ideyaları bir-birinə üst. Burada eyni fikri. Mən həyata, sıfırdan başlayıb öskürək, sonra həyata öskürək edir həqiqətən yalnız bir şey deyə. Belə ki, mənə əvəzinə həyata bildirin bir şey deyə anlayışı. Üstelik, mən həyata keçirə bilər achoo, və ya öskürək? Və biz belə edə bilər hələ variantlar. Belə ki, bu əsas prinsipi olan, biz başlaya bilərsiniz getdikcə daha kompleks proqramlar. Mənə bu qədər açıq edək. Biz, həqiqətən, çox sprites ola bilər bir dəfə ekranda əlaqə. Mən mənbə qovluğuna girin və əgər Xatırladaq ki, bir qondarma Threads işğalçı bir mövzu yalnız həqiqətən qabiliyyəti tərəfindən çalıştırmak üçün iki skriptlərin eyni zamanda yan. İndi bildiriş, bir quş sprite həm də və həm də olan bir pişik sprite, öz scripts. Bildiriş Belə ki, mən basın pişik, mən bu skript almaq. Mən quş basın zaman, Mən bu skript almaq. Belə ki, bu uşaqlar hər var öz proqramları. İndi yaşıl bayrağı basın zaman, qeyd nə bu proqram yoxdur ki, inanılmaz, pişik var yavaş-yavaş, quş Chase. Amma pişik olan üstünlüyü var belə bir şəkildə proqramlaşdırılmış edilmişdir olursa olsun olduğu quş , pişik ona doğru gedir. Biz çox daha sürətli oyun oynaya bilər. Mən pişik haqqında Ben Belə ki, Ben fark istifadə edək bir addım hərəkət deyirlər. Gəlin ona beş addımlar hərəkət var bir dəfə, belə bir zamanda beş nöqtələr. Mənə oynamaq basın edək. [Aslan nəf] DAVID Malan: Bütün sağ, indi biz həqiqətən pişik üstünlük verir. 10 anda addımlar. [Aslan nəf] DAVID Malan: Bütün sağ, belə çox tez, bir az üstünlük əldə Bu pişik üçün. Amma mənim əl dalğa olacaq ətraflı bəzi. Amma bu yol ki, səbəbi bir az fərqli hər zaman başlayır Mən randomness bir az edirəm ki. Mən, həqiqətən, bir pişik işarə alıram müxtəlif istiqamətdə harada əsaslanır ona belə başlamaq istəyirəm ki, hər dəfə oyun, və ya animasiya, bir az fərqli. İndi mənə bir tətbiq edək digər burada tikintisi. Belə ki, bu halda, biz funksiyaları idi. Də bir puzzle parça olacaq var olacaq bir sıra, və ya siyahısı, kimi tanınan ki, siz çox saxlamaq üçün imkan verir dəyişən daxilində dəyərlər. İndi mövzuları gördüm, Hadisələr var. Belə ki, burada istifadə Tədbirin burada bu iki uşaqlar. Mən açmaq Əgər fayl Hadisələr çağırıb Bu gün nümunələrdən, biz görünür ki, bir proqram görmək bu kimi bir az. İndi bu adam qeyd - belə ki, mavi var fark Kukla tıklayan - o yalnız aşağıdakı edir. O biri yoxdur yaşıl bayrağa puzzle ədəd. Mən hadisə alınca O, var - bəzi əsassız söz belə. Mən yalnız orada tədbir tipli - O, demək Polo olacaq iki saniyə üçün. Belə ki, tanış olan siz bu bu oyun bilirik bilər ilə bu hara gedir. İndi narıncı Kukla basın, əgər onun proqramını bu yoxdur. Forever, əgər klaviatura yer bar qarşısı, o Marco, demək gedir, ekranda iki saniyə üçün. Lakin o da bu meraklısı istifadə etmək olacaq yayım kimi tanınan blok. O quote yayım olacaq dırnağı bağlamaq, "hadisə". Bu vaxt, mavi oğlan, geri ki, Sitatla dırnağı bağlamaq üçün dinləmək "adlı tədbir". Belə ki, birtəhər, indi ola bilər iki sprites əlaqə. Və biz web proqramlaşdırma almaq zaman, sonra müddət eyni şəkildə bu olacaq Sizin veb üçün faydalı ola üçün, cavab bir şey Məsələn, klaviatura bir klik. Mənə davam imkan və yer bar basın. Orange oğlan Marco deyir. Blue oğlan Polo deyir. Mən Əgər yenidən narıncı oğlan deyir Marco, mavi oğlan polo deyir. Belə ki, bu bir addım daha götürək. Bu dəfə biz, yəqin ki, gedəcəyəm burada yalnız bir neçə dəqiqə. Biz var - stolüstü lampa, aşağı gəlir. Sağ sonunda var. OK, siz də edə bilərsiniz. Biz hər kəs üçün masa lampaları var. Hadi. Biz saxlaya bilərsiniz əgər Bilmirəm bu gülünc tıxac qədər bütün dövr olsa. Bütün sağ, aşağı gəlir. Və bu arada, biz var yalnız, qoparmaq misal aşağıdakı Belə ki, indi hər şeyi sürətləndirmək ki, başqa bir təzahürü var istifadə sizin sələfi eyni əsas bloklar. Sizin adınız nədir? JOHN: John. DAVID Malan: John. Mənə gözəl. Və? SETZ: Setz. DAVID Malan: Setz, mənə gözəl. John, gəlmək istəyirsinizsə ilk, bu köhnə məktəb oyun Frogger adına. Bu həmçinin klaviatura istifadə edin. Və məqsədi keçmək üçün küçə və su. [Frogger musiqi və səs oynayır] DAVID Malan: Üzgünüm, heç Sizin üçün masa lampa gün. Bütün sağ, Setz, siz ki, up gəlib istəyirsiniz? Bütün sağ, daha bunu edək. SETZ: Mən okları istifadə edirsinizmi? DAVID Malan: Just ok tuşlarını. Up, aşağı, sağ, sol. [Frogger musiqi və səs oynayır] DAVID Malan: Biz onlara zəng edəcəyik təsəlli mükafatları bu gün, sonra, çox yaxşı. Burada, Con və Setz Siz də. Tebrik edirik, bütün doğru. Belə ki, yenə bu oyun oynayır nə haqqında düşünmək? Bir hərəkət bir çox aydın var. Amma biz pişik və ilə nə gördüm Siz edə bilər necə quş məsələn, yalnız bir hərəkət hərəkət illüziya təkrar piksel sayı. Və bir əbədi blok varsa, bu ola bilər maşın əbədi bunu. Biz imkanı var bəzi randomness var. Beləliklə, bu oyun yoxdur eyni hər dəfə. Bu logs, bu maşın da başlaya bilərsiniz az fərqli dəfə ki, oyun özü daha maraqlı hər oyun ilə. Və Eyni zamanda, biz qabiliyyəti gördüm yer bar qulaq asmaq üçün. Amma aydın, Not, siz həmçinin sağ, yuxarı, aşağı, sola üçün qulaq asmaq və klaviatura həqiqətən, heç bir düyməsini basın. Və siz də başqa şeylər edə bilərsiniz. Mənə irəli getmək və geri gidelim web versiyası. Mənə bizim toplanması daxil gedək burada nümunələri. Və Mənim Studio altında, video olan bir qovluq, mahiyyətcə edir scratch.mit.edu. Biz web versiyası bu layihələr bütün. Və mən edə bilərsiniz Agentliyi görək mənim kompüter burada əməkdaşlıq etmək. Bu, bizim dostlarımız biri tərəfindən yazılıb MİT-da, Butterfly hərəkət adlandırıb. Bu açır dəfə Və bu əslində daha çox istifadə etmək niyyətindədir mənim kompüter hardware. Not həyata olur Flash ilə. Flash, webcam danışmaq olar Bir varsa. Mən bu irəli getmək və tam ekran Belə ki, əgər Burada, yaşıl bayraq, bildiriş basın Flash təhlükəsizlik mesajı deyərək, siz istəyirsiniz mənim webcam istifadə etməyə imkan verir? Adətən, siz olmalıdır yəqin ki, inkar deyirlər. Amma bu halda, biz imkan demək lazımdır. Sonra Chrome demək gidiyorum Bu həmçinin imkan verir. İndi, yalnız bir anda, siz mənə, Yep, mənə bax. Və mənim tərəfdən gedir əgər - Mən hərəkət var mənim eyni zamanda rəhbəri. Əks da var ekranda. Orada getmək Hadi, - ekranda hərəkət edə bilər, çünki puzzle ədəd də var - oh, siz bu nə, bu siz də ona görə arxamda proyektor ekran baxın. Beləliklə, biz bir az sonsuz var şey gedir. Bütün sağ, mən burada oynayacağıq. Orada biz gedin. Belə ki, bir puzzle parça də var siz altında hərəkət görəndə deyir ki, sprites biri, siz getmək ola bilər up, aşağı, sola və sağa və ya kimi. Beləliklə, biz virtual reallıq bir az var bütün daxilində, eləcə də burada mənim brauzerinizin sınırlar, yalnız Burada webcam istifadə edərək. Belə ki, üfüqdə nə var. Görəcəksiniz kimi ilk problem dəsti, və ya veb sonra online olacaq cs50.net da gecə olduqca çox açıq olacaq. Və Not layihəsinin həyata keçirilməsi Siz maraq, bir oyun, bir qarşılıqlı bədii bir şey, və hər hansı bir sayı istifadə etmək özünüzü etiraz Bu puzzle ədəd. Və ya interaktiv ola bilər bu şəkildə. Və ya daha çox qəsdən bir şey ola bilər bir hekayə izah etdi. And olsun ki, biz off bitirmək lazımdır nerde bir final Məsələn bu gün. Mənə yerli Not daxil edək. Mənə davam və bu açmaq və oynamaq edək bir yazdığı son bir proqram Sizin sələfləri, yəni burada biri. Yaxşı, bu bir həcmi artırır. [Musiqi ifa] Dastançı: növbəti CS50, David hazırda səhnədə könüllü dəvət edir. DAVID Malan: Bu nümayiş üçün, biz bir könüllü ehtiyac olacaq. Aşağı gəlib istəyirsiniz? Sizin adınız nədir? Hərəkət.