[MUSIC PLAYING] SEKARANG: Hello, world. Ini adalah CS50LIVE. Kami memiliki sebuah episode yang baik untuk Anda. CEO YouTube, sebuah bug di Internet Explorer, video game terburuk yang pernah, dan field trip ke Valve Software. Tapi pertama-tama, perjalanan ke Tokyo, Jepang di mana Presiden Obama baru-baru ini diputar sepak bola dengan teman baik saya. [VIDEO PLAYBACK] -Wow. Dia bergerak. -Aku bisa menendang bola sepak bola juga. Di sini saya pergi. -Hei, pekerjaan yang baik. [END VIDEO PEMUTARAN] DAVID: Hello, world. Aku di sini dengan CS50 sendiri Colton Ogden. COLTON OGDEN: Halo, semuanya. DAVID: Dan siapa lagi yang kita miliki dengan kami di sini hari ini? COLTON OGDEN: Ini adalah Sekarang, kami little buddy robot dari Perancis. DAVID: Jadi saya benar-benar bertemu NO bersama [? Rob Boden?] ketika dia dan saya berada di Atlanta, Georgia beberapa minggu lalu karena Anda mungkin ingat pada SIGCSE, para Minat Khusus Group for Computer Ilmu Pendidikan, di mana benar-benar berjalan di sekitar lantai ruang konferensi orang ini. Nah ternyata, ketika kami kembali ke kampus kami menemukan bahwa Profesor [Tak terdengar] robotika laboratorium Harvard benar-benar memiliki Sekarang di sini di kampus. Dan dia ramah memungkinkan kita program dia untuk Anda hari ini. COLTON OGDEN: Ya, dan benar-benar, David, Saya pikir Sekarang ingin menyapa Anda jika Anda ingin berjalan sekitar meja di sini. DAVID: Di sini? Baik. Baik. SEKARANG: Halo, David. Senang kenalan dengan anda. DAVID: Halo, Sekarang. Berjabat tangan? COLTON OGDEN: Kocok tangannya atas dan ke bawah. DAVID: OK. COLTON OGDEN: Dan kemudian dia akan pergi ke depan dan duduk. Dan jika Anda tertarik, Aku benar-benar dapat menunjukkan bagaimana saya bisa mendapatkan dia untuk melakukan semua hal ini juga. DAVID: Ya, tentu saja. COLTON OGDEN: Dia sedikit off menyeimbangkan pagi ini. Dia tidak memiliki kopinya belum. DAVID: Jadi apa yang ini kita sedang melihat? COLTON OGDEN: Jadi kita melihat di sini adalah grafik inti, yang sekarang lingkungan pemrograman grafis, yang sangat mirip dengan Scratch CS50 yang menggunakan. Di sini kita melihat itu diatur seperti diagram alir. Dan kami memiliki sekelompok ini sedikit blok bangunan di sini. Sekarang jika kita melihat pada satu ini misalnya, itu disebut berdiri up. Dan blok ini mengatakan berdiri untuk Sekarang, apakah dia duduk atau apa pun. Kemudian kita melihat itu masuk ke kepala taktil, yang pada dasarnya menunggu keran di atas kepalanya seperti yang Anda lihat sebelumnya. Pindah ke sarana bergerak dalam x, y, dan z arah ke tujuan tertentu. Jabat tangan adalah modul yang saya tulis, yang pada dasarnya mengatakan, halo, David. Senang kenalan dengan anda. Menunggu jabat tangan. Duduklah adalah kebalikan dari berdiri. Dia akan pergi ke depan dan duduk. Dan kemudian gerakan kepala adalah lingkaran dimana dia akan menggerakkan kepala ke arah acak. DAVID: Interesting. Jadi meskipun ini tidak terlihat seperti potongan puzzle dari Gores, itu benar-benar ide yang sama. Dan kau pengkabelan program menggunakan blok bangunan tersebut. COLTON OGDEN: Ya, persis. DAVID: Jadi kau bilang kau membuat salah satu dari mereka, jabat tangan. Bisakah kita zoom in pada satu itu? COLTON OGDEN: Tentu. Kita akan lihat di sini di jabat tangan. Dan kita akan melihat itu dibentuk sangat mirip dengan diagram alir lainnya. Kami memulai dengan blok halo, yang [Tak terdengar] mengatakan, halo, David. Senang kenalan dengan anda. Hak ini di sini adalah lingkaran. Dikatakan, mendeteksi gerakan lengan. Jadi itu akan di terbatas lingkaran menunggu sampai lengannya telah diangkat atas dan ke bawah. Dan kemudian sekali yang terjadi, itu akan pergi ke depan dan melakukan hal-hal ini. Set kekakuan OK dan pergi ke akhir, yang pada dasarnya berarti mengirimnya kembali ke posisi default-nya. DAVID: Interesting. Apakah Anda dibatasi hanya menggunakan lingkungan grafis ini untuk program dia dengan cara ini? COLTON OGDEN: Sebenarnya, tidak. Jika kita pergi ke depan dan klik ganda salah satu blok bangunan ini, kita dapat melihat bahwa sebenarnya ada kode python di bawah tenda, powering masing-masing blok bangunan tersebut. DAVID: Ah, memang. Jadi bagi mereka yang tidak terbiasa, python adalah bahasa ditafsirkan, sangat memiliki semangat yang sama PHP, yang kita gunakan dalam CS50. Dan banyak seperti Anda dapat menggunakan PHP untuk pemrograman web, Anda juga dapat menggunakannya pada baris perintah. Dan seperti Colton lakukan di sini dalam lingkungan grafis ini, menulis program dan kemudian transmisi melalui Wi-Fi - COLTON OGDEN: Benar. DAVID: - sekarang. Apakah Anda memiliki beberapa waktu untuk bertahan? COLTON OGDEN: Tentu saja. DAVID: Baiklah. Nah, sebelum Colton datang kembali dengan kami untuk sedikit kejutan, kita sekarang - mendapatkannya -? memiliki 60 detik mantan siswa CS50 audisi menjadi mengajar rekan-rekan. [VIDEO PLAYBACK] -Terima kasih. Terima kasih, semua orang, untuk berada di sini. -Hei, Mr Bunny. -Selamat datang di tutorial singkat tentang - [Tak terdengar] bersenang-senang dengan Twinkies. -Tunggu. Berhenti. -Jadi sekarang kita punya masalah. -Ini bukan. Dan aku akan memberitahu Anda mengapa. -Sebuah loop adalah pengulangan, seperti - -Semacam kotak hitam. -OK. Saya pikir saya mendapatkannya. Baiklah. Jadi sekarang aku di bagian yang sedikit keras. -Itu benar. 8 bit membuat byte. -Anda mengambil byte dan Anda memisahkannya menjadi potongan empat. -Beep, tin, tin, tin, tin. Bip, bip, bip, bip, bip. -Sepertinya terlalu rumit. -Jadi mari kita lakukan ini lagi. -Jika saya membingungkan Anda, silakan merasa bebas untuk menghentikan saya. -Tapi tunggu sebentar. -Well, mari kita lihat kembali pada slide dan mematahkan segalanya langkah demi langkah. -Jika Anda ingat, memori dipecah menjadi potongan byte ukuran. -Jadi di sini kita memiliki skenario terbaik. -Ini adalah cukup perbaikan atas - -Sebuah web browser, seperti Chrome. -Itu selalu diperlukan untuk membebaskan setiap - -Orang-orang - -Anda mungkin menjalankan seluruh. Dan kode bisa mendapatkan agak rumit. -Dan itu adalah semua yang Anda butuhkan. -Boom! DAVID: Sekarang CS50 sendiri Dan Coffey dan saya baru-baru ini memiliki kesempatan untuk bepergian keluar Mountain View, California, yang mana markas Google. Dan kami memiliki kesempatan untuk chatting dengan Susan Wojcicki, CEO YouTube. Itu benar-benar di Susan Garasi tahun lalu di tahun 90-an bahwa Google itu sendiri adalah dimulai oleh Larry dan Sergey. Nah, ternyata Susan dirinya benar-benar mengambil CS50 hanya beberapa tahun sebelum saya lakukan. Dan saya pikir itu mencolok karena Anda akan segera mendengar betapa banyak pengantar komputer ilmu sehingga mempengaruhi hidupnya. Dia ingin menyapa. SUSAN Wojcicki: Hello, world. Saya Susan Wojcicki. Aku CEO YouTube. Dan aku mengambil CS50 ketika saya masih seorang senior di Harvard pada tahun 1990. Aku benar-benar sejarah dan sastra utama. Dan musim panas junior saya menyadari bahwa mungkin aku ingin belajar sesuatu tentang komputer. Dan jadi aku datang kembali. Aku mengambil CS50. Itu sulit, tapi itu kelas yang paling menakjubkan yang saya ambil. Ini mengubah cara saya berpikir tentang segala sesuatu. Dan ketika saya lulus dari Harvard pada tahun 1990, saya pergi ke Silicon Valley dan saya mendapat pekerjaan. Dan saya telah bekerja dalam teknologi sejak saat itu. Jadi CS50 mengubah hidup saya. Saya terus belajar dan membangun. Ini memberi saya landasan yang besar. Dan aku terus belajar setiap hari sebagai perubahan teknologi. Dan saya pikir itu indah bahwa Anda semua mengambil karena itulah bagaimana dunia ini akan mengubah maju. Ada hanya akan menjadi lebih dan lebih banyak kesempatan dan inovasi. Digital akan mempengaruhi kami hidup bahkan lebih dari itu sudah memiliki. Dan itu luar biasa bahwa Anda semua mengambil CS50. Jadi ini adalah CS50. DAVID: Jadi, jika Anda sudah mencari alasan baru tidak menggunakan browser tertentu, inilah salah satu yang baik untuk Anda. Saya baru saja menerima - bersama dengan orang di Harvard University - email ini di sini. "Dear Members Komunitas Harvard. The US Department of Homeland Security merekomendasikan bahwa semua pengguna sementara menghentikan penggunaan Microsoft Internet Explorer, IE, karena lubang keamanan yang kritis. " Hal ini didokumentasikan benar-benar di Microsoft Security Advisory 2963983. Kerentanan di Internet Explorer dapat memungkinkan eksekusi kode jauh. Sekarang apa artinya ini dan apa ancaman itu? Nah, pertimbangkan ini diagram di sini, yang kita digunakan dalam CS50 untuk berbicara tentang HTTP atau lalu lintas web. Jika kita miliki di sini web Server dan di sisi lain browser - Internet Explorer dalam hal ini - tentu saja, browser ketika pertama kali meminta halaman web mungkin mengirim pesan HDP seperti ini. GET index.html menggunakan versi 1.1 dari protokol dikenal sebagai HTTP. Sekarang dalam kasus ini, jika orang jahat memiliki entah bagaimana memiliki akses ke server web ini dan diinstal di atasnya sebuah mengeksploitasi sehingga untuk berbicara, ia mungkin bisa meyakinkan web server untuk kembali ini. Tidak hanya index.html dirinya sebagai diminta, tetapi tertanam di dalam dari file index.html bisa, tentu saja, menjadi aset lainnya. Secara khusus, sesuatu seperti exploit.SWF, file flash yang pada akhirnya mengambil keuntungan dari keamanan ini teknik, tumpukan feng shui, yaitu cara mewah untuk mengatakan bahwa kode dalam file flash yang semprotan yang disebut tumpukan dalam komputer Browser dengan semua potongan yang berbeda memori yang dirancang pada akhirnya menimpa potongan besar memori di sini. Jika Anda ingat ini dari diskusi kita di CS50 tumpukan dan tumpukan dan manajemen memori lebih umum. Sekarang memori yang benar-benar dilemparkan di heap benar-benar disebut objek vektor kilat. Dan ini adalah sesuatu dengan yang Anda mungkin familiar jika Anda sendiri memiliki diprogram flash sebelumnya. Tapi salah satu dari benda-benda khususnya dikenal sebagai objek suara media flash. Dan di sinilah letak kesempatan karena apa mengeksploitasi ini kemudian mulai melakukan korup potongan ini memori, objek ini di memori, sedemikian rupa sehingga mencoba untuk membuat ini alamat heksadesimal dieksekusi, dengan demikian mencoba untuk mengelabui program akhirnya untuk mengeksekusi beberapa kode shell sehingga untuk berbicara, atau kode buruk pria, itu akhirnya disimpan di alamat ini di sini, yang disuntikkan dengan cara men-download sadar bahwa file flash tertentu. Sekarang hasil akhirnya bisa menjadi apapun musuh ingin lakukan untuk komputer Anda. Dia bisa menghapus file Anda, memindahkan file Anda, email file Anda, atau benar-benar melakukan sesuatu yang Anda sendiri bisa lakukan sebagai pemilik komputer tersebut. Dan itulah mengapa ancaman itu begitu menakutkan. Hal ini memungkinkan benar-benar siapa pun di internet yang situs Anda mungkin mengunjungi untuk mengeksekusi sewenang-wenang program di komputer Anda. Sekarang untungnya, Microsoft sangat baru-baru ini dirilis untuk memperbaiki ini karena masalah sebenarnya menderita Internet Explorer 6 semua jalan melalui 11. Jadi itu telah bersama kami selama beberapa waktu dan hanya baru-baru ini ditemukan. Jadi jika Anda memiliki update otomatis diaktifkan, Anda harus OK segera. Tapi untuk amannya, Anda bisa pasti beralih ke beberapa browser yang lain setidaknya sementara itu. Sekarang ternyata juga bahwa Microsoft sangat murah hati juga merilis perbaikan untuk Windows XP, sebuah versi Windows yang dukungan benar-benar resmi dihentikan hanya beberapa minggu yang lalu, tapi ancaman ini sangat buruk sehingga mereka juga diluncurkan untuk memperbaiki OS yang juga. Sekarang dalam berita lain minggu ini adalah ini. Atari 2600, sebuah game yang lebih tua konsol yang sepupu saya benar-benar telah tumbuh di mana kita digunakan untuk bermain video game saat kita akan mengunjungi rumah mereka. Sekarang dalam hal apapun, mengapa hal ini berada di Kabar itu karena alasan berikut. Kembali di tahun 80-an, perusahaan belakang perangkat ini, Atari, memutuskan untuk mengubur dalam TPA di New Mexico sejumlah besar permainan lama dan manual instruksi dan sejenisnya yang akan dinyatakan telah terjual. Sekarang dari waktu ke waktu, penguburan ini permainan menjadi sedikit dari sebuah mitos perkotaan. Orang-orang tidak benar-benar tahu pasti apakah ini benar-benar telah terjadi bahkan meskipun, sebagai mitos pergi, perusahaan bahkan telah dituangkan lapisan beton di atas segalanya dalam TPA untuk mencegah anak-anak dari benar-benar gemerisik melalui itu, mencoba untuk menemukan video game gratis. Nah, ternyata film dokumenter sekarang sedang berlangsung sekarang pada tahun 2014. Dan tim excavator telah berusaha untuk menggali kebenaran di balik cerita ini jika itu memang ada. Dan coba tebak apa yang mereka temukan? Yah, tidak persis ini pria, tetapi ribuan salinan permainan, yang dirilis bertepatan dengan rilis dari film, E.T. The Extraterrestrial. Jadi memang, hanya dalam beberapa hari terakhir puluhan dan ratusan bahkan ribuan akhirnya kartrid ini mulai digali. Sekarang mengapa mereka mengubur seperti permainan jelas menarik? Nah, ternyata E.T. sebenarnya terkenal oleh banyak orang sebagai video game terburuk yang pernah. Pada bagian, karena mereka memiliki begitu sedikit waktu untuk mengembangkan permainan sebelum itu khususnya musim Natal, tetapi juga karena itu sangat sulit untuk bermain. Ini, tentu saja, menimbulkan pertanyaan, bisakah kita melihatnya? Ya, kita bisa. Mari kita lihat. [VIDEO GAME PLAYING] Sekarang itu tidak benar-benar grafis yang orang mengambil keberatan untuk karena, memang, ini adalah era 80-an dan ini adalah keadaan seni. Memang, ini adalah masa kecil saya di sini. Tapi apa yang sulit tentang permainan ini adalah, satu, Anda memiliki film ET sekitar layar, cari bagi mereka piksel kecil, yang diwakili Reese Pieces. Tapi menangkap juga adalah bahwa jika Anda jatuh menjadi mereka bentuk berlian gelap, Anda akan jatuh ke dalam pit itu benar-benar sangat sulit dan membosankan untuk keluar dari. Jadi dengan demikian dimakamkan ET. Sekarang juga di padang pasir akhir ini di sini adalah di Wyoming. A nuklir, tidak menjadi bingung dengan [? nucular,?] pusat kendali. Dan pada kenyataannya, jika Anda melihat ke bawah ada di bawah beton dekat tiang putih ini, ada sebenarnya rudal Minuteman III, rudal nuklir, yang sebenarnya dilindungi oleh beberapa teknologi yang tidak hampir sebagai modern seperti yang mungkin Anda harapkan. Sebuah acara TV Amerika, 60 Menit, baru-baru ini mengungkapkan ini. [VIDEO PLAYBACK] -Tapi peralatan kuno. Hal ini, misalnya, adalah salah satu komputer yang akan menerima peluncuran memesan dari presiden. Menggunakan floppy disk. Benar-benar tua, yang besar. Sebelum Anda turun di sini, Anda mungkin belum pernah melihat satu? -Aku pernah melihat satu sampai Aku turun di lubang ini. [END VIDEO PEMUTARAN] Sekarang jika Anda berpikir Anda telah melihat disk ini, mereka 5 dan 1/4-inch disk dari tahun 1980-an, uh-uh. Ini adalah floppy 8-inch disk dari tahun 1970-an. Sekarang CS50 sendiri Dan Coffey dan saya juga memiliki kesempatan untuk melakukan perjalanan ke Seattle, Washington baru-baru ini di mana kami mengunjungi teman-teman kita di Valve. Bahkan, Anda mungkin ingat 60 detik dari saya mengenakan kacamata virtual reality tersebut. Sekarang kita juga memiliki kesempatan untuk chatting dengan tiga insinyur Valve yang berbicara kepada kita tentang apa yang rasanya bekerja di Valve, tapi lebih baik lagi, apa itu ingin mengembangkan video game. Mari kita lihat. [VIDEO PLAYBACK] [VIDEO GAME PLAYING] -Nama saya Brian Jacobson. Aku berjalan ke Valve jenis dalam rute yang sedikit memutar. Aku tidak benar-benar komputer programmer di perguruan tinggi. Dan saya digunakan untuk kembali di SMA makhluk mampu melakukan pemrograman dan mendapatkan barang-barang dari ide untuk pelaksanaan hanya dalam beberapa menit atau jam. Saya menikmati bahwa laju perkembangan dan melihat ide-ide saya datang untuk hidup. -Nama saya Yahn Bernier. Aku sudah di sini di Valve selama lebih dari 16 tahun. Jadi saya akhirnya menulis hanya untuk menyenangkan editor tingkat untuk Quake disebut BSP, berdasarkan biner pohon ruang partisi. Itu adalah semacam hidangan. Dan akhirnya Gabe Newell, yang merupakan pendiri Valve, dan Mike Harrington mengirimi saya email yang mengatakan software pengembangan kesempatan insinyur. -Nama saya John Cook. Saya seorang insinyur perangkat lunak bekerja di Valve. Saya fokus pada sistem online kami, scaling, dan arsitektur. Seorang teman dan aku benar-benar di universitas yang bekerja pada sebuah permainan yang disebut Team Fortress. Dan kami hanya membuat permainan, memasangnya di internet. Itu adalah selain permainan, Quake, pada saat itu. Jadi itu semacam modern perpanjangan permainan itu. Setelah itu, kami akhirnya mendapatkan kontak dengan Valve dan datang ke sini. -Nah, bagi saya kelas grafis adalah mungkin program studi yang paling berlaku yang saya ambil di perguruan tinggi pasti. Trigonometri, linear aljabar. Aku mengambil kursus robotika yang memiliki sekelompok jenis aljabar linear dari panggang ke dalamnya, dan itu adalah salah satu batu kunci konsep-konsep matematika untuk grafis 3D. Ini semua tentang orientasi dan melakukan matematika seperti, aku memandang ke Anda, tapi saya ingin bertujuan di sana. Dan bagaimana cara memutar dan bagaimana cara mencari tahu di mana aku pindah atau mencari. Itu semua aljabar linear. -Inti dari sebuah first-person shooter adalah bahwa saya melihat melalui situs gun dengan mata dan tujuan saya di sesuatu dan menarik pelatuk dan saya ingin memukul itu. Jadi, Anda harus merancang Anda teknologi untuk berurusan dengan latency. Dan John Carmack kembali dan berkata, oh, apa yang harus saya lakukan adalah memprediksi pada klien yang hasil input pemain saya, dan hanya melakukan itu dan membuat dari tempat kami pikir dia akan menjadi dan kemudian membiarkan server kembali dan memperbaikinya untuk saya. -Jadi, ketika Anda berpikir tentang menggunakan engine game untuk membuat game, ada lebih banyak pilihan sekarang. -Sebuah mesin permainan adalah jenis infrastruktur di mana Anda membuat permainan. Ini adalah hal yang bertanggung jawab untuk menggambar dunia, untuk simulasi dunia, untuk bermain semua suara, untuk membantu kode permainan Anda mencari tahu apa musuh AI akan pergi melakukan. -Biasanya, cara orang akan mulai adalah mereka akan mengambil beberapa jumlah logika yang dan mengubahnya. Seperti, OK, sekarang mari kita mengubah peluncur roket untuk melakukan 200 kerusakan bukan melakukan 100 kerusakan. Ini adalah sangat sederhana, seperti, hanya mengambil beberapa bagian ada logika gameplay dan tweak untuk bagaimana Anda suka. -Lapisan tingkat yang lebih tinggi lainnya biasanya disebut kode game. Dan kode permainan biasanya hal itu semua tentang aturan permainan. Seperti fakta bahwa saya memiliki senjata tertentu dan bekerja dengan cara tertentu. Atau fakta bahwa ada sebuah rakasa headcrab yang memiliki perilaku tertentu. Mereka macam hal yang biasanya untuk menemukan kode permainan. -Dan dari sana, benar-benar, dengan orang-orang jenis potong dan proses iterasi, Anda dapat pergi dari sesuatu seperti Quake untuk sesuatu seperti Half-Life. -Half-Life adalah sci-fi, first-person shooter game. Ini diatur dalam dunia dystopian. Pertama Half-Life didirikan di fasilitas penelitian bawah tanah ini disebut Black Mesa. Dan Anda memainkan karakter bernama Gordon Freeman. Dan itu pada dasarnya tentang invasi alien yang diprovokasi ketika eksperimen yang salah. Dan game kedua, Half-Life 2, didirikan sekitar 10 tahun kemudian, dan pada dasarnya, alien telah mengambil alih planet ini. Dan sekarang Anda sebagai Gordon Freeman pada dasarnya harus menyelamatkan temanmu, Alex, yang Anda temui. Dan mencoba untuk memukul mundur alien dan merebut kembali planet ini. -Tentu saja, proyek seperti Portal 2, itu hanya sebuah tim kecil, lima orang bekerja pada sebuah ide game. Mereka menemukan beberapa hal yang mereka pemikiran yang menarik, bisa menarik untuk permainan. Mereka diperluas untuk 20 orang. Mereka fleshed keluar ide-ide tersebut. Anda menambahkan beberapa lebih banyak orang. Mereka seperti, OK, dan sekarang kita ingin kapal pada tiga konsol. Kita perlu lebih banyak orang. Seperti semua orang, datang melihat permainan ini. Itu mengagumkan. Ini hanya membutuhkan a bunch dari bekerja untuk dilakukan. Jadi tiba-tiba Anda memiliki setengah perusahaan bekerja, Anda memiliki 120 orang yang bekerja pada permainan ini dilakukan untuk mendapatkannya. Jelas, jumlah proyek di tempat lain kontrak, tapi semua orang super senang karena mereka tahu mereka sedang bekerja pada ini hal yang benar-benar mengagumkan. -Salah satu hal yang benar-benar hebat tentang pekerjaan ini dan industri ini secara umum adalah bahwa hal berubah sepanjang waktu. Hal yang Anda lakukan tahun ini akan sangat sulit dari hal yang Anda lakukan tahun depan. Dan itu membuat semuanya benar-benar segar, sebenarnya, dan cukup menarik. Anda terus-menerus belajar baru hal-hal dan melakukan hal-hal jenis baru. [END VIDEO PEMUTARAN] DAVID: Itu untuk CS50LIVE. Terima kasih banyak untuk ini kontributor minggu. Terima kasih banyak untuk Colton CS50 sendiri Ogden dan tim di belakang kamera. Ini adalah CS50. [MUSIC - LOS DEL RIO, "Macarena"]