>> [Predvajanje glasbe]
>> [APLAVZ]
>> DAVID J. Malan: To je CS50, Uvedba Harvard University
do intelektualne podjetja računalništva
in umetnost programiranja.
Zdaj, če ste med tistimi, ki Vsako leto se sedi tukaj
z malo živcev v tvoji glavi, kot da misliš, da ne spadaš sem,
misliš, da je večina kdo sedi okoli vas
ve veliko več kot ti, je res bolj udobno kot ti na računalniku
znanost ali računalniki bolj splošno, zavedati
da 78% študentov, ki so zdaj da CS50 nimajo predhodnih izkušenj.
>> Dejansko pa je 100 pik ni na zaslonu, ki 78
so sveti zeleno, kar pomeni, da vam, če ste med tem demografske,
so v zelo dobri družbi tukaj ven.
In če ste namesto med 22% CS50 študentov, ki bi dejansko
imajo predhodne izkušnje, bodisi v visoka šola ali kakšen drug program
Zavedam se, da vas bo tudi mogoče izpodbijati v teku.
>> Ne samo, da imamo različne skladbe za študente manj udoben in bolj
udobno podobni v oddelkih, smo Prav tako so ti hekerjev izdaj
najbolj problem določa, da bo izziv te študente
s tem dodatnih izkušenj raziskati podoben material
ampak iz več prefinjen perspektiva.
>> Toda kaj je računalništvo?
No, na koncu, kaj se dogaja, da glede na to, kot ste raziskati to področje ni
Toliko, kjer boste na koncu v primerjavi s sošolci,
ampak, ko ste sami znašli v 12. teden v primerjavi, kjer ste začeli tukaj
v nič teden.
Sedaj računalnik science-- dobro, kaj je pravijo znanost computation--
kjer je računanje res samo fancy način rekel, ob nekaj vhod,
proizvede nekaj izhod, in tem, ki jih vozijo algoritmov,
kompleti navodila za reševanje nekateri problem za te vložke
da bi proizvedli neko proizvodnjo ali rešitev, ki vas zanima.
>> Tako smo pred kratkim imeli priložnost za potovanje iz
v Kalifornijo, da izpolnjujejo z alumna.
Njeno ime je Susan Wojcicki.
In bi rada, da govorijo da si tukaj na video
pričajo, kako se uporablja celo samo okus računalnika
znanost na uvodni ravni lahko.
Tudi če ne boste šli na opravljanje računalništva kot področje,
ali celo inženiring, ali STEM bolj splošno,
boste videli, v resnici, kako nekateri Seveda tako vplivali svoje življenje.
In ona ga šele, ko se je ona je bil višji tukaj na Harvardu.
>> Če bi lahko zatemnite za Susan.
SUSAN Wójcicki: Pozdravljen, svet.
Jaz sem Susan Wojcicki.
Jaz sem predsednik uprave YouTube.
In sem CS50, ko sem bil višji na Harvardu leta 1990.
Bil sem pravzaprav zgodovina in literature velik.
>> In moj junior poletje, Spoznal sem, da morda sem
želeli, da se naučijo nekaj o računalnikih.
In tako sem se vrnil.
Vzel sem CS50.
Težko je, vendar je bilo Najbolj neverjetno razreda sem.
>> Je spremenila, kako mislim o vsem.
In ko sem diplomiral na Harvardu Leta 1990 sem odšel v Silicijevi dolini.
In sem dobil službo.
In sem delal V tech, odkar.
DAVID J. Malan: Zdaj kaj Susan ni omenil v tem videu,
da je bilo dejansko v njej garaža, da je Google sam
Larry in Sergey utemeljen.
>> Zdaj smo tudi dosegel, da naše prijatelje na code.org, organizacije, ki
V preteklem letu je bilo pridobivanje ljudi, zlasti
navdušen računalništva in programiranje, zlasti.
Vendar je treba omeniti, da se načrtovanje ni računalniško znanost sama po sebi.
Računalništvo ni programiranje.
Namesto programiranje je samo tool-- s katerimi vsemi vami
bo vse preveč dobro seznanjeni z end-- semester
tako, da jih lahko uporabljajo ne samo da bi prihodnje tečaji v CS
ampak na kakršenkoli področjih, od koder pridete v humanistiki,
družbene vede, naravna znanost ali podobno.
>> Dejansko, dovolite nekaj drugih alumni in njihovi sodelavci
govoriti uporabnosti polja, ki čaka.
>> Bill Gates: sem bila 13, ko sem Prvi nimajo dostopa do računalnika.
>> JACK DORSEY: Moji starši Kupil mi Macintosh leta 1984
ko sem bil osem let star.
>> Mark Zuckerberg: Bil sem v šestem razredu.
>> ZVOČNIK 1: naučil sem kodo na fakulteti.
>> Ruchi SANGHVI: Freshman leto, prva semester, Uvod v računalništvo.
>> Bill Gates: sem napisal program da je igral križce in krožce.
>> DREW HOUSTON: Mislim, da je zelo skromnih začetkov.
Mislim, da prvi program Napisal sem vprašal stvari, kot so,
kakšna je tvoja najljubša barva?
Ali koliko si star?
ELENA SILENOK: Najprej sem se naučil kako narediti zelen krog
in rdeči kvadrat prikaže na zaslonu.
Gabe NEWELL: prvi čas, pravzaprav sem imel
Nekaj ​​prišel in rekel, zdravo, svet.
In sem računalnik storiti.
Bilo je samo presenetljivo.
>> Mark Zuckerberg: Učenje, kako programu ni začnete
z željo, da se naučijo vse računalništva
ali poskuša, da bi obvladali to discipline ali kaj podobnega.
To šele začelo, ker I želeli, da to stori eno preprosto stvar.
Želel sem narediti nekaj, je bilo zabavno za mene in moje sestre.
>> In sem napisal tale program.
In potem v bistvu samo dodamo malo za njo.
In potem, ko sem potreboval da se naučijo nekaj novega,
Sem ga pogledal, bodisi v knjigo ali na internetu,
in nato dodamo malo za njo.
>> DREW HOUSTON: To je res ni v nasprotju igranje instrumenta ali kaj
ali igranje šport.
DAVID J. Malan: Dobro.
Torej nam pustite zdaj dejansko potopite malo globlje.
Kaj so ti vhodi in izhodi da govorimo o tukaj?
>> Torej, kaj pa nekaj preprostega?
Vi verjetno veste, tudi če imate no poznavanje računalništva
nje, da računalniki nekako uporabiti in razume le ničel in enic.
Ampak, kako je to mogoče dati, kako veliko današnjih namiznih in prenosnih računalnikov podobni
lahko storite?
>> DNA dan, samo alphabet, da razumejo
je nič ali ena.
No, da je to.
Mi, ljudje, nagnjeni k uporabi decimalnega sistema. "December", kar pomeni 10.
In to je 10, ker imamo 10 številk, od 0 do devet.
>> Zdaj računalniki, nasprotno, nagibajo k uporabi binarno.
"Bi", kar pomeni dva.
Torej so ponavadi samo nič in eno za uporabo.
Ampak se je izkazalo, da je tudi samo ničle in enic, da
je dovolj velik abeceda s katerimi bi predstavljajo najbolj
katerikoli podatek, ki ga želite, ali je to številka,
ali je to pismo, ali je to grafično ali video na zaslonu.
>> Razmislite, na primer, kako smo ljudje, interpretirajo to številko tukaj.
To je le tri številke, ena, dva, tri.
Vemo pa to številko prirojeno zdaj kot 123.
Ampak zakaj je to?
>> No, če misliš nazaj da morda razredu šole,
boste verjetno naučili razmišljati o Te številke so pa v stolpcih,
če je eden na sto mesto, dve je v več deset mestu,
in tri v tisti mestu.
Zakaj je to dejansko uporabna?
No, pomislite super preprosta aritmetična
da smo bili vsi delal za let.
Učinkovito, če imaš ena na stotine mestu,
vam hitro math 100 krat 1 plus 10-krat 2--
ker sta se v več deset lokal je-- plus 1 krat 3--
ker tri je tisti mestu.
Torej, seveda, če želimo dejansko množijo tole,
kaj smo v resnici predstavlja s tem pattern-- eno
dva three-- je 100 plus 20 plus 3, ki je, seveda, je 123.
>> Zdaj binarna in računalniki res, bistveno govorijo isti jezik
da storimo.
Imajo samo manjši abecedo.
Torej računalniki imajo samo ničle in tisti, ki so jim na razpolago.
Torej, ker so v bistvu smo ljudje Pooblastila 10 v vsaki od teh places--
10 na nič, 10 na eno, deset za dve osebi, ki vam daje 110 in 100
oz.
>> Ker računalniki imajo le dve vrednosti jih lahko razumemo, nič in ena,
morajo uporabiti različne vrednosti v teh stolpcih, ena, dva, štiri.
In če bo ohranil, osem, 16, 32, 64, in tako naprej.
Ampak vzorec in mentaliteta je povsem enako.
>> Torej po tej logiki, kdorkoli, kako bi Grem pa predstavlja število
eno v binarno?
Če še nikoli niste niti pomislili prej, kaj vaš gut rekel?
>> OBČINSTVO: One.
DAVID J. Malan: One.
Točno tako.
Pravkar smo potrebovali eno v posameznikova mesto, ker ničel
zadostuje, da bi se nam ne štiri ali dve.
Torej, en krat ena enaka ena.
Zdaj se stvari malo zanimivo.
Če želim, da zastopa v binarno število Druga stvar, ampak,
še enkrat, tudi če ste nikoli Pred govorijo ta jezik,
kako jih predstavljamo v binarno da smo ljudje vrednosti poznamo kot dvema?
Nič od nič.
Samo dal eno v stolpec, ki ga želite.
>> Zdaj pa postaja precej enostavno verjetno zdaj.
Torej, če želim, da zastopa three-- je stolpec Nobena tri stranke.
Torej, še enkrat, sem lahko zdaj dodate te vrednote skupaj z uvedbo enega tukaj.
Torej 2-krat 1 plus 1 krat 1 je, seveda, 3.
>> Zdaj se stvari malo zabave v da tisti, ki je sedaj postal ničle.
In predstavljajo štiri, sem dobil to.
In če smo prirastek počasi tu--, da bi bilo pet.
To bi bilo šest.
To bi bilo sedem.
>> Zdaj pa se zdi, da ima naletijo na problem.
Kako bi šel približno zastopajo eight-- bo naslednja vrednost.
Ja, zato potrebujemo novo bitov.
In, seveda, če ste slišal te besede,
bitov, ki je samo za kratek binarna števka, nič ali ena.
>> In tako sem se zgodi, da se predstavljajo le tri takšne bitov tukaj.
Ampak, če sem imel način skladiščenja ne tri različne bitov, ampak štiri,
Zagotovo sem lahko predstavljajo osem, nato pa devet, in nato
10, in še višje in višje.
>> Ampak da pokliče na vprašanje, kako lahko
iti okoli predstavljajo ti stvari na prvem mestu.
To je ena stvar, da pripravi jim tukaj na slide up,
ampak kako si jih predstavljajo če ste mehansko napravo?
Kaj je računalnik počne predstavljajo vhode in izhode, ki
bistveno opredeljujejo izračun na koncu dneva?
>> No, kaj o nečem super enostavno, kot je ta?
To je samo žarnica.
In to lahko sproži žarnica, da gredo na
z vrtenjem nekaj elektrike na in omogočajo elektroni
teče skozi, kar spremeni njeno država ali njena vrednost, tako rekoč.
Na primer, to je desk lamp old school
tu z eno tako žarnica znotraj njega.
In zdaj je ni res počel kaj koristnega.
Toda takoj, ko sem jo priključite v električno vtičnico
in potem uporabite to switch-- ali bomo lahko tudi imenujemo tranzistor
ali pomislite, da je such-- Zdaj lahko predstavljajo bodisi
ta vrednost, kadar žarnica je očitno off, ali je ta vrednost.
Ta vrednost ali to vrednost.
Ta vrednost in tako naprej.
>> Tako znotraj računalnika, domnevno so veliko manjši kosi strojne opreme,
vendar so na koncu dneva so preprosto
uporabiti electricity-- morda ujeti tem--
in potem vodi nekaj ali da nekaj off.
Seveda, to ni posebej zanimivo narediti
s samo eno žarnico.
>> V bistvu, kako visoko lahko štejem v binarno s to namizno svetilko tukaj?
>> OBČINSTVO: One.
>> DAVID J. Malan: Ena, kajne?
Rabim več svetilk mizo, če sem dejansko želijo, da računajo višje.
Vendar pa lahko storimo bolje.
Ker žarnice, ki smo pripravili v teh stvareh
dejansko luksuznih žarnice od minulih dni bi dovolil.
In oni so dejansko mrežno žarnice.
In grozde podjetij da te stvari v teh dneh.
>> Vendar se je izkazalo, da je ta zlasti
opremljen s funkcijo, s katerim lahko spremenite svoje barve.
Torej za primer, če ste krasijo vaš študentski sobi
z nekaj teh luči žarnice, glede na vaše razpoloženje,
odvisno od tega, kdo prihaja v, odvisno od vremena,
odvisno od časa dneva, lahko dejansko
spremembo barve žarnice v svoji sobi.
In to zato, ker te luči čebulice in drugi, kot ji še kaj
imenovane API, vloga programski vmesnik, ki
je tema, s katero se boste dobro seznanjeni z do konca semester.
>> In to je samo domišljija, skrivnosten način rekel,
lahko programirate te svetlobe žarnice, da opravljate svoje ponudbe.
Lahko jim pošiljate sporočila tako kot ti, človek,
lahko pošljete sporočilo na spletni strežnik rekel, da mi današnje novice
ali daj mi svoj email.
>> Lahko pošljete več Skrivnosten sporočil, da teh žarnic
reči, vklop in izklop.
Ampak to še ni vse, da je zanimivo.
Lahko rečemo, vklopite rdeče, vklopi zelena, vklopite modra,
vse z istim žarnico.
In lahko celo z nekoliko bolj zdrava pamet, pravijo, obrnite se na blue
ko je mračno dan zunaj, na primer.
To lahko dejansko pripopava vreme API in izvedeli
kaj je vreme, ali čas dneva ali drugih tovrstnih sprožilcev.
>> Torej, v resnici, dva Lastna uslužbenci CS50 je,
Dan Bradley in Ansel Duff tukaj, prosimo, nabavljeno
nam cel kup teh žarnic.
In so zgradili CS50-jev Prve kdaj binarnih čebulice,
kjer smo zastopali tu-- s temi igrivo malo magnets--
različne ograde smo Omenil bi samo malo nazaj.
>> Torej, tako kot je tu posameznikova mesto, dva, štiri.
In nismo videli več kot to.
Ampak, seveda, oni so pooblastila dva.
Osem, 16, 32, 64 in 128.
Torej, če jaz zdaj želim biti malo Ljubitelj kot če bi uporabili to staro šolo stikalo,
Tukaj imam na tej iPad super preprost vmesnik
da Dan Bradley, nekdanji študent in zdaj asistent,
programed uporabo nekaterih HTML in JavaScript, ki
so markup in programiranje jeziki oz.
In lahko verjetno vidimo-- tudi v nazaj--
tam je velik plus in velik minus, plus en gumb za vsako od teh žarnic.
In kaj se to dogaja, da mi dovolite, da se je, na primer, kliknite znak plus
in zdaj predstavljajo od Seveda, kaj več?
One.
In to lahko še enkrat udaril.
Dve.
Tri.
Four.
Pet.
Six.
Seven.
>> In tu smo dobili, da prevračanjem, vendar imamo še četrto malo tokrat,
tako da zdaj imamo osem.
Tako da bi lahko to naredili že kar nekaj časa.
V bistvu, kot sedmih, kako visoko smo lahko računali?
Kdorkoli?
>> OBČINSTVO: 255.
>> DAVID J. Malan: 255, kajne?
Ne skrbite preveč o matematiki za zdaj, ampak to je precej dostojno številko.
Vendar dejansko ne zavezuje samo koliko kosov informacij,
kot pismo ali grafiko da bi jih zastopamo.
>> Ampak ne glede na to, za zdaj.
Jaz grem naprej in jih vse izklopite.
In če bi lahko, bi rad vprašal za prostovoljec, naš prvi volunteer--
oh, hello-- na odru.
Ulov je, da moraš biti udobno se pojavljajo, kot ti je jasno
so pred vsemi sošolci, kot tudi na internetu.
In mi pogledati malo dlje za-- Kaj pa tukaj v beli srajci?
In roko gor.
Pridi gor.
Kako ti je ime?
>> OBČINSTVO: Jackie.
>> DAVID J. Malan: Jackie.
Jackie, pridi gor.
Torej, kar je tudi v tem iPad je gumb imenovan Game Mode.
In to Game Mode dogaja, da mi dovolite, da vložek
vnaprej določeno decimalno številka, številke smo ljudje
poznajo.
In potem vam bo izpodbijala tukaj uporabiti tipke
o top-- enega za vsaka od teh bulbs--
dejansko ugotovimo, vzorec žarnic
, ki predstavlja številko v vprašanje.
>> In žal mi je, kaj je bilo ime?
>> OBČINSTVO: Jackie.
>> DAVID J. Malan: Jackie.
V redu.
Lepo, da sva se spoznala.
>> Zato naj gredo naprej in program za svet za prikaz številke 15.
Bomo obdržati majhno najprej tukaj.
In jaz grem v Game Mode.
In bom, da določite, nam številko 15.
>> OK.
In zdaj z vsem watching-- če želite morda stojijo na ta način,
ker bo to linijo up-- iti naprej in preklopite osem gumbov vzdolž vrh
za vklop žarnice na ali off, kot se vam zdi primerno.
>> OBČINSTVO: OK.
>> DAVID J. Malan: In ni varanje z hitting plus 15-krat.
Oh, bomo storili.
>> OBČINSTVO: Oh, počakaj.
Tako mi je žal.
>> DAVID J. Malan: Lahko tudi vključite Žarnice na posamezno
z vsako od teh gumbov na vrhu.
OBČINSTVO: Oh, OK.
Tako da bi bilo takšen--
DAVID J. Malan: OK.
Torej, zdaj imamo osem.
Torej, kaj je premor Občinstvo tu se zatakne.
Katero število je Jackie Trenutno predstavlja?
11.
Torej smo skoraj tam.
In odlično.
Torej imamo prvo zmagovalca.
Čestitam.
>> In smo mislili, da bomo imeli nekaj čudovitih darila.
Če želite, da je ena taka študentski sobi tukaj na kampusu,
lahko sami imeli končni projekt zdaj uporabljajo ta API, zahvaljujoč Jackie.
Torej sedaj--
>> [APLAVZ]
>> --if smo lahko ena več kot okoli tega.
Oh, zdaj vsakdo želi nekaj žarnic.
Za tako imenovane hacker izdaji, bomo ga ploščadi je-- oh,
ja, neobvezujoče.
Mislim, da pridete do sedaj če je tvoja roka se dogaja.
Kako ti je ime?
>> OBČINSTVO: Alex.
DAVID J. Malan: Alex, pridi sem.
Torej, za Alex, se bomo Program v nekoliko večjem številu.
Morda je v redu.
Številka 50.
>> OBČINSTVO: OK.
DAVID J. Malan: Ampak, kot I rekla-- in morda
želim stati tukaj, tako da da so gumbi line up
kot bi si expect-- ampak sem to imenujemo izdaja hacker.
Tako-- srečno!
>> [Smeh]
>> Morda ne boste mogli obrniti jim off če ti-- OK.
Odlično.
Čudovito.
Čestitam.
>> [APLAVZ]
Mislim, da bi morala vplačati.
Čestitke Alex tudi.
OK.
>> Torej končni takeaway tukaj je, upajmo, odkrito povedano,
simplicity-- preprostost s katero
lahko dobite nekaj lepo svetlobo žarnice, očitno v [neslišno].
Ampak oni predstavljajo, navsezadnje, enake ideje
s katero smo mi ljudje že vse preveč seznanjeni.
Torej, kaj bi lahko naslednjič korak napredovanja
poskuša nekaj storiti Zanimivo s podatki
in predstavljajo vložke, ki niso samo številke, vendar so morda črke ali več?
>> No, izkazalo se je, da računalniški svet, za več let,
preprosto sprejel samovoljno, ampak skladni standard, ki preslika številke
s črkami abecede.
Na primer, tukaj je odlomek iz tega kartiranja.
To se imenuje ASCII.
-S-Ci-I-I. In da je preprosto tabela, ki preslika velike črke letters--
v tem case-- za decimalna števila.
>> Toda kaj je posledice?
No, če ste dejansko želeli predstaviti nekaj takega kot e-pošto ali kakšno besedilo
na spletni strani, si seveda želeli pokazati
človekovih pisma abeceda, ne številke.
Torej, odvisno ozadje programa
da uporabnik uporablja, če je spletni brskalnik ali e-poštni odjemalec,
številke lahko zagotovo razlagati tako, kot pisem.
To se pravi, vzorce bitov lahko enostavno treba razlagati tako črkami.
>> In kaj lahko imamo je črka bitje
zastopali 65, B so zastopali 66.
Torej, če imamo super Skratka beseda, kot hi,
kaj bi računalnik na koncu Trgovina na decimalko, ampak res v binarno,
uporabo nekaterih zaporedje bitov, vplivno malo električne energije na nek način,
bi se ti dve številki 72 in 73.
>> Toda vzorec bitov, ki predstavlja te vrednote.
Torej, to so torej, kako smo lahko predstavljajo naše vhode in izhode.
In je dovolj reči, da lahko narediti bolj kompleksne predstavitve
navsezadnje s stvarmi, kot grafika, video posnetke, glasbo in še več
kot bomo videli kasneje ta izraz.
>> Tako da samo pusti potem algoritmi, ti sklopi
navodil, ki smo reševanje konkretnih problemov.
Mi gre na vložkov algoritmov.
In ti algoritmi se proizvajajo izhodi, upajmo pravilni izhodi
in upajmo, da tudi učinkovito zbrali izhode.
Z drugimi besedami, to je ena stvar, pravilno izvajati nekaj.
To je še ena stvar, za izvajanje nekaj dobro ali učinkovito.
>> Na primer, ena predstavitev da smo radi v teku
je to ena.
Ampak te stvari so dobili vedno težko najti.
Ampak to je res old school imenik, znotraj katere
so 1000 plus strani Imena in telefonske številke.
In če sem hotel pogledati nekdo v tem imeniku,
Lahko bi enostavno narediti zelo naiven algoritem.
Lahko bi odprla na prvi strani, in Lahko bi začeli iskati, recimo, nekdo
imenom Mike Smith.
In če ni na prvi stran, sem napredovala na drugo,
in nato tretji, in nato na četrti, in tako naprej,
dokler nisem končno našli Mike Smith.
>> Zdaj pa je, da je algoritem pravilen?
>> OBČINSTVO: Ja.
>> DAVID J. Malan: Ja.
Če je on tam, bom ga na koncu našli.
Vendar to verjetno ni zelo učinkovit, zagotovo ne hitro,
ker, moj Bog, zakaj sem zapravljam svoj čas flipping
skozi vse te strani, ko sem lahko Vsekakor to narediti fizično hitreje?
>> No, rahlo optimizacija, tako da govori, morda ne eno stran naenkrat,
vendar dve, štiri, šest, osem, 10.
Še vedno pravilna?
>> OBČINSTVO: Ne
>> DAVID J. Malan: Torej ne, če sem za instance preskočite Mike Smith.
Ampak tako dolgo, kot sem nazaj pedal ena stran, če ga ustrelijo,
Mogoče bi lahko kaj popraviti bi sicer gotcha.
>> Vendar je bolje?
Je hitrejši?
Mislim, ja.
To je dobesedno dvakrat hitreje če naredim dve strani hkrati.
Torej, če sem prvotno imela 1000 strani, Zdaj moram samo flip 500-krat,
ni v celoti 1000 strani, da bi dobili lahko v najslabšem primeru
na koncu telefona knjige, kjer je nekdo
Like Mike Smith ali nekoga z pozneje ime bi dejansko lahko.
>> Ampak, seveda, smo ljudje nikakor niso
dogaja, da se delaš, da zagotovo ne na tej točki v naših življenjih.
Kaj je smiselno človek bi storili?
OBČINSTVO: Pojdi naravnost The9 S-ih.
DAVID J. Malan: Pojdi naravnost na S-ih?
Kako sem šel naravnost v S-ih?
>> OBČINSTVO: Raztrgaj na pol.
DAVID J. Malan: No, ni oznake.
Torej, ja, če bi bilo res Nalepka ali zavihku lepljiva za S,
moramo skočiti tam.
Ampak to je precej neškodljiva.
Torej, najbolje kar lahko naredim, je v grobem na oddelku S ali morda grobo
v sredini.
Ampak ključ takeaway sedaj-- in intuicija
da ste vzeli za odobri za leti probably--
je, da je tisto, kar vam zdaj vem o tem problemu?
>> OBČINSTVO: [neslišno]
>> DAVID J. Malan: Mike Smith je zagotovo ni v tem polovici problema
ker Smith prihaja po sredini kar je približno oddelek M,
da izgleda.
Torej, kot ste morda opazili pri Visitas, lahko zdaj dobesedno
trgati ta problem na pol.
OBČINSTVO: Woo!
DAVID J. Malan: To je vedno lažje in lažje.
[APLAVZ]
Tukaj imaš.
[Smeh]
In zdaj sem v osnovi imajo isti problem,
ampak to je dobesedno pol tako velika.
Še vedno iščem Mike Smith.
In upam si reči, da še vedno lahko poglej za njega na enak način,
Delili problem v polovici Ponovno, solzenje problem spet
na pol, kar me zdaj zapusti z problem četrtino velikosti,
dramatično vrgel to polovico stran, in ta postopek ponavljamo znova in znova
in spet pogledal navzdol na vsaki točki za prikaz
če Mike Smith je na stran v vprašanju.
>> Zdaj, če jaz to pravico, na koncu se bom najti
s samo eno stran, na kateri Mike Smith je, če je to res, v telefonskem imeniku.
Seveda, jaz bi Nikoli pokličite Mike znova.
Ampak poanta je, da če smo začeli s 1000 stranmi, moj prvi algoritem,
flip strani, morda 1000 times-- vsekakor manj, ker je
Ime S in ne Z ime, ampak kot več kot 1000 strani, potencialno.
>> Drugi algoritem, bolje.
500 strani.
Tretji algoritem, čeprav, koliko korakov bi bilo
da razdeliti 1000 stran Telefonski imenik na pol, kot je ta?
10, vzemi ali pusti.
Torej le z lahkota skozi to telefonski imenik, potapljanje in osvajanje,
tako rekoč, 10-krat, bom navzdol na eno samo mesto, stran moj način.
>> In tako bomo lahko zajame to intuicijo zdaj malo grafično
če si razmisli ta super preprost graf.
Mi smo na x-osi ali horizontalno os, je velikost moj problem,
število strani v telefonskem imeniku.
In računalniški znanstveniki na splošno všeč, da pokličete
velikost problema n, kjer n je le neka spremenljivka, ki
represents-- v tem case-- število strani.
>> Navpično ali y-os, je tukaj bo čas za rešitev,
morda število strani zavojev, morda število sekund
ali minut, ne glede na tvoja merska enota je.
In zato je ta rdeča črta predstavlja prvi algoritem,
ker obstaja 00:59 Razmerje med številom
strani in koliko časa traja.
>> Če Verizon podvoji število strani v telefonskem imeniku v naslednjem letu,
moj tek enkrat bom vprašal Čas, potreben za izvedbo
da najprej algorithm-- podvoji v najslabšem primeru.
Toda drugi algoritem, kjer sem lahkota z dve,
zahteva manj časa za saj problem velikost.
Torej, če imam to veliko Pages tu-- obvestilo
da rumeno črto predlaga, manj časa za reševanje.
In res, to pomeni, bomo rekli, n več kot dva.
>> Toda kaj je oblika tretji in končno krivulja bo izgledal?
Ja, to je res šlo za glej-- I Ne vem, kaj si hotel reči.
Ampak poglejmo, kaj si hotel reči.
>> OBČINSTVO: Tako.
>> DAVID J. Malan: To bo izgledal to, logaritmična slope-- exactly--
s katerim imate to nenavadno pobočju.
To ni več ravna črta.
In kaj je prepričljiv pa, da je to čeprav je graf zdaj odrezan,
lahko ekstrapolirati v vašem moti, da je ta zelena črta ni
bo povečanje Višina vse, da je veliko
kot boste nadaljevali še naprej po tej horizontalni osi.
>> Dejansko, Verizon, za primerka, bi lahko podvojil
število strani v telefonu knjiga med letos in prihodnje leto
od 1000 do 2000 strani, vendar ni nič takega.
S tem je tretji in zadnji, tam je intuitiven algoritem
delitve in osvajanja.
To se dogaja, da me, koliko več korake v naslednjem letu, da bi našli nekoga,
Like Mike Smith?
>> OBČINSTVO: One.
>> DAVID J. Malan: Obstaja samo ena.
In ga lahko štirikrat, to je dogaja, da mi bo le dve več korakov
in tako naprej.
In tako je to dokaz, da kako nekaj skrbno načrtovanje
in nekateri spoštovanje za to, kar tvoji vhodi so lahko še boljši.
Zdaj varamo malo v smislu
da smo vplivno domnevo.
Kaj je moja predpostavka o našem telefonskem imeniku
, ki mi je omogočila, da se razdeli in vladaj v tem intuitiven in še pravilen način?
>> OBČINSTVO: [neslišno]
DAVID J. Malan: Ja.
Zato je ukazal.
Abecednem redu, da ga je Telefonski imenik podjetje.
Če bi bilo v naključnem vrstnem redu, ki bi pekel imeniku,
gotovo pa ne bi gre pričakovati, da se algoritem
Včasih sem, ker si ne bi nikoli pravkar zgodilo čez Mike Smith
Če ste ohranili delitev na pol na ta način po naključju.
>> Torej, kaj je zdaj formalizirati kaj je jasno intuitivno.
Torej nekaj, kar se imenuje psevdokoda je, če se bomo
začeti nekaj naših začetnih težav.
In to je splošen način opisovanja algoritem ali računalniški program,
ne z uporabo C ali C ++ ali Java, ali specifičnega jezika,
vendar samo z uporabo angleščine, z , ki bi lahko vsak človek pozna.
>> In bi mi napisali psevdokoda za ta problem, kot sledi.
Prvi korak, pick up telefonski imenik.
Dva, odprt do sredine imenik korak.
Tretji korak, poglej imena.
Korak štiri, če Smith je med names--
>> In zdaj je to Zanimiv konstrukt.
To je odločitev, točka.
To je vilice v cestnem prometu, če vas bo, podružnica, tako rekoč.
Torej bom zamakniti samo po dogovoru step--
ne five-- ki je recimo, bom poklical Mike.
Torej, ta zareza, popolnoma samovoljno človeški konvencija, vendar je
preprosto pomenilo, da semantično posredovati da če Smith je med imeni,
potem bi moral poklicati Mike.
>> Medtem v koraku šest, obvestila da je zareza več.
Torej je še druga vilice v road, druga cesta Jaz bi potovali.
Torej else if Smith je prej v knjigi, kar je
moj naslednji korak, verjetno, da bo tukaj?
OBČINSTVO: Greš na levi strani.
DAVID J. Malan: Ja, pojdite na leva polovica imeniku.
Mečejo desno polovico, če Smith je že prej v knjigi.
Torej odprt sredi leva polovica knjige.
>> In potem korak osem, pojdite na linijo tri.
In to je radoveden loop sem induciranje, rekurzija tako rekoč.
Ampak več o tem v prihodnosti.
>> Jaz sem z mojo isti algoritem, moj isto psevdokoda,
ponovno reševanje istega problema ker je edina stvar, ki se je spremenilo
je velikost problema, ne moj cilj, in ne oseba
Iščem.
Tako da sem lahko ponovno algoritem da sem že definirana.
>> If Smith je kasneje v book-- boste morda
guess-- odprta do sredine desna polovica knjige.
In še enkrat, pojdite na linijo tri.
Else-- kaj je končna linija V tem programu dogaja, da je?
Če ni med Imena na strani sem
no, če je to v ne prej knjige, in ni ga kasneje
v knjigi, kaj vem Zdaj je res o Mike Smith?
OBČINSTVO: On ni v knjigi.
DAVID J. Malan: On ni v knjigi.
Torej, najbolje kar lahko naredim, je le obupajte in ustaviti ta program.
V redu.
Tako da na tej točki, vzemimo Hiter ogled nekaj, kar čaka.
In v resnici, sem tukaj pridružil s številom zaposlenih CS50.
Če ti ljudje lahko vse mi pridruži tukaj na odru.
>> [APLAVZ]
>> Zapomnite si, da je to le podmnožica osebja CS50,
saj vsako leto imamo skoraj 100 zaposlenih člani v vlogi pomočnikov seveda,
poučevanje štipendistov, in še več.
Pridi gor.
Tako se nam bodo pridružili tukaj nerodno za trenutek
kot smo dali tornado turnejo, kaj morate pričakovati, tukaj v teku.
>> Torej, v prvi vrsti, imamo SAT / UNS kot možnost razvrščanja v teku.
Ta je mišljen namerno da je možnost katerim
če ste malce nelagodno pri čemer je v teku,
in ti se bojijo failure-- četudi odkrito neuspeh pomeni boli vaše GPA,
pridobivanje B in ne je--, ki je natančno tisto, gotovo za prehod
Seveda, kot CS50 in drugo uvodna predavanja,
ta možnost razvrščanja je mišljeno, da se omogoči.
>> Iskreno spodbujala students-- posebej
če na fence-- za začetek Seveda SAT / UNS, čeprav še vedno SAT / UNS.
Vendar lahko zagotovo preklopite na pismo razred, ki ga peti ponedeljek v mandatu.
>> Iskreno povedano, ko sem je bil novinec v letu 1995,
Sam nisem celo CS50 ker nisem dobil pogum
dejansko korak peš v razredu.
Zdelo se je, domene preveč seznanjeni z mano in res samo
za tiste moje prijatelje, odkrito, ki je bil za programiranje
saj so bili šestkrat ali pa 10 let star.
In to je samo zato, ker sem bil sposobna sprejeti CS50 v moj dan
v enakem različici SAT / UNS-- DOBER / SLAB nazaj v dan--
da tudi jaz vzel 50.
In tako ali drugače, jaz sem tu z vami danes.
>> Zdaj medtem kaj si bi morali imeti v mislih približno 50
je sočasen vpis.
V nasprotju z govoricami, da je Morda ste slišali,
lahko, v resnici, hkrati vpis v CS50 in drugega razreda, ki
izpolnjuje na enak ali prekrivanj Čas kot CS50 predavanj tukaj.
Glej učni načrt za navedb za njihovo izvajanje.
>> Predavanja, medtem ko je v nasprotju s kaj je uradno v katalogu,
bo na splošno le izpolnjevati za samo eno uro.
Včasih smo morda teči malo dolgo.
Toda ne pozabite, da Cilj v CS50 predavanj
je, da vam ponudimo konceptualnega pregleda,
upajmo, da nekaj demonstracij, morda celo nekatere darila,
kaj za vas pričakuje tednu, ki sledi.
>> In tako na predavanjih, bomo raziskati te teme in primeri skupaj,
prinaša študentom na odru, in osebje na odru tako pogosto, kot smo lahko,
za samo nekaj ur na teden.
Oddelki, medtem, bo ki jih ti ljudje tu-- veliko ponudi
od njih učil štipendistov, nekaj Od njih seveda assistants-- volje
se dogaja tedensko.
>> In kaj je ključnega pomena, da v mislih je, da smo
ne have-- razliko od prve Noči, glasba class--
različne skladbe odsekov za študentje manj udobnih, več
udobno, in nekje vmes.
In odkrito povedano, veš, če ste manj udoben.
In verjetno veste, če ste bolj udobno.
In če niste prepričani, da ste po definiciji nekje vmes.
Torej, ko pride čas, da oddelku v enem tednu ali tako, po predmetniku,
vam bomo vprašati to vprašanje.
In si lahko sami izberite Temelji na svojo raven udobja
in se z students-- biti z zeleno dots-- podobna raven udobja za vas.
>> Medtem, imamo težavo kompleti, ki bo v končni fazi
opredeliti svoje izkušnje na tem tečaju.
Oni ponujajo tipično v več izdajah.
Standardna izdaja, da pričakujemo najbolj vsak učenec v času za reševanje
ampak tudi tako imenovana heker izdaja ki ponuja nobene oblike dodatnega posojila
Dokončna ampak res je bahač reči, da si se potrudil in reševati
hacker izdaj teku, da pristop podoben material
ampak bolj sofisticirane kotom.
>> Kaj ponujamo za standardna izdaja, za,
enkrat, super večina študentov, ki niso
le sprehod-kanale, ki so videos osebje teku je pod vodstvom
da vas resnično sprehod skozi Težave seveda je možno in oblikovanje
izvedb.
In tudi, ko Dejstvo, ponujajo postmortems,
pri čemer, če ste se spraševala, kako bi lahko imeli
ali bi morala rešiti nekaj problem, učno osebje
vas bo vodil skozi tiste na video, kot tudi.
>> Medtem, kaj pričakuje preveč, so pet poznih dni in dejstva
da bomo Odvrzite najmanjši problem je določeno število točk.
Vsekakor cenim, da je v zameno za delovno obremenitev, ki pričakuje in 50
od vas, življenje pride na pot včasih, če ne celo petkrat.
In tako bo ponujal ste malo fleksibilnosti,
razširja svoj rok od, recimo, Četrtek opoldne v petek opoldne.
Glej učni načrt za Podrobnosti za njihovo izvajanje.
>> Zdaj, kaj zdaj čaka?
In to je šele pojavljajo Zdaj mi samo kako dolgo
Imam vidva stojim na odru.
>> [Smeh]
>> DAVID J. Malan: Ampak bomo prišli do climactic konča pred dolgo.
Kaj v smislu, da čaka o sklopih problematike?
No, morda teaser, kaj smo vsi lani s svojimi predhodniki.
V prvi problem niz Lani smo uvedli
Scratch, grafični programski jezik, ki
omogoča programiranje dobesedno povleci in spusti kosov sestavljanke,
kot ti, ki so spominja konstruktov
bodo videli samo en teden torej, ko stikalo
za bolj tradicionalno jezik, znan kot C.
>> Lani smo nadaljevali na ta problem set,
vključujejo v kriptografiji kodiranja informacij
da bi preprečil vladni ali prijatelji " Oči, ki jih ne želite videti.
Kodiran tukaj je sporočilo, da je kmalu
bodo mogli dešifrirati ali de-scramble.
>> Zlom je bil problem nastavite lansko leto, v katerem
uporabljate te nove najdemo programiranje spretnosti, da dejansko izvajanje
Igra wherein-- kot vi lahko odpokliče iz childhood--
Cilj je bil, da bash opeke, ki so na vrhu zaslona
tu se kopičijo rezultat na poti,
in izvajanju svoje algoritme s katerim je ta rešitev koncu
vam omogoča, da igrajo igro.
Medtem, kasneje v semester, vam bomo dali
slovar 143.091 angleških besed.
In vam bo izpodbijala napisati program, ki
urok preglede, dokumente, ki jih nalaga, da veliko besed v pomnilnik
čim bolj učinkovito.
Na splošno vam luknjičaste pred sošolci
če ste se odločili v nekaj Izziv na vodjo krovu
da vidim, kdo sme uporabljati, najmanj sekund časa teče,
in število hišnih številk megabajtov pomnilnika,
in dejansko uglašuje svoje programe da je neverjetno viri gospodarnemu ne
samo čas.
>> Lani smo tudi pogledal na koncu semestra na spletnem programiranju.
In res, bomo storili še enkrat to leto z več problemskih sklopov,
ste za uvedbo tehnik in miselnost, s katero se lahko prijavijo
ta znanja programiranja do spletne strani, dinamične spletne strani,
spletne strani, ki dejansko rešujejo težave in se vedejo drugače
in niso zgolj statična strani z statično informacij.
>> Končni projekt na koncu bodo opredelili, čeprav,
Vrhunec tečaja za študente, pri čemer
vas bo izpodbijala izvajanje Najbolj kaj v interesu
za vas, tako dolgo, kot je nekako črpa pouku predmeta je.
>> In kot ste videli v video na začetku,
bomo zaključili s semester CS50 Hackathon, ki, če se ne poznajo,
se bo začelo ob 07:00 za eno noč in konča ob 7:00 zjutraj.
Okoli 09:00, se bomo Vrstni red, v prvi večerji.
Okoli 01:00, se bomo Da bi v drugem večerjo.
In če ste še vedno stoji ob 5:00 uri, smo
bo shuttle vam bus da IHOP za zajtrk.
>> CS50 Fair, medtem, je dogodek na katero 2.000 plus fakultete, študente,
in osebje iz vse kampusu bo prišli pogledat svoje dosežke
v teku in končni projekte in stvaritve
ki ste ga ustvarili na vaših prenosnih računalnikov, namizij, ali morda celo žarnice.
>> Medtem, govorilne ure in podporno strukturo.
In zdaj bi že bil boljši čas za vas vse bruhati.
>> Uradne ure bodo potekale štiri noči teden za več ur vsako noč
s splošno 20 in 30 od Osebje Seveda je dežurni naenkrat
da vam z intimno ena-na-ena možnosti za podporo
s problemskih sklopov predmeta je.
Tudi Vadenje bo voljo, zlasti
za študente manj comfortable-- ali si trditi, vsaj comfortable-- za katere
Uradne ure niso Najbolj Negovanje okolje
in zagotovo niso najbolj brez stresa.
Še posebej, če roki so stiskanje, bomo proaktivno vas seznaniti sebe
s članom osebja za delo z na nekem rednem urniku, kot vaše potrebe
in njihov urnik dopušča.
>> In osebje.
Dovolite mi, da predstavim Davon Rob, Gabriel, letošnji glave.
Če bi vsak rad say--
>> [APLAVZ]
--a beseda.
[APLAVZ]
Davon tukaj je Vodja seveda je, kar
pomeni v svoji polni delovni čas vlogi mu pomaga pri izvedbi
in logistika CS50.
DAVON: Ja, zdravo, fantje.
Videli boste veliko za mene uradnih ur.
Jaz se bom učil oddelke.
In če si ustrelil emails naprej, Verjetno bom se odziva.
Tako da bom videl veliko vas vse semester.
In dobrodošli na CS50.
>> DAVID J. Malan: In zdaj Gabriel, ki je sam je bil le novinec lani,
ampak za zadnjih nekaj let, ima posluje svojo različico CS50
v Braziliji, pri čemer je preneseno vse tečaja je content--
kar je dokaz, posnet in postavi online--
tako da je lahko to prevesti Portugalsko in nato naučil več kot 100
njegovih sošolcev več potek nekaj let,
poučevanje v svojem maternem jeziku Učni načrt predmeta je.
>> GABRIEL: Pozdravljeni.
>> [APLAVZ]
GABRIEL: Živjo, jaz sem Gabriel.
Jaz sem vodja TF tečaja.
In upam, da vam bo všeč CS50.
To je CS50.
>> DAVID J. Malan: Zdaj za Robu.
Oh, želite uvod?
>> ROB: Ne, ne vem.
[Smeh]
DAVID J. Malan: In Rob Boden.
[Smeh]
ROB: Živjo, jaz sem Rob.
To je moje peto leto ukvarja s tekom.
Vsako leto, to je samo boljši in boljši razred,
tako fantje so očitno bo super.
Upam, da ste vsi zabavajte se z njo.
Grem, da se zabava z njo.
Torej, se vidimo.
>> DAVID J. Malan: In čas ne dovoli us--
>> [APLAVZ]
>> Čas nam ne dovoli uvesti vse
na odru in vse njihove sodelavce ki so nakupovanje razredov danes.
Ampak, dovolite mi, da predstavim Belinda in CS50 Puzzle
Dan, ki čaka to prihod sobota, ki
je v prvi vrsti veliki dogodki lestvica Seveda je.
>> Ta je zlasti mišljeno kladivo domov točka
da računalništvo v končni fazi Ne gre za programiranje, ampak
glede reševanja problemov na splošno.
In Puzzle dan, saj boste glej, vas bo popeljal
in tvoji sošolci together-- upamo, da bomo to soboto.
>> BELINDA: OK.
Zdravo, fantje.
Torej, hvala.
Tako kot naš slavni kapitan je dejal, moje ime je Belinda.
Sem študent drugega letnika na Quincy House.
>> I, tako kot fantje, je CS50 lani, res ljubil.
Imam mehko spot za ti fantje v tretji vrsti.
In jaz sem ponosen, da reči, da sem zdaj v predanega razmerja
z CS50 [neslišno].
OK.
To je bil moj lame različica šalo.
>> Kakorkoli že, tako premika naprej, samo hotel povabiti
vi vsi na i-lab, ali HBS koprivnica.
Bomo se ob Puzzle dan 12:00-03:00.
In to je odlična priložnost za vas Fantje, ki izpolnjuje vaše kolege CS prijatelje,
rešiti nekatere non-CS uganke, kot stotnik omenjeno, pa tudi jedel brezplačno hrano,
zaslužite nekaj super nagrade, kot so darilne kartice 75 $ na osebo,
in also-- kaj je bilo?
Wii U, ali kaj?
Wii U?
Da.
Za našo nagradno igro.
Awesome.
Tako da bom ostal po pouku.
In če imate vi koli vprašanja, povej mi.
>> DAVID J. Malan: In boste videli, onstran To ni nič storiti danes.
Prvi problem je določeno bo šel ven petek.
Ampak, da bi nas pripeljal domov danes, rad bi vam predstavim še posebej ena
član osebja, Colton Ogden tukaj, katerih roke so zdaj
zaščitena nad vami s to MIDI kontroler
za dodatno točko kladivo domov da računalništvo, preveč,
je uporabnost daleč inženiring in STEM in računalništvo sam,
zajema tudi takih področjih, kot glasbo.
>> Colton je vljudno offered-- sem mislil eden izmed njih se je dogajalo, da se določi ostrino.
Andrew, če bi lahko prikliče poudarek sem za trenutek.
>> Kaj Colton je naredil vnaprej je program,
ta naprava, to blazinica gumbov da vidite na sliki tukaj gor,
kot krmilnik MIDI, pri čemer je vsak od teh gumbov
je nakazan na določeno glasbeno noto ali zvok, bolj splošno snemanje,
tako, da z igranjem vzorce teh gumbi, podobno kot vzorcev bitov,
lahko predstavlja druge Višje koncepti ravni.
Bo lahko na koncu da nas bo danes doma tukaj?
Brez odlašanja, če je smo lahko zatemnite,
in nato na zaslonu v ozadju Colton.
>> OBČINSTVO: Woo!
>> DAVID J. Malan: To je CS50.
>> [Predvajanje glasbe]
>> [APLAVZ]
>> To je to za CS50.
Vas bomo videli v petek.
Nekateri cake vas čaka v prečni ladji.
>> [Predvajanje glasbe]