>> [MUZICĂ]
DAVID MALAN regulă.
Acest lucru este CS50.
[Redare a muzicii Tritonal, Cash Cash, "De neatins"]
[MUZICĂ]
DIFUZOR 1: am de gând să Franța și mergi, de asemenea.
[MUZICĂ]
DAVID MALAN: Aceasta este CS50, Introducerea Universitatea Harvard,
la intelectualul întreprinderile de informatică
și arta program-- și pentru prima dată în istorie,
Universitatea Yale, precum.
Intr-adevar, chiar daca esti aici, în Cambridge sau din New Haven sau Miami sau St Louis
sau Amsterdam sau oriunde in jurul lumii
luând CS50, calculator știință E50, CS50X, CS50 AP,
toți suntem unul și același lucru.
Bun venit pentru a CS50.
>> Ceea ce am have--
>> [APLAUZE]
>> [Râde]
>> [APLAUZE]
>> Așa că am făcut o greșeală mine anumite timp în urmă, când am început facultatea.
Și am ajuns la facultate, și am decis să sincer, stick în zona mea de confort.
Am ajuns să declararea unei concentrări, sau un important, de guvernare.
Ant, care a fost cea mai mare parte o funcție de mine fiind destul de familiarizat cu guvernul
sau cel puțin istorie sau mi-a placut drept constituțional în liceu.
Și așa că atunci când am ajuns aici, am facut un fel de gravitat către lucrurile
cu care am fost deja familiarizați.
Dreapta?
Doamne ferește să fac prost in clasa.
Eu cu siguranță vrut să rămână în zona mea de confort,
și nu a fost până în al doilea an ca în final, am
-am curaj să piciorul într-o clasă numită CS50.
Și în acel moment, a făcut în cele din urmă am dat seama că, Dumnezeul meu, temele ar putea de fapt
Fi amuzant.
>> Într-adevăr, am fost unul dintre acei copii că în serile de vineri, cand
P-seturi vor fi eliberați, am ar merge înapoi în camera mea și se arunca cu capul
în P-Setează nocturnă.
Și pentru mine, care a fost un semn că acest lucru a fost un domeniu pentru mine.
Dar ceea ce era mai important a fost De fapt că am făcut trezesc acestui nerv
pentru a explora apele necunoscute pentru mine și de a lua dincolo de propria mea zona de confort
și sincer, doar am fost în stare să facă asta în al doilea an de a lua această clasă
trecut picat.
>> Într-adevăr, a fost ultima zi în care în cele din urmă am trecut peste si in final
a declarat CS ar fi concentrarea mea, punerea gov în acel moment în spatele meu.
Și așa nu suntem precizând în acest curs de a transforma toate de tine
în specializări CS sau concentratoare, ci mai degrabă pentru a vă oferi o oportunitate
pentru a merge dincolo de lumea sperăm cu care ești în prezent familiarizat
și să aducă înapoi din această lume abilități și cunoștințe și pricepere
pe care le pot aplica la dvs. lume proprie, indiferent dacă este vorba
in umaniste, științe sociale, științe naturale, sau dincolo.
>> Într-adevăr, dacă ești simt un pic temerari
despre a fi în această cameră să nu mai vorbim în această clasă,
seama că, dacă istoria este nici o indicație, 72% dintre voi
nu au urmat un curs CS înainte.
Deci, este de toți, nu mijloacele la cazul ca elevul așezat în partea dreaptă
sau la dreapta sau în față sau în spatele tău știe mult mai multe despre CS
sau de programare, în special ca tine.
Asta nu e, de fapt, acest caz.
Și într-adevăr, o mare parte din structura de susținere
care le-am creat în acest Desigur de-a lungul multor ultimii ani
a fost timp de exact acea reason-- la furnizează o privire rampă care încă iese
la fel de riguros și la fel fel de mare ca ever--
dar panta care permite studenților mai puțin confortabil și mai confortabil
deopotrivă pentru a reuși, indiferent de fundal lui sau a ei în prealabil.
>> Intr-adevar, în ultimă instanță problemele în această clasă nu este
atât de mult în cazul în care va ajunge în raport cu colegii dvs.
dar în cazul în care, în săptămâna 12 sfârșesc în raport cu tine
în săptămâna zero, ceea ce este în cazul în care ne aflăm astăzi aici.
>> Într-adevăr, și acest lucru ar putea foarte bine și, probabil, arata ca grecesc
pentru mulți dintre voi.
Dar fiți siguri că acest lucru și mult mai mult
va fi complet in ta înțeleagă în doar un pic de timp.
>> Dar astăzi, ne vom concentra pe unele a ideilor de nivel superior
pentru a vă oferi un gust de CS50 și informatică
într-un sens a ceea ce te înscrierea pentru.
Și într-adevăr, informatica s-ar putea să fie distilată mai
pur și simplu ca gândeam calcul gândire ca un computer, dacă va fi.
Și există atât de multe lucruri diferite ingrediente care merg în faptul că, în
dar să propună doar trei pentru ziua de azi.
În cazul în care obiectivul a clasei în cele din urmă nu este de a învăța tine programare,
nu este să te învețe C sau PHP sau SQL sau orice număr de cuvinte
și acronime În Descrierea cursului,
ci mai degrabă să te învețe să rezolva mai eficient problemele
și să se gândească mai mult metodic și mai algoritmic, ca să spunem așa.
Să vedem ce anume acest lucru înseamnă.
>> Deci, aș propune ca gândirea de calcul se reduce
la rezolvarea problemelor.
De ce aveți nevoie pentru a rezolva o problemă?
Ai nevoie de a input-- ca contribuția la problem--
ai nevoie de o ieșire, care este, sperăm soluție,
și atunci ai nevoie de un proces de care să rezolve această problemă, care
vom numi un algorithm-- un set de instrucțiuni pentru rezolvarea problemei. unele
>> Dar, mai întâi, să se concentreze pe prima și ultima dintre aceste intrări și ieșiri.
Calculatoare la urma urmei, aparent înțelege numai zerouri și cele.
Dar cum poate fi?
Chiar dacă nu sunteți familiarizați deloc cu ce este sub capota,
probabil, cel puțin auzit că computere înțeleg binary--
doar zerouri și ones-- dar cum se poate ai face, eventual ceva interesant?
>> Ei bine, una dintre temele din clasa se întâmplă
să fie în acest layering-- cazul în care astăzi, vom să ia o privire rapidă la cel mai mic nivel
detalii, dar cu fiecare zi ce trece, în cazul în care ne-am strat
sau abstracte pe partea de sus a acestor detalii de fapt, pentru a rezolva nivel superior
probleme de interes pentru noi.
>> Deci, aici este ceea ce am putea numi binary-- cu doar un alfabet de 0 și 1.
Dar noi, oamenii, sunt în mare parte familiarizat cu zecimale.
Decembrie semnificație 10.
Bi însemnând doi.
Și așa mai departe, în zecimal Sistemul, avem 10 cifre
la disposal-- noastră de Desigur, la zero la nouă.
Deci, dacă te uiți la un număr în acest fel, cea mai mare dintre voi
intuitiv doar înțeleagă că este 123.
Nu e nimic greu despre asta.
Dar de ce este 123?
Ei bine, dacă gândesc la school-- grad sau cel puțin
modul în care am învățat această fel de tine world--
s-ar putea aminti că am tratat aceste lucruri în coloane, sau locuri.
>> Deci avem locul celor de pe partea dreaptă.
Zecile plaseze în mijloc.
Sutele de introducere pe stânga.
Și apoi cum ajungem de la acest model symbols--
1 2 3-- la acest nivel mai ridicat Ideea că știm cum 123?
Ei bine, e doar o aritmetică simplă.
Dreapta?
>> Cel există în esență, înseamnă ne dau 100 de ori 1 plus de 10 ori
2 plus 1 ori 3.
Și, desigur, dacă o vom face afară matematica acolo, este de 100 plus 20
plus 3-- altfel cunoscut ca 123.
>> Deci, dacă sunteți pe aceeași pagină ca acest drept
acum și sunt confortabile, cu așa-numitul sistem zecimal ca om,
este de fapt bine în domeniul de aplicare dvs. de confort
să ia în considerare acum sistemul binar.
Ia-o sălbatic ghicesc acest lucru reprezintă, în lumea calculatoarelor
în binary-- ce număr?
Zero.
>> Dar de ce este asta?
Ei bine, se pare că coloanele sau locuri aici-- ei nu sunt puteri ale lui 10.
1, 10, 100, 1000, și așa mai departe.
Sunt în schimb, destul de pur și simplu, puteri ale lui 2.
Deci, 1, 2, 4, 8, 16, 32, și așa mai departe.
Și așa acum ajungem desigur la 0 aici, pur și simplu pentru că avem de 4 ori
0 plus 2 ori 0 plus 1 ori 0, care, desigur, ne dă 0.
>> Dar cum să meargă despre reprezentând numărul 1?
Care este modelul de zerouri și cele pentru a reprezenta
numărul pe oamenii stiu ca o?
001.
Și 2?
010.
>> Și acum modelul începe să se repeta.
Acum e 011.
Și din nou, 0 patru labe, unul de 2, un 1.
Deci, 2 plus 1.
Asta este 3.
>> Și acum să reprezinte 4, ne-am Nu doar schimba ca la 0 la 1.
Aveți un fel de trebuie să efectueze, ca să spunem așa, iar numerele
începe flipping jurul doar ca în lumea zecimală.
>> Deci, acest lucru este de 4.
Acest lucru este de 5.
Acest lucru este de 6.
Acest lucru este de 7.
Și așa ne-am numărat fel de mare ca 7.
>> Acum tot noi trebuie doar este mai mult un bits-- mai la zero cuiva și.
Și într-adevăr "biți", dacă ați auzit cifră binară term--.
Bit este în cazul în care care vine de la.
Și astfel, dacă dorim să reprezinte numerele mai mari, avem nevoie de mai mulți biți.
Dar hai sa se indeparteze de diapozitive acum la ceva un pic mai real.
Să presupunem că dorim să reprezintă de fapt asta.
>> Ei bine, să ia o privire acum la o mică demonstrație.
Deci, aceasta este o aplicație bazată pe web că unul dintre CS50 propriu, Michael G,
puse împreună în această vară pentru a ajuta ne elucida exact această idee.
Și ar cineva ca să se aventureze pe scena
în fața tuturor colegii lui sau a ei?
Chiar acolo, în față.
Hai sus.
>> Trebuie să fie confortabil pe aparatul de fotografiat și internetul.
Oh, chiar aici.
BINE.
Suntem bine.
In regula.
Hai sus.
Care e numele tău?
Emily vino sus.
Astfel încât acesta este Emily.
În ce an ești?
>> Student în anul întâi.
>> Emily, bine să te cunosc.
David.
>> In regula.
Deci, pe ecran aici, avem această ecran tactil
care ne va permite să interacționează efectiv cu acest program,
si este doar un browser.
Este Chrome complet ecranate în acest moment, dar e
fost programat de Michael la răspunde într-un mod care permite
ne pentru a juca în jurul cu cifre binare.
>> Deci, de exemplu, aici nu avem trei dar opt zerouri și cele bits--.
Chiar acum, suntem se uită la numărul 0.
Și, de fapt, toate cele opt zerouri în zecimal înseamnă zero.
Deci, asta e tot ce-i fiind făcut aluzie la aici.
>> Deci, dacă ai vrut să reprezintă numărul 8,
Care este modelul de zerouri și cele pe care le doriți?
Puteți atinge pur și simplu în sus sau în jos sau numerele de ei înșiși.
In regula.
Astfel că, desigur, este de 8, după cum se poate vedea acolo.
Și dacă ne-am dorit să nu 16, ce facem?
>> Da, atingeți-l din nou.
16.
In regula.
Deci, acest lucru este tot fin și bun, este încă nivel foarte scăzut.
Avem nevoie de un drum pe lumea reală pentru Emily
de a reprezenta de fapt aceste lucruri.
Și astfel să presupunem că ne întoarcem acestea zerouri și cele, care este foarte
conceptuală, în becuri reale.
Dreapta?
>> Un calculator este un pericol fizic, dispozitiv mecanic, electric.
Și input-- acestuia la cel puțin în cazul în care îl introduceți în priză sau a unei taxe it--
este de a avea baterie și electronii care circula în și în afara.
>> Deci, acum, de ce nu ne oprim gândire despre biți ca zero-uri și cele,
dar ceva mai fizic cum ar fi becurile aici.
Și dacă Dan Armendariz ar putea adera mi doar un moment-- hai up--
vom coadă o cerere.
>> Vino, Emily.
Ne pare rău acest lucru este cel mai demo ciudat pentru tine vreodata.
Vino aici.
Mergem la coadă cu grație Dan
Armendariz, un alt membru al personalului nostru, o cerere cunoscut sub numele de bec binar.
>> Deci, ce avem aici este o aplicație iPad
care are următoarea utilizatorul interfață pe ecran pentru Emily.
Pur și simplu are aceeași UI exact în esență, că e acolo.
Și, dacă acum doriți să reprezintă numărul, spun 8,
cum ai merge despre a face acest observe din dreapta,
becurile pe care le avem aici?
Ah-ha.
Magic.
Deci, dacă vrem să transforme acum acest lucru în ceva un pic mai dificil,
și să mergem mai departe și alege o întâmplare Numărul cum ar fi numărul de 50 de aici.
Intrare acest lucru.
Iar în cazul în care poate fi acum contestată de a veni cu numărul 50,
vom avea un premiu fabulos pentru tine.
>> EMILY: OK.
O Doamne.
DAVID MALAN: aritmetică este într-adevăr greu in fata
a sute de colegii dumneavoastră.
Dar 50 a fost răspunsul aici.
>> [APLAUZE]
>> Și așa acum, acest lucru este menit să fie demonstrativ pentru Emily.
Astfel, în aici, este o lumină becuri destul ca acestea,
dar este, de fapt, mici benzi magnetice.
Și ce e cool despre aceste si motivul pentru care am să le utilizeze în CS50
este faptul că acestea sprijină ceva numit o API-- o programare a aplicațiilor
interfață, care este doar un mod fantezist de a spune că ceea ce unul dintre angajații noștri
a peste vara a fost crea o aplicație iPad aici
care vorbește pe internet la becurile de peste aici,
care sunt fără fir conectat la un alt dispozitiv.
Dar acest lucru este acum o opțiune pentru proiectele finale.
Și astfel Emily, daca ar fi asa cum ar fi, la sfârșitul termenului,
puteți împodobesc camera ta de camin în acest timp cu acestea.
Vă mulțumesc pentru a Emily, de asemenea.
>> [APLAUZE]
>> Dar acum, să ne întoarcem atenția noastră la ceea ce
că mesajul ar fi putut arăta cum ar fi, și este ceva de genul asta.
De fapt, aceasta este o exemplu doar ca un teaser
de ceea ce va urma a ceea ce este numita o cerere de API.
Și așa mai departe ceea ce avem aici este pur și simplu exact genul de mesaj
că după câteva săptămâni timp in CS50, veți
să poată trimite la ceva destul de familiare cum ar fi că, pentru a efectiv
porniți-le și pe jos.
Dar aceasta este tot fin și bun.
Dreapta?
Avem modelul mental sperăm pentru reprezentarea numerelor cu
lui zero și cuiva.
Și din zerouri și cele, putem ajunge la un număr mai mare ca 50,
ca Emily a făcut doar, sau vom se pot deplasa în sus din aceasta.
Și eu pretind că putem reprezenta lucruri cum ar fi scrisori, de asemenea.
Dreapta?
>> Calculatoarele sunt mult mai interesant decât doar numere.
Și așa cum te duci despre cuvinte reprezentând
pe ecran sau e-mailuri sau eseuri sau altele asemenea?
Ei bine, se pare că calculatoare, pur și simplu abstract pe partea de sus a acestora nivel scăzut
detalii, si la om ceva timp în urmă, a venit cu o arbitrar, ci o consistentă,
cartografiere de numere pentru a letters-- așa că de fiecare dată când vezi o literă majusculă
A pe computer ecran, cote sunt ceea ce-i
sub capota este un model de zero-uri și a celor
că reprezintă numărul, pe această diagramă, 65.
>> Și mai mult fizic în interiorul computerului,
sunt milioane de lucruri numite transistors-- aceste days-- care
sunt doar comutatoare dacă va fi, lucrurile care poate merge și de oprire, așa imagina.
Nu opt dintre aceste becuri mari dar milioane din aceste lumină minuscul
bulbi, sau comutatoare sau tranzistori, care se poate activa și dezactiva
bazat pe modul în care le programați.
Și astfel acum avem o modalitate de a reprezentând litere la fel de bine.
>> De fapt, dacă ar fi să folosesc acest cartografierea aici și să încerce să efectiv
precizeze ceva, ne-am putea uita La acest model de cifre zecimale
chiar acum.
Așa că nu vom mai se concentreze pe binar mai.
Să considerăm la fel cum ar fi număr zecimal 72, 73, 33.
Dar ceea ce ar putea reprezenta acest lucru?
Oricine are un suficient memorie fotografica
să știe ce se scris pe ecran aici?
Da, câteva.
Deci, hi.
H-I și apoi un semn de exclamare, care nu a fost de fapt pe ecran.
Dar într-adevăr, există o mapare pentru fiecare literă a fiecărui număr
care s-ar putea dori să tipul de pe tastatură.
>> Dar numărul nu trebuie să reprezintă doar litere.
Dreapta?
Toate dintre noi știu despre imaginile și fotografii și fișiere audio
și fișiere video și altele asemenea.
Deci, în mod clar, putem reprezenta lucruri de nivel superior încă.
Și ce un computer nu este pur și simplu pentru a alege
de a interpreta modele de la zero cele în mod diferit în funcție de context.
>> Dacă ați dublu clic pe un pictograma Microsoft Word,
vezi cuvinte pe ecran în loc de culori și imagini
deoarece cuvântul știe că aceasta este o eseu care le-ați introdus de fapt.
În cazul în care în schimb dublu clic pe un JPEG sau GIF sau PNG,
acesta se deschide și este o imagine, deoarece .PNG Sau .docx sau orice altceva fișierul
prelungire este și ceea ce software-ul pe care îl utilizați știe să interpreteze
un model de zero-uri și a celor diferit bazat pe ceea ce este scopul ei în viață.
>> Deci, de exemplu, aceasta aceeași secvență de numere
s-ar putea reprezenta cât de mult roșu face tu doresc, cât de mult verde vrei,
și cât de mult albastru vrei.
Și într-adevăr, dacă ai auzit vreodată RGB-- verde albastru asa ca roșu.
Și astfel, dacă văd numere ca, acest da-mi 72 roșu, da-mi 73 verde,
și 33 albastru, acesta este modul în care o computer utilizând trei bytes-- unde
un octet este de opt biți sau 24 de bits-- ar reprezenta o nuanță urâtă
de maro sau galben aici.
Și în diferite contexte, ar putea cei Aceleași tipare exacte din zerouri și a celor
Adică ceva complet diferite, de asemenea.
>> Deci, avem acum o modalitate de a reprezenta zero-uri și cele Informații privind reclamantul.
Pe lângă toate acestea, vom obține scrisori.
Pe lângă toate acestea, am putea obține culori.
Și să presupunem pentru ziua de azi pe care le putem obține audio și video
iar lucrurile mult mai mult sofisticat decât atât.
>> Dar acum să considerăm cum folosim aceste intrări
și pentru a produce cele ieșiri acum că avem
un mod de reprezentare a informațiilor respective.
Ei bine, avem nevoie de ceva numit un algoritm.
Din nou, un set de instrucțiuni pentru rezolvarea unele probleme
Pas cu step-- și mai precis, cu atât mai bine.
>> Și astfel, de exemplu, cu care oamenii sunt desigur, mai puțin familiare aceste zile,
dar cu toate acestea este încă cu noi în software-ul,
este procesul de a privi pe cineva într-o carte de telefon.
>> Acum, mai puține și mai puține oameni se cunosc an ceea ce acest relicvă este de fapt aici.
Dar din nou în ziua mea, aceasta a fost o carte de telefon
cu mii de pagini și numere și numele oamenilor de la A prin Z.
Și chiar dacă suntem un fel de înșelăciune o bit-- aceasta este cea mai mare parte de pagini galbene.
Au fost, de asemenea, de culoare albă Paginile la acel moment, care
a avut toate aceste denumiri și Numerele de ființe umane reale.
>> Și dacă am vrut să se uite pe cineva într-un telefon carte ca aceasta de azi, desigur,
doar de tip I, în primele câteva de caractere ale numelui său,
și telefonul meu constată că informațiile.
Dar procesul prin care telefonul iPhone sau Android
sau orice este, de fapt găsirea cineva din lista de contacte
este identic cu ceea ce noi, oamenii, Probabil au făcut de ceva timp.
>> Acum am putut lua acest problemă, dacă va fi,
și intrările de aici Nu sunt zero și cele.
Sunt pages-- cum ar fi, să zicem 1.000 de pagini.
Și dacă am vrut să se uite în sus pe cineva ca Mike Smith în această carte de telefon,
Am putea începe de la început și vezi că eu sunt în secțiunea A
și apoi rândul său, pagină cu pagină un moment dat, în căutarea și caută
așa cum am face la lui B și C și D's și așa mai departe pentru Mike Smith.
Smith, începând cu un S, voi sperăm în cele din urmă să-l găsesc.
>> Este aceasta algorithm-- că process-- corect?
Da.
Este corect.
Voi găsi pe Mike dacă el e aici, dar ceea ce este avertismentul pe care le-ar putea oferi.
Este lent.
Dreapta?
Știu Mike S este un fel de față a doua jumătate a cărții de telefon.
De ce naiba sunt eu începând de la început
și merge pagină cu pagină cu pagină.
Deci, desigur, am putut răsturna în jurul și începe de la spate,
dar care va obține ma acolo la aceeași rată,
în cazul în care willl-- pagina după pagină după pagină.
Și nu va funcționa dacă doresc pentru a căuta o altă persoană a cărei
Numele vine mai devreme în alfabetul.
>> Și ce dacă fac ceea ce învățat în școala primară,
din nou, nu lucrurile nu de cei ci de câte două.
Deci 2, 4, 6, 8, 10, 12, și așa mai departe.
Este corect?
Nu.
Este un fel de corecte.
Dar unii dintre voi care cârtit nu, în cazul în care este problema, sau bug-ul,
greșeala ca să spunem așa.
Da.
>> ELEVUL: S-ar putea sări peste intrarea din dreapta.
>> DAVID MALAN: Da.
S-ar putea sari peste Mike Smith este pentru că am luat două pagini dintr-o dată
și el doar se întâmplă să fie prins între cele două pagini.
S-ar putea da seama că Sunt la secțiunea T
care nu au găsit încă Mike Smith.
>> Și așa mai departe ceea ce ar putea fix să fie?
Ei bine, dacă fac lovit Ts în cartea de telefon,
Am putea avea nevoie să se dubleze înapoi una sau așa pagină.
Deci, este fixable, dar ea nu este la fel de simplu
după cum tocmai a merge la doi pentru a accelera performanța mea.
Dar ce?
Haide.
Ce este ceea ce majoritatea oamenilor merg -a face cu acest tip de carte de telefon?
Esti dat cartea de telefon.
Ce faci?
>> Ce-i asta?
Du-te la mijloc.
Am auzit merg la mijloc, și eu mă găsesc aproximativ în secțiunea F,
ca sa zicem asa.
Și acum, ce vreau sa fac?
Buna treaba.
Care e numele tău?
>> JAMES: James.
>> DAVID MALAN: James, bine.
Ce trebuie să fac în continuare?
JAMES: Ai mearga in jumătate din cea a anilor S.
DAVID MALAN regulă.
Voi merge în jumătatea ce are S în ea, deoarece, din nou,
o prevedere aici a fost ca acest lucru este sortat.
Este o destul de inutil 1000 Paginile dacă Verizon fapt nu
sorta aceste lucruri pentru noi, prin Z.
Deci, dacă știu pe Mike este, probabil, în a doua jumătate a cărții de telefon,
Acum pot.
>> [Râde]
>> Tear problema în jumătate.
>> [APLAUZE]
Mulțumesc.
Tear problema în jumătate.
Acest lucru a fost, de fapt real-- această luptă.
Deci, rupe cartea de telefon în jumătate, lăsând mine
cu fundamental aceeași problemă.
Dar, desigur, pe jumătate la fel de mare.
Și dacă am urma lui James consiliere din nou, și merg aici.
Spun, oh acum sunt în secțiunea T.
>> Și astfel desigur, se poate rupe cartea de telefon
în jumătate încă o dată, lăsând mine cu o problemă care este
acum un sfert din dimensiunea.
Așa că am plecat de la 1.000 la 500 250 la 125 și așa mai departe.
Se simte ca și cum aș luând mușcături de mari din
acestei probleme cu fiecare iterație, sau fiecare pas în ea.
>> Și într-adevăr, când am de gând să-și petreacă găsirea Mike Smith în acest exemplu
este atât de mult mai puțin din cauza in cele din urma eu sunt O să Whittle această carte telefonice în regim jos
la o singură pagină singuratic.
Și dacă Mike este pe acea pagină, sunt merge mai departe și să-l dea
un apel după ce l-au găsit.
>> Dar cat de mult mai bine este faptul că algorithm--
care îndrăznesc să spun intuitiv algorithm-- decât cele pe care le
a inceput cu care suntem foarte linear-- stânga pentru a right-- într-un ritm de 1 sau 2x?
>> Ei bine, să complot aceasta.
Noi nu trebuie să vă faceți prea mult despre matematica sau numere în acest caz aici.
doar ne uităm la un complot.
Deci, pe x, sau axa orizontală, este dimensiunea problem--
Câte pagini sunt acolo.
Pe y, sau verticala axe, este cât de mult timp
se merge să mă ducă la o rezolve.
Și poate că așa de mulți se transformă de pagini, cate secunde,
cum many-- unele unități de măsuri.
>> Și am desenat o linii drepte roșii aici, pentru că în cazul în care fiecare pagină suplimentară
din cartea de telefon, am nevoie pentru a face un pas suplimentar.
Deci, dacă Verizon adaugă o mai pagina anul viitor,
S-ar putea să flip încă o pagină pentru a găsi pe cineva ca Mike Smith.
>> În același timp, cea de a doua algoritm, care M-am dus câte doi, este aceeași formă.
Este încă foarte liniar, foarte la stânga la drept, luând bytes egale de fiecare dată,
dar panta este puțin mai jos.
>> De exemplu, în cazul în care dimensiunea de problema au fost aproximativ aici
și am folosit prima mea algoritm, S-ar putea ajunge la capăt
în partea de sus a acestei linia roșie.
Dar dacă am folosi, în schimb la twosies se apropie,
linia galbenă sugerează pentru că este mai mică,
că va dura ma mai puțin timp rezolva.
>> Dar ceea ce este de forma a treia algorithm--, din nou, fără îndoială,
algoritmul cel mai intuitiv?
Ei bine, se pare un pic ceva de genul.
E curbat, sau logaritmică, în formă.
Și chiar dacă nu un fel de aplatizează,
l asimptotic inch în sus și sus și mai sus, dar teribil de lent
versus orice altceva.
Și ceea ce este ține departe?
Ei bine, o numim log n.
Dar ce înseamnă asta de fapt?
Ei bine, dacă Verizon a dublat Numărul de pagini din cartea de telefon
anul viitor de la 1000 până la 2000.
Câte mai multe etape este meu Primul algoritm de gând să ia?
>> Prima mea algoritm.
Poate mai mult de 1000 de pași.
În cazul în care a dublat carte de telefon, mă duc
să aibă de a răsturna prin intermediul unui alt 1.000 de pagini pentru a găsi Mike.
Desigur, în cazul în care cea de a doua algoritm, poate 500 pentru că sunt
merge de două ori la fel de repede.
>> Dar dacă Verizon dublează numărul de pagini dintre acest an si anul viitor,
cu al treilea mea algorithm-- decalajul și cuceri că James propus,
merge în jumătate și jumătate și half-- câte mai multe etape vor
mi ia anul viitor pentru a avea o carte de telefon de o dimensiune 2000?
Doar unul.
Deoarece cu o mușcătură, pot lua, din această problemă, jumătate din paginile
o cale.
Și dacă ai despre această un pic now-- nebuneste cazul în care cartea de telefon nu
au 1000 sau 2000 de pagini, dar sa zicem 4 miliarde pages--
este un telefon mare book-- cum de multe ori sau câți pași
se merge să mă ducă să găsească Mike Smith în cartea de telefon
cu 4 miliarde de pagini.
Puteți fel de înceapă să facă calculele.
In regula.
4 miliarde împărțit la 2.
Așa că e de 2 miliarde de împărțit la 1.
Asta este de 1 miliard.
Apoi, o jumătate de miliard.
Atunci 250-- astfel încât să puteți face acest lucru din nou și din nou, dar nu și că de multe ori înainte
ajungi la o pagină.
>> Și într-adevăr, chiar dacă telefonul carte este lung de 4 miliarde de pagini
sau baza de date pe care o căutați are o lungime de 4 miliarde de înregistrări,
o să ia da sau de a lua 32 pași doar pentru a găsi Mike Smith.
Și dacă dublați cartea de telefon următoare an 4-8 miliarde,
33 pași în loc de doar 32.
>> Și acest lucru este o dovadă la una din ideile
pe care le-ar putea îmbrățișa în calculatorul știință mai general, care
Este această gândire de calcul și se apropie de o problemă
sincer folosind instrumente de scula deja familiar
kit-- lumea reală cu care esti familiarizat,
dar valorificarea acestor idei pentru a rezolva problemele de fapt.
>> Dar trebuie să formalizeze nostru soluții la aceste probleme.
Și așa să-mi prezint pentru un moment ceva ce s-ar putea numi pseudocod.
O mare parte din semestrului, vom petrece cu ajutorul Codul actual în limbaje cum ar fi C și PHP
și JavaScript și SQL și altele.
>> Dar pentru moment, să ne uităm doar la ceva destul de intuitiv
cum ar fi limba engleză.
S-ar putea distila că Algoritmul cu care
Am găsit pe Mike în pași de acest gen.
>> Ridica cartea de telefon
>> Deschis la mijloc a carte de telefon
Uita-te la numele anii
În cazul în care Mike este printre numele anii
numesc Mike
Altfel, dacă Smith are loc mai devreme în carte
Deschis la mijlocul jumătatea stângă a cărții
Altceva merge la linia 3
Altfel, dacă Smith este mai târziu în carte
Deschis la mijlocul jumătate din dreapta a cărții
Du-te la linia de trei
altfel
Renunță
Și există câteva caracteristici acum din această cauză sunt în valoare de subliniind.
Deci, o, toate liniile Am evidențiat în galben
vom începe de asteptare declarații sau funcții sau proceduri.
Sunt doar acțiunile face acest lucru, și nu e nici
tot atât de mult variabilitatea la ea.
>> Următorul pas aici, deși, sunt acestea conditions-- dacă, altfel, altfel daca, altceva.
Și acestea sunt numite condiții, sau ramuri, și sunt punctele de decizie.
Și ne permit să facem ceva condițional.
>> Și, de fapt, să luăm o scurtă uita-te la, probabil, un face-- familiar
îl vom numi Bill-- și exact ce aceste condiții,
modul în care acestea ar putea fi folosite.
>> Bill Gates: Oamenii fac Deciziile în fiecare zi.
De exemplu, înainte de a merge afara ta un fel de au o declarație, dacă care spune,
în cazul în care plouă, apoi m-am nevoie pentru a obține jacheta.
>> Și calculatoare sunt uimitoare odată ce decidă acestor tipuri de declarații
pe care le pot executa în mod fiabil aceste lucruri la viteza de necrezut.
Și așa mai departe un program de calculator într-adevăr este un pic de matematică și unii
în cazul în care declarațiile, dacă decizia devine făcut.
>> DAVID MALAN: Deci, acum hai sa se concentreze pe o lines-- câteva diferit
cei pe care i-am evidențiate în galben aici.
Și se pare că nu e diferit moduri de exprimare a acestei idei.
Dar intuitiv ce liniile noastre 8 și 11 care le-am evidențiat aici vă spune
să facă?
Da, du-te la linia 3, dar ceea ce comportament este că într-adevăr inducerea?
Este un fel de buclă sau cu bicicleta, si poti fel de vedea.
Dreapta?
În cazul în care pe linia 8, va reveni la linia 3, și apoi te-a lovit linia 8, din nou,
s-ar putea reveni la linia 3, înapoi la linia 3, înapoi la linia 3.
Exista acest tip de ciclu sau buclă.
Și într-adevăr, care este indus în potențial, de asemenea. linia 11
Și aceasta este o bază programare construi, de asemenea.
>> s-ar putea să nu doriți să doar face ceva cu o declarație
sau de a face ceva condițional cu o condiție sau o sucursală.
S-ar putea dori să facă ceva ciclic cu o buclă.
Și vom avea pe altcineva cu care s-ar putea să fie familiar-- îl vom numi
Mark-- explica acest concept aici.
Mark Zuckerberg: O lucru care computerele sunt
foarte bun la se repetă comenzi.
Ca o persoană, te-ar lua într-adevăr, dacă plictisit
A trebuit să facă același lucru de multe ori la rând,
dar un computer poate face același lucru milioane sau chiar miliarde de ori
și nu se plictisesc și să fie capabil pentru a efectua asta foarte bine.
>> Deci, de exemplu, dacă am doresc să urez tuturor
pe Facebook la mulți ani trimițându-le un e-mail,
s-ar putea-mi ia mai mult de un lea pentru a scrie de fapt la
toate aceste email-uri la toată lumea.
Dar cu doar câteva linii de cod, nu pot au un sistem de trimite un email pentru toată lumea
pe Facebook care doresc -le la mulți ani.
>> Deci, asta e ceea ce buclele sunt și de ce acestea sunt valoroase și ceva
care computerele pot face foarte bine.
>> DAVID MALAN: Multe mulțumiri pentru prietenii noștri la Code.org pentru cele două filme.
Și chiar săptămâna trecută, s-ar putea avea văzut că Mark Zuckerberg si Facebook
postat acest anunț, și anume că ei doar
Au trecut un important piatră de hotar pentru prima dată.
1 miliard de persoane utilizează Facebook într-o singură zi, în mod special lunea trecută.
Unul din șapte oameni pe Pământ aparent conectat la Facebook.
>> Ei bine, acest lucru pare a fi o bună oportunitate să se uite înapoi pe locul unde a inceput Facebook,
și am trecut prin a CS50 proprii arhive deoarece se pare că în anul 2005,
Mark a susținut o conferință oaspete în CS50.
Veți vedea că valorile de producție nu au fost destul de același lucru atunci
în ceea ce privește tehnologia disponibile și, de asemenea, veți
vedea că prezența din acest curs de oaspeți
nu a starni interesul neapărat din corp student, predecesorii dumneavoastră,
la fel de mult ca aceasta ar putea avea doar câțiva ani mai târziu.
>> Deci, hai să aruncăm o privire la Science Center C.
DIFUZOR 2: Vă rugăm să mi se alăture, și bun venit.
[APLAUZE]
Mark Zuckerberg: Yo.
In regula.
Rece aceasta este prima oară când am vreodată au trebuit să dețină unul dintre aceste lucruri.
Deci, eu duc să atașați-l foarte repede.
In regula.
Poți să-l auzi?
Este bine?
Este acest amplificat la toate?
In regula.
Dulce.
Deci, aceasta este ca una dintre primele timpuri Am fost la un curs la Harvard,
dar--
>> DAVID MALAN: Deci în cele din urmă Science Centru de făcut zoom pe video,
dar nu înainte de capturarea acest fragment în care convorbirea lui Mark,
care a discutat lui coleg de cameră, Dustin, care
a dorit să dea o mână cu acest Site numit Facebook.com
și a realizat că Mark este pe cale de a menționa la programarea languages--
unul numit Perl, o numit PHP-- ca el discută
originile contribuția lui Dustin.
Mark Zuckerberg: Am a început să alerge site
și a lansat la Harvard, în februarie 2004.
Deci, cred ca acum aproape doi ani.
Și în termen de câteva săptămâni, o câteva mii de oameni au semnat,
și am început obținerea unor emailuri de la oameni de la alte colegii cer
pentru ca noi să-l lanseze în școlile lor.
>> Și am fost de a lua 161 la momentul respectiv.
Așa că nu știu dacă voi ști reputația de care desigur,
dar a fost un fel de grele.
A fost un curs foarte distractiv, dar nu ma lasa cu mult timp
să facă orice altceva cu Facebook.
Deci, colega mea de cameră Dustin, care a cred tocmai a terminat CS50, a fost ca, hei.
Vreau pentru a ajuta.
Vreau să fac expansiunea și de a ajuta îți dai seama cum să facă lucruri.
>> Așa că am fost ca, e destul de tare, amice.
Dar nu știu cu adevărat orice PHP sau ceva de genul asta.
Astfel încât week-end a mers acasă, cumpărat cartea Perl pentru Dummies,
s-au întors și a fost ca, în regulă.
Sunt gata sa plec.
>> Am fost ca, amice, site-ul este scris în PHP nu Perl, dar e în ordine.
>> Deci, el a luat PHP peste ca o câteva zile pentru că am
promit că, dacă aveți un fundal bun în C,
PHP este un lucru foarte simplu pentru a ridica.
Și el doar un fel de a mers la locul de muncă.
>> Înainte de a ne uităm acum la în cazul în care cursul se întâmplă,
permiteți-mi să invite doar câteva personalului SC50 de până la scenă.
Unele dintre ele sunt la cumpărături cursuri proprii.
Dar dacă aceste TFS și AC și bineînțeles capete care sunt aici ar putea veni pe sus
și să se alăture mine pentru un salut rapid.
>> Permite-mi să introducă, în special, Hanna, Maria, Daven, si Rob,
Desigur CS50 lui conduce aici, în Cambridge.
>> [APLAUZE]
>> DAVID MALAN: Într-adevăr, o dovadă a structura de sprijin care cursul are
construit pe mai multe ultimii ani, personalul CS50 numere din acest an aproape 100,
și că este aici, în Cambridge singur.
Intre timp, in New Haven, există unele 40 TFS și AC și membri ai personalului de acolo
pentru a rula cursului, de asemenea.
>> Permiteti-ne să introducă în primul rând, Rob Bowden.
ROB BOWDEN: Hi.
Sunt Rob.
Acesta este al șaselea an al meu TFing în curs.
Asadar, tot drumul înapoi în mea în primul an, nu am luat CS50.
boboc ta fall-- s-ar putea să fie familiarizat
pe care le poate lua numai patru cursuri și există atât de multe cursuri de astăzi.
Deci, eu sunt cum ar fi, nu-i așa.
Am luat AP CS ultimul an de liceu a fost oribil.
Așa că, eu sunt ca, nu-i așa.
informatică nu este pentru mine.
>> Așadar, a fost de peste curs de boboc mea
cad, că am avut un prieten în CS50, și Cred că a participat la una curs cu ea.
Este ca și cum, oh, aceasta este un fel de bine decât ceea ce am avut în liceu.
>> Și peste cursul an, am avut propriile mele seturi de probleme
în cursurile am fost de fapt a lua.
Dar am constatat că ori de câte ori dorit de a amâna pe ele,
Aș merge înapoi la CS50 și uita-te la o parte din aceste lucruri.
Deci da.
Eu sunt cool.
Am Amanarea cu codare.
Deci, atunci este de la sfârșitul toamna pe care am dat seama, hei,
informatică este destul de rece.
Am ajunge luați CS51.
În semestrul următor, Am ajunge luați CS61.
Și totul de acolo, Apoi am ajuns declararea
informatică, pe care am avut absolut nici o intenție de a face
când am intrat în colegiu.
Și acum sunt aici.
Deci, cursul este ceea ce face din el.
Sper sa iti placa.
>> [APLAUZE]
DAVID MALAN: Vă mulțumesc pentru Rob.
>> Și acum Maria, ne cap asistent curs.
>> MARIA: Hei baieti.
Numele meu este Maria.
Sunt un al doilea de studentie la Cabot Casa, venind din Bulgaria,
și eu sunt super incantat sa fie o parte a personalului în acest an.
Am luat CS50 ca un boboc anul trecut, și eu nici măcar nu
gândit CS prealabil.
Așa îmi place absolut cursului, și eu Sper sa tot place la fel de mult ca și mine.
Și, da.
Bun venit pentru a CS50.
DAVID MALAN: Vă mulțumesc pentru Maria.
[APLAUZE]
Acum Hanna, tovarășul nostru de predare cap.
HANNA: Bună, eu sunt Hanna.
Sunt un senior în Cabot studiind informatica.
Am luat CS50 ca un boboc și a avut fost TFing-- asta va fi de-a treia ani.
Așa că va fi implicat fericit în CS50 pentru toate cele patru ani,
și aștept cu nerăbdare să lucreze cu voi toți.
DAVID MALAN: Vă mulțumesc pentru Hanna.
[APLAUZE]
Și, în fine, Daven, precepter nostru.
Daven: Hei baieti.
Sunt un precept peste in informatică aici.
Aceasta va fi a patra mea de predare ani.
Am ajuta, de asemenea gestiona curs.
Deci, eu sunt sigur că mă văd în jur, în special la orele de birou.
Sunt mereu la ore de birou.
Așa că, dacă mă vezi mers în jur, cu siguranta vin salut.
Îmi place să întâlnesc pe toată lumea.
În caz contrar, să se distreze, și ne vedem în jurul.
>> DAVID MALAN: Vă mulțumesc pentru a Daven la fel de bine.
Deci, vei satisface toate acești oameni înainte de mult timp.
Dar fără a mai ADO, dacă voi ar
dori să-și reia locurile de mai devreme.
Dați-mi voie să introducă de la distanță acum unii dintre prietenii noștri de la New Haven,
în special capete ale cursului care va superviza CS50 there-- profesorul
Brian Scassellati, Jason, și Andi, care doar-- astfel încât nu ne-am ispiti soarta
cu orice FaceTime sau like-- tocmai au ne-a trimis minute
Acum următoarele video, în care se spune salut la sala de lectura
la Yale, în care lectura este în curs de transmitere chiar acum.
>> Deci, prietenii noștri de la Yale.
BRIAN SCASSELLATI: Bună, David.
Hi, toată lumea de la Harvard.
Suntem atât de încântat să fie aducerea CS50 la Yale acest semestru.
Numele meu este Brian Scassellati, dar toată lumea îmi spun AEI.
Și sunt aici astăzi să introducă să vă personalului CS50.
>> [APLAUZE]
>> Și, mai important, sunt aici pentru a introduce, de asemenea
toți studenții de la Yale care, ca de această dimineață
au făcut acest lucru cel mai popular Desigur la Yale studenții CS50.
>> [APLAUZE]
>> Deci, suntem foarte incantati să te văd aici
vineri și sâmbătă pentru Puzzle Zi și au o mare curs.
Pa.
>> [APLAUZE]
>> DAVID MALAN: Pe ecranul de aici este numele unora de 140 de personal
membrii care vă așteaptă de-a lungul Curs de semester-- unele dintre ele
aici, în Cambridge, unele dintre ele aici, în New Haven.
Și într-adevăr vei avea un oportunitate această sâmbătă,
ca note AEI, a participa CS50 puzzle Ziua.
S-ar putea fi văzut piese de puzzle mici alunecat sub uși tale recent.
Avem un extras câteva aici mai târziu, atunci când există.
În cazul în care va asambla toate cele patru puzzle piese și forțele fuziona cu camere
a ta apropiere, în ta casa sau de cămin, ei vor
asambla într-un code-- QR sau un două cod de bare dimensionale, care
o dată asamblate și scanate cu telefonul va conduce
într-o oarecare premiu fabulos sau-- presupun ai putea fotografia asta acum
deasemenea.
>> Dar găsi acele piese de puzzle, totuși, în scopul de a câștiga premiul fabulos.
Și într-adevăr unul dintre tradițiile în SC50-- ah, prea lent.
Una dintre traditiile din CS50 este de a servi tort după prima lectură.
>> Și astfel, într-adevăr, într-o câteva minute de acum,
acolo va fi tort servite afară atât aici, cât și New Haven, de asemenea.
>> Dar first-- le decorat înșine.
Dar first-- și, sperăm, nu va fi suficient.
>> Dar mai întâi, o privire rapidă.
Deci, cursuri este într-adevăr va fi produsă în mare parte aici, în Cambridge.
Dar în fiecare lună, vom sari în jos pentru a Yale cu echipa de productie CS50 și fluxul
cursului în invers direcție, precum și astfel
ca să aducă aceste două campusuri într-adevăr, pentru prima dată în istorie
cât mai aproape posibil ca unul în același curs.
>> În ceea ce privește structura de suport care este fost ridicat în picioare aici, în Cambridge, precum și
la fel ca în New Haven, sunt secțiuni.
Într-adevăr, așa cum unii dintre voi ar putea știți, avem trasee diferite
în cadrul cursului pentru cei mai puțin confortabil, mai confortabil,
și undeva între, astfel încât indiferent de fundal prealabilă,
poți reuși în cele din urmă în clasă.
>> orelor de lucru între timp, sunt o oportunitate în zilele de luni și marți
și serile de joi pentru a lucra atât aici și în New Haven pe cursul nostru
problemă pentru urechi cu zeci de Personalul cursului apropiere.
>> Problema seturi între timp, sunt sprijinit de lucruri pe care le numim
walkthroughs, care se bazează film tutoriale care răspunde cu adevărat frecvente
de unde să încep provocarea de o săptămână.
Și postmortems mergi prin soluții posibile
astfel că sfârșitul fișierului problemă prea, tu
știți exact ceea ce ar fi putut face diferit sau cu totul altfel.
>> Problema stabilește ei înșiși vin în două ediții, o ediție standard de
că ne așteptăm și să invite cele mai multe dintre class-- aproximativ 90%, plus la do--
și o așa-numită ediție hacker pe care fiecare pagină este inscriptionate
Ediția hacker, hacker Ediția, ediția hacker,
astfel încât să aibă ca karma dacă va fi, pentru simulare
în versiunile mai avansate de seturi de probleme ale cursului
că acoperirea aparent același material dar cu o abordare mai sofisticată
și cu fundalul suplimentare uneori introdus.
>> În același timp, există nouă zile întârziere, care se poate aplica la problema cursului
seturi precum punctajul cel mai mic, pe care le scadă până la sfârșitul termeni.
>> Dar ce așteaptă?
Ei bine, un gust a problemei stabilește la îndemână vineri
și săptămâna viitoare în cazul în care ne-am dabble pentru câteva zile în ceva
numit Scratch, un grafic de programare Limba dezvoltat de prietenii noștri
la MIT Media Lab pe care le permite să programeze fie pentru prima dată
sau într-un mediu nou cu totul folosind un mediu de tip glisare și fixare.
Prin care piesele puzzle numai interblocare împreună
dacă are sens logic să facă acest lucru.
>> Între timp, în problema set doi ani trecut, de exemplu,
am introduce clasa în lumea criptografie,
arta de a cripta sau codare de informații.
Într-adevăr, acest text aici dacă decriptat, va, de fapt
te duce la unele destinație distractiv.
Și în problema stabilit, ceea ce am avut studenți
faci este să pună în aplicare exact cei tipuri de lucruri-- unui algoritm
sau un set de instrucțiuni pentru criptarea și codare de informații.
>> Si in editia hacker din aceeași set problemă,
am provocare elevilor să ia o fișier criptat de pe un calculator tipic
Sistem cu o mulțime de nume de utilizator și parole criptate
și pentru a sparge aceste passwords-- de fapt dau seama
ceea ce au fost fără să știe nimic A priori despre acele parole reale.
În același timp, nu avem tranziție în problema
setează să caute la lumea graficii.
Și, de fapt, s-ar putea imagina acum că acest lucru ar putea, probabil,
fie cel mai simplu mod de a reprezenta o imagine alb-negru.
>> Un pixel alb, sau pătrat, ca la partea de sus chiar acolo,
pot fi prezentate in 1 și un pătrat negru
poate să se găsească un 0.
Și, la fel prin utilizarea mai multor biți ca și cum am propus mai devreme, cu 72 și 73 și 33,
am putea reprezenta pixeli color, de asemenea.
Și ce facem în timpul acest set problemă este
ia, în general, o plimbare în jurul campus cu o cameră digitală,
ia fotografii ale oameni, locuri și lucruri.
Apoi, într-un fel în fiecare semestru, se pare că în mod accidental
șters sau deteriorarea cardului de memorie pe care toate aceste fotografii sunt,
și, astfel încât să se contestate apoi de a scrie software
cu care să recupereze aceste JPEG dintr-o copie a cărții de aparat de fotografiat noastre.
>> În același timp, nu vă mână mai târziu, în termenul unui dicționar de cuvinte în limba engleză
care au 143.000 de cuvinte, și trebuie să vină
cu un mod inteligent de le încărca în memorie,
sau RAM ca să spunem așa, să răspundă la interogări de forma: este aceasta un cuvânt,
este aceasta un cuvânt, punerea în aplicare a cel mai rapid de verificare a ortografiei pe care le poate,
chiar fixarea te potențial împotriva colegii
pentru a vedea care dintre voi folosește cel puțin suma de timp
atunci când rulează codul și chiar cel puțin suma de memorie.
>> Mai târziu, în termen pe care îl face de fapt punerea în aplicare a propriul server de web.
Deci, nu doar un site într-un Limba numit HTML și mai mult,
dar un server web, care de fapt ascultă la cererile de pe internet
și răspunde la acestea.
Și într-adevăr, acest lucru este modul în care o punte lumea noastră de C cu care veți
să se familiarizeze săptămâna viitoare și PHP și HTML și JavaScript
și CSS și altele.
>> Pentru că una din prima bandă pe bază de proiect am face mai târziu, pe termen
este istoric CS50 Finance.
Etrade.com stil un site care permite să cumpere și să vândă stocurile practic
în timp ce scris de asemenea, codul pentru a vorbi pe Yahoo Finanțe obtinerea semi stoc în timp real
citează în scopul de a actualiza propriul portofoliu.
>> Dar în cele din urmă, desigur, este project-- finală
o ocazie de a face mai nimic din interes pentru tine pentru a rezolva o problemă
sau dincolo de interes pentru voi care e într-un fel inspirat
de lecțiile învățate în clasă.
>> Și clasa, după cum probabil știți, culminează în așa-numitele CS50 Hackathon
și CS50 echitabil și orice număr de alte evenimente culturale
pe parcursul semestrului care permit să se angajeze
unele cu altele, iar personalul cursului.
>> De exemplu, la foc și gheață în Sitar în acest an, ei bine, pe vineri după-amiaza,
invităm circa 50 elevi la masa de prânz, oricine
-ar dori să ni se alăture, mine, și personalul,
și prietenii noștri din industrie și alums pentru a discuta despre viața în lumea reală
și dincolo de timp ce se bucură de un prânz bun.
La Hackathon va vezi astfel de imagini
deoarece acestea, inclusiv o multime de candy-- și din 2014, pentru prima time--
legume.
>> [APLAUZE]
>> Dar, prin 5:00, face, de obicei, scena uite un pic așa ceva.
Si apoi doar o săptămână sau așa mai târziu, este Târgului CS50
la care unii 2000 plus studenții și personalul și facultate
Membrii din întreaga campus și în întreaga campusuri în acest an
vin să vadă și plăcerea în realizări ale elevilor CS50, care
este acum tu.
>> Și într-adevăr, în timp ce în acest an să fie primitoare și busing oricine
la la Yale, care ar dori să vină la Cambridge această sâmbătă pentru CS50 puzzle
Zi, și vom face exact același lucru în luna decembrie pentru CS50 Hackathon
astfel încât studenții de la Harvard și Yale luăm o parte la fel în ambele evenimente.
>> Vom organiza, de asemenea, târguri CS50, în Cambridge si in New Haven acest an
astfel încât studenții de pe ambele campusuri și personalul și facultate
se poate vedea fiecare respectiv realizare campus lui.
Și acele realizări va induce o astfel de memorie
deoarece aceasta și aceasta și în final acest lucru, în care toți
ieși din clasa poartă un pic ceva în care ai fost sperăm
fericit sau mândru să spun că am luat CS50.
>> Dar înainte de asta și înainte de a ne servi tort,
am pus together-- datorită lui CS50 echipa de producție și o anumită auto
băț, o ocazie pe care le folosim astfel de lucruri for-- când am trimis
nu numai aici, la Cambridge dar și la New Haven
pentru a aduna câteva hellos de la Personalul curs și toate cei
va întâlni și aici și în New Haven în următoarele luni.
>> Permiteți-mi să introducă o mai puțini personalului CS50 lui.
Mark Zuckerberg: A, care face să meargă?
Oh, merge.
Merge.
Ooh.
Yarr!
>> [Redare a muzicii ANDY GRAMMER, "dragă, îmi pare BUNA"]
>> MARY: Aceasta este Caitlin.
Asta e Jay, și sunt Mary.
SATO: Bună, băieți.
Sunt Sato.
MICHAEL G .: Bună.
Numele meu este Michael G.
Doug LLOYD: Nu sunt.
Nu.
Sunt Doug Lloyd.
Nu pot să cred că eu țin o selfie lipi chiar acum.
DIFUZOR 4: Hi.
DIFUZOR 5: Hi.
DIFUZOR 6: Buna ziua.
DIFUZOR 7: Hi.
DIFUZOR 8: Hei.
Ne stau la Yale.
Suntem foarte incantati de acest semestru pentru că este
prima dată când vine la Yale.
O să fie minunat!
>> [MUZICĂ]
>> JACOB SCHERBA: Numele meu este Jacob Scherba.
Sunt emoționat pentru a preda CS50, deoarece cred
-l aducă la informatică oameni în și modul abordabil.
DIFUZOR 9: Sunt foarte excitat pentru a preda CS50
pentru că am luat clasa de anul trecut, și este unul dintre cele mai bune clase.
DIFUZOR 10: Da.
sfatul meu este că ar trebui să ia CS50.
JACOB SCHERBA: am ales CS, deoarece Cred că este un mod distractiv și creativ
pentru a rezolva problemele într-un mod analitic.
DIFUZOR 11: Înapoi, atunci când am fost un pic boboc și se tem de informatică
și se tem de a face inginerie și lucruri,
aceasta a fost prima clasă de greu am luat-o, și a fost, de asemenea, clasa mea preferată vreodată.
Doug LLOYD: Acesta este al meu CS50 predare ani nouă.
Asta face să par atât de vechi!
Există întotdeauna ceva nou.
Există întotdeauna ceva interesant.
Există întotdeauna noi provocări cu care se confruntă noi studenți, și este distractiv pentru a le ajuta
și pentru a experimenta cele provocări cu ei
și a le ajuta să rezolve problemele lor.
>> DIFUZOR 12: Când am prima învățat cum să facă CS,
a fost ca de învățare o super-putere.
Și pentru a vedea că, în alți elevi și pentru a le ajuta prin acest proces
este una dintre cele mai lucruri recompensarea Am vreodată.
>> DIFUZOR 7: Am ales CS deoarece în de început, am fost un concentrator de matematica
și am luat CS50 și a căzut în dragoste cu ea.
Am simțit, de asemenea că, cu CS, am putea construi lucruri.
Și că, m-am gândit, a fost un aspect foarte cool.
>> DIFUZOR 13: Un sfat pentru noul studenți este de a merge la orele de birou
și stau cu minunat TFS.
DIFUZOR 14: Start dvs. P-seturi devreme, du-te la orele de birou,
deveni frends cu TF-ul.
DIFUZOR 15: Da.
Totul a spus ea.
DIFUZOR 16: Nu fi frica de a cere ajutor.
DIFUZOR 17: Da.
DIFUZOR 18: Start dvs. P-seturi devreme.
DIFUZOR 19: Este o experiența socială mare.
Face o mulțime de prieteni în acest fel.
DIFUZOR 14: Mergeți la secțiunea E distractiv.
DIFUZOR 11: Adică, du-te pentru ea.
Este foarte greu.
Vei ieși din ea ceea ce ai pus în ea,
dar este un foarte distractiv clasa mai ales daca esti
dispus să pună în momentul în ea, dar ajută dacă ai pus timp în ea.
Vei primi mult mai mult din ea mai târziu.
MIKE: Sunt Mike.
CAMILLE: Sunt Camille.
Hanya: Sunt Hanya.
MATT: Sunt Mat.
PETER: Sunt Peter.
Phillip: Sunt Phillip.
PATRICK: Sunt Patrick.
ROB BOWDEN: Sunt Rob Bowden.
BRIAN SCASSELLATI: My Numele este AEÎC, și asta:
ALL: --is CS50.
DIFUZOR 20: La Yale.
DIFUZOR 21: La Yale.
[RÂS]
DAVID MALAN: Asta e pentru CS50.
Vă vom vedea din Yale pe Vineri, Puzzle Ziua de sâmbătă.
Tort este acum servit.
Acest lucru este CS50.
>> [MUZICĂ]