>> [MUSIC PLAYING]
>> [Tepuk Tangan]
>> DAVID J. Malan: Ini adalah CS50, Pengenalan Universitas Harvard
dengan intelektual perusahaan ilmu komputer
dan seni pemrograman.
Sekarang jika Anda termasuk orang yang setiap tahun duduk di sini
dengan sedikit saraf dalam pikiran Anda, seperti bahwa Anda tidak berpikir Anda berada di sini,
Anda berpikir bahwa sebagian besar orang yang duduk di sekitar Anda
tahu jauh lebih dari yang Anda, memang lebih nyaman daripada Anda di depan komputer
ilmu pengetahuan atau komputer lebih umum, menyadari
bahwa 78% dari siswa yang sekarang mengambil CS50 tidak memiliki pengalaman sebelumnya.
>> Memang, ada 100 titik ada pada tampilan, 78 yang
hijau solid, yang berarti Anda, jika Anda di antara demografis itu,
berada dalam perusahaan yang sangat baik di sini pada keluar.
Dan jika Anda bukan salah satu dari 22% dari mahasiswa yang melakukan CS50 memang
memiliki pengalaman sebelumnya, baik dalam sekolah tinggi atau program lain,
menyadari bahwa Anda, juga, akan ditantang dalam kursus tersebut.
>> Bukan hanya kita memiliki trek yang berbeda bagi siswa kurang nyaman dan lebih
nyaman sama dalam bagian, kita juga disebut edisi hacker
paling masalah set yang akan menantang para pelajar
dengan pengalaman tambahan untuk mengeksplorasi materi yang sama
tapi dari yang lebih perspektif canggih.
>> Tapi apa ilmu komputer?
Nah, pada akhirnya, apa yang akan materi ketika Anda menjelajahi bidang ini tidak
begitu banyak di mana Anda berakhir relatif terhadap teman sekelas Anda,
tetapi di mana Anda sendiri berakhir di minggu 12 vs mana Anda mulai di sini
di minggu nol.
Sekarang komputer science-- baik, mari kita menyebutnya ilmu computation--
di mana perhitungan benar-benar hanya cara mewah untuk mengatakan, mengambil beberapa masukan,
memproduksi beberapa output, dan melakukannya dengan menjalankan algoritma,
set instruksi untuk memecahkan beberapa masalah pada input tersebut
untuk menghasilkan beberapa output atau solusi di mana Anda tertarik.
>> Jadi kita baru saja kesempatan untuk melakukan perjalanan keluar
ke California untuk bertemu dengan alumni.
Namanya adalah Susan Wojcicki.
Dan dia ingin berbicara Anda di sini pada video
untuk memberi kesaksian betapa berlaku bahkan hanya rasa komputer
ilmu di tingkat dasar dapat.
Bahkan jika Anda tidak pergi untuk mengejar ilmu komputer sebagai sebuah bidang,
atau bahkan rekayasa, atau STEM lebih umum,
Anda akan melihat, pada kenyataannya, bagaimana tertentu Tentu saja sangat mempengaruhi hidupnya.
Dan dia baru saja mengambil ketika dia adalah seorang senior di Harvard College.
>> Jika kita bisa meredupkan lampu untuk Susan.
SUSAN Wojcicki: Hello, world.
Aku Susan Wojcicki.
Aku CEO YouTube.
Dan aku mengambil CS50 ketika saya masih seorang senior di Harvard pada tahun 1990.
Aku benar-benar sejarah dan utama sastra.
>> Dan musim panas junior saya, Saya menyadari bahwa mungkin aku
ingin belajar sesuatu tentang komputer.
Jadi, saya datang kembali.
Aku mengambil CS50.
Sulit, tapi itu kebanyakan kelas menakjubkan saya ambil.
>> Ini mengubah cara saya berpikir tentang segala sesuatu.
Dan ketika saya lulus dari Harvard pada tahun 1990, saya pergi ke Silicon Valley.
Dan aku mendapat pekerjaan.
Dan aku telah bekerja di tech sejak itu.
DAVID J. Malan: Sekarang apa Susan tidak menyebutkan dalam video ini,
bahwa itu benar-benar dalam dirinya Garasi itu Google sendiri
didirikan oleh Larry dan Sergey.
>> Sekarang kami juga mengulurkan tangan untuk teman-teman kita di code.org, sebuah organisasi yang
selama tahun lalu telah membuat orang khususnya
bersemangat tentang ilmu komputer dan pemrograman, khususnya.
Tapi perlu dicatat bahwa pemrograman bukan ilmu komputer per se.
Ilmu komputer tidak pemrograman.
Sebaliknya pemrograman hanya tool-- dengan yang kalian semua
akan terlalu baik familiar dengan end-- semester
seperti yang dapat Anda terapkan tidak hanya untuk program masa depan di CS
tetapi untuk bidang apa pun dari mana Anda datang, di humaniora,
ilmu-ilmu sosial, alam ilmu pengetahuan, atau sejenisnya.
>> Memang, memungkinkan beberapa lainnya alumni dan rekan-rekan mereka
untuk berbicara dengan penerapan yang bidang yang menanti.
>> BILL GATES: Saya 13 ketika saya pertama punya akses ke komputer.
>> JACK DORSEY: Orang tua saya membeli saya Macintosh pada tahun 1984
ketika saya masih berusia delapan tahun.
>> Mark Zuckerberg: aku di kelas enam.
>> SPEAKER 1: Saya belajar kode di perguruan tinggi.
>> RUCHI SANGHVI: tahun Freshman, pertama semester, Pengenalan Ilmu Komputer.
>> BILL GATES: Aku menulis sebuah program yang memainkan tic-tac-toe.
>> DREW HOUSTON: saya pikir itu awal cukup rendah hati.
Saya pikir program pertama Aku menulis bertanya hal-hal seperti,
apa warna favorit Anda?
Atau berapa umurmu?
ELENA SILENOK: Saya pertama kali belajar cara membuat lingkaran hijau
dan kotak merah muncul di layar.
GABE NEWELL: Pertama kali aku benar-benar memiliki
sesuatu yang datang dan berkata, halo, dunia.
Dan aku membuat komputer melakukan hal itu.
Itu hanya menakjubkan.
>> Mark Zuckerberg: Belajar bagaimana program tidak memulai
sebagai ingin belajar semua ilmu komputer
atau mencoba untuk menguasai ini disiplin atau sesuatu seperti itu.
Itu hanya dimulai karena saya ingin melakukan satu hal sederhana ini.
Saya ingin membuat sesuatu yang menyenangkan untuk diri sendiri dan saudara saya.
>> Dan saya menulis program kecil ini.
Dan kemudian pada dasarnya hanya menambahkan sedikit untuk itu.
Dan kemudian ketika saya membutuhkan untuk mempelajari sesuatu yang baru,
Aku mencarinya, baik dalam buku atau di internet,
dan kemudian menambahkan sedikit untuk itu.
>> DREW HOUSTON: Ini benar-benar tidak berbeda memainkan alat musik atau sesuatu
atau bermain olahraga.
DAVID J. Malan: Baiklah.
Jadi mari kita sekarang benar-benar menyelam dalam sedikit lebih dalam.
Apa input dan output ini bahwa kita bicarakan di sini?
>> Jadi bagaimana sesuatu yang sederhana?
Anda mungkin tahu, bahkan jika Anda memiliki tidak ada keakraban dengan ilmu komputer
apapun, bahwa komputer entah bagaimana menggunakan dan memahami hanya nol dan satu.
Tapi bagaimana bisa yang mungkin diberikan bagaimana desktop banyak hari ini dan laptop sama
bisa lakukan?
>> DNA hari, satu-satunya alfabet yang mereka mengerti
adalah nol atau satu.
Nah, pertimbangkan ini.
Kami, manusia, cenderung menggunakan sistem desimal. "Desember" yang berarti 10.
Dan itu 10 karena kita memiliki 10 digit, 0 sampai sembilan.
>> Sekarang komputer, sebaliknya, cenderung menggunakan biner.
"Bi" berarti dua.
Jadi mereka cenderung menggunakan hanya nol dan satu.
Tapi ternyata, bahwa bahkan hanya dengan nol dan satu, yang
adalah alfabet cukup besar yang dapat digunakan untuk mewakili sebagian besar
setiap bagian dari data yang Anda inginkan, apakah itu nomor,
apakah itu surat, apakah itu grafis atau video pada layar.
>> Perhatikan, misalnya, bagaimana kita manusia biasanya menafsirkan nomor ini di sini.
Ini hanya tiga digit, satu, dua, tiga.
Tapi kita tahu nomor ini bawaan sekarang sebagai 123.
Tapi kenapa begitu?
>> Nah, jika Anda berpikir kembali untuk mungkin sekolah dasar,
Anda mungkin diajarkan untuk memikirkan angka-angka ini sebagai dalam kolom,
di mana satu adalah di ratusan tempat, keduanya adalah di tempat puluhan,
dan tiga berada di tempat yang.
Mengapa yang benar-benar berguna?
Nah, berpikir tentang aritmatika super sederhana
bahwa kita semua telah lakukan selama bertahun-tahun sekarang.
Efektif, jika Anda punya satu di tempat ratusan,
Anda melakukan matematika cepat 100 kali 1 ditambah 10 kali 2--
karena keduanya adalah dalam puluhan place-- ditambah 1 kali 3--
karena tiga adalah di tempat yang.
Jadi, tentu saja, jika kita sebenarnya kalikan hal ini,
apa yang kita benar-benar mewakili dengan satu pattern-- ini
dua three-- adalah 100 ditambah 20 ditambah 3, yang, tentu saja, adalah 123.
>> Sekarang biner, dan komputer benar-benar, dasarnya berbicara bahasa yang sama
yang kita lakukan.
Mereka hanya memiliki alfabet yang lebih kecil.
Jadi komputer hanya memiliki angka nol dan orang-orang yang mereka miliki.
Jadi sementara kita manusia memiliki dasarnya kekuasaan 10 di setiap places-- ini
10 sampai nol, 10 sampai satu, sepuluh ke dua, memberikan Anda 110 dan 100
masing-masing.
>> Karena komputer hanya memiliki dua nilai mereka dapat memahami, nol dan satu,
mereka harus menggunakan nilai yang berbeda di kolom ini, satu, dua, empat.
Dan jika kita terus, delapan, 16, 32, 64, dan sebagainya.
Tapi pola dan Mentalitas adalah persis sama.
>> Jadi dengan logika ini, siapa pun, bagaimana akan Aku pergi tentang mewakili nomor
satu di biner?
Jika Anda belum pernah bahkan berpikir tentang ini sebelumnya, apa usus Anda katakan?
>> AUDIENCE: Satu.
DAVID J. Malan: Satu.
Tepat.
Kami hanya perlu satu di Tempat yang karena nol
cukup untuk memberi kita tidak empat maupun dua.
Jadi, satu kali satu sama dengan satu.
Sekarang hal-hal mendapatkan sedikit menarik.
Jika saya ingin untuk mewakili dalam biner nomor dua-- tetapi,
lagi, bahkan jika Anda belum pernah bahasa lisan ini sebelumnya,
bagaimana kita mewakili dalam biner nilai kita manusia kenal sebagai dua?
Nol satu nol.
Hanya menempatkan satu di kolom yang Anda inginkan.
>> Sekarang itu semakin cantik mudah mungkin sekarang.
Jadi jika saya ingin mewakili three-- ada kolom ada tiga dunia.
Jadi, sekali lagi, sekarang saya bisa menambahkan nilai-nilai ini bersama-sama dengan menempatkan satu di sini.
Jadi 2 kali 1 ditambah 1 kali 1 adalah, tentu saja, 3.
>> Sekarang hal-hal yang menyenangkan sedikit bahwa yang sekarang menjadi nol.
Dan untuk mewakili empat, saya mendapatkan ini.
Dan jika kita kenaikan perlahan di sini-yang akan menjadi lima.
Ini akan menjadi enam.
Ini akan menjadi tujuh.
>> Tapi sekarang saya tampaknya memiliki mengalami masalah.
Bagaimana saya bisa pergi tentang mewakili eight-- akan menjadi nilai berikutnya.
Ya, jadi kita perlu bit baru.
Dan, memang, jika Anda sudah mendengar kalimat ini sebelumnya,
bit, itu hanya singkatan digit biner, nol atau satu.
>> Dan jadi saya kebetulan mewakili hanya tiga bit tersebut di sini.
Tapi kalau aku punya cara menyimpan tidak tiga bit yang berbeda, tetapi empat,
pasti aku bisa mewakili delapan, dan sembilan, dan kemudian
10, dan bahkan lebih tinggi dan lebih tinggi.
>> Tapi itu kemudian memanggil dipertanyakan bagaimana kita bisa
pergi tentang mewakili ini hal di tempat pertama.
Itu salah satu hal untuk menarik mereka di sini pada slide,
tapi bagaimana Anda mewakili mereka jika Anda alat mekanis?
Apa yang komputer lakukan untuk mewakili input dan output yang
fundamental menentukan perhitungan pada akhir hari?
>> Nah, bagaimana dengan sesuatu super sederhana seperti ini?
Ini hanya sebuah bola lampu.
Dan aku bisa memicu ini bola lampu untuk pergi
dengan memutar beberapa listrik dan memungkinkan elektron
mengalir melalui, yang mengubah nya negara atau nilainya, sehingga untuk berbicara.
Misalnya, ini adalah sebuah lampu meja sekolah tua
di sini dengan satu seperti bola lampu di dalamnya.
Dan sekarang ini tidak benar-benar melakukan sesuatu yang berguna.
Tapi begitu saya pasang ke soket listrik
dan kemudian menggunakan switch-- ini atau kita bahkan dapat menyebutnya transistor
atau menganggapnya sebagai such-- Saya sekarang bisa mewakili baik
nilai ini, di mana bola lampu ini jelas off, atau nilai ini.
Nilai ini atau nilai ini.
Nilai ini dan sebagainya.
>> Jadi dalam komputer, mungkin, adalah potongan-potongan yang lebih kecil dari perangkat keras,
tetapi pada akhir hari hanya memiliki
menggunakan listrik-- mungkin menangkap itu--
dan kemudian menyimpan sesuatu atau menjaga sesuatu dari.
Tentu saja, hal ini tidak sangat menarik untuk melakukan
hanya dengan bola lampu tunggal.
>> Bahkan, seberapa tinggi saya bisa menghitung di biner dengan meja ini lampu di sini?
>> AUDIENCE: Satu.
>> DAVID J. Malan: Satu, kan?
Aku butuh lampu meja lainnya jika saya benar-benar ingin menghitung lebih tinggi.
Tapi kita bisa melakukan lebih baik dari itu.
Karena lampu yang kami telah dimasukkan ke dalam hal-hal ini
adalah bola lampu benar-benar pelamun dari tadi akan memungkinkan.
Dan mereka benar-benar lampu jaringan.
Dan tandan perusahaan membuat hal-hal ini hari ini.
>> Tapi ternyata bahwa ini khususnya
dilengkapi dengan fitur dimana Anda dapat mengubah warnanya.
Jadi misalnya, jika Anda menghiasi kamar asrama Anda
dengan beberapa cahaya ini lampu, tergantung pada suasana hati Anda,
tergantung pada siapa yang masuk, tergantung pada cuaca,
tergantung pada waktu hari, Anda benar-benar dapat
mengubah warna lampu di kamar Anda.
Dan itu karena cahaya ini umbi dan lain-lain seperti itu memiliki apa yang
disebut API, aplikasi antarmuka pemrograman, yang
adalah topik yang Anda akan baik akrab dengan akhir semester.
>> Dan ini hanya suka, cara samar mengatakan,
Anda dapat memprogram cahaya ini lampu untuk melakukan penawaran Anda.
Anda dapat mengirim pesan seperti Anda, manusia,
dapat mengirim pesan ke server web mengatakan, beri aku berita hari ini
atau memberi saya email saya.
>> Anda dapat mengirim lebih misterius pesan ke ini bola lampu
mengatakan, menghidupkan dan mematikan.
Tapi itu tidak semua yang menarik.
Anda dapat mengatakan, nyalakan merah, menyalakan hijau, nyalakan biru,
semua dengan bola lampu yang sama.
Dan Anda bahkan dapat, dengan sedikit lebih savvy, mengatakan, mengubah diri menjadi biru
ketika itu hari suram luar, misalnya.
Ini sebenarnya bisa menambal ke API cuaca dan mencari tahu
apa cuaca, atau waktu hari, atau pemicu seperti lainnya.
>> Jadi, pada kenyataannya, dua Anggota staf CS50 sendiri,
Dan Bradley dan Ansel Duff di sini, silakan diperoleh
kami sejumlah besar ini bola lampu.
Dan mereka membangun CS50 ini pertama lampu pernah biner,
di mana kami telah diwakili di sini- dengan ini magnets-- sedikit main-main
berbagai penampung kami disinggung hanya sedikit lalu.
>> Jadi cara di sini adalah tempat yang, dua, empat.
Dan kita tidak melihat lebih tinggi dari itu.
Tapi, tentu saja, mereka kekuasaan dua.
Delapan, 16, 32, 64, dan 128.
Jadi jika sekarang saya ingin menjadi sedikit lebih menarik daripada menggunakan saklar ini sekolah tua,
Saya miliki di sini di iPad ini antarmuka super sederhana
Dan bahwa Bradley, mantan siswa dan sekarang mengajar sesama,
diprogram menggunakan beberapa HTML dan JavaScript, yang
adalah markup dan pemrograman bahasa masing-masing.
Dan Anda mungkin dapat see-- bahkan di back-- yang
ada plus besar dan minus besar, ditambah satu tombol untuk masing-masing lampu ini.
Dan apa ini akan memungkinkan saya untuk lakukan adalah, misalnya, klik plus
dan sekarang mewakili, dari Tentu saja, apa nomor?
Satu.
Dan aku bisa memukul lagi.
Dua.
Tiga.
Empat.
Lima.
Enam.
Tujuh.
>> Dan di sini sekarang kita mendapatkan rollover itu, tapi kami memiliki keempat sedikit saat ini,
jadi sekarang kita memiliki delapan.
Jadi kita bisa melakukan ini untuk beberapa waktu.
Bahkan, sebagai samping, seberapa tinggi kita bisa menghitung?
Siapa saja?
>> AUDIENCE: 255.
>> DAVID J. Malan: 255, kan?
Jangan khawatir terlalu banyak tentang matematika untuk sekarang, tapi itu angka yang cukup baik.
Tapi itu benar-benar tidak terikat hanya berapa banyak potongan informasi,
seperti surat, atau grafis bahwa kita bisa mewakili.
>> Tapi tidak peduli untuk saat ini.
Aku akan pergi ke depan dan mengubah mereka semua.
Dan jika aku bisa, aku ingin meminta sukarelawan, volunteer-- pertama kami
oh, hello-- di atas panggung.
Menangkap adalah Anda harus nyaman muncul, karena Anda jelas
berada di depan semua teman sekelas Anda, serta di internet.
Dan biarkan aku melihat sedikit melampaui yang-- bagaimana di sini di kemeja putih?
Dan tangan up.
Ayo up.
Siapa nama Anda?
>> AUDIENCE: Jackie.
>> DAVID J. Malan: Jackie.
Jackie, ayolah up.
Jadi apa ada juga hal ini iPad adalah sebuah tombol yang disebut Game Mode.
Dan Game Mode ini akan memungkinkan saya untuk masukan
di muka desimal tertentu nomor, angka we manusia
akrab dengan.
Dan kemudian Anda akan ditantang di sini untuk menggunakan tombol
di satu top-- untuk masing-masing bulbs-- ini
untuk benar-benar mengetahui pola lampu
yang mewakili jumlah tersebut.
>> Dan aku minta maaf, apa nama Anda lagi?
>> AUDIENCE: Jackie.
>> DAVID J. Malan: Jackie.
Baiklah.
Senang bertemu Anda.
>> Jadi biarkan aku pergi ke depan dan program bagi dunia untuk melihat nomor 15.
Kami akan tetap kecil pada awalnya di sini.
Dan aku akan pergi ke Game Mode.
Dan aku akan menentukan, memberi kita nomor 15.
>> OK.
Dan sekarang dengan semua orang watching-- jika Anda mungkin ingin berdiri dengan cara ini,
karena akan berbaris up-- pergi ke depan dan mengaktifkan delapan tombol di bagian atas
untuk menghidupkan lampu di atau off sesuai keinginan Anda.
>> AUDIENCE: OK.
>> DAVID J. Malan: Dan tidak ada kecurangan dengan menekan ditambah 15 kali.
Oh, kita akan melakukan itu.
>> AUDIENCE: Oh, tunggu.
Aku sangat menyesal.
>> DAVID J. Malan: Anda juga dapat mengaktifkan bola lampu secara individual
dengan masing-masing tombol ini di atas.
AUDIENCE: Oh, OK.
Jadi akan seperti--
DAVID J. Malan: OK.
Jadi sekarang kita memiliki delapan.
Jadi mari kita berhenti sejenak untuk penonton untuk terlibat di sini.
Apa nomor adalah Jackie saat ini mewakili?
11.
Jadi kita sudah hampir sampai.
Dan sangat baik.
Jadi kita memiliki pemenang pertama kami.
Selamat.
>> Dan kami pikir kami akan memiliki beberapa hadiah yang luar biasa.
Jika Anda ingin menjadi salah satu seperti asrama kamar di sini di kampus,
Anda dapat sendiri memiliki tugas akhir gunakan sekarang API ini, terima kasih kepada Jackie.
Jadi sekarang--
>> [Tepuk Tangan]
>> -Jika kita bisa, satu lagi seperti di sekitar ini.
Oh, sekarang semua orang ingin beberapa bola lampu.
Untuk yang disebut edisi hacker, kita akan jalan itu a-- oh,
yeah, tanpa komitmen.
Saya pikir Anda datang sekarang jika tangan Anda akan turun.
Siapa nama Anda?
>> AUDIENCE: Alex.
DAVID J. Malan: Alex, datang ke sini.
Jadi untuk Alex, kita akan Program di sejumlah sedikit lebih besar.
Mungkin dalam rangka.
Jumlah 50.
>> AUDIENCE: OK.
DAVID J. Malan: Tapi, sebagai Saya said-- dan Anda mungkin
ingin berdiri di sini jadi bahwa tombol berbaris
Anda akan expect-- tapi aku menyebutnya edisi hacker.
Begitu-- keberuntungan!
>> [Tertawa]
>> Anda akan mampu mengubah mereka pergi jika kau-- OK.
Sangat baik.
Indah.
Selamat.
>> [Tepuk Tangan]
Saya kira saya harus membayar.
Selamat kepada Alex juga.
OK.
>> Jadi takeaway utama di sini adalah mudah-mudahan, terus terang,
yang simplicity-- yang kesederhanaan dengan yang
Anda bisa mendapatkan beberapa cahaya bagus lampu, ternyata di [Tak terdengar].
Tapi mereka mewakili, ide akhirnya, sama
dengan yang kita manusia sudah terlalu akrab.
Jadi apa yang mungkin berikutnya Langkah dalam perkembangan yang
mencoba untuk melakukan sesuatu menarik dengan data
dan mewakili input yang tidak hanya angka tetapi mungkin surat atau lebih?
>> Nah, ternyata bahwa dunia komputer, selama bertahun-tahun,
hanya mengadopsi sewenang-wenang tapi standar yang konsisten yang memetakan nomor
untuk huruf abjad.
Misalnya, di sini adalah kutipan dari pemetaan itu.
Ini disebut Ascii.
A-S-C-I-I. Dan itu hanyalah sebuah tabel yang memetakan letters-- huruf besar
dalam hal ini case-- ke angka desimal.
>> Tapi apa implikasinya?
Nah, jika Anda benar-benar ingin mewakili sesuatu seperti email atau teks
pada halaman web, Anda jelas ingin menunjukkan
huruf manusia dari alfabet, bukan angka.
Jadi tergantung pada konteks program
bahwa pengguna menggunakan, jika web browser atau email client,
angka pasti bisa ditafsirkan sebagai huruf.
Artinya, pola bit dapat mudah ditafsirkan sebagai huruf.
>> Jadi apa yang bisa kita miliki adalah huruf makhluk A
direpresentasikan sebagai 65, B yang direpresentasikan sebagai 66.
Jadi jika kita memiliki super kata singkat, seperti hi,
apa komputer akan akhirnya toko dalam desimal tapi benar-benar dalam biner,
menggunakan beberapa urutan bit, memanfaatkan sedikit listrik dalam beberapa cara,
akan menjadi dua angka 72 dan 73.
>> Tapi pola bit yang mewakili nilai-nilai.
Jadi ini kemudian adalah bagaimana kita bisa mewakili input dan output kami.
Dan cukup untuk mengatakan, kita bisa melakukan representasi yang lebih kompleks
akhirnya dengan hal-hal seperti grafis, video, musik, dan lainnya
seperti yang akan kita lihat nanti istilah ini.
>> Sehingga hanya daun kemudian algoritma, set ini
instruksi dengan yang kita memecahkan masalah yang sebenarnya.
Kami lewat di masukan ke algoritma.
Dan orang-orang algoritma memproduksi output, output semoga benar
dan mudah-mudahan juga, efisien mengumpulkan output.
Dengan kata lain, itu adalah satu hal untuk melaksanakan sesuatu dengan benar.
Ini hal lain untuk melaksanakan sesuatu dengan baik atau efisien.
>> Misalnya, satu demonstrasi bahwa kita menyukai dalam kursus
satu ini.
Tapi hal-hal ini semakin semakin sulit ditemukan.
Tapi ini memang merupakan sekolah tua buku telepon, yang di dalamnya
1.000 halaman plus nama dan nomor telepon.
Dan jika saya ingin mencari seseorang di buku telepon ini,
Aku hanya bisa melakukan algoritma yang sangat naif.
Aku bisa membuka ke halaman pertama, dan Aku bisa mulai mencari, katakanlah, seseorang
bernama Mike Smith.
Dan jika dia tidak pada pertama halaman, saya maju ke kedua,
dan kemudian ke ketiga, dan kemudian untuk keempat, dan sebagainya,
sampai akhirnya aku menemukan Mike Smith.
>> Sekarang adalah algoritma yang benar?
>> AUDIENCE: Ya.
>> DAVID J. Malan: Ya.
Jika dia ada di sana, aku akan akhirnya menemukannya.
Tapi itu bisa dibilang tidak terlalu efisien, tentu saja tidak cepat,
karena, Tuhan, kenapa aku membuang-buang waktu saya flipping
melalui semua halaman ini ketika saya bisa tentu melakukan hal ini secara fisik lebih cepat?
>> Nah, optimasi sedikit, sehingga untuk berbicara, mungkin tidak satu halaman pada satu waktu,
tapi dua, empat, enam, delapan, 10.
Masih benar?
>> AUDIENCE: Tidak
>> DAVID J. Malan: Jadi tidak ada jika saya untuk Misalnya melewatkan Mike Smith.
Tapi selama aku kembali pedal satu halaman, kalau aku overshoot dia,
mungkin kita bisa memperbaiki apa mungkin hal lain yang dapat gotcha.
>> Tapi lebih baik?
Apakah lebih cepat?
Maksudku, yeah.
Ini benar-benar dua kali lebih cepat jika saya melakukan dua halaman sekaligus.
Jadi jika saya awalnya memiliki 1.000 halaman, sekarang saya hanya perlu membalik 500 kali,
tidak sepenuhnya 1.000 halaman untuk mendapatkan berpotensi dalam kasus terburuk
ke ujung telepon buku, di mana seseorang
seperti Mike Smith atau seseorang dengan nama kemudian mungkin sebenarnya.
>> Tapi, tentu saja, kami manusia tentunya tidak
akan melakukan itu, tentu tidak pada saat ini dalam hidup kita.
Apa itu masuk akal manusia mungkin akan lakukan?
AUDIENCE: Pergilah langsung ke The9 S.
DAVID J. Malan: Langsung ke S?
Bagaimana saya pergi langsung ke S?
>> AUDIENCE: Rip menjadi dua.
DAVID J. Malan: Yah, tidak ada tanda.
Jadi, ya, jika memang ada label atau tab lengket untuk S,
kita harus melompat sana.
Tapi itu cukup berbahaya.
Jadi yang terbaik yang bisa lakukan adalah kira-kira ke bagian S atau mungkin kira-kira
ke tengah.
Tapi takeaway kunci sekarang-- dan intuisi
bahwa Anda telah mengambil untuk diberikan selama bertahun-tahun probably--
adalah bahwa apa yang Anda sekarang tahu tentang masalah ini?
>> AUDIENCE: [Tak terdengar]
>> DAVID J. Malan: Mike Smith pasti tidak dalam setengah ini masalah
karena Smith datang setelah tengah yang kira-kira bagian M,
tampaknya.
Sehingga Anda mungkin telah melihat di Visitas, kita sekarang dapat benar-benar
merobek masalah ini dalam setengah.
AUDIENCE: Woo!
DAVID J. Malan: Ini semakin mudah.
[Tepuk Tangan]
Di sana Anda pergi.
[Tertawa]
Dan sekarang aku fundamental memiliki masalah yang sama,
tapi itu benar-benar setengah besar.
Aku masih mencari Mike Smith.
Dan aku yakin, aku masih bisa mencarinya dengan cara yang sama,
membelah masalah dalam setengah lagi, merobek masalah lagi
dua, yang kini meninggalkan saya dengan masalah seperempat dari ukuran,
dramatis membuang setengah itu pergi, dan ulangi proses ini lagi dan lagi
dan lagi, melirik ke bawah pada setiap titik untuk melihat
jika Mike Smith adalah pada halaman tersebut.
>> Sekarang jika saya melakukan ini dengan benar, akhirnya aku akan menemukan diriku
dengan hanya satu halaman yang Mike Smith adalah jika dia memang dalam buku telepon.
Tentu saja, aku bisa tidak pernah memanggil Mike lagi.
Tapi intinya di sini adalah bahwa jika kita mulai dengan 1.000 halaman, algoritma pertama saya,
membalik halaman, mungkin 1.000 times-- pasti kurang karena
nama S, bukan nama Z, tetapi sebagai sebanyak 1.000 halaman yang berpotensi.
>> Algoritma kedua, lebih baik.
500 halaman.
Algoritma Ketiga, meskipun, berapa banyak langkah kan
ambil untuk membagi halaman 1.000 buku telepon dalam setengah seperti itu?
10, memberi atau mengambil.
Jadi hanya dengan membalik-balik yang buku telepon, menyelam dan menaklukkan,
sehingga untuk berbicara, 10 kali, saya akan membuat perjalanan turun ke hanya satu halaman.
>> Dan jadi kita bisa menangkap intuisi ini sekarang sedikit grafis
jika Anda hanya mempertimbangkan grafik super sederhana ini.
Kami berada di sumbu x, atau horizontal axis, adalah ukuran masalah saya,
jumlah halaman di buku telepon.
Dan ilmuwan komputer umumnya suka menyebutnya
ukuran n masalah, di mana n hanya beberapa variabel yang
represents-- dalam hal ini case-- jumlah halaman.
>> Vertikal, atau sumbu y, di sini adalah akan menjadi waktu untuk menyelesaikan,
mungkin jumlah halaman berubah, mungkin jumlah detik
atau menit, apa pun unit Anda ukuran adalah.
Jadi garis merah ini merupakan algoritma pertama,
karena ada 1-1 hubungan antara jumlah
halaman dan jumlah waktu yang dibutuhkan.
>> Jika Verizon menggandakan jumlah halaman di buku telepon tahun depan,
berjalan saya time-- yang waktu yang dibutuhkan untuk mengeksekusi
bahwa algorithm-- pertama ganda dalam kasus terburuk.
Namun algoritma kedua, mana aku membalik dua,
membutuhkan sedikit waktu untuk masalah ukuran tertentu.
Jadi jika saya memiliki ini banyak pemberitahuan halaman di sini-
bahwa garis kuning menunjukkan sedikit waktu untuk menyelesaikan.
Dan memang, itu merupakan, kita akan mengatakan, n lebih dari dua.
>> Tapi apa bentuk ketiga dan kurva akhir akan terlihat seperti?
Ya, itu memang akan look-- I tidak tahu apa yang Anda akan katakan.
Tapi mari kita lihat apa Anda akan mengatakan.
>> AUDIENCE: Seperti itu.
>> DAVID J. Malan: Ini akan terlihat seperti ini, exactly-- slope-- logaritmik
dimana Anda memiliki kemiringan penasaran ini.
Hal ini tidak lagi garis lurus.
Dan apa yang menarik tentang hal itu adalah bahwa meskipun grafik sekarang terputus,
Anda bisa memperkirakan di Anda keberatan bahwa jalur hijau tidak
akan meningkat di tinggi semua yang banyak
Anda melangkah lebih jauh down yang sumbu horisontal.
>> Memang, Verizon, untuk Misalnya, bisa dua kali lipat
jumlah halaman di telepon buku antara tahun ini dan tahun depan
dari 1.000 menjadi 2000 halaman, tapi bukan masalah besar.
Dengan ketiga dan terakhir, ada algoritma intuitif
membagi dan menaklukkan.
Ini akan membawa saya berapa banyak lagi langkah tahun depan untuk menemukan seseorang
seperti Mike Smith?
>> AUDIENCE: Satu.
>> DAVID J. Malan: Hanya ada satu.
Dan mereka bisa empat kali lipat, itu akan membawa saya hanya dua langkah lagi
dan lain sebagainya.
Dan jadi ini adalah bukti betapa beberapa desain yang cermat
dan beberapa penghargaan untuk apa masukan Anda dapat melakukan bahkan lebih baik.
Sekarang kita menipu sebuah sedikit dalam arti
bahwa kita memanfaatkan asumsi.
Apa itu asumsi saya tentang buku telepon kami
yang memungkinkan saya untuk membagi dan menaklukkan cara intuitif dan masih benar ini?
>> AUDIENCE: [Tak terdengar]
DAVID J. Malan: Ya.
Jadi diperintahkan.
Hal itu menurut abjad oleh perusahaan buku telepon.
Jika itu secara acak, yang akan menjadi neraka buku telepon,
tapi itu pasti tidak akan meminjamkan dirinya untuk algoritma
Aku digunakan, karena Anda tidak akan pernah hanya terjadi di Mike Smith
jika Anda terus membagi dalam setengah dengan cara itu secara kebetulan.
>> Jadi mari kita sekarang memformalkan apa jelas intuitif.
Jadi sesuatu yang disebut pseudocode adalah di mana kita akan
mulai beberapa masalah awal kami.
Dan ini adalah cara yang umum untuk menggambarkan algoritma atau program komputer,
tidak menggunakan C, atau C ++, atau Java, atau bahasa tertentu,
tetapi hanya menggunakan bahasa Inggris, dengan yang setiap manusia mungkin akrab.
>> Dan kita mungkin menulis pseudocode untuk masalah ini sebagai berikut.
Langkah satu, mengambil buku telepon.
Langkah dua, terbuka untuk tengah buku telepon.
Langkah tiga, melihat nama-nama.
Langkah empat, jika Smith adalah salah names--
>> Dan sekarang ini adalah membangun menarik.
Ini adalah titik keputusan.
Ini adalah persimpangan jalan, jika Anda akan, cabang, sehingga untuk berbicara.
Jadi aku akan indent hanya dengan konvensi step--
tidak five-- yaitu katakanlah, aku akan menelepon Mike.
Jadi lekukan ini, benar-benar konvensi manusia sewenang-wenang, tapi itu
hanya dimaksudkan untuk menyampaikan semantik bahwa jika Smith adalah salah nama,
maka saya harus menelepon Mike.
>> Sementara itu pada langkah enam, pemberitahuan bahwa lekukan hilang.
Jadi lain adalah garpu lain di jalan, jalan lain aku mungkin perjalanan.
Jadi lain jika Smith adalah sebelumnya dalam buku ini, apa
Langkah berikutnya mungkin akan berada di sini?
AUDIENCE: Anda pergi ke sisi kiri.
DAVID J. Malan: Ya, jadi pergi ke kiri setengah dari buku telepon.
Membuang bagian kanan jika Smith adalah awal buku ini.
Jadi terbuka ke tengah kiri setengah dari buku ini.
>> Dan kemudian langkah delapan, pergi ke baris tiga.
Dan ini adalah loop penasaran aku mendorong, rekursi sehingga untuk berbicara.
Tapi lebih pada bahwa di masa depan.
>> Saya menggunakan algoritma yang sama saya, pseudocode sama saya,
untuk memecahkan masalah yang sama lagi karena satu-satunya hal yang berubah
adalah ukuran masalah, tidak tujuan saya, dan bukan orangnya
Saya mencari.
Jadi saya dapat menggunakan kembali algoritma bahwa saya sudah didefinisikan.
>> Lain jika Smith ini nantinya di book-- Anda mungkin
guess-- terbuka ke tengah bagian kanan buku.
Dan lagi, pergi ke baris tiga.
Else-- apa garis akhir dalam program ini akan menjadi?
Jika dia tidak di antara Nama-nama di halaman saya
, jika dia tidak awal buku, dan dia tidak lebih
dalam buku ini, apa yang saya tahu benar tentang Mike Smith sekarang?
AUDIENCE: Dia tidak dalam buku.
DAVID J. Malan: Dia tidak dalam buku.
Jadi yang terbaik yang bisa saya lakukan hanyalah menyerah dan menghentikan program ini.
Baiklah.
Jadi pada titik ini, mari kita tur singkat dari beberapa apa yang menanti.
Dan pada kenyataannya, aku bergabung di sini oleh sejumlah staf CS50.
Jika orang-orang ini semua bisa bergabung dengan saya di sini di atas panggung.
>> [Tepuk Tangan]
>> Pikiran Anda, ini hanya subset dari staf CS50,
karena setiap tahun kami memiliki hampir 100 staf anggota dalam peran asisten saja,
mengajar rekan-rekan, dan banyak lagi.
Ayo up.
Jadi mereka akan bergabung dengan kami di sini canggung untuk sesaat
saat kita memberi angin puyuh tur apa Anda harus mengharapkan sini dalam kursus.
>> Jadi pertama-tama, kita harus SAT / UNS sebagai pilihan gradasi dalam kursus.
Hal ini dimaksudkan sengaja menjadi pilihan dimana
jika Anda sedikit gelisah di berada di kursus,
dan Anda takut failure-- bahkan jika terus terang kegagalan berarti menyakiti IPK Anda,
mendapatkan B dan bukan A-- yang tepat apa, tentu saja untuk gateway
Tentu saja seperti CS50 dan lainnya kursus pengantar,
opsi penilaian ini dimaksudkan untuk memungkinkan.
>> Saya sepenuh hati mendorong students-- terutama
jika pada fence-- untuk memulai Tentu saja SAT / UNS, bahkan tetap SAT / UNS.
Tapi Anda pasti bisa beralih ke surat grade oleh kelima Senin istilah.
>> Terus terang, ketika saya kembali adalah mahasiswa baru pada tahun 1995,
Saya sendiri bahkan tidak mengambil CS50 karena saya tidak bisa mengumpulkan keberanian
untuk benar-benar langkah kaki di kelas.
Tampaknya domain terlalu asing bagi saya dan benar-benar hanya
bagi teman-teman saya, terus terang, yang telah pemrograman
karena mereka enam atau mungkin berusia 10-tahun.
Dan itu hanya karena aku mampu mengambil CS50 di hari
dalam versi setara SAT / UNS-- lulus / gagal kembali day-- yang
yang bahkan saya mengambil 50.
Dan entah bagaimana, aku di sini lagi dengan Anda hari ini.
>> Sekarang sementara apa lagi yang Anda harus diingat tentang 50
adalah pendaftaran simultan.
Berlawanan dengan rumor yang Anda mungkin telah mendengar,
Anda bisa, pada kenyataannya, secara bersamaan mendaftar di CS50 dan kelas lain yang
bertemu pada saat yang sama atau tumpang tindih waktu sebagai kuliah CS50 ini di sini.
Lihat silabus untuk keterangan pelaksanaan tersebut.
>> Kuliah, sementara itu, bertentangan dengan apa resmi dalam katalog,
umumnya hanya akan bertemu untuk hanya satu jam.
Pada kesempatan kita dapat menjalankan agak lama.
Namun perlu diingat bahwa tujuan dalam kuliah CS50 ini
adalah untuk menyediakan Anda dengan gambaran konseptual,
mudah-mudahan beberapa demonstrasi, mungkin bahkan beberapa hadiah,
dari apa yang menanti untuk minggu yang berikut.
>> Maka dalam kuliah, kita akan menjelajahi topik dan contoh bersama-sama,
membawa siswa di atas panggung, dan staf di panggung sesering yang kami bisa,
untuk hanya beberapa jam setiap minggu.
Bagian, sementara itu, akan yang ditawarkan oleh orang-orang ini di sini-banyak
dari mereka mengajar rekan-rekan, beberapa dari mereka akan tentu saja assistants--
terjadi mingguan.
>> Dan apa kunci untuk menjaga diingat adalah kita yang
jangan harus-- tidak seperti Pertama Malam, musik kelas ini
trek yang berbeda dari bagian untuk siswa yang kurang nyaman, lebih
nyaman, dan di antara keduanya.
Dan terus terang, Anda tahu apakah Anda kurang nyaman.
Dan Anda mungkin tahu jika Anda lebih nyaman.
Dan jika Anda tidak benar-benar yakin, Anda menurut definisi suatu tempat di antara.
Jadi ketika tiba saatnya untuk bagian dalam seminggu atau lebih, per silabus,
kami akan mengajukan pertanyaan itu.
Dan Anda dapat memilih sendiri Berbasis pada tingkat kenyamanan Anda sendiri
dan bersama students-- bersama hijau dots-- serupa di tingkat kenyamanan Anda.
>> Sementara itu, kita punya masalah set, yang pada akhirnya akan
mendefinisikan pengalaman Anda dalam kursus ini.
Mereka menawarkan biasanya dalam beberapa edisi.
Edisi standar yang kita harapkan paling setiap siswa di kursus untuk mengatasi
tetapi juga disebut edisi hacker yang tidak menawarkan bentuk kredit tambahan
langsung tapi benar-benar hak membual untuk mengatakan bahwa Anda mencoba dan ditangani
edisi hacker saja yang mendekati bahan yang sama
tapi dari sudut yang lebih canggih.
>> Apa yang kami tawarkan untuk Edisi standar,,
lagi, mayoritas yang super siswa, tidak
hanya berjalan-through, yang video yang dipimpin oleh staf program ini
yang benar-benar memandu Anda melalui masalah saja dan mungkin desain
implementasi.
Dan kami juga, setelah Bahkan, menawarkan postmortem,
dimana jika Anda bertanya-tanya bagaimana Anda bisa memiliki
atau seharusnya diselesaikan beberapa masalah, staf pengajar
akan memandu Anda melalui orang-orang di video juga.
>> Sementara itu, apa yang menanti juga adalah lima hari terlambat dan fakta
bahwa kita akan turun Anda Masalah terendah mengatur skor.
Kita tentu menghargai bahwa dalam pertukaran untuk beban kerja yang 50 mengharapkan
Anda, kehidupan mendapat di jalan kadang-kadang, jika tidak lima kali.
Dan jadi ini akan menawarkan Anda sedikit fleksibilitas,
memperpanjang batas waktu Anda dari, katakanlah, Kamis siang sampai Jumat pada siang hari.
Lihat silabus untuk Rincian pelaksanaan daripadanya.
>> Sekarang apa yang sekarang menunggu?
Dan itu hanya terjadi saya sekarang hanya berapa lama
Saya mengalami kalian berdiri di sini di atas panggung.
>> [Tertawa]
>> DAVID J. Malan: Tapi kita akan sampai ke selesai klimaks sebelum lama.
Jadi apa yang menanti dalam hal set masalah?
Yah, mungkin teaser dari apa yang kita semua lakukan tahun lalu dengan pendahulu Anda.
Dalam masalah pertama set tahun lalu, kami memperkenalkan
Scratch, grafis yang bahasa pemrograman yang
memungkinkan Anda memprogram harfiah oleh menyeret dan menjatuhkan potongan puzzle,
seperti ini, yang mengingatkan pada konstruksi
akan melihat hanya satu minggu karenanya, ketika kita beralih
untuk lebih tradisional bahasa, yang dikenal sebagai C.
>> Tahun lalu kami melanjutkan masalah set ini,
melibatkan untuk kriptografi, mengacak informasi
untuk menjaga dari pemerintah atau teman ' mata yang tidak ingin melihatnya.
Dikodekan dalam sini adalah pesan yang segera Anda
akan dapat mendekripsi atau de-berebut.
>> Breakout adalah masalah yang ditetapkan tahun lalu, dimana
Anda menggunakan ini menemukan pemrograman baru keterampilan untuk benar-benar melaksanakan
permainan wherein-- Anda mungkin ingat dari childhood--
tujuannya adalah untuk bash batu bata yang di atas layar
di sini, dan mengumpulkan banyak skor sepanjang jalan,
dan menerapkan algoritma Anda sendiri dengan yang solusi ini pada akhirnya
memungkinkan Anda bermain game.
Sementara itu, kemudian di semester, kami akan memberikan
kamus 143.091 kata dalam bahasa Inggris.
Dan Anda akan ditantang untuk menulis sebuah program yang
mantra cek, dokumen, berdasarkan memuat banyak kata-kata ke dalam memori
seefisien mungkin.
Umumnya pitting Anda terhadap teman sekelas Anda
jika Anda memilih menjadi sedikit Tantangan di papan pemimpin
untuk melihat siapa yang dapat menggunakan paling sedikit detik waktu berjalan,
dan jumlah paling sedikit megabyte memori,
dan benar-benar fine-tuning program Anda menjadi sangat sumber daya yang efisien tidak
hanya waktu.
>> Tahun lalu, juga, kita melihat akhir semester di pemrograman web.
Dan memang, kita akan melakukannya lagi ini tahun dengan beberapa set masalah,
memperkenalkan Anda ke teknik dan pola pikir yang Anda dapat menerapkan
keterampilan pemrograman untuk website, website dinamis,
website yang benar-benar memecahkan masalah dan berperilaku berbeda
dan tidak hanya statis situs dengan informasi statis.
>> Proyek akhir akhirnya akan menentukan, meskipun,
klimaks tentu saja bagi siswa, dimana
Anda akan ditantang untuk mengimplementasikan sebagian besar hal-hal menarik
kepada Anda, asalkan entah bagaimana mengacu pada pelajaran kursus ini.
>> Dan seperti yang Anda lihat di Video di awal,
kita akan menyimpulkan semester dengan CS50 Hackathon, yang jika, asing,
akan dimulai pada 07:00 satu malam dan berakhir pada 07:00 pagi berikutnya.
Sekitar 09:00, kita akan urutan makan malam pertama.
Sekitar 01:00, kita akan urutan makan malam kedua.
Dan jika Anda masih berdiri di 5:00, kita
akan shuttle bus Anda ke IHOP untuk sarapan.
>> The CS50 adil, sementara itu, adalah suatu peristiwa yang 2.000 ditambah dosen, mahasiswa,
dan staf dari seluruh kampus akan datang untuk melihat prestasi Anda
dalam perjalanan dan final proyek dan kreasi
yang Anda buat pada laptop Anda, desktop, atau lampu bahkan mungkin cahaya.
>> Sementara itu, jam kantor dan struktur dukungan.
Dan sekarang itu sudah menjadi waktu yang lebih baik untuk membawa Anda semuanya.
>> Jam kerja akan berlangsung empat malam seminggu untuk beberapa jam setiap malam
dengan umumnya 20 sampai 30 dari Staf program ini bertugas sekaligus
untuk menyediakan Anda dengan intim satu-on-satu peluang untuk dukungan
dengan masalah set kursus ini.
Bimbingan juga akan tersedia, terutama
bagi siswa kurang comfortable-- atau berani mengatakan sedikitnya comfortable-- untuk siapa
jam kantor bukan kebanyakan lingkungan pengasuhan
dan tentu saja tidak yang paling bebas stres.
Terutama ketika tenggat waktu mendesak, kita secara proaktif akan memasangkan Anda sendiri
dengan anggota staf untuk bekerja dengan pada beberapa jadwal rutin sebagai kebutuhan Anda
dan jadwal mereka memungkinkan.
>> Dan staf.
Izinkan saya untuk memperkenalkan Davon, Rob, dan Gabriel, kepala tahun ini.
Jika Anda masing-masing akan ingin say--
>> [Tepuk Tangan]
kata -sebuah.
[Tepuk Tangan]
Davon di sini adalah Pengelola mata kuliah, yang
berarti dalam peran penuh waktu dia membantu dengan eksekusi
dan logistik CS50.
Davon: Ya, hi, guys.
Anda akan melihat banyak bagi saya pada jam-jam kantor.
Aku akan mengajar bagian.
Dan jika Anda menembak email ke depan, Aku mungkin akan merespons.
Jadi saya akan melihat banyak Anda semua semester.
Dan selamat datang CS50.
>> DAVID J. Malan: Dan sekarang Gabriel, yang dirinya hanya mahasiswa baru tahun lalu,
tapi untuk beberapa tahun memiliki telah beroperasi versinya sendiri CS50
di Brazil, dimana dia download semua content-- kursus ini
yang jelas menjadi difilmkan dan ditempatkan online--
sehingga ia bisa menerjemahkannya ke Portugis dan kemudian mengajar lebih dari 100
teman sekelasnya atas Tentu saja dari beberapa tahun,
mengajar dalam bahasa aslinya kurikulum kursus ini.
>> GABRIEL: Hello.
>> [Tepuk Tangan]
GABRIEL: Hi, aku Gabriel.
Aku TF kepala kursus.
Dan saya berharap Anda akan menyukai CS50.
Ini adalah CS50.
>> DAVID J. Malan: Sekarang untuk Rob.
Oh, Anda ingin pengenalan?
>> ROB: Tidak, aku tidak tahu.
[Tertawa]
DAVID J. Malan: Dan Rob Boden.
[Tertawa]
ROB: Hi, aku Rob.
Ini adalah tahun kelima saya terlibat dengan kursus.
Setiap tahun, itu hanya lebih baik dan kelas yang lebih baik,
jadi kalian jelas akan menjadi luar biasa.
Saya harap Anda semua bersenang-senang dengan itu.
Aku akan bersenang-senang dengan itu.
Jadi melihat Anda di sekitar.
>> DAVID J. Malan: Dan kali tidak akan mengizinkan Us--
>> [Tepuk Tangan]
>> Waktu tidak akan mengizinkan kita untuk memperkenalkan semua orang
di panggung dan semua rekan-rekan mereka yang berbelanja kelas hari ini.
Tapi izinkan saya untuk memperkenalkan Belinda dan CS50 Puzzle
Hari, yang menanti ini Sabtu, datang yang
adalah yang pertama dari acara skala besar program ini.
>> Yang satu ini khususnya dimaksudkan untuk menempa hal tersebut
bahwa ilmu komputer pada akhirnya bukan tentang pemrograman, melainkan
tentang pemecahan masalah yang lebih umum.
Dan Teka-hari, seperti yang Anda akan lihat, akan membawa Anda
dan teman sekelas Anda together-- kami berharap Sabtu ini.
>> BELINDA: OK.
Hi, guys.
Jadi terima kasih.
Jadi sebagai kapten terkenal kami kata, nama saya Belinda.
Saya seorang mahasiswa di Quincy House.
>> Aku, sama seperti kalian, mengambil CS50 tahun lalu, benar-benar menyukainya.
Aku punya tempat yang lembut untuk kalian di baris ketiga.
Dan aku bangga untuk mengatakan, aku sekarang dalam hubungan berkomitmen
dengan CS50 [Tak terdengar].
OK.
Itu versi lumpuh saya lelucon.
>> Pokoknya, jadi pindah, hanya ingin mengajak
kalian semua untuk i-lab, atau HBS gatal-gatal.
Kita akan memiliki Teka-teki Hari 12:00-03:00.
Dan itu adalah kesempatan besar bagi Anda orang untuk bertemu sesama CS teman Anda,
memecahkan beberapa CS non-teka-teki, seperti Kapten disebutkan, dan juga makan beberapa makanan gratis,
memperoleh beberapa hadiah menarik, seperti kartu hadiah, $ 75 per orang,
dan also-- apa itu?
Wii U atau sesuatu?
Wii U?
Ya.
Untuk undian kami.
Keren.
Jadi aku akan tetap sekitar setelah kelas.
Dan jika kalian punya pertanyaan, beritahu saya.
>> DAVID J. Malan: Dan Anda akan melihat, di luar ini tidak ada yang harus dilakukan hari ini.
Masalah pertama set akan keluar Jumat.
Tapi untuk membawa kami pulang hari ini, saya ingin memperkenalkan Anda untuk secara khusus satu lagi
anggota staf, Colton Ogden sini, yang tangannya sekarang
dilindungi atas Anda dengan MIDI controller
untuk menempa hal lebih lanjut bahwa ilmu komputer, juga,
telah diterapkan jauh melampaui teknik dan STEM dan ilmu komputer itu sendiri,
memperluas bahkan ke domain seperti musik.
>> Colton memiliki ramah offered-- saya pikir salah satu dari mereka akan memperbaiki fokus.
Andrew, jika kita bisa memanggil fokus di sini untuk sesaat.
>> Apa Colton telah melakukan di muka Program
perangkat ini, pad ini tombol Anda lihat gambar di sini,
sebagai MIDI controller, dimana masing-masing tombol
ditransfer ke catatan musik tertentu atau suara, lebih umum rekaman,
sehingga dengan bermain pola ini tombol, seperti pola bit,
dapat mewakili lainnya konsep tingkat yang lebih tinggi.
Apakah dia bisa akhirnya untuk membawa kami pulang di sini hari ini?
Tanpa basa-basi lagi, jika kita bisa meredupkan lampu,
dan menyalakan layar belakang Colton.
>> AUDIENCE: Woo!
>> DAVID J. Malan: Ini adalah CS50.
>> [MUSIC PLAYING]
>> [Tepuk Tangan]
>> Itu saja untuk CS50.
Kita akan melihat Anda Jumat.
Beberapa kue menanti Anda di Transept.
>> [MUSIC PLAYING]