[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.