[Bermain muzik] SPEAKER 1: Ia CS50, Universiti Harvard. [Bermain muzik] DAVID J. MALAN: [didengar] mungkin dalam separuh kedua buku telefon, Saya kini boleh lusuh masalah pada separuh. Itu adalah sebenarnya sebenar, perjuangan itu. [Bermain muzik] SPEAKER 2: Anda manusia begitu mudah untuk ditewaskan. DAVID J. MALAN: Baiklah, ini adalah CS50. Ini adalah permulaan dan akhir minggu 12. Dan mana yang diketahui bahawa dalam minggu sifar, ini adalah pesanan yang kita bermula, bahawa ia tidak kira di mana anda berakhir sehingga berbanding dengan rakan-rakan anda, tetapi di mana anda hari ini, dan mungkin hanya beberapa minggu dari sekarang, akhir sehingga relatif kepada diri sendiri beberapa minggu yang lalu. Dan sebenarnya, kami berharap selepas begitu banyak set masalah, dan banyak jam, dan beberapa kuiz, dan masih dengan projek akhir, bahawa anda berasa amat bangga telah datang sepanjang jalan dari minggu salah satu di mana ini, mungkin, adalah yang paling awal perjuangan, sama ada dalam edisi standard atau edisi penggodam itu. Dan saya akan mencadangkan, bahawa pada satu ketika dalam masa lapang anda, bahawa anda kembali dan melihat PHP anda, anda JavaScript, dan melihat jika anda tidak boleh melaksanakan sejauh ini, jauh lebih cepat dan lebih selesa daripada anda suatu masa dahulu melakukan yang lalu. Malah, selepas ini, ingat yang anda lakukan kriptografi, anda melakukan permainan 15, anda lakukan forensik cabaran, anda lakukan ejaan yang paling cepat pemeriksa yang anda boleh, anda lakukan CS50 kewangan, CS50 mash-up, dan kemudian sekarang, akhirnya, projek akhir anda sendiri. Dan sehingga hari ini, kita cuba untuk mendapatkan penutupan, dan melihat di mana kita telah datang, dan di mana kita akan pergi. Dan hanya untuk meyakinkan juga, yang pernah semua roda latihan yang tinggal terkeluar, anda cukup banyak mempunyai cukup banyak alat dalam kit alat anda untuk sekarang pergi dan melakukan kebanyakan apa-apa dalam dunia pengaturcaraan. Sudah tentu mempertimbangkan untuk mengambil beberapa kursus peringkat yang lebih tinggi boleh menjadi kelebihan. Tetapi sedar juga, bahawa walaupun ini adalah tentu CS terakhir anda mengambil, sedar bahawa pada Mac OS, ada alat begitu banyak berbeza yang boleh anda gunakan bebas yang mempunyai untuk menggunakan sesuatu seperti IDE CS50. Hampir alat yang sama wujud untuk Windows, untuk Linux, dan banyak lagi. Dan memang, salah satu matlamat dalam CS50 menggunakan hos api ini bahasa, C, dan PHP, dan sekuel, dan JavaScript dan HTML, dan CSS, adalah untuk benar-benar memastikan bahawa anda tidak keluar dari kursus ini berfikir, saya belajar c, tetapi sebaliknya yang anda belajar bagaimana untuk program, dan bahawa anda memahami sedikit sesuatu tentang sains komputer sendiri. Malah, walaupun kita tidak melihat sama sekali daripada bahasa-bahasa berikut, ia menyeronokkan sekarang untuk menyertai komuniti ini daripada orang yang mencari humor geeky lucu. Dan walaupun sebahagian daripada bahasa yang anda kira-kira untuk melihat mungkin tidak sama sekali biasa, anda akan sekurang-kurangnya mendapatkan beberapa chuckles daripada sekurang-kurangnya satu bahasa biasa, JavaScript. Ini adalah ceramah oleh terutamanya programmer yang mahir sedikit masa lalu bertajuk, Wat. Dan kita fikir kita akan memberikan anda satu gambaran bagaimana saintis komputer cenderung untuk berfikir, atau sekurang-kurangnya bercakap. GARY BERNHARDT: Semua yang lagi baik akibatnya. Anda semua tahu apa yang wat bermakna? Wat. Tepat sekali, betul-betul. Mari kita bercakap tentang Ruby. Di Ruby, jika anda rujukan yang pembolehubah undefined, sudah tentu ia NameErrors, seperti yang anda inginkan. Dan jika anda cuba untuk memberikan b kepada dengan mereka undefined, sudah tentu ia NameErrors, seperti yang anda harapkan. Dan apa yang berlaku jika anda cuba untuk memperuntukkan kepada, dengan undefined? PENONTON: Tiada. GARY BERNHARDT: Betul, tiada. Wat. [Ketawa] Mari kita bercakap tentang Ruby. Ruby, tidak seperti beberapa dinamik lain bahasa, tidak mempunyai kata-kata kosong. Jadi, anda tidak boleh hanya menaip perkataan dalam, dan telah rentetan keluar kecuali anda menentukan yang method_missing tertentu yang melakukan perkara yang betul. Kemudian, jika anda menaip kata-kata kosong, tiba-tiba, Ruby menyokong kata-kata kosong. Dan sebenarnya, ia juga akan menyokong kata-kata yang terdedah dengan bangs di dalamnya. Dan ini tidak layak wat. Ini sebenarnya Akibatnya bagaimana menggerunkan Ruby. Tetapi jika anda pernah sebenarnya melakukan ini, maka, wat. [Ketawa] Mari kita bercakap tentang JavaScript. Adakah sesiapa yang tahu, dalam JavaScript, apa array ditambah pelbagai adalah? Baiklah, biar saya meminta anda ini pertama, apa yang perlu ditambah pelbagai lokasi boleh? PENONTON: lokasi benar kosong. GARY BERNHARDT: lokasi benar kosong, saya juga akan menerima ralat jenis. Bukan itu yang pelbagai serta pelbagai adalah. Salah, yang salah, array ditambah Pelbagai adalah rentetan kosong. [Ketawa] Jelas sekali, saya rasa itu jelas kepada semua orang. Sekarang apa yang akan ditambah pelbagai objek menjadi? Ini jelas harus jenis ralat, kerana mereka benar-benar jenis yang berbeza. Adakah sesiapa yang tahu apa ini? PENONTON: Palsu. GARY BERNHARDT: Tiada, berhampiran, tidak, jauh. PENONTON: Ia adalah objek. GARY BERNHARDT: Ia adalah objek. Ya, betul, baik dilakukan. Kini, sudah tentu, kerana ini adalah plus, anda boleh menterbalikkan operan dan perkara yang sama keluar. Jadi, jika kita do-- apa? Tidak, itu hanya objek. Jika anda melakukan membantah campur lokasi anda perlu mendapatkan perkara yang sama. Yang seperti yang anda boleh lihat, anda lakukan. [Ketawa] Dan akhirnya, satu-satunya daripada ini yang sebenarnya benar is-- kerana anda menambah tatasusunan dan anda mendapat rentetan kosong, ia tidak masuk akal. Tetapi objek ditambah objek adalah sebenarnya tidak nombor, dari segi teknikal. [Ketawa] Jadi yang satu ini sebenarnya betul. Betul-betul, betul, seperti apa yang lebih berlaku di lang-- ini saya hanya, Saya tidak faham apa yang orang dengan otak di kepala mereka akan berfikir bahawa apa-apa ini adalah idea yang baik. [Ketawa] OK, OK, membuat cukup menyeronokkan bahasa yang menghisap. Mari kita bercakap tentang JavaScript. [Ketawa] Jika saya katakan lokasi dot baru 16, atau hanya array (16), Saya mendapat pelbagai 16 perkara-perkara yang ia mewakili sebagai 16 koma, yang jelas. Jika saya kemudian menyertai mereka yang mempunyai tali, maka saya mendapatkan tali yang 16 kali. Ini sebenarnya adalah satu-satunya talian di ini persembahan keseluruhan itulah yang munasabah. Sekarang, jika saya mengambil tali itu dan kemudian menambah 1 kepadanya, ia menafsirkan 1 as-- yang membuang 1 hingga tali, dan kemudian kita mendapatkan wat1 yang sekumpulan kali, denda. Adakah sesiapa yang tahu apa yang akan berlaku jika saya tolak 1 daripada rentetan? [Ketawa] Saya menganggap tidak ada yang tidak. Mari me-- saya akan memberikan anda petunjuk. Adakah ini membantu? Adakah sesiapa yang tahu? [Ketawa] Watman. [Ketawa] Itu sahaja yang saya dapat. Terima kasih semua. [Tepuk tangan] DAVID J. MALAN: Mari kita melihat cepat pada beberapa perkara yang lebih awal untuk anda. Jadi CS50 Hackathon adalah epik ini semua nighter, di mana anda, dan rakan-rakan anda dari Yale, akan menyelam into-- tetapi mudah-mudahan tidak begin-- projek akhir anda. Malam ini akan bermula pada 7:00. Makan malam pertama akan menjadi kira-kira pada pukul 9.00 petang. Makan malam kedua akan pada 1:00 AM. Dan kemudian, bagi mereka masih berdiri, sarapan akan dihidangkan di bredden pada kira-kira 05:00. Anda mungkin melihat adegan-adegan seperti ini. Seperti yang dijanjikan, pada minggu sifar pada tahun ini, kami akan bukan sahaja makanan, dan makan malam dan gula-gula, tetapi juga untuk kali kedua dalam sejarah, sayur-sayuran. Tetapi kira-kira 3 atau 4 pagi, adegan seperti ini tidak semua yang luar biasa. Sesungguhnya kami melihat bahagian yang adil kita bantal dibawa ke Hackathon, yang adalah baik juga. Dan kemudian kemuncak perjalanan adalah CS50 pameran kononnya. Ada satu kedua-dua di sini, dan di New Haven seminggu selepas. Yang di Harvard adalah Isnin, 7 Disember, pada waktu petang di Barat Laut Sains. Dan semasa ketibaan, anda akan mendaftar masuk. Dan kamu akan melihat perkara-perkara seperti seperti popcorn, dan belon, dan akhirnya, pada lalu tahun, lebih 2000 orang yang datang untuk melihat projek akhir anda, pelajar, kakitangan, dan fakulti dari seluruh kampus dan juga di luar kampus. Dan jika tidak kerana insentif yang cukup untuk datang melihat anda sendiri, sedar bahawa anda rakan-rakan boleh digalakkan datang untuk melihat Asana, dan eBay, dan Facebook dan Google, dan Microsoft, dan Palantir dan Quora, dan orang lain, perekrut dan alumni dari ini pelbagai syarikat-syarikat untuk bercakap mengenai kehidupan di dunia sebenar, peluang sepenuh masa dan musim panas dalam industri yang sebenar. Dan jika itu tidak alasan cukup untuk datang melihat anda, rakan-rakan anda boleh digalakkan untuk masukkan mana sampah itu, setelah ketibaan, anda sebagai pelajar masing-masing akan diserahkan sekumpulan pelekat muka smiley. Dan hadirin, seperti rakan-rakan anda, akan dikendalikan kad cabutan sedikit semasa ketibaan. Dan bagi tiap-tiap orang yang mereka berbual, mereka akan diserahkan, oleh anda, pelekat muka smiley. Setiap yang mewakili suatu catatan ke dalam cabutan bertuah dengan hadiah-hadiah yang hebat, di antara mereka seorang Xbox, Wii dan sejumlah besar perkara yang menyeronokkan yang lain, ada yang kami telah lihat di sini di dalam kelas. Jadi harap sabar menunggu untuk itu. Tetapi akhirnya, ia sepenuhnya tentang pencapaian semester ini, dan ungkapan, dan keseronokan bahawa anda akan kacau dalam mereka yang hadir. Anda, akhirnya, adalah memakai anda sangat own-- ini, Saya mengambil CS50 t-shirt seperti itu di sini. Jadi jangan menggalakkan anda rakan-rakan untuk menuju ke URL ini di sini, yang akan menghantar kepada semua butir-butir itu. Sementara itu, jika anda sedang mempertimbangkan lain melihat sains komputer musim bunga ini, atau di luar, sedar bahawa ini adalah handout-- sama walaupun dikemaskini sejak minggu zero-- yang kita diedarkan. Dan jika anda pergi ke pertengahan booklet-- ini ada salinan dalam gereja yg merupakan salib yang outside-- sedar ini menunjukkan anda melalui anak panah apa kursus anda boleh pergi untuk meneroka musim bunga ini, berikut jatuh, musim panas, dan seterusnya. Begitu juga kita lihat pada carta dalamnya untuk mendapatkan rasa perkara. Dan jika anda ingin mendapatkan terlibat dalam kapasiti yang lain, tahu, jika anda tidak sudah, bahawa College Lembaga- yang anda mungkin mempunyai beberapa tidak kenangan begitu gemar daripada- mempunyai tetap hanya mewujudkan baru rangka kerja kurikulum yang dikenali sebagai AP Komputer Prinsip Sains. Sesuatu yang anda mungkin mempunyai yang diambil, atau sekurang-kurangnya mendengar tentang, kursus CS sedia ada di sekolah-sekolah yang dikenali sebagai APCSA, yang merupakan yang agak kelas biasa yang memberi tumpuan terlalu banyak pada bahasa yang Jawa dan mekanik itu. Prinsip APCS, sementara itu, akan lebih tentang idea-idea, dan banyak lagi tentang penyelesaian masalah. Dan ke arah matlamat ini, kami, sekumpulan rakan-rakan kami di UC Berkeley, di co.org, dan beberapa entiti lain seluruh dunia mewujudkan kurikulum yang akan memenuhi prinsip APCS. Yang mengatakan bahawa CS50 AP akan menjadi bersamaan AP bahawa pelajar dalam pelbagai sekolah-sekolah tinggi di seluruh dunia boleh mengambil bermula kejatuhan ini akan datang 2016. Dan jika anda ingin untuk terlibat dalam pendidikan sekolah menengah, dan terlibat dalam jangkauan ini, jangan mendekati kami di sana, sama ada anda seorang TF, CA, atau semata-mata berminat dalam bidang pendidikan pada umumnya. Dan sesungguhnya, jika anda ingin untuk menyertai pasukan CS50 sendiri, menyedari bahawa sebaik sahaja jangka berakhir, kami akan mula merekrut Pengajaran Felo, Pembantu Padang serta artis banyak yang membuat kursus ini mungkin disebalik tabir, mencipta aset dalam taliannya, yang di-orang peluang, dan banyak lagi. Jadi, jika mana-mana peranan ini di sini merayu, jangan biarkan kami tahu di URL ini di sini. Sekarang dalam suatu masa yang sedikit, kita akan beralih kepada, sama seperti yang kami lakukan pada minggu sifar, ada kek. Kali ini ia akan menjadi di tingkat bawah di pub. Jadi kepala terdapat di kemudian hari. Tetapi saya hanya mahu mengambil masa untuk mengenali benar-benar apa kek ini di sini mewakili, atau mungkin lebih canonically, apa ini di sini muka-off mewakili. Ia telah benar-benar menjadi satu penghormatan, jujur, dapat bekerjasama dengan rakan-rakan kami di jalan di New Haven semester ini. Ia pasti menjadi pelik perkara, satu perkara yang luar biasa, berani mengatakan tidak pernah berlaku sebelum Perkara untuk dua kolej untuk datang bersama-sama, yang menawarkan satu kursus dalam yang sama, di dua kampus yang berbeza dan pembawaan kedua-dua badan-badan pelajar bersama-sama. Tetapi ia menjadi seperti itu penghormatan untuk bekerja dengan Andi, dengan Scass, dan dengan Jason di New Haven, dan keseluruhan daripada 44 kakitangan orang kami Pembantu Pengajaran, dan Pembantu perjalanan di New Haven, yang, buat kali pertama dalam Sejarah Yale, kebanyakannya diri mahasiswa. Malah, sehingga tahun ini, jatuh 2015, Yale tidak sebenarnya mempunyai tradisi atau peruntukan untuk pelajar bahagian utama dan berkhidmat sebagai felo pengajaran sama seperti kita telah menikmati sini dalam sains komputer di Harvard untuk beberapa ketika. Dan sebagainya itu sahaja telah menjadi peluang luar biasa untuk kita untuk bekerjasama dengan mereka pada inisiatif itu, dan membawa ke dalam lipatan seperti pemimpin sebagai Andi dan guru-guru lain di sana di kampus. Dan membolehkan saya untuk menarik perhatian khusus juga, untuk rakan-rakan ini di tengah-tengah. Walaupun dia kini menetap di New Haven-- sebahagian besarnya kerana kita menghantar beliau there-- ini semua hasil daripada Jason Hirschhorn semasa menjadi Pengajaran yang Rakan-rakan untuk CS50 untuk agak beberapa tahun di sini, menamatkan pengajian tahun lepas, Kirkland House. Dan ultimately-- saya fikir mendapat panggilan telefon dari saya pada satu ketika yang cukup berkurangan kepada, hey, anda keberatan berpindah ke New Haven selepas tamat pengajian? Ini semua kerana kami cuba untuk berdiri inisiatif ini, dan kami mahu memastikan bahawa tidak mempunyai ilmu pengetahuan institusi ke bawah terdapat di New Haven kerana kami membina sesuatu dari awal. Dan jika- Jason, jika anda boleh mungkin hanya datang pada sehingga canggung ke arah pentas, jadi kami sekurang-kurangnya semua boleh lihat Jason Hirschhorn secara peribadi. [Tepuk tangan] Sesungguhnya, tanpa Jason, Yale 50 tidak mungkin dapat dicapai. Jadi terima kasih kepada Jason Hirschhorn. Dan juga, kami mempunyai kakitangan yang besar yang kita tidak akan menarik perhatian peribadi kepada semua orang di sini, tetapi lebih 100 individu di sini di New Haven yang menjadikan kursus ini mungkin. Dan anda mungkin melihat Pengajaran Fellow anda sendiri dalam senarai ini, sama ada di sini atau Haven Baru. Dan jadi jika kita boleh, yang pusingan besar tepukan bagi keseluruhan tenaga pengajar. [Tepuk tangan] Dan biarlah saya membuat beberapa khas perhatian kepada beberapa orang di sini, terutamanya Hana, Maria dan Daven, dan Rob, yang, sebagai mengetuai kursus, membuat segala-galanya berjalan di sini di Cambridge. Sudah tentu, Colton Ogden, yang bermula paling kuliah kami di sana pada muzik. Doug Lloyd, yang- ini adalah CS50 AP, yang mengetuai inisiatif AP kami. Dan Armendariz, tanpa yang kita tidak akan mempunyai IDE CS50 tahun ini. Aliess, yang melakukan segala sesuatu mungkin di sebalik tabir, termasuk menjalankan menyala seperti yang digambarkan di sini. Dan kemudian lepas, tetapi tidak kurang pentingnya, Pasukan pengeluaran CS50. Cukup untuk mengatakan, ia adalah Pasukan pengeluaran CS50 yang memberi kuasa begitu ramai di antara kita tidur di pada waktu petang, dan untuk melibatkan diri dengan kursus ini bahan benar-benar asynchronously. Dan ini adalah salah besar daripada matlamat reka bentuk kursus. Seperti yang anda tahu, kita ialah- menikmati sekarang peluang untuk membolehkan pendaftaran serentak. Masih ada kesempatan bagi untuk pelajar, sudah tentu, menonton courses- ini bahan-bahan dalam talian, walaupun dalam masa sebenar tinggal sekarang. Dan ini adalah sama sekali kerana pasukan pengeluaran yang anda lihat, atau tidak lihat di sekeliling anda, dan di belakang anda di sini. Sebagai contoh, ini adalah beberapa rakaman ditembak oleh Jordan pada tahun lalu, hanya untuk bercakap dengan semacam kesenian yang berlaku di belakang tabir. Ini, sudah tentu, adalah FoHo di Quad. Dan hanya untuk memberikan anda satu melihat kembali pada minggu sifar, ini adalah imej dengan mana kita bermula minggu pertama. [Bermain muzik] Itu adalah dari CS50 sendiri Jordan. Dan juga di belakang tabir di sini hari ini adalah Ramon, dan Ian, dan Scully, dan Dan Coffey. Dan Coffey, yang mengetuai Pasukan pengeluaran CD50 ini. Dan benar-benar lebih masa lalu beberapa years-- ini ialah tahun kesembilan saya terlibat dengan course-- yang benar-benar mempunyai Dan Coffey, dengan pengeluaran pasukan, diambil CS50 ke tahap yang lain. Bukan sahaja kita menembak tentu sekarang dalam 4K, boleh dikatakan, tahun ini akan datang kami juga akan mempunyai dapat untuk menembak dalam 6K. Dan juga dalam realiti maya, sebahagiannya kerana ia cool-- sebahagiannya kerana ia sejuk, tetapi juga seperti yang anda tahu, kita ada komuniti dalam talian yang agak besar. Orang yang, atas pelbagai sebab, tidak boleh pergi ke, atau tidak dapat menghadiri tempat seperti Harvard dan Yale. Dan salah satu matlamat pedagogically adalah untuk eksperimen dengan bentuk baru teknologi supaya kita boleh, melalui proksi, dan melalui anda semua, memberi pelajar dalam talian di seluruh dunia peluang untuk melihat dan merasa, dan mendengar apa tempat seperti Harvard atau Yale berasa seperti. Jadi datang tidak lama lagi, pada musim gugur 2016. Dan sekarang untuk mengambil ke bawah takuk, ini adalah kira-kira untuk menjadi menakutkan. Tetapi anda mungkin ingat bahawa kebanyakan satu video kuliah tahun ini, atau setiap lain, berakhir dengan sejenis seolah-olah music pelik dari Seinfeld, diilhamkan oleh beberapa episod sebenar dilaksanakan semula oleh pengeluaran CS50 pasukan, yang telah sangat pengasih dan kreatif. Dan saya fikir saya akan menunjukkan kepada anda salah satu daripada inspirasi, klip 30 kedua, daripada Seinfeld persembahan sebenar yang diilhamkan salah satu daripada ini semester's-- Saya music kegemaran told--. Jadi pertama, klip sebenar dari Seinfeld. ELAINE: C'mon siapa yang menari? Mahu saya supaya- mahu saya untuk mendapatkan ia bermula? Saya akan mendapatkan ia bermula. Baiklah, woo! [Bermain muzik] [Ketawa] Menarik! C'mon guys, apa yang memegang sehingga? GEORGE: mewah Sweet Musa. [Ketawa] DAVID J. MALAN: Jadi kita sering bercakap tentang menolak pelajar di luar zon selesa mereka sendiri. Saya, sekarang, Aku akan merangkak ke dalam bola dan sob kerana kami bermain untuk anda ini semula pelaksanaan ini, terima kasih kepada pasukan pengeluaran CS50. [Seinfeld THEME SONG] Baiklah, siapa yang menari? C'mon, siapa yang menari? Anda mahu saya untuk mendapatkan ia bermula? Saya akan mendapatkan ia bermula. Menarik! [Bermain muzik] DOUG LLOYD: mewah Sweet Musa. [Tepuk tangan] DAVID J. MALAN: Dan kini beberapa perkara-perkara khas untuk lulusan yang yang kini melakukan PhD beliau hanya jalan di sini di Harvard. Dan yang boleh paling sering dilihat dalam bentuk ini dalam waktu pejabat, kedua-dua di Cambridge, dan di New Haven. Malah, jika kita enhance-- pusingan besar tepukan untuk CS50 sendiri, Zamyla. Dan kini, perkataan dari kakitangan CS50 di kedua-dua lokasi yang akan suka untuk menawarkan beberapa perpisahan kata-kata mereka sendiri. ANNALEAH ERNST: Terdapat tiada kursus lain di mana semua orang yang bekerja untuk kursus seperti teruja untuk berada di sana, dan terlibat di dalamnya, sebagai CS50. Saya tidak tahu, ia seperti ini benar-benar tanggungjawab yang penting dan istimewa, dan jenis pengalaman yang luar biasa. Dan saya benar-benar gembira saya mendapat untuk menjadi sebahagian daripada pendidikan rakyat. SPEAKER 3: CS50, dalam saya pendapat, amat menakjubkan. Saya sukakannya. Saya suka apabila saya telah mengambil kelas. Dan saya suka ia lebih sebagai TA. JORDAN HAYASHI: CFing banyak bekerja, tetapi ia benar-benar memberi ganjaran kerana anda dapat mengajar begitu banyak. Anda benar-benar mengenali pelajar anda. Anda mendapat tahu bahan ini sendiri. Dan anda boleh hanya menonton mereka menjadi ahli-ahli sains komputer. SPEAKER 4: pelajar saya: kemuncak semester saya. [Bermain muzik] DAVID J. MALAN: Dan ini adalah CS50. DAVID MCPEEK: Saya baru sahaja tidak pernah merasa sebanyak satu pemimpin di kampus, kerana saya mempunyai semester ini. SAM LEVATICH: Ini adalah salah satu daripada sahaja peluang di kampus Yale untuk benar-benar mendapatkan melabur dalam pengajaran. SPEAKER 5: Ia benar-benar sejuk untuk melihat CS50 dari pihak lain. NICK JOSEPH: Saya terkejut pada bagaimana teruja semua pelajar. Arianna BENSON: Ia juga bagus apabila orang mendapatkan semula gambar Rick Astley, kita seperti, yang itu? DAVID Armenta: Saya mahu memberi kembali kerana saya mendapat banyak sokongan apabila saya adalah seorang pelajar. MARY Farner: Semua yang anda perlukan adalah semangat dan cinta pengajaran, atau CS, atau mana-mana di atas, dan anda akan dapat melakukannya. SAM LEVATICH: Semua saya pelajar untuk Rickrolling saya. [Bermain muzik] ANNALEAH ERNST: Sudah begitu banyak seronok untuk mengajar tentang perkara ini bahawa saya benar-benar suka, dan fikir ia adalah banyak keseronokan, dan cuba untuk orang lain teruja juga. Saya Annaleah Ernst, dan ini adalah CS50. [Bersorak] [Bermain muzik] DAVID J. MALAN: Dan sekarang, mana yang diketahui yang kami mula semester ini bercakap akhirnya tentang pemikiran pengiraan dalam menyelesaikan masalah bebas bahasa pengaturcaraan yang sebenar. Dan kita fikir kita akan melihat hanya setakat apa ini telah tenggelam dalam dengan mencuba yang latihan kami tidak lakukan pada minggu sifar, tetapi kita fikir kita akan cuba beberapa kali di sini pada minggu 12, yang mana Saya memerlukan sukarelawan yang selesa datang sini di atas pentas. Naiklah. Siapa nama anda? Yahong: Yahong. DAVID J. MALAN: Yahong, datang ke atas, dengan cara ini. Dan jika anda semua, jika anda mempunyai sehelai kertas dari kami atau kertas kosong untuk anda sendiri, pergi ke hadapan dan mengambil bahawa daripada pada ketika ini. Gembira Mengenali Anda. Baiklah, matlamat Yahong di sini akan menjadi yang berikut, Saya ada di sini lukisan yang hanya dia akan dapat melihat. Datang pada lebih di sini di pertengahan, jika anda suka. Dan biarlah saya memberikan anda mikrofon di sini. Dan matlamat anda di sini adalah akan menjadi untuk menerangkan, dengan terperinci tepat sebagai mungkin, apa yang anda lihat. Dan orang ini di sini, kerana jenis yang daripada pelaksana komputer ini, perlu untuk menarik apa yang anda katakan. Dan kemudian, apa yang saya akan lakukan ialah merebut Beberapa sampel rawak daripada penonton dan kita akan melihat betapa tepat ini diusahakan. Yahong: Jadi saya menerangkan ini. DAVID J. MALAN: Anda yang dinyatakan ini. Anda memberitahu anda beratus-ratus rakan sekelas di sini apa yang menarik, pergi. Yahong: OK, jadi dalam sangat tengah sehelai kertas, terdapat dua bentuk, satu di atas yang lain, tetapi tidak menyentuh, tetapi hampir menyentuh. Jadi terdapat bulatan pada atas, dan dataran di bahagian bawah, dan mereka hampir saiz yang sama. Mereka jenis sederhana, kecil. Dan dalam bulatan, terdapat two-- terdapat tiga kuasa dua. Jadi ada dataran kecil dalam persegi yang lebih besar, dalam masa persegi yang lebih besar. Dan dalam dataran di bawah, terdapat tiga bulatan. Satu bulatan sedikit dalam yang lebih besar bulatan, dalam lingkungan yang lebih besar. DAVID J. MALAN: Got itu? PENONTON: No. DAVID J. MALAN: Jadi mengapa tidak atasmu, saya akan pergi berjalan-jalan. Saya akan mengambil beberapa, dan jika anda mahu recap bagi mereka yang memerlukan jalan yang kedua. Yahong: OK, yang anda perlukan saya menjelaskan ini lagi? OK, semua betul, jadi pada tengah-tengah sehelai kertas terdapat dua bentuk. Dan satu di atas yang lain, tetapi ia lebih kurang saiz yang sama. Terdapat bulatan kecil dan sederhana di atas sebuah persegi kecil sederhana. OK, jadi ia adalah jenis seperti di atas, berfikir tentang meletakkan ia seperti salji, tetapi dengan dua bentuk yang berbeza bukan dua bulatan. Dan kemudian di the-- di dalam bulatan, terdapat adalah sebuah kotak kecil, di dalam lain kotak kecil, di dalam satu lagi kotak kecil. Dan di dalam dataran, terdapat bulatan kecil, dalam satu lagi bulatan kecil, dalam satu lagi bulatan kecil. Adakah ini masuk akal? DAVID J. MALAN: Ya. Yahong: Banyak tekanan. DAVID J. MALAN: Baiklah, Saya akan kembali betul. Melalui penonton di sini, OK, yang sangat bagus. Terima kasih, OK kami telah perlu mengambil satu. Baiklah, itu seolah-olah seperti sampel rawak yang baik, terima kasih. Baiklah. Yahong: Awesome. DAVID J. MALAN: Jadi sekarang-- juga? Yahong: Awesome. DAVID J. MALAN: Oh, hebat, OK. Begitu hebat, tinggal di sana. Saya akan pergi ke depan dan mendedahkan kepada anda apa yang beberapa rakan-rakan sekelas di lakukan. Jadi di sini kita mempunyai satu ini di sini. OK, ia semacam hanya terus pergi dan pergi. Di sini, tafsiran yang berbeza sedikit. OK, di sini, mari kita lihat, mendapatkan lebih dekat, walaupun lebih kecil, sangat bagus. Walaupun, saya hanya terpaksa untuk merebut satu ini. [Ketawa] Apakah jawapan yang sebenar? Mari kita lihat di sini. Apa yang dia telah menerangkan adalah imej ini di sini. Jadi man-- beberapa daripada- ramai daripada anda di sini dalam orang-orang Saya melihat, tidak mendapatkan hak ini. Mari kita pergi ke hadapan dan show-- mari panggilan orang lain dan melihat bagaimana mudah, atau dengan apa tahap kesukaran mereka boleh melakukannya. Terima kasih banyak-banyak. Bagaimana kira-kira satu sukarelawan lain sedikit lebih jauh ke belakang. OK, saya melihat tangan ini pertama, datang ke atas. Siapa nama anda? Oh maaf? MARCY: Marcy. DAVID J. MALAN: Marcy, datang ke atas, ia baik untuk bertemu dengan kamu. Baiklah, di sini kita mempunyai mikrofon untuk anda. Biar saya lukisan. Dan jadi jika anda mahu hanya menggunakan sebelah flip lembaran itu, atau beberapa lembaran lain kertas, Saya akan pergi ke hadapan dan memberi Marcy seorang yang lain di sini yang hanya dia kini boleh see-- yang hanya dia boleh melihat opaquely, OK. MARCY: OK. DAVID J. MALAN: Go. MARCY: Draw 16 sedikit Titik semua dalam grid. Jadi empat baris empat titik setiap satu. Dan titik-titik yang berongga, jadi mereka seperti bulatan kecil sedikit. Oh, ada lima daripada mereka. OK, itu lima. Ia adalah lima deretan titik hitam. Lima baris lima titik, dan kemudian, bermula pada bahagian kiri OK corner--, jadi lima baris lima titik, dan titik-titik yang berongga, jadi mereka seperti kecil bulatan kecil sebenarnya. Jadi mereka putih di bahagian dalam. PENONTON: OK. MARCY: OK, jadi lima baris lima titik. Dan kemudian, anda mula dari titik kiri atas, dan kemudian menarik garis turun ke titik seterusnya turun, dan kemudian menarik garis lain untuk yang di sebelah kanan yang itu. Jadi itu dua baris setakat ini. Dan kemudian menarik garis ke bawah untuk satu ke bawah seterusnya. OK, jadi itulah tiga baris, bawah, kanan, dan kemudian turun. Dan kemudian kiri. Dan kemudian turun. OK, jadi recap, ia adalah Yang pertama adalah down-- OK, anda bermula dari bahagian atas sebelah kiri corner-- dan kemudian turun, dan kemudian kanan, dan kemudian ke bawah, dan kemudian kiri, dan kemudian ke bawah, dan kemudian kanan, dan kemudian kanan, dan kemudian kiri. OK, jadi kita kira-kira setengah melalui. DAVID J. MALAN: Anda berkata kanan, kemudian kiri. MARCY: Oh, whoops, OK. DAVID J. MALAN: Ia tidak mudah. MARCY: Mari kita mulakan sekali lagi. Mari kita mulakan alih daripada sudut kiri atas. DAVID J. MALAN: Satu pas lagi. MARCY: Ya, OK, bawah, kanan, ke bawah, kiri, bawah, kanan, kanan, ke bawah, ke kanan, atas, kanan, atas, kiri, kiri, atas, atas, kanan, ke bawah, kanan, atas, dan anda harus berada di sudut kanan atas. OKAY. DAVID J. MALAN: Baiklah, dan jika anda melakukannya dengan betul, anda perlu sekarang mempunyai ini dalam kunci anda kertas. Jadi biarlah saya datang merebut pasangan. OK, terima kasih, terima kasih, terima kasih, OK, saya tidak fikir anda mahu itu. OK, oh suka ini, terima kasih. Maaf untuk mencapai, wow, aw, OK Saya akan mengambil hanya satu yang. Baiklah, itu sahaja baik, itu sangat baik. Baiklah, jadi mari kita lihat apa yang kita ada di sini. Jadi notis, cuba untuk membuat jejak mental ini. Biar saya kembali kepada unjuran di sini. Dan ini adalah cukup darn baik di sini, sangat baik dilakukan. Yang ini, sedikit lebih kecil, tetapi Saya rasa itu adalah di landasan yang betul juga, sangat baik dilakukan. OK, yang satu ini saya rasa seperti saya tidak boleh meletakkan ini di internet, jadi mari me-- yang satu ini mempunyai nombor telefon untuk sebab-sebab tertentu. [Ketawa] Terima kasih. Dan kemudian, mengapa tidak kita berakhir dengan ini satu dan sekarang-- terima kasih much-- kita mempunyai masa untuk satu lagi contoh di sini. Kali ini, bagaimana pula pada kiri sana, datang ke atas. Yup, dengan tangan anda, yup. Semua datang tepat ke atas, ia datang ke atas. Kali ini walaupun, datang ke atas. Siapa nama anda? DANIEL: Daniel. DAVID J. MALAN: Daniel, kali ini walaupun, kami akan memeriahkan ini sehingga sedikit, dan kami akan mempunyai anda datang kepada skrin sentuh. Jadi sekarang masa ini, saya akan menunjukkan semua anda semua lukisan. Dan pada sistem kehormatan, anda tidak boleh bergerak mata anda pernah jadi sedikit di sini untuk melihat apa imej sebenar adalah. Jadi, anda hanya menyimpan a-- hanya lurus ke depan. Dan kemudian anda akan menarik pada skrin ini apa rakan sekelas anda menerangkan kepada anda. Dan saya akan cuba untuk meringkaskan secara lisan supaya ia cukup kuat. Baiklah, jadi sistem kehormatan sini, melihat ke depan sahaja, dan anda semua langkah demi step-- tidak berbeza mentega kacang dan jeli example-- mari kita cuba untuk menggambarkan ini. Arahan pertama sila. PENONTON: Lukiskan bulatan besar. DAVID J. MALAN: Lukiskan bulatan besar. [Ketawa] Baiklah, ini saya akan batal. PENONTON: Draw kayu angka tanpa senjata. DAVID J. MALAN: Aku mendengar, menarik seorang tokoh kayu tanpa senjata. [Tepuk tangan] OK,, Arahan kedua-apa. PENONTON: Lengan kiri ke pinggul. DAVID J. MALAN: Lengan kiri ke pinggul. PENONTON: sudut, sudut. DAVID J. MALAN: sudut, OK, kita ada supaya- biarlah saya memberikan anda pemadam. Mari kita padamkan. OK, lagi. PENONTON: siku runcing. DAVID J. MALAN: siku runcing. Siku runcing. PENONTON: siku Sedikit akut. DAVID J. MALAN: siku Sedikit akut. [Tepuk tangan] DAVID J. MALAN: Baiklah, apa lagi? Arahan ketiga. PENONTON: Sekarang berputar the-- DAVID J. MALAN: Sekarang berputar the-- PENONTON: Putar ia 90 darjah. DAVID J. MALAN: Putar ia 90 darjah. [Ketawa] [Menjerit] Apa? Tangan kanan adalah v a. Tangan kanan adalah v a. PENONTON: Terdapat anda pergi. DAVID J. MALAN: Nice. [Bersorak] Baiklah, dan langkah terakhir, langkah terakhir. PENONTON: beratur jauh dari kepala. DAVID J. MALAN: line A jauh dari kepala. Tiada kiri atas, ya. [Menjerit] PENONTON: 45 sudut darjah. DAVID J. MALAN: sudut 45 darjah. Oh tidak. [Menjerit] Ya. No. PENONTON: Dari bahagian kiri kepalanya. DAVID J. MALAN: Dari, dari bahagian atas sebelah kiri head-- beliau PENONTON: Tidak bersambung ke kepalanya. DAVID J. MALAN: Tidak berhubung dengan kepalanya. Ya. [Menjerit] Itu baik, itulah yang baik. PENONTON: Tulis, Hi. DAVID J. MALAN: Tulis, Hi. Menulis, Hi. PENONTON: Tinggi. DAVID J. MALAN: Tinggi. PENONTON: pada akhir garisan. DAVID J. MALAN: pada akhir garisan write-- PENONTON: Little i. No. [Menjerit] DAVID J. MALAN: Huruf kecil i. Saya dengar, huruf kecil. Ya. [Tepuk tangan] Baiklah, itu adalah menakjubkan, terima kasih. Baiklah, jadi kita mempunyai masa hanya satu senaman yang lebih. Anda mungkin ingat yang berikut muzik tema yang, menyedari bahawa kita telah mengambil beberapa kebebasan dengan kaedah-kaedah yang berikut permainan, kerana dalam masalah menetapkan lapan, kami bertanya anda sekumpulan soalan-soalan yang pada dasarnya dalam bentuk Jeopardy. Dan hanya selepas p-set lapan yang kita membuat keputusan, baik, mungkin ia akan sebenarnya menjadi lebih sedikit seronok untuk bermain sesuatu yang lain sebagai gantinya. [KELUARGA persengketaan TEMA MUSIC] Untuk ini, kita akan memerlukan empat kakitangan perguruan. Empat orang tenaga pengajar, dan empat pelajar, bagaimana pula satu, dua, bagaimana kira-kira tiga, empat. Ayuh turun, datang ke atas ke bawah. Baiklah, Kita juga akan need-- kita juga akan memerlukan satu student-- jika kakitangan ingin pergi di sini di sebelah kiri, pelajar di sini right-- kita memerlukan seseorang yang benar-benar baik di aritmetik dibawah tekanan. OK, di sini menjadi sukarelawan [Didengar] datang ke atas. Jadi, anda akan menggunakan skrin sentuh di sini. Siapa nama anda? MICHAEL: Michael. DAVID J. MALAN: Michael, datang ke atas. Oleh itu, kita akan memberikan manual hanya seketika. Tetapi jika anda mahu hanya menulis kakitangan di sebelah kanan dan pelajar di sebelah kiri untuk skor penyimpanan, mari saya pergi ke hadapan dan membiarkan kamu masing-masing memperkenalkan kamu kepada kelas anda pada hari terakhir ini. JAMES: Saya James, Saya bayat. AARON: Hi, saya Harun. MAYA: Saya Maya. KATHERINE: Saya Katherine. DAVID J. MALAN: Dan kini tenaga pengajar. JACK: Saya Jack. ABBY: Abby TIM: Hi, Saya Tim. MARIA: Maria. DAVID J. MALAN: Jadi, kita mempunyai lebih awal, datang dengan beberapa soalan, beberapa yang jawapan kita jenis terdiri, tetapi yang lain yang dijawab dengan berdasarkan statistik yang sebenar dari hujahan anda sendiri masalah menetapkan lapan, dan set masalah lain. Jadi secara umum, masing-masing jawapan yang kita akan telah dikaji, katakan 100 orang, kami akan meletakkan bahagian empat atau lima atau enam jawapan di atas kapal, setiap yang mendapat skor yang berkaitan dengannya. Apa yang kita akan lakukan adalah tweak peraturan sedikit. Jadi, daripada memberikan kawalan untuk satu pasukan atau yang lain, kita hanya akan menggunakan Staples butang mudah untuk membolehkan setiap pasukan buzz dalam yang paling cepat. Dan barangsiapa guesses-- hits butang pertama, dan mendapat soalan yang betul, berpotensi akan mendapat bahawa banyak mata. Kami akan terus berlaku, kita akan terus pergi, dan kemudian mengikut mana-mana pasukan selesai lembaga, akan mendapatkan semua mata diselaraskan setakat ini. Jadi apa yang anda akan mahu untuk lakukan adalah tally mata seperti yang kita pergi untuk setiap soalan yang dijawab betul. Dan kemudian sekali ujung bulat, anda berada akan meletakkan jumlah tersebut sama ada di sini, atau di sini. MICHAEL: Jadi saya tally dalam kepala saya. DAVID J. MALAN: Atau pada skrin di hadapan semua orang, ya, atau pada telefon anda, yang adalah kembali ke sana nampaknya. Baiklah, jadi kita akan berjalan anda melalui ini. Tidak perlu berbuat apa-apa sahaja lagi. Perkara pertama pelajar dan kakitangan perlu lakukan dipukul masing-masing butang yang paling cepat selepas saya mula membaca soalan dan anda ingin mencadangkan jawapan. Masuk akal? Baiklah, di sini kita pergi. Menamakan fungsi diisytiharkan dalam stdio.h. Kakitangan. ABBY: Printf. DAVID J. MALAN: Tunjukkan kami printf. Sangat bagus. Jadi hanya menulis 68, atau menjejaki dalam fikiran anda 68. Sekarang kita akan bergerak ke atas. Sebaik sahaja saya akan membaca soalan sekali lagi, anda mungkin tidak buzz dalam sehingga selepas Saya telah mengulangi soalannya. Menamakan fungsi diisytiharkan dalam stdio.h. Soalan yang sama JAMES: Apakah sprintf. DAVID J. MALAN: Apakah sprintf. Menunjukkan kepada kita sprintf. Tidak, saya akan membacanya lagi. Fungsi A diisytiharkan dalam stdio.h. Kakitangan. TIM: scanf. DAVID J. MALAN: scanf, menunjukkan kepada kita. Dua serangan. Sekali lagi, fungsi yang diisytiharkan dalam stdio.h. Pelajar. JAMES: fopen. DAVID J. MALAN: fopen, sangat bagus. Saya hanya akan terus mengulangi soalan itu, fungsi yang diisytiharkan dalam stdio.h. Kakitangan. TIM: Fclosed. DAVID J. MALAN: Fclosed, kerja yang baik. Nice, kami telah dua jawapan ditinggalkan di lembaga, nombor dua dan nombor 5 untuk pusingan ini. Fungsi A diisytiharkan dalam stdio.h. Pelajar. KATHERINE: fread. DAVID J. MALAN: Tunjukkan kami fread. Sangat bagus. Sesiapa sekarang-- mana pasukan jawapan jawapan yang kelima dan terakhir, mendapat semua mata. Jadi, anda perlu menambah semua ini nombor sehingga dan sesiapa yang ini, mendapat jumlah itu. Adakah terdapat kesilapan? Tidak ada nombor enam. Tiada Nombor enam, tak dilaksanakan. Menamakan fungsi diisytiharkan dalam kakitangan stdio--. TIM: Fright. DAVID J. MALAN: Menunjukkan kepada kita ketakutan. JACK: Yang menjelaskan begitu banyak. DAVID J. MALAN: Mari kita cuba sekali lagi. Nama one-- menamakan fungsi diisytiharkan dalam stdio.h. Tim. TIM: fseek. DAVID J. MALAN: fseek. Kira-kira satu lagi cuba, namakan fungsi diisytiharkan dalam f-- dalam stdio.h. MARIA: fgetc. DAVID J. MALAN: fgetc. Jadi tiada siapa yang mendapat mata. Colton, mahu menunjukkan kepada kita apa lima nombor itu? OK, Matlock tidak dalam stdio.h. Jason Hirschhorn semua orang. Semua biarkan hak kita beralih untuk soalan kedua. Orang pertama yang buzz di sini, untuk soalan ini, program yang anda gunakan semasa pengaturcaraan. Kakitangan. TIM: dilafaz. DAVID J. MALAN: dilafaz. Sangat bagus, nombor dua jawapan. Sekali lagi, menamakan program anda gunakan semasa pengaturcaraan. Pelajar. JAMES: GDB. DAVID J. MALAN: GDB. Jadi pada ketika ini, 38 adalah jumlah itu, tetapi tiada siapa yang mendapat sebarang mata lagi. Baiklah, namakan program digunakan semasa pengaturcaraan. TIM: Valgrind. DAVID J. MALAN: Valgrind. Baiklah, namakan program anda gunakan semasa pengaturcaraan. Pelajar. AARON: PHP. DAVID J. MALAN: PHP Nama yang program yang anda gunakan semasa pengaturcaraan. Kakitangan. MARIA: Facebook. DAVID J. MALAN: Papar kita, menunjukkan kepada kita Facebook. [Tepuk tangan] Kami mempunyai bahagian enam jawapan di atas kapal, tiga pergi. Namakan program yang anda gunakan semasa pengaturcaraan. Kakitangan. TIM: Google. DAVID J. MALAN: Google. Brow-- hak semua. PENONTON: Boo. DAVID J. MALAN: Boo. Baiklah, name-- dua Nama jawapan left-- satu program yang anda gunakan semasa pengaturcaraan. MAYA: CS50 Bincangkan. DAVID J. MALAN: CS50 Bincangkan. Satu cuba lagi, program anda gunakan semasa pengaturcaraan. Saya mendengar pelajar. Pelajar. AARON: CS50 IDE. DAVID J. MALAN: CS50 IDE. Dan yang terakhir, satu program anda gunakan semasa pengaturcaraan. TIM: Check50. DAVID J. MALAN: Check50. Nope, mari kita mendedahkan jawapannya. Nombor enam adalah Spotify. Baiklah, saya rasa kita perlu masa untuk hanya satu atau dua lagi. Lengkapkan ayat berikut, tidak ada mata untuk sama ada pasukan masih. Ia adalah sifar kepada sifar, pemenang mengambil semua tidak lama lagi, kerja yang baik. Lengkapkan ayat berikut, Saya tidak pernah gonna-- Kakitangan. TIM: Beri kamu. DAVID J. MALAN: Beri kamu. Nice. Pelajar. JAMES: Let anda ke bawah. DAVID J. MALAN: Biar anda ke bawah. Saya tidak pernah gonna- MARIA: Berlari-lari dan meninggalkan anda. DAVID J. MALAN: Run sekitar dan meninggalkan anda. Berlari-lari padang pasir, OK. Pelajar. AARON: Jangan sekali-kali akan membuat anda menangis. DAVID J. MALAN: membuat anda menangis. Kakitangan. TIM: Ucapkan selamat tinggal. DAVID J. MALAN: Saya tidak boleh percaya ini adalah soalan anda sudah mendapatkan hak. Mengucapkan selamat tinggal, yup, dan yang terakhir. Pelajar. KATHERINE: Hurt anda. DAVID J. MALAN: Beritahu dusta dan menyakiti anda. Pelajar yang mendapat 100 mata. Itulah why-- yang selama CS50, kek kini dihidangkan. [Seinfeld THEME SONG] [Bermain muzik] DAN ARMINDARIZ: Adakah anda gila? Apa yang anda fikir yang anda lakukan? SPEAKER 6: Saya cuba untuk masuk ke dalam lif. DAN ARMINDARIZ: Apa yang anda bercakap tentang? Anda tidak melihat saya menunggu di sini? SPEAKER 6: Aku tidak pernah melihat seorang laki-laki menunggu. DAN ARMINDARIZ: Jika anda tidak melihat saya menunggu, maka Kenapa anda meletakkan troli anda dalam seperti itu? SPEAKER 6: Kerana itulah bagaimana saya masuk ke dalam lif. DAN ARMINDARIZ: [didengar] SPEAKER 6: Dapatkan out-- melepaskan!