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