>> [Duke luajtur muzikë]
[MUSIC - Rossini, "RANZ DES VACHES "nga WILLIAM TELL]
>> [MUSIC - BEAT ANGLISHT, "MARS I KRERËVE kthyeshëm "]
>> [Duartrokitje dhe brohoritjet]
>> DAVID Malan: Pra, kjo është CS50.
Emri im është David Malan.
Dhe 73% prej jush nuk kanë përvojë të mëparshme me shkenca kompjuterike,
në kundërshtim me atë që ju mund të mendoni.
Pra, sot ne menduam se do të chip larg në se mungesa e familjaritetit, por edhe
t'ju japë një ndjenjë të, për ato prej jush me shumë komoditet, e cila drejtime
ju mund të shkoni këtë semestër.
>> Pra, le të fillojë me këtë.
Unë me të vërtetë nuk kanë asnjë ide se çfarë është brenda një kompjuter, edhe pse, si ju, unë
përdorin atë çdo ditë.
Por kjo është një lloj kuti, dhe ka Inputet jo shumë në të.
Minimalisht, nuk ka, çfarë?
Ndoshta një kabllo të energjisë.
>> Dhe me të vërtetë me këtë një përbërës, energji elektrike, ne duket të jetë i aftë të
bërë mjaft këto ditë.
Por në fund të ditës, ne duhet të paraqesin gjërat
se ne lidhje me kujdes.
Ne duhet të paraqesin informacione në disa forma.
Dhe ju jeni me siguri të paktën paksa të njohur me idenë nga binar ose
bit njëfarë mënyre apo tjetër, kompjutera reduktuar në zero dhe ato.
Por mund ne përqafojmë se dhe të paktën vënë një grimë e dritës për këtë?
>> Pra, unë kam këto pak llambat tavolinë këtu.
Unë kam një prizë elektrike këtu.
Dhe unë jam duke shkuar për të propozojë që brenda e kompjuterit im është të paktën njëri prej
këto gjëra, diçka të aftë e duke u ndezur ose off.
Në këtë rast, kjo është me të vërtetë një llambë tavolinë, por në nivel më të ulët, kjo është diçka
quajtur një tranzitor.
>> Por në botën tonë, kjo është një llambë tavolinë, kështu që Unë jam duke shkuar për të shkuar përpara dhe plug kjo
në energji elektrike time këtu.
Dhe unë pretendojnë se duke përdorur këtë të thjeshtë, pajisje të thjeshtë, kjo switch thjeshtë, unë
mund të paraqesin informacione.
Për shembull, tani, unë jam përfaqësojnë asgjë, e drejtë?
Unë jam që përfaqësojnë atë që unë do të thërrasë 0 ose false, e kundërta e diçkaje
në të vërtetë të qenit të pranishëm.
Por në qoftë se unë thjesht të kthehet në këtë kaloni, tani unë kam një të përfaqësuara 1.
Pra, duke përdorur këtë pjesë shumë të thjeshtë kujtesës, në qoftë se ju do, unë mund të përfaqësojë
informacion.
>> Tani për fat të keq, kompjuteri im nuk mund të bëjë të gjithë se shumë.
Ajo mund të përfaqësojnë vetëm dy vlera në të gjithë botën -
0 ose 1.
Por çfarë është një zgjidhje e qartë, tani, në qoftë se ne duam të zgjeruar kompjuterik tonë
kujtesës dhe përfaqësojnë më shumë se vetëm 0 dhe 1?
>> E pra, le të rrëmbyer një grimë të tillë.
Le të kap një tjetër kaloni, një tjetër tranzitor, megjithatë ju dëshironi të
mendoni rreth saj.
Më lejoni të shkojnë përpara dhe plug kjo në kompjuterin tim si.
Dhe unë jam duke shkuar për të kërkuar, tani, që nga energji elektrike duke përdorur një pak më shumë dhe
kthyer më shumë nga këto çelsin në dhe off, unë mund të përfaqësojnë më shumë të tilla
informacion.
>> Deri tani, kjo është 1.
Nëse unë dua të përfaqësojnë tani 2, unë mund ta bëjë këtë.
Por zakonisht, konventë, si ne do të përfundimisht shohin, do të kenë më bëjë këtë.
Pra, kjo është 0, kjo është 1.
Kjo do të jetë 2.
Dhe jo çuditërisht, kjo do të jetë 3.
>> Pra, në këtë mënyrë, ende, mund të ne numërimin deri edhe më tej?
Nëse unë të marrë një grimë e tretë, një kaloni tretë, çfarë është numri më i lartë mundem tani
llogariten deri tek nga 0?
7 Pra, në qoftë se unë jam duke filluar në 0, e drejtë?
Sepse në qoftë se unë të kthehet në këtë dritë mbi dhe fakt ky plug tretë dhe përfundimtar
dritë në prizë elektrike time këtu, atëherë unë kam aftësinë për të përfaqësuar
ndonjë prej dy vlerave këtu, dy vlera këtu, dy vlera këtu -
dhe kështu që unë mund të përfaqësojë 2 herë 2 herë 2, ose tetë vlera të mundshme.
Dhe në qoftë se unë të fillojë të kontabilitetit në 0, kështu që kjo është 0, 1, 2, 3, 4, 5, 6, 7.
>> Pra, kjo binar.
Ajo me të vërtetë është aq e thjeshtë sa se.
Dhe unë do të argumentojnë se kjo është në të vërtetë mjaft të njohur për shumicën
të gjithë në këtë dhomë.
Më lejoni të shkojnë përpara dhe të hapur një editor teksti pak këtu.
>> Dhe ju mund të kujtojnë nga klasën e shkollës që kemi pasur gjëra të tilla si qindra
vendi, vendi dhjetëra, dhe ato vend.
Dhe kujtojnë se në qoftë se keni pasur disa decimal të Numri i, si diçka të rastit
si 123, ju do të në thelb shkruar qe jashtë në formën
prej këtyre tri kolona.
Dhe pse eshte 1, 2, 3 çka ne e dimë si 123?
Mirë, në kolonën pari nga e majta, ne kemi e 100 plus dy 10s, kështu që është 120,
plus tre 1s, kështu që është 123.
>> Tani kjo botë që ne vetëm të ndriçohet është pikërisht njëjtë si
ju keni qenë i njohur me vite të tëra, përveç tani, kolona tona
nuk janë fuqitë e 10.
Ata janë vetëm kompetencat e 2.
Pra, kurse kjo është vendi ato, kjo do të jetë vendi twos, kjo është
do të jetë vendi i katër këmbët.
>> Dhe për shkak se unë jam vetëm duke përdorur thjeshtë e mekanizmave për të kthyer gjërat
mbi dhe off - me energji elektrike është i rrjedh apo energji elektrike nuk është i rrjedh -
Unë nuk kanë mjaft ekspresive njëjtë 0 varg si përmes nëntë.
Ne jemi duke shkuar për të mbajtur atë super e thjeshtë në këtë botën e kompjuterëve.
Kam vetëm 0 ose 1 -
off apo on, e vërtetë apo e rreme.
>> Dhe kështu ajo që unë jam duke përfaqësuar të drejtë tani është 1, 1, 1, sepse secili nga këto
dritat është e ndriçuar.
E pra, që më jep një plus 4 One 2, kështu që qe eshte 6, plus një 1, dhe që është 7.
Dhe prandaj e bën këtë sekuencë prej tre bit të përfaqësojnë numrin 7.
>> Pra, të gjithë këtë kohë, brenda tuaj kompjuter, të ketë qenë ndonjë numër i
transistorëve, çdo numri i bit.
Por në fund të ditës, ne mund të paraqesin informacione
si thjesht si ajo.
Tani për fat të keq, ne kemi numëruar vetëm deri në 7 në CS50 kështu largët, por
shpresojmë se ne mund të bëjë një grimë më mirë se kaq.
Dhe me të vërtetë mundemi.
>> Supozoni se ne si njerëz vetëm vendosur në mënyrë arbitrare se ne jemi duke shkuar
të shoqërojnë si numrat 1 dhe 2, 3, 4, 5, 6, 7, me letra specifike e
alfabeti.
Dhe për arsye historike, unë jam duke shkuar për fillojnë disi arbitrare, por unë jam i
duke shkuar për të thënë, njerëzit, ne jemi duke shkuar për të vendosë si një standard, globalisht, që
65 paraqet numrin A. letër 66 do të përfaqësojë B. Dot, dot, dot.
90 do të përfaqësojë Z. letër
>> Dhe le të supozojmë, nëse ne me të vërtetë vënë disa menduar në të, ne mund të dalë
me numrat për pikë thirrje dhe vogle shkronja dhe në të vërtetë,
njerëz të tjerë që kanë bërë për ne.
Deri tani kemi pasur bit me të cilën ne mund të përfaqësojnë numrat, numrat me të cilat
ne mund të përfaqësojë letra, dhe me Letrat ne tani mund të fillojnë kompozimin
email dhe karaktere shtypje në ekran.
>> Pra më lejoni të ftoj, nëse unë mund të, tetë trima vullnetarë -
të cilët nuk e mendjes shfaqeshin jo vetëm në kamera, por në internet -
për të ardhur deri këtu dhe përfaqësojnë tetë të tilla bit, në vend se këta tre.
Pra, si në lidhje me një, dy?
Si rreth tre?
Si rreth katër në dritën blu, pesë në fund?
Rreth dikë gjatë këtu?
Gjashtë në front, shtatë në front, dhe tetë në para, si edhe.
>> Kështu që unë vetëm ka ndodhur në mënyrë që të vijnë të përgatitur me një bandë e tërë e rrëshqet të letrës.
Dhe në këto copa letre janë numra që përfaqësojnë atë kolona
ju djema janë duke shkuar për të përfaqësuar.
Pra, ju do të jetë - çfarë është emri juaj?
>> STUDENT: Anna Leah.
>> DAVID Malan: Anna Lea, ju do të jetë kolona 128s.
Ju jeni?
>> STUDENT: Chris.
>> DAVID Malan: Chris do të jetë kolona 64s.
Ju jeni?
>> STUDENT: Dan.
>> DAVID Malan: Dan do të jetë kolona 32s.
>> STUDENT: Pramit.
>> DAVID Malan: Pramit do të jetë kolona 16s.
>> STUDENT: Lillian.
>> DAVID Malan: Lillian do të jetë 8s.
>> STUDENT: Jill.
>> DAVID Malan: Jill do të jetë kolona 4s.
>> STUDENT: Mary.
>> DAVID Malan: Maria do të jenë 2s, dhe?
>> STUDENT: David.
>> DAVID Malan: David do të jetë kolona 1s.
Pra, nëse ju djema mund të futemi pak përpara në mënyrë që të gjithë mund ta shohin.
Çfarë ju djema nuk e shoh është se në mbrapa e këtyre rrëshqet e letrës është një
fletë mashtrojnë pak që është gati të udhëzojë këto tetë bit ose të
ngrenë dorën e tyre apo jo ngrenë dorën e tyre.
Nëse dora e tyre shkon lart, ata janë të përfaqëson një 1.
Nëse dora e tyre qëndron poshtë, ata janë përfaqëson një 0.
>> Ndërkohë, ne publiku duhet të jetë në gjendje të kuptoj se, bazuar në këtë
, hartes çka tre-letër fjalë këto folks janë gati për të përcaktuar.
Pra, në një moment të vetëm, ju jeni duke shkuar për të lexoni rreshtin e parë off pasme të
fletë mashtrojnë tuaj, dhe ju jeni ose duke shkuar për të rritur apo të rritur jo dorën tuaj.
Nëse ju jeni një 1, që ju të rritur, nëse ju jeni një 0, ju qëndroni atje
ajër, ashtu si kjo.
Go.
Çfarë numri, së pari dhe më kryesorja, janë këta njerëz përfaqësojnë?
>> 66.
66, e drejtë?
Ne kemi një 1 në kolonën 64s, a 1 në kolonën 2S.
Kjo më jep mua 66, kështu që shfaqet për t'u përfaqësuar B. So
ju djema keni shkruar -
OK, kjo është e mjaftueshme.
B.
>> Pra, tani le të lëvizë mbi Letra jonë e dytë.
Go.
Kush është më e shpejtë në matematikë këtu?
Pra 79.
Përsëri, në qoftë se ne të shtoni deri gjitha kolonat në të cilin ka një 1, aktualisht, vetëm
si ne e bëmë para se me thjeshte shembuj të 7, ne tani
marrë numrin 79.
I cili sipas hartës sonë është shkronja O. Pra, ne jemi pothuajse atje.
B, O. Dhe së fundi, shkoni.
>> Cilat janë ato përfaqësojnë tani?
Më pak konsensus.
Kjo është vetëm një shushurimë absolute.
Po, kjo është në fakt 87.
Mirë.
>> Pra, nëse ne tani hartë që back up për të - le të të fillojnë thirrjen tabelë tonë ASCII,
Kodi Standard Amerikan për Informacione Interchange.
Kjo na jep letrën -
jo "bo", por "harku". Dhe kjo është një e përsosur cue për ju djema për të marrë një hark
dhe kreu në shpinë.
Shumë falemnderit.
>> [Duartrokitje]
>> DAVID Malan: Ju mund t'i mbani ato.
Edhe pse në të vërtetë, dikush do të si një llambë tavolinë, gjithashtu?
>> [Hoot nga publiku]
>> DAVID Malan: Desk llambë?
>> [Qeshura]
>> DAVID Malan: Really?
Llambat tavolinë për të gjithë?
Dakord.
Pra, duke filluar me shumë të thjeshta e parime, ne kemi tani jo vetëm që numërohen
nga 0 deri të gjithë rrugën deri në 7, ne kemi Supozohet se vetëm duke hedhur më shumë
bit ose më shumë dritat ose transistorëve më shumë në këtë problem, ne mund të
përfaqësojnë numra të mëdha dhe më të mëdha, dhe Ergo, shkon të mëdha dhe më të mëdha të
alfabetet, si anglisht.
Dhe vetëm le të marrin në besim për sot që në mënyrë të ngjashme, ne mund të fillojmë të
përfaqësojnë grafika dhe video dhe çdo Numri i mediave të tjera me të cilat ne jemi
i njohur sot.
>> Pra, kjo është CS50, dhe në këtë klasë krahas prej jush janë, përsëri, shumë e shumë
shokët e klasës që kanë sa më pak përjetojnë si ju.
Dhe unë përmend kjo vetëm për shkak mjaft shpesh, duke përfshirë si kohët e fundit si një nga
studente këshillimin ngjarjet dhe në i paedukuar mjaft pranverën e kaluar e këshilluar
Ngjarja, ne shpesh dëgjojmë nxënësit mohojmë kur vjen deri në tabelën CS, mirë,
Unë kam qenë duke menduar në lidhje me marrjen e kësaj klasa intro, por unë nuk jam me të vërtetë një
Personi kompjuter.
Ose, por të gjithë me siguri di më shumë se unë.
Dhe unë vënë këtë në font të madh të jetë e mundur, për të përcjellë këtë mesazh që
që nuk është në fakt rast.
>> Dhe në qoftë se ju jeni pyesin, duhet Unë, në fakt, të jetë këtu?
Kuptojnë se jo vetëm që ky kurs të Hyrje titulli Computer
Shkenca, ajo është Hyrje në kompjuter Shkenca I. Pra, nuk është me të vërtetë
një hyrje të dytë të tillë.
Pra, ju nuk jeni, në fakt, në vendin e gabuar.
Dhe në mesin e qëllimeve kam për sot janë të qetësoj çfarëdo shqetësimi të tillë ju
mund të ketë, por edhe për të pikturuar një fotografia e asaj që është në dyqan për
Nxënësit më pak dhe më të rehatshme njësoj në këtë kurs.
>> Por pare, nje fjalë në njërën nga fletëpalosje ju keni sot, ndër të cilat
janë një numër i Fakte.
Ajo ka qenë një vizion i yni për disa kohë tani për të futur një kategorizimin e ri
opsion në këtë kurs - domethënë, SAT / UNSAT.
Filozofikisht për mua, ajo është shumë më shumë, shumë më e rëndësishme se
Nxënësit në këtë klasë të angazhohen me materiale, të sfidohet nga
materiale, dhe shqetësohen shumë, shumë më pak rreth mekanika e rezultateve aktuale
dhe klasat letër në semestër fundi, por me të vërtetë përqafojnë
Kursi dhe materiale të saj.
Dhe me të vërtetë kjo ndihet, më në përgjithësi, për çfarë është interesante për ta, për të
të ndjehen të sfiduar dhe shpërblehet, por pa frikën e dështimit.
>> Dhe me të vërtetë, kjo është një shumë e përsëritur Tema hyrëse në këtë dhe të tjera
kurse në fusha të tjera, që ju keni ky ankth kur është fjala për
vënë gishtat e dikujt në ujëra të panjohura.
Unë vetë, përsëri në vitin 1995, ishte një studente.
Unë kam qenë shumë e fokusuar në një flotacion Gov këtu.
Dhe unë ende do të rritur gjithmonë me një grimë e një interes në shkenca kompjuterike.
Unë kam qenë gjithmonë kureshtar.
>> Por pastaj përsëri, madje, kam pasur këtë frikë e edhe shkelën këmbë në CS50, aq shumë
kështu që unë nuk e kam edhe dyqan atë vit fillestar.
Dhe arsyeja e vetme që kam vënë një këmbë në i paedukuar mjaft dera vit ishte sepse unë
u lejohet të marrë atë të kalojë / dështojnë.
Por edhe të kalojë / dështojnë kërkohet që të shkoj deri nervore të bëni një takim
me Profesor Kernehan në atë kohë, sjellë këtë fletë të madhe letre, dhe të kërkojë
atë për nënshkrimin e tij dhe e tij leje për të eksploruar
këto ujëra të panjohura.
>> Dhe kjo nuk ka ndihmuar në vitet e fundit se kur e bëjnë këtë në CS50, kur ne
përdoret për të kalojë / dështojnë, në mënyrë të ngjashme do të dhjetra ose qindra të shokëve tuaj
kanë për të dalë, Zoti na ruajt, në front i Sanders me këtë formë, që
në disa mendjet përfaqëson një paaftësi, Unë guxoj të them, për të kryer
janë të nivelit kolegët tuaj.
Cili është qesharake, por unë mendoj nuk ka se mentaliteti.
Dhe kurrë nuk ka qenë në këtë kulturë i SAT / UNSAT, ose të kalojë / dështojnë më shumë
në përgjithësi, në këtë kurs, apo me të vërtetë në këtë kampus.
>> Pra, këtë vit ne kemi ndryshuar atë.
Unë do të jetë sa gjysma e ekstazë kjo klasë ose më shumë përfundoi
duke marrë CS50 SAT / UNSAT.
Në një vit kohë, ajo do të jetë e mrekullueshme në qoftë se pothuajse të gjithë është.
Pas kësaj ndoshta ne do të punojmë on notave letër në Harvard
Kolegji më në përgjithësi.
Por tani për tani, ne do të bëjmë këtë brenda tonë sferë vet, dhe unë do të përzemërsisht
inkurajuar ju për të shqyrtuar ato dhe Fakte bëni pyetje si ju e gjykojnë të arsyeshme, në mënyrë që
shpresojmë se ju, ndryshe nga mua, nuk do të mjaft kanë se faktor njëjtin ndjejë kur
eksploruar çfarë është ndoshta një vend të panjohur.
>> Pra, çfarë është CS50?
Kjo është një hyrje në ndërmarrjet intelektuale e kompjuterit
shkenca dhe arti i programimit.
Por çfarë do që me të vërtetë do të thotë?
>> E pra, deri tani, kemi biseduar shumë shkurtimisht informacion në lidhje me përfaqësimin.
Por mendoj se ne të vërtetë duan të bëjë diçka me të.
Ne kemi nevojë për të futur nocionin e ajo që ne do të thërrasë një algoritmi.
Një algoritmi eshte nje procedure, nje proces, një grup i udhëzime për
duke bërë diçka.
>> Dhe një algoritmi mund të jetë diçka thjeshtë super.
Për shembull, një shembull me të cilin disa ju mund të jetë i njohur është ky
Gjëja këtu.
Pra, ky libër këtu është gjithnjë e më datë, por një herë e një kohë, ajo
përmbante një tërësi shumë të emrave dhe numrat e telefonit.
Dhe me të vërtetë, në qoftë se unë të kërkuar për të gjetur dikush në këtë libër telefonit -
thonë, dikush me emrin Majk Smith -
Unë mund të gjeni Mike Smith në çdo numër mënyra mjaft i thjeshtë.
Unë mund të fillojë në fillim dhe lëvizin në tek faqja 1, nuk ka.
Page 2, nuk janë atje.
Page 3.
Është se algoritmi, është se Procesi, saktë?
>> Pra, kjo është e saktë, e drejtë?
Unë jam natyrë e një idiot për të bërë atë në se mënyra, por në fund unë do të
gjeni mbiemrin S, dhe shpresojmë se Mike është në atë seksion, dhe unë do të bëhet
bërë me algorithm tim.
Por sigurisht kjo nuk është intuitive.
Shumica e çdo qenie njerëzore të arsyeshme në këtë dhomë nuk do të kishte bërë këtë.
Çfarë do të kishit bërë?
>> Ju do të keni shkuar drejt në mes, e drejtë?
Afërsisht të qëndër.
Dhe ti e kupton, oh, këto janë Znj Pra, Mike Smith, emri i fundit ishte Smith,
nuk është e qartë, atëherë në gjysma e majtë e librit.
Ai duhet të jetë në drejtim të S është në të djathtë.
Dhe në këtë pikë, edhe pse shumica prej nesh mos e bëni këtë në realitet, ne mund të
fjalë për fjalë të gris këtë problem në gjysmë.
>> [Brohoritje dhe duartrokitje]
>> DAVID Malan: Faleminderit.
>> [Brohoritje dhe duartrokitje]
>> DAVID Malan: Ju mund të vërtetë të gris këtë Problemi në gjysmë, duke lënë mua me të,
fjalë për fjalë, një gjysmë si problem i madh.
Pra, nëse ky libër telefoni ishte - dhe kjo ndoshta ishte - rreth 1000 faqe, tani
kjo është vetëm 500.
Në qoftë se unë bëj këtë përsëri dhe unë të kuptojë, oh, Damn, unë shkova shumë larg, unë jam në Ts
seksion, unë mund të në mënyrë të ngjashme -
fjalë për fjalë apo figurativisht -
gris librin e telefonit - kjo ishte në fakt shumë më e lehtë në atë kohë.
Unë fjalë për fjalë mund të shqyej librin e telefonit në gjysmë, duke lënë mua tani me
jo jo 1000, 500 -
250 faqe.
Dhe unë mund të shkoj 125, dhe gjysma e se, dhe gjysma e se, dhe gjysma e se,
derisa më në fund unë do të lihet me vetëm një faqe të vetme.
>> [Qeshura]
>> DAVID Malan: Kjo është Pjesa I dështojnë.
Një faqe e vetme në të cilën Mike është shpresë.
Tani ato algoritme të ndryshme mund të jenë të lloj i vlerësuar apo të vlerësohen në
mënyra të ndryshme.
I pari ishte shumë lineare, e drejtë?
Kthejeni faqen, shikoni për Mike.
Është shumë lineare.
Nëse ka një faqe më shumë në telefon libër, ajo ndoshta do të marrë mua
një më shumë dyta, një njësi më shumë nga koha, megjithatë ne jemi duke njehsuar kohën.
>> Kështu që unë mund të tërheqë këtë linjë si kjo këtu, ku si madhësia e
Rritjet e problemeve nga e majta në të djathtë -
Libri i telefonit merr të vogla për të madhe -
dhe koha do të rritet në Boshti vertikal, madhe
libër telefoni është.
Pra, n është vetëm një variabël i përgjithshëm që shkencëtarët kompjuter të përdorur për të përfaqësuar
disa vlera, disa numër.
Pra, n do të rritet linear.
Dyfishojë madhësinë e librit të telefonit, është duke shkuar për të marrë mua dy herë më shumë
kohë, ka shumë të ngjarë, për të gjetur Mike.
>> Tani unë mund të ketë qenë i zgjuar në lidhje me këtë, e drejtë?
I was getting bored shpejt.
Mund të ketë bërë këtë duke twos.
Kështu dy faqe, atëherë katër, pastaj gjashtë, pastaj tetë.
Dhe unë mund të fillojnë të fluturojnë nëpërmjet saj një pak më të shpejtë, megjithëse në rrezik të vogël të
duke tejkaluar Mike, por kjo nuk është kurba do të jetë mbi të gjitha që të ndryshme.
Ajo është ende do të jetë një e drejtë line, por pak më të shpejtë.
>> Por çfarë kam bërë?
Unë në fakt e bëri diçka të rrënjësisht të mirë.
Kam arritur atë që ne do të thërrasë logaritmike , koha log n, ku kjo e gjelbër
Linja ka një shumë, shumë, shumë edge pak drejt saj.
Dhe në vend, ajo sugjeron, si ajo lloj i afrohet pafundësinë ndonjëherë kështu gradualisht,
se unë në fakt mund të marrë një 1000 faqe- librin e telefonit, dyfishojë madhësinë e saj
vitin e ardhshëm - sepse mendoj shumë më shumë njerëz lëvizin në qytet.
>> Deri tani unë kam marrë 2000 faqe, por si hapa shumë më shumë është se zgjuar
algorithm do të marrë?
Vetëm një.
Unë do të thotë, kjo është një gjë e fuqishme.
Nëse shkojmë në 4.000 faqet vitin e ardhshëm, që do të marrë mua
vetëm dy hapa më shumë.
Kështu që ju mund të hedhin më të mëdha Problemet në mua, jo ndryshe nga web është
hedhur probleme më të mëdha dhe më të mëdha çdo ditë në Googles dhe Facebooks e
bota, dhe kjo nuk është tillë një punë e madhe.
Sepse kam vënë mendim shumë dhe kujdes në Algoritmi im me të cilin për të zgjidhur
Problemet efikase.
>> Dhe me të vërtetë, që do të jetë një nga qëllimet e këtij kursi.
Ju do të, së bashku rrugën, mësojnë se si të programit.
Ju do të mësoni se si të programit në ndonjë numër të gjuhëve.
Por në fund të ditës, sigurisht është në lidhje me zgjidhjen e problemeve dhe marrjen e
më të mirë në zgjidhjen e problemeve - dhe, si në raste si ky, zgjidhjen e problemeve
në mënyrë më efikase.
>> Tani deri tani, ne kemi bërë këtë mjaft intuitive.
Le të futur diçka në mënyrë të drejtë generic quajtur pseudokod.
Pra, ne do të merrni përfundimisht, në këtë kurs, të
gjuhë të ndryshme programimi.
Por sot ne do të bëjmë atë në anglisht-si Sintaksa, ku ju vetëm lloji i thonë
çfarë ju thotë, por ju jeni ndonjëherë në mënyrë ngjeshur dhe ju mos u bëni merak rreth
gramatika dhe fjali të plota.
Ju vetëm të shprehë veten si koncize të jetë e mundur.
>> Pra pseudokod është anglisht-si Sintaksa që përfaqëson
një gjuhë programimi.
Dhe për këtë qëllim, më lejoni të propozoj që ne tani të modeluar procesin ne vetëm
përshkruar i numërimit diçka pak ndryshe, këtë herë duke marrë një
shikoni në këtë video pesë-minutësh të prodhuar nga miqtë tanë në TED që
përcakton se çfarë është pseudokod, përcakton se çfarë menduarit algorithmic është, dhe madje edhe
pse shembull ju jeni gati për të parë është, në vetvete, super e thjeshtë, kjo është
do të fillojnë të na japë mendor model, fjalorin, me të cilin do të
të bëjë shumë, shumë më tepër komplekse Algoritme mjaft shpejt.
>> [FILLO video playback]
>> [Duke luajtur muzikë]
>> Transmetuesi: Çfarë është një algoritmi?
Në shkenca kompjuterike, një algoritmi është një vendosur e udhëzimeve për zgjidhjen e disa
Problemi hap pas hapi.
Në mënyrë tipike, algoritme janë ekzekutuar nga kompjuterat, por ne njerëzit kanë
Algoritmet, si edhe.
Për shembull, si do të shkojë Rreth numëruar numrin
e njerëzve në një dhomë?
E pra, në qoftë se ju jeni si unë, ju ndoshta do të Pika në çdo person, një në
një kohë, dhe numërimin deri nga 0.
1, 2, 3, 4, dhe kështu me radhë.
>> E pra, kjo është një algoritëm.
Në fakt, le të përpiqemi për të shprehur atë një pak më zyrtarisht në pseudokod -
Anglisht-si sintaksa që i ngjan një gjuhë programimi.
Le N 0 të barabartë.
Për çdo person në dhomë, të vendosur N barabartë me N plus 1.
>> Si për të interpretuar këtë pseudokod?
E pra, një linjë deklaron, në mënyrë që të flasin, një ndryshore të quajtur N dhe initializes
vlera e saj me 0.
Kjo thjesht do të thotë se në fillim të algorithm tonë, gjë me të cilën
ne jemi duke numëruar ka një vlerë prej 0.
Pas të gjitha, para se të fillojë numërimi, ne nuk kemi numëruar ende asgjë.
Thirrja e kësaj N ndryshueshme është vetëm një konventë.
Unë mund të ketë ndonjë gjë më e quajti atë.
>> Tani linjë dy demarks fillimi i një lak, një sekuencë e hapave që do të
përsëris disa numrin e herë.
Pra, në shembullin tonë, ne jemi duke marrë hap është duke numëruar njerëzve në dhomë.
Nën dy linjës është linjë tre, i cili përshkruan saktësisht se si
ne do të shkojnë për numërim.
Kryeradhë nënkupton se ajo është tre të linjës që do të përsëriten.
>> Pra, çfarë është duke thënë se është pseudokod se pas duke filluar nga 0, per secilin
person në dhomë, ne do të rritet nga N 1.
Tani është ky algoritëm korrekt?
E pra, le të më përplaste mbi një grimë.
A do të punojë në qoftë se ka dy njerëz në dhomë?
Le të shohim.
>> Në një linjë, ne kemi nisja N në 0.
Për secilin prej këtyre dy njerëzve, ne pastaj Rritja N nga 1.
Pra, në udhëtimin e parë përmes loop, ne update N nga 0 në 1.
Në udhëtimin e dytë përmes se njëjtë lak, ne Përditëso N 1-2.
Dhe kështu deri në fund të këtij algoritmi s, n është 2, të cilat me të vërtetë përputhet me numrin e
njerëz në dhomë.
>> Deri më tani, në mënyrë të mirë.
Si në lidhje me një rast qoshe, pse?
Supozoni Ndodhen 0 njerëz në dhomë - përveç meje,
kush është duke bërë numërimin.
Në një linjë, ne kemi nisja N në 0.
Këtë herë, edhe pse, linja tre nuk ekzekutuar fare pasi nuk ka një
person në dhomë.
Dhe kështu N mbetet 0, që përputhet Numri i njerëzve në dhomë.
Shumë e thjeshtë, e drejtë?
>> Por njerëzit e numërimit në një kohë është shumë e paefektshme, shumë, apo jo?
S'ka dyshim se ne mund të bëjmë më mirë.
Pse nuk llogariten dy njerëz në një kohë?
Në vend të llogaritur 1, 2, 3, 4, 5, 6, 7, 8, dhe kështu me radhë, pse nuk e llogarisin, 2,
4, 6, 8, dhe kështu on?
Kjo edhe tingëllon më të shpejtë, dhe kjo me siguri është.
>> Le të shprehim këtë optimization në pseudokod.
Le N 0 të barabartë.
Për secilën palë e njerëzve në dhomë, vendosur N barabartë me N plus 2.
Ndryshimi Pretty thjeshtë, apo jo?
Sesa njerëzit numërimin e në një kohë, ne vend të llogarisë
ata të dy në një kohë.
Ky algoritëm është kështu dy herë aq shpejt sa fundit.
>> Por a është kjo e saktë?
Le të shohim.
A do të punojë në qoftë se ka dy njerëz në dhomë?
Në një linjë, ne kemi nisja N në 0.
Për këtë një palë të njerëzve, ne pastaj Rritja N nga dy.
Dhe kështu deri në fund të këtij algoritmi-së, N është 2, të cilat me të vërtetë përputhet me numrin e
njerëz në dhomë.
>> Supozoni tjetër që ka 0 njerëz në dhomë.
Në një linjë, ne kemi nisja N në 0.
Si më parë, tre linja nuk ekzekuton fare, pasi që nuk ka ndonjë palë
e njerëzve në dhomë.
Dhe kështu N mbetet 0, e cila në të vërtetë përputhet me numrin e
njerëz në dhomë.
>> Por, çfarë nëse janë tre njerëz në dhomë?
Si e bën këtë algoritëm fare?
Le të shohim.
Në një linjë, ne kemi nisja N në 0.
Për një palë të këtyre njerëzve, ne pastaj Rritja N nga 2.
Por atëherë çfarë?
Nuk është një tjetër palë e plotë të njerëzve në dhomë, kështu që nuk ka dy linja
zbatohet më.
Dhe kështu deri në fund të këtij algoritmi-së, N eshte akoma 2, e cila nuk eshte korrekte.
>> Në të vërtetë, ky algoritëm është e thënë të jetë buggy, sepse ajo ka një gabim.
Lejon dëmshpërblim me disa pseudokod ri.
Le të barabartë 0 n për çdo palë e njerëzve në dhomë.
Bëje N barabartë me N plus 2.
Nëse një person mbetet unpaired, vendosur N barabartë me N plus 1.
Për të zgjidhur këtë problem të veçantë, ne kemi futur, në përputhje katër, një
kusht, i njohur ndryshe si një degë se vetëm ekzekuton në qoftë se ka një
Personi që ne nuk mund të palë me tjetrën.
Dhe kështu që tani, nëse ka një apo tre apo ndonjë numër i rastësishëm i njerëzve në
dhomë, ky algoritëm tani do të numëroni ato.
>> Mund të bëjmë edhe më mirë?
E pra, ne mund të mbështeteni në 3s apo 4S apo edhe 5s dhe 10s, por përtej kësaj, ajo është
duke shkuar për të marrë një pak e vështirë për pikë.
Në fund të ditës, nëse ekzekutohet nga kompjuterat apo njerëzve,
algoritme janë vetëm një grup e udhëzimeve me
e cila për të zgjidhur problemet.
Këto ishin vetëm tre.
Çfarë problemi do të zgjidhë me një algoritmi?
>> [VIDEO END rishikim]
>> DAVID Malan: Kjo është e vetmja kohë Unë do të shfaqet në formë të kartonave.
Por, ku kjo histori lë jashtë, tani, është se si mund të bëjmë më mirë?
Threes dhe katërkëmbëshe, ne pretendojnë, ne mund të llogarisë njerëz shumë më të shpejtë, por mund të kemi
të bëjë thelbësisht më mirë se kjo?
Dhe unë bast mundemi.
>> Në qoftë se ne kemi prezantuar një grimë e vet tonë pseudokod këtu, unë jam duke shkuar për të propozojë
se ne mund të arrijmë një linjë si kjo.
Ne nuk jemi duke shkuar për të numëruar njerëzit një, dy, tre, katër.
Ne nuk jemi duke shkuar për të shkuar dy, katër, gjashtë, tetë.
Ne jemi duke shkuar për të bërë thelbësisht më mirë duke rimenduar problemin, dhe në këtë
rasti, leveraging një tjetër underutilized burim.
>> Në një moment të vetëm, unë shpresoj se ju do të fal dhe humor na duke qëndruar deri në
vendi, në të cilën pikë ne jemi duke shkuar për të kërkoni secili prej jush të marrë në tuaj
Mendjet numri 1.
Ju jeni pastaj do të gjithnjë e më të ajër, si koha kalon, të gjejnë
dikush tjetër që është në këmbë, të kombinuar Numrat tuaj së bashku
duke shtuar ato.
Njëri prej jush është që të racës, atëherë do të ulet poshtë e parë, dhe personi tjetër
është duke shkuar për të përsëritur.
>> Pra, me fjalë të tjera, nga mbjellëse të gjithë ju me numrin 1, dhe pastaj
kombinuar ato 1s në 2s dhe atyre 2s në 4s, gjithnjë e më shumë me të gjithë
ulur poshtë, ne duhet, në fund të ky algoritëm, kanë vetëm një kredi
Shpirti që nuk ulen të shpejtë të mjaftueshme, por i cili ka tërë numërimin audienca
në mendjen e tij apo të saj.
>> Pra, nëse ju do të, le të shkojë përpara dhe të - Hapi i parë - të qëndrojë deri në vend.
Dhe ekzekutuar.
>> [Turmën duke pëshpëritur]
>> DAVID Malan: A e dini se Lauren ku është?
729?
>> [Turmën duke pëshpëritur]
>> DAVID Malan: Të gjithë të drejtë?
>> [Turmën duke pëshpëritur]
>> DAVID Malan: Të gjithë të drejtë, ne duhet të jetë pranë përfundimit.
Ne e shohim një shoku qëndronte këtu ende.
Kush tjetër duhet të çiftëzohet?
Nëse ju djema doni të çiftuar off.
Dikush up krye.
Pse nuk mundem të japë një dorë këtu.
Për shumë pak njerëz të cilët janë ende qëndruar, çfarë bëni ju numrat
keni në mendjen tuaj?
>> STUDENT: 78.
>> DAVID Malan: 78 plus -
kush është duke qëndruar këtu poshtë?
>> STUDENT: 39.
>> DAVID Malan: Plus 39.
Plus kush tjetër është ende në këmbë?
81?
OK, kush tjetër?
Një tjetër 81?
Wow.
Dhe pastaj çfarë është në shpinë?
>> STUDENT: 49.
>> DAVID Malan: 49, plus?
>> STUDENT: 98.
>> DAVID Malan: 98 plus?
Është se dikush tjetër?
12?
Good job.
>> [Qeshura]
>> DAVID Malan: Oh, 112 -
oh.
Good job!
>> [Qeshura]
>> [Duartrokitje]
>> DAVID Malan: Çdokush tjetër ende në këmbë?
Na vjen keq?
>> STUDENT: 99.
>> DAVID Malan: 99.
Çdokush tjetër ende në këmbë?
Dhe numri i përgjithshëm i nxënësve këtu është e vërtetë, sipas te -
ju keni një numër?
Oh, numri aktual i njerëzve në dhomë, sipas parasysh që
vllezër mësimore ishin bërë në rrugën e të gjithëve ne, ishte 729.
Pra, nga një dhomë të nxënësve të Harvardit të cilët numërohen veten e tyre,
Përgjigja është 637.
>> [Qeshura]
>> DAVID Malan: Pra ngushtë.
Por ende.
OK, kështu që është një mësim moment, e drejtë?
Kjo është ajo që ne tani e përshkruajnë si një bug.
Diku përgjatë rrugës, ne e bëmë disa aritmetike e gabuar, apo dikush u ul,
ose majtas, apo diçka shkoi keq.
Por kjo është në rregull.
Sepse edhe akoma, ne mori mjaft të ngushtë.
Dhe unë do të argumentojnë se ne mori të gabuar përgjigjeni një shumë më shpejt se unë do të ketë
përdorimin e më shumë qasjen time lineare.
>> Pra, le të supozojmë që kemi bërë në fakt të marrë që korrigjuar, por mendoj se tani në lidhje me atë
po ndodhte çdo herë, kundrejt mia vet algorithm treguar naive.
Një, dy, tre.
Nëse ka të vërtetë janë 729 apo 637 njerëz këtu, që do të marrë mua
fjalë për fjalë 637 ose 729 pointings i gishtit dhe
rrisim numërimin tim total.
Dhe unë mund të bëjë një pak më të mirë nga duke shkuar dy, katër, gjashtë, tetë, dhe
dyfishtë që shpejtësia, ndoshta edhe e trefishtë ose katërfishtë, në varësi se si edhe unë mund të
të bëjë që numëruar në kokën time.
>> Por, kjo qasje që ju djema e mori ishte tërësisht i ndryshëm.
Sepse në fillim, të gjithë ju u ngrit.
Pra, të gjitha 729.
Dhe pastaj fjalë për fjalë gjysma e ju ul.
Dhe pas kësaj, një tjetër gjysma prej jush u ul.
>> Dhe numri i përgjithshëm i herëve që ju djema mund të ketë ulur është afërsisht
tetë ose nëntë, ose dhjetë herë gjithsej, në varësi të asaj numërimin ynë i përgjithshëm është.
Dhe ne mund të lloj të bëjë kjo mënyrë tjetër.
Nëse do të kishim 1.024 njerëz në dhomë, Numri i përgjithshëm i herë ju mund të
përgjysmojë 1.024 njerëz është 10.
>> Tani mendoni rreth saj në drejtim tjetër.
Supozoni, qesharake, që kemi pasur, të themi katër milliard njerëz në këtë dhomë,
ose një dhomë pak më e madhe.
Sa herë do të kemi shkuar përmes këtij algoritmi, të tilla që gjysma
e asaj klase ulet?
Është vetëm do të marrë 32 të tillë operacionet, madje edhe në një klasë të madhësisë së
katër miliard më.
Pse?
Sepse katër miliard më shkon në dy miliard, shkon në një milion, shkon në
500 milionë, shkon në 250 milion, dot, dot, dot.
Unë mund ta bëni vetëm se ndarja e disa 32 herë, në të cilën pikë, të gjithë me përjashtim të
një person do të jetë lënë në këmbë.
>> Dhe kjo, gjithashtu, është një lloj i fuqishëm Ideja se gjithnjë e më shumë ne do të përpiqemi për të
levave në këtë kurs, dhe në programimi dhe shkenca kompjuterike më shumë
në përgjithësi, këto mikrobe e një ideje me të cilat ne pastaj mund të zgjidhin shumë probleme,
shumë më të fuqishëm.
Pra, kemi filluar me mjaft e thjeshtë që pseudokod dhe një djalë në një dhomë, por
tani me një dhomë të tërë plot me njerëz kemi bërë krejtësisht të mirë.
>> E pra, le të tani tranzicionin nga pseudokod për disa kodin aktual.
Kjo gjuhë që ju jeni gati për të parë ndodhë të quhet JavaScript, dhe
ne do të kthehen në këtë drejtim Semestri së fundi.
Kjo është një gjuhë programimi që ju përdorin për të bërë faqet e internetit dhe të tjera të tilla
software këto ditë.
Dhe ne kemi përdorur atë, në sajë të një mik i yni në Stanford, për të shifroj
disa informata fshehur këtu.
Ky është arti i Steganography, kështu që të flasin, ku ju mund të fshehin
Informacioni në atë që ndryshe duket jenë zhurma ose një krejtësisht ndryshe
image krejt.
Por mishëruar në këtë imazh të veçantë është me të vërtetë një mesazhi sekret në terezi.
>> Pra më lejoni të shkoj përpara dhe tërheq lart image njëjtë këtu, kjo
Ora në një shfletues web.
Dhe unë jam duke shkuar për të tundë dorën time në disa nga detajet për sot, veçanërisht
për ato prej jush që kjo duket si jo vetëm JavaScript greke, por, si një
gjuha krejtësisht të panjohura.
Por ky është një shembull i një gjuhë programimi.
>> Dhe tani për tani, të marrë në besim që kjo vija e parë të kodit -
dhe nga kodi, unë vetëm do të thotë tekst.
Teksti që unë mund të keni shtypur fjalë për fjalë në Microsoft Word, nëse unë kam
software drejtë për të pastaj të bëjë diçka me të.
Programim kodin burim, programimi Kodi, është me të vërtetë vetëm tekst, dhe ajo
duket të ndryshme bazuar në atë gjuhë ju jeni duke përdorur, jo ndryshe dhe anglisht
Spanjisht dhe rusisht të gjitha të duken të ndryshme kur ju shkruani ato në tastierën tuaj.
>> Pra këtë linjë të parë, tani për tani të marrë në besimi, thjesht hap një grafik nga
internet, se grafik zhurmshme ne vetëm e pa.
Kjo linjë tjetër këtu është një shembull i një loop, dhe ne fakt panë se njëjtë
Zhargoni në video TED.
Një lak është diçka që ndodh përsëri dhe përsëri, dhe edhe pse kjo
duket absolutisht e fshehtë, me fjalen për të, dhe disa kllapa, dhe
disa semicolons.
Ne do të kthehen me atë para se të gjatë, por se loop ka në thelb është
thënë programin, iterate mbi të gjitha prej këtyre dots zhurmshme, nga e majta në të
drejtë, fund e krye.
>> Sepse në fund të ditës, një imazh pëlqen kjo - dhe ju mund të vërtetë
lloji i shohin atë në këtë projektor -
është me të vërtetë vetëm një rrjet i dots.
Pra, ne mund të identifikojë secilin prej këtyre dots nga një y koordinativ, x,, dhe me këtë
Programi, tani ne mund të fillojnë të bëjë diçka për këto pika.
>> Pra, ajo që unë jam duke shkuar për të shkuar përpara dhe këtu nuk është që unë jam duke shkuar për të bërë disa ndryshime.
Së pari unë jam duke shkuar për të shkuar përpara dhe për të hequr qafe nga të gjithë që të gjelbër dhe kaltërosh
zhurma, dhe unë jam duke shkuar për të shkuar përpara dhe shtypni poshtë
pa dyshim sintaksa fshehtë.
im për imazhin.
vendosur në blu e lokacionit x, presje, Vendndodhja y, me 0.
Me fjalë të tjera, unë dua të vetëm fik të gjitha blu
dots në atë foto.
>> Unë jam duke shkuar për të shkuar përpara dhe tani klikoni kjo Run / Save button, dhe ju do të
njoftim në anën e djathtë, image rezultuar duket.
Tani gjelbër e saj super, por që nuk është për t'u habitur, sepse unë fjalë për fjalë u kthye
off, duke bërë A 1 A 0, të gjithë blu në atë foto.
>> E pra, tani le ta bëjmë atë një pak më shumë.
im për imazhin, dot setGreen, x, y.
Dhe kjo vetëm do të thotë iterate nga e majta në të djathtë dhe pastaj fund e krye.
Kthejeni atë me një vlerë të nga 0, si edhe.
Ruaj.
Dhe në projektor, ju nuk mund të vërtetë me të vërtetë shoh ndonjë gjë në të gjitha.
>> Në ekranin tim laptop, në qoftë se unë vetëm të kolegëve në rrugën e drejtë, unë mund të shoh një grimë e një
image, sepse ata janë ende disa të kuqe në atje.
Nëse ju keni dëgjuar ndonjëherë RGB akronim -
e kuqe, jeshile, blu -
ajo duke iu referuar kësaj përbërjeje një imazh i përdorur
vetëm ato tri ngjyra.
Dhe tani, ne kemi hedhur larg të gjitha jeshile, të gjitha blu, por
nuk ka shumë të kuqe.
>> Pra më lejoni të maniak deri kuqe.
Si mund të bëj se?
E pra, së pari, unë jam duke shkuar për të pyetur ky program një pyetje.
Unë jam duke shkuar për të shkuar përpara dhe le të thërrasë atë një ndryshore, ashtu si në algjebër.
Ju mund të keni X ose y ose Z.
Unë jam duke shkuar për të deklarojë një ndryshore dhe thonë, të vënë në këtë variabël,
përkohësisht, vlera e Imazhet getRed vlerën te x, y.
>> Dhe përsëri, ne do të kthehen për të gjithë i këtij detaje në të ardhmen.
Por tani për tani, vetëm të marrë në besim që kjo linjë është kërkuar programin, çfarë
është vlera e kuqe në x, y?
Në atë pikë të caktuar?
>> Atëherë unë jam duke shkuar për të bërë diçka për të.
Atëherë unë jam duke shkuar për të bërë image dot caktuar kuqe në x, y, y por këtë herë unë jam duke shkuar për
rritur atë duke bërë herë të kuqe, le të themi, 10.
Pra, të rritur atë nga një faktor i 10.
Më lejoni të zoom jashtë tani dhe të mund të klikoni Run / Save.
Dhe voila, se ishte atje tërë kohë, edhe pse sytë tona njerëzore
nuk mund të mjaft të shohin atë.
>> Pra, përsëri, kjo tani është kodi i vërtetë, një shembull i një gjuhë që ne do të vijë
përsëri në para se të gjatë.
Por e kuptojnë, veçanërisht ato prej jush me asnjë përvojë të tillë, ajo është mjaft e
më shpejt që ne vetë do të jetë shkruar kodin se si atje.
Në fakt, një mjet me të cilin ju jeni të gjithë disi i njohur, ndoshta, është e CS50
Kursi i vet-pazar mjet, i cili ishte restartohet në fakt këtë verë nga disa
i CS50 nxënësit e veta ish, tani kthehet TFS.
>> Pra, kjo ndodh të jetë një website ndërtuar në një gjuhë që quhet PHP.
Ajo përdor një bazë të dhënash të quajtur MySQL, gjërat me të cilat ne do të marrë në duart tona
pista më vonë në semestër.
Por besoj se kjo apo jo, edhe diçka si kjo në fund të fundit redukton në
thjeshte e sythe dhe kushtet dhe degët, si ato ne pamë vetëm një
Momenti më parë në video TED.
>> Ajo që unë mendova se do të bëni tani është të mos ndajnë vetëm diçka që ne kemi bërë Stafi
për kampus, por diçka një ish-student - tre
Nxënësit, në fakt -
e bëri këtë vit të kaluar, Sierra, Danieli dhe Sam, i fundit prej të cilëve nuk kishte asnjë para
Përvoja programing kur ai mori CS50.
Dhe për projektin e tyre finale, ata ekspozuar, në Panairin CS50, një
Aplikimi quhet wrdly, e cila është një web-based program për të cilën ata e bënë
kjo video që unë mendova se do të ndajnë për ju jap një kuptim të vetëm atë që është
të jetë e mundur deri në fund të termit së.
>> [Duke luajtur muzikë]
>> DAVID Malan: Kjo është nga Zero Javës të javës 12 të këtij viti kaluara.
>> [Duartrokitje]
>> DAVID Malan: Si një ngacmues, gjithashtu, me të vërtetë për të ngjall oreksin tuaj është që ajo që është
të jetë e mundur, ju mund të keni parë tashmë, ose mund të shohim së shpejti, market.cs50.net, një
mjet i ri që ekipi Kursi ka qenë duke punuar në, këtë herë në
bashkëpunim me Student Harvardit Agjencitë, të tilla që duke filluar këtë vit
dhe duke vazhduar me shpresë në këtë vijnë verë ju do të keni një standard
mundësi në kampus për të blerë dhe shesin gjëra me interes për ju.
Dhe me partneritet nëpërmjet HSA, ju do të gjithashtu të jetë në gjendje të heqë off artikuj
në njërën nga dyqane fizike HSA-së në disa Pika në të ardhmen, në mënyrë që të
gjërat prokurë, veçanërisht si ju diplomuar dhe nuk domosdoshmërisht duan të
hidhni gjëra, por në fakt paguajnë atë përpara për folks që mund të pasojnë ty
këtu në kampus.
Pra, më shumë që do të vijnë.
>> Por pak më konkretisht, një mjet që është dalë nga CS50 në vitet e fundit
vjet, me të cilën disa prej jush mund të jetë njohur dhe të tjerët prej jush mund të jetë
googling tani, në CS50.net/2x, ju do të gjeni një lidhje me një zgjatje Chrome
e cila është demonstrative se si ju mund të përdorin JavaScript njëjtën gjuhë, që ne
përdoret me kullës Eifel një moment më parë, për të zbatuar shpejtësinë 2x rishikim
për videot gjitha iSites Harvard.
Kjo është diçka që është ndërtuar në vet lojtar CS50 e videove.
Por kjo, gjithashtu, në qoftë se ju të filloni të gërmoj në kodin burimor, të cilat ne do të
për fat të mirë të bërë në dispozicion, ju do të shihni se si ju mund edhe të zgjidhur problemet si kjo,
përshpejtimin e Widgets në faqet e internetit me të cilat ju jeni tashmë të njohur mirë.
>> Pra, një fjalë tani në kurs dhe pritjet dhe çfarë shtrihet përpara.
Në përgjithësi, ne me të vërtetë do të mblidhen këtu të hënave dhe të mërkurën - edhe pse
kjo e premte, ne do të mblidhen, sepse i Javës Shopping -
1:00-14:00, edhe pse nganjëherë deri në 02:30.
Duke pasur parasysh se ju mund prandaj duam apo keni për të marrë disa klasë at 2:00 pm
tutje, apo edhe më parë, e kuptojnë Kursi është përkrahës i asaj që quhet
regjistrimit simultan, ku ne do të mbështetur një peticion për Bordin dhe Ad
dekanët juaj banor në emër tuaj, nëse ju keni një konflikt diku në këtë
1:00-02:30 varg.
Kreu në se online URL për detaje shtesë.
>> Por në aspektin e strukturës mbështetëse që karakterizon CS50, për studentët
më shumë dhe më pak të rehatshme njësoj, ne ofrojnë këngë të dallueshme të seksioneve.
Dhe kjo është një çift i javësh jashtë, por para se të gjatë, ju do të kërkohet që të
nivelin tuaj rehati.
A jeni në mesin e atyre më pak të rehatshme, më rehatshme, ose
diku në mes?
>> Dhe ne do të kemi tre të dallueshme gjurmët që kujdesem për
pikërisht ato audienca.
Pra, në asnjë pikë në afat duhet të ju madje edhe ndjehen si ju jeni të konkurrojnë
kundër çdo nxënës me më shumë apo sfond pak se ju.
Në të vërtetë, kursi është menduar të jetë shumë më bashkëpunues dhe më shumë
më i hapur se kaq.
>> Në kushtet e përcakton problem, ju do të gjetur, gjithashtu, se përveç
Edicioni standardi i problemit çdo javë e caktuar, nuk është shpesh një "hacker
Edicioni "që është menduar të jetë në shënjestër në 5% deri 10% ose më shumë prej
demografik i cili është me të vërtetë në mesin e atyre më të rehatshme dhe do të donte më shumë
një sfidë se standardi Edicioni i asaj pset pret.
Më shumë detaje mbi ato që do të gjendet në planin mësimor.
>> Por edhe aty mund të gjenden detaje në kurset ditë më vonë.
Zakonisht problemi përcakton janë për shkak të enjteve.
Megjithatë, ju mund të zgjasë shumë tuaj Afatet këtë vjeshtë nga të enjteve
Premteve thjesht duke u takuar në gjysmë të rrugës, na kështu që të flasin, duke iu përgjigjur një pak të ngrohtë-up
pyetje në disa prej problemit të javës grupe, që automatikisht do të
pastaj ju japin një shtesë 24 orë.
Ne gjithashtu do të bjerë ulët tuaj Rezultati, sipas planit mësimor.
>> Për të ju jap një kuptim të asaj që problemi grupe janë - sepse kjo është me të vërtetë
Problemi i rrjedhës së përcakton që në fund të fundit përcaktojnë pothuajse çdo
Përvoja studentit, aq më shumë se leksione, më shumë se seksione, më shumë
kështu që më shumë se çdo tjetër Aspekti i kursit.
Vitin e kaluar, për shembull, kemi filluar, si ne do të fillojnë këtë vit, me Scratch.
Veçanërisht kjo e premte, ne do të përdorim, për vetëm koha një ditë, një grafik
Gjuha programuese, me të cilat ne do të fillosh programimin duke zvarritur dhe
duke rënë copa mister që vetëm mblidhen fizikisht nëse kjo ka kuptim
për të bërë kështu që logjikisht.
>> Javën e ardhshme, ne do të shpejt të tranzicionit C, një mjaft të vjetër, por shumë e vogël dhe
gjuha e thjeshtë që do të na lejojë që të të vërtetë të shkojnë 0-60 gjatë
prej vetëm disa javë, dhe pastaj parley këto aftësi të njëjta dhe njohuritë e
konstruktet themelore të programimit në të nivelit të lartë gjuhë si PHP,
Javascript, dhe ende të tjerët ende.
>> Vitin e kaluar, pset tretë në kurs ishte ajo e cryptography, nje
domain-specifike aplikimi cilës ne Nxënësit sfiduar të zbatojë ndonjë
numri i shifra, programe me të cilat për përleshje apo unscramble informacion,
për të encrypt atë.
Për edicionin e hacker, nga ana tjetër, Ne u dhamë nxënësve Hacker një skedar
nga një kompjuter standart Unix përmbajnë emrat e përdoruesit dhe fjalëkalimet,
Ky i fundit prej të cilave ishin koduar, dhe ne sfiduar ato haker
Nxënësit të decrypt, sa më mirë ata mund, ato fjalëkalime, ende në se
domain njëjtë.
>> Scramble, një lojë me të cilën disa e ndoshta ju jeni njohur.
Një copë mjeko-ligjore, ku ne kërkojmë që studentët për të shërohen të dhënave që kishin qenë
fshihet ndryshe nga dixhital tim kartë compact flash kamera, duke
në fakt shkrim software të kuptoj se, ku ishin zero dhe ato në
që aparat fotografik dixhital që më parë përbërë një grafik JPEG?
>> Një sfidë e vitit të kaluar terezi përfshin shkrim shpejtë
spell-checker të jetë e mundur, duke konkurruar kundër miqtë dhe shokët e klasës nëse
ata do të donim.
Zbatimi n pudre Huff ', një program i compression.
Dhe pastaj duke i dhënë fund të semestrit me CS50 Financave, një web-bazuar aplikimi me
që ju të krijoni një faqe interneti Etrade-si për të blerë dhe shitur aksione, në mënyrë që të
flasin, me të vërtetë duke tërhequr gati kohë reale kuotat Yahoo!
Financojë.
>> Ajo që ne nuk e ka bërë vitin e kaluar ishte një grup problem që mbetet
megjithatë një favorite.
Nëse ju nuk keni për të shkuar shuttle.cs50.net, ju do të shihni një përdorues
kryesh pak si kjo.
Por dy vjet më parë, klasa zbatuar, duke përdorur Google Maps dhe
Google Earth plug-në dhe pak e tru me ngarje rreth kampus,
në mënyrë që objektivi i kësaj loje ishte, si ju mund të shihni disa nga fytyrat,
është që të përzënë rreth kampus duke kërkuar për Stafi, bursistët e mësimdhënies dhe CAS-it, dhe
Kur ju bëni, duke i vënë ata onto tuaj ecejakeve autobus.
Asnjë prej tyre në fakt duket të jetë këtu, kështu që ne jemi duke shkuar për të hyrë në një kod mashtrojnë.
>> [Qeshura]
>> DAVID Malan: Nuk shkojmë.
Dakord.
Dhe këtu tani është stafi laced gjithë kampus.
Dhe si ju mund të shihni, në të djathtë anë e ekranit, autobuzi
ka vende bosh.
Dhe objektivi ishte për të shkruar Kodi me të cilat për të simuluar kjo
lëvizëse dhe picking up dhe në rënie off i udhëtarëve.
Se një, shumë, duke përdorur një gjuhë quajtur JavaScript.
Pra, të kuptojnë se si programet që do të të jetë në të njëjtën trajektore tonë kjo
vit, si edhe.
>> Në terma, tani, i mbështetjes shtesë, ne kemi orarit të punës.
Siç mund ta keni parë në shtëpinë tuaj sallë ngrënie apo në Annenberg,
ne do të jetë në ngrënie shtëpi Sallat e katër netë në javë -
Leverett, Pfoho, Eliot dhe Annenberg këtë vit, 20:00-23:00.
Dhe çfarë ne kemi menduar se ne do të bëjmë këtë vit është diçka pak më ndryshe.
>> Nëse keni dëgjuar rumblings vitin e kaluar se kjo ishte shumë pak stresues, kjo
ore viti zyra, si ne do të përshkruajnë javën e ardhshme, do të jetë më organike,
ku pas mbërritjes, ju do të jetë dërguar në një tryezë të veçantë
ku anëtarët e shumta të stafit presin, dhe ne do të bëjmë gjëra shumë më tepër
organikisht.
Jo më radhë, iPad nuk është më, por në vend të ketë më intime
Bisedat rreth një tryezë të vetëm tetë apo më shumë studentë, kështu që ne
përafërt ndjehen të asaj që ndryshe do të jetë një klasë shumë më e vogël.
>> Ne ofrojmë, si edhe, këto gjëra ne quajtur walkthroughs, video filmuar në
të çuar përpara nga një prej mësimdhënies rrjedhës së fellows, Zamyla, në të cilën ajo
ecën ju nëpërmjet problemit të javës grupe, duke ofruar këshilla dhe truket për
sfidat që shtrihen përpara.
Dhe anasjelltas, pas grupe me probleme, janë shkak, këtë vit, ne gjithashtu do të lëshojë
clips pak quajmë post-mortems se në të vërtetë ju ecin nëpër
Zgjidhjet përfaqësuese, të dyja të mira dhe të keq, me anë të të cilit ju mund të konkludoj se si
ju mund të ketë ose duhet të kenë zbatuar zgjidhje tuaj.
>> Dhe çfarë ne do të ofrojmë për herë të parë edhe këtë vit, veçanërisht
për ata studentë të cilët mbrojnë veten i kurs të tjera
Burimet por megjithatë janë duke luftuar të gjithë shumë, kurs
vetë do të çiftuar ata studentë, si burimet e lejojnë, me tutorët në mënyrë që
ju keni një shumë më intime mundësi se salla ngrënie shtëpi
të lejojë për ndihmë një-në-një.
>> Tani një paraqitje e shkurtër finale në disa nga lojrat fund në horizont.
Ju mund të jenë të njohur me Hackathon CS50.
E pra, vjen këtë dhjetor, nga ora 8:00 PD në ora 7:00 në fillim të
Leximi periudhe, do të jetë një mundësi për të mbledhur me shokët e klasës -
kjo do të jetë rreth 9:00 -
gjatë së cilës ju pikiatë në finale juaj zbatimi i projektit së bashku
shokët, miqtë, dhe ushqim.
Kjo do të jetë rreth 01:00, kur grupi i parë i ushqimit arriti.
Dhe kjo është rreth 04:00 se vit veçanti në Hackathon CS50.
>> Por kulmi i vërtetë i kursit është menduar për Panairin CS50, një kampus të gjerë
Ekspozita e projekteve tuaja final vetanak, në të cilën familja dhe miqtë janë të gjithë
ftuar, si rekrutuesit tanë dhe miqtë tanë nga industria.
Kjo, për shembull, është një pamje e 2.000 njerëz-plus që kam ndjekur
vitet e kaluara.
Shprehjet si kjo nuk janë të rralla, dhe në mënyrë të ngjashme të bëjë tuaj
Shokët e klasës kënaqësi në gjërat ju keni arritur.
>> Dhe në të vërtetë, për këtë qëllim, ne kemi një ngjarje e start-e-gjata, si edhe.
Nëse gjërat si kjo apel për ju, ose ju jeni të paktën kurioz për atë që
kjo, e dinë se një traditë e re e Kursi është quajtur CS50 Dita Puzzle.
Dhe kjo ishte krijuar një çift i vjet mbrapa me të vërtetë të sinjalizojë në kampus
se shkenca kompjuteri nuk është në lidhje programimit, dhe kjo sigurisht nuk është
rreth përqafimit vetëm ata studentë të cilët kanë përvojë të mëparshme.
Është me të vërtetë në lidhje me zgjidhjen e problemeve më në përgjithësi.
>> Dhe kështu Dita Puzzle, mbi disa kaluara vjet tani, ka evoluar në një bukur
Partneriteti me miqtë tanë në Facebook, ku nuk do të jetë i pabesueshëm
shpërblime dhe pica përtej lumit në i-lab kjo e shtune vjen.
Kokë për atë URL me dy ose tre miq në qoftë se ju do të donte që të marrim pjesë
në këtë traditë të re.
>> Kështu që unë do të doja të kërkojë që ju të mbani një gjë në mendje, dhe ne kemi marrë vetëm një
dy clip minutë në të cilën për të mbyllur sot.
73% është numri për të kujtuar.
Cake, gjithashtu, do të ju presin jashtë këtij pjesë e futur anësore si ne shtyjë në vetëm një
çift ​​prej momentet, e cila eshte nje traditë i rrjedhës, si edhe.
Por kjo është quote kyç nga syllabus sigurisht për të mbajtur në mendje.
Ajo që ka rëndësi në fund të fundit në këtë kurs nuk është aq shumë ku ju deri në fund
relative të shokëve tuaj, por ku ju, në Javën e 12, deri në fund të afërm të
veten në Javën 0.
>> Por paraqitje e shkurtër që ne do të largohet nga ju me sot këtu është kjo e fundit këtu
nga Daniel tonë të njëjtë, kush e bëri Video wrdly vetëm një moment më parë.
Unë ju lë me këtë paraqitje e shkurtër e çfarë shtrihet përpara.
Dhe si ne të bërë këtë, në qoftë se ne mund të kemi CS50 Stafi nga frontin e dhomës
për të ardhur deri në fazën për të pikturuar të gjitha më i nje pamje vizuale si tek
çfarë ju pret këtë vit -
marrjen e vështirë.
Ne do të përfundojnë me këtë këtu në ekran.
>> [Duke luajtur muzikë]
>> DAVID Malan: Kjo është CS50.
>> [MUSIC - MATT & KIM, "Është e mirë"]
>> Kryetari 1: I love CS50 më shumë se macet.
>> 2 Gjuha: Whoaaaa!
>> [Qeshura]
>> DAVID Malan: Ky, pra, është CS50.
Ne do të shihemi të premten.
>> [Duartrokitje dhe brohoritjet]
>> Transmetuesi: Në CS50 ardhshëm, një skenë demo nuk shkon siç është planifikuar.
>> DAVID Malan: Ne duam të gjejmë Mike Smith në këtë libër telefoni.
E pra, çfarë janë instinktet tuaja?
Unë mund të hidhen afërsisht në mes të librin e telefonit, shikim poshtë, shohim se
Unë jam në M, dhe unë e di tani se Mike Smith nuk eshte me e majta.
Ai duhet të jetë në të djathtë.
Dhe kështu në këtë pikë, ne fjalë për fjalë mund lotsjellës -
në këtë pikë, ne mund të vërtetë lot -
në këtë pikë, ne mund të figurshme gris librin e telefonit në gjysmë.
>> [Cingëllimë UKELELE]