[VIDEO MAIN SEMULA] [CAR DOOR menutup] [CAR ENGINE MULAI] [Bermain muzik] -Moving Kanan bersama-sama dalam mencari daripada masa yang baik dan berita baik. Dengan rakan-rakan baik anda tidak boleh kehilangan. -Ini Boleh menjadi satu tabiat. Mengetuk -Opportunity Mari kita hanya mendekati dan merebut. -Yeah! -Together Kami akan menangkap ia. Kenaikan halangan -We'll, bas, atau teksi kuning itu. -Dammit. -We're Bergerak kanan bersama-sama. -Footloose Dan mewah percuma. -Getting Terdapat setengah keseronokan. Marilah berkongsi dengan saya. -We're Bergerak kanan bersama-sama. -We're Akan berkongsi beban. -Kami Tidak memerlukan peta untuk mendapatkan persembahan ini di jalan raya. Hey Fozzy, saya mahu anda untuk belok kiri jika anda datang ke garpu di jalan raya. -Baik tuan. Belok kiri di jalan bercabang di jalan raya. Belok kiri. -Saya Tidak percaya bahawa. -Cruising Kanan bersama-sama kami mendapati lampu di lebuh raya. -dan Jalan atau cara saya. -Jadi Percaya pandu arah saya. Bintang -Movie dengan kereta mewah dan kehidupan dengan bahagian atas ke bawah. -We're Menyerang bukit besar. -Yeah, Ribut yang betul. Sekiranya ia turun salji? -Tidak, Saya tidak fikir begitu. -Moving Kanan bersama-sama. -Footloose Dan mewah percuma. -You're Bersedia untuk masa yang besar. -Adakah Ia bersedia untuk saya? -Moving Kanan bersama-sama. Bergerak kanan bersama-sama. Bergerak kanan bersama-sama. Bergerak kanan bersama-sama. -Saya Rasa anda lebih baik tarik ke atas. -Baik tuan. [AKHIR MAIN SEMULA] [Tepuk tangan] DAVID J. MALAN: Ini adalah CS50. Dan ini adalah akhir Minggu 0, tetapi permulaan persahabatan yang indah. Kami amat teruja untuk menjadi di sini di Universiti Yale buat kali pertama dengan kami rakan Scaz, dan Jason, dan Andy. Semua 40 daripada CS50 TF dan CA adalah di sini di Yale. Dan kamu semua. Dan sebenarnya, ia mungkin masa supaya- [Tepuk tangan] Jadi, walaupun sebahagian besar kuliah memang akan berada di Cambridge pada tahun ini, realitinya adalah dengan reka bentuk, dan amat sengaja di CS50, Saya fikir kita menghampiri titik teknologi, dan pedagogically, di mana ia boleh menjadi pendidikan yang unggul pengalaman untuk melibatkan diri dengan beberapa daripada talian bahan kursus ini. Malah, reality-- dan jika saya percaya philosophically-- ini ialah ceramah tidak terutamanya cara yang berkesan untuk menyampaikan maklumat yang agak kompleks. Sudah tentu lebih jam ditambah rentang yang panjang. Dan sesungguhnya setiap minutes-- beberapa Saya masih ingat diri saya dalam college-- anda zon keluar untuk seketika, anda terlepas beberapa topik yang kompleks, dan jika anda pergi dahulu cukup banyak untuk 45 minit. Dan realitinya adalah bahawa sama ada anda di sini di New Haven atau Cambridge atau di luar, kesederhanaan mempunyai keupayaan untuk berhenti seketika dan ke hadapan yang laju, memutar balik, pautan kepada yang berkaitan sumber, transkrip carian teks penuh dan sebagainya adalah satu peluang yang Saya berani mengatakan dengan pelajar dalam talian kami baik di luar New Haven, menawarkan mereka peluang untuk benar-benar memahami bahan konsep yang kita memperkenalkan dalam kuliah semua lebih baik. Tetapi akhirnya dalam CS50, adalah pengalaman pelajar mempunyai ciri-ciri begitu, banyak lagi oleh masalah tentu telah menetapkan, atau projek-projek program mingguan, bahagian kursus ini diketuai oleh perguruan rakan-rakan, waktu pejabat setiap malam yang diketuai oleh pembantu kursus dan pengajaran rakan-rakan, dan sesungguhnya itu peristiwa sebagai CS50 Teka-teki Hari, Hack-a-thon CS50, CS50 Adil, makan tengah hari setiap minggu dan banyak lagi. Dan oleh itu sama ada anda berada di sini di New Haven, atau penalaan dalam dari jauh, hari ini dalam Cambridge, dan kita akan berjumpa lagi tidak lama lagi, realitinya adalah ini adalah satu dan kelas yang sama. Dan kami sangat teruja untuk berada di sini semua bersama-sama hari ini. Dan sebagainya pada akhir semester, sama ada di sini atau jauh, baik mudah-mudahan anda memakai dengan bangga, gembira, dan mungkin dengan sedikit lega, baju yang memberikan kesaksian kepada anda setelah mengambil CS50. Jadi di mana yang kita tinggalkanlah pada hari Rabu? Kami mengambil lihat pada pemikiran pengiraan. Dan itu ke arah apa yang kita suling sains komputer kepada, sekurang-kurangnya untuk sekarang. Tetapi kita suling ia sedikit lebih ke dalam sekurang-kurangnya tiga komponen elemen. Input, jadi apakah masalah yang kita cuba untuk menyelesaikan? Output, apakah menjawab kami berharap untuk mendapatkan? Dan perwakilan darinya. Dan kita tidak akan kekal di sini selepas pada perduaan, atau ASCII, dan sebagainya begitu banyak, tetapi dan bukan mengambil mudah yang kita boleh mewakili maklumat ini, kerana bahagian-bahagian yang jauh lebih menarik satu masalah bukan sahaja yang input dan output, tetapi algoritma yang masuk ke dalam menyelesaikan masalah tersebut. Dan anda mungkin ingat dari hari yang lain yang kita mengambil yang agak tradisional konsep mencari seseorang sehingga di dalam buku telefon yang agak besar, atau lebih umum secara digital hari ini, hanya satu set data yang sangat besar. Senarai kenalan yang sangat besar, dengan banyak nama-nama mengikut abjad disusun. Dan kita sedar bahawa semasa saya boleh mendekati masalah ini semata-mata dengan menggunakan linear halaman approach-- oleh halaman, atau dua di sebuah time-- kita sedar yang algorithm-- lebih intuitif hanya jenis membahagikan dan menakluk masalah ini lagi, dan sekali lagi, dan again-- mengurangkan separuh dengan setiap masa, memberikan kita hasil hijau ini. Dan ia lebih mendatar kerana ia menunjukkan bahawa walaupun masalah ini mendapat lebih besar dan lebih besar, seperti yang berlaku hari ini dengan data set dan reality-- Facebook dan Google hasil carian dan like-- tidak algoritma kami melakukan hanya dengan berkesan dengan orang-orang yang lebih besar gigitan seperti yang berlaku walaupun dengan gigitan kecil. Kini ia menimbulkan persoalan, apa boleh kita benar-benar menyelesaikan sama dengan jenis ini gerak hati? Ini jenis bahagian dan menakluk? Nah, kita boleh melakukan sesuatu seperti hari ini di sini. Kita boleh mengambil kehadiran. Jadi mungkin seperti 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11-- tidak akan menjadi semua yang cekap. Sebab itu tunggulah, sekolah rendah. 2, 4, 6, 8, 10, 12, 14, 16, 18 dan sebagainya. Tetapi kita boleh melakukan sedikit lebih baik? Saya agak pasti saya tidak boleh melakukan ini dengan diri saya sendiri. Jadi, jika anda akan humor kami untuk hanya seketika, kami membawa dengan kami algoritma itulah hanya mendapat tiga langkah, tetapi ia require-- jika anda tidak mind-- kita semua berdiri, jika anda akan. Jadi, dengan kita semua kini berdiri, langkah salah satu algoritma ini adalah seperti berikut. Berdiri dan menetapkan diri nombor 1. Jadi pada masa ini, benar-benar semua orang di dalam bilik ini diharapkan berfikir untuk diri mereka sendiri, bagaimanapun canggung, nombor 1. Kini melangkah dua algoritma ini adalah akan melibatkan yang berikut. Langkah kedua, berpasangan dengan seseorang berdiri, menambah nombor anda bersama-sama, dan menggunakan sejumlah wang sebagai nombor baru anda. Pantas cek kewarasan. Apakah nombor yang semua orang berfikir untuk masa ini? Jadi 2, kecuali mungkin untuk satu, janggal, orang sepi. Jika kita mempunyai bilangan ganjil orang di dalam bilik. Jadi, satu orang mungkin masih nombor 1, itulah denda. Tetapi langkah tiga di sini, satu daripada anda perlu duduk. Yang lain harus kembali ke langkah dua, dan mengulangi, jika anda akan. Jadi, jika masih berdiri, anda perlu di kalangan mereka akan kembali ke langkah dua. Teruskan. Beberapa orang masih berdiri. Jadi, jika masih berdiri, berpasangan dengan seseorang. Baiklah, semakin berkurangan ke bawah. Beberapa orang masih berdiri. Saya akan membantu jika perlu. Ingat Fleet utama di sini, ialah bagaimana lebih cepat ini adalah daripada saya mengira. Jadi mari kita lihat. Saya boleh membantu. Jadi apa jumlah yang anda masih fikirkan? PENONTON: Saya pada 44. DAVID J. MALAN: 44, jadi anda pergi ke hadapan dan duduk. Apakah nombor yang anda fikirkan? PENONTON: 74. DAVID J. MALAN: 74. Baiklah, teruskan dan duduk. Siapa lagi yang masih berdiri? 86. Dan sesiapa sahaja yang masih berdiri? Apa nombor? Saya mendengar 67. Dan kemudian di atas? 32. Sesiapa sahaja yang masih berdiri dan berfikir untuk nombor? Oh, hi. Maaf. Akan kembali. 42. Orang lain? PENONTON: 47. DAVID J. MALAN: 47. Adakah lagi orang masih berdiri yang belum dikira? Jadi nombor terakhir orang di dalam bilik yang mempunyai 497 kerusi is-- semua yang adalah filled-- adalah 390. Jadi ini adalah besar. Tidak lama lagi kita akan membincangkan tanggapan daripada pepijat dalam program komputer. Tetapi kita akan kembali kepada yang lama. Tetapi dalam teori, apa yang mungkin berlaku tadi? Jadi, walaupun terdapat tiga besar langkah-langkah untuk algoritma ini, setiap orang-orang adalah hanya jenis satu operasi besar. Dan ada cyclicity ini kepadanya kerana jika anda masih berdiri, anda terus berjalan dari langkah 3-2, langkah 3-2, langkah 3-2. Tetapi apa yang berlaku disimpan pada setiap lelaran? Setiap kitaran gelung ini? Apa yang berlaku di tempat lain di dalam bilik? Bukan sahaja perkara yang sama, tetapi apa yang yang berlaku kepada separuh daripada anda? Duduk. Dan sebagainya ada dusta wawasan ini, sama seperti contoh buku telefon, kerana jika separuh daripada anda duduk setiap kali, masalah itu bermula dengan mungkin 400 orang, kemudian kepada 200 orang, daripada 100 orang, kemudian 50 orang, dan sebagainya. Dan supaya kita meraut turun dalam teori kepada hanya satu orang, memikirkan jumlah nilai semua orang. Sekarang realiti, beberapa dinamik sosial, dan beberapa kesilapan aritmetik mungkin menyumbang kepada yang bug muktamad. Tetapi dalam teori, semasa saya masih mengira jauh, mengambil beberapa dozen langkah-langkah, atau beratus-ratus langkah-langkah untuk mengira kamu, untuk mengira sebilik penuh 500 atau jadi orang sepatutnya mengambil langkah-langkah yang jauh lebih kecil, kerana anda hanya boleh membahagikan 500 dan 1/2 banyak kali. Dan sebagainya sama seperti dengan telefon tempah contoh hari yang lain, adakah kita mempunyai sesuatu logaritma boleh dikatakan, di mana jika kami semua beroperasi secara serentak, dan mengabaikan kesilapan samping itu, kami perlukan telah mencapai tepat yang jenis masa berjalan? Sekarang untuk berlaku adil, sejenis ditipu, dalam bahawa saya memanfaatkan sumber lain. Bahawasanya hanya salah satu daripada saya, Saya dimanfaatkan beratus-ratus anda. Tetapi itu boleh dikatakan sebagai suatu contoh pemprosesan selari, atau keadaan seni sangat banyak dalam tren mana komputer hari ini mempunyai pelbagai CPU, atau lebih secara teknikal, lebih pelbagai teras, dan benar-benar boleh melakukan pelbagai perkara pada satu masa, sama seperti anda semua yang kita lakukan di sana, secara selari. Tetapi ingat bahawa apa yang kita juga melakukan pada hari Rabu telah cuba untuk menangkap gerak hati ini dan merasmikan dalam kod. Sesuatu seperti pseudo-kod. Dan sebenarnya, dan saya berharap anda akan mengampuni, ia seperti 80 darjah di sini. Jadi, saya akan mengambil ini off untuk hanya sedikit. Apa yang saya fikir kita akan lakukan adalah peralihan sekarang kepada mana permohonan kita sekali lagi melibatkan penonton, tetapi menulis program dalam bahasa Inggeris seperti sintaksis, yang boleh digunakan untuk menyelesaikan masalah ini di sini. [VIDEO MAIN SEMULA] Mentega kacang jeli masa -Ia. Mentega kacang masa jeli. Mentega kacang masa jeli. Way ya! Way ya! Way ya! Way ya! Sekarang ada anda pergi! Itupun dia! Itupun dia! Itupun dia! Mentega kacang jeli! Mentega kacang jeli! Mentega kacang jeli! Mentega kacang jeli! Kacang, mentega kacang jeli! Mentega kacang jeli! Mentega kacang jeli dengan kelawar besbol. [AKHIR MAIN SEMULA] DAVID J. MALAN: --that video, tetapi ia adalah sedikit ketagihan, jika tidak sedikit menjengkelkan. Tetapi untuk melakukan ini, saya fikir apa yang kita akan lakukan adalah cuba untuk menulis program bersama-sama, yang mana kita memerlukan tiga sukarelawan. Perlu selesa pada kamera dan internet. Sam, datang ke atas. Baju ungu, di sini, datang ke atas. Dan dari di sini, biarlah saya pergi sedikit lebih jauh ke belakang. Crimson dan baju biru, datang ke atas. Perfect. Marilah sekarang. Naiklah, datang ke atas. Dan apa nama anda? Erica. David, baik untuk bertemu dengan kamu. Jika anda ingin mengambil kerusi ini di sini. Ini adalah Sam. Siapa nama anda? Antonio. Antonio, baik untuk bertemu dengan kamu. Erica dan Sam, jika anda lebih suka untuk mempunyai tempat duduk di sini. Apa yang kita telah datang disediakan dengan, kerana lelaki ini telah menemui, adalah bahan-bahan yang boleh digunakan untuk membuat mentega kacang dan jeli sandwic. Sekarang ini mungkin sesuatu yang anda mengambil banyak untuk diberikan. Tetapi kita telah diberikan setiap tiga sukarelawan kami sini-- dua sukarelawan dan Sam di sini, sebuku roti setiap satu, pinggan, pisau, balang jeli atau jem, dan balang mentega kacang. Dan matlamat di tangan sekarang adalah akan menjadi bagi ketiga-tiga untuk membuat mentega kacang dan jeli sandwic. Tetapi apa yang kita akan lakukan adalah mengharapkan audience-- sejak anda semua pasti tahu bagaimana untuk melakukannya ini dengan baik dalam reality-- akan memberikan kami langkah demi langkah. Pseudo-kod, jika anda akan. Jadi saya akan memainkan peranan sebagai ahli kitab di sini. Dan saya telah mendapat senarai sedikit tugasan, dan supaya kamu masing-masing, satu demi satu, memanggil potensi yang pengajaran, saya akan menuliskannya, ulang ia seperti yang diperlukan. Dan kemudian anda semua akan membuat mentega kacang dan jeli sandwic hanya dengan melakukan apa yang anda diberitahu. Jadi berfikir sendiri tentang komputer. Anda hanya boleh melakukan apa yang anda diberitahu. Tiada andaian, ada soalan. Anda hanya perlu untuk melakukannya. Jadi yang ingin memudaratkan pertama arahan untuk membuat sandwic PBJ? Di balkoni di sana. PENONTON: Buka beg roti. DAVID J. MALAN: Buka beg roti, jika anda akan. Jadi mari kita lihat. Mari kita melelar, dan mendapatkan sedikit lebih tepat. Cara yang baik untuk memulakan walaupun. Langkah kedua, orang lain. Sekarang tidak ada yang mahu menjadi sukarelawan. Langkah dua, di hadapan. PENONTON: Buka dalaman beg roti juga. DAVID J. MALAN: Buka beg roti juga. Besar, kita belajar. Sedikit lebih tepat. Mari kita kerja ini. Ya, dalam baju hijau. PENONTON: [didengar] DAVID J. MALAN: Keping roti. Perlahan-lahan mengeluarkan dua keping roti. Itulah yang baik. Langkah keempat, orang lain? Di sini, ya? PENONTON: [didengar] DAVID J. MALAN: roti Letakkan di atas pinggan. Langkah lima? Langkah lima, ya? PENONTON: [didengar] DAVID J. MALAN: Selain daripada- oh, tangan. Letakkan tangan di atas mentega kacang. Adakah itu apa yang saya pergi? PENONTON: Ya, dan membukanya. DAVID J. MALAN: dan- katakan sekali lagi. PENONTON: [didengar] DAVID J. MALAN: Dan meletakkan tudung sebelah mentega kacang. Ringan meletakkan tangan pada atas mentega kacang, dan longgarkan, dan meletakkan tudung bersebelahan dengan mentega kacang. OK, langkah enam. Langkah enam, orang lain. Ya? PENONTON: [didengar] DAVID J. MALAN: Katakanlah lagi. PENONTON: Ulang langkah lima lagi. DAVID J. MALAN: Dan ulang langkah lima lagi, yang akan mewujudkan sedikit masalah sekarang jika kita lakukan langkah ini demi langkah. Jadi sekarang kita kembali ke langkah lima. Ringan meletakkan tangan di atas mentega kacang dan longgarkan dan meletakkan penutup sebelah mentega kacang. Kemudian memahami mentega kacang dan ulangi langkah lima lagi. Jadi kita akan menindih gelung tak terhingga, jika anda akan. Langkah tujuh, orang lain. Ya, di belakang. PENONTON: [didengar] DAVID J. MALAN: atas --Untuk View lain. PENONTON: [didengar] DAVID J. MALAN: Pada tangan yang lain di atas yang lain. Adakah anda ingin hanya datang di sini? Bagaimana saya menyelesaikan arahannya? Apakah seluruh arahannya? PENONTON: Mengabaikan bahagian itu. DAVID J. MALAN: Mengabaikan bahagian itu. Mari kita mulakan sekali lagi. Langkah tujuh. PENONTON: [didengar] DAVID J. MALAN: Genggam dengan menentang hand-- ini baik. Ini sebenarnya baik. PENONTON: [didengar] DAVID J. MALAN: Dan jar-- plastik PENONTON: [didengar] DAVID J. MALAN: Dan twist-- PENONTON: [didengar] DAVID J. MALAN: Selama dua saat. Hanya buka balang mentega kacang. Saya berharap anda akan memaafkan. Jadi mari kita andaikan kita sampai di sana. Buka jar mentega kacang. [Tepuk tangan] DAVID J. MALAN: Langkah lapan, mari kita pergi. Langkah lapan, ya, di belakang. PENONTON: [didengar] DAVID J. MALAN: Baik. Langkah sembilan, ya? PENONTON: [didengar] DAVID J. MALAN: --out daripada balang mentega kacang. Dan- dan apa? PENONTON: [didengar] DAVID J. MALAN: Dan pisau meletakkan kembali ke dalam mentega kacang. Langkah sepuluh. Langkah sepuluh. PENONTON: [didengar] DAVID J. MALAN: Letakkan pisau keluar, dan kemudian keluarkan meterai. Nice. Off mentega kacang. Baiklah, langkah 11. PENONTON: [didengar] DAVID J. MALAN: OK, komputer kelabu mengikuti komputer biru atau merah. Yang baik. [Tepuk tangan] DAVID J. MALAN: Bawalah hati. Pasangan langkah lagi. Apa seterusnya? Langkah 12. Langkah 12. Ya? PENONTON: Letakkan salah satu keping roti perlahan-lahan pada salah satu tangan anda. DAVID J. MALAN: Salah satu tangan anda. Dan kemudian, langkah 13. Ya? PENONTON: [didengar] DAVID J. MALAN: keping --Untuk View roti. Yang baik. Agak bagus. Langkah 14, ya. PENONTON: Undo langkah 13. DAVID J. MALAN: Undo langkah 13. Mari kita bergerak ke jeli. Ia adalah satu program 100- langkah, tetapi kami berada di langkah 15. Yeah. PENONTON: [didengar] DAVID J. MALAN: 7 hingga 13 menggunakan jeli, kerana mereka pergi dengan baik. Ulang langkah 7 hingga 13, menggunakan jeli. Jadi memahami separuh yang lebih rendah daripada jeli balang dengan satu tangan di atas. Sebaliknya daripada bahagian lain, mengabaikan bahagian itu, memahami dengan menentang tangan, tudung dan balang plastik di bahagian bawah, dan twist untuk dua saat. Kemudian membuka balang jeli. Dan akhir sekali, mari kita cuba untuk memberi kita sesuatu yang boleh dimakan. Langkah 16. Jadi mengapa tidak kita meninggalkan ia di sana. Terima kasih banyak untuk tiga sukarelawan kami. [Tepuk tangan] Kami mempunyai CS50 sedikit bola tekanan untuk anda. Ia akan menjadi sandwich but-- jadi apa adalah titik, di luar yang mempunyai sedikit keseronokan dengan algoritma? Tetapi realitinya adalah bahawa walaupun anda pengaturcaraan komputer, anda perlu menjadi super tepat. Seperti yang kompleks atau menakutkan sebagai komputer anda sendiri mungkin dengan baik adalah untuk anda, sekurang- kurangnya apabila ada masalah, realiti itu ia adalah cukup bodoh alat yang telah dicipta oleh kita manusia, dan hanya boleh melakukan satu subset daripada apa yang kita do-- kadang-kadang pasti faster-- tetapi ia tidak tahu bagaimana untuk membuat andaian. Ia tidak tahu bagaimana untuk berada di panjang gelombang yang sama seperti anda. Ia hanya akan melakukan dengan tepat apa yang anda beritahu. Dan anda akan melanda, mungkin, seperti yang kita mula menulis kod sebenar dengan set masalah pertama dan seterusnya, betapa mudahnya untuk membuat andaian sebagai manusia, dan tidak menjangka saya perlu mengendalikan kes itu, atau bahawa kes sudut, boleh dikatakan, yang mungkin sangat baik timbul jika misalnya Sam mempunyai hanya jar dpt diperah jeli, manakala semua orang mempunyai beberapa balang kaca sebagai dengan baik. Jadi sebelum kita beralih kami perhatian kepada beberapa kod sebenar, membenarkan saya untuk memperkenalkan kepala kursus ini di sini di Yale. Rakan-rakan kami Scaz, Andy, dan Jason untuk datang dan bertanya khabar. [Tepuk tangan] SCAZ: Kami kehilangan Jason buat sementara waktu. Hi lagi, semua orang. Nama saya Scaz. Saya telah mengajar di Yale sejak 2001. Dan apabila aku tidak mengajar, kajian saya adalah di dalam bidang robotik dan kecerdasan buatan. Dan pengumuman yang saya ada hari ini adalah bahawa bermula dalam beberapa minggu, kita akan dapat membawa beberapa bahan tambahan untuk CS50 bercakap mengenai perisian perisikan. Kami akan bercakap tentang bagaimana tempat-tempat seperti Netflix dan Hulu boleh mengesyorkan filem yang anda mungkin mahu menonton. Di mana kita akan bercakap tentang bagaimana kereta pemandu-kurang benar-benar bekerja. Dan kita akan dapat tanah perkara-perkara ini dalam konsep yang anda sedang belajar dalam kelas ini hari ini. Oleh kerana semua perkara-perkara ini dibina di atas asas yang sama. Dan itulah yang ini siri akan meneroka. Jadi, saya benar-benar mencari ke hadapan untuk melihat lebih daripada anda semua, dan anda akan mendapat ke melihat lebih banyak dari kita semua tidak lama lagi. Biar saya kemudian memperkenalkan Jason. Jason: Hi semua orang. Nama saya Jason. Saya malangnya pergi ke Harvard sebagai undergrad yang. Itu akan hancur daripada aliran sebenar. Dan sekarang saya di sini sebagai pensyarah di jabatan sains komputer. Dan saya membantu mengendalikan kursus tersebut dengan Scaz, Daud dan Andy. ANDY: Hey guys. Andy nama-Ku. Saya sebenarnya hanya Yale pelajar pada peringkat sekarang. [Tepuk tangan] Saya dalam Berkeley College, berasal dari Solon, Ohio. Dan saya adalah salah seorang daripada mereka anak-anak di mana, bila saya datang ke Yale, Saya benar-benar berfikir bahawa saya tidak akan perlu melihat bilangan yang pernah lagi. Dan kemudian saya menyedari bahawa anda diperlukan kedua-dua sains dan QR kredit untuk bergraduat. Dan sebagainya musim bunga bayat saya, saya mengambil kelas, CS, intro kelas CS sini di Yale. Saya seperti, ini adalah seperti sebenarnya cukup sejuk. Dan semasa saya sebenarnya akhirnya mengisytiharkan sebagai hal ehwal global utama, kemahiran Saya belajar di CS dan pengaturcaraan begitu terpakai kepada mana-mana bidang anda memilih untuk melakukannya. Dan kakitangan di sini di Yale, kami telah menjadi begitu keras di tempat kerja untuk menyediakan untuk anda semua. Dan kami tidak sabar-sabar untuk melihat semua dalam bahagian dan pejabat jam. Jadi yeah. [Tepuk tangan] DAVID J. MALAN: Terima kasih. Jadi hanya sebelum kelas bermula, kita mempunyai peluang untuk berjalan di sekitar kampus dengan telefon bimbit dan mengambil beberapa selfies dalam bentuk video yang benar-benar lawatan pertama saya kampus Yale di sini. Dan supaya kita fikir kita akan berkongsi kasar potong betul-betul ini sebagai Scaz dan Andy dan Jason membawa saya sekitar kampus. [VIDEO MAIN SEMULA] [Siren] -David. -Welcome Ke Yale. -Gembira dapat berjumpa awak. -Gembira jumpa dengan awak. -Boleh Kita pergi pada lawatan? -Biar Kita pergi melawat. Pelancongan -road. Tanda -Ini telah berada di sana untuk seketika. -Whah, CS50. -Hurry! Pergi, pergi, pergi, pergi. Anda perlu [didengar] Harkness Tower. -Dan Kita melihat bahawa satu atau dua kali. [Tepuk tangan] -Look Keluar untuk basikal! Ahh! Hi Frank. -Apa Yang berlaku, semua? -Apa khabar? -Gembira dapat berjumpa awak. -Welcome Kepada video. Jangan bertindak terlalu teruja. -Saya Suka Silliman. Ahh! -Ia Sudah kira-kira tiga jam sejak Jason mempunyai ais krim dan Nutella. Oleh itu, kita telah mendapat untuk berhenti kembali pada Silliman untuk sedikit. -Ia Tidak walaupun [didengar] lagi, hanya fakta bahawa mereka mempunyai ia di sini adalah begitu menakjubkan. Dude, ada Nutella setiap kali waktu makan. -Terdapat Adalah tahun lepas juga. -Yeah. -tell banyak tentang Yale setakat ini. Tetapi saya sekarang yang yang TD di sana. Dan itu dianggap luar kampus. -Here Kita mempunyai senibina gothic. Terkenal di dunia. Kami mempunyai beberapa seni bina lebih gothic. Dan pembinaan, dan seni bina gothic lagi. Hi. Ini adalah di mana kita mempunyai waktu pejabat Selasa melalui hari Khamis di Hogwarts, sebagai [didengar]. -Semua Betul. Itu sahaja untuk pelancongan. Kami di Universiti Yale Sekolah Undang-undang, di mana syarahan hari ini adalah kira-kira untuk mengambil tempat. Mari kita menuju masuk. [AKHIR MAIN SEMULA] DAVID J. MALAN: Dan yang membawa kita di sini sekarang. Jadi setakat ini, kita telah memberi tumpuan kepada kod pseudo, yang sintaks bahasa Inggeris seperti ini. Ia tidak mempunyai spesifikasi ditetapkan. Ia hanya anda menggunakan beberapa bahasa intuitif jika anda ingin menjelaskan apa yang anda mahu lakukan. Tetapi mari kita mulakan sekarang untuk peralihan untuk kod, kerana kebanyakan orang akan berkata. Tetapi lebih tepat lagi, sesuatu dikenali sebagai kod sumber. Ini adalah bahasa yang manusia menulis bahawa komputer ultimately-- mungkin selepas beberapa beberapa steps-- akhirnya memahami supaya tahu bagaimana untuk melakukan sesuatu. Yang kaulihat itu, sekilas ini mungkin pada hari Rabu. Ini adalah satu contoh yang sangat, underwhelming apabila berjalan hanya berkata "hello dunia." Dan ia ditulis dalam bahasa yang dipanggil C, yang sintaksis hampir sama kepada banyak bahasa lain yang anda mungkin tidak tahu, tetapi mungkin pernah mendengar seperti Jawa, dan C ++, dan Python dan Ruby, dan sebagainya, dan sesungguhnya kami akan banyak menghabiskan semester menggunakan C, dan kemudian ke arah akhir semester, membina atasnya, dan memperkenalkan apa-apa beberapa bahasa lain. Antaranya PHP, dan JavaScript, bahasa pangkalan data yang dikenali sebagai SQL. Tetapi dengan C, apa yang kita akan mempunyai ini pemahaman bawah ke atas yang betul-betul bagaimana komputer bekerja, apa yang anda boleh lakukan dengan mereka, dan bagaimana anda boleh menyelesaikan masalah semua lebih berkesan dengan ini lapisan yang kita dibincangkan pada hari Rabu, dan berdiri di bahu orang lain. Tetapi lebih kepada yang akan datang. Hari ini kita melihat persekitaran yang lebih mudah, tetapi asasnya serupa persekitaran dikenali sebagai Scratch oleh rakan-rakan kami di MIT Media Lab. Ini adalah grafik yang bahasa pengaturcaraan, Awal, di mana anda boleh seret dan drop perkara-perkara yang kelihatan seperti kepingan teka-teki yang hanya berpaut jika ia boleh menyebabkan rasa logik atau perancangan untuk berbuat demikian. Tetapi ia akan membolehkan kita untuk mengadakan perbualan tentang semua pengaturcaraan yang sama asas-asas yang ada di antara kamu mungkin sudah tahu, yang ramai di antara anda mungkin tidak tahu apa-apa tanpa untuk menjadi buntu terus-terang, dalam intelektual sintaks tidak menarik koma bertitik, dan kurungan, dan memetik, dan sebagainya. Semua yang, awal pada, adalah gangguan apa yang menarik dan idea-idea yang benar-benar berguna. Jadi mari kita cepat renungan alam sekitar di sini, supaya anda tahu apa yang menanti. Dan sebenarnya, antara permainan kami boleh bermain adalah beberapa program bertulis bekas pelajar CS50 sendiri. Salah seorang daripada mereka, saya sendiri, saya akan menjadi salah satu ini ditulis dalam sekolah siswazah untuk saya. Jika saya boleh mengambil satu sukarelawan siapa yang bersedia untuk bermain permainan untuk kali pertama. Pasti. Naiklah. Siapa nama anda? PENONTON: Angela. DAVID J. MALAN: Angela, datang ke atas. Jadi Scratch telah keluar untuk beberapa tahun. Dan apabila saya berada di sekolah siswazah, Saya silang berdaftar di MIT, mengambil profesor Mitchel Resnick ini kursus teknologi pendidikan. Dan kita adalah antara yang pertama pelajar di dunia yang sebenarnya beta ujian Scratch. Dan projek saya adalah apa Angela kini anggun menawarkan diri untuk bermain dipanggil Oscartime. Jadi, saya akan pergi ke hadapan dan klik dua kali ikon di sini. Ia akan membuka pengaturcaraan persekitaran yang kita tidak lama lagi akan menyelam ke dalam. Saya akan skrin penuh selama Angela, di sini. Saya akan melanda hijau bendera dalam hanya seketika. Dan kemudian banyak keseluruhan sampah akan jatuh dari langit. Dan anda akan menggunakan tetikus di sini untuk benar-benar menarik dan melepas sampah ke dalam tong sampah Oscar. Jadi jika anda ingin pergi ke hadapan dan klik bendera hijau, permainan akan bermula. [Bermain muzik] Oh, saya suka sampah. Apa-apa yang kotor atau kotor atau berdebu. Apa-apa sahaja kasar atau busuk, atau berkarat. Ya, saya suka sampah. Jika anda benar-benar mahu melihat sesuatu rongsok, melihat ini. Saya ada di sini sneaker yang itulah koyak dan dipakai. Itu semua penuh lubang memegang dan tali koyak. Hadiah dari ibu saya pada hari aku dilahirkan. Saya suka kerana it's-- DAVID J. MALAN: --green hari ini hanya menjadi membuang segala-galanya dalam tong sampah. Dan jadi apa salah satu CS50 did-- kakitangan sendiri Jordan, yang anda mungkin seorang today-- mempunyai sebenarnya dikemaskini ini untuk kali hari ini. Dan supaya membenarkan saya untuk membuka remix bukan untuk Angela. Dan kami akan bermain ini bukan untuk beberapa ketika di mana kini anda akan perlu membuat keputusan antara sama ada untuk membuang sesuatu dalam tong sampah, atau kitar semula atau kompos itu. Jadi ada sedikit tekanan ke atas anda untuk mendapatkan hak ini di hadapan anda 392 berbanding 497 rakan-rakan di sini di dalam dewan, jika anda akan. [VIDEO MAIN SEMULA] [Bermain muzik] -Oh Saya suka sampah. Apa-apa yang kotor atau kotor atau berdebu. Apa-apa sahaja kasar atau busuk atau berkarat. Ya, saya suka sampah. Jika anda benar-benar mahu melihat sesuatu rongsok, melihat ini. Saya ada di sini sneaker yang itulah koyak dan dipakai. Itu semua penuh lubang dan tali koyak. Hadiah dari ibu saya pada hari aku dilahirkan. Saya suka kerana ia adalah sampah. Oh, saya suka sampah. Apa-apa yang kotor, atau kotor, atau berdebu. Apa-apa sahaja kasar atau busuk atau berkarat. Ya, saya suka sampah. Berikut adalah beberapa perkara yang lebih busuk. Saya ada di sini beberapa newspaper-- [AKHIR MAIN SEMULA] DAVID J. MALAN: --are sebenarnya compostable. Tetapi terima kasih kepada sukarelawan kami, Angela. Kami mempunyai bola tekanan untuk anda di sini juga. Jadi terima kasih. Jadi, satu ini ditulis oleh saya. Tetapi kini satu demi satu bekas pelajar yang sebenar yang dilaksanakan ini, yang merupakan satu permainan. Semua dalam bahasa ini dipanggil Awal, yang tidak lama lagi kita akan mengupas kembali lapisan. Tetapi jika kita akan like-- bagaimana tentang sukarelawan yang lain? Betul. Naiklah. Siapa nama anda? Sepintas? Lance. Lance, datang ke atas. Gembira Mengenali Anda. Ayuh cara ini. Jadi yang satu ini mungkin mempunyai tema biasa kepada sebahagian dari kamu. Tetapi anda akan melihat juga bahawa ada boleh interaktiviti, di mana anda benar-benar boleh menjadi peranan watak bergerak di sekitar. Gembira Mengenali Anda. Daud. Saya memberi anda, Pikachu. Arahan akan kira-kira untuk datang pada skrin. Tetapi dalam jangka pendek, anda akan mahu untuk menangkap barang-barang yang lazat, dan mengelakkan bom dan lain-lain. Dengan Kursor sepenuhnya. Jadi memukul bar ruang. -Pikachu. DAVID J. MALAN: Tangkap bahan yang di sebelah kiri, tidak menangkap bahan yang di sebelah kanan. [Bermain muzik] Jadi salah satu yang terakhir di sini. Jika kita boleh mempunyai satu sukarelawan lanjut di sini. Kita fikir kita akan mencipta sesuatu from-- dalam shirt-- kuning dari Rabu. Siapa namamu? Mary, datang ke atas Maria. Dan ingat pada hari Rabu kami memperkenalkan tanggapan binari, dan mentol binari. Ini sebenarnya kini seorang pelaksanaan antara muka yang sama kalau kita ada pada iPad dengan cahaya mentol, tetapi di sini secara digital yang diberikan. Dan bukannya melakukan tekanan yang ball-- baik untuk bertemu dengan kamu, Daud. Kami membawa cahaya beberapa mentol dari Cambridge. Jika anda boleh, klik pada mereka mentol untuk menghidupkan mereka dan mematikan, datang dengan binari perwakilan mengatakan 256. Dan anda akan melihat dalam pertengahan, tally semasa. Supaya seseorang yang sedang ditayangkan. Jadi bit paling kiri dihidupkan. MARY: Ya, [didengar] DAVID J. MALAN: Nah, jadi kita perlu just-- oh. Jadi ini adalah lajur 128. Jadi kita sehingga 128. Kami mendapat untuk mendapatkan ke 256. Dan anda boleh bermain-main di dan di luar, ada masalah besar. Atau anda boleh memukul yang 128 kali lagi jika anda mahu. Baiklah, baik. 24. Ya, semakin hampir. Lebih dekat! Oh, apa masalahnya itu? Jadi apa isu ini? Jadi, apa yang kita perlu menyelesaikan masalah ini? Oleh itu, kita perlu sedikit lain. Dan ini adalah sempurna munasabah dalam realiti, bukan? Jika anda mahu untuk mengira dari jumlah 1-2 3 hingga 4 hingga 5, 6, 7, 8, 9 untuk benar-benar bergolek hingga 10, anda berada akan memerlukan sedikit tambahan. Jadi mari kita sebenarnya putar balik sini, dan datang with-- itu adalah jelas bertujuan untuk menjadi satu set up. Anda tidak boleh melakukannya dengan hanya 256 mentol. Jadi bagaimana pula hanya nombor 50? Number 50. Sangat baik. Satu pusingan besar tepukan untuk Mary dan perempuan juga. Terima kasih. Jadi ini topic-- sengaja sebagai was-- yang benar-benar akan berulang. Nilai terbesar yang anda boleh mewakili dengan lapan bit, atau satu bait, memang 256. Tetapi tidak jika anda memulakan mengira dari 0, seperti yang kita seolah-olah terus melakukan dengan mempunyai semua bit-bit off. Tetapi sekarang mari kita menyelam ke dalam asas pelaksanaan persekitaran ini, dan mengusik selain beberapa idea ini. Jadi, dalam masa yang kita kira-kira untuk melihat beberapa asas-asas pengaturcaraan yang berbeza. Yang pertama yang kita akan memanggil satu kenyataan. Jenis kata kerja, jika anda akan. Tindakan. Perkara-perkara yang perlu dilakukan. Dan sebentar lagi anda akan melihat blok yang kelihatan seperti ini. Mengatakan "hello dunia," misalnya. Atau menunggu satu saat. Atau bermain meow bunyi. Dan sesungguhnya alam sekitar dalam yang kita akan lakukan ini dipanggil Scratch. Dan jika saya tarik Scratch tanpa preloading apa-apa kod yang sebenar, mari kita lihat cepat pada ini antara muka pengguna, jadi untuk bercakap. Kawalan yang kita berinteraksi. Di atas sebelah kiri sini daripada skrin, di bawah menu, kita ada pentas, jadi untuk bercakap. Jadi Scratch adalah apa yang kita akan memanggil Sprite. Ia bersifat. Dan dia boleh dikawal dengan menulis program terhadapnya. Dan dia akan dapat bergerak atas dan ke bawah dan kiri dan kanan dalam persekitaran ini, bukan hanya dengan menggerakkan tetikus, tetapi pengaturcaraan. Saya boleh memberitahu dia berjalan betul, berjalan kaki kiri, atas, bawah atau sebagainya. Dan saya boleh memperkenalkan lain sprites atau watak-watak juga. Malah, di bahagian bawah sini adalah di mana anda akan melihat senarai sprites. Pada masa ini, saya hanya perlu satu, tetapi saya boleh membuat lebih banyak, dan mereka akan muncul betul-betul di bawah sana. Jadi, jika anda gulung semula untuk seketika, seperti Oscartime-- misalnya, Oscar, di sebelah kiri, tong sampah boleh, adalah bidadari a. Dan perkara yang di tengah, yang kitar semula bin, adalah bidadari lain. Dan bin kompos adalah bidadari lain. Dan setiap bahagian sampah atau kitar semula yang jatuh dari langit juga sprite, setiap yang telah diprogramkan secara individu. Bagaimana anda program? Nah, di sini di sebelah kanan sebelah adalah kawasan skrip itu. Dan ini adalah di mana kita boleh seret dan lepas keping teka-teki. Dalam seminggu, ia akan menjadi di mana kita setara menulis kod dengan lebih daripada papan kekunci, tetapi untuk hari ini ia akan mengheret dan menjatuhkan kepingan teka-teki, yang palet yang mana boleh semua didapati di sini betul-betul di tengah-tengah. Sesungguhnya, di tengah-tengah di sini ada sekumpulan keseluruhan kategori teka-teki keping atau blok. Seorang pun yang berkaitan dengan gerakan, melihat, bunyi, pen akan naik dan turun, data, peristiwa mengawal. Tidak cukup pasti lagi apa semua ini bermakna, tetapi anda akan melihat bahawa mereka telah telah baik dikategorikan. Dan untuk menulis program dalam Awal, mari kita melakukan perkara tersebut. Saya akan bermula di bawah Peristiwa, dan seret satu ini di sini. Apabila bendera hijau diklik. Sekarang mengapa seseorang itu? Juga ingat bahawa sukarelawan kami datang, perkara pertama saya atau mereka lakukan ialah klik hijau yang bendera di bahagian atas sebelah kanan. Dan itu hanya bermakna memulakan program. Oleh itu, apabila peristiwa yang berlaku, apa yang saya mahu lakukan? Saya akan pergi di bawah Nampaknya, dan saya akan lakukan "bertanya khabar." Dan saya akan mengubah ini dan mengatakan sesuatu seperti "hello Yale." Dan sekarang saya akan untuk zum , klik bendera hijau, dan Voilà, saya telah menulis program. Ia bukan semua yang menarik sahaja lagi, tetapi ini betul-betul di mana setiap penulis mereka bermula, kedua-duanya dengan Pikachu, dan mentol binari, dan Oscartime, dan banyak lagi contoh. Anda bermula super mudah, dan kemudian anda mula lapisan, dan menambah kepada ciri-ciri dan fungsi. Jadi apakah lapisan ini akan terdiri daripada? Nah, daripada kenyataan, kita juga akan mempunyai ada perkara-perkara yang sedikit lebih fancily dipanggil Boolean Ungkapan-ungkapan, selepas seseorang bernama Bool. Dan ungkapan Boolean adalah semata-mata ungkapan itu sama ada benar atau palsu, ya atau tidak, 1 atau 0. Mana-mana bertentangan kutub seperti itu. Ia sama ada benar atau tidak. Tetapi kita juga akan melihat orang-orang yang mungkin kelihatan seperti ini. Jadi misalnya, adalah tetikus ke bawah? Mereka jenis soalan, jika anda akan. Tetikus sama ada ke bawah, benar atau tidak, palsu. 1 atau 0, jika anda akan, cenderung untuk menjadi pemetaan. Benar adalah 1, palsu adalah 0. Baik apa yang kira-kira kurang daripada ini? Atau jadi, adakah ini kurang daripada ini? Itu soalan kejayaannya. Dan jika anda meletakkan dua nombor di sana, sama ada x akan menjadi kurang daripada y atau sama dengan y, atau lebih besar daripada y, tetapi blok ini kita akan lihat, hanyalah akan menjawab soalan, adakah ini kurang daripada itu? Kami juga mungkin melihat sesuatu seperti ini. Petunjuk tetikus menyentuh. Jadi dalam Scratch, anda boleh meminta soalan, adalah Sprite menyentuh penunjuk tetikus? Erti kata lain, adalah berlegar kursor atas topi, atau yang setara dengannya? Kami akan melihat perkara-perkara Anding bersama-sama. Anda boleh bertanya dua soalan, dan memastikan bahawa kedua-dua mereka memberikan anda ya atau jawapan yang benar sebelum membuat keputusan untuk melakukan sesuatu. Tetapi bagaimana anda membuat keputusan? Nah, kita mempunyai keadaan ini. Dan kita melihat ini dalam kita contoh buku telefon. Melihat ke kiri atau tepat untuk Mike Smith. Dan dalam keadaan ini, anda melakukan sesuatu yang berpotensi, jika ungkapan Boolean adalah benar. Dan sesungguhnya, perhatikan bentuk sekarang. Ada pemegang tempat ini buat masa ini di atas di mana kita boleh fit-- jika saya putar balik satu slide-- bentuk itu. Ia tidak cukup saiz yang sama. Dan sesungguhnya, anda akan melihat bahawa Scratch mengubah saiz perkara yang dinamik untuk muat kepingan teka-teki, tetapi bentuk adalah apa yang penting. Perkara ini kelihatan seperti itu, dan sesungguhnya ia secara kasar bentuk yang sama yang perlu dimuatkan di dalam sana. Dan jika kita mahu melakukan sesuatu cara ini atau cara itu, jika atau yang lain, kita ada teka-teki ini bahagian dalam Scratch juga. Sekarang andaikan anda mahu lakukan sekiranya, lain jika, atau yang lain. Dalam erti kata lain, tiga cara garpu di jalan raya. Baik apa yang anda boleh lakukan hanya dengan sambil mengerling ke arah ini? Saya boleh mengambil sekeping teka-teki ini, dan ia seolah-olah tidak sesuai, tetapi sekali lagi, calar akan semula saiz baik untuk kita. Saya boleh memulakan untuk lapisan perkara-perkara ini bersama-sama. Jadi sekarang saya mempunyai tiga hala garpu jika ini adalah benar, melakukan ini. Lain jika perkara ini lain benar, pergi dengan cara ini, lain pergi dengan cara ini lain. Dan dalam The Movie Muppet, yang garpu di jalan raya, boleh dikatakan, antara Yale atau Stanford, adalah tepat itu, hanya dua syarat. Sama ada pergi cara ini, lain pergi dengan cara itu. Nah, gelung juga wujud dalam pengaturcaraan. Dan kita telah menggunakan ini sudah kelas dan kod pseudo, dan sesungguhnya pada mereka Program calar selama-lamanya. Scratch mempunyai sekeping teka-teki ini yang hanya akan membiarkan anda melakukan sesuatu yang selama-lamanya. Dan kadang-kadang anda mahu untuk melakukan sesuatu yang selama-lamanya. Ia tidak semestinya pepijat, ia kerana anda mahu jam untuk terus pergi, atau permainan untuk terus bermain. Atau anda boleh menentukan beberapa terhingga langkah-langkah, kerana dengan blok ulangan ini di sini, yang akan mengulangi sesuatu 10 kali. Kita boleh menetapkan pembolehubah, kita tidak lama lagi akan melihat. Dan dengan pembolehubah, sama dalam semangat untuk algebra, seperti x, atau y, atau z. Ia sesuatu yang simbolik yang boleh menyimpan beberapa nilai, beberapa keping maklumat, yang anda mungkin mahu ingat untuk masa lain. Contoh terbaik ini mungkin permainan di mana anda mempunyai skor, seperti dalam Pikachu. Berapa keping kek dan barang kecil adakah anda menangkap? Nah, yang mungkin berubah-ubah dipanggil skor yang bermula pada 0. Kemudian setiap kali kita ditangkap sekeping kek atau gula-gula, atau sebagainya, ia mendapat incremented. Ia akan ditambah kepada satu pada satu masa. Dan kedai jadi pembolehubah bahagian maklumat seperti itu. Kemudian ada array, dan kami akan datang kembali kepada ini dalam masa seminggu atau dua, tetapi array adalah jenis seperti inventori atau satchel, di dalam yang anda boleh meletakkan perkara maya. Ia membolehkan anda untuk menyimpan lebih banyak daripada satu maklumat. Dan yang mungkin berguna jika dalam permainan, anda akan semacam berjalan di sekitar memilih perkara. Dan mungkin anda hendak simpan semua orang-orang keping kek sekitar, dan bukan hanya makan mereka satu demi satu. Dan kemudian ada yang membina pelamun kita akan datang untuk memanggil fungsi atau prosedur. Dan walaupun kita akan lebih cepat di sini, kita akan melihat bahawa ini adalah yang sangat penyelesaian semula jadi untuk masalah yang kita akan hadapi. Seperti program-program kami mula semakin besar kita akan mula melihat corak dalam kod yang kita menulis, kepingan teka-teki kami mengheret dan menjatuhkan. Dan sebaik sahaja anda mendapati diri anda melakukan sesuatu lagi dan lagi, atau lebih teruk lagi menyalin dan menampal pengaturcaraan kod yang anda tulis, itulah mungkin yang peluang untuk faktor keluar apa sahaja yang anda menyimpan salinan dan menampal, dan meletakkan dalam sesuatu yang dipanggil "fungsi." Tetapi lebih kepada mereka yang banyak Maklumat terperinci tidak lama lagi. Dan kemudian ada ciri walaupun pelamun. Bagi anda lebih selesa, atau mengambil APCS atau setaraf, Scratch sebenarnya menyokong perkara seperti benang dan acara-acara dan banyak lagi. Jadi sedar bahawa ia mempunyai siling yang agak tinggi, walaupun ia juga sangat meluas diakses oleh orang yang tidak pernah diprogramkan sebelum ini. Maka sesungguhnya, mari kita lihat di satu program yang mudah atau dua. Kita sudah melihat bagaimana kita mungkin bertanya khabar dengan Scratch. Biar saya pergi ke hadapan dan membuka program sedikit lebih menarik yang saya tulis terlebih dahulu. Dan memanggil satu ini Pet Cat. Semua program-program ini akan menjadi didapati di laman web CS50. Malah, sudah ada. Jadi, anda boleh memuat turun mereka, dan bermain dengan mereka, dan dengan Set Masalah 0, yang juga di laman web kursus ini, anda digalakkan untuk berjalan melalui ini. Dan lebih-lebih lagi, kita mempunyai beberapa video berjalan-melalui dalam talian di mana I dan Pasukan CS50 benar-benar berjalan melalui setiap contoh-contoh pada yang lebih kadar lebih perlahan, forwardable yang sangat cepat, atau kadar rewindable, supaya anda boleh berjalan melalui ini pada masa lapang anda juga. Jadi di sini adalah calar di sebelah kiri. Berikut adalah program yang di sebelah kanan yang saya telah pra-dibuat. Jadi biarlah saya mengezum masuk pada ini. Dan boleh seseorang dalam bahasa Inggeris, mengetahui apa yang anda tahu, hanya dari sekarang kerana kepada bagaimana kerja-kerja awal, jenis kata dalam frasa Inggeris atau ayat, apakah program ini nampaknya lakukan? Ya, berbaju oren. PENONTON: [didengar] DAVID J. MALAN: Ya, jika anda kursor pada calar kucing, memainkan bunyi mengiu. Tetapi perhatikan bagaimana kita menyatakan itu. Ada nampaknya gelung di sana, selama-lamanya. Dan kemudian ada yang syarat, jika ungkapan. Dan secara kolektif, apa yang mereka maksudkan? Ini bermakna program ini hanya sentiasa berjalan, dan ia hanya sentiasa menunggu dan menonton dan mendengar bagi saya untuk menggerakkan tetikus saya lebih kucing. Kerana setiap kali saya melakukan itu kerana anda mencadangkan, ia akan melakukan ini. Biar saya mulakan program ini. Tiada apa-apa seolah-olah berlaku, tetapi melihat bagaimana ia menekankan kini dalam garis kuning. Yang hanya bermakna ia berjalan. Dan kerana ada untuk selama-lamanya gelung, ia masih berjalan. Jadi biarlah saya menggerakkan kursor saya lebih Scratch. [MEOW] [MEOW] Dan jika dipindahkan di luar, [MEOW] kini ia berhenti, tetapi program ini yang masih berjalan. [MEOW] Dan sebagainya, comel. [MEOW] Jadi mari kita membuka sedikit lebih maju contoh dipanggil Jangan Pet Cat. Dan sekarang mari kita lihat apa yang yang berlaku di sini. [MEOW] mengiu. Jadi ia sedikit pada auto pilot, jika anda akan. --pet kucing. Saya tertanya kenapa. [Roar] [MEOW] Jadi bagaimana melakukan kerja-kerja ini? Nah, anda boleh jenis sebab melaluinya intuitif, mungkin. Tetapi mari kita lihat pada kod yang sebenar. Jadi sekali lagi, apabila bendera hijau diklik, lakukan ini selama-lamanya. Apa yang anda mahu lakukan selama-lamanya? Nah, jika menyentuh tetikus penunjuk, kemudian bermain bunyi yang yang nampaknya dipanggil Lion 5, yang di dalam projek ini, lain bermain meow bunyi, dan kemudian tunggu dua saat, jadi bahawa ia tidak mengiu henti-henti. Malah, anda dengan cepat boleh mula untuk menyakitkan hati diri sendiri dan rakan sebilik anda. Mari kita keluarkan blok ini. Dan perhatikan apa yang baik tentang Scratch. Perkara yang hanya jenis drag dan jatuh dan saling kunci. Jadi sekali lagi, ia tumbuh untuk mengisi apa yang anda mahu. Tetapi jika saya mengeluarkan ini, dan kemudian permainan hit, [KOMPUTER blip BUNYI] --it adalah jenis tersandung sendiri, kerana ia benar-benar melakukan apa yang saya katakan. Ia mengatakan selama-lamanya memainkan bunyi ini, tetapi Saya tidak memberikan peluang untuk menyelesaikan. Dan supaya akan menjadi bug. Dan itulah sebabnya kita mempunyai perkara ini di sini sekarang. Jadi mari kita sebenarnya bermula dari scratch-- jenis pun sedikit intended-- di mana kita kini mempunyai langkah kucing. Jadi, saya akan melakukan ini dengan cepat. Saya akan zum masuk di sini, hanya Dapatkan saya bermula pada Peristiwa. Dan bendera hijau diklik. Dan ada cara-cara lain untuk memulakan skrip. Kami akan memastikan ia mudah di sini. Dan sekarang saya akan pergi ke hadapan dan pergi di bawah kawalan. Dan sekali lagi, jika anda terlupa di mana perkara-perkara yang, hanya klik di sekeliling, dan akhirnya anda mencari mereka lagi. Jadi saya mahu selama-lamanya melakukan apa? Saya mahu menggunakan blok usul yang saya tahu wujud, bergerak 10 langkah. Jadi mari kita lihat apa yang berlaku di sini jika saya bermain permainan ini. Syukurlah ia tidak pergi terlalu jauh. Saya masih sejenis merebut dia ekornya dan tarik kembali. Tetapi program ini masih berjalan, jadi dia adalah jenis melawan saya. Tetapi ia akan menjadi jenis yang bagus jika saya bersyarat menetapkan ini dalam kod. Kerana ini adalah tidak-- sebenarnya ini adalah benar-benar bukan permainan menyeronokkan untuk sesiapa sahaja tanpa mengira usia. Jadi mari kita cuba untuk memperbaiki ini dengan mengadakan beberapa syarat. Oleh itu, saya akan pergi ke bawah Kawalan, dan kemudian jika. Saya suka idea ini. Jadi, selepas bergerak 10 langkah, jika- biarlah saya rasa di mana saya. Saya akan pergi di bawah Sensing, dan kemudian ia kelihatan saya boleh pergi di sini. baris untuk perlawanan bentuk. Saiz tidak, tetapi ia akan berkembang untuk mengisi. Dan sekarang ini adalah menu sedikit. Dan kini tetikus pointer-- saya tidak mahu tetikus, saya mahu tepi. Jadi Scratch adalah cukup bijak untuk tahu apabila bidadari yang menyentuh tepi. Apa yang saya mahu dia benar-benar melakukan? Biar saya pergi ke hadapan dan mengubah gerakan. Awak tahu tak? Saya akan mempunyai dia pulih. Jadi pada 15 darjah tidak benar-benar akan membantu saya. Saya mahu dia pulih dan pergi dengan cara yang lain. Jadi mari kita lihat apa yang berlaku di sini, jika saya memukul Play sekarang. OK, jenis bodoh mencari, tetapi ia melakukan apa yang saya katakan. Dan ia berputar seluruh bidadari. Kini ternyata saya boleh menetapkan ini. Dan saya tidak tahu bagaimana untuk menetapkan ini pada mulanya. Saya jenis terpaksa futz sekitar dan melihat cara terbaik untuk melakukan ini. Tetapi jikalau Aku pergi supaya- mari kita lihat, gerakan. Oh, saya dapati. Sebenarnya, Set Putaran Style. Kiri, kanan, atau tidak berputar, atau di sekeliling. Dan ternyata bahawa apa yang saya mahu. Dan saya akan meletakkan ini tidak saya gelung, kerana saya tidak perlu untuk menetapkan gaya putaran beberapa kali. Saya akan meletakkannya di bahagian paling atas program ini supaya ia mendapat set sekali, dan kemudian ingat. Dan sekarang saya akan cuba ini lagi. Biar saya berhenti program ini. Dan sekarang tetap bug yang. Jadi, saya secara berulang meningkatkan atas ini. Program ini mendapat sedikit lebih kompleks dan lebih besar, tetapi saya mengambil langkah kecil boleh dikatakan, dan gigitan kecil daripada masalah untuk mendapatkan yang lebih baik dan lebih baik. Tetapi ini juga adalah sejenis lumpuh. Awak tahu tak? Akan meminta seseorang yang benar-benar baik, suara ngeri suka untuk tampil? Seseorang guruh. Uh, ya. Naiklah. Berbaju hijau. Jadi, ternyata ada beberapa menyeronokkan yang lain perkara, estetika dan bunyi sama. Berikut adalah meow itu. Saya klik pada tab Bunyi itu. [MEOW] Ada meow itu. [MEOW] [MEOW] [MEOW] --actually rekod sesuatu kita sendiri di sini. Jadi mari kita melakukan perkara tersebut. Daripada menggunakan bunyi kucing ini, mari kita teruskan di sini, dan apa nama anda? Nick, baik untuk bertemu dengan kamu. Ia Daud. Maka dalam sekejap, saya akan untuk memukul butang Rakam. Dan jika anda boleh hanya menjerit ke dalam laptop, "aduh," seolah-olah anda hanya berjalan ke dinding, yang akan dihargai. 1, 2. NICK: Ouch! DAVID J. MALAN: Awesome. Dan kini boleh melakukan editing sedikit di sini. Akan menghilangkan bahagian-bahagian yang tenang. Dan saya fikir itulah yang baik. Terima kasih banyak. NICK: Pleasure. DAVID J. MALAN: Saya telah hanya menamakannya "aduh," tetapi kini saya akan kembali ke skrip saya. Dan notis di sana memang bunyi disini. Dan saya akan pergi ke hadapan dan bermain ouch bunyi, dan saya akan berbuat demikian jika ia menyentuh bahagian tepi sahaja. Dan kemudian saya akan mempunyai ia pulih. Jadi mari kita lihat apa yang berlaku di sini. Mari kita pergi skrin penuh. [VIDEO MAIN SEMULA] -Ouch! Ouch! Ouch! Ouch! Ouch! Ouch! Ouch! Ouch! [AKHIR MAIN SEMULA] DAVID J. MALAN: Jadi anda sedar bahawa kita mendapat sedikit bertuah. Saya akan mempunyai dia bergerak seperti 100 langkah-langkah pada satu masa. Kesan yang kini akan untuk adalah- [KOMPUTER berlaku akibat gangguan BUNYI] Jadi dalam sebab. Jadi peluang untuk mendapatkan hasil yang lagi jika kita benar-benar mahu. Jadi sekarang mari kita memperkenalkan konsep lain. Untuk membiarkan saya pergi ke satu dipanggil Mengira domba dan penggunaan sesuatu dipanggil pemboleh ubah. Ini adalah satu domba sedikit comel, dan Saya menukar pakaian beliau jadi untuk bercakap. Jadi, walaupun lalai ialah kucing, anda boleh memuat naik, anda boleh menarik, anda boleh melakukan apa-apa bilangan watak-watak pada bidadari anda. Berikut adalah program yang yang akan melakukan apa yang dalam bahasa Inggeris? Berdasarkan lagi pada apa yang anda tahu sekarang. Apa yang program ini lakukan? Ya, ia akan diambil kira. Satu nombor pada satu masa. Kami mempunyai nampaknya mempunyai kaunter set ini. Saya tidak tahu apa itu, tetapi mungkin ia adalah pembolehubah. Ia hanya satu bekas, x atau y. Tetapi kaunter perkataan adalah lebih deskriptif daripada ahli matematik x atau y. Oleh itu, kita boleh menggunakan perkataan Inggeris untuk sesuatu. Selama-lamanya, hanya bermakna terus melakukan ini. Katakanlah kaunter. Sekarang di mana ini datang? Nah, ternyata bahawa kaunter adalah pembolehubah. Jadi ia hanya teka-teki yang lain bahagian saya mencipta lebih awal. Dan walaupun ia berlaku tidak menjadi bentuk yang sama di sini, biasanya anda akan berkata sesuatu seperti hello di sini. Anda juga boleh menyeret pembolehubah supaya itulah yang yang mendapatkan itu. Kemudian saya menunggu untuk kali kedua, saya menukar kaunter demi satu, menokok ia dengan menambah satu. Supaya kesan bersih adalah ini domba kiraan comel. Walaupun dia mengira dirinya. Kini sudah tiba dengan cepat akan mendapat membosankan kerana dia akan melakukan ini benar-benar selama-lamanya, tetapi itulah apa yang reka bentuk program yang menetapkan. Mari kita sekarang cuba contoh yang lain yang memanfaatkan pembolehubah. Yang ini dipanggil Hi Hi Hi, yang tidak mendapatkan menjengkelkan dengan cepat. Sekarang yang satu ini mempunyai dua skrip. Dan sebagainya lagi, kami mengambil langkah-langkah bayi. Kami bermula dengan sesuatu yang hilang kecil, ditambah kepadanya, ditambah kepadanya. Sekarang saya mahu melakukan sesuatu lebih dinamik, jadi saya mahu mendengar untuk dua perkara yang berbeza pada satu masa. Jadi di sebelah kiri, apabila bendera hijau diklik, Saya menetapkan pembolehubah yang saya tulis terlebih dahulu dipanggil disenyapkan. Dan saya sewenang-wenangnya menetapkan kepada 0. Jadi Scratch tidak mempunyai benar dan palsu, tetapi ia mempunyai 0 dan 1. Jadi saya boleh menganggarkan idea yang sama. Kemudian selama-lamanya, jika bar ruang yang ditekan, kemudian menetapkan pembolehubah kepada 0. Atau maaf. Jika Space ditekan, dan jika disenyapkan, pembolehubah, adalah 0, kemudian menetapkan disenyapkan kepada 1, pun menetapkan disenyapkan kepada 0. Ini seolah-olah jenis seperti kami hanya melakukan dan kehancuran kerja. Tetapi apa yang kesan? Setiap kali saya tekan bar ruang, apa yang berlaku kepada pembolehubah saya dipanggil disenyapkan, secara logik? Semacam mendapat dibalik. Ia mengubah 0-1, atau 1-0. Jadi ia mengambil masa beberapa blok untuk menyatakan bahawa, tetapi semua Yang saya lakukan adalah menogol keadaan pembolehubah ini kepada 0 atau 1, atau 0 atau 1 setiap kali saya tekan bar ruang. Sekarang di sini, apa yang ini buat? Selama-lamanya, jika disenyapkan adalah 0, jadi jika disenyapkan adalah palsu. Jadi, jika ia tidak disenyapkan, adalah semantik sana, bermain singa laut bunyi, dan berfikir Hi Hi Hi untuk dua saat, tunggu dua saat. Jadi notis sekarang ini skrip adalah berkesan akan dijalankan secara selari supaya seseorang boleh dapat mendengar untuk satu tindakan, yang lain untuk membuat keputusan berdasarkan tindakan itu. Dan ia boleh melakukan ini selama-lamanya. [SEA LION BARKING] [SEA LION BARKING] Ia akan melakukan ini selama- [SEA LION BARKING] kerana saya baru sahaja selesai. Dan kini ia masih berjalan tetapi saya telah "disenyapkan" permainan. [SEA LION BARKING] Dan itu semua lelaki ini sekarang juga. Mari kita membuka satu lagi contoh di sini. Biar saya pergi ke Events, dan sekarang ini comel juga. Tetapi perhatikan ia mempunyai dua sprites. Jadi bukan hanya dua skrip dengan satu bidadari, tetapi dua sprites. Dan jika saya klik pada lelaki yang biru seperti yang saya sudah mempunyai, saya melihat beliau sebagai salah satu program di sini yang benar-benar hanya berkata ini, apabila saya menerima keadaan ini, mengatakan "Polo" selama dua saat. Jadi, jika anda pernah bermain dalam kolam, permainan Marco Polo, jika skrip Lelaki oren petunjuk, nampaknya setiap kali saya tekan bar ruang, apa yang lelaki itu oren akan lakukan? Dia akan mengatakan "Marco." Dan maka ini adalah satu blok baru. Kami tidak melihat sebelum ini, tetapi menyiarkan peristiwa. Dan saya boleh memanggil ia Sekiranya apa-apa yang kita mahu. Kami akan kembali kepada ini mungkin tidak lama lagi. Tetapi penyiaran acara adalah cara untuk salah satu bidadari bercakap dengan yang lain dengan dasarnya lulus mesej. Ia bukan satu mesej yang anda lihat. Ia bukan sesuatu visual. Ia semacam mesej komputer bahawa lelaki yang lain adalah mendengar untuk. Kerana sesungguhnya, lelaki yang biru, ingat tidak mempunyai apabila bendera hijau diklik. Sebaliknya, beliau mempunyai, apabila saya menerima peristiwa. Apabila dia mendapat menyerahkan nota ini di dalam kelas, boleh dikatakan, dia berkata "Polo." Dan sebagainya kesan bersih ialah apabila saya memukul bendera hijau, tiada apa yang berlaku. Tetapi apabila saya tekan bar ruang, Ia berkata: "Marco," maka ia akan menjawab dengan "Polo." Tetapi satu-satunya bidadari Saya berinteraksi dengan adalah yang oren. Jadi ini adalah satu cara untuk jenis lulus mesej antara sprites dan meminta mereka berkomunikasi satu sama lain. Sekarang mari kita lihat terkini satu di sini yang dikenali sebagai Threads. Dan perhatikan ini dengan bermain. Jadi ini adalah dua sprites. Burung itu sejenis terbang di sekitar. Dia melantun. Tidak ada "aduh," tetapi idea yang sama. Tetapi kucing kelihatan agak pintar. Apa yang kucing itu nampaknya buat? Dan tunggu sehingga ia. Apa yang kucing itu nampaknya buat? Ia bukan sahaja melantun. Dia berikut burung. Dan sebagainya nampaknya, ada cara yang dengan gabungan blok sini-- dan mari kita lihat kucing sebenar cepat. Selama-lamanya, jika menyentuh burung, kemudian memainkan Lion 4, apa sahaja yang bunyi. Kami mendengar sekali. Jika tidak, menunjuk ke arah burung, dan bergerak satu langkah. Sekarang fakta bahawa ia adalah salah satu langkah adalah apa yang memberi burung sedikit kelebihan pada mulanya, tetapi jika kita bukannya membuat ini 10, misalnya, jadi bahawa setiap lelaran gelung dia bergerak 10 langkah masa. Jadi lebih banyak ruang. Mari kita lihat apa yang berlaku itu. [LION Roar] Tidak semua yang jauh lebih baik. Jadi sekarang mari kita cuba untuk memperbaiki apabila ini sedikit secara berulang, dan kembali kepada itu konsep fungsi. Dan sesungguhnya salah satu daripada asas bawa pulang reka bentuk kelas. Bukan hanya menulis program yang bekerja dan itu adalah betul, tetapi juga direka. Dan reka bentuk adalah lebih subjektif, dan anda akan mendapat lebih baik pada semasa ke semasa. Tetapi mari kita mengambil langkah-langkah bayi ke arah bermula dengan program yang bekerja, benar-benar, tetapi ia tidak sangat baik. Ia tidak sangat yang ditulis dengan baik. Jadi di sini adalah satu program yang melakukan ini. Batuk, batuk, batuk. Apakah program ini kelihatan seperti? Kelihatan betul kepada saya. Ia mengatakan sofa yang kedua, maka ia menunggu. Kemudian ia berkata lagi, maka ia menunggu. Kemudian ia berkata lagi, maka ia menunggu. Dan kemudian program ini secara tersirat berakhir, kerana tidak ada gelung. Tetapi mengapa ini program teruk ditulis? Walaupun anda tidak pernah diprogramkan sebelum ini? Seperti, apa yang menggosoknya cara yang salah, mungkin di sini? Ya? PENONTON: [didengar] DAVID J. MALAN: Tepat sekali. Anda mengulangi diri sendiri lagi dan lagi. Dan benar-benar, saya disalin dan ditampal dua daripada orang-orang blok lagi dan lagi. Dan itu betul-betul jenis kewarasan pastikan bahawa anda perlu membuat. Tunggu sekejap. Sekiranya saya benar-benar boleh melakukan ini? Jadi apa ini apa yang yang penyelesaian yang jelas mungkin? Mempunyai beberapa jenis gelung. Dan saya tidak cukup ingat apa sekeping teka-teki adalah, tetapi jika saya melihat lelaran seterusnya di sini, Sesungguhnya, tidak ada hanya gelung selama-lamanya, ada mengulangi beberapa beberapa kali. Oleh itu, saya telah dinyatakan tiga. Dan kini melihat berapa banyak yang lebih ketat, bagaimana lebih ringkas program ini adalah. Dan dari satu segi, bagaimana banyak lagi dikekalkan. Jika saya mahu menukar perkataan daripada batuk hinggalah kepada sesuatu yang lain, seperti Achoo, seperti dia bersin. Kemudian saya mengubahnya dalam satu tempat, dan bukan tiga. Jadi ini sudah terasa seperti reka bentuk lebih baik sedikit. Biar saya batuk dan bukannya terbuka 2, contoh ketiga kami. Perhatikan sebagai ahli sains komputer, Saya mula mengira pada 0, biasanya. Sekarang ini kelihatan menakutkan sedikit pada pertama, tetapi kesannya adalah sama. Batuk, batuk, batuk. Tetapi apa yang seolah-olah menjadi asas baru di bahagian atas program ini? Saya telah dikeluarkan katakan itu. Saya telah dikeluarkan menunggu. Dan apa yang telah saya dipasang di sebaliknya? Fungsi. Satu blok batuk. Maksud saya, terus-terang, saya seolah-olah jenis dari bodoh jika saya tidak hanya bermula dengan blok yang yang nampaknya dipanggil "batuk," jika itu sahaja yang saya mahu dia lakukan. Tetapi itu tidak wujud dalam Scratch. Sebaliknya saya pergi ke satu dalam palet dipanggil Lebih Blok sini, dan saya seret perkara ini ungu besar di sini yang membolehkan saya menentukan fungsi. Ia pada asasnya membolehkan saya mencipta teka-teki saya sendiri bahagian yang boleh dipanggil apa-apa saya mahu, yang boleh melakukan apa sahaja yang saya mahu, tetapi ia memberi nama. Ia memberikan saya yang baru, sekeping teka-teki ungu yang kini melakukan apa sahaja yang saya memberitahu ia lakukan. Jadi yang ini ungu di sini sepadan dengan satu ini di sini. Dan apa yang ia buat? Ia mengatakan batuk yang kedua, dan kemudian ia menunggu. Dan sekarang saya semacam dicipta sekeping teka-teki adat saya sendiri, supaya ia berkelakuan betul-betul cara yang sama. Jadi saya boleh terus melakukan ini. Dan sesungguhnya, ada akan menjadi lebih dan lebih banyak peluang untuk modularization, dan untuk lapisan, kerumitan di atas satu sama lain. Tetapi idea asas ini, sesungguhnya dalam masalah kata 0. Apa yang anda akan dicabar lakukan adalah untuk memuat turun Awal, atau hanya menggunakannya di web, dan hanya bersenang-senang dengannya. Kami akan memberikan anda satu set keperluan, yang mempunyai bunyi, dan ada beberapa keping teka-teki. Tetapi anda akan melakukan perkara ini. Dan anda akan menyedari bahawa anda akan mahu mengambil beberapa langkah-langkah bayi pada mulanya, sehingga program anda mendapat lebih dan lebih kompleks. Tetapi memandangkan adakah ini Cara terbaik yang saya boleh lakukan ini? Bolehkah saya mengelakkan naluri ini mungkin, untuk copy dan paste? Tetapi sebelum Set Masalah 0, dan sebelum kita menangguhkan, fikir kita akan mengambil masa sehingga satu lebih sukarelawan jika kita boleh, untuk program akhir itulah mungkin yang paling sesuai di semua, memandangkan tempat hari ini. Ayuh ke bawah. Yeah. Ya. Siapa nama anda? Uh-oh. Tak apa. Kedua-dua turun. Dan saya akan berurusan dengan ini entah bagaimana dalam tempoh yang sepuluh saat yang akan datang. Jadi datang ke bawah. Ayuh ke bawah. Biar saya datang di sini. Datang pada. Baiklah. Mari kita lihat di sini. Jadi notis sebenar puasa di sini, jika anda ingin datang ke atas. Kami akan melakukan dua pusingan ini. Dan apa nama anda? SABRINA Sabrina. DAVID J. MALAN: Sabrina dan? YING GEE: Ying Gee. DAVID J. MALAN: Ying Gee. Gembira dapat bertemu dengan anda berdua. Daud. Jadi contoh terakhir kami di sini adalah dipanggil Permainan paling sukar Ivy. Dan mengapa tidak kita perlu anda lakukan Tingkat 1, dan anda melakukan Level 2. Dan kita akan lihat sejauh mana lebih dari itu kita benar-benar pergi. Ditulis oleh seorang pelajar tahun lepas, remixed oleh saya supaya ini akan pergi lebih baik di New Haven. Dan saya memberi anda permainan yang akan melibatkan menggerakkan anak panah ke atas dan ke bawah, dan mendapat Yale ke garisan penamat. Di sini kita pergi. [VIDEO MAIN SEMULA] [MUZIK - NFL FOX THEME SONG] [MUZIK - MC HAMMER, "U TIDAK TOUCH  INI "] -U Tidak boleh disentuh ini. U tidak boleh sentuh ini. Tidak boleh menyentuh ini. Saya, saya, saya, muzik saya sebagai saya begitu keras, membuatkan saya berkata, oh, tuanku. Terima kasih kerana memberkati saya dengan keberatan untuk sajak dan dua kaki gembar-gembur. Itulah yang baik apabila anda tahu anda berada ke bawah. A dadah Homeboy super dari Oaktown. Dan saya dikenali sebagai itu dan ini mengalahkan uh, anda tidak boleh disentuh. Saya memberitahu anda Homeboy U tidak boleh sentuh ini. Ya, itulah bagaimana kita hidup dan anda tahu U tidak boleh sentuh ini. Lihatlah di mata saya, kawan. U tidak boleh sentuh ini. Yo, biarlah saya menerobos lirik funky. U tidak boleh sentuh ini. Tendangan baru yang segar dan seluar. Anda mendapat ia seperti itu dan anda tahu anda mahu tarian. Jadi keluar dari tempat duduk anda dan mendapatkan lalat gadis dan menangkap rentak ini. Walaupun ia bergolek berpegang pam sedikit bit dan biarkan mereka tahu apa yang sedang berlaku. Macam itu. Macam itu. Sejuk dalam misi jadi tarik di belakang. Biarkan mereka tahu bahawa anda terlalu banyak dan ini adalah satu langkah yang uh anda tidak boleh menyentuh. Yo, saya memberitahu anda U tidak boleh sentuh ini. Mengapa anda berdiri manusia? U tidak boleh sentuh ini. Yo, bunyi di sekolah loceng itu, penyedut. U tidak boleh sentuh ini. Berikan saya sebuah lagu, irama yang menjadikan mereka peluh itulah yang saya berikan kepada mereka sekarang. Mereka tahu apabila anda bercakap tentang Hammer anda bercakap tentang rancangan itu hyped. Dan penyanyi ketat adalah berpeluh supaya lulus mereka mikrofon. Atau pita untuk mengetahui apa yang ia akan mengambil dan sekarang dia akan membakar carta. Sama ada bekerja keras atau Legit anda juga mungkin berhenti. Kerana anda tahu U tidak boleh sentuh ini. U tidak boleh sentuh ini. Musnahkan ia. Berhenti. Masa Hammer. Pergi dengan aliran di spin jika anda tidak boleh bergerak ke ini maka anda mungkin mati. Jadi gelombang tangan anda di udara [didengar] Ini adalah ia untuk tarian pemenang untuk ini dan anda akan mendapat lebih nipis. Bergerak slaid pantat haiwan anda hanya untuk satu minit mari kita semua lakukan ketulan ini. Yeah. U tidak boleh sentuh ini. U tidak boleh sentuh ini. Anda lebih baik mendapat hyped budak U tidak boleh sentuh ini. Berdering belakang sekolah loceng dalam. Musnahkan ia. Berhenti. Masa Hammer DAVID J. MALAN: Itu sahaja untuk CS50! Terima kasih banyak untuk menyertai kami! Jumpa anda di luar. [AKHIR MAIN SEMULA] [VIDEO MAIN SEMULA] [MUZIK - "Seinfeld" TEMA SONG] Hey Daud. Hey, David. Bagaimana ia akan pergi? Pekerjaan -Baik, hari ini. -Jadi Anda berfikir tentang apa yang anda akan lakukan untuk jenaka keluar? -Tidak, Saya mendapat apa-apa. -Apa Jika- apa jika ini adalah jenaka keluar? -like, Membongkar kereta? -Uh huh. Anda tahu, ia kira-kira apa-apa. -Jadi Suka, ada cerita, tiada konflik, tiada ketetapan. Saya tidak faham. Apa sahaja tentang itu? -Nothing. -Jadi Kita ada keluar jenaka adalah kira-kira apa-apa, dan kita tidak mempunyai pelakon. Siapa yang akan berada di dalam ini? -Tidak, Tidak, tidak. Maksud saya, saya akan berada di dalamnya. -You'll Berada di dalamnya? -Yeah! Orang ramai sentiasa memberitahu saya saya watak. -Baik, Maksud saya, ia benar. Tetapi siapa lagi yang akan menjadi di dalamnya? Ia tidak boleh hanya menjadi anda. -Anda Akan di dalamnya, Gavin, Dan, Dan, Colton, Z'Myla, Alysse, Doug, David, semua orang. -Jadi Ia kira-kira apa-apa, dan semua orang yang di dalamnya? Apa-apa -Absolutely. -Ini Adalah tidak masuk akal.