[Powered by Google Translate] [Bermain muzik] DAVID J. MALAN: Ini adalah CS50. Jadi saya adalah di mana anda kini beberapa tahun lalu. Dan apabila saya adalah seorang bayat pada masa itu, saya tidak benar-benar pada jalan ini melakukan sains komputer, melakukan kejuruteraan. Malah, saya datang ke tempat ini sebagai concentrator kerajaan. Saya telah di sekolah tinggi, seorang kanak-kanak yang menyukai perkara-perkara seperti sejarah. Saya suka undang-undang perlembagaan, jenis bahasa Inggeris dan matematik. Ia seperti jenis sempurna, tetapi tidak semestinya tahu perkara-perkara yang saya tidak pernah diajar di sekolah tinggi. Dan supaya tahun bayat, saya terpaksa trepidation ini di mana walaupun walaupun saya suka komputer, bermain permainan komputer dan suka, saya pasti tidak pernah memikirkan diri saya sebagai orang komputer, seorang saintis komputer. Dan terus-terang, saya fikir rakan-rakan saya di sekolah tinggi yang telah mengambil sains komputer adalah sedikit daripada Geeks. Dan lagi, apabila saya sampai di sini di kampus, terdapat kursus ini, CS50. Dan pada masa itu, ia mempunyai reputasi ini benar-benar sesuatu untuk berhati-hati. Ia adalah kursus yang baik. Ia adalah kursus yang menyeronokkan. Tetapi anda terpaksa untuk benar-benar mendapatkan kaki itu di pintu. Dan walaupun saya tidak menyeberangi bahawa ambang tahun bayat. Dan saya pergi dalam perjalanan saya menjadi penumpu kerajaan, pergi melalui seberapa banyak prasyarat seperti yang saya boleh, merentas mengira perkara untuk gen ed atau teras dan sebagainya. Dan kemudian tahun kedua, bagi sebab-sebab tertentu, saya mendapat sehingga saraf untuk melangkah kaki di Pusat Sains B, di mana CS50 adalah. Sebuah komputer yang sangat terkenal dengan nama Brian saintis Kernighan mengajar di sini bahawa tahun. Dan walaupun itu, saya hanya bersedia untuk benar-benar mengisi kad kajian saya dengan mengambil kelas ini lulus / gagal. Saya melihat sekeliling saya dan saya menganggap semua orang dalam satu ini Harus mengetahui cara yang lebih lanjut mengenai sains komputer, kira-kira pengaturcaraan, mengenai komputer. Semua orang salah satu mesti pengaturcaraan, di dalam bilik ini, sejak mereka 12. Tetapi, sesungguhnya, yang tidak kes itu. Dan jadi hari terakhir, hari Isnin kelima semester, adakah saya mengambil lompatan dan perubahan ini dari pas / gagal kepada gred surat dan akhirnya mengubah tumpuan saya bahawa hari yang sama untuk sains komputer. Sekarang, yang tidak objektif kami di dalam kelas ini, untuk menjadikan anda semua ke sains komputer concentrators, tetapi benar-benar mencadangkan bahawa terdapat peluang dalam bidang ini dan dalam bidang-bidang lain yang anda mungkin agak tidak dikenali memandangkan bahawa sekolah tinggi biasanya mengikuti agak jalan kurikulum standard, tetapi untuk meneroka dalam, pada CS50, ke perairan baru. Dan jika anda sedang duduk di sini hari ini berfikir anda tidak sebenarnya kepunyaan, begitu juga kebanyakan orang di sebelah kanan anda dan ke kiri. Malah, pada tahun lepas, 76% daripada pelajar-pelajar di dalam kelas ini tidak mempunyai pengalaman. Jadi bertentangan dengan apa yang anda mungkin berfikir, kebanyakan orang duduk di sekitar di sini, hari ini tidak, pada hakikatnya, mempunyai apa-apa terlebih dahulu pengalaman. 18% telah mengambil satu CS kelas, dan 6% telah diambil dua atau lebih. Sementara itu, kami meminta pelajar kami setiap tahun untuk menggambarkan diri mereka dari segi tahap keselesaan. Dan tidak ada definisi salah ini. Anda hanya jenis tahu jika anda tidak sangat selesa pada CS50. Dan tahun lepas, kita mempunyai 55% dalam sepotong pai hijau di sini menggambarkan diri sebagai pelajar, kurang selesa yang terus terang tidak mempunyai idea mengapa mereka walaupun hendak membeli-belah kursus pada bahawa hari pertama. Tetapi yang sama 55% kekal dengan kami sehingga akhir istilah ini, seperti yang dilakukan 35% yang berada di suatu tempat di antara mereka yang lebih selesa dan mereka yang kurang selesa. Jadi, apakah sains komputer? Baik di sekolah tinggi, dan benar-benar lebih umumnya keluar terdapat hari ini, terdapat ini persepsi atau ini salah tanggapan bahawa komputer sains pengaturcaraan. Dan itu benar-benar salah satu aspek sains komputer. Tetapi pengaturcaraan, apa jua bahasa, adalah benar-benar hanya alat bahawa ahli-ahli sains komputer gunakan untuk menyelesaikan masalah, sama ada dalam domain sains komputer atau semakin ini hari dalam bidang sains fizikal, sains semula jadi, perubatan, kemanusiaan, untuk menganalisis set data yang besar. Di mana-mana kini terdapat komputer dan data, terdapat peluang untuk memohon pengajaran di dalam kelas seperti CS50. Jadi mari kita menyelesaikan masalah yang seorang saintis komputer mungkin pergi tentang penyelesaian dan cuba untuk meletakkan beberapa jargon, meletakkan beberapa kerangka konseptual, kira-kira apa yang sebaliknya mungkin beberapa idea yang agak abstrak. Jadi ini adalah telefon. Anda tidak melihat perkara-perkara ini terlalu kerap, walaupun kolej nampaknya masih mempunyai ini di rumah dan asrama. Tetapi kembali pada hari apabila anda mahu menggunakan telefon seperti ini, tiada buku alamat elektronik dalam telefon bimbit anda. Sebaliknya, anda ditarik ke atas sesuatu dikenali sebagai buku telefon. Dan buku-buku telefon mempunyai kira-kira 1,000 muka surat, biasanya. Mereka telah disusun dari A ke Z. Dan anda hanya terpaksa untuk mencari halaman yang betul untuk mencari orang yang anda sedang mencari untuk mencari nama dan nombor telefon mereka. Sekarang bagaimana anda pergi tentang mencari seseorang dalam buku ini? Katakan matlamat saya adalah untuk memberikan kawan saya, Mike Smith, panggilan. Nah, bagaimana saya boleh pergi tentang mencari Mike Smith? Nah, satu pendekatan yang sangat munasabah, jika naif dan tidak cekap, akan bermula di sini dan mula Melibas untuk apapun halaman 4 hingga halaman 5 hingga 6 halaman, dan linear, bersama-sama garis lurus, pergi melalui buku telefon ini. Dan walaupun ia adalah gonna menjadi sangat membosankan, jika Mike Smith adalah di dalam buku ini, saya akhirnya gonna sampai dia apabila saya akhirnya flip seksyen S buku ini. Sekarang sudah tentu, anda tidak perlu untuk menjadi seorang saintis komputer untuk tahu bahawa ini adalah satu cara yang bodoh menyelesaikan masalah ini. Apa manusia biasa akan lakukan? Dilakukan dengan baik. Jadi, anda akan flip ke tengah, betul. Jadi, anda akan flip kira-kira ke tengah, melihat di sini, dan saya seolah-olah untuk mencari diri dalam seksyen M. OK, jadi M adalah jelas tidak apa yang saya cari. Dan Mike ke kanan, jadi untuk bercakap, seksyen ini. Dan sebagai sebahagian daripada anda telah dilihat sebelum ini, kita benar-benar boleh sekarang meneruskan lusuh masalah ini pada separuh. [Tepukan] Anda benar-benar tidak perlu yang kagum. Mengoyak ia turun jahitan sebenarnya tidak yang keras. Orang sebenar melakukannya dengan cara ini. Tetapi, turun jahitan, kita kini mempunyai dua masalah, setiap yang separuh besar. Dan kita benar-benar boleh membuang bahawa separuh daripada masalah jauh. Sekarang kita sedang ditinggalkan bukan dengan 1,000 muka surat tetapi, katakan, 500. Jadi sekarang apa yang saya lakukan? Nah, manusia biasa akan pergi kira-kira di tengah-tengah lagi. Dan saya dapati diri saya seksyen R. Jadi tidak cukup di sana. Jadi sekali lagi, saya boleh lusuh masalah ini pada separuh. [Tepukan] Terima kasih. Jadi sekarang saya hanya mempunyai kira-kira 250 muka surat. Dan saya boleh melakukan ini sekali lagi dan lagi dan lagi dan pergi dari 125 ke kira-kira 60 hingga 30 hingga 15 dan sebagainya. Dan akhirnya, saya akan mendapat dikecutkan kepada salah satu halaman S yang, jika dia dalam buku telefon, Mike Smith harus. Sekarang, itulah algoritma jelas agak munasabah, dan ia adalah satu masa penggunaan algoritma dalam kes ini. Tetapi apa yang kita boleh menyusun mengambil daripada itu? Nah, pendekatan pertama, membetulkan jika naif walaupun ia itu, boleh digambarkan oleh baris ini lurus. Jadi, jika pada paksi-x di sini kita katakan ini adalah saiz masalah, jadi sebagai paksi x pergi ke kanan, masalah menjadi semakin besar. Apakah maknanya menjadi lebih besar dalam konteks masalah ini? Lebih banyak muka surat dalam buku telefon. Ada sesuatu yang lebih kita boleh mengukur. Pada paksi-y, masa untuk menyelesaikan. Jadi, sebagai paksi naik, ia mungkin mengambil masa yang lebih. Jadi bahawa pendekatan pertama linear mencari dari 1 halaman untuk halaman dot dot dot 1,000 adalah satu prosedur linear, linear algoritma atau proses. Dan kita boleh menggambarkan ia oleh baris ini lurus. Jika saya menambah satu halaman yang lebih kepada buku telefon, ia akan, dalam kes terburuk, membawa saya satu halaman lebih flip untuk mencari Mike Smith. Jika saya menambah 100 muka surat, 100 lebih lambungan atau unit masa. Sekarang, saya boleh menjadi sedikit pandai dengan ini. Saya tidak perlu untuk benar-benar menjadikan ia satu halaman pada satu masa. Saya boleh melakukan perkara-perkara seperti 2 pada satu masa atau 4 pada satu-satu masa. Tetapi, walaupun itu bukan semua yang asasnya yang lebih baik. Walaupun ia adalah 2 pada satu masa, yeah, yang jenis bergerak ini Selaras turun sedikit, dan ia bermakna bahawa ia mengambil masa kurang diberi bilangan yang sama muka surat. Tetapi ia bukan asasnya yang lebih baik. Tetapi apa yang kita hanya lakukan, dan apa yang anda semua lakukan naluri? Anda sebenarnya mencapai sesuatu yang sedikit seperti ini, masa logaritma, di mana masalah ini boleh membesar dan berkembang dan berkembang tetapi kos menyelesaikan masalah itu, masa diperlukan untuk menyelesaikan masalah itu, tidak berkembang hampir secepat. Ini akan menjadi lengkung logaritma, log n, di mana n adalah hanya saiz masalah, bilangan muka surat ini buku telefon. Dan apakah ini bermakna dari segi sebenar? Nah, jika kita mempunyai seperti 500 orang di dalam bilik ini sekarang, atau sebaliknya, jika kita mempunyai - metafora pergaulan, tidak melakukan contoh yang lagi tahun ini - jadi jika kita mempunyai 500 muka surat dalam buku telefon dan kita melipat gandakan 1,000, dalam model ini lebih bijak Melibas ke tengah, berapa banyak air mata halaman lebih ia mengambil masa untuk pergi daripada 500 mukasurat hingga 1,000? Nah, hanya satu muka surat lusuh tambahan. Jika anda menyerahkan saya buku telefon 2,000 halaman, ada masalah besar. Saya hanya lusuh ia satu masa tambahan. Jadi dalam jangka pendek, saiz masalah boleh membesar lebih cepat daripada kos sebenarnya menyelesaikan ia. Sekarang ini adalah hanya satu algoritma tersebut. Terdapat lain kita boleh menyelesaikan dalam cara yang sama. Dan jadi mengapa tidak kita lakukan ini? Jika anda akan jenaka saya, walaupun canggung sini dalam Sanders, pergi hadapan, semua orang, jika anda dan boleh berdiri di tempat. Seperti yang anda lihat pada skrin di sini, ini adalah satu algoritma, proses, program komputer jika anda akan, yang akan disempurnakan oleh manusia yang mempunyai hanya 3 langkah. Kami sudah berada pada langkah 1. Anda telah berdiri. Dan kini berfikir kepada diri sendiri nombor 1. Itu adalah nombor semasa anda. Semua orang di sini adalah nombor 1. Langkah 2, berpasangan dengan kedudukan seseorang, menambah nombor anda bersama-sama, dan kemudian menggunakan wang sebagai nombor baru anda. Salah satu daripada anda harus duduk, kemudian mengulangi. SPEAKER 1: 205. DAVID J. MALAN: Apa itu? SPEAKER 1: 205. DAVID J. MALAN: OK. SPEAKER 2: Dia mempunyai orang-orang yang lain. DAVID J. MALAN: 205? SPEAKER 3: Yeah. DAVID J. MALAN: OK. 3. SPEAKER 4: 400. SPEAKER 5: 5. 700. DAVID J. MALAN: Baiklah. Pada ketika ini, kurang dan kurang orang harus berdiri. Ini adalah di mana ia mendapat lebih janggal. Seseorang di sini. Di sini. Bahagian yang paling teruk anda juga perlu sangat lisan melakukan aritmetik di hadapan beratus-ratus Harvard undergrads. OK. Sedikit pepijat sini. Okay. Apakah nombor anda? SPEAKER 6: Sembilan. DAVID J. MALAN: Apa itu? SPEAKER 6: Sembilan. DAVID J. MALAN: Sembilan. Okay. Apakah nombor anda? SPEAKER 7: 179. DAVID J. MALAN: 179? Okay. Baik. Jadi 188. Jadi anda semua boleh duduk. Apakah nombor anda? SPEAKER 8: 118. DAVID J. MALAN: 118. Sesetengah undergrad pintar mula melakukan matematik. Okay. 118, 188. Apa lagi yang kita dapat? SPEAKER 9: 71. DAVID J. MALAN: 71. SPEAKER 10: 79. DAVID J. MALAN: 79. Okay. SPEAKER 11: 47. DAVID J. MALAN: 47. Yang, tenaga pengajar, yang memberikan kita berapa banyak? 705 adalah jawapannya. Dan itulah, pada hakikatnya, betul-betul betul. Tidak, kita sebenarnya sedikit luar sana. Tetapi bagaimana ini harus telah bekerja? Apa yang sepatutnya hanya berlaku? Jadi, pada setiap lelaran algoritma ini, kami bermula dengan beberapa bilangan orang yang berdiri, dan itu adalah n jumlah bilangan pada mulanya. Kemudian separuh daripada anda duduk, dan kami pergi ke n lebih dari 2. Kemudian separuh daripada anda duduk. Kami pergi ke n lebih 4, n lebih 8, n lebih 16, dan sebagainya, sehingga, walaupun ia sejenis hancur sana pada akhir, dalam teori, semua orang berpasangan luar balkoni dan mezanin dan orkestra di sini, kita akan mempunyai hanya satu-satunya orang yang berdiri dengan jumlah nilai, dalam kes ini, 705. Sekarang, apakah itu bermakna, walaupun, untuk masa berjalan? Baik berfikir tentang jika saya sebagai manusia yang telah dilakukan ini secara manual. Saya akan mula agak naif tetapi betul dengan 1, 2, 3, 4, 5, 6, 7, 8, dan sebagainya. Mengambil sekian lama. Jadi saya boleh melakukan lebih baik, kan? Di sekolah rendah, anda tidak hanya mengira orang. Anda mengira dalam berdua-dua. Jadi 2, 4, 6, 8, 10, 12. Dan yang mendapat lebih cepat. Tetapi sekarang asasnya, dengan memanfaatkan kolektif perisikan semua orang di dalam bilik ini, kita boleh mencapai membendung lebih seperti ini, di mana kini bilangan orang-orang di dalam bilik ini boleh berganda. 700 orang lagi berjalan ke bilik ini untuk 1,400 orang, tetapi ia hanya akan membawa kita satu lelaran lebih daripada ini algoritma untuk menyelesaikan. Dan sebagainya, semakin hari ini, apabila kita mempunyai ini besar data set di Facebook dan Google dan sebagainya, ia adalah menyelesaikan masalah dengan sedikit wawasan, ini sedikit kepandaian, itu membolehkan kita semakin berbuat banyak, lebih perkara yang lebih berkuasa dengan komputer hari ini. Jika anda seperti ini jenis perkara, anda mungkin telah melihat pada Hari Teka-teki sendiri Facebook CS50 datang Sabtu ini. Jika anda ingin untuk mengambil bahagian dalam sesuatu seperti ini di mana anda, dalam 2 atau 3 atau 4 pasukan 4, ingin untuk menyelesaikan beberapa teka-teki seperti yang satu ini, anda berdiri peluang untuk memenangi beberapa hadiah hebat, antaranya ialah Wii dan beberapa kad hadiah atau beberapa Barangan Istimewa Facebook lain. Sabtu ini, tengahari hingga 03:00, pergi ke cs50.net/rsvp bagi apa-apa. Dan slaid ini adalah dalam talian jika anda ingin untuk bermain-main. Masalah tahun ini hendaklah baru. Anda boleh melihat di dalam kelas, terlalu, lebih-lebih kamera tahun ini. Jadi, bukan sahaja kursus akan difilemkan dalam cara yang biasa, CS50 juga boleh mengambil bahagian dalam dokumentari pada tinggi pendidikan yang melihat pengalaman transformatif bahawa pelajar boleh mempunyai hari ini dalam ijazah kursus pengajian. Maka ke arah ini, maka, bukan sahaja kita akan penggambaran untuk itu, kita akan penggambaran serta untuk semakin kita penonton dalam talian, serta pada majlis ini di sini penonton. Jadi kami mengalu-alukan kepada kelas tahun ini Harvard kami Sekolah pelajar Pengembangan, Graduate School of Design, Pendidikan, perniagaan, sekolah Sekolah Kennedy, sekolah undang-undang, serta bilangan pelajar dari Belmont, Lexington, Newton, dan Watertown sekolah tinggi. Selamat datang kepada anda semua. Di samping itu pada tahun ini, anda mungkin pernah mendengar, Harvard dan MIT, dan Berkeley sekarang, telah memeterai satu kerjasama perkongsian, satu inisiatif yang dipanggil EDX, yang merupakan inisiatif untuk membuka pendidikan untuk semua lebih orang dalam talian dan asasnya mula melakukan penyelidikan pada skala yang lebih luas kepada bagaimana orang belajar. Dan sebagainya CS50 akan menjadi kursus pertama kolej menyertai dalam inisiatif itu juga. Yang bermaksud anda akan mempunyai akses kepada semua alat-alat yang lebih, semua kandungan lebih kokurikulum, semua video yang lebih kandungan hasilnya, serta, pagi semalam, 53.019 orang yang telah mendaftar untuk mengambil CS50 bersama-sama dengan anda tahun ini di Internet. Jadi tanpa - [Tepukan] Jadi, apakah ini bermakna, khususnya, adalah bahawa pengajaran kakitangan dan saya telah menghabiskan masa agak sedikit masa ini musim panas bersedia untuk jatuh, kedua-dua di kampus dan di luar, jadi bahawa kita boleh mula untuk membina korpus menarik, menarik, melibatkan kandungan pendidikan yang memberi tumpuan, khususnya, atas kenderaan yang lebih intim bahan yang agak kompleks. Jadi, dalam tambahan kepada kuliah dan seksyen kursus dan perkara-perkara yang dipanggil walkthroughs, yang kita akan mengkaji semula hanya dalam bit, kita juga akan mempunyai seluar pendek ini tahun ini yang membolehkan anda untuk melibatkan diri dengan kursus dari sudut yang berbeza sama sekali. Jadi mari kita gunakan ini sebagai satu peluang untuk mengambil cepat mengintip di salah satu yang membincangkan tanggapan ini binari. Jadi, dalam bidang sains komputer, terdapat banyak perkara yang dipanggil algoritma - dua yang kita hanya mengambil melihat pada - ini prosedur untuk menyelesaikan masalah. Tetapi pada akhir hari, anda perlu mewakili maklumat entah bagaimana. Dan anda perlu untuk mewakilinya dalam cara bahawa komputer boleh faham. Dan walaupun anda tidak benar-benar memahami komputer dan anda berada di bahawa 76% sekarang, anda mungkin mempunyai beberapa kabur akal bahawa komputer entah bagaimana berurusan dengan 0 dan 1s, perduaan sistem, jadi untuk bercakap. Sekarang mengapa bahawa kes? Nah, ternyata apabila komputer pertama kali datang kira-kira, jika anda diperlukan untuk mewakili maklumat, anda boleh melakukan dengan elektrik. Dan walaupun ini adalah sedikit daripada melampaui batas, yang sangat cara mudah maklumat rakaman sama ada oleh menjadikan elektrik yang - 1 dalam binari, jadi untuk bercakap - atau titik bahawa elektrik keluar. Jadi, jika Barry, jika anda tidak keberatan, bolehkah kita meredupkan sepenuhnya hanya seketika? Ini di sini adalah 0 binari yang sangat tanpa sebab. Jika kita menghidupkan lampu sandaran, kini Sanders Theatre mewakili nilai perduaan 1. Malangnya, dengan hanya sedikit satu, dengan hanya satu set lampu, kita hanya boleh mewakili dua nombor dalam dunia, 0 dan 1. Dan ia akan menjadi baik jika komputer boleh mengira bit yang lebih tinggi daripada itu. Tetapi sesungguhnya mereka boleh. Jadi biarlah saya tarik sehingga pada skrin di sini Nate Hardison teman kami yang akan memberikan kita lihat lebih cepat tentu hanya beberapa minit pada tanggapan ini binari. [Video main] Nate HARDISON: Kembali apabila anda belajar bagaimana untuk membaca dan menulis nombor, anda belajar tentang digit 0 hingga 9. Untuk menulis nombor bulat lebih besar daripada 9, anda tahu bahawa semua anda terpaksa lakukan ialah menggunakan beberapa kombinasi digit ini, seperti dalam 52 dan 437. Jadi, cara ini menulis nombor mempunyai nama, notasi perpuluhan. Mengapa perpuluhan? Nah, akar Latin perpuluhan, decem, bermakna 10. Dan apabila anda mempunyai 10 digit dalam sistem notasi anda, 10 menjadi bilangan yang agak istimewa. Mari kita lihat pada nombor 437 ditulis dalam notasi perpuluhan kepada memahami mengapa. Kita boleh memecahkan sehingga 437 ke 400 ditambah 30 ditambah 7. Kita boleh mengambil ia selain lebih-lebih lagi yang kita telah mendapat 4 kali 100 ditambah 3 10 ditambah 7 kali 1 kali. Ingat belajar tentang tempat orang, tempat puluhan, tempat beratus-ratus, dan sebagainya? Ini adalah betul-betul di mana yang datang dari. Dan akhirnya, kita dapat melihat kami telah mendapat sejambak kuasa 10 tertanam di sini. Kami telah mendapat 4 kali 10 hingga 2 campur 3 kali 10 1 campur 7 kali 10 ke 0,. Jadi sekarang anda lihat mengapa 10 adalah khas bilangan notasi perpuluhan. Malah, kita telah mendapat nama untuk itu. Ia dipanggil asas kerana ia adalah asas eksponen dalam aritmetik kami di sini. Notasi perpuluhan bukan satu-satunya cara untuk mewakili nombor. Malah, walaupun kita menyingkirkan 2 digit melalui 9, kita boleh masih mewakili semua nombor yang kita boleh dengan perpuluhan. Jadi sekarang kita mempunyai dua digit, 0 dan 1, 2 adalah istimewa kami nombor, asas sistem notasi kami. Nama sistem notasi ini dipanggil binari sejak awalan "bi" bermakna 2. Jadi, kini mempunyai tempat yang dan puluhan tempat dan sebagainya, kita kini mempunyai tempat yang, tempat berdua-dua, merangkak tempat, dan sebagainya, oleh kuasa 2. Jadi mari kita lihat ini dengan melakukan pengiraan beberapa. Jadi, 0 masih 0, dan 1 masih 1. Walau bagaimanapun, kini bahawa kita telah mendapat tempat berdua-dua bukan puluhan tempat, 10 merupakan nombor 2. Untuk mendapatkan 3, kita menambah satu itu dan mendapatkan 11. 4, kerana kini ada tempat merangkak, diwakili oleh 100. Lima ialah 101. 6 adalah 110. 7 adalah 111. 8, sekali lagi, mempunyai tempat sendiri. Jadi ia adalah 1000. Dan saya fikir anda mendapat titik. [Video main AKHIR] J. DAVID MALAN: Jadi, ini adalah untuk mengatakan, apa yang komputer lakukan dan apa binari sebenarnya tidak begitu berbeza daripada apa kita telah mengambil untuk diberikan untuk beberapa tahun, kan? Anda menghitung sekolah gred, anda belajar untuk mengira dalam tepat fesyen bahawa Nate dicadangkan. Tetapi anda mungkin tidak benar-benar berfikir tentang hal itu kerana, hakikat bahawa terdapat adalah tempat ini yang, tempat puluhan, dan beratus-ratus tempat. Dan itulah agak sewenang-wenangnya. Dan sesungguhnya, komputer hanya menggunakan asas yang berlainan. Tetapi pada akhir hari, sebenarnya fizikal mewakili tanggapan ini daripada 0 dan 1, anda jelas tidak hanya menjadikan lampu di dalam dan luar semestinya. Yang perlu anda lakukan pada skala yang lebih halus halus. Dan oleh berbutir halus, anda mungkin ingat ini bodoh mainan sedikit dari zaman kanak-kanak, Willy Kusut dan ini sedikit zarah magnet. Zarah Jadi magnet adalah sesuatu yang anda boleh menyelaraskan dalam beberapa arah yang berbeza, mungkin utara-selatan atau selatan-utara. Dan begitu banyak jelmaan fizikal teknologi hari ini yang menggunakan binari, yang menggunakan 0 dan 1s, hanya mempunyai kemagnetan di bahagian yang sejalan perkara, sehingga ke bawah atau turun-up, dengan sekali gus mewakili 0 atau 1, masing-masing. Jadi sesungguhnya, mari kita beralih dari abstrak di sini dan melihat dalam apa yang lebih tradisional cakera keras komputer. Ini berlaku untuk menjadi sedikit lebih besar pada skrin di bahawa ia adalah daripada komputer desktop. Tetapi komputer riba hari ini masih mempunyai teknologi yang sama, tetapi beransur-ansur digantikan dengan perkara-perkara yang lebih canggih yang sebenarnya tidak mempunyai bahagian yang bergerak. , Kemudian, di dalam cakera keras. [Video main] SPEAKER 12: cakera keras adalah di mana PC anda menyimpan kebanyakan data tetap. Untuk berbuat demikian, data bergerak dari RAM bersama-sama dengan perisian isyarat yang memberitahu cakera keras bagaimana untuk menyimpan data. Litar pemacu keras menterjemahkan isyarat ke turun naik voltan. Ini pula mengawal bahagian yang bergerak cakera keras, beberapa beberapa bahagian yang bergerak kiri dalam komputer moden. Beberapa isyarat mengawal motor yang berputar pinggan-pinggan logam bersalut. Data anda sebenarnya disimpan atas pinggan-pinggan. Isyarat lain menggerakkan kepala baca-tulis untuk membaca atau menulis data pada pinggan-pinggan. Mesin ini adalah begitu tepat bahawa rambut manusia tidak boleh malah melepasi antara kepala dan pinggan-pinggan berputar. Namun ia berfungsi pada kelajuan yang hebat. [Video main AKHIR] DAVID J. MALAN: Jadi, jika kita kini mengezum masuk pada apa yang sebenarnya berlaku di atas pinggan-pinggan ini dari segi kemagnetan, kita mempunyai ini kedua dua kelihatan. [Video main] SPEAKER 13: Mari kita melihat apa yang kita hanya lihat dalam gerak perlahan. Apabila nadi elektrik yang ringkas dihantar kepada membaca-menulis kepala, ia lambungan elektromagnet kecil untuk sebahagian kecil daripada kedua. Magnet mewujudkan satu bidang yang mengubah kekutuban kecil, sebahagian kecil daripada zarah logam yang kot setiap permukaan pinggan. Satu siri corak ini kecil dikenakan kawasan pada cakera mewakili sedikit tunggal data dalam nombor perduaan sistem yang digunakan oleh komputer. Sekarang, jika semasa menghantar satu cara melalui baca-tulis kepala, kawasan itu adalah polarisasi dalam satu arah. Jika arus yang ditetapkan dalam arah yang bertentangan, polarisasi diterbalikkan. Bagaimana anda mendapatkan data dari cakera keras? Hanya menterbalikkan proses. Jadi ia adalah zarah pada cakera yang mendapat semasa dalam kepala baca-tulis bergerak. Meletakkan bersama-sama berjuta-juta ini segmen yang bermagnet dan anda telah mendapat fail. Kini, keping fail tunggal boleh berselerak di seluruh memandu pinggan-pinggan, semacam mes kertas di atas meja anda. Jadi fail tambahan khas menjejaki di mana segala-galanya adalah. Jangan anda ingin anda mempunyai sesuatu seperti itu? [Video main AKHIR] DAVID J. MALAN: Sesungguhnya. Jadi, kita mempunyai keupayaan untuk mewakili maklumat, nombor pada tahap yang sangat rendah. Kami mempunyai cara fizikal mewakili bahawa perkara yang sama. Tetapi kita tidak boleh benar-benar melakukan semua yang banyak faedah lagi selain daripada mungkin beberapa aritmetik dan matematik. Kami tidak mempunyai cara mewakili setakat perkara seperti huruf abjad supaya kita manusia boleh berkomunikasi menggunakan alat-alat yang sama. Tetapi bersyukur kerana wujud pengekodan, corak 0s dan 1s, yang mewakili konstruk tahap yang lebih tinggi seperti a dan b dan c dan keseluruhan ayat dan perenggan dan sebagainya. Dan begitu ASCII, yang merupakan singkatan yang merujuk kepada ini pengekodan sistem di mana nombor mewakili surat yang diberikan. Sebagai contoh, nombor yang kita tahu nilai sebagai perpuluhan 65 dikenali sebagai surat modal kepada komputer. Nilai perpuluhan 97 di dalam komputer dikenali sebagai huruf kecil a. Dan apakah yang benar-benar bermakna? Well, walaupun Nate seketika lalu hanya dihitung sehingga 0-8, jika kita terus mengira sehingga 65 atau lagi 97, corak 0 dan 1s bahawa dia akan mempunyai dilukis pada skrin akan apa sebenarnya komputer menggunakan untuk mewakili huruf A dalam semua topi atau surat dalam huruf kecil. Dan sesungguhnya, ada skim keseluruhan ini. Ini adalah, pada pandangan pertama, carta besar daripada pengekodan, tetapi jika anda memberi tumpuan hanya pada separuh betul di sini, notis dalam ruangan ini tengah kita mempunyai tanggapan ini nombor diikuti oleh huruf. Dan di atas kita mempunyai 32. Dan watak, char, kepada mana 32, integer, merujuk nampaknya watak Angkasa Bar. Apabila anda memukul watak Angkasa Bar pada laptop anda, baik, apa yang anda benar-benar menghantar nombor, corak 0 dan 1s, aliran elektrik jika anda akan, mewakili mereka 0 dan 1s bahawa komputer maka menafsirkan sebagai watak ruang pada skrin. Tanda seru adalah 33. Petikan berganda adalah 34. Dan jika kita tatal ke bawah di sini lebih ke kanan, kita lihat bahawa 65 adalah memang A, dan 97 memang huruf kecil a. Dan jadi sekarang bahawa kita mempunyai skim pengekodan, kita boleh mulakan untuk menyatakan perkara-perkara yang keluar. Malah, komputer biasanya meluahkan perasaan dalam standard unit, tidak menggunakan sedikit individu, yang sekali lagi tidak semua yang berguna untuk hanya mewakili 0 atau 1, lampu atau mematikan, tetapi agak menggunakan jujukan bit. Dan unit yang paling biasa ukuran, seperti yang anda mungkin tahu atau sekurang-kurangnya disimpulkan, adalah satu bait. Bait adalah hanya lapan bit, lapan 0s atau 1s berturut-turut. Jadi, kita boleh mula ejaan perkara keluar. Dan sebagainya, jika kita boleh, mengapa tidak cuba ini sedikit secara kolektif di sini. Adakah terdapat lapan orang di dalam bilik ini yang akan bersedia untuk tampil di atas pentas? Anda perlu menjadi selesa yang terdapat pada kamera, tetapi anda tidak benar-benar perlu tahu, jika tidak, apa yang berlaku hanya lagi. Saya melihat seorang sukarelawan di sini. Dua, tiga, empat, lima, enam, tujuh, dan bagaimana kira-kira lapan. Datang di atas. Jadi anda adalah kira-kira untuk mewakili satu bait orang. Izinkan saya telah anda menjadi tempat 128, anda tempat 64, anda 32 tempat. Tetapi kita gonna sangat pesat mempunyai menterbalikkan ini. Jadi biarlah saya bertemu dengan kamu semua di sana. Dan anda perlu berada di tempat 128 sepanjang jalan di sini. Sama seperti tempat beratus-ratus dan beribu-ribu tempat akan menjadi lebih jauh ke kiri, kita mahu placeholder terbesar untuk berada di sini di sebelah kiri juga. Kami mempunyai 32 64s ini, 16-an, 8-an, 4-an, 2, dan 1. Cemerlang. Jadi sekarang kita mempunyai - OK, anda boleh membantu saya. Jadi sekarang kita mempunyai - apa nama anda? Joanne: Joanne. DAVID J. MALAN: Joanne. Jadi Joanne dan saya kini akan menasihati lelaki ini tentang bagaimana kita boleh pergi tentang ejaan sesuatu yang keluar. Jadi pada belakang helaian kertas mereka, mereka mempunyai lembaran menipu sedikit yang akan memberitahu mereka sama ada mereka mewakili satu 0 atau 1. Dan mengapa tidak untuk kesederhanaan, kami akan mewakili 0 dengan hanya berdiri di sana canggung. Sangat baik. Atau 1 dengan mengangkat tangan anda, yang mewakili 1 Dan mari kita lihat jika kita tidak boleh mengeja keluar empat watak frasa sini. Jadi, teruskan sekarang, sukarelawan, dan melaksanakan satu pusingan oleh mengangkat tangan anda jika anda 1 atau menyimpan ia ke bawah jika anda 0. Jadi, sekarang kita mempunyai ketiga-tiga tangan sehingga, apa nombor, orang lain, mereka sebenarnya mewakili? OK. 67. Mengapa? Nah, kewarasan cepat check. Tempat 64, kerana ia adalah 1 a, itulah seperti 1 kali 64 campur 1 kali 2, jadi itulah 66 campur 1 kali 1. Itulah campur 1, jadi 67. Jadi sekarang ini lelaki secara kolektif mewakili 67 yang nampaknya mewakili apa di sini di ASCII? OK. Jadi c. Semua hak. Jadi sekarang mari kita meneruskan untuk pusingan dua. Semua orang bermula dengan tangan mereka ke bawah. Dan pada pusingan kedua - sebenarnya di sana tidak banyak peranan di sini, saya rasa, tetapi kami akan berpura-pura. Jadi pusingan kedua, meningkatkan atau menurunkan tangan anda. Semua hak. Penonton, apa yang kita sekarang menyatakan adalah 83. Jadi, anda boleh lakukan matematik. Tetapi bagi sesiapa yang tangan adalah sehingga, anda menambah dalam bilangan yang mereka wakili. Jadi sekarang kita mempunyai 83. Mari kita mengembangkan lembaran menipu sedikit, dan kita kini mempunyai? [Didengar] DAVID J. MALAN: OK. Ini mungkin jelas di mana kita pergi di sini, tetapi walau bagaimanapun, pusingan tiga. OK. Pusingan tiga adalah baik untuk pergi ke sana. Jadi pusingan tiga, apakah bilangan lelaki ini sekarang mewakili? OK. Saya dengar 53, yang kini mewakili? Menarik. Sekarang mengapa ini jenis keputusan intuitif kaunter, kan? Jika kita mahu untuk mewakili 5 - kita semua mungkin tahu di mana ini akan - kenapa saya tidak hanya meningkatkan tempat 4 dan tempat yang 1 ini? Nah, menyedari bahawa terdapat perbezaan, pada asasnya, antara bagaimana komputer menafsirkan bit ini. Jika anda cuba untuk mewakili nombor 5, maka benar-benar, kita hanya mengangkat tangan nombor 4 dan meningkatkan bilangan tangan 1. Tetapi kita tidak mewakili nombor tersebut di sini. Konteks di sini di atas pentas adalah bahawa kami mewakili aksara, atau aksara. Dan dalam konteks ini komputer perlu sedar bahawa, oh, ini corak bit bukan nombor sahaja, ia adalah sebenarnya mewakili konsep tahap yang lebih tinggi, dalam kes ini surat abjad. Jadi hakikat bahawa ia kini mewakili nombor 5 dengan nilai 53 adalah kerana dalam ASCII perkara yang kita estetika melihat sebagai nombor 5 sendiri memerlukan corak bit. Kerana mengapa? Nah, dunia hanya memutuskan untuk menggunakan nombor yang lebih rendah, 0, 1, 2, 3, untuk apa yang kelihatan menjadi perkara-perkara yang agak samar-samar. Dan sesungguhnya, ini adalah watak-watak yang tidak berada di keyboard, ungkapan khas yang anda perlukan dalam komputer untuk melakukan perkara-perkara yang menarik, tetapi manusia tidak pernah sebenarnya menaip mereka. Jadi 53 sememangnya mewakili 5. Sekarang, hanya sebagai cek kewarasan akhir, apakah nombor yang sepatutnya mereka mewakili dalam hanya seketika? PENONTON: 48. DAVID J. MALAN: OK. Jadi 48. Dan sesungguhnya, teruskan. Pusingan empat. 16 campur 32 adalah, sesungguhnya, 48. Dan sebagainya pusingan besar tepukan, jika kita boleh, kita lapan sukarelawan di sini. Terima kasih. Anda boleh menyimpan satu ini. Jika anda - Sangat baik dilakukan. Apa-apa arahan adalah baik. Jadi, kita kini mempunyai cara yang bukan sahaja memikirkan bagaimana untuk mewakili data dan ia sebenarnya mewakili fizikal, tetapi juga melakukan perkara-perkara yang peringkat tinggi di atasnya. Sesungguhnya, ini akan menjadi tema sepanjang komputer sains membina lebih kompleks dan lebih menarik perkara-perkara di atas idea yang agak mudah, dalam hal ini kes hanya 0s dan 1s. Dalam segi mengapa ini berguna, walaupun dalam kursus seperti ini kita akan memberi tumpuan kepada asas dan pengaturcaraan dan menyelesaikan masalah, anda boleh pergi dalam sains komputer dalam apa-apa bilangan arahan. Dalam kes ini di sini, ini adalah satu carta yang anda mempunyai sekurang- muka surat belakang panduan tidak rasmi anda untuk CS di Harvard, salah satu hari ini dua cetakan. Ini menunjukkan banyak arahan yang berbeza di mana anda boleh pergi selepas kursus seperti ini. Pembelajaran tentang kecerdasan buatan, tentang grafik, tentang pembelajaran mesin, tentang bahasa itu sendiri. Sedarlah, terlalu, bahawa terdapat lagi laluan lain. Terdapat laluan yang lebih matematik dalam bidang sains komputer. Jika anda tidak dapat untuk mengambil sesuatu seperti CS50 ini jatuh, terdapat kursus-kursus pengenalan pada musim bunga. Sains Komputer 1, misalnya, adalah satu lagi di jalan untuk dunia baru ini. Kini sebagai mengetepikan kepentingan menyelesaikan masalah berkaitan dengan kursus, menyedari bahawa CS50 set masa beberapa lalu untuk cuba untuk menyelesaikan salah satu daripada masalah-masalah ini, masalah yang dikenali sebagai my.harvard, yang ramai di antara anda mungkin menggunakan untuk benar-benar kedai bagi kursus. Tetapi jika tidak, menyemak alat seperti ini, serta lain-lain keturunan bahawa beberapa pelajar masa lampau kita dan kakitangan telah diwujudkan. Tetapi dalam Kursus Harvard, yang merupakan alat berasaskan web - sesuatu yang anda akan mampu mereka bentuk dan menggerakkan diri sendiri, serta lagi perkara-perkara lain juga, oleh akhir semester. Sedar bahawa ini membina kepada satu set data terbuka, dalam kes ini katalog kursus, dan membolehkan pelajar dalam kes ini untuk meneroka satu set data yang agak kompleks. Kami digali malam tadi beberapa statistik berdasarkan beberapa ribu orang yang telah menggunakan seluruh beberapa hari lepas. Jika anda telah tertanya-tanya untuk mengetahui berapa banyak kursus-kursus yang kawan-kawan anda sebenarnya cenderung untuk membeli-belah, juga, hari ini data ia menunjukkan bahawa 7,6 adalah purata bilangan kursus pada senarai membeli-belah seseorang. Dan sekarang saya akan memberikan anda, juga, statistik yang paling bilangan kursus atas senarai membeli-belah seseorang. Dan kita semua mungkin tahu seseorang seperti ini. 201 adalah rekod tahun ini. Sekarang beberapa bekas pelajar dan kakitangan kami sebenarnya meletakkan bersama-sama klip untuk melukis sekeping gambar untuk anda apa ini jalan sains komputer dan CS50 sendiri. Biar saya pergi ke hadapan dan tarik sehingga, terima kasih kepada Encik Hahvahd di sini, video yang dihasilkan oleh beberapa orang terdahulu kamu. Jika kita boleh menyimpan lampu untuk ini. [Video main] [Video main AKHIR] SPEAKER 14: (menyanyi) Kami mengambil masa kami dengan beberapa calar, untuk gelung, peristiwa, kita dapat menandingi, menyusun menggunakan kami Bash, istilah ini tidak akan menjadi jara. Menyeronokkan Hacking, beberapa makanan percuma, ceramah adalah semata-mata tidak benar, adil kami adalah seperti perjanjian yang besar, terdapat begitu banyak untuk memuja. Pergi, David Malan. Walkthroughs, saya tidak menyelamatkan. Waktu pejabat, tiada siapa yang gagal. Jika anda berfikir anda pengekodan, bayi? Hei, saya hanya bertemu anda dan ini adalah gila, tetapi di sini adalah sebab kita. Ambil CS50. Adalah sukar ke kanan kod tanpa anda, bayi. Tetapi di sini sebab kita. Ambil CS50. Hei, saya hanya bertemu anda dan ini adalah gila, tetapi di sini adalah sebab kita. Ambil CS50. Dan setiap firma bintang mahu mengupah saya, sebab lain. Ambil CS50. Sebelum anda datang ke dalam hidup saya, saya dikodkan begitu buruk, saya dikodkan supaya buruk, saya dikodkan begitu, begitu buruk. Sebelum anda datang ke dalam hidup saya, saya dikodkan begitu buruk dan saya tidak boleh kembali. Ambil CS50. DAVID J. MALAN: Saya tidak mempunyai idea yang akan berlaku. Jadi, pandangan yang lebih serius pada apa yang terletak di hadapan. Jadi dari segi jangkaan kursus ini, anda sememangnya dijangka menghadiri atau menonton kursus kuliah, mengemukakan satu set masalah, mengambil dua kuiz, mengemukakan projek akhir. Dari segi gred, menyedari bahawa komen saya pada pembukaan kira-kira lulus / gagal, sesuatu yang kita amat mengambil jantung di CS50. Tidak ada hampir cukup budaya di Harvard mencuba sesuatu dan risiko kegagalan. Sesungguhnya, kita mempunyai bilangan pelajar, dan saya sendiri, khususnya, yang telah bimbang tentang mencederakan PNG anda atau mendapat B dalam sesuatu seperti CS50. Dan peluang untuk mengambil kursus seperti ini, dan lain-lain kursus pintu masuk di peringkat pengenalan, lulus / gagal adalah satu peluang yang sangat digunakan sepenuhnya di kolej ini, secara umum. Dan jadi sila tahu walaupun saya mendaftar dalam kursus ini mulanya untuk lulus / gagal kredit sahaja. Dan walaupun saya lakukan suis pada akhir hari, ia adalah mereka lima minggu awal, sehingga hari Isnin kelima semester yang potong, yang membolehkan saya untuk benar-benar meletakkan kaki ke perairan ini baru dan sebenarnya mencuba sesuatu sangat tidak biasa dan sangat tidak selesa bagi saya pada masa itu. Jadi dari segi, sekarang, apakah peranan pelbagai sudut melalui mana anda boleh pendekatan kursus ini berkhidmat, jadi kuliah, ia terpulang kepada anda jika anda terlibat dengan kami pada orang di tempat ini. Malah, kita tahu statistik bahawa kira-kira 40% daripada anda akan jenis datang dan pergi ke kursus semester. Dan 10% daripada anda, kita tidak akan melihat lagi selepas hari ini. Dan itulah sempurna halus, untuk menjadi jujur. Salah satu ciri-ciri yang menentukan CS50 adalah bahawa terdapat sumber-sumber terkira, beberapa yang kita akan gemeretuk melalui dalam hanya seketika, termasuk kuliah dan bahagian dan perkara-perkara yang dipanggil walkthroughs dan waktu pejabat dan sebagainya. Dan ia adalah lebih banyak sumber daripada pelajar biasa harus perlu atau fizikal boleh mengambil kesempatan daripada. Tetapi kerana gaya pembelajaran berbeza yang mana-mana badan pelajar menjelma. Dan demikian dalam kuliah, peranan utama, seperti yang saya lihat, adalah tidak secara lisan menolak keluar bahan yang agak kompleks dan semestinya menyampaikan semua selok-belok asas-asas yang kita akan meneroka semester ini, tetapi agak untuk melakukan perkara-perkara seperti yang kita telah lakukan setakat ini sudah, contoh-contoh ini, yang melibatkan manusia di atas pentas, cuba untuk cat gambaran mental, dan juga mewujudkan, berani saya katakan, sesetengah detik-detik dilupakan. Supaya walaupun anda bergelut dengan topik-topik tertentu, anda perlu kenangan ini seperti, oh, walaupun yang agak abstrak, matematik, saya tersesat dengan nilai 1, seperti ia benar-benar, pada akhir hari, tidak semua yang berbeza dengan sesuatu yang saya sudah tahu. Dan jadi peranan yang kuliah akan berkhidmat, sama ada secara peribadi di sini di Sanders atau talian pada video, adalah benar-benar untuk menetapkan peringkat mental untuk anda setiap minggu untuk pelbagai konsep dan masalah bahawa kita mungkin akan terjun ke dalam. Dari segi konsep peringkat tinggi, kebanyakan kata-kata mungkin mengalir di atas kepala anda buat masa ini, dan itulah denda. Bagi anda yang datang ke kursus lebih selesa akan tahu beberapa topik-topik ini. Tetapi biasanya untuk bahawa 10% kelas yang mana mereka mempunyai latar belakang lebih, mengambil AP sains komputer, pengaturcaraan sejak mereka 12, menyedari bahawa akan ada peluang dalam seksyen dan dalam masalah set untuk pergi semua lebih mendalam ke dalam pelbagai topik, mengisi dalam apa jua jurang anda mungkin mempunyai dari sekolah tinggi anda atau sebelum latar belakang. Dari segi bahasa, menyedari bahawa apa bahasa yang kita digunakan dalam CS50 adalah sebahagian besarnya tidak relevan di akhir hari. Kita berlaku untuk digunakan, terutamanya, bahasa dipanggil C. Ke Arah akhir semester, kami memperkenalkan web-centric bahasa seperti PHP dan JavaScript. Tetapi kita dan lain-lain boleh mengajar kursus seperti ini dalam kebanyakan mana-mana bahasa peringkat tinggi moden. Python dan Ruby dan lain-lain yang agak popular pada hari ini. Kerana menyedari pada akhir hari, anda tidak belajar C. kursus ini Anda tidak belajar PHP atau JavaScript. Anda sedang belajar bagaimana untuk menyelesaikan masalah, sama ada berasaskan web, berasaskan komputer, atau data yang berorientasikan sendiri, menggunakan ini semata-mata sebagai alat. Sekarang, dari segi logistik, anda akan menggunakan sesuatu, akhirnya, yang dipanggil Appliance CS50. Tidak kira jika anda mempunyai Mac, PC, komputer Linux, atau sebagainya. Anda akan mempunyai perisian bebas yang ada bermula minggu depan dengan yang menggunakan Appliance CS50, maya persekitaran yang akan anda gunakan pada komputer anda sendiri supaya anda dan semua rakan sekelas anda mempunyai desktop Linux seragam dalam kes ini. Ia adalah set masalah, walaupun, di mana anda benar-benar akan mendapat tangan anda kotor dalam kursus ini. Dan pada akhir hari, ia adalah set masalah, saya berfikir, yang benar-benar menentukan pelajar pengalaman dalam kursus ini. Sedar bahawa banyak set masalah akan dikeluarkan dalam dua edisi, tambahan standard yang kita harapkan dan menggalakkan 90% kelas untuk menyelam ke dalam. Tetapi kita juga melepaskan beberapa set masalah dalam yang dipanggil penambahan penggodam. Dan anda tahu ia adalah penambahan penggodam kerana pada setiap halaman dengan watermark ia mengatakan samping itu penggodam di atasnya. Dan itulah untuk ini demografi anda yang mempunyai AP sains komputer dengan pengaturcaraan 10 tahun di bawah tali pinggang anda dan sedang mencari untuk mengisi jurang dan mempunyai lebih formal, bukannya otodidak, latihan, mungkin. Menyedari bahawa terdapat demografi yang sangat besar dalam kelas yang mempunyai tepat bahawa matlamat yang sama. Anda akan mempunyai lima hari lewat. Set Masalah umumnya disebabkan pada hari Khamis, tetapi anda boleh melanjutkan lima mereka tarikh akhir menggunakan ini perkara-perkara yang dipanggil hari lewat. Dan kita juga akan menggugurkan skor anda terendah pada akhir semester setiap butir-butir dalam sukatan pelajaran. Tetapi satu lagi ciri yang menentukan CS50 lebih tahun telah menjadi waktu pejabat. Ia adalah satu peluang yang anda lihat visual dalam gambar sedikit lalu di mana kita berkumpul - sebelum di makan rumah dewan, sebelum itu di bawah tanah Sains Pusat, dan tahun ini dalam Annenberg Hall - empat malam minggu 20:00-11:00 di mana anda akan mempunyai ini sangat banyak pengalaman dikongsi bekerja, berjuang melalui, masalah tertentu, tetapi dengan sokongan yang besar struktur di tempat. Malah, cara ini akan bekerja ialah anda akan tiba di Annenberg jika anda mempunyai beberapa soalan sepanjang minggu, anda akan membawa komputer riba anda, anda akan duduk, merebut makanan, dan anda akan log ke CS50 Bincangkan, utiliti berasaskan web bahawa pengajaran kakitangan telah dibangunkan yang akan membolehkan anda untuk menghantar soalan dan lihat ikut-up dalam forum perbincangan tipikal rasa, dengan menggunakan label dan sebagainya dan auto lengkap mencari data. Tetapi anda juga akan dapat, semasa waktu pejabat jam, telah soalan anda meningkat kepada manusia sebenar. Sesungguhnya, matlamat akhirnya adalah supaya satu, kita mula membina sehingga sepanjang semester korpus diharapkan maklumat yang benar-benar berguna, jawapan yang biasa kepada biasa soalan, supaya anda sendiri boleh menyelesaikan masalah dan mendapatkan unstuck secepat mungkin, tetapi manakala yang mempunyai tenaga pengajar, biasanya 20 hingga 30 daripada felo pengajaran dan kursus pembantu, kakitangan sekali gus. Kami akan mempunyai apa yang dipanggil penyambut CS50 dalam Annenberg. Dan apabila kita menentukan bahawa, anda tahu apa, soalan ini, kita tidak boleh benar-benar menjawab secara online dengan efektif. Kita perlu melihat komputer anda. Kita mahu bercakap kepada anda pada satu-satu. Pada satu. Anda benar-benar berjuang dan anda, oleh itu, mahu bercakap satu-on-satu bersama seseorang, anda akan dihantar kepada Penyambut CS50, sesama pengajaran induk, secara literal, iPad yang mempunyai nama-nama pelajar di satu pihak, mengajar kakitangan nama di pihak yang lain. Kami akan klik nama anda diikuti oleh nama mengajar kakitangan, dan skrin komputer anda akan mula berkelip mengatakan sila pergi melihat Alice atau sila pergi melihat Bob di jadual kakitangan. Dan sebagainya dengan cara ini, kita akan mampu untuk menghantar perkara-perkara seperti secekap yang mungkin, serta membimbing anda ke arah penyelesaian semua lebih mudah. Dalam bahagian, ini akan menjadi peluang untuk lebih hands-on intim peluang dengan salah satu daripada pengajaran felo dan 12 hingga 16 atau jadi rakan sekelas anda dalam yang setiap minggu kita akan mempunyai masalah dalam set masalah yang bertanya beberapa soalan konsep dan bilangan soalan pengaturcaraan bit bersaiz bahawa anda dapat memikirkan sendiri, dan anda boleh bekerja pada anda sendiri, tetapi dalam konteks seksyen di mana kita bekerja melalui kolektif beberapa masalah mereka dan pergi ke mana perbualan yang berbeza membawa kita. Di samping itu, dalam seksyen anda akan mempunyai peluang untuk menyemak permohonan kerja rumah yang anda telah dibuat, anda rakan sekelas, kadang-kadang tanpa nama, sentiasa melalui opt-in jika anda ingin berkongsi kerja yang anda telah diserahkan. Jadi ia benar-benar akan menjadi perbualan dua hala, peluang untuk menyemak kerja anda sendiri dalam banyak lagi rasa dinamik, dan bukannya hanya melihat PDF atau cetakan dan pemikiran tentang hal itu selama beberapa saat dan tidak semestinya menyerap maklum balas bahawa pengajaran kakitangan telah disediakan. Dan anda akan menggunakan alat yang di sini dipanggil CS50 kawasan. Bagi mereka yang tidak biasa, ini adalah bahasa yang dikenali sebagai C di bahagian atas kiri, dan anda akan mendapat tahu kali ini lebih. Tetapi ini adalah utiliti berasaskan web yang kita akan gunakan dalam bahagian yang akan membolehkan anda dan 15 anda atau jadi rakan sekelas login dengan rakan-rakan pengajaran anda di depan bilik. Anda akan dapat untuk menulis kod dalam tetingkap ini. Anda akan dapat berbual secara elektronik, jika anda tidak sebenarnya di seksyen pada masa yang tertentu. Dan rakan-rakan pengajaran anda, apabila ia datang masa untuk berbincang Alice atau penyelesaian Bob di dalam kelas, rakan-rakan pengajaran boleh klik butang dan VoilĂ , projek ke skrin, apa jua pelajar yang telah bekerja pada yang tertentu titik dalam masa. Jadi bagi mereka yang telah rakan-rakan yang telah diambil CS50 dalam masa lalu, menyedari bahawa bahagian telah ketara reboot tahun ini untuk menjadi lebih aktif, lebih-lebih dinamik, dan benar-benar perbualan dua hala antara pengajaran kakitangan dan pelajar. Dan walkthroughs. Jadi untuk set masalah, kami juga menawarkan bukan sahaja spesifikasi sendiri, yang secara umumnya agak terperinci PDF, tetapi juga perkara-perkara yang dikenali sebagai walkthroughs mana satu ahli kakitangan pengajar akan menjalani sesi mingguan yang benar-benar berjalan anda melalui set masalah, memberi anda membayangkan dan nasihat dan titik permulaan dan yang dimaksudkan minta sangat kerap ditanya soalan, di manakah saya bermula? Nah, anda memulakan sama ada oleh menyelam ke dalam spesifikasi ke atas sendiri atau dengan menghadiri atau menonton walkthroughs. Walkthrough pertama, pada hakikatnya, akan menjadi Jumaat ini. Mereka akan menjadi pada hari Jumaat, tidak begitu banyak kerana kita fikir ia akan masa popular tetapi kerana kita kemudian boleh filem mereka sangat awal dalam seminggu untuk mendapatkan mereka dalam talian dengan hujung minggu supaya anda mempunyai seberapa banyak hari yang mungkin untuk benar-benar terlibat dalam kandungan serta. Tetapi lebih kepada bahawa dalam syarahan Jumaat ini. Sekarang dalam segi struktur sokongan, yang paling statistik ketara mungkin pengajaran 108 felo dan pembantu kursus bahawa ini kursus kini mempunyai. Jika sesetengah daripada anda yang tidak mempunyai kelas yang bercanggah ingin untuk menyertai saya di sini di atas pentas, ia adalah lelaki ini yang akan akhirnya benar-benar mentakrifkan pengalaman anda dalam kursus ini. Saya mempunyai banyak felo pengajaran mengajar saya kelas dalam hari, dan saya ingat sangat sedikit daripada mereka terus-terang. Tetapi setakat ini, saya masih ingat di kalangan mereka beberapa, TF CS50 saya yang benar-benar membantu saya menjawab soalan-soalan, yang benar-benar membantu saya apabila saya berjuang, dan benar-benar adalah rakan kongsi dalam ini pengalaman pembelajaran dunia yang sangat baru. Dalam sedikit, semua lelaki ini akan menyertai anda di luar untuk kek, yang merupakan tradisi CS50, dalam gereja yg merupakan salib- Memorial Hall. Tetapi izinkan saya terlebih dahulu untuk memperkenalkan anda kepada Nate Hardison, sekali lagi, Rob Bowden, dan Tommy MacWilliam, ini kursus tahun mengetuai. Jika anda semua akan menyertai saya di sini di tengah-tengah. Mereka semua telah disediakan beberapa kenyataan inspirasi. TOMMY MACWILLIAM: Saya tidak menyediakan apa-apa inspirasi. Tetapi nama saya Tommy. Saya seorang kanan dalam Mather. Saya belajar sains komputer. Saya benar-benar teruja untuk berada di pasukan lindung nilai dan pergi melalui perjalanan CS50 dengan anda. Apa yang saya benar-benar suka tentang CS50 adalah bagaimana ia benar-benar mengajar anda untuk berfikir tentang masalah dalam cara yang baru. Ini adalah benar-benar satu kemahiran yang akan tidak ternilai tidak kira apa bidang anda pergi ke. Dan tidak hanya itu, tetapi kami menawarkan lebih banyak gula-gula percuma daripada mana-mana kursus di kampus lain. Ya, dan sebagainya Saya benar-benar tidak sabar untuk melihat apa yang semua orang membina semester ini. Dan jika sesiapa yang mempunyai apa-apa soalan sekarang atau sepanjang semester, pasti berasa bebas untuk mendekati saya dan Saya akan gembira untuk membantu. ROB Bowden: Hi. Saya Rob Bowden. Saya kanan di Kirkland. Ya, betul. Kita semua benar-benar teruja untuk semester ini seterusnya. Kami berharap anda semua teruja. Saya tidak menjangkakan bahawa. Yeah. Jadi kita meletakkan usaha yang begitu banyak ke dalam membuat ini semester yang benar-benar hebat. Dan selagi anda bersedia untuk dimasukkan ke dalam usaha, terdapat begitu banyak, anda boleh mendapatkan kursus ini. Ah, kita - yeah. Anda boleh mendapatkan banyak keseronokan daripada kursus ini. Kita tidak akan mempunyai kakitangan sebanyak 108 jika anda tidak boleh mendapatkan banyak keseronokan daripada itu. Jadi, hanya cuba untuk terlibat dan anda tidak akan menyesal. Nate HARDISON: Hi, guys. Saya Nate. Saya pendidik bagi kursus. Saya benar-benar teruja untuk berada di sini juga. Ini adalah tahun pertama saya di sini. Saya harap anda semua mengambil kursus ini dan menikmati ia seberapa banyak yang Saya telah menikmati setakat ini. Dan jika anda mahu belajar bagaimana untuk mengira kepada 9 atau 10 dalam perduaan, datang bercakap dengan saya. DAVID J. MALAN: Jadi pada risiko meninggalkan lelaki ini di sini peringkat sedikit canggung, mari kita berputar melalui hanya beberapa perkara yang menanti sebelum kita menangguhkan untuk kek. Apakah yang terletak di hadapan? Nah, jika kita mengambil melihat cepat kembali pada tahun lepas, dalam masalah ditetapkan 0, terdahulu kamu merpati ke dalam pengaturcaraan bahasa dipanggil Scratch, bahasa pengaturcaraan grafik anda akan menggunakan di hari pertama kursus bermula ini Jumaat untuk mempelajari beberapa konsep yang asing kepada sesetengah daripada anda. Tetapi menyedari akan ada satu aspek yang canggih ini untuk anda dengan latar belakang terlebih dahulu. Dalam masalah tahun lepas menetapkan 2, pelajar merpati ke dunia kriptografi, seni enciphering atau bergegas maklumat, melaksanakan program-program yang data disulitkan. Dan di samping penggodam tahun lepas pelajar tidak meneruskan retak atau decode kata laluan dalam tipikal fail kata laluan xe komputer dengan datang dengan algoritma dan heuristik untuk kekerasan memikirkan apa yang seseorang dalam kata laluan pada sistem komputer. Tahun lepas, juga dalam masalah menetapkan 3, impli pelajar - masalah menetapkan 4 - pula pelajar melaksanakan permainan Sudoku. Dan di samping penggodam tahun itu tidak pelajar tidak hanya melaksanakan bagaimana untuk bermain permainan ini, tetapi sebenarnya penyelesai di mana komputer boleh menyediakan anda, manusia, dengan petunjuk oleh lebih cepat daripada yang anda telah menyelesaikan bahawa masalah tertentu. Dalam set masalah 5, kita lakukan forensik, ini seni pulih maklumat yang sengaja atau sangat sengaja dipadam daripada komputer. Tahun lepas, tenaga pengajar dan saya berjalan-jalan di sekitar kampus mengambil gambar orang, tempat, dan perkara-perkara, dan kemudian sengaja diformat kad media pada kamera kami bahawa mempunyai semua orang gambar. Tetapi tidak ada masalah. Kami membuat imej forensik kad media ini, menyerahkan ia keluar kepada semua pelajar di dalam kelas, dan mencabar mereka untuk menulis program yang pulih semua JPEG dari kad itu. Dan ini sebenarnya adalah salah satu daripada set masalah kegemaran kami. Dan saya digali dalam e-mel dari satu orang terdahulu kamu, yang menyeronokkan untuk membaca ketika dahulu. Beliau menulis - ini adalah dari Matt - dear David, semalam saya kakak sengaja diformat kad SD kamera itu dan hilang setahun bernilai gambar dilupakan. Beliau malangnya tidak adalah yang terbaik pada membuat sandaran data beliau. Tetapi keadaan ini mengingatkan saya daripada pset 5, jadi saya fikir saya akan cuba untuk menjalankan kad SD beliau melalui program pulih bahawa saya menulis sepanjang jalan kembali pada bulan Oktober. Jadi selepas empat jam memikirkan bagaimana untuk mewujudkan imej mentah dari diformat kad SD - Google terbukti menjadi agak tidak membantu dalam hal ini sehingga ironinya saya berlaku untuk mencari arahan anda pada Internet - selepas tinkering sekitar dengan beberapa hujah-hujah arahan, Saya berjaya untuk mewujudkan imej forensik. Dan selepas memasang dan mengkonfigurasi CS50 Appliance, saya berjaya untuk menjalankan imej forensik melalui saya program dan mendapatkan semua 1,027 gambar-gambar kakak saya. Betul, Matt. Jadi dalam year's lepas - [Tepukan] Dalam set masalah tahun lepas 6, kami memberikan pelajar kamus 150,000 perkataan Inggeris dan mencabar mereka untuk menulis pemeriksa ejaan yang menjawab pertanyaan borang perkataan ini dieja dengan betul atau salah secepat mungkin. Dan dalam asas opt-in adalah pelajar dibenarkan untuk kemudian mencabar rakan sekelas dengan menyiarkan keputusan mereka, jumlah RAM yang mereka digunakan, bilangan kitaran CPU atau saat yang mereka digunakan, supaya pelajar kemudiannya menduduki tempat di laman web kursus. Menyeronokkan Sekali lagi, aspek semata-mata pilihan, tetapi besar dalam itu sangat kerap pelajar akan mendapat kedudukan nombor 10 atau sebagainya lembaga besar di laman web, pergi untuk makan malam, dan kemudian kembali dan menyedari rakan sebiliknya telah hanya meningkat dalam depan dia atau dia di atas kapal besar, sekali gus mencurah lain dua atau tiga jam hanya untuk satu sehingga atau rakan sebilik beliau. Jadi kita tidak sabar-sabar untuk sesuatu yang serupa tahun ini juga. Dalam masalah menetapkan 7 adakah kita mengemudi dalam arah web pengaturcaraan, sebenarnya menyelesaikan masalah dalam pernah persekitaran yang semakin biasa pelayar web. Tahu decreasingly kita memuat turun perisian pada Mac dan PC, tetapi semakin kita lakukan itu semua dalam web. Dan sesungguhnya pada tahun lepas, kira-kira 88% daripada projek akhir pelajar dalam kursus berasaskan web. Dan orang-orang, juga, adalah kemahiran yang anda akan berasal dari ini kelas menjelang akhir kursus ini. Kerana apa yang menanti di akhir kursus adalah Fair CS50, ini pameran yang berdasarkan idea adil sains. Tetapi dalam versi ini adil buat semua pelajar di dalam kelas membawa komputer riba mereka dan rakan-rakan mereka dan keluarga dan lain-lain Northwest Sains, sebuah bangunan yang besar di kampus, menubuhkan komputer riba mereka, mendapatkan makanan, mendapatkan beberapa popcorn dan minuman, dan kemudian mempamerkan projek-projek akhir mereka untuk semua orang-orang di kehadiran yang tahun lepas bernombor kurang 2,500 hadirin dari seluruh kampus. Dan ungkapan-ungkapan seperti ini dan seperti ini tidak sesuatu yang luar biasa pada pameran itu. Yang membawa kepada adil adalah Hackathon CS50, peluang naik kepala Harvard ulang-alik, turun jalan untuk Microsoft pada pukul 8:00 PM, dan tidak pulang ke rumah sehingga 07:00. Kami menghidangkan makan malam yang pertama pada pukul 8:00 PM, makan malam kedua pada 01:00, dan bagi mereka yang masih berdiri di 5:00 PM, adakah kita merawat penkek di bredden. Dan Hackathon adalah peluang, seperti yang digambarkan di sini, untuk menyelam ke dalam projek-projek akhir anda, sama ada yang bekerja di anda sendiri atau dengan rakan-rakan dalam persekitaran kerjasama, mana keseluruhan tenaga pengajar adalah bekerja dengan baik ke malam dengan bekalan yang mencukupi Hong Kong makanan Cina. Pada 5:00 AM imej seperti ini akan menjadi agak biasa ini tahun juga. Jadi seperti yang kita menangguhkan dalam seketika untuk kek, ingat bahawa 76% daripada orang-orang di dalam bilik ini tidak mempunyai pengalaman. Dan sebagai satu sukatan pelajaran, akhirnya apa yang penting dalam hal ini tentu tidak begitu banyak di mana anda berakhir relatif kepada anda rakan sekelas, tetapi jika anda di hujung minggu 11 sehingga relatif kepada diri anda di titik 0 minggu. Ini adalah CS50.