[MUZIK bermain] [Tepuk tangan] DAVID J. MALAN: Ini adalah CS50, Pengenalan Universiti Harvard kepada intelek perusahaan sains komputer dan seni pengaturcaraan. Sekarang jika anda adalah antara orang-orang yang setiap tahun duduk di sini dengan sedikit saraf dalam fikiran anda, seperti bahawa anda tidak berfikir anda tergolong di sini, anda berfikir bahawa kebanyakan sesiapa duduk di sekeliling anda tahu lebih daripada anda, memang lebih selesa daripada anda pada komputer sains komputer atau lebih umum, menyedari bahawa 78% daripada pelajar yang kini mengambil CS50 tidak mempunyai pengalaman terdahulu. Malah, terdapat 100 titik ada pada paparan, 78 yang berwarna hijau pepejal, yang bermakna anda, jika anda di kalangan demografi yang, adalah syarikat yang sangat baik di sini pada keluar. Dan jika anda bukan di kalangan 22% pelajar CS50 orang yang sesungguhnya mempunyai pengalaman terdahulu, sama ada di sekolah tinggi atau beberapa program lain, menyedari bahawa anda juga akan dicabar dalam perjalanan. Bukan sahaja kita mempunyai trek yang berbeza untuk pelajar-pelajar kurang selesa dan lebih selesa sama dalam bahagian, kami juga telah dipanggil edisi penggodam kebanyakan masalah menetapkan bahawa akan mencabar pelajar-pelajar dengan pengalaman tambahan untuk meneroka bahan yang sama tetapi dari yang lebih perspektif yang canggih. Tetapi apa yang sains komputer? Nah, akhirnya, apa yang akan perkara seperti yang anda meneroka bidang ini tidak begitu banyak di mana anda berakhir berbanding dengan rakan-rakan anda, tetapi jika anda diri anda berakhir di dalam 12 minggu berbanding di mana anda bermula di sini pada minggu sifar. Sekarang komputer science-- baik, mari kita memanggilnya sains computation-- di mana pengiraan adalah benar-benar hanya cara mewah untuk mengatakan, mengambil input tertentu, menghasilkan beberapa output, dan berbuat demikian dengan menjalankan algoritma, set arahan untuk menyelesaikan beberapa masalah kepada orang-orang input untuk menghasilkan beberapa keluaran atau penyelesaian di mana anda berminat. Oleh itu, kita baru-baru ini telah kesempatan untuk melancong ke luar ke California untuk bertemu dengan lulusan satu. Namanya Susan Wojcicki. Dan dia ingin bercakap kepada anda di sini video untuk memberi keterangan kepada betapa berkenaan walaupun hanya merasai komputer sains di tahap pengenalan boleh. Malah jika anda tidak pergi untuk mengejar sains komputer sebagai medan, atau kejuruteraan, atau STEM lebih umum, anda akan melihat, sebenarnya, bagaimana tertentu kursus begitu dipengaruhi hidupnya. Dan beliau hanya hanya mengambil apabila dia adalah kanan di sini di Harvard College. Jika kita boleh meredupkan untuk Susan. Susan Wojcicki: Hello, dunia. Saya Susan Wojcicki. Saya Ketua Pegawai Eksekutif YouTube. Dan saya mengambil CS50 ketika saya yang kanan di Harvard pada tahun 1990. Saya sebenarnya sejarah yang dan utama sastera. Dan musim panas junior saya, Saya menyedari bahawa mungkin saya mahu belajar sesuatu mengenai komputer. Dan sebagainya, saya datang kembali. Saya mengambil CS50. Ia adalah sukar, tetapi ia adalah kelas yang paling menakjubkan saya mengambil. Ia mengubah cara saya berfikir tentang segala-galanya. Dan apabila saya lulus dari Harvard pada tahun 1990, saya pergi ke Lembah Silikon. Dan saya mendapat pekerjaan. Dan saya telah bekerja dalam teknologi sejak itu. DAVID J. MALAN: Sekarang apa Susan tidak menyebut dalam video ini, bahawa ia adalah benar-benar di dalamnya garaj bahawa Google sendiri adalah diasaskan oleh Larry dan Sergey. Sekarang kita juga berhubung dengan rakan-rakan kita di code.org, sebuah organisasi yang sepanjang tahun lalu telah mendapatkan orang terutamanya teruja sains komputer dan pengaturcaraan, khususnya. Tetapi ia diperhatikan pengaturcaraan yang bukan sains komputer per se. Sains komputer tidak pengaturcaraan. Sebaliknya pengaturcaraan hanya tool-- dengan yang kamu semua akan semua terlalu baik akrab dengan end-- semester seperti yang anda tidak boleh memohon hanya untuk kursus masa depan dalam CS tetapi untuk apa juga bidang dari mana anda datang, dalam kemanusiaan, sains sosial, semula jadi sains, atau sebagainya. Sesungguhnya, membenarkan selain beberapa alumni dan rakan-rakan mereka bercakap dengan kebolehgunaan medan yang menanti. RANG UNDANG-UNDANG PINTU: Saya adalah 13 apabila saya pertama mendapat akses kepada komputer. Jack Dorsey: Ibu bapa saya membeli saya Macintosh pada tahun 1984 ketika saya lapan tahun berusia. Mark Zuckerberg: Saya dalam gred yang keenam. SPEAKER 1: Saya belajar untuk kod di kolej. Ruchi SANGHVI: tahun bayat, pertama semester, Pengenalan Sains Komputer. RANG UNDANG-UNDANG PINTU: Saya telah menulis satu program yang yang bermain tic-tac-toe. Drew HOUSTON: Saya rasa ia adalah permulaan yang cukup rendah hati. Saya rasa program pertama Saya menulis bertanya hal-hal seperti, apa warna kegemaran anda? Atau berapa umur anda? Elena SILENOK: Saya pertama belajar bagaimana untuk membuat bulatan hijau dan persegi merah muncul pada skrin. Gabe Newell: Yang pertama kali saya sebenarnya mempunyai sesuatu yang datang dan berkata, hello, dunia. Dan saya membuat komputer melakukan itu. Ia hanya menakjubkan. Mark Zuckerberg: Belajar bagaimana program tidak bermula kerana mahu belajar semua sains komputer atau cuba untuk menguasai ini disiplin atau apa-apa seperti itu. Ia hanya bermula kerana saya mahu melakukan perkara ini satu yang mudah. Saya mahu membuat sesuatu yang menyeronokkan untuk diri saya dan adik-adik saya. Dan saya telah menulis program kecil ini. Dan kemudian pada dasarnya hanya tambah sedikit kepadanya. Dan kemudian apabila saya diperlukan untuk belajar sesuatu yang baru, Saya melihat ia, sama ada dalam buku atau di internet, dan kemudian tambah sedikit kepadanya. Drew HOUSTON: Ia benar-benar tidak berbeza memainkan alat atau sesuatu atau bermain sukan. DAVID J. MALAN: Baiklah. Jadi mari kita sebenarnya menyelam di sedikit lebih mendalam. Apakah ini input dan output yang kita bercakap tentang di sini? Jadi bagaimana tentang sesuatu yang mudah? Anda mungkin tahu, walaupun anda mempunyai tidak biasa dengan sains komputer sekalipun, yang entah bagaimana menggunakan komputer dan memahami hanya sifar dan orang-orang. Tetapi bagaimana yang mungkin diberikan bagaimana komputer meja dan komputer riba sama banyak hari ini boleh buat? DNA hari ini, hanya abjad bahawa mereka memahami adalah sifar atau satu. Nah, pertimbangkan ini. Kita, manusia, cenderung untuk menggunakan sistem perpuluhan. "Disember" yang bermaksud 10. Dan itu 10 kerana kita mempunyai 10 digit, iaitu 0 hingga sembilan. Sekarang komputer, sebaliknya, cenderung untuk menggunakan binari. "Bi" yang bermaksud dua. Oleh itu, mereka cenderung untuk menggunakan hanya sifar dan satu. Tetapi ternyata, bahawa walaupun hanya dengan sifar dan orang-orang, yang adalah abjad yang cukup besar dengan yang mewakili paling mana-mana bahagian data yang anda mahu, sama ada nombor, sama ada surat, sama ada grafik atau video pada skrin. Pertimbangkan, sebagai contoh, bagaimana kita manusia biasanya mentafsirnya ini di sini. Ini hanya tiga digit, satu, dua, tiga. Tetapi kita tahu nombor ini secara semula jadi sekarang kerana 123. Tetapi mengapa itu? Nah, jika anda berfikir kembali mungkin untuk sekolah rendah, anda mungkin telah diajar untuk berfikir nombor-nombor ini sebagai dalam ruangan, di mana seseorang itu adalah dalam beratus-ratus tempat, kedua-dua di tempat puluhan itu, dan tiga adalah di tempat orang-orang itu. Mengapa yang benar-benar berguna? Nah, berfikir tentang aritmetik super mudah bahawa kita semua telah lakukan untuk tahun sekarang. Berkesan, jika anda mempunyai satu di tempat yang beratus-ratus, anda matematik cepat 100 kali 1 campur 10 kali 2-- kerana kedua-duanya adalah dalam berpuluh-puluh place-- campur 1 kali 3-- kerana tiga adalah di tempat orang-orang itu. Jadi, sudah tentu, jika kita sebenarnya membiak ini keluar, apa yang kita benar-benar mewakili dengan satu pattern-- ini dua three-- adalah 100 plus 20 plus 3, yang, sememangnya, adalah 123. Sekarang binari, dan komputer benar-benar, asasnya bercakap bahasa yang sama yang kita lakukan. Mereka hanya mempunyai abjad yang lebih kecil. Jadi komputer hanya mempunyai sifar dan orang-orang yang terhad. Jadi sedangkan kita manusia mempunyai asasnya kuasa 10 dalam setiap places-- ini 10 kepada sifar, 10 hingga satu, sepuluh kepada kedua-dua, memberi anda 110 dan 100 masing-masing. Oleh kerana komputer hanya mempunyai dua nilai mereka dapat memahami, sifar dan satu, mereka perlu menggunakan nilai yang berbeza dalam ruangan ini, satu, dua, empat. Dan jika kita terus berjalan, lapan, 16, 32, 64, dan sebagainya. Tetapi corak dan mentaliti adalah sama. Jadi dengan logik ini, sesiapa sahaja, bagaimana akan Aku tidak mewakili bilangan satu dalam binari? Jika anda tidak pernah memikirkan mengenai sebelum ini, apa yang usus anda katakan? PENONTON: Satu. DAVID J. MALAN: Satu. Tepat sekali. Kami hanya memerlukan satu dalam tempat orang kerana sifar mencukupi untuk memberi kita mahupun dari empat mahupun dua. Jadi, satu kali satu sama satu. Sekarang perkara mendapatkan sedikit menarik. Jika saya mahu untuk mewakili dalam Perduaan bilangan two-- tetapi, lagi, walaupun anda tidak pernah bercakap bahasa ini sebelum, bagaimana kami mewakili dalam binari nilai kita manusia tahu dua? Zero satu sifar. Hanya meletakkan satu dalam lajur yang anda mahu ia. Kini ia semakin cantik mungkin mudah sekarang. Jadi jika saya mahu untuk mewakili three-- ada ruangan ada tiga ini. Jadi, sekali lagi, saya kini boleh menambah nilai-nilai bersama-sama dengan meletakkan satu di sini. Jadi 2 kali 1 campur 1 kali 1 adalah, sudah tentu, 3. Sekarang perkara mendapatkan sedikit yang menyeronokkan di bahawa orang-orang yang kini menjadi sifar. Dan untuk mewakili empat, saya mendapat ini. Dan jika kita menokokkan perlahan-lahan here-- yang akan menjadi lima. Ini akan menjadi enam. Ini akan menjadi tujuh. Tetapi sekarang saya seolah-olah mempunyai menghadapi masalah. Bagaimana saya boleh pergi tentang mewakili eight-- akan menjadi nilai yang akan datang. Yeah, jadi kita memerlukan bit baru. Dan, sememangnya, jika anda mempunyai mendengar frasa ini sebelum, bit, itu hanya singkat untuk angka binari, sifar atau satu. Dan saya berlaku untuk mewakili hanya tiga bit seperti di sini. Tetapi jika saya mempunyai cara tidak menyimpan tiga bit yang berbeza, tetapi empat, sesungguhnya aku boleh mewakili lapan, dan kemudian sembilan, dan kemudian 10, dan yang lebih tinggi dan lebih tinggi. Tetapi itu kemudiannya menyeru persoalan bagaimana kita boleh pergi tentang ini mewakili perkara-perkara di tempat pertama. Ia satu perkara untuk menarik mereka di sini pada slaid, tetapi bagaimana anda mewakili mereka jika anda seorang peranti mekanikal? Apa yang komputer lakukan untuk mewakili input dan output yang asasnya menentukan pengiraan pada akhir hari? Nah, apa tentang sesuatu super mudah seperti ini? Ia hanya bola lampu. Dan saya boleh mencetuskan ini bola lampu untuk pergi dengan mengubah beberapa elektrik pada dan membenarkan elektron mengalir melalui, yang berubah yang negeri atau nilainya, jadi untuk bercakap. Sebagai contoh, ini adalah sekolah lama lampu meja di sini dengan satu seperti bola lampu di dalamnya. Dan sekarang ia bukan benar-benar melakukan apa-apa yang berguna. Tetapi sebaik sahaja saya palamkan ia ke dalam soket elektrik dan kemudian menggunakan switch-- ini atau kita juga boleh memanggilnya transistor atau menganggapnya sebagai such-- Sekarang saya boleh mewakili sama ada nilai ini, di mana mentol ini jelas di luar, atau nilai ini. Ini nilai atau nilai ini. Nilai ini dan sebagainya. Jadi di dalam komputer, mungkin, adalah cebisan lebih kecil perkakasan, tetapi pada akhirnya hari hanya perlu menggunakan electricity-- mungkin menangkap it-- dan kemudian sama ada menyimpan sesuatu atas atau menyimpan sesuatu dari. Sudah tentu, ini tidak terutamanya menarik untuk dilakukan dengan hanya satu mentol tunggal. Malah, berapa tinggi saya boleh hitungkan binari dengan lampu meja ini di sini? PENONTON: Satu. DAVID J. MALAN: Satu, bukan? Saya memerlukan lebih banyak lampu meja jika saya sebenarnya mahu mengira yang lebih tinggi. Tetapi kita boleh melakukan yang lebih baik daripada itu. Oleh kerana mentol lampu yang kami telah dimasukkan ke dalam perkara-perkara ini adalah mentol lampu sebenarnya pelamun daripada tadi akan membolehkan. Dan mereka benar-benar mentol lampu rangkaian. Dan tandan syarikat membuat perkara-perkara ini hari ini. Tetapi ternyata bahawa satu ini khususnya datang dengan ciri-ciri di mana anda boleh menukar warna-warna. Jadi misalnya, jika anda dihiasi bilik asrama anda dengan beberapa cahaya ini mentol, bergantung kepada mood anda, bergantung kepada yang datang dalam, bergantung kepada keadaan cuaca, bergantung kepada masa yang hari, anda boleh benar-benar menukar warna mentol di dalam bilik anda. Dan itu kerana cahaya ini mentol dan lain-lain seperti ia mempunyai apa yang dipanggil API seorang, permohonan antara muka pengaturcaraan, yang adalah satu topik yang anda akan baik biasa dengan pada akhir semester. Dan ini hanyalah mewah, cara samar untuk mengatakan, anda boleh program cahaya ini mentol untuk melakukan bidaan anda. Anda boleh menghantar mesej mereka seperti anda, manusia, boleh menghantar mesej kepada pelayan web berkata, memberi saya berita hari ini atau memberi saya e-mel saya. Anda boleh menghantar lebih sukar difahami mesej kepada ini mentol lampu berkata, menghidupkan dan mematikan. Tetapi itu bukan semua yang menarik. Anda boleh berkata, menghidupkan merah, menghidupkan hijau, menghidupkan biru, semua dengan mentol yang sama. Dan anda juga boleh, dengan sedikit lebih celik, berkata, cuba kembali kepada biru apabila ia hari yang suram di luar, misalnya. Ia benar-benar boleh patch ke API cuaca dan mengetahui apa cuaca, atau masa hari, atau lain-lain pencetus tersebut. Jadi, sebenarnya, dua daripada Kakitangan CS50 sendiri, Dan Bradley dan Ansel Duff di sini, sila diperoleh kami sejumlah besar ini mentol lampu. Dan mereka membina CS50 ini mentol pernah binari pertama, di mana kita telah diwakili here-- dengan magnets-- ini suka bermain sedikit pelbagai ruang letak kita disentuh hanya sedikit yang lalu. Jadi cara di sini ialah tempat orang, dua, empat. Dan kami tidak melihat yang lebih tinggi daripada itu. Tetapi, sudah tentu, mereka kuasa dua. Lapan, 16, 32, 64, dan 128. Jadi jika saya kini mahu menjadi sedikit pelamun daripada menggunakan suis ini sekolah lama, Saya ada di sini pada iPad ini antara muka super mudah Dan bahawa Bradley, bekas pelajar dan rakan-rakan kini mengajar, diprogramkan menggunakan beberapa HTML dan JavaScript, yang adalah markup dan pengaturcaraan bahasa masing-masing. Dan anda boleh mungkin see-- walaupun dalam back-- yang ada tambah besar dan tolak yang besar, tambah satu butang untuk setiap mentol. Dan apa yang ini akan membolehkan saya yang adalah, misalnya, klik campur dan kini mewakili, daripada Sudah tentu, apa nombor? Satu. Dan saya boleh memukul sekali lagi. Dua. Tiga. Empat. Lima. Enam. Tujuh. Dan di sini sekarang kita mendapatkan peralihan itu, tetapi kita mempunyai sedikit keempat kali ini, jadi sekarang kita mempunyai lapan. Oleh itu, kita boleh melakukan ini untuk beberapa waktu. Malah, sebagai diketepikan, berapa tinggi kita boleh mengira? Sesiapa sahaja? PENONTON: 255. DAVID J. MALAN: 255, bukan? Jangan bimbang terlalu banyak tentang matematik untuk sekarang, tetapi itu beberapa cukup baik. Tetapi ia sebenarnya tidak terikat hanya berapa keping maklumat seperti surat, atau grafik yang yang kita boleh mewakili. Tetapi tidak kira untuk sekarang. Saya akan pergi ke depan dan menjadikan mereka semua mati. Dan jika saya boleh, saya ingin meminta sukarelawan, volunteer-- pertama kami oh, hello-- di atas pentas. Tangkapan adalah anda perlu selesa muncul, kerana anda jelas berada di hadapan semua rakan sekelas anda, dan juga di internet. Dan biarlah saya kelihatan sedikit luar the-- bagaimana pula di sini dalam baju putih? Dan menyerahkan up. Marilah naik. Apakah nama anda? PENONTON: Jackie. DAVID J. MALAN: Jackie. Jackie, datang ke atas. Jadi apa yang terdapat juga pada ini iPad adalah butang yang dipanggil Mod permainan. Dan Mod Permainan ini adalah akan membenarkan saya untuk input terlebih dahulu perpuluhan tertentu nombor, nombor kita manusia tahu. Dan kemudian anda akan dicabar di sini untuk menggunakan butang pada yang top-- untuk setiap bulbs-- ini untuk benar-benar memahami corak mentol lampu yang mewakili nombor dalam soalan. Dan saya minta maaf, apa yang nama anda lagi? PENONTON: Jackie. DAVID J. MALAN: Jackie. Baiklah. Baik untuk bertemu dengan kamu. Jadi biarlah saya pergi ke hadapan dan program dalam bagi dunia untuk melihat bilangan 15. Kami akan memastikan ia kecil pada mulanya di sini. Dan saya akan pergi ke dalam Mod permainan. Dan saya akan nyatakan, memberi kami nombor 15. OK. Dan sekarang dengan semua orang watching-- jika anda mahu mungkin berdiri dengan cara ini, kerana ia akan beratur up-- pergi ke depan dan bertukar-tukar lapan butang di sepanjang bahagian atas untuk menghidupkan mentol pada atau mematikan seperti yang anda lihat patut. PENONTON: OK. DAVID J. MALAN: Dan tidak menipu dengan memukul ditambah 15 kali. Oh, kita akan berbuat demikian. PENONTON: Oh, tunggu. Saya minta maaf. DAVID J. MALAN: Anda juga boleh bertukar mentol lampu pada individu dengan setiap satu daripada butang di atas. PENONTON: Oh, OK. Jadi ia akan menjadi like-- DAVID J. MALAN: OK. Jadi sekarang kita mempunyai lapan. Jadi mari kita berhenti sejenak untuk penonton untuk melibatkan diri di sini. Apakah nombor yang adalah Jackie pada masa ini mewakili? 11. Oleh itu, kita sudah hampir. Dan cemerlang. Jadi kita mempunyai pemenang pertama kami. Tahniah. Dan kita fikir kita akan mempunyai beberapa hadiah hebat. Jika anda ingin menjadi salah satu seperti asrama bilik di sini di kampus, anda boleh diri anda mempunyai projek akhir kini menggunakan API ini, terima kasih kepada Jackie. Jadi now-- [Tepuk tangan] --if kita boleh, satu lagi seperti di sekitar ini. Oh, sekarang semua orang mahu beberapa mentol lampu. Untuk edisi penggodam yang dipanggil, kita akan tanjakan sehingga ia a-- oh, yeah, noncommittal. Saya rasa anda datang sekarang jika tangan anda akan turun. Apakah nama anda? PENONTON: Alex. DAVID J. MALAN: Alex, datang di sini. Jadi untuk Alex, kita akan program dalam jumlah yang lebih besar. Mungkin teratur. Bilangan 50. PENONTON: OK. DAVID J. MALAN: Tetapi, seperti yang Saya said-- dan anda mungkin mahu berdiri di sini supaya bahawa butang beratur seperti yang anda akan expect-- tetapi saya memanggil edisi penggodam. Nasib baik So--! [Ketawa] Anda akan dapat untuk menghidupkan mereka di luar jika you-- OK. Cemerlang. Wonderful. Tahniah. [Tepuk tangan] Saya rasa saya perlu membayar. Tahniah kepada Alex juga. OK. Jadi bisa dibesarkan muktamad di sini adalah diharapkan, terus-terang, yang simplicity-- yang kesederhanaan dengan yang anda boleh mendapatkan beberapa cahaya yang bagus mentol, nampaknya dalam [didengar]. Tetapi mereka mewakili, idea akhirnya, yang sama yang kita manusia sudah terlalu biasa. Jadi apa yang mungkin seterusnya langkah dalam perkembangan cuba untuk melakukan sesuatu menarik dengan data dan mewakili input yang bukan sahaja nombor tetapi mungkin surat atau lebih? Nah, ternyata bahawa dunia komputer, selama bertahun-tahun, hanya mengguna pakai sewenang-wenangnya tetapi standard yang konsisten yang memetakan nombor kepada huruf abjad. Sebagai contoh, di sini adalah petikan daripada pemetaan itu. Ia dipanggil Ascii. A-S-C-I-I. Dan itu hanya satu jadual yang memetakan letters-- huruf besar dalam ini case-- kepada perpuluhan nombor. Tetapi apa yang implikasi? Nah, jika anda benar-benar mahu untuk mewakili sesuatu seperti e-mel atau teks pada laman web, anda jelas mahu menunjukkan huruf manusia daripada abjad, bukan nombor. Jadi bergantung kepada konteks program ini bahawa pengguna menggunakan, jika ia pelayar web atau klien e-mel, nombor sudah pasti boleh ditafsirkan sebagai surat. Iaitu, corak bit boleh mudah ditafsirkan sebagai surat. Dan apa yang kita boleh mempunyai huruf makhluk A diwakili 65, B diwakili sebagai 66. Jadi, jika kita mempunyai super yang perkataan pendek, seperti hi, apa yang komputer akan akhirnya kedai di perpuluhan tetapi benar-benar dalam binari, menggunakan beberapa turutan bit, memanfaatkan sedikit elektrik dalam beberapa cara, akan menjadi dua nombor 72 dan 73. Tetapi corak bit yang mewakili nilai-nilai. Jadi ini kemudian adalah bagaimana kita boleh mewakili input dan output kami. Dan memadai untuk mengatakan, kita boleh melakukan perwakilan yang lebih kompleks akhirnya dengan perkara-perkara seperti grafik, video, muzik, dan banyak lagi seperti yang kita akan lihat kemudian istilah ini. Supaya hanya meninggalkan kemudian algoritma, set ini arahan dengan yang kami menyelesaikan masalah sebenar. Kami lulus dalam input kepada algoritma. Dan orang-orang algoritma menghasilkan output, output diharapkan betul dan mudah-mudahan juga, cekap berkumpul output. Dalam erti kata lain, ia adalah satu perkara untuk melaksanakan sesuatu dengan betul. Ia adalah satu lagi perkara yang perlu melaksanakan sesuatu dengan baik atau berkesan. Sebagai contoh, satu demonstrasi bahawa kita gemar dalam perjalanan adalah salah satu ini. Tetapi perkara-perkara ini semakin semakin sukar untuk mencari. Tetapi ini merupakan sekolah lama buku telefon, di dalam yang adalah 1,000 muka surat plus nama dan nombor telefon. Dan jika saya mahu mencari seseorang di dalam telefon ini, Saya hanya boleh melakukan algoritma sangat naif. Saya boleh membuka ke halaman yang pertama, dan Saya boleh mula mencari, berkata, seseorang bernama Mike Smith. Dan jika dia bukan pada yang pertama halaman, saya maju ke kedua, dan kemudian ketiga, dan kemudian kepada keempat, dan sebagainya, sehingga saya akhirnya mencari Mike Smith. Sekarang adalah algoritma yang betul? PENONTON: Ya. DAVID J. MALAN: Yeah. Jika dia di sana, saya akan akhirnya menemuinya. Tetapi ia tidak boleh dikatakan sangat cekap, sudah tentu tidak pantas, kerana, saya Tuhan, mengapa saya membuang masa saya Melibas melalui semua laman-laman ini apabila saya boleh pasti melakukan ini secara fizikal yang lebih cepat? Nah, pengoptimuman sedikit, jadi untuk berkata-kata, mungkin tidak satu halaman pada satu masa, tetapi dua, empat, enam, lapan, 10. Masih betul? PENONTON: Tidak DAVID J. MALAN: Jadi tidak jika saya untuk contoh melangkau lebih Mike Smith. Tetapi selagi aku kembali pedal satu muka surat, jika saya melepasi dia, mungkin kita dapat membetulkan apa mungkin jika tidak gotcha a. Tetapi adalah lebih baik? Adakah ia lebih cepat? Maksud saya, yeah. Ia secara literal dua kali lebih cepat jika saya melakukan dua muka surat pada satu masa. Jadi jika saya asalnya mempunyai 1,000 muka surat, sekarang saya hanya perlu flip 500 kali, tidak sepenuhnya 1,000 muka surat untuk mendapatkan berpotensi dalam kes yang paling teruk ke akhir telefon buku, di mana seseorang seperti Mike Smith atau seseorang yang nama kemudian sebenarnya mungkin. Tetapi, sudah tentu, kita manusia pasti tidak akan berbuat demikian, sudah tentu tidak pada ketika ini dalam kehidupan kita. Apakah yang munasabah manusia mungkin akan lakukan? PENONTON: Pergi terus ke the9 S itu. DAVID J. MALAN: Pergi terus ke S ini? Bagaimana saya pergi terus kepada S ini? PENONTON: Rip ia pada separuh. DAVID J. MALAN: Baik, tidak ada menandakan. Jadi, ya, jika memang tidak label atau tab melekit untuk S, kita perlu melompat di sana. Tetapi ia cukup berbahaya. Jadi yang terbaik yang boleh saya lakukan adalah lebih kurang seksyen S atau mungkin secara kasar ke tengah-tengah. Tetapi Takeaway utama now-- dan gerak hati yang yang anda telah diambil untuk diberikan bagi tahun probably-- adalah bahawa apa yang anda lakukan sekarang tahu tentang masalah ini? PENONTON: [didengar] DAVID J. MALAN: Mike Smith sudah tentu tidak pada separuh ini masalah kerana Smith datang selepas tengah yang secara kasarnya bahagian M, ia seolah-olah. Jadi seperti yang anda lihat di Visitas, kita kini boleh harfiah lusuh masalah ini pada separuh. PENONTON: Woo! DAVID J. MALAN: Ia mendapat lebih mudah dan lebih mudah. [Tepuk tangan] Terdapat anda pergi. [Ketawa] Dan sekarang saya asasnya mempunyai masalah yang sama, tetapi ia benar-benar separuh besar. Saya masih mencari Mike Smith. Dan saya berani mengatakan, saya masih boleh mencarinya dengan cara yang sama, membelah masalah pada separuh sekali lagi, mengoyakkan masalah lagi pada separuh, yang kini meninggalkan saya dengan masalah satu perempat daripada saiz, secara mendadak membuang separuh dari sini, dan mengulangi proses ini sekali lagi dan sekali lagi dan sekali lagi, sambil mengerling ke bawah pada setiap titik untuk melihat jika Mike Smith adalah pada halaman yang berkenaan. Sekarang jika saya lakukan hak ini, akhirnya saya akan mendapati diri saya dengan hanya satu muka surat di mana Mike Smith adalah jika dia memang di dalam buku telefon. Sudah tentu, saya boleh tidak pernah memanggil Mike lagi. Tetapi yang penting di sini adalah bahawa jika kita bermula dengan 1,000 muka surat, algoritma pertama saya, flip halaman, mungkin 1,000 times-- pasti kurang kerana ia nama S dan bukan nama Z, tetapi sebagai sebanyak 1,000 muka surat yang berpotensi. Algoritma kedua, yang lebih baik. 500 muka surat. Algoritma Ketiga, walaupun, berapa banyak langkah-langkah yang akan ia mengambil untuk membahagikan laman 1,000 buku telefon pada separuh seperti itu? 10, memberi atau mengambil. Jadi hanya dengan menyemak helaian yang buku telefon, menyelam dan menakluk, boleh dikatakan, 10 kali, saya akan membuat cara saya turun ke hanya satu halaman. Dan supaya kita boleh menangkap gerak hati ini kini sedikit grafik jika anda hanya mengambil kira graf ini super mudah. Kami di paksi-x, atau melintang paksi, adalah saiz masalah saya, jumlah halaman di dalam buku telefon. Dan ahli-ahli sains komputer biasanya suka untuk memanggil saiz n masalah, di mana n hanya beberapa pembolehubah yang represents-- dalam ini case-- bilangan muka surat. Menegak, atau y-axis, di sini adalah akan menjadi masa untuk menyelesaikan, mungkin nombor muka surat giliran, Mungkin beberapa saat atau minit, apa sahaja yang unit anda adalah langkah. Dan hal ini garis merah mewakili algoritma yang pertama, kerana ada 1-1 hubungan antara bilangan muka surat dan jumlah masa yang diperlukan. Jika Verizon beregu bilangan muka surat di dalam buku telefon tahun depan, berjalan saya time-- yang Masa yang diperlukan untuk melaksanakan yang pertama algorithm-- beregu dalam kes yang paling teruk. Tetapi algoritma kedua, di mana saya Melibas oleh dua, memerlukan masa yang kurang untuk masalah saiz yang diberikan. Jadi jika saya mempunyai banyak ini laman here-- notis bahawa garis kuning mencadangkan masa yang kurang untuk menyelesaikan. Dan sesungguhnya ia mewakili, kita akan berkata, n lebih dua. Tetapi apa yang bentuk ketiga dan keluk akhir akan kelihatan seperti? Ya, ia sememangnya akan look-- saya tidak tahu apa yang anda akan katakan. Tetapi mari kita lihat apa anda akan berkata. PENONTON: Seperti itu. DAVID J. MALAN: Ia akan kelihatan seperti ini, exactly-- slope-- logaritma di mana anda mempunyai cerun ingin tahu ini. Ia tidak lagi garis lurus. Dan apa yang menarik tentang itu ialah walaupun graf yang kini terputus, anda boleh membuat anggaran dalam anda memikirkan bahawa garis hijau bukan akan meningkat pada ketinggian semua yang banyak kerana anda meneruskan lagi turun yang paksi melintang. Sesungguhnya, Verizon, untuk contoh, boleh menggandakan jumlah halaman dalam telefon buku antara tahun ini dan tahun depan dari 1000 hingga 2000 muka surat, tetapi tidak ada masalah besar. Dengan ini ketiga dan terakhir, ada algoritma intuitif membahagikan dan menakluk. Ia akan mengambil saya bagaimana banyak lagi langkah tahun depan untuk mencari seseorang suka Mike Smith? PENONTON: Satu. DAVID J. MALAN: Ada hanya satu. Dan mereka boleh empat kali ganda itu, ia akan mengambil saya hanya dua langkah-langkah yang lebih dan sebagainya. Dan hal ini membuktikan betapa reka bentuk beberapa berhati-hati dan beberapa penghargaan untuk apa yang input anda boleh melakukan lebih baik. Sekarang kita menipu seorang sedikit dalam erti kata yang bahawa kita memanfaatkan satu andaian. Apakah andaian saya tentang buku telefon kami yang membolehkan saya untuk membahagi dan menakluk dengan cara ini intuitif dan masih betul? PENONTON: [didengar] DAVID J. MALAN: Yeah. Jadi ia telah diperintahkan. Ia abjad oleh syarikat buku telefon. Jika ia berada dalam susunan rawak, yang akan menjadi neraka buku telefon, tetapi ia sudah tentu tidak akan meminjamkan sendiri kepada algoritma Saya digunakan, kerana anda akan tidak pernah hanya berlaku di seluruh Mike Smith jika anda membahagikan disimpan dalam setengah dalam cara secara kebetulan. Jadi mari kita kini memformalkan apa yang jelas intuitif. Jadi sesuatu yang dinamakan pseudokod adalah di mana kita akan memulakan beberapa masalah awal kami. Dan ini adalah cara yang generik yang menggambarkan algoritma atau program komputer, tidak menggunakan C atau C ++, atau Jawa, atau mana-mana bahasa tertentu, tetapi hanya menggunakan bahasa Inggeris, dengan yang mana-mana manusia mungkin menjadi biasa. Dan kita mungkin menulis pseudokod yang untuk masalah ini seperti berikut. Langkah satu, mengambil buku telefon. Langkah dua, terbuka kepada tengah-tengah buku telefon. Langkah tiga, melihat nama. Langkah empat, jika Smith adalah antara names-- Dan sekarang ini adalah satu membina menarik. Ia adalah satu titik keputusan. Ia garpu di jalan, jika anda akan, cawangan, jadi untuk bercakap. Jadi saya akan mengensot hanya dengan konvensyen step-- tidak five-- iaitu untuk katakan, saya akan memanggil Mike. Jadi lekukan ini, benar-benar konvensyen manusia sewenang-wenangnya, tetapi ia hanya bertujuan untuk menyampaikan semantik bahawa jika Smith adalah antara nama-nama, maka saya perlu memanggil Mike. Sementara itu dalam langkah enam, notis yang lekukan itu pergi. Jadi lagi yang garpu lain dalam jalan, jalan lain yang saya mungkin perjalanan. Jadi lain jika Smith awal dalam buku ini, apa yang langkah saya seterusnya mungkin akan berada di sini? PENONTON: Anda pergi ke sebelah kiri. DAVID J. MALAN: Yeah, jadi pergi ke separuh di sebelah kiri buku telefon. Buang separuh yang betul jika Smith lebih awal dalam buku ini. Jadi terbuka ke tengah separuh di sebelah kiri buku ini. Dan kemudian melangkah lapan, pergi ke beratur tiga. Dan ini ialah gelung ingin tahu saya mendorong, rekursi yang boleh dikatakan. Tetapi lebih kepada bahawa pada masa akan datang. Saya menggunakan algoritma yang sama saya, pseudokod sama saya, untuk menyelesaikan masalah yang sama sekali lagi kerana hanya perkara yang yang berubah adalah saiz masalah itu, tidak matlamat saya, dan bukan orang yang Saya cari. Jadi saya boleh menggunakan semula algoritma bahawa saya telah ditakrifkan. Yang lain jika Smith terkemudian dalam book-- anda mungkin guess-- terbuka ke tengah separuh kanan buku. Dan sekali lagi, pergi untuk beratur tiga. Else-- apa yang garis akhir program ini akan menjadi? Jika dia bukan di kalangan nama pada halaman saya , jika dia tidak lebih awal dalam buku, dan dia tidak kemudian dalam buku ini, apa yang saya tahu yang manakah benar tentang Mike Smith sekarang? PENONTON: Dia bukan dalam buku ini. DAVID J. MALAN: Dia bukan dalam buku ini. Jadi yang terbaik yang boleh saya lakukan adalah hanya menyerah dan menghentikan program ini. Baiklah. Jadi pada masa ini, mari kita pelancongan cepat beberapa apa yang menanti. Dan sebenarnya, saya menyertai sini oleh beberapa kakitangan CS50. Jika orang ini semua boleh menyertai saya di sini di atas pentas. [Tepuk tangan] Minda anda, ini hanya subset kakitangan CS50, kerana setiap tahun kita mempunyai hampir 100 kakitangan ahli dalam peranan pembantu tentu, mengajar rakan-rakan dan banyak lagi. Marilah naik. Jadi mereka akan menyertai kami di sini canggung untuk seketika seperti yang kita memberi lawatan badai apa anda boleh menjangka di sini dalam perjalanan. Jadi pertama sekali, kita mempunyai SAT / UNS sebagai pilihan penggredan dalam perjalanan. Ini yang dimaksudkan dengan sengaja menjadi mana pilihan jika anda adalah sedikit tidak selesa di dijalankan dalam urusan, dan anda takut failure-- walaupun terus terang kegagalan bermakna mencederakan GPA anda, mendapat B dan tidak A-- seorang yang tepat apa, sudah tentu untuk gerbang kursus seperti CS50 dan lain-lain kursus pengenalan, pilihan penggredan ini bertujuan untuk membolehkan. Saya sepenuh hati menggalakkan siswa siswi terutamanya jika pada fence-- untuk memulakan kursus SAT / UNS, walaupun kekal SAT / UNS. Tetapi anda pasti boleh bertukar kepada surat gred oleh Isnin kelima dalam jangka. Terus terang, apabila saya kembali adalah mahasiswa yang pada tahun 1995, Saya sendiri tidak pun mengambil CS50 kerana saya tidak bangun saraf untuk benar-benar langkah kaki di dalam kelas. Ia seolah-olah domain yang terlalu asing kepada saya dan benar-benar hanya untuk mereka rakan-rakan saya, terus terang, yang telah pengaturcaraan sejak mereka enam atau mungkin 10-tahun-lama. Dan ia hanya kerana saya dapat mengambil CS50 dalam sehari saya dalam versi bersamaan SAT / pas UNS-- / gagal kembali day-- yang bahawa walaupun saya telah mengambil 50. Dan entah bagaimana atau lain-lain, saya di sini sekali lagi dengan anda hari ini. Sekarang sementara itu apa lagi yang harus ingat kira-kira 50 adalah pendaftaran serentak. Bertentangan dengan khabar angin bahawa anda mungkin telah mendengar, anda boleh, sebenarnya, pada masa yang sama mendaftar dalam CS50 dan kelas lain yang bermesyuarat sekurang yang sama atau beberapa bertindih masa ceramah CS50 ini di sini. Lihat sukatan pelajaran untuk butir-butir pelaksanaan tersebut. Kuliah, sementara itu, yang bertentangan dengan apa yang secara rasmi di dalam katalog, umumnya hanya akan memenuhi hanya satu jam. Pada kesempatan kita boleh menjalankan sedikit panjang. Tetapi perlu diingat bahawa matlamat dalam kuliah CS50 ini adalah untuk menyediakan anda dengan gambaran konsep, mudah-mudahan beberapa demonstrasi, malah mungkin juga beberapa giveaways, daripada apa yang menanti untuk minggu yang berikut. Dan sebagainya dalam ceramah, kami akan meneroka topik-topik dan contoh bersama-sama, membawa pelajar di atas pentas, dan kakitangan di atas pentas sebagai kerap yang kita boleh, hanya beberapa jam setiap minggu. Bahagian, sementara itu, akan ditawarkan oleh orang here-- banyak daripada mereka mengajar rakan-rakan, beberapa daripada mereka akan kursus assistants-- akan berlaku setiap minggu. Dan apa yang penting untuk mengekalkan diingat adalah bahawa kita tidak have-- tidak seperti Pertama Malam, muzik class-- trek yang berbeza daripada bahagian untuk pelajar kurang selesa, lebih selesa, dan di suatu tempat di antara. Dan terus-terang, anda tahu jika anda kurang selesa. Dan anda mungkin tahu jika anda akan lebih selesa. Dan jika anda tidak benar-benar pasti, anda mengikut definisi di suatu tempat di antara. Oleh itu, apabila tiba masa untuk seksyen dalam seminggu atau lebih, setiap sukatan pelajaran, kami akan meminta anda soalan itu. Dan anda boleh memilih sendiri Tani pada tahap keselesaan anda sendiri dan bersama siswa siswi bersama hijau dots-- sama di tahap keselesaan kepada anda. Sementara itu, kami mempunyai masalah menetapkan, yang akan akhirnya menentukan pengalaman anda dalam kursus ini. Mereka biasanya ditawarkan dalam pelbagai edisi. Edisi standard yang kami jangka paling setiap pelajar dalam perjalanan untuk menangani tetapi juga edisi penggodam yang dipanggil yang tidak menawarkan bentuk kredit tambahan secara terang-terangan tetapi benar-benar hak bercakap besar untuk mengatakan bahawa anda cuba dan ditangani penggodam edisi semasa yang mendekati bahan yang sama tetapi dari sudut yang lebih canggih. Apa yang kami tawarkan untuk edisi standard, untuk, sekali lagi, majoriti super pelajar, tidak hanya berjalan-lewat, iaitu video yang diketuai oleh kakitangan kursus ini yang benar-benar berjalan anda melalui masalah kursus dan reka bentuk mungkin pelaksanaan. Dan kita juga, selepas Malah, menawarkan postmortems, di mana jika anda tertanya-tanya bagaimana anda boleh mempunyai atau sepatutnya diselesaikan beberapa masalah, tenaga pengajar akan berjalan anda melalui mereka yang video juga. Sementara itu, apa yang menanti adalah terlalu lima hari lewat dan hakikat yang kita akan jatuh anda masalah terendah set skor. Kami pasti menghargai bahawa dalam pertukaran untuk beban kerja yang menjangka 50 di antara kamu, hidup mendapat di jalan kadang-kadang, jika tidak lima kali. Dan hal ini akan menawarkan anda sedikit fleksibiliti, melanjutkan tarikh akhir anda daripada, katakan, satu Khamis di tengah hari hingga Jumaat di tengah hari. Lihat sukatan pelajaran untuk butir-butir pelaksanaan daripadanya. Sekarang apa yang kini menanti? Dan ia hanya berlaku kepada saya kini hanya berapa lama Saya mempunyai kalian berdiri di sini di atas pentas. [Ketawa] DAVID J. MALAN: Tetapi kita akan mendapat penamat klimaks tidak lama lagi. Jadi apa yang menanti dari segi daripada set masalah? Well, mungkin satu teaser daripada apa yang kita semua lakukan tahun lepas dengan terdahulu kamu. Dalam set pertama masalah tahun lalu, kami memperkenalkan Scratch, grafik yang bahasa pengaturcaraan yang membolehkan anda program literal oleh mengheret dan menjatuhkan keping teka-teki, seperti ini, yang mengingatkan pada konstruk akan melihat hanya seminggu oleh itu, apabila kita menukar kepada yang lebih tradisional bahasa, dikenali sebagai C. Tahun lalu kami berjalan set untuk masalah ini, melibatkan untuk kriptografi, yang berebut maklumat untuk memastikan ia daripada rakan-rakan kerajaan atau ' mata yang anda tidak mahu melihatnya. Dikodkan di sini adalah mesej yang tidak lama lagi anda akan dapat menyahsulit atau de-perebutan. Breakout adalah masalah ditetapkan pada tahun lepas, di mana anda menggunakan pengaturcaraan baru ditemui kemahiran untuk benar-benar melaksanakan permainan wherein-- anda mungkin ingat dari childhood-- matlamatnya adalah untuk Bash yang batu bata yang di atas skrin di sini, mengumpul menjaringkan sepanjang jalan, dan melaksanakan algoritma anda sendiri dengan penyelesaian ini yang akhirnya membolehkan anda bermain permainan. Sementara itu, kemudian dalam semester, kami akan memberikan anda kamus daripada 143.091 kata-kata bahasa Inggeris. Dan anda akan dicabar untuk menulis program yang mengeja cek, dokumen, oleh memuatkan banyak kata-kata ke dalam ingatan sebagai cekap yang mungkin. Secara umumnya bopeng anda terhadap rakan-rakan anda jika anda memilih ke dalam sedikit cabaran dalam saingan untuk melihat siapa yang boleh menggunakan paling sedikit saat masa berjalan, dan bilangan yang paling sedikit megabyte ingatan, dan benar-benar memperhalusi program anda menjadi sangat cekap sumber tidak hanya masa. Tahun lalu juga, kita melihat akhir semester di pengaturcaraan web. Dan sesungguhnya kami akan melakukannya sekali lagi ini tahun dengan pelbagai set masalah, memperkenalkan anda kepada teknik dan minda yang anda boleh memohon kemahiran pengaturcaraan untuk laman web, laman web dinamik, laman web yang benar-benar menyelesaikan masalah dan berkelakuan berbeza dan tidak hanya statik laman web dengan maklumat statik. Projek akhir akhirnya akan menentukan, walaupun, kemuncak kursus ini untuk pelajar-pelajar, di mana anda akan dicabar untuk melaksanakan yang paling apa-apa kepentingan kepada anda, asalkan ia entah bagaimana menarik apabila pengajaran kursus ini. Dan seperti yang anda lihat pada video pada permulaan, kita akan membuat kesimpulan semester dengan Hackathon CS50, yang jika, tidak dikenali, akan bermula pada 7:00 satu malam dan berakhir pada 7:00 pagi. Sekitar 9:00, kita akan perintah makan malam pertama. Sekitar 1:00, kita akan perintah makan malam kedua. Dan jika anda masih berdiri pada 5:00 AM, kita akan ulang-alik bas anda untuk bredden untuk sarapan pagi. The Fair CS50, sementara itu, adalah sesuatu acara yang 2,000 plus fakulti, pelajar, dan kakitangan dari seluruh kampus akan datang untuk melihat pencapaian anda dalam perjalanan dan akhir projek dan ciptaan yang anda buat pada komputer riba anda, komputer meja, atau mungkin juga mentol cahaya. Sementara itu, waktu pejabat dan struktur sokongan. Dan kini ia telah menjadi masa yang lebih baik untuk membawa anda semua. Waktu pejabat akan berlaku empat malam seminggu untuk beberapa jam setiap malam dengan biasanya 20 hingga 30 daripada kakitangan kursus ini bertugas sekaligus untuk menyediakan anda dengan intim satu-satu peluang untuk sokongan dengan masalah set perjalanan ini. Tutor juga akan sedia ada, khusus untuk pelajar-pelajar kurang comfortable-- atau berani mengatakan kurangnya comfortable-- baginya waktu pejabat adalah tidak persekitaran memupuk paling dan pasti tidak paling tekanan bebas. Terutamanya apabila tarikh akhir yang menekan, secara proaktif akan berpasangan diri anda dengan kakitangan untuk bekerja dengan beberapa jadual tetap sebagai keperluan anda dan jadual mereka membolehkan. Dan kakitangan. Izinkan saya memperkenalkan davon, Rob, dan Gabriel, kepala tahun ini. Jika anda setiap ingin say-- [Tepuk tangan] perkataan --a. [Tepuk tangan] Davon di sini ialah pengurus kursus, yang bermakna dalam peranan sepenuh masa dia membantu dengan pelaksanaan dan logistik CS50. Davon: Yeah, hi, guys. Anda akan melihat banyak kepada saya pada waktu pejabat. Saya akan mengajar bahagian. Dan jika anda menembak e-mel ke hadapan, Saya mungkin akan balas. Jadi saya akan melihat banyak anda semua semester. Dan selamat datang ke CS50. DAVID J. MALAN: Dan kini Gabriel, yang dirinya hanya bayat tahun lepas, tetapi bagi pasangan yang lalu tahun mempunyai telah beroperasi versi sendiri CS50 di Brazil, di mana beliau turun semua content-- perjalanan ini yang jelas yang difilemkan dan diletakkan online-- supaya dia boleh menterjemahkannya ke Portugis dan kemudian mengajar lebih daripada 100 rakan sekelas beliau sejak perjalanan beberapa tahun, mengajar dalam bahasa ibunda kurikulum kursus ini. GABRIEL: Hello. [Tepuk tangan] GABRIEL: Hi, saya Jibril. Saya TF kepala kursus. Dan saya berharap anda akan suka CS50. Ini adalah CS50. DAVID J. MALAN: Sekarang untuk Rob. Oh, anda mahu pengenalan? ROB: Tidak, saya tidak tahu. [Ketawa] DAVID J. MALAN: Dan Rob Boden. [Ketawa] ROB: Hi, saya Rob. Ini merupakan tahun kelima saya terlibat dengan kursus. Setiap tahun, ia hanya lebih baik dan kelas yang lebih baik, jadi anda semua adalah jelas akan menjadi awesome. Saya berharap anda semua bergembira dengannya. Saya akan bersenang-senang dengan itu. Jadi anda lihat di sekeliling. DAVID J. MALAN: Dan masa tidak akan membenarkan us-- [Tepuk tangan] Masa tidak akan membenarkan kami untuk memperkenalkan semua orang di pentas dan semua rakan-rakan mereka yang mahu kelas hari ini. Tetapi izinkan saya untuk memperkenalkan Belinda dan CS50 Teka-teki Hari yang menanti ini akan datang hari Sabtu, yang adalah yang pertama daripada acara berskala besar kursus ini. Yang ini khususnya bermakna tukul rumah titik bahawa sains komputer akhirnya bukan tentang pengaturcaraan, tetapi mengenai menyelesaikan masalah amnya. Teka-teki dan Hari, seperti yang anda akan lihat, akan membawa anda dan rakan-rakan sekelas anda together-- kami berharap Sabtu ini. Belinda: OK. Hi, guys. Jadi terima kasih. Jadi sebagai kapten terkenal kami berkata, Belinda nama saya. Saya seorang mahasiswa tingkat kedua di Quincy House. Saya, seperti anda lelaki, mengambil CS50 tahun lalu, benar-benar menyukainya. Saya mempunyai tempat yang lembut untuk kalian di barisan ketiga. Dan saya bangga untuk mengatakan, saya kini dalam hubungan yang komited dengan CS50 [didengar]. OK. Itu adalah versi lame saya jenaka. Bagaimanapun, sehingga beralih, hanya mahu menjemput kalian semua kepada i-makmal, atau gatal-gatal HBS. Kami akan mempunyai Teka-teki Hari 12:00-3:00. Dan ia adalah satu peluang besar untuk anda lelaki bertemu rakan-rakan rakan-rakan anda CS, menyelesaikan beberapa teka-teki bukan CS, seperti Kapten disebut, dan juga makan makanan percuma, mendapat beberapa hadiah yang menggerunkan, seperti kad hadiah, $ 75 bagi setiap orang, dan also-- apa yang ia? Wii U atau sesuatu? Wii U? Ya. Untuk rafel kami. Awesome. Jadi saya akan melekat di sekeliling selepas kelas. Dan jika anda mempunyai sebarang soalan, beritahu saya. DAVID J. MALAN: Dan anda akan melihat, di luar ini tiada apa-apa untuk lakukan hari ini. Masalah pertama yang ditetapkan akan keluar Jumaat. Tetapi untuk membawa kami pulang hari ini, saya ingin memperkenalkan anda kepada satu lebih khusus kakitangan, Colton Ogden di sini, yang tangan kini dilindungi di atas anda dengan pengawal MIDI ini tukul rumah titik lanjut bahawa sains komputer, terlalu, mempunyai kesesuaian jauh di luar kejuruteraan dan STEM dan sains komputer itu sendiri, memperluaskan walaupun untuk domain seperti muzik. Colton mempunyai sila offered-- saya fikir salah seorang daripada mereka telah pergi untuk menetapkan fokus. Andrew, jika kita boleh memanggil tumpuan di sini hanya seketika. Apa Colton telah dilakukan terlebih dahulu adalah program peranti ini, pad ini butang yang anda lihat gambar di sini, sebagai pengawal MIDI, mana setiap butang-butang adalah berwayar untuk nota muzik tertentu atau bunyi, lebih umumnya rakaman, itu bahawa dengan memainkan corak ini butang, sama seperti corak bit, boleh mewakili lain konsep tahap yang lebih tinggi. Dia akan dapat akhirnya untuk membawa kami rumah di sini pada hari ini? Tanpa berlengah-lengah lagi, jika kita boleh malap lampu, dan menghidupkan skrin belakang Colton. PENONTON: Woo! DAVID J. MALAN: Ini adalah CS50. [MUZIK bermain] [Tepuk tangan] Itu sahaja untuk CS50. Kami akan melihat anda hari ini. Sesetengah kek menanti anda di gereja yg merupakan salib. [MUZIK bermain]