[Powered by Google Translate] SPEAKER 1: Ini adalah CS50. Jadi saya di mana Anda sekarang beberapa tahun yang lalu, dan ketika saya masih menjadi mahasiswa di waktu, saya tidak benar-benar di jalan ini melakukan ilmu komputer, melakukan rekayasa. Memang, saya datang ke tempat ini sebagai konsentrator pemerintah. Aku berada di SMA seorang anak yang menyukai hal-hal seperti sejarah. Aku menyukai hukum konstitusional, jenis bahasa Inggris dan matematika, sehingga jenis baik-bulat, tapi belum tentu tahu hal-hal yang saya tidak pernah diajari di sekolah tinggi. Dan sehingga tahun pertama, saya punya keraguan ini, dimana meskipun saya menyukai komputer, bermain game komputer dan sejenisnya, saya pasti tidak pernah menganggap diriku sebagai orang komputer, seorang ilmuwan komputer, dan terus terang, saya pikir teman-teman saya di SMA yang memakai komputer ilmu yang sedikit - Geeks. Namun, ketika saya tiba di sini di kampus, ada kursus ini, CS50, dan pada waktu, 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, melalui karena banyak prasyarat yang saya bisa, silang menghitung hal-hal untuk gen ed atau inti dan tahun seperti, dan kemudian sophomore, untuk beberapa alasan, aku mengumpulkan keberanian untuk langkah kaki di Science Center B, di mana CS50. Seorang ilmuwan komputer yang sangat terkenal dengan nama Brian Kernighan adalah mengajar di sini tahun itu, dan bahkan kemudian, saya hanya bersedia untuk benar-benar mengisi kartu studi saya dengan mengambil kelas ini lulus / gagal. Saya melihat sekeliling saya, dan saya pikir semua orang di ruangan ini yang harus tahu cara yang lebih tentang ilmu komputer, tentang pemrograman, tentang komputer. Setiap orang harus pemrograman di ruangan ini karena mereka adalah 12, tapi memang, itu tidak terjadi. Dan jadi hari terakhir, Senin kelima semester yang saya ambil ini lompatan dan perubahan dari lulus / gagal nilai-huruf, dan akhirnya mengubah saya konsentrasi yang sama hari ke ilmu komputer. Nah, itu bukan tujuan kami di kelas ini, untuk mengubah Anda semua ke dalam komputer ilmu konsentrator, tapi benar-benar, untuk mengusulkan bahwa ada kesempatan ini dalam bidang ini dan di bidang lain dengan mana Anda mungkin cukup asing, mengingat bahwa sekolah tinggi biasanya mengikuti kurikuler cukup standar jalan, namun untuk menjelajah di, di CS50, ke perairan baru. Dan jika Anda sedang duduk di sini hari ini berpikir Anda tidak benar-benar milik, sehingga melakukan sebagian besar orang ke kanan dan ke kiri. Memang, tahun lalu, 76% dari siswa di kelas ini tidak memiliki pengalaman sebelumnya. Jadi bertentangan dengan apa yang Anda mungkin berpikir, sebagian besar orang yang duduk di sekitar Anda hari ini tidak, pada kenyataannya, memiliki pengalaman sebelumnya. 18% telah mengambil satu kelas CS, dan 6% telah mengambil dua atau lebih. Sementara itu, kami meminta siswa kami setiap tahun untuk menggambarkan diri mereka dalam hal dari tingkat kenyamanan, dan ini adalah - tidak ada definisi salah satu dari ini. Anda hanya semacam tahu itu, jika Anda tidak sangat nyaman di CS50. Dan tahun lalu, kami memiliki 55% dalam sepotong pie hijau di sini, self-describing sebagai siswa kurang nyaman yang terus terang kami tidak tahu kenapa mereka berbelanja kursus pada hari pertama, tapi 55% yang sama tetap bersama kami sampai end istilah ini, seperti halnya 35%, yang berada di suatu tempat di antara mereka yang lebih nyaman dan mereka yang kurang nyaman. Jadi apa ilmu komputer? Nah, di sekolah tinggi, dan benar-benar, lebih umum di luar sana hari ini, ada persepsi atau kesalahpahaman ini bahwa ilmu komputer adalah pemrograman. Dan itu benar-benar salah satu aspek dari ilmu komputer, tetapi pemrograman, bahasa apapun adalah, benar-benar hanya alat yang ilmuwan komputer digunakan untuk memecahkan masalah, baik dalam domain ilmu komputer atau, semakin hari ini, dalam ilmu fisika, alam ilmu, dalam kedokteran, dalam humaniora, untuk menganalisis besar set data. Di mana saja sekarang ada komputer dan data, ada kesempatan untuk menerapkan pelajaran di kelas seperti CS50. Jadi mari kita memecahkan masalah yang seorang ilmuwan komputer bisa pergi tentang memecahkan dan mencoba untuk menempatkan beberapa jargon, menaruh beberapa kerangka konseptual, sekitar apa yang sebaliknya mungkin beberapa ide yang cukup abstrak. Jadi ini adalah telepon. Anda tidak melihat hal-hal ini terlalu sering. Kampus ini nampaknya masih memiliki ini di rumah-rumah dan asrama, namun kembali pada hari, ketika Anda ingin menggunakan telepon seperti ini, tidak ada alamat elektronik buku di ponsel Anda. Sebaliknya, Anda menarik sesuatu yang 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 untuk menemukan nama mereka dan mereka nomor telepon. Sekarang bagaimana Anda pergi tentang mencari seseorang di 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 empat, halaman lima, enam halaman, dan untuk mengurutkan dari linear, sepanjang garis lurus, pergi melalui buku telepon, dan bahkan meskipun itu akan menjadi sangat membosankan, jika Mike Smith dalam hal ini buku, saya akhirnya akan menghubunginya ketika saya akhirnya membalik ke S bagian dari buku ini. Sekarang, tentu saja, Anda tidak perlu menjadi seorang ilmuwan komputer untuk mengetahui 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, kan? Jadi Anda akan membalik kasar ke tengah, lihat di sini, dan sepertinya aku menemukan diriku di bagian M. Oke, jadi M jelas tidak apa yang saya cari. Mike ke kanan, sehingga untuk berbicara, dari bagian ini, dan karena beberapa dari Anda memiliki lihat sebelumnya, kita benar-benar bisa sekarang melanjutkan untuk merobek ini masalah dalam setengah. Anda benar-benar tidak boleh yang terkesan. Merobeknya bawah jahitan sebenarnya tidak sulit. Orang-orang yang sebenarnya melakukannya dengan cara ini, tetapi turun jahitan, kita sekarang memiliki dua masalah. Yang masing-masing setengah yang besar, dan kami benar-benar dapat membuang bahwa setengah dari masalah pergi. Sekarang kita meninggalkan tidak dengan 1.000 halaman, tetapi mengatakan, 500. Jadi sekarang apa yang harus saya lakukan? Nah, manusia biasa akan pergi kira-kira di tengah lagi, dan saya menemukan diri saya di bagian R, sehingga tidak cukup ada. Jadi sekali lagi, saya dapat merobek masalah ini di setengah. Terima kasih. Jadi sekarang saya hanya memiliki sekitar 250 halaman, dan saya bisa melakukan ini lagi, dan lagi, dan lagi, dan pergi dari 125 turun ke sekitar 60, sampai 30, sampai 15, dan sebagainya. Dan akhirnya, aku akan dipangkas menjadi salah satu halaman S, di mana, jika dia dalam buku telepon, Mike Smith seharusnya. Nah, itu algoritma jelas cukup masuk akal, dan itu adalah satu kali penggunaan algoritma dalam kasus ini, tapi apa yang bisa kita semacam mengambil dari itu? Nah, pendekatan pertama, benar, jika naif, meskipun, itu, bisa dijelaskan oleh garis lurus. Jadi jika pada sumbu x-, di sini kita katakan, ini adalah ukuran dari masalah. Jadi sebagai sumbu x pergi ke kanan, masalahnya akan lebih besar. Apa artinya menjadi lebih besar? Dalam konteks masalah ini, lebih banyak halaman dalam buku telepon. Ada sesuatu yang lebih kita bisa mengukur. Pada sumbu y, waktu untuk menyelesaikan. Jadi sebagai sumbu naik, kami menganggap itu mungkin membutuhkan waktu lebih lama. Sehingga pendekatan pertama linear mencari dari halaman satu ke halaman 1.000 adalah prosedur linear, algoritma linear atau proses, dan kita bisa menggambarkannya oleh garis lurus. Jika saya menambahkan satu halaman lebih ke buku telepon, itu akan, di terburuk kasus, membawa saya satu halaman lebih flip untuk menemukan Mike Smith. Jika saya menambahkan 100 halaman, 100 lebih membalik, atau satuan waktu. Sekarang saya bisa menjadi pintar sedikit dengan ini. Saya tidak perlu untuk benar-benar mengubahnya satu halaman pada satu waktu. Aku bisa melakukan hal-hal seperti dua pada waktu atau empat pada satu waktu, tapi bahkan itu tidak semua itu dasarnya baik. Bahkan jika itu dua sekaligus, ya, seperti itu bergerak baris ini turun sedikit, dan itu berarti bahwa waktu yang panjang, mengingat jumlah yang sama dari halaman, namun itu tidak mendasar baik. Tapi apa yang kita lakukan, dan apa semua yang Anda lakukan secara naluriah? Anda benar-benar mencapai sesuatu yang kecil seperti ini, waktu logaritmik, dimana masalah tersebut dapat tumbuh dan berkembang dan tumbuh, tetapi biaya pemecahan yang Masalahnya, waktu yang dibutuhkan untuk memecahkan masalah itu, tidak tumbuh hampir sama cepat. Ini akan menjadi kurva logaritmik, log n, dimana n adalah hanya dalam ukuran masalahnya, jumlah halaman dalam buku telepon. Dan apa artinya ini secara riil? Nah, jika kita memiliki, seperti, 500 orang di ruangan ini sekarang - atau lebih tepatnya, jika kita memiliki - pencampuran metafora - tidak melakukan itu contoh belum tahun ini - jadi jika kita memiliki 500 halaman dalam telepon buku, dan kami dua kali lipat ke 1.000, dalam model yang lebih cerdas membalik ke tengah, berapa banyak halaman-tearers yang dibutuhkan untuk pergi dari 500 halaman dengan 1.000? Nah, hanya satu air mata halaman tambahan. Jika Anda menyodorkan buku telepon 2.000 halaman, bukan masalah besar. Saya hanya akan merobeknya satu waktu tambahan. Jadi singkatnya, ukuran masalah dapat tumbuh lebih cepat daripada biaya benar-benar memecahkan masalah tersebut. Sekarang ini hanyalah salah satu algoritma tersebut. Ada orang lain yang kita dapat memecahkan dengan cara yang sama. Dan jadi mengapa kita tidak melakukan hal ini - jika Anda akan humor saya, meskipun canggung di sini di Sanders, silakan, semua orang, jika Anda bisa, dan berdiri di tempat. Seperti yang Anda lihat pada layar di sini, ini adalah algoritma, proses, komputer program, jika Anda mau, yang harus dijalankan oleh manusia, yang hanya memiliki tiga langkah. Kami sudah satu langkah, Anda sudah berdiri. Dan sekarang berpikir untuk diri sendiri nomor satu. Itu adalah nomor Anda saat ini. Semua orang di sini adalah nomor satu. Langkah kedua, berpasangan dengan seseorang berdiri dan nomor Anda bersama-sama, dan kemudian mengadopsi jumlah ini sebagai nomor baru Anda. Salah satu dari kalian harus duduk, kemudian ulangi. Pada titik ini, semakin sedikit orang yang harus berdiri. Ini adalah di mana ia mendapat lebih canggung. Seseorang di sini, di sini. Bagian terburuk adalah, Anda juga harus sangat lisan melakukan aritmatika di depan ratusan Harvard undergrads. Oke, sedikit bug di sini. Oke, apa nomor Anda? Sembilan. Oke. Berapa nomor Anda? 179. Oke, baik. Jadi 188. Jadi kalian bisa duduk. Berapa nomor Anda? 118. Beberapa undergrad pintar mulai melakukan matematika. Oke, 118, 188. Apa lagi yang kita punya? 71. 79. Oke. Dan? 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 harus ini telah bekerja? Apa yang seharusnya hanya terjadi? Jadi pada setiap iterasi dari algoritma ini, kami mulai dengan beberapa nomor orang berdiri, dan itu jumlah total, n, pada awalnya. Kemudian setengah dari Anda duduk, dan kami pergi ke n lebih dari dua. Kemudian setengah dari Anda duduk, kami pergi ke n lebih dari empat, n lebih dari delapan, lebih dari 16, dan sebagainya, sampai, meskipun jenis hancur ada di end, dalam teori, setiap orang memiliki berpasangan di balkon, dan mezzanine, dan orkestra di sini, kita akan memiliki hanya satu orang yang berdiri sendirian, dengan total nilai, dalam hal ini, dari 705. Sekarang apa artinya, meskipun, untuk waktu berjalan? Nah, pikirkan jika saya, sebagai manusia, telah melakukan ini secara manual. Saya akan mulai cukup naif tapi benar dengan satu, dua, tiga, empat, lima, enam, tujuh, delapan, dan sebagainya, membutuhkan beberapa waktu. Jadi saya bisa berbuat lebih baik, kan? Di sekolah dasar, Anda tidak hanya mengandalkan pada orang-orang. Anda menghitung dalam berpasangan. Jadi dua, empat, enam, delapan, sepuluh, dua belas. Dan itu akan jauh lebih cepat, tapi sekarang mendasar, dengan memanfaatkan kecerdasan kolektif dari semua orang di ruangan ini, kita dapat mencapai kurva yang jauh lebih seperti ini, dimana saat ini, jumlah orang-orang di ruangan ini ganda bisa, yang lain 700 orang berjalan ke ruangan ini untuk 1.400 orang, namun itu hanya akan membawa kita satu iterasi lebih dari ini algoritma untuk memecahkan. Dan begitu semakin, hari ini, ketika kita memiliki data yang sangat besar dalam Facebook, dan Google, dan sejenisnya, itu memecahkan masalah dengan ini sedikit wawasan, ini sedikit kepandaian, yang memungkinkan kita semakin berbuat banyak, jauh lebih kuat hal-hal dengan komputer hari ini. Jika Anda menyukai hal-hal seperti, Anda mungkin telah melihat di Facebook CS50 Hari Puzzle sendiri, datang Sabtu ini. Jika Anda ingin berpartisipasi dalam sesuatu seperti ini, dimana Anda dan dua, atau tiga, atau empat tim dari empat ingin memecahkan beberapa teka-teki tersebut seperti yang satu ini, Anda memiliki kesempatan untuk memenangkan hadiah luar biasa, di antaranya adalah Wii, dan beberapa kartu hadiah, dan beberapa lainnya Facebook curian Sabtu ini, siang sampai 3:00. Pergi ke cs50.net/rsvp untuk seperti. Dan geser ini online jika Anda ingin bermain-main. Teka-teki tahun ini akan menjadi baru. Anda mungkin melihat di dalam kelas, juga, semua kamera lebih tahun ini. Jadi tidak hanya akan tentu saja akan difilmkan dengan cara yang biasa, CS50 mungkin juga mengambil bagian dalam film dokumenter tentang pendidikan tinggi yang melihat transformatif pengalaman bahwa seorang siswa dapat memiliki hari ini dalam sarjana program studi. Jadi menjelang akhir ini, tidak hanya kita akan syuting untuk itu, kita akan syuting juga untuk, semakin, penonton online kami, serta, pada kesempatan, ini penonton di sini. Jadi kami menyambut ke kelas tahun ini mahasiswa Harvard ekstensi sekolah kami, lulusan sekolah desain, pendidikan, sekolah bisnis, Kennedy Sekolah, sekolah hukum, serta sejumlah mahasiswa dari Belmont, Lexington, Newton, dan Sekolah Tinggi Watertown. Selamat untuk Anda semua. Selain itu, tahun ini, karena Anda mungkin telah mendengar, Harvard, MIT dan, dan Berkeley sekarang telah menandatangani kemitraan kolaboratif pada inisiatif yang disebut EDX, yang merupakan inisiatif untuk membuka pendidikan untuk semua semakin banyak orang yang online dan, pada dasarnya, mulai melakukan penelitian tentang skala yang lebih luas tentang bagaimana orang belajar. Dan begitu CS50 akan menjadi program pertama perguruan tinggi berpartisipasi dalam inisiatif, juga, yang berarti Anda akan memiliki akses ke semua lebih alat, semua konten yang lebih kurikuler, semua lebih konten video sebagai Akibatnya, serta pagi kemarin, 53.019 orang yang memiliki terdaftar untuk mengambil CS50 bersama dengan Anda tahun ini di Internet. Jadi apa artinya ini, khususnya, adalah bahwa staf pengajar dan saya memiliki menghabiskan cukup banyak waktu musim panas ini mempersiapkan untuk musim gugur, baik di kampus dan mematikan, sehingga kita dapat mulai membangun sebuah korpus menarik, dari menarik, terlibat konten pendidikan, yang berfokus khususnya pada lebih intim angkut material yang cukup kompleks. Jadi selain kuliah kursus, dan bagian, dan hal walkthrough disebut, yang kami akan kembali dengan hanya sedikit, kita juga akan memiliki celana pendek ini tahun ini yang memungkinkan Anda untuk terlibat dengan kursus dari sudut yang berbeda bersama-sama. Jadi mari kita menggunakan ini sebagai kesempatan untuk mengambil mengintip cepat pada salah satu yang membahas gagasan dari biner. 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 untuk mewakili informasi entah bagaimana, dan Anda perlu menyajikannya dalam cara yang komputer dapat mengerti. Dan bahkan jika Anda tidak benar-benar mengerti komputer, dan Anda berada di bahwa 76% sekarang, Anda mungkin memiliki beberapa pengertian samar-samar bahwa komputer entah bagaimana berurusan dengan nol dan satu, sistem biner, 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 suatu penyederhanaan yang berlebihan, cara yang sangat mudah merekam informasi yang baik dengan memutar listrik yang pada, satu dalam biner, sehingga untuk berbicara, atau memutar bahwa listrik off. Jadi Barry, jika Anda tidak keberatan, bisa kita meredupkan lampu sepenuhnya untuk sesaat? Ini di sini adalah nol biner yang sangat beralasan. Baiklah, jika kita menyalakan lampu kembali, sekarang Sanders Theatre mewakili nilai biner dari satu. Sayangnya, dengan hanya satu bit, hanya dengan satu set lampu, kita hanya bisa mewakili dua angka di dunia, nol dan satu, dan itu akan sangat baik jika komputer bisa menghitung sedikit lebih tinggi dari itu, tapi memang, mereka bisa. Jadi biarkan aku menarik di layar teman kita di sini, Nate Hardison, yang akan memberikan kita lihat cepat selama hanya beberapa menit di ini gagasan biner. NATE Hardison: Kembali ketika Anda belajar cara membaca dan menulis angka, Anda belajar tentang angka nol sampai sembilan. Untuk menulis bilangan bulat lebih besar dari sembilan, Anda belajar bahwa semua yang harus Anda lakukan itu menggunakan beberapa kombinasi dari angka, seperti di 52 dan 437. Jadi ini cara penulisan angka memiliki nama, notasi desimal. Kenapa desimal? Nah, akar Latin desimal, deca, 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 untuk memahami mengapa. Pertama-tama kita dapat memecah 437 menjadi 400 ditambah 30 ditambah 7. Kita bisa mengambilnya terpisah bahkan lebih, sehingga kita punya empat kali 100 ditambah 3 kali 10 ditambah 7 kali 1. ingat belajar tentang tempat yang, tempat 10s, 100s tempat, dan sebagainya? Ini adalah persis di mana itu berasal. Dan akhirnya, kita dapat melihat bagaimana kita punya banyak kekuasaan 10 tertanam di sini. Kami punya 4 kali 10 ke 2 ditambah 3 kali 10 ke 1 ditambah 7 10 kali ke nol. Jadi sekarang Anda melihat mengapa 10 adalah nomor khusus dalam notasi desimal. Pada kenyataannya, kita punya nama untuk itu. Ini disebut dasar, karena itu dasar dari eksponen dalam kami aritmatika sini. Notasi desimal bukanlah satu-satunya cara untuk mewakili angka. Pada kenyataannya, bahkan jika kita menyingkirkan angka dua sampai sembilan, kita masih bisa mewakili semua angka-angka yang kita bisa dengan desimal. Jadi sekarang kita memiliki dua digit, nol dan satu, dua adalah nomor khusus kami, dasar sistem notasi kami. Nama sistem notasi disebut biner, karena awalan bi berarti dua. Jadi sebagai gantinya, sekarang, memiliki tempat yang, dan tempat 10s, dan seterusnya, kami sekarang memiliki tempat yang, tempat berpasangan, tempat merangkak, dan sebagainya, naik oleh kekuatan dari dua. Jadi mari kita lihat ini dengan melakukan penghitungan beberapa. Jadi nol masih nol, dan satu masih satu. Namun, sekarang kita punya tempat berpasangan bukan tempat 10s, 10 merupakan nomor dua. Untuk mendapatkan tiga, kami menambahkan satu itu, dan mendapatkan 11. Empat, karena sekarang ada tempat merangkak, diwakili oleh 100. Lima adalah 101. Enam adalah 110. Tujuh adalah 111. Delapan, sekali lagi, memiliki tempat tersendiri. Jadi 1000. Dan saya pikir Anda mendapatkan titik. SPEAKER 1: Jadi ini adalah untuk mengatakan apa yang dilakukan dan apa komputer biner adalah adalah sebenarnya tidak begitu berbeda dari apa yang kita telah mengambil untuk diberikan untuk beberapa tahun, kan? Kembali di sekolah dasar, Anda belajar untuk menghitung tepatnya di fashion yang diusulkan Nate, tapi Anda mungkin belum benar-benar berpikir tentang itu sejak, fakta bahwa ada tempat yang, tempat 10s, dan 100 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 nol dan satu, Anda jelas tidak hanya menyalakan lampu dan mematikan tentu. Anda perlu melakukannya pada skala butiran halus banyak. Dan dengan butiran halus, Anda mungkin ingat ini mainan kecil konyol sejak kecil, Woolly Willy dan partikel-partikel magnetik kecil. Jadi partikel magnetik adalah sesuatu yang Anda dapat menyesuaikan dalam beberapa berbeda arah, mungkin utara-selatan atau selatan-utara. Dan begitu banyak inkarnasi fisik teknologi hari ini yang menggunakan biner, yang menggunakan angka satu dan nol, hanya memiliki magnet di dalam yang sejalan hal up-down atau down-up, sehingga mewakili nol atau satu, masing. Jadi memang, mari kita menjauh dari abstrak di sini, dan melihat dalam dari apa drive komputer yang lebih tradisional keras. Ini terjadi menjadi sedikit lebih besar di layar, dalam bahwa itu dari desktop komputer, namun laptop saat ini masih memiliki teknologi yang sama, namun secara bertahap digantikan oleh hal-hal yang lebih canggih yang sebenarnya tidak bergerak bagian - bagian dalam, kemudian, dari sebuah hard drive. SPEAKER 2: Hard drive adalah tempat PC Anda menyimpan sebagian besar Data tetapnya. Untuk melakukan itu, data perjalanan dari RAM bersama dengan sinyal software yang memberitahu hard drive bagaimana untuk menyimpan data. Sirkuit hard drive menerjemahkan sinyal tersebut menjadi tegangan fluktuasi. Ini, pada gilirannya, mengontrol bagian hard drive bergerak, beberapa dari sedikit bagian yang bergerak tersisa di komputer modern. Beberapa sinyal mengendalikan motor, yang piring-piring logam dilapisi sekolah. 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 bahkan tidak bisa melewati antara kepala piring berputar, namun semuanya bekerja pada kecepatan yang hebat. SPEAKER 1: Jadi sekarang kita memperbesar pada apa yang sebenarnya terjadi di atas tersebut piring-piring dari segi magnet, kita memiliki kedua dari dua penampilan. SPEAKER 3: Mari kita melihat apa yang kita hanya melihat dalam gerakan lambat. Ketika pulsa singkat listrik dikirim ke kepala baca-tulis, hal itu membalik pada elektromagnetik kecil untuk sepersekian detik. Magnet menciptakan lapangan, yang mengubah polaritas dari, kecil kecil sebagian dari partikel logam yang melapisi permukaan setiap platter ini. Serangkaian pola daerah dibebankan sampai kecil pada disk merupakan satu bit data dalam sistem bilangan biner yang digunakan oleh komputer. Sekarang jika saat dikirim satu jalan melalui kepala baca-tulis, daerah terpolarisasi dalam satu arah. Jika saat ini dikirim dalam arah yang berlawanan, yang polarisasi terbalik. Bagaimana Anda mendapatkan data dari hard disk? Hanya membalikkan proses. Jadi partikel pada disk yang mendapatkan arus dan baca-tulis kepala bergerak. Mengumpulkan jutaan segmen magnet, dan Anda punya file. Sekarang potongan-potongan dari file tunggal dapat tersebar di seluruh piring-piring drive ini, jenis seperti kekacauan kertas di meja Anda. Jadi file tambahan khusus melacak di mana semuanya. Jangan Anda berharap Anda memiliki sesuatu seperti itu? SPEAKER 1: Memang. Jadi kita memiliki kemampuan untuk mewakili informasi ini, nomor pada tingkat yang sangat rendah. Kami memiliki cara fisik mewakili hal yang sama, namun kita tidak bisa benar-benar melakukan semua itu banyak menarik lagi, selain mungkin berhitung dan matematika. Kami tidak memiliki cara untuk mewakili hal-hal sejauh seperti huruf abjad, sehingga kita manusia dapat berkomunikasi, dengan menggunakan perangkat yang sama. Tapi untungnya, terdapat pengkodean, pola nol dan satu 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 sistem coding dimana nomor satu merupakan surat yang diberikan - misalnya, jumlah yang kita kenal sebagai nilai desimal 65 dikenal sebagai huruf kapital A ke komputer. Nilai desimal dari 97 di komputer dikenal sebagai huruf kecil. Dan apa yang benar-benar berarti? Nah, meskipun Nate, beberapa saat yang lalu, hanya dihitung naik dari nol sampai delapan, jika kita terus menghitung hingga 65, atau lebih, untuk 97, pola nol dan satu bahwa ia akan digambar di layar akan persis apa yang digunakan komputer untuk mewakili huruf A dalam semua topi, atau surat dalam huruf kecil. Dan memang, ada skema keseluruhan untuk ini. Hal ini, pada pandangan pertama, grafik yang luar biasa dari encodings, tetapi jika Anda berfokus hanya pada setengah di sini, perhatikan di kolom tengah, kita memiliki gagasan angka diikuti oleh huruf. Dan di atas, kita memiliki 32, dan karakter char, yang 32, integer, sekarang merujuk, ternyata karakter spasi. Ketika Anda mendapatkan karakter spasi pada laptop Anda, apa yang Anda benar-benar pengiriman adalah nomor, pola nol dan satu, aliran listrik, jika Anda mau, mereka mewakili angka satu dan nol, bahwa komputer itu 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. Jadi sekarang kita memiliki skema encoding, kita dapat mulai mengeja hal-hal. Memang, komputer biasanya mengekspresikan diri mereka dalam satuan standar, tidak menggunakan sedikit individu, yang sekali lagi, tidak semua yang berguna untuk hanya mewakili nol atau satu, lampu on atau off, melainkan, dengan menggunakan urutan bit. Dan unit yang paling umum dari ukuran, karena Anda mungkin tahu, atau setidaknya disimpulkan, adalah byte. Byte adalah hanya delapan bit, delapan nol atau yang 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 datang di atas panggung? Anda harus nyaman muncul pada kamera, tetapi Anda tidak benar-benar perlu untuk mengetahui jika apa yang terjadi dulu. Saya melihat satu orang yang sukarela di sini. Dua, tiga, empat, lima, enam, tujuh, dan delapan bagaimana? Ayo up. Jadi Anda akan mewakili byte orang. Biarkan saya saja kau tempat 128s, Anda tempat 64s, 32s tempat Anda. Tapi kami akan sangat cepat harus membalikkan ini. Jadi biarkan aku bertemu Anda semua di sana. Dan Anda harus berada di tempat 128s sepanjang jalan di atas, di sini banyak seperti ratusan tempat atau tempat ribuan akan jauh ke kiri, kita ingin placeholder terbesar berada di sini di sebelah kiri juga. Kami memiliki 64s, 32, 16s, 2s 8s, 4s, dan 1s - sangat baik. Jadi sekarang kita punya - oke, Anda dapat membantu saya. Jadi sekarang kita memiliki - siapa namamu? JOANNE: Joanne. SPEAKER 1: 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 sedikit contekan yang akan memberitahu mereka apakah mereka mewakili nol atau satu. Dan mengapa tidak, untuk kesederhanaan, kita akan mewakili nol dengan hanya canggung berdiri di sana. Sangat baik. Atau satu dengan mengangkat tangan Anda, yang mewakili satu. Dan mari kita lihat apakah kita tidak bisa mengeja sebuah frase empat karakter di sini. Jadi silakan sekarang, relawan, dan melaksanakan satu putaran dengan mengangkat tangan Anda jika Anda satu, atau menjaga ke bawah jika Anda nol. Jadi sekarang kita memiliki tiga tangan atas, apa nomor, orang lain, adalah mereka benar-benar mewakili? Oke, 67. Kenapa? Nah, kewarasan cepat memeriksa. Tempat 64s, karena itu satu. Itu seperti satu, kali 64 ditambah 1 kali dua, 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? Oke, sehingga C. Baiklah. Jadi sekarang mari kita lanjutkan ke putaran dua. Semua orang mulai dengan tangan mereka turun, kemudian putaran dua. 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 kita sekarang? Mengekspresikan adalah 83. Sehingga Anda dapat 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 - ini mungkin jelas di mana kita akan di sini, tapi Meskipun demikian, putaran tiga. Oke, putaran tiga yang baik untuk pergi ke sana, sehingga putaran tiga, nomor berapa orang-orang ini sekarang mewakili? Oke, aku mendengar 53, yang kini mewakili - menarik. Sekarang mengapa ini semacam kontra-intuitif hasil, kan? Jika kita ingin mewakili lima - kita semua mungkin tahu di mana ini akan - kenapa tidak saya hanya menaikkan tempat merangkak dan tempat yang? Nah, kita menyadari bahwa ada perbedaan, secara fundamental, antara bagaimana komputer menafsirkan bit-bit. Jika Anda mencoba untuk mewakili nomor lima, maka benar-benar, kita hanya meningkatkan jumlah tangan Anda empat dan meningkatkan jumlah satu sisi. 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 nomor sendiri. Itu benar-benar mewakili konsep tingkat yang lebih tinggi. Dalam kasus ini, surat abjad. Jadi fakta bahwa sekarang mewakili nomor lima dengan Nilai 53 adalah karena di ASCII, hal yang kita lihat sebagai estetis nomor lima itu sendiri membutuhkan pola bit - karena mengapa? Nah, dunia hanya memutuskan untuk menggunakan angka yang lebih rendah, nol, satu, dua, tiga untuk apa yang tampak menjadi hal yang cukup samar. 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 benar-benar mengetik mereka. Jadi 53, memang, mewakili lima. Sekarang hanya sebagai cek kewarasan akhir, nomor berapa yang harus mereka mewakili hanya dalam beberapa saat? Oke, jadi 48. Dan memang, pergi ke depan, putaran empat. 16 ditambah 32 memang 48. Dan sehingga tepuk tangan meriah, jika kita bisa, selama delapan relawan kami di sini. Sangat baik dilakukan. Segala arah baik-baik saja. Jadi kita sekarang memiliki cara tidak hanya berpikir tentang bagaimana untuk mewakili data, dan benar-benar mewakili secara fisik, tetapi juga melakukan yang lebih tinggi Tingkat hal di atas. Dan memang, ini akan menjadi tema di seluruh ilmu komputer dari membangun lebih banyak hal dan lebih menarik dan kompleks di atas cukup sederhana ide - dalam hal ini, hanya angka satu dan nol. Dalam hal mengapa hal ini berguna, baik, meskipun dalam kursus seperti ini, kita akan fokus pada fundamental, dan pada pemrograman, dan penyelesaian masalah, Anda dapat pergi dalam ilmu komputer di sejumlah arah. Dalam hal ini di sini, ini adalah tabel yang Anda miliki di halaman belakang Anda resmi panduan untuk CS di Harvard, salah satu dari dua hari ini cetakan. Ini menunjukkan banyak arah yang berbeda di mana Anda dapat pergi setelah Tentu saja seperti ini - belajar tentang kecerdasan buatan, tentang grafis, sekitar mesin pembelajaran, 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 CS50 musim gugur ini, ada kursus pengantar di musim semi, Ilmu Komputer 1, misalnya, adalah lagi di-jalan ke dunia baru. Sekarang sebagai samping, untuk kepentingan pemecahan masalah yang berkaitan dengan program, menyadari CS50 set keluar beberapa waktu lalu untuk mencoba untuk memecahkan salah satu masalah, yang Masalah yang dikenal sebagai my.harvard, yang banyak dari Anda mungkin menggunakan untuk benar-benar toko untuk kursus, tetapi 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 menyebarkan diri, serta belum hal-hal lain juga pada akhir semester, menyadari bahwa ini dibangun pada set data yang terbuka. Dalam hal ini, tentu saja, katalog, dan memungkinkan siswa dalam hal ini untuk menjelajahi satu set data yang cukup kompleks. Kami menggali tadi malam beberapa statistik berdasarkan ribu beberapa orang yang telah menggunakan ini selama beberapa hari terakhir. Jika Anda sudah penasaran ingin tahu berapa banyak kursus teman Anda benar-benar cenderung untuk berbelanja, baik, saat ini data ini menunjukkan bahwa 7,6 adalah rata-rata jumlah program dalam daftar belanja seseorang. Dan sekarang saya akan memberi Anda juga statistik paling banyak kursus tentang daftar belanja seseorang - dan kita semua mungkin tahu orang seperti ini. 201 adalah rekor tahun ini. Sekarang beberapa mantan siswa kami dan staf benar-benar menempatkan bersama-sama klip untuk melukis gambar untuk Anda tentang apa jalan ini ilmu komputer dan CS50 sendiri. Biarkan aku pergi ke depan dan menarik, berkat Pak Harvahd sini, video diproduksi oleh beberapa pendahulu Anda, jika kita bisa menjaga lampu untuk ini. [MUSIC PLAYING] SPEAKER 1: Saya tidak tahu yang akan terjadi. Jadi tampilan yang lebih serius pada apa yang ada di depan. Jadi dalam hal harapan kursus ini, Anda memang diharapkan untuk menghadiri atau menonton kuliah mata kuliah tersebut, mengirimkan delapan set masalah, mengambil dua kuis, menyerahkan tugas akhir. Dalam hal nilai, menyadari bahwa saya komentar pada pembukaan sekitar lulus-gagal, sesuatu yang kami sangat mengambil hati dalam CS50 - tidak ada hampir cukup dari budaya di Harvard mencoba sesuatu dan mempertaruhkan kegagalan. Memang, kami memiliki jumlah siswa, dan saya sendiri khususnya, yang khawatir menyakiti Anda IPK, atau mendapatkan B dalam sesuatu seperti CS50, dan kesempatan untuk mengambil kursus seperti ini dan program lainnya di gerbang tingkat pengantar lulus / gagal adalah kesempatan yang sangat kurang dimanfaatkan ini perguruan tinggi pada umumnya. Dan jadi silakan tahu, bahkan saya terdaftar dalam kursus ini awalnya untuk lulus / gagal kredit saja, dan bahkan meskipun aku beralih pada akhir hari, itu lima minggu awal, hingga Senin kelima semester, yang cutoff, yang memungkinkan saya untuk benar-benar menempatkan kaki ke dalam baru perairan, dan benar-benar mencoba sesuatu yang sangat asing dan sangat tidak nyaman bagi saya pada saat itu. Jadi dalam hal sekarang apa peran berbagai sudut di mana Anda dapat pendekatan 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 atas Tentu semester, dan 10% dari Anda kami tidak akan pernah melihat lagi setelah hari ini. Dan itu baik-baik saja, harus jujur. Salah satu karakteristik mendefinisikan CS50 adalah bahwa ada orang- sumber daya yang tak terhitung banyaknya, beberapa di antaranya kita akan melalui mainan hanya dalam beberapa saat, termasuk kuliah dan bagian, dan hal yang disebut walkthrough, dan kantor jam, dan sejenisnya, dan itu sumber daya lebih dari siswa yang khas seharusnya atau fisik bisa mengambil keuntungan dari, tapi itu karena dari gaya belajar yang berbeda bahwa setiap tubuh siswa memanifestasikan. Dan sehingga dalam kuliah, peran utama seperti yang saya lihat itu tidak mendorong secara lisan out materi yang cukup kompleks dan selalu memberikan semua seluk-beluk dari dasar-dasar yang kita akan mengeksplorasi semester ini, namun lebih, untuk melakukan hal-hal seperti yang telah kami lakukan sejauh ini sudah, contoh-contoh melibatkan manusia di atas panggung mencoba untuk melukis gambaran mental, dan juga membuat, saya berani mengatakan, beberapa kenangan saat-saat, sehingga bahkan ketika Anda berjuang dengan topik-topik tertentu, Anda memiliki kenangan, seperti oh, meskipun yang cukup abstrak, matematika, aku tersesat dengan membawa satu, seperti, itu benar-benar, pada akhir hari, tidak semua yang berbeda dengan sesuatu yang saya sudah tahu. Dan sehingga peran yang kuliah akan melayani baik secara langsung di sini di Sanders atau online di video ini benar-benar untuk mengatur panggung mental untuk Anda setiap minggu untuk berbagai konsep dan masalah yang kita akan menyelam ke dalam. Dalam hal konsep tingkat tinggi, sebagian besar kata-kata ini mungkin mengalir di atas Anda kepala untuk saat ini. Dan itu baik-baik saja. Orang-orang yang akan datang ke kursus lebih nyaman akan tahu beberapa topik, tetapi biasanya untuk yang 10% dari kelas yang mereka memiliki latar belakang yang lebih banyak, mengambil AP ilmu komputer, pemrograman sejak mereka adalah 12, menyadari bahwa akan ada kesempatan di bagian dan Masalah set untuk pergi semua kedalaman lebih ke berbagai topik, mengisi apapun kesenjangan yang mungkin Anda miliki dari sekolah tinggi atau sebelum latar belakang. Dalam hal bahasa, menyadari bahwa apa bahasa yang kita gunakan dalam CS50 adalah sangat tidak relevan pada akhir hari. Kami kebetulan menggunakan terutama bahasa 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 yang modern bahasa tingkat tinggi - Python, dan Ruby, dan lain-lain yang cukup populer hari ini, karena menyadari, pada akhir hari, Anda tidak belajar di C. Anda tidak belajar PHP atau JavaScript. Anda belajar bagaimana untuk memecahkan masalah, baik berbasis web, berbasis komputer, atau Data-oriented sendiri, menggunakan hanya sebagai alat. Sekarang dalam hal logistik, Anda akan menggunakan sesuatu yang akhirnya disebut CS50 Appliance. Tidak masalah jika Anda memiliki Mac, PC, sebuah komputer Linux, atau sejenisnya, Anda akan memiliki perangkat lunak bebas tersedia mulai minggu depan dengan yang menggunakan Appliance CS50, lingkungan virtual yang akan Anda gunakan pada komputer sendiri, sehingga Anda dan semua teman sekelas Anda memiliki Linux seragam desktop dalam kasus ini. Ini adalah set masalah, meskipun, di mana Anda benar-benar akan mendapatkan tangan Anda kotor di kursus. Dan pada akhir hari, itu adalah set masalah, saya pikir, yang benar-benar mendefinisikan pengalaman siswa dalam kursus ini. Sadarilah bahwa banyak masalah set akan dirilis dalam dua edisi - edisi standar yang kita harapkan dan mendorong 90% dari kelas untuk menyelam ke dalam. Tapi kami juga merilis set beberapa masalah dalam apa yang disebut edisi hacker, dan Anda tahu itu edisi hacker, karena pada setiap halaman dengan watermark, mengatakan hacker edisi 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, menyadari bahwa ada demografis yang sangat substansial dalam kelas yang memiliki justru tujuan yang sama. Anda akan memiliki lima hari terlambat. Soal set umumnya jatuh tempo pada hari Kamis, tetapi Anda dapat memperpanjang lima mereka tenggat waktu menggunakan hal-hal ini disebut hari akhir, dan kami juga akan turun Anda terendah skor di akhir semester, per keterangan dalam silabus. Tapi lain ciri khas dari CS50 selama bertahun-tahun telah menjadi kantor jam, kesempatan yang Anda lihat secara visual dalam foto sedikit lalu di mana kita berkumpul sebelumnya di ruang makan rumah, sebelum itu di basement pusat ilmu pengetahuan, dan tahun ini di Annenberg Hall, empat malam minggu 20:00-11:00, di mana Anda akan memiliki sangat banyak berbagi pengalaman bekerja, berjuang melalui masalah-masalah tertentu, namun dengan struktur dukungan substansial 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 Discuss, sebuah utilitas berbasis web yang memiliki staf pengajar dikembangkan yang akan memungkinkan Anda untuk mengirim pertanyaan dan melihat followups dalam diskusi forum khas akal, dengan menggunakan label dan sejenisnya, dan auto-lengkap untuk mencari data. Tapi Anda juga bisa, selama jam jam kantor, Anda harus pertanyaan meningkat dengan manusia yang sebenarnya. Memang, tujuan akhirnya adalah agar salah satu, kita mulai membangun di atas Tentu semester korpus informasi mudah-mudahan benar-benar berguna, jawaban umum untuk pertanyaan umum, sehingga Anda sendiri dapat memecahkan masalah dan melepaskan diri secepat mungkin, sementara memiliki pengajaran Staf - 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 benar-benar menjawab secara efektif online. Kita perlu melihat komputer Anda. Kami ingin berbicara dengan Anda satu lawan satu. Kau benar-benar berjuang, dan karena itu Anda ingin berbicara satu lawan satu bersama seseorang, Anda akan dikirim ke Greeter CS50, sebuah mengajar sesama memegang, secara harfiah, sebuah iPod yang memiliki nama siswa pada satu side, mengajarkan nama-nama staf di sisi lain. Kami akan mengumpulkan nama, diikuti dengan nama staf pengajar, dan Anda layar komputer akan mulai berkedip, mengatakan silakan pergi melihat Alice atau silahkan pergi melihat Bob di meja guru. Dan sehingga dengan cara ini, kita akan dapat mengirimkan hal-hal seefisien mungkin, serta membimbing Anda menuju solusi semua lebih mudah. Pada bagian, ini akan menjadi peluang untuk lebih intim hands- peluang dengan salah satu rekan pengajaran dan 12 sampai 16 atau lebih dari teman sekelas Anda, di mana setiap minggu, kita akan memiliki masalah dalam sejumlah masalah yang meminta sejumlah pertanyaan konseptual, dan sejumlah gigitan-ukuran pemrograman pertanyaan yang Anda bisa mencari tahu sendiri, dan Anda bisa bekerja sendiri, tetapi dalam konteks bagian, kita akan bekerja melalui kolektif beberapa masalah tersebut dan pergi ke mana percakapan membawa kita. Selain itu, dalam bagian akan Anda memiliki kesempatan untuk meninjau pengajuan PR yang telah Anda buat, teman sekelas Anda, terkadang anonim, selalu dengan opt-in, jika Anda ingin berbagi bekerja bahwa Anda telah disampaikan. Jadi itu benar-benar akan menjadi percakapan dua-arah, dan kesempatan untuk meninjau pekerjaan Anda sendiri dalam arti yang jauh lebih dinamis, bukan hanya melihat sebuah PDF atau cetakan dan berpikir tentang hal itu selama beberapa detik dan belum tentu menyerap umpan balik yang staf pengajar 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 sebelah kiri atas, dan Anda akan mendapatkan untuk mengetahui hal ini dari waktu ke waktu, tetapi ini adalah utilitas berbasis web yang kita akan digunakan dalam bagian yang akan memungkinkan Anda dan 15 atau jadi teman sekelas Anda untuk login dengan Anda mengajar sesama di depan ruangan. Anda akan dapat menulis kode dalam jendela ini. Anda akan dapat chatting elektronik jika Anda tidak benar-benar di bagian di saat tertentu, dan sesama mengajar Anda, ketika tiba saatnya untuk mendiskusikan Alice atau Bob solusi di kelas, rekan mengajar dapat mengklik tombol, dan voila, proyek ke layar apapun mahasiswa yang telah bekerja pada pada titik waktu tertentu. Jadi bagi Anda memiliki 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 staf pengajar dan mahasiswa. Dan penelusuran. Jadi untuk ini set masalah, kami juga tidak hanya menawarkan spesifikasi itu sendiri, yang umumnya merupakan PDF yang cukup rinci, tetapi juga hal-hal yang diketahui sebagai walkthrough, dimana salah satu anggota staf pengajar akan memimpin sebuah mingguan sesi yang benar-benar menuntun Anda melalui sejumlah masalah, memberikan Anda petunjuk, rekomendasi, dan titik awal, dan dimaksudkan untuk meminta sangat sering mengajukan pertanyaan: di mana saya mulai? Nah, Anda mulai baik dengan menyelam ke spec 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 menjadi populer waktu, tetapi karena kita kemudian bisa memfilmkan mereka sangat awal minggu dan mendapatkan online dengan akhir pekan mereka sehingga Anda memiliki sebagai hari sebanyak mungkin untuk benar-benar terlibat dalam konten itu juga. Tapi lebih pada bahwa dalam kuliah ini hari Jumat. Sekarang dalam hal struktur pendukung, statistik yang paling signifikan adalah mungkin rekan-rekan mengajar 108 dan asisten saja bahwa kursus ini saat ini memiliki. Jika beberapa dari Anda yang tidak memiliki kelas bertentangan ingin bergabung saya di sini di atas panggung, itu adalah orang-orang yang pada akhirnya akan benar-benar mendefinisikan Anda pengalaman dalam kursus. Saya punya banyak rekan-rekan mengajar saya mengajar kelas di hari, dan saya ingat sangat sedikit dari mereka, terus terang, namun sampai saat ini, saya masih ingat antara beberapa orang 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 adalah tradisi CS50, di transept dari Memorial Hall, tapi biarkan aku pertama memperkenalkan Anda kepada Nate Hardison lagi, Rob Bowden, dan Tommy McWilliams, tentu saja tahun ini kepala. Jika kalian akan bergabung dengan saya di sini di tengah. Mereka semua telah menyiapkan beberapa komentar inspirasional. TOMMY McWilliams: Saya tidak mempersiapkan apa-apa inspirasional. Tapi nama saya Tommy. Aku senior di Mather. Saya sedang belajar ilmu komputer, benar-benar bersemangat untuk berada di tim dan kepala akan 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 yang baru. Ini benar-benar suatu keterampilan yang akan sangat berharga, tidak peduli apa bidang Anda pergi ke. Dan tidak hanya itu, tapi kami menawarkan lebih bebas daripada permen Tentu saja lain di kampus. Jadi aku hanya benar-benar melihat ke depan untuk melihat apa yang orang membangun semester ini. Dan jika seseorang memiliki pertanyaan sekarang atau sepanjang semester, pasti merasa bebas untuk menjangkau saya, dan saya 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 semester ini benar-benar hebat, dan sebagai Selama Anda bersedia untuk dimasukkan ke dalam upaya, ada begitu banyak Anda bisa mendapatkan keluar dari kursus ini. Anda bisa mendapatkan banyak menyenangkan keluar dari kursus ini. Kami tidak akan memiliki staf 108 jika Anda tidak bisa mendapatkan banyak kesenangan 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 yang saya sudah menikmatinya sejauh ini. Dan jika Anda pernah ingin belajar bagaimana untuk datang ke sembilan atau sepuluh dalam biner, datang bicara padaku. SPEAKER 1: Jadi pada risiko meninggalkan orang-orang di sini di atas panggung sedikit canggung, mari kita berputar melalui hanya beberapa hal yang menunggu sebelum kita menunda untuk kue. Apa yang kebohongan depan? Nah, jika kita mengambil cepat melihat kembali pada tahun lalu, dalam masalah set nol, Anda pendahulu terjun ke dalam bahasa pemrograman yang disebut Scratch, sebuah grafis bahasa pemrograman yang akan anda gunakan pada hari-hari pertama saja, mulai Jumat ini, untuk mempelajari beberapa konsep asing bagi sebagian dari Anda, tetapi menyadari akan ada aspek canggih ini bagi anda dengan sebelum latar belakang. Dalam masalah tahun lalu mengatur dua, siswa terjun ke dunia kriptografi, seni enciphering atau mengacak informasi, melaksanakan program bahwa data dienkripsi, dan dalam edisi hacker terakhir Tahun itu siswa melanjutkan untuk memecahkan atau decode password dalam khas komputer xc sandi. file dengan datang dengan algoritma dan heuristik untuk brute force mencari tahu apa password seseorang pada komputer sistem itu. Tahun lalu atau dua, dalam masalah menetapkan empat siswa melakukan menerapkan permainan Sudoku. Dan edisi hacker tahun itu tidak siswa tidak hanya menerapkan cara memainkan permainan, tapi sebenarnya pemecah suatu, dimana komputer dapat memberikan Anda, manusia, dengan petunjuk, lebih cepat dari yang Anda memecahkan masalah tertentu. Dalam sejumlah masalah lima, kami melakukan forensik, ini seni memulihkan informasi itu sengaja atau dengan sengaja dihapus dari komputer. Tahun lalu, staf pengajar dan saya berjalan di sekitar kampus mengambil foto-foto 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 favorit kami set masalah, dan aku menggali sebuah lama email dari salah satu pendahulu Anda yang menyenangkan untuk baca beberapa waktu yang lalu. Ini adalah dari Matt. Dear David, kemarin adikku sengaja diformat kamera nya SD kartu dan kehilangan satu tahun dari foto kenangan. Dia sayangnya bukan yang terbaik di back up data nya. Tapi situasi ini mengingatkan saya p-set lima, jadi saya pikir saya akan mencoba untuk menjalankan kartu SD nya melalui program pemulihan yang saya tulis sepanjang perjalanan kembali pada bulan Oktober. Jadi setelah empat jam mencari tahu bagaimana untuk membuat gambar mentah dari diformat SD card - Google terbukti cukup membantu dalam hal ini, sampai saya ironisnya kebetulan menemukan instruksi Anda di Internet - setelah bermain-main-main dengan beberapa argumen baris perintah, saya berhasil untuk membuat gambar forensik, dan setelah menginstal dan mengkonfigurasi CS50 Appliance, saya berhasil menjalankan gambar forensik melalui program saya dan memulihkan semua 1.027 foto-foto adik saya, menulis Matt. Dalam sejumlah masalah tahun lalu enam, kami memberikan siswa kamus 150.000 kata bahasa Inggris dan menantang mereka untuk menulis sebuah spell checker yang pertanyaan dijawab dari bentuknya, kata ini dieja dengan benar atau salah secepat mungkin. Dan pada opt-in dasar adalah siswa diperbolehkan untuk kemudian menantang teman sekelas dengan mem-posting hasil mereka, jumlah RAM yang mereka gunakan, jumlah CPU siklus atau detik yang mereka gunakan, sehingga siswa kemudian peringkat pada kursus ini situs - lagi, aspek murni opsional, tapi menyenangkan dalam sangat sering siswa akan mendapatkan nomor posisi 10 atau lebih besar di papan, di website, pergi untuk makan malam dan kemudian kembali, dan menyadari teman sekamarnya baru saja beringsut di depan dia di papan besar, sehingga menuangkan dua atau tiga jam hanya untuk satu nya atau teman sekamarnya up. Jadi kami berharap untuk sesuatu yang serupa tahun ini juga. Dalam sejumlah masalah yang kita 7 mengarahkan ke arah pemrograman web, sebenarnya pemecahan masalah dalam lingkungan yang selalu semakin umum dari browser web. Tahu maka semakin menurun kita men-download perangkat lunak pada Mac dan PC, namun semakin, kita melakukannya semua dalam web. Dan memang, tahun lalu, sekitar 88% dari proyek akhir siswa dalam kursus adalah web-based. Dan orang-orang, juga merupakan keterampilan yang Anda akan berasal dari kelas ini dengan end saja, karena apa yang menanti di akhir kursus adalah Fair CS50, ini Pameran yang didasarkan pada gagasan yang adil ilmu pengetahuan, tetapi dalam versi ini adil melakukan semua siswa di kelas membawa laptop mereka, dan mereka teman-teman, dan keluarga, dan orang lain untuk Northwest Science, sebuah bangunan besar di kampus, menyiapkan laptop mereka, mendapatkan beberapa makanan, mendapatkan beberapa popcorn dan minuman, dan kemudian menunjukkan proyek terakhir mereka untuk semua orang hadir dalam, yang tahun lalu nomor beberapa peserta 2.500 dari seluruh kampus, dan ungkapan-ungkapan seperti ini, dan seperti ini tidak jarang di pameran tersebut. Menjelang pameran adalah Hackathon CS50, kesempatan untuk naik pada Harvard shuttle, kepala menyusuri jalan untuk 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, 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 Anda proyek akhir, apakah bekerja sendiri atau dengan teman-teman dalam kolaboratif lingkungan, di mana seluruh staf pengajar bekerja dengan baik ke dalam malam dengan pasokan banyak Hong Kong makanan Cina. Pada 5:00 AM gambar tersebut akan seperti ini cukup umum tahun ini juga. Jadi kita menunda suatu saat untuk kue, perlu diingat bahwa 76% persen dari orang di ruangan ini tidak memiliki pengalaman sebelumnya, dan sesuai silabus, apa yang akhirnya penting dalam kursus ini tidak begitu banyak di mana Anda berakhir relatif terhadap teman sekelas Anda, tetapi di mana Anda, di minggu 11, berakhir relatif terhadap diri Anda dalam minggu 0. Ini adalah CS50.