1 00:00:00,000 --> 00:00:10,980 >> [MUSIC PLAYING] 2 00:00:10,980 --> 00:00:13,260 >> -Baiklah! 3 00:00:13,260 --> 00:00:16,400 >> -Ini CS50. 4 00:00:16,400 --> 00:00:18,220 >> -Ini CS50. 5 00:00:18,220 --> 00:00:19,324 >> -Ini CS50. 6 00:00:19,324 --> 00:00:20,615 [MUSIC - IGGY AZALEA, "FANCY"] 7 00:00:20,615 --> 00:00:29,925 8 00:00:29,925 --> 00:00:33,570 >> Memori favorit -My dari CS50 adalah ketika saya pergi ke Teka-Day. 9 00:00:33,570 --> 00:00:35,797 >> -Mungkin Hanya waktu menghabiskan bekerja pada masalah set 10 00:00:35,797 --> 00:00:38,630 dengan teman-teman dan orang-orang yang wold akhirnya menjadi blockmates saya. 11 00:00:38,630 --> 00:00:40,421 >> -My Memori terbaik dari CS50 adalah Hackathon. 12 00:00:40,421 --> 00:00:41,630 -The 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 -The Hackathon 17 00:00:43,883 --> 00:00:45,027 -Rob Bowden. 18 00:00:45,027 --> 00:00:46,110 Hanya segala sesuatu tentang dirinya. 19 00:00:46,110 --> 00:00:47,401 >> [MUSIC - IGGY AZALEA, "FANCY"] 20 00:00:47,401 --> 00:00:56,790 21 00:00:56,790 --> 00:01:02,512 >> Memori favorit -My adalah ketika saya berada di panggung dan aku memainkan peran bergengsi 22 00:01:02,512 --> 00:01:04,220 dari node [? dalam Linked?] [? Daftar. ?] 23 00:01:04,220 --> 00:01:08,470 >> -Ketika Kita semua mendapat Dropbox ruang bebas dan David adalah seperti, lihat di bawah kursi Anda. 24 00:01:08,470 --> 00:01:10,520 Dan itu seperti, ruang untuk semua orang! 25 00:01:10,520 --> 00:01:11,811 >> [MUSIC - IGGY AZALEA, "FANCY"] 26 00:01:11,811 --> 00:01:20,940 27 00:01:20,940 --> 00:01:22,830 >> Saran -My untuk setiap siswa yang masuk akan 28 00:01:22,830 --> 00:01:26,170 adalah untuk benar-benar bekerja pada P-set dengan teman-teman. 29 00:01:26,170 --> 00:01:27,960 >> Jam -Office sangat banyak teman Anda. 30 00:01:27,960 --> 00:01:30,870 >> -Buatlah Sebagian besar pengalaman Anda dan bertemu orang sebanyak yang Anda bisa. 31 00:01:30,870 --> 00:01:32,390 >> -Jangan Takut untuk meminta bantuan. 32 00:01:32,390 --> 00:01:33,890 -Mulai P-set di awal minggu. 33 00:01:33,890 --> 00:01:36,723 -Saya pikir hal terbesar adalah untuk memanfaatkan semua sumber daya 34 00:01:36,723 --> 00:01:37,950 CS50 yang memiliki. 35 00:01:37,950 --> 00:01:39,960 >> -Pergi Ke jam kantor di awal minggu. 36 00:01:39,960 --> 00:01:41,430 >> -Jelas Menonton celana pendek. 37 00:01:41,430 --> 00:01:42,989 >> Don 't menunda-nunda pada P-set Anda. 38 00:01:42,989 --> 00:01:45,780 -Pastikan Anda menemukan kelompok besar orang untuk bekerja pada P-set dengan. 39 00:01:45,780 --> 00:01:48,530 Anda dapat memiliki banyak menyenangkan dan mendapatkan pekerjaan yang dilakukan bersama-sama. 40 00:01:48,530 --> 00:01:50,370 >> -Jangan Takut untuk mendorong diri sendiri. 41 00:01:50,370 --> 00:01:52,080 Pergi untuk edisi hacker kadang-kadang. 42 00:01:52,080 --> 00:01:55,410 >> Hal -Menulis di atas kertas sebelum Anda pernah menyentuh komputer Anda. 43 00:01:55,410 --> 00:01:58,380 >> -CS50 Benar-benar hebat di menyediakan cara untuk mendapatkan bantuan. 44 00:01:58,380 --> 00:02:01,134 >> -My Satu bagian dari nasihat adalah tidur. 45 00:02:01,134 --> 00:02:02,050 Ada yang mengatakan bahwa? 46 00:02:02,050 --> 00:02:04,100 Tidur, pasti. 47 00:02:04,100 --> 00:02:08,919 Sangat mudah untuk tidak melakukan, tapi Anda harus melakukannya, saya pikir. 48 00:02:08,919 --> 00:02:12,982 >> -Aku Akan mengatakan benar-benar mempersiapkan mental karena Anda akan menyukainya. 49 00:02:12,982 --> 00:02:14,273 [MUSIC - IGGY AZALEA, "FANCY"] 50 00:02:14,273 --> 00:02:17,750 51 00:02:17,750 --> 00:02:18,940 >> -Ini CS50. 52 00:02:18,940 --> 00:02:22,090 53 00:02:22,090 --> 00:02:23,066 >> -Ini CS50. 54 00:02:23,066 --> 00:02:26,400 55 00:02:26,400 --> 00:02:26,989 >> -Ini CS50. 56 00:02:26,989 --> 00:02:28,280 [MUSIC - IGGY AZALEA, "FANCY"] 57 00:02:28,280 --> 00:02:31,290 58 00:02:31,290 --> 00:02:31,964 >> -Ini CS50. 59 00:02:31,964 --> 00:02:36,020 60 00:02:36,020 --> 00:02:42,270 >> [Tepuk Tangan] 61 00:02:42,270 --> 00:02:46,040 >> DAVID J. Malan: Jadi ini adalah CS50 dan ini adalah akhir dari minggu 0. 62 00:02:46,040 --> 00:02:48,770 Dan itu hanya beberapa staf CS50 ini yang 63 00:02:48,770 --> 00:02:51,100 menanti Anda tidak hanya di bagian dan jam kantor, tapi, 64 00:02:51,100 --> 00:02:54,390 juga, akhir pekan mendatang di CS50 Puzzle Day. 65 00:02:54,390 --> 00:02:56,410 Yang, sekali lagi, tidak semua tentang pemrograman. 66 00:02:56,410 --> 00:02:59,710 Memang, itu diharapkan bahwa Anda tidak perlu memprogram apa-apa, 67 00:02:59,710 --> 00:03:03,780 melainkan memecahkan masalah dengan menggunakan akal dan teman-teman bersama Anda. 68 00:03:03,780 --> 00:03:06,400 >> Kami akan bergabung dengan beberapa teman-teman kita di Facebook-- 69 00:03:06,400 --> 00:03:08,980 jika Anda mendaftar di sini-yang selama beberapa tahun terakhir, 70 00:03:08,980 --> 00:03:11,450 telah benar-benar telah menulis tantangan ini dengan kami. 71 00:03:11,450 --> 00:03:14,822 Jadi, mereka akan menjadi orang-orang akhirnya menjalankan Puzzle Day. 72 00:03:14,822 --> 00:03:17,530 Jadi, Anda akan ditantang dengan tepat hal-hal yang 73 00:03:17,530 --> 00:03:20,520 dan masalah yang orang-orang di Facebook ingin berpikir tentang. 74 00:03:20,520 --> 00:03:21,860 Sehingga besok. 75 00:03:21,860 --> 00:03:25,980 Mendaftar di cs50.harvard.edu/register. 76 00:03:25,980 --> 00:03:28,120 >> Sekarang kata pada pasangan staf khususnya. 77 00:03:28,120 --> 00:03:30,090 Ini di sini adalah Ansel Duff, yang sebenarnya adalah salah satu 78 00:03:30,090 --> 00:03:33,860 co-penulis biner ini lampu yang kami lihat pada hari Rabu, 79 00:03:33,860 --> 00:03:36,710 selain CS50 sendiri Dan Bradley. 80 00:03:36,710 --> 00:03:40,094 Ansel Duff juga mantan mahasiswa advisee saya 3 tahun yang lalu 81 00:03:40,094 --> 00:03:41,760 dan dia benar-benar bahkan membangun podium ini. 82 00:03:41,760 --> 00:03:45,330 Dia pergi untuk melakukan ilmu teknik dan banyak lagi. 83 00:03:45,330 --> 00:03:49,279 Sekarang, fotonya di sini sebenarnya Ansel 3 tahun yang lalu di CS50 Hackathon 84 00:03:49,279 --> 00:03:51,820 ketika ia meminjam salah satu dari kami balon, terjebak ke laptop-nya, 85 00:03:51,820 --> 00:03:55,240 dan, untuk 12 berikutnya beberapa aneh jam, fokus pada proyek terakhirnya, 86 00:03:55,240 --> 00:03:59,150 mengambil istirahat hanya untuk membuka tas permen di Hackathon. 87 00:03:59,150 --> 00:04:02,210 >> Tapi dia melanjutkan lebih baru-baru ini untuk menghabiskan musim panas ini dengan kami, 88 00:04:02,210 --> 00:04:05,270 sejak CS50 untuk staf, dan sekarang mahasiswa semester ini, 89 00:04:05,270 --> 00:04:06,770 memiliki printer 3D sendiri. 90 00:04:06,770 --> 00:04:10,180 Dan singkatnya sebuah printer 3D sebuah perangkat yang terlihat cukup seperti ini. 91 00:04:10,180 --> 00:04:15,700 Anda mengisinya dengan spool plastik yang dilebur oleh perangkat 92 00:04:15,700 --> 00:04:18,940 dan Anda membangun sesuatu harfiah dari apa-apa. 93 00:04:18,940 --> 00:04:22,660 Sama seperti printer inkjet, Anda mulai menyemburkan titik kecil dari plastik 94 00:04:22,660 --> 00:04:24,990 bahwa bentuk bersama-sama untuk membentuk seluruh objek. 95 00:04:24,990 --> 00:04:28,430 Jadi Ansel misalnya, sebelumnya musim panas ini, memiliki 5 iPhone 96 00:04:28,430 --> 00:04:30,722 dan memutuskan dia benar-benar ingin untuk menopang itu di mejanya. 97 00:04:30,722 --> 00:04:32,638 Tapi dia tidak mau pergi keluar dan membeli sesuatu 98 00:04:32,638 --> 00:04:36,030 dari toko Apple atau sejenisnya, sehingga ia duduk dan mulai menggambar sesuatu. 99 00:04:36,030 --> 00:04:38,280 Dia mengambil beberapa pengukuran bagaimana tebal 100 00:04:38,280 --> 00:04:41,270 dan seberapa luas iPhone nya, ia menarik gambar ini di sini, 101 00:04:41,270 --> 00:04:43,870 ia memutuskan bahwa ia ingin memiliki kemiringan 75 derajat 102 00:04:43,870 --> 00:04:46,150 seperti itu menatap dia di mejanya ada. 103 00:04:46,150 --> 00:04:50,440 Dia kemudian berbalik ini, dengan menggunakan software, menjadi model 3D CAD 104 00:04:50,440 --> 00:04:52,400 yang tampak sedikit sesuatu seperti ini. 105 00:04:52,400 --> 00:04:55,940 Dan kemudian ia melanjutkan, akhirnya, untuk benar-benar membuatnya. 106 00:04:55,940 --> 00:05:00,250 Jadi sebenarnya, jika ada di antara kalian di sini, mungkin berturut-turut bahwa saya bisa melempar, punya 107 00:05:00,250 --> 00:05:06,780 an-- sana kami memiliki orang-orang dengan iPhone 5, dan di sini kita memiliki dua lagi. 108 00:05:06,780 --> 00:05:10,650 109 00:05:10,650 --> 00:05:17,037 >> Sekarang, tidak mau kalah, CS50 sendiri Cheng Gong juga ditetapkan musim panas ini 110 00:05:17,037 --> 00:05:19,870 untuk membangun beberapa hal dan, pada kenyataannya, untuk alasan yang masih 111 00:05:19,870 --> 00:05:23,970 jelas, telah perlahan-lahan mencetak pasukan gajah 112 00:05:23,970 --> 00:05:27,250 dengan mengartikulasikan lengan dan batang. 113 00:05:27,250 --> 00:05:32,515 Beberapa yang sebenarnya di sini jika orang sekarang akan seperti-- gajah. 114 00:05:32,515 --> 00:05:35,650 115 00:05:35,650 --> 00:05:40,522 Baiklah,. tapi apa Cheng juga melakukan bagi kita adalah dia sangat ramah mengatur kamera 116 00:05:40,522 --> 00:05:42,230 karena gajah itu, percaya atau tidak, 117 00:05:42,230 --> 00:05:44,690 mengambil beberapa dua dan setengah jam untuk mencetak. 118 00:05:44,690 --> 00:05:47,840 Bahkan berdiri iPhone mengambil satu jam setengah untuk mencetak. 119 00:05:47,840 --> 00:05:51,490 Dan apa Cheng pergi ke depan dan melakukan didirikan kamera yang bagus di depan 120 00:05:51,490 --> 00:05:55,580 printer 3D ini, difilmkan selama satu jam dan setengah desain Ansel dicetak. 121 00:05:55,580 --> 00:05:58,090 Kami disalut beberapa seksi musik itu dalam rangka 122 00:05:58,090 --> 00:06:00,570 untuk memberikan ini untuk melihat bagaimana cetak 3D bekerja. 123 00:06:00,570 --> 00:06:02,494 Dan meskipun ini sebenarnya dalam plastik, 124 00:06:02,494 --> 00:06:05,160 menyadari bahwa jika ini adalah area menarik bagi Anda secara akademis, 125 00:06:05,160 --> 00:06:07,120 ada orang-orang, di antara mereka Jennifer Lewis di sini 126 00:06:07,120 --> 00:06:09,036 di Sekolah Teknik, yang sebenarnya 127 00:06:09,036 --> 00:06:10,920 bekerja pada pencetakan 3D benda plastik. 128 00:06:10,920 --> 00:06:14,150 Tetapi bahkan, semakin, bahan biologis untuk memecahkan 129 00:06:14,150 --> 00:06:16,530 masalah fisiologis bagi manusia. 130 00:06:16,530 --> 00:06:19,944 Tapi di sini adalah sedikit sesuatu dari CS50. 131 00:06:19,944 --> 00:06:31,625 >> [LOUD MECHANICAL suara] 132 00:06:31,625 --> 00:06:34,250 DAVID J. Malan: Tidak terdengar hal seperti itu dalam kenyataannya, 133 00:06:34,250 --> 00:06:37,240 tapi itu jauh lebih keren untuk melihatnya pada kecepatan itu, dan dengan suara. 134 00:06:37,240 --> 00:06:40,000 >> Sekarang, pada hari Rabu, bagaimana Apakah kita lebih dulu sampai di sini? 135 00:06:40,000 --> 00:06:43,345 Kami mulai berbicara tentang komputer ilmu pengetahuan dan kami bertanya apa itu. 136 00:06:43,345 --> 00:06:46,470 Dan ini tentang beberapa hal, dan ada begitu banyak arah yang berbeda 137 00:06:46,470 --> 00:06:48,477 di mana Anda dapat kepala setelah kursus seperti CS50. 138 00:06:48,477 --> 00:06:50,810 Bahkan, jika Anda mengambil salah satu tersebut panduan resmi 139 00:06:50,810 --> 00:06:54,080 ke CS luar, buklet yang kami telah disediakan, apakah Anda 140 00:06:54,080 --> 00:06:57,150 berpikir untuk mengambil hanya CS50, atau mungkin melakukan sekunder, 141 00:06:57,150 --> 00:06:59,557 atau mungkin bahkan berkonsentrasi di CS, jangan membalik-balik itu. 142 00:06:59,557 --> 00:07:01,390 Dan Anda akan melihat diagram menjelang akhir yang 143 00:07:01,390 --> 00:07:04,950 berisi berbagai arah di CS bahwa Anda dapat pergi di. 144 00:07:04,950 --> 00:07:09,030 >> Tapi untuk hari ini, kita akan fokus, lagi, pada benar-benar salah satu pandangan mendasar, 145 00:07:09,030 --> 00:07:11,500 mungkin, di mana Anda memiliki masukan untuk masalah, 146 00:07:11,500 --> 00:07:13,430 Anda memiliki output dari masalah, dan Anda memiliki 147 00:07:13,430 --> 00:07:17,420 algoritma yang dapat digunakan untuk membuat mereka output dari input tersebut. 148 00:07:17,420 --> 00:07:20,330 Dan salah satu contohnya, adalah dari Tentu saja, ini buku telepon di sini. 149 00:07:20,330 --> 00:07:24,180 Dan kami digunakan sebagai contoh untuk pergi melalui suatu algoritma yang benar. 150 00:07:24,180 --> 00:07:26,490 Dan kemudian satu sama lain adalah benar, tapi sedikit lebih cepat. 151 00:07:26,490 --> 00:07:29,448 Kemudian satu lagi yang sedikit lebih dramatis, tetapi pada dasarnya 152 00:07:29,448 --> 00:07:30,000 lebih cepat. 153 00:07:30,000 --> 00:07:32,720 >> Benar, ini telepon buku kami mengklaim memiliki sekitar 1.000 halaman. 154 00:07:32,720 --> 00:07:36,200 Dan berapa kali aku memiliki untuk merobek buku telepon di setengah 155 00:07:36,200 --> 00:07:39,930 untuk menemukan seseorang seperti Mike Smith, maksimal, dalam 1.000 halaman buku? 156 00:07:39,930 --> 00:07:41,040 Jadi, 10 memberi atau mengambil. 157 00:07:41,040 --> 00:07:45,050 Jadi setelah saya merobek hal ini di setengah, atau hanya, lebih matang, 158 00:07:45,050 --> 00:07:48,490 dibagi dua, itu hanya 10 halaman dari 1.000. 159 00:07:48,490 --> 00:07:51,470 Dan jika Anda meramalkan kemungkinan, sedikit realistis untuk buku telepon, 160 00:07:51,470 --> 00:07:56,540 tetapi jika buku telepon ini memiliki beberapa 4 miliar halaman di dalamnya, sehingga benar-benar 161 00:07:56,540 --> 00:07:59,680 berat secara fisik, berapa banyak kali Anda membagi 4 miliar 162 00:07:59,680 --> 00:08:01,460 Halaman buku telepon di setengah? 163 00:08:01,460 --> 00:08:03,035 Jadi itu sebenarnya 32, memberi atau mengambil. 164 00:08:03,035 --> 00:08:07,090 Dan jadi 32 kali saja, keluar dari 4 miliar halaman, bisa 165 00:08:07,090 --> 00:08:08,700 Anda menemukan seseorang seperti Mike Smith. 166 00:08:08,700 --> 00:08:09,740 Dan itulah efisiensi. 167 00:08:09,740 --> 00:08:12,130 Itu algoritma yang baik, berani mengatakan. 168 00:08:12,130 --> 00:08:14,480 >> Tapi kemudian kami pindah dari itu mencoba untuk meresmikan itu. 169 00:08:14,480 --> 00:08:16,100 Dan saya mengusulkan kode pseudo ini. 170 00:08:16,100 --> 00:08:17,800 Kode Pseudocode tidak apa-apa formal. 171 00:08:17,800 --> 00:08:18,880 Ini bukan sesuatu yang Anda menghafal. 172 00:08:18,880 --> 00:08:21,588 Ini hanya sesuatu yang Anda mengekspresikan cukup intuitif menggunakan bahasa Inggris, 173 00:08:21,588 --> 00:08:24,990 atau bahasa apapun benar-benar, bahwa menyampaikan ide-ide Anda ringkas. 174 00:08:24,990 --> 00:08:26,990 Tapi apa yang penting tentang kode pseudocode adalah bahwa Anda 175 00:08:26,990 --> 00:08:30,331 mencoba untuk mengantisipasi semua kemungkinan kasus yang mungkin terjadi. 176 00:08:30,331 --> 00:08:33,080 Dan memang, dalam pseudocode ini kode, ada yang benar-benar tiga kasus 177 00:08:33,080 --> 00:08:34,700 setiap kali saya membagi buku telepon. 178 00:08:34,700 --> 00:08:36,006 Mike mungkin ke kiri. 179 00:08:36,006 --> 00:08:37,130 Mike mungkin ke kanan. 180 00:08:37,130 --> 00:08:39,240 Atau ia mungkin benar di halaman aku di. 181 00:08:39,240 --> 00:08:42,110 Atau kasus sudut keempat, sehingga untuk berbicara. 182 00:08:42,110 --> 00:08:46,470 Skenario yang buruk mungkin menjadi salah satu which-- apa yang terjadi? 183 00:08:46,470 --> 00:08:48,860 Mike hanya tidak di buku telepon sama sekali. 184 00:08:48,860 --> 00:08:52,720 >> Dan ketika program crash-- ketika Mac dan software PC yang kalian jalankan 185 00:08:52,720 --> 00:08:56,400 pada komputer Anda kadang-kadang hang atau berhenti tiba-tiba, 186 00:08:56,400 --> 00:08:59,770 yang umumnya berarti bahwa beberapa programmer, beberapa manusia seperti kamu segera, 187 00:08:59,770 --> 00:09:01,650 hanya mengacaukan dan membuat beberapa kesalahan. 188 00:09:01,650 --> 00:09:05,207 Mungkin tidak mengantisipasi bahwa mungkin ada ada Mike Smith di buku telepon. 189 00:09:05,207 --> 00:09:08,040 Dan jika Anda tidak benar-benar menulis kode untuk menangani situasi seperti itu, 190 00:09:08,040 --> 00:09:09,890 umumnya tak terduga hal bisa terjadi. 191 00:09:09,890 --> 00:09:10,960 Mesin Anda dapat membekukan. 192 00:09:10,960 --> 00:09:11,730 Hal ini dapat reboot. 193 00:09:11,730 --> 00:09:12,889 Program ini bisa berhenti. 194 00:09:12,889 --> 00:09:14,722 Jadi semua ini kebodohan yang Anda mungkin 195 00:09:14,722 --> 00:09:18,030 jumpai di sebenarnya hidup hanya menggunakan komputer, 196 00:09:18,030 --> 00:09:20,710 akan semakin menjadi hanya dijelaskan oleh intuisi ini 197 00:09:20,710 --> 00:09:24,920 dan pemahaman tentang apa yang sebenarnya terjadi di bawah tenda. 198 00:09:24,920 --> 00:09:27,329 >> Sekarang mari kita coba untuk melihatnya pada masalah yang lebih umum. 199 00:09:27,329 --> 00:09:29,120 Daripada mengambil kehadiran di tempat seperti 200 00:09:29,120 --> 00:09:32,230 ini, yang akan menjadi sangat lambat untuk melakukan satu, dua, tiga, empat. 201 00:09:32,230 --> 00:09:34,070 Atau mungkin dua, empat, enam, delapan. 202 00:09:34,070 --> 00:09:36,080 Mari kita fokus, sebaliknya, pada bagaimana kita bisa memformalkan 203 00:09:36,080 --> 00:09:39,400 algoritma dari proses dengan yang kita bisa mengambil kehadiran. 204 00:09:39,400 --> 00:09:42,290 Dan sepanjang jalan, mari kita mulai menerapkan beberapa nomenklatur 205 00:09:42,290 --> 00:09:47,130 bahwa kita akan menggunakan hari ini ketika kita benar-benar memulai pemrograman dalam bahasa. 206 00:09:47,130 --> 00:09:50,910 Jadi saya memberi Anda sekarang, video empat menit bahwa kita bersama-sama dengan teman-teman kita 207 00:09:50,910 --> 00:09:52,820 dari TED, organisasi. 208 00:09:52,820 --> 00:09:56,380 Dimana kita diberikan naskah dan mereka membawa animator mereka untuk menanggung, 209 00:09:56,380 --> 00:10:00,970 dan benar-benar menciptakan 2D animasi apa algoritma adalah. 210 00:10:00,970 --> 00:10:02,776 Jika kita bisa meredupkan lampu. 211 00:10:02,776 --> 00:10:06,664 >> [MUSIC PLAYING] 212 00:10:06,664 --> 00:10:17,890 213 00:10:17,890 --> 00:10:19,140 Narator: Apa algoritma? 214 00:10:19,140 --> 00:10:21,620 Dalam ilmu komputer, algoritma adalah satu set 215 00:10:21,620 --> 00:10:24,840 instruksi menyelesaikan beberapa masalah langkah-demi-langkah. 216 00:10:24,840 --> 00:10:27,310 Biasanya, algoritma dieksekusi oleh komputer, 217 00:10:27,310 --> 00:10:29,365 tapi kita manusia memiliki algoritma juga. 218 00:10:29,365 --> 00:10:31,240 Misalnya, bagaimana akan Anda pergi tentang menghitung 219 00:10:31,240 --> 00:10:32,990 jumlah orang di sebuah ruangan? 220 00:10:32,990 --> 00:10:36,840 Nah, jika Anda seperti saya, Anda mungkin akan menunjuk pada setiap orang satu per satu 221 00:10:36,840 --> 00:10:38,370 dan menghitung dari nol. 222 00:10:38,370 --> 00:10:41,200 Satu, dua, tiga, empat, dan sebagainya. 223 00:10:41,200 --> 00:10:42,410 Nah, itu suatu algoritma. 224 00:10:42,410 --> 00:10:45,820 Bahkan, mari kita coba untuk mengekspresikan itu sedikit lebih formal dalam kode pseudo. 225 00:10:45,820 --> 00:10:48,940 Sintaks bahasa Inggris-seperti itu menyerupai bahasa pemrograman. 226 00:10:48,940 --> 00:10:50,880 >> Misalkan n sama 0. 227 00:10:50,880 --> 00:10:55,210 Untuk setiap orang di ruangan, mengatur n sama dengan n ditambah 1. 228 00:10:55,210 --> 00:10:56,790 Bagaimana menafsirkan pseudocode tersebut? 229 00:10:56,790 --> 00:10:59,490 Nah garis yang menyatakan, sehingga untuk berbicara, variabel 230 00:10:59,490 --> 00:11:02,880 disebut n dan menginisialisasi nilainya ke 0 Ini hanya 231 00:11:02,880 --> 00:11:05,080 berarti bahwa pada awal algoritma kami, 232 00:11:05,080 --> 00:11:07,910 hal dengan yang kita menghitung memiliki nilai 0. 233 00:11:07,910 --> 00:11:10,860 Setelah semua, sebelum kita mulai menghitung kami belum menghitung apa pun. 234 00:11:10,860 --> 00:11:13,580 Memanggil variabel ini n hanya konvensi. 235 00:11:13,580 --> 00:11:15,130 Aku bisa menyebutnya apa yang paling. 236 00:11:15,130 --> 00:11:17,460 Sekarang baris dua demarks awal loop, 237 00:11:17,460 --> 00:11:20,550 urutan langkah-langkah yang akan ulangi beberapa beberapa kali. 238 00:11:20,550 --> 00:11:24,130 Jadi, dalam contoh kita, langkah kita Pengambilan menghitung orang di ruangan. 239 00:11:24,130 --> 00:11:26,260 Di bawah baris keduanya adalah baris tiga yang menggambarkan 240 00:11:26,260 --> 00:11:28,400 bagaimana kita akan pergi tentang menghitung. 241 00:11:28,400 --> 00:11:31,720 Lekukan ini menyiratkan bahwa itu garis tiga yang akan mengulang. 242 00:11:31,720 --> 00:11:35,190 Jadi dengan kode pseudo adalah katakan adalah bahwa setelah mulai dari 0 243 00:11:35,190 --> 00:11:38,940 untuk setiap orang di Kamar kami akan meningkatkan n oleh 1 244 00:11:38,940 --> 00:11:41,310 Sekarang adalah algoritma ini benar? 245 00:11:41,310 --> 00:11:42,820 Nah mari kita menggedor sedikit. 246 00:11:42,820 --> 00:11:45,520 >> Apakah bekerja jika ada dua orang di ruangan? 247 00:11:45,520 --> 00:11:46,420 Mari kita lihat. 248 00:11:46,420 --> 00:11:48,500 Sejalan satu kita menginisialisasi n dengan 0. 249 00:11:48,500 --> 00:11:51,910 Untuk masing-masing dua orang ini, kita kemudian kenaikan n oleh 1. 250 00:11:51,910 --> 00:11:55,570 Jadi dalam perjalanan pertama melalui lingkaran, kami memperbarui n dari 0 ke 1. 251 00:11:55,570 --> 00:11:59,320 Pada perjalanan kedua melalui itu loop yang sama, kami memperbarui n 1 sampai dengan 2. 252 00:11:59,320 --> 00:12:02,850 Jadi, dengan ini algoritma end, n adalah 2, yang 253 00:12:02,850 --> 00:12:04,950 memang cocok nomor orang di ruangan. 254 00:12:04,950 --> 00:12:06,040 Sejauh ini, begitu baik. 255 00:12:06,040 --> 00:12:07,870 >> Bagaimana kasus sudut meskipun? 256 00:12:07,870 --> 00:12:11,090 Misalkan ada 0 orang di room-- selain aku, siapa 257 00:12:11,090 --> 00:12:12,420 melakukan penghitungan. 258 00:12:12,420 --> 00:12:15,380 Sejalan satu, kita kembali menginisialisasi n dengan 0. 259 00:12:15,380 --> 00:12:17,810 Kali ini meskipun, garis tiga tidak mengeksekusi sama sekali 260 00:12:17,810 --> 00:12:19,610 karena tidak ada orang di dalam ruangan. 261 00:12:19,610 --> 00:12:23,540 Jadi n tetap 0, yang memang cocok jumlah orang di dalam ruangan. 262 00:12:23,540 --> 00:12:24,670 Cukup sederhana, kan? 263 00:12:24,670 --> 00:12:27,880 Tapi menghitung orang satu per satu sangat tidak efisien, juga, bukan? 264 00:12:27,880 --> 00:12:29,160 Tentunya kita bisa berbuat lebih baik. 265 00:12:29,160 --> 00:12:33,440 Mengapa tidak menghitung dua orang pada satu waktu, bukannya menghitung satu, dua, tiga, 266 00:12:33,440 --> 00:12:36,470 empat, lima, enam, tujuh, delapan, dan sebagainya. 267 00:12:36,470 --> 00:12:39,106 Mengapa tidak menghitung dua, empat, enam, delapan, dan seterusnya? 268 00:12:39,106 --> 00:12:40,670 Bahkan terdengar lebih cepat. 269 00:12:40,670 --> 00:12:41,940 Dan itu pasti. 270 00:12:41,940 --> 00:12:44,490 >> Mari mengungkapkan optimasi ini dalam kode pseudo. 271 00:12:44,490 --> 00:12:46,040 Misalkan n sama 0. 272 00:12:46,040 --> 00:12:50,760 Untuk setiap pasangan orang di kamar, mengatur n sama dengan n ditambah 2. 273 00:12:50,760 --> 00:12:52,360 Cukup perubahan sederhana, kan? 274 00:12:52,360 --> 00:12:56,560 Daripada menghitung orang satu per satu, kita bukan menghitung mereka dua sekaligus. 275 00:12:56,560 --> 00:12:59,240 Algoritma ini, dengan demikian, dua kali lebih cepat yang terakhir. 276 00:12:59,240 --> 00:13:00,530 Tapi apakah itu benar? 277 00:13:00,530 --> 00:13:01,160 Mari kita lihat. 278 00:13:01,160 --> 00:13:03,580 Apakah bekerja jika ada dua orang di ruangan? 279 00:13:03,580 --> 00:13:05,800 Sejalan satu, kita menginisialisasi n dengan 0. 280 00:13:05,800 --> 00:13:09,160 Untuk itu satu pasang orang, kita kemudian kenaikan n oleh 2. 281 00:13:09,160 --> 00:13:11,910 Dan sehingga dengan algoritma ini end n adalah 2, yang 282 00:13:11,910 --> 00:13:13,910 memang cocok nomor orang di ruangan. 283 00:13:13,910 --> 00:13:16,610 >> Misalkan berikutnya yang ada zero orang di dalam ruangan. 284 00:13:16,610 --> 00:13:19,080 Sejalan satu kita menginisialisasi n dengan 0. 285 00:13:19,080 --> 00:13:21,260 Seperti sebelumnya, garis tiga tidak mengeksekusi semua 286 00:13:21,260 --> 00:13:25,270 karena tidak ada pasangan orang di dalam ruangan, dan begitu n tetap 0. 287 00:13:25,270 --> 00:13:27,840 Yang memang cocok dengan jumlah orang di dalam ruangan. 288 00:13:27,840 --> 00:13:30,520 Tapi bagaimana jika ada tiga orang di ruangan? 289 00:13:30,520 --> 00:13:32,380 Bagaimana algoritma tarif ini? 290 00:13:32,380 --> 00:13:35,710 Mari kita lihat, dalam satu baris, kita menginisialisasi n dengan 0. 291 00:13:35,710 --> 00:13:39,140 Untuk sepasang dari orang-orang, kita kemudian kenaikan n oleh 2. 292 00:13:39,140 --> 00:13:40,050 Tapi kemudian apa? 293 00:13:40,050 --> 00:13:42,340 Tidak ada lagi penuh sepasang orang di dalam ruangan, 294 00:13:42,340 --> 00:13:44,430 sehingga garis dua tidak lagi berlaku. 295 00:13:44,430 --> 00:13:48,790 Jadi pada akhir algoritma ini, n masih 2 yang tidak benar. 296 00:13:48,790 --> 00:13:52,070 Memang algoritma ini dikatakan buggy karena memiliki kesalahan. 297 00:13:52,070 --> 00:13:54,070 >> Mari kita ganti rugi dengan beberapa kode pseudo baru. 298 00:13:54,070 --> 00:13:56,110 Misalkan n sama 0. 299 00:13:56,110 --> 00:14:00,790 Untuk setiap pasangan orang di kamar, mengatur N sama n ditambah 2. 300 00:14:00,790 --> 00:14:05,410 Jika salah satu orang tetap berpasangan, mengatur N sama dengan n ditambah 1. 301 00:14:05,410 --> 00:14:09,340 Untuk mengatasi masalah khusus ini, kami telah diperkenalkan sejalan empat kondisi, 302 00:14:09,340 --> 00:14:12,120 atau dikenal sebagai cabang, yang hanya mengeksekusi 303 00:14:12,120 --> 00:14:14,890 jika ada satu orang yang kita tidak bisa memasangkan dengan yang lain. 304 00:14:14,890 --> 00:14:17,140 Dan sekarang, apakah ada satu, atau tiga, 305 00:14:17,140 --> 00:14:21,550 atau ganjil orang di dalam ruangan, algoritma ini sekarang akan menghitungnya. 306 00:14:21,550 --> 00:14:22,810 Bisakah kita melakukan bahkan lebih baik? 307 00:14:22,810 --> 00:14:25,890 Nah, kita bisa menghitung bertiga, atau merangkak, atau bahkan balita dan puluhan, 308 00:14:25,890 --> 00:14:29,390 tetapi di luar itu, itu akan mendapatkan sedikit sulit untuk menunjuk. 309 00:14:29,390 --> 00:14:32,900 >> Pada akhir hari, apakah dieksekusi oleh komputer atau manusia, 310 00:14:32,900 --> 00:14:34,870 algoritma hanya satu set instruksi 311 00:14:34,870 --> 00:14:36,560 yang dapat digunakan untuk memecahkan masalah. 312 00:14:36,560 --> 00:14:38,360 Ini adalah hanya tiga. 313 00:14:38,360 --> 00:14:41,860 Masalah apa yang akan Anda memecahkan dengan algoritma? 314 00:14:41,860 --> 00:14:44,261 >> DAVID J. Malan: Jadi sengaja, program yang sangat sederhana, 315 00:14:44,261 --> 00:14:46,260 algoritma yang sangat sederhana, untuk mencapai sesuatu 316 00:14:46,260 --> 00:14:48,280 sangat sederhana, menghitung jumlah orang di dalam ruangan. 317 00:14:48,280 --> 00:14:50,370 >> Tapi mari kita menggoda terpisah beberapa perwakilan 318 00:14:50,370 --> 00:14:52,870 fitur di sini yang benar-benar akan berguna bahkan ketika 319 00:14:52,870 --> 00:14:54,880 melaksanakan sebagian kompleks perangkat lunak. 320 00:14:54,880 --> 00:14:58,060 Jadi misalnya, di baris pertama ini, kita memiliki apa yang kita sebut variabel, 321 00:14:58,060 --> 00:15:01,040 dan dari aljabar, kau umumnya akrab dengan menggunakan x dan y 322 00:15:01,040 --> 00:15:02,930 dan z kadang-kadang, dan sebagainya. 323 00:15:02,930 --> 00:15:05,770 Namun dalam pemrograman, variabel masih, pada akhir hari, 324 00:15:05,770 --> 00:15:06,680 sangat mirip dengan. 325 00:15:06,680 --> 00:15:09,910 Tapi itu mungkin mudah untuk berpikir dari variabel hanya sebagai wadah. 326 00:15:09,910 --> 00:15:13,520 Dan, pada kenyataannya, itu adalah beberapa jumlah bit dilaksanakan entah di hard disk Anda 327 00:15:13,520 --> 00:15:16,410 atau dalam memori komputer Anda, tetapi lebih pada di masa depan. 328 00:15:16,410 --> 00:15:17,670 Ini hanya sebuah wadah. 329 00:15:17,670 --> 00:15:20,310 Dan jika Anda mengatakan sesuatu seperti membiarkan n sama 0, 330 00:15:20,310 --> 00:15:24,310 baik itu seperti memanggil kaca ini mangkuk sini n, hanya nama sewenang-wenang, 331 00:15:24,310 --> 00:15:26,230 dan menempatkan tidak ada di dalamnya awalnya. 332 00:15:26,230 --> 00:15:28,940 Jadi nilai ini mangkuk saat ini adalah nol. 333 00:15:28,940 --> 00:15:31,380 Dan tentu saja jika Anda melihat dalam baris berikutnya, 334 00:15:31,380 --> 00:15:35,070 untuk benar-benar kenaikan beberapa garis kode, seperti dalam baris ketiga ini di sini, 335 00:15:35,070 --> 00:15:39,857 dengan 1, itu seperti mengatakan apa nilai sekarang dari n, itu 0, ditambah 1, 336 00:15:39,857 --> 00:15:41,690 menempatkan sesuatu seperti ping pong bola di sini. 337 00:15:41,690 --> 00:15:45,140 Sekarang nilai ini variabel cukup hanya 1. 338 00:15:45,140 --> 00:15:50,064 Dan Anda bisa sangat cepat ekstrapolasi, tapi sekarang 2, sekarang 3, dan seterusnya. 339 00:15:50,064 --> 00:15:51,230 Jadi itu semua variabel adalah. 340 00:15:51,230 --> 00:15:53,740 Ini adalah bagian dari penyimpanan untuk benar-benar menyimpan beberapa data. 341 00:15:53,740 --> 00:15:55,050 Untuk saat itu bola ping pong. 342 00:15:55,050 --> 00:15:55,883 Ada itu nomor. 343 00:15:55,883 --> 00:15:58,910 Tapi bisa kata-kata dalam kamus, seperti spell checker 344 00:15:58,910 --> 00:16:02,300 Saya singgung pada Rabu untuk salah satu masalah set tahun lalu. 345 00:16:02,300 --> 00:16:05,640 >> Sekarang ide kunci lain, yang sama cukup intuitif saya akan mengklaim, 346 00:16:05,640 --> 00:16:06,690 adalah bahwa dari lingkaran. 347 00:16:06,690 --> 00:16:08,930 Dan loop dalam proses menghitung semua orang 348 00:16:08,930 --> 00:16:12,540 , tentu saja, melakukan hal yang sama hal lagi dan lagi-- salah satu 349 00:16:12,540 --> 00:16:14,140 pada satu atau dua kali pada satu waktu. 350 00:16:14,140 --> 00:16:17,690 Dan Anda dapat mengekspresikan ini dalam bahasa Inggris, atau kode pseudo, di berbagai cara, 351 00:16:17,690 --> 00:16:21,560 tetapi menggunakan preposisi ini "untuk" adalah cara yang sangat umum untuk melakukan itu. 352 00:16:21,560 --> 00:16:24,460 Untuk setiap orang di ruangan itu, melakukan hal ini. 353 00:16:24,460 --> 00:16:25,350 Lagi dan lagi. 354 00:16:25,350 --> 00:16:27,700 Dan fakta bahwa itu indentasi, garis tiga, 355 00:16:27,700 --> 00:16:29,840 hanya berarti bahwa apa yang Anda seharusnya melakukan 356 00:16:29,840 --> 00:16:33,490 adalah hal-hal yang menjorok di bawah garis dua itu sendiri. 357 00:16:33,490 --> 00:16:35,590 Hanya konvensi manusia, tapi yang umum 358 00:16:35,590 --> 00:16:39,010 seperti yang akan kita lihat dalam lebih tinggi sebenarnya bahasa pemrograman tingkat. 359 00:16:39,010 --> 00:16:41,870 >> Sekarang sedikit lebih menarik adalah ketika Anda mendapatkan dalam kasus sudut. 360 00:16:41,870 --> 00:16:43,970 Misalnya, sudut kasus adalah ketika ada 361 00:16:43,970 --> 00:16:48,060 tiga orang, atau lima, atau tujuh, atau ganjil orang di dalam ruangan, 362 00:16:48,060 --> 00:16:51,630 karena hal itu dengan berpasangan rem akhirnya karena Anda akan 363 00:16:51,630 --> 00:16:54,265 kehilangan seseorang, baik di awal atau akhir 364 00:16:54,265 --> 00:16:55,390 tergantung pada bagaimana Anda melakukannya. 365 00:16:55,390 --> 00:16:59,800 Jadi, sekarang, aku punya cabang ini, atau kondisi, jika satu orang tetap, 366 00:16:59,800 --> 00:17:04,490 kemudian pergi ke depan dan menangani salah satu yang orang kesepian yang tidak mendapatkan 367 00:17:04,490 --> 00:17:05,690 dipasangkan dengan orang lain. 368 00:17:05,690 --> 00:17:09,030 Jadi itulah apa yang kita sebut kondisi, atau cabang. 369 00:17:09,030 --> 00:17:11,500 >> Kode Sekarang pseudocode lebih umum dapat 370 00:17:11,500 --> 00:17:13,730 ditulis untuk memecahkan sejumlah masalah. 371 00:17:13,730 --> 00:17:16,490 Dan apa yang saya pikir kami akan lakukan di sini adalah luangkan waktu 372 00:17:16,490 --> 00:17:20,089 mengundang akan kita katakan CS50 ini memiliki Rob Bowden di atas panggung 373 00:17:20,089 --> 00:17:25,040 akan bergabung dengan dua relawan, yang tidak tahu apa yang menanti. 374 00:17:25,040 --> 00:17:26,890 Sebuah tangan turun segera setelah aku mengatakan itu. 375 00:17:26,890 --> 00:17:28,700 Bagaimana Anda pada berakhir di sini, datang ke atas. 376 00:17:28,700 --> 00:17:33,040 Dan bagaimana dari jauh pergi, bagaimana cara di belakang. 377 00:17:33,040 --> 00:17:35,200 Barisan belakang, ayolah dengan tangan Anda. 378 00:17:35,200 --> 00:17:36,475 Baiklah, dan siapa namamu? 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 Oke, senang bertemu Anda. 382 00:17:38,613 --> 00:17:41,010 Mari saya perkenalkan Anda untuk Rob Bowden. 383 00:17:41,010 --> 00:17:42,890 Ini adalah Anita. 384 00:17:42,890 --> 00:17:44,033 Dan siapa namamu? 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, naiklah dan bertemu Rob Bowden dan Anita. 388 00:17:49,790 --> 00:17:51,036 Senang bertemu Anda. 389 00:17:51,036 --> 00:17:52,160 Kiersten: Senang bertemu Anda. 390 00:17:52,160 --> 00:17:53,368 DAVID J. Malan: Baiklah, Rob. 391 00:17:53,368 --> 00:17:54,650 ROB Bowden: Senang bertemu Anda. 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: Dan Anda beberapa ratus teman sekelas. 395 00:17:58,686 --> 00:18:02,490 Jadi, sekarang biarkan aku pergi ke depan dan tarik up hanya sebuah program sederhana di sini 396 00:18:02,490 --> 00:18:05,690 pada Mac OS yang akan membiarkan saya benar-benar menuliskan beberapa catatan bawah. 397 00:18:05,690 --> 00:18:09,570 Dan jika kalian ingin setiap mengambil posisi di salah satu sekolah di sana, 398 00:18:09,570 --> 00:18:16,360 biarkan aku pergi ke depan dan mulai daftar kode pseudo, jika Anda mau. 399 00:18:16,360 --> 00:18:19,970 Dan apa yang ingin saya lakukan di sini, akhirnya adalah jenis untuk Anda 400 00:18:19,970 --> 00:18:22,470 beberapa petunjuk yang kami penonton sebenarnya 401 00:18:22,470 --> 00:18:23,569 akan membacakan bagi kita. 402 00:18:23,569 --> 00:18:25,860 Biarkan aku pergi ke depan dan hanya mengubahnya ke daftar bernomor 403 00:18:25,860 --> 00:18:27,720 untuk mencocokkan apa yang kami lakukan di sana. 404 00:18:27,720 --> 00:18:30,990 Dan apa yang akan saya lakukan dengan bantuan Anda, adalah menulis sebuah program 405 00:18:30,990 --> 00:18:34,620 dalam pseudocode, dengan yang orang-orang ini akan 406 00:18:34,620 --> 00:18:38,150 untuk menerapkan kacang butter dan jelly sandwich. 407 00:18:38,150 --> 00:18:40,880 Jadi mungkin berhubung dengan menampilkan sesuatu yang sebagian dari Anda 408 00:18:40,880 --> 00:18:44,560 mungkin telah melihat di internet hanya sesaat mengganggu singkat. 409 00:18:44,560 --> 00:18:47,650 >> [MUSIC BUCKEWHEAT BOYS, "kacang BUTTER  JELLY WAKTU "] 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 Sudah cukup itu. 413 00:19:10,050 --> 00:19:12,690 Jadi di sini sementara itu, saya memiliki sepasang Google Glasses yang 414 00:19:12,690 --> 00:19:16,500 kami akan mengenakan CS50 sendiri Rob Bowden untuk melihat dunia melalui matanya. 415 00:19:16,500 --> 00:19:19,140 Dan kami akan melakukan yang terbaik dalam posting produksi untuk benar-benar menenun 416 00:19:19,140 --> 00:19:23,100 rekaman apa Rob adalah melihat sekarang, dalam kuliah yang sebenarnya ini 417 00:19:23,100 --> 00:19:26,420 video dengan dua kami relawan di sampingnya. 418 00:19:26,420 --> 00:19:28,480 Jadi apa yang saya lakukan , aku akan pengetik. 419 00:19:28,480 --> 00:19:31,849 Kami memiliki tujuan di sini dari benar-benar menulis sebuah program 420 00:19:31,849 --> 00:19:34,640 yang dapat digunakan untuk membuat, pada akhirnya, selai kacang dan jelly sandwich 421 00:19:34,640 --> 00:19:37,680 tapi tiga ini akan berperilaku seolah-olah mereka adalah komputer. 422 00:19:37,680 --> 00:19:40,638 Dan komputer, pada akhir hari, sebenarnya perangkat cukup bodoh. 423 00:19:40,638 --> 00:19:44,432 Mereka super cepat, tapi mereka hanya bisa dilakukan, secara harfiah, apa yang mereka diberitahu. 424 00:19:44,432 --> 00:19:46,890 Anda tidak bisa hanya mengatakan membuat kacang butter dan jelly sandwich. 425 00:19:46,890 --> 00:19:48,640 Anda harus memprogram mereka untuk melakukan itu. 426 00:19:48,640 --> 00:19:51,420 Anda harus memberitahu mereka dengan presisi apa yang harus dilakukan, 427 00:19:51,420 --> 00:19:54,400 kurang hal-hal pergi mengerikan dan, mudah-mudahan, menggelikan serba salah. 428 00:19:54,400 --> 00:19:57,460 >> Jadi dengan mengatakan bahwa, kita perlu satu panggilan-out dari penonton 429 00:19:57,460 --> 00:19:59,440 untuk apa harus melangkah satu menjadi, jika tujuannya di sini 430 00:19:59,440 --> 00:20:01,356 adalah untuk membuat kacang butter dan jelly sandwich. 431 00:20:01,356 --> 00:20:01,910 Ya? 432 00:20:01,910 --> 00:20:03,647 >> AUDIENCE: [Tak terdengar] tas roti. 433 00:20:03,647 --> 00:20:05,230 DAVID J. Malan: Buka kantong roti. 434 00:20:05,230 --> 00:20:08,360 Jadi jika ketiga kontestan akan ingin melanjutkan untuk melakukan itu secara harfiah. 435 00:20:08,360 --> 00:20:12,394 Buka kantong roti. 436 00:20:12,394 --> 00:20:15,810 >> [AUDIENCE TERTAWA] 437 00:20:15,810 --> 00:20:20,717 438 00:20:20,717 --> 00:20:22,300 DAVID J. Malan: Jadi mari kita bekerja pada itu. 439 00:20:22,300 --> 00:20:23,180 Baiklah. 440 00:20:23,180 --> 00:20:25,400 Jadi langkah kedua, how-- mari kita mengambil ini lebih lanjut. 441 00:20:25,400 --> 00:20:26,480 Ya, di depan. 442 00:20:26,480 --> 00:20:27,240 >> AUDIENCE: [Tak terdengar] roti. 443 00:20:27,240 --> 00:20:27,735 >> DAVID J. Malan: Apa itu? 444 00:20:27,735 --> 00:20:28,836 >> AUDIENCE: Hapus roti. 445 00:20:28,836 --> 00:20:30,210 DAVID J. Malan: Hapus roti. 446 00:20:30,210 --> 00:20:31,190 Demikian pula ringkas. 447 00:20:31,190 --> 00:20:33,667 Terima kasih. 448 00:20:33,667 --> 00:20:43,777 >> [Tepuk Tangan] 449 00:20:43,777 --> 00:20:44,860 DAVID J. Malan: Itu saja? 450 00:20:44,860 --> 00:20:48,830 OK, jadi langkah dua akan menjadi menghapus roti. 451 00:20:48,830 --> 00:20:51,790 Baiklah, seseorang ingin menulis kami kalimat yang lebih panjang? 452 00:20:51,790 --> 00:20:52,640 Orang lain? 453 00:20:52,640 --> 00:20:53,920 Sedikit lebih [Tak terdengar]. 454 00:20:53,920 --> 00:20:54,810 Tidak, tidak sekarang. 455 00:20:54,810 --> 00:20:56,094 Ya? 456 00:20:56,094 --> 00:20:58,900 >> AUDIENCE: Tempatkan dua irisan samping satu sama lain. 457 00:20:58,900 --> 00:21:03,575 >> DAVID J. Malan: Tempatkan dua irisan samping satu sama lain. 458 00:21:03,575 --> 00:21:06,420 >> [AUDIENCE TERTAWA] 459 00:21:06,420 --> 00:21:09,590 >> DAVID J. Malan: Tempatkan dua irisan samping satu sama lain. 460 00:21:09,590 --> 00:21:11,334 Langkah empat. 461 00:21:11,334 --> 00:21:12,816 Ya? 462 00:21:12,816 --> 00:21:14,792 >> AUDIENCE: Ambil Anda tangan dan mengaturnya ringan 463 00:21:14,792 --> 00:21:17,756 di atas tutup selai kacang. 464 00:21:17,756 --> 00:21:19,710 >> [AUDIENCE TERTAWA] 465 00:21:19,710 --> 00:21:21,710 AUDIENCE: [Tak terdengar] sebelah selai kacang. 466 00:21:21,710 --> 00:21:21,870 DAVID J. Malan: Apa? 467 00:21:21,870 --> 00:21:22,520 Katakanlah itu lagi. 468 00:21:22,520 --> 00:21:26,308 >> AUDIENCE: Lepaskan tutup dan menempatkan dengan lembut di sebelah selai kacang. 469 00:21:26,308 --> 00:21:31,490 >> DAVID J. Malan: Taruh lembut sebelah selai kacang. 470 00:21:31,490 --> 00:21:37,770 471 00:21:37,770 --> 00:21:40,090 OK, kemajuan. 472 00:21:40,090 --> 00:21:41,080 Langkah kelima. 473 00:21:41,080 --> 00:21:42,380 Sangat baik. 474 00:21:42,380 --> 00:21:43,261 Ya? 475 00:21:43,261 --> 00:21:44,163 >> Ambil pisau. 476 00:21:44,163 --> 00:21:46,380 477 00:21:46,380 --> 00:21:47,630 DAVID J. Malan: Ambil pisau. 478 00:21:47,630 --> 00:21:52,320 479 00:21:52,320 --> 00:21:53,631 OK, langkah enam. 480 00:21:53,631 --> 00:21:54,130 Ya? 481 00:21:54,130 --> 00:21:56,237 >> AUDIENCE: Tahan pisau pada pegangannya. 482 00:21:56,237 --> 00:21:57,945 DAVID J. Malan: Tahan pisau pada pegangannya. 483 00:21:57,945 --> 00:22:00,710 484 00:22:00,710 --> 00:22:03,230 Memegang pisau pada pegangannya. 485 00:22:03,230 --> 00:22:04,880 Langkah tujuh. 486 00:22:04,880 --> 00:22:05,692 Ya? 487 00:22:05,692 --> 00:22:10,030 >> AUDIENCE: [Tak terdengar] pisau di kacang mentega dan sedikit keluar [Tak terdengar]. 488 00:22:10,030 --> 00:22:13,070 >> DAVID J. Malan: Masukan pisau in-- saya mendengar "meletakkan pisau di selai kacang 489 00:22:13,070 --> 00:22:19,500 dan memakan sedikit mungkin. " 490 00:22:19,500 --> 00:22:22,480 By the way, keluarkan kertas pertama. 491 00:22:22,480 --> 00:22:29,320 492 00:22:29,320 --> 00:22:31,890 Baiklah, langkah sembilan. 493 00:22:31,890 --> 00:22:34,910 Langkah sembilan. 494 00:22:34,910 --> 00:22:35,624 Langkah sembilan. 495 00:22:35,624 --> 00:22:37,290 Kami belum benar-benar membuat sandwich belum. 496 00:22:37,290 --> 00:22:37,790 Ya? 497 00:22:37,790 --> 00:22:41,570 AUDIENCE: Menggunakan pisau selai kacang, menerapkan selai kacang pada roti kata. 498 00:22:41,570 --> 00:22:47,440 >> DAVID J. Malan: Menggunakan pisau selai kacang, selai kacang menerapkan pada 499 00:22:47,440 --> 00:22:48,736 kata roti. 500 00:22:48,736 --> 00:22:56,030 >> [AUDIENCE TERTAWA] 501 00:22:56,030 --> 00:22:59,480 DAVID J. Malan: Semua langkah yang tepat 10. 502 00:22:59,480 --> 00:23:01,762 Langkah 10. 503 00:23:01,762 --> 00:23:02,750 Ya? 504 00:23:02,750 --> 00:23:05,220 >> AUDIENCE: Taste kacang mentega untuk memastikan kualitas. 505 00:23:05,220 --> 00:23:15,960 >> [AUDIENCE TERTAWA] 506 00:23:15,960 --> 00:23:16,960 DAVID J. Malan: Langkah 11. 507 00:23:16,960 --> 00:23:19,500 508 00:23:19,500 --> 00:23:21,340 Langkah 11. 509 00:23:21,340 --> 00:23:22,101 Langkah 11. 510 00:23:22,101 --> 00:23:22,600 Ayo. 511 00:23:22,600 --> 00:23:23,099 Ya? 512 00:23:23,099 --> 00:23:24,208 Di sana. 513 00:23:24,208 --> 00:23:25,840 >> AUDIENCE: Hati-hati mengambil jelly. 514 00:23:25,840 --> 00:23:28,220 >> DAVID J. Malan: Hati-hati mengambil jelly. 515 00:23:28,220 --> 00:23:29,970 OK, dan kemudian tangan lain naik. 516 00:23:29,970 --> 00:23:32,812 517 00:23:32,812 --> 00:23:33,520 Tepat di belakang Anda. 518 00:23:33,520 --> 00:23:35,761 Ya, warna biru. 519 00:23:35,761 --> 00:23:40,671 >> AUDIENCE: Baiklah, hapus tutup dari [Tak terdengar], ya, 520 00:23:40,671 --> 00:23:42,635 melepas tutup dari jeli. 521 00:23:42,635 --> 00:23:43,617 >> [AUDIENCE TERTAWA] 522 00:23:43,617 --> 00:23:44,742 >> DAVID J. Malan: Dari jelly. 523 00:23:44,742 --> 00:23:45,581 Ha ha. 524 00:23:45,581 --> 00:23:48,967 >> [AUDIENCE TERTAWA] 525 00:23:48,967 --> 00:23:49,800 DAVID J. Malan: Dan? 526 00:23:49,800 --> 00:23:52,490 AUDIENCE: Dan hampir menyapu setiap [Tak terdengar]. 527 00:23:52,490 --> 00:23:59,536 [AUDIENCE TERTAWA] 528 00:23:59,536 --> 00:24:04,456 AUDIENCE: Tentu saja, sebelum [Tak terdengar], mengeluarkan kertas dari jelly. 529 00:24:04,456 --> 00:24:06,940 DAVID J. Malan: Keluarkan kertas dari jelly. 530 00:24:06,940 --> 00:24:08,229 Langkah 14. 531 00:24:08,229 --> 00:24:09,020 Kita hampir sampai. 532 00:24:09,020 --> 00:24:09,857 Ya? 533 00:24:09,857 --> 00:24:12,600 >> AUDIENCE: botol Invert jelly sebelum semuanya jatuh. 534 00:24:12,600 --> 00:24:16,515 >> DAVID J. Malan: Invert jelly botol sebelum jelly jatuh. 535 00:24:16,515 --> 00:24:19,070 536 00:24:19,070 --> 00:24:19,890 Langkah 15. 537 00:24:19,890 --> 00:24:21,130 >> AUDIENCE: Ganti tutup. 538 00:24:21,130 --> 00:24:22,463 >> DAVID J. Malan: Ganti tutup. 539 00:24:22,463 --> 00:24:25,880 540 00:24:25,880 --> 00:24:28,190 Langkah 16. 541 00:24:28,190 --> 00:24:28,931 Ya? 542 00:24:28,931 --> 00:24:29,806 >> AUDIENCE: [Tak terdengar] 543 00:24:29,806 --> 00:24:34,109 544 00:24:34,109 --> 00:24:35,400 DAVID J. Malan: Katakan lagi. 545 00:24:35,400 --> 00:24:38,100 AUDIENCE: Ambil topi off dari jelly Anda. 546 00:24:38,100 --> 00:24:39,650 DAVID J. Malan: Off jelly Anda. 547 00:24:39,650 --> 00:24:43,720 548 00:24:43,720 --> 00:24:49,510 Jadi benar-benar-- Oops. 549 00:24:49,510 --> 00:24:50,420 Ayo. 550 00:24:50,420 --> 00:24:51,740 Ganti tutup. 551 00:24:51,740 --> 00:24:56,660 Masukan cap-- Kau bilang menghapus cap dari jelly. 552 00:24:56,660 --> 00:24:58,950 Merasa seperti kita berada di sedikit loop. 553 00:24:58,950 --> 00:24:59,640 Langkah 17. 554 00:24:59,640 --> 00:25:00,398 Ya? 555 00:25:00,398 --> 00:25:02,639 >> AUDIENCE: [Tak terdengar] 556 00:25:02,639 --> 00:25:03,930 DAVID J. Malan: Katakan lagi. 557 00:25:03,930 --> 00:25:05,150 AUDIENCE: [Tak terdengar] 558 00:25:05,150 --> 00:25:07,835 DAVID J. Malan: Kembali ke step-- 559 00:25:07,835 --> 00:25:10,110 AUDIENCE: [Tak terdengar] 560 00:25:10,110 --> 00:25:13,760 DAVID J. Malan: Hapus topi dari selai kacang. 561 00:25:13,760 --> 00:25:14,492 Ya? 562 00:25:14,492 --> 00:25:16,430 >> AUDIENCE: Drop semua jelly pada roti. 563 00:25:16,430 --> 00:25:19,040 >> DAVID J. Malan: Drop semua jeli pada roti. 564 00:25:19,040 --> 00:25:25,372 565 00:25:25,372 --> 00:25:26,830 DAVID J. Malan: Kita hampir sampai. 566 00:25:26,830 --> 00:25:27,800 Langkah 19. 567 00:25:27,800 --> 00:25:30,250 >> AUDIENCE: Hapus kelebihan jelly. 568 00:25:30,250 --> 00:25:31,720 >> DAVID J. Malan: Haha, jelly. 569 00:25:31,720 --> 00:25:36,615 >> [Tepuk Tangan] 570 00:25:36,615 --> 00:25:39,240 DAVID J. Malan: Mengapa tidak kita-- satu langkah lagi untuk dibawa pulang ini. 571 00:25:39,240 --> 00:25:41,720 Satu langkah lagi dan kemudian kami akan melayani sandwich. 572 00:25:41,720 --> 00:25:42,900 Ya? 573 00:25:42,900 --> 00:25:45,570 >> AUDIENCE: [Tak terdengar] 574 00:25:45,570 --> 00:25:50,704 >> DAVID J. Malan: Sementara sandwich apapun indent remains-- mari kita ini-- makan. 575 00:25:50,704 --> 00:25:56,400 >> [AUDIENCE Tertawa] 576 00:25:56,400 --> 00:26:00,395 >> DAVID J. Malan: Baiklah, terima Anda relawan kami di sini. 577 00:26:00,395 --> 00:26:06,150 >> [Tepuk Tangan} 578 00:26:06,150 --> 00:26:08,940 >> DAVID J. Malan: Kami memiliki beberapa nice hadiah perpisahan untuk masing-masing Anda. 579 00:26:08,940 --> 00:26:14,350 Anda sendiri selai kacang, jeli, dan roti untuk membawa pulang. 580 00:26:14,350 --> 00:26:15,774 Terima kasih. 581 00:26:15,774 --> 00:26:17,118 >> Kiersten: Terima kasih. 582 00:26:17,118 --> 00:26:18,618 DAVID J. Malan: [Tak terdengar] menyambut. 583 00:26:18,618 --> 00:26:21,849 [Tepuk Tangan] 584 00:26:21,849 --> 00:26:24,390 DAVID J. Malan: Jadi, ini adalah, Tentu saja, contoh konyol. 585 00:26:24,390 --> 00:26:24,890 Benar? 586 00:26:24,890 --> 00:26:28,890 Tapi itu semacam mengungkapkan bagaimana kita manusia hanya mengambil kejelasan begitu saja. 587 00:26:28,890 --> 00:26:30,890 Dan fakta aku sudah berbicara dengan manusia lain, 588 00:26:30,890 --> 00:26:33,300 ia hanya tahu apa yang Anda maksud. 589 00:26:33,300 --> 00:26:35,220 >> Komputer tidak akan untuk mengetahui apa yang Anda maksud, 590 00:26:35,220 --> 00:26:37,430 bahkan ketika menggunakan, sebagai kita akan lakukan hari ini, 591 00:26:37,430 --> 00:26:42,300 pemrograman sesuatu di Scratch, tarik dan drop, bahasa puzzle gaya potongan. 592 00:26:42,300 --> 00:26:44,310 Bahkan dirancang untuk anak muda anak-anak, Anda memiliki 593 00:26:44,310 --> 00:26:48,726 begitu eksplisit dan begitu literal dengan apa yang ingin Anda program yang dapat dilakukan. 594 00:26:48,726 --> 00:26:50,600 Sekarang akhirnya, kami akan pemrograman 595 00:26:50,600 --> 00:26:53,550 tidak dalam kode pseudo, Inggris seperti sintaks, 596 00:26:53,550 --> 00:26:56,370 tapi kode atau, lebih tepat, kode sumber. 597 00:26:56,370 --> 00:26:59,260 Source code hanya cara mewah untuk kode yang menggambarkan Anda benar-benar 598 00:26:59,260 --> 00:27:01,730 menulis dengan keyboard yang tidak dalam bahasa Inggris per se. 599 00:27:01,730 --> 00:27:06,480 Itu di C atau Java atau C ++ atau sesuatu seperti itu, seperti yang kita akan segera melihat. 600 00:27:06,480 --> 00:27:09,510 >> Dan pada kenyataannya, hanya untuk menakut-nakuti beberapa dari kalian, pada pandangan pertama, 601 00:27:09,510 --> 00:27:13,769 ini adalah program yang ditulis dalam bahasa disebut C. Tetapi untuk un-ketakutan beberapa dari Anda, 602 00:27:13,769 --> 00:27:15,560 Anda akan benar-benar mengerti apa yang terjadi 603 00:27:15,560 --> 00:27:18,980 pada datang Senin depan ketika datang ke sesuatu seperti ini. 604 00:27:18,980 --> 00:27:20,510 Terus terang, ini adalah bahasa yang lebih tua. 605 00:27:20,510 --> 00:27:22,430 Ini cukup misterius, tapi itu perwakilan 606 00:27:22,430 --> 00:27:26,120 dari banyak bahasa hari ini yang memiliki banyak tanda kurung dan keriting 607 00:27:26,120 --> 00:27:28,630 kawat gigi, dan tanda kutip dan titik koma. 608 00:27:28,630 --> 00:27:30,780 Dan banyak ini hal sintaksis yang tidak 609 00:27:30,780 --> 00:27:32,450 sama sekali yang menarik secara intelektual. 610 00:27:32,450 --> 00:27:35,790 Memang, itu adalah gangguan mengucapkan dari ide-ide yang sangat sederhana 611 00:27:35,790 --> 00:27:37,370 yang menatap wajah kita. 612 00:27:37,370 --> 00:27:41,760 Program ini, seperti yang mungkin hanya menebak, cetakan ke layar komputer seseorang 613 00:27:41,760 --> 00:27:44,070 kata-kata "Halo dunia koma." 614 00:27:44,070 --> 00:27:44,860 Itu saja. 615 00:27:44,860 --> 00:27:46,580 Jadi jelas, ada banyak hal yang 616 00:27:46,580 --> 00:27:48,970 mendapatkan di jalan beberapa kejelasan di sana, 617 00:27:48,970 --> 00:27:52,490 tapi itu akan sangat cepat tergelincir pergi dan benar-benar intuitif. 618 00:27:52,490 --> 00:27:55,617 >> Memang, apa yang akan kita lakukan hari ini menyaring ini cukup kompleks 619 00:27:55,617 --> 00:27:58,950 Program mencari, yang lagi Anda akan datang untuk memahami dengan cepat, tetapi untuk sesuatu 620 00:27:58,950 --> 00:27:59,710 lebih sederhana. 621 00:27:59,710 --> 00:28:01,640 Mari kita katakan saja apa yang kita maksud. 622 00:28:01,640 --> 00:28:05,590 Mari kita menggambar apa yang kita maksud, dengan cara potongan-potongan teka-teki di sini. 623 00:28:05,590 --> 00:28:09,110 >> Jadi ini adalah sebuah pemrograman bahasa yang dikenal sebagai Scratch. 624 00:28:09,110 --> 00:28:11,080 Ini dikembangkan oleh MIT Media Lab. 625 00:28:11,080 --> 00:28:14,830 Dan apa yang akan Anda lihat dalam masalah set nol, yang akan dirilis nanti malam, 626 00:28:14,830 --> 00:28:18,980 kita harus Anda pergi ke ini URL di sini scratch.mit.edu. 627 00:28:18,980 --> 00:28:20,940 Dan mereka memiliki web antarmuka berbasis melalui mana 628 00:28:20,940 --> 00:28:22,540 Anda akan menulis program pertama Anda. 629 00:28:22,540 --> 00:28:25,330 Atau bagi anda dengan sebelumnya pengalaman, program kedua, 630 00:28:25,330 --> 00:28:28,090 tetapi dalam lingkungan yang mungkin sedikit asing dan bahwa 631 00:28:28,090 --> 00:28:32,930 akan mendorong Anda untuk membuat sesuatu menggunakan lingkungan yang sangat visual. 632 00:28:32,930 --> 00:28:35,940 >> Sekarang, apa yang akan saya lakukan di sini adalah membuka program itu sendiri. 633 00:28:35,940 --> 00:28:41,911 Itu ada tidak hanya sebagai web browser, tetapi juga sebagai program download 634 00:28:41,911 --> 00:28:44,660 sehingga Anda benar-benar dapat menggunakannya jika Anda tidak memiliki akses internet. 635 00:28:44,660 --> 00:28:46,743 Dan aku akan melakukan itu di sini, di Sanders, hanya 636 00:28:46,743 --> 00:28:49,580 dalam kasus Wi-Fi tidak bekerja sama super baik. 637 00:28:49,580 --> 00:28:52,640 Dan apa yang akan saya lakukan adalah titik keluar beberapa fitur dari program ini. 638 00:28:52,640 --> 00:28:55,720 Jadi, harus jelas, saya hanya ganda mengklik ikon pada desktop saya, 639 00:28:55,720 --> 00:28:59,830 atau ekuivalen pergi ke scratch.mit.edu, dan itu menarik jendela ini. 640 00:28:59,830 --> 00:29:01,650 Ini adalah lingkungan pemrograman. 641 00:29:01,650 --> 00:29:04,110 Ini adalah software yang beberapa teman-teman kita di MIT 642 00:29:04,110 --> 00:29:08,850 menulis bahwa mari kita dan Anda menulis program dalam bahasa yang disebut Scratch. 643 00:29:08,850 --> 00:29:12,010 >> Sekarang ini terjadi menjadi kucing siapa yang juga bernama Scratch 644 00:29:12,010 --> 00:29:13,890 dan ini adalah dunia di mana ia hidup. 645 00:29:13,890 --> 00:29:17,175 Ini adalah panggung, sehingga untuk berbicara, yang persegi panjang di pojok kiri atas. 646 00:29:17,175 --> 00:29:18,800 Dan dia tidak harus terlihat seperti kucing. 647 00:29:18,800 --> 00:29:20,591 Anda dapat membuatnya tampak seperti apa pun dan Anda 648 00:29:20,591 --> 00:29:23,700 dapat memiliki banyak sprite tersebut, atau karakter, dalam sebuah program. 649 00:29:23,700 --> 00:29:27,450 Sementara itu, di sini di paling benar, adalah batu tulis kosong besar. 650 00:29:27,450 --> 00:29:30,260 Dan ini adalah di mana, dalam sekejap, kita akan memulai pemrograman 651 00:29:30,260 --> 00:29:32,750 dengan menyeret dan menjatuhkan ini teka-teki grafis 652 00:29:32,750 --> 00:29:35,300 potongan-potongan yang tepat di sini di tengah. 653 00:29:35,300 --> 00:29:38,140 Dan ada cara yang lebih dari mereka daripada kita akan menghabiskan waktu di sini di kelas 654 00:29:38,140 --> 00:29:40,080 karena Anda akan menemukan bahwa mereka semua cukup intuitif. 655 00:29:40,080 --> 00:29:41,788 Sekali lagi, itu dirancang untuk anak-anak, tapi kami 656 00:29:41,788 --> 00:29:45,759 menggunakannya untuk menggoda selain beberapa dari mereka ide-ide dasar dari variabel, loop, 657 00:29:45,759 --> 00:29:48,050 kondisi, dan, segera, hal seperti fungsi dan acara 658 00:29:48,050 --> 00:29:51,810 dan benang, dan hal mewah lainnya kita akan bisa sebelum lama untuk benar-benar membuat 659 00:29:51,810 --> 00:29:53,840 sesuatu dari Scratch. 660 00:29:53,840 --> 00:29:54,810 Pun dimaksudkan. 661 00:29:54,810 --> 00:29:58,740 >> Sekarang, apa yang akan saya lakukan di sini adalah klik tidak gerak, tetapi kontrol. 662 00:29:58,740 --> 00:30:01,400 Dan ini hanya kategorisasi sini- 663 00:30:01,400 --> 00:30:03,150 dan aku melihat yang berbeda warna set blok. 664 00:30:03,150 --> 00:30:05,030 Tapi perhatikan beberapa kata akrab. 665 00:30:05,030 --> 00:30:07,830 "Jika" dan "else if" dan "ulangi." 666 00:30:07,830 --> 00:30:10,440 Dan Anda mungkin bisa menebak itu mengingatkan cabang, 667 00:30:10,440 --> 00:30:12,870 atau kondisi yang kita lihat, dan bahkan membangun perulangan. 668 00:30:12,870 --> 00:30:14,760 Jadi kita memiliki blok yang sama di sini. 669 00:30:14,760 --> 00:30:16,720 Tapi yang paling menarik satu adalah satu ini di sini. 670 00:30:16,720 --> 00:30:20,690 Ketika bendera hijau ini diklik, ini, bagi mereka dengan programing sebelumnya 671 00:30:20,690 --> 00:30:23,110 pengalaman, setara ke fungsi utama. 672 00:30:23,110 --> 00:30:25,300 Tapi bagi mereka yang tidak terbiasa, ini adalah potongan puzzle 673 00:30:25,300 --> 00:30:27,320 yang akan memulai kick seluruh program kami. 674 00:30:27,320 --> 00:30:31,350 Secara harfiah berarti ketika saya pergi, dalam hal ini Program, dan klik flag-- hijau 675 00:30:31,350 --> 00:30:35,560 yang dapat Anda lihat di sini di pojok kiri UI, 676 00:30:35,560 --> 00:30:38,570 jadi melihat bendera hijau sebelah tanda berhenti merah? 677 00:30:38,570 --> 00:30:41,475 Ketika saya klik itu, saya Program akan dijalankan. 678 00:30:41,475 --> 00:30:43,850 Sekarang, aku akan melakukan sesuatu super sederhana dengan Scratch. 679 00:30:43,850 --> 00:30:46,640 Aku akan pergi ke depan dan pergi ke panel terlihat 680 00:30:46,640 --> 00:30:50,010 di sini, di mana saya memiliki banyak a potongan puzzle ungu, 681 00:30:50,010 --> 00:30:53,887 dan aku akan pergi ke depan dan melakukan sesuatu yang super sederhana seperti, katakan. 682 00:30:53,887 --> 00:30:55,720 Dan pemberitahuan then-- ini teks dalam kotak putih 683 00:30:55,720 --> 00:30:59,290 adalah editable-- Aku akan mengatakan "Halo dunia," sama seperti kita 684 00:30:59,290 --> 00:31:01,470 lakukan di tekstual yang versi saat yang lalu. 685 00:31:01,470 --> 00:31:05,920 Dan jika aku pergi dan klik ini bendera hijau, saya sekarang diprogram. 686 00:31:05,920 --> 00:31:07,810 Ini bukan terutama program yang menarik, 687 00:31:07,810 --> 00:31:09,760 tapi saya membuat komputer melakukan sesuatu. 688 00:31:09,760 --> 00:31:13,120 Aku mulai program dan melakukan apa yang saya diberitahu itu dapat dilakukan. 689 00:31:13,120 --> 00:31:16,170 Sekarang, saya bisa terus drag dan drop semakin banyak potongan puzzle ini 690 00:31:16,170 --> 00:31:19,220 dan mereka akan saling mengunci, tapi mari kita menampar beberapa terminologi di sini 691 00:31:19,220 --> 00:31:21,680 bahwa kita akan melihat berulang di seluruh kursus, 692 00:31:21,680 --> 00:31:24,610 dan benar-benar seluruh ilmu komputer dan pemrograman lebih umum. 693 00:31:24,610 --> 00:31:27,990 >> Ini "mengatakan" block, ungu, mari kita hanya mulai menelepon sebuah pernyataan. 694 00:31:27,990 --> 00:31:29,240 Ini seperti pernyataan fakta. 695 00:31:29,240 --> 00:31:30,380 Lakukan ini. 696 00:31:30,380 --> 00:31:32,590 Jadi, itu adalah kategori instruksi yang Anda 697 00:31:32,590 --> 00:31:36,760 mungkin memberi makan komputer sebagai bagian program atau algoritma. 698 00:31:36,760 --> 00:31:39,270 Dan harus jelas, Anda sudah mungkin diambil untuk diberikan 699 00:31:39,270 --> 00:31:41,930 bahwa Anda memiliki program di komputer Anda. 700 00:31:41,930 --> 00:31:45,850 Dan mereka jenis algoritma, tetapi Program ini benar-benar sekelompok algoritma 701 00:31:45,850 --> 00:31:47,160 bahwa beberapa manusia menulis. 702 00:31:47,160 --> 00:31:49,040 Mereka dikemas itu dan mereka menjualnya sehingga Anda, 703 00:31:49,040 --> 00:31:51,330 atau mereka diposting pada sebuah situs web untuk Anda download. 704 00:31:51,330 --> 00:31:54,930 Jadi, program ini hanya Seluruh sekelompok nol dan satu 705 00:31:54,930 --> 00:31:56,970 itu, entah bagaimana, manusia diciptakan. 706 00:31:56,970 --> 00:32:00,080 Dan pola-pola nol dan yang mewakili hal-hal, akhirnya, 707 00:32:00,080 --> 00:32:04,030 seperti "menyapa dunia" atau "bermain musik ini "atau" memutar video ini " 708 00:32:04,030 --> 00:32:05,129 atau "mengirim email." 709 00:32:05,129 --> 00:32:06,920 Tapi kita akan datang kembali cara yang lebih rinci apa 710 00:32:06,920 --> 00:32:08,780 program adalah ketika Anda, sendiri, menulis mereka. 711 00:32:08,780 --> 00:32:11,320 >> Berikut statement-- lain "Tunggu satu detik." 712 00:32:11,320 --> 00:32:14,330 Saya tidak menggunakan ini, tapi jika saya ingin program saya untuk berhenti sejenak 713 00:32:14,330 --> 00:32:16,540 untuk melakukan sesuatu, saya dapat memberitahu untuk melakukannya. 714 00:32:16,540 --> 00:32:18,450 Tunggu satu detik. 715 00:32:18,450 --> 00:32:20,150 Sekarang satu sama lain mungkin "memainkan suara." 716 00:32:20,150 --> 00:32:23,270 Jadi, ini adalah unik untuk Scratch, itu memiliki kemampuan untuk memutar suara. 717 00:32:23,270 --> 00:32:26,130 Jadi, pernyataan saya mungkin digunakan adalah, di sini, "memainkan suara." 718 00:32:26,130 --> 00:32:29,530 Sementara itu, ekspresi Boolean, jadi ini adalah kata pelamun 719 00:32:29,530 --> 00:32:34,490 dinamai hanya seorang pria bernama Mr Bool, dan ini adalah semua tentang pertanyaan. 720 00:32:34,490 --> 00:32:37,470 Benar atau false-- adalah mouse ke bawah? 721 00:32:37,470 --> 00:32:41,100 Sebuah ekspresi Boolean hanya beberapa ekspresi dalam bahasa Inggris 722 00:32:41,100 --> 00:32:42,860 yang bisa benar atau salah. 723 00:32:42,860 --> 00:32:44,140 On atau off. 724 00:32:44,140 --> 00:32:45,130 Entah satu atau nol. 725 00:32:45,130 --> 00:32:46,960 Anda dapat menganggap itu di berbagai cara, 726 00:32:46,960 --> 00:32:49,220 tapi itu benar atau ini palsu, akhirnya. 727 00:32:49,220 --> 00:32:52,540 Jadi "mouse ke bawah tanda tanya," yang akan menjadi ekspresi Boolean. 728 00:32:52,540 --> 00:32:54,300 Dan Anda bisa memikirkan orang lain, mungkin. 729 00:32:54,300 --> 00:32:57,510 Misalnya, "adalah jumlah yang tersisa kurang dari jumlah yang tepat? " 730 00:32:57,510 --> 00:32:59,410 Itu pun, akan ekspresi Boolean. 731 00:32:59,410 --> 00:33:01,540 "Kurang dari" adalah ekspresi Boolean. 732 00:33:01,540 --> 00:33:03,280 >> Yang satu ini juga, "pointer mouse menyentuh." 733 00:33:03,280 --> 00:33:05,196 Saya tidak yakin mengapa mereka menyebutnya pointer mouse. 734 00:33:05,196 --> 00:33:08,430 Ini hanya berarti, adalah kursor, adalah panah di layar, menyentuh kucing, 735 00:33:08,430 --> 00:33:09,022 misalnya. 736 00:33:09,022 --> 00:33:10,480 Atau beberapa aspek lain dari layar. 737 00:33:10,480 --> 00:33:13,710 Dan itu pertanyaan, lagi, dan yang menunjukkan ekspresi Boolean. 738 00:33:13,710 --> 00:33:17,130 Sesuatu yang Anda mungkin ingin menggunakan dalam kondisi. 739 00:33:17,130 --> 00:33:19,100 Jadi kita akan datang untuk itu hanya dalam beberapa saat. 740 00:33:19,100 --> 00:33:20,350 Anda bisa "dan" hal-hal bersama-sama. 741 00:33:20,350 --> 00:33:23,099 Jadi, jika Anda ingin memeriksa apakah ini ini terjadi dan itu terjadi, 742 00:33:23,099 --> 00:33:25,580 Anda dapat menggunakan "dan" blok seperti ini. 743 00:33:25,580 --> 00:33:26,850 Dan inilah kondisi itu. 744 00:33:26,850 --> 00:33:31,290 Perhatikan bentuk pembukaan kecil di atas potongan puzzle kuning ini, 745 00:33:31,290 --> 00:33:34,480 itu mengingatkan bentuk bahwa kita hanya melihat beberapa saat yang lalu. 746 00:33:34,480 --> 00:33:37,920 Masing-masing ekspresi Boolean memiliki tepi menunjuk ini 747 00:33:37,920 --> 00:33:39,030 di sisi kiri dan kanan. 748 00:33:39,030 --> 00:33:43,140 Dan itu karena MIT orang memutuskan bahwa dengan bentuk visual menyampaikan, 749 00:33:43,140 --> 00:33:45,780 Anda dapat jenis membantu orang, siswa maupun anak-anak, 750 00:33:45,780 --> 00:33:47,650 untuk jenis mengisi kekosongan harfiah. 751 00:33:47,650 --> 00:33:49,780 >> Sekarang puzzle-- bahwa membuka sedikit kecil, 752 00:33:49,780 --> 00:33:52,750 dan seperti yang akan kita lihat dalam program ini, di Scratch, ia akan tumbuh sesuai. 753 00:33:52,750 --> 00:33:54,830 Ini akan mempertahankan bentuknya, akhirnya. 754 00:33:54,830 --> 00:33:58,350 Jadi kondisi mari kita Anda memutuskan "Saya harus melakukan sesuatu atau tidak?" 755 00:33:58,350 --> 00:34:00,470 Ekspresi Boolean adalah pertanyaan yang sebenarnya 756 00:34:00,470 --> 00:34:04,100 Anda gunakan untuk memutuskan apakah saya pergi ke kiri OR aku pergi ke kanan 757 00:34:04,100 --> 00:34:06,710 ketika saya menemukan ini disebut pertigaan jalan? 758 00:34:06,710 --> 00:34:07,980 Anda dapat memiliki dua cabang. 759 00:34:07,980 --> 00:34:10,909 JIKA sesuatu itu benar, lakukan ini, yang lain pergi ke arah sana, 760 00:34:10,909 --> 00:34:14,590 atau Anda hanya dapat melakukan apa-apa di semua, karena blok ini tersirat. 761 00:34:14,590 --> 00:34:16,360 Demikian pula, kita dapat sarang hal-hal ini. 762 00:34:16,360 --> 00:34:20,204 Jadi jika Anda ingin tiga kali lipat garpu di jalan, baik melakukan ini atau ini atau itu, 763 00:34:20,204 --> 00:34:21,870 Anda hanya dapat sarang hal-hal ini bersama-sama. 764 00:34:21,870 --> 00:34:24,520 Dan itu mulai mendapatkan sedikit jelek, akhirnya, pasti, 765 00:34:24,520 --> 00:34:26,120 tapi logika masih sama. 766 00:34:26,120 --> 00:34:28,000 Anda benar-benar dapat membaca atas ini ke bawah 767 00:34:28,000 --> 00:34:33,290 dan mengatakan apa yang means-- apakah ini benar, melakukan hal ini, lain jika yang lain. 768 00:34:33,290 --> 00:34:36,179 >> Sebuah lingkaran tidak mendapatkan sederhana dalam Scratch. 769 00:34:36,179 --> 00:34:37,422 Selamanya melakukan hal berikut. 770 00:34:37,422 --> 00:34:39,880 Sekarang Anda mungkin tidak berpikir Anda bisa berbuat banyak karena tidak ada 771 00:34:39,880 --> 00:34:42,839 banyak ruang antara bagian atas dan bawah ini pembukaan potongan puzzle. 772 00:34:42,839 --> 00:34:45,671 Tapi Anda akan melihat Scratch akan tumbuh sehat seperti banyak potongan-potongan teka-teki 773 00:34:45,671 --> 00:34:47,060 Anda ingin menjejalkan di sana. 774 00:34:47,060 --> 00:34:48,960 Lingkaran lain mungkin dinyatakan dengan pengulangan. 775 00:34:48,960 --> 00:34:51,590 Jika Anda tahu sebelumnya, "Aku ingin melakukan sesuatu 10 kali, " 776 00:34:51,590 --> 00:34:54,010 Anda bisa saja mengatakan Scratch untuk melakukan sesuatu 10 kali. 777 00:34:54,010 --> 00:34:57,260 Dan, sementara itu, kita dapat memiliki variabel. 778 00:34:57,260 --> 00:34:59,572 Jadi, inilah salah satu yang sewenang-wenang, itu jeruk dalam kasus ini, 779 00:34:59,572 --> 00:35:00,780 dan ini adalah tur angin puyuh. 780 00:35:00,780 --> 00:35:04,540 Sekali lagi, Anda akan menemukan ini sangat mudah setelah Anda mulai menunjuk dan mengklik. 781 00:35:04,540 --> 00:35:07,930 Aku bernama variabel n saya, tapi saya bisa menamakannya apapun yang saya mau, 782 00:35:07,930 --> 00:35:11,280 dan Aku pengaturan di sini, di contoh sewenang-wenang ini, ke nol. 783 00:35:11,280 --> 00:35:14,250 >> Sekarang melihat program seperti halo dunia tidak semua yang menarik, 784 00:35:14,250 --> 00:35:17,900 jadi mari kita benar-benar membuka sesuatu bahwa seorang mantan mahasiswa dibuat. 785 00:35:17,900 --> 00:35:23,100 Biarkan aku pergi ke depan dan membuka, misalnya, yang satu ini di sini, 786 00:35:23,100 --> 00:35:26,780 yang saya akan senang memiliki relawan. 787 00:35:26,780 --> 00:35:28,450 Baiklah, bagaimana about-- mari kita pergi lebih jauh. 788 00:35:28,450 --> 00:35:29,240 Ya, datang ke atas. 789 00:35:29,240 --> 00:35:30,056 Siapa nama Anda? 790 00:35:30,056 --> 00:35:30,635 >> ABBY: Abby. 791 00:35:30,635 --> 00:35:32,010 DAVID J. Malan: Abby, datang ke atas. 792 00:35:32,010 --> 00:35:35,930 Jadi apakah Anda pernah bermain game ini sebelumnya? 793 00:35:35,930 --> 00:35:36,430 ABBY: Tidak 794 00:35:36,430 --> 00:35:37,370 DAVID J. Malan: Baiklah. 795 00:35:37,370 --> 00:35:38,380 David, senang bertemu Anda. 796 00:35:38,380 --> 00:35:39,620 Ayo lebih. 797 00:35:39,620 --> 00:35:42,300 Dan apa program Anda latar belakang, jika ada. 798 00:35:42,300 --> 00:35:43,914 >> ABBY: Saya telah belajar beberapa C ++. 799 00:35:43,914 --> 00:35:45,580 DAVID J. Malan: Anda telah belajar beberapa C ++. 800 00:35:45,580 --> 00:35:48,382 Dan apa permainan Anda bermain latar belakang? 801 00:35:48,382 --> 00:35:49,505 >> ABBY: Tidak banyak. 802 00:35:49,505 --> 00:35:51,130 DAVID J. Malan: OK, jadi kita akan mengambil. 803 00:35:51,130 --> 00:35:52,700 Jadi, inilah bagaimana permainan ini akan bekerja. 804 00:35:52,700 --> 00:35:54,510 Aku akan pergi ke depan dan klik bendera hijau, yang 805 00:35:54,510 --> 00:35:55,830 adalah di sini di bagian kanan atas. 806 00:35:55,830 --> 00:35:59,710 Sekarang pendahulunya di kelas telah memberi Anda beberapa petunjuk di sini. 807 00:35:59,710 --> 00:36:02,306 Dan hanya dalam beberapa saat, itu mengatakan "ruang untuk memulai." 808 00:36:02,306 --> 00:36:03,680 Jadi pergi ke depan dan tekan spacebar. 809 00:36:03,680 --> 00:36:05,507 >> KOMPUTER PERTANDINGAN: Pikachu. 810 00:36:05,507 --> 00:36:08,340 DAVID J. Malan: Dan tujuannya adalah untuk menangkap makanan, seperti yang digambarkan di sana 811 00:36:08,340 --> 00:36:09,320 di sebelah kiri. 812 00:36:09,320 --> 00:36:11,388 Dan untuk [Tak terdengar] 813 00:36:11,388 --> 00:36:15,356 >> [PERTANDINGAN MUSIC PLAYING] 814 00:36:15,356 --> 00:36:27,280 815 00:36:27,280 --> 00:36:29,610 >> DAVID J. Malan: Aww, baik, terima kasih untuk bermain. 816 00:36:29,610 --> 00:36:32,800 Kami telah di sini sedikit hadiah perpisahan untuk Anda. 817 00:36:32,800 --> 00:36:35,574 Kami memiliki CS50 stres bola, jika Anda ingin memilih. 818 00:36:35,574 --> 00:36:36,820 Baiklah, baik untuk bertemu Anda. 819 00:36:36,820 --> 00:36:39,680 Terima kasih telah datang dan menantang. 820 00:36:39,680 --> 00:36:42,410 821 00:36:42,410 --> 00:36:46,910 Jadi kita memiliki lebih banyak bola stres, sehingga mari kita lakukan satu lagi contoh untuk memotivasi. 822 00:36:46,910 --> 00:36:48,150 Seorang relawan? 823 00:36:48,150 --> 00:36:50,510 Baiklah, bagaimana di sini, di depan. 824 00:36:50,510 --> 00:36:51,250 Siapa nama Anda? 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 Ayo up, Phillip. 828 00:36:54,530 --> 00:36:57,340 Jadi, Phillip akan menjadi ditantang dengan permainan lain 829 00:36:57,340 --> 00:37:00,840 bahwa salah satu pendahulu Anda menulis sebagai bagian dari permasalahan yang nol, 830 00:37:00,840 --> 00:37:03,510 disebut Game Hardest Ivy. 831 00:37:03,510 --> 00:37:05,980 Dan kita akan melihat hanya dalam saat apa yang dimaksud dengan ini. 832 00:37:05,980 --> 00:37:07,400 Phillip, senang bertemu Anda. 833 00:37:07,400 --> 00:37:09,060 Apa latar belakang Anda? 834 00:37:09,060 --> 00:37:10,310 PHILLIP: Selesai banyak coding. 835 00:37:10,310 --> 00:37:11,110 Melakukan game kecil, juga. 836 00:37:11,110 --> 00:37:11,570 >> DAVID J. Malan: OK. 837 00:37:11,570 --> 00:37:12,620 Punya banyak game, juga. 838 00:37:12,620 --> 00:37:14,230 Dan apakah Anda memainkan game ini sebelumnya? 839 00:37:14,230 --> 00:37:14,730 >> PHILLIP: Tidak 840 00:37:14,730 --> 00:37:16,438 DAVID J. Malan: Semua benar, jadi di sini kita pergi. 841 00:37:16,438 --> 00:37:18,434 Aku akan pergi ke depan dan klik bendera hijau. 842 00:37:18,434 --> 00:37:24,160 >> [PERTANDINGAN MUSIC] 843 00:37:24,160 --> 00:37:27,770 >> [MUSIC MC HAMMER, "U TIDAK BISA MENYENTUH INI"] 844 00:37:27,770 --> 00:38:39,790 845 00:38:39,790 --> 00:38:41,635 >> PHILLIP: [Tak terdengar] 846 00:38:41,635 --> 00:38:42,760 DAVID J. Malan: [Tak terdengar] 847 00:38:42,760 --> 00:38:44,740 PHILLIP: [Tak terdengar] 848 00:38:44,740 --> 00:38:49,056 [Tertawa] 849 00:38:49,056 --> 00:38:50,680 [MUSIC MC HAMMER, "U TIDAK BISA MENYENTUH INI"] 850 00:38:50,680 --> 00:38:52,660 DAVID J. Malan: [Tak terdengar] Membajak melalui itu. 851 00:38:52,660 --> 00:38:54,094 PHILLIP: [Tak terdengar] 852 00:38:54,094 --> 00:38:55,135 DAVID J. Malan: Silakan. 853 00:38:55,135 --> 00:39:01,570 [MUSIC MC HAMMER, "U TIDAK BISA MENYENTUH INI"] 854 00:39:01,570 --> 00:39:15,832 855 00:39:15,832 --> 00:39:16,915 DAVID J. Malan: Baiklah. 856 00:39:16,915 --> 00:39:18,400 Selamat. 857 00:39:18,400 --> 00:39:25,150 >> [Tepuk Tangan] 858 00:39:25,150 --> 00:39:27,330 >> DAVID J. Malan: Kami akan pos yang online nanti jadi 859 00:39:27,330 --> 00:39:29,820 Anda dapat menunda-nunda dengan itu juga. 860 00:39:29,820 --> 00:39:32,550 Princeton muncul berikutnya, setelah itu. 861 00:39:32,550 --> 00:39:35,470 >> Jadi sekarang mari kita benar-benar melanjutkan untuk memulai dari awal, 862 00:39:35,470 --> 00:39:39,310 sehingga untuk berbicara, dan benar-benar membangun sampai kita dapat menggoda selain beberapa gagasan ini 863 00:39:39,310 --> 00:39:41,970 dan mendapatkan sesuatu yang bahkan lebih kompleks pada akhir. 864 00:39:41,970 --> 00:39:45,240 Aku akan pergi ke sini dan aku akan untuk terus maju dan membuat file baru. 865 00:39:45,240 --> 00:39:47,460 Jadi sekali lagi, set masalah akan berjalan Anda melalui beberapa langkah. 866 00:39:47,460 --> 00:39:49,300 Tapi, semua saya lakukan adalah pergi ke menu File dan aku 867 00:39:49,300 --> 00:39:52,760 kata "baru," begitu mirip Microsoft Word, atau program apapun seperti itu. 868 00:39:52,760 --> 00:39:56,630 >> Dan mari kita pergi ke depan dan kami sekarang-- diimplementasikan "Halo dunia" beberapa saat yang lalu, 869 00:39:56,630 --> 00:39:58,410 tapi mari kita lakukan sesuatu yang manis sedikit. 870 00:39:58,410 --> 00:40:00,150 Aku akan pergi ke acara. 871 00:40:00,150 --> 00:40:02,350 Dan aku akan melakukan "ketika bendera hijau diklik. " 872 00:40:02,350 --> 00:40:05,830 Dan kemudian aku akan menggunakan, akan kita katakan, cabang. 873 00:40:05,830 --> 00:40:07,610 Jadi aku akan menggunakan "jika" kondisi. 874 00:40:07,610 --> 00:40:10,940 Dan perhatikan bagaimana begitu aku mendekati untuk itu, ia ingin untuk snap bersama-sama. 875 00:40:10,940 --> 00:40:13,020 Jadi aku membiarkan pergi dan terkunci bersama-sama. 876 00:40:13,020 --> 00:40:15,150 Dan sekarang aku bisa melakukan sesuatu yang menarik. 877 00:40:15,150 --> 00:40:19,150 Jika saya menelusuri sini, aku akan untuk melihat sejumlah besar blok. 878 00:40:19,150 --> 00:40:22,620 Jika saya pergi ke "data" - biarkan aku tampilannya in-- ada sesuatu tentang variabel. 879 00:40:22,620 --> 00:40:26,160 Jika saya pergi ke "gerak," Anda bisa tampaknya membalikkan keadaan. 880 00:40:26,160 --> 00:40:28,760 Jika saya pergi ke "operator" - oh, ini menarik, 881 00:40:28,760 --> 00:40:31,000 Aku bisa memilih nomor acak. 882 00:40:31,000 --> 00:40:34,119 Jadi biarkan aku melakukan sesuatu dengan hanya beberapa kemungkinan, hanya karena. 883 00:40:34,119 --> 00:40:36,160 Aku akan pergi ke depan dan tarik potongan puzzle ini, 884 00:40:36,160 --> 00:40:37,910 ini adalah bahwa kurang dari blok, jadi hanya 885 00:40:37,910 --> 00:40:39,480 "Nomor ini kurang dari satu itu?" 886 00:40:39,480 --> 00:40:42,438 Tapi aku tidak ingin kode keras nomor karena itu akan sangat sia-sia. 887 00:40:42,438 --> 00:40:46,270 Jadi aku akan menyeret bagian ini di sini, dan perhatikan bagaimana terkunci di, 888 00:40:46,270 --> 00:40:49,480 dan sekarang biarkan aku pergi ke depan dan berkata "jika jumlah yang dipilih secara acak 889 00:40:49,480 --> 00:40:51,820 kurang dari enam, lakukan hal berikut. " 890 00:40:51,820 --> 00:40:52,790 Sekarang mengapa kurang dari enam? 891 00:40:52,790 --> 00:40:56,400 Apa probabilitas ini secara efektif akan memberi saya, hanya intuitif? 892 00:40:56,400 --> 00:40:57,440 Sekitar 50%, kan? 893 00:40:57,440 --> 00:41:01,190 Jika nomor yang itu kira acak antara 1 dan 10 kurang dari enam, 894 00:41:01,190 --> 00:41:03,480 jelas itu salah satu, dua, tiga, empat, atau lima. 895 00:41:03,480 --> 00:41:06,740 Dan sehingga akan memberi saya Probabilitas 50% dari apa yang terjadi? 896 00:41:06,740 --> 00:41:09,890 >> Nah mari kita lakukan sesuatu seperti ini, "bermain meow suara." 897 00:41:09,890 --> 00:41:11,750 Dan pemberitahuan, sekali lagi, potongan puzzle tumbuh 898 00:41:11,750 --> 00:41:13,700 cocok, asalkan bentuk cocok. 899 00:41:13,700 --> 00:41:14,910 Itulah yang penting. 900 00:41:14,910 --> 00:41:18,000 Biarkan aku pergi ke Scratch di sini dan klik "bermain." 901 00:41:18,000 --> 00:41:19,300 Tidak ada yang terjadi. 902 00:41:19,300 --> 00:41:21,160 Apakah itu bug? 903 00:41:21,160 --> 00:41:21,999 Tidak, tidak perlu. 904 00:41:21,999 --> 00:41:24,040 Itu hanya bisa menjadi yang jumlah yang lebih besar dipilih. 905 00:41:24,040 --> 00:41:25,762 Jadi mari kita melakukannya lagi. 906 00:41:25,762 --> 00:41:27,550 Tidak ada. 907 00:41:27,550 --> 00:41:28,344 >> [MEOW] 908 00:41:28,344 --> 00:41:29,510 DAVID J. Malan: Ada itu. 909 00:41:29,510 --> 00:41:30,280 [MEOW] 910 00:41:30,280 --> 00:41:31,690 DAVID J. Malan: Again. 911 00:41:31,690 --> 00:41:32,300 Nomor 912 00:41:32,300 --> 00:41:32,922 >> [Mengeong] 913 00:41:32,922 --> 00:41:35,380 DAVID J. Malan: Jadi, jika Anda sudah pernah memainkan game, tentu saja, 914 00:41:35,380 --> 00:41:38,500 di mana hal-hal yang terjadi secara acak, seperti orang jahat yang datang atau tidak 915 00:41:38,500 --> 00:41:41,350 datang ke layar, atau hal-hal yang jatuh atau tidak jatuh, 916 00:41:41,350 --> 00:41:43,610 itu hanya karena sesuatu yang super sederhana seperti ini terjadi. 917 00:41:43,610 --> 00:41:46,010 Memilih nomor acak, dan jika itu kurang dari nilai tertentu, 918 00:41:46,010 --> 00:41:49,100 mungkin melakukan ini atau mungkin melakukan itu. 919 00:41:49,100 --> 00:41:51,340 Kita dapat menggabungkan bahwa dalam kondisi. 920 00:41:51,340 --> 00:41:52,600 Mari kita lakukan sesuatu yang berbeda. 921 00:41:52,600 --> 00:41:53,559 >> Mari saya membuang itu pergi. 922 00:41:53,559 --> 00:41:56,058 Anda dapat menyingkirkan barang oleh hanya menyeretnya ke kiri 923 00:41:56,058 --> 00:41:56,810 dan melepaskan. 924 00:41:56,810 --> 00:42:00,310 Biarkan aku pergi ke depan dan melakukan selamanya blok dan sangat cepat melakukan sesuatu yang menjengkelkan. 925 00:42:00,310 --> 00:42:03,010 Biarkan aku pergi ke depan dan mengatakan "bermain meow suara." 926 00:42:03,010 --> 00:42:06,620 Tapi aku tidak ingin ini terlalu mengganggu, jadi biarkan aku ambil blok ini, 927 00:42:06,620 --> 00:42:09,090 "Menunggu satu detik," dan pemberitahuan tidak ada lebih banyak ruang untuk itu. 928 00:42:09,090 --> 00:42:11,310 Tetapi jika Anda pergi cukup dekat, ia ingin pergi ke sana. 929 00:42:11,310 --> 00:42:14,100 Jadi saya biarkan pergi dan akan tumbuh untuk mengisi blok. 930 00:42:14,100 --> 00:42:15,932 Jadi sekarang, ini adalah satu lingkaran. 931 00:42:15,932 --> 00:42:16,432 [Mengeong] 932 00:42:16,432 --> 00:42:18,473 DAVID J. Malan: Aku harfiah melakukan hal ini selamanya. 933 00:42:18,473 --> 00:42:19,360 Lagi dan lagi. 934 00:42:19,360 --> 00:42:21,510 Itu tidak terdengar alami. 935 00:42:21,510 --> 00:42:24,800 Biarkan aku pergi ke depan dan mengubah ini tidak satu detik, dua detik 936 00:42:24,800 --> 00:42:25,854 dan tekan Enter. 937 00:42:25,854 --> 00:42:28,770 Dan apa yang bagus tentang Scratch adalah bahwa Anda bisa program interaktif. 938 00:42:28,770 --> 00:42:32,450 Membuat perubahan, mungkin tekan Enter atau Putar lagi, dan itu hanya akan terus berjalan. 939 00:42:32,450 --> 00:42:34,962 Nah, sekarang mengapa tidak kita lakukan sesuatu yang manis sedikit? 940 00:42:34,962 --> 00:42:39,680 Daripada melakukan semuanya dari awal, biarkan aku pergi ke depan dan membuka muka 941 00:42:39,680 --> 00:42:43,180 membuat satu, bahwa saya pra-panggang, disebut "Pet Cat." 942 00:42:43,180 --> 00:42:44,920 Dan kami akan posting semua file-file ini secara online, 943 00:42:44,920 --> 00:42:48,464 dan permasalahan yang nol akan memberitahu Anda bagaimana untuk mengaksesnya dan membukanya. 944 00:42:48,464 --> 00:42:49,880 Dan perhatikan, ini cukup sederhana. 945 00:42:49,880 --> 00:42:53,860 Tapi sebelumnya, saya tampaknya telah meraih a "selamanya" blok, jadi saya punya satu lingkaran. 946 00:42:53,860 --> 00:42:55,500 Dan kemudian aku punya "jika" kondisi. 947 00:42:55,500 --> 00:42:57,410 Aku punya ekspresi Boolean. 948 00:42:57,410 --> 00:43:00,100 >> Jadi dalam bahasa Inggris, hanya melirik ini, terutama jika Anda belum pernah 949 00:43:00,100 --> 00:43:04,278 diprogram sebelumnya, hanya secara intuitif, apa yang terjadi ini harus dilakukan, program ini? 950 00:43:04,278 --> 00:43:06,910 >> [AUDIENCE CHATTER] 951 00:43:06,910 --> 00:43:09,960 >> DAVID J. Malan: Jika Anda hewan peliharaan kucing, kucing akan meow, kan? 952 00:43:09,960 --> 00:43:14,560 Karena "selamanya centang" adalah pointer mouse menyentuh kucing. 953 00:43:14,560 --> 00:43:17,630 Jadi harus jelas, dan aku tidak mengatakan ini sebelumnya, semua teka-teki ini 954 00:43:17,630 --> 00:43:20,750 potongan dan script yang kami menggabungkannya ke dalam, 955 00:43:20,750 --> 00:43:25,510 sehingga untuk berbicara, script ini identik dengan Program, benar-benar, milik kucing ini. 956 00:43:25,510 --> 00:43:30,110 Dan alasannya Ini-- karena pemberitahuan bagaimana ini kucing yang sama di sini disorot, 957 00:43:30,110 --> 00:43:32,710 di sini Anda dapat membuat kucing kedua atau anjing atau benar-benar 958 00:43:32,710 --> 00:43:33,970 apa pun yang Anda inginkan grafis. 959 00:43:33,970 --> 00:43:35,900 Anda dapat mengimpor sesuatu dari Photoshop, atau sejenisnya, 960 00:43:35,900 --> 00:43:38,300 dan mengintegrasikan sesuatu jika Anda ingin membuatnya untuk sebuah proyek. 961 00:43:38,300 --> 00:43:40,174 Dan apa yang akan Anda temukan, akhirnya, adalah bahwa Anda 962 00:43:40,174 --> 00:43:44,800 dapat menambahkan script, tambahkan puzzle potongan, untuk karakter individu. 963 00:43:44,800 --> 00:43:47,210 Jadi ini semua milik kucing tertentu. 964 00:43:47,210 --> 00:43:51,770 Jadi sekarang jika saya pergi ke depan dan bermain program ini, tidak ada yang terjadi. 965 00:43:51,770 --> 00:43:52,970 Tapi itu berjalan. 966 00:43:52,970 --> 00:43:56,364 Program ini dalam lingkaran selamanya, jenis menunggu apa yang harus terjadi? 967 00:43:56,364 --> 00:43:57,230 >> [AUDIENCE CHATTER] 968 00:43:57,230 --> 00:43:58,130 >> DAVID J. Malan: Untuk hewan peliharaan kucing. 969 00:43:58,130 --> 00:43:59,800 Jadi jika saya menggerakkan mouse saya terhadap him-- 970 00:43:59,800 --> 00:44:02,420 >> [Mengeong] 971 00:44:02,420 --> 00:44:04,450 >> DAVID J. Malan: Jadi sekarang Aku membelai kucing. 972 00:44:04,450 --> 00:44:07,330 Sementara itu, kita dapat memiliki cabang ganda. 973 00:44:07,330 --> 00:44:10,370 Biarkan aku pergi ke depan dan membuka up tidak hewan peliharaan kucing. 974 00:44:10,370 --> 00:44:12,160 Kami akan mengirimkan secara online ini juga. 975 00:44:12,160 --> 00:44:16,760 Ini adalah sedikit lebih kompleks, tapi tanpa mengatakan 976 00:44:16,760 --> 00:44:18,780 Anda bisa menebak mungkin apa yang akan terjadi. 977 00:44:18,780 --> 00:44:20,160 >> [Mengeong] 978 00:44:20,160 --> 00:44:23,900 >> DAVID J. Malan: Cat mengeong, waktu besar tua. 979 00:44:23,900 --> 00:44:26,690 Namun program ini tentu saja disebut "Jangan Pet Cat," 980 00:44:26,690 --> 00:44:29,350 jadi jelas, saya ingin hewan peliharaan kucing. 981 00:44:29,350 --> 00:44:30,490 >> [Menderu] 982 00:44:30,490 --> 00:44:31,940 >> DAVID J. Malan: Jangan hewan peliharaan kucing. 983 00:44:31,940 --> 00:44:34,230 Sekarang, mari kita lihat contoh lain di sini. 984 00:44:34,230 --> 00:44:38,035 Yang satu ini akan disebut "Hi, Hi, Hi," karena alasan 985 00:44:38,035 --> 00:44:40,410 yang akan menjadi jelas, karena segera setelah saya menjalankan thing-- ini 986 00:44:40,410 --> 00:44:41,401 >> [SEAL Barking] 987 00:44:41,401 --> 00:44:43,942 DAVID J. Malan: Sangat mudah untuk menulis program Scratch menjengkelkan. 988 00:44:43,942 --> 00:44:45,300 [SEAL Barking] 989 00:44:45,300 --> 00:44:48,540 DAVID J. Malan: Sekarang kita tidak akan pergi ke detail dengan semua ini, 990 00:44:48,540 --> 00:44:51,150 tapi melihat ada beberapa fitur baru di sini. 991 00:44:51,150 --> 00:44:55,540 Ada variabel, yang disebut "diredam," dan kemudian ada sekelompok kondisi. 992 00:44:55,540 --> 00:44:57,900 Dan untuk saat ini, biarkan aku hanya menggoda Anda dengan mengatakan 993 00:44:57,900 --> 00:45:03,170 bahwa jika orang ini terlalu mengganggu, Saya bisa memukul spasi dan ia berhenti. 994 00:45:03,170 --> 00:45:05,880 Karena peran yang dimainkan oleh dua script tersebut adalah sebagai berikut. 995 00:45:05,880 --> 00:45:08,510 Salah satunya adalah melakukan menggonggong setiap beberapa detik. 996 00:45:08,510 --> 00:45:11,305 Yang lain hanya menunggu bagi saya untuk memukul spasi. 997 00:45:11,305 --> 00:45:14,780 Dan jika saya memukul spasi, itu akan mengubah 998 00:45:14,780 --> 00:45:18,096 keadaan variabel ini, nilai variabel ini, yang tampaknya 999 00:45:18,096 --> 00:45:20,470 disebut "diredam," Aku tidak menelepon itu sesuatu yang membosankan seperti n, 1000 00:45:20,470 --> 00:45:22,370 Aku menyebutnya kata dalam bahasa Inggris, "diredam." 1001 00:45:22,370 --> 00:45:24,740 Dari 1 ke 0 atau 0 hingga 1. 1002 00:45:24,740 --> 00:45:26,830 Dari benar palsu atau false menjadi true. 1003 00:45:26,830 --> 00:45:28,930 Jadi Anda benar-benar dapat lihat sekarang, bahwa Anda 1004 00:45:28,930 --> 00:45:31,720 bisa memiliki dua script, dua program yang berjalan secara bersamaan, 1005 00:45:31,720 --> 00:45:34,360 dan keduanya mungkin duduk dalam satu lingkaran melakukan sesuatu. 1006 00:45:34,360 --> 00:45:38,067 Menunggu manusia untuk melakukan sesuatu seperti memukul spasi. 1007 00:45:38,067 --> 00:45:38,650 [SEAL Barking] 1008 00:45:38,650 --> 00:45:40,566 DAVID J. Malan: Dan sekarang dia dalam perjalanan kembali. 1009 00:45:40,566 --> 00:45:41,640 [SEAL Barking] 1010 00:45:41,640 --> 00:45:45,220 DAVID J. Malan: Jadi apa lagi mungkin kita lakukan dengan contoh-contoh ini? 1011 00:45:45,220 --> 00:45:50,920 Nah, mari kita pergi ke depan dan melakukan contoh dengan menghitung domba. 1012 00:45:50,920 --> 00:45:59,210 Kami akan terus ini di sepanjang garis di sini of-- mari kita membuka contoh domba. 1013 00:45:59,210 --> 00:46:02,460 Dan pemberitahuan, seperti sebelumnya, yang satu ini, Untungnya, sedikit kurang mengganggu. 1014 00:46:02,460 --> 00:46:06,940 Setelah saya tekan bermain di sini- Oh tidak, ini menjengkelkan. 1015 00:46:06,940 --> 00:46:10,130 Dia akan baa dengan beberapa probabilitas. 1016 00:46:10,130 --> 00:46:11,050 Mari kita bermain ini lagi. 1017 00:46:11,050 --> 00:46:15,221 >> [SHEEP BLEETING] 1018 00:46:15,221 --> 00:46:18,470 DAVID J. Malan: Satu-satunya perbedaan adalah kami telah mengubah kostum, sehingga untuk berbicara, 1019 00:46:18,470 --> 00:46:21,710 dan kita mengurangi separuh dan mengatakan apa itu jumlah sebenarnya adalah. 1020 00:46:21,710 --> 00:46:24,680 Nah mari kita pergi ke depan dan mengambil satu langkah lebih jauh. 1021 00:46:24,680 --> 00:46:28,190 Dan biarkan aku menggoda Anda dengan salah satu fitur lain di sini. 1022 00:46:28,190 --> 00:46:31,800 Mari kita pergi ke depan dan membuka sebuah program yang disebut Threads. 1023 00:46:31,800 --> 00:46:36,620 Begitu banyak seperti Anda dapat memiliki satu sprite, memiliki beberapa script, 1024 00:46:36,620 --> 00:46:41,250 Anda dapat memiliki dua sprite, burung di kucing, masing-masing memiliki naskah mereka sendiri. 1025 00:46:41,250 --> 00:46:43,976 Dan masing-masing dapat beroperasi secara bersamaan. 1026 00:46:43,976 --> 00:46:45,980 Jika Anda pernah mendengar Kata "multithreading" 1027 00:46:45,980 --> 00:46:49,240 komputer adalah "multithreaded" berarti dapat melakukan beberapa hal sekaligus, 1028 00:46:49,240 --> 00:46:50,880 dan, memang, jadi bisa Scratch. 1029 00:46:50,880 --> 00:46:52,690 >> Dan sekarang melihat burung adalah jenis bodoh. 1030 00:46:52,690 --> 00:46:55,100 Hanya saja melakukan hal-hal secara acak, memantul dari layar. 1031 00:46:55,100 --> 00:46:59,460 Jelas kucing telah diprogram untuk jenis memiliki kemampuan mencari 1032 00:46:59,460 --> 00:47:02,680 untuk rumah di burung karena dia selalu menunjuk ke arahnya. 1033 00:47:02,680 --> 00:47:06,176 Sampai akhirnya, ia menangkap burung yang sebenarnya. 1034 00:47:06,176 --> 00:47:08,550 Jadi saya tidak akan berkutat pada rincian di sini, tapi Anda bisa jenis 1035 00:47:08,550 --> 00:47:12,160 sekilas bentuk yang sama, beberapa "Jika" kondisi, beberapa variabel, 1036 00:47:12,160 --> 00:47:15,740 mungkin beberapa loop, yang akhirnya melakukan hal yang sama. 1037 00:47:15,740 --> 00:47:18,400 >> Sekarang biarkan aku pergi ke depan dan membuka sesuatu yang lain sama sekali, 1038 00:47:18,400 --> 00:47:20,920 untuk menggoda sebagian dari Anda, terutama mereka lebih nyaman, 1039 00:47:20,920 --> 00:47:22,760 apa yang Anda benar-benar dapat Anda lakukan dengan ini. 1040 00:47:22,760 --> 00:47:26,080 Aku akan pergi ke depan dan membuka Tombol sini. 1041 00:47:26,080 --> 00:47:28,740 Dan ini adalah super program sederhana-tampak, 1042 00:47:28,740 --> 00:47:34,190 tapi lihat apa yang terjadi ketika Aku-- Perhatikan apa yang 1043 00:47:34,190 --> 00:47:39,860 terjadi ketika saya membuka versi itu, di sini di browser, scratch.mit.edu. 1044 00:47:39,860 --> 00:47:43,460 Dan ketika saya klik merah besar ini tombol, perhatikan apa yang terjadi. 1045 00:47:43,460 --> 00:47:46,110 1046 00:47:46,110 --> 00:47:47,647 Jadi apa yang terjadi di sini? 1047 00:47:47,647 --> 00:47:50,480 Sebenarnya ada kompleksitas yang lebih banyak terjadi di bawah tenda, 1048 00:47:50,480 --> 00:47:52,896 meskipun saya telah menerapkan ini, atau terus terang, Dan Bradley 1049 00:47:52,896 --> 00:47:54,660 telah menerapkan ini begitu sederhana. 1050 00:47:54,660 --> 00:47:59,540 Dia telah merancang puzzle Scratch kustom sepotong, dikenal sebagai ekstensi Scratch, 1051 00:47:59,540 --> 00:48:01,300 ia menyebutnya Beralih. 1052 00:48:01,300 --> 00:48:06,332 >> Dan apa Beralih dilakukan adalah mengirimkan pesan melalui internet. 1053 00:48:06,332 --> 00:48:08,290 Dan pesan itu sendiri terlihat sedikit samar. 1054 00:48:08,290 --> 00:48:10,248 Tapi ini juga, Anda akan memahami pada akhir term. 1055 00:48:10,248 --> 00:48:14,930 Pesan dia benar-benar mengirimkan terlihat sedikit sesuatu seperti ini. 1056 00:48:14,930 --> 00:48:15,921 Ini hanya teks. 1057 00:48:15,921 --> 00:48:16,420 Cryptic. 1058 00:48:16,420 --> 00:48:19,130 Anda akan mengerti pada saat kita mendapatkan masalah memisahkan tujuh. 1059 00:48:19,130 --> 00:48:22,180 Ini hanya mengirim pesan teks melalui internet ke server. 1060 00:48:22,180 --> 00:48:24,330 Dan server yang, pada akhirnya, berbicara dengan bola lampu ini, yang 1061 00:48:24,330 --> 00:48:27,240 memiliki salah satu bola lampu mewah di dalamnya yang, sendiri, berbicara 1062 00:48:27,240 --> 00:48:30,760 ke Wi-Fi dalam jaringan di sini, di mana perangkat lokal di sini- 1063 00:48:30,760 --> 00:48:34,400 dan, pada akhirnya, itu sebenarnya mengubah cahaya yang dan mematikan. 1064 00:48:34,400 --> 00:48:36,240 Tapi kita bisa berbuat lebih banyak hal menarik masih. 1065 00:48:36,240 --> 00:48:38,270 Perhatikan apa Dan juga lakukan bagi kita. 1066 00:48:38,270 --> 00:48:42,210 Dia membuat beberapa sprite, masing-masing yang memiliki script menunggu klik. 1067 00:48:42,210 --> 00:48:44,030 Dan jika saya klik merah, ia pergi merah. 1068 00:48:44,030 --> 00:48:46,780 Jika saya mendapatkan biru, ia pergi kebiruan. 1069 00:48:46,780 --> 00:48:49,854 Hijau, kuning, oranye. 1070 00:48:49,854 --> 00:48:52,520 Dan semua ini terjadi dengan akan jalan keluar ke internet, 1071 00:48:52,520 --> 00:48:54,690 kembali ke sini ke bola lampu, dan mematikan. 1072 00:48:54,690 --> 00:48:57,981 >> Dan jika Anda percaya itu-- dan ini mungkin salah satu Scratch paling kompleks 1073 00:48:57,981 --> 00:49:00,930 proyek seseorang implemented-- dia melakukannya, dalam keadilan, dalam satu hari. 1074 00:49:00,930 --> 00:49:04,180 Dan itu adalah tantangan kita melempar Dan untuk ketika kita melihat memiliki lampu biner, 1075 00:49:04,180 --> 00:49:05,810 kami memiliki Scratch, bagaimana dapat kita menggabungkan mereka? 1076 00:49:05,810 --> 00:49:08,410 Dan, memang, ini benar-benar sesuatu yang ada di ruangan ini 1077 00:49:08,410 --> 00:49:14,250 bisa lakukan dengan end-- semester Apakah dia reimplemented lampu biner menggunakan 1078 00:49:14,250 --> 00:49:18,310 antarmuka yang sama yang pada iPad kami pada Rabu. 1079 00:49:18,310 --> 00:49:22,000 Sehingga sekarang, jika aku benar-benar klik plus di sini, 1080 00:49:22,000 --> 00:49:25,250 kita memiliki satu, dua, tiga. 1081 00:49:25,250 --> 00:49:27,550 Saya dapat menekan 16 dan mengubah bahwa satu di. 1082 00:49:27,550 --> 00:49:29,440 128, dan sebagainya. 1083 00:49:29,440 --> 00:49:31,250 >> Sekarang jika itu saja memiliki dan ditiup pikiran Anda, 1084 00:49:31,250 --> 00:49:35,680 Anda bisa melakukan hal-hal yang jauh lebih mudah diakses, tidak melibatkan perangkat keras tentu. 1085 00:49:35,680 --> 00:49:38,320 Hanya hal-hal pada layar itu sendiri. 1086 00:49:38,320 --> 00:49:41,110 Dan, memang, apa yang kebanyakan siswa akhirnya melakukan semacam permainan, 1087 00:49:41,110 --> 00:49:44,600 beberapa bagian dari karya seni, atau semacam animasi interaktif. 1088 00:49:44,600 --> 00:49:47,352 Dan aku akan mengatakan satu dari kami favorit telah menjadi salah satu ini. 1089 00:49:47,352 --> 00:49:49,060 Dan saya pikir jika kita bisa meredupkan lampu, 1090 00:49:49,060 --> 00:49:52,960 kami akan mengarahkan sekilas di akhir Proyek Scratch dalam kesimpulan. 1091 00:49:52,960 --> 00:49:57,460 Tapi apa yang Anda akan harus diingat, sebagai Aku bisa menggoda Anda dengan satu detail terakhir, 1092 00:49:57,460 --> 00:49:59,140 sectioning akan dimulai minggu depan. 1093 00:49:59,140 --> 00:50:00,830 Jam kerja akan dimulai minggu depan. 1094 00:50:00,830 --> 00:50:04,410 Masalah set nol akan diposting CS50.harvard.edu hari ini. 1095 00:50:04,410 --> 00:50:06,430 Dan Anda akan disambut di permasalahan yang nol 1096 00:50:06,430 --> 00:50:10,070 untuk CS50 sendiri Zamyla Chan, yang Panduan sebagian besar penelusuran kami. 1097 00:50:10,070 --> 00:50:11,952 Ini adalah video tertanam di set masalah 1098 00:50:11,952 --> 00:50:15,160 yang akan memegang tangan Anda melalui banyak dari set up awal dan melalui banyak 1099 00:50:15,160 --> 00:50:16,570 dari keputusan desain mungkin. 1100 00:50:16,570 --> 00:50:19,570 Jadi, jika Anda sudah pernah emosi yang ketika mengambil tugas pekerjaan rumah 1101 00:50:19,570 --> 00:50:21,030 dan bertanya-tanya, di mana saya mulai? 1102 00:50:21,030 --> 00:50:23,510 Dia akan memiliki jawaban untuk Anda. 1103 00:50:23,510 --> 00:50:27,720 Dan sekarang, program akhir dari salah satu pendahulu Anda 1104 00:50:27,720 --> 00:50:30,659 untuk menjawab pertanyaan "Apa rubah katakan?" 1105 00:50:30,659 --> 00:50:32,242 [MUSIC YLVIS, "APA YANG FOX KATAKAN?] 1106 00:50:32,242 --> 00:50:40,178 1107 00:50:40,178 --> 00:50:41,666 >> YLVIS: (Menyanyi) Anjing pergi pakan. 1108 00:50:41,666 --> 00:50:43,650 Cat berjalan meow. 1109 00:50:43,650 --> 00:50:47,520 Burung pergi Tweet dan mouse pergi mencicit. 1110 00:50:47,520 --> 00:50:49,240 Sapi berjalan moo. 1111 00:50:49,240 --> 00:50:51,690 Frog pergi serak. 1112 00:50:51,690 --> 00:50:54,630 Dan gajah berjalan tiupan. 1113 00:50:54,630 --> 00:50:59,040 Bebek mengatakan dukun dan ikan pergi blub. 1114 00:50:59,040 --> 00:51:07,370 Dan segel pergi ow ow ow, tetapi ada satu suara yang tidak ada yang tahu, 1115 00:51:07,370 --> 00:51:10,330 apa rubah katakan? 1116 00:51:10,330 --> 00:51:11,020 Dan 1117 00:51:11,020 --> 00:51:12,478 >> DAVID J. Malan: Itu saja untuk CS50. 1118 00:51:12,478 --> 00:51:15,436 Kita akan melihat Anda di Teka-teki Day dan pada hari Senin. 1119 00:51:15,436 --> 00:51:16,424 >> [Tepuk Tangan] 1120 00:51:16,424 --> 00:51:19,882 >> [MUSIC YLVIS, "APA YANG FOX SAY?"] 1121 00:51:19,882 --> 00:51:24,840 1122 00:51:24,840 --> 00:51:28,820 >> Narator: Dan sekarang dalam pikiran, berdasarkan Daven Farnham. 1123 00:51:28,820 --> 00:51:31,770 1124 00:51:31,770 --> 00:51:34,570 Hari ini saya tertembak di muka dengan buku telepon. 1125 00:51:34,570 --> 00:51:38,160 Membingungkan, karena saya di rumah menonton online. 1126 00:51:38,160 --> 00:51:42,528