1 00:00:00,000 --> 00:00:10,980 >> [Musika nagpe-play] 2 00:00:10,980 --> 00:00:13,260 >> -Alright! 3 00:00:13,260 --> 00:00:16,400 >> -This Ay CS50. 4 00:00:16,400 --> 00:00:18,220 >> -This Ay CS50. 5 00:00:18,220 --> 00:00:19,324 >> -This Ay CS50. 6 00:00:19,324 --> 00:00:20,615 [Musika - IGGY AZALEA, "Fancy"] 7 00:00:20,615 --> 00:00:29,925 8 00:00:29,925 --> 00:00:33,570 >> -My Paboritong memorya mula sa CS50 ay kapag nagpunta ako sa puzzle Araw. 9 00:00:33,570 --> 00:00:35,797 >> -Probably Lamang ang oras ginugol nagtatrabaho sa mga hanay ng problema 10 00:00:35,797 --> 00:00:38,630 sa aking mga kaibigan at mga taong wold Sa kalaunan maging ang aking mga blockmates. 11 00:00:38,630 --> 00:00:40,421 >> -My Pinakamahusay na memorya mula sa CS50 ay ang Hackathon. 12 00:00:40,421 --> 00:00:41,630 -Ang CS50 Hackathon. 13 00:00:41,630 --> 00:00:42,130 >> -Hackathon. 14 00:00:42,130 --> 00:00:42,800 >> -Hackathon. 15 00:00:42,800 --> 00:00:43,300 -Hackathon. 16 00:00:43,300 --> 00:00:43,883 -Ang Hackathon 17 00:00:43,883 --> 00:00:45,027 -Rob Bowden. 18 00:00:45,027 --> 00:00:46,110 Lamang ang lahat ng bagay tungkol sa kanya. 19 00:00:46,110 --> 00:00:47,401 >> [Musika - IGGY AZALEA, "Fancy"] 20 00:00:47,401 --> 00:00:56,790 21 00:00:56,790 --> 00:01:02,512 >> -My Paboritong memorya ay kapag ako ay sa stage at ko na nag-play ang prestihiyosong papel 22 00:01:02,512 --> 00:01:04,220 ng isang node [? sa Linked?] [? Listahan. ?] 23 00:01:04,220 --> 00:01:08,470 >> -When Namin ang lahat ng nakakuha ng libreng espasyo at Dropbox Si David ay tulad, tumingin sa ilalim ng iyong upuan. 24 00:01:08,470 --> 00:01:10,520 At iyon ay tulad, espasyo para sa lahat! 25 00:01:10,520 --> 00:01:11,811 >> [Musika - IGGY AZALEA, "Fancy"] 26 00:01:11,811 --> 00:01:20,940 27 00:01:20,940 --> 00:01:22,830 >> -My Payo para sa anumang papasok na mag-aaral ng gagawin 28 00:01:22,830 --> 00:01:26,170 maging upang talaga gumagana sa P-sets sa mga kaibigan. 29 00:01:26,170 --> 00:01:27,960 >> -Office Oras ay napaka magkano ang iyong mga kaibigan. 30 00:01:27,960 --> 00:01:30,870 >> -Make Masulit ang iyong karanasan at matugunan ng maraming mga tao hangga't maaari. 31 00:01:30,870 --> 00:01:32,390 >> -Don't Matakot na humingi ng tulong. 32 00:01:32,390 --> 00:01:33,890 -Start Ang P-set ng maaga sa linggo. 33 00:01:33,890 --> 00:01:36,723 Sa tingin -I ang pinakamalaking bagay ay ang samantalahin ang lahat ng mga mapagkukunan 34 00:01:36,723 --> 00:01:37,950 na may CS50. 35 00:01:37,950 --> 00:01:39,960 >> -Go Sa oras ng opisina sa unang bahagi ng linggong ito. 36 00:01:39,960 --> 00:01:41,430 >> -Definitely Panoorin ang shorts. 37 00:01:41,430 --> 00:01:42,989 >> -Don't Procrastinate sa iyong P-set. 38 00:01:42,989 --> 00:01:45,780 -Make Bang kang makahanap ng isang mahusay na pangkat ng mga tao na magtrabaho sa P-sets na may. 39 00:01:45,780 --> 00:01:48,530 Maaari kang magkaroon ng maraming masaya at makakuha ng trabaho tapos nang sama-sama. 40 00:01:48,530 --> 00:01:50,370 >> -Don't Matakot na itulak ang iyong sarili. 41 00:01:50,370 --> 00:01:52,080 Pumunta para sa Hacker edisyon minsan. 42 00:01:52,080 --> 00:01:55,410 >> -Write Mga bagay sa papel bago kailanman hinawakan mo ang iyong computer. 43 00:01:55,410 --> 00:01:58,380 >> -CS50 Ay talagang mahusay sa pagbibigay ng paraan upang makakuha ng tulong. 44 00:01:58,380 --> 00:02:01,134 >> -My Isa piraso ng payo ay pagtulog. 45 00:02:01,134 --> 00:02:02,050 Sinabi ng sinuman na? 46 00:02:02,050 --> 00:02:04,100 Sleep, para sigurado. 47 00:02:04,100 --> 00:02:08,919 Ito ay madali hindi gawin, subalit na kailangan mong gawin ito, sa tingin ko. 48 00:02:08,919 --> 00:02:12,982 >> Gusto -I sabihin ba talagang i-iisip na inihanda dahil ka pagpunta sa ibigin ito. 49 00:02:12,982 --> 00:02:14,273 [Musika - IGGY AZALEA, "Fancy"] 50 00:02:14,273 --> 00:02:17,750 51 00:02:17,750 --> 00:02:18,940 >> -This Ay CS50. 52 00:02:18,940 --> 00:02:22,090 53 00:02:22,090 --> 00:02:23,066 >> -This Ay CS50. 54 00:02:23,066 --> 00:02:26,400 55 00:02:26,400 --> 00:02:26,989 >> -This Ay CS50. 56 00:02:26,989 --> 00:02:28,280 [Musika - IGGY AZALEA, "Fancy"] 57 00:02:28,280 --> 00:02:31,290 58 00:02:31,290 --> 00:02:31,964 >> -This Ay CS50. 59 00:02:31,964 --> 00:02:36,020 60 00:02:36,020 --> 00:02:42,270 >> [APPLAUSE] 61 00:02:42,270 --> 00:02:46,040 >> David J. MALAN: Kaya ito ay CS50 at ito ang katapusan ng Linggo 0. 62 00:02:46,040 --> 00:02:48,770 At iyon ay isa lamang ng ilang ng mga tauhan ng CS50 na 63 00:02:48,770 --> 00:02:51,100 Naghihintay sa mga hindi ka lamang sa mga seksyon at oras ng opisina, ngunit, 64 00:02:51,100 --> 00:02:54,390 din, ito darating na katapusan ng linggo sa CS50 Puzzle Araw. 65 00:02:54,390 --> 00:02:56,410 Aling, muli, ay hindi ang lahat tungkol sa programming. 66 00:02:56,410 --> 00:02:59,710 Sa katunayan, ito ay inaasahan na iyong ay hindi magkakaroon ng sa programa ng kahit ano, 67 00:02:59,710 --> 00:03:03,780 ngunit sa halip na malutas ang mga problema sa paggamit wits at mga kaibigan sa tabi mo. 68 00:03:03,780 --> 00:03:06,400 >> Susundan natin ang sumali sa pamamagitan ng ilang ng aming mga kaibigan sa Facebook-- 69 00:03:06,400 --> 00:03:08,980 kung irehistro ka here-- na para sa nakaraang ilang taon, 70 00:03:08,980 --> 00:03:11,450 mayroon talagang nagsusulat mga hamong ito sa amin. 71 00:03:11,450 --> 00:03:14,822 At sa gayon, sila ay ang mga sa huli tumatakbo Araw ng palaisipan. 72 00:03:14,822 --> 00:03:17,530 At sa gayon, ikaw ay hinamon may tiyak na mga uri ng mga bagay 73 00:03:17,530 --> 00:03:20,520 at mga problema na kakailanganin ng mga tao sa Facebook i-isipin ang tungkol. 74 00:03:20,520 --> 00:03:21,860 Kaya na ay bukas. 75 00:03:21,860 --> 00:03:25,980 Magparehistro sa cs50.harvard.edu/register. 76 00:03:25,980 --> 00:03:28,120 >> Ngayon isang salita sa loob ng ilang ng mga tauhan sa partikular na. 77 00:03:28,120 --> 00:03:30,090 Ito dito ay Ansel Duff, sino ay ang tunay isa 78 00:03:30,090 --> 00:03:33,860 ng mga kapwa may-akda ng mga binary bombilya na nakita natin sa Miyerkules, 79 00:03:33,860 --> 00:03:36,710 bilang karagdagan sa CS50 sariling Dan Bradley. 80 00:03:36,710 --> 00:03:40,094 Ansel Duff ay isang dating din freshman advisee ng mina 3 taon ang nakalipas 81 00:03:40,094 --> 00:03:41,760 at siya kahit na aktwal na binuo ito lectern. 82 00:03:41,760 --> 00:03:45,330 Siya'y nawala sa gawin mga agham engineering at higit pa. 83 00:03:45,330 --> 00:03:49,279 Ngayon, ang kanyang larawan dito ay ang tunay Ansel 3 taon na ang nakakaraan sa CS50 Hackathon 84 00:03:49,279 --> 00:03:51,820 kapag siya ay hiniram sa isa sa aming balloon, natigil ito sa kanyang laptop, 85 00:03:51,820 --> 00:03:55,240 at, para sa susunod na 12 ilang kakaiba oras, nakatuon sa kanyang panghuling proyekto, 86 00:03:55,240 --> 00:03:59,150 pagkuha ng break lamang upang buksan bag ng kendi sa Hackathon. 87 00:03:59,150 --> 00:04:02,210 >> Subalit siya nagpunta sa mas kamakailang na gumastos ito nakaraang tag-araw sa amin, 88 00:04:02,210 --> 00:04:05,270 dahil CS50 para sa mga tauhan nito, at ngayon mag-aaral na ito semestre, 89 00:04:05,270 --> 00:04:06,770 May sarili nitong 3D printer. 90 00:04:06,770 --> 00:04:10,180 At sa isang maikling salita isang 3D printer ay isang aparato na mukhang masyadong tulad nito. 91 00:04:10,180 --> 00:04:15,700 Punan mo ito gamit ang isang plastic spool na tinunaw down na sa pamamagitan ng mga aparato 92 00:04:15,700 --> 00:04:18,940 at bumuo ka ng mga bagay Literal na mula sa wala. 93 00:04:18,940 --> 00:04:22,660 Karamihan tulad ng isang inkjet printer, magsisimula ka sa pagsigam out maliit na tuldok ng plastic 94 00:04:22,660 --> 00:04:24,990 na anyo nang magkasama upang bumuo ng buong bagay. 95 00:04:24,990 --> 00:04:28,430 At kaya Ansel halimbawa, mas maaga ito tag-araw, may isang iPhone 5 96 00:04:28,430 --> 00:04:30,722 at nagpasya siya talaga gusto sa Panukala ito pataas sa kanyang desk. 97 00:04:30,722 --> 00:04:32,638 Ngunit hindi niya gustong pumunta out at bumili ng isang bagay 98 00:04:32,638 --> 00:04:36,030 mula sa Apple store o ang katulad, kaya siya SA down at makapagsimula sa pagguhit ng isang bagay. 99 00:04:36,030 --> 00:04:38,280 Kinuha niya ang ilang mga sukat bilang sa kung paano makapal 100 00:04:38,280 --> 00:04:41,270 at kung paano malawak na ang kanyang iPhone ay, siya iginuhit ang larawang ito dito, 101 00:04:41,270 --> 00:04:43,870 Nagpasya siya na nais niyang upang magkaroon ng isang 75 degree na pagtabingi 102 00:04:43,870 --> 00:04:46,150 dahil ito ay staring sa sa kanya sa kanyang desk doon. 103 00:04:46,150 --> 00:04:50,440 Naka pagkatapos niya ito, gamit ang software, sa isang modelong 3D CAD 104 00:04:50,440 --> 00:04:52,400 na tumingin ng kaunti isang bagay na katulad nito. 105 00:04:52,400 --> 00:04:55,940 At pagkatapos siya nagpatuloy, sa huli, upang aktwal na lumikha ng mga ito. 106 00:04:55,940 --> 00:05:00,250 Kaya sa katunayan, kung ang alinman sa iyo dito, marahil nang sunud-sunod na maaari kong magtapon sa, mayroon 107 00:05:00,250 --> 00:05:06,780 an-- doon mayroon kaming kakailanganin ng mga tao na may iPhone 5, at dito mayroon kaming dalawang higit pa. 108 00:05:06,780 --> 00:05:10,650 109 00:05:10,650 --> 00:05:17,037 >> Ngayon, hindi na outdone, CS50 sariling Cheng Gong-set din out na ito tag-init 110 00:05:17,037 --> 00:05:19,870 upang bumuo ng lubos ng ilang mga bagay at, sa katunayan, para sa mga kadahilanang na hindi pa rin 111 00:05:19,870 --> 00:05:23,970 hindi malinaw, ay naging mabagal pag-print ng isang hukbo ng mga elepante 112 00:05:23,970 --> 00:05:27,250 may articulating arm at trunks. 113 00:05:27,250 --> 00:05:32,515 Ang isang pares ng mga na kung saan ay aktwal na dito kung sinuman ay ngayon like-- isang elephant. 114 00:05:32,515 --> 00:05:35,650 115 00:05:35,650 --> 00:05:40,522 Ang lahat ng mga karapatan,. ngunit kung ano din ginawa Cheng para sa atin ay siya napaka Pinapayuhan-set up ng isang camera 116 00:05:40,522 --> 00:05:42,230 dahil na elepante, Naniniwala ito o hindi, 117 00:05:42,230 --> 00:05:44,690 tumatagal ng ilang dalawa at isang kalahating oras upang i-print. 118 00:05:44,690 --> 00:05:47,840 Kahit na ang iPhone stand kinuha isang oras at kalahating-print. 119 00:05:47,840 --> 00:05:51,490 At kung ano ang nagpunta maaga Cheng at ginawa ay naka-setup sa isang masarap na camera sa harap 120 00:05:51,490 --> 00:05:55,580 ng ito 3D printer, kinukunan para sa isang oras at kalahating bilang disenyo Ansel ng naka-print na. 121 00:05:55,580 --> 00:05:58,090 Naka-overlay kami ng ilang mga maalindog musika dito sa pagkakasunud-sunod 122 00:05:58,090 --> 00:06:00,570 upang bigyan ito sa iyo upang tumingin sa kung paano gumagana ang 3D sa pagpi-print. 123 00:06:00,570 --> 00:06:02,494 At kahit na ito ay talagang sa plastic, 124 00:06:02,494 --> 00:06:05,160 Napag-alaman na kung ito ay isang lugar ng interes sa iyo academically, 125 00:06:05,160 --> 00:06:07,120 mayroong mga tao, bukod sa ang mga ito Jennifer Lewis dito 126 00:06:07,120 --> 00:06:09,036 sa Paaralan ng Engineering, na talagang 127 00:06:09,036 --> 00:06:10,920 pagtatrabaho sa 3D pag-print ng plastic na bagay. 128 00:06:10,920 --> 00:06:14,150 Ngunit kahit na, lalong, biological mga materyales sa paglutas 129 00:06:14,150 --> 00:06:16,530 physiological mga problema para sa mga tao. 130 00:06:16,530 --> 00:06:19,944 Ngunit dito ay isang maliit na isang bagay mula sa CS50. 131 00:06:19,944 --> 00:06:31,625 >> [Malakas Mechanical NOISES] 132 00:06:31,625 --> 00:06:34,250 David J. MALAN: Hindi nito ang tunog anumang bagay na tulad nang sa katotohanan, 133 00:06:34,250 --> 00:06:37,240 ngunit ito ay magkano ang mas malalamig na itong panoorin sa na bilis, at may na tunog. 134 00:06:37,240 --> 00:06:40,000 >> Ngayon, sa Miyerkules, kung paano ay magsasagawa muna kami makarating dito? 135 00:06:40,000 --> 00:06:43,345 Sinimulan na naming pinag-uusapan tungkol sa computer na agham at kami tinanong kung ano iyon. 136 00:06:43,345 --> 00:06:46,470 At ito ay tungkol sa isang bilang ng mga bagay, at may kaya maraming iba't-ibang direksyon 137 00:06:46,470 --> 00:06:48,477 kung saan maaari kang magtungo pagkatapos ng isang kurso tulad ng CS50. 138 00:06:48,477 --> 00:06:50,810 Sa katunayan, kung ikaw kinuha ang isa ng mga hindi opisyal na gabay 139 00:06:50,810 --> 00:06:54,080 sa CS sa labas, ang buklet na nagbigay kami ng, kung ikaw ay 140 00:06:54,080 --> 00:06:57,150 pag-iisip ng pagkuha lamang CS50, o marahil paggawa ng isang pangalawang, 141 00:06:57,150 --> 00:06:59,557 o maaari ring maging sa pagtuon sa CS, huwag i-flip sa pamamagitan na iyon. 142 00:06:59,557 --> 00:07:01,390 At makikita mo ang isang diagram patungo sa dulo na 143 00:07:01,390 --> 00:07:04,950 Ipinapakita sa iyo ng maraming iba't-ibang direksyon sa CS na maaari kang pumunta off sa. 144 00:07:04,950 --> 00:07:09,030 >> Ngunit para sa araw, makikita namin ang pagtuon, muli, sa talaga ang isa sa mga pangunahing tanawin, 145 00:07:09,030 --> 00:07:11,500 marahil, kung saan mayroon kang input sa mga problema, 146 00:07:11,500 --> 00:07:13,430 mayroon kang output mula sa mga problema, at mayroon kang 147 00:07:13,430 --> 00:07:17,420 algorithm na kung saan upang lumikha ng mga output mula sa mga input. 148 00:07:17,420 --> 00:07:20,330 At isa tulad halimbawa, ay ng Siyempre, telepono ang aklat na ito dito. 149 00:07:20,330 --> 00:07:24,180 At ginamit namin bilang isang halimbawa upang pumunta sa pamamagitan ng isang algorithm na ay tama. 150 00:07:24,180 --> 00:07:26,490 At pagkatapos ng isa pa noon ay tama, ngunit medyo mas mabilis. 151 00:07:26,490 --> 00:07:29,448 At pagkatapos ng isa pa na noon ay isang maliit na higit pa dramatic, ngunit fundamentally 152 00:07:29,448 --> 00:07:30,000 mas mabilis. 153 00:07:30,000 --> 00:07:32,720 >> Mag-right, ito kami telepono libro inaangkin nagkaroon tungkol sa 1,000 mga pahina. 154 00:07:32,720 --> 00:07:36,200 At kung gaano karaming beses ginawang Mayroon akong upang pilasin ang libro ng telepono sa kalahati 155 00:07:36,200 --> 00:07:39,930 upang makahanap ng isang tao tulad ng Mike Smith, maximally, sa 1,000 na pahina ng libro? 156 00:07:39,930 --> 00:07:41,040 Kaya, 10 bigyan o tumagal. 157 00:07:41,040 --> 00:07:45,050 At kaya sa sandaling tore ko bagay na ito sa kalahati, o simpleng, mas maturely, 158 00:07:45,050 --> 00:07:48,490 hinati sa dalawa, ito ay lamang 10 mga pahina sa labas ng 1,000. 159 00:07:48,490 --> 00:07:51,470 At kung extrapolate mo, may kaunting panahon unrealistically para sa isang libro ng telepono, 160 00:07:51,470 --> 00:07:56,540 ngunit kung may ilang 4 ang aklat na ito telepono bilyong mga pahina sa loob nito, kaya ganap 161 00:07:56,540 --> 00:07:59,680 unwieldy pisikal, kung gaano karaming beses mo mong hatiin ang isang 4000000000 162 00:07:59,680 --> 00:08:01,460 pahina ng libro ng telepono sa kalahati? 163 00:08:01,460 --> 00:08:03,035 Kaya ito ay aktwal na 32, bigyan o tumagal. 164 00:08:03,035 --> 00:08:07,090 At kaya 32 beses lamang, sa labas ng 4000000000 mga pahina, maaari 165 00:08:07,090 --> 00:08:08,700 mahanap mo ang isang tao tulad ng Mike Smith. 166 00:08:08,700 --> 00:08:09,740 At iyon ang kahusayan. 167 00:08:09,740 --> 00:08:12,130 Iyon ay isang mahusay na algorithm, daresay. 168 00:08:12,130 --> 00:08:14,480 >> Ngunit pagkatapos namin inilipat mula sa na upang subukang gawing pormal ito. 169 00:08:14,480 --> 00:08:16,100 At ipinanukalang ko ito pseudocode code. 170 00:08:16,100 --> 00:08:17,800 Pseudocode code ay hindi pormal na kahit ano. 171 00:08:17,800 --> 00:08:18,880 Ito ay hindi isang bagay na kabisaduhin mo. 172 00:08:18,880 --> 00:08:21,588 Ito ay isang bagay lamang ipahayag sa iyo medyo intuitively gamit ang Ingles, 173 00:08:21,588 --> 00:08:24,990 o anumang wika talaga ito, na nagbibigay ng iyong mga ideya succinctly. 174 00:08:24,990 --> 00:08:26,990 Ngunit kung ano ang key tungkol sa pseudocode code ay na sa iyo 175 00:08:26,990 --> 00:08:30,331 subukan upang asahan ang lahat ng mga posibleng mga kaso na maaaring mangyari. 176 00:08:30,331 --> 00:08:33,080 At sa katunayan, sa ganitong pseudocode code, mayroong talaga tatlong mga kaso 177 00:08:33,080 --> 00:08:34,700 sa bawat oras na hinati-hati ko ang mga libro ng telepono. 178 00:08:34,700 --> 00:08:36,006 Mike ay maaaring maging sa kaliwa. 179 00:08:36,006 --> 00:08:37,130 Mike ay maaaring maging sa kanan. 180 00:08:37,130 --> 00:08:39,240 O kaya naman ay maaaring maging sa pahinang iyon mismo Ako ay nasa niya. 181 00:08:39,240 --> 00:08:42,110 O kaya 1/4 na sulok kaso, kaya na magsalita. 182 00:08:42,110 --> 00:08:46,470 Ang isang masamang sitwasyon ay maaaring maging isa which-- kung ano ang nangyayari? 183 00:08:46,470 --> 00:08:48,860 Mike lamang ay wala sa sa aklat ng telepono sa lahat. 184 00:08:48,860 --> 00:08:52,720 >> At kapag programa crash-- kapag Mac at PC software na iyong pinapatakbo guys 185 00:08:52,720 --> 00:08:56,400 sa iyong mga computer kung minsan hangs o quits nang hindi inaasahan, 186 00:08:56,400 --> 00:08:59,770 na karaniwan ay nangangahulugan na ang ilang mga programmer, ang ilang mga tao na tulad mo sa lalong madaling panahon, 187 00:08:59,770 --> 00:09:01,650 screwed lamang up at ginawa ng ilang mga pagkakamali. 188 00:09:01,650 --> 00:09:05,207 Siguro ay hindi inaasahan na siguro doon Walang Mike Smith sa aklat telepono. 189 00:09:05,207 --> 00:09:08,040 At kung wala ka talagang magsulat code upang mahawakan ang sitwasyong ito na tulad nang, 190 00:09:08,040 --> 00:09:09,890 Sa pangkalahatan ay mahuhulaan Maaari itong mangyari bagay. 191 00:09:09,890 --> 00:09:10,960 Ang iyong machine maaaring mag-freeze. 192 00:09:10,960 --> 00:09:11,730 Maaari itong i-reboot. 193 00:09:11,730 --> 00:09:12,889 Maaari tumigil programa ang. 194 00:09:12,889 --> 00:09:14,722 At sa gayon ang lahat ng mga stupidities na maaari mong 195 00:09:14,722 --> 00:09:18,030 Nakaranas sa iyong aktwal na buhay lamang ang paggamit ng mga computer, 196 00:09:18,030 --> 00:09:20,710 ay lalong maging lamang Ipinaliwanag ang layo sa pamamagitan ng Swersey na ito 197 00:09:20,710 --> 00:09:24,920 at ito-unawa sa kung ano ang aktwal na nangyayari sa ilalim ng hood. 198 00:09:24,920 --> 00:09:27,329 >> Ngayon subukan upang Titingnan hayaan sa isang mas pangkalahatang problema. 199 00:09:27,329 --> 00:09:29,120 Sa halip na magsagawa ng pagdalo sa isang lugar tulad ng 200 00:09:29,120 --> 00:09:32,230 ito, na magiging masyadong mabagal upang gawin ang isa, dalawa, tatlo, apat. 201 00:09:32,230 --> 00:09:34,070 O siguro dalawa, apat, anim, walong. 202 00:09:34,070 --> 00:09:36,080 Ni tumuon, sa halip, sa Hayaan kung paano namin maaaring gawing pormal 203 00:09:36,080 --> 00:09:39,400 ang algorithm ng proseso sa pamamagitan ng kung saan maaari kaming magsagawa ng pagdalo. 204 00:09:39,400 --> 00:09:42,290 Ng simula at sa paglaon, ipaalam mag-apply ng ilang mga nomenclature 205 00:09:42,290 --> 00:09:47,130 na gagamitin namin ngayon kung kailan namin talaga simulan ang mga programa sa isang wika. 206 00:09:47,130 --> 00:09:50,910 Kaya Ibinibigay ko ngayon sa iyo, may apat na minutong video na binuo namin sa aming mga kaibigan 207 00:09:50,910 --> 00:09:52,820 mula sa TED, sa samahan. 208 00:09:52,820 --> 00:09:56,380 Kung saan ibinigay namin ang isang script at nila ang kanilang dinala animators upang pasanin, 209 00:09:56,380 --> 00:10:00,970 at aktwal na nilikha ng isang 2D animation ng kung ano ang isang algorithm ay. 210 00:10:00,970 --> 00:10:02,776 Kung maaari kaming palalamlamin ang liwanag ng ilaw. 211 00:10:02,776 --> 00:10:06,664 >> [Musika nagpe-play] 212 00:10:06,664 --> 00:10:17,890 213 00:10:17,890 --> 00:10:19,140 NARRATOR: Ano ang isang algorithm? 214 00:10:19,140 --> 00:10:21,620 Sa computer science, isang algorithm ay isang hanay 215 00:10:21,620 --> 00:10:24,840 ng mga tagubilin sa paglutas ilang sunud-sunod na problema. 216 00:10:24,840 --> 00:10:27,310 Karaniwan, ang mga algorithm ay isinasagawa ng mga computer, 217 00:10:27,310 --> 00:10:29,365 ngunit mayroon kaming mga tao algorithm pati na rin. 218 00:10:29,365 --> 00:10:31,240 Halimbawa, kung paano gagawin pumunta ka tungkol sa pagbibilang 219 00:10:31,240 --> 00:10:32,990 ang bilang ng tao sa isang silid? 220 00:10:32,990 --> 00:10:36,840 Well, kung ikaw ay tulad ng sa akin, gusto mo marahil ituro sa bawat tao nang paisa-isa 221 00:10:36,840 --> 00:10:38,370 at bilangin up mula sa zero. 222 00:10:38,370 --> 00:10:41,200 Ang isa, dalawa, tatlo, apat, at iba pa. 223 00:10:41,200 --> 00:10:42,410 Well, na ang isang algorithm. 224 00:10:42,410 --> 00:10:45,820 Sa katunayan, ay subukan upang ipahayag ito ng ipaalam kaunti pang pormal sa pseudocode code. 225 00:10:45,820 --> 00:10:48,940 Ingles-tulad ng syntax na kahawig ng isang programming language. 226 00:10:48,940 --> 00:10:50,880 >> Hayaan n katumbas ng 0. 227 00:10:50,880 --> 00:10:55,210 Para sa bawat tao sa room, itakda n katumbas ng n plus 1. 228 00:10:55,210 --> 00:10:56,790 Paano upang bigyang-kahulugan ang pseudocode? 229 00:10:56,790 --> 00:10:59,490 Well linya isa declares, kaya upang makipag-usap, sa isang variable 230 00:10:59,490 --> 00:11:02,880 na tinatawag n at initializes halaga nito sa 0 ito lamang 231 00:11:02,880 --> 00:11:05,080 Nangangahulugan na sa simula ng aming algorithm, 232 00:11:05,080 --> 00:11:07,910 ang bagay kung saan kami ay pagbilang ay may halaga sa 0. 233 00:11:07,910 --> 00:11:10,860 Pagkatapos ng lahat, bago namin simulan ang pagbibilang hindi pa kami binibilang ng kahit ano. 234 00:11:10,860 --> 00:11:13,580 Pagtawag ito variable n ay isang convention lamang. 235 00:11:13,580 --> 00:11:15,130 Sana tinatawag ko ito karamihan ng kahit ano. 236 00:11:15,130 --> 00:11:17,460 Ngayon line dalawang demarks sa simula ng isang loop, 237 00:11:17,460 --> 00:11:20,550 isang pagkakasunod-sunod ng mga hakbang na gagawin ulitin ang ilang bilang ng beses. 238 00:11:20,550 --> 00:11:24,130 Kaya sa aming halimbawa, ang mga hakbang na kami ay pagkuha ay pagbibilang ng mga tao sa kuwarto. 239 00:11:24,130 --> 00:11:26,260 Sa ilalim na linya ay dalawang linya tatlong na naglalarawan 240 00:11:26,260 --> 00:11:28,400 nang eksakto kung paano namin pumunta tungkol sa pagbibilang. 241 00:11:28,400 --> 00:11:31,720 Nagpapahiwatig indentation Ang na ito ay na ulitin tatlong linya. 242 00:11:31,720 --> 00:11:35,190 Kaya sa pseudocode code ay sinasabi ay na pagkatapos ng simula sa 0 243 00:11:35,190 --> 00:11:38,940 para sa bawat tao sa room namin taasan n ng 1 244 00:11:38,940 --> 00:11:41,310 Ngayon ay tama algorithm na ito? 245 00:11:41,310 --> 00:11:42,820 Ni Bang dito nang kaunti na rin ipaalam. 246 00:11:42,820 --> 00:11:45,520 >> Gumagana ba ito kung may mga dalawang tao sa room? 247 00:11:45,520 --> 00:11:46,420 Ni makita Hayaan. 248 00:11:46,420 --> 00:11:48,500 Sa linya ng isa initialize namin n sa 0. 249 00:11:48,500 --> 00:11:51,910 Para sa bawat isa sa mga dalawang tao, pagkatapos ay dinagdagan namin n pamamagitan 1. 250 00:11:51,910 --> 00:11:55,570 Kaya sa unang paglalakbay sa pamamagitan ng loop, i-update namin n 0-1. 251 00:11:55,570 --> 00:11:59,320 Sa pangalawang paglakbay sa na parehong loop, i-update namin n 1-2. 252 00:11:59,320 --> 00:12:02,850 At kaya, sa pamamagitan ng algorithm na ito ng end, n 2, na 253 00:12:02,850 --> 00:12:04,950 sa katunayan ay tumutugma sa numero ng ng mga tao sa kuwarto. 254 00:12:04,950 --> 00:12:06,040 Sa ngayon, kaya mabuti. 255 00:12:06,040 --> 00:12:07,870 >> Paano ang tungkol sa isang sulok kaso bagaman? 256 00:12:07,870 --> 00:12:11,090 Ipagpalagay na mayroong 0 tao sa room-- bukod sa akin, kung sino ang 257 00:12:11,090 --> 00:12:12,420 paggawa nadaragdagan pa. 258 00:12:12,420 --> 00:12:15,380 Sa linya ng isa, muli naming initialize n sa 0. 259 00:12:15,380 --> 00:12:17,810 Oras na ito bagaman, linya tatlong ay hindi maisagawa sa lahat 260 00:12:17,810 --> 00:12:19,610 dahil may ay hindi isang tao sa kuwarto. 261 00:12:19,610 --> 00:12:23,540 At kaya n nananatiling 0, na sa katunayan ay tumutugma ang bilang ng mga tao sa kuwarto. 262 00:12:23,540 --> 00:12:24,670 Pretty simple, tama? 263 00:12:24,670 --> 00:12:27,880 Ngunit pagbibilang ng mga tao nang paisa-isa ay medyo hindi mabisa, masyadong, walang? 264 00:12:27,880 --> 00:12:29,160 Tiyak na maaari naming gawin mas mahusay. 265 00:12:29,160 --> 00:12:33,440 Bakit hindi mabibilang ng dalawang tao sa isang pagkakataon, sa halip ng pagbibilang ng isa, dalawa, tatlo, 266 00:12:33,440 --> 00:12:36,470 apat, limang, anim, pitong, walo, at iba pa. 267 00:12:36,470 --> 00:12:39,106 Bakit hindi bilangin ng dalawa, apat, anim, walong, at iba pa? 268 00:12:39,106 --> 00:12:40,670 Ito mas mabilis pang tunog. 269 00:12:40,670 --> 00:12:41,940 At ito ay tiyak ay. 270 00:12:41,940 --> 00:12:44,490 >> Ipahayag ni optimization na ito Hayaan sa pseudocode code. 271 00:12:44,490 --> 00:12:46,040 Hayaan n katumbas ng 0. 272 00:12:46,040 --> 00:12:50,760 Para sa bawat pares ng mga tao sa room, itakda n katumbas ng n plus 2. 273 00:12:50,760 --> 00:12:52,360 Pretty simpleng pagbabago, i-right? 274 00:12:52,360 --> 00:12:56,560 Sa halip na bilangin ang mga tao nang paisa-isa, sa halip namin bilangin ang mga ito ng dalawang sa isang pagkakataon. 275 00:12:56,560 --> 00:12:59,240 Algorithm na ito, kaya, dalawang beses nang mas mabilis hangga't ang huling. 276 00:12:59,240 --> 00:13:00,530 Ngunit ito ay tama? 277 00:13:00,530 --> 00:13:01,160 Ni makita Hayaan. 278 00:13:01,160 --> 00:13:03,580 Gumagana ba ito kung may mga dalawang tao sa room? 279 00:13:03,580 --> 00:13:05,800 Sa linya ng isa, initialize namin n sa 0. 280 00:13:05,800 --> 00:13:09,160 Para sa na ng isang pares ng mga tao, pagkatapos ay dinagdagan namin n pamamagitan ng 2. 281 00:13:09,160 --> 00:13:11,910 At ito sa pamamagitan ng algorithm na ito pagtatapos n 2, na 282 00:13:11,910 --> 00:13:13,910 sa katunayan ay tumutugma sa numero ng ng mga tao sa kuwarto. 283 00:13:13,910 --> 00:13:16,610 >> Ipagpalagay susunod na mayroong zero mga tao sa kuwarto. 284 00:13:16,610 --> 00:13:19,080 Sa linya ng isa initialize namin n sa 0. 285 00:13:19,080 --> 00:13:21,260 Tulad ng dati, linya tatlong Hindi maisagawa ang lahat ng ito 286 00:13:21,260 --> 00:13:25,270 dahil walang anumang mga pares ng mga tao sa room, at sa gayon n nananatiling 0. 287 00:13:25,270 --> 00:13:27,840 Aling sa katunayan ay tumutugma sa bilang ng mga tao sa kuwarto. 288 00:13:27,840 --> 00:13:30,520 Ngunit ano kung mayroong tatlong tao sa room? 289 00:13:30,520 --> 00:13:32,380 Paano gumagana ang algorithm ng pamasahe? 290 00:13:32,380 --> 00:13:35,710 Ni makita, sa linya ng isa Hayaan, initialize namin n sa 0. 291 00:13:35,710 --> 00:13:39,140 Para sa isang pares ng mga taong iyon, pagkatapos ay dinagdagan namin n pamamagitan ng 2. 292 00:13:39,140 --> 00:13:40,050 Ngunit pagkatapos ay kung ano? 293 00:13:40,050 --> 00:13:42,340 Walang ibang full pares ng mga tao sa room, 294 00:13:42,340 --> 00:13:44,430 kaya dalawang linya hindi na nalalapat. 295 00:13:44,430 --> 00:13:48,790 At ito sa pamamagitan ng pagtatapos ng algorithm na ito, n ay 2 pa rin na kung saan ay hindi tama. 296 00:13:48,790 --> 00:13:52,070 Sa katunayan sinabi algorithm na ito sa maging mayroong bug dahil mayroon itong pagkakamali. 297 00:13:52,070 --> 00:13:54,070 >> Sabihin redress na may ilang bagong pseudocode code. 298 00:13:54,070 --> 00:13:56,110 Hayaan n katumbas ng 0. 299 00:13:56,110 --> 00:14:00,790 Para sa bawat pares ng mga tao sa room, itakda ang N katumbas ng n plus 2. 300 00:14:00,790 --> 00:14:05,410 Kung ang isang tao ay nananatiling unpaired, itakda ang N katumbas ng n plus 1. 301 00:14:05,410 --> 00:14:09,340 Upang malutas ang partikular na problema, hindi namin ipinakilala sa isang kondisyon linya apat, 302 00:14:09,340 --> 00:14:12,120 kung hindi man ay kilala bilang isang sangay, na lamang executes 303 00:14:12,120 --> 00:14:14,890 kung mayroong isang tao namin Hindi ma ipares sa isa pa. 304 00:14:14,890 --> 00:14:17,140 At kaya ngayon, kung mayroong isa, o tatlo, 305 00:14:17,140 --> 00:14:21,550 o anumang kakaibang bilang ng mga tao sa room, algorithm na ito ay mabibilang na ngayon ang mga ito. 306 00:14:21,550 --> 00:14:22,810 Maaari mas mahusay ang ginagawa namin? 307 00:14:22,810 --> 00:14:25,890 Well, maaari naming bilangin sa threes, o fours, o kahit fives at sampu-sampung, 308 00:14:25,890 --> 00:14:29,390 ngunit lampas na, ay ito pagpunta upang makakuha ng Medyo mahirap upang ituro. 309 00:14:29,390 --> 00:14:32,900 >> Sa pagtatapos ng araw, kung ang isinasagawa ng mga computer o mga kawani na tao, 310 00:14:32,900 --> 00:14:34,870 algorithm lamang isang hanay ng mga tagubilin 311 00:14:34,870 --> 00:14:36,560 kung saan upang malutas ang problema. 312 00:14:36,560 --> 00:14:38,360 Ang mga ay tatlo lamang. 313 00:14:38,360 --> 00:14:41,860 Ano ang problema ng ginagawa mo malutas gamit ang isang algorithm? 314 00:14:41,860 --> 00:14:44,261 >> David J. MALAN: Kaya sadyang, isang napaka-simpleng programa, 315 00:14:44,261 --> 00:14:46,260 isang napaka-simpleng algorithm, para sa pagkamit ng isang bagay 316 00:14:46,260 --> 00:14:48,280 napaka-simple, ang pagbibilang ng bilang ng mga tao sa kuwarto. 317 00:14:48,280 --> 00:14:50,370 >> Ngunit ni tease bukod hayaan ang ilan sa mga kinatawan 318 00:14:50,370 --> 00:14:52,870 Nagtatampok dito na talaga pagpunta sa maging kapaki-pakinabang kahit na 319 00:14:52,870 --> 00:14:54,880 ang pagpapatupad ng mga pinaka- complex ng software. 320 00:14:54,880 --> 00:14:58,060 Kaya halimbawa, sa unang linya, mayroon kaming kung ano ang tinatawag naming ang variable, 321 00:14:58,060 --> 00:15:01,040 at mula sa algebra, ikaw ay Sa pangkalahatan ay pamilyar gamit ang x at y 322 00:15:01,040 --> 00:15:02,930 at z minsan, at iba pa. 323 00:15:02,930 --> 00:15:05,770 Ngunit sa programming, variable hindi pa rin, sa pagtatapos ng araw, 324 00:15:05,770 --> 00:15:06,680 na halos kapareho sa na. 325 00:15:06,680 --> 00:15:09,910 Pero siguro mas simple mag-isip ng isang variable na bilang isang lalagyan lamang. 326 00:15:09,910 --> 00:15:13,520 At, sa katunayan, ito ang ilang bilang ng mga piraso ipinatupad sa anumang paraan sa iyong hard disk 327 00:15:13,520 --> 00:15:16,410 o sa memory ng iyong computer, ngunit higit pa sa na sa hinaharap. 328 00:15:16,410 --> 00:15:17,670 Ito ay isang lalagyan lamang. 329 00:15:17,670 --> 00:15:20,310 At kung sabihin mo ng isang bagay tulad ng hayaan n katumbas ng 0, 330 00:15:20,310 --> 00:15:24,310 mahusay na tulad ng pagtawag ito glass mangkok dito n, lamang ang isang arbitrary na pangalan, 331 00:15:24,310 --> 00:15:26,230 at paglalagay walang anuman sa ito sa umpisa. 332 00:15:26,230 --> 00:15:28,940 Kaya ang halaga ng ito mangkok ngayon ay zero. 333 00:15:28,940 --> 00:15:31,380 At syempre kung perceive mo sa isang kasunod na linya, 334 00:15:31,380 --> 00:15:35,070 upang aktwal na dinagdagan ng ilang mga linya ng code, tulad ng sa pangatlong linya na ito dito, 335 00:15:35,070 --> 00:15:39,857 sa pamamagitan ng 1, na tulad ng sinasabi kung ano ang mga kasalukuyang halaga ng n, ito ay 0, plus 1, 336 00:15:39,857 --> 00:15:41,690 maglagay ng isang bagay tulad ng isang ping pong ball in dito. 337 00:15:41,690 --> 00:15:45,140 Ngayon ang halaga ng ito variable ay medyo simple 1. 338 00:15:45,140 --> 00:15:50,064 At maaari mong masyadong mabilis extrapolate, ngunit ngayon ito ay 2, ngayon na 3, at iba pa. 339 00:15:50,064 --> 00:15:51,230 Kaya na ang lahat ng variable ay. 340 00:15:51,230 --> 00:15:53,740 Ito ay isang piraso ng imbakan sa talaga mag-imbak ng ilang data. 341 00:15:53,740 --> 00:15:55,050 Para sa ngayon ito ay isang ping pong ball. 342 00:15:55,050 --> 00:15:55,883 May ito ay isang numero. 343 00:15:55,883 --> 00:15:58,910 Ngunit maaaring ito ay mga salita sa isang diksyonaryo, tulad ng spell checker 344 00:15:58,910 --> 00:16:02,300 Alluded kong sa Miyerkules para sa isa sa mga hanay ng problema noong nakaraang taon ni. 345 00:16:02,300 --> 00:16:05,640 >> Ngayon isa pang key ideya, na katulad ay medyo madaling maunawaan Gusto ko i-claim, 346 00:16:05,640 --> 00:16:06,690 ay na ng isang loop. 347 00:16:06,690 --> 00:16:08,930 At nakikipag-ugnayan sa proseso ng ng pagbibilang sa lahat ng tao 348 00:16:08,930 --> 00:16:12,540 ay, siyempre, ang paggawa ng parehong muli bagay at again-- ang alinman sa isa 349 00:16:12,540 --> 00:16:14,140 sa isa o dalawang oras sa isang pagkakataon. 350 00:16:14,140 --> 00:16:17,690 At maaari mong ipahayag ito sa wikang Ingles, o pseudocode code, sa anumang bilang ng mga paraan, 351 00:16:17,690 --> 00:16:21,560 ngunit ang paggamit ito pang-ukol "para sa" ay isang napaka-karaniwang paraan ng paggawa na. 352 00:16:21,560 --> 00:16:24,460 Para sa bawat tao sa kuwarto, gawin ito. 353 00:16:24,460 --> 00:16:25,350 Muli at muli. 354 00:16:25,350 --> 00:16:27,700 At ang katotohanan na ito ay naka-indent, linya tatlong, 355 00:16:27,700 --> 00:16:29,840 Nangangahulugan lamang na kung ano ang ka dapat gawin 356 00:16:29,840 --> 00:16:33,490 ay ang mga bagay-bagay na naka-indent sa ibaba ang dalawang mismong linya. 357 00:16:33,490 --> 00:16:35,590 Isang tao convention lang, ngunit isang karaniwang isa 358 00:16:35,590 --> 00:16:39,010 dahil kakailanganin namin makita sa aktwal na mas mataas antas ng programming wika. 359 00:16:39,010 --> 00:16:41,870 >> Maliit na ngayon na mas kawili-wiling ay kapag nakakuha ka sa isang sulok kaso. 360 00:16:41,870 --> 00:16:43,970 Halimbawa, ang isang sulok kaso ay kapag may 361 00:16:43,970 --> 00:16:48,060 ay tatlong tao, o limang, o pitong, o anumang kakaibang bilang ng mga tao sa room, 362 00:16:48,060 --> 00:16:51,630 dahil ang paggawa na sa pamamagitan ng twos preno Sa kalaunan dahil ang iyong pagpunta 363 00:16:51,630 --> 00:16:54,265 na makaligtaan ang sinuman, alinman sa napaka simula o dulo napaka 364 00:16:54,265 --> 00:16:55,390 depende sa kung paano ito gawin. 365 00:16:55,390 --> 00:16:59,800 At sa gayon, ngayon, mayroon akong ito sangay, o kondisyon, kung ang isang tao ay nananatiling, 366 00:16:59,800 --> 00:17:04,490 pagkatapos ay magpatuloy at pangasiwaan ang isa na lonesome tao na hindi makakuha ng 367 00:17:04,490 --> 00:17:05,690 pagpaparisin sa ibang tao. 368 00:17:05,690 --> 00:17:09,030 Kaya na kung ano ang gusto namin tumawag isang kundisyon, o isang branch. 369 00:17:09,030 --> 00:17:11,500 >> Pseudocode Ngayon code higit pa sa pangkalahatan ay maaaring maging 370 00:17:11,500 --> 00:17:13,730 nakasulat sa paglutas ng anumang bilang ng mga problema. 371 00:17:13,730 --> 00:17:16,490 At kung ano ang inisip ko naming nais gawin dito ay maglaan ng ilang sandali 372 00:17:16,490 --> 00:17:20,089 mag-anyaya ay dapat naming sabihin CS50 ni pagmamay-ari Rob Bowden sa entablado 373 00:17:20,089 --> 00:17:25,040 upang sumali sa pamamagitan ng dalawang mga boluntaryo, sino ay walang ideya kung ano ang naghihintay. 374 00:17:25,040 --> 00:17:26,890 Nagpunta down na kamay Isang lalong madaling sinabi ko na. 375 00:17:26,890 --> 00:17:28,700 Paano tungkol sa iyo sa magtapos dito, dumating sa up. 376 00:17:28,700 --> 00:17:33,040 At kung paano tungkol sa mula sa mas malayo ang layo, kung paano tungkol sa paraan sa likod. 377 00:17:33,040 --> 00:17:35,200 Bumalik hilera, dumating sa up gamit ang iyong mga kamay up. 378 00:17:35,200 --> 00:17:36,475 Tama, at kung ano ang iyong pangalan? 379 00:17:36,475 --> 00:17:36,960 >> Anita: Anita. 380 00:17:36,960 --> 00:17:37,655 >> David J. MALAN: Anita. 381 00:17:37,655 --> 00:17:38,613 Okay, mabait sa matugunan mo. 382 00:17:38,613 --> 00:17:41,010 Hayaan akong kitang ipakilala sa Rob Bowden. 383 00:17:41,010 --> 00:17:42,890 Ito ay Anita. 384 00:17:42,890 --> 00:17:44,033 At kung ano ang pangalan mo? 385 00:17:44,033 --> 00:17:44,800 >> KIERSTEN: Kiersten 386 00:17:44,800 --> 00:17:46,020 >> David J. MALAN: Kiersten. 387 00:17:46,020 --> 00:17:49,790 Kiersten, dumating sa pataas at matugunan Rob Bowden at Anita. 388 00:17:49,790 --> 00:17:51,036 Nice upang matugunan mo. 389 00:17:51,036 --> 00:17:52,160 KIERSTEN: Nice upang matugunan mo. 390 00:17:52,160 --> 00:17:53,368 David J. MALAN: tama, Rob. 391 00:17:53,368 --> 00:17:54,650 Rob BOWDEN: Nice upang matugunan mo. 392 00:17:54,650 --> 00:17:55,566 David J. MALAN: Anita. 393 00:17:55,566 --> 00:17:56,520 KIERSTEN: Hi Anita. 394 00:17:56,520 --> 00:17:58,686 David J. MALAN: At ang iyong ilang daang mga kaklase. 395 00:17:58,686 --> 00:18:02,490 Kaya, ngayon hayaan mo akong sige at hilahin up lamang ang simpleng programa dito 396 00:18:02,490 --> 00:18:05,690 sa Mac OS na kailangan ipaalam sa akin talaga-lista ng ilang mga tala pababa. 397 00:18:05,690 --> 00:18:09,570 At kung ikaw guys gusto sa bawat isa kumuha ng isang posisyon sa isa sa mga paaralan doon, 398 00:18:09,570 --> 00:18:16,360 hayaan mo akong sige at nagsisimula sa isang listahan pseudocode ng code, kung gagawin mo. 399 00:18:16,360 --> 00:18:19,970 At kung ano ang gusto kong gawin dito, sa huli ay uri para sa iyo 400 00:18:19,970 --> 00:18:22,470 ang ilang mga tagubilin na aming mga miyembro ng madla ay aktwal na 401 00:18:22,470 --> 00:18:23,569 pagpunta sa recite para sa amin. 402 00:18:23,569 --> 00:18:25,860 Hayaan akong sige at lamang baguhin ito sa isang listahan ng may bilang 403 00:18:25,860 --> 00:18:27,720 upang tumugma sa kung ano ang ginagawa namin ay up doon. 404 00:18:27,720 --> 00:18:30,990 At kung ano ang pupuntahan ko gawin sa iyong tulong, ay magsulat ng isang programa 405 00:18:30,990 --> 00:18:34,620 sa pseudocode, kung saan mga guys ay pumunta sa 406 00:18:34,620 --> 00:18:38,150 upang ipatupad ang mani butter at halaya sanwits. 407 00:18:38,150 --> 00:18:40,880 Kaya marahil apropos sa magpakita ng isang bagay ilan sa inyo 408 00:18:40,880 --> 00:18:44,560 Maaaring nakita sa internet para lamang ng isang maikling nakakainis na sandali. 409 00:18:44,560 --> 00:18:47,650 >> [Musika BUCKEWHEAT lalaki, "peanut butter  Halaya TIME "] 410 00:18:47,650 --> 00:19:08,119 411 00:19:08,119 --> 00:19:08,910 David J. MALAN: OK. 412 00:19:08,910 --> 00:19:10,050 Tama na ganyan. 413 00:19:10,050 --> 00:19:12,690 Kaya dito samantala, mayroon akong pares ng Google Salamin na 414 00:19:12,690 --> 00:19:16,500 maglalagay kami sa sariling Rob Bowden CS50 ni upang makita ng buong mundo sa pamamagitan ng kanyang mga mata. 415 00:19:16,500 --> 00:19:19,140 At kami na ang aming pinakamahusay na sa post na ito produksyon upang aktwal na weave 416 00:19:19,140 --> 00:19:23,100 ang footage ng kung ano ang Rob ay nakikita ngayon, sa aktwal na ito panayam 417 00:19:23,100 --> 00:19:26,420 na video sa aming dalawang mga boluntaryo sa tabi niya. 418 00:19:26,420 --> 00:19:28,480 Kaya kung ano ako pagpunta sa gawin ay, magpapadala ako maging tagapagmakinilya. 419 00:19:28,480 --> 00:19:31,849 Mayroon kaming mga layunin dito ng talaga ang pagsusulat ng programa 420 00:19:31,849 --> 00:19:34,640 kung saan upang gumawa, sa huli, isang peanut butter at halaya sanwits, 421 00:19:34,640 --> 00:19:37,680 ngunit ang tatlong ay pagpunta sa kumilos na waring ang mga ito ay mga computer. 422 00:19:37,680 --> 00:19:40,638 At mga computer, sa pagtatapos ng araw, ay aktwal na medyo pipi device. 423 00:19:40,638 --> 00:19:44,432 Ang mga ito ay napakabilis na, ngunit maaari nilang lamang gawin, literal, kung ano ang mga ito ay sinabi. 424 00:19:44,432 --> 00:19:46,890 Hindi mo maaaring sabihin lamang gumawa ng mani butter at halaya sanwits. 425 00:19:46,890 --> 00:19:48,640 Mayroon kang sa programa ang mga ito upang gawin iyon. 426 00:19:48,640 --> 00:19:51,420 Kailangan mong sabihin sa kanila may katumpakan kung ano ang gagawin, 427 00:19:51,420 --> 00:19:54,400 mas bagay pumunta horribly at, sana ay, amusingly pilipit. 428 00:19:54,400 --> 00:19:57,460 >> Kaya may sinabi na iyon, kailangan namin isa call-out mula sa mga madla 429 00:19:57,460 --> 00:19:59,440 para sa kung ano ang dapat basa isa ay, kung ang layunin dito 430 00:19:59,440 --> 00:20:01,356 ay upang gumawa ng mani butter at halaya sanwits. 431 00:20:01,356 --> 00:20:01,910 Oo? 432 00:20:01,910 --> 00:20:03,647 >> Madla: [INAUDIBLE] ang bag ng tinapay. 433 00:20:03,647 --> 00:20:05,230 David J. MALAN: Buksan ang bag ng tinapay. 434 00:20:05,230 --> 00:20:08,360 Kaya kung ang tatlong contestants gagawin gustong magpatuloy upang gawin iyon nang literal. 435 00:20:08,360 --> 00:20:12,394 Buksan ang bag ng tinapay. 436 00:20:12,394 --> 00:20:15,810 >> [Madla tumatawa] 437 00:20:15,810 --> 00:20:20,717 438 00:20:20,717 --> 00:20:22,300 David J. MALAN: gumana sa na Kaya ipaalam. 439 00:20:22,300 --> 00:20:23,180 Lahat ng karapatan. 440 00:20:23,180 --> 00:20:25,400 Kaya hakbang dalawa, how-- sabihin tumagal ito nang higit pa. 441 00:20:25,400 --> 00:20:26,480 Oo, nasa harap. 442 00:20:26,480 --> 00:20:27,240 >> Madla: [INAUDIBLE] ang tinapay. 443 00:20:27,240 --> 00:20:27,735 >> David J. MALAN: Ano iyon? 444 00:20:27,735 --> 00:20:28,836 >> Madla: Alisin ang tinapay. 445 00:20:28,836 --> 00:20:30,210 David J. MALAN: Alisin ang tinapay. 446 00:20:30,210 --> 00:20:31,190 Katulad nito succinct. 447 00:20:31,190 --> 00:20:33,667 Salamat sa iyo. 448 00:20:33,667 --> 00:20:43,777 >> [APPLAUSE] 449 00:20:43,777 --> 00:20:44,860 David J. MALAN: Iyon ang dahilan nito? 450 00:20:44,860 --> 00:20:48,830 OK, kaya hakbang dalawang ay pagpunta upang maging alisin ang tinapay. 451 00:20:48,830 --> 00:20:51,790 Tama, may isang taong nais na sumulat sa amin ng mas mahabang pangungusap? 452 00:20:51,790 --> 00:20:52,640 May ibang? 453 00:20:52,640 --> 00:20:53,920 Isang kaunti pa [INAUDIBLE]. 454 00:20:53,920 --> 00:20:54,810 Hindi, wala na ngayon. 455 00:20:54,810 --> 00:20:56,094 Oo? 456 00:20:56,094 --> 00:20:58,900 >> Madla: Ilagay dalawang hiwa sa tabi ng bawat isa. 457 00:20:58,900 --> 00:21:03,575 >> David J. MALAN: Ilagay dalawang hiwa sa tabi ng bawat isa. 458 00:21:03,575 --> 00:21:06,420 >> [Madla tumatawa] 459 00:21:06,420 --> 00:21:09,590 >> David J. MALAN: Ilagay dalawang hiwa sa tabi ng bawat isa. 460 00:21:09,590 --> 00:21:11,334 Hakbang apat. 461 00:21:11,334 --> 00:21:12,816 Oo? 462 00:21:12,816 --> 00:21:14,792 >> Madla: Dalhin mo ang iyong kamay at itakda ito basta-basta 463 00:21:14,792 --> 00:21:17,756 sa tuktok ng peanut butter panakip. 464 00:21:17,756 --> 00:21:19,710 >> [Madla tumatawa] 465 00:21:19,710 --> 00:21:21,710 Madla: [INAUDIBLE] sa tabi ng peanut butter. 466 00:21:21,710 --> 00:21:21,870 David J. MALAN: Ano? 467 00:21:21,870 --> 00:21:22,520 Sabihing na muli. 468 00:21:22,520 --> 00:21:26,308 >> Madla: Unscrew ang takip at ilagay ito malumanay sa tabi ng peanut butter. 469 00:21:26,308 --> 00:21:31,490 >> David J. MALAN: Ilagay ninyo malumanay sa tabi ng peanut butter. 470 00:21:31,490 --> 00:21:37,770 471 00:21:37,770 --> 00:21:40,090 OK, pag-unlad. 472 00:21:40,090 --> 00:21:41,080 Hakbang limang. 473 00:21:41,080 --> 00:21:42,380 Mahusay. 474 00:21:42,380 --> 00:21:43,261 Oo? 475 00:21:43,261 --> 00:21:44,163 >> Kunin ang kutsilyo. 476 00:21:44,163 --> 00:21:46,380 477 00:21:46,380 --> 00:21:47,630 David J. MALAN: Pumili ng hanggang kutsilyo. 478 00:21:47,630 --> 00:21:52,320 479 00:21:52,320 --> 00:21:53,631 OK, magbasa-anim. 480 00:21:53,631 --> 00:21:54,130 Oo? 481 00:21:54,130 --> 00:21:56,237 >> Madla: Pindutin nang matagal ang kutsilyo sa pamamagitan ng ang hawakan. 482 00:21:56,237 --> 00:21:57,945 David J. MALAN: Hold kutsilyo sa pamamagitan ng ang hawakan. 483 00:21:57,945 --> 00:22:00,710 484 00:22:00,710 --> 00:22:03,230 Pindutin nang matagal ang kutsilyo sa pamamagitan ng ang hawakan. 485 00:22:03,230 --> 00:22:04,880 Hakbang pitong. 486 00:22:04,880 --> 00:22:05,692 Oo? 487 00:22:05,692 --> 00:22:10,030 >> Madla: [INAUDIBLE] kutsilyo sa mani butter at ng kasing-baba out si [INAUDIBLE]. 488 00:22:10,030 --> 00:22:13,070 >> David J. MALAN: Ilagay ang kutsilyo in-- ko narinig "ilagay ang kutsilyo sa peanut butter 489 00:22:13,070 --> 00:22:19,500 at tumagal ng kaunti out hangga't maaari. " 490 00:22:19,500 --> 00:22:22,480 Sa pamamagitan ng paraan, alisin muna ang papel. 491 00:22:22,480 --> 00:22:29,320 492 00:22:29,320 --> 00:22:31,890 Ang lahat ng mga karapatan, magbasa-siyam. 493 00:22:31,890 --> 00:22:34,910 Hakbang siyam. 494 00:22:34,910 --> 00:22:35,624 Hakbang siyam. 495 00:22:35,624 --> 00:22:37,290 Na namin talagang hindi pa ginawa ng sandwich. 496 00:22:37,290 --> 00:22:37,790 Oo? 497 00:22:37,790 --> 00:22:41,570 Madla: Ang paggamit ng kutsilyo sa peanut butter, ilapat ang peanut butter sa sinabi tinapay. 498 00:22:41,570 --> 00:22:47,440 >> David J. MALAN: Ang paggamit ng kutsilyo sa peanut butter, ilapat ang peanut butter sa 499 00:22:47,440 --> 00:22:48,736 Sinabi tinapay. 500 00:22:48,736 --> 00:22:56,030 >> [Madla tumatawa] 501 00:22:56,030 --> 00:22:59,480 David J. MALAN: Lahat ng karapatan hakbang 10. 502 00:22:59,480 --> 00:23:01,762 Hakbang 10. 503 00:23:01,762 --> 00:23:02,750 Oo? 504 00:23:02,750 --> 00:23:05,220 >> Madla: Taste mani mantikilya upang matiyak na kalidad. 505 00:23:05,220 --> 00:23:15,960 >> [Madla tumatawa] 506 00:23:15,960 --> 00:23:16,960 David J. MALAN: Hakbang 11. 507 00:23:16,960 --> 00:23:19,500 508 00:23:19,500 --> 00:23:21,340 Hakbang 11. 509 00:23:21,340 --> 00:23:22,101 Hakbang 11. 510 00:23:22,101 --> 00:23:22,600 Halika sa. 511 00:23:22,600 --> 00:23:23,099 Oo? 512 00:23:23,099 --> 00:23:24,208 I-right doon. 513 00:23:24,208 --> 00:23:25,840 >> Madla: Maingat na kunin halaya. 514 00:23:25,840 --> 00:23:28,220 >> David J. MALAN: Maingat na kunin halaya. 515 00:23:28,220 --> 00:23:29,970 OK, at pagkatapos ay isa pang kamay ay up. 516 00:23:29,970 --> 00:23:32,812 517 00:23:32,812 --> 00:23:33,520 Kanan sa likod mo. 518 00:23:33,520 --> 00:23:35,761 Oo, sa asul. 519 00:23:35,761 --> 00:23:40,671 >> Madla: Lahat ng karapatan, alisin panakip mula sa [INAUDIBLE], Oo, 520 00:23:40,671 --> 00:23:42,635 alisin ang takip mula sa halaya. 521 00:23:42,635 --> 00:23:43,617 >> [Madla tumatawa] 522 00:23:43,617 --> 00:23:44,742 >> David J. MALAN: Mula halaya. 523 00:23:44,742 --> 00:23:45,581 Ha ha. 524 00:23:45,581 --> 00:23:48,967 >> [Madla tumatawa] 525 00:23:48,967 --> 00:23:49,800 David J. MALAN: At? 526 00:23:49,800 --> 00:23:52,490 Madla: At bahagya Maglimas anumang [INAUDIBLE]. 527 00:23:52,490 --> 00:23:59,536 [Madla tumatawa] 528 00:23:59,536 --> 00:24:04,456 Madla: Siyempre, bago [INAUDIBLE], alisin ang papel mula sa halaya. 529 00:24:04,456 --> 00:24:06,940 David J. MALAN: Alisin ang papel mula sa halaya. 530 00:24:06,940 --> 00:24:08,229 Hakbang 14. 531 00:24:08,229 --> 00:24:09,020 Kami ay halos doon. 532 00:24:09,020 --> 00:24:09,857 Oo? 533 00:24:09,857 --> 00:24:12,600 >> Madla: Baliktarin ang bote halaya bago ang lahat ng bagay ay bumaba out. 534 00:24:12,600 --> 00:24:16,515 >> David J. MALAN: Baliktarin ang halaya bote bago halaya ay bumaba out. 535 00:24:16,515 --> 00:24:19,070 536 00:24:19,070 --> 00:24:19,890 Hakbang 15. 537 00:24:19,890 --> 00:24:21,130 >> Madla: Palitan ang cap. 538 00:24:21,130 --> 00:24:22,463 >> David J. MALAN: Palitan ang cap. 539 00:24:22,463 --> 00:24:25,880 540 00:24:25,880 --> 00:24:28,190 Hakbang 16. 541 00:24:28,190 --> 00:24:28,931 Oo? 542 00:24:28,931 --> 00:24:29,806 >> Madla: [INAUDIBLE] 543 00:24:29,806 --> 00:24:34,109 544 00:24:34,109 --> 00:24:35,400 David J. MALAN: Sabihing na muli. 545 00:24:35,400 --> 00:24:38,100 Madla: Kumuha ng cap-off ng iyong halaya. 546 00:24:38,100 --> 00:24:39,650 David J. MALAN: Naka-off ang iyong halaya. 547 00:24:39,650 --> 00:24:43,720 548 00:24:43,720 --> 00:24:49,510 Kaya really-- Oops. 549 00:24:49,510 --> 00:24:50,420 Halika sa. 550 00:24:50,420 --> 00:24:51,740 Palitan ang cap. 551 00:24:51,740 --> 00:24:56,660 Ilagay ang cap-- Sinabi mo alisin ang takip mula sa halaya. 552 00:24:56,660 --> 00:24:58,950 Huwag mag-tulad ng hindi namin sa isang bit ng isang loop. 553 00:24:58,950 --> 00:24:59,640 Hakbang 17. 554 00:24:59,640 --> 00:25:00,398 Oo? 555 00:25:00,398 --> 00:25:02,639 >> Madla: [INAUDIBLE] 556 00:25:02,639 --> 00:25:03,930 David J. MALAN: Sabihing na muli. 557 00:25:03,930 --> 00:25:05,150 Madla: [INAUDIBLE] 558 00:25:05,150 --> 00:25:07,835 David J. MALAN: Bumalik sa step-- 559 00:25:07,835 --> 00:25:10,110 Madla: [INAUDIBLE] 560 00:25:10,110 --> 00:25:13,760 David J. MALAN: Alisin ang cap mula sa peanut butter. 561 00:25:13,760 --> 00:25:14,492 Oo? 562 00:25:14,492 --> 00:25:16,430 >> Madla: I-drop ang lahat ng mga halaya sa tinapay. 563 00:25:16,430 --> 00:25:19,040 >> David J. MALAN: I-drop ang lahat ang halaya sa tinapay. 564 00:25:19,040 --> 00:25:25,372 565 00:25:25,372 --> 00:25:26,830 David J. MALAN: Kami ay halos doon. 566 00:25:26,830 --> 00:25:27,800 Hakbang 19. 567 00:25:27,800 --> 00:25:30,250 >> Madla: Alisin ang labis halaya. 568 00:25:30,250 --> 00:25:31,720 >> David J. MALAN: Haha, halaya. 569 00:25:31,720 --> 00:25:36,615 >> [APPLAUSE] 570 00:25:36,615 --> 00:25:39,240 David J. MALAN: Bakit hindi we-- Isang hakbang upang kunin ito sa bahay. 571 00:25:39,240 --> 00:25:41,720 Isa pang hakbang at pagkatapos ay Makikita kaming maghatid ng mga sandwich. 572 00:25:41,720 --> 00:25:42,900 Oo? 573 00:25:42,900 --> 00:25:45,570 >> Madla: [INAUDIBLE] 574 00:25:45,570 --> 00:25:50,704 >> David J. MALAN: Habang anumang sanwits indent remains-- let ni this-- kumain. 575 00:25:50,704 --> 00:25:56,400 >> [Madla pagtawa] 576 00:25:56,400 --> 00:26:00,395 >> David J. MALAN: Lahat ng karapatan, salamat ka sa aming mga boluntaryo dito. 577 00:26:00,395 --> 00:26:06,150 >> [APPLAUSE} 578 00:26:06,150 --> 00:26:08,940 >> David J. MALAN: Mayroon kaming ilang mga magaling pamamaalam regalo para sa bawat isa sa iyo. 579 00:26:08,940 --> 00:26:14,350 Ang iyong sariling peanut butter, halaya, at tinapay na magdala pabalik sa bahay. 580 00:26:14,350 --> 00:26:15,774 Salamat sa iyo. 581 00:26:15,774 --> 00:26:17,118 >> KIERSTEN: Salamat sa iyo. 582 00:26:17,118 --> 00:26:18,618 David J. MALAN: [INAUDIBLE] maligayang pagdating. 583 00:26:18,618 --> 00:26:21,849 [APPLAUSE] 584 00:26:21,849 --> 00:26:24,390 David J. MALAN: Kaya, ito ay, ng Siyempre, isang katawa-tawa halimbawa. 585 00:26:24,390 --> 00:26:24,890 Mag-right? 586 00:26:24,890 --> 00:26:28,890 Ngunit ito uri ng magbunyag kung paano namin mga kawani na tao tumagal lamang kalinawan para sa ipinagkaloob. 587 00:26:28,890 --> 00:26:30,890 At ang katotohanan pa ako pakikipag-usap sa isa pang tao, 588 00:26:30,890 --> 00:26:33,300 siya lamang ang nakakaalam kung ano ang iyong ibig sabihin. 589 00:26:33,300 --> 00:26:35,220 >> Mga Computer ay hindi pagpunta malaman kung ano ang iyong ibig sabihin, 590 00:26:35,220 --> 00:26:37,430 kahit na kapag gumagamit ng, bilang Ikinalulungkot namin tungkol na gawin ngayon, 591 00:26:37,430 --> 00:26:42,300 mga programa ng isang bagay sa wala, isang drag at drop, palaisipan istilong piraso wika. 592 00:26:42,300 --> 00:26:44,310 Kahit na idinisenyo para sa mga batang mga anak, mayroon kang 593 00:26:44,310 --> 00:26:48,726 upang maging tahasan kaya at kaya literal na may kung ano ang nais mo ang iyong mga programa na gawin. 594 00:26:48,726 --> 00:26:50,600 Ngayon huli, kami ay pagpunta sa maging ang mga programa 595 00:26:50,600 --> 00:26:53,550 wala sa pseudocode code, Ingles tulad ng syntax, 596 00:26:53,550 --> 00:26:56,370 ngunit code o, mas maayos, source code. 597 00:26:56,370 --> 00:26:59,260 Ang source code lamang ang magarbong paraan para naglalarawan code na iyong aktwal 598 00:26:59,260 --> 00:27:01,730 isulat sa isang keyboard na hindi sa Ingles per se. 599 00:27:01,730 --> 00:27:06,480 Ito ay sa C o Java o C ++ o isang bagay tulad na, dahil kakailanganin namin sa lalong madaling panahon makita. 600 00:27:06,480 --> 00:27:09,510 >> At sa katunayan, sa pananakot lamang ilan sa iyo, sa unang tingin, 601 00:27:09,510 --> 00:27:13,769 ito ay isang programa na nakasulat sa isang wika na tinatawag na C. Ngunit upang hindi i-pananakot ang ilan sa iyo, 602 00:27:13,769 --> 00:27:15,560 gagawin mo ganap maunawaan kung ano ang nangyayari 603 00:27:15,560 --> 00:27:18,980 sa darating sa susunod na Lunes kapag ito pagdating sa isang bagay na katulad nito. 604 00:27:18,980 --> 00:27:20,510 Tapat, ito ay isang mas lumang wika. 605 00:27:20,510 --> 00:27:22,430 Ito ay medyo arcane, subalit ito ay kinatawan 606 00:27:22,430 --> 00:27:26,120 ng maraming mga wika mga araw na ito na may maraming mga panaklong at kulot 607 00:27:26,120 --> 00:27:28,630 braces at quote mark at semicolons. 608 00:27:28,630 --> 00:27:30,780 At ng maraming ito syntactic bagay-bagay na hindi 609 00:27:30,780 --> 00:27:32,450 sa lahat ng intellectually kawili-wili. 610 00:27:32,450 --> 00:27:35,790 Sa katunayan, ito ay isang lubos distraction mula sa napaka-simpleng ideya 611 00:27:35,790 --> 00:27:37,370 na staring sa amin sa mukha. 612 00:27:37,370 --> 00:27:41,760 Ang program na ito, dahil maaaring mo lamang hulaan, mga kopya sa computer screen ng isang tao 613 00:27:41,760 --> 00:27:44,070 ang mga salitang "Kamusta pinaghihiwalay ng mundo." 614 00:27:44,070 --> 00:27:44,860 Iyan na ang lahat. 615 00:27:44,860 --> 00:27:46,580 Kaya malinaw, may ng maraming mga bagay-bagay na 616 00:27:46,580 --> 00:27:48,970 nakukuha sa paraan ng ilang obviousness doon, 617 00:27:48,970 --> 00:27:52,490 ngunit ito ay pagpunta sa masyadong mabilis mawala ang layo at maging ganap na madaling maunawaan. 618 00:27:52,490 --> 00:27:55,617 >> Sa katunayan, kung ano ang pagpunta naming gawin ngayon ay distill ito medyo mahirap unawain 619 00:27:55,617 --> 00:27:58,950 naghahanap ng programa, na muli makakarating ka upang maunawaan nang mabilis, ngunit sa isang bagay 620 00:27:58,950 --> 00:27:59,710 magkano ang mas simple. 621 00:27:59,710 --> 00:28:01,640 Sabihin natin kung ano ang ibig sabihin namin. 622 00:28:01,640 --> 00:28:05,590 Gumuhit ng isang larawan ng kung ano ang ibig sabihin namin Hayaan, sa pamamagitan ng paraan ng mga puzzle piraso dito. 623 00:28:05,590 --> 00:28:09,110 >> Kaya ito ay isang programming wika na kilala bilang scratch. 624 00:28:09,110 --> 00:28:11,080 Ito ay binuo ng MIT Media Lab. 625 00:28:11,080 --> 00:28:14,830 At ano ang makikita mo sa problema magtakda ng zero, na ilalabas ngayong gabi sa ibang pagkakataon, 626 00:28:14,830 --> 00:28:18,980 kami ay mayroon pumunta ka sa ito URL dito scratch.mit.edu. 627 00:28:18,980 --> 00:28:20,940 At mayroon silang isang web batay interface sa pamamagitan ng kung aling mga 628 00:28:20,940 --> 00:28:22,540 makikita mo isulat ang iyong unang programa. 629 00:28:22,540 --> 00:28:25,330 O mga mo sa naunang karanasan, ang iyong ikalawang programa, 630 00:28:25,330 --> 00:28:28,090 ngunit sa isang kapaligiran na marahil ng isang maliit na pamilyar at na 631 00:28:28,090 --> 00:28:32,930 ay itulak sa iyo upang lumikha ng isang bagay gamit ang napaka-visual na kapaligiran. 632 00:28:32,930 --> 00:28:35,940 >> Ngayon, ano pupuntahan ko na gawin dito ay buksan up ang mismong programa. 633 00:28:35,940 --> 00:28:41,911 Umiiral na ito hindi lamang bilang isang web browser, kundi pati na rin bilang isang nada-download na programa 634 00:28:41,911 --> 00:28:44,660 sa gayon maaari mong aktwal na gamitin ito kung wala kang internet access. 635 00:28:44,660 --> 00:28:46,743 At ako pagpunta sa gawin iyon in dito, sa Sanders, lamang 636 00:28:46,743 --> 00:28:49,580 sa kasong ang Wi-Fi ay hindi makikipagtulungan super din. 637 00:28:49,580 --> 00:28:52,640 At kung ano pupuntahan ko lang gawin ay point ang ilang mga tampok ng programang ito. 638 00:28:52,640 --> 00:28:55,720 Kaya, upang maging malinaw, mayroon akong lamang double na-click ang icon sa aking desktop, 639 00:28:55,720 --> 00:28:59,830 o equivalently nawala sa scratch.mit.edu, at ito ay nakuha up window na ito. 640 00:28:59,830 --> 00:29:01,650 Ito ay isang programming kapaligiran. 641 00:29:01,650 --> 00:29:04,110 Ito ay isang piraso ng software na ang ilan sa aming mga kaibigan sa MIT 642 00:29:04,110 --> 00:29:08,850 ay sumulat na sabihin sa amin at ka magsulat mga programa sa wikang tinatawag na sa simula. 643 00:29:08,850 --> 00:29:12,010 >> Ngayon nangyari ito upang maging isang pusa kung sino ang may pangalan na rin scratch 644 00:29:12,010 --> 00:29:13,890 at ito ay kanyang mundo kung saan nakatira niya. 645 00:29:13,890 --> 00:29:17,175 Ito ang stage, kaya upang makipag-usap, na Parihaba sa itaas na kaliwang sulok. 646 00:29:17,175 --> 00:29:18,800 At siya ay walang upang magmukhang isang pusa. 647 00:29:18,800 --> 00:29:20,591 Maaari kang gumawa ng kanya hitsura tulad ng anumang bagay at mo 648 00:29:20,591 --> 00:29:23,700 ay maaaring magkaroon ng maraming tulad sprites, o mga character, sa isang program. 649 00:29:23,700 --> 00:29:27,450 Samantala, sa paglipas dito sa malayong karapatan, ay isang malaking blangko slate. 650 00:29:27,450 --> 00:29:30,260 At ito ay kung saan, sa isang sandali, pupunta kami upang simulan ang programming 651 00:29:30,260 --> 00:29:32,750 sa pamamagitan ng pag-drag at pag-drop mga graphical na palaisipan 652 00:29:32,750 --> 00:29:35,300 piraso na ay tama dito sa gitna. 653 00:29:35,300 --> 00:29:38,140 At mayroong paraan ang higit sa kanila kaysa Makikita kaming magpalipas ng oras sa dito sa klase 654 00:29:38,140 --> 00:29:40,080 dahil makikita mo na ang mga ito ay ang lahat ng medyo madaling maunawaan. 655 00:29:40,080 --> 00:29:41,788 Muli, ito ay dinisenyo para sa mga bata, ngunit namin 656 00:29:41,788 --> 00:29:45,759 gamitin ito upang tease-tanggalin ang ilan sa mga pangunahing ideya ng variable, loop, 657 00:29:45,759 --> 00:29:48,050 kondisyon, at, sa lalong madaling panahon, mga bagay tulad ng mga pag-andar at mga kaganapan 658 00:29:48,050 --> 00:29:51,810 at mga thread at iba pang magarbong mga bagay na aming makapunta sa bago mahaba upang aktwal na lumikha 659 00:29:51,810 --> 00:29:53,840 isang bagay mula sa simula. 660 00:29:53,840 --> 00:29:54,810 Nilalayon Pun. 661 00:29:54,810 --> 00:29:58,740 >> Ngayon, kung ano ang pupuntahan ko gawin dito ay mag-click sa hindi paggalaw, ngunit control. 662 00:29:58,740 --> 00:30:01,400 At ito lamang ang uuri ng here-- 663 00:30:01,400 --> 00:30:03,150 at nakikita ko ang ibang itakda ang kulay ng mga bloke. 664 00:30:03,150 --> 00:30:05,030 Ngunit mapansin ng ilang mga pamilyar na mga salita. 665 00:30:05,030 --> 00:30:07,830 "Kung" at "pang tao kung" at "ulitin." 666 00:30:07,830 --> 00:30:10,440 At maaari mong marahil hulaan na reminiscent ng mga sangay, 667 00:30:10,440 --> 00:30:12,870 o ang mga kondisyon ng nakita natin, at kahit na ang looping bumuo. 668 00:30:12,870 --> 00:30:14,760 Kaya mayroon kaming katulad na mga bloke dito. 669 00:30:14,760 --> 00:30:16,720 Ngunit ang pinaka-kagiliw-giliw isa ay ang isang ito dito. 670 00:30:16,720 --> 00:30:20,690 Kapag ang berdeng bandila click, ito, para sa mga may naunang programing 671 00:30:20,690 --> 00:30:23,110 karanasan, ay katumbas ng sa isang pangunahing pag-andar. 672 00:30:23,110 --> 00:30:25,300 Ngunit para sa mga hindi pamilyar, ito ay ang piraso ng palaisipan 673 00:30:25,300 --> 00:30:27,320 na kick simulan ang aming buong programa. 674 00:30:27,320 --> 00:30:31,350 Ito ay nangangahulugan na literal kapag pumunta ako, sa ganitong programa, at i-click ng isang kulay berdeng flag-- 675 00:30:31,350 --> 00:30:35,560 na maaari mong makita dito sa kaliwang tuktok na sulok ng UI, 676 00:30:35,560 --> 00:30:38,570 kaya tingnan ang berdeng bandila sa tabi ng pulang stop sign? 677 00:30:38,570 --> 00:30:41,475 Kapag nag-click ko na, ang aking programa ay pagpunta upang tumakbo. 678 00:30:41,475 --> 00:30:43,850 Ngayon, ako ako pagpunta sa gawin ang isang bagay sobrang simple na may scratch. 679 00:30:43,850 --> 00:30:46,640 Pupunta ako sa sige at pumunta sa panel na tingin 680 00:30:46,640 --> 00:30:50,010 dito, kung saan mayroon akong isang bungkos ng mga lilang palaisipan piraso, 681 00:30:50,010 --> 00:30:53,887 at Pupunta ako sa magpatuloy at gawin isang bagay na sobrang simple tulad ng, sabihin natin. 682 00:30:53,887 --> 00:30:55,720 At then-- ang notice na ito teksto sa puting kahon 683 00:30:55,720 --> 00:30:59,290 ay editable-- pupuntahan ko sasabihin "Kamusta mundo," gusto lang namin 684 00:30:59,290 --> 00:31:01,470 May ginawang sa na textual bersyon ng ilang sandali ang nakalipas. 685 00:31:01,470 --> 00:31:05,920 At ngayon kung pumunta ako at i-click ito berdeng flag, ngayon ko pa-program. 686 00:31:05,920 --> 00:31:07,810 Ito ay hindi isang partikular na kawili-wiling programa, 687 00:31:07,810 --> 00:31:09,760 ngunit ginawa ko ang computer na gawin ang isang bagay. 688 00:31:09,760 --> 00:31:13,120 Nagsimula ako ng isang programa at ito Ginawa ang sinabi ko ito dapat gawin. 689 00:31:13,120 --> 00:31:16,170 Ngayon, maaari ba akong patuloy na i-drag at i-drop higit pa at higit pa sa mga palaisipan piraso 690 00:31:16,170 --> 00:31:19,220 at sila ay pagpunta sa interlock, ngunit sampal ng ilang mga terminolohiya sa dito ipaalam 691 00:31:19,220 --> 00:31:21,680 na aming makita ang mga paulit-ulit buong kurso, 692 00:31:21,680 --> 00:31:24,610 at talagang sa buong computer science at ang mga programa sa mas pangkalahatang paraan. 693 00:31:24,610 --> 00:31:27,990 >> Ang "sabihin ang" bloke, sa mga lilang, sabihin magsimula lamang sa pagtawag ng pahayag. 694 00:31:27,990 --> 00:31:29,240 Ito ay tulad ng isang pahayag ng katotohanan. 695 00:31:29,240 --> 00:31:30,380 Gawin ito. 696 00:31:30,380 --> 00:31:32,590 Kaya, ito ay isang kategorya ng mga tagubilin na 697 00:31:32,590 --> 00:31:36,760 maaaring feed isang computer bilang bahagi ng isang programa o ng isang algorithm. 698 00:31:36,760 --> 00:31:39,270 At upang maging malinaw, hindi ka marahil kinuha para sa ipinagkaloob 699 00:31:39,270 --> 00:31:41,930 na mayroon ka ng mga program sa iyong computer. 700 00:31:41,930 --> 00:31:45,850 At nagpapaumanhin uri ng mga algorithm ang mga ito, ngunit isang programa ay talagang isang bungkos ng mga algorithm 701 00:31:45,850 --> 00:31:47,160 na sinulat ni ilang mga tao. 702 00:31:47,160 --> 00:31:49,040 Package up nila ito at sila ibenta ito kaya mo, 703 00:31:49,040 --> 00:31:51,330 o sila ay naka-post sa isang website para sa iyo upang i-download. 704 00:31:51,330 --> 00:31:54,930 Kaya, isang programa ay isa lamang buong bungkos ng mga zero at mga 705 00:31:54,930 --> 00:31:56,970 iyon, kahit papano, nilikha tao. 706 00:31:56,970 --> 00:32:00,080 At ang mga pattern ng mga zero at mga kumatawan mga bagay, sa huli, 707 00:32:00,080 --> 00:32:04,030 tulad ng "kamustahin mundo" o "pag-play ito musika "o" i-play ang video na ito " 708 00:32:04,030 --> 00:32:05,129 o "magpadala ng isang e-mail." 709 00:32:05,129 --> 00:32:06,920 Ngunit kami ay bumalik sa paraan mas detalyado kung ano 710 00:32:06,920 --> 00:32:08,780 isang programa ay kapag ikaw, iyong sarili, isulat ang mga ito. 711 00:32:08,780 --> 00:32:11,320 >> Narito ang isa pang statement-- "Maghintay ng isang segundo." 712 00:32:11,320 --> 00:32:14,330 Hindi ko pa ito gamitin, ngunit kung gusto ko ang aking mga programa upang i-pause para sa isang sandali 713 00:32:14,330 --> 00:32:16,540 upang gawin ang isang bagay, ang maaari kong sabihin dito na gawin ito. 714 00:32:16,540 --> 00:32:18,450 Maghintay ng isang segundo. 715 00:32:18,450 --> 00:32:20,150 Ngayon isa pa ay maaaring "i-play ng tunog." 716 00:32:20,150 --> 00:32:23,270 Kaya, ito ay natatangi sa simula, ito ay may kakayahan upang i-play ng mga tunog. 717 00:32:23,270 --> 00:32:26,130 Kaya, ang isang pahayag maaari ko paggamit ay, dito, "i-play ng tunog." 718 00:32:26,130 --> 00:32:29,530 Samantala, Boolean expression, kaya ito ay fancier salita 719 00:32:29,530 --> 00:32:34,490 na ipinangalan sa isang tao lang na may pangalang Ginoong Bool, at ito ay tungkol sa isang katanungan. 720 00:32:34,490 --> 00:32:37,470 Totoo o false-- ay ang mouse pababa? 721 00:32:37,470 --> 00:32:41,100 Ang isang Boolean expression ay isa lamang ang ilang mga expression sa Ingles 722 00:32:41,100 --> 00:32:42,860 na alinman true o false. 723 00:32:42,860 --> 00:32:44,140 Alinman sa on o off. 724 00:32:44,140 --> 00:32:45,130 Ang alinman sa isa o zero. 725 00:32:45,130 --> 00:32:46,960 Maaari mong isipin na ito sa anumang bilang ng mga paraan, 726 00:32:46,960 --> 00:32:49,220 subalit ito ay alinman sa totoo o hindi totoo ito, sa huli. 727 00:32:49,220 --> 00:32:52,540 Kaya "mouse pababa tandang pananong," na ay magiging isang Boolean expression. 728 00:32:52,540 --> 00:32:54,300 At maaari mong tingin ng iba, marahil. 729 00:32:54,300 --> 00:32:57,510 Halimbawa, "ay ang natitira numero mas mababa kaysa sa tamang numero? " 730 00:32:57,510 --> 00:32:59,410 Iyon, masyadong, ay magiging isang Boolean expression. 731 00:32:59,410 --> 00:33:01,540 "Mas mababa sa" ay isang Boolean expression. 732 00:33:01,540 --> 00:33:03,280 >> Isa ito, masyadong, "hinahawakan pointer ng mouse." 733 00:33:03,280 --> 00:33:05,196 Hindi ako sigurado kung bakit sila na tinatawag na ito pointer ng mouse. 734 00:33:05,196 --> 00:33:08,430 Nangangahulugan ito lamang, ay ang cursor, ay ang arrow sa screen, pagpindot sa pusa, 735 00:33:08,430 --> 00:33:09,022 halimbawa. 736 00:33:09,022 --> 00:33:10,480 O ilang iba pang mga aspeto ng screen. 737 00:33:10,480 --> 00:33:13,710 At ito ay isang tanong, muli, at na Tinutukoy ng isang Boolean expression. 738 00:33:13,710 --> 00:33:17,130 Isang bagay na maaari mong nais na gamitin sa isang kondisyon. 739 00:33:17,130 --> 00:33:19,100 Kaya namin dumating sa na sa isang sandali lamang. 740 00:33:19,100 --> 00:33:20,350 Maaari mong "at" ng mga bagay nang magkakasama. 741 00:33:20,350 --> 00:33:23,099 Kaya, kung nais mong suriin kung ito ang kaso AT iyon ang kaso, 742 00:33:23,099 --> 00:33:25,580 maaari kang gumamit ng "at" block tulad nito. 743 00:33:25,580 --> 00:33:26,850 At narito ang kundisyon na. 744 00:33:26,850 --> 00:33:31,290 Pansinin ang hugis ng maliit na pambungad na sa itaas ng kulay-dilaw na piraso puzzle, 745 00:33:31,290 --> 00:33:34,480 ito ay reminiscent ng hugis Nakita na lang namin ng ilang sandali ang nakalipas. 746 00:33:34,480 --> 00:33:37,920 Ang bawat isa sa mga Boolean expression May mga itinuturo gilid 747 00:33:37,920 --> 00:33:39,030 sa kaliwa at kanan. 748 00:33:39,030 --> 00:33:43,140 At iyon ay dahil nagpasya MIT tao na sa pamamagitan ng visual na conveying hugis, 749 00:33:43,140 --> 00:33:45,780 maaari mong uri ng matulungan ang mga tao, mag-aaral at mga bata magkamukha, 750 00:33:45,780 --> 00:33:47,650 sa uri ng punan ang mga blangko literal. 751 00:33:47,650 --> 00:33:49,780 >> Ngayon na puzzle-- na pambungad ay isang maliit na maliit, 752 00:33:49,780 --> 00:33:52,750 at dahil kakailanganin namin makita sa programa, sa simula, ito ay lumago upang magkasya. 753 00:33:52,750 --> 00:33:54,830 Ito ay mapanatili ang hugis nito, sa huli. 754 00:33:54,830 --> 00:33:58,350 Kaya isang kondisyon sabihin nagpasya kang "Ang dapat kong gawin ang isang bagay o hindi?" 755 00:33:58,350 --> 00:34:00,470 Ang isang Boolean expression ay ang aktwal na tanong 756 00:34:00,470 --> 00:34:04,100 na iyong ginagamit upang magpasya ko pumunta sa ang natitira O huwag pumunta ako sa kanan 757 00:34:04,100 --> 00:34:06,710 kapag nakatagpo ko ito tinatawag na tinidor sa kalsada? 758 00:34:06,710 --> 00:34:07,980 Maaari kang magkaroon ng dalawang sangay. 759 00:34:07,980 --> 00:34:10,909 KUNG ang isang bagay ay totoo, gawin ito, iba pumunta na paraan, 760 00:34:10,909 --> 00:34:14,590 o maaari mo lamang gawin wala sa lahat, pati na ipinahiwatig sa block na ito. 761 00:34:14,590 --> 00:34:16,360 Katulad nito, maaari naming ma-nest ang mga bagay na ito. 762 00:34:16,360 --> 00:34:20,204 Kaya kung nais mong Triple tinidor sa kalsada, alinman sa gawin ito o ito o na, 763 00:34:20,204 --> 00:34:21,870 maaari mong ma-nest lamang ang mga bagay nang magkakasama. 764 00:34:21,870 --> 00:34:24,520 At nagsisimula ito upang makakuha ng isang maliit na pangit, sa huli, para sigurado, 765 00:34:24,520 --> 00:34:26,120 ngunit ang logic ay pa rin ang parehong. 766 00:34:26,120 --> 00:34:28,000 Maaari mong basahin nang literal ito itaas hanggang sa ibaba 767 00:34:28,000 --> 00:34:33,290 at sinasabi nito kung ano ito means-- kung ito ay totoo, gawin ito, iba pa kung. 768 00:34:33,290 --> 00:34:36,179 >> Ang isang loop ay hindi makakuha ng mas simple sa simula. 769 00:34:36,179 --> 00:34:37,422 Habang Panahon gawin ang sumusunod. 770 00:34:37,422 --> 00:34:39,880 Ngayon maaaring hindi mo tingin mo Maaari makagawa ng higit dahil mayroong hindi 771 00:34:39,880 --> 00:34:42,839 magkano ang puwang sa pagitan ng tuktok at ang ibaba ng ito piraso puzzle pambungad. 772 00:34:42,839 --> 00:34:45,671 Ngunit makikita mo sa simula ay pagpunta sa lumago upang magkasya ng maraming mga palaisipan piraso 773 00:34:45,671 --> 00:34:47,060 bilang gusto mong i-Cram sa doon. 774 00:34:47,060 --> 00:34:48,960 Ang isa pang loop ay maaaring maging ipinahayag na may-uulit. 775 00:34:48,960 --> 00:34:51,590 Kung alam mo nang maaga, "ako nais na gawin ang isang bagay 10 beses, " 776 00:34:51,590 --> 00:34:54,010 Maaari mo lang sabihin sa scratch upang gawin ang isang bagay 10 beses. 777 00:34:54,010 --> 00:34:57,260 At, samantala, maaari kaming magkaroon variable. 778 00:34:57,260 --> 00:34:59,572 Kaya narito ang isang arbitrary isa, ito ay orange sa kasong ito, 779 00:34:59,572 --> 00:35:00,780 at ito ay isang whirlwind tour. 780 00:35:00,780 --> 00:35:04,540 Muli, makikita mo ang napaka naa-access ito sa sandaling ka magsimula ng pagturo at pag-click. 781 00:35:04,540 --> 00:35:07,930 Na may pangalang ko ang aking mga variable n, ngunit ko Maaaring may pangalang ito ang anumang bagay na gusto kong, 782 00:35:07,930 --> 00:35:11,280 at ako pagtatakda ito dito, sa ito arbitrary Halimbawa, sa zero. 783 00:35:11,280 --> 00:35:14,250 >> Nakikita na ngayon ng isang programa tulad ng kumusta mundo ay hindi lahat na nakapanghihimok, 784 00:35:14,250 --> 00:35:17,900 kaya sabihin aktwal na magbukas ng isang bagay na isang dating mag-aaral na ginawa. 785 00:35:17,900 --> 00:35:23,100 Hayaan akong sige at buksan up, halimbawa, ang isang ito dito, 786 00:35:23,100 --> 00:35:26,780 kung saan nais kong ibigin upang magkaroon ng isang volunteer. 787 00:35:26,780 --> 00:35:28,450 Ang lahat ng mga karapatan, kung paano about-- sabihin pumunta mas malayo. 788 00:35:28,450 --> 00:35:29,240 Oo, dumating sa up. 789 00:35:29,240 --> 00:35:30,056 Ano ang inyong pangalan? 790 00:35:30,056 --> 00:35:30,635 >> ABBY: Abby. 791 00:35:30,635 --> 00:35:32,010 David J. MALAN: Abby, dumating sa up. 792 00:35:32,010 --> 00:35:35,930 Kaya't hindi mo kailanman na-play ito laro bago? 793 00:35:35,930 --> 00:35:36,430 ABBY: Hinde 794 00:35:36,430 --> 00:35:37,370 David J. MALAN: Lahat ng karapatan. 795 00:35:37,370 --> 00:35:38,380 David, mabait sa matugunan mo. 796 00:35:38,380 --> 00:35:39,620 Halika sa paglipas. 797 00:35:39,620 --> 00:35:42,300 At kung ano ang iyong programming background, kung mayroon man. 798 00:35:42,300 --> 00:35:43,914 >> ABBY: ko na ang natutunan ng ilang mga C ++. 799 00:35:43,914 --> 00:35:45,580 David J. MALAN: mo na ang natutunan ng ilang mga C ++. 800 00:35:45,580 --> 00:35:48,382 At kung ano ang iyong laro nagpe-play sa background? 801 00:35:48,382 --> 00:35:49,505 >> ABBY: Hindi isang lot. 802 00:35:49,505 --> 00:35:51,130 David J. MALAN: OK, sa gayon na ginagawa namin iyon. 803 00:35:51,130 --> 00:35:52,700 Kaya narito kung paano ang laro ay pagpunta sa gumana. 804 00:35:52,700 --> 00:35:54,510 Pupunta ako sa magpatuloy at i-click ang berdeng bandila, na 805 00:35:54,510 --> 00:35:55,830 ay up dito sa kanang tuktok. 806 00:35:55,830 --> 00:35:59,710 Ngayon ang iyong predecessor sa klase ay nagbigay sa iyo ang ilang mga tagubilin dito. 807 00:35:59,710 --> 00:36:02,306 At sa sandali lamang, ito sabi ni "na espasyo upang magsimula." 808 00:36:02,306 --> 00:36:03,680 Kaya sige lang at pindutin ang spacebar. 809 00:36:03,680 --> 00:36:05,507 >> COMPUTER LARO: Pikachu. 810 00:36:05,507 --> 00:36:08,340 David J. MALAN: At ang layunin ay upang mahuli ang pagkain, bilang itinatanghal doon 811 00:36:08,340 --> 00:36:09,320 sa kaliwa. 812 00:36:09,320 --> 00:36:11,388 At sa [INAUDIBLE] 813 00:36:11,388 --> 00:36:15,356 >> [LARO musika nagpe-play] 814 00:36:15,356 --> 00:36:27,280 815 00:36:27,280 --> 00:36:29,610 >> David J. MALAN: Aww, mahusay, salamat sa iyo para sa pag-play. 816 00:36:29,610 --> 00:36:32,800 Mayroon kaming dito ng kaunti pamamaalam regalo para sa iyo. 817 00:36:32,800 --> 00:36:35,574 Mayroon kaming CS50 ang stress ball, kung nais mong pumili. 818 00:36:35,574 --> 00:36:36,820 Ang lahat ng mga karapatan, magandang upang matugunan mo. 819 00:36:36,820 --> 00:36:39,680 Salamat sa iyo para sa darating at Hinahamon. 820 00:36:39,680 --> 00:36:42,410 821 00:36:42,410 --> 00:36:46,910 Kaya mayroon kaming higit pang mga bola ng stress, kaya gawin ang isa pang halimbawa upang ipaalam motivate. 822 00:36:46,910 --> 00:36:48,150 Ang isang boluntaryo? 823 00:36:48,150 --> 00:36:50,510 Ang lahat ng mga karapatan, kung paano tungkol sa dito mismo sa harap. 824 00:36:50,510 --> 00:36:51,250 Ano ang inyong pangalan? 825 00:36:51,250 --> 00:36:51,660 >> Phillip: Phillip. 826 00:36:51,660 --> 00:36:52,660 >> David J. MALAN: Phillip. 827 00:36:52,660 --> 00:36:54,530 Halika sa up, Phillip. 828 00:36:54,530 --> 00:36:57,340 Kaya, Phillip ay magiging hinamon sa isa pang laro 829 00:36:57,340 --> 00:37:00,840 na isa sa iyong mga predecessors Isinulat ni bilang bahagi ng problema set zero, 830 00:37:00,840 --> 00:37:03,510 na tinatawag na Hardest Game Tam ni. 831 00:37:03,510 --> 00:37:05,980 At kami makita sa loob lamang ng sandali kung ano ang ibig sabihin sa pamamagitan ng ito. 832 00:37:05,980 --> 00:37:07,400 Phillip, mabait sa matugunan mo. 833 00:37:07,400 --> 00:37:09,060 Ano ang iyong background? 834 00:37:09,060 --> 00:37:10,310 Phillip: Tapos na ng maraming coding. 835 00:37:10,310 --> 00:37:11,110 Tapos na ang isang maliit na paglalaro, masyadong. 836 00:37:11,110 --> 00:37:11,570 >> David J. MALAN: OK. 837 00:37:11,570 --> 00:37:12,620 Mayroon ka bang isang pulutong ng paglalaro, masyadong. 838 00:37:12,620 --> 00:37:14,230 At pinatugtog mo ang larong ito bago? 839 00:37:14,230 --> 00:37:14,730 >> Phillip: Walang 840 00:37:14,730 --> 00:37:16,438 David J. MALAN: Lahat karapatan, kaya dito pumunta namin. 841 00:37:16,438 --> 00:37:18,434 Pupunta ako sa sige at i-click ang berdeng bandila. 842 00:37:18,434 --> 00:37:24,160 >> [LARO musika] 843 00:37:24,160 --> 00:37:27,770 >> [Musika MC martilyo, "U HINDI ITO Touch"] 844 00:37:27,770 --> 00:38:39,790 845 00:38:39,790 --> 00:38:41,635 >> Phillip: [INAUDIBLE] 846 00:38:41,635 --> 00:38:42,760 David J. MALAN: [INAUDIBLE] 847 00:38:42,760 --> 00:38:44,740 Phillip: [INAUDIBLE] 848 00:38:44,740 --> 00:38:49,056 [Tumatawa] 849 00:38:49,056 --> 00:38:50,680 [Musika MC martilyo, "U HINDI ITO Touch"] 850 00:38:50,680 --> 00:38:52,660 David J. MALAN: [INAUDIBLE] Mag-araro sa pamamagitan nito. 851 00:38:52,660 --> 00:38:54,094 Phillip: [INAUDIBLE] 852 00:38:54,094 --> 00:38:55,135 David J. MALAN: Sige. 853 00:38:55,135 --> 00:39:01,570 [Musika MC martilyo, "U HINDI ITO Touch"] 854 00:39:01,570 --> 00:39:15,832 855 00:39:15,832 --> 00:39:16,915 David J. MALAN: Lahat ng karapatan. 856 00:39:16,915 --> 00:39:18,400 Binabati kita. 857 00:39:18,400 --> 00:39:25,150 >> [APPLAUSE] 858 00:39:25,150 --> 00:39:27,330 >> David J. MALAN: gagawin namin post na ang mga online mamaya kaya 859 00:39:27,330 --> 00:39:29,820 na maaari mong procrastinate may ito pati na rin. 860 00:39:29,820 --> 00:39:32,550 Princeton ay lumalabas susunod, pagkatapos nun. 861 00:39:32,550 --> 00:39:35,470 >> Kaya ang aktwal na magpatuloy ngayon hayaan upang simulan mula sa simula, 862 00:39:35,470 --> 00:39:39,310 kaya upang makipag-usap, at aktwal na bumuo ng hanggang maaari naming tease hiwalayin ang ilan sa mga ideya na ito 863 00:39:39,310 --> 00:39:41,970 at makapunta sa isang bagay kahit na mas kumplikadong sa pagtatapos. 864 00:39:41,970 --> 00:39:45,240 Pupunta ako sa pumunta sa paglipas dito at pupuntahan ko upang magpatuloy at lumikha ng isang bagong file. 865 00:39:45,240 --> 00:39:47,460 Kaya muli, ang hanay ng problema ay lumakad sa iyo sa pamamagitan ng ilan sa mga hakbang na ito. 866 00:39:47,460 --> 00:39:49,300 Ngunit, ang lahat ng ginawa ko ay naglalakbay sa File menu at ako 867 00:39:49,300 --> 00:39:52,760 sinabi "bago," kaya magkano tulad ng Microsoft Salita, o anumang programa tulad na. 868 00:39:52,760 --> 00:39:56,630 >> At ni sige now-- ipaalam at kami ipinatupad "Kamusta mundo" ng ilang sandali ang nakalipas, 869 00:39:56,630 --> 00:39:58,410 ngunit gawin ang isang bagay na medyo cuter ipaalam. 870 00:39:58,410 --> 00:40:00,150 Pupunta ako sa pumunta up sa mga kaganapan. 871 00:40:00,150 --> 00:40:02,350 At ako pagpunta sa gawin "kapag click berdeng bandila. " 872 00:40:02,350 --> 00:40:05,830 At pagkatapos ay ako pupunta upang gamitin, dapat naming sabihin, isang branch. 873 00:40:05,830 --> 00:40:07,610 Kaya ako ng pagpunta sa gumamit ng isang "kung" kundisyon. 874 00:40:07,610 --> 00:40:10,940 At pansinin kung paano sa lalong madaling makakuha ako malapit dito, nais ni ito sa snap-sama. 875 00:40:10,940 --> 00:40:13,020 Kaya ipaalam ako pumunta at ito snaps magkasama. 876 00:40:13,020 --> 00:40:15,150 At ngayon maaari kong gawin ang isang bagay kawili-wiling. 877 00:40:15,150 --> 00:40:19,150 Kung mag-scroll ko sa pamamagitan dito, ako ako pagpunta upang makita ang isang buong bungkos ng mga block. 878 00:40:19,150 --> 00:40:22,620 Kung pumunta ako sa "data" - hayaan mo akong mag-zoom in-- mayroong isang bagay tungkol sa mga variable. 879 00:40:22,620 --> 00:40:26,160 Kung pumunta ako sa "paggalaw," maaari mong tila i-bagay sa paligid. 880 00:40:26,160 --> 00:40:28,760 Kung pumunta ako sa "mga operator" - oh, ito ay kawili-wili, 881 00:40:28,760 --> 00:40:31,000 Maaari ba akong pumili ng random na numero. 882 00:40:31,000 --> 00:40:34,119 Kaya hayaan mo akong gawin ang isang bagay na may lamang ang ilang mga bagay na maaaring mangyari, dahil lamang. 883 00:40:34,119 --> 00:40:36,160 Pupunta ako sa magpatuloy at i-drag ito piraso puzzle, 884 00:40:36,160 --> 00:40:37,910 ito ay na mas mababa sa bloke, kaya lamang 885 00:40:37,910 --> 00:40:39,480 "Ay ang bilang na ito mas mababa kaysa sa isa na?" 886 00:40:39,480 --> 00:40:42,438 Ngunit hindi ko nais isang hard code ang isang numero dahil na ay medyo pointless. 887 00:40:42,438 --> 00:40:46,270 Kaya ako pagpunta sa i-drag piraso ito dito, at pansinin kung paano ito snaps sa, 888 00:40:46,270 --> 00:40:49,480 at ngayon hayaan mo akong sige at sabihin ang "kung ang bilang na pinili nang sapalaran 889 00:40:49,480 --> 00:40:51,820 ay mas mababa sa anim na, huwag ang mga sumusunod na. " 890 00:40:51,820 --> 00:40:52,790 Ngayon kung bakit mas mababa sa anim? 891 00:40:52,790 --> 00:40:56,400 Ano posibilidad ay ang epektibong pagpunta sa ninyo ako, intuitively lamang? 892 00:40:56,400 --> 00:40:57,440 Tungkol sa 50%, tama? 893 00:40:57,440 --> 00:41:01,190 Kung ang bilang na iyon hulaan nang sapalaran sa pagitan ng 1 at 10 ay mas mababa sa anim na, 894 00:41:01,190 --> 00:41:03,480 malinaw na isa ito, dalawang, tatlo, apat, o limang. 895 00:41:03,480 --> 00:41:06,740 At upang ang pupuntahan ninyo ako ng 50% na posibilidad ng kung ano ang nangyayari? 896 00:41:06,740 --> 00:41:09,890 >> Gawin ang isang bagay tulad na rin ipaalam ito, "i-play ang sound ngiyaw." 897 00:41:09,890 --> 00:41:11,750 At paunawa, muli, lumalaki ang piraso palaisipan 898 00:41:11,750 --> 00:41:13,700 upang magkasya, kaya hangga't tumutugma ang mga hugis. 899 00:41:13,700 --> 00:41:14,910 Iyon ay kung ano ang mahalaga. 900 00:41:14,910 --> 00:41:18,000 Hayaan akong pumunta sa paglipas ng sa scratch dito at i-click ang "play." 901 00:41:18,000 --> 00:41:19,300 Wala mangyayari. 902 00:41:19,300 --> 00:41:21,160 Iyan ba ang isang bug? 903 00:41:21,160 --> 00:41:21,999 Hindi, hindi kinakailangan. 904 00:41:21,999 --> 00:41:24,040 Ito ay maaaring maging lamang na ang isang mas malaking bilang ay napili. 905 00:41:24,040 --> 00:41:25,762 Kaya ipaalam gawin ni itong muli. 906 00:41:25,762 --> 00:41:27,550 Wala. 907 00:41:27,550 --> 00:41:28,344 >> [Ngiyaw] 908 00:41:28,344 --> 00:41:29,510 David J. MALAN: May ito ay. 909 00:41:29,510 --> 00:41:30,280 [Ngiyaw] 910 00:41:30,280 --> 00:41:31,690 David J. MALAN: Muli. 911 00:41:31,690 --> 00:41:32,300 Bilang 912 00:41:32,300 --> 00:41:32,922 >> [MEOWING] 913 00:41:32,922 --> 00:41:35,380 David J. MALAN: Kaya kung hindi mo kailanman na-play ng isang laro, siyempre, 914 00:41:35,380 --> 00:41:38,500 kung saan bagay-bagay ang nangyayari random, tulad ng masamang guys ay darating o hindi 915 00:41:38,500 --> 00:41:41,350 nagmumula sa sa screen, o mga bagay na hindi nakakapasa o hindi pagbagsak, 916 00:41:41,350 --> 00:41:43,610 na dahil lamang ng isang bagay super simpleng ganito ang nangyayari. 917 00:41:43,610 --> 00:41:46,010 Pumili ng random na numero, at kung ito ay mas mababa kaysa sa ilang halaga, 918 00:41:46,010 --> 00:41:49,100 siguro gawin ito o marahil gawin iyon. 919 00:41:49,100 --> 00:41:51,340 Maaari naming isama na sa isang kondisyon. 920 00:41:51,340 --> 00:41:52,600 Gawin ang isang bagay na iba't ibang Hayaan. 921 00:41:52,600 --> 00:41:53,559 >> Hayaan akong magtapon na ang layo. 922 00:41:53,559 --> 00:41:56,058 Maaari mong mapupuksa ang mga bagay-bagay sa pamamagitan ng pag-drag lamang ito off sa kaliwa 923 00:41:56,058 --> 00:41:56,810 at pagpapaalam go. 924 00:41:56,810 --> 00:42:00,310 Hayaan akong magpatuloy at gawin ang isang bloke magpakailanman at masyadong mabilis gawin ang isang bagay nakakainis. 925 00:42:00,310 --> 00:42:03,010 Hayaan akong sige at sabihin "i-play ang sound ngiyaw." 926 00:42:03,010 --> 00:42:06,620 Ngunit hindi ko nais na ito na maging masyadong nakakainis, kaya ipaalam sa akin grab sa block na ito, 927 00:42:06,620 --> 00:42:09,090 "Maghintay isang segundo," at abiso walang higit pang mga kuwarto para dito. 928 00:42:09,090 --> 00:42:11,310 Ngunit kung malapit-lapit pumunta ka, Nais ni ito upang pumunta doon. 929 00:42:11,310 --> 00:42:14,100 Kaya Hinahayaan pumunta ako at magpo ito lumalaki upang punan ang bloke. 930 00:42:14,100 --> 00:42:15,932 Kaya ngayon, ito ay isang loop. 931 00:42:15,932 --> 00:42:16,432 [MEOWING] 932 00:42:16,432 --> 00:42:18,473 David J. MALAN: ako Literal na ginagawa ito magpakailanman. 933 00:42:18,473 --> 00:42:19,360 Muli at muli. 934 00:42:19,360 --> 00:42:21,510 Iyon ay isa lamang hindi natural sounding. 935 00:42:21,510 --> 00:42:24,800 Hayaan akong sige at baguhin ito upang hindi isang segundo, dalawang segundo 936 00:42:24,800 --> 00:42:25,854 at pindutin ang Enter. 937 00:42:25,854 --> 00:42:28,770 At kung ano ang magaling tungkol sa simula ay na maaari mong programa interactive. 938 00:42:28,770 --> 00:42:32,450 Gumawa ng pagbabago, siguro ay pindutin ang Enter o Play muli, at ito ay lamang panatilihin ang pagpunta. 939 00:42:32,450 --> 00:42:34,962 Well, ngayon kung bakit hindi namin gawin isang bagay na medyo cuter? 940 00:42:34,962 --> 00:42:39,680 Sa halip na magawa ang lahat mula sa simula, hayaan mo akong sige at buksan up ng isang maaga 941 00:42:39,680 --> 00:42:43,180 ginawa ng isa, na ako pre-bake, na tinatawag na "Alagang Hayop ang Cat." 942 00:42:43,180 --> 00:42:44,920 At Magpo-post kami ng lahat ng ang mga file na online, 943 00:42:44,920 --> 00:42:48,464 at itakda ang problema zero ay magsasabi sa iyo kung paano i-access ang mga ito at buksan up ang mga ito. 944 00:42:48,464 --> 00:42:49,880 At paunawa, ito ay medyo simple. 945 00:42:49,880 --> 00:42:53,860 Ngunit nang maaga, mukhang kong na-grabbed isang "magpakailanman" bloke, kaya Nakakuha ako ng isang loop. 946 00:42:53,860 --> 00:42:55,500 At pagkatapos Mayroon akong isang "kung" kundisyon. 947 00:42:55,500 --> 00:42:57,410 Mayroon akong isang Boolean expression. 948 00:42:57,410 --> 00:43:00,100 >> Kaya sa Ingles, glancing lamang sa na ito, lalo na kung hindi mo kailanman 949 00:43:00,100 --> 00:43:04,278 -program bago, intuitively lamang, kung ano ang pagpunta ay gawin, sa programang ito? 950 00:43:04,278 --> 00:43:06,910 >> [Madla Chatter] 951 00:43:06,910 --> 00:43:09,960 >> David J. MALAN: Kung pet mo ang pusa, ang pusa ay pagpunta sa ngiyaw, tama? 952 00:43:09,960 --> 00:43:14,560 Dahil "magpakailanman-alis ng check" ay ang pointer ng mouse ng pagpindot sa pusa. 953 00:43:14,560 --> 00:43:17,630 Kaya upang maging malinaw, at hindi ko sinabi ito bago, ang lahat ng mga puzzle 954 00:43:17,630 --> 00:43:20,750 piraso at ang script na na pinagsama namin ang mga ito sa, 955 00:43:20,750 --> 00:43:25,510 kaya upang makipag-usap, isang script ay magkasingkahulugan na may programa, talaga, ay kabilang sa pusa ito. 956 00:43:25,510 --> 00:43:30,110 At ang dahilan is-- dahil abiso kung paano ito parehong pusa dito ay naka-highlight, 957 00:43:30,110 --> 00:43:32,710 down na dito maaari kang lumikha ng isang pangalawang pusa o aso o talaga 958 00:43:32,710 --> 00:43:33,970 anumang nais mo graphically. 959 00:43:33,970 --> 00:43:35,900 Maaari kang mag-import ng isang bagay mula sa Photoshop, o ang katulad, 960 00:43:35,900 --> 00:43:38,300 at isama ang isang bagay kung nais upang gawin itong para sa isang proyekto. 961 00:43:38,300 --> 00:43:40,174 At kung anong makikita mo, sa huli, ay na sa iyo 962 00:43:40,174 --> 00:43:44,800 ay maaaring magdagdag ng mga script, idagdag puzzle piraso, sa indibidwal na mga character. 963 00:43:44,800 --> 00:43:47,210 Kaya ang mga lahat ng nabibilang sa ang partikular na pusa. 964 00:43:47,210 --> 00:43:51,770 Kaya ngayon kung pumunta ako magpatuloy at i-play ang program na ito, walang nangyayari. 965 00:43:51,770 --> 00:43:52,970 Ngunit ito ay tumatakbo. 966 00:43:52,970 --> 00:43:56,364 Ang programa ay sa ito magpakailanman loop, uri ng paghihintay para sa kung ano ang mangyayari? 967 00:43:56,364 --> 00:43:57,230 >> [Madla Chatter] 968 00:43:57,230 --> 00:43:58,130 >> David J. MALAN: Upang alagang hayop ang pusa. 969 00:43:58,130 --> 00:43:59,800 Kaya kung ilipat ko ang aking mouse patungo him-- 970 00:43:59,800 --> 00:44:02,420 >> [MEOWING] 971 00:44:02,420 --> 00:44:04,450 >> David J. MALAN: Kaya ngayon Ako petting ng pusa. 972 00:44:04,450 --> 00:44:07,330 Samantala, maaari kaming magkaroon ng double branch. 973 00:44:07,330 --> 00:44:10,370 Hayaan akong sige at buksan up huwag alagang hayop ang pusa. 974 00:44:10,370 --> 00:44:12,160 Magpo-post kami ito online pati na rin. 975 00:44:12,160 --> 00:44:16,760 Ito ay isang kaunti pa mahirap unawain, ngunit walang sinasabi 976 00:44:16,760 --> 00:44:18,780 maaari mong hulaan marahil kung ano ang nangyayari sa mangyari. 977 00:44:18,780 --> 00:44:20,160 >> [MEOWING] 978 00:44:20,160 --> 00:44:23,900 >> David J. MALAN: Cat ay meowing, enggrandeng lumang oras. 979 00:44:23,900 --> 00:44:26,690 Ngunit ang program na ito ay siyempre na tinatawag na "Huwag Alagang Hayop ang Cat," 980 00:44:26,690 --> 00:44:29,350 kaya malinaw, gusto kong pet ang pusa. 981 00:44:29,350 --> 00:44:30,490 >> [ROARING] 982 00:44:30,490 --> 00:44:31,940 >> David J. MALAN: Huwag alagang hayop ang pusa. 983 00:44:31,940 --> 00:44:34,230 Ngayon, sabihin tumagal ng isang hitsura sa isa pang halimbawa dito. 984 00:44:34,230 --> 00:44:38,035 Isa na ito ay tinatawag na "Kumusta, Hi, Hi," para sa mga kadahilanang 985 00:44:38,035 --> 00:44:40,410 iyon ay maging malinaw, dahil sa lalong madaling patakbuhin ko ito thing-- 986 00:44:40,410 --> 00:44:41,401 >> [Selyo Barking] 987 00:44:41,401 --> 00:44:43,942 David J. MALAN: Bihirang madaling isulat ang mga nakakainis na mga scratch program. 988 00:44:43,942 --> 00:44:45,300 [Selyo Barking] 989 00:44:45,300 --> 00:44:48,540 David J. MALAN: Ngayon ay hindi namin pumunta sa mahusay na detalye sa lahat ng mga ito, 990 00:44:48,540 --> 00:44:51,150 ngunit napansin mayroong isang ilang mga bagong tampok dito. 991 00:44:51,150 --> 00:44:55,540 Mayroong isang variable, na tinatawag na "naka-mute," at pagkatapos ay mayroong isang bungkos ng mga kundisyon. 992 00:44:55,540 --> 00:44:57,900 At sa ngayon, ipaalam sa akin tease lang sa iyo sa pamamagitan ng sinasabi 993 00:44:57,900 --> 00:45:03,170 na kung ito tao ay nakakakuha ng masyadong nakakainis, Maaari ko pindutin ang spacebar at siya tumitigil. 994 00:45:03,170 --> 00:45:05,880 Dahil ang papel na-play sa pamamagitan ng ang dalawang mga script ay ang mga sumusunod. 995 00:45:05,880 --> 00:45:08,510 Ang isa sa mga ito ay ang magawa ang Barking bawat ilang segundo. 996 00:45:08,510 --> 00:45:11,305 Ang iba pang isa ay naghihintay lamang para sa akin upang pindutin ang spacebar. 997 00:45:11,305 --> 00:45:14,780 At kung gagawin ko pindutin ang spacebar, ito ang nangyayari upang baguhin 998 00:45:14,780 --> 00:45:18,096 ang estado ng variable na ito, ang halaga ng variable, na tila 999 00:45:18,096 --> 00:45:20,470 na tinatawag na "naka-mute," ako ay hindi tumawag ito ang isang bagay tulad ng boring n, 1000 00:45:20,470 --> 00:45:22,370 Tinatawag ko ito isang salitang Ingles, "naka-mute." 1001 00:45:22,370 --> 00:45:24,740 Mula sa 1-0 o 0-1. 1002 00:45:24,740 --> 00:45:26,830 Mula totoo sa hindi totoo o hindi totoo sa true. 1003 00:45:26,830 --> 00:45:28,930 At sa gayon maaari mong aktwal tingnan ngayon, na 1004 00:45:28,930 --> 00:45:31,720 ay maaaring magkaroon ng dalawang mga script, dalawang mga programa sa pagtakbo nang sabay-sabay, 1005 00:45:31,720 --> 00:45:34,360 at pareho ng mga ito ay maaaring pag-upo sa isang loop paggawa ng isang bagay. 1006 00:45:34,360 --> 00:45:38,067 Naghihintay para gawin ang tao isang bagay tulad ng pagpindot sa spacebar. 1007 00:45:38,067 --> 00:45:38,650 [Selyo Barking] 1008 00:45:38,650 --> 00:45:40,566 David J. MALAN: At ngayon siya ay muli sa kanyang daan. 1009 00:45:40,566 --> 00:45:41,640 [Selyo Barking] 1010 00:45:41,640 --> 00:45:45,220 David J. MALAN: Kaya ano pa maaari naming gawin sa mga halimbawa? 1011 00:45:45,220 --> 00:45:50,920 Well, sabihin magpatuloy at gawin ang isang Halimbawa may pagbibilang ng mga tupa. 1012 00:45:50,920 --> 00:45:59,210 Patuloy naming ito sa kahabaan ng linya dito of-- ni buksan ang halimbawa tupa ipaalam. 1013 00:45:59,210 --> 00:46:02,460 At paunawa, na halos tulad ng dati, ang isang ito, thankfully, ay mas mababa ng kaunti nakakainis. 1014 00:46:02,460 --> 00:46:06,940 Sa sandaling pindutin ang i-play ko here-- Ay naku, ito ay nakakainis. 1015 00:46:06,940 --> 00:46:10,130 Siya ay pagpunta sa baa may ilang mga bagay na maaaring mangyari. 1016 00:46:10,130 --> 00:46:11,050 Ni-play muli ito Hayaan. 1017 00:46:11,050 --> 00:46:15,221 >> [Tupa BLEETING] 1018 00:46:15,221 --> 00:46:18,470 David J. MALAN: Ang pagkakaiba lamang ay Binago namin ang costume, kaya upang makipag-usap, 1019 00:46:18,470 --> 00:46:21,710 at kami ay halving at sabihin kung ano na ang aktwal na bilang ay. 1020 00:46:21,710 --> 00:46:24,680 Ng sige na rin ipaalam at tumagal ito ng isang hakbang karagdagang. 1021 00:46:24,680 --> 00:46:28,190 At ipaalam sa akin tease sa iyo ng isa iba pang mga tampok dito. 1022 00:46:28,190 --> 00:46:31,800 Sabihin sige at buksan up isang programa na tinatawag na mga thread. 1023 00:46:31,800 --> 00:46:36,620 Kaya halos tulad ng maaari kang magkaroon ng isa sprite, pagkakaroon ng maramihang mga script, 1024 00:46:36,620 --> 00:46:41,250 maaari kang magkaroon ng dalawang sprites, isang ibon sa isang pusa, ang bawat isa sa pagkakaroon ng kanilang sariling mga script. 1025 00:46:41,250 --> 00:46:43,976 At bawat isa sa kanila maaari magpatakbo nang sabay-sabay. 1026 00:46:43,976 --> 00:46:45,980 Kung kailanman na iyong narinig ang salitang "multithreading" 1027 00:46:45,980 --> 00:46:49,240 isang computer ay "multithreaded" paraan maaari itong gawin ang maramihang mga bagay nang sabay-sabay, 1028 00:46:49,240 --> 00:46:50,880 at, sa katunayan, sa gayon ay maaari sa simula. 1029 00:46:50,880 --> 00:46:52,690 >> At ngayon mapansin ang ibon ay uri ng pipi. 1030 00:46:52,690 --> 00:46:55,100 Ito lamang ang ginagawa ng mga bagay random, nagba-bounce off ang screen. 1031 00:46:55,100 --> 00:46:59,460 Malinaw ang pusa ay nai-program sa uri ng magkaroon naghahanap ng mga kakayahan 1032 00:46:59,460 --> 00:47:02,680 sa home in sa ibon dahil siya palagi na nakaturo sa kanya. 1033 00:47:02,680 --> 00:47:06,176 Hanggang sa wakas, siya catches ang aktwal na ibon. 1034 00:47:06,176 --> 00:47:08,550 Kaya ako ay hindi dwell sa mga detalye dito, ngunit maaari kang uri ng 1035 00:47:08,550 --> 00:47:12,160 sulyap sa parehong mga hugis, ang ilang mga "Kung" kundisyon, ang ilang mga variable, 1036 00:47:12,160 --> 00:47:15,740 marahil ilang mga loop, ay sa huli ginagawa ang parehong bagay. 1037 00:47:15,740 --> 00:47:18,400 >> Ngayon ipaalam sa akin sige at buksan up ibang bagay nang sama-sama, 1038 00:47:18,400 --> 00:47:20,920 upang tease ilan sa inyo, lalo na mga higit pang mga kumportableng, 1039 00:47:20,920 --> 00:47:22,760 ano ang maaari mong talagang gawin sa mga ito. 1040 00:47:22,760 --> 00:47:26,080 Pupunta ako sa sige at magbukas ng mga Pindutan dito. 1041 00:47:26,080 --> 00:47:28,740 At ito ay isang napakabilis simpleng-tila programa, 1042 00:47:28,740 --> 00:47:34,190 ngunit panoorin kung ano ang mangyayari kapag Manood I-- kung ano 1043 00:47:34,190 --> 00:47:39,860 ang mangyayari kapag binuksan ko ang bersyon nito, dito sa browser, scratch.mit.edu. 1044 00:47:39,860 --> 00:47:43,460 At kapag nag-click ako ito malaki pula button, mapapansin kung ano ang mangyayari. 1045 00:47:43,460 --> 00:47:46,110 1046 00:47:46,110 --> 00:47:47,647 Kaya kung ano ang nangyayari sa dito? 1047 00:47:47,647 --> 00:47:50,480 Mayroon talagang isang marami pang kumplikado nangyayari sa ilalim ng hood, 1048 00:47:50,480 --> 00:47:52,896 kahit na naipatupad ko na ito, o tapat, si Dan Bradley 1049 00:47:52,896 --> 00:47:54,660 ay naipatupad ito nang sa gayon lamang. 1050 00:47:54,660 --> 00:47:59,540 Siya ay dinisenyo ng isang pasadyang scratch palaisipan piraso, na kilala bilang extension sa simula, 1051 00:47:59,540 --> 00:48:01,300 tinatawag niya ito-toggle. 1052 00:48:01,300 --> 00:48:06,332 >> At kung ano ang ginagawa I-toggle ay nagpapadala ito isang mensahe sa internet. 1053 00:48:06,332 --> 00:48:08,290 At na mensahe mismo mukhang ng kaunti cryptic. 1054 00:48:08,290 --> 00:48:10,248 Ngunit ito, masyadong, ipapakita sa iyo Nauunawaan ng mga end terminong ginamit sa. 1055 00:48:10,248 --> 00:48:14,930 Ang mensahe na aktwal na siya ay pagpapadala mukhang ng kaunti ng isang bagay na katulad nito. 1056 00:48:14,930 --> 00:48:15,921 Ito ay teksto lamang. 1057 00:48:15,921 --> 00:48:16,420 Cryptic. 1058 00:48:16,420 --> 00:48:19,130 Makikita mo maintindihan ito sa pamamagitan ng oras makuha namin-set ang problema pitong. 1059 00:48:19,130 --> 00:48:22,180 Ay lamang pagpapadala nito sa isang textual mensahe sa internet sa isang server. 1060 00:48:22,180 --> 00:48:24,330 At server iyon ay, sa huli, pakikipag-usap sa ito ilaw bombilya, na 1061 00:48:24,330 --> 00:48:27,240 May isa sa mga magarbong ilaw na mga bombilya sa loob nito na, mismo, ay pakikipag-usap 1062 00:48:27,240 --> 00:48:30,760 upang ang Wi-Fi sa network dito, kung saan isang lokal na aparato down na here-- 1063 00:48:30,760 --> 00:48:34,400 at, sa huli, ito ay aktwal na i-ilaw na on at off. 1064 00:48:34,400 --> 00:48:36,240 Ngunit maaari naming magawa nang higit pa pa rin kawili-wiling mga bagay. 1065 00:48:36,240 --> 00:48:38,270 Pansinin kung ano ang ginawa din Dan para sa amin. 1066 00:48:38,270 --> 00:48:42,210 Ginawa niya ang maramihang mga sprites, ang bawat isa sa na may isang script na naghihintay para sa isang pag-click. 1067 00:48:42,210 --> 00:48:44,030 At kung nag-click ako pula, ito ay pumupunta pula. 1068 00:48:44,030 --> 00:48:46,780 Kung nakukuha ko asul, ito ay pumupunta blueish. 1069 00:48:46,780 --> 00:48:49,854 Berde, dilaw, orange. 1070 00:48:49,854 --> 00:48:52,520 At lahat ng ito ay nangyayari sa pamamagitan ng pagpunta paraan out papunta sa internet, 1071 00:48:52,520 --> 00:48:54,690 i-back down na dito sa liwanag bombilya, on at off. 1072 00:48:54,690 --> 00:48:57,981 >> At kung maaari mong naniniwala it-- at ito ay marahil isa sa mga pinaka masalimuot na mga scratch 1073 00:48:57,981 --> 00:49:00,930 mga proyekto ng isang tao ay may implemented-- ginawa niya ito, sa pagiging makatarungan, sa isang araw. 1074 00:49:00,930 --> 00:49:04,180 At iyon ay ang hamon namin threw down na sa Dan nang makita namin mayroon binary bombilya, 1075 00:49:04,180 --> 00:49:05,810 mayroon kaming wala, paano Maaari pagsamahin namin ang mga ito? 1076 00:49:05,810 --> 00:49:08,410 At, sa katunayan, ito ay ganap na isang bagay na sinuman sa kuwartong ito 1077 00:49:08,410 --> 00:49:14,250 maaaring gawin sa pamamagitan ng end-- semestre ng ba siya reimplemented binary na mga bombilya gamit 1078 00:49:14,250 --> 00:49:18,310 ang parehong interface na noon ay sa aming iPad sa Miyerkules. 1079 00:49:18,310 --> 00:49:22,000 Kaya na ngayon, kung ako talaga i-click ang plus sa paglipas dito, 1080 00:49:22,000 --> 00:49:25,250 mayroon kaming isa, dalawa, tatlo. 1081 00:49:25,250 --> 00:49:27,550 Maaari ko pindutin ang 16 at i na ang isa sa. 1082 00:49:27,550 --> 00:49:29,440 128, at iba pa. 1083 00:49:29,440 --> 00:49:31,250 >> Ngayon kung na mag-isa ay may at blown ang iyong isip, 1084 00:49:31,250 --> 00:49:35,680 maaari mong gawin sa ngayon mas naa-access ang mga bagay, hindi na kinasasangkutan ng anumang hardware tiyak. 1085 00:49:35,680 --> 00:49:38,320 Bagay lamang sa screen mismo. 1086 00:49:38,320 --> 00:49:41,110 At, sa katunayan, kung ano ang pinaka-mag-aaral magtapos ka sa paggawa ay ang ilang mga uri ng laro, 1087 00:49:41,110 --> 00:49:44,600 ilang piraso ng sining trabaho, o ang ilang mga uri ng interactive animation. 1088 00:49:44,600 --> 00:49:47,352 At ako ay sabihin sa isa sa aming mga paborito ay naging isang ito. 1089 00:49:47,352 --> 00:49:49,060 At naisip ko kung namin maaaring palalamlamin ang liwanag ng ilaw, 1090 00:49:49,060 --> 00:49:52,960 isasaalang-alang namin ang isang sulyap sa ito panghuling Sa simula ng proyekto sa konklusyon. 1091 00:49:52,960 --> 00:49:57,460 Ngunit kung ano ang makikita mo dapat tandaan, bilang Maaari ko tease sa iyo ng isang huling detalye, 1092 00:49:57,460 --> 00:49:59,140 sectioning ay magsisimula sa susunod na linggo. 1093 00:49:59,140 --> 00:50:00,830 Oras ng opisina ay magsisimula sa susunod na linggo. 1094 00:50:00,830 --> 00:50:04,410 Problema set ipo-post zero CS50.harvard.edu sa ibang pagkakataon ngayong araw. 1095 00:50:04,410 --> 00:50:06,430 At ikaw ay greeted sa zero problema itakda 1096 00:50:06,430 --> 00:50:10,070 sa sarili Zamyla Chan CS50, na nag- Mga Gabay sa karamihan sa aming mga walkthroughs. 1097 00:50:10,070 --> 00:50:11,952 Ito ang mga naka-embed na video sa mga hanay ng problema 1098 00:50:11,952 --> 00:50:15,160 na hawakan ang iyong mga kamay sa pamamagitan ng maraming ng unang pangkat up at sa pamamagitan ng maraming 1099 00:50:15,160 --> 00:50:16,570 sa mga posibleng mga pasya sa disenyo. 1100 00:50:16,570 --> 00:50:19,570 Kaya kung hindi mo kailanman ay nagkaroon na damdamin kapag tumatawag ng araling-bahay pagtatalaga 1101 00:50:19,570 --> 00:50:21,030 at nagtataka, kung saan ako magsisimula? 1102 00:50:21,030 --> 00:50:23,510 Siya ay mayroon na sagot para sa iyo. 1103 00:50:23,510 --> 00:50:27,720 At ngayon, isang pangwakas na programa mula sa isa sa iyong mga predecessors 1104 00:50:27,720 --> 00:50:30,659 sa sagot sa tanong "Ano ang ibig sabihin ng Fox?" 1105 00:50:30,659 --> 00:50:32,242 [Musika YLVIS, "ANO ANG MGA FOX sabihin?] 1106 00:50:32,242 --> 00:50:40,178 1107 00:50:40,178 --> 00:50:41,666 >> YLVIS: (pagkanta) Dog napupunta woof. 1108 00:50:41,666 --> 00:50:43,650 Cat napupunta ngiyaw. 1109 00:50:43,650 --> 00:50:47,520 Pumupunta Bird tweet at mouse ay pumupunta squeak. 1110 00:50:47,520 --> 00:50:49,240 Cow napupunta Moo. 1111 00:50:49,240 --> 00:50:51,690 Palaka napupunta croak. 1112 00:50:51,690 --> 00:50:54,630 At ang mga elepante napupunta toot. 1113 00:50:54,630 --> 00:50:59,040 Ducks sabihin quack at isda pumunta blub. 1114 00:50:59,040 --> 00:51:07,370 At ang selyo ay pumupunta kita ang kita ang kita, ngunit mayroong isang tunog na alam ng walang sinuman, 1115 00:51:07,370 --> 00:51:10,330 kung ano ang ibig sabihin ng Fox? 1116 00:51:10,330 --> 00:51:11,020 At 1117 00:51:11,020 --> 00:51:12,478 >> David J. MALAN: Iyon lang para sa CS50. 1118 00:51:12,478 --> 00:51:15,436 Makikita natin sa iyo sa Palaisipan Araw at sa Lunes. 1119 00:51:15,436 --> 00:51:16,424 >> [APPLAUSE] 1120 00:51:16,424 --> 00:51:19,882 >> [Musika YLVIS, "Ano ang ginagawa ng FOX sabihin?"] 1121 00:51:19,882 --> 00:51:24,840 1122 00:51:24,840 --> 00:51:28,820 >> NARRATOR: At malalim na ngayon mga pananaw, sa pamamagitan ng Daven Farnham. 1123 00:51:28,820 --> 00:51:31,770 1124 00:51:31,770 --> 00:51:34,570 Ngayon Nakatanggap ako pindutin sa harapan sa isang libro ng telepono. 1125 00:51:34,570 --> 00:51:38,160 Nakalilito, bilang ako sa tahanan sa panonood ng online. 1126 00:51:38,160 --> 00:51:42,528