1 00:00:00,000 --> 00:00:00,270 2 00:00:00,270 --> 00:00:01,790 DAVID MALAN: Selamat kembali, semua orang. 3 00:00:01,790 --> 00:00:05,030 Jadi semalam, anda akan ingat bahawa kita memberi tumpuan kepada topik-topik ini di sini. 4 00:00:05,030 --> 00:00:08,380 Oleh itu, kita mempunyai empat topics-- menyeluruh privasi, keselamatan, dan masyarakat; 5 00:00:08,380 --> 00:00:11,960 teknologi internet; pengkomputeran awan; dan akhirnya, pembangunan web. 6 00:00:11,960 --> 00:00:14,170 >> Adakah sesiapa yang mempunyai bandwidth atau masa 7 00:00:14,170 --> 00:00:16,900 untuk menonton John sedikit Oliver malam tadi? 8 00:00:16,900 --> 00:00:20,120 Ia sebenarnya agak lucu, jika tidak sedikit menakutkan. 9 00:00:20,120 --> 00:00:24,700 Sebarang pertanyaan mengenai apa-apa kita lakukan semalam? 10 00:00:24,700 --> 00:00:27,600 Sebarang penjelasan? 11 00:00:27,600 --> 00:00:35,580 Mana-mana soalan yang anda ingin pasti kita sentuh pada hari ini dalam bentuk tertentu? 12 00:00:35,580 --> 00:00:37,300 sabak begitu bersih. 13 00:00:37,300 --> 00:00:38,760 >> Jadi apa dalam agenda untuk hari ini? 14 00:00:38,760 --> 00:00:41,301 Jadi saya fikir kita akan bermula hari ini dengan melihat pada apa yang secara umumnya 15 00:00:41,301 --> 00:00:44,460 dikenali sebagai thinking-- pengiraan di risiko simplifikasi, berfikir 16 00:00:44,460 --> 00:00:46,636 seperti komputer, mungkin berfikir seperti seorang jurutera, 17 00:00:46,636 --> 00:00:48,510 dan cuba untuk mula menyusun pemikiran anda 18 00:00:48,510 --> 00:00:52,039 atau untuk memberikan anda rasa yang lebih baik apa yang terlibat dalam sebenarnya memerintah 19 00:00:52,039 --> 00:00:54,080 komputer untuk melakukan sesuatu melalui pengaturcaraan. 20 00:00:54,080 --> 00:00:56,663 Dan kita akan mengekalkannya pada yang cantik peringkat tinggi, cukup banyak Bahasa Inggeris, 21 00:00:56,663 --> 00:00:59,850 tetapi cuba untuk penggunaan biasa contoh untuk merasmikan bagaimana 22 00:00:59,850 --> 00:01:01,450 anda akan pergi tentang menyelesaikan masalah. 23 00:01:01,450 --> 00:01:04,080 >> Dan kita akan melihat semula beberapa CS topik, seperti pengambilan, 24 00:01:04,080 --> 00:01:06,040 yang datang pasangan kali semalam, 25 00:01:06,040 --> 00:01:07,554 algoritma, dan kemudian perwakilan. 26 00:01:07,554 --> 00:01:09,720 Dan itulah di mana kita akan mula hari ini dalam hanya seketika. 27 00:01:09,720 --> 00:01:11,481 Kemudian kita akan mengambil melihat pada pengaturcaraan. 28 00:01:11,481 --> 00:01:13,480 Kami akan mengambil lihat beberapa membina asas 29 00:01:13,480 --> 00:01:16,450 yang anda mungkin biasa dan juga mungkin mendapati agak intuitif. 30 00:01:16,450 --> 00:01:18,370 >> Kita akan melihat, sebenarnya, pada program sampel 31 00:01:18,370 --> 00:01:21,244 persekitaran yang sangat mudah, sangat suka bermain, dan sememangnya disasarkan 32 00:01:21,244 --> 00:01:22,555 untuk peringkat umur 12 dan ke atas. 33 00:01:22,555 --> 00:01:25,930 Kami akan menghabiskan beberapa minit di sana dan kemudian mengambil perkara-perkara ke tahap yang lebih rendah 34 00:01:25,930 --> 00:01:30,360 dan sebenarnya bercakap mengenai beberapa algoritma dan struktur data, 35 00:01:30,360 --> 00:01:32,360 boleh dikatakan, bahawa pengaturcara biasanya menggunakan 36 00:01:32,360 --> 00:01:35,040 untuk menyelesaikan masalah yang jauh lebih cekap daripada anda mungkin 37 00:01:35,040 --> 00:01:37,322 dapat melakukan tanpa mereka sama sekali. 38 00:01:37,322 --> 00:01:40,280 Kemudian selepas makan tengah hari, kita akan menyemaknya pada susunan teknologi, yang hanya 39 00:01:40,280 --> 00:01:42,240 cara yang mewah untuk mengatakan koleksi teknologi 40 00:01:42,240 --> 00:01:43,690 yang anda mungkin gunakan untuk menyelesaikan beberapa masalah. 41 00:01:43,690 --> 00:01:46,670 Dan kita akan bercakap tentang abjad sup bahasa yang wujud today-- 42 00:01:46,670 --> 00:01:50,930 Java dan Python dan C ++ dan PHP dan Ruby dan pelbagai perkara lain. 43 00:01:50,930 --> 00:01:53,740 >> Kami akan mengambil secara ringkas rupa pada corak reka bentuk. 44 00:01:53,740 --> 00:01:57,730 Programmers, sepanjang masa, mempunyai kaedah yang dipakai 45 00:01:57,730 --> 00:02:00,690 yang cenderung untuk membantu mereka menyelesaikan masalah yang lebih mudah. 46 00:02:00,690 --> 00:02:04,390 Apabila anda mula melihat diri anda menulis jenis yang sama kod itu sekali lagi dan sekali lagi, 47 00:02:04,390 --> 00:02:08,080 orang merasmikan mereka ulangan dan nama-nama sajalah mereka 48 00:02:08,080 --> 00:02:10,084 dan kemudian menggunakan mereka dan menggalakkan mereka, akhirnya. 49 00:02:10,084 --> 00:02:12,250 Dan kita akan bercakap sedikit tentang strategi mudah alih, 50 00:02:12,250 --> 00:02:16,099 seperti apa yang ia bermakna untuk benar-benar membuat aplikasi mudah alih atau laman web mudah alih. 51 00:02:16,099 --> 00:02:17,140 Adakah anda melakukannya untuk Android? 52 00:02:17,140 --> 00:02:17,730 Adakah anda melakukannya untuk iOS? 53 00:02:17,730 --> 00:02:19,160 Adakah anda melakukannya untuk kedua-dua mereka? 54 00:02:19,160 --> 00:02:20,326 Dan apakah keseimbangan? 55 00:02:20,326 --> 00:02:23,180 Dan akhirnya, kita akan mengambil pengaturcaraan web rupa, yang 56 00:02:23,180 --> 00:02:25,380 adalah istilah kolektif benar-benar menggambarkan bila-bila masa 57 00:02:25,380 --> 00:02:28,410 anda menulis perisian itu bertujuan untuk berjalan di web, 58 00:02:28,410 --> 00:02:30,430 sama ada pada telefon atau komputer meja atau komputer riba. 59 00:02:30,430 --> 00:02:33,490 Kami akan lihat secara ringkas pangkalan data dan reka bentuk 60 00:02:33,490 --> 00:02:39,049 di dalamnya, jika hanya kerana hampir mana-mana aplikasi berasaskan web yang menarik 61 00:02:39,049 --> 00:02:40,590 hari ini mempunyai beberapa jenis pangkalan data. 62 00:02:40,590 --> 00:02:42,380 Jika tidak, ia akan hanya menjadi kandungan statik. 63 00:02:42,380 --> 00:02:45,254 Dan pangkalan data yang membolehkan anda untuk membuat perubahan dari masa ke masa, sama ada diri 64 00:02:45,254 --> 00:02:45,960 atau daripada pengguna. 65 00:02:45,960 --> 00:02:47,820 Dan kami akan mempertimbangkan bagaimana anda akan pergi tentang mereka bentuk 66 00:02:47,820 --> 00:02:50,510 bahawa pangkalan data dan jenis jargon yang mungkin datang dalam jurutera 67 00:02:50,510 --> 00:02:52,790 perbincangan di papan putih apabila sebenarnya melaksanakan 68 00:02:52,790 --> 00:02:53,900 aplikasi untuk kali pertama. 69 00:02:53,900 --> 00:02:57,002 >> Kami akan bercakap secara ringkas mengenai API, perkhidmatan yang berguna 70 00:02:57,002 --> 00:02:59,960 yang boleh anda gunakan untuk berdiri di atas bahu orang lain, sama ada syarikat-syarikat 71 00:02:59,960 --> 00:03:02,619 atau individu, dan menyelesaikan anda masalah sendiri dengan lebih cepat. 72 00:03:02,619 --> 00:03:04,785 Dan kemudian kita akan cuba-cuba mungkin sedikit dengan JavaScript, 73 00:03:04,785 --> 00:03:08,900 bahasa pengaturcaraan yang digunakan kedua-dua dalam pelayar hari ini, tetapi juga 74 00:03:08,900 --> 00:03:09,820 dalam pelayan. 75 00:03:09,820 --> 00:03:11,890 Dan mungkin, kita akan semula, masa mengizinkan, 76 00:03:11,890 --> 00:03:15,670 beberapa hands-on barangan web kita lakukan semalam dan mengintegrasikan kedua-dua 77 00:03:15,670 --> 00:03:17,630 bersama-sama sebelum kita menangguhkan. 78 00:03:17,630 --> 00:03:22,380 >> Jadi dengan bahawa- apa yang ahead-- adalah Adakah apa-apa hilang yang anda 79 00:03:22,380 --> 00:03:26,289 mahu memastikan kita memasukkan dan menyentuh pada satu ketika. 80 00:03:26,289 --> 00:03:28,330 Jika ia mata air di fikiran, membawa ia sehingga tidak lama lagi. 81 00:03:28,330 --> 00:03:32,010 Tetapi mengapa tidak kita bermula dengan melihat pemikiran pengiraan. 82 00:03:32,010 --> 00:03:35,420 >> Dan biarlah saya mencadangkan supaya pemikiran pengiraan, sekali lagi, 83 00:03:35,420 --> 00:03:38,830 jenis penerangan tahap tinggi apa seorang saintis komputer mungkin lakukan. 84 00:03:38,830 --> 00:03:42,470 Dan sesungguhnya, mari kita mulakan dengan tiga bahan-bahan yang 85 00:03:42,470 --> 00:03:44,207 mungkin pergi ke dalam pemikiran pengiraan. 86 00:03:44,207 --> 00:03:45,790 Ini hanya salah satu cara untuk menggambarkan ia. 87 00:03:45,790 --> 00:03:48,490 Kita pasti boleh menentukan ini dalam apa jua cara. 88 00:03:48,490 --> 00:03:50,630 >> Tetapi biarlah saya mencadangkan, demi hari ini, 89 00:03:50,630 --> 00:03:53,910 bahawa masalah di dunia, semua masalah di dunia, 90 00:03:53,910 --> 00:03:56,730 apabila didatangi oleh seorang komputer saintis boleh 91 00:03:56,730 --> 00:04:00,990 dilihat sebagai apa yang kita akan input panggilan, yang 92 00:04:00,990 --> 00:04:08,142 perlu untuk dimasukkan ke dalam apa yang kita akan memanggil algoritma, yang kemudiannya menghasilkan output. 93 00:04:08,142 --> 00:04:10,600 Dalam erti kata lain, keseluruhan dunia menyelesaikan masalah tuntutan Saya 94 00:04:10,600 --> 00:04:13,140 boleh suling ke dalam ketiga-tiga bahan-bahan. 95 00:04:13,140 --> 00:04:14,450 Jadi, apa yang saya maksudkan dengan input? 96 00:04:14,450 --> 00:04:17,060 Input adalah apa yang anda berada diserahkan untuk menyelesaikan. 97 00:04:17,060 --> 00:04:20,052 >> Sebagai contoh, di sini masalah sekolah lama. 98 00:04:20,052 --> 00:04:22,760 Jika saya mempunyai buku telefon di sini dan Saya mahu melihat sesuatu ke dalamnya, 99 00:04:22,760 --> 00:04:23,760 ini adalah input saya. 100 00:04:23,760 --> 00:04:26,260 Saya mempunyai 1000 atau lebih muka surat dalam buku telefon. 101 00:04:26,260 --> 00:04:27,780 Ini adalah input kepada masalah saya. 102 00:04:27,780 --> 00:04:31,507 Dan saya mahu mencari sesuatu seperti Mike Smith, jadi kawan 103 00:04:31,507 --> 00:04:33,840 yang nama dan nombor adalah mudah-mudahan dalam buku alamat ini. 104 00:04:33,840 --> 00:04:36,430 >> Ini adalah sebelum zaman sel telefon, jadi saya tidak boleh hanya mencarinya. 105 00:04:36,430 --> 00:04:38,540 Jadi saya perlu melakukannya lama sekolah dan sebenarnya carian 106 00:04:38,540 --> 00:04:41,331 input ini untuk beberapa jawapan. 107 00:04:41,331 --> 00:04:43,580 Dan jawapan yang hanya akan untuk dipanggil output. 108 00:04:43,580 --> 00:04:44,871 Jadi input adalah buku telefon. 109 00:04:44,871 --> 00:04:47,787 algoritma adalah apa set langkah yang saya gunakan untuk mencari Mike Smith. 110 00:04:47,787 --> 00:04:50,120 Dan output adalah, mudah-mudahan, Nombor telefon Mike Smith. 111 00:04:50,120 --> 00:04:52,703 Dan ini kemudian akan hanya wakil kebanyakan sebarang masalah 112 00:04:52,703 --> 00:04:55,210 untuk dengan anda tangan input dan mahu menghasilkan output. 113 00:04:55,210 --> 00:04:59,459 >> Jadi sebelum kita mempertimbangkan proses yang mana kita boleh menyelesaikan masalah itu, 114 00:04:59,459 --> 00:05:01,250 mencari Mike Smith dan sesuatu seperti itu, 115 00:05:01,250 --> 00:05:04,090 mari kita mempertimbangkan pertama dan input last-- dan output. 116 00:05:04,090 --> 00:05:08,060 Secara fizikal, sudah tentu, input di sini adalah sejumlah besar kertas terpaku bersama-sama 117 00:05:08,060 --> 00:05:09,400 dalam bentuk buku telefon. 118 00:05:09,400 --> 00:05:13,660 Tetapi komputer, komputer riba course-- dan komputer meja mahupun telefon 119 00:05:13,660 --> 00:05:16,430 ini days-- mereka adalah peranti elektronik. 120 00:05:16,430 --> 00:05:20,920 >> Dan pada akhir hari, apa yang satu-satunya input ke komputer? 121 00:05:20,920 --> 00:05:23,299 Well, ia sesuatu yang seperti kord kuasa ini di sini. 122 00:05:23,299 --> 00:05:25,590 Saya palam ke dalam dinding, dan Saya mendapat aliran elektron, 123 00:05:25,590 --> 00:05:27,048 yang membolehkan saya untuk menjalankan mesin. 124 00:05:27,048 --> 00:05:30,420 Atau mungkin mereka elektron diwujudkan melalui bateri saya. 125 00:05:30,420 --> 00:05:33,790 Tetapi pada akhir hari, itu satu-satunya perkara pergi ke komputer riba saya. 126 00:05:33,790 --> 00:05:35,772 Dan banyak menarik barangan akhirnya 127 00:05:35,772 --> 00:05:37,480 keluar, sama ada melalui pencetak 128 00:05:37,480 --> 00:05:40,320 atau skrin atau audially atau sebagainya. 129 00:05:40,320 --> 00:05:45,320 >> Jadi, jika semua kita sebagai kami input asas kepada komputer 130 00:05:45,320 --> 00:05:49,160 elektrik, jadi hanya elektron masuk dan atau keluar, 131 00:05:49,160 --> 00:05:54,465 dan jadi bagaimana kita boleh menggunakan input yang untuk benar-benar mewakili maklumat? 132 00:05:54,465 --> 00:05:57,090 Dalam erti kata lain, bagaimana kita mendapatkan daripada aliran yang mudah elektrik 133 00:05:57,090 --> 00:06:00,350 untuk mewakili sebenar nombor atau huruf yang sebenar 134 00:06:00,350 --> 00:06:03,620 atau imej sebenar pada skrin atau filem sebenar atau e-mel 135 00:06:03,620 --> 00:06:05,690 atau apa-apa bilangan ini konsep tahap yang lebih tinggi, 136 00:06:05,690 --> 00:06:07,680 jika anda akan, bahawa pada akhir hari entah bagaimana 137 00:06:07,680 --> 00:06:11,950 telah disimpan di dalam ini alat mekanikal elektronik 138 00:06:11,950 --> 00:06:16,260 menggunakan hanya mereka ingredients-- mudah elektron yang masuk dan keluar? 139 00:06:16,260 --> 00:06:19,530 >> Jadi ia akan kelihatan seolah-olah, dalam bentuk yang paling mudah, 140 00:06:19,530 --> 00:06:23,260 satu-satunya jenis negeri Saya ada dalam dunia saya, jadi 141 00:06:23,260 --> 00:06:25,350 untuk speak-- syarat dalam world-- saya ialah sama ada 142 00:06:25,350 --> 00:06:33,020 Saya mempunyai elektron yang mengalir, elektrik mengalir, atau saya lakukan tidak-- sebagainya, off. 143 00:06:33,020 --> 00:06:35,850 Dan mari kita merasmikan dan mematikan, sebagai seorang saintis komputer mungkin, 144 00:06:35,850 --> 00:06:37,255 dengan hanya 1 dan 0. 145 00:06:37,255 --> 00:06:39,880 Mari kita hanya menerangkan beberapa sewenang-wenangnya tetapi bilangan konsisten kepadanya. 146 00:06:39,880 --> 00:06:41,970 1 bermakna pada, 0 bermakna off. 147 00:06:41,970 --> 00:06:45,427 Atau anda juga mungkin melihat ini sebagai maksudnya yang sebenar di dalam dan di jalan yang bathil. 148 00:06:45,427 --> 00:06:47,510 Anda juga boleh melakukan hitam dan putih atau merah dan biru. 149 00:06:47,510 --> 00:06:48,759 Anda hanya perlu dua perihalan. 150 00:06:48,759 --> 00:06:52,240 Dan ahli-ahli sains komputer akan umumnya hanya menggunakan 0 dan 1. 151 00:06:52,240 --> 00:06:58,980 >> Jadi, jika itu yang terjadi, hanya abjad saya adalah terdiri daripada 0 dan 1, bagaimana 152 00:06:58,980 --> 00:07:03,360 boleh saya mungkin mendapat untuk menyeimbangkan bilangan 2 dalam komputer, apatah lagi nombor 3 153 00:07:03,360 --> 00:07:06,140 atau surat abjad atau imej atau filem? 154 00:07:06,140 --> 00:07:08,910 Bagaimana kita semacam bootstrap diri daripada prinsip asas ini 155 00:07:08,910 --> 00:07:12,080 0 dan 1 dan sebenarnya mewakili sesuatu yang lebih menarik? 156 00:07:12,080 --> 00:07:14,430 >> Nah, mari kita meletakkan soalan itu ditahan hanya untuk seketika 157 00:07:14,430 --> 00:07:17,520 dan mempertimbangkan sesuatu mudah-mudahan biasa, 158 00:07:17,520 --> 00:07:21,150 walaupun anda tidak benar-benar berfikir tentang dalam apa-apa detail untuk 10, 20, 30, 40, 50 159 00:07:21,150 --> 00:07:22,520 tahun lagi. 160 00:07:22,520 --> 00:07:24,780 Apakah ini? 161 00:07:24,780 --> 00:07:28,050 Bagaimana anda mengucapkan itu? 162 00:07:28,050 --> 00:07:30,770 Bukan soalan helah. 163 00:07:30,770 --> 00:07:32,950 Satu nombor, tetapi apa yang ia? 164 00:07:32,950 --> 00:07:34,842 1, 2, 3, atau 123. 165 00:07:34,842 --> 00:07:37,800 Dan saya suka bagaimana anda berkata 1, 2, 3, kerana itulah salah satu cara untuk melihatnya. 166 00:07:37,800 --> 00:07:39,870 1, 2, 3, ia adalah urutan tiga simbol. 167 00:07:39,870 --> 00:07:42,005 Ia adalah gambar yang kita kini mempunyai perkataan untuk. 168 00:07:42,005 --> 00:07:44,880 Dan jika anda jenis membaca semuanya bersama-sama, seorang manusia biasa dalam bahasa Inggeris 169 00:07:44,880 --> 00:07:46,600 akan berkata 123. 170 00:07:46,600 --> 00:07:48,350 Dan itu semacam konsep tahap yang lebih tinggi, 171 00:07:48,350 --> 00:07:50,340 terasa seperti beberapa munasabah besar. 172 00:07:50,340 --> 00:07:51,490 >> Tetapi bagaimana kita sampai ke sana? 173 00:07:51,490 --> 00:07:54,640 Well, ia mungkin seketika sejak anda telah berfikir mengenainya seperti ini, 174 00:07:54,640 --> 00:07:56,680 tetapi kembali pada hari saya, saya jenis belajar ini 175 00:07:56,680 --> 00:08:01,030 sebagai lajur 1, iaitu 10 ini lajur, dan lajur 100. 176 00:08:01,030 --> 00:08:06,400 Supaya Lakisa berkata, ia adalah 1, 2, 3, tetapi ia juga 123. 177 00:08:06,400 --> 00:08:08,700 Tetapi bagaimana kita dapat daripada bekas untuk yang kedua? 178 00:08:08,700 --> 00:08:12,340 >> Nah, anda biasanya akan lakukan dalam lajur 100, saya mempunyai 1. 179 00:08:12,340 --> 00:08:14,794 Jadi, itu seperti mengatakan 100 kali 1. 180 00:08:14,794 --> 00:08:16,210 Dan kemudian dalam ruang 10, saya mempunyai 2. 181 00:08:16,210 --> 00:08:18,464 Jadi, itu seperti mengatakan 10 kali 2. 182 00:08:18,464 --> 00:08:19,630 Dalam lajur 1, saya mempunyai 3. 183 00:08:19,630 --> 00:08:21,720 Jadi, itu seperti mengatakan 1 kali 3. 184 00:08:21,720 --> 00:08:24,290 >> Dan jika saya menambah perkara-perkara ini bersama-sama, ini, sudah tentu, 185 00:08:24,290 --> 00:08:27,470 100 ditambah dengan 10 tambah 3. 186 00:08:27,470 --> 00:08:31,750 Dan oh, sebab itu saya mendapatkan ini tahap tanggapan yang lebih tinggi 123. 187 00:08:31,750 --> 00:08:37,220 Ia hanya matematik asas, di mana ini simbol-simbol mempunyai berat kepada mereka, jika anda 188 00:08:37,220 --> 00:08:39,620 akan, pemegang tempat atau nilai lajur. 189 00:08:39,620 --> 00:08:42,090 Dan apabila saya berganda segala-galanya keluar, saya mendapat nombor ini. 190 00:08:42,090 --> 00:08:47,840 >> Jadi bagaimana ramai daripada anda tahu bagaimana untuk bercakap binary-- 0 dan 1's-- seperti komputer? 191 00:08:47,840 --> 00:08:50,410 OK, sempurna, tidak ada satu, atau tiada seorang pun daripada anda berfikir yang anda lakukan. 192 00:08:50,410 --> 00:08:52,550 Tetapi saya akan menuntut anda sebenarnya tahu ini sudah. 193 00:08:52,550 --> 00:08:55,330 Kita hanya perlu jenis tweak model mental kita sedikit. 194 00:08:55,330 --> 00:08:57,250 Tetapi proses ini betul-betul sama. 195 00:08:57,250 --> 00:09:01,460 >> Biar saya meninggalkan satu ini di sana dan bukannya menarik ini turun untuk seketika. 196 00:09:01,460 --> 00:09:05,060 Dalam dunia komputer, kita hanya mempunyai 0 dan 1. 197 00:09:05,060 --> 00:09:07,240 Dan jadi perkara itu akan berubah ialah apa? 198 00:09:07,240 --> 00:09:10,920 Nah, dalam dunia manusia saya, sistem perpuluhan, Disember makna 10, 199 00:09:10,920 --> 00:09:12,740 Saya mempunyai bilangan digit pada saya? 200 00:09:12,740 --> 00:09:15,270 201 00:09:15,270 --> 00:09:16,540 10, bukan? 202 00:09:16,540 --> 00:09:17,880 0 hingga 9, sudah tentu. 203 00:09:17,880 --> 00:09:21,210 >> Dan itulah sebabnya kita mempunyai tempat 10 dan tempat 100. 204 00:09:21,210 --> 00:09:22,380 Di manakah yang datang dari? 205 00:09:22,380 --> 00:09:24,430 Nah, ini adalah 10 kuasa 0. 206 00:09:24,430 --> 00:09:28,440 Ini adalah 10 kepada kuasa 1, 10 kepada kuasa 2, dan sebagainya. 207 00:09:28,440 --> 00:09:32,110 Anda hanya menyimpan mendarabkan lajur anda dengan 10, bermula dengan hanya 1 208 00:09:32,110 --> 00:09:33,700 salah satu yang paling kanan di sini. 209 00:09:33,700 --> 00:09:35,490 >> Jadi dalam dunia komputer, jika anda hanya 210 00:09:35,490 --> 00:09:39,600 mempunyai maksud bi binary-- 2-- atau 0 dan 1, kita hanya 211 00:09:39,600 --> 00:09:42,420 benar-benar perlu menukar asas matematik itu. 212 00:09:42,420 --> 00:09:46,410 Jadi dalam erti kata lain, sekarang kita akan hanya mempunyai lajur 1 dan hanya-- 213 00:09:46,410 --> 00:09:51,270 di manakah ini going-- lajur 2, lajur 4, dan mungkin di luar. 214 00:09:51,270 --> 00:09:52,250 Kenapa begitu? 215 00:09:52,250 --> 00:09:55,650 Nah, ini adalah 2 kuasa 0-ke. 216 00:09:55,650 --> 00:09:57,270 Ini adalah 2 1. 217 00:09:57,270 --> 00:09:59,610 Ini adalah 2 kepada 2, dan sebagainya. 218 00:09:59,610 --> 00:10:04,910 >> Jadi manakala sini, kami mempunyai 1, 10 ini, 100, 1000, 10,000 ini, 100,000, 1 219 00:10:04,910 --> 00:10:10,560 berjuta-juta, dan sebagainya, di sini kita ada 1, 2, 4, 8, 16, 32, 64. 220 00:10:10,560 --> 00:10:13,950 Anda hanya menyimpan didarab dengan 2, bukannya menjaga didarab dengan 10. 221 00:10:13,950 --> 00:10:16,780 Jadi sekarang, jika matlamat di tangan adalah untuk mewakili 222 00:10:16,780 --> 00:10:20,240 nombor dengan hanya menggunakan 0 dan 1 ini, mari kita fikirkan bagaimana kita sampai ke sana. 223 00:10:20,240 --> 00:10:26,540 >> Ini, sudah tentu, adalah pola 0 0 0, tetapi apa nombor dari segi konsep 224 00:10:26,540 --> 00:10:27,490 ia mewakili? 225 00:10:27,490 --> 00:10:35,430 Well, 4 kali 0 tambah 2 kali 0 tambah 1 kali 0, mari kita menambah mereka bersama-sama. 226 00:10:35,430 --> 00:10:40,030 4 darab 0 adalah, sudah tentu, 0, ditambah 2 darab 0 adalah, sudah tentu, 0 tambah 1 kali 0 227 00:10:40,030 --> 00:10:40,850 adalah, sudah tentu, 0. 228 00:10:40,850 --> 00:10:44,910 Jadi ah, ini mewakili bilangan kita manusia tahu sebagai 0. 229 00:10:44,910 --> 00:10:47,810 >> Nah, sekarang, mari kita sangat ke hadapan dengan cepat cepat. 230 00:10:47,810 --> 00:10:53,600 Jika saya bukannya tidak mewakili 0 0 0, tetapi mari kita buat 1 0 1, 231 00:10:53,600 --> 00:10:57,010 yang mungkin bagaimana Lakisa, sebelum ini, hanya akan menyebut ia 1 0 1. 232 00:10:57,010 --> 00:11:01,020 Tetapi sekarang, bagaimana kita mengambil ia kepada yang lebih tinggi tahap jumlah kita manusia dapat mengetahui? 233 00:11:01,020 --> 00:11:04,220 Jadi apa yang nombor ini? 234 00:11:04,220 --> 00:11:06,060 Ia adalah 5, bilangan yang kita kenali sebagai 5. 235 00:11:06,060 --> 00:11:06,870 >> Nah, mengapa? 236 00:11:06,870 --> 00:11:09,620 Nah, kita boleh benar-benar jenis berjalan melaluinya teratur 237 00:11:09,620 --> 00:11:14,880 4 kali 1, 2 kali 0, 1 kali 1. 238 00:11:14,880 --> 00:11:19,880 Menambah mereka bersama-sama, jadi ini adalah 4 tambah 0 tambah 1. 239 00:11:19,880 --> 00:11:21,577 Dan itu, sesungguhnya, 5. 240 00:11:21,577 --> 00:11:24,660 Jadi ia mendapat sedikit membosankan sekarang melakukan aritmetik lagi dan lagi. 241 00:11:24,660 --> 00:11:26,300 Tetapi proses ini betul-betul sama. 242 00:11:26,300 --> 00:11:28,380 >> Satu-satunya perkara yang mempunyai berubah dalam dunia kita 243 00:11:28,380 --> 00:11:32,740 adalah bahawa tiang kami adalah 1, 2, 4, 8, 16, dan sebagainya, bukan 1, 10, 100, 244 00:11:32,740 --> 00:11:33,740 1,000. 245 00:11:33,740 --> 00:11:40,000 Dan itu hanya kerana abjad kami mempunyai merosot daripada 0 hingga 9 untuk hanya 0-1. 246 00:11:40,000 --> 00:11:50,851 >> Jadi sebagai kuiz sedikit di sini, bagaimana akan anda mewakili nombor 7 dalam binari? 247 00:11:50,851 --> 00:11:51,350 0? 248 00:11:51,350 --> 00:11:53,490 Well, 0, maksud 0 0 0? 249 00:11:53,490 --> 00:11:58,140 250 00:11:58,140 --> 00:11:59,693 Katakan sekali lagi, Karina. 251 00:11:59,693 --> 00:12:03,010 252 00:12:03,010 --> 00:12:03,550 Perfect. 253 00:12:03,550 --> 00:12:04,370 Kenapa begitu? 254 00:12:04,370 --> 00:12:08,530 Ia berkesan 4 plus 2 plus 1. 255 00:12:08,530 --> 00:12:09,580 Begitu baik. 256 00:12:09,580 --> 00:12:14,364 >> Bagaimana kita mewakili sedikit another-- bagaimana pula nombor 2? 257 00:12:14,364 --> 00:12:18,360 258 00:12:18,360 --> 00:12:20,690 Close, tetapi ke belakang. 259 00:12:20,690 --> 00:12:21,660 Jadi apa ini? 260 00:12:21,660 --> 00:12:26,290 Adalah 4 tambah 1, supaya 5 lagi. 261 00:12:26,290 --> 00:12:28,310 >> Jadi what's-- Saya minta maaf, Karina? 262 00:12:28,310 --> 00:12:29,220 0 1 0. 263 00:12:29,220 --> 00:12:34,762 0 1 0 akan menjadi 2, kerana sekali lagi, walaupun jika ia semacam tidak melompat keluar pada anda, 264 00:12:34,762 --> 00:12:35,470 hanya melakukan matematik. 265 00:12:35,470 --> 00:12:40,390 4 darab 0, 0, 2 kali 1 2, 1 darab 0 adalah 0. 266 00:12:40,390 --> 00:12:42,830 Jadi ini adalah nombor yang kita tahu sebagai 2. 267 00:12:42,830 --> 00:12:44,030 >> Bagaimana pula dengan bilangan 8? 268 00:12:44,030 --> 00:12:51,240 269 00:12:51,240 --> 00:12:52,730 Hm? 270 00:12:52,730 --> 00:12:53,330 Baik. 271 00:12:53,330 --> 00:12:56,130 Oleh itu, kita perlu jenis pemegang tempat lain. 272 00:12:56,130 --> 00:12:59,570 Kita perlu 1 0 0 0. 273 00:12:59,570 --> 00:13:02,280 Dan yang benar seumpama kami sistem perpuluhan sekolah lama. 274 00:13:02,280 --> 00:13:05,280 Bagaimana anda mewakili nombor 1000? 275 00:13:05,280 --> 00:13:08,480 >> Nah, anda seolah-olah menjadi jenis di tempat yang sukar, 276 00:13:08,480 --> 00:13:10,390 jika meminta anda untuk mewakili bilangan 1000, 277 00:13:10,390 --> 00:13:14,960 kerana walaupun anda memberi diri anda seperti 9 ini, 9 ini, 0 ini, 278 00:13:14,960 --> 00:13:18,730 yang merupakan jumlah terbesar yang anda mempunyai, anda tidak cukup mendapat 1,000. 279 00:13:18,730 --> 00:13:26,920 Jadi, jika anda 1000, anda hanya memerlukan satu lagi kedudukan, supaya anda boleh melakukan 1 0 0 0, 280 00:13:26,920 --> 00:13:29,460 ergo jumlah 1,000. 281 00:13:29,460 --> 00:13:34,200 >> Oleh sebab itu, mari kita memetakan seperti ini perbincangan konsep kembali kepada perkakasan, 282 00:13:34,200 --> 00:13:37,470 di mana lagi, input itu hanya ini sedikit kabel kuasa, elektrik 283 00:13:37,470 --> 00:13:39,300 yang masuk dan mengalir keluar. 284 00:13:39,300 --> 00:13:44,740 Dan jadi untuk itu yang akan dipetakan daripada sini ke sana, baik, apa yang kita perlukan? 285 00:13:44,740 --> 00:13:49,460 Nah, anda boleh memikirkan berada di dalam sebuah komputer, sejumlah besar mentol lampu, 286 00:13:49,460 --> 00:13:50,450 jika anda akan. 287 00:13:50,450 --> 00:13:52,040 Mereka benar-benar dipanggil transistor. 288 00:13:52,040 --> 00:13:55,121 Dan transistor hanya beralih yang boleh sama ada hidup atau mati. 289 00:13:55,121 --> 00:13:56,870 Jadi, anda boleh memikirkan transistor yang pada 290 00:13:56,870 --> 00:14:00,730 membenarkan elektrik untuk mengalir dan transistor itulah kira sebagai berhenti 291 00:14:00,730 --> 00:14:02,170 elektrik daripada mengalir. 292 00:14:02,170 --> 00:14:04,130 Dan bukannya mengambil lebih lampu sini, 293 00:14:04,130 --> 00:14:06,450 mengapa saya tidak seperti ini gaya sekolah baru. 294 00:14:06,450 --> 00:14:11,360 Jadi ini mungkin menjadi 1, lampu suluh berada di, hanya hampir tidak walaupun. 295 00:14:11,360 --> 00:14:14,050 Dan ini mungkin menjadi 0, dan kini ia di luar. 296 00:14:14,050 --> 00:14:18,277 >> Jadi menggunakan peranti fizikal ini, saya kini boleh mewakili sistem binari. 297 00:14:18,277 --> 00:14:19,235 Saya hanya perlu kedua-dua negeri. 298 00:14:19,235 --> 00:14:21,660 Ia tidak kira apa warna ia adalah atau apa yang ada. 299 00:14:21,660 --> 00:14:25,920 Apa yang penting ialah saya mempunyai satu negeri di dalam dan di negeri lain di luar. 300 00:14:25,920 --> 00:14:30,605 Jadi menggunakan telefon saya di sini, bagaimana saya mewakili bilangan yang kita kenali sebagai 0? 301 00:14:30,605 --> 00:14:34,490 302 00:14:34,490 --> 00:14:38,550 Atau meletakkan setara, apa nombor saya mewakili sekarang? 303 00:14:38,550 --> 00:14:39,810 0, kerana peranti ini dimatikan. 304 00:14:39,810 --> 00:14:41,560 >> Dan jika saya lakukan ini? 305 00:14:41,560 --> 00:14:43,583 Dan sekarang, bagaimana saya mewakili nombor 2? 306 00:14:43,583 --> 00:14:46,380 307 00:14:46,380 --> 00:14:50,930 Bolehkah saya meminjam telefon anda di sini, seperti yang kita lakukan semalam? 308 00:14:50,930 --> 00:14:58,490 Jadi mari kita lihat, jadi jika saya mahu untuk mewakili nombor 2, adakah ini nombor 2? 309 00:14:58,490 --> 00:14:59,050 No. 310 00:14:59,050 --> 00:15:02,250 Apakah nombor yang saya sedang saya secara tidak sengaja mewakili di sini? 311 00:15:02,250 --> 00:15:03,550 Ini sebenarnya adalah nombor 3. 312 00:15:03,550 --> 00:15:05,008 >> Jadi yang mana satu yang saya mahu mematikan? 313 00:15:05,008 --> 00:15:09,634 Telefon hitam or-- baik, jika they're-- telefon hitam atau telefon putih? 314 00:15:09,634 --> 00:15:10,300 Telefon putih. 315 00:15:10,300 --> 00:15:17,020 Jadi, jika saya mematikan ini dan kami line sehingga di sini, kita mempunyai 1 316 00:15:17,020 --> 00:15:19,487 di tempat yang 2 dan 0 dalam tempat 1. 317 00:15:19,487 --> 00:15:21,195 Dan jadi saya sekarang mewakili nombor 2. 318 00:15:21,195 --> 00:15:24,680 Dan ini, Sudah tentu, akan menjadi nombor 3, kerana kini kedua-lampu ini 319 00:15:24,680 --> 00:15:25,350 sedang berada. 320 00:15:25,350 --> 00:15:27,480 >> Dan saya akan berhenti di sini, tetapi dengan alasan 321 00:15:27,480 --> 00:15:31,100 jika saya mahu untuk mewakili nombor 4 atau 8 atau lebih tinggi, 322 00:15:31,100 --> 00:15:32,529 Saya akan memerlukan lebih banyak telefon. 323 00:15:32,529 --> 00:15:33,820 Tetapi itu semua itu berlaku. 324 00:15:33,820 --> 00:15:37,800 Jadi, jika anda pernah mendengar bahawa bahagian dalam a-- terima komputer atasmu, 325 00:15:37,800 --> 00:15:42,269 adalah berjuta-juta transistor, itu hanya berjuta-juta suis kecil sedikit. 326 00:15:42,269 --> 00:15:44,310 Dan mereka tidak cahaya mentol yang menghidupkan dan mematikan, 327 00:15:44,310 --> 00:15:48,340 tetapi mereka sama ada membenarkan elektrik mengalir di suatu tempat atau menghentikannya. 328 00:15:48,340 --> 00:15:52,140 Dan jadi ada dua anda states-- hidup atau mati, hidup atau mati. 329 00:15:52,140 --> 00:15:55,730 >> Oleh itu, kita akan kelihatan sekarang mempunyai keupayaan ini 330 00:15:55,730 --> 00:16:00,590 untuk mewakili konsep ini yang kami ingin dalam perkakasan yang sebenar. 331 00:16:00,590 --> 00:16:05,520 Tetapi semua yang kita ada sekarang adalah keupayaan untuk mewakili nombor ia akan kelihatan. 332 00:16:05,520 --> 00:16:08,580 Jadi bagaimana kita pergi tentang mewakili huruf abjad, yang 333 00:16:08,580 --> 00:16:12,310 terasa seperti jenis yang seterusnya ciri anda mahu menambah kepada komputer moden 334 00:16:12,310 --> 00:16:14,280 sebaik sahaja anda mempunyai nombor? 335 00:16:14,280 --> 00:16:16,930 >> Dan sesungguhnya, jika anda berfikir tentang ia, sejarah, komputer 336 00:16:16,930 --> 00:16:19,426 telah diperkenalkan benar-benar untuk berkhidmat sebagai kalkulator berangka. 337 00:16:19,426 --> 00:16:21,300 Tetapi sudah tentu, ini hari, mereka melakukan banyak lagi. 338 00:16:21,300 --> 00:16:23,799 Malah apabila mereka boot, anda biasanya melihat satu atau lebih perkataan. 339 00:16:23,799 --> 00:16:27,420 Jadi bagaimana anda mewakili kata-kata, jika apa yang anda perlu, sekali lagi, 340 00:16:27,420 --> 00:16:31,054 elektrik pada akhir hari, atau setara 0 dan 1 ini? 341 00:16:31,054 --> 00:16:34,430 342 00:16:34,430 --> 00:16:35,690 >> Yeah. 343 00:16:35,690 --> 00:16:38,320 Ya, maksud saya, kita jenis lakukan semalam ini dalam bentuk tertentu, 344 00:16:38,320 --> 00:16:40,200 di mana pada satu ketika, Saya rasa saya sewenang-wenangnya 345 00:16:40,200 --> 00:16:46,741 berkata, jika kita mahu untuk mewakili surat A, kita hanya boleh memanggil bahawa 1. 346 00:16:46,741 --> 00:16:49,990 Ia adalah dalam konteks kriptografi, di mana kita hanya memerlukan beberapa jenis kod, 347 00:16:49,990 --> 00:16:51,160 beberapa jenis pemetaan. 348 00:16:51,160 --> 00:16:56,680 >> Jadi mungkin A akan diwakili sebagai 1, dan B akan diwakili sebagai 2, 349 00:16:56,680 --> 00:17:01,560 dan Z akan diwakili sebagai 26, misalnya. 350 00:17:01,560 --> 00:17:07,430 Dan maka satu-satunya kaveat adalah bahawa jika saya akan mengekod huruf dalam e-mel saya 351 00:17:07,430 --> 00:17:10,430 atau dalam mesej teks saya nombor, anda semua 352 00:17:10,430 --> 00:17:12,640 perlu bersetuju untuk menggunakan set sama konvensyen. 353 00:17:12,640 --> 00:17:14,619 Dan sesungguhnya, dunia telah melakukan perkara tersebut. 354 00:17:14,619 --> 00:17:18,040 >> Terdapat satu sistem di dunia dipanggil ASCII, American Standard 355 00:17:18,040 --> 00:17:21,640 Kod untuk Saling Tukar Maklumat, yang hanya keputusan beberapa tahun 356 00:17:21,640 --> 00:17:25,720 lalu bahawa manusia dibuat bahawa memutuskan bahawa A akan sama, tidak 357 00:17:25,720 --> 00:17:32,260 1, 2, dan 26, dan sebagainya forth-- ia adalah satu sedikit different-- tetapi 65, 66, 67. 358 00:17:32,260 --> 00:17:34,010 Dan saya akan menarik sehingga carta dalam hanya seketika. 359 00:17:34,010 --> 00:17:34,580 Tetapi ia sewenang-wenangnya. 360 00:17:34,580 --> 00:17:36,329 Tetapi ia tidak penting bahawa itu sewenang-wenangnya. 361 00:17:36,329 --> 00:17:38,620 Dunia mempunyai untuk hanya menjadi konsisten. 362 00:17:38,620 --> 00:17:40,540 >> Sekarang, baru-baru ini, ada sesuatu pelamun 363 00:17:40,540 --> 00:17:45,430 dipanggil Unicode, kerana jenis di dunia daripada sedar, selepas mencipta komputer, 364 00:17:45,430 --> 00:17:50,977 bahawa terdapat lebih daripada baik 256 simbol dalam dunia 365 00:17:50,977 --> 00:17:53,560 yang kita mungkin mahu untuk mewakili, terutamanya apabila anda memperkenalkan 366 00:17:53,560 --> 00:17:58,420 bahasa Asia dan symbologies lain yang memerlukan lebih ekspresi daripada anda 367 00:17:58,420 --> 00:18:02,150 boleh muat dalam versi terawal kod ini, yang dipanggil ASCII. 368 00:18:02,150 --> 00:18:05,250 Jadi Unicode sebenarnya membolehkan anda untuk menggunakan lebih 0 dan 2. 369 00:18:05,250 --> 00:18:08,830 Khususnya, anda menyimpan mendengar bait perkataan dalam masyarakat dan walaupun hanya 370 00:18:08,830 --> 00:18:09,400 semalam. 371 00:18:09,400 --> 00:18:12,040 Dan bait adalah apa lagi? 372 00:18:12,040 --> 00:18:14,840 >> Apa yang bait? 373 00:18:14,840 --> 00:18:15,700 Ia hanya 8 bit. 374 00:18:15,700 --> 00:18:17,150 Jadi, apa yang benar-benar bermakna? 375 00:18:17,150 --> 00:18:22,400 Well, ini bermakna, sebelum ini, ketika kami ada bercakap tentang binari dan saya menggunakan 376 00:18:22,400 --> 00:18:28,010 sewenang-wenangnya tiga bit ketika kami bercakap tentang binary-- tempat yang 1 ini, 377 00:18:28,010 --> 00:18:33,600 tempat 2, dan 4 ini yang place-- baik, bait hanya bermaksud bahawa anda bercakap 378 00:18:33,600 --> 00:18:38,730 tidak dalam unit tiga tetapi empat, lima, enam, tujuh lapan, 379 00:18:38,730 --> 00:18:46,910 yang memberikan kita tempat 8, 16, 32 itu, 64, dan 128 ini. 380 00:18:46,910 --> 00:18:50,010 >> Dalam erti kata lain, sedikit tidak semua yang berguna unit ukuran, 381 00:18:50,010 --> 00:18:53,132 kerana ia seperti satu kecil sedikit sekeping maklumat, hidup atau mati. 382 00:18:53,132 --> 00:18:54,840 Jadi beberapa tahun yang lalu, dunia hanya memutuskan 383 00:18:54,840 --> 00:18:59,060 ia sedikit lebih mudah untuk bercakap dalam segi bait, lapan perkara pada satu masa. 384 00:18:59,060 --> 00:19:01,670 Dan supaya dengan itu dilahirkan tanggapan bait. 385 00:19:01,670 --> 00:19:03,640 Dan supaya kita mempunyai lapan bit di sini. 386 00:19:03,640 --> 00:19:06,810 >> Dan ternyata, juga, untuk sama sebab, dunia memutuskan tahun 387 00:19:06,810 --> 00:19:12,439 lalu bahawa untuk mewakili surat ASCII, anda akan menggunakan unit 8 bit. 388 00:19:12,439 --> 00:19:14,230 Jadi, walaupun anda tidak melakukan perlu yang banyak, anda 389 00:19:14,230 --> 00:19:18,130 sentiasa akan menggunakan 8 bit untuk mewakili huruf abjad. 390 00:19:18,130 --> 00:19:20,950 Dan ini adalah mudah, kerana itu jika anda 391 00:19:20,950 --> 00:19:28,720 menerima mesej yang mempunyai 0 0 0 1 1 1 1 0 diikuti dengan 1 1 1 0 1 0 392 00:19:28,720 --> 00:19:33,320 0 1, jadi jika anda menerima 16 bit, dunia boleh hanya 393 00:19:33,320 --> 00:19:37,460 menganggap bahawa yang pertama 8 adalah satu huruf dan yang kedua 8 adalah surat yang lain. 394 00:19:37,460 --> 00:19:39,240 >> Tidak kira berapa banyak terdapat. 395 00:19:39,240 --> 00:19:41,460 Ia hanya perkara-perkara yang kita semua konsisten 396 00:19:41,460 --> 00:19:42,950 apabila kita mentafsirkan bit ini. 397 00:19:42,950 --> 00:19:44,377 Dan ini adalah hanya secara rawak. 398 00:19:44,377 --> 00:19:47,210 Ini bermakna sesuatu, tetapi saya tidak benar-benar berfikir tentang apa yang dimaksudkan. 399 00:19:47,210 --> 00:19:49,620 >> Jadi ia adalah satu pembohongan putih kecil. 400 00:19:49,620 --> 00:19:51,990 Pada asalnya, ASCII sebenarnya digunakan hanya 7 bit. 401 00:19:51,990 --> 00:19:54,180 Dan sedikit kelapan adalah dipanggil ASCII lanjutan. 402 00:19:54,180 --> 00:19:56,290 Tetapi persoalannya adalah, akhirnya, yang sama. 403 00:19:56,290 --> 00:19:58,850 dunia amnya diseragamkan pada 8 bit. 404 00:19:58,850 --> 00:20:04,290 >> Jadi ini seolah-olah menjadi sedikit terhad, kerana saya hanya boleh 405 00:20:04,290 --> 00:20:07,970 mewakili modal A, modal B melalui Z. modal 406 00:20:07,970 --> 00:20:10,940 Tetapi sesungguhnya tidak, jika saya pergi supaya- ada sekumpulan sumber 407 00:20:10,940 --> 00:20:13,695 dalam talian, sebagai contoh, asciitable.com, ini 408 00:20:13,695 --> 00:20:16,310 akan menjadi sedikit hangat pada mulanya. 409 00:20:16,310 --> 00:20:18,910 Tetapi saya akan menunjukkan apa yang penting di sini. 410 00:20:18,910 --> 00:20:24,090 >> Ini hanya berlaku untuk adalah- dan saya akan walk-- mari kita lihat, jika saya pergi di sini. 411 00:20:24,090 --> 00:20:27,990 Di sini ialah, dalam perpuluhan ruang, bilangan 65. 412 00:20:27,990 --> 00:20:32,201 Dan pada surat lajur sebelah kanan watak, Chr, huruf A. 413 00:20:32,201 --> 00:20:34,450 Dan anda boleh mengabaikan, buat masa ini, segala-galanya di tengah-tengah. 414 00:20:34,450 --> 00:20:36,769 Ini adalah perenambelasan, perlapanan, dan kod HTML. 415 00:20:36,769 --> 00:20:39,810 Ke laman web ini hanya cuba untuk membuang banyak maklumat pada anda sekaligus. 416 00:20:39,810 --> 00:20:42,970 Tetapi semua kita mengambil berat tentang adalah perpuluhan lajur dan kolum watak. 417 00:20:42,970 --> 00:20:46,190 >> Jadi dengan logik ini, apa yang nombor yang dunia 418 00:20:46,190 --> 00:20:50,510 telah memutuskan mewakili huruf kecil? 419 00:20:50,510 --> 00:20:52,230 Ya, 97. 420 00:20:52,230 --> 00:20:55,850 Dan hanya untuk mengelirukan berpotensi sedikit, 421 00:20:55,850 --> 00:21:03,715 apa nombor telah dunia memutuskan akan mewakili nombor 1? 422 00:21:03,715 --> 00:21:06,900 423 00:21:06,900 --> 00:21:10,910 Betul, kerana we-- 49, ia seolah-olah di sini, turun di bahagian bawah kiri. 424 00:21:10,910 --> 00:21:12,320 >> Kini, apa yang saya maksudkan dengan itu? 425 00:21:12,320 --> 00:21:14,830 Jadi ia ternyata bahawa dalam sistem komputer, 426 00:21:14,830 --> 00:21:16,840 terdapat umumnya perbezaan asas 427 00:21:16,840 --> 00:21:19,920 antara nombor dan watak. 428 00:21:19,920 --> 00:21:22,330 Satu nombor adalah perkara yang kita belajar membesar apabila 429 00:21:22,330 --> 00:21:23,830 kami super muda di sekolah rendah. 430 00:21:23,830 --> 00:21:25,110 Ia adalah perkara yang anda mengira dengan. 431 00:21:25,110 --> 00:21:30,220 Tetapi watak adalah hanya bentuk, yang glif, boleh dikatakan, pada skrin. 432 00:21:30,220 --> 00:21:36,200 >> Sekarang, kita manusia semacam melihat sesuatu yang kelihatan seperti ini. 433 00:21:36,200 --> 00:21:39,060 Dan kita katakan, oh, iaitu nombor 2. 434 00:21:39,060 --> 00:21:44,999 Tetapi tidak, itu hanya simbol yang kelihatan seperti apa yang kita tahu sebagai nombor 2. 435 00:21:44,999 --> 00:21:46,790 Dan jadi ada ini perbezaan asas 436 00:21:46,790 --> 00:21:50,340 antara jumlah sebenar dan watak-watak. 437 00:21:50,340 --> 00:21:52,130 Ini adalah nombor. 438 00:21:52,130 --> 00:21:54,420 Tetapi secara umumnya, dalam konteks komputer, 439 00:21:54,420 --> 00:21:56,809 jika anda sebaliknya melihat sesuatu seperti quoted-- ini 440 00:21:56,809 --> 00:21:58,600 dan anda tidak sentiasa perlu melihat ia disebut harga, 441 00:21:58,600 --> 00:22:01,474 tetapi demi discussion-- jika anda melihat sebut harga sekitar jumlah itu, 442 00:22:01,474 --> 00:22:02,730 sekarang ini adalah watak. 443 00:22:02,730 --> 00:22:06,330 Jadi nombor 2 di bawah hud dalam komputer 444 00:22:06,330 --> 00:22:12,220 akan diwakili dengan corak bit yang mewakili bilangan 445 00:22:12,220 --> 00:22:14,850 50 mengikut carta dalam talian. 446 00:22:14,850 --> 00:22:18,300 >> Walau bagaimanapun, jika komputer hanya melihat ini, ini 447 00:22:18,300 --> 00:22:24,580 akan diwakili dengan corak bit 0 0 0 0 0 0 1 0. 448 00:22:24,580 --> 00:22:29,595 Manakala, watak ini akan sebenarnya diwakili as-- dan kini, 449 00:22:29,595 --> 00:22:34,710 Saya mendapat untuk berfikir harder-- sedikit jadi ini watak akan diwakili dengan 0 450 00:22:34,710 --> 00:22:39,080 0 1-- apa yang saya perlukan di sini? 451 00:22:39,080 --> 00:22:44,450 0 0 1 1 0 0 1 0. 452 00:22:44,450 --> 00:22:45,480 Bagaimana saya lakukan ini? 453 00:22:45,480 --> 00:22:49,580 Nah ini adalah nombor 50, jika anda kalikan dengan menggunakan lajur ini, 454 00:22:49,580 --> 00:22:53,530 ini adalah nombor 2, dan sebagainya itulah sebabnya terdapat dikotomi ini. 455 00:22:53,530 --> 00:22:55,850 >> Dan ini adalah hanya satu teaser sekarang untuk ciri-ciri 456 00:22:55,850 --> 00:22:59,710 yang wujud dalam bahasa pengaturcaraan bahawa kita akan menyentuh secara ringkas lewat hari ini. 457 00:22:59,710 --> 00:23:01,950 Dalam bahasa pengaturcaraan, anda mempunyai secara amnya, 458 00:23:01,950 --> 00:23:04,495 tetapi tidak semestinya, perkara jenis panggilan data yang berbeza. 459 00:23:04,495 --> 00:23:06,870 Dengan kata lain, programmer-- yang apabila dia menulis, 460 00:23:06,870 --> 00:23:11,150 programmer mendapat untuk membuat keputusan dalam apa format untuk menyimpan data mereka. 461 00:23:11,150 --> 00:23:14,120 Anda boleh memuat menyimpan data sebagai nombor mentah, seperti bilangan 2. 462 00:23:14,120 --> 00:23:17,940 Atau anda boleh menyimpannya sebagai tali, atau urutan aksara 463 00:23:17,940 --> 00:23:21,550 yang anda biasanya akan menyatakan dengan sebut harga dalam bahasa pengaturcaraan anda. 464 00:23:21,550 --> 00:23:25,230 >> Anda boleh mempunyai perkara-perkara called-- Saya akan menggampangkan dan memanggil mereka 465 00:23:25,230 --> 00:23:28,870 numbers-- sebenar supaya nombor yang tidak integer seperti nombor 2, 466 00:23:28,870 --> 00:23:31,310 tetapi nombor suka 4.56. 467 00:23:31,310 --> 00:23:33,490 Jadi nombor nyata boleh juga mempunyai titik perpuluhan, 468 00:23:33,490 --> 00:23:36,340 jadi itulah yang berbeza asas sekeping data dalam komputer. 469 00:23:36,340 --> 00:23:41,920 Dan kemudian anda juga boleh mempunyai jenis data yang lain masih. 470 00:23:41,920 --> 00:23:45,810 Jadi itu hanya penggoda yang benar-benar daripada yang paling mudah keputusan reka bentuk 471 00:23:45,810 --> 00:23:50,960 bahawa programmer mungkin membuat di bawah hood. 472 00:23:50,960 --> 00:23:52,925 >> Jadi apa-apa soalan sahaja lagi? 473 00:23:52,925 --> 00:23:57,320 474 00:23:57,320 --> 00:23:59,860 Jadi mari kita cuba untuk membuat ini sedikit lebih nyata. 475 00:23:59,860 --> 00:24:02,120 perkakasan ini tidak boleh begitu banyak digunakan lagi. 476 00:24:02,120 --> 00:24:07,420 Tetapi setiap orang di dalam bilik ini mungkin membesar dengan dan masih menggunakan cakera keras 477 00:24:07,420 --> 00:24:08,010 dalam sesuatu cara. 478 00:24:08,010 --> 00:24:10,100 >> Walaupun kebanyakan komputer riba kita tidak lagi 479 00:24:10,100 --> 00:24:15,900 mempunyai peranti yang beroperasi seperti ini, bukannya komputer riba hari ini umumnya 480 00:24:15,900 --> 00:24:18,590 mempunyai pemacu keadaan pepejal tanpa bahagian yang bergerak. 481 00:24:18,590 --> 00:24:22,840 Dan yang cenderung untuk menjadi lebih mahal, malangnya, tetapi sedikit lebih cepat 482 00:24:22,840 --> 00:24:27,230 dan a-- baik, kerap, banyak yang lebih cepat, yang merupakan salah satu sebab. 483 00:24:27,230 --> 00:24:28,980 Dan juga ia tidak menghasilkan sebanyak haba. 484 00:24:28,980 --> 00:24:31,680 Ia boleh menjadi lebih kecil, jadi ia umumnya bersih positif. 485 00:24:31,680 --> 00:24:35,030 >> Tetapi ini membolehkan kita untuk memetakan sedikit lebih kukuh apa 486 00:24:35,030 --> 00:24:38,460 kita bercakap tentang di 0 ini dan tahap 1 kini ke peranti fizikal. 487 00:24:38,460 --> 00:24:40,810 Ia satu perkara bagi saya untuk bercakap kira-kira 0 dan 1 dari segi 488 00:24:40,810 --> 00:24:43,990 telefon saya atau abstrak dari segi daripada suis berada di dalam dan di luar. 489 00:24:43,990 --> 00:24:45,340 Tetapi bagaimana pula dengan cakera keras? 490 00:24:45,340 --> 00:24:48,495 Dalam komputer riba anda, jika anda mempunyai yang lebih tua satu, atau dalam komputer desktop anda, 491 00:24:48,495 --> 00:24:51,200 atau pasti dalam pelayan hari ini, di mana anda perlu 492 00:24:51,200 --> 00:24:53,070 cakera keras yang mempunyai terabyte ruang, 493 00:24:53,070 --> 00:24:55,560 4 terabytes ruang, baik apa maksudnya? 494 00:24:55,560 --> 00:24:59,560 >> A cakera keras dengan 1 terabyte cara ruang 495 00:24:59,560 --> 00:25:03,890 ada 1 trilion bait di dalamnya entah bagaimana, 496 00:25:03,890 --> 00:25:10,450 atau setara 8 trilion bit di dalam. 497 00:25:10,450 --> 00:25:16,240 1 terabyte akan menjadi 8 terabit atau 1 trilion bit, yang 498 00:25:16,240 --> 00:25:19,330 bermakna jika anda mempunyai keras memandu, anda perlu entah bagaimana 499 00:25:19,330 --> 00:25:22,400 atau lain-lain satu trilion 0 ini dan di dalam 1 ini daripadanya. 500 00:25:22,400 --> 00:25:25,360 Dan jika kita hanya mengambil lihat pada gambar sewenang-wenangnya cakera keras 501 00:25:25,360 --> 00:25:30,110 wakil, ini adalah apa yang keras memandu biasanya mungkin kelihatan seperti di dalam. 502 00:25:30,110 --> 00:25:32,600 >> Ia juga adalah jenis seperti pemain pikap lama 503 00:25:32,600 --> 00:25:35,350 tetapi secara umumnya dengan beberapa rekod di dalam, jadi 504 00:25:35,350 --> 00:25:38,270 untuk speak-- pelbagai pinggan, kerana mereka dipanggil, 505 00:25:38,270 --> 00:25:42,259 logam cakera bulat, dan maka kepala membaca sedikit, 506 00:25:42,259 --> 00:25:43,550 banyak seperti pemain rekod lama. 507 00:25:43,550 --> 00:25:46,589 Dan kepala membaca bergerak ke belakang dan keluar dan entah bagaimana membaca bit. 508 00:25:46,589 --> 00:25:49,380 Dan apa yang ada di pinggan ini, walaupun walaupun kita manusia tidak boleh melihat mereka, 509 00:25:49,380 --> 00:25:52,757 sama ada dalam realiti atau dalam gambar ini, ada kecil zarah magnet sedikit. 510 00:25:52,757 --> 00:25:55,090 Dan walaupun anda telah lama lupa bagaimana elektrik berfungsi, 511 00:25:55,090 --> 00:25:57,550 zarah magnet yang dicas umumnya 512 00:25:57,550 --> 00:26:00,570 mempunyai akhir utara dan selatan yang end-- supaya utara dan selatan. 513 00:26:00,570 --> 00:26:03,000 Dan supaya dunia hanya memutuskan sedikit masa lalu 514 00:26:03,000 --> 00:26:06,570 bahawa, jika protokol magnet dasarnya adalah sejajar seperti ini, utara-selatan, 515 00:26:06,570 --> 00:26:07,610 mari kita memanggil bahawa 1. 516 00:26:07,610 --> 00:26:10,470 Jika ia bukannya selatan-utara, mari kita hanya menyeru bahawa 0. 517 00:26:10,470 --> 00:26:13,350 Dan jadi jika anda mempunyai sekurang anda gunakan trilion 518 00:26:13,350 --> 00:26:16,300 kecil kecil magnet particles-- dan diharapkan, 519 00:26:16,300 --> 00:26:18,740 kepintaran perkakasan dalam untuk flip mereka di sekeliling 520 00:26:18,740 --> 00:26:24,450 seperti yang anda lihat fit-- jika anda mahu mewakili sejumlah besar 0, anda 521 00:26:24,450 --> 00:26:28,120 hanya perlu 8 zarah magnet semuanya sehaluan seperti ini. 522 00:26:28,120 --> 00:26:30,330 Dan jika anda mahu untuk mewakili lapan 1, anda hanya 523 00:26:30,330 --> 00:26:33,170 memerlukan 8 zarah magnet selaras belakang untuk kembali ke belakang seperti ini. 524 00:26:33,170 --> 00:26:35,515 >> Apa yang saya maksudkan dengan zarah magnet? 525 00:26:35,515 --> 00:26:38,390 Terus terang, selama ini kemudian, perkara yang masih terlintas di fikiran saya 526 00:26:38,390 --> 00:26:42,139 lelaki ini, jika anda membesar dengan perkara ini. 527 00:26:42,139 --> 00:26:43,930 Ini adalah little-- untuk orang-orang yang unfamiliar-- 528 00:26:43,930 --> 00:26:47,810 mainan kanak-kanak kecil yang mempunyai lelaki berbulu ini di sini 529 00:26:47,810 --> 00:26:51,690 yang mempunyai semua ini hitam kecil sedikit zarah magnet yang datang dengan itu. 530 00:26:51,690 --> 00:26:53,930 Dan menggunakan bahawa kayu merah, yang hanya magnet, 531 00:26:53,930 --> 00:26:58,460 anda boleh jenis memberinya misai atau kening atau rambut atau apa-apa kepadanya. 532 00:26:58,460 --> 00:27:00,710 Jadi sebenarnya, jika kita zum dalam, misalnya, ini 533 00:27:00,710 --> 00:27:02,950 adalah jenis permainan anda boleh bermain dengan Wooly Willy. 534 00:27:02,950 --> 00:27:06,570 >> Dan ini adalah hanya untuk mengatakan, ini adalah zarah magnet yang lebih besar 535 00:27:06,570 --> 00:27:09,890 daripada sebenarnya pada cakera keras, dan zarah magnet yang jauh lebih kecil. 536 00:27:09,890 --> 00:27:11,640 Tetapi mari kita benar-benar melihat kemudian jika anda mempunyai 537 00:27:11,640 --> 00:27:14,720 zarah magnet kecil dalam cakera keras, bagaimana anda boleh sebenarnya 538 00:27:14,720 --> 00:27:19,090 menggunakan orang-orang untuk mewakili data. 539 00:27:19,090 --> 00:27:20,070 >> [VIDEO MAIN SEMULA] 540 00:27:20,070 --> 00:27:24,190 >> -The Cakera keras adalah di mana PC anda Kedai kebanyakan data tetapnya. 541 00:27:24,190 --> 00:27:27,170 Untuk berbuat demikian, data yang bergerak dari RAM bersama-sama 542 00:27:27,170 --> 00:27:31,720 dengan isyarat perisian yang memberitahu cakera keras bagaimana untuk menyimpan data itu. 543 00:27:31,720 --> 00:27:36,570 Litar pemacu keras menterjemahkan isyarat ke turun naik voltan. 544 00:27:36,570 --> 00:27:40,880 Ini, seterusnya, mengawal keras pemacu bergerak parts-- beberapa Beberapa bergerak 545 00:27:40,880 --> 00:27:43,440 bahagian kiri dalam komputer moden. 546 00:27:43,440 --> 00:27:47,650 >> Beberapa isyarat mengawal motor, yang berputar pinggan-pinggan logam bersalut. 547 00:27:47,650 --> 00:27:50,980 Data anda sebenarnya disimpan di dalam pinggan ini. 548 00:27:50,980 --> 00:27:56,250 isyarat lain menggerakkan kepala baca / tulis untuk membaca atau menulis data pada pinggan-pinggan. 549 00:27:56,250 --> 00:28:00,100 Jentera ini adalah begitu tepat bahawa rambut manusia tidak boleh walaupun 550 00:28:00,100 --> 00:28:02,800 lulus antara ketua-ketua dan berputar pinggan-pinggan. 551 00:28:02,800 --> 00:28:04,887 Namun, ia berfungsi pada kelajuan yang hebat. 552 00:28:04,887 --> 00:28:05,470 [AKHIR MAIN SEMULA] 553 00:28:05,470 --> 00:28:06,780 Dan anda boleh lihat di bahagian penghujung video, 554 00:28:06,780 --> 00:28:08,340 secara amnya terdapat pelbagai hidangan. 555 00:28:08,340 --> 00:28:10,250 Dan supaya kepala membaca tidak hanya membaca bahagian atas. 556 00:28:10,250 --> 00:28:12,458 Ia adalah jenis seperti tiga atau empat atau lebih kepala membaca 557 00:28:12,458 --> 00:28:14,920 langkah seperti ini, membaca data secara serentak. 558 00:28:14,920 --> 00:28:17,407 >> Jadi ada banyak kerumitan dan jenis masa 559 00:28:17,407 --> 00:28:18,740 yang yang terlibat dalam cakera keras. 560 00:28:18,740 --> 00:28:21,920 Dan perkara yang berputar benar-benar darn cepat, jadi ada banyak kerumitan. 561 00:28:21,920 --> 00:28:25,220 Tetapi mari kita zum dalam sedikit lebih mendalam dan melihat di mana zarah magnet 562 00:28:25,220 --> 00:28:27,370 dan bagaimana kita mendapat mereka. 563 00:28:27,370 --> 00:28:28,750 >> [VIDEO MAIN SEMULA] 564 00:28:28,750 --> 00:28:31,830 >> wajah -Biarkan pada apa yang kita hanya melihat dalam gerak perlahan. 565 00:28:31,830 --> 00:28:35,230 Apabila nadi ringkas elektrik dihantar kepada kepala baca / tulis, 566 00:28:35,230 --> 00:28:39,000 ia lambungan pada elektromagnet kecil untuk sebahagian kecil daripada kedua. 567 00:28:39,000 --> 00:28:41,390 magnet mencipta bidang, yang berubah 568 00:28:41,390 --> 00:28:44,600 kekutuban kecil, kecil sebahagian daripada zarah logam 569 00:28:44,600 --> 00:28:46,960 yang kot permukaan setiap pinggan ini. 570 00:28:46,960 --> 00:28:50,020 Satu siri corak ini kecil dikenakan ke atas kawasan-kawasan pada cakera 571 00:28:50,020 --> 00:28:54,590 mewakili bit tunggal data dalam sistem nombor perduaan yang digunakan oleh komputer. 572 00:28:54,590 --> 00:28:57,510 >> Sekarang, jika semasa itu dihantar satu jalan melalui kepala baca / tulis, 573 00:28:57,510 --> 00:28:59,899 kawasan ini polarisasi dalam satu arah. 574 00:28:59,899 --> 00:29:01,940 Jika semasa itu dihantar dalam arah yang bertentangan, 575 00:29:01,940 --> 00:29:04,020 polarisasi dibalikkan. 576 00:29:04,020 --> 00:29:06,440 Bagaimana anda mendapat data dari cakera keras? 577 00:29:06,440 --> 00:29:08,190 Hanya menterbalikkan proses. 578 00:29:08,190 --> 00:29:10,440 Jadi ia adalah zarah pada cakera yang mendapat semasa 579 00:29:10,440 --> 00:29:12,260 dalam kepala baca / tulis bergerak. 580 00:29:12,260 --> 00:29:14,580 Meletakkan bersama-sama berjuta-juta segmen magnet, 581 00:29:14,580 --> 00:29:16,220 dan anda mempunyai fail. 582 00:29:16,220 --> 00:29:21,030 >> Sekarang, keping satu fail mungkin berselerak di seluruh pinggan memandu ini, 583 00:29:21,030 --> 00:29:24,060 jenis seperti keadaan kucar-kacir kertas di atas meja anda. 584 00:29:24,060 --> 00:29:27,590 Jadi fail lebih istimewa menyimpan menjejaki di mana segala-galanya. 585 00:29:27,590 --> 00:29:30,440 Adakah anda tidak ingin anda mempunyai sesuatu seperti itu? 586 00:29:30,440 --> 00:29:31,290 >> [AKHIR MAIN SEMULA] 587 00:29:31,290 --> 00:29:36,260 >> Jadi yang dirujuk ke sana, mungkin, adalah bahawa topik dari semalam penghapusan. 588 00:29:36,260 --> 00:29:38,380 Apabila anda memadamkan fail, semalam kita berkata 589 00:29:38,380 --> 00:29:41,020 bahawa komputer yang sebenarnya tidak apa, bila anda menyeret sesuatu 590 00:29:41,020 --> 00:29:44,110 ke tong kitar semula atau tong sampah? 591 00:29:44,110 --> 00:29:45,150 Ia hanya lupa ia. 592 00:29:45,150 --> 00:29:47,540 Tetapi 0 dan 1 ini, zarah magnet 593 00:29:47,540 --> 00:29:50,640 yang kelihatan seperti merah dan biru perkara di sini, atau lengan saya di sini, 594 00:29:50,640 --> 00:29:52,350 masih ada pada cakera keras. 595 00:29:52,350 --> 00:29:56,090 >> Dan sebagainya tidak wujud software-- Norton Utilities dan Yesteryear 596 00:29:56,090 --> 00:29:58,159 dan lain-lain yang lebih moden software-- yang hanya 597 00:29:58,159 --> 00:30:01,200 akan mengimbas cakera keras keseluruhan mencari di semua 0 dan 1, kerana ia 598 00:30:01,200 --> 00:30:06,890 ternyata bahawa kebanyakan formats-- fail dokumen Word, Excel fail, imej, 599 00:30:06,890 --> 00:30:10,380 video files-- semua mempunyai tertentu corak yang biasa di kalangan mereka. 600 00:30:10,380 --> 00:30:12,550 Setiap fail video mungkin menjadi video yang berbeza, 601 00:30:12,550 --> 00:30:14,870 tetapi beberapa pertama bit biasanya yang sama. 602 00:30:14,870 --> 00:30:16,790 Atau beberapa bit terakhir biasanya yang sama. 603 00:30:16,790 --> 00:30:19,910 >> Dan sebagainya dengan kebarangkalian yang tinggi, anda boleh mencari orang-orang corak. 604 00:30:19,910 --> 00:30:23,700 Dan walaupun fail itu telah dilupakan, anda boleh berkata dengan kebarangkalian yang tinggi, 605 00:30:23,700 --> 00:30:28,460 tetapi ini kelihatan seperti dokumen Word, membolehkan mendapatkan semula dan un-lupa, 606 00:30:28,460 --> 00:30:28,990 jika anda akan. 607 00:30:28,990 --> 00:30:32,330 Dan sebagainya itu bagaimana anda boleh mendapatkan semula data yang yang sama ada telah sengaja 608 00:30:32,330 --> 00:30:36,560 dipadam atau dipadam atau sengaja dipadam untuk apa jua tujuan. 609 00:30:36,560 --> 00:30:42,530 >> Sebaliknya, penghapusan selamat melakukan apa dalam konteks gambaran seperti ini? 610 00:30:42,530 --> 00:30:44,059 Tepat sekali, menjadikan mereka semua secara rawak. 611 00:30:44,059 --> 00:30:46,350 Jadi ia semacam bergerak beberapa mereka ke bawah, sebahagian daripada mereka, 612 00:30:46,350 --> 00:30:49,433 meninggalkan sebahagian daripada mereka tidak berubah, dan secara amnya membuatkan bunyi rawak daripada itu, 613 00:30:49,433 --> 00:30:52,960 atau hanya mungkin membuat semua mereka 0 atau semua daripada mereka 1. 614 00:30:52,960 --> 00:30:56,350 Dan itu juga boleh umumnya gosok data anda seperti berada. 615 00:30:56,350 --> 00:31:00,160 >> Jadi mari kita kembali sekarang kepada isu ini pemikiran pengiraan, di mana 616 00:31:00,160 --> 00:31:03,270 kita mempunyai input formula. 617 00:31:03,270 --> 00:31:06,390 Dan algoritma memberikan anda output akhirnya. 618 00:31:06,390 --> 00:31:09,270 sekarang kita memberi tumpuan kepada input dan output, kerana sekarang, saya 619 00:31:09,270 --> 00:31:12,159 tuntutan kita mempunyai cara mewakili input dan output. 620 00:31:12,159 --> 00:31:13,450 Kami hanya akan menggunakan binari. 621 00:31:13,450 --> 00:31:15,910 >> Dan tidak kira apa yang kita mahu mewakili hari ini, 622 00:31:15,910 --> 00:31:20,230 sama ada nombor atau surat atau beribu-ribu mengenainya dalam buku telefon 623 00:31:20,230 --> 00:31:23,210 atau imej atau filem, pada akhir hari, itu semua 0 dan 1. 624 00:31:23,210 --> 00:31:26,640 Dan saya mendakwa bahawa, walaupun ini adalah dunia yang sangat mudah dengan hanya 0 ini 625 00:31:26,640 --> 00:31:28,240 dan 1, kita boleh membina diri. 626 00:31:28,240 --> 00:31:32,210 Dan kita telah melihat satu contoh yang dengan huruf setakat ini. 627 00:31:32,210 --> 00:31:35,615 >> Jadi mari kita memberi tumpuan sekarang ini bahan pertengahan, algoritma. 628 00:31:35,615 --> 00:31:38,190 Dan mari kita kembali ke ini contoh Mike Smith. 629 00:31:38,190 --> 00:31:41,689 Jadi di dalam buku telefon ini, yang diakui, kita tidak menggunakan begitu banyak lagi, 630 00:31:41,689 --> 00:31:42,980 ada masalah yang perlu diselesaikan. 631 00:31:42,980 --> 00:31:45,040 Kami mahu mencari seseorang seperti Mike Smith. 632 00:31:45,040 --> 00:31:47,520 >> Dan apa yang saya lakukan untuk mencari Mike? 633 00:31:47,520 --> 00:31:51,197 Well, saya hanya boleh membuka ini book, bermula pada halaman pertama, 634 00:31:51,197 --> 00:31:52,780 dan sedar, oh, saya dalam seksyen A. 635 00:31:52,780 --> 00:31:53,510 Mike tidak ada. 636 00:31:53,510 --> 00:31:55,510 Saya perlukan seksyen S untuk Smith. 637 00:31:55,510 --> 00:31:58,192 Jadi hanya menyimpan beralih satu halaman pada satu masa. 638 00:31:58,192 --> 00:32:00,900 Biar saya berpura-pura bahawa ini adalah semua laman putih dan halaman tidak kuning, 639 00:32:00,900 --> 00:32:02,910 kerana kita tidak akan mencari Mike di halaman kuning pula. 640 00:32:02,910 --> 00:32:04,034 Tetapi saya di halaman putih. 641 00:32:04,034 --> 00:32:05,340 Dan sekarang, saya dalam seksyen B. 642 00:32:05,340 --> 00:32:06,810 Saya masih tak kutemui dia. 643 00:32:06,810 --> 00:32:08,890 Jadi saya terus beralih satu halaman pada satu masa. 644 00:32:08,890 --> 00:32:10,130 >> Ini adalah algoritma. 645 00:32:10,130 --> 00:32:12,440 Ia adalah satu set arahan untuk menyelesaikan beberapa masalah. 646 00:32:12,440 --> 00:32:16,480 Dalam erti kata lain, melihat halaman, jika Mike bukan di atasnya, 647 00:32:16,480 --> 00:32:20,020 menjadikan halaman, dan ulangan lagi dan lagi dan lagi, 648 00:32:20,020 --> 00:32:21,760 ideal melihat ke bawah seperti yang anda lakukan. 649 00:32:21,760 --> 00:32:24,120 Jadi adalah algoritma ini, proses ini, betul? 650 00:32:24,120 --> 00:32:27,400 651 00:32:27,400 --> 00:32:28,830 >> Maaf. 652 00:32:28,830 --> 00:32:30,056 Tidak, saya mendengar beberapa nos. 653 00:32:30,056 --> 00:32:33,250 654 00:32:33,250 --> 00:32:36,125 OK, tetapi ia is-- yeah, ia sudah tentu membosankan. 655 00:32:36,125 --> 00:32:39,000 Seperti, kita akan berada di sini sepanjang hari jika saya terus mencari Mike pada kelajuan ini. 656 00:32:39,000 --> 00:32:41,430 Tetapi biarlah saya mendakwa ia adalah betul. 657 00:32:41,430 --> 00:32:43,850 Ia bodoh, tetapi ia adalah betul. 658 00:32:43,850 --> 00:32:47,209 >> Pada akhir hari, selagi ia mungkin mengambil, saya akan mencari Mike jika dia di sana 659 00:32:47,209 --> 00:32:48,250 dan saya memberi perhatian. 660 00:32:48,250 --> 00:32:50,230 Dan saya akhirnya sampai ke halaman beliau. 661 00:32:50,230 --> 00:32:52,890 Dan jika saya mendapat terlalu jauh, jika Saya sampai ke bahagian T, 662 00:32:52,890 --> 00:32:55,900 maka saya sedikit boleh mengoptimumkan dan hanya berkata, hm, semua dilakukan. 663 00:32:55,900 --> 00:32:57,980 Saya tidak perlu membuang masa pergi ke Z. 664 00:32:57,980 --> 00:33:00,010 Tetapi ini adalah sangat pendekatan linear, jika anda 665 00:33:00,010 --> 00:33:03,370 akan, yang sangat semacam kiri ke kanan pendekatan, satu garis lurus. 666 00:33:03,370 --> 00:33:05,560 Dan ia betul tetapi perlahan. 667 00:33:05,560 --> 00:33:09,250 >> Jadi saya ingat dari sekolah rendah, jenis daripada pengoptimuman dari gred pertama, 668 00:33:09,250 --> 00:33:13,756 di mana saya belajar bagaimana untuk tidak mengira oleh orang-orang tetapi oleh twos-- jadi 2, 4, 6. 669 00:33:13,756 --> 00:33:15,630 Ia adalah A, banyak lebih sukar untuk dilakukan, tetapi dalam teori, ia 670 00:33:15,630 --> 00:33:20,149 faster-- 8, 10, 12, 14, dan sebagainya. 671 00:33:20,149 --> 00:33:21,190 Bagaimana pula dengan algoritma yang? 672 00:33:21,190 --> 00:33:23,150 Adakah ia lebih berkesan? 673 00:33:23,150 --> 00:33:23,880 Adakah ia lebih cepat? 674 00:33:23,880 --> 00:33:25,365 >> PENONTON: Ia adalah cekap. 675 00:33:25,365 --> 00:33:28,560 >> DAVID MALAN: Ya, jadi ia def-- ia literal dua kali lebih cepat, dengan andaian saya 676 00:33:28,560 --> 00:33:30,170 tidak mendapatkan tersandung dengan jari saya. 677 00:33:30,170 --> 00:33:32,294 Ia adalah dua kali lebih cepat, kerana Saya beralih melalui dua 678 00:33:32,294 --> 00:33:36,560 laman sekaligus bukan satu, tetapi ia berpotensi dalam betul, kenapa? 679 00:33:36,560 --> 00:33:37,852 >> PENONTON: Anda ponteng beberapa. 680 00:33:37,852 --> 00:33:41,185 DAVID MALAN: Betul, bagaimana jika Mike berlaku untuk sandwiched-- mungkin apabila saya kemudian 681 00:33:41,185 --> 00:33:44,370 di dalam buku telefon, Mike berlaku untuk menjadi diapit di antara kedua-dua muka surat, 682 00:33:44,370 --> 00:33:46,720 dan saya hanya membuta tuli skip ke atasnya. 683 00:33:46,720 --> 00:33:48,490 Oleh itu, kita perlu menetapkan kecil di sana. 684 00:33:48,490 --> 00:33:51,290 Apabila saya melanda bahagian T, saya tidak boleh hanya yakin mengatakan, 685 00:33:51,290 --> 00:33:52,420 kita tidak mencari Mike Smith. 686 00:33:52,420 --> 00:33:53,770 Saya mungkin perlu menggandakan kembali. 687 00:33:53,770 --> 00:34:00,210 Atau sebenarnya, apabila saya sampai seseorang dinamakan S-N, daripada S-M untuk Smith, 688 00:34:00,210 --> 00:34:02,790 serta-merta, saya boleh menggandakan kembali, kerana mungkin dia 689 00:34:02,790 --> 00:34:03,900 adalah pada halaman sebelumnya. 690 00:34:03,900 --> 00:34:05,070 >> Tetapi saya tidak perlu menggandakan kembali ini. 691 00:34:05,070 --> 00:34:08,030 Secara teori, jika saya melakukannya di sebelah kanan masa, saya hanya kembali satu halaman. 692 00:34:08,030 --> 00:34:10,139 Jadi ia menambah hanya satu langkah tambahan. 693 00:34:10,139 --> 00:34:13,070 Jadi saya telah pergi dua kali lebih cepat, tetapi ia kos saya satu halaman tambahan. 694 00:34:13,070 --> 00:34:14,699 Tetapi yang terasa seperti kemenangan bersih. 695 00:34:14,699 --> 00:34:17,230 >> Tetapi ini bukan bagaimana kebanyakan orang di bilik ini akan menyelesaikan masalah ini. 696 00:34:17,230 --> 00:34:20,313 Apa yang akan orang biasa, mungkin Beberapa tahun yang lalu melakukan, untuk mencari Mike Smith? 697 00:34:20,313 --> 00:34:22,900 698 00:34:22,900 --> 00:34:24,800 Yeah, tidak mencari Mike. 699 00:34:24,800 --> 00:34:27,190 Apa yang saya buat? 700 00:34:27,190 --> 00:34:31,027 Jadi mendapatkan sedikit lebih dekat, tetapi saya know-- apa yang benar tentang sebuah buku telefon? 701 00:34:31,027 --> 00:34:32,110 PENONTON: Ia berjujukan. 702 00:34:32,110 --> 00:34:32,760 DAVID MALAN: Ia berjujukan. 703 00:34:32,760 --> 00:34:33,750 Ia abjad. 704 00:34:33,750 --> 00:34:36,540 Dan jadi jika Saya dalam seksyen M, Mike adalah jelas ke kanan, 705 00:34:36,540 --> 00:34:39,949 Saya benar-benar boleh lusuh masalah di half-- 706 00:34:39,949 --> 00:34:44,360 ia biasanya lebih mudah daripada air mata bahawa- masalah pada separuh dan membuang ia jauh, 707 00:34:44,360 --> 00:34:47,627 supaya sekarang, saya mempunyai masalah itulah tidak lagi 1000 pages-- yang sukar, 708 00:34:47,627 --> 00:34:50,210 kerana saya rasa saya sebenarnya mengoyakkan buku telefon ini tidak time-- 709 00:34:50,210 --> 00:34:52,219 1000 muka surat, tetapi 500. 710 00:34:52,219 --> 00:34:54,750 >> Jadi masalahnya ialah literal separuh besar. 711 00:34:54,750 --> 00:34:58,170 Dan itu cukup menarik, kerana dengan algoritma saya sebelum ini, versi 712 00:34:58,170 --> 00:35:02,870 1 dan 2, saya hanya membuat masalah satu halaman yang lebih kecil, dua muka surat yang lebih kecil 713 00:35:02,870 --> 00:35:03,470 pada satu masa. 714 00:35:03,470 --> 00:35:07,230 Sedangkan sekarang, saya menyatakan dengan 500 muka surat yang lebih kecil sekaligus. 715 00:35:07,230 --> 00:35:10,089 >> OK, jadi sekarang, Karim mencadangkan bahawa saya pergi ke separuh betul. 716 00:35:10,089 --> 00:35:12,380 Jadi, saya akan pergi kira-kira ke tengah, memberi atau mengambil. 717 00:35:12,380 --> 00:35:15,185 Dan jika saya melakukan ini secara matematik, Saya boleh pergi kanan ke tengah. 718 00:35:15,185 --> 00:35:17,060 Dan sekarang, saya sedar, oh, Saya dalam seksyen T. 719 00:35:17,060 --> 00:35:18,280 Saya sebenarnya tidak pergi terlalu jauh. 720 00:35:18,280 --> 00:35:21,670 >> Tetapi saya boleh, sekali lagi, air mata masalah pada separuh, buangkan sahaja. 721 00:35:21,670 --> 00:35:23,330 Dan bait saya tidak seperti yang besar. 722 00:35:23,330 --> 00:35:28,780 Ia hanya, apa, 256 muka surat atau 250 halaman, memberi atau mengambil sekarang. 723 00:35:28,780 --> 00:35:31,570 Tetapi ia masih cara yang lebih daripada satu halaman atau dua muka surat. 724 00:35:31,570 --> 00:35:33,345 >> Dan sekarang, saya pergi secara kasar ke tengah. 725 00:35:33,345 --> 00:35:35,330 Oh, saya tidak pergi agak jauh cukup sekarang. 726 00:35:35,330 --> 00:35:37,880 Jadi saya ulangi, ulang, ulang, ulang, sehingga saya mudah-mudahan 727 00:35:37,880 --> 00:35:40,360 ditinggalkan dengan hanya satu halaman. 728 00:35:40,360 --> 00:35:44,000 >> Supaya menjemput soalan, jika saya bermula dengan kira-kira 1,000 muka surat, 729 00:35:44,000 --> 00:35:47,340 berapa langkah ia mengambil masa saya dengan versi 1 algoritma saya? 730 00:35:47,340 --> 00:35:50,420 Nah, jika Mike adalah dalam S seksyen, dalam kes paling teruk, 731 00:35:50,420 --> 00:35:52,630 itu cukup dekat dengan akhir abjad. 732 00:35:52,630 --> 00:35:56,559 Jadi, jika buku telefon mempunyai 1,000 muka surat, Saya akan mencari Mike dalam 1000 halaman, 733 00:35:56,559 --> 00:35:57,100 memberi atau mengambil. 734 00:35:57,100 --> 00:35:59,750 Mungkin ia seperti 800 atau lebih, tetapi ia cukup hampir 1,000. 735 00:35:59,750 --> 00:36:01,680 >> Manakala, di kedua algoritma, berapa banyak 736 00:36:01,680 --> 00:36:06,840 halaman bertukar maksima mungkin saya memerlukan untuk mencari Mike Smith? 737 00:36:06,840 --> 00:36:09,970 Ada 1000 muka surat, tetapi saya melakukan mereka dua pada satu masa. 738 00:36:09,970 --> 00:36:13,045 Betul, jadi max seperti 500ish, kerana jika saya pergi melalui buku telefon secara keseluruhan, 739 00:36:13,045 --> 00:36:14,170 di mana titik, saya boleh berhenti. 740 00:36:14,170 --> 00:36:16,669 Tetapi saya boleh mencukur beberapa oleh hanya berhenti di bahagian T. 741 00:36:16,669 --> 00:36:19,880 Tetapi ia sekurang-kes paling teruk 500 muka surat. 742 00:36:19,880 --> 00:36:24,710 >> Jadi berapa kali saya boleh membahagikan 1,00o-halaman buku telefon pada separuh lagi 743 00:36:24,710 --> 00:36:30,450 dan lagi dan again-- dari 1000 kepada 500 ke 250-125? 744 00:36:30,450 --> 00:36:32,250 Berapa lama sebelum saya mencecah satu halaman? 745 00:36:32,250 --> 00:36:35,510 746 00:36:35,510 --> 00:36:36,370 Ya, ia adalah kira-kira 10. 747 00:36:36,370 --> 00:36:40,780 Bergantung kepada pembundaran dan itu, ia adalah kira-kira 10 muka surat jumlah keperluan untuk dijadikan 748 00:36:40,780 --> 00:36:43,290 atau buku telefon perlu koyak. 749 00:36:43,290 --> 00:36:44,710 >> Jadi, itu cukup kuat. 750 00:36:44,710 --> 00:36:48,170 Kami bermula dengan satu masalah 1000-page dalam ketiga-tiga cerita-cerita ini. 751 00:36:48,170 --> 00:36:51,850 Tetapi dalam algoritma yang pertama, ia membawa saya, kes paling teruk, 1000 halaman 752 00:36:51,850 --> 00:36:52,740 bertukar untuk mencari Mike. 753 00:36:52,740 --> 00:36:55,590 algoritma Kedua, 500 halaman untuk mencari Mike. 754 00:36:55,590 --> 00:36:58,480 algoritma Ketiga, 10 muka surat untuk mencari Mike. 755 00:36:58,480 --> 00:37:00,230 Dan ia lebih kuat apabila anda berfikir 756 00:37:00,230 --> 00:37:01,860 mengenai jenis senario yang bertentangan. 757 00:37:01,860 --> 00:37:05,680 Katakan syarikat telefon di sebelah tahun mungkin memasukkan dua bandar bersama-sama, 758 00:37:05,680 --> 00:37:08,550 dan buku telefon tiba-tiba ini tebal, bukan yang ini, 759 00:37:08,550 --> 00:37:12,470 supaya 2,000 muka surat dan bukannya 1,000. 760 00:37:12,470 --> 00:37:15,640 Well, algoritma pertama saya cari Mike Smith dalam 2000-halaman buku telefon, 761 00:37:15,640 --> 00:37:21,460 kes lebih teruk, ia akan mengambil berapa banyak halaman bertukar tahun depan? 762 00:37:21,460 --> 00:37:24,800 >> buku telefon adalah 2,000 halaman, so-- baik, tidak satu lagi. 763 00:37:24,800 --> 00:37:29,540 Jika buku telefon adalah dua kali lebih tebal dalam algoritma pertama, algoritma pertama, 764 00:37:29,540 --> 00:37:30,380 2000, bukan? 765 00:37:30,380 --> 00:37:33,005 Dalam kes terburuk, Mike adalah benar-benar menutup hingga akhir buku ini, 766 00:37:33,005 --> 00:37:34,110 jadi ia 2000 gilir halaman. 767 00:37:34,110 --> 00:37:38,070 algoritma kedua akan oleh berdua-dua, seperti 1000 muka surat. 768 00:37:38,070 --> 00:37:41,490 >> Tetapi bagaimana pula dalam ketiga saya dan algoritma yang terkini? 769 00:37:41,490 --> 00:37:44,950 Jika syarikat telefon beregu beberapa halaman dari 1000 ke 2000, 770 00:37:44,950 --> 00:37:47,770 berapa kali lagi perlu saya air mata bahawa buku pada separuh untuk mencari Mike? 771 00:37:47,770 --> 00:37:48,710 >> PENONTON: Hanya satu. 772 00:37:48,710 --> 00:37:51,001 >> DAVID MALAN: Hanya satu lagi, kerana dengan satu halaman lusuh, 773 00:37:51,001 --> 00:37:53,270 Saya benar-benar boleh membahagikan dan menakluk, jika anda akan, 774 00:37:53,270 --> 00:37:57,410 bahawa masalah pada separuh pengambilan santapan besar daripada itu. 775 00:37:57,410 --> 00:38:01,420 Dan hal ini adalah satu contoh kecekapan dan boleh dikatakan algoritma 776 00:38:01,420 --> 00:38:04,100 yang mana kita semua jenis intuitif biasa. 777 00:38:04,100 --> 00:38:07,780 Tetapi ia hanya sebagai betul sebagai algoritma saya yang lain 778 00:38:07,780 --> 00:38:09,630 dengan tweak bahawa untuk algoritma kedua, 779 00:38:09,630 --> 00:38:11,290 tetapi ia begitu jauh lebih efisien. 780 00:38:11,290 --> 00:38:14,030 >> Dan sebenarnya, apa komputer ahli sains, atau seterusnya programmer, 781 00:38:14,030 --> 00:38:17,580 biasanya akan lakukan apabila menulis kod adalah cuba untuk memikirkan, 782 00:38:17,580 --> 00:38:19,960 semua betul, saya tidak mahu saya program hanya sebagai betul, 783 00:38:19,960 --> 00:38:23,220 Saya juga mahu ia menjadi berkesan dan menyelesaikan masalah dengan baik. 784 00:38:23,220 --> 00:38:26,450 Bayangkan dalam dunia sebenar hari ini, seperti indeks Google, carian 785 00:38:26,450 --> 00:38:31,580 seperti berbilion-bilion halaman, bayangkan jika mereka digunakan algoritma yang pertama untuk mencari kucing 786 00:38:31,580 --> 00:38:34,620 antara satu bilion pages-- melihat halaman pertama dalam pangkalan data mereka, 787 00:38:34,620 --> 00:38:37,700 kedua, ketiga, hanya mencari untuk kucing, mencari kucing. 788 00:38:37,700 --> 00:38:40,350 Itu cukup darn memperlahankan ia akan kelihatan. 789 00:38:40,350 --> 00:38:43,170 Mereka sebaliknya boleh menggunakan sesuatu dipanggil carian binari, yang 790 00:38:43,170 --> 00:38:47,420 ada bi coincidence-- bermakna dua, kita terus membahagi sesuatu dalam 2, half-- 791 00:38:47,420 --> 00:38:50,205 mereka boleh menggunakan carian binari dan mungkin mencari kucing lebih cepat, 792 00:38:50,205 --> 00:38:51,830 atau apa sahaja yang anda sedang mencari. 793 00:38:51,830 --> 00:38:54,125 >> Dan terus-terang, ada walaupun algoritma pelamun 794 00:38:54,125 --> 00:38:56,250 yang melakukan lebih daripada sekadar membahagikan perkara-perkara dalam separuh 795 00:38:56,250 --> 00:38:58,180 untuk mencari maklumat dengan cepat. 796 00:38:58,180 --> 00:39:00,880 Dan kita akan bercakap sedikit mengenai orang-orang selepas makan tengah hari hari ini. 797 00:39:00,880 --> 00:39:02,640 Jadi biarlah saya hanya cuba untuk mewakili ini. 798 00:39:02,640 --> 00:39:05,380 Kami tidak perlu pergi ke sebarang matematik atau nombor yang sebenar. 799 00:39:05,380 --> 00:39:07,070 Kita boleh bercakap tentang ini dalam abstrak. 800 00:39:07,070 --> 00:39:11,580 >> Tetapi biarlah saya mencadangkan, jika anda telah mengadakan perbincangan sekarang 801 00:39:11,580 --> 00:39:13,491 dengan jurutera mencadangkan algoritma ini 802 00:39:13,491 --> 00:39:15,490 dan anda cuba untuk membuat keputusan dikira, 803 00:39:15,490 --> 00:39:17,285 kerana mungkin itu jurutera berkata kepada anda, anda 804 00:39:17,285 --> 00:39:19,910 tahu apa, saya boleh melaksanakan carian linear dalam seperti dua minit. 805 00:39:19,910 --> 00:39:21,150 Ia amat mudah. 806 00:39:21,150 --> 00:39:24,790 Carian binari tidak mewah, tetapi ia akan membawa saya seperti 10 minit, 807 00:39:24,790 --> 00:39:26,650 jadi 5 kali lebih lama. 808 00:39:26,650 --> 00:39:30,900 >> Ada perdagangan di sini, walaupun dari segi memutuskan apa perisian untuk menulis. 809 00:39:30,900 --> 00:39:34,760 Adakah anda menulis algoritma yang lebih mudah, yang hanya akan membawa anda dua minit? 810 00:39:34,760 --> 00:39:39,880 Atau adakah anda menghabiskan lebih banyak masa, 10 minit, menulis algoritma pelamun? 811 00:39:39,880 --> 00:39:43,540 Bagaimana anda membuat keputusan yang jenis soalan? 812 00:39:43,540 --> 00:39:46,710 Atau anda boleh membuat ia sedikit lebih nyata. 813 00:39:46,710 --> 00:39:50,610 Saya memberitahu bos saya, ia akan mengambil saya sama ada satu minggu atau 10 minggu 814 00:39:50,610 --> 00:39:52,490 untuk melaksanakan perisian dengan cara ini, bagaimana 815 00:39:52,490 --> 00:39:56,103 anda membuat keputusan yang algoritma untuk lampu hijau? 816 00:39:56,103 --> 00:39:56,603 Karim? 817 00:39:56,603 --> 00:39:57,550 >> PENONTON: Para penonton, saya rasa. 818 00:39:57,550 --> 00:39:57,960 >> DAVID MALAN: Para penonton. 819 00:39:57,960 --> 00:39:59,460 Apa yang anda maksudkan dengan penonton? 820 00:39:59,460 --> 00:40:03,460 >> PENONTON: Jika ia akan untuk digunakan oleh pengguna 821 00:40:03,460 --> 00:40:09,050 yang [didengar] oleh pengguna-pengguna [didengar]. 822 00:40:09,050 --> 00:40:11,232 Tetapi jika ia sesuatu yang anda hanya melakukan untuk diri sendiri 823 00:40:11,232 --> 00:40:13,946 untuk memudahkan masalah, [Didengar] lebih cepat. 824 00:40:13,946 --> 00:40:16,820 DAVID MALAN: Ya, ia adalah cepat dan kotor adalah cara yang baik untuk menerangkan ia. 825 00:40:16,820 --> 00:40:18,695 Malah, jika anda menggambarkan banyak masa saya 826 00:40:18,695 --> 00:40:23,630 di sekolah grad, di mana sering kali, Saya menulis kod buruk sedar so-- 827 00:40:23,630 --> 00:40:26,490 sekurang-kurangnya, itulah bagaimana saya dirasionalkan it-- sedar demikian, 828 00:40:26,490 --> 00:40:30,670 kerana walaupun saya menulis kod yang agak lambat untuk melaksanakan, 829 00:40:30,670 --> 00:40:33,750 Saya dapat menulis kod itu sendiri cukup cepat, perbelanjaan hanya beberapa minit 830 00:40:33,750 --> 00:40:35,107 atau jam bukan hari. 831 00:40:35,107 --> 00:40:37,190 Dan ternyata, saya kadang-kadang diperlukan untuk tidur. 832 00:40:37,190 --> 00:40:41,270 Jadi, walaupun kod saya diperlukan 8 jam untuk berjalan, baik itu baik, 833 00:40:41,270 --> 00:40:42,850 Saya hanya akan pergi untuk tidur semasa ia berjalan. 834 00:40:42,850 --> 00:40:46,350 >> Jadi, pada masa itu, saya fikir ini adalah sangat pandai, walaupun saya nampaknya 835 00:40:46,350 --> 00:40:48,990 bekerja melalui PhD saya perlahan-lahan. 836 00:40:48,990 --> 00:40:52,270 Tetapi akas bagi yang itu, perisian jika saya menulis 837 00:40:52,270 --> 00:40:55,930 untuk orang lain yang lebih penting berbanding saya, baik, 838 00:40:55,930 --> 00:40:59,580 mempunyai mereka menunggu 8 jam untuk kembali hasil carian mereka 839 00:40:59,580 --> 00:41:01,350 tidak semua yang menarik. 840 00:41:01,350 --> 00:41:04,090 Dan sebagainya menghabiskan lebih banyak masa depan untuk menulis perisian 841 00:41:04,090 --> 00:41:07,300 yang lebih cekap, lebih seperti algoritma ketiga kami, 842 00:41:07,300 --> 00:41:09,780 mungkin memberi manfaat kepada pengguna dari masa ke masa. 843 00:41:09,780 --> 00:41:12,710 Jadi ia bergantung lebih masa bagaimana kos-kos menambah. 844 00:41:12,710 --> 00:41:14,960 Jika anda akan menulis perisian untuk menggunakannya sekali, 845 00:41:14,960 --> 00:41:17,240 mungkin juga mungkin melakukan cepat dan kotor, sebagaimana yang mereka katakan. 846 00:41:17,240 --> 00:41:18,198 Hanya membuang bersama-sama. 847 00:41:18,198 --> 00:41:20,560 Ia adalah kod yang memalukan anda, ia begitu buruk, 848 00:41:20,560 --> 00:41:23,860 tetapi ia mendapat pekerjaan yang dilakukan dengan betul, walaupun ia tidak cekap. 849 00:41:23,860 --> 00:41:27,200 Sebaliknya, anda menghabiskan lebih banyak masa pada sesuatu, mendapatkan ia hanya betul. 850 00:41:27,200 --> 00:41:30,730 Dan kemudian dilunaskan sepanjang masa, kos yang pendahuluan masa 851 00:41:30,730 --> 00:41:34,330 mungkin berbaloi, jika anda menyimpan mengoptimumkan untuk kes biasa. 852 00:41:34,330 --> 00:41:37,620 >> Dan sesungguhnya, itulah tema dalam pengaturcaraan, atau komputer sains lebih 853 00:41:37,620 --> 00:41:41,390 secara amnya, cuba untuk mengoptimumkan tidak bagi kes luar biasa 854 00:41:41,390 --> 00:41:44,390 tetapi case-- biasa apa operasi akan berlaku lagi dan lagi? 855 00:41:44,390 --> 00:41:47,730 Jika anda akan mempunyai berbilion-bilion dari pengguna mencari di laman web anda, 856 00:41:47,730 --> 00:41:52,030 anda mungkin perlu menghabiskan tambahan minggu depan menulis perisian yang lebih baik, 857 00:41:52,030 --> 00:41:53,670 supaya semua pengguna anda mendapat manfaat. 858 00:41:53,670 --> 00:41:57,840 Sekarang, mari kita cuba untuk menangkap ini sedikit bergambar, tetapi tidak begitu banyak 859 00:41:57,840 --> 00:41:58,610 berangka. 860 00:41:58,610 --> 00:42:01,680 >> Jadi di sini adalah hanya satu carta sekolah lama. 861 00:42:01,680 --> 00:42:04,260 Dan biarlah saya katakan bahawa ini adalah masa. 862 00:42:04,260 --> 00:42:06,660 Dan ia tidak kira what-- sebenarnya, tidak, bukan masa. 863 00:42:06,660 --> 00:42:08,320 Mari kita meletakkan bahawa pada paksi lain. 864 00:42:08,320 --> 00:42:15,700 Mari kita mengatakan bahawa ini adalah masa, dan ini adalah saiz masalah. 865 00:42:15,700 --> 00:42:17,830 >> Dan seorang saintis komputer umumnya mungkin memanggil 866 00:42:17,830 --> 00:42:20,820 ini hanya n. n adalah seperti kami go-kepada pembolehubah, di mana 867 00:42:20,820 --> 00:42:26,351 n adalah nombor, n nombor, dan ia adalah beberapa apa sahaja input yang anda ada. 868 00:42:26,351 --> 00:42:28,100 Jadi dalam kes ini, n adalah jumlah halaman. 869 00:42:28,100 --> 00:42:30,150 Jadi ia mungkin 1000 dalam kes kita hanya diberitahu. 870 00:42:30,150 --> 00:42:31,969 >> Jadi masa boleh mana-mana unit ukuran. 871 00:42:31,969 --> 00:42:32,760 Mungkin, ia adalah kedua. 872 00:42:32,760 --> 00:42:33,410 Mungkin, ia adalah hari. 873 00:42:33,410 --> 00:42:34,590 Mungkin, ia seperti bertukar halaman. 874 00:42:34,590 --> 00:42:35,215 Tidak mengapa. 875 00:42:35,215 --> 00:42:38,840 Apa sahaja yang anda mahu mengira dalam, yang akan menjadi masa atau kos sebandingnya. 876 00:42:38,840 --> 00:42:42,400 >> Maka dengan itu pertama algoritma, jika saya, misalnya, 877 00:42:42,400 --> 00:42:45,920 mempunyai 1000 muka surat buku telefon, Saya akan menarik dot di sana, 878 00:42:45,920 --> 00:42:51,450 kerana jika ia 1000 muka surat, ia mengambil masa kira-kira 1000 halaman bertukar, memberi atau mengambil. 879 00:42:51,450 --> 00:42:54,100 Dan kemudian jika saya mempunyai 2000-halaman buku telefon, 880 00:42:54,100 --> 00:42:57,200 dan saya akan menarik kedua dot sini, kerana bagi 2000 muka surat, 881 00:42:57,200 --> 00:42:59,810 ia seperti 2000 saat atau halaman bertukar atau apa sahaja. 882 00:42:59,810 --> 00:43:02,480 Dan apabila saya katakan sebelum ini, ia jenis hubungan yang linear, 883 00:43:02,480 --> 00:43:06,020 yang disengajakan, kerana saya mahu kemudian pada-- hak sekarang-- untuk menarik garis. 884 00:43:06,020 --> 00:43:07,770 Ia adalah jenis yang lurus hubungan talian. 885 00:43:07,770 --> 00:43:10,180 cerun adalah 1/1, jika anda akan. 886 00:43:10,180 --> 00:43:14,630 >> Sementara itu, algoritma kedua berkata, jika anda mempunyai 1,000 muka surat 887 00:43:14,630 --> 00:43:17,680 dan anda telah menggunakan algoritma kedua, di mana saya dikira oleh 2, beralih 888 00:43:17,680 --> 00:43:22,564 dua halaman pada satu masa, yang perlu saya menarik titik di bawah atau di atas dot asal saya? 889 00:43:22,564 --> 00:43:23,450 >> PENONTON: Below. 890 00:43:23,450 --> 00:43:27,992 >> DAVID MALAN: Di bawah, kerana seperti yang kita lihat, ia mengambil masa yang kurang, separuh masa yang banyak. 891 00:43:27,992 --> 00:43:29,950 Jadi dot harus setengah setinggi yang lain. 892 00:43:29,950 --> 00:43:33,330 Dan perjanjian sama di sini, dot ini mungkin perlu menjadi kira-kira sana. 893 00:43:33,330 --> 00:43:39,666 Dan sebagainya algoritma kedua saya, begitu juga, mempunyai hubungan yang linear dengan masa. 894 00:43:39,666 --> 00:43:41,990 Dan kita boleh menarik ia seperti itu. 895 00:43:41,990 --> 00:43:45,950 >> Oleh sebab itu, ketiga dan terakhir algoritma adalah agak sukar untuk menarik. 896 00:43:45,950 --> 00:43:49,530 Tetapi intuitif, jika saya telah mendapat 1000 muka surat dengan algoritma ketiga saya, 897 00:43:49,530 --> 00:43:52,340 ia hanya perlu mengambil saya seperti 10 langkah. 898 00:43:52,340 --> 00:43:57,500 Dan jika saya telah mendapat 2,000 muka surat dengan algoritma ketiga saya, 899 00:43:57,500 --> 00:44:01,570 ia perlu tidak mengambil saya 10 langkah-langkah, tetapi 11, hanya satu lagi. 900 00:44:01,570 --> 00:44:03,610 Oleh itu, kita hanya hampir tidak akan melihat ini. 901 00:44:03,610 --> 00:44:06,010 >> Dan ternyata, jika Saya mengezum masuk pada ini, saya 902 00:44:06,010 --> 00:44:09,320 akan membesar-besarkan untuk kesan, bentuk talian itu, akhirnya, 903 00:44:09,320 --> 00:44:11,990 bukan garis ini-- lurus kerana, sesungguhnya jika ia, 904 00:44:11,990 --> 00:44:15,390 ia akan kelihatan lebih seperti others-- ia sebenarnya garis melengkung 905 00:44:15,390 --> 00:44:19,265 bahawa, jika kita zum masuk, akan untuk kelihatan lebih seperti ini. 906 00:44:19,265 --> 00:44:21,670 It-- baik, OK, mengabaikan bahagian ini. 907 00:44:21,670 --> 00:44:25,330 Itu adalah pena saya akan sudut. 908 00:44:25,330 --> 00:44:29,000 Ia adalah satu garis melengkung yang sentiasa meningkat, sentiasa, sentiasa, sentiasa 909 00:44:29,000 --> 00:44:32,100 meningkat, tetapi hanya hanya hampir. 910 00:44:32,100 --> 00:44:36,260 >> Dan sebagainya dari masa ke masa, anda mempunyai hubungan yang lebih seperti ini. 911 00:44:36,260 --> 00:44:37,540 Ia hampir kelihatan lurus. 912 00:44:37,540 --> 00:44:40,330 Tetapi ia pernah jadi perlahan-lahan meningkat. 913 00:44:40,330 --> 00:44:44,780 Tetapi bagi hampir semua mata sepanjang x-paksi anda, paksi mendatar, 914 00:44:44,780 --> 00:44:46,550 ia adalah lebih rendah daripada yang lain-lain talian. 915 00:44:46,550 --> 00:44:49,930 >> Jadi ini mungkin menjadi hubungan yang n, di mana jika anda mempunyai halaman n, 916 00:44:49,930 --> 00:44:51,100 membawa anda n saat. 917 00:44:51,100 --> 00:44:53,320 Ini mungkin menjadi satu hubungan n / 2. 918 00:44:53,320 --> 00:44:56,710 Anda mempunyai halaman n, ia mengambil masa anda n / 2 saat, separuh lagi. 919 00:44:56,710 --> 00:45:00,590 Dan ini adalah logaritma hubungan yang 920 00:45:00,590 --> 00:45:08,920 jika anda masih ingat, log asas 2 daripada menangkap n ini jenis pertumbuhan, jadi untuk bercakap. 921 00:45:08,920 --> 00:45:12,000 Jadi ini adalah jenis suci kaedah berpotensi antara tiga ini 922 00:45:12,000 --> 00:45:15,940 di sini, kerana ia hanya lebih banyak lagi cekap, tetapi boleh dikatakan lebih kompleks 923 00:45:15,940 --> 00:45:18,610 untuk melaksanakan. 924 00:45:18,610 --> 00:45:20,510 Ada soalan? 925 00:45:20,510 --> 00:45:26,220 >> Nah biar saya melakukannya, apa saya membuka tetingkap teks 926 00:45:26,220 --> 00:45:29,100 hanya supaya kita boleh cuba untuk merasmikan sesuatu di sini. 927 00:45:29,100 --> 00:45:32,410 Jadi biarlah saya pergi ke hadapan sekarang dan melaksanakan algoritma ini 928 00:45:32,410 --> 00:45:35,170 untuk mencari Mike Smith dalam kod, jika anda akan, kod pseudo. 929 00:45:35,170 --> 00:45:36,620 Saya tidak akan menggunakan Java atau C ++. 930 00:45:36,620 --> 00:45:38,610 Saya hanya akan menggunakan jenis Bahasa Inggeris seperti sintaksis, yang kita 931 00:45:38,610 --> 00:45:40,151 biasanya akan panggil kod pseudo. 932 00:45:40,151 --> 00:45:41,660 Di sini, saya mempunyai tetingkap kosong. 933 00:45:41,660 --> 00:45:48,180 Dan saya berkata langkah 1 yang algoritma pertama adalah mengambil buku telefon. 934 00:45:48,180 --> 00:45:51,740 Langkah 2 adalah buku terbuka kepada halaman pertama. 935 00:45:51,740 --> 00:45:58,080 Langkah 3 akan melihat halaman untuk Mike Smith. 936 00:45:58,080 --> 00:46:02,740 Jika pada halaman, hubungi Mike. 937 00:46:02,740 --> 00:46:11,640 halaman seterusnya lagi dan pergi ke langkah 3. 938 00:46:11,640 --> 00:46:13,590 Selesai, katakan. 939 00:46:13,590 --> 00:46:18,110 >> Dan oleh itu tidak cukup sempurna, yang kita akan melihat dalam seketika. 940 00:46:18,110 --> 00:46:21,050 Tetapi mari kita mempertimbangkan apa konsep saya diperkenalkan di sini. 941 00:46:21,050 --> 00:46:24,450 Jadi langkah 1 dan 2 dan 3 cukup banyak kata kerja. 942 00:46:24,450 --> 00:46:26,544 Mereka kenyataan, actions-- melakukan ini. 943 00:46:26,544 --> 00:46:28,710 Dan sebagainya dalam pengaturcaraan bahasa, kita akan secara amnya 944 00:46:28,710 --> 00:46:32,349 memanggil mereka kenyataan atau fungsi atau prosedur, 945 00:46:32,349 --> 00:46:33,640 memanggil mereka apa-apa beberapa perkara. 946 00:46:33,640 --> 00:46:35,460 Tetapi mereka hanya actions-- melakukan ini. 947 00:46:35,460 --> 00:46:40,370 >> Langkah 4 adalah berbeza, kerana ia adalah jenis bertanya soalan. 948 00:46:40,370 --> 00:46:42,400 Ia mengatakan kita jenis sekurang-garpu di jalan raya. 949 00:46:42,400 --> 00:46:48,000 Jika Mike adalah pada halaman, memanggil dia, jadi belok kiri, jika anda akan. 950 00:46:48,000 --> 00:46:52,170 Dan jika tidak, kembali kepada beberapa lain page-- atau sebaliknya, maaf, 951 00:46:52,170 --> 00:46:56,650 kembali kepada beberapa langkah lain yang mendorong beberapa jenis gelung membina. 952 00:46:56,650 --> 00:46:59,530 Dan kami melakukannya lagi dan lagi dan lagi. 953 00:46:59,530 --> 00:47:01,300 >> Dan sebenarnya, anda tahu apa? 954 00:47:01,300 --> 00:47:01,800 Yeah. 955 00:47:01,800 --> 00:47:04,704 956 00:47:04,704 --> 00:47:09,010 lain jika pada akhir stop buku. 957 00:47:09,010 --> 00:47:11,624 Oleh itu, kita perlu jenis satu pertiga keadaan, kerana anda 958 00:47:11,624 --> 00:47:14,290 tidak boleh menyimpan beralih iklan halaman nauseum, kerana akhirnya, saya akan 959 00:47:14,290 --> 00:47:15,320 melanda akhir buku ini. 960 00:47:15,320 --> 00:47:18,546 Dan pepijat dalam program yang mungkin tidak menjangkakan senario itu. 961 00:47:18,546 --> 00:47:21,420 Dan kemudian saya hanya sedar, oh, tunggu satu minit, saya perlu senario ketiga. 962 00:47:21,420 --> 00:47:23,900 Jika saya keluar dari halaman, saya harus benar-benar hanya berhenti. 963 00:47:23,900 --> 00:47:25,330 Jika tidak, ia undefined. 964 00:47:25,330 --> 00:47:29,260 Apa yang akan berlaku jika saya terus berkata menjadikan halaman dan kembali, 965 00:47:29,260 --> 00:47:31,810 ini adalah apabila komputer membekukan atau kemalangan, apabila anda menekan 966 00:47:31,810 --> 00:47:34,160 beberapa keadaan yang tidak dijangka seperti itu. 967 00:47:34,160 --> 00:47:37,280 >> Sekarang, bagaimana pula dengan Mike algorithm-- ketiga Smith 968 00:47:37,280 --> 00:47:43,150 mengambil buku telefon, buku yang terbuka untuk first-- untuk 969 00:47:43,150 --> 00:47:48,640 tidak, bukan halaman pertama kali ini, untuk middle-- oh, baik, yang sebaiknya 970 00:47:48,640 --> 00:47:49,640 menjadi algoritma kedua. 971 00:47:49,640 --> 00:47:50,590 Mari kita melangkau ke ketiga. 972 00:47:50,590 --> 00:47:50,930 >> PENONTON: Oh, saya minta maaf. 973 00:47:50,930 --> 00:47:51,971 >> DAVID MALAN: Itu baik. 974 00:47:51,971 --> 00:47:58,590 Mari kita skip to terbuka third-- ke tengah dan kini mencari Mike Smith. 975 00:47:58,590 --> 00:48:02,300 jika pada halaman, hubungi Mike. 976 00:48:02,300 --> 00:48:04,910 Dan kemudian apa yang kita ingin katakan di sini? 977 00:48:04,910 --> 00:48:06,134 lain apa? 978 00:48:06,134 --> 00:48:10,620 979 00:48:10,620 --> 00:48:12,370 Kita boleh menyatakan ini dalam mana-mana cara. 980 00:48:12,370 --> 00:48:13,369 Ada jawapan yang betul. 981 00:48:13,369 --> 00:48:20,819 982 00:48:20,819 --> 00:48:23,735 OK, jika tidak lagi, tetapi kita perlu adalah- OK, kita mahu untuk membahagikan dalam dua, 983 00:48:23,735 --> 00:48:25,630 tetapi adakah kita mahu pergi kiri atau pergi kan? 984 00:48:25,630 --> 00:48:29,560 Bagaimana kita menyatakan tanggapan itu? 985 00:48:29,560 --> 00:48:31,790 Nah, dalam kes Mike, ya, yang adil. 986 00:48:31,790 --> 00:48:35,050 Tetapi OK, jadi itulah sebenarnya titik yang baik. 987 00:48:35,050 --> 00:48:35,550 Itulah denda. 988 00:48:35,550 --> 00:48:36,924 Kami akan terus pergi dengan logik ini. 989 00:48:36,924 --> 00:48:38,182 So-- 990 00:48:38,182 --> 00:48:39,810 >> PENONTON: kurang daripada separuh. 991 00:48:39,810 --> 00:48:40,560 DAVID MALAN: Ya. 992 00:48:40,560 --> 00:48:49,820 Jadi lain jika halaman, kita akan berkata, kurang daripada Smith, di sebelah kiri Smith, 993 00:48:49,820 --> 00:48:52,220 then-- mari kita lihat, ini akan merumitkan? 994 00:48:52,220 --> 00:49:01,885 lain jika halaman datang sebelum Smith, lusuh pada separuh, buang yang separuh? 995 00:49:01,885 --> 00:49:05,643 996 00:49:05,643 --> 00:49:09,140 >> PENONTON: Saya fikir itu adalah [didengar]. 997 00:49:09,140 --> 00:49:11,650 >> DAVID MALAN: Saya mendengar kedua-dua jawapan. 998 00:49:11,650 --> 00:49:12,431 >> PENONTON: Kiri. 999 00:49:12,431 --> 00:49:14,430 DAVID MALAN: OK, membuang jauh meninggalkan separuh, kerana Lakisa 1000 00:49:14,430 --> 00:49:19,700 katakan sebelum ini, sebelah kiri separuh, maka saya jenis 1001 00:49:19,700 --> 00:49:23,940 mahu hanya pergi supaya- saya pergi ke kanan. 1002 00:49:23,940 --> 00:49:27,380 Atau setara, dan saya membuat sedikit sedikit berantakan awal di sini, 1003 00:49:27,380 --> 00:49:30,760 Saya berkesan mahu pergi ke langkah 2 lagi, 1004 00:49:30,760 --> 00:49:38,270 di mana terbuka kepada middle-- atau open-- yeah, mari kita hanya mengatakan, laman ke tengah. 1005 00:49:38,270 --> 00:49:39,020 Dan ini membetulkan ia. 1006 00:49:39,020 --> 00:49:39,936 Ia tidak lagi buku. 1007 00:49:39,936 --> 00:49:42,210 Ia hanya separuh daripada buku, muka surat terbuka sedemikian untuk pertengahan. 1008 00:49:42,210 --> 00:49:44,010 >> else-- hampir di sana. 1009 00:49:44,010 --> 00:49:54,000 Langkah 6, lain jika halaman datang selepas Smith, air mata pada separuh, membuang setengah dari kanan, 1010 00:49:54,000 --> 00:49:55,680 kemudian pergi ke langkah 2. 1011 00:49:55,680 --> 00:49:58,920 1012 00:49:58,920 --> 00:50:05,230 pun berhenti, senario keempat jika kita tidak mempunyai halaman lagi untuk menghidupkan. 1013 00:50:05,230 --> 00:50:06,394 Oleh itu, kita boleh membersihkan sehingga ini. 1014 00:50:06,394 --> 00:50:07,560 Dan kita perlu membersihkan ini sehingga. 1015 00:50:07,560 --> 00:50:10,656 Ini adalah kod yang sangat pseudokod, jika anda akan, penerangan tahap yang sangat tinggi. 1016 00:50:10,656 --> 00:50:12,280 Tetapi ia biasanya menangkap idea. 1017 00:50:12,280 --> 00:50:16,040 >> Dan, sekali lagi, dalam senario ini, kita mempunyai tanggapan keadaan, 1018 00:50:16,040 --> 00:50:20,450 cawangan, garpu di jalan raya, membuat yang decision-- jika ini, pergi cara ini, 1019 00:50:20,450 --> 00:50:23,082 lain jika, pergi cara ini, lain jika, pergi dengan cara itu. 1020 00:50:23,082 --> 00:50:25,040 Dan ini adalah perkara biasa teknik pengaturcaraan 1021 00:50:25,040 --> 00:50:27,721 untuk menentukan arah untuk pergi, jadi untuk bercakap. 1022 00:50:27,721 --> 00:50:29,970 Dan kami juga mempunyai beberapa jenis menggelung struktur, di mana 1023 00:50:29,970 --> 00:50:32,440 kita melakukan sesuatu lagi dan lagi. 1024 00:50:32,440 --> 00:50:34,820 >> Kini, ia ternyata, banyak seperti dalam contoh ini, 1025 00:50:34,820 --> 00:50:37,660 yang super tepat adalah penting. 1026 00:50:37,660 --> 00:50:42,180 Tetapi kita juga telah melihat sesuatu bahawa kita terus memanggil abstraksi. 1027 00:50:42,180 --> 00:50:45,490 Apa yang ia bermaksud untuk mengambil buku telefon? 1028 00:50:45,490 --> 00:50:47,740 Kami hanya jenis mengambil untuk diberikan di dalam bilik ini 1029 00:50:47,740 --> 00:50:49,340 yang yang mempunyai beberapa makna semantik. 1030 00:50:49,340 --> 00:50:51,740 Semua kita hanya jenis tahu, oh, dengan baik, mengambil buku telefon. 1031 00:50:51,740 --> 00:50:52,864 Apa yang benar-benar bermakna? 1032 00:50:52,864 --> 00:50:59,060 Nah, itu benar-benar bermakna melanjutkan tangan, membongkok, melanjutkan jari, 1033 00:50:59,060 --> 00:51:03,890 picit buku antara jari, berdiri, menarik tangan ke arah anda. 1034 00:51:03,890 --> 00:51:05,940 Dan kita boleh menjadi benar-benar bengah tentang perkara ini, 1035 00:51:05,940 --> 00:51:08,640 benar-benar menjadi super tepat apa yang saya lakukan. 1036 00:51:08,640 --> 00:51:13,300 Tetapi semua langkah-langkah secara kolektif adalah apa yang dimaksudkan dengan mengambil sebuah buku telefon. 1037 00:51:13,300 --> 00:51:16,940 >> Dan sebagainya sebelum ini, apabila saya berkata, setiap dua kenyataan ini pertama 1038 00:51:16,940 --> 00:51:20,830 boleh dianggap sebagai meneruskan atau fungsi, 1039 00:51:20,830 --> 00:51:24,090 benar-benar ia mewakili apa yang kita menjaga memanggil abstraksi yang. 1040 00:51:24,090 --> 00:51:28,770 Ia seperti tahap yang tinggi konsep perihal masalah yang 1041 00:51:28,770 --> 00:51:31,110 sebenarnya melibatkan agak beberapa langkah. 1042 00:51:31,110 --> 00:51:34,190 Dan hal ini juga, adalah topik berulang dalam pengaturcaraan, 1043 00:51:34,190 --> 00:51:41,125 di mana saya boleh menulis program yang menggunakan sintaks seperti this-- 1044 00:51:41,125 --> 00:51:42,000 pick_up_phone_book (). 1045 00:51:42,000 --> 00:51:44,344 1046 00:51:44,344 --> 00:51:46,510 Dan kemudian sintaksis, Saya akan mencuri sesuatu 1047 00:51:46,510 --> 00:51:48,090 daripada kebanyakan bahasa pengaturcaraan. 1048 00:51:48,090 --> 00:51:51,270 >> Sekarang, langkah 1 kelihatan lebih lebih seperti fungsi, 1049 00:51:51,270 --> 00:51:53,160 sebagai programmer akan memanggilnya. 1050 00:51:53,160 --> 00:51:58,650 Ia kelihatan seperti kod yang seseorang telah memberikan nama kepada dan diberikan 1051 00:51:58,650 --> 00:52:03,300 kepada saya untuk menggunakan somehow-- dalam lain kata-kata, apa garis yang saya telah menekankan 1052 00:52:03,300 --> 00:52:07,050 mewakili fungsi yang mungkin Saya tidak melaksanakan sendiri. 1053 00:52:07,050 --> 00:52:10,410 Seseorang yang lebih tua, lebih bijak daripada saya sudah digambarkan 1054 00:52:10,410 --> 00:52:12,700 bagaimana anda meluahkan tanggapan memungut buku telefon. 1055 00:52:12,700 --> 00:52:15,860 Dan ia seperti lima langkah saya bingung off, di luar bahagian atas kepala saya. 1056 00:52:15,860 --> 00:52:19,350 >> Tetapi dia telah melaksanakan ini, memberikan mereka beberapa langkah 1057 00:52:19,350 --> 00:52:22,339 nama, pick_up_phone_book. 1058 00:52:22,339 --> 00:52:24,380 Dan kurungan adalah hanya apa yang kebanyakan pengaturcara 1059 00:52:24,380 --> 00:52:27,100 lakukan pada akhir kenyataan-kenyataan seperti ini. 1060 00:52:27,100 --> 00:52:30,190 Saya kini boleh berdiri di atas masing-masing bahu dan tidak lagi, 1061 00:52:30,190 --> 00:52:32,465 berfikir tentang apa yang dimaksudkan untuk mengambil buku telefon. 1062 00:52:32,465 --> 00:52:34,090 Saya hanya boleh berkata, mengambil buku telefon. 1063 00:52:34,090 --> 00:52:36,690 Dan itulah apa yang kita semua manusia lakukan di sini. 1064 00:52:36,690 --> 00:52:38,940 >> Ketika kami mungkin 1 tahun, 2 tahun, 1065 00:52:38,940 --> 00:52:41,690 seseorang mempunyai untuk mengajar kita apa yang ia bertujuan untuk mengambil sebuah buku telefon. 1066 00:52:41,690 --> 00:52:43,810 Dan sejak itu, kami telah disarikan jauh 1067 00:52:43,810 --> 00:52:46,739 dari orang-orang yang sangat tidak menarik langkah mekanikal. 1068 00:52:46,739 --> 00:52:48,530 Dan kita hanya mempunyai pemahaman intuitif 1069 00:52:48,530 --> 00:52:50,480 apa yang dimaksudkan dengan mengambil sebuah buku telefon. 1070 00:52:50,480 --> 00:52:55,730 >> Dan anda boleh membuat anggaran sekarang untuk things-- lebih rumit 1071 00:52:55,730 --> 00:52:57,640 membina bangunan. 1072 00:52:57,640 --> 00:52:59,940 Seperti, bagi sesetengah orang, yang sebenarnya mempunyai makna. 1073 00:52:59,940 --> 00:53:03,080 Kepada kontraktor, untuk arkitek, yang mempunyai beberapa makna. 1074 00:53:03,080 --> 00:53:06,400 Dan mereka akan tahu apa yang perlu dilakukan, jika Saya berkata, pergi membina bangunan. 1075 00:53:06,400 --> 00:53:10,520 >> Tetapi kebanyakan daripada kita di dalam bilik tidak boleh berurusan dengan tahap yang abstraksi. 1076 00:53:10,520 --> 00:53:14,850 Anda perlu memberitahu kami suka pergi mendapatkan spade dan pergi mendapatkan konkrit 1077 00:53:14,850 --> 00:53:17,250 dan kuku kepingan kayu bersama-sama dan apa-apa sahaja 1078 00:53:17,250 --> 00:53:18,830 terlibat dalam membina bangunan. 1079 00:53:18,830 --> 00:53:21,690 Dan itu kerana kita tidak mempunyai lagi diprogramkan untuk memahami 1080 00:53:21,690 --> 00:53:23,629 apa yang dimaksudkan dengan membina bangunan. 1081 00:53:23,629 --> 00:53:24,920 Kami tidak mempunyai abstraksi itu. 1082 00:53:24,920 --> 00:53:26,570 Kami tidak mempunyai fungsi itu. 1083 00:53:26,570 --> 00:53:29,930 >> Dan supaya apa yang anda akan lihat dalam bahasa pengaturcaraan, secara umum, 1084 00:53:29,930 --> 00:53:34,570 bahasa terutama lebih moden, seperti Java, PHP, Ruby dan Python, 1085 00:53:34,570 --> 00:53:37,610 mereka lebih matang daripada bahasa yang lebih tua, 1086 00:53:37,610 --> 00:53:40,140 seperti orang lain C dan C ++ dan lagi. 1087 00:53:40,140 --> 00:53:42,580 Dan supaya mereka datang dengan lebih fungsi terbina dalam. 1088 00:53:42,580 --> 00:53:45,640 Lagi Kod yang telah ditulis oleh orang-orang pada masa lalu 1089 00:53:45,640 --> 00:53:50,520 bahawa kita kini boleh memanggil atau memanggil atau digunakan, kerana saya membayangkan 1090 00:53:50,520 --> 00:53:52,231 pada dengan ini menekankan talian di sini. 1091 00:53:52,231 --> 00:53:55,230 Dan sebagainya walaupun kita tidak bercakap mengenai bahasa pengaturcaraan per se, 1092 00:53:55,230 --> 00:54:00,230 kod hanya pseudokod, semua idea masih dalam perbincangan itu. 1093 00:54:00,230 --> 00:54:04,600 Dan ternyata ketepatan adalah super penting, seperti pengabstrakan. 1094 00:54:04,600 --> 00:54:06,570 Dan mari kita cuba untuk berkomunikasi yang seperti berikut. 1095 00:54:06,570 --> 00:54:11,000 >> Saya secara tidak sengaja mungkin telah rosak ini dengan berkelip slaid pada skrin 1096 00:54:11,000 --> 00:54:12,260 awal. 1097 00:54:12,260 --> 00:54:16,550 Tetapi biarlah saya meminta sukarelawan berani, jika anda tidak keberatan datang. 1098 00:54:16,550 --> 00:54:19,040 Anda akan berada di hadapan daripada kamera, jika anda OK dengan itu. 1099 00:54:19,040 --> 00:54:24,950 Ada sesiapa yang ingin datang dan memberi arahan kepada rakan-rakan anda di sini? 1100 00:54:24,950 --> 00:54:29,540 Hanya perlu datang ke sini dan berdiri di sini dan mengatakan beberapa perkataan. 1101 00:54:29,540 --> 00:54:32,890 >> Victoria tersenyum yang paling dan mengelakkan mata saya yang paling. 1102 00:54:32,890 --> 00:54:34,740 Adakah anda bersedia untuk datang pada sehingga? 1103 00:54:34,740 --> 00:54:35,240 OKEY. 1104 00:54:35,240 --> 00:54:38,480 Dan jika orang lain di tempat duduk anda boleh mengambil sehelai kertas sekerap, 1105 00:54:38,480 --> 00:54:39,750 jika anda akan. 1106 00:54:39,750 --> 00:54:40,760 kertas dibarisi adalah baik. 1107 00:54:40,760 --> 00:54:41,990 Datang sekitar dengan cara ini. 1108 00:54:41,990 --> 00:54:44,580 Atau sebahagian daripada kertas yang anda telah diberikan semalam, 1109 00:54:44,580 --> 00:54:46,493 hanya mana-mana lembaran kosong kertas, jika anda boleh. 1110 00:54:46,493 --> 00:54:52,240 1111 00:54:52,240 --> 00:54:54,870 Dan jika anda tidak mempunyai apa-apa, hanya meminta jiran anda jika anda boleh. 1112 00:54:54,870 --> 00:55:04,220 1113 00:55:04,220 --> 00:55:07,580 >> Jadi buat masa ini, untuk contoh ini, Victoria 1114 00:55:07,580 --> 00:55:11,520 akan memainkan peranan programmer, seorang jurutera, yang 1115 00:55:11,520 --> 00:55:16,130 perlu memprogram kamu semuanya, komputer, untuk melakukan sesuatu. 1116 00:55:16,130 --> 00:55:19,570 Dan kita akan melihat apa andaian anda membuat keputusan untuk membuat. 1117 00:55:19,570 --> 00:55:22,700 Kita akan melihat betapa tepat dia memilih untuk menjadi. 1118 00:55:22,700 --> 00:55:26,220 Dan jika demonstrasi ini pergi pedagogically baik, banyak kesilapan 1119 00:55:26,220 --> 00:55:29,220 akan dibuat, kita kemudian akan menggunakan bahawa sebagai satu peluang untuk perbincangan. 1120 00:55:29,220 --> 00:55:32,010 Tetapi cabaran untuk anda perlu adalah untuk mengelakkan kesalahan yang sama, 1121 00:55:32,010 --> 00:55:32,896 menjadi pengaturcara yang baik. 1122 00:55:32,896 --> 00:55:35,520 Dan jadi cabaran yang dihadapi, jika anda akan suka untuk berjalan di sini, 1123 00:55:35,520 --> 00:55:38,799 adalah di hadapan Victoria pada skrin sini-- dan diharapkan, tiada seorang pun yang 1124 00:55:38,799 --> 00:55:40,590 ingat ini apabila saya pemimpin-pemimpin itu pada skrin. 1125 00:55:40,590 --> 00:55:44,097 Dan tidak pulih sama sekali, kerana terdapat skrin yang lain di dalam bilik ini 1126 00:55:44,097 --> 00:55:44,930 bahawa saya boleh mematikan. 1127 00:55:44,930 --> 00:55:46,620 Jadi jangan pulih. 1128 00:55:46,620 --> 00:55:49,090 >> Di hadapan Victoria adalah jeritan yang sama. 1129 00:55:49,090 --> 00:55:54,170 Dan tugas beliau sekarang adalah untuk memberitahu anda semua pada sekeping anda kertas apa yang menarik. 1130 00:55:54,170 --> 00:55:57,020 Dan kita akan lihat, berdasarkan arahan lisan sahaja, 1131 00:55:57,020 --> 00:56:00,020 kod komputer, jika anda akan, bagaimana tepat lukisan anda 1132 00:56:00,020 --> 00:56:02,330 ialah- pelaksanaan anda berada. 1133 00:56:02,330 --> 00:56:02,980 Masuk akal? 1134 00:56:02,980 --> 00:56:03,604 >> PENONTON: Ya. 1135 00:56:03,604 --> 00:56:04,980 DAVID MALAN: OK, melaksanakan. 1136 00:56:04,980 --> 00:56:06,030 >> PENONTON: Lukiskan segiempat. 1137 00:56:06,030 --> 00:56:09,050 >> [Ketawa] 1138 00:56:09,050 --> 00:56:12,310 >> DAVID MALAN: Dan tidak soalan boleh ditanya. 1139 00:56:12,310 --> 00:56:13,720 Hanya boleh melakukan apa yang anda diberitahu. 1140 00:56:13,720 --> 00:56:17,570 1141 00:56:17,570 --> 00:56:22,550 Oh, dan jika anda mempunyai slaid hari ini buka dalam tab, tidak melihat tab anda. 1142 00:56:22,550 --> 00:56:23,670 OKEY? 1143 00:56:23,670 --> 00:56:26,135 >> PENONTON: OK, melukis bulatan. 1144 00:56:26,135 --> 00:56:32,544 1145 00:56:32,544 --> 00:56:34,872 slope-- A yang boleh saya katakan cerun? 1146 00:56:34,872 --> 00:56:35,830 DAVID MALAN: Sehingga kepada anda. 1147 00:56:35,830 --> 00:56:38,230 1148 00:56:38,230 --> 00:56:38,980 PENONTON: cerun A. 1149 00:56:38,980 --> 00:56:46,330 1150 00:56:46,330 --> 00:56:49,795 Dan segi tiga. 1151 00:56:49,795 --> 00:56:50,850 >> DAVID MALAN: Baiklah. 1152 00:56:50,850 --> 00:56:52,286 Dan di sini hanya seketika. 1153 00:56:52,286 --> 00:56:56,046 1154 00:56:56,046 --> 00:56:58,910 Dan saya akan datang sekitar dalam hanya seketika. 1155 00:56:58,910 --> 00:57:02,420 Dan tidak perlu meletakkan nama anda di atasnya. 1156 00:57:02,420 --> 00:57:05,030 Biar saya datang sekitar dan mengumpul lukisan anda, 1157 00:57:05,030 --> 00:57:08,330 jika anda tidak keberatan mengoyak mereka keluar. 1158 00:57:08,330 --> 00:57:12,110 >> Berikut adalah apa yang kita dapat kembali. 1159 00:57:12,110 --> 00:57:14,770 Saya akan memperlihatkannya pada skrin. 1160 00:57:14,770 --> 00:57:18,310 Saya melihat persegi, bulatan, cerun, dan segi tiga. 1161 00:57:18,310 --> 00:57:20,130 Jadi itu adalah satu jawapan di sana. 1162 00:57:20,130 --> 00:57:23,640 Dan let's-- whoops. 1163 00:57:23,640 --> 00:57:25,370 Terima kasih. 1164 00:57:25,370 --> 00:57:30,710 Berikut adalah pelbagai lain, dan satu di belakangnya. 1165 00:57:30,710 --> 00:57:34,130 1166 00:57:34,130 --> 00:57:37,120 >> Jadi mereka semua seolah-olah menangkap semangat. 1167 00:57:37,120 --> 00:57:38,600 Terima kasih. 1168 00:57:38,600 --> 00:57:44,970 Ada satu lagi, dan inilah satu sama lain. 1169 00:57:44,970 --> 00:57:51,590 Tafsiran yang cerun ialah sedikit berbeza, sedikit curvy. 1170 00:57:51,590 --> 00:57:57,140 Dan yang paling dekat, sama ada kerana kekhususan yang indah yang anda telah 1171 00:57:57,140 --> 00:58:03,520 diterangkan, atau mungkin anda jenis melihatnya sebelum ini, ini memang 1172 00:58:03,520 --> 00:58:06,340 apa Victoria sebenarnya menerangkan. 1173 00:58:06,340 --> 00:58:09,190 >> Tetapi sekarang, orang-orang yang tidak mendapat ia agak betul, 1174 00:58:09,190 --> 00:58:11,140 mari kita menawarkan beberapa bantahan di sini. 1175 00:58:11,140 --> 00:58:13,770 Jadi Victoria pertama berkata menarik segiempat. 1176 00:58:13,770 --> 00:58:15,830 Dan sekarang, kita boleh mengandaikan demi hari ini 1177 00:58:15,830 --> 00:58:17,538 yang semua orang tahu bagaimana untuk menarik segiempat. 1178 00:58:17,538 --> 00:58:20,590 Tetapi itu bukan sepenuhnya jelas, bukan? 1179 00:58:20,590 --> 00:58:23,220 Bagaimana lagi anda boleh mempunyai disediakan persegi, atau di mana 1180 00:58:23,220 --> 00:58:27,114 mungkin menjadi sebahagian daripada kekaburan di sini untuk komputer? 1181 00:58:27,114 --> 00:58:28,280 PENONTON: Lokasi dan saiz. 1182 00:58:28,280 --> 00:58:28,980 DAVID MALAN: Location, bukan? 1183 00:58:28,980 --> 00:58:32,070 Anda semua mempunyai kertas beberapa bentuk, biasanya segi empat tepat, tetapi sedikit 1184 00:58:32,070 --> 00:58:32,830 saiz yang berbeza. 1185 00:58:32,830 --> 00:58:36,250 Tetapi anda pasti boleh dikeluarkan, jika anda mahu, persegi besar, mungkin 1186 00:58:36,250 --> 00:58:37,220 persegi kecil. 1187 00:58:37,220 --> 00:58:38,417 Mungkin, ia telah diputar. 1188 00:58:38,417 --> 00:58:39,500 Saya tidak fikir kita melihat bahawa. 1189 00:58:39,500 --> 00:58:41,790 Tetapi ia boleh menjadi lebih berlian seperti tetapi masih, tetap, 1190 00:58:41,790 --> 00:58:42,900 Secara matematik segiempat. 1191 00:58:42,900 --> 00:58:44,850 Jadi yang dikatakan samar-samar. 1192 00:58:44,850 --> 00:58:46,709 >> Maka kata perempuan itu melukis bulatan. 1193 00:58:46,709 --> 00:58:49,250 Sebahagian daripada anda tidak menarik ia di sebelah ia, yang tidak munasabah, 1194 00:58:49,250 --> 00:58:52,450 kerana manusia cenderung untuk berfikir atau membaca kanan ke kiri dalam kebanyakan bahasa, jadi tidak 1195 00:58:52,450 --> 00:58:53,017 tekaan buruk. 1196 00:58:53,017 --> 00:58:55,100 Tetapi bulatan yang boleh memberi telah di dalam dataran, 1197 00:58:55,100 --> 00:58:57,600 boleh menjadi sekitar persegi, boleh jadi di tempat lain 1198 00:58:57,600 --> 00:58:59,480 pada helaian, jadi boleh dikatakan samar-samar. 1199 00:58:59,480 --> 00:59:03,290 >> Slope mungkin telah mungkin mengambil kebebasan yang paling lisan 1200 00:59:03,290 --> 00:59:04,200 dengan apa yang bermakna. 1201 00:59:04,200 --> 00:59:06,980 Dan di antara kamu ditafsirkan sebagai garis berlekuk-lekuk 1202 00:59:06,980 --> 00:59:08,560 atau garis lurus atau sebagainya. 1203 00:59:08,560 --> 00:59:11,719 Dan kemudian segi tiga, juga, boleh mempunyai telah berorientasikan dalam mana-mana cara. 1204 00:59:11,719 --> 00:59:14,760 Jadi ringkasnya, walaupun dengan sesuatu yang anda pandang dan anda seperti, wow, jadi 1205 00:59:14,760 --> 00:59:17,020 mudah, kanak-kanak boleh menarik ini, juga tidak 1206 00:59:17,020 --> 00:59:19,640 benar-benar, melainkan jika anda super, super meyakinkan 1207 00:59:19,640 --> 00:59:22,045 dan memberitahu komputer apa yang perlu dilakukan. 1208 00:59:22,045 --> 00:59:24,420 Jadi jika kita boleh, jika anda mempunyai lain sehelai kertas, mari kita 1209 00:59:24,420 --> 00:59:26,710 cuba ini sekali lagi. 1210 00:59:26,710 --> 00:59:29,880 Dan saya akan memberikan satu Victoria contoh lain pada skrin di sini. 1211 00:59:29,880 --> 00:59:34,060 Dan sekali lagi, tidak pulih dan tidak melihat slaid anda. 1212 00:59:34,060 --> 00:59:37,304 Dan saya akan memberikan dia masa untuk berfikir tentang bagaimana untuk menerangkan ini. 1213 00:59:37,304 --> 00:59:39,012 Jangan biarkan mereka melihat ketakutan dalam mata anda. 1214 00:59:39,012 --> 00:59:40,820 >> [Ketawa] 1215 00:59:40,820 --> 00:59:43,710 >> Dan sekali lagi, leverage masa ini sebahagian daripada mereka bawa pulang 1216 00:59:43,710 --> 00:59:48,130 dan cuba untuk mendapatkan hampir semua orang sekurang-kurangnya jawapan yang betul. 1217 00:59:48,130 --> 00:59:52,260 >> PENONTON: OK, mengambil sehelai kertas, melihat 1218 00:59:52,260 --> 00:59:54,500 di tengah-tengah yang sekeping kertas. 1219 00:59:54,500 --> 00:59:59,591 Di tengah-tengah bahagian yang kertas, menarik kiub. 1220 00:59:59,591 --> 01:00:01,244 >> [Ketawa] 1221 01:00:01,244 --> 01:00:02,660 DAVID MALAN: Apa yang telah kita pelajari? 1222 01:00:02,660 --> 01:00:03,540 Kami sangat rapat. 1223 01:00:03,540 --> 01:00:06,320 1224 01:00:06,320 --> 01:00:09,045 OK, ulangi jika anda boleh, untuk semua orang. 1225 01:00:09,045 --> 01:00:13,210 >> PENONTON: Di tengah-tengah sehelai kertas, melukis objek, 1226 01:00:13,210 --> 01:00:14,842 yang kelihatan seperti kiub. 1227 01:00:14,842 --> 01:00:17,332 >> DAVID MALAN: OK, itu semua yang anda dapatkan untuk bekerja dengan. 1228 01:00:17,332 --> 01:00:20,010 1229 01:00:20,010 --> 01:00:23,080 Izinkan saya untuk menjadi analitikal dan tidak begitu banyak kritikal, 1230 01:00:23,080 --> 01:00:25,720 tetapi untuk membuat tuntutan bahawa Victoria pasti 1231 01:00:25,720 --> 01:00:28,967 seolah-olah berfikir dalam sangat abstrak tahap tinggi, yang 1232 01:00:28,967 --> 01:00:29,800 tidak munasabah. 1233 01:00:29,800 --> 01:00:32,160 Kerana jika tidak, kita semua cukup berfungsi, 1234 01:00:32,160 --> 01:00:35,740 jika kita mempunyai untuk menjadi yang begitu tepat dengan segala yang kita lakukan di dunia. 1235 01:00:35,740 --> 01:00:38,890 >> Tetapi mengatakan pergi ke I middle-- pemikiran kita atas apa-apa pencapaian yang baik 1236 01:00:38,890 --> 01:00:42,340 di sana, seperti pergi ke tengah sangat halaman, dan kemudian menarik kiub. 1237 01:00:42,340 --> 01:00:45,730 Jadi dia berfikir dalam abstrak, kerana dia masih melihat 1238 01:00:45,730 --> 01:00:48,490 apa yang pada skrin kerana sesungguhnya kiub. 1239 01:00:48,490 --> 01:00:51,185 Tetapi ada begitu banyak peluang untuk tafsiran sana. 1240 01:00:51,185 --> 01:00:53,560 Dan sebenarnya, terdapat begitu banyak cara-cara lain anda boleh meluahkan 1241 01:00:53,560 --> 01:00:55,101 itu, yang saya akan mencadangkan dalam seketika. 1242 01:00:55,101 --> 01:00:59,770 Jadi di sini kita mempunyai satu penjelmaan satu whoops-- yang picture-- 1243 01:00:59,770 --> 01:01:02,830 penjelmaan gambar, jadi sedikit tiga kematraan kepadanya, 1244 01:01:02,830 --> 01:01:04,160 yang bagus. 1245 01:01:04,160 --> 01:01:08,470 >> Berikut adalah satu sama lain, di mana anda mempunyai sama, walaupun ia adalah jenis kiub terbuka. 1246 01:01:08,470 --> 01:01:12,020 Sesetengah orang mengambil ia sedikit lebih rata, dua dimensi. 1247 01:01:12,020 --> 01:01:13,910 Dan itulah denda. 1248 01:01:13,910 --> 01:01:17,380 Jadi ada, sesungguhnya dalam pusat kertas. 1249 01:01:17,380 --> 01:01:22,720 Yang ini saya fikir anda akan seperti, kerana jika kita pergi di sini, 1250 01:01:22,720 --> 01:01:25,130 ini adalah apa yang dia menerangkan. 1251 01:01:25,130 --> 01:01:29,570 Jadi sekarang, biarlah saya mencadangkan bagaimana lagi kita mungkin menggambarkan keadaan ini. 1252 01:01:29,570 --> 01:01:34,070 >> Kembali pada hari itu, salah satu yang paling cara yang lebih biasa untuk belajar pengaturcaraan 1253 01:01:34,070 --> 01:01:38,900 adalah untuk menulis kod, menulis baris arahan, 1254 01:01:38,900 --> 01:01:42,640 yang dikawal sedikit penyu pada skrin. 1255 01:01:42,640 --> 01:01:45,660 Logo dan varian lain ini adalah nama bahasa. 1256 01:01:45,660 --> 01:01:47,550 Dan penyu hidup dalam dunia yang. 1257 01:01:47,550 --> 01:01:49,970 >> Jadi andaikan segi empat tepat ini ruang adalah dunianya. 1258 01:01:49,970 --> 01:01:53,340 Dan anda akan bermula dengan assuming-- Saya tidak benar-benar tahu bagaimana untuk menarik penyu, 1259 01:01:53,340 --> 01:01:54,740 jadi mari kita melakukannya seperti ini. 1260 01:01:54,740 --> 01:01:57,340 Dan kemudian dia mendapat shell dan kemudian mungkin beberapa kaki. 1261 01:01:57,340 --> 01:01:59,840 Jadi, anda mungkin mempunyai ini sedikit watak pada skrin. 1262 01:01:59,840 --> 01:02:02,270 >> Dan objek ini bahasa pengaturcaraan 1263 01:02:02,270 --> 01:02:06,070 adalah untuk memaksa penyu untuk pergi ke atas, bawah, kiri, kanan 1264 01:02:06,070 --> 01:02:08,420 dan meletakkan pen ke bawah atau mengambil pen ke atas, 1265 01:02:08,420 --> 01:02:12,720 jadi dia sebenarnya boleh menarik pada skrin di dunia ini segi empat tepat sangat rata. 1266 01:02:12,720 --> 01:02:16,850 Jadi di mana saya fikir anda mungkin akan pergi, dan di mana anda perlu mengambil kira menyelam 1267 01:02:16,850 --> 01:02:19,520 turun ke mental apabila menerangkan arahan yang lebih umum, 1268 01:02:19,520 --> 01:02:21,720 Saya akan menuntut, diletakkan anda pen ke bawah dalam middle-- yang 1269 01:02:21,720 --> 01:02:23,100 dan kami akan menghilangkan penyu, kerana saya tidak boleh benar-benar 1270 01:02:23,100 --> 01:02:24,680 menyimpan lukisan dia dengan baik. 1271 01:02:24,680 --> 01:02:27,170 >> Dan kini, bagaimana lagi boleh Saya katakan menarik kiub? 1272 01:02:27,170 --> 01:02:32,830 Nah, kita boleh mengatakan sesuatu seperti seri garis timur laut pepenjuru, misalnya, 1273 01:02:32,830 --> 01:02:35,182 atau pada sudut 45 darjah ke atas. 1274 01:02:35,182 --> 01:02:36,640 Dan yang mungkin telah mendapat saya di sini. 1275 01:02:36,640 --> 01:02:38,380 Dan saya cukup jauh dari kiub. 1276 01:02:38,380 --> 01:02:42,430 Tetapi sekarang, saya boleh mengatakan sesuatu seperti menukar 90 darjah ke kiri 1277 01:02:42,430 --> 01:02:47,370 dan menarik garis sama panjang barat laut. 1278 01:02:47,370 --> 01:02:49,470 Dan saya boleh terus dengan arahan yang sama. 1279 01:02:49,470 --> 01:02:50,720 Dan ia tidak akan menjadi mudah. 1280 01:02:50,720 --> 01:02:53,345 Dan terus-terang, kita mungkin akan telah berada di sini selama lima minit. 1281 01:02:53,345 --> 01:02:59,600 Tetapi mungkin kita akan mendapat ke sesuatu yang, pada akhir hari, 1282 01:02:59,600 --> 01:03:04,280 berakhir menjadi kiub, tetapi kita menyelam dalam abstraksi yang 1283 01:03:04,280 --> 01:03:06,370 untuk melakukannya pada apa-apa yang rendah tahap yang anda tidak boleh benar-benar 1284 01:03:06,370 --> 01:03:09,795 melihat apa yang anda lakukan sehingga seluruh perkara yang sebenarnya ada pada halaman. 1285 01:03:09,795 --> 01:03:12,670 Dan jadi ini adalah satu prinsip umum, sekali lagi, sudah programming-- idea ini 1286 01:03:12,670 --> 01:03:13,320 abstraksi. 1287 01:03:13,320 --> 01:03:15,920 Ia begitu hebat kuat, kerana sekali lagi, 1288 01:03:15,920 --> 01:03:19,281 dia hanya berkata, menarik kiub, yang semua kita cukup banyak akan grok dengan cepat. 1289 01:03:19,281 --> 01:03:21,030 Kami hanya akan memahami, OK, menarik kiub. 1290 01:03:21,030 --> 01:03:24,030 Kita mungkin tidak tahu orientasi, supaya kita boleh menjadi sedikit lebih tepat, 1291 01:03:24,030 --> 01:03:26,297 tetapi kita biasanya boleh gambar atau tahu apa kiub adalah. 1292 01:03:26,297 --> 01:03:28,130 Dan itulah yang berguna, kerana jika setiap kali anda 1293 01:03:28,130 --> 01:03:31,540 duduk sebagai pengaturcara di keyboard anda untuk menulis kod, 1294 01:03:31,540 --> 01:03:33,912 jika anda mempunyai untuk berfikir pada apa-apa tahap yang rendah, tiada seorang pun daripada kami 1295 01:03:33,912 --> 01:03:35,120 akan pernah mendapatkan apa jua yang dilakukan. 1296 01:03:35,120 --> 01:03:38,259 Dan sesungguhnya, tiada seorang pun daripada kami akan menikmati proses menulis kod. 1297 01:03:38,259 --> 01:03:41,550 Ia akan menjadi seperti menulis dalam 0 dan 1 ini, yang terus-terang tidak begitu lama lalu 1298 01:03:41,550 --> 01:03:43,680 manusia telah menulis kod dalam 0 dan 1. 1299 01:03:43,680 --> 01:03:46,960 Dan kami dengan cepat datang dengan ini languages-- tahap yang lebih tinggi 1300 01:03:46,960 --> 01:03:49,410 C ++ dan Java dan lain-lain. 1301 01:03:49,410 --> 01:03:52,500 >> Jadi mari kita cuba ini sekali lagi hanya untuk flip jadual, supaya kita semua 1302 01:03:52,500 --> 01:03:55,450 mempunyai peluang untuk berfikir di agak cara yang sama. 1303 01:03:55,450 --> 01:03:59,230 Bolehkah kita mendapat satu lagi sukarelawan ini masa untuk tampil kepada lembaga dan menarik, 1304 01:03:59,230 --> 01:04:01,480 tidak membaca? 1305 01:04:01,480 --> 01:04:02,070 Yeah, OK. 1306 01:04:02,070 --> 01:04:04,820 Ben, datang ke atas. 1307 01:04:04,820 --> 01:04:08,510 Dan, Ben, dalam kes ini, sebaik sahaja anda menghadapi lembaga, tidak kelihatan kiri, 1308 01:04:08,510 --> 01:04:09,370 tidak kelihatan betul. 1309 01:04:09,370 --> 01:04:12,367 Hanya melakukan apa yang anda rakan-rakan di sini memberitahu anda. 1310 01:04:12,367 --> 01:04:14,950 Dan untuk orang lain dalam bilik, anda kini pengaturcara. 1311 01:04:14,950 --> 01:04:16,020 Dia komputer. 1312 01:04:16,020 --> 01:04:21,395 Dan gambar yang saya telah dipilih di sini terlebih dahulu adalah salah satu ini di sini. 1313 01:04:21,395 --> 01:04:24,490 1314 01:04:24,490 --> 01:04:27,660 Mereka just-- mereka berfikir jenaka lucu semua. 1315 01:04:27,660 --> 01:04:31,510 >> Demikian akan tidak seseorang suka sukarelawan arahan pertama 1316 01:04:31,510 --> 01:04:35,470 atau pernyataan yang sepatutnya pen arahan Ben? 1317 01:04:35,470 --> 01:04:40,850 Dan kami akan melakukan ini secara kolektif, mungkin satu arahan dari setiap orang. 1318 01:04:40,850 --> 01:04:41,440 Saya minta maaf? 1319 01:04:41,440 --> 01:04:42,440 >> PENONTON: Lukiskan satu bulatan. 1320 01:04:42,440 --> 01:04:45,866 DAVID MALAN: Lukis bulatan adalah perkara pertama yang saya dengar. 1321 01:04:45,866 --> 01:04:47,100 >> PENONTON: Sehingga atas. 1322 01:04:47,100 --> 01:04:48,140 >> DAVID MALAN: Sehingga atas. 1323 01:04:48,140 --> 01:04:52,504 OK, kita boleh membiarkan anda memadam, batal. 1324 01:04:52,504 --> 01:04:53,420 Dan kini, orang lain. 1325 01:04:53,420 --> 01:04:55,994 Dan, anda akan selesa menawarkan arahan seterusnya? 1326 01:04:55,994 --> 01:05:02,070 >> PENONTON: Pasti, menarik pusat bahagian bawah bulatan, 1327 01:05:02,070 --> 01:05:07,121 dengan small-- sedikit ruang kecil itu, 1328 01:05:07,121 --> 01:05:15,420 menarik garis lurus ke bawah hingga tiga suku daripada jalan ke bawah lembaga 1329 01:05:15,420 --> 01:05:17,845 sudut sedikit ke kiri anda. 1330 01:05:17,845 --> 01:05:21,250 1331 01:05:21,250 --> 01:05:22,620 >> DAVID MALAN: Baik. 1332 01:05:22,620 --> 01:05:24,086 >> PENONTON: sudut sedikit. 1333 01:05:24,086 --> 01:05:32,807 >> DAVID MALAN: Undo, Control-Z. OKEY. 1334 01:05:32,807 --> 01:05:34,890 Andrew, anda mahu untuk menawarkan sehingga arahan seterusnya? 1335 01:05:34,890 --> 01:05:35,515 >> PENONTON: Pasti. 1336 01:05:35,515 --> 01:05:43,250 Dari bahagian bawah talian itu, yang angle-- sedikit lagi 1337 01:05:43,250 --> 01:05:49,024 whoops-- mungkin kira-kira satu pertiga panjang [didengar], 1338 01:05:49,024 --> 01:05:52,928 sudut sedikit ke bawah dan seperti pertiga daripada panjang [didengar]. 1339 01:05:52,928 --> 01:05:57,550 1340 01:05:57,550 --> 01:06:00,578 Jadi ya, dari sudut itu, menarik garis satu pertiga 1341 01:06:00,578 --> 01:06:04,150 daripada panjang sebelumnya line lagi ke kiri. 1342 01:06:04,150 --> 01:06:08,416 1343 01:06:08,416 --> 01:06:10,040 >> DAVID MALAN: OK Itu? 1344 01:06:10,040 --> 01:06:12,330 garis lurus, itu OK? 1345 01:06:12,330 --> 01:06:14,900 OK, Olivier, anda mahu untuk menawarkan sehingga seterusnya? 1346 01:06:14,900 --> 01:06:28,564 >> PENONTON: [didengar] dari bahagian bawah bulatan, [didengar]. 1347 01:06:28,564 --> 01:06:32,000 1348 01:06:32,000 --> 01:06:45,126 Menarik di sebelah kanan [didengar] sentimeter. 1349 01:06:45,126 --> 01:06:46,560 >> [Ketawa] 1350 01:06:46,560 --> 01:06:49,872 >> DAVID MALAN: Saya rasa anda akan perlu menukar itulah inci di sini. 1351 01:06:49,872 --> 01:06:50,764 >> PENONTON: Hentikan. 1352 01:06:50,764 --> 01:06:52,186 >> [Ketawa] 1353 01:06:52,186 --> 01:06:54,570 >> DAVID MALAN: OK. 1354 01:06:54,570 --> 01:06:56,660 [? Ara,?] Yang anda mahu untuk menawarkan sehingga seterusnya? 1355 01:06:56,660 --> 01:07:00,653 1356 01:07:00,653 --> 01:07:15,443 >> PENONTON: Lukiskan [didengar] atas [didengar] yang sama. 1357 01:07:15,443 --> 01:07:28,829 [Didengar] bulatan, menarik kepada [Didengar] dan menarik [didengar]. 1358 01:07:28,829 --> 01:07:33,799 1359 01:07:33,799 --> 01:07:36,730 >> DAVID MALAN: OK, tidak lebih batal. 1360 01:07:36,730 --> 01:07:38,390 Mari kita buat satu atau dua lagi arahan. 1361 01:07:38,390 --> 01:07:40,825 Chris, anda mahu untuk menawarkan satu? 1362 01:07:40,825 --> 01:07:46,182 >> PENONTON: Di bahagian bawah bulatan, [didengar] 1363 01:07:46,182 --> 01:07:51,528 menarik garis terasa licin sama ke bawah ke kiri [didengar]. 1364 01:07:51,528 --> 01:07:59,304 1365 01:07:59,304 --> 01:08:00,590 >> DAVID MALAN: OK. 1366 01:08:00,590 --> 01:08:01,170 Andrew? 1367 01:08:01,170 --> 01:08:02,472 Kami did-- Karim? 1368 01:08:02,472 --> 01:08:06,891 1369 01:08:06,891 --> 01:08:13,765 >> PENONTON: Bermula dari garis yang betul, akhir garisan kiri, bahagian bawah, 1370 01:08:13,765 --> 01:08:21,012 anda akan pergi betul tentang panjang yang sama seperti garis yang 1371 01:08:21,012 --> 01:08:27,680 yang anda gunakan, lukisan untuk yang betul [didengar]. 1372 01:08:27,680 --> 01:08:33,572 1373 01:08:33,572 --> 01:08:37,991 [Didengar] darjah, jadi [didengar] darjah di sebelah kanan. 1374 01:08:37,991 --> 01:08:41,919 1375 01:08:41,919 --> 01:08:43,500 >> DAVID MALAN: Baiklah. 1376 01:08:43,500 --> 01:08:44,029 Mari kita berhenti seketika. 1377 01:08:44,029 --> 01:08:44,950 Tidak pulih lagi. 1378 01:08:44,950 --> 01:08:46,783 Mari kita berhenti sejenak, dan mari kita cuba satu percubaan lain 1379 01:08:46,783 --> 01:08:48,850 sebelum kita mendedahkan kepada Ben apa yang dia telah melukis. 1380 01:08:48,850 --> 01:08:51,189 Bolehkah anda shuffle Ben untuk yang right-- atau sebenarnya, 1381 01:08:51,189 --> 01:08:54,080 tidak, mari kita hanya memberikan anda lembaga lain, yang lebih baik. 1382 01:08:54,080 --> 01:08:57,640 Demikian akan seseorang kini suka untuk mengambil lebih banyak pendekatan 1383 01:08:57,640 --> 01:09:02,149 bahawa Victoria mengambil lebih awal pada, di mana kita bercakap dalam abstraksi tahap yang lebih tinggi 1384 01:09:02,149 --> 01:09:05,149 dan hanya dalam ayat atau dua menerangkan kepada Ben 1385 01:09:05,149 --> 01:09:07,229 apa yang menarik tanpa mendapat ke dalam rumpai, 1386 01:09:07,229 --> 01:09:10,670 jadi untuk bercakap, di ini tahap yang lebih rendah? 1387 01:09:10,670 --> 01:09:11,206 Victoria. 1388 01:09:11,206 --> 01:09:11,706 [Ketawa] 1389 01:09:11,706 --> 01:09:14,249 PENONTON: Lukiskan satu angka manusia berjalan. 1390 01:09:14,249 --> 01:09:18,866 Dan kaki dan tangannya perlu sebelah kanan. 1391 01:09:18,866 --> 01:09:20,505 >> DAVID MALAN: OK, itu sahaja yang anda dapat. 1392 01:09:20,505 --> 01:09:27,210 1393 01:09:27,210 --> 01:09:27,710 Baiklah. 1394 01:09:27,710 --> 01:09:31,609 Kenapa kita tidak mendedahkan kepada Ben apa yang dia lakukan. 1395 01:09:31,609 --> 01:09:32,890 Jadi pusingan tepukan. 1396 01:09:32,890 --> 01:09:35,700 Itu adalah yang paling sukar mungkin. 1397 01:09:35,700 --> 01:09:37,931 >> Jadi, walaupun kita berbicara dari segi agak bodoh 1398 01:09:37,931 --> 01:09:39,680 kira-kira hanya melukis gambar, mudah-mudahan anda 1399 01:09:39,680 --> 01:09:44,226 benar-benar boleh menghargai tahap ekspresi yang mungkin perlu 1400 01:09:44,226 --> 01:09:45,850 untuk memberitahu komputer apa yang perlu dilakukan. 1401 01:09:45,850 --> 01:09:50,370 Dan sebenarnya, hakikat bahawa Ben dapat menarik ini begitu cepat 1402 01:09:50,370 --> 01:09:54,227 adalah jenis bukti menggunakan bahasa, mungkin tahap yang lebih tinggi 1403 01:09:54,227 --> 01:09:57,060 versi Bahasa Inggeris, yang membolehkan dia hanya menggunakan kata-kata, atau mendengar kata-kata 1404 01:09:57,060 --> 01:09:59,990 dari Victoria, yang membolehkan dia ini abstractions-- hanya menarik 1405 01:09:59,990 --> 01:10:03,020 seorang tokoh berjalan ke right-- yang jenis mempunyai 1406 01:10:03,020 --> 01:10:07,100 beberapa makna semantik kepadanya bahawa tidak hampir yang jelas apabila anda hanya 1407 01:10:07,100 --> 01:10:10,310 berkata, meletakkan pen anda ke bawah, menarik ke kanan, menarik ke kiri. 1408 01:10:10,310 --> 01:10:12,420 >> Dan hal ini juga, adalah sangat biasa dalam pengaturcaraan. 1409 01:10:12,420 --> 01:10:15,253 Ini akan dikatakan seperti bahasa tahap yang sangat rendah, program 1410 01:10:15,253 --> 01:10:16,730 dalam 0 dan 1 jika anda akan. 1411 01:10:16,730 --> 01:10:19,320 Dan ini akan menjadi tahap yang lebih tinggi bahasa pengaturcaraan di Jawa, 1412 01:10:19,320 --> 01:10:20,278 atau sesuatu seperti itu. 1413 01:10:20,278 --> 01:10:22,050 Sedikit yang melampaui batas, tetapi itu 1414 01:10:22,050 --> 01:10:24,310 jenis seperti emosi perasaan yang anda rasa apabila 1415 01:10:24,310 --> 01:10:26,630 menggunakan satu jenis perkara atau yang lain. 1416 01:10:26,630 --> 01:10:32,650 Sedikit kekecewaan sini oleh keperluan untuk ketepatan itu, tetapi peluang 1417 01:10:32,650 --> 01:10:34,930 menjadi longgar sedikit dengan tafsiran di sini. 1418 01:10:34,930 --> 01:10:38,060 Tetapi sudah tentu, pepijat boleh timbul akibat. 1419 01:10:38,060 --> 01:10:40,500 >> Jika anda lebih suka pada home-- kita tidak akan melakukan satu ini dalam class-- 1420 01:10:40,500 --> 01:10:41,900 tetapi jika anda ingin membawa satu rumah ini, 1421 01:10:41,900 --> 01:10:43,387 Saya fikir kita akan menyelam ke dalam ini. 1422 01:10:43,387 --> 01:10:45,970 Jadi, jika anda ingin bermain ini permainan dengan lain penting anda 1423 01:10:45,970 --> 01:10:49,180 atau anak-anak atau sebagainya, anda mungkin menikmati itu juga. 1424 01:10:49,180 --> 01:10:54,460 >> Jadi mari kita pergi ke hadapan dan melihat kepada satu lepas perkara di sini untuk pemikiran pengiraan. 1425 01:10:54,460 --> 01:10:57,010 Dan ini membawa kita kepada John Oliver, bukan untuk klip 1426 01:10:57,010 --> 01:11:00,070 anda mungkin telah melihat malam tadi, tetapi untuk satu isu yang agak baru-baru ini. 1427 01:11:00,070 --> 01:11:03,310 Beberapa bulan yang lalu, Volkswagen mengambil masa agak sedikit kritikan 1428 01:11:03,310 --> 01:11:05,651 untuk apa sebab, jika kamu mengetahui? 1429 01:11:05,651 --> 01:11:07,025 Apa yang mereka mendapat masalah untuk? 1430 01:11:07,025 --> 01:11:10,270 1431 01:11:10,270 --> 01:11:14,030 >> Ya, jadi emissions-- mereka cuba untuk mengalahkan pelepasan 1432 01:11:14,030 --> 01:11:19,100 ujian oleh dasarnya mempunyai mereka kereta mencemarkan alam sekitar kurang 1433 01:11:19,100 --> 01:11:23,620 apabila kereta mereka sedang diuji dan mencemarkan alam sekitar yang lebih 1434 01:11:23,620 --> 01:11:25,547 apabila kereta tidak diuji. 1435 01:11:25,547 --> 01:11:28,630 Dan apa yang semakin menarik di dunia, kerana anda mungkin mempunyai disimpulkan 1436 01:11:28,630 --> 01:11:34,072 dari perbincangan like-- apa yang it-- CarPlay, perisian Apple untuk kereta 1437 01:11:34,072 --> 01:11:35,780 dan hakikat bahawa banyak kita semakin 1438 01:11:35,780 --> 01:11:38,390 mempunyai skrin sentuh dalam kereta kami, ada sejumlah menakutkan 1439 01:11:38,390 --> 01:11:41,250 perisian dalam rakyat kereta hari ini, yang 1440 01:11:41,250 --> 01:11:45,650 terus terang membuka satu tin seluruh cacing apabila ia datang kepada keselamatan dan risiko fizikal. 1441 01:11:45,650 --> 01:11:48,070 Tetapi hari ini, mari kita memberi tumpuan kepada hanya apa yang 1442 01:11:48,070 --> 01:11:52,170 terlibat dalam perisian bertulis yang mungkin telah gamed sistem. 1443 01:11:52,170 --> 01:11:54,510 >> Takrif yang masalah, bagi mereka yang tidak dikenali, 1444 01:11:54,510 --> 01:11:55,740 mari kita lihat John Oliver. 1445 01:11:55,740 --> 01:11:58,115 Dan bagi mereka yang biasa dengan masalah ini, mari kita lihat ia 1446 01:11:58,115 --> 01:12:00,480 dalam kanta yang menyeronokkan melalui John Oliver juga. 1447 01:12:00,480 --> 01:12:05,810 Jadi biarlah saya tekan bermain di ini, saya berfikir, tiga minit pengenalan. 1448 01:12:05,810 --> 01:12:07,074 Tak guna. 1449 01:12:07,074 --> 01:12:07,740 [VIDEO MAIN SEMULA] 1450 01:12:07,740 --> 01:12:08,170 -Cars-- 1451 01:12:08,170 --> 01:12:09,919 DAVID MALAN: Jelas sekali, di YouTube, it's-- 1452 01:12:09,919 --> 01:12:12,500 - --Di Aksara bijak di Fast and Furious filem. 1453 01:12:12,500 --> 01:12:16,080 Minggu ini, pembuat kereta Jerman Volkswagen mendapati dirinya 1454 01:12:16,080 --> 01:12:19,430 di tengah-tengah skandal perkadaran yang berpotensi jenayah. 1455 01:12:19,430 --> 01:12:23,020 >> -Volkswagen Bersedia untuk menghadapi berbilion denda, mungkin tuduhan jenayah 1456 01:12:23,020 --> 01:12:25,530 untuk kakitangannya, kerana syarikat itu meminta maaf 1457 01:12:25,530 --> 01:12:28,790 untuk penipuan 11 juta kereta untuk membantu ia menewaskan ujian pelepasan. 1458 01:12:28,790 --> 01:12:32,110 >> model diesel -Certain direka dengan perisian canggih yang 1459 01:12:32,110 --> 01:12:35,410 maklumat yang digunakan, termasuk kedudukan stereng dan kenderaan 1460 01:12:35,410 --> 01:12:38,820 kelajuan, untuk menentukan kereta itu menjalani ujian pelepasan. 1461 01:12:38,820 --> 01:12:42,620 Di bawah keadaan yang, enjin akan mengurangkan pelepasan toksik. 1462 01:12:42,620 --> 01:12:46,040 Tetapi kereta itu rigged untuk bypass bahawa apabila ia dipandu. 1463 01:12:46,040 --> 01:12:51,370 Pelepasan meningkat 10 hingga 40 kali melebihi paras EPA boleh diterima. 1464 01:12:51,370 --> 01:12:55,920 >> -Wow, 10 hingga 40 kali lebih besar daripada EPA membolehkan. 1465 01:12:55,920 --> 01:12:59,570 Itulah perkara yang paling teruk Volkswagen yang pernah dilakukan, 1466 01:12:59,570 --> 01:13:04,200 adalah sesuatu yang anda mungkin berkata jika anda tidak pernah mendengar Perang Dunia II. 1467 01:13:04,200 --> 01:13:09,710 Tetapi mungkin tanda yang paling pasti bagaimana masalah yang lebih Volkswagen dalam, 1468 01:13:09,710 --> 01:13:12,730 adalah orang yang sekurang- bahagian telah meletak jawatan. 1469 01:13:12,730 --> 01:13:16,320 Ketua Pegawai Eksekutif meletak jawatan pada hari Rabu selepas bergegas untuk melakukan kawalan kerosakan, 1470 01:13:16,320 --> 01:13:20,380 berkata beliau tanpa henti maaf, yang kedengaran hebat sehingga ternyata 1471 01:13:20,380 --> 01:13:22,920 dia hanya 10% maaf tetapi telah rigged mulutnya 1472 01:13:22,920 --> 01:13:25,600 buatan mengembung sorriness beliau. 1473 01:13:25,600 --> 01:13:29,700 Dan sementara itu, Volkswagen AS Ketua mempunyai permohonan maaf sendiri. 1474 01:13:29,700 --> 01:13:33,580 >> -Biar Kita jelas tentang perkara ini, syarikat kami adalah tidak jujur. 1475 01:13:33,580 --> 01:13:37,140 Dan dalam perkataan Jerman saya, kami telah sama sekali kacau sehingga. 1476 01:13:37,140 --> 01:13:41,360 >> -Yeah, Tetapi sama sekali diskrukan sehingga tidak kerja-kerja Jerman. 1477 01:13:41,360 --> 01:13:43,750 Dan bahasa Jerman mempunyai banyak frasa indah 1478 01:13:43,750 --> 01:13:50,070 untuk menggambarkan keadaan seperti ini, seperti [GERMAN], yang bermaksud kira-kira, 1479 01:13:50,070 --> 01:13:52,870 kesedihan yang datang dari pembohongan yang berkaitan dengan perniagaan, 1480 01:13:52,870 --> 01:13:59,060 atau [GERMAN], yang diterjemahkan sebagai memalukan bapa yang melibatkan 1481 01:13:59,060 --> 01:14:00,352 awan petrol. 1482 01:14:00,352 --> 01:14:02,060 Ia adalah bahasa yang indah. 1483 01:14:02,060 --> 01:14:04,660 Ia hanya layar off lidah. 1484 01:14:04,660 --> 01:14:07,920 Dan dengan cara itu, manakala lelaki itu permohonan maaf mungkin kedengaran ikhlas, 1485 01:14:07,920 --> 01:14:12,260 ia adalah diperhatikan beliau berkata demikian pada sebuah parti pelancaran rasmi untuk 2016 1486 01:14:12,260 --> 01:14:17,310 Volkswagen Passat, yang bermaksud bahawa sebentar lagi selepas berkata maaf, beliau berkata demikian. 1487 01:14:17,310 --> 01:14:18,850 >> -Terima Kasih kerana sudi datang. 1488 01:14:18,850 --> 01:14:19,630 Nikmati petang. 1489 01:14:19,630 --> 01:14:21,300 Sehingga seterusnya adalah Lenny Kravitz. 1490 01:14:21,300 --> 01:14:24,640 >> [MUZIK Bermain] 1491 01:14:24,640 --> 01:14:28,230 >> -OK, OK, berakhir anda permohonan maaf dengan sehingga seterusnya 1492 01:14:28,230 --> 01:14:31,940 Lenny Kravitz tidak menjerit penyesalan tenang. 1493 01:14:31,940 --> 01:14:35,830 Ia menjerit, kami bertanya Bon Jovi, dan dia berkata tidak. 1494 01:14:35,830 --> 01:14:38,600 jenama Volkswagen mempunyai telah rosak teruk. 1495 01:14:38,600 --> 01:14:42,466 Dan terus-terang, iklan baru mereka kempen tidak betul-betul membantu. 1496 01:14:42,466 --> 01:14:47,289 >> - [GERMAN], kami di Volkswagen mahu memohon maaf kerana menipu anda dengan 1497 01:14:47,289 --> 01:14:47,930 kenderaan kami. 1498 01:14:47,930 --> 01:14:48,513 >> [AKHIR MAIN SEMULA] 1499 01:14:48,513 --> 01:14:54,090 DAVID MALAN: Jadi ini adalah satu cara bulatan dengan- sorry-- 1500 01:14:54,090 --> 01:14:58,730 ini adalah cara yang Bulatan memperkenalkan masalah asas 1501 01:14:58,730 --> 01:15:02,810 dalam perisian, yang adalah bahawa anda perlu untuk mengesan keadaan tertentu. 1502 01:15:02,810 --> 01:15:07,680 Dan sebagainya soalan di tangan di sini adalah, bagaimana kereta yang berpotensi, 1503 01:15:07,680 --> 01:15:09,870 seperti yang diterapkan dalam perisian oleh pengaturcara ini, 1504 01:15:09,870 --> 01:15:11,850 mengesan bahawa ia sebenarnya sedang diuji? 1505 01:15:11,850 --> 01:15:14,150 Jadi untuk menjadi super jelas, apa yang mereka lakukan 1506 01:15:14,150 --> 01:15:17,940 adalah, dalam persekitaran di mana pengaturcara digambarkan 1507 01:15:17,940 --> 01:15:20,460 kereta itu sedang diuji, mereka entah bagaimana dibuat 1508 01:15:20,460 --> 01:15:24,840 kereta memancarkan kurang pengeluaran, kurang pelepasan, wasap jadi kurang toksik 1509 01:15:24,840 --> 01:15:25,470 dan apa-apa. 1510 01:15:25,470 --> 01:15:27,261 Tetapi apabila ia biasanya memandu di jalan raya, 1511 01:15:27,261 --> 01:15:30,350 ia hanya akan mengeluarkan sebanyak pencemaran kerana ia mahu. 1512 01:15:30,350 --> 01:15:33,870 >> Jadi bagaimana kita boleh menulis pseudokod untuk algoritma ini? 1513 01:15:33,870 --> 01:15:37,820 Bagaimana kita boleh menulis pseudokod untuk perisian yang berjalan di dalam kereta? 1514 01:15:37,820 --> 01:15:43,390 Maksud saya, secara ringkas, ia mendidih turun ke sesuatu seperti ini. 1515 01:15:43,390 --> 01:15:48,000 jika diuji, mengeluarkan kurang. 1516 01:15:48,000 --> 01:15:50,750 lagi mengeluarkan banyak lagi. 1517 01:15:50,750 --> 01:15:52,630 Tetapi itu sedikit terlalu tinggi, bukan? 1518 01:15:52,630 --> 01:15:58,580 >> Mari kita cuba untuk menyelam dalam apa ini abstraksi menjadi cara diuji. 1519 01:15:58,580 --> 01:16:06,340 Dalam erti kata lain, walaupun anda tahu apa-apa tentang kereta, apa jenis soalan 1520 01:16:06,340 --> 01:16:13,440 anda mungkin meminta untuk menentukan sama anda sedang diuji, jika anda kereta? 1521 01:16:13,440 --> 01:16:19,638 Apa ciri-ciri mungkin hadir jika kereta yang sedang diuji? 1522 01:16:19,638 --> 01:16:21,026 >> PENONTON: Menguji peralatan. 1523 01:16:21,026 --> 01:16:22,420 >> DAVID MALAN: Peralatan Ujian. 1524 01:16:22,420 --> 01:16:26,060 Jadi, jika peralatan ujian berdekatan, kemudian mengeluarkan kurang. 1525 01:16:26,060 --> 01:16:28,669 Jadi saya boleh bayangkan melaksanakan bahawa dengan beberapa jenis kamera 1526 01:16:28,669 --> 01:16:29,960 atau mengesan apa yang di sekeliling anda. 1527 01:16:29,960 --> 01:16:32,870 Dan biarlah saya mencadangkan, bahawa hanya merasa terlalu rumit 1528 01:16:32,870 --> 01:16:37,914 untuk benar-benar mempunyai tambahan perkakasan hanya untuk tujuan itu. 1529 01:16:37,914 --> 01:16:44,830 >> PENONTON: Jika anda berada dalam park, jika hud anda dibuka. 1530 01:16:44,830 --> 01:16:47,320 >> DAVID MALAN: Di taman atau hud terbuka, jadi itulah yang baik. 1531 01:16:47,320 --> 01:16:47,420 >> PENONTON: Dan kereta berjalan. 1532 01:16:47,420 --> 01:16:50,480 >> DAVID MALAN: Jadi itu sedikit lebih concrete-- dan kereta berjalan. 1533 01:16:50,480 --> 01:16:55,690 Jadi ini akan menjadi konjungsi yang Beberapa keadaan yang berbeza, jika anda akan. 1534 01:16:55,690 --> 01:16:59,227 Jadi, jika kereta itu adalah di taman, dan juga walaupun ini adalah satu perkara yang sangat mekanikal 1535 01:16:59,227 --> 01:17:01,060 biasanya, saya boleh bayangkan menulis perisian, 1536 01:17:01,060 --> 01:17:03,476 terutama kerana ada sering cahaya ada hari ini, 1537 01:17:03,476 --> 01:17:07,400 Saya dapat membayangkan adanya perisian yang boleh query shifter 1538 01:17:07,400 --> 01:17:10,634 atau tidak apa, adakah anda di taman, adalah anda di dalam pemacu, adakah anda secara terbalik. 1539 01:17:10,634 --> 01:17:12,550 Dan saya boleh mendapatkan kembali yang menjawab itulah sama ada ya 1540 01:17:12,550 --> 01:17:14,400 atau tidak kepada orang-orang jenis soalan. 1541 01:17:14,400 --> 01:17:17,630 >> Oleh itu, saya boleh juga mungkin menjawab soalan seperti, adakah hud terbuka. 1542 01:17:17,630 --> 01:17:21,860 Mungkin, ada beberapa jenis sensor yang sama ada memberikan saya kembali 1 atau 0, 1543 01:17:21,860 --> 01:17:23,720 benar atau palsu, hud terbuka. 1544 01:17:23,720 --> 01:17:28,180 Dan kemudian kereta berjalan, saya dapat mengesan yang entah bagaimana melalui apa mekanisme? 1545 01:17:28,180 --> 01:17:30,430 Seperti, kereta sedang berjalan, saya dapat mengesan bahawa itu pada, 1546 01:17:30,430 --> 01:17:32,127 boleh saya mengesan entah bagaimana kereta itu bergerak? 1547 01:17:32,127 --> 01:17:32,881 >> PENONTON: RPMs. 1548 01:17:32,881 --> 01:17:35,190 >> DAVID MALAN: Ya, jadi tidak sentiasa jarum yang yang 1549 01:17:35,190 --> 01:17:38,034 memberitahu anda berapa banyak putaran per minit roda alami. 1550 01:17:38,034 --> 01:17:39,200 Oleh itu, saya boleh melihat bahawa. 1551 01:17:39,200 --> 01:17:43,090 Dan jika ia bukan 0, yang mungkin bermakna kereta sedang bergerak. 1552 01:17:43,090 --> 01:17:45,400 Tetapi kita perlu menjadi sedikit berhati-hati di sana, 1553 01:17:45,400 --> 01:17:49,780 because-- mari memudahkan this-- jika kita hanya berkata, jika kereta berjalan, 1554 01:17:49,780 --> 01:17:53,070 kita tidak mahu hanya mengeluarkan kurang, kita mahu jika kereta sedang berjalan 1555 01:17:53,070 --> 01:17:54,310 dan ia sedang diuji. 1556 01:17:54,310 --> 01:17:56,320 >> Jadi, terdapat beberapa yang lain bahan-bahan yang orang 1557 01:17:56,320 --> 01:18:00,550 telah hipotesis perisian lakukan, kerana tidak hadir kod sumber sebenar, 1558 01:18:00,550 --> 01:18:05,130 anda, hanya semacam membuat kesimpulan dari kesan fizikal kereta apa 1559 01:18:05,130 --> 01:18:08,280 mungkin berlaku di bawah hud dalam perisian. 1560 01:18:08,280 --> 01:18:17,090 Jadi, jika kereta berjalan dan mungkin, katakan, roda belakang tidak bergerak, 1561 01:18:17,090 --> 01:18:19,420 mungkin ini dianggap sebagai tanda beberapa jenis ujian? 1562 01:18:19,420 --> 01:18:22,830 Apa yang saya membayangkan di sini? 1563 01:18:22,830 --> 01:18:24,830 Ya, mungkin, ia adalah pada satu daripada perkara-perkara roller, 1564 01:18:24,830 --> 01:18:28,340 di mana seperti roda beralih di hadapan atau di belakang, 1565 01:18:28,340 --> 01:18:32,570 bergantung kepada sama ada ia adalah roda depan atau pacuan roda belakang, supaya separuh daripada roda 1566 01:18:32,570 --> 01:18:34,420 yang bergerak, tetapi dua yang lain tidak, yang 1567 01:18:34,420 --> 01:18:36,320 adalah satu keadaan pelik dalam dunia sebenar. 1568 01:18:36,320 --> 01:18:38,110 Jika anda memandu di jalan raya, yang tidak sepatutnya berlaku. 1569 01:18:38,110 --> 01:18:40,568 Tetapi jika anda berada dalam gudang pada beberapa jenis sistem roller, 1570 01:18:40,568 --> 01:18:41,630 bahawa sesungguhnya mungkin berlaku. 1571 01:18:41,630 --> 01:18:46,980 >> Saya rasa orang juga mencadangkan bahawa mungkin, jika kereta sedang berjalan dan stereng 1572 01:18:46,980 --> 01:18:51,300 roda tidak bergerak, yang juga mungkin menjadi isyarat, 1573 01:18:51,300 --> 01:18:54,090 kerana itulah yang munasabah bagi seperti merta di jalan. 1574 01:18:54,090 --> 01:18:57,960 Tetapi walaupun begitu, manusia itu mungkin bergerak sedikit atau pasti 1575 01:18:57,960 --> 01:18:59,100 lebih beberapa saat. 1576 01:18:59,100 --> 01:19:01,030 Atau perjalanan suatu minit, kemungkinan ia tidak 1577 01:19:01,030 --> 01:19:03,510 akan fixated dalam tepat kedudukan yang sama. 1578 01:19:03,510 --> 01:19:05,440 >> Jadi dalam erti kata lain, kita boleh mengambil penolakan, 1579 01:19:05,440 --> 01:19:08,200 adakah anda sedang diuji, dan memecahkan fungsi yang 1580 01:19:08,200 --> 01:19:10,420 ke dalam bahan-bahan komponen. 1581 01:19:10,420 --> 01:19:13,440 Dan itu benar-benar apa yang Volkswagen jurutera entah bagaimana lakukan. 1582 01:19:13,440 --> 01:19:17,070 Mereka menulis perisian secara sedar untuk mengesan jika kereta itu sedang diuji, 1583 01:19:17,070 --> 01:19:20,440 oleh itu memancarkan kurang, lain mengeluarkan dengan cara yang biasa. 1584 01:19:20,440 --> 01:19:22,690 >> Dan masalah di sini, juga, adalah bahawa perisian tidak 1585 01:19:22,690 --> 01:19:26,080 sesuatu yang anda benar-benar boleh melihat kecuali anda mempunyai kod sumber yang dipanggil. 1586 01:19:26,080 --> 01:19:29,060 Jadi ada dua jenis code-- sekurang-kurangnya dua jenis 1587 01:19:29,060 --> 01:19:30,130 kod dalam dunia. 1588 01:19:30,130 --> 01:19:33,150 Ada sesuatu yang dinamakan sumber kod, yang tidak tidak seperti apa yang 1589 01:19:33,150 --> 01:19:37,240 kami telah menulis, kod sumber. 1590 01:19:37,240 --> 01:19:40,099 >> Ini adalah kod sumber yang ditulis dalam bahasa yang dipanggil kod pseudo, 1591 01:19:40,099 --> 01:19:41,640 yang hanya sesuatu bahasa Inggeris seperti. 1592 01:19:41,640 --> 01:19:43,140 Tidak ada definisi formal itu. 1593 01:19:43,140 --> 01:19:46,770 Tetapi C dan Java, C ++, orang-orang semua bahasa rasmi itu, 1594 01:19:46,770 --> 01:19:50,610 apabila anda menulis di dalamnya, apa yang anda perlu adalah fail teks yang mengandungi kod sumber. 1595 01:19:50,610 --> 01:19:54,850 >> Tetapi ada juga sesuatu dalam dunia yang dipanggil kod mesin. 1596 01:19:54,850 --> 01:20:00,579 Dan kod mesin, malangnya, hanya 0 dan 1. 1597 01:20:00,579 --> 01:20:02,870 Jadi kod mesin adalah apa yang Mesin memahami, sudah tentu. 1598 01:20:02,870 --> 01:20:04,470 kod sumber adalah apa yang manusia faham. 1599 01:20:04,470 --> 01:20:08,390 >> Dan secara amnya, tidak tetapi biasa, terdapat program yang 1600 01:20:08,390 --> 01:20:14,090 yang seorang programmer menggunakan yang mengambil sumber kod dan bertukar ke dalam kod mesin. 1601 01:20:14,090 --> 01:20:17,400 Dan program yang umumnya dipanggil pengkompil. 1602 01:20:17,400 --> 01:20:19,820 Jadi input anda adalah kod sumber, output anda adalah kod mesin, 1603 01:20:19,820 --> 01:20:22,890 dan pengkompil adalah sekeping perisian yang melakukan proses itu. 1604 01:20:22,890 --> 01:20:26,260 Jadi ini sebenarnya maps dengan baik untuk input kami, algoritma, output. 1605 01:20:26,260 --> 01:20:30,400 >> Tetapi ini adalah satu penjelmaan yang sangat khusus itu, yang mengatakan bahawa, 1606 01:20:30,400 --> 01:20:34,200 walaupun anda memiliki salah satu daripada Volkswagen kereta yang bersalah dalam hal ini, 1607 01:20:34,200 --> 01:20:38,390 ia tidak seperti anda hanya boleh membuka hud atau membuka manual pengguna atau melihat 1608 01:20:38,390 --> 01:20:42,690 kod sumber, kerana pada masa ia mencapai kereta anda di jalan masuk rumah anda, 1609 01:20:42,690 --> 01:20:45,580 ia sudah menjadi ditukar kepada 0 dan 1. 1610 01:20:45,580 --> 01:20:51,310 Dan ia adalah sangat keras, tidak mustahil, tetapi sangat sukar untuk memungut banyak apa-apa 1611 01:20:51,310 --> 01:20:53,710 daripada hanya mencari di mendasari 0 dan 1. 1612 01:20:53,710 --> 01:20:57,150 Jadi, anda boleh memikirkan ia keluar, akhirnya, jika anda memahami bagaimana mesin operates-- 1613 01:20:57,150 --> 01:20:59,870 Intel inside-- jika anda memahami seni bina Intel, 1614 01:20:59,870 --> 01:21:01,440 tetapi ia memakan masa yang sangat. 1615 01:21:01,440 --> 01:21:05,010 Dan di sana, anda mungkin tidak dapat melihat segala-galanya 1616 01:21:05,010 --> 01:21:08,220 bahawa kod sebenarnya boleh lakukan. 1617 01:21:08,220 --> 01:21:12,521 >> Sebarang soalan mengenai ini atau ini jenis proses secara umum? 1618 01:21:12,521 --> 01:21:15,134 1619 01:21:15,134 --> 01:21:18,300 Dan sebenarnya, kita boleh mengikat perbincangan ini perbincangan semalam pada Apple. 1620 01:21:18,300 --> 01:21:22,500 Ini juga sebabnya mengapa FBI tidak boleh hanya pergi dan melihat di dalam telefon suspek 1621 01:21:22,500 --> 01:21:26,820 dan mencari baris kod, untuk contoh, yang membolehkan kod laluan 1622 01:21:26,820 --> 01:21:28,940 atau membolehkan bahawa kelewatan 80 milisaat. 1623 01:21:28,940 --> 01:21:31,630 Kerana pada masa itu pada iPhone rakan-rakan ini, 1624 01:21:31,630 --> 01:21:34,975 ia sudah menjadi ditukar kepada 0 dan 1. 1625 01:21:34,975 --> 01:21:38,015 1626 01:21:38,015 --> 01:21:40,820 >> Nah, mari kita berhenti seketika di sini untuk kami melihat pemikiran pengiraan. 1627 01:21:40,820 --> 01:21:42,320 Apa kata kita berehat 15 minit. 1628 01:21:42,320 --> 01:21:44,130 Dan apabila kita kembali, kita akan kita lihat pada program 1629 01:21:44,130 --> 01:21:46,550 sendiri dan mula untuk memetakan beberapa konsep-konsep peringkat tinggi 1630 01:21:46,550 --> 01:21:49,780 kepada yang sebenar, jika suka bermain, bahasa pengaturcaraan. 1631 01:21:49,780 --> 01:21:51,089