1 00:00:00,000 --> 00:00:02,952 >> [MUSIC PLAYING] 2 00:00:02,952 --> 00:00:11,316 3 00:00:11,316 --> 00:00:13,284 >> [MUSIC PLAYING] 4 00:00:13,284 --> 00:00:18,722 5 00:00:18,722 --> 00:00:19,680 DAVID Malan: Baiklah. 6 00:00:19,680 --> 00:00:21,983 Ini adalah CS50. 7 00:00:21,983 --> 00:00:24,108 [MUSIC BERMAIN Tritonal, Kas Kas,  "Paria"] 8 00:00:24,108 --> 00:01:40,846 9 00:01:40,846 --> 00:01:41,844 [MUSIC PLAYING] 10 00:01:41,844 --> 00:01:45,337 SPEAKER 1: Aku akan Perancis, dan Anda akan juga. 11 00:01:45,337 --> 00:01:48,331 [MUSIC PLAYING] 12 00:01:48,331 --> 00:02:38,100 13 00:02:38,100 --> 00:02:41,930 DAVID Malan: ini adalah CS50, Pengenalan Harvard University 14 00:02:41,930 --> 00:02:44,520 dengan intelektual perusahaan ilmu komputer 15 00:02:44,520 --> 00:02:47,940 dan seni program-- dan untuk pertama kalinya dalam sejarah, 16 00:02:47,940 --> 00:02:49,800 Yale University juga. 17 00:02:49,800 --> 00:02:53,830 Memang, apakah Anda berada di sini di Cambridge atau di New Haven atau Miami atau St. Louis 18 00:02:53,830 --> 00:02:55,550 atau Amsterdam atau di mana saja keliling dunia 19 00:02:55,550 --> 00:03:00,080 mengambil CS50, komputer ilmu E50, CS50X, CS50 AP, 20 00:03:00,080 --> 00:03:02,090 kita semua adalah satu dan sama. 21 00:03:02,090 --> 00:03:04,490 Selamat Datang di CS50. 22 00:03:04,490 --> 00:03:05,380 >> Apa yang kita miliki-- 23 00:03:05,380 --> 00:03:06,348 >> [TEPUK TANGAN] 24 00:03:06,348 --> 00:03:07,800 >> [LAUGHS] 25 00:03:07,800 --> 00:03:10,220 >> [TEPUK TANGAN] 26 00:03:10,220 --> 00:03:13,610 27 00:03:13,610 --> 00:03:16,920 >> Jadi saya membuat kesalahan sendiri beberapa waktu yang lalu ketika saya mulai kuliah. 28 00:03:16,920 --> 00:03:21,580 Dan aku kuliah, dan saya memutuskan untuk terus terang, tetap dalam zona kenyamanan saya. 29 00:03:21,580 --> 00:03:24,475 Saya akhirnya menyatakan konsentrasi, atau besar, pemerintah. 30 00:03:24,475 --> 00:03:27,880 Semut itu sebagian besar fungsi dari saya menjadi cukup akrab dengan pemerintah 31 00:03:27,880 --> 00:03:31,270 atau setidaknya sejarah atau aku benar-benar menyukai hukum konstitusional di sekolah tinggi. 32 00:03:31,270 --> 00:03:34,150 Dan jadi ketika saya tiba di sini, aku agak dari tertarik ke arah hal-hal 33 00:03:34,150 --> 00:03:35,800 dengan yang saya sudah akrab. 34 00:03:35,800 --> 00:03:36,300 Kanan? 35 00:03:36,300 --> 00:03:38,167 Allah melarang saya lakukan buruk di kelas. 36 00:03:38,167 --> 00:03:40,250 Saya pasti ingin tinggal dalam zona kenyamanan saya, 37 00:03:40,250 --> 00:03:43,010 dan itu tidak sampai tahun kedua bahwa saya akhirnya 38 00:03:43,010 --> 00:03:46,820 bangun keberanian untuk langkah kaki di kelas yang disebut CS50. 39 00:03:46,820 --> 00:03:51,150 Dan pada saat itu, apakah saya akhirnya menyadari bahwa, Allahku, PR benar-benar bisa 40 00:03:51,150 --> 00:03:51,910 bersenang-senanglah. 41 00:03:51,910 --> 00:03:54,410 >> Memang, saya adalah salah satu dari anak-anak bahwa pada Jumat malam saat 42 00:03:54,410 --> 00:03:57,640 P-SETS akan dirilis, saya akan kembali ke kamarku dan menyelam 43 00:03:57,640 --> 00:03:58,790 ke P-SETS malam itu. 44 00:03:58,790 --> 00:04:01,606 Dan bagi saya, itu adalah tanda bahwa ini adalah bidang bagi saya. 45 00:04:01,606 --> 00:04:04,480 Tapi yang lebih penting adalah fakta bahwa saya melakukan bangun saraf ini 46 00:04:04,480 --> 00:04:08,000 menjelajahi perairan asing bagi saya dan melampaui zona kenyamanan saya sendiri 47 00:04:08,000 --> 00:04:12,320 dan terus terang, saya hanya bisa melakukan itu tahun kedua dengan mengambil kelas ini 48 00:04:12,320 --> 00:04:13,050 lulus / gagal. 49 00:04:13,050 --> 00:04:16,470 >> Memang, itu adalah hari terakhir yang Saya akhirnya beralih dan akhirnya 50 00:04:16,470 --> 00:04:19,707 menyatakan CS sebagai konsentrasi saya, menempatkan gov pada saat itu di belakang saya. 51 00:04:19,707 --> 00:04:22,290 Dan jadi kita tidak menetapkan di Tentu saja ini untuk mengubah semua Anda 52 00:04:22,290 --> 00:04:25,780 ke jurusan CS atau konsentrator, tapi bukan untuk memberikan kesempatan 53 00:04:25,780 --> 00:04:29,780 mudah-mudahan melampaui dunia dengan yang saat ini Anda familiar 54 00:04:29,780 --> 00:04:33,660 dan membawa kembali dari dunia ini keterampilan dan pengetahuan dan cerdas 55 00:04:33,660 --> 00:04:36,220 yang dapat Anda terapkan untuk Anda dunia sendiri, apakah itu 56 00:04:36,220 --> 00:04:39,080 dalam humaniora, ilmu sosial, ilmu alam, atau di luar. 57 00:04:39,080 --> 00:04:40,871 >> Memang, jika Anda merasa sedikit pemberani 58 00:04:40,871 --> 00:04:43,250 tentang berada di ruangan ini apalagi di kelas ini, 59 00:04:43,250 --> 00:04:47,560 menyadari bahwa jika sejarah adalah indikasi, 72% dari Anda 60 00:04:47,560 --> 00:04:49,802 tidak pernah mengambil kursus CS sebelumnya. 61 00:04:49,802 --> 00:04:52,760 Sehingga dengan segala cara tidak terjadi bahwa siswa yang duduk di sebelah kiri 62 00:04:52,760 --> 00:04:56,850 atau ke kanan atau di depan atau di belakang Anda tahu lebih jauh tentang CS 63 00:04:56,850 --> 00:04:58,820 atau pemrograman khususnya dari Anda. 64 00:04:58,820 --> 00:05:00,432 Itu tidak pada kenyataannya kasus ini. 65 00:05:00,432 --> 00:05:02,140 Dan memang, banyak struktur dukungan 66 00:05:02,140 --> 00:05:04,600 bahwa kita telah didirikan di ini Tentu saja selama bertahun-tahun terakhir 67 00:05:04,600 --> 00:05:08,840 telah untuk persis bahwa reason-- untuk memberikan pada jalan yang masih keluar 68 00:05:08,840 --> 00:05:11,640 seperti ketat dan hanya setinggi ever-- 69 00:05:11,640 --> 00:05:14,860 namun kemiringan yang memungkinkan siswa kurang nyaman dan lebih nyaman 70 00:05:14,860 --> 00:05:18,420 sama untuk berhasil terlepas latar belakang nya sebelumnya. 71 00:05:18,420 --> 00:05:20,610 >> Memang, apa yang akhirnya hal di kelas ini tidak 72 00:05:20,610 --> 00:05:22,830 begitu banyak di mana Anda berakhir relatif terhadap teman sekelas Anda 73 00:05:22,830 --> 00:05:26,000 tetapi di mana Anda di minggu 12 berakhir relatif terhadap diri sendiri 74 00:05:26,000 --> 00:05:28,720 di minggu nol, yang di mana kita berada di sini hari ini. 75 00:05:28,720 --> 00:05:32,315 >> Memang dan ini mungkin sangat baik dan mungkin terlihat seperti Yunani 76 00:05:32,315 --> 00:05:32,940 untuk banyak dari Anda. 77 00:05:32,940 --> 00:05:35,200 Tapi yakinlah, bahwa ini dan banyak lagi 78 00:05:35,200 --> 00:05:38,990 akan menjadi benar-benar dalam Anda memahami dalam hanya sedikit waktu. 79 00:05:38,990 --> 00:05:41,410 >> Tapi hari ini, kita fokus pada beberapa dari ide-ide yang lebih tinggi 80 00:05:41,410 --> 00:05:43,822 untuk memberikan rasa CS50 dan ilmu komputer 81 00:05:43,822 --> 00:05:45,530 dalam arti apa Anda mendaftar untuk. 82 00:05:45,530 --> 00:05:48,000 Dan memang, ilmu komputer mungkin suling lebih 83 00:05:48,000 --> 00:05:51,209 hanya sebagai thinking-- komputasi berpikir seperti komputer, jika Anda mau. 84 00:05:51,209 --> 00:05:54,000 Dan ada begitu banyak hal yang berbeda bahan yang masuk ke dalam, 85 00:05:54,000 --> 00:05:56,240 tapi mari kita mengusulkan tiga untuk hari ini. 86 00:05:56,240 --> 00:05:59,420 Jika tujuan dari kelas akhirnya tidak untuk mengajarkan Anda pemrograman, 87 00:05:59,420 --> 00:06:03,022 tidak untuk mengajarkan Anda C atau PHP atau SQL atau sejumlah kata-kata 88 00:06:03,022 --> 00:06:04,730 dan akronim dalam deskripsi saja ini, 89 00:06:04,730 --> 00:06:07,850 melainkan untuk mengajarkan Anda untuk memecahkan masalah secara lebih efektif 90 00:06:07,850 --> 00:06:11,670 dan berpikir lebih metodis dan lebih algoritme, sehingga untuk berbicara. 91 00:06:11,670 --> 00:06:13,610 Mari kita lihat apa sebenarnya ini berarti. 92 00:06:13,610 --> 00:06:17,000 >> Jadi saya akan mengusulkan pemikiran bahwa komputasi bermuara 93 00:06:17,000 --> 00:06:17,834 untuk memecahkan masalah. 94 00:06:17,834 --> 00:06:19,333 Apa yang Anda butuhkan untuk memecahkan masalah? 95 00:06:19,333 --> 00:06:21,470 Anda perlu input-- seperti input ke problem-- yang 96 00:06:21,470 --> 00:06:23,636 Anda memerlukan output, yang adalah mudah-mudahan solusi, 97 00:06:23,636 --> 00:06:26,720 dan kemudian Anda perlu proses yang untuk mengatasi masalah tersebut, yang 98 00:06:26,720 --> 00:06:30,030 kami akan memanggil algorithm-- satu set petunjuk untuk memecahkan beberapa masalah. 99 00:06:30,030 --> 00:06:33,340 >> Tapi pertama-tama, mari kita fokus pada yang pertama dan yang terakhir dari input dan output. 100 00:06:33,340 --> 00:06:38,070 Komputer setelah semua, rupanya hanya mengerti nol dan satu. 101 00:06:38,070 --> 00:06:39,299 Tapi bagaimana bisa itu mungkin? 102 00:06:39,299 --> 00:06:42,090 Bahkan jika Anda tidak terbiasa sama sekali dengan apa yang di bawah kap mesin, 103 00:06:42,090 --> 00:06:44,980 Anda mungkin setidaknya mendengar bahwa komputer memahami binary-- 104 00:06:44,980 --> 00:06:48,050 hanya nol dan ones-- tapi bagaimana Anda mungkin melakukan sesuatu yang menarik? 105 00:06:48,050 --> 00:06:49,960 >> Nah, salah satu tema kelas akan 106 00:06:49,960 --> 00:06:53,293 untuk menjadi ini layering-- mana hari ini, kita akan mengambil sekilas di tingkat terendah 107 00:06:53,293 --> 00:06:55,620 rincian, tetapi dengan masing-masing melewati hari, di mana kita lapisan 108 00:06:55,620 --> 00:06:59,420 atau abstrak di atas mereka rincian untuk benar-benar menyelesaikan tingkat yang lebih tinggi 109 00:06:59,420 --> 00:07:01,080 masalah menarik bagi kami. 110 00:07:01,080 --> 00:07:04,730 >> Jadi di sini adalah apa yang kita sebut binary-- hanya dengan alfabet 0 dan 1. 111 00:07:04,730 --> 00:07:06,960 Tapi kita manusia yang sebagian besar akrab dengan desimal. 112 00:07:06,960 --> 00:07:08,130 Desember makna 10. 113 00:07:08,130 --> 00:07:09,070 Bi berarti dua. 114 00:07:09,070 --> 00:07:12,100 Dan di desimal sistem, kita memiliki 10 digit 115 00:07:12,100 --> 00:07:14,099 di disposal-- kami Tentu saja, nol sampai sembilan. 116 00:07:14,099 --> 00:07:16,140 Jadi jika Anda melihat nomor seperti ini, sebagian besar dari Anda 117 00:07:16,140 --> 00:07:19,016 intuitif hanya pegang yang 123. 118 00:07:19,016 --> 00:07:20,640 Tidak ada yang benar-benar keras tentang itu. 119 00:07:20,640 --> 00:07:22,452 Tapi mengapa 123? 120 00:07:22,452 --> 00:07:24,660 Nah, jika Anda berpikir kembali ke school-- kelas atau setidaknya 121 00:07:24,660 --> 00:07:26,410 cara saya belajar ini jenis dunia-- Anda 122 00:07:26,410 --> 00:07:29,640 mungkin ingat bahwa kita memperlakukan ini hal di kolom, atau tempat-tempat. 123 00:07:29,640 --> 00:07:31,412 >> Jadi kita memiliki tempat yang di sebelah kanan. 124 00:07:31,412 --> 00:07:32,620 Puluhan tempat di tengah. 125 00:07:32,620 --> 00:07:34,240 Ratusan tempat di sebelah kiri. 126 00:07:34,240 --> 00:07:36,980 Dan kemudian bagaimana kita mendapatkan dari pola ini symbols-- 127 00:07:36,980 --> 00:07:41,771 1 2 3-- ke tingkat yang lebih tinggi ini Ide yang kita kenal sebagai 123? 128 00:07:41,771 --> 00:07:43,461 Nah, itu hanya beberapa aritmatika sederhana. 129 00:07:43,461 --> 00:07:43,960 Kanan? 130 00:07:43,960 --> 00:07:48,960 >> Yang ada dasarnya berarti memberi kita 100 kali 1 ditambah 10 kali 131 00:07:48,960 --> 00:07:50,410 2 ditambah 1 kali 3. 132 00:07:50,410 --> 00:07:53,430 Dan tentu saja jika kita melakukan keluar matematika ada, itu 100 ditambah 20 133 00:07:53,430 --> 00:07:56,480 ditambah 3-- atau dikenal sebagai 123. 134 00:07:56,480 --> 00:07:58,820 >> Jadi jika Anda berada di Halaman yang sama sebagai hak yang 135 00:07:58,820 --> 00:08:02,320 sekarang dan merasa nyaman dengan disebut-sistem desimal sebagai manusia, 136 00:08:02,320 --> 00:08:05,750 itu sebenarnya baik dalam lingkup kenyamanan Anda 137 00:08:05,750 --> 00:08:07,220 mempertimbangkan sekarang sistem biner. 138 00:08:07,220 --> 00:08:10,110 Ambil liar guess-- ini mewakili, di dunia komputer 139 00:08:10,110 --> 00:08:12,001 di binary-- nomor apa? 140 00:08:12,001 --> 00:08:12,500 Nol. 141 00:08:12,500 --> 00:08:13,580 >> Tapi kenapa begitu? 142 00:08:13,580 --> 00:08:17,460 Nah, ternyata kolom atau tempat di sini-mereka tidak kekuatan 10. 143 00:08:17,460 --> 00:08:19,670 1, 10, 100, 1.000, dan sebagainya. 144 00:08:19,670 --> 00:08:21,890 Mereka sebaliknya, cukup hanya, kekuatan dari 2. 145 00:08:21,890 --> 00:08:25,400 Jadi, 1, 2, 4, 8, 16, 32, dan seterusnya. 146 00:08:25,400 --> 00:08:29,630 Dan sekarang kita tentu bisa 0 di sini hanya karena kita memiliki 4 kali 147 00:08:29,630 --> 00:08:34,510 0 ditambah 2 kali 0 ditambah 1 kali 0, yang tentu saja memberi kita 0. 148 00:08:34,510 --> 00:08:37,399 >> Tapi bagaimana aku pergi tentang mewakili nomor 1? 149 00:08:37,399 --> 00:08:39,440 Apa pola nol dan satu untuk mewakili 150 00:08:39,440 --> 00:08:42,720 jumlah kita manusia kenal sebagai 1? 151 00:08:42,720 --> 00:08:44,280 001. 152 00:08:44,280 --> 00:08:46,370 Dan 2? 153 00:08:46,370 --> 00:08:47,480 010. 154 00:08:47,480 --> 00:08:49,760 >> Dan sekarang pola mulai mengulangi. 155 00:08:49,760 --> 00:08:50,890 Sekarang 011. 156 00:08:50,890 --> 00:08:54,310 Dan lagi, 0 merangkak, satu 2, satu 1. 157 00:08:54,310 --> 00:08:55,180 Jadi 2 ditambah 1. 158 00:08:55,180 --> 00:08:56,140 Itu 3. 159 00:08:56,140 --> 00:08:59,069 >> Dan sekarang untuk mewakili 4, kami tidak hanya mengubah bahwa 0 ke 1. 160 00:08:59,069 --> 00:09:01,360 Anda semacam harus membawa, sehingga untuk berbicara, dan nomor 161 00:09:01,360 --> 00:09:03,700 mulai membalik sekitar hanya seperti di dunia desimal. 162 00:09:03,700 --> 00:09:04,670 >> Jadi ini adalah 4. 163 00:09:04,670 --> 00:09:05,410 Ini adalah 5. 164 00:09:05,410 --> 00:09:06,330 Ini adalah 6. 165 00:09:06,330 --> 00:09:07,580 Ini adalah 7. 166 00:09:07,580 --> 00:09:09,720 Dan jadi kami telah dihitung setinggi 7. 167 00:09:09,720 --> 00:09:12,400 >> Sekarang semua kita hanya perlu lebih merupakan bits-- lebih nol dan satu. 168 00:09:12,400 --> 00:09:15,700 Dan memang "bit", jika Anda sudah mendengar digit biner term-- ini. 169 00:09:15,700 --> 00:09:17,470 Bit adalah tempat yang berasal dari. 170 00:09:17,470 --> 00:09:20,190 Dan jika kita ingin mewakili angka yang lebih besar, kita perlu lebih banyak bit. 171 00:09:20,190 --> 00:09:24,360 Tapi mari kita pindah dari slide sekarang untuk sesuatu yang sedikit lebih nyata. 172 00:09:24,360 --> 00:09:27,540 Misalkan kita ingin benar-benar mewakili hal ini. 173 00:09:27,540 --> 00:09:31,790 >> Nah mari kita lihat sekarang pada demonstrasi sedikit. 174 00:09:31,790 --> 00:09:35,270 Jadi ini adalah aplikasi berbasis web bahwa salah satu CS50 sendiri, Michael G, 175 00:09:35,270 --> 00:09:38,160 disatukan musim panas ini untuk membantu kami menjelaskan persis ide ini. 176 00:09:38,160 --> 00:09:40,420 Dan seseorang seperti untuk usaha di atas panggung 177 00:09:40,420 --> 00:09:42,915 di depan semua nya teman sekelas? 178 00:09:42,915 --> 00:09:43,790 Tepat di depan. 179 00:09:43,790 --> 00:09:45,660 Ayo up. 180 00:09:45,660 --> 00:09:48,350 >> Anda harus nyaman pada kamera dan internet. 181 00:09:48,350 --> 00:09:50,930 182 00:09:50,930 --> 00:09:52,450 Oh, di sini. 183 00:09:52,450 --> 00:09:52,950 OKE. 184 00:09:52,950 --> 00:09:53,740 Kami OK. 185 00:09:53,740 --> 00:09:54,240 Baiklah. 186 00:09:54,240 --> 00:09:54,740 Ayo up. 187 00:09:54,740 --> 00:09:56,150 Siapa namamu? 188 00:09:56,150 --> 00:09:58,550 Emily datang ke atas. 189 00:09:58,550 --> 00:09:59,410 Jadi ini adalah Emily. 190 00:09:59,410 --> 00:10:00,840 Tahun berapa kamu? 191 00:10:00,840 --> 00:10:01,660 >> Freshman. 192 00:10:01,660 --> 00:10:02,810 >> Emily, senang bertemu Anda. 193 00:10:02,810 --> 00:10:03,310 David. 194 00:10:03,310 --> 00:10:03,810 >> Baiklah. 195 00:10:03,810 --> 00:10:06,120 Jadi di layar di sini, kami memiliki layar sentuh ini 196 00:10:06,120 --> 00:10:08,425 yang akan memungkinkan kita untuk benar-benar berinteraksi dengan program ini, 197 00:10:08,425 --> 00:10:09,265 dan itu hanya browser. 198 00:10:09,265 --> 00:10:11,390 Ini Chrome penuh disaring pada saat ini, tapi itu 199 00:10:11,390 --> 00:10:14,030 telah diprogram oleh Michael untuk merespon dengan cara yang memungkinkan 200 00:10:14,030 --> 00:10:15,970 kita untuk bermain-main dengan angka biner. 201 00:10:15,970 --> 00:10:20,220 >> Jadi misalnya, di sini kita belum tiga tapi delapan nol bits-- dan orang-orang. 202 00:10:20,220 --> 00:10:22,000 Sekarang, kami melihat angka 0. 203 00:10:22,000 --> 00:10:25,150 Dan memang, semua delapan nol dalam desimal berarti nol. 204 00:10:25,150 --> 00:10:26,900 Jadi itu semua yang yang mengisyaratkan sini. 205 00:10:26,900 --> 00:10:29,395 >> Jadi jika Anda ingin merupakan jumlah 8, 206 00:10:29,395 --> 00:10:31,520 apa pola nol dan orang-orang yang Anda inginkan? 207 00:10:31,520 --> 00:10:35,160 Anda hanya dapat menekan atas atau bawah atau nomor sendiri. 208 00:10:35,160 --> 00:10:35,660 Baiklah. 209 00:10:35,660 --> 00:10:37,659 Sehingga tentu saja adalah 8, seperti yang Anda lihat di sana. 210 00:10:37,659 --> 00:10:41,260 Dan jika kita ingin jangan 16, apa yang kita lakukan? 211 00:10:41,260 --> 00:10:42,701 >> Yap, hanya menyentuh lagi. 212 00:10:42,701 --> 00:10:43,200 16. 213 00:10:43,200 --> 00:10:43,870 Baiklah. 214 00:10:43,870 --> 00:10:46,522 Jadi ini semua baik dan bagus, itu masih tingkat yang sangat rendah. 215 00:10:46,522 --> 00:10:48,230 Kita perlu cara di dunia nyata untuk Emily 216 00:10:48,230 --> 00:10:50,550 untuk benar-benar mewakili hal-hal ini. 217 00:10:50,550 --> 00:10:54,230 Dan misalkan kita mengubah ini nol dan satu, yang sangat 218 00:10:54,230 --> 00:10:55,980 konseptual, menjadi bola lampu yang sebenarnya. 219 00:10:55,980 --> 00:10:56,480 Kanan? 220 00:10:56,480 --> 00:10:59,540 >> Sebuah komputer adalah fisik, mekanik, perangkat listrik. 221 00:10:59,540 --> 00:11:02,220 Dan input-- yang setidaknya jika Anda pasang atau biaya itu-- 222 00:11:02,220 --> 00:11:05,090 adalah memiliki daya baterai dan elektron mengalir masuk dan keluar. 223 00:11:05,090 --> 00:11:08,150 >> Jadi sekarang, kenapa tidak kita berhenti berpikir tentang bit sebagai nol dan satu, 224 00:11:08,150 --> 00:11:10,470 tapi sesuatu yang lebih fisik seperti bola lampu di sini. 225 00:11:10,470 --> 00:11:13,815 Dan jika Dan Armendariz bisa bergabung saya untuk hanya moment-- datang pada up-- 226 00:11:13,815 --> 00:11:15,440 kita akan mengantri aplikasi. 227 00:11:15,440 --> 00:11:15,940 >> Ayo lebih, Emily. 228 00:11:15,940 --> 00:11:18,270 Maaf ini adalah yang paling Demo canggung untuk Anda yang pernah. 229 00:11:18,270 --> 00:11:20,330 Ayo ke sini. 230 00:11:20,330 --> 00:11:22,080 Kita akan antrian dengan berkat Dan 231 00:11:22,080 --> 00:11:25,300 Armendariz, anggota lain dari staf kami, aplikasi yang dikenal sebagai bola biner. 232 00:11:25,300 --> 00:11:28,070 >> Jadi apa yang kita miliki di sini adalah sebuah aplikasi iPad 233 00:11:28,070 --> 00:11:31,970 yang memiliki pengguna berikut antarmuka pada layar untuk Emily. 234 00:11:31,970 --> 00:11:35,400 Ini hanya punya UI yang sama persis dasarnya itu di sana. 235 00:11:35,400 --> 00:11:39,220 Dan jika Anda sekarang ingin mewakili nomor, mengatakan 8, 236 00:11:39,220 --> 00:11:42,094 bagaimana Anda akan pergi untuk melakukan memerhatikan ini di sebelah kanan, 237 00:11:42,094 --> 00:11:43,510 bola lampu yang kita miliki di sini? 238 00:11:43,510 --> 00:11:46,576 239 00:11:46,576 --> 00:11:47,620 Ah-ha. 240 00:11:47,620 --> 00:11:48,290 Gaib. 241 00:11:48,290 --> 00:11:51,830 Jadi jika kita ingin sekarang mengubah ini menjadi sesuatu yang sedikit lebih menantang, 242 00:11:51,830 --> 00:11:58,100 dan mari kita pergi ke depan dan memilih secara acak nomor seperti nomor 50 di sini. 243 00:11:58,100 --> 00:11:59,015 Masukan ini. 244 00:11:59,015 --> 00:12:01,640 Dan jika Anda sekarang dapat ditantang untuk datang dengan jumlah 50, 245 00:12:01,640 --> 00:12:04,268 kita akan memiliki hadiah yang luar biasa untuk Anda. 246 00:12:04,268 --> 00:12:06,144 >> EMILY: OK. 247 00:12:06,144 --> 00:12:08,692 Astaga. 248 00:12:08,692 --> 00:12:10,650 DAVID Malan: Arithmetic memang sulit di depan 249 00:12:10,650 --> 00:12:12,860 ratusan teman sekelas Anda. 250 00:12:12,860 --> 00:12:16,260 Tapi 50 telah jawabannya di sini. 251 00:12:16,260 --> 00:12:18,132 >> [TEPUK TANGAN] 252 00:12:18,132 --> 00:12:21,875 >> Dan sekarang, ini dimaksudkan untuk menjadi demonstratif untuk Emily. 253 00:12:21,875 --> 00:12:24,315 Jadi, di sini, adalah terang lampu cukup seperti ini, 254 00:12:24,315 --> 00:12:26,190 tapi itu sebenarnya strip magnetik kecil. 255 00:12:26,190 --> 00:12:28,570 Dan apa yang keren tentang hal ini dan alasan kita menggunakannya dalam CS50 256 00:12:28,570 --> 00:12:31,640 adalah bahwa mereka mendukung sesuatu yang disebut sebuah API-- pemrograman aplikasi 257 00:12:31,640 --> 00:12:34,681 interface, yang adalah cara mewah mengatakan bahwa apa yang salah satu staf kami 258 00:12:34,681 --> 00:12:37,284 tidak selama musim panas itu membuat aplikasi iPad sini 259 00:12:37,284 --> 00:12:39,700 yang berbicara melalui internet dengan bola lampu di sini, 260 00:12:39,700 --> 00:12:41,810 yang secara nirkabel terhubung ke perangkat lain. 261 00:12:41,810 --> 00:12:43,912 Tapi ini sekarang pilihan untuk proyek-proyek akhir. 262 00:12:43,912 --> 00:12:46,370 Dan Emily, jika Anda akan jadi seperti, pada akhir istilah, 263 00:12:46,370 --> 00:12:48,703 Anda dapat menghiasi kamar asrama Anda sementara itu dengan orang-orang. 264 00:12:48,703 --> 00:12:50,376 Terima kasih kepada Emily juga. 265 00:12:50,376 --> 00:12:53,244 >> [TEPUK TANGAN] 266 00:12:53,244 --> 00:12:56,590 267 00:12:56,590 --> 00:13:00,055 >> Tapi sekarang, mari perhatian kita untuk apa 268 00:13:00,055 --> 00:13:03,180 pesan yang mungkin tampak seperti, dan itu sedikit sesuatu seperti ini. 269 00:13:03,180 --> 00:13:05,320 Bahkan, ini adalah Contohnya saja sebagai penggoda 270 00:13:05,320 --> 00:13:08,400 dari apa yang akan datang dari apa yang disebut permintaan API. 271 00:13:08,400 --> 00:13:11,409 Dan apa yang kita miliki di sini hanyalah persis jenis pesan 272 00:13:11,409 --> 00:13:13,200 bahwa setelah beberapa minggu waktu di CS50, Anda akan 273 00:13:13,200 --> 00:13:16,590 dapat mengirim ke sesuatu yang cukup familiar seperti itu untuk benar-benar 274 00:13:16,590 --> 00:13:18,100 mengubahnya dan mematikan. 275 00:13:18,100 --> 00:13:19,350 Tapi ini semua baik dan bagus. 276 00:13:19,350 --> 00:13:19,850 Kanan? 277 00:13:19,850 --> 00:13:22,710 Kami memiliki model mental mudah-mudahan untuk mewakili angka dengan 278 00:13:22,710 --> 00:13:23,660 nol dan satu. 279 00:13:23,660 --> 00:13:26,290 Dan dari nol dan satu, kita bisa sampai ke angka yang lebih tinggi seperti 50, 280 00:13:26,290 --> 00:13:29,460 sebagai Emily hanya melakukan, atau kita dapat bergerak ke atas dari itu. 281 00:13:29,460 --> 00:13:32,160 Dan saya menyatakan bahwa kita dapat mewakili hal-hal seperti surat juga. 282 00:13:32,160 --> 00:13:32,660 Kanan? 283 00:13:32,660 --> 00:13:35,360 >> Komputer jauh lebih menarik daripada hanya nomor. 284 00:13:35,360 --> 00:13:37,340 Dan bagaimana Anda pergi tentang kata-kata yang mewakili 285 00:13:37,340 --> 00:13:39,420 pada layar atau email atau esai atau sejenisnya? 286 00:13:39,420 --> 00:13:43,170 Nah, ternyata komputer hanya abstrak di atas ini tingkat rendah 287 00:13:43,170 --> 00:13:47,380 rincian, dan manusia beberapa waktu lalu, datang dengan sewenang-wenang, tapi konsisten, 288 00:13:47,380 --> 00:13:51,710 pemetaan angka untuk letters-- sehingga bahwa setiap kali Anda melihat huruf kapital 289 00:13:51,710 --> 00:13:54,170 Sebuah komputer Anda layar, kemungkinan besar apa 290 00:13:54,170 --> 00:13:57,370 di bawah tenda adalah pola nol dan satu 291 00:13:57,370 --> 00:14:00,650 yang mewakili jumlah, per bagan ini, 65. 292 00:14:00,650 --> 00:14:02,830 >> Dan fisik lebih dalam komputer Anda, 293 00:14:02,830 --> 00:14:06,450 jutaan hal yang disebut transistors-- days-- ini yang 294 00:14:06,450 --> 00:14:10,190 hanya beralih jika Anda mau, hal yang bisa pergi dan mematikan dan jadi bayangkan. 295 00:14:10,190 --> 00:14:14,130 Tidak delapan dari bola lampu besar tapi jutaan ini sedikit cahaya kecil 296 00:14:14,130 --> 00:14:17,490 lampu, atau switch atau transistor, yang dapat menghidupkan dan mematikan 297 00:14:17,490 --> 00:14:19,170 didasarkan pada bagaimana Anda program mereka. 298 00:14:19,170 --> 00:14:22,120 Dan sekarang kita memiliki cara mewakili huruf juga. 299 00:14:22,120 --> 00:14:25,300 >> Bahkan, jika saya harus menggunakan ini pemetaan sini dan mencoba untuk benar-benar 300 00:14:25,300 --> 00:14:28,731 mantra sesuatu, kita mungkin terlihat di pola angka desimal 301 00:14:28,731 --> 00:14:29,230 sekarang juga. 302 00:14:29,230 --> 00:14:31,354 Jadi kita tidak akan bahkan fokus pada biner lagi. 303 00:14:31,354 --> 00:14:35,910 Mari kita pertimbangkan ini sebagai angka desimal 72, 73, 33. 304 00:14:35,910 --> 00:14:38,044 Tapi apa mungkin ini mewakili? 305 00:14:38,044 --> 00:14:39,960 Ada yang punya cukup ingatan fotografis 306 00:14:39,960 --> 00:14:43,060 tahu apa yang dibilang pada layar di sini? 307 00:14:43,060 --> 00:14:43,560 Ya beberapa. 308 00:14:43,560 --> 00:14:44,190 Jadi hi. 309 00:14:44,190 --> 00:14:48,330 H-I dan kemudian tanda seru, yang tidak benar-benar di layar. 310 00:14:48,330 --> 00:14:51,060 Tapi memang ada pemetaan untuk setiap surat kepada setiap nomor 311 00:14:51,060 --> 00:14:53,340 Anda mungkin ingin mengetik pada keyboard Anda. 312 00:14:53,340 --> 00:14:55,430 >> Tapi nomor tidak perlu hanya mewakili huruf. 313 00:14:55,430 --> 00:14:55,930 Kanan? 314 00:14:55,930 --> 00:14:59,570 Semua dari kita tahu tentang gambar dan foto-foto dan file audio 315 00:14:59,570 --> 00:15:00,870 dan file video dan sejenisnya. 316 00:15:00,870 --> 00:15:03,580 Jadi jelas kita dapat mewakili hal tingkat yang lebih tinggi masih. 317 00:15:03,580 --> 00:15:06,920 Dan jadi apa komputer tidak hanya memilih 318 00:15:06,920 --> 00:15:11,240 menafsirkan pola nol yang berbeda berdasarkan konteks. 319 00:15:11,240 --> 00:15:13,130 >> Jika Anda klik dua kali ikon Microsoft Word, 320 00:15:13,130 --> 00:15:15,900 Anda melihat kata-kata di layar bukannya warna dan gambar 321 00:15:15,900 --> 00:15:18,850 karena kata tahu bahwa ini adalah esai yang Anda sudah benar-benar mengetik. 322 00:15:18,850 --> 00:15:21,510 Jika Anda bukan klik dua kali pada JPEG atau GIF atau PNG, 323 00:15:21,510 --> 00:15:27,070 membuka dan gambar karena .PNG Atau .docx atau apa pun file 324 00:15:27,070 --> 00:15:30,450 ekstensi dan perangkat lunak apa pun Anda menggunakan tahu untuk menafsirkan 325 00:15:30,450 --> 00:15:34,420 pola nol dan satu berbeda berdasarkan apa tujuannya dalam hidup adalah. 326 00:15:34,420 --> 00:15:37,330 >> Jadi misalnya, ini urutan yang sama dari nomor 327 00:15:37,330 --> 00:15:41,250 mungkin mewakili berapa banyak merah yang Anda inginkan, berapa banyak hijau yang Anda inginkan, 328 00:15:41,250 --> 00:15:42,810 dan berapa banyak biru yang Anda inginkan. 329 00:15:42,810 --> 00:15:47,490 Dan memang, jika Anda pernah mendengar RGB-- biru hijau sehingga hanya merah. 330 00:15:47,490 --> 00:15:51,380 Dan jadi jika saya melihat angka seperti, ini memberi saya 72 merah, memberi saya 73 hijau, 331 00:15:51,380 --> 00:15:56,910 dan 33 biru, ini adalah bagaimana komputer menggunakan tiga bytes-- mana 332 00:15:56,910 --> 00:16:01,470 byte adalah delapan bit atau 24 bits-- akan mewakili warna yang cukup buruk 333 00:16:01,470 --> 00:16:03,660 coklat atau kuning di sini. 334 00:16:03,660 --> 00:16:07,500 Dan dalam konteks yang berbeda, bisa mereka persis pola yang sama di nol dan satu 335 00:16:07,500 --> 00:16:10,780 berarti sesuatu yang sama sekali berbeda juga. 336 00:16:10,780 --> 00:16:13,899 >> Jadi kita sekarang memiliki cara untuk mewakili nol informasi-- dan orang-orang. 337 00:16:13,899 --> 00:16:15,190 Di atas semua itu, kita mendapatkan surat. 338 00:16:15,190 --> 00:16:16,860 Di atas semua itu, kita mungkin mendapatkan warna. 339 00:16:16,860 --> 00:16:19,730 Dan mari kita asumsikan untuk hari ini bahwa kita bisa mendapatkan audio dan video 340 00:16:19,730 --> 00:16:22,590 dan hal-hal jauh lebih canggih dari itu. 341 00:16:22,590 --> 00:16:25,370 >> Tapi sekarang mari kita pertimbangkan bagaimana kita menggunakan mereka input 342 00:16:25,370 --> 00:16:27,390 dan menghasilkan orang-orang output sekarang kita memiliki 343 00:16:27,390 --> 00:16:29,830 cara untuk mewakili informasi tersebut. 344 00:16:29,830 --> 00:16:31,820 Nah, kita membutuhkan sesuatu disebut algoritma. 345 00:16:31,820 --> 00:16:34,320 Sekali lagi, satu set instruksi untuk memecahkan beberapa masalah 346 00:16:34,320 --> 00:16:37,580 langkah demi step-- dan lebih tepat, lebih baik. 347 00:16:37,580 --> 00:16:42,090 >> Dan jadi contoh dengan yang manusia diakui kurang akrab hari ini, 348 00:16:42,090 --> 00:16:44,300 tapi tetap saja masih dengan kami dalam perangkat lunak, 349 00:16:44,300 --> 00:16:47,490 adalah proses mencari up seseorang di buku telepon. 350 00:16:47,490 --> 00:16:51,690 >> Sekarang, semakin sedikit orang tahu setiap tahun apa peninggalan ini sebenarnya ada di sini. 351 00:16:51,690 --> 00:16:53,470 Tapi kembali pada hari saya, ini adalah buku telepon 352 00:16:53,470 --> 00:16:57,266 dengan ribuan halaman dan nomor dan nama orang dari A sampai Z. 353 00:16:57,266 --> 00:17:00,390 Dan meskipun kita jenis kecurangan a bit-- ini adalah sebagian besar halaman kuning. 354 00:17:00,390 --> 00:17:01,920 Ada juga putih halaman pada saat itu, yang 355 00:17:01,920 --> 00:17:04,720 memiliki semua nama-nama itu dan jumlah manusia yang sebenarnya. 356 00:17:04,720 --> 00:17:07,970 >> Dan jika saya ingin melihat seseorang di buku telepon seperti hari ini, tentu saja, 357 00:17:07,970 --> 00:17:11,010 Saya cukup ketik dalam beberapa pertama karakter dari namanya, 358 00:17:11,010 --> 00:17:13,480 dan telepon saya menemukan informasi tersebut. 359 00:17:13,480 --> 00:17:15,970 Tapi proses dimana iPhone atau ponsel Android Anda 360 00:17:15,970 --> 00:17:18,730 atau apa pun yang benar-benar menemukan seseorang dalam daftar kontak Anda 361 00:17:18,730 --> 00:17:22,099 identik dengan apa yang kita manusia mungkin telah dilakukan selama beberapa waktu. 362 00:17:22,099 --> 00:17:24,260 >> Sekarang saya bisa mengambil ini masalah, jika Anda mau, 363 00:17:24,260 --> 00:17:26,220 dan input sini tidak nol dan satu. 364 00:17:26,220 --> 00:17:28,730 Mereka pages-- seperti, katakanlah 1.000 halaman. 365 00:17:28,730 --> 00:17:32,650 Dan jika saya ingin mencari seseorang seperti Mike Smith dalam buku telepon ini, 366 00:17:32,650 --> 00:17:35,570 Aku bisa mulai dari awal dan melihat bahwa aku di bagian A 367 00:17:35,570 --> 00:17:38,300 dan kemudian mengubah satu halaman pada waktu, mencari dan mencari 368 00:17:38,300 --> 00:17:42,820 seperti yang saya buat untuk B dan C dan D's dan sebagainya untuk Mike Smith. 369 00:17:42,820 --> 00:17:46,000 Smith mulai dengan S, aku akan mudah-mudahan akhirnya menemukannya. 370 00:17:46,000 --> 00:17:50,090 >> Apakah algorithm-- ini yang process-- benar? 371 00:17:50,090 --> 00:17:50,590 Ya. 372 00:17:50,590 --> 00:17:51,610 Itu benar. 373 00:17:51,610 --> 00:17:57,040 Aku akan menemukan Mike jika dia di sini, tapi apa peringatan yang mungkin Anda tawarkan. 374 00:17:57,040 --> 00:17:57,541 Itu lambat. 375 00:17:57,541 --> 00:17:58,040 Kanan? 376 00:17:58,040 --> 00:18:00,975 Aku tahu Mike S adalah semacam menuju paruh kedua buku telepon. 377 00:18:00,975 --> 00:18:02,766 Kenapa sih aku mulai dari awal 378 00:18:02,766 --> 00:18:04,349 dan akan halaman demi halaman demi halaman. 379 00:18:04,349 --> 00:18:06,890 Jadi tentu saja, saya bisa flip sekitar dan mulai dari belakang, 380 00:18:06,890 --> 00:18:08,973 tapi itu akan mendapatkan saya ada pada tingkat yang sama, 381 00:18:08,973 --> 00:18:10,930 jika Anda willl-- halaman setelah halaman demi halaman. 382 00:18:10,930 --> 00:18:14,190 Dan itu tidak akan bekerja jika saya ingin untuk mencari orang lain yang 383 00:18:14,190 --> 00:18:15,880 Nama datang lebih awal dalam alfabet. 384 00:18:15,880 --> 00:18:17,240 >> Jadi bagaimana jika saya melakukan apa yang saya belajar di sekolah dasar, 385 00:18:17,240 --> 00:18:19,205 lagi, melakukan hal-hal tidak oleh orang-orang tapi dengan berpasangan. 386 00:18:19,205 --> 00:18:23,060 Jadi 2, 4, 6, 8, 10, 12, dan sebagainya. 387 00:18:23,060 --> 00:18:23,740 Apakah itu benar? 388 00:18:23,740 --> 00:18:27,030 389 00:18:27,030 --> 00:18:27,560 Tidak. 390 00:18:27,560 --> 00:18:28,830 Ini semacam benar. 391 00:18:28,830 --> 00:18:33,210 Tetapi beberapa dari Anda yang bergumam tidak, di mana adalah masalah, atau bug, 392 00:18:33,210 --> 00:18:34,240 kesalahan sehingga untuk berbicara. 393 00:18:34,240 --> 00:18:34,580 Ya. 394 00:18:34,580 --> 00:18:36,570 >> SISWA: Anda mungkin melewatkan atas entri yang tepat. 395 00:18:36,570 --> 00:18:37,320 >> DAVID Malan: Ya. 396 00:18:37,320 --> 00:18:40,340 Saya mungkin melewatkan Mike Smith adalah karena saya sudah dua halaman sekaligus 397 00:18:40,340 --> 00:18:43,190 dan dia hanya kebetulan terjepit di antara dua halaman. 398 00:18:43,190 --> 00:18:46,500 Saya mungkin akan menyadari bahwa Aku ke bagian T 399 00:18:46,500 --> 00:18:48,690 tidak memiliki ditemukan Mike Smith belum. 400 00:18:48,690 --> 00:18:50,820 >> Dan apa yang mungkin tetap ada? 401 00:18:50,820 --> 00:18:52,709 Nah, jika saya melakukan memukul Ts di buku telepon, 402 00:18:52,709 --> 00:18:54,500 Saya mungkin perlu dua kembali satu atau lebih halaman. 403 00:18:54,500 --> 00:18:56,830 Jadi itu diperbaiki, tapi itu tidak sesederhana 404 00:18:56,830 --> 00:18:59,170 seperti hanya akan dua untuk mempercepat kinerja saya. 405 00:18:59,170 --> 00:18:59,680 Tapi apa? 406 00:18:59,680 --> 00:19:00,180 Ayolah. 407 00:19:00,180 --> 00:19:03,530 Apa yang akan kebanyakan manusia hubungannya dengan jenis buku telepon? 408 00:19:03,530 --> 00:19:04,696 Anda diberi buku telepon. 409 00:19:04,696 --> 00:19:06,280 Apa yang kamu kerjakan? 410 00:19:06,280 --> 00:19:06,922 >> Apa itu? 411 00:19:06,922 --> 00:19:07,630 Pergi ke tengah. 412 00:19:07,630 --> 00:19:10,620 Jadi saya mendengar pergi ke tengah, dan saya menemukan diri kira-kira di bagian M, 413 00:19:10,620 --> 00:19:11,120 boleh dikatakan. 414 00:19:11,120 --> 00:19:12,670 Dan sekarang apa yang ingin saya lakukan? 415 00:19:12,670 --> 00:19:14,077 Kerja bagus. 416 00:19:14,077 --> 00:19:14,785 Siapa namamu? 417 00:19:14,785 --> 00:19:15,350 >> JAMES: James. 418 00:19:15,350 --> 00:19:15,890 >> DAVID Malan: James, baiklah. 419 00:19:15,890 --> 00:19:16,829 Apa yang harus saya lakukan selanjutnya? 420 00:19:16,829 --> 00:19:18,620 JAMES: Anda pergi di setengah yang memiliki S. 421 00:19:18,620 --> 00:19:18,740 DAVID Malan: Baiklah. 422 00:19:18,740 --> 00:19:20,910 Aku akan pergi ke setengah yang memiliki S di dalamnya karena, sekali lagi, 423 00:19:20,910 --> 00:19:22,920 Penetapan sini adalah bahwa hal ini diurutkan. 424 00:19:22,920 --> 00:19:25,461 Ini adalah cukup berguna 1.000 halaman jika Verizon tidak benar-benar 425 00:19:25,461 --> 00:19:27,339 memilah hal-hal ini bagi kita A sampai Z. 426 00:19:27,339 --> 00:19:30,130 Jadi jika saya tahu Mike mungkin di paruh kedua buku telepon, 427 00:19:30,130 --> 00:19:31,536 Sekarang saya bisa. 428 00:19:31,536 --> 00:19:33,388 >> [LAUGHS] 429 00:19:33,388 --> 00:19:35,240 430 00:19:35,240 --> 00:19:37,391 >> Merobek masalah di setengah. 431 00:19:37,391 --> 00:19:38,615 >> [TEPUK TANGAN] 432 00:19:38,615 --> 00:19:39,115 433 00:19:39,115 --> 00:19:40,300 Terima kasih. 434 00:19:40,300 --> 00:19:42,510 Merobek masalah di setengah. 435 00:19:42,510 --> 00:19:44,440 Itu benar-benar real-- perjuangan itu. 436 00:19:44,440 --> 00:19:47,050 Jadi merobek buku telepon di setengah, meninggalkan diriku 437 00:19:47,050 --> 00:19:48,580 dengan fundamental masalah yang sama. 438 00:19:48,580 --> 00:19:50,060 Tapi tentu saja, setengah besar. 439 00:19:50,060 --> 00:19:52,550 Dan jika saya mengikuti James saran lagi, dan aku pergi di sini. 440 00:19:52,550 --> 00:19:54,400 Saya katakan, oh sekarang aku di bagian T. 441 00:19:54,400 --> 00:19:56,460 >> Dan tentu saja, saya dapat merobek buku telepon 442 00:19:56,460 --> 00:19:59,660 setengah sekali lagi, meninggalkan saya dengan masalah yang 443 00:19:59,660 --> 00:20:00,810 sekarang seperempat dari ukuran. 444 00:20:00,810 --> 00:20:05,335 Jadi aku pergi dari 1.000 menjadi 500 250 untuk 125 dan sebagainya. 445 00:20:05,335 --> 00:20:07,350 Rasanya seperti aku mengambil gigitan besar keluar 446 00:20:07,350 --> 00:20:10,615 masalah ini dengan masing-masing iterasi, atau setiap langkah di dalamnya. 447 00:20:10,615 --> 00:20:15,580 >> Dan memang, waktu aku akan menghabiskan menemukan Mike Smith dalam contoh ini 448 00:20:15,580 --> 00:20:18,970 begitu banyak kurang karena akhirnya aku akan mengurangi buku roti manis ini turun 449 00:20:18,970 --> 00:20:20,192 hanya satu halaman tunggal. 450 00:20:20,192 --> 00:20:23,010 Dan jika Mike ada di halaman itu, aku akan pergi ke depan dan memberinya 451 00:20:23,010 --> 00:20:24,670 panggilan setelah menemukan dia. 452 00:20:24,670 --> 00:20:27,030 >> Tapi seberapa jauh lebih baik adalah bahwa algorithm-- 453 00:20:27,030 --> 00:20:29,690 yang berani mengatakan intuitif algorithm-- daripada yang kita 454 00:20:29,690 --> 00:20:34,920 mulai dengan yang kami sangat linear-- kiri ke right-- pada kecepatan 1 atau 2x? 455 00:20:34,920 --> 00:20:36,100 >> Nah, mari kita merencanakan ini. 456 00:20:36,100 --> 00:20:39,380 Kami tidak perlu khawatir terlalu banyak tentang matematika atau angka dalam hal ini di sini. 457 00:20:39,380 --> 00:20:40,550 Kami hanya melihat plot. 458 00:20:40,550 --> 00:20:43,600 Jadi pada x, atau sumbu horisontal, adalah ukuran problem-- yang 459 00:20:43,600 --> 00:20:44,700 berapa banyak halaman yang ada. 460 00:20:44,700 --> 00:20:46,760 Pada y, atau vertikal axis, adalah berapa banyak waktu 461 00:20:46,760 --> 00:20:48,218 itu akan membawa saya untuk menyelesaikannya. 462 00:20:48,218 --> 00:20:50,760 Dan mungkin itu berapa banyak Halaman bergantian, berapa detik, 463 00:20:50,760 --> 00:20:52,370 bagaimana banyak-- beberapa unit tindakan. 464 00:20:52,370 --> 00:20:57,810 >> Dan saya sudah ditarik garis lurus merah di sini karena jika setiap halaman tambahan 465 00:20:57,810 --> 00:21:01,740 dari buku telepon, saya memerlukan untuk membuat satu langkah tambahan. 466 00:21:01,740 --> 00:21:03,680 Jadi jika Verizon menambahkan satu Halaman lebih tahun depan, 467 00:21:03,680 --> 00:21:06,970 Aku mungkin harus membalik satu halaman lebih untuk menemukan seseorang seperti Mike Smith. 468 00:21:06,970 --> 00:21:11,340 >> Sementara itu, algoritma kedua, yang Aku pergi dengan berpasangan, adalah bentuk yang sama. 469 00:21:11,340 --> 00:21:15,220 Ini masih sangat linear, sangat kiri ke tepat, mengambil byte yang sama setiap kali, 470 00:21:15,220 --> 00:21:16,900 tapi kemiringan ini sedikit lebih rendah. 471 00:21:16,900 --> 00:21:23,590 >> Misalnya, jika ukuran Masalah yang kira-kira di sini 472 00:21:23,590 --> 00:21:25,990 dan saya menggunakan algoritma pertama saya, Aku mungkin berakhir semua jalan 473 00:21:25,990 --> 00:21:27,480 di bagian atas yang garis merah. 474 00:21:27,480 --> 00:21:29,390 Tapi jika saya bukan menggunakan untuk twosies mendekati, 475 00:21:29,390 --> 00:21:31,480 garis kuning menunjukkan karena itu lebih rendah, 476 00:21:31,480 --> 00:21:33,790 bahwa itu akan mengambil saya kurang waktu memecahkan. 477 00:21:33,790 --> 00:21:37,400 >> Tapi apa bentuk algorithm-- ketiga lagi, bisa dibilang 478 00:21:37,400 --> 00:21:38,707 algoritma yang paling intuitif? 479 00:21:38,707 --> 00:21:40,540 Nah, itu terlihat sedikit sesuatu seperti ini. 480 00:21:40,540 --> 00:21:43,480 Ini melengkung, atau logaritmik, dalam bentuk. 481 00:21:43,480 --> 00:21:46,510 Dan meskipun tidak pernah jenis mendatar, 482 00:21:46,510 --> 00:21:50,770 itu asimtotik inci dan dan up tapi sangat lambat 483 00:21:50,770 --> 00:21:52,129 dibandingkan segala sesuatu yang lain. 484 00:21:52,129 --> 00:21:53,170 Dan apa yang take away? 485 00:21:53,170 --> 00:21:54,215 Nah, kita menyebutnya log n. 486 00:21:54,215 --> 00:21:55,820 Tapi apa yang benar-benar berarti? 487 00:21:55,820 --> 00:21:58,580 Nah jika Verizon dua kali lipat jumlah halaman dalam buku telepon 488 00:21:58,580 --> 00:22:00,810 tahun depan dari 1.000 menjadi 2.000. 489 00:22:00,810 --> 00:22:04,600 Berapa banyak langkah lebih adalah saya algoritma pertama akan berlangsung? 490 00:22:04,600 --> 00:22:05,440 >> algoritma pertama saya. 491 00:22:05,440 --> 00:22:06,399 Mungkin 1.000 langkah lebih. 492 00:22:06,399 --> 00:22:08,106 Jika mereka dua kali lipat buku telepon, aku akan 493 00:22:08,106 --> 00:22:10,590 harus membolak-balik lain 1.000 halaman untuk menemukan Mike. 494 00:22:10,590 --> 00:22:13,240 Tentu saja, jika kedua algoritma, mungkin 500 karena aku 495 00:22:13,240 --> 00:22:14,610 akan dua kali lebih cepat. 496 00:22:14,610 --> 00:22:18,380 >> Tetapi jika Verizon ganda nomor halaman antara tahun ini dan berikutnya, 497 00:22:18,380 --> 00:22:21,650 dengan ketiga algorithm-- membagi dan menaklukkan bahwa James diusulkan, 498 00:22:21,650 --> 00:22:24,450 akan di setengah dan setengah dan half-- berapa banyak langkah lebih akan 499 00:22:24,450 --> 00:22:29,030 itu membawa saya tahun depan untuk memiliki buku telepon dari ukuran 2.000? 500 00:22:29,030 --> 00:22:29,670 Hanya satu. 501 00:22:29,670 --> 00:22:34,110 Karena dengan satu gigitan, saya bisa mengambil, keluar dari masalah itu, setengah dari halaman 502 00:22:34,110 --> 00:22:34,694 jauh. 503 00:22:34,694 --> 00:22:37,860 Dan jika Anda berpikir tentang hal ini sedikit ayun sekarang-- jika buku telepon tidak 504 00:22:37,860 --> 00:22:41,810 memiliki 1.000 atau 2.000 halaman, tapi katakanlah 4 miliar pages-- 505 00:22:41,810 --> 00:22:45,282 itu telepon besar book-- bagaimana berkali-kali atau berapa banyak langkah 506 00:22:45,282 --> 00:22:47,740 itu akan membawa saya untuk menemukan Mike Smith dalam buku telepon 507 00:22:47,740 --> 00:22:50,489 dengan 4 miliar halaman. 508 00:22:50,489 --> 00:22:52,030 Anda dapat semacam mulai melakukan matematika. 509 00:22:52,030 --> 00:22:52,200 Baiklah. 510 00:22:52,200 --> 00:22:53,175 4 miliar dibagi 2. 511 00:22:53,175 --> 00:22:54,550 Jadi itulah 2 miliar dibagi dengan 1. 512 00:22:54,550 --> 00:22:55,510 Itu 1 miliar. 513 00:22:55,510 --> 00:22:56,410 Kemudian setengah miliar. 514 00:22:56,410 --> 00:22:59,940 Kemudian 250-- sehingga Anda dapat melakukan ini lagi dan lagi tapi tidak banyak kali sebelum 515 00:22:59,940 --> 00:23:01,020 Anda mendapatkan satu halaman. 516 00:23:01,020 --> 00:23:04,360 >> Dan memang, meskipun telepon Buku adalah 4 miliar halaman panjang 517 00:23:04,360 --> 00:23:08,340 atau database yang Anda cari adalah 4 miliar catatan panjang, 518 00:23:08,340 --> 00:23:12,720 itu akan membawa Anda memberi atau mengambil 32 langkah hanya untuk menemukan Mike Smith. 519 00:23:12,720 --> 00:23:15,990 Dan jika Anda menggandakan buku telepon berikutnya tahun 4000000000-8000000000, 520 00:23:15,990 --> 00:23:19,010 33 langkah, bukan hanya 32. 521 00:23:19,010 --> 00:23:21,100 >> Dan ini merupakan bukti ke salah satu ide 522 00:23:21,100 --> 00:23:24,100 bahwa kita mungkin merangkul di komputer ilmu yang lebih umum, yang 523 00:23:24,100 --> 00:23:26,760 adalah pemikiran komputasi ini dan mendekati masalah 524 00:23:26,760 --> 00:23:29,479 terus terang menggunakan alat dari alat sudah akrab Anda 525 00:23:29,479 --> 00:23:31,520 kit-- dunia nyata dengan yang Anda kenal, 526 00:23:31,520 --> 00:23:34,730 tetapi memanfaatkan ide-ide untuk benar-benar memecahkan masalah. 527 00:23:34,730 --> 00:23:37,200 >> Tapi kita perlu memformalkan kami solusi untuk masalah ini. 528 00:23:37,200 --> 00:23:40,200 Dan biarkan saya memperkenalkan sejenak sesuatu yang kita sebut pseudo. 529 00:23:40,200 --> 00:23:44,260 Banyak semester, kita akan menghabiskan menggunakan kode aktual dalam bahasa seperti C dan PHP 530 00:23:44,260 --> 00:23:46,570 dan JavaScript dan SQL dan sejenisnya. 531 00:23:46,570 --> 00:23:49,000 >> Tapi untuk saat ini, mari kita lihat saja sesuatu cukup intuitif 532 00:23:49,000 --> 00:23:49,930 seperti bahasa Inggris. 533 00:23:49,930 --> 00:23:52,490 Saya mungkin menyaring bahwa algoritma dengan yang 534 00:23:52,490 --> 00:23:54,650 Saya menemukan Mike menjadi langkah-langkah seperti ini. 535 00:23:54,650 --> 00:23:55,760 >> Mengambil buku telepon 536 00:23:55,760 --> 00:23:57,121 >> Terbuka untuk tengah buku telepon 537 00:23:57,121 --> 00:23:57,870 Lihatlah nama ini 538 00:23:57,870 --> 00:23:59,290 Jika Mike adalah salah satu nama yang 539 00:23:59,290 --> 00:24:00,450 memanggil Mike 540 00:24:00,450 --> 00:24:02,290 Lain jika Smith adalah awal buku ini 541 00:24:02,290 --> 00:24:04,540 Terbuka ke tengah kiri setengah dari buku 542 00:24:04,540 --> 00:24:06,244 Lain pergi ke baris 3 543 00:24:06,244 --> 00:24:07,660 Lain jika Smith adalah nanti dalam buku ini 544 00:24:07,660 --> 00:24:09,330 Terbuka untuk tengah kanan setengah dari buku 545 00:24:09,330 --> 00:24:09,996 Pergi ke baris tiga 546 00:24:09,996 --> 00:24:10,720 Lain 547 00:24:10,720 --> 00:24:11,500 Menyerah 548 00:24:11,500 --> 00:24:15,360 Dan ada beberapa karakteristik sekarang ini yang patut menunjukkan. 549 00:24:15,360 --> 00:24:18,370 Jadi satu, semua baris Aku sudah ditandai dengan warna kuning 550 00:24:18,370 --> 00:24:21,430 kita akan mulai menelepon pernyataan atau fungsi atau prosedur. 551 00:24:21,430 --> 00:24:24,160 Mereka hanya tindakan dilakukan ini, dan tidak ada 552 00:24:24,160 --> 00:24:26,400 semua yang banyak variabilitas untuk itu. 553 00:24:26,400 --> 00:24:30,850 >> Langkah berikutnya di sini meskipun, ini conditions-- jika, lain, lain jika, lain. 554 00:24:30,850 --> 00:24:34,020 Dan ini disebut kondisi, atau cabang, dan mereka poin keputusan. 555 00:24:34,020 --> 00:24:36,780 Dan mereka memungkinkan kita untuk melakukan sesuatu yang kondisional. 556 00:24:36,780 --> 00:24:39,650 >> Dan pada kenyataannya, mari kita cepat melihat mungkin face-- familiar 557 00:24:39,650 --> 00:24:43,380 kami akan memanggilnya Bill-- dan apa kondisi ini, 558 00:24:43,380 --> 00:24:45,670 bagaimana mungkin digunakan. 559 00:24:45,670 --> 00:24:48,230 >> BILL GATES: Orang-orang membuat keputusan setiap hari. 560 00:24:48,230 --> 00:24:51,800 Misalnya, sebelum Anda pergi ke luar Anda jenis memiliki pernyataan jika yang mengatakan, 561 00:24:51,800 --> 00:24:55,650 jika hujan, maka saya perlu untuk mendapatkan jaket. 562 00:24:55,650 --> 00:25:00,990 >> Dan komputer yang menakjubkan setelah Anda memutuskan orang-orang jenis laporan 563 00:25:00,990 --> 00:25:06,450 bahwa mereka dipercaya bisa mengeksekusi hal-hal dengan kecepatan luar biasa. 564 00:25:06,450 --> 00:25:12,470 Dan program komputer yang benar-benar adalah sedikit dari matematika dan beberapa 565 00:25:12,470 --> 00:25:16,890 jika pernyataan di mana keputusan akan dibuat. 566 00:25:16,890 --> 00:25:19,432 >> DAVID Malan: Jadi sekarang mari kita fokus pada lines-- yang berbeda 567 00:25:19,432 --> 00:25:21,140 yang saya sudah disorot warna kuning di sini. 568 00:25:21,140 --> 00:25:23,890 Dan ternyata ada yang berbeda cara mengekspresikan ide ini. 569 00:25:23,890 --> 00:25:28,550 Tapi secara intuitif apa yang kami baris 8 dan 11 bahwa saya telah disorot di sini memberitahu Anda 570 00:25:28,550 --> 00:25:29,100 melakukan? 571 00:25:29,100 --> 00:25:33,081 Ya, pergi ke baris 3, tapi apa perilaku yang benar-benar merangsang? 572 00:25:33,081 --> 00:25:35,580 Ini semacam lingkaran atau siklus, dan Anda dapat jenis melihatnya. 573 00:25:35,580 --> 00:25:36,079 Kanan? 574 00:25:36,079 --> 00:25:39,710 Jika pada baris 8, Anda kembali ke jalur 3, dan kemudian anda menekan garis 8 lagi, 575 00:25:39,710 --> 00:25:42,700 Anda mungkin kembali ke jalur 3, kembali ke jalur 3, kembali ke baris 3. 576 00:25:42,700 --> 00:25:44,530 Ada semacam ini siklus atau lingkaran. 577 00:25:44,530 --> 00:25:47,177 Dan memang, yang diinduksi dalam line 11 berpotensi juga. 578 00:25:47,177 --> 00:25:49,260 Dan ini adalah dasar pemrograman membangun juga. 579 00:25:49,260 --> 00:25:51,593 >> Anda mungkin tidak ingin hanya melakukan sesuatu dengan pernyataan 580 00:25:51,593 --> 00:25:54,280 atau melakukan sesuatu kondisional dengan kondisi atau cabang. 581 00:25:54,280 --> 00:25:56,644 Anda mungkin ingin melakukan sesuatu siklis dengan satu lingkaran. 582 00:25:56,644 --> 00:25:59,810 Dan kita akan memiliki orang lain dengan siapa Anda mungkin familiar-- kami akan memanggilnya 583 00:25:59,810 --> 00:26:02,996 Mark-- menjelaskan konsep ini di sini. 584 00:26:02,996 --> 00:26:04,870 Mark Zuckerberg: Satu hal yang komputer 585 00:26:04,870 --> 00:26:07,460 benar-benar baik di mengulang perintah. 586 00:26:07,460 --> 00:26:09,510 Sebagai seseorang, Anda akan mendapatkan benar-benar bosan jika Anda 587 00:26:09,510 --> 00:26:12,310 harus melakukan hal yang sama banyak kali berturut-turut, 588 00:26:12,310 --> 00:26:16,230 tetapi komputer dapat melakukan hal yang sama jutaan atau bahkan miliaran kali 589 00:26:16,230 --> 00:26:18,930 dan tidak bosan dan dapat untuk melakukan yang keluar benar-benar baik. 590 00:26:18,930 --> 00:26:21,240 >> Jadi misalnya, jika saya ingin berharap semua orang 591 00:26:21,240 --> 00:26:24,450 di Facebook selamat ulang tahun dengan mengirimkan email, 592 00:26:24,450 --> 00:26:27,037 mungkin membawa saya lebih dari abad untuk benar-benar menulis 593 00:26:27,037 --> 00:26:28,370 semua email-email kepada semua orang. 594 00:26:28,370 --> 00:26:33,500 Tapi hanya dengan beberapa baris kode, saya bisa memiliki sistem mengirim email ke semua orang 595 00:26:33,500 --> 00:26:35,460 di Facebook berharap mereka selamat ulang tahun. 596 00:26:35,460 --> 00:26:38,330 >> Jadi itulah yang loop dan mengapa mereka yang berharga dan sesuatu 597 00:26:38,330 --> 00:26:40,076 bahwa komputer dapat melakukannya dengan sangat baik. 598 00:26:40,076 --> 00:26:43,109 >> DAVID Malan: Banyak terima kasih kepada teman-teman kita di Code.org bagi mereka dua film. 599 00:26:43,109 --> 00:26:46,150 Dan minggu lalu, Anda mungkin memiliki terlihat bahwa Mark Zuckerberg dan Facebook 600 00:26:46,150 --> 00:26:47,940 diposting pengumuman ini, yaitu bahwa mereka hanya 601 00:26:47,940 --> 00:26:50,398 telah berlalu yang penting tonggak untuk pertama kalinya. 602 00:26:50,398 --> 00:26:54,320 1 miliar orang menggunakan Facebook dalam satu hari, khusus Senin lalu. 603 00:26:54,320 --> 00:26:58,650 Satu dari tujuh manusia di Bumi rupanya login ke Facebook. 604 00:26:58,650 --> 00:27:03,310 >> Nah, ini tampaknya kesempatan yang baik untuk melihat kembali di mana Facebook mulai, 605 00:27:03,310 --> 00:27:06,840 dan kami pergi melalui CS50 sendiri arsip karena ternyata pada tahun 2005, 606 00:27:06,840 --> 00:27:10,020 Mark memberi kuliah tamu di CS50. 607 00:27:10,020 --> 00:27:13,870 Anda akan melihat bahwa nilai-nilai produksi tidak cukup belakang yang sama maka 608 00:27:13,870 --> 00:27:16,110 dalam hal teknologi tersedia, dan Anda juga akan 609 00:27:16,110 --> 00:27:18,310 melihat bahwa kehadiran dari kuliah tamu ini 610 00:27:18,310 --> 00:27:22,470 tidak selalu kekesalan kepentingan dari badan mahasiswa, pendahulu Anda, 611 00:27:22,470 --> 00:27:24,910 sebanyak itu mungkin memiliki hanya beberapa tahun kemudian. 612 00:27:24,910 --> 00:27:27,902 >> Jadi mari kita lihat di Science Center C. 613 00:27:27,902 --> 00:27:29,389 614 00:27:29,389 --> 00:27:31,014 SPEAKER 2: Silakan bergabung dengan saya, dan menyambut. 615 00:27:31,014 --> 00:27:33,374 616 00:27:33,374 --> 00:27:36,577 [TEPUK TANGAN] 617 00:27:36,577 --> 00:27:37,410 Mark Zuckerberg: Yo. 618 00:27:37,410 --> 00:27:37,900 Baiklah. 619 00:27:37,900 --> 00:27:40,420 Keren ini adalah pertama kalinya aku pernah harus memegang salah satu dari hal-hal ini. 620 00:27:40,420 --> 00:27:42,336 Jadi aku hanya akan melampirkan itu benar-benar cepat. 621 00:27:42,336 --> 00:27:54,354 622 00:27:54,354 --> 00:27:54,854 Baiklah. 623 00:27:54,854 --> 00:27:57,314 Dapatkah Anda mendengarnya? 624 00:27:57,314 --> 00:27:58,298 Apakah ini baik? 625 00:27:58,298 --> 00:28:00,684 Apakah ini diperkuat sama sekali? 626 00:28:00,684 --> 00:28:01,184 Baiklah. 627 00:28:01,184 --> 00:28:02,040 Manis. 628 00:28:02,040 --> 00:28:06,860 Jadi, ini adalah seperti salah satu yang pertama kali Aku pernah ke kuliah di Harvard, 629 00:28:06,860 --> 00:28:08,660 tapi-- 630 00:28:08,660 --> 00:28:12,510 >> DAVID Malan: Jadi akhirnya Science Pusat melakukan zoom in pada video, 631 00:28:12,510 --> 00:28:15,110 tetapi tidak sebelum menangkap ini kutipan mana Markus berbicara, 632 00:28:15,110 --> 00:28:18,230 yang ia membahas nya teman sekamar, Dustin, yang 633 00:28:18,230 --> 00:28:20,885 ingin mengulurkan tangan dengan ini situs yang disebut Facebook.com 634 00:28:20,885 --> 00:28:24,540 dan menyadari bahwa Mark adalah untuk menyebutkan untuk pemrograman languages-- 635 00:28:24,540 --> 00:28:27,290 satu yang disebut Perl, satu disebut PHP-- saat ia membahas 636 00:28:27,290 --> 00:28:28,840 asal-usul kontribusi Dustin. 637 00:28:28,840 --> 00:28:31,499 638 00:28:31,499 --> 00:28:33,290 Mark Zuckerberg: Saya mulai menjalankan situs 639 00:28:33,290 --> 00:28:37,770 dan diluncurkan di Harvard pada bulan Februari 2004. 640 00:28:37,770 --> 00:28:39,540 Jadi saya kira hampir dua tahun yang lalu. 641 00:28:39,540 --> 00:28:42,322 Dan dalam beberapa minggu, Beberapa ribu orang telah mendaftar, 642 00:28:42,322 --> 00:28:45,280 dan kami mulai mendapatkan beberapa email dari orang-orang di perguruan tinggi lain meminta 643 00:28:45,280 --> 00:28:47,520 bagi kita untuk memulai itu di sekolah mereka. 644 00:28:47,520 --> 00:28:49,455 >> Dan aku mengambil 161 pada saat itu. 645 00:28:49,455 --> 00:28:52,080 Jadi saya tidak tahu apakah kalian tahu reputasi tentu saja, 646 00:28:52,080 --> 00:28:54,402 tapi itu agak berat. 647 00:28:54,402 --> 00:28:57,110 Itu benar-benar menyenangkan saja, tapi itu tidak meninggalkan saya dengan banyak waktu 648 00:28:57,110 --> 00:28:59,260 untuk melakukan hal lain dengan Facebook. 649 00:28:59,260 --> 00:29:04,309 Jadi teman sekamar saya Dustin, yang saya kira baru saja selesai CS50, seperti, hey. 650 00:29:04,309 --> 00:29:05,100 Saya ingin membantu. 651 00:29:05,100 --> 00:29:08,760 Saya ingin melakukan ekspansi dan membantu Anda mencari cara untuk melakukan hal-hal tersebut. 652 00:29:08,760 --> 00:29:10,780 >> Jadi aku seperti, itu cukup keren, dude. 653 00:29:10,780 --> 00:29:13,130 Tapi Anda tidak benar-benar tahu apa PHP atau sesuatu seperti itu. 654 00:29:13,130 --> 00:29:16,444 Jadi akhir pekan itu ia pulang ke rumah, membeli buku Perl for Dummies, 655 00:29:16,444 --> 00:29:17,860 kembali dan seperti, baiklah. 656 00:29:17,860 --> 00:29:18,940 Aku siap untuk pergi. 657 00:29:18,940 --> 00:29:23,010 >> Aku seperti, dude, situs ditulis PHP tidak Perl, tapi itu keren. 658 00:29:23,010 --> 00:29:28,530 >> Jadi ia mengambil PHP lebih seperti beberapa hari karena saya 659 00:29:28,530 --> 00:29:30,790 berjanji bahwa jika Anda memiliki latar belakang yang baik di C, 660 00:29:30,790 --> 00:29:32,970 PHP adalah hal yang sangat sederhana untuk mengambil. 661 00:29:32,970 --> 00:29:37,480 Dan dia hanya semacam pergi bekerja. 662 00:29:37,480 --> 00:29:40,500 >> Sebelum kita lihat sekarang di mana saja yang terjadi, 663 00:29:40,500 --> 00:29:43,047 memungkinkan saya untuk mengundang hanya beberapa staf SC50 yang naik ke panggung. 664 00:29:43,047 --> 00:29:44,880 Beberapa dari mereka sedang berbelanja program mereka sendiri. 665 00:29:44,880 --> 00:29:48,390 Tetapi jika mereka TF dan CA dan tentu saja kepala yang ada di sini bisa datang ke atas 666 00:29:48,390 --> 00:29:50,230 dan bergabung dengan saya untuk hello cepat. 667 00:29:50,230 --> 00:29:54,670 >> Izinkan saya untuk memperkenalkan khususnya, Hanna, Maria, Daven, dan Rob, 668 00:29:54,670 --> 00:29:59,666 Tentu saja CS50 ini mengepalai sini di Cambridge. 669 00:29:59,666 --> 00:30:02,106 >> [TEPUK TANGAN] 670 00:30:02,106 --> 00:30:07,490 671 00:30:07,490 --> 00:30:11,060 >> DAVID Malan: Memang, bukti dukungan struktur yang tentu saja memiliki 672 00:30:11,060 --> 00:30:15,660 dibangun selama bertahun-tahun terakhir, Staf CS50 nomor tahun ini hampir 100, 673 00:30:15,660 --> 00:30:17,170 dan itu di sini, di Cambridge saja. 674 00:30:17,170 --> 00:30:21,240 Sementara itu, di New Haven, ada beberapa 40 TF dan CA dan anggota staf di sana 675 00:30:21,240 --> 00:30:22,800 untuk menjalankan kursus juga. 676 00:30:22,800 --> 00:30:26,125 >> Izinkan kami untuk memperkenalkan pertama, Rob Bowden. 677 00:30:26,125 --> 00:30:26,750 ROB Bowden: Hi. 678 00:30:26,750 --> 00:30:27,620 Aku Rob. 679 00:30:27,620 --> 00:30:32,750 Ini adalah tahun keenam saya TFing dalam kursus. 680 00:30:32,750 --> 00:30:37,970 Jadi, semua jalan kembali saya tahun pertama, saya tidak mengambil CS50. 681 00:30:37,970 --> 00:30:40,270 mahasiswa Anda fall-- Anda mungkin akrab 682 00:30:40,270 --> 00:30:43,270 bahwa Anda hanya dapat mengambil empat program dan ada begitu banyak program hari ini. 683 00:30:43,270 --> 00:30:44,450 Jadi aku seperti, eh. 684 00:30:44,450 --> 00:30:48,050 Aku mengambil AP CS tahun senior saya SMA itu mengerikan. 685 00:30:48,050 --> 00:30:48,900 Jadi, aku seperti, eh. 686 00:30:48,900 --> 00:30:50,380 ilmu komputer bukan untuk saya. 687 00:30:50,380 --> 00:30:53,000 >> Jadi itu atas Tentu saja dari mahasiswa saya 688 00:30:53,000 --> 00:30:58,960 jatuh, bahwa saya punya teman di CS50, dan Saya pikir saya menghadiri satu kuliah dengan dia. 689 00:30:58,960 --> 00:31:03,760 Ini seperti, oh, ini adalah jenis yang lebih baik dari apa yang saya punya di sekolah tinggi. 690 00:31:03,760 --> 00:31:06,990 >> Dan selama itu tahun, saya punya masalah set saya sendiri 691 00:31:06,990 --> 00:31:08,750 di program aku benar-benar mengambil. 692 00:31:08,750 --> 00:31:11,870 Tapi saya menemukan bahwa setiap kali saya ingin menunda-nunda pada mereka, 693 00:31:11,870 --> 00:31:15,111 Aku akan kembali ke CS50 dan melihat beberapa hal yang. 694 00:31:15,111 --> 00:31:15,610 Jadi, ya. 695 00:31:15,610 --> 00:31:16,140 Aku keren. 696 00:31:16,140 --> 00:31:19,350 Saya penundaan dengan coding. 697 00:31:19,350 --> 00:31:22,910 Jadi itu pada akhir kejatuhan bahwa saya menyadari, hey, 698 00:31:22,910 --> 00:31:24,410 ilmu komputer cukup keren. 699 00:31:24,410 --> 00:31:27,730 Saya akhirnya mengambil CS51. 700 00:31:27,730 --> 00:31:30,430 Pada semester berikutnya, Saya akhirnya mengambil CS61. 701 00:31:30,430 --> 00:31:32,727 Dan itu semua dari sana, maka saya berakhir menyatakan 702 00:31:32,727 --> 00:31:35,310 ilmu komputer, yang saya punya sekali tidak berniat melakukan 703 00:31:35,310 --> 00:31:36,740 ketika saya datang ke perguruan tinggi. 704 00:31:36,740 --> 00:31:39,330 Dan sekarang aku di sini. 705 00:31:39,330 --> 00:31:42,230 Jadi tentu saja adalah apa yang Anda dapatkan dari itu. 706 00:31:42,230 --> 00:31:43,463 Kuharap kamu menikmatinya. 707 00:31:43,463 --> 00:31:44,066 >> [TEPUK TANGAN] 708 00:31:44,066 --> 00:31:45,315 DAVID Malan: Terima kasih kepada Rob. 709 00:31:45,315 --> 00:31:49,020 710 00:31:49,020 --> 00:31:52,180 >> Dan sekarang Maria, kami kepala saja asisten. 711 00:31:52,180 --> 00:31:53,140 >> MARIA: Hey guys. 712 00:31:53,140 --> 00:31:53,880 Nama saya Maria. 713 00:31:53,880 --> 00:31:56,930 Saya seorang mahasiswa di Cabot Rumah, berasal dari Bulgaria, 714 00:31:56,930 --> 00:31:59,880 dan aku super bersemangat untuk menjadi bagian dari staf tahun ini. 715 00:31:59,880 --> 00:32:03,380 Aku mengambil CS50 sebagai mahasiswa baru tahun lalu, dan saya bahkan tidak pernah 716 00:32:03,380 --> 00:32:04,750 berpikir tentang CS sebelumnya. 717 00:32:04,750 --> 00:32:08,380 Jadi saya benar-benar mencintai kursus, dan saya harap Anda semua menyukainya sebanyak seperti yang saya lakukan. 718 00:32:08,380 --> 00:32:09,250 Dan, yeah. 719 00:32:09,250 --> 00:32:10,868 Selamat Datang di CS50. 720 00:32:10,868 --> 00:32:12,201 DAVID Malan: Terima kasih kepada Maria. 721 00:32:12,201 --> 00:32:13,674 [TEPUK TANGAN] 722 00:32:13,674 --> 00:32:16,129 723 00:32:16,129 --> 00:32:19,580 Sekarang Hanna, rekan mengajar kepala kita. 724 00:32:19,580 --> 00:32:20,480 HANNA: Hi, aku Hanna. 725 00:32:20,480 --> 00:32:22,990 Saya seorang senior di Cabot belajar ilmu komputer. 726 00:32:22,990 --> 00:32:28,120 Aku mengambil CS50 sebagai mahasiswa baru dan memiliki pernah TFing-- ini akan menjadi tahun ketiga saya. 727 00:32:28,120 --> 00:32:31,000 Jadi saya akan dengan senang hati terlibat di CS50 untuk semua empat tahun, 728 00:32:31,000 --> 00:32:33,569 dan saya melihat ke depan untuk bekerja dengan Anda semua. 729 00:32:33,569 --> 00:32:34,902 DAVID Malan: Terima kasih untuk Hanna. 730 00:32:34,902 --> 00:32:36,870 [TEPUK TANGAN] 731 00:32:36,870 --> 00:32:37,854 732 00:32:37,854 --> 00:32:40,274 Dan terakhir, Daven, precepter kami. 733 00:32:40,274 --> 00:32:40,940 Daven: Hey guys. 734 00:32:40,940 --> 00:32:42,390 Aku ajaran di atas di ilmu komputer di sini. 735 00:32:42,390 --> 00:32:44,010 Ini akan mengajar tahun keempat saya. 736 00:32:44,010 --> 00:32:45,261 Saya juga membantu mengelola kursus. 737 00:32:45,261 --> 00:32:47,801 Jadi saya yakin Anda akan melihat saya sekitar, terutama pada jam kantor. 738 00:32:47,801 --> 00:32:48,970 Aku selalu di jam kantor. 739 00:32:48,970 --> 00:32:51,640 Jadi jika Anda melihat saya berjalan sekitar, pasti datang menyapa. 740 00:32:51,640 --> 00:32:52,681 Saya suka bertemu orang. 741 00:32:52,681 --> 00:32:55,830 Jika tidak, bersenang-senang, dan saya akan melihat Anda di sekitar. 742 00:32:55,830 --> 00:32:58,210 >> DAVID Malan: Terima kasih untuk Daven juga. 743 00:32:58,210 --> 00:33:01,290 Jadi, Anda akan memenuhi semua orang-orang ini tak lama. 744 00:33:01,290 --> 00:33:03,040 Tapi tanpa lanjut ado, jika kalian akan 745 00:33:03,040 --> 00:33:05,840 ingin melanjutkan kursi Anda dari sebelumnya. 746 00:33:05,840 --> 00:33:10,940 Izinkan saya untuk memperkenalkan dari jauh sekarang beberapa teman-teman kita dari New Haven, 747 00:33:10,940 --> 00:33:14,690 di kepala kursus ini khususnya yang akan akan mengawasi CS50 there-- Profesor 748 00:33:14,690 --> 00:33:19,550 Brian Scassellati, Jason, dan Andi, yang hanya-- sehingga kita tidak menggoda nasib 749 00:33:19,550 --> 00:33:22,610 dengan FaceTime atau like-- yang baru saja mengirimkan menit 750 00:33:22,610 --> 00:33:27,380 lalu video berikut di mana mereka menyapa dari ruang kuliah 751 00:33:27,380 --> 00:33:31,480 di Yale, di mana kuliah sedang streaming sekarang. 752 00:33:31,480 --> 00:33:34,052 >> Jadi teman-teman kita dari Yale. 753 00:33:34,052 --> 00:33:35,260 BRIAN SCASSELLATI: Hi, David. 754 00:33:35,260 --> 00:33:36,480 Hi, semua orang di Harvard. 755 00:33:36,480 --> 00:33:41,400 Kami sangat bersemangat untuk menjadi membawa CS50 ke Yale semester ini. 756 00:33:41,400 --> 00:33:45,250 Nama saya Brian Scassellati, tapi semua orang hanya memanggil saya SCAS. 757 00:33:45,250 --> 00:33:50,402 Dan aku di sini hari ini untuk memperkenalkan Anda staf CS50. 758 00:33:50,402 --> 00:33:52,346 >> [Bersorak] 759 00:33:52,346 --> 00:33:55,760 760 00:33:55,760 --> 00:33:59,780 >> Dan yang lebih penting, aku di sini untuk memperkenalkan serta 761 00:33:59,780 --> 00:34:03,690 semua siswa di Yale yang pada pagi ini 762 00:34:03,690 --> 00:34:09,289 telah membuat ini paling populer Tentu saja di Yale siswa CS50. 763 00:34:09,289 --> 00:34:12,090 >> [Bersorak] 764 00:34:12,090 --> 00:34:25,850 765 00:34:25,850 --> 00:34:28,310 >> Jadi kami sangat gembira akan melihat Anda di sini 766 00:34:28,310 --> 00:34:34,239 pada hari Jumat dan Sabtu untuk Teka-teki Day dan memiliki kuliah besar. 767 00:34:34,239 --> 00:34:35,440 Bye. 768 00:34:35,440 --> 00:34:37,360 >> [TEPUK TANGAN] 769 00:34:37,360 --> 00:34:42,170 770 00:34:42,170 --> 00:34:45,497 >> DAVID Malan: Pada layar di sini adalah nama-nama beberapa dari 140 staf 771 00:34:45,497 --> 00:34:48,330 anggota yang menanti Anda di atas Tentu saja dari semester-- beberapa dari mereka 772 00:34:48,330 --> 00:34:50,540 di sini di Cambridge, beberapa dari mereka di sini di New Haven. 773 00:34:50,540 --> 00:34:52,706 Dan memang Anda akan memiliki kesempatan Sabtu ini, 774 00:34:52,706 --> 00:34:54,530 sebagai catatan SCAS, untuk menghadiri CS50 Puzzle Day. 775 00:34:54,530 --> 00:34:57,780 Anda mungkin telah melihat potongan-potongan puzzle kecil menyelinap di bawah pintu Anda baru-baru ini. 776 00:34:57,780 --> 00:35:00,420 Kami memiliki beberapa tambahan di sini nanti pada saat Anda ada. 777 00:35:00,420 --> 00:35:04,030 Jika Anda merakit semua empat puzzle potongan dan menggabungkan kekuatan dengan kamar 778 00:35:04,030 --> 00:35:06,450 Anda terdekat di Anda rumah atau asrama, mereka akan 779 00:35:06,450 --> 00:35:09,690 merakit menjadi code-- QR atau dua dimensi bar code, yang 780 00:35:09,690 --> 00:35:12,970 sekali berkumpul dan dipindai dengan telepon Anda akan membawa Anda 781 00:35:12,970 --> 00:35:17,060 beberapa hadiah yang luar biasa or-- saya kira Anda hanya bisa memotret ini sekarang 782 00:35:17,060 --> 00:35:17,560 demikian juga. 783 00:35:17,560 --> 00:35:22,560 >> Tapi menemukan potongan-potongan puzzle tetap untuk memenangkan hadiah itu luar biasa. 784 00:35:22,560 --> 00:35:25,900 Dan memang salah satu tradisi di SC50-- ah, terlalu lambat. 785 00:35:25,900 --> 00:35:29,790 Salah satu tradisi di CS50 adalah untuk melayani kue setelah kuliah pertama. 786 00:35:29,790 --> 00:35:31,620 >> Dan memang, dalam beberapa menit dari sekarang, 787 00:35:31,620 --> 00:35:36,040 akan ada kue yang disajikan di luar baik di sini dan New Haven juga. 788 00:35:36,040 --> 00:35:39,530 >> Tapi first-- kita dihiasi mereka sendiri. 789 00:35:39,530 --> 00:35:43,360 Tapi first-- dan mudah-mudahan ada akan cukup. 790 00:35:43,360 --> 00:35:44,830 >> Tapi pertama-tama, sekilas. 791 00:35:44,830 --> 00:35:47,880 Jadi kuliah memang akan diproduksi sebagian besar di sini di Cambridge. 792 00:35:47,880 --> 00:35:51,580 Tapi setiap bulan, kami akan hop ke Yale dengan tim produksi CS50 dan aliran 793 00:35:51,580 --> 00:35:53,730 kursus di sebaliknya arah juga jadi 794 00:35:53,730 --> 00:35:56,840 untuk membawa dua kampus tersebut benar-benar untuk pertama kalinya dalam sejarah 795 00:35:56,840 --> 00:36:00,450 sedekat bersama-sama mungkin sebagai salah satu di kursus yang sama. 796 00:36:00,450 --> 00:36:04,050 >> Dalam hal struktur dukungan yang telah berdiri di sini di Cambridge juga 797 00:36:04,050 --> 00:36:05,646 seperti di New Haven, yang bagian. 798 00:36:05,646 --> 00:36:08,020 Memang, karena beberapa dari Anda mungkin tahu, kami memiliki trek yang berbeda 799 00:36:08,020 --> 00:36:10,850 dalam kursus untuk mereka yang kurang nyaman, lebih nyaman, 800 00:36:10,850 --> 00:36:14,610 dan suatu tempat di antara sehingga terlepas dari latar belakang sebelum Anda, 801 00:36:14,610 --> 00:36:17,670 dapat Anda akhirnya berhasil dalam kelas. 802 00:36:17,670 --> 00:36:21,320 >> jam kantor sementara itu, adalah kesempatan pada hari Senin dan Selasa 803 00:36:21,320 --> 00:36:26,570 dan Kamis malam untuk bekerja baik di sini dan di New Haven pada kursus kami 804 00:36:26,570 --> 00:36:30,370 Masalah set dengan puluhan Staf kursus di dekat Anda. 805 00:36:30,370 --> 00:36:35,380 >> Soal set sementara itu, didukung oleh hal-hal yang kita sebut 806 00:36:35,380 --> 00:36:39,140 walkthrough, yang berbasis video tutorial yang benar-benar menjawab FAQ 807 00:36:39,140 --> 00:36:41,670 dari mana untuk memulai tantangan minggu. 808 00:36:41,670 --> 00:36:44,290 Dan postmortem memandu Anda melalui solusi yang mungkin 809 00:36:44,290 --> 00:36:46,490 sehingga akhir masalah set juga, Anda 810 00:36:46,490 --> 00:36:50,820 tahu persis apa yang Anda bisa lakukan berbeda atau sama sekali sebaliknya. 811 00:36:50,820 --> 00:36:53,895 >> Masalahnya menetapkan sendiri datang dalam dua edisi, edisi standar 812 00:36:53,895 --> 00:36:57,510 yang kita harapkan dan mengundang sebagian besar yang class-- sekitar 90% plus untuk do-- 813 00:36:57,510 --> 00:37:00,520 dan yang disebut edisi hacker yang setiap halaman terpampang 814 00:37:00,520 --> 00:37:02,790 Edisi hacker, hacker Edisi, edisi hacker, 815 00:37:02,790 --> 00:37:07,550 sehingga Anda memiliki karma yang jika Anda mau, untuk menyelam 816 00:37:07,550 --> 00:37:10,230 ke versi yang lebih canggih masalah set kursus ini 817 00:37:10,230 --> 00:37:14,970 bahwa penutup seolah-olah bahan yang sama tetapi dengan pendekatan yang lebih canggih 818 00:37:14,970 --> 00:37:19,020 dan dengan latar belakang tambahan kadang-kadang diperkenalkan. 819 00:37:19,020 --> 00:37:22,350 >> Sementara itu, ada sembilan hari akhir yang Anda dapat mengajukan permohonan untuk masalah kursus ini 820 00:37:22,350 --> 00:37:26,160 set serta skor terendah, yang kita drop pada akhir istilah. 821 00:37:26,160 --> 00:37:26,900 >> Tapi apa yang menanti? 822 00:37:26,900 --> 00:37:29,300 Nah, rasa masalah set di tangan Jumat 823 00:37:29,300 --> 00:37:31,959 dan minggu depan di mana kami mencoba-coba hanya beberapa hari dalam sesuatu 824 00:37:31,959 --> 00:37:35,000 disebut Scratch, pemrograman grafis bahasa yang dikembangkan oleh teman-teman kita 825 00:37:35,000 --> 00:37:39,290 di MIT Media Lab yang memungkinkan Anda program baik untuk pertama kalinya 826 00:37:39,290 --> 00:37:43,510 atau di lingkungan yang baru sama sekali menggunakan jenis lingkungan drag dan drop. 827 00:37:43,510 --> 00:37:45,595 Dimana potongan puzzle hanya berpaut bersama-sama 828 00:37:45,595 --> 00:37:48,080 apakah masuk akal logis untuk melakukannya. 829 00:37:48,080 --> 00:37:50,440 >> Sementara itu di masalah set dua tahun lalu misalnya, 830 00:37:50,440 --> 00:37:53,010 Apakah kita memperkenalkan kelas ke dunia kriptografi, 831 00:37:53,010 --> 00:37:55,370 seni enkripsi atau berebut informasi. 832 00:37:55,370 --> 00:37:58,940 Memang, teks ini di sini jika didekripsi, akan benar-benar 833 00:37:58,940 --> 00:38:01,277 membawa Anda ke beberapa menyenangkan tujuan. 834 00:38:01,277 --> 00:38:03,110 Dan dalam masalah set, apa yang kita miliki siswa 835 00:38:03,110 --> 00:38:06,280 lakukan adalah menerapkan persis mereka jenis things-- algoritma yang, 836 00:38:06,280 --> 00:38:09,530 atau set instruksi untuk berebut dan berebut informasi. 837 00:38:09,530 --> 00:38:11,850 >> Dan dalam edisi hacker itu set masalah yang sama, 838 00:38:11,850 --> 00:38:15,800 Apakah kita menantang siswa untuk mengambil dienkripsi file dari komputer biasa 839 00:38:15,800 --> 00:38:18,840 Sistem dengan banyak nama pengguna dan password terenkripsi 840 00:38:18,840 --> 00:38:21,400 dan untuk memecahkan mereka passwords-- sebenarnya mencari tahu 841 00:38:21,400 --> 00:38:25,870 apa yang mereka tanpa mengetahui apa-apa apriori tentang orang-password yang sebenarnya. 842 00:38:25,870 --> 00:38:27,620 Sementara itu, kita transisi dalam masalah 843 00:38:27,620 --> 00:38:29,536 set untuk kemudian melihat dunia grafis. 844 00:38:29,536 --> 00:38:32,240 Dan pada kenyataannya, Anda mungkin membayangkan sekarang ini bisa mungkin 845 00:38:32,240 --> 00:38:35,200 menjadi cara paling sederhana untuk mewakili gambar hitam dan putih. 846 00:38:35,200 --> 00:38:39,570 >> Sebuah piksel putih, atau persegi, sebagai di atas sana, 847 00:38:39,570 --> 00:38:41,620 mungkin diwakili dengan 1 dan kotak hitam 848 00:38:41,620 --> 00:38:43,490 mungkin diwakili dengan 0. 849 00:38:43,490 --> 00:38:47,670 Dan hanya dengan menggunakan lebih banyak bit seperti kita diusulkan sebelumnya dengan 72 dan 73 dan 33, 850 00:38:47,670 --> 00:38:49,882 bisa kami mewakili piksel warna juga. 851 00:38:49,882 --> 00:38:51,590 Dan apa yang kita lakukan selama masalah set ini 852 00:38:51,590 --> 00:38:54,660 umumnya berjalan-jalan di sekitar kampus dengan kamera digital, 853 00:38:54,660 --> 00:38:56,730 mengambil foto orang, tempat, dan hal-hal. 854 00:38:56,730 --> 00:38:59,270 Kemudian entah bagaimana setiap semester, kita tampaknya sengaja 855 00:38:59,270 --> 00:39:02,600 dihapus atau merusak kartu memori di mana semua foto-foto yang, 856 00:39:02,600 --> 00:39:04,610 dan sehingga Anda ditantang untuk kemudian menulis perangkat lunak 857 00:39:04,610 --> 00:39:09,650 yang dapat digunakan untuk memulihkan mereka JPEG dari salinan kartu kamera kami. 858 00:39:09,650 --> 00:39:13,550 >> Sementara itu, kita menyerahkan nanti di istilah kamus kata-kata bahasa Inggris 859 00:39:13,550 --> 00:39:16,680 yang memiliki 143.000 kata, dan Anda perlu datang 860 00:39:16,680 --> 00:39:19,240 dengan cara cerdas memasukkannya ke dalam memori, 861 00:39:19,240 --> 00:39:22,850 atau RAM sehingga untuk berbicara, untuk menjawab query dalam bentuk: apakah ini sebuah kata, 862 00:39:22,850 --> 00:39:25,910 adalah ini sebuah kata, menerapkan tercepat spell checker yang Anda bisa, 863 00:39:25,910 --> 00:39:28,180 bahkan menyematkan diri berpotensi terhadap teman sekelas 864 00:39:28,180 --> 00:39:30,460 untuk melihat mana Anda menggunakan sedikitnya jumlah waktu 865 00:39:30,460 --> 00:39:33,440 ketika menjalankan kode Anda dan bahkan paling sedikit memori. 866 00:39:33,440 --> 00:39:36,060 >> Kemudian dalam jangka waktu yang Anda benar-benar mengimplementasikan web server Anda sendiri. 867 00:39:36,060 --> 00:39:39,470 Jadi bukan hanya sebuah situs web di bahasa yang disebut HTML dan banyak lagi, 868 00:39:39,470 --> 00:39:43,300 tapi web server yang benar-benar mendengarkan permintaan di internet 869 00:39:43,300 --> 00:39:44,460 dan menanggapi mereka. 870 00:39:44,460 --> 00:39:47,210 Dan memang, ini adalah bagaimana kita menjembatani dunia kita C dengan yang Anda akan 871 00:39:47,210 --> 00:39:50,550 menjadi akrab minggu depan dan PHP dan HTML dan JavaScript 872 00:39:50,550 --> 00:39:51,820 dan CSS dan sejenisnya. 873 00:39:51,820 --> 00:39:54,820 >> Karena salah satu web pertama berdasarkan Proyek kami lakukan nanti di istilah 874 00:39:54,820 --> 00:39:57,516 secara historis CS50 Keuangan. 875 00:39:57,516 --> 00:40:02,580 Etrade.com gaya sebuah website yang memungkinkan Anda untuk membeli dan menjual saham hampir 876 00:40:02,580 --> 00:40:08,240 sementara juga menulis kode untuk berbicara dengan Yahoo Keuangan mendapatkan setengah saham real time 877 00:40:08,240 --> 00:40:11,490 mengutip dalam rangka untuk memperbarui portofolio Anda sendiri. 878 00:40:11,490 --> 00:40:13,370 >> Tapi terakhir tentu saja, adalah project-- akhir 879 00:40:13,370 --> 00:40:16,960 kesempatan untuk melakukan apa yang paling dari menarik bagi Anda untuk memecahkan masalah di sini 880 00:40:16,960 --> 00:40:20,970 atau di luar kepentingan untuk Anda yang entah bagaimana terinspirasi 881 00:40:20,970 --> 00:40:22,670 dengan pelajaran di kelas. 882 00:40:22,670 --> 00:40:26,140 >> Dan kelas, seperti yang Anda ketahui, memuncak dalam apa yang disebut CS50 Hackathon 883 00:40:26,140 --> 00:40:29,330 dan CS50 Adil dan sejumlah acara budaya lainnya 884 00:40:29,330 --> 00:40:31,770 sepanjang semester yang memungkinkan Anda untuk terlibat 885 00:40:31,770 --> 00:40:33,460 dengan satu sama lain dan staf saja ini. 886 00:40:33,460 --> 00:40:37,170 >> Misalnya, di Fire and Ice di Sitar tahun ini, juga, pada Jumat sore, 887 00:40:37,170 --> 00:40:39,220 kami mengundang beberapa 50 siswa untuk makan siang, siapa pun 888 00:40:39,220 --> 00:40:41,190 ingin bergabung dengan kami, diriku sendiri, dan staf, 889 00:40:41,190 --> 00:40:44,840 dan teman-teman kita dari industri dan alum untuk chatting tentang kehidupan di dunia nyata 890 00:40:44,840 --> 00:40:46,670 dan di luar sambil menikmati makan siang yang baik. 891 00:40:46,670 --> 00:40:49,050 Pada Hackathon akan Anda melihat gambar tersebut 892 00:40:49,050 --> 00:40:53,740 karena ini, termasuk banyak candy-- dan pada 2014 untuk time-- pertama 893 00:40:53,740 --> 00:40:55,096 sayuran. 894 00:40:55,096 --> 00:40:56,960 >> [TEPUK TANGAN] 895 00:40:56,960 --> 00:40:58,358 896 00:40:58,358 --> 00:41:02,710 >> Tapi dengan 05:00, apakah adegan biasanya terlihat sedikit sesuatu seperti ini. 897 00:41:02,710 --> 00:41:05,330 Dan kemudian hanya seminggu atau kemudian, adalah CS50 Adil 898 00:41:05,330 --> 00:41:08,270 yang beberapa 2000 plus siswa dan staf dan fakultas 899 00:41:08,270 --> 00:41:11,910 anggota dari seluruh kampus dan di kampus tahun ini 900 00:41:11,910 --> 00:41:15,620 datang untuk melihat dan menyenangkan di prestasi siswa CS50, yang 901 00:41:15,620 --> 00:41:16,140 sekarang Anda. 902 00:41:16,140 --> 00:41:19,000 >> Dan memang, sementara tahun ini kita akan mengundang dan busing siapa pun 903 00:41:19,000 --> 00:41:22,460 di di Yale yang ingin datang ke Cambridge Sabtu ini untuk CS50 Puzzle 904 00:41:22,460 --> 00:41:26,410 Hari, dan kami akan melakukan hal yang sama persis pada bulan Desember untuk CS50 Hackathon 905 00:41:26,410 --> 00:41:30,080 sehingga siswa Harvard dan Yale turut sama dalam kedua peristiwa ini. 906 00:41:30,080 --> 00:41:33,630 >> Kami juga akan mengadakan CS50 pameran di Cambridge dan di New Haven tahun ini 907 00:41:33,630 --> 00:41:36,480 sehingga siswa di kedua kampus dan staf dan fakultas 908 00:41:36,480 --> 00:41:39,260 dapat melihat setiap masing prestasi kampus ini. 909 00:41:39,260 --> 00:41:41,540 Dan orang-orang prestasi akan menginduksi memori seperti 910 00:41:41,540 --> 00:41:45,440 karena hal ini dan ini dan akhirnya ini, di mana kalian semua 911 00:41:45,440 --> 00:41:48,460 keluar kelas mengenakan sedikit sesuatu yang Anda mudah-mudahan 912 00:41:48,460 --> 00:41:52,680 senang atau bangga mengatakan bahwa saya mengambil CS50. 913 00:41:52,680 --> 00:41:55,220 >> Tapi sebelum itu dan sebelum kami melayani kue, 914 00:41:55,220 --> 00:41:58,980 kami telah membuat together-- berkat CS50 ini tim produksi dan diri tertentu 915 00:41:58,980 --> 00:42:03,120 tongkat, satu kesempatan yang kita gunakan hal-hal seperti for-- ketika kita mengirimkannya 916 00:42:03,120 --> 00:42:05,380 tidak hanya di sini untuk Cambridge tetapi juga untuk New Haven 917 00:42:05,380 --> 00:42:08,760 untuk mengumpulkan beberapa hellos dari Staf saja dan semua orang-orang 918 00:42:08,760 --> 00:42:12,640 Anda akan bertemu baik di sini dan di New Haven selama bulan-bulan berikutnya. 919 00:42:12,640 --> 00:42:15,449 >> Izinkan saya untuk memperkenalkan beberapa staf CS50 ini. 920 00:42:15,449 --> 00:42:16,990 Mark Zuckerberg: Apakah yang membuatnya pergi? 921 00:42:16,990 --> 00:42:18,266 Oh, itu akan. 922 00:42:18,266 --> 00:42:20,910 Ini akan. 923 00:42:20,910 --> 00:42:21,570 Ooh. 924 00:42:21,570 --> 00:42:23,170 Yarr! 925 00:42:23,170 --> 00:42:25,350 >> [MUSIC BERMAIN ANDY GRAMATIKA, "MADU, I'M  BAIK"] 926 00:42:25,350 --> 00:42:29,672 927 00:42:29,672 --> 00:42:32,152 >> MARY: ini adalah Caitlin. 928 00:42:32,152 --> 00:42:34,515 Itu Jay, dan aku Mary. 929 00:42:34,515 --> 00:42:35,140 SATO: Hi, guys. 930 00:42:35,140 --> 00:42:35,640 Aku Sato. 931 00:42:35,640 --> 00:42:36,264 MICHAEL G .: Hi. 932 00:42:36,264 --> 00:42:37,181 Nama saya Michael, G. 933 00:42:37,181 --> 00:42:38,014 DOUG LLOYD: Saya tidak. 934 00:42:38,014 --> 00:42:38,540 Tidak. 935 00:42:38,540 --> 00:42:39,310 Aku Doug Lloyd. 936 00:42:39,310 --> 00:42:41,757 Aku tidak percaya bahwa aku memegang selfie sebuah tongkat sekarang. 937 00:42:41,757 --> 00:42:42,340 SPEAKER 4: Hi. 938 00:42:42,340 --> 00:42:42,560 SPEAKER 5: Hi. 939 00:42:42,560 --> 00:42:43,307 SPEAKER 6: Hello. 940 00:42:43,307 --> 00:42:44,023 SPEAKER 7: Hi. 941 00:42:44,023 --> 00:42:44,648 SPEAKER 8: Hey. 942 00:42:44,648 --> 00:42:46,436 Kami nongkrong di Yale. 943 00:42:46,436 --> 00:42:48,910 Kami sangat bersemangat untuk semester ini karena itu 944 00:42:48,910 --> 00:42:50,840 pertama kali datang ke Yale. 945 00:42:50,840 --> 00:42:53,012 Ini akan menjadi luar biasa! 946 00:42:53,012 --> 00:42:55,928 >> [MUSIC PLAYING] 947 00:42:55,928 --> 00:43:02,190 948 00:43:02,190 --> 00:43:04,664 >> JACOB SCHERBA: Nama saya Jacob Scherba. 949 00:43:04,664 --> 00:43:08,310 Saya senang mengajar CS50 karena saya pikir 950 00:43:08,310 --> 00:43:11,429 itu membawa ilmu komputer untuk orang dan cara didekati. 951 00:43:11,429 --> 00:43:13,220 SPEAKER 9: Aku benar-benar bersemangat untuk mengajar CS50 952 00:43:13,220 --> 00:43:17,717 karena saya mengambil kelas tahun lalu, dan itu salah satu kelas terbaik. 953 00:43:17,717 --> 00:43:18,425 SPEAKER 10: Ya. 954 00:43:18,425 --> 00:43:20,476 saran saya adalah Anda harus mengambil CS50. 955 00:43:20,476 --> 00:43:23,350 JACOB SCHERBA: Saya memilih CS karena Saya pikir itu menyenangkan dan kreatif cara 956 00:43:23,350 --> 00:43:25,314 untuk memecahkan masalah dengan cara analitis. 957 00:43:25,314 --> 00:43:28,480 SPEAKER 11: Kembali ketika saya masih sedikit mahasiswa dan takut ilmu komputer 958 00:43:28,480 --> 00:43:30,229 dan takut melakukan rekayasa dan hal-hal, 959 00:43:30,229 --> 00:43:34,091 itu kelas keras pertama saya mengambil, dan itu juga kelas favorit saya pernah. 960 00:43:34,091 --> 00:43:36,090 DOUG LLOYD: Ini adalah saya kesembilan tahun CS50 mengajar. 961 00:43:36,090 --> 00:43:37,482 Yang membuat saya terdengar begitu lama! 962 00:43:37,482 --> 00:43:38,690 Selalu ada sesuatu yang baru. 963 00:43:38,690 --> 00:43:39,550 Selalu ada sesuatu yang menarik. 964 00:43:39,550 --> 00:43:43,077 Selalu ada tantangan baru yang dihadapi oleh mahasiswa baru, dan itu menyenangkan untuk membantu mereka 965 00:43:43,077 --> 00:43:44,910 dan mengalami mereka tantangan dengan mereka 966 00:43:44,910 --> 00:43:45,925 dan membantu mereka memecahkan masalah mereka. 967 00:43:45,925 --> 00:43:47,955 >> SPEAKER 12: Ketika saya pertama kali belajar bagaimana melakukan CS, 968 00:43:47,955 --> 00:43:49,413 itu seperti belajar kekuatan super. 969 00:43:49,413 --> 00:43:53,749 Dan melihat bahwa siswa lainnya dan untuk membantu mereka melalui proses yang 970 00:43:53,749 --> 00:43:55,665 adalah salah satu yang paling hal berharga yang pernah saya. 971 00:43:55,665 --> 00:43:58,706 >> SPEAKER 7: Saya memilih CS karena di mulai, saya konsentrator matematika 972 00:43:58,706 --> 00:44:00,497 dan saya mengambil CS50 dan jatuh cinta dengan hal itu. 973 00:44:00,497 --> 00:44:02,455 Saya juga merasa bahwa dengan CS, saya bisa membangun sesuatu. 974 00:44:02,455 --> 00:44:04,410 Dan itu, saya pikir, adalah aspek benar-benar keren. 975 00:44:04,410 --> 00:44:08,156 >> SPEAKER 13: Beberapa saran untuk baru siswa adalah pergi ke kantor jam 976 00:44:08,156 --> 00:44:09,573 dan bergaul dengan TF mengagumkan. 977 00:44:09,573 --> 00:44:11,906 SPEAKER 14: Mulai P-set Anda awal, pergi ke jam kantor, 978 00:44:11,906 --> 00:44:13,457 menjadi frends dengan TF Anda. 979 00:44:13,457 --> 00:44:14,165 SPEAKER 15: Ya. 980 00:44:14,165 --> 00:44:16,164 Semuanya katanya. 981 00:44:16,164 --> 00:44:17,997 SPEAKER 16: Jangan takut untuk meminta bantuan. 982 00:44:17,997 --> 00:44:18,980 SPEAKER 17: Ya. 983 00:44:18,980 --> 00:44:22,052 SPEAKER 18: Mulai P-set awal. 984 00:44:22,052 --> 00:44:23,760 SPEAKER 19: Ini adalah pengalaman sosial yang besar. 985 00:44:23,760 --> 00:44:25,112 Membuat banyak teman-teman dengan cara ini. 986 00:44:25,112 --> 00:44:26,570 SPEAKER 14: Pergi ke bagian Ini menyenangkan. 987 00:44:26,570 --> 00:44:28,050 SPEAKER 11: Maksudku, pergi untuk itu. 988 00:44:28,050 --> 00:44:28,770 Ini benar-benar sulit. 989 00:44:28,770 --> 00:44:30,581 Anda akan keluar dari itu apa yang Anda masukkan ke dalamnya, 990 00:44:30,581 --> 00:44:32,580 tapi itu benar-benar menyenangkan kelas terutama jika Anda 991 00:44:32,580 --> 00:44:35,496 bersedia untuk menempatkan waktu ke dalamnya, tapi akan membantu jika Anda menempatkan waktu ke dalamnya. 992 00:44:35,496 --> 00:44:38,336 Anda akan mendapatkan lebih banyak dari itu nanti. 993 00:44:38,336 --> 00:44:38,960 MIKE: Aku Mike. 994 00:44:38,960 --> 00:44:39,882 Camille: Aku Camille. 995 00:44:39,882 --> 00:44:40,590 HANYA: Saya Hanya. 996 00:44:40,590 --> 00:44:41,310 MATT: Aku Matt. 997 00:44:41,310 --> 00:44:42,140 PETER: Saya Peter. 998 00:44:42,140 --> 00:44:42,620 PHILLIP: Aku Phillip. 999 00:44:42,620 --> 00:44:43,495 PATRICK: Aku Patrick. 1000 00:44:43,495 --> 00:44:45,234 ROB Bowden: Saya Rob Bowden. 1001 00:44:45,234 --> 00:44:47,150 BRIAN SCASSELLATI: My Nama SCAS, dan ini-- 1002 00:44:47,150 --> 00:44:49,958 ALL: --is CS50. 1003 00:44:49,958 --> 00:44:50,806 SPEAKER 20: Yale. 1004 00:44:50,806 --> 00:44:51,639 SPEAKER 21: Yale. 1005 00:44:51,639 --> 00:44:52,840 [TERTAWA] 1006 00:44:52,840 --> 00:44:54,270 DAVID Malan: Itu saja untuk CS50. 1007 00:44:54,270 --> 00:44:59,000 Kita akan melihat Anda dari Yale pada Jumat, Teka-teki Hari Sabtu. 1008 00:44:59,000 --> 00:45:00,475 Kue sekarang disajikan. 1009 00:45:00,475 --> 00:45:01,640 Ini adalah CS50. 1010 00:45:01,640 --> 00:45:05,314 1011 00:45:05,314 --> 00:45:10,992 >> [MUSIC PLAYING] 1012 00:45:10,992 --> 00:47:00,434