[Powered by Google Translate] [MUSIC PLAYING] DAVID J. Malan: Ini adalah CS50. Jadi saya di mana Anda sekarang beberapa tahun yang lalu. Dan ketika saya masih seorang mahasiswa pada waktu itu, saya tidak benar-benar di ini jalan melakukan ilmu komputer, melakukan rekayasa. Memang, saya datang ke tempat ini sebagai konsentrator pemerintah. Saya pernah, di sekolah menengah, seorang anak yang menyukai hal-hal seperti sejarah. Aku menyukai hukum konstitusional, jenis bahasa Inggris dan matematika. Ini seperti semacam baik-bulat, tapi tidak tentu tahu hal-hal yang saya tidak pernah diajarkan di sekolah tinggi. Dan sehingga tahun pertama, saya punya keraguan ini dimana bahkan meskipun aku menyukai komputer, bermain game komputer dan seperti, saya pasti tidak pernah menganggap diriku sebagai komputer orang, seorang ilmuwan komputer. Dan terus terang, saya pikir teman-teman saya di sekolah tinggi yang mengambil ilmu komputer yang sedikit aneh. Namun, ketika saya tiba di sini di kampus, ada kursus ini, CS50. Dan pada saat itu, itu ini reputasi benar-benar menjadi sesuatu untuk berhati-hati. Itu adalah kursus yang baik. Itu bersenang-senang saja. Tapi Anda harus benar-benar mendapatkan kaki yang di pintu. Dan bahkan saya tidak menyeberangi bahwa tahun pertama ambang batas. Dan saya melanjutkan perjalanan saya menjadi konsentrator pemerintah, akan melalui sebagai banyak prasyarat yang saya bisa, lintas-menghitung hal-hal untuk gen ed atau inti dan sejenisnya. Dan kemudian tahun kedua, untuk beberapa alasan, aku bangun saraf untuk langkah kaki di Science Center B, di mana CS50 itu. Seorang ilmuwan komputer yang sangat terkenal dengan nama Brian Kernighan mengajar di sini bahwa tahun. Dan bahkan kemudian, saya hanya bersedia untuk benar-benar mengisi Studi kartu saya dengan mengambil kelas ini lulus / gagal. Saya melihat sekeliling saya dan saya pikir semua orang di satu ini harus tahu cara yang lebih tentang ilmu komputer, tentang pemrograman, tentang komputer. Setiap orang yang harus pemrograman, di ruangan ini, karena mereka 12. Tapi, memang, itu tidak terjadi. Dan jadi hari terakhir, Senin kelima semester, aku mengambil lompatan dan perubahan dari lulus / gagal ke Surat grade dan akhirnya mengubah konsentrasi saya bahwa sama hari untuk ilmu komputer. Sekarang, itu bukan tujuan kami di kelas ini, untuk mengubah Anda semua ke ilmu komputer konsentrator, tapi benar-benar untuk mengusulkan bahwa ada kesempatan di bidang ini dan di bidang lain dengan mana Anda mungkin cukup asing mengingat bahwa sekolah tinggi biasanya mengikuti cukup jalur kurikuler standar, tapi untuk menjelajah di, di CS50, menjadi baru perairan. Dan jika Anda sedang duduk di sini hari ini berpikir Anda tidak sebenarnya milik, begitu juga sebagian besar orang ke kanan dan ke kiri Anda. Memang, tahun lalu, 76% dari siswa di kelas ini tidak memiliki pengalaman sebelumnya. Jadi bertentangan dengan apa yang Anda mungkin berpikir, sebagian besar orang duduk-duduk di sini hari ini tidak, pada kenyataannya, memiliki sebelum pengalaman. 18% telah mengambil satu kelas CS, dan 6% telah mengambil dua atau lebih. Sementara itu, kami meminta siswa kami setiap tahun untuk menggambarkan sendiri dalam hal tingkat kenyamanan. Dan tidak ada definisi salah satu dari ini. Anda hanya semacam tahu jika Anda tidak sangat nyaman di CS50. Dan tahun lalu, kami memiliki 55% dalam sepotong pie hijau di sini self-describing sebagai kurang nyaman, siswa yang terus terang tidak tahu mengapa mereka bahkan akan berbelanja kursus pada hari pertama. Namun 55% yang sama tetap bersama kami sampai akhir masa itu, seperti yang dilakukan 35% yang di suatu tempat di antara mereka lebih nyaman dan mereka yang kurang nyaman. Jadi, apa ilmu komputer? Nah di sekolah tinggi, dan benar-benar lebih umum keluar ada hari ini, ada persepsi atau ini kesalahpahaman bahwa ilmu komputer adalah pemrograman. Dan itu benar-benar salah satu aspek dari ilmu komputer. Tapi pemrograman, bahasa apapun adalah, benar-benar hanya alat yang ilmuwan komputer digunakan untuk memecahkan masalah, baik dalam domain ilmu komputer atau semakin tersebut hari dalam ilmu fisika, ilmu alam, di obat-obatan, dalam humaniora, untuk menganalisis set data yang besar. Di mana saja sekarang ada komputer dan data, ada sebuah kesempatan untuk menerapkan pelajaran dalam kelas seperti CS50. Jadi mari kita memecahkan masalah yang seorang ilmuwan komputer mungkin pergi tentang pemecahan dan mencoba untuk menempatkan beberapa jargon, menaruh beberapa kerangka konseptual, sekitar apa yang sebaliknya mungkin beberapa cukup abstrak ide. Jadi ini adalah telepon. Anda tidak melihat hal-hal terlalu sering, meskipun perguruan tinggi nampaknya masih memiliki ini di rumah-rumah dan asrama. Tapi kembali pada hari ketika Anda ingin menggunakan telepon seperti ini, tidak ada buku alamat elektronik di ponsel Anda. Sebaliknya, Anda menarik sesuatu dikenal sebagai buku telepon. Dan buku-buku telepon memiliki sekitar 1.000 halaman, biasanya. Mereka diurutkan dari A sampai Z. Dan Anda hanya harus menemukan Halaman yang tepat untuk menemukan orang yang Anda cari dalam rangka menemukan nama dan nomor telepon mereka. Sekarang bagaimana Anda pergi tentang mencari seseorang dalam buku ini? Misalkan tujuan saya adalah untuk memberikan teman saya, Mike Smith, panggilan. Nah, bagaimana aku pergi tentang menemukan Mike Smith? Nah, pendekatan yang sangat wajar, jika naif dan tidak efisien, akan mulai di sini dan mulai membalik ke halaman 4 halaman 5 halaman 6, dan semacam linear, bersama garis lurus, pergi melalui buku telepon. Dan meskipun itu akan menjadi sangat membosankan, jika Mike Smith adalah dalam buku ini, saya akhirnya akan menghubunginya ketika saya akhirnya flip untuk bagian S dari buku ini. Sekarang tentu saja, Anda tidak perlu menjadi seorang ilmuwan komputer untuk tahu bahwa ini adalah cara yang bodoh untuk memecahkan masalah ini. Apa yang akan seorang manusia biasa yang lakukan? Well done. Jadi Anda akan flip ke tengah, kanan. Jadi Anda akan membalik kasar ke tengah, lihat di sini, dan saya tampaknya untuk menemukan diri di bagian M. OK, jadi M jelas tidak apa yang saya cari. Dan Mike ke kanan, sehingga untuk berbicara, dari bagian ini. Dan karena beberapa dari Anda telah melihat sebelumnya, kita dapat benar-benar sekarang melanjutkan untuk merobek masalah ini di setengah. [Tepuk Tangan] Anda benar-benar tidak boleh yang terkesan. Merobeknya bawah jahitan sebenarnya tidak sulit. Orang-orang yang sebenarnya melakukannya dengan cara ini. Tapi, bawah jahitan, kita sekarang memiliki dua masalah, masing-masing yang setengah besar. Dan kami benar-benar dapat membuang bahwa setengah dari masalah pergi. Sekarang kita meninggalkan tidak dengan 1.000 halaman, tapi, katakanlah, 500. Jadi sekarang apa yang harus saya lakukan? Nah, manusia biasa akan pergi kira-kira di tengah lagi. Dan saya menemukan diri saya sebuah bagian R. Jadi tidak cukup ada. Jadi sekali lagi, saya dapat merobek masalah ini di setengah. [Tepuk Tangan] Terima kasih. Jadi sekarang saya hanya memiliki sekitar 250 halaman. Dan saya bisa melakukan ini lagi dan lagi dan lagi dan pergi dari 125 ke sekitar 60 30 sampai 15 dan sebagainya. Dan akhirnya, aku akan dipangkas menjadi salah satu halaman pada S yang, jika ia ada di buku telepon, Mike Smith seharusnya. Sekarang, itu sebuah algoritma jelas cukup masuk akal, dan itu adalah algoritma satu kali-digunakan dalam kasus ini. Tapi apa yang bisa kita semacam mengambil dari itu? Nah, pendekatan pertama, memperbaiki jika naif meskipun itu, dapat digambarkan oleh garis lurus. Jadi jika pada sumbu x-sini kita mengatakan ini adalah ukuran Masalahnya, sehingga sumbu x pergi ke kanan, Masalahnya akan lebih besar. Apa artinya menjadi lebih besar dalam konteks masalah ini? Lebih halaman dalam buku telepon. Ada sesuatu yang lebih kita bisa mengukur. Pada sumbu y, waktu untuk menyelesaikan. Jadi sebagai sumbu naik, itu mungkin membutuhkan waktu lebih lama. Sehingga pendekatan pertama linear mencari dari halaman 1 dot dot dot 1.000 halaman adalah prosedur linear, linear algoritma atau proses. Dan kita bisa menggambarkannya dengan garis lurus ini. Jika saya menambahkan satu halaman lebih ke buku telepon, itu akan, dalam kasus terburuk, membawa saya satu flip halaman lebih untuk menemukan Mike Smith. Jika saya menambahkan 100 halaman, 100 lebih flips atau satuan waktu. Sekarang, saya bisa menjadi sedikit pintar dengan ini. Saya tidak perlu untuk benar-benar mengubahnya satu halaman pada satu waktu. Aku bisa melakukan hal-hal seperti 2 pada waktu atau 4 pada suatu waktu. Tetapi bahkan itu tidak semua yang fundamental baik. Bahkan jika itu 2 pada suatu waktu, ya, semacam itu bergerak ini garis bawah sedikit, dan itu berarti bahwa dibutuhkan waktu kurang diberikan jumlah yang sama dari halaman. Tapi itu tidak fundamental baik. Tapi apa yang kita lakukan, dan apa yang kalian semua lakukan naluriah? Anda benar-benar mencapai sesuatu yang kecil seperti ini, waktu logaritmik, dimana masalah tersebut dapat tumbuh dan berkembang dan tumbuh tetapi biaya pemecahan masalah itu, waktu diperlukan untuk memecahkan masalah itu, tidak tumbuh hampir sama cepat. Ini akan menjadi kurva logaritmik, log n, dimana n adalah hanya ukuran masalah, jumlah halaman dalam buku telepon. Dan apa artinya ini secara riil? Nah, jika kita punya seperti 500 orang di ruangan ini sekarang, atau lebih tepatnya, jika kita memiliki - metafora pencampuran, tidak melakukan contoh yang belum tahun ini - jadi jika kita memiliki 500 halaman dalam buku telepon dan kami dua kali lipat untuk 1.000, dalam model yang lebih cerdas membalik ke tengah, berapa banyak air mata lebih halaman yang dibutuhkan untuk pergi dari 500 halaman untuk 1.000? Nah, hanya satu air mata halaman tambahan. Jika Anda menyodorkan buku telepon 2.000 halaman, bukan masalah besar. Aku hanya merobeknya satu waktu tambahan. Jadi singkatnya, ukuran masalah dapat tumbuh lebih cepat daripada biaya sebenarnya memecahkannya. Sekarang ini hanyalah salah satu algoritma tersebut. Ada orang lain yang kita dapat memecahkan dengan cara yang sama. Dan jadi mengapa tidak kita lakukan ini? Jika Anda akan humor saya, meskipun canggung di sini di Sanders, pergi depan, semua orang, jika Anda bisa dan berdiri di tempat. Seperti yang Anda lihat pada layar di sini, ini adalah suatu algoritma, suatu Proses, sebuah program komputer jika Anda mau, yang harus dijalankan oleh manusia yang memiliki hanya 3 langkah. Kita sudah pada langkah 1. Anda sudah berdiri. Dan sekarang berpikir untuk diri sendiri nomor 1. Itu adalah nomor Anda saat ini. Semua orang di sini adalah nomor 1. Langkah 2, berpasangan dengan seseorang berdiri, menambahkan nomor Anda bersama-sama, dan kemudian mengadopsi jumlah sebagai nomor baru Anda. Salah satu dari kalian harus duduk, kemudian ulangi. SPEAKER 1: 205. DAVID J. Malan: Apa itu? SPEAKER 1: 205. DAVID J. Malan: OK. SPEAKER 2: Dia memiliki yang lain. DAVID J. Malan: 205? SPEAKER 3: Ya. DAVID J. Malan: OK. 3. SPEAKER 4: 400. SPEAKER 5: 5. 700. DAVID J. Malan: Baiklah. Pada titik ini, semakin sedikit orang yang harus berdiri. Ini adalah di mana ia mendapat lebih canggung. Seseorang di sini. Disini. Bagian terburuk adalah Anda juga harus sangat lisan lakukan aritmatika di depan ratusan Harvard undergrads. OK. Sedikit bug di sini. Oke. Berapa nomor Anda? SPEAKER 6: Sembilan. DAVID J. Malan: Apa itu? SPEAKER 6: Sembilan. DAVID J. Malan: Sembilan. Oke. Berapa nomor Anda? SPEAKER 7: 179. DAVID J. Malan: 179? Oke. Baik. Jadi 188. Jadi kalian bisa duduk. Berapa nomor Anda? SPEAKER 8: 118. DAVID J. Malan: 118. Beberapa undergrad pintar mulai melakukan matematika. Oke. 118, 188. Apa lagi yang kita punya? SPEAKER 9: 71. DAVID J. Malan: 71. SPEAKER 10: 79. DAVID J. Malan: 79. Oke. SPEAKER 11: 47. DAVID J. Malan: 47. Yang, staf pengajar, yang memberi kita berapa banyak? 705 adalah jawabannya. Dan itu, pada kenyataannya, persis benar. Tidak, kami benar-benar sedikit dari sana. Tapi bagaimana seharusnya ini telah bekerja? Apa yang seharusnya hanya terjadi? Jadi, pada setiap iterasi dari algoritma ini, kami mulai dengan beberapa jumlah orang berdiri, dan itu adalah total jumlah n pada awalnya. Kemudian setengah dari Anda duduk, dan kami pergi ke n lebih dari 2. Kemudian setengah dari Anda duduk. Kami pergi ke n lebih dari 4, n lebih dari 8, n lebih dari 16, dan sebagainya, sampai, meskipun jenis hancur ada di end, dalam teori, setiap orang telah berpasangan di balkon dan mezzanine dan orkestra di sini, kita akan memiliki hanya satu satunya orang yang berdiri dengan total nilai, dalam hal ini, dari 705. Sekarang, apa artinya, meskipun, untuk waktu berjalan? Nah pikirkan jika saya sebagai manusia yang telah melakukan ini secara manual. Saya akan mulai cukup naif tapi benar dengan 1, 2, 3, 4, 5, 6, 7, 8, dan sebagainya. Membawa beberapa waktu. Jadi saya bisa berbuat lebih baik, kan? Di sekolah dasar, Anda tidak hanya mengandalkan pada orang-orang. Anda menghitung dalam berpasangan. Jadi 2, 4, 6, 8, 10, 12. Dan itu akan jauh lebih cepat. Tapi sekarang mendasar, dengan memanfaatkan kolektif kecerdasan semua orang di ruangan ini, kita dapat mencapai mengekang lebih seperti ini, dimana sekarang jumlah tersebut orang-orang di ruangan ini bisa dua kali lipat. Lain 700 orang berjalan ke ruangan ini untuk 1.400 orang, tapi itu hanya akan membawa kita satu iterasi lebih dari ini algoritma untuk memecahkan. Dan sebagainya, semakin hari ini, ketika kita memiliki besar Data set di Facebook dan Google dan sejenisnya, itu memecahkan masalah dengan sedikit wawasan, ini sedikit kepandaian, yang memungkinkan kita untuk semakin berbuat banyak, banyak lebih kuat hal dengan komputer hari ini. Jika Anda menyukai hal-hal seperti, Anda mungkin telah melihat di Hari Puzzle sendiri Facebook CS50 yang datang Sabtu ini. Jika Anda ingin berpartisipasi dalam sesuatu seperti ini dimana Anda, dalam 2 atau 3 atau 4 tim dari 4, ingin memecahkan beberapa teka-teki seperti ini, Anda berdiri kesempatan untuk memenangkan hadiah luar biasa, di antaranya adalah Wii dan beberapa kartu hadiah atau barang curian Facebook lainnya. Sabtu ini, siang sampai 3:00 PM, pergi ke cs50.net/rsvp untuk seperti. Dan geser ini online jika Anda ingin bermain-main. Masalah tahun ini akan menjadi baru. Anda mungkin melihat di dalam kelas, juga, semua lebih kamera tahun ini. Jadi tidak hanya akan tentu saja akan difilmkan dengan cara biasa, CS50 juga dapat mengambil bagian dalam film dokumenter pada tinggi pendidikan yang melihat pengalaman transformatif bahwa seorang siswa dapat memiliki hari di sarjana program studi. Jadi ke arah ini, maka, tidak hanya akan kita akan syuting untuk itu, kita akan syuting juga untuk semakin kami penonton online, serta pada kesempatan penonton ini di sini. Jadi kami menyambut ke kelas tahun ini kami Harvard Perpanjangan Siswa sekolah, Graduate School of Design, Pendidikan, sekolah bisnis, Kennedy School, sekolah hukum, serta sejumlah mahasiswa dari Belmont, Lexington, Newton, dan sekolah Watertown tinggi. Selamat untuk Anda semua. Selain itu tahun ini, Anda mungkin pernah mendengar, Harvard dan MIT, dan sekarang Berkeley, telah menandatangani kolaboratif kemitraan, sebuah inisiatif yang disebut edx, yang merupakan inisiatif untuk membuka pendidikan untuk semua lebih orang online dan fundamental mulai melakukan Penelitian pada skala yang lebih luas tentang bagaimana orang belajar. Dan begitu CS50 akan menjadi program pertama perguruan tinggi berpartisipasi dalam inisiatif itu juga. Yang berarti Anda akan memiliki akses ke semua alat yang lebih, semua konten yang lebih kurikuler, semua video lebih konten sebagai hasilnya, juga, seperti pagi kemarin, 53.019 orang yang telah terdaftar untuk mengambil CS50 bersama dengan Anda tahun ini di Internet. Jadi tanpa - [Tepuk Tangan] Jadi apa artinya ini, khususnya, adalah bahwa staf pengajar dan saya telah menghabiskan cukup banyak waktu ini panas mempersiapkan untuk musim gugur, baik di kampus dan off, sehingga bahwa kita dapat mulai membangun sebuah korpus menarik, dari menarik, terlibat konten pendidikan yang berfokus, khususnya, pada alat angkut intim lebih cukup kompleks materi. Jadi selain kuliah kursus dan bagian dan hal yang disebut walkthrough, yang kita akan kembali hanya dalam bit, kita juga akan memiliki celana pendek ini tahun ini yang memungkinkan Anda untuk terlibat dengan kursus dari sudut yang berbeda sama sekali. Jadi mari kita gunakan ini sebagai kesempatan untuk mengambil cepat mengintip salah satu yang membahas gagasan binari. Jadi dalam ilmu komputer, ada hal-hal yang disebut algoritma - dua di antaranya kami hanya mengambil melihat - prosedur untuk memecahkan masalah. Tetapi pada akhir hari, Anda perlu merupakan informasi yang entah bagaimana. Dan Anda perlu untuk mewakili dalam cara yang komputer dapat mengerti. Dan bahkan jika Anda tidak benar-benar memahami komputer dan Anda berada dalam 76% sekarang, Anda mungkin memiliki beberapa samar-samar arti bahwa komputer entah bagaimana berurusan dengan 0s dan 1s, biner sistem, sehingga untuk berbicara. Sekarang mengapa adalah bahwa kasus ini? Nah, ternyata ketika komputer pertama kali muncul, jika Anda perlu untuk mewakili informasi, Anda bisa melakukannya dengan listrik. Dan meskipun ini adalah sedikit terlalu menyederhanakan, sangat cara mudah merekam informasi yang baik dengan mengubah listrik yang on - 1 dalam biner, sehingga untuk berbicara - atau mengubah bahwa listrik off. Jadi, jika Barry, jika Anda tidak keberatan, bisa kita meredupkan lampu sepenuhnya untuk sesaat? Ini di sini adalah 0 biner yang sangat beralasan. Jika kita menyalakan lampu kembali, sekarang Sanders Theatre mewakili nilai biner 1. Sayangnya, dengan hanya satu bit, hanya dengan satu set lampu, kita hanya dapat mewakili dua angka di dunia, 0 dan 1. Dan itu akan sangat baik jika komputer bisa menghitung sedikit lebih tinggi dari itu. Tapi memang mereka bisa. Jadi biarkan aku menarik di layar di sini teman kita Nate Hardison yang akan memberi kita sekilas selama hanya beberapa menit ini gagasan biner. [PEMUTARAN VIDEO] NATE Hardison: Kembali ketika Anda belajar cara membaca dan menulis nomor, Anda belajar tentang angka 0 sampai 9. Untuk menulis bilangan bulat lebih besar dari 9, Anda belajar bahwa semua Anda harus lakukan adalah menggunakan beberapa kombinasi dari digit, seperti di 52 dan 437. Jadi, ini cara penulisan angka memiliki Nama notasi, desimal. Kenapa desimal? Nah, akar Latin desimal, Desem, berarti 10. Dan ketika Anda memiliki 10 digit dalam sistem notasi Anda, 10 menjadi nomor agak khusus. Mari kita lihat angka 437 ditulis dalam notasi desimal ke mengerti mengapa. Pertama-tama kita dapat memecah 437 menjadi 400 ditambah 30 ditambah 7. Kita bisa mengambilnya terpisah bahkan lebih sehingga kita punya 4 kali 100 ditambah 3 kali 10 ditambah 7 kali 1. Ingat belajar tentang tempat yang, tempat puluhan, tempat ratusan, dan seterusnya? Ini adalah persis di mana itu berasal. Dan akhirnya, kita dapat melihat kami punya banyak kekuatan dari 10 tertanam di sini. Kami punya 4 kali 10 ke 2 ditambah 3 kali 10 ke 1 ditambah 7 kali 10 ke 0. Jadi sekarang Anda melihat mengapa 10 adalah khusus jumlah notasi desimal. Pada kenyataannya, kita punya nama untuk itu. Ini disebut dasar karena itu dasar dari eksponen dalam aritmatika kami di sini. Notasi desimal bukanlah satu-satunya cara untuk mewakili angka. Pada kenyataannya, bahkan jika kita menyingkirkan angka 2 sampai 9, kita bisa masih mewakili semua angka-angka yang kita bisa dengan desimal. Jadi sekarang kita memiliki dua digit, 0 dan 1, 2 adalah khusus kami nomor, dasar sistem notasi kami. Nama sistem notasi disebut biner sejak awalan "bi" berarti 2. Jadi, bukannya sekarang memiliki tempat yang dan tempat puluhan dan seterusnya, kita sekarang memiliki tempat yang, tempat berpasangan, yang merangkak Tempat, dan seterusnya, naik oleh kekuatan dari 2. Jadi mari kita lihat ini dengan melakukan penghitungan beberapa. Jadi, masih 0 0, dan 1 masih 1. Namun, sekarang kita punya tempat berpasangan bukan puluhan Tempat, 10 merupakan nomor 2. Untuk mendapatkan 3, kita menambahkan satu itu dan mendapatkan 11. 4, karena sekarang ada tempat merangkak, adalah diwakili oleh 100. Lima adalah 101. 6 adalah 110. 7 adalah 111. 8, sekali lagi, memiliki tempat tersendiri. Jadi 1000. Dan saya pikir Anda mendapatkan titik. [END PEMUTARAN VIDEO] DAVID J. Malan: Jadi, ini adalah untuk mengatakan, apa yang dilakukan dan komputer apa biner yang sebenarnya tidak berbeda dari apa yang kami telah mengambil begitu saja selama beberapa tahun, kan? Menurutmu sekolah dasar, Anda belajar untuk menghitung secara tepat fashion yang Nate diusulkan. Tapi Anda mungkin belum benar-benar berpikir tentang hal itu sejak, fakta bahwa ada tempat yang, tempat puluhan, dan ratusan tempat. Dan itu cukup sewenang-wenang. Dan memang, komputer ini hanya menggunakan dasar yang berbeda. Tetapi pada akhir hari, untuk benar-benar secara fisik mewakili gagasan dari 0 dan 1, Anda jelas tidak hanya mengubah lampu dan mematikan tentu. Anda perlu melakukannya pada skala yang lebih halus-grained banyak. Dan dengan halus-grained, Anda mungkin ingat ini konyol kecil mainan dari masa kanak-kanak, Willy Woolly dan ini sedikit magnetik partikel. Jadi partikel magnetik adalah sesuatu yang Anda dapat menyelaraskan dalam beberapa arah yang berbeda, mungkin utara-selatan atau selatan-utara. Dan begitu banyak inkarnasi fisik teknologi hari ini yang menggunakan biner, yang menggunakan 0s dan 1s, hanya memiliki magnet di bagian dalam hal-hal yang sejalan, up-down atau down-up, dengan demikian mewakili 0 atau 1, masing. Jadi memang, mari kita pindah dari sini dan abstrak melihat bagian dalam apa yang lebih tradisional komputer hard drive. Ini terjadi menjadi sedikit lebih besar di layar di bahwa itu dari komputer desktop. Tapi laptop saat ini masih memiliki teknologi yang sama, tetapi bertahap digantikan oleh hal-hal yang lebih canggih yang telah benar-benar tidak ada bagian yang bergerak. Bagian dalamnya, kemudian, dari sebuah hard drive. [PEMUTARAN VIDEO] SPEAKER 12: Hard drive adalah tempat PC Anda menyimpan sebagian besar Data tetapnya. Untuk melakukan itu, data perjalanan dari RAM bersama dengan perangkat lunak sinyal yang memberitahu hard drive bagaimana untuk menyimpan data. Sirkuit hard drive menerjemahkan sinyal tersebut ke dalam tegangan fluktuasi. Ini pada gilirannya mengontrol bagian hard drive bergerak, beberapa bergerak beberapa bagian yang tersisa di komputer modern. Beberapa sinyal mengendalikan motor yang berputar logam berlapis piring-piring. Data Anda sebenarnya disimpan pada piring-piring. Sinyal lain memindahkan kepala baca-tulis untuk membaca atau menulis data pada piring-piring. Mesin ini sangat tepat bahwa rambut manusia tidak bisa bahkan melewati antara kepala dan piring-piring berputar. Namun semuanya bekerja pada kecepatan yang hebat. [END PEMUTARAN VIDEO] DAVID J. Malan: Jadi, jika sekarang kita memperbesar pada apa yang sebenarnya terjadi di atas piring-piring dalam hal magnet, kita memiliki kedua dari dua penampilan. [PEMUTARAN VIDEO] SPEAKER 13: Mari kita melihat apa yang kita lihat di gerak lambat. Ketika pulsa singkat listrik dikirim ke baca-tulis kepala, membalik pada elektromagnet kecil untuk sepersekian detik. Magnet menciptakan medan yang mengubah polaritas a, sebagian kecil kecil dari partikel logam yang melapisi setiap permukaan piring ini. Serangkaian pola ini kecil dibebankan sampai daerah pada disk mewakili satu bit data dalam bilangan biner sistem yang digunakan oleh komputer. Sekarang, jika arus yang dikirim salah satu cara melalui baca-tulis kepala, daerah terpolarisasi dalam satu arah. Jika saat ini diatur dalam arah yang berlawanan, yang polarisasi terbalik. Bagaimana Anda mendapatkan data dari hard disk? Hanya membalikkan proses. Jadi partikel pada disk yang mendapatkan arus dalam kepala baca-tulis bergerak. Mengumpulkan jutaan segmen magnet dan Anda sudah mendapat file. Sekarang, potongan-potongan dari satu file dapat tersebar di seluruh sebuah drive piring, jenis seperti kekacauan kertas di meja Anda. Jadi file tambahan khusus melacak di mana semuanya. Jangan Anda berharap Anda memiliki sesuatu seperti itu? [END PEMUTARAN VIDEO] DAVID J. Malan: Memang. Jadi, kita memiliki kemampuan untuk mewakili informasi, nomor pada tingkat yang sangat rendah. Kami memiliki cara fisik mewakili hal yang sama. Tapi kita tidak bisa benar-benar melakukan semua yang banyak bunga belum selain mungkin beberapa aritmatika dan matematika. Kami tidak memiliki cara untuk mewakili hal-hal sejauh ini seperti huruf abjad sehingga kita manusia dapat berkomunikasi menggunakan perangkat yang sama. Tapi untungnya terdapat pengkodean, pola 0s dan 1s, yang mewakili konstruksi tingkat yang lebih tinggi seperti a dan b dan c dan seluruh kalimat dan paragraf dan sejenisnya. Dan begitu ASCII, yang merupakan akronim yang merujuk pada ini coding sistem dimana nomor merupakan surat yang diberikan. Misalnya, jumlah yang kita kenal sebagai nilai desimal 65 adalah dikenal sebagai huruf A ke komputer. Nilai desimal dari 97 di komputer dikenal sebagai huruf kecil a. Dan apa yang benar-benar berarti? Nah, meskipun Nate sesaat lalu hanya dihitung sampai dari 0 sampai 8, jika kita terus menghitung sampai 65 atau lebih lanjut untuk 97, pola 0s dan 1s bahwa ia akan memiliki digambar di layar akan persis apa komputer menggunakan untuk mewakili huruf A dalam semua topi atau surat dalam huruf kecil. Dan memang, ada skema keseluruhan untuk ini. Ini adalah, pada pandangan pertama, grafik yang luar biasa dari pengkodean, tetapi jika Anda berfokus hanya pada setengah di sini, perhatikan di kolom tengah kita memiliki pengertian nomor diikuti oleh huruf. Dan di atas kita punya 32. Dan karakter, char, yang 32, integer, mengacu ternyata karakter Space Bar. Ketika anda menekan karakter Space Bar pada laptop Anda, baik, apa yang Anda benar-benar mengirimkan adalah angka, pola 0s dan 1s, aliran listrik jika Anda mau, mewakili orang-orang komputer yang 0s dan 1s kemudian menafsirkan sebagai karakter ruang pada layar. Tanda seru adalah 33. Tanda kutip ganda adalah 34. Dan jika kita scroll ke bawah sini ke kanan, kita melihat bahwa 65 memang A, dan 97 memang huruf kecil a. Dan jadi sekarang bahwa kita memiliki skema encoding, kita bisa mulai mengeja hal-hal. Memang, komputer biasanya mengekspresikan diri dalam standar unit, tidak menggunakan sedikit individu, yang lagi tidak semua yang berguna untuk hanya mewakili 0 atau 1, lampu atau mematikan, namun bukan menggunakan urutan bit. Dan unit yang paling umum dari ukuran, karena Anda mungkin tahu dan atau setidaknya disimpulkan, adalah byte. Byte adalah hanya delapan bit, delapan 0s atau 1s berturut-turut. Jadi kita dapat mulai mengeja hal-hal. Dan jadi, jika kita bisa, mengapa tidak mencoba ini sedikit kolektif di sini. Apakah ada delapan orang di ruangan ini yang akan bersedia untuk muncul di atas panggung? Anda harus nyaman muncul pada kamera, tetapi Anda tidak benar-benar perlu tahu, jika tidak, apa terjadi dulu. Saya melihat satu orang yang sukarela di sini. Dua, tiga, empat, lima, enam, tujuh, dan bagaimana delapan. Ayo up. Jadi Anda akan mewakili byte orang. Biarkan saya telah Anda menjadi tempat 128, Anda tempat 64, Anda 32 place. Tapi kami gonna sangat cepat harus membalikkan ini. Jadi biarkan aku bertemu Anda semua di sana. Dan Anda harus berada di tempat 128 ini semua jalan di sini. Sama seperti tempat ratusan dan ribuan tempat akan lebih jauh ke kiri, kita ingin placeholder terbesar berada di sini di sebelah kiri juga. Kami memiliki 32 64s s, 16 's, 8, 4, 2, dan 1 s. Sangat baik. Jadi sekarang kita punya - OK, Anda dapat membantu saya. Jadi sekarang kita memiliki - siapa namamu? JOANNE: Joanne. DAVID J. Malan: Joanne. Jadi Joanne dan saya sekarang akan menyarankan orang-orang tentang bagaimana kita bisa pergi tentang mengeja sesuatu. Jadi di punggung mereka lembaran kertas, mereka memiliki menipu sedikit sheet yang akan memberitahu mereka apakah mereka mewakili 0 atau 1. Dan kenapa tidak untuk kesederhanaan, kita akan mewakili 0 dengan hanya canggung berdiri di sana. Sangat baik. Atau 1 dengan mengangkat tangan Anda, mewakili 1. Dan mari kita lihat apakah kita tidak bisa mengeja karakter empat frase sini. Jadi, silakan sekarang, relawan, dan melaksanakan satu putaran oleh mengangkat tangan Anda jika Anda seorang 1 atau menyimpannya turun jika Anda 0. Jadi, sekarang kita memiliki tiga tangan atas, apa nomor, orang lain, yang mereka benar-benar mewakili? OK. 67. Kenapa? Nah, kewarasan cepat memeriksa. Tempat 64, karena itu 1, itu seperti 1 kali 64 ditambah 1 2 kali, jadi itu 66 ditambah 1 kali 1. Itu ditambah 1, sehingga 67. Jadi sekarang orang-orang ini secara kolektif mewakili 67 yang tampaknya mewakili apa di sini di ASCII? OK. Jadi c a. Baiklah. Jadi sekarang mari kita lanjutkan ke putaran dua. Semua orang mulai dengan tangan mereka turun. Dan di babak kedua - sebenarnya tidak ada banyak peran di sini, saya kira, tapi kita akan berpura-pura. Jadi putaran dua, menaikkan atau menurunkan tangan Anda. Baiklah. Pemirsa, apa yang sekarang kita mengekspresikan adalah 83. Jadi Anda bisa melakukan matematika. Tapi untuk siapa saja yang tangannya sudah habis, Anda menambahkan dalam jumlah yang mereka wakili. Jadi sekarang kita punya 83. Mari kita memperluas contekan sedikit, dan sekarang kami memiliki -? [Tak terdengar] DAVID J. Malan: OK. Ini mungkin jelas di mana kita akan di sini, tapi Meskipun demikian, putaran tiga. OK. Putaran ketiga yang baik untuk pergi ke sana. Jadi putaran tiga, nomor berapa orang-orang sekarang mewakili? OK. Aku mendengar 53, yang sekarang mewakili? Menarik. Sekarang mengapa semacam ini hasil intuitif kontra, kan? Jika kita ingin mewakili 5 - kita semua mungkin tahu di mana ini akan - kenapa tidak saya hanya mengangkat tempat 4 dan 1 tempat itu? Nah, menyadari bahwa ada perbedaan, secara fundamental, antara bagaimana komputer menafsirkan bit-bit. Jika Anda mencoba untuk mewakili nomor 5, maka benar-benar, kita hanya mengangkat tangan 4 nomor dan meningkatkan jumlah tangan 1. Tapi kami tidak mewakili angka di sini. Konteks di sini di atas panggung adalah bahwa kita mewakili karakter, atau karakter. Dan dalam konteks ini komputer harus menyadari bahwa, oh, ini pola bit bukan angka saja, itu sebenarnya mewakili konsep tingkat yang lebih tinggi, dalam hal ini suatu abjad huruf. Jadi fakta bahwa sekarang mewakili nomor 5 dengan nilai 53 adalah karena dalam hal ASCII kita estetis lihat sebagai nomor 5 itu sendiri membutuhkan pola bit. Karena kenapa? Nah, dunia hanya memutuskan untuk menggunakan angka yang lebih rendah, 0, 1, 2, untuk apa melihat ke hal-hal yang cukup samar, 3. Dan memang, ini adalah karakter yang tidak pada keyboard, khusus ekspresi yang Anda butuhkan dalam komputer untuk melakukan hal-hal menarik, tapi manusia tidak pernah sebenarnya mengetiknya. Jadi memang mewakili 53 5. Sekarang, hanya sebagai cek kewarasan akhir, nomor berapa yang harus mereka mewakili hanya dalam beberapa saat? HADIRIN: 48. DAVID J. Malan: OK. Jadi 48. Dan memang, pergi ke depan. Putaran empat. 16 ditambah 32 adalah, memang, 48. Dan sehingga tepuk tangan meriah, jika kita bisa, untuk kita delapan relawan di sini. Terima kasih. Anda dapat menyimpan satu ini. Jika Anda - Sangat baik dilakukan. Segala arah baik-baik saja. Jadi, kita sekarang memiliki cara tidak hanya berpikir tentang bagaimana merepresentasikan data dan benar-benar mewakili secara fisik, tetapi juga melakukan hal-hal yang lebih tinggi tingkat di atasnya. Memang, ini akan menjadi tema di seluruh komputer ilmu bangunan yang lebih kompleks dan lebih menarik hal di atas ide-ide yang cukup sederhana, dalam hal ini Kasus hanya 0s dan 1s. Dalam hal mengapa hal ini berguna, baik meskipun dalam Tentu saja seperti ini kita akan fokus pada fundamental dan pemrograman dan pemecahan masalah, Anda bisa pergi di ilmu komputer di sejumlah arah. Dalam hal ini di sini, ini adalah tabel yang Anda miliki di kembali halaman panduan tidak resmi Anda ke CS di Harvard, salah satu dari hari ini dua cetakan. Ini menunjukkan banyak arah yang berbeda di mana Anda dapat pergi setelah kursus seperti ini. Belajar tentang kecerdasan buatan, tentang grafis, tentang pembelajaran mesin, tentang bahasa itu sendiri. Sadarilah juga bahwa ada jalan lain lagi. Ada jalan yang lebih matematika dalam ilmu komputer. Jika Anda bahkan tidak mampu mengambil sesuatu seperti ini CS50 jatuh, ada kursus pengantar di musim semi. Komputer Ilmu 1, misalnya, adalah satu lagi on-jalan ke dunia baru. Sekarang sebagai samping untuk kepentingan pemecahan masalah berkaitan dengan kursus, menyadari bahwa CS50 set keluar beberapa waktu lalu mencoba untuk memecahkan salah satu masalah, masalah yang dikenal sebagai my.harvard, yang banyak dari Anda mungkin menggunakan untuk benar-benar berbelanja untuk kursus. Tapi jika tidak, periksa alat seperti ini, serta lainnya keturunan bahwa beberapa mantan siswa kami dan staf telah dibuat. Namun dalam Program Harvard, yang merupakan alat berbasis web - sesuatu yang Anda akan mampu merancang dan penggelaran diri, serta belum hal lain juga, oleh akhir semester. Sadarilah bahwa ini dibangun berdasarkan suatu set data yang terbuka, dalam hal ini katalog saja, dan memungkinkan siswa dalam hal ini untuk menjelajahi satu set data yang cukup kompleks. Kami menggali tadi malam beberapa statistik berdasarkan beberapa ribu orang-orang yang telah menggunakan ini selama beberapa hari terakhir. Jika Anda sudah penasaran ingin tahu berapa banyak kursus teman Anda sebenarnya cenderung untuk berbelanja, baik, saat itu data menunjukkan bahwa 7,6 adalah jumlah rata-rata kursus tentang seseorang daftar belanja. Dan sekarang saya akan memberi Anda, juga, statistik yang paling jumlah program dalam daftar belanja seseorang. Dan kita semua mungkin tahu seseorang seperti ini. 201 adalah rekor tahun ini. Sekarang beberapa mantan siswa dan staf benar-benar menyusun klip untuk melukis gambar untuk Anda tentang apa ini jalan ilmu komputer dan CS50 sendiri. Biarkan aku pergi ke depan dan menarik, berkat Pak Hahvahd sini, video yang dihasilkan oleh beberapa pendahulu Anda. Jika kita bisa menjaga lampu untuk ini. [PEMUTARAN VIDEO] [END PEMUTARAN VIDEO] SPEAKER 14: (Menyanyi) Kami mengambil waktu kita dengan beberapa goresan, untuk loop, peristiwa, kita bisa cocok, kompilasi menggunakan kami bash, istilah ini tidak akan membosankan. Hacking menyenangkan, beberapa makanan gratis, kuliah hanya nyata, adil kita adalah masalah besar, ada begitu banyak untuk memuja. Pergi, David Malan. Walkthrough, aku tidak menyerah. Jam kantor, tidak ada yang gagal. Di mana Anda pikir Anda coding, bayi? Hei, aku hanya bertemu Anda dan ini gila, tapi inilah alasan kami. Ambil CS50. Sulit ke kanan kode tanpa Anda, bayi. Tapi inilah alasan kami. Ambil CS50. Hei, aku hanya bertemu Anda dan ini gila, tapi inilah alasan kami. Ambil CS50. Dan setiap perusahaan bintang ingin mempekerjakan saya, alasan lain. Ambil CS50. Sebelum Anda datang ke dalam hidup saya, saya kode begitu buruk, saya kode sehingga buruk, saya kode sangat, sangat buruk. Sebelum Anda datang ke dalam hidup saya, saya kode begitu buruk dan saya tidak bisa kembali. Ambil CS50. DAVID J. Malan: Saya tidak tahu yang akan terjadi. Jadi, tampilan yang lebih serius pada apa yang ada di depan. Jadi dalam hal harapan dari program ini, Anda memang diharapkan hadir atau menonton program ini kuliah, mengirimkan sejumlah masalah, mengambil dua kuis, kirimkan proyek akhir. Dalam hal nilai, menyadari bahwa saya komentar pada pembukaan tentang lulus / gagal, sesuatu yang kami sangat dibutuhkan untuk jantung pada CS50. Ada hampir tidak cukup budaya di Harvard mencoba sesuatu dan mempertaruhkan kegagalan. Memang, kami memiliki jumlah siswa, dan saya sendiri, di tertentu, yang khawatir menyakiti Anda IPK atau mendapatkan B dalam sesuatu seperti CS50. Dan kesempatan untuk mengambil kursus seperti ini, dan lainnya gerbang kursus di tingkat pengantar, lulus / gagal adalah kesempatan yang sangat kurang dimanfaatkan di perguruan tinggi ini, secara umum. Dan jadi silakan tahu bahkan saya mendaftarkan diri dalam kursus ini awalnya untuk lulus / gagal kredit saja. Dan meskipun aku beralih pada akhir hari, itu kelima awal minggu, hingga Senin kelima dari semester yang merupakan cutoff, yang memungkinkan saya untuk benar-benar menempatkan kaki ke perairan ini baru dan benar-benar mencoba sesuatu sangat asing dan sangat tidak nyaman bagi saya pada saat itu. Jadi dalam hal, sekarang, apa peran berbagai sudut melalui mana Anda dapat mendekati kursus ini melayani, sehingga kuliah, terserah Anda jika Anda terlibat dengan kami secara pribadi di tempat ini. Memang, kita tahu statistik bahwa sekitar 40% dari Anda akan jenis datang dan pergi selama semester. Dan 10% dari Anda, kita tidak akan pernah melihat lagi setelah hari ini. Dan itu baik-baik saja, harus jujur. Salah satu karakteristik mendefinisikan CS50 adalah bahwa ada sumber daya yang tak terhitung, beberapa yang kita akan melalui mainan hanya dalam beberapa saat, termasuk kuliah dan bagian, dan hal yang disebut walkthrough dan kantor jam dan sejenisnya. Dan sumber daya lebih dari siswa yang khas harus harus secara fisik atau bisa mengambil keuntungan dari. Tapi itu karena gaya belajar yang berbeda yang setiap tubuh siswa memanifestasikan. Dan sehingga dalam kuliah, peran utama, seperti yang saya lihat, adalah tidak secara verbal mendorong keluar materi yang cukup kompleks dan selalu memberikan semua seluk-beluk fundamental bahwa kita akan mengeksplorasi semester ini, namun lebih untuk melakukan hal-hal seperti yang telah kami lakukan sejauh ini sudah, contoh-contoh ini, yang melibatkan manusia panggung, berusaha melukiskan gambaran mental, dan juga membuat, saya berani mengatakan, beberapa dari saat-saat kenangan. Sehingga bahkan saat Anda berjuang dengan topik tertentu, Anda harus kenangan ini seperti, oh, meskipun itu cukup abstrak, matematika, aku tersesat dengan membawa 1, seperti itu benar, pada akhir hari, tidak semua yang berbeda dengan sesuatu yang saya sudah tahu. Dan sehingga peran yang kuliah akan melayani, baik secara pribadi di sini di Sanders atau online di video, benar-benar untuk mengatur tahap mental untuk Anda setiap minggu untuk berbagai konsep dan masalah yang kita akan menyelam ke dalam. Dalam hal tingkat tinggi konsep, sebagian besar dari kata-kata mungkin mengalir di atas kepala Anda untuk saat ini, dan itu baik-baik saja. Bagi Anda yang datang ke kursus lebih nyaman akan tahu dari beberapa topik. Tapi biasanya untuk yang 10% dari kelas yang mereka miliki latar belakang lebih banyak, mengambil AP ilmu komputer, pemrograman karena mereka 12, menyadari bahwa akan ada peluang di bagian dalam masalah dan set untuk pergi semua lebih ke kedalaman ke berbagai topik, mengisi apapun kesenjangan yang mungkin Anda miliki dari sekolah tinggi atau sebelum latar belakang. Dalam hal bahasa, menyadari bahwa bahasa apa yang kita digunakan dalam CS50 sangat tidak relevan di akhir hari. Kami kebetulan menggunakan, terutama, bahasa yang disebut C. Menjelang akhir semester, kami memperkenalkan web-sentris bahasa seperti PHP dan JavaScript. Tapi kita dan orang lain bisa mengajar kursus seperti ini di hampir semua modern yang bahasa tingkat tinggi. Python dan Ruby dan lain-lain yang cukup populer hari ini. Karena menyadari pada akhir hari, Anda tidak belajar dalam C. Tentu saja Anda tidak belajar PHP atau JavaScript. Anda belajar bagaimana untuk memecahkan masalah, baik berbasis web, berbasis komputer, atau data-berorientasi sendiri, dengan menggunakan ini hanya sebagai alat. Sekarang, dalam hal logistik, Anda akan menggunakan sesuatu, pada akhirnya, yang disebut Appliance CS50. Tidak masalah jika Anda memiliki Mac, PC, sebuah komputer Linux, atau sejenisnya. Anda akan memiliki perangkat lunak bebas tersedia mulai minggu depan yang dapat digunakan untuk menggunakan Appliance CS50, virtual lingkungan yang akan Anda gunakan di komputer Anda sendiri sehingga Anda dan semua teman sekelas Anda memiliki desktop Linux seragam dalam kasus ini. Ini adalah set masalah, meskipun, di mana Anda benar-benar akan mendapatkan tangan Anda kotor dalam kursus. Dan pada akhir hari, itu adalah set masalah, saya berpikir, yang benar-benar menentukan siswa pengalaman dalam kursus ini. Sadarilah bahwa banyak masalah set akan dirilis dalam dua edisi, tambahan standar yang kita harapkan dan mendorong 90% dari kelas untuk menyelam ke dalam. Tapi kami juga merilis beberapa set masalah dalam disebut penambahan hacker. Dan kau tahu itu penambahan hacker karena pada setiap halaman dengan watermark itu mengatakan hacker Selain di atasnya. Dan itu untuk demografis Anda yang memiliki AP ilmu komputer dengan 10 tahun pemrograman di bawah ikat pinggang Anda dan mencari untuk mengisi kesenjangan tersebut dan memiliki lebih formal, daripada otodidak, pelatihan, mungkin. Sadarilah bahwa ada demografis yang sangat substansial dalam kelas yang memiliki tujuan yang sama justru. Anda akan memiliki lima hari terlambat. Soal set umumnya jatuh tempo pada hari Kamis, tetapi Anda dapat memperpanjang tenggat waktu lima dari mereka menggunakan hal yang disebut hari terlambat. Dan kita juga akan drop skor Anda terendah pada akhir semester per hal khusus dalam silabus. Tapi lain ciri khas CS50 atas bertahun-tahun telah menjadi jam kantor. Ini kesempatan yang Anda lihat secara visual dalam foto sedikit lalu di mana kita berkumpul - sebelumnya di rumah makan ruang, sebelum itu di ruang bawah tanah Ilmu Pusat, dan tahun ini di Annenberg Hall - empat malam a Minggu 20:00-11:00 di mana Anda akan memiliki ini sangat banyak berbagi pengalaman bekerja, berjuang melalui, masalah-masalah tertentu, tetapi dengan dukungan substansial struktur di tempat. Memang, cara ini akan bekerja adalah Anda akan tiba di Annenberg jika Anda memiliki beberapa pertanyaan selama seminggu, Anda akan membawa laptop Anda, Anda akan duduk, ambil beberapa makanan, dan Anda akan login ke CS50 Bahas, sebuah utilitas berbasis web yang mengajar Staf telah dikembangkan yang akan memungkinkan Anda untuk mengirim pertanyaan dan melihat tindak lanjut dalam forum diskusi yang khas akal, dengan menggunakan label dan sejenisnya dan auto lengkap untuk mencari data. Tapi Anda juga bisa, selama jam kantor jam, pertanyaan Anda telah meningkat ke manusia yang sebenarnya. Memang, tujuan akhirnya adalah agar salah satu, kita mulai membangun up selama semester korpus mudah-mudahan benar-benar berguna informasi, jawaban umum untuk umum pertanyaan, sehingga Anda sendiri dapat memecahkan masalah dan melepaskan diri secepat mungkin, tetapi sementara memiliki staf pengajar, biasanya 20 sampai 30 dari rekan-rekan mengajar dan Tentu saja asisten, staf sekaligus. Kami akan memiliki apa yang disebut Greeter CS50 di Annenberg. Dan ketika kita menentukan bahwa, Anda tahu apa, pertanyaan ini, kita tidak bisa benar-benar menjawab secara efektif online. Kita perlu melihat komputer Anda. Kami ingin berbicara dengan Anda satu-satu. Di satu. Kau benar-benar berjuang dan Anda, karena itu, ingin bicara satu-satu bersama seseorang, Anda akan dikirim ke CS50 Greeter, holding rekan mengajar, secara harfiah, sebuah iPad yang memiliki nama siswa di satu sisi, mengajar staf nama di sisi lain. Kami akan mengklik nama Anda diikuti dengan nama staf pengajar, dan layar komputer Anda akan mulai silahkan berkedip mengatakan pergi melihat Alice atau silahkan pergi melihat Bob di meja guru. Dan sehingga dengan cara ini, kita akan dapat mengirimkan hal-hal sebagai seefisien mungkin, serta membimbing Anda menuju solusi semua lebih mudah. Pada bagian, ini akan menjadi peluang untuk lebih intim tangan-peluang dengan salah satu mengajar rekan dan 12 sampai 16 atau lebih dari teman sekelas Anda di yang setiap minggu kita akan memiliki masalah dalam sejumlah masalah yang meminta sejumlah pertanyaan konseptual dan jumlah bit berukuran pertanyaan pemrograman yang Anda bisa mencari tahu sendiri, dan Anda bisa bekerja pada Anda sendiri, tetapi dalam konteks bagian di mana kita bekerja melalui kolektif beberapa masalah tersebut dan pergi ke mana percakapan yang berbeda membawa kita. Selain itu, dalam bagian akan Anda memiliki kesempatan untuk meninjau kiriman pekerjaan rumah yang Anda buat, Anda teman sekelas, terkadang anonim, selalu melalui opt-in jika Anda ingin berbagi pekerjaan yang Anda telah disampaikan. Jadi itu benar-benar akan menjadi percakapan dua-arah, kesempatan untuk meninjau pekerjaan Anda sendiri dalam yang jauh lebih dinamis akal, daripada hanya melihat PDF atau printout dan berpikir tentang hal itu selama beberapa detik dan tidak tentu menyerap umpan balik bahwa ajaran Staf telah disediakan. Dan Anda akan menggunakan alat yang disebut di sini CS50 Spaces. Bagi mereka yang tidak terbiasa, ini adalah bahasa yang dikenal sebagai C di atas kiri, dan Anda akan mendapatkan untuk mengetahui ini dari waktu ke waktu. Tapi ini adalah utilitas berbasis web yang akan kami gunakan dalam bagian yang akan memungkinkan Anda dan Anda 15 atau jadi teman sekelas untuk login dengan sesama mengajar Anda di depan ruangan. Anda akan dapat menulis kode dalam jendela ini. Anda akan dapat chatting secara elektronik, jika Anda tidak sebenarnya pada bagian pada saat itu. Dan pengajaran Anda sesama, ketika tiba saatnya untuk membahas Alice atau Bob solusi di kelas, rekan mengajar dapat klik tombol dan voila, proyek ke layar, apapun mahasiswa yang telah bekerja pada saat itu tertentu titik waktu. Jadi bagi anda yang telah teman-teman yang telah mengambil CS50 di masa lalu, menyadari bahwa bagian telah secara signifikan reboot tahun ini menjadi semua lebih aktif, semua lebih dinamis, dan benar-benar percakapan dua arah antara pengajaran staf dan mahasiswa. Dan penelusuran. Jadi untuk ini set masalah, kami juga menawarkan tidak hanya spesifikasi itu sendiri, yang umumnya merupakan cukup rinci PDF, tetapi juga hal-hal yang dikenal sebagai walkthrough dimana salah satu anggota staf pengajar akan memimpin sebuah sesi mingguan yang benar-benar menuntun Anda melalui sejumlah masalah, memberikan Anda petunjuk dan nasihat dan titik awal dan dimaksudkan untuk meminta sangat sering diajukan pertanyaan, di mana saya mulai? Nah, Anda mulai baik dengan menyelam ke spec nya pada sendiri atau dengan menghadiri atau menonton ini Walkthroughs. Walkthrough pertama, pada kenyataannya, akan menjadi hari Jumat ini. Mereka akan pada hari Jumat, tidak begitu banyak karena kita pikir itu akan waktu populer tetapi karena kita kemudian dapat film mereka sangat awal dalam seminggu untuk mendapatkan mereka online dengan akhir pekan sehingga Anda memiliki sebagai hari sebanyak mungkin untuk benar-benar terlibat dalam konten juga. Tapi lebih pada bahwa dalam kuliah ini hari Jumat. Sekarang dalam hal struktur pendukung, yang paling statistik signifikan mungkin ajaran 108 rekan dan asisten saja bahwa ini Tentu saja saat ini memiliki. Jika beberapa dari Anda yang tidak memiliki kelas yang saling bertentangan ingin untuk bergabung dengan saya di sini di atas panggung, itu adalah orang-orang yang akan akhirnya benar-benar mendefinisikan pengalaman Anda dalam kursus. Saya punya banyak rekan-rekan mengajar saya mengajar kelas di hari, dan saya ingat sangat sedikit dari mereka terus terang. Tapi sampai saat ini, saya masih ingat beberapa di antara mereka, saya CS50 TF yang benar-benar membantu saya menjawab pertanyaan, yang benar-benar membantu saya ketika saya sedang berjuang, dan benar-benar adalah mitra dalam pengalaman belajar dunia yang sangat baru. Dalam sedikit, semua orang-orang ini akan bergabung dengan Anda di luar untuk kue, yang merupakan tradisi CS50, di transept dari Memorial Hall. Ijinkan saya untuk memperkenalkan Anda untuk Nate Hardison, sekali lagi, Rob Bowden, dan Tommy MacWilliam, ini Tentu saja tahun kepala. Jika kalian akan bergabung dengan saya di sini di tengah. Mereka semua telah menyiapkan beberapa komentar inspirasional. TOMMY MACWILLIAM: Saya tidak mempersiapkan apa-apa inspirasional. Tapi nama saya Tommy. Aku senior di Mather. Saya sedang belajar ilmu komputer. Saya sangat bersemangat untuk berada di tim lindung nilai dan pergi melalui perjalanan CS50 dengan Anda. Apa yang saya benar-benar mencintai tentang CS50 adalah bagaimana itu benar-benar mengajarkan Anda untuk berpikir tentang masalah dengan cara baru. Ini benar-benar merupakan keterampilan yang akan menjadi berharga tidak peduli bidang apa Anda pergi ke. Dan tidak hanya itu, tapi kami menawarkan lebih bebas daripada permen Tentu saja lain di kampus. Ya, dan jadi aku benar-benar melihat ke depan untuk melihat apa yang orang membangun semester ini. Dan jika seseorang memiliki pertanyaan sekarang atau seluruh semester, pasti merasa bebas untuk menjangkau saya dan Aku akan senang untuk membantu. ROB Bowden: Hi. Saya Rob Bowden. Aku senior di Kirkland. Ya, itu benar. Kita semua benar-benar bersemangat untuk semester berikutnya. Kami berharap Anda semua bersemangat. Aku tidak mengharapkan itu. Ya. Jadi kita menempatkan begitu banyak usaha untuk membuat ini benar-benar hebat semester. Dan selama Anda bersedia untuk dimasukkan ke dalam upaya, ada begitu banyak Anda bisa keluar dari kursus ini. Ah, kami - ya. Anda bisa mendapatkan banyak menyenangkan keluar dari kursus ini. Kami tidak akan memiliki staf 108 jika Anda tidak bisa mendapatkan banyak menyenangkan dari itu. Jadi, hanya mencoba untuk terlibat dan Anda tidak akan menyesal. NATE Hardison: Hi, guys. Saya Nate. Saya pembimbing untuk kursus. Aku benar-benar senang berada di sini juga. Ini adalah tahun pertama saya di sini. Saya harap Anda semua mengambil kursus ini dan menikmatinya sebanyak Saya sudah menikmatinya sejauh ini. Dan jika Anda pernah ingin belajar bagaimana menghitung sampai 9 atau 10 di biner, datang bicara padaku. DAVID J. Malan: Jadi pada risiko meninggalkan orang-orang di sini panggung sedikit canggung, mari kita berputar melalui hanya beberapa hal-hal yang menunggu sebelum kita ditunda untuk kue. Apa yang kebohongan depan? Nah, jika kita mengambil cepat melihat kembali pada tahun lalu, dalam masalah ditetapkan 0, pendahulu Anda terjun ke pemrograman bahasa disebut Scratch, sebuah bahasa pemrograman grafis Anda akan menggunakan pada hari-hari pertama tentu saja dimulai ini Jumat untuk mempelajari beberapa konsep asing bagi sebagian dari Anda. Tetapi menyadari akan ada aspek lanjutan ini untuk Bagi anda dengan latar belakang sebelumnya. Dalam masalah tahun lalu set 2, siswa terjun ke dunia kriptografi, seni enciphering atau berebut informasi, pelaksanaan program yang data dienkripsi. Dan penambahan hacker tahun lalu itu siswa melanjutkan retak atau decode password dalam khas komputer xe file password dengan datang dengan algoritma dan heuristik untuk kekerasan mencari tahu apa yang orang yang sandi pada sistem komputer itu. Tahun lalu, juga dalam masalah set 3, melakukan diimplikasikan siswa - dalam Masalah set 4 - siswa melakukan menerapkan permainan Sudoku. Dan penambahan hacker tahun itu melakukan siswa tidak hanya menerapkan cara bermain game, namun sebenarnya pemecah suatu dimana komputer dapat memberikan Anda, manusia, dengan petunjuk lebih cepat dari yang Anda telah memecahkan masalah tertentu. Dalam sejumlah masalah 5, kami melakukan forensik, ini seni memulihkan informasi yang sengaja atau sangat sengaja dihapus dari komputer. Tahun lalu, staf pengajar dan saya berjalan di sekitar kampus memotret orang, tempat, dan hal-hal, dan kemudian sengaja diformat kartu media pada kamera kami yang memiliki semua foto-foto. Tapi tidak ada masalah. Kami membuat gambar forensik dari kartu media, menyerahkannya keluar kepada semua siswa di kelas, dan menantang mereka untuk menulis program yang pulih semua file JPEG dari kartu itu. Dan ini sebenarnya adalah salah satu set favorit kami masalah. Dan aku menggali dalam email dari salah satu pendahulu Anda, yang menyenangkan untuk membaca beberapa waktu yang lalu. Dia menulis - ini adalah dari Matt - Sayang David, kemarin saya adik sengaja diformat kamera nya kartu SD dan hilang setahun senilai foto kenangan. Dia sayangnya bukan yang terbaik di back up data nya. Tapi situasi ini mengingatkan saya pset 5, jadi saya pikir saya akan mencoba untuk menjalankan kartu SD nya melalui program recover yang saya tulis sepanjang perjalanan kembali pada bulan Oktober. Jadi setelah empat jam mencari tahu cara membuat baku gambar dari kartu SD diformat - Google terbukti sangat membantu dalam hal ini sampai ironisnya saya kebetulan menemukan petunjuk Anda Internet - setelah bermain-main-main dengan beberapa argumen perintah, Saya berhasil menciptakan citra forensik. Dan setelah menginstal dan mengkonfigurasi CS50 Appliance, saya berhasil menjalankan gambar forensik melalui saya memprogram dan memulihkan semua 1.027 foto-foto adik saya. Benar, Matt. Jadi dalam year's terakhir - [Tepuk Tangan] Dalam sejumlah masalah tahun lalu 6, kami memberikan siswa kamus dari 150.000 kata bahasa Inggris dan menantang mereka untuk menulis spell checker yang menjawab pertanyaan dalam bentuk adalah kata ini dieja dengan benar atau salah secepat mungkin. Dan di dasar opt-in adalah mahasiswa diperbolehkan untuk kemudian menantang teman sekelas dengan mengirimkan hasil mereka, jumlah RAM yang mereka gunakan, jumlah siklus CPU atau detik yang mereka gunakan, sehingga siswa kemudian peringkat di website kursus itu. Sekali lagi, aspek murni opsional itu, tapi menyenangkan dalam sangat sering siswa akan mendapatkan posisi nomor 10 atau seterusnya papan besar di website, pergi untuk makan malam, dan kemudian datang kembali dan menyadari teman sekamarnya baru saja beringsut di depan dia di papan besar, sehingga menuangkan lain dua atau tiga jam hanya untuk satu sampai nya atau teman sekamarnya. Jadi kami berharap untuk sesuatu yang serupa tahun ini juga. Dalam permasalahan yang 7 yang kita mengarahkan ke arah web pemrograman, benar-benar memecahkan masalah dalam yang pernah semakin umum lingkungan browser web. Tahu decreasingly kita men-download perangkat lunak pada Mac dan PC, tapi semakin kita melakukannya semua dalam web. Dan memang tahun lalu, sekitar 88% dari proyek akhir siswa dalam kursus yang berbasis web. Dan orang-orang, juga merupakan keterampilan yang Anda akan berasal dari ini kelas pada akhir kursus ini. Karena apa yang menanti di akhir kursus adalah Fair CS50, pameran ini yang didasarkan pada gagasan yang adil ilmu pengetahuan. Namun dalam versi ini adil melakukan semua siswa di kelas membawa laptop mereka dan teman-teman mereka dan keluarga dan lain-lain ke Northwest Science, sebuah bangunan besar di kampus, menyiapkan laptop mereka, mendapatkan beberapa makanan, mendapatkan beberapa popcorn dan minuman, dan kemudian menunjukkan proyek akhir untuk semua orang di kehadiran yang tahun lalu berjumlah sekitar 2.500 peserta dari seluruh kampus. Dan ekspresi seperti ini dan seperti ini tidak jarang di pameran tersebut. Menjelang pameran adalah Hackathon CS50, kesempatan untuk melompat di kepala shuttle Harvard, jalan ke Microsoft di 8:00 PM, dan tidak pulang ke rumah sampai 7:00 AM. Kami melayani makan malam pertama di 8:00 PM, makan malam kedua di 1:00 AM, dan bagi mereka yang masih berdiri pada 5:00 AM, kita memperlakukan untuk pancake di IHOP. Dan Hackathon adalah sebuah kesempatan, seperti yang digambarkan di sini, untuk menyelam ke dalam proyek akhir Anda, apakah bekerja pada Anda sendiri atau dengan teman-teman di lingkungan yang kolaboratif, dimana staf pengajar seluruh bekerja dengan baik ke dalam malam dengan pasokan banyak Hong Kong makanan Cina. Pada 5:00 AM akan gambar seperti ini cukup umum ini tahun juga. Jadi kita menunda suatu saat untuk kue, perlu diingat bahwa 76% dari orang-orang di ruangan ini tidak memiliki pengalaman sebelumnya. Dan sesuai silabus, apa yang akhirnya penting dalam hal ini Tentu saja tidak begitu banyak di mana Anda berakhir relatif terhadap Anda teman sekelas, tetapi di mana Anda di minggu berakhir 11 relatif terhadap diri Anda dalam minggu 0. Ini adalah CS50.