>> [VIDEO rishikim]
>> [CAR DERE mbylljen]
>> [Car Engine FILLIMI]
>> [Muzika]
>> -Moving Drejtë së bashku në kërkim e kohë të mira dhe lajme të mira.
Me miq të mirë ju nuk mund të humbni.
>> -Kjo Mund të bëhet një zakon.
>> Knocks -Opportunity Le të vetëm të arrijnë jashtë dhe kap atë.
-Yeah!
-Together Ne do të kapur atë.
Rritje -We'll autostop, autobus, apo taksi të verdhë ajo.
-Dammit.
-We're Lëvizur drejtë së bashku.
-Footloose Dhe dashuroj të lirë.
-Getting Është gjysma e fun.
Ejani të ndajnë atë me mua.
>> -We're Lëvizur drejtë së bashku.
>> -We're Shkuar për të ndarë ngarkesën.
>> -Ne Nuk kanë nevojë për një hartë të marrë këtë shfaqje në rrugë.
Hej Fozzy, unë dua që ju të ktheheni majtas në qoftë se keni ardhur në një pirun në rrugë.
-Po, Zotëri.
Nga ana e majtë në pirun në rrugë.
Nga ana e majtë.
>> -Unë Nuk besoj se.
>> -Cruising Drejtë së bashku kemi gjetur dritat në autostradë.
>> -Dhe Rrugën tuaj ose rrugën time.
>> -Pra, Besoni navigacion time.
>> Yjet -Movie me makina bie shumë në sy dhe jeta me lart poshtë.
>> -We're Storming kodrat e mëdha.
>> -Yeah, Stuhi është e drejtë.
A duhet të bie borë?
>> -Jo, Unë nuk mendoj kështu.
>> -Moving Drejtë së bashku.
>> -Footloose Dhe dashuroj të lirë.
>> -You're Gati për kohën e madhe.
>> -A Është gati për mua?
>> -Moving Drejtë së bashku.
Moving drejtë së bashku.
-Unë Mendoj se ju më mirë të shmanget.
-Po, Zotëri.
>> [END rishikim]
>> [Duartrokitje]
>> DAVID J. Malan: Kjo është CS50.
Dhe kjo është në fund të javës 0, por fillimi i një miqësie të bukur.
Ne jemi aq të ngazëllyer të jetë këtu në Universitetin Yale
për herë të parë me tonë mik Scaz, Jasoni dhe Andy.
Të gjithë 40 të CS50 e TF-së dhe AK është këtu në Yale.
Dhe të gjithë ju.
Dhe në fakt, kjo është ndoshta koha to--
>> [Duartrokitje]
>> Pra, edhe pse shumica e ligjëratave me të vërtetë do të jetë në Kembrixh të këtij viti,
realiteti është se me dashje, dhe shumë qëllimisht në CS50,
Unë nuk mendoj se ne jemi pranë pikë teknologjikisht, dhe pedagogjike,
ku ajo mund të jetë një arsimor superior përvojë për t'u angazhuar me disa
e internet material të kursit.
Në të vërtetë, reality-- dhe në qoftë se unë besoj kjo philosophically-- është se leksionet
nuk janë një veçanërisht mjet efektiv për dërgimin
informacion mjaft komplekse.
Sigurisht mbi orë plus përfshin të gjatë kohore.
Dhe me të vërtetë çdo minutes-- pak Mbaj mend veten në college--
ju zonë jashtë për një moment, ju humbisni disa temë komplekse,
dhe ju jeni duke shkuar shumë e shumë për 45 minuta të ardhshëm.
Dhe realiteti është se nëse ju jeni këtu në New Haven ose Cambridge
ose më tej, thjeshtësia e të pasurit aftësia për pushim dhe përpara të shpejtë,
rewind, hyperlink të lidhur burimet, transkriptet Kërko tekstin e plotë
dhe si është një mundësi që Unë guxoj të them për studentët tanë në linjë
përtej New Haven, ofron atyre një mundësi
me të vërtetë të kuptoj Materiali konceptual që ne
futur në ligjërata të gjithë më mirë.
>> Por në fund të fundit në CS50, është Përvoja e studentëve
karakterizohet kaq, shumë më shumë nga grupe problemit Kursi-së,
ose projekte programimi javore, Seksionet kurs i udhëhequr nga mësimi
miqtë, orët nate zyra e udhëhequr nga asistentë kurs dhe mësimdhënia
miqtë, dhe në të vërtetë të tilla ngjarje si CS50 Puzzle
Ditë, Hack-a-thon CS50 së, CS50 Panairi, dreka javore, dhe shumë më tepër.
Dhe kështu që nëse ju jeni këtu në New Haven, ose akordim në nga larg,
sot në Kembrixh, dhe ne do të shihemi përsëri së shpejti,
realiteti është ky është një dhe të njëjtën klasë.
Dhe ne jemi aq të ngazëllyer për të jenë këtu të gjithë së bashku sot.
Dhe kështu në fund të semestrit, nëse këtu apo larg, edhe
shpresojmë se ju veshin me krenari, për fat të mirë, dhe ndoshta me pak lehtësim,
këmishë që dëshmon ju ka marrë CS50.
>> Pra, ku e kemi lënë jashtë të mërkurën?
Ne patëm marrë një vështrim në menduarit kompjuterike.
Dhe kjo është ajo që ne drejt distiluar shkenca kompjuterike po, të paktën
tani për tani.
Por ne distiluar atë pak më tej në të paktën tre komponente elemente.
>> Kontributet, kështu që çfarë është Problemi ne jemi duke u përpjekur për të zgjidhur?
Rezultatet, çfarë është përgjigjem ne jemi duke shpresuar për të marrë?
Dhe përfaqësimi aty i.
Dhe ne nuk do të ndalem këtu në pas mbi binar, apo edhe ASCII,
dhe si aq shumë, por në vend të marrë për të dhënë
që ne mund të përfaqësojë këtë informacion, sepse pjesët shumë më interesante
nga këto probleme nuk janë vetëm inputet dhe rezultatet, por algoritme
që shkojnë në zgjidhjen e këtyre problemeve.
>> Dhe ju mund të kujtojnë nga ditë të tjera që ne
mori një mjaft tradicionale Koncepti i kërkuar dikush deri
në një libër mjaft të madhe e telefonit, ose më përgjithësisht digjitale këto ditë,
vetëm një grup shumë të madhe të të dhënave.
Një listë me të vërtetë i madh kontakteve, me shumë emrave të renditura sipas rendit alfabetik.
Dhe ne kemi kuptuar se ndërsa unë mund të qasen këtij problemi thjesht
duke perdorur nje grupim faqe approach-- nga faqja,
apo edhe dy-së në një time-- ne realizuar se më intuitive algorithm--
vetëm lloj i ndarjes dhe pushtues problemi përsëri, dhe përsëri,
dhe again-- përgjysmuar atë me çdo kohë, na dha këtë rezultat të gjelbër.
Dhe kjo është aq shumë lajka sepse ajo sugjeron
se edhe si këtë problem merr më të mëdha,
siç është rasti këto ditë me të dhëna vendos dhe reality-- Facebook dhe Google
rezultatet e kërkimit dhe like-- bën algorithm tonë
kryejnë ashtu si në mënyrë efektive me këto kafshon mëdha
ashtu siç bëri edhe me kafshon më të vogla.
>> Tani ajo ngre pyetjen, çfarë mund të vërtetë të zgjidhur në mënyrë të ngjashme
me këtë lloj intuitë?
Ky lloj i ndarjes dhe pushtimit?
E pra, ne mund të bëjmë diçka si kjo sot këtu.
Ne mund të marrë frekuentimin.
Kështu ndoshta si 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11--
nuk do të jetë mbi të gjitha që efikas.
Kështu që prisni, klasën e shkollës.
2, 4, 6, 8, 10, 12, 14, 16, 18 dhe kështu me radhë.
Por mund të bëjmë pak më të mirë?
>> Unë jam goxha i sigurt se unë nuk mund të bëni këtë me veten time.
Pra, nëse ju do të na humor për vetëm një moment, kemi sjellë me ne
një algoritmi që është mori vetëm tre hapa,
por kjo nuk require-- nëse ju mos mind-- të gjithë ne ngrihem,
në qoftë se ju do.
Pra, me të gjithë ne tani në këmbë, hap një i këtij algoritmi është në vijim.
Stand up dhe të caktojë vetë numri 1.
Pra, në këtë moment në kohë, fjalë për fjalë të gjithë në këtë dhomë
shpresojmë se është duke menduar për veten e tyre, megjithatë dyluftimi në ajër, numri 1.
>> Tani hap dy i këtij algoritmi është do të përfshijë në vijim.
Hapi dy, palë jashtë me dikë në këmbë,
shtoni numrat tuaj së bashku, dhe të miratojë shumën si numrin tuaj të re.
Quick kontrolloni mendje e shëndoshë.
Çfarë numri është i të gjithë të menduarit e tani?
>> Pra 2, me përjashtim të ndoshta për një, vështirë, person i vetmuar.
Në qoftë se ne kemi një numër të rastësishëm e njerëzve në dhomë.
Kështu që një person mund të jetë ende numri 1, kjo është në rregull.
Por hap tre këtu, një e ju duhet të ulen.
Tjetri duhet të kthehemi në hap dy, dhe të përsëritur, në qoftë se ju do.
>> Pra, nëse ende në këmbë, ju duhet të jetë në mesin e atyre duke shkuar prapa në hap dy.
Do të mbajë.
Disa njerëz ende në këmbë.
>> Pra, në qoftë se ende në këmbë, palë me dikë.
Të gjithë të drejtë, pakësuar poshtë.
Disa njerëz ende në këmbë.
Unë do të ju ndihmojë nëse të jetë nevoja.
Mos harroni takeaway kyç këtu, është se si shumë më shpejt, kjo është se unë, duke numëruar.
>> Pra, le të shohim.
Unë mund të ndihmojë jashtë.
Pra, çfarë numri janë ju ende duke menduar për të?
>> Audienca: Unë jam në 44.
>> DAVID J. Malan: 44, kështu që ju shkoni përpara dhe të ulen.
Çfarë numri jeni duke menduar e?
Audienca: 74.
>> DAVID J. Malan: 74.
Të gjithë të drejtë, të shkojnë përpara dhe të ulen.
Kush tjetër është ende në këmbë?
86.
Dhe është dikush tjetër ende në këmbë?
>> Çfarë numri?
Kam dëgjuar 67.
Dhe pastaj në krye?
32.
Çdokush tjetër ende në këmbë dhe të menduarit e një numri?
>> Oh, hi.
Më vjen keq.
Të jetë e drejtë mbrapa.
42.
Dikush tjetër?
>> Audienca: 47.
>> DAVID J. Malan: 47.
A është dikush tjetër ende në këmbë i cili nuk ka qenë i numëruar?
Pra, numri përfundimtar i njerëzve në një dhomë që ka 497 vende is-- të cilat
janë filled-- është 390.
Pra, kjo është e madhe.
>> Ne do të diskutojmë së shpejti nocionin e një bug në një program kompjuterik.
Por ne do të kthehen në atë para se të gjatë.
Por në teori, çfarë mund kanë ndodhur vetëm tani?
Pra, edhe pse ka pasur tre të mëdha hapa për këtij algoritmi, secili prej atyre
ishte vetëm lloj i një operacioni të madh.
Dhe nuk ishte ky cikliciteti për atë në se në qoftë se keni qenë ende në këmbë,
ju do mbajtur nga hapi tre në dy, hap tre të dy, hap tre të dy.
>> Por ajo që mbajti ndodh në çdo përsëritje?
Çdo cikël i këtij lak?
Çfarë po ndodhte diku tjetër në dhomë?
Jo vetëm që e njëjta gjë, por ajo që po ndodhte në gjysmën e ju?
Ulur poshtë.
Dhe kështu që nuk ka në gënjeshtra këtë pasqyrë, shumë si shembull librin e telefonit,
në se në qoftë se gjysma prej jush janë ulur poshtë çdo kohë,
problemi po fillon me ndoshta 400 persona,
pastaj për 200 njerëz, se 100 njerëz, pastaj 50 njerëz, dhe kështu me radhë.
>> Dhe kështu që ne shkurtoj poshtë në Teoria në vetëm një person,
të menduarit e vlerës së përgjithshme të të gjithëve.
Tani realitet, disa dinamika sociale, dhe disa gabime aritmetikore
mund të kontribuojnë për këtë bug përfundimtar.
Por në teori, ndërsa unë ishte ende duke numëruar larg,
duke marrë disa dhjetra hapa, ose qindra hapa
për të numëruar veten, për të numëruar një dhomë të 500 apo më shumë personave
duhet të ketë marrë shumë më pak hapa, sepse ju mund të ndani vetëm 500 dhe 1/2
kaq shumë herë.
Dhe kështu që ashtu si me telefon libër shembull ditë të tjera,
nuk kemi diçka logaritmike mënyrë që të flasin,
ku në qoftë se ne ishim të gjithë që veprojnë në unison,
dhe duke injoruar gabime Përveç kësaj, do të kemi
kanë arritur pikërisht kjo lloj drejtimin e kohës?
>> Tani për të qenë të drejtë, lloj i mashtruar, në që unë leveraged një tjetër burim.
Ndërsa kjo është vetëm një nga mua, Unë leveraged qindra jush.
Por kjo mund të thuhet të jetë një Shembulli i përpunimit paralel,
apo një shtet i artit shumë në modë ku kompjuterat këto ditë kanë
CPU të shumta, ose më shumë teknikisht, cores më të shumta,
dhe me të vërtetë mund të bëjë të shumta gjëra në të njëjtën kohë, shumë si ju
të gjithë ne jemi duke bërë atje, paralelisht.
Por kujtojmë se ajo që ne gjithashtu bëri të mërkurën
ishte të përpiqet për të kapur këtë intuitë dhe formalizojë atë në kodin.
Diçka si pseudo-kod.
Dhe në fakt, dhe unë shpresoj se ju do fal, kjo është si 80 gradë në këtu.
Kështu që unë jam duke shkuar për të marrë këtë jashtë për vetëm pak.
Ajo që unë mendova që ne do të bëjmë është tranzicioni tani për një ku aplikimit
ne përsëri të angazhohen audiencën, por shkruaj një program në gjuhën angleze
si sintaksë, me të cilin do të zgjidhur këtë problem këtu.
[VIDEO rishikim]
Gjalpë badiava kohë -është e pelte.
Gjalpë badiava kohë pelte.
>> Mënyrë ya!
Mënyrë ya!
Tani ju shkoni atje!
Nuk ju shkoni!
Kikirik gjalpë pelte!
>> Kikirik gjalpë pelte!
Kikirik gjalpë pelte!
Kikirik, gjalpë badiava pelte!
Kikirik gjalpë pelte!
Badiava gjalpë pelte me një shkop bejsbolli.
>> [END rishikim]
DAVID J. Malan: --that video, por kjo është pak problematike,
në qoftë se nuk është një pak i bezdisshëm.
Por për të bërë këtë, kam menduar ajo që ne do bëni është të përpiqet për të shkruar një program së bashku,
për të cilat ne kemi nevojë për tre vullnetarë.
Duhet të jenë të rehatshme në kamera dhe internet.
Sam, eja lart.
Shirt të purpurt, të drejtë këtu, eja lart.
>> Dhe prej këtu, më lejoni shkoni pak më larg prapa.
Crimson dhe këmisha blu, eja lart.
Përsosur.
Eja tani.
Eja up, eja lart.
>> Dhe çfarë është emri juaj?
Erica.
David, nice to meet you.
Nëse ju dëshironi për të marrë këtë vend këtu.
Kjo është Sam.
>> Si e keni emrin?
Antonio.
Antonio, nice to meet you.
Erica dhe Sam, në qoftë se ju do të dëshirojnë të kenë një vend këtu.
Ajo që ne kemi ardhur të përgatitur me, si këta njerëz janë të zbuluar,
është përbërësit me të cilat për të bërë një gjalpë badiava dhe pelte sanduiç.
>> Tani kjo mund të jetë diçka që ju merrni shumë për të dhënë.
Por ne kemi dhënë çdo prej tre vullnetarët tanë
here-- dy vullnetarë dhe Sam këtu, një bukë secilit, një pjatë, një thikë,
një enë me pelte apo bllokim, dhe një enë me gjalpë badiava.
Dhe qëllimi në dorë tani është do të jetë për këto tri
për të bërë një gjalpë badiava dhe pelte sanduiç.
Por ajo që ne jemi duke shkuar për të bëni është të presin audience-- pasi që të gjithë ju
me siguri e di se si për të bërë kjo aq mirë në reality--
do të na japin me hap pas hapi instruksionet.
Pseudo-kod, nëse ju do.
>> Kështu që unë do të luajë rolin e shkruesit këtu.
Dhe unë kam marrë një pak listën e detyrave, dhe në mënyrë që secili prej jush, një në një kohë,
thërret një potencial mësimore, unë do
shkruajnë, të përsëritur atë si të nevojshme.
Dhe pastaj ju djema janë duke shkuar për të bërë një gjalpë badiava dhe pelte sanduiç
vetëm duke bërë atë që ju jeni duke thënë.
Pra, mendoni për veten si kompjuterat.
>> Ju mund të bëni vetëm atë që ju jeni tha.
Nuk ka supozime, asnjë pyetje.
Ju vetëm duhet të bëjë atë.
Pra, kush do të donte të vë në rrezik të parë udhëzim për të bërë një sanduiç PBJ?
Në ballkon atje.
>> Audienca: Hapni qese e bukës.
>> DAVID J. Malan: Hapni qese e bukës, nëse ju do.
Pra, le të shohim.
Le të iterate, dhe për të marrë pak më të saktë.
>> Mënyrë e mirë për të filluar pse.
Hapi dy, dikush tjetër.
Tani askush nuk dëshiron për vullnetarë.
Hap dy, para.
Audienca: Hapni brendshme qese e bukës si.
DAVID J. Malan: Hapni qese e brendshme e bukës si.
E madhe, ne të mësuarit.
Pak më i saktë.
Le të merrni këtë pune.
Po, në këmishë jeshile.
>> Audienca: [padëgjueshme]
DAVID J. Malan: feta buke.
Butësisht hiqni dy feta bukë.
Kjo është e mirë.
Hapi i katërt, dikush tjetër?
Mbi këtu, po?
>> Audienca: [padëgjueshme]
>> DAVID J. Malan: bukë Vendi në pjatë.
Hapi i pestë?
Hapi i pestë, vërtet?
>> Audienca: [padëgjueshme]
DAVID J. Malan: Në krye of-- oh, dora.
Vendi dorën në krye të gjalpë badiava.
A është kjo ajo që unë kokë?
>> Audienca: Po, dhe heq kapakun.
>> DAVID J. Malan: And-- thonë se ai përsëri.
>> Audienca: [padëgjueshme]
>> DAVID J. Malan: dhe vënë Kapaku ngjitur me gjalpë badiava.
Lehtë vendosni dorën në lartë e gjalpë badiava,
dhe heq kapakun, dhe të vënë kapak ngjitur me gjalpë badiava.
OK, Hapi Gjashtë.
Hapi i gjashtë, dikush tjetër.
Po?
>> Audienca: [padëgjueshme]
DAVID J. Malan: Thuaj atë përsëri.
Audienca: Përsëritni hapin pesë përsëri.
DAVID J. Malan: Dhe përsëris hap pesë përsëri,
e cila do të krijojë pak e një problemi
Tani në qoftë se ne jemi duke bërë këtë hap pas hapi.
Deri tani ne kthehemi të hap pesë.
Lehtë vendosni dorën në krye e gjalpë badiava dhe heq kapakun
dhe të vënë kapak ngjitur me gjalpë badiava.
Pastaj të kuptojnë gjalpë badiava dhe të përsëritur hap pesë përsëri.
>> Pra, ne do të pranoj se loop pafund, nëse ju do.
Hapi i shtatë, dikush tjetër.
Po, në shpinë.
>> Audienca: [padëgjueshme]
>> DAVID J. Malan: Top --on e tjetrit.
>> Audienca: [padëgjueshme]
>> DAVID J. Malan: Në ana tjetër në krye të tjera.
A doni të vetëm të ardhur deri këtu?
Si mund ta përfundojë udhëzimin?
Çfarë është pjesa tjetër e mësimit?
>> Audienca: Injorimi atë pjesë.
>> DAVID J. Malan: Injorimi atë pjesë.
Le të fillojnë të gjatë.
Hapi Shtatë.
>> Audienca: [padëgjueshme]
>> DAVID J. Malan: Kape me kundërshtare hand-- kjo është e mirë.
Kjo është në fakt e mirë.
>> Audienca: [padëgjueshme]
>> DAVID J. Malan: Dhe plastike jar--
>> Audienca: [padëgjueshme]
>> DAVID J. Malan: Dhe twist--
>> Audienca: [padëgjueshme]
>> DAVID J. Malan: Për dy sekonda.
Vetëm të hapur jar gjalpë badiava.
Unë shpresoj se ju do të falë.
Pra, le të supozojmë kemi marrë atje.
Hapni jar gjalpë badiava.
>> [Duartrokitje]
>> DAVID J. Malan: Hapi tetë, le të shkojë.
Hapi i tetë, po, në shpinë.
>> Audienca: [padëgjueshme]
>> DAVID J. Malan: Mirë.
Hapi i nëntë, po?
>> Audienca: [padëgjueshme]
>> DAVID J. Malan: --out e jar gjalpë badiava.
And-- dhe çfarë?
>> Audienca: [padëgjueshme]
>> DAVID J. Malan: Dhe thikë vënë përsëri në gjalpë badiava.
Hapi dhjetë.
>> Audienca: [padëgjueshme]
>> DAVID J. Malan: Vendos thikë jashtë, dhe pastaj hiqni vulën.
Bukur.
Off gjalpë badiava.
Të gjithë të drejtë, hap 11.
>> Audienca: [padëgjueshme]
>> DAVID J. Malan: OK, kompjuter gri ndiqni blu apo të kuqe kompjuter.
Të mirë.
>> [Duartrokitje]
DAVID J. Malan: na sjellë në shtëpi.
Çift shumë hapa.
Çfarë ndodh më pas?
Hapat 12.
Hapi 12.
Po?
>> Audienca: Vendosni një nga feta bukë të butë në një nga duart tuaja.
>> DAVID J. Malan: Një nga duart tuaja.
Dhe pastaj, hap 13.
Po?
>> Audienca: [padëgjueshme]
>> DAVID J. Malan: fetë --on e bukës.
Të mirë.
Goxha e mirë.
Hapi 14, po.
>> Audienca: Undo Hapi 13.
>> DAVID J. Malan: Undo Hapi 13.
Le të lëvizin për në pelte.
Është një program 100- hap, por ne jemi duke qenë në hap 15.
Po.
>> Audienca: [padëgjueshme]
>> DAVID J. Malan: 7 përmes 13 duke përdorur pelte, sepse ata shkuan aq mirë.
Përsërit hapat 7 nëpërmjet 13, duke përdorur pelte.
Pra kuptoj gjysmën e poshtme të jar pelte me një dorë në krye.
Nga ana tjetër e Top të tjera, duke injoruar atë pjesë,
kuptoj me duart e kundërta, kapak dhe kana plastike
në fund, dhe kthesë për dy sekonda.
Pastaj hapur jar pelte.
Dhe së fundi, le të përpiqemi për të na japin diçka ushqimor.
Hapi 16.
Pra, pse nuk kemi lënë aty.
Thank you so much për të tre vullnetarët tanë.
[Duartrokitje]
>> Ne kemi një CS50 të vogël top stres për ju.
Ajo do të ishte një sanduiç but-- kështu që çfarë
ishte pika, përtej të paturit e një bit e fun me algorithm?
Por realiteti është se edhe kur ju jeni programimit një kompjuter,
ju duhet të jetë super i saktë.
Si komplekse ose frikësuese si kompjuterin tuaj
mund të jetë shumë mirë për ju, në të paktën kur diçka shkon keq,
realiteti është se kjo është një goxha memec pajisje që u shpik nga ne njerëzit,
dhe mund të bëjë vetëm një mesin e asaj që ne do-- ndonjëherë sigurisht faster--
por ajo nuk e di se si për të bërë supozime.
Ajo nuk e di se si të jetë në të njëjtën gjatësi vale si ju.
>> Ajo do të bëjë vetëm pikërisht çfarë ju thoni atë.
Dhe ju do të goditur, ndoshta, pasi ne fillim
shkruar kodin aktual me të vendos para problemeve dhe më gjerë,
vetëm sa e lehtë është për të bërë një supozim si njeri,
dhe nuk parashikojnë kam nevojë për të trajtuar se rasti, apo se rasti qoshe,
kështu që të flasin, që mund shumë mirë lindin në qoftë se për shembull Sam kishte vetëm
jar shtypeshme e pelte, ndërsa të gjithë të tjerët kishin disa kavanoza qelqi si
mirë.
Pra, para se të kthehet tonë vëmendje disa kodin aktual,
më lejoni të prezantoj Kokat kurs është këtu në Yale.
Miqtë tanë Scaz, Andy, dhe Jason për të dalë dhe të thonë hello.
>> [Duartrokitje]
>> SCAZ: Ne kemi humbur Jason përkohësisht.
Hi përsëri, të gjithë.
Emri im është Scaz.
Unë kam qenë mësim në Yale që nga viti 2001.
Dhe kur unë nuk jam mësuar, Hulumtimi im është në robotikë
dhe inteligjencës artificiale.
>> Dhe shpallja që unë kam sot është se duke filluar në disa javë,
ne jemi duke shkuar për të sjellë disa materiale plotësuese për të CS50 për të folur
në lidhje me software të inteligjencës.
Ne do të flasim rreth asaj se si vende si Netflix dhe Hulu
mund të rekomandojë filma që ju mund të dëshironi të shihni.
Ku ne do të flasim rreth asaj se si makina shofer-pak në të vërtetë punojnë.
Dhe ne do të jetë në gjendje për tokë këto gjëra në konceptet
që ju jeni mësuar në këtë klasë sot.
>> Sepse të gjitha këto gjëra janë ndërtuar mbi të njëjtin themel.
Dhe kjo është ajo që kjo seri do të shqyrtojë.
Kështu që unë jam me të vërtetë duke kërkuar përpara për të parë më shumë nga ju
të gjithë, dhe ju jeni do të merrni të shih më shumë nga të gjithë ne shumë shpejt.
Më lejoni të prezantoj pastaj Jason.
>> JASON: Hi everyone.
Emri im është Jason.
Unë për fat të keq shkova në Harvardit si një undergrad.
Kjo do të merrni prerë nga rryme aktuale.
>> Dhe tani unë jam këtu si një lektor në departamenti shkenca kompjuterike.
Dhe unë jam duke ndihmuar vrapimin me Scaz, Davidin dhe Andy.
>> ANDY: Hey djema.
Emrit tim Andy.
Unë jam në të vërtetë i vetmi Yale Studenti në skenë tani.
>> [Duartrokitje]
>> Unë jam në Berkeley College, fillimisht nga Solon, Ohio.
Dhe unë kam qenë një nga ata fëmijët ku, kur erdha në Yale,
Unë me të vërtetë menduar se unë kurrë nuk do duhet të shikoni në një numër gjithnjë e përsëri.
Dhe pastaj e kuptova që ju nevojitet si shkencë dhe QR kredite për të diplomuar.
Dhe kështu pranverë im fillestar, mora një klasë, një CS, intro CS klasë këtu
në Yale.
Unë kam qenë si, kjo është si në fakt pretty cool.
>> Dhe, ndërsa unë në fakt përfundoi shpalljes si çështjet globale të madh, aftësitë
Kam mësuar në CS dhe programimi janë kaq të zbatueshme për çdo fushë
ju vendosni të bëni.
Dhe stafi këtu në Yale, ne kemi qenë aq e vështirë në punë
për t'u përgatitur për ju djema.
Dhe ne shikojmë përpara për të parë të gjitha në seksionin dhe orari.
Pra, vërtet.
>> [Duartrokitje]
DAVID J. Malan: Ju faleminderit.
Pra, vetëm para klasë filloi, kemi pasur një mundësi
për të ecin rreth kampus me një shumë dhe të marrin
disa selfies në formë video e vërtetë turne ime e parë e kampusit Yale këtu.
Dhe kështu që ne menduam se do të ndajnë një i përafërt prerë e pikërisht këtë si Scaz dhe Andy
dhe Jason mori mua rreth kampus.
[VIDEO rishikim]
[Sirens]
-David.
-Mirë Se vini në Yale.
-Mirë Për të parë ju.
-Nice Për të parë ju.
-Mund Të shkojmë në një turne?
-Le Të shkojë në një turne.
Turne -Road.
Shenjë -Kjo ka qenë atje për një kohë.
-Whah, CS50.
>> -Hurry!
Shko, shko, shko, shko.
Ju duhet të [e padëgjueshme] Harkness Kulla.
>> -Dhe Ne pamë se një herë çift.
>> [Duartrokitje]
>> Shihni sa për biçikletë!
AHH!
Hi Frank.
>> -Çfarë Është e lart, djema?
-Si Jeni?
-Mirë Për të parë ju.
-Mirë Se vini në video.
Mos u sillni shumë i ngacmuar.
>> -I Dashuri Silliman.
AHH!
>> -Ajo Ka qenë rreth tri orë që prej Jason kishte akullore dhe Nutella.
Pra, ne kemi marrë për të ndaluar mbrapa në Silliman për pak.
>> -Ajo Nuk është edhe [e padëgjueshme] megjithatë, vetëm fakti
se ata e kanë atë këtu është aq e mahnitshme.
Dude, ka Nutella në çdo vakt.
>> -Nuk Ka qenë vitin e kaluar tepër.
>> -Yeah.
>> -tell shumë rreth Yale deri tani.
Por unë tani që është TD atje.
Dhe kjo konsiderohet jashtë kampusit.
>> -Këtu Kemi arkitekturës gotike.
Me famë botërore.
Ne kemi disa arkitekturë më gotike.
Dhe të ndërtimit, dhe Arkitektura më gotike.
Hi.
Kjo është ajo ku ne jemi duke orarin e punës Marteve përmes enjteve në Hogwarts,
si [e padëgjueshme].
-Të Gjitha të drejtë.
Kjo është ajo për turne.
Ne jemi në Yale University-së Law School, ku
Leksioni i sotëm është gati për të marrë vendin.
Le të shkojnë në.
>> [END rishikim]
>> DAVID J. Malan: Dhe që na sjell këtu tani.
Pra deri më tani, ne kemi qenë duke u fokusuar në pseudokod,
cila është kjo anglisht-si sintaksë.
Ajo nuk ka specifikim përcaktuar.
Është vetëm ju përdorni disa gjuha intuitiv nëse ju
dua të shpjegojë se çfarë ju doni të bëni.
>> Por le të fillojmë tani të tranzicionit kodit, si shumica e njerëzve do të thonë.
Por më saktë, diçka i njohur si kodi burim.
Kjo është gjuha që njerëzit i shkruani se kompjuterat ultimately--
ndoshta pas disa numrin e steps-- në fund të fundit e kupton
në mënyrë që të dinë se si të bëjë diçka.
Se ju pa një paraqitje e shkurtër e kjo ndoshta të mërkurën.
>> Ky është një shembull se tepër, underwhelming
kur drejtuar thjesht thotë se "Përshëndetje Të Gjithëve".
Dhe kjo është shkruar në një gjuhë të quajtur C, e cila është sintaktikisht shumë të ngjashme
në shumë gjuhë të tjera që ju nuk mund të di,
por mund të keni dëgjuar si Java, dhe C ++, dhe Python, dhe Ruby,
dhe si, dhe në të vërtetë, ne do të shpenzojnë shumë i semestrit përdorimit C,
dhe pastaj drejt fund të semestër, ndërton mbi të,
dhe futjen e ndonjë Numri i gjuhëve të tjera.
Midis tyre PHP, dhe JavaScript, një gjuhë bazë të dhënash të quajtur SQL.
Por me C, ajo që ne do të kemi kjo nga poshtë-lart të kuptuarit
e pikërisht si kompjuterat punë, çfarë mund të bëni me ta,
dhe se si ju mund të zgjidhin problemet të gjithë më në mënyrë efektive nga kjo
layering që ne diskutuam të mërkurën, dhe në këmbë
mbi supet e të tjerëve.
Por më shumë se për të ardhur.
>> Sot ne shikojmë në një mjedis të thjeshtë, por krejtësisht identike
Mjedisi i njohur si Scratch nga miqtë tanë në MIT Media Lab.
Kjo është një grafik gjuhë programimi, Scratch,
ku ju mund të zvarritet and drop gjëra që
duken si copa mister që vetëm bashkoj nëse ajo bën
kuptim logjik apo programatike për ta bërë këtë.
Por kjo do të na lejojë të të ketë një bisedë në lidhje me të gjitha
të njëjtën programimit bazat se disa prej jush
ta dini tashmë, se shumë prej jush mund të mos
dini diçka e pa për të marrë bogged poshtë sinqerisht,
në intelektualisht Sintaksa jointeresant i pikpresje,
dhe kllapa, dhe citon, dhe si.
Të gjitha të cilat, në fillim në, janë një zbavitje
për të cilat janë interesante dhe ide të vërtetë të dobishme.
Pra, le të marrin një shpejtë shikim në mjedis
këtu, kështu që ju e dini se çfarë pret.
Dhe në fakt, në mesin e lojrave ne mund të luajnë janë shkruar disa programe
nga ish-studentët e vet CS50 së.
Njëri prej tyre, veten time, unë do të jetë kjo një shkruar në shkollën e diplomuar për mua.
>> Në qoftë se unë mund të marrë një vullnetar i cili është i gatshëm të luajë
një lojë për herë të parë.
I sigurt.
Eja up.
Si e keni emrin?
>> Audienca: Angela.
DAVID J. Malan: Angela, eja lart.
Pra Scratch ka qenë për disa vjet.
Dhe, kur unë isha në shkollën e diplomuar, Unë isha ndër të regjistruara në MIT,
duke marrë profesor Mitchel Resnick-së Sigurisht në teknologjitë arsimore.
Dhe ne ishim në mesin e shumë të parë studentë në botë që në fakt beta
Scratch provë.
Dhe projekti im ishte ajo Angela tani ka vullnetarë mirësjellje
Për të luajtur quajtur Oscartime.
>> Kështu që unë jam duke shkuar për të shkuar përpara dhe klikoni dy herë ikonën këtu.
Ajo do të hapë një programimit mjedis që ne së shpejti do të zhyten në.
Unë jam duke shkuar për ekran të plotë ajo për Angela, këtu.
Unë jam duke shkuar për të goditur gjelbër flamuri në një moment të vetëm.
Dhe pastaj një tërësi shumë e plehra do të bien nga qielli.
Dhe ju jeni do të përdorin miun këtu për të vërtetë të drag and drop
plehra në kanaçe e Oscar plehra.
Pra, nëse ju doni të shkoni përpara dhe klikoni flamurin e gjelbër, loja do të fillojë.
>> [Muzika]
>> Oh, unë dua plehra.
Çdo gjë të pista ose i dyshimtë apo me pluhur.
Çdo gjë rreckosur ose kalbur, ose ndryshkur.
Po, unë dua plehra.
Nëse jeni të vërtetë duan të shohin diçka pavlerë, shikoni në këtë.
Unë kam këtu një sneaker kjo është leckosur dhe të veshur.
Kjo është e gjitha plot me vrima mban dhe laces janë shqyer.
Një dhuratë nga nëna ime ditën kur u linda.
Unë e dua atë, sepse it's--
DAVID J. Malan: --green këto ditë vetëm të jetë duke hedhur gjithçka në plehra.
Dhe kështu ajo që një nga Vet did-- Stafi CS50-së
Jordan, i cili ju fuqi takohen today-- ka në fakt
updated kjo për kohët e sotme.
Dhe kështu më lejoni të hapur një remix në vend për Angela.
Dhe ne do të luajnë këtë vend për disa momente ku tani ju jeni
do të duhet të vendosë nëse në mes për të hedhur diçka në plehra,
ose riciklojnë atë ose përzierje plehrash atë.
Pra, ka pak të presion mbi ju për të marrë
kjo e drejtë në frontin e juaj 392 për 497 shokët e klasës këtu në sallë,
në qoftë se ju do.
[VIDEO rishikim]
[Muzika]
-Oh Dua plehra.
Çdo gjë të pista ose i dyshimtë apo me pluhur.
Çdo gjë i shprishur apo kalbur apo ndryshkur.
Po, unë dua plehra.
>> Nëse jeni të vërtetë duan të shohin diçka pavlerë, shikoni në këtë.
Unë kam këtu një sneaker kjo është leckosur dhe të veshur.
Kjo është e gjitha plot me vrima dhe laces janë shqyer.
Një dhuratë nga nëna ime ditën kur u linda.
Unë e dua atë, sepse ajo është plehra.
>> Oh, unë dua plehra.
Çdo gjë të pista, apo i dyshimtë, apo me pluhur.
Çdo gjë i shprishur apo kalbur apo ndryshkur.
Po, unë dua plehra.
Ja disa gjëra më të kalbur.
Unë kam këtu disa newspaper--
>> [END rishikim]
DAVID J. Malan: --are në fakt kompostohen.
Por ju falënderoj për të vullnetarit tonë, Angela.
Ne kemi një top stresit për ju si edhe këtu.
Pra, ju falenderoj.
>> Pra, kjo është shkruar nga mua.
Por tani një nga një ish-student aktual i cili realizohet kjo, e cila është një lojë.
Të gjitha në këtë gjuhë të quajtur Zeroja, që ne së shpejti do të
zhvishem mbrapa shtresat e.
Por nëse ne do të like-- si në lidhje me një tjetër vullnetar?
E drejtë.
>> Eja up.
Si e keni emrin?
Shikim?
Lance.
Lance, eja lart.
Gëzohem që u njohëm.
Eja në këtë mënyrë.
Pra, kjo mund të ketë një temë e njohur për disa prej jush.
Por ju do të shihni shumë se nuk mund të jetë interaktive,
ku ju në fakt mund të jetë Roli i karakterit lëvizin përreth.
Gëzohem që u njohëm.
David.
>> Unë ju jap, Pikachu.
Udhëzimet do të për për të ardhur në ekran.
Por me pak fjalë, ju jeni do të duan për të kapur sende të shijshme,
dhe për të shmangur bomba dhe gjëra të tjera.
Me cursors në tërësi.
Pra, goditi space bar.
-Pikachu.
DAVID J. Malan: Catch gjëra në të majtë,
nuk kapur sende në të djathtë.
>> [Muzika]
>> Pra, një e fundit këtu.
Në qoftë se ne mund të kemi një të tillë më shumë vullnetar këtu.
Ne menduam se do të krijosh diçka from-- në shirt-- verdhë
nga e mërkura.
Cili është emri yt?
Mary, eja deri Marisë.
>> Dhe kujtojnë të mërkurën ne kemi prezantuar nocioni i binar, dhe llamba binare.
Kjo është në fakt tashmë një Zbatimi i kësaj njëjtën ndërfaqe
që kemi pasur në iPad me dritën llamba, por këtu dhënë digjitale.
Dhe në vend se të bëjë një stres ball-- nice to meet you, Davidit.
Ne kemi sjellë një dritë pak llamba nga Kembrixh.
>> Nëse keni mundësi, duke klikuar mbi ato llamba për ta kthyer ato në dhe jashtë,
të dalë me binar Përfaqësimi i thonë 256.
Dhe ju do të shihni në e Mesme, grup aktual.
Në mënyrë që njëri është në.
Pra bit pari nga e majta është në.
>> MARY: Po, [e padëgjueshme]
>> DAVID J. Malan: Mirë, kështu që ne kemi just-- oh.
Pra, kjo është kolona 128.
Pra, ne jemi deri në 128.
Ne morëm për të marrë në 256.
Dhe ju mund të kallajxhi në dhe jashtë, ndonjë gjë e madhe.
Ose ju mund të goditur se 128 Herë më shumë në qoftë se ju dëshironi.
>> Të gjithë të drejtë, të mirë.
24.
Po, duke iu afruar.
Closer!
Oh, çfarë është problemi atëherë?
Pra, çfarë është çështja?
>> Pra, çfarë kemi nevojë për të zgjidhur këtë problem?
Pra, ne kemi nevojë për një tjetër pak.
Dhe kjo është krejtësisht arsyeshme në realitet, e drejtë?
Nëse ju doni për të numëruar nga numri 1 deri në 2 deri 3 në 4 deri ne 5, 6, 7, 8, 9
që në fakt të rrokulliset mbi në 10, ju jeni do të ketë nevojë për një grimë shtesë.
Pra, le të vërtetë të Rewind këtu, dhe të dalë
with-- kjo ishte padyshim për qëllim të jetë një grup lart.
>> Ju nuk mund të bëjë 256 me vetëm një llambë.
Pra, si në lidhje thjesht me numrin 50?
Numër 50.
Shkëlqyer.
Një raund i madh i duartrokitje për Marinë dhe farës së saj, si dhe.
Falemnderit.
>> Pra, kjo topic-- qëllimshme si që was-- vërtetë do të përsëritet.
Vlera më e madhe që ju mund të paraqesin me tetë bit, ose një byte,
është me të vërtetë 256.
Por jo nëse ju filloni duke numëruar nga 0, si ne
duket të vazhdojmë të bëjmë duke pasur të gjitha këto bit off.
Por tani le të zhyten në themel Zbatimi i këtij mjedisi,
dhe vë në lojë përveç disa prej këtyre ideve.
>> Pra, në një moment ne jemi gati për të parë një disa bazat ndryshme programimi.
I pari nga të cilat ne do të thërrasë deklaratë.
Lloj i foljeve, nëse ju do.
Veprimet.
Gjërat që duhet bërë.
>> Dhe në një moment ju do të shihni blloqe që duken si ky.
Thuaj "Hello world", për shembull.
Apo prisni një të dytë.
Ose të luajë Meow shëndoshë.
Dhe me të vërtetë mjedisi në të cilat ne jemi duke shkuar për të bërë këtë
është quajtur Scratch.
>> Dhe në qoftë se unë tërheq lart Scratch pa parangarkim ndonjë kod aktual,
le të marrin një vështrim të shpejtë në këtë user interface, kështu që të flasin.
Kontrollet me të cilin ne të ndërveprojnë.
Në krye të majtë këtu e ekran, nën menutë,
ne kemi në skenë, kështu që të flasin.
Pra Scratch është ajo që ne do të thërrasë Sprite.
Kjo është një karakter.
>> Dhe ai mund të kontrollohet nga shkrimin e programeve kundër tij.
Dhe ai do të jetë në gjendje për të lëvizur poshtë e lart dhe majtas dhe djathtas në këtë mjedis,
jo vetëm duke lëvizur miut, por programuar.
Unë mund të them njeri të ecë drejtë, shëtitje majtas, lart, poshtë ose të ngjashme.
Dhe unë mund të prezantoj të tjera sprites apo karaktere si.
>> Në të vërtetë, në fund këtu është vendi ku ju do të shihni listën tuaj të sprites.
Në këtë moment, unë vetëm kam një, por unë mund të krijojë më shumë,
dhe ata do të shfaqen pikërisht atje poshtë.
Pra, nëse ju Rewind për një moment, si Oscartime-- për shembull, Oscar,
në të majtë, plehra mund, ishte një Sprite.
Dhe gjëja në mes, riciklimin bin, ishte një tjetër sprite.
Dhe bin plehrash ishte një tjetër sprite.
Dhe çdo pjesë e mbeturina ose riciklueshme
që u bie nga qielli është gjithashtu një sprite, secila prej të cilave
ishte programuar në mënyrë individuale.
>> Si mund të programoni?
E pra, këtu në të djathtë hand side është zona Scripts.
Dhe kjo është ajo ku ne mund drag and drop copa mister.
Në një javë, ajo do të jetë ku ne ekuivalente shkruani kodin
me shumë një tastiere, por për sot ajo do të zvarritur dhe duke rënë
copa mister, The palettes për të cilën të gjithë mund të
të gjenden këtu të drejtë në mes.
Në të vërtetë, në mes këtu ka një bandë e tërë
e kategorive të enigmës copa ose blloqe.
Një është e lidhur me lëvizje, shikoni, shëndoshë, një stilolaps shkojnë lart dhe poshtë,
të dhënave, ngjarje të kontrolluar.
Nuk jam i sigurt ende çfarë të gjitha këto do të thotë,
por ju do të shihni se ata kanë kategorizuar bukur.
Dhe për të shkruar një program në Zeroja, le të bëjë pikërisht këtë.
>> Unë do të nisem në Ngjarjet, dhe terhiq këtë një këtu.
Kur flamurin e gjelbër klikuar.
Tani pse se një?
E pra kujtojmë se vullnetarët tanë doli, gjëja e parë që
apo ata kanë qenë të klikoni se gjelbër flamuri në këndin e sipërm të djathtë.
Dhe kjo vetëm do të thotë filloni programin.
>> Pra, kur kjo ngjarje ndodh, çfarë unë dua të bëj?
Unë jam duke shkuar për të shkuar nën duket, dhe unë jam duke shkuar për të bërë "thonë hello."
Dhe unë jam duke shkuar për të ndryshuar këtë dhe thonë diçka si "hello Yale."
Dhe tani unë jam duke shkuar për të zmadhuar jashtë, klikoni flamurin e gjelbër,
dhe voila, unë kam shkruar një program.
Kjo nuk është e gjitha që emocionuese vetëm ende, por kjo
është pikërisht ku çdo e atyre autor filluar,
të dyja me Pikachu, dhe llamba binare, dhe Oscartime,
dhe kështu me shumë shembuj të tjerë.
>> Ju filloni super e thjeshtë, dhe atëherë ju filloni për shtresë,
dhe të shtoni në karakteristikat dhe funksionalitetin.
Pra, çfarë janë këto shtresa do të përbëhet nga?
E pra, përtej deklaratave, ne gjithashtu do të kanë gjëra që janë pak më shumë fancily
quajtur Boolean Shprehjet, pas dikush emrin bool.
Dhe një shprehje Boolean është thjesht një shprehje që është ose e vërtetë ose e rreme,
po ose jo, 1 ose 0.
>> Çdo opposites polare si kjo.
Kjo është ose e vërtetë apo jo.
Por ne jemi gjithashtu do të shohim ato që mund të duket si ky.
Kështu për shembull, është e miut poshtë?
Ata janë lloj i pyetjeve, nëse ju do.
>> Miut është ose poshtë, e vërtetë apo nuk është, të rreme.
1 ose 0, në qoftë se ju do të, ka tendencë të jetë hartës.
Vërtetë është 1, e rreme është 0.
E pra ajo që për më pak se kjo?
Ose kështu, është kjo më pak se kjo?
Kjo është një pyetje në terezi.
>> Dhe në qoftë se ju vendosni dy Numrat në atje, as x
do të jetë më pak se ose y barabartë me y, ose më e madhe se y,
por ky bllok ne do të shohim, është vetëm do të përgjigjet në pyetjen:
kjo është më pak se?
Ne gjithashtu mund të shihni diçka si kjo.
Prekur miut pointers.
Pra në Scratch, ju mund të kërkoni pyetja, është Sprite
prekur treguesin e miut?
Fjalë të tjera, është hovering kursorin mbi kapak, ose ekuivalenti?
>> Ne do të shohim Anding gjëra së bashku.
Ju mund të bëni dy pyetje, dhe sigurohuni që dy prej tyre
ju jap Po ose përgjigje e vërtetë para të marrë një vendim për të bërë diçka.
Por atëherë si do të marrin vendime?
E pra, ne kemi këto kushte.
>> Dhe ne pamë këtë në tonë shembull librin e telefonit.
Duke kërkuar në të majtë ose drejtë për Mike Smith.
Dhe në gjendje, ju të bëjë diçka potencialisht,
në qoftë se një shprehje Boolean është e vërtetë.
>> Dhe me të vërtetë, vini re forma tani.
Ka kjo placeholder tani në lart ku ne mund të fit--
në qoftë se unë rewind një slide-- atë formë.
Kjo nuk është krejt të njëjtën madhësi.
Dhe me të vërtetë, ju do të shihni se Scratch madhësinë gjëra dinamike
të përshtaten copa mister, por formë është ajo që është e rëndësishme.
Kjo gjë duket si që, dhe në të vërtetë është
afërsisht njëjtën formë që duhet të përshtaten në atje.
Dhe në qoftë se ne duam të bëjmë diçka në këtë mënyrë apo atë mënyrë, në qoftë se, ose tjetër,
ne kemi këtë mister pjesë në Scratch si.
>> Tani mendoj që ju të kërkuar për të bëni nëse, tjetër në qoftë se, ose tjetër.
Me fjalë të tjera, një tre-palësh pirun në rrugë.
E pra çfarë mund të bëni vetëm nga glancing në këtë?
Unë mund të marrë këtë pjesë mister, dhe kjo nuk duket të përshtaten,
por përsëri, Scratch po shkon për të ri-size bukur për ne.
Unë mund të fillojë për shtresë këto gjëra së bashku.
>> Deri tani unë kam një tre-palësh pirun nëse kjo është e vërtetë, e bëjnë këtë.
Tjetër në qoftë se kjo gjë tjetër është e vërtetë, shkoni në këtë mënyrë, të tjerët shkojnë në këtë mënyrë tjetër.
Dhe në Muppet film, pirun në rrugë, kështu që të flasin,
midis Yale apo Stanford, ishte pikërisht se, vetëm dy kushte.
Ose shkoni në këtë mënyrë, të tjerët shkojnë në këtë mënyrë.
>> E pra, sythe gjithashtu ekzistojnë në programimin.
Dhe ne kemi përdorur këto tashmë në klasë dhe në kodin pseudokod,
dhe me siguri në ato Programet Scratch përgjithmonë.
Scratch ka këtë pjesë mister që vetëm do të ju lejojnë të bëni diçka përgjithmonë.
Dhe ndonjëherë ju doni për të bërë diçka përgjithmonë.
Kjo nuk është domosdoshmërisht një bug, është sepse ju doni një orë për të mbajtur vazhdim e sipër,
ose një lojë për të mbajtur të luajnë.
Ose ju mund të specifikoni një numër i caktuar i hapa, pasi me këtë bllok përsëritur këtu,
e cila do të përsëris diçka 10 herë.
Ne mund të përcaktuar variabla, ne do të shohim së shpejti.
Dhe me variablat, të ngjashme në frymë në algjebër, si X, ose y, ose Z.
Kjo është diçka simbolike që mund të ruajë disa vlera, disa pjesë të informacionit,
që ju mund të dëshironi për të kujtuar për më vonë.
>> Shembulli më i mirë i kësaj mund të jetë një lojë ku ju keni një rezultat,
si në Pikachu.
Sa copë tortë dhe gjësend nuk keni kapur?
E pra, kjo mund të jetë një variabël quajtur rezultatin që fillon në 0.
Dhe pastaj çdo herë kemi zënë një copë tortë apo karamele, apo të ngjashme,
ajo merr incremented.
Ajo merr shtuar në një në një kohë.
Dhe dyqane kështu një variabël një pjesë e informacionit të tillë.
Pastaj ka vargjeve, dhe ne do të vijnë përsëri në këto në një kohë javë ose dy,
por një grup është lloj i si një inventarit apo një çantë, brenda
nga të cilat ju mund të vënë gjërat virtuale.
Kjo ju lejon për të ruajtur më shumë se një pjesë të informacionit.
Dhe që mund të jenë të dobishme nëse në lojë, ju jeni
lloj ecin përreth picking up gjërat.
Dhe ndoshta ju doni të mbani të gjitha këto pjesë të tortës
përreth, dhe jo vetëm të hani ata njëri pas tjetrit.
Dhe pastaj nuk ka një konstrukt njohës ne do të
vijnë për të quajtur funksioneve apo procedurave.
Dhe pse ne jemi duke shkuar të shpejtë këtu, ne do të
shihni se këto janë një shumë zgjidhje e natyrshme të problemeve
se ne jemi duke shkuar takim.
Si programet tona të fillojë bëhet më e madhe ne do të
të fillojë në njoftim modele në kodi që ne jemi me shkrim,
copa mister ne jemi zvarritur dhe duke rënë.
Dhe sa më shpejt që të vëreni veten duke bërë diçka përsëri dhe përsëri, ose më keq akoma
kopjimi dhe pasting programimi Kodi që ju keni shkruar,
kjo është ndoshta një mundësi për të faktor jashtë
çdo gjë që ju mbani kopjim dhe pasting, dhe duke i vënë atë
në diçka të quajtur një "funksion."
Por më shumë për ata që janë në shumë më shumë detaje para se të gjatë.
>> Dhe pastaj nuk ka karakteristika edhe njohës.
Për ata prej jush më të rehatshme, ose duke marrë APCs ose ekuivalent,
Scratch fakt mbështet gjëra si temat dhe ngjarjet dhe më shumë.
Pra, të kuptojnë se ajo ka një tavan mjaft të lartë,
edhe pse kjo është gjithashtu shumë gjerësisht të arritshme për njerëzit
të cilët kurrë nuk kanë programuar më parë.
Pra me të vërtetë, le të marrin një vështrim në një program të thjeshtë apo dy.
>> Ne tashmë e shikuar se si ne mund të thonë hello me Scratch.
Më lejoni të shkoj përpara dhe të hapur një Programi pak më interesante
që kam shkruar më parë.
Dhe kjo quhet Pet Cat.
Të gjitha këto programe do të jetë në dispozicion në faqen e internetit CS50 e.
Në të vërtetë, tashmë atje.
>> Kështu që ju mund të shkarkoni ata, dhe të luajnë me ta,
dhe me problemin Set 0, e cila është edhe në faqen e internetit të kursit,
ju jeni të inkurajuar të ecin nëpër ato.
Dhe për më tepër, ne kemi një Numri i shëtitje-nëpërmjet videove
në internet në të cilën unë dhe Ekipi CS50 vërtet të ecin
me secilën nga këto shembujve në një shumë ritëm të ngadaltë, një forwardable shumë të shpejtë,
ose ritmi rewindable, kështu që ju mund të ecin nëpër këto në kohë të lirë tuaj si.
Kështu që këtu është zeroja në të majtë.
Këtu ka një program në të djathtë që unë kam tashmë para-bërë.
Pra më lejoni të zoom në në këtë.
Dhe mund dikush në gjuhën angleze, duke e ditur çfarë ju e dini, vetëm nga tani si
për sa veprat e para, lloj i thonë në shprehjen angleze ose dënimit,
Çfarë e bën këtë program me sa duket të bëjë?
>> Po, në këmishë portokalli.
>> Audienca: [padëgjueshme]
>> DAVID J. Malan: Po, nëse tuaj kursori është në zeroja mace,
luajnë një tingull meowing.
Por vini re se si shprehim atë.
Ka me sa duket një loop aty, përgjithmonë.
Dhe pastaj nuk ka një kusht, nëse shprehja.
Dhe kolektivisht, çfarë ata do të thotë?
Kjo do të thotë këtë program është vetëm gjithmonë në punë,
dhe kjo është vetëm gjithmonë duke pritur dhe shikuar dhe duke dëgjuar
për mua për të lëvizur miun e mia mbi cat.
>> Sepse çdo herë që unë bëj atë, si ju propozon, ajo do të bëjë këtë.
Më lejoni të filloni programin.
Asgjë nuk duket të jetë ndodh, por vini re se si
është e theksuar tani në një linjë të verdhë.
Kjo thjesht do të thotë se është running.
Dhe për shkak se ka një përgjithmonë loop, kjo është ende running.
>> Pra më lejoni të lëvizin kursorin tim mbi Scratch. [Meow] [Meow] Dhe në qoftë se unë të lëvizin atë,
[Meow] tani ajo ndalon, por programi të ende running. [Meow] Dhe kështu, adorable.
[Meow] Pra, le të hapur pak më të avancuar
Shembulli i quajtur Mos Pet Cat.
>> Dhe tani le të shohim se çfarë ndodh këtu. [Meow] meowing.
Pra, kjo është pak më auto pilot, nëse ju do.
--pet cat.
Pyes veten pse.
[Roar] [Meow] Pra, si e bëri këtë punë?
E pra, ju mund të lloj i arsyes nëpërmjet saj intuitive, ndoshta.
>> Por le të shohim në kodin aktual.
Pra, përsëri, kur flamuri gjelbër është klikuar, e bëjnë këtë përgjithmonë.
Çfarë bëni ju doni të bëni përgjithmonë?
E pra, nëse miu prekëse akrep, atëherë luajnë
një tingull që është quajtur me sa duket Lion 5, kjo është brenda këtij projekti, tjetër
luajnë Meow shëndoshë, dhe pastaj të presin dy sekonda, kështu që
se nuk është meowing vazhdimisht.
Në fakt, ju mund shumë shpejt të fillojnë për të fyejnë veten dhe roommates tuaja.
>> Le të hiqni këtë bllok.
Dhe vini re çfarë është e bukur për Scratch.
Gjërat vetëm lloji i zvarrit and drop dhe bashkoj.
Pra, përsëri, ajo rritet në plotësoni atë që ju dëshironi.
Por në qoftë se unë heq këtë, dhe pastaj luajnë hit, [KOMPJUTERIKE blip SOUND]
>> --it është lloj i fikje mbi në vetvete, sepse kjo është fjalë për fjalë
duke bërë atë që unë jam duke thënë.
Është thënë se përgjithmonë të luajë këtë tingull, por Unë nuk jam duke i dhënë asaj një shans për të përfunduar.
Dhe kështu që do të jetë një bug.
Dhe kjo është arsyeja pse kemi pasur kjo gjë në këtu tani.
Pra, le të vërtetë të fillojë nga scratch-- lloj pun pak intended--
në të cilën ne tani kemi lëvizje cat.
>> Kështu që unë jam duke shkuar për të bërë këtë të fluturojnë.
Unë jam duke shkuar për të zoom në këtu, vetëm të merrni mua filloi në ngjarje.
Dhe flamurin e gjelbër klikuar.
Dhe nuk ka mënyra të tjera për të filluar Scripts.
Ne jemi duke shkuar për të mbajtur atë të thjeshtë këtu.
>> Dhe tani unë jam duke shkuar për të shkuar përpara dhe të shkojnë nën kontroll.
Dhe përsëri, në qoftë se ju harroni ku gjërat janë, vetëm të klikoni rreth,
dhe në fund ju gjeni ato përsëri.
Kështu që unë dua të bëj përgjithmonë atë?
Unë dua që të përdorin bllok lëvizje që unë e di ekziston, lëvizin 10 hapa.
>> Pra, le të shohim se çfarë ndodh këtu në qoftë se unë të luajnë këtë lojë.
Fatmirësisht ajo nuk ka shkuar shumë larg.
Unë ende mund të lloj të rrëmbej atë nga bishti dhe tërheq atë përsëri.
Por programi është ende running, kështu që ai është lloj i luftimeve më.
Por ajo do të jetë lloj i mirë në qoftë se unë kushtimisht të rregullojmë këtë në kodin.
>> Sepse kjo është not-- në fakt kjo është me të vërtetë
jo një lojë zbavitëse për të gjithë të çdo moshe.
Pra, le të përpiqemi për të rregulluar këtë duke duke pasur një lloj të kushteve.
Kështu që unë jam duke shkuar për të shkuar në Kontrollit, dhe pastaj nëse.
Unë pëlqen kjo ide.
Pra, pasi duke lëvizur 10 hapa, if-- lejoni kuptim ku jam.
Unë jam duke shkuar për të shkuar nën Sensing, dhe pastaj kjo duket unë mund të shkoni këtu.
rresht në formë ndeshjet.
>> Madhësia nuk ka, por është e do të rritet për të mbushur.
Dhe tani kjo është një menu pak.
Dhe tani miu pointer-- unë nuk e bëj dua miun, dua buzë.
Pra Scratch është e zgjuar sa të dijë kur një Sprite është prekur buzë.
Çfarë unë dua që ai të bëjë në fakt?
>> Më lejoni të shkojnë përpara dhe për të ndryshuar lëvizje.
Ju e dini se çfarë?
Unë do të ketë atë të kthehet rreth.
Pra, në 15 gradë nuk është me të vërtetë do të ndihmojë mua.
Unë dua që ai të kthehet rreth dhe shkoni në mënyrë tjetër.
>> Pra, le të shohim se çfarë ndodh këtu, në qoftë se unë goditi Dëgjo tani.
OK, lloj budalla në kërkim, por kjo e bën pikërisht atë që kam thënë.
Dhe kjo është e rradhës të gjithë sprite.
Tani del unë mund ta rregullojmë këtë.
Dhe unë nuk e di se si për të rregulluar këtë në fillim.
Unë lloj duhej të futz përreth dhe shih mënyrën më të mirë për të bërë këtë.
Por në qoftë se unë shkoj to-- le të shohim, lëvizje.
Oh, kam gjetur këtë.
Në fakt, Set Rrotullim Style.
Majtas, djathtas, apo nuk rrotullohen, ose të gjithë rreth.
Dhe kjo rezulton se është ajo që unë dua.
Dhe unë jam duke shkuar për të vënë kjo nuk im lak, sepse unë nuk kam nevojë për të vendosur
stil rotacioni herë të shumta.
Unë jam duke shkuar vënë atë në krye të ky program mënyrë që merr vendosur herë,
dhe pastaj kujton.
Dhe tani unë jam duke shkuar për të provoni këtë përsëri.
Më lejoni të ndaluar programin.
>> Dhe tani që fikse që bug.
Kështu që unë jam iteratively përmirësuar mbi këtë.
Programi po bëhet një pak më komplekse dhe më të mëdha,
por unë jam duke marrë fëmijën hapa në mënyrë që të flasin, dhe kafshon vogla jashtë e problemit
për të marrë atë të mirë dhe më të mirë.
Por kjo shumë, është lloj i çalë.
>> Ju e dini se çfarë?
Do të pyesni dikë me një të vërtetë të mirë, Zëri frikshme si për të dalë?
Dikush me një zë.
Uh, po.
Eja up.
Në këmishë jeshile.
>> Pra, ajo rezulton se ka disa fun të tjera gjëra, estetikë dhe tingujt njësoj.
Këtu është Meow.
Unë klikoni mbi butonin Tinguj.
[Meow] Ka një Meow. [Meow] [Meow] [Meow] --actually diçka rekord
e tonat këtu.
>> Pra, le të bëjë pikërisht këtë.
Në vend që të përdorni këtë tingull cat, le të të shkojnë përpara këtu, dhe çfarë është emri juaj?
Nick, Gëzohem që u njohëm.
Është David.
Pra, në një moment, unë jam duke shkuar për të goditur butonin Record.
Dhe në qoftë se ju mund vetëm bërtas në laptopë,
"uf", sikur ti vetëm ecte në mur,
që do të jetë much appreciated.
1, 2.
>> NICK: Ouch!
DAVID J. Malan: mbresëlënës.
Dhe tani mund të bëjë një redaktimi të vogël këtu.
Shkuarja për të hequr qafe nga pjesët qetë.
Dhe unë mendoj se kjo është e mirë.
Shumë falemnderit.
>> NICK: Kënaqësi.
DAVID J. Malan: Unë kam vetëm riemëruar atë "uf"
por tani unë jam duke shkuar për të kthehemi në Scripts mia.
Dhe njoftimi nuk është me të vërtetë shëndoshë këtu.
Dhe unë jam duke shkuar për të shkuar përpara dhe luajtur Ouch shëndoshë,
dhe unë jam duke shkuar për të bërë këtë në qoftë se ajo është prekur vetëm edges.
Dhe atëherë unë jam duke shkuar për kanë atë të kthehet rreth.
Pra, le të shohim se çfarë ndodh këtu.
Le të shkojmë ekran të plotë.
[VIDEO rishikim]
-Ouch!
Ouch!
>> [END rishikim]
>> DAVID J. Malan: Pra, ti e kupton se ne jemi duke marrë një pak fat.
Unë do të ketë atë lëvizje si 100 hapa në një kohë.
Efekti i cili tani është duke shkuar të be-- [COMPUTER anomali SOUND] Pra,
brenda arsye.
Pra, një mundësi për të përsosin atë më tej në qoftë se ne të vërtetë duan të.
>> Pra, tani le të prezantoj një tjetër koncept.
Për të më lejoni të shkoj në një të quajtur Counting Sheep dhe përdorni diçka
quajtur një variabël.
Kjo është një dele adorable pak, dhe I ndryshuar kostum e tij në mënyrë që të flasin.
Pra, edhe pse default është një mace, ju mund të ngarkoni, ju mund të tërheqë,
ju mund të bëni ndonjë numër të karaktere në sprite tuaj.
Këtu është një program që është do të bëni atë në gjuhën angleze?
>> Bazuar përsëri në vetëm atë që ju e dini tani.
Çfarë është bërë ky program?
Po, ajo do të të numëruar.
Një numër në një kohë.
Ne kemi me sa duket kanë vendosur këtë kundër.
>> Unë nuk e di se çka është, por ndoshta kjo është një variabël.
Kjo është vetëm një enë, x apo y.
Por fjala counter është më përshkrues se x matematikan apo y.
Pra, ne mund të përdorin fjalë angleze për gjëra.
Përgjithmonë, thjesht do të thotë të vazhdojmë të bëjmë këtë.
>> Thuaj kundër.
Tani ku ndodhi kjo nga?
E pra, ajo rezulton se counter është një variabël.
Pra, kjo është vetëm një tjetër mister pjesë krijova më parë.
Dhe, edhe pse kjo ndodh të mos jetë i njëjtë formë ketu,
normalisht ju do të thonë diçka si përshëndetje këtu.
>> Ju gjithashtu mund të drag një ndryshore në mënyrë që kjo është ajo që të merrni thënë.
Pastaj unë pres për një të dytë, unë ndryshojë counter nga një,
bën rritjen atë duke shtuar një të tillë.
Kështu që efekti neto është kjo dele adorable numërimit.
Edhe pse ai është llogaritur veten.
Tani është shumë shpejt do të merrni mërzitshëm
sepse ai do të bëni këtë me të vërtetë përgjithmonë,
por kjo është pikërisht ajo që Dizajni programit përshkruan.
Le tani provoni një tjetër shembull që thekson një ndryshore.
Kjo quhet Hi Hi Hi, që ka marrë bezdisshëm shpejt.
Tani kjo ka dy Scripts.
Dhe kështu përsëri, ne jemi duke marrë hapa të fëmijës.
>> Ne kemi filluar me diçka super i vogël, shtuar në të, shtuar në të.
Tani unë dua të bëj diçka edhe më dinamike,
kështu që unë dua të jetë dëgjuar për dy gjëra të ndryshme në një kohë.
Pra, në të majtë, kur flamuri gjelbër është klikuar,
I vendosur një ndryshore që kam shkruar paraprakisht quajtur mbytur.
Dhe unë në mënyrë arbitrare vendosur atë në 0.
Pra, Scratch nuk ka të vërteta dhe rreme, por ajo ka të 0 dhe 1.
>> Kështu që unë mund të përafërt që të njëjtën ide.
Dhe pastaj përgjithmonë, nëse space bar është i presion, pastaj vendosur ndryshueshëm 0.
Ose keq.
Nëse hapësira është presion, dhe nëse mbytur, variabli, është 0,
pastaj vendosur mbytur në 1, tjetër vendosur mbytur në 0.
Kjo duket lloj si ne jemi vetëm duke bërë dhe shthurje punë.
>> Por çfarë është efekti?
Çdo herë që unë goditi space bar, çfarë ndodh me ndryshore tim
quajtur mbytur, logjikisht?
Lloj i merr kthyer.
Ndryshon nga 0 deri në 1, ose nga 1 ne 0.
Pra, ajo mori disa blloqe për të shprehur atë, por të gjithë
Unë jam duke bërë është duke toggling gjendjen e ky variabel me 0 ose 1, ose 0 ose 1
çdo herë që unë goditi space bar.
Tani këtu, çfarë është kjo duke bërë?
Përgjithmonë, nëse mbytur është 0, kështu që nëse mbytur është e rreme.
Pra, në qoftë se ajo nuk është mbytur, është semantikë atje, luajnë të shëndoshë luan deti,
dhe mendoj Hi Hi Hi për dy sekonda, prisni dy sekonda.
Pra, vini re tani këto Scripts janë në mënyrë efektive
shkuar për të drejtuar në mënyrë paralele në mënyrë që një mund të të dëgjuarit për një veprim, të tjera
për të bërë një vendim të bazuar në atë veprim.
Dhe kjo mund ta bëjë këtë përgjithmonë.
>> [Deti Lion leh]
>> Ajo do të bëjë këtë përgjithmonë dhe [Deti Lion leh] siç e kam bërë vetëm.
Dhe tani ajo është ende running por unë kam "mbytur" loja.
[Deti Lion leh] Dhe kjo është gjithë ky djalë bën edhe tani.
>> Le të hapë një shembull tjetër këtu.
Më lejoni të shkoj në Events, dhe tani kjo shumë adorable.
Por vini re ajo ka dy sprites.
Pra, jo vetëm dy Scripts me një sprite, por dy sprites.
Dhe në qoftë se unë klikoni mbi djalë blu si unë tashmë kanë, unë shoh ai si një program
këtu që fjalë për fjalë vetëm i thotë: kjo, kur kam marrë një ngjarje,
thonë "Polo" për dy sekonda.
>> Pra, nëse ju keni luajtur ndonjëherë në një pishinë, loja Marco Polo,
Nëse Script portokalli djalë është ndonjë shenjë, me sa duket
çdo herë që unë goditi space bar, çfarë është djalë portokalli do të bëni?
Ai do të thonë "Marco".
Dhe pastaj kjo është një bllok i ri.
Ne nuk e kemi parë këtë më parë, por transmetuar një ngjarje.
Dhe unë mund të telefononi atë ngjarje çdo gjë që ne duam.
>> Ne do të kthehen në këtë mbase para se të gjatë.
Por transmetimin një ngjarje është një mënyrë për një sprite
për të biseduar me një tjetër nga në thelb duke kaluar atë mesazh.
Kjo nuk është një mesazh që ju shihni.
Kjo nuk është diçka vizuale.
Kjo është lloj i një mesazhi kompjuter se djalë tjetër është duke dëgjuar për të.
Sepse vërtet, djalë blu, risjell nuk ka kur flamuri gjelbër klikuar.
>> Ai në vend të kësaj e ka, kur marr një ngjarje.
Kur ai merr dorëzoi këtë shënim në klasë, kështu që të flasin, ai duhet të thotë "Polo".
Dhe kështu që efekti neto është se kur unë goditi flamurin e gjelbër, asgjë nuk ndodh.
Por kur unë goditi space bar, thotë ai "Marco," ai përgjigjet me "Polo".
Por e vetmja Sprite unë jam bashkëveprojmë me është një portokalli.
Pra, kjo është një mënyrë e llojit të bartë në mes sprites
dhe që ata të komunikojnë me njëri-tjetrin.
>> Tani le të shohim në të fundit një i quajtur këtu temat.
Dhe këtë njoftim duke luajtur atë.
Pra, këto janë dy sprites.
Zogu është lloj i fluturon rreth.
Ai është kërcim.
Nuk ka asnjë "uf", por e njëjta ide.
>> Por macja duket goxha i zgjuar.
Çfarë është macja me sa duket duke bërë?
Dhe të presin për të.
Çfarë është macja me sa duket duke bërë?
Kjo nuk është vetëm kërcim.
>> Ai është ndjekur zogun.
Dhe kështu me sa duket, ka një mënyrë me një kombinim të blloqeve here--
dhe le të shohim në mace e vërtetë të shpejtë.
Përgjithmonë, në qoftë se duke prekur zogun, atëherë luajnë të shëndoshë Lion 4, çfarëdo që është.
Ne e dëgjuam atë një herë.
Përndryshe, tregojnë për zog, dhe për të shkuar një hap.
Tani fakti se ajo është një Hapi është ajo që i jep të shpendëve
pak e një avantazhi në fillim, por në qoftë se ne vend
bëjnë këtë 10, për shembull, kështu se çdo përsëritje e lak ai është
lëviz 10 hapat e kohës.
Pra, më shumë hapësirë.
Le të shohim se çfarë ndodh më pas.
[Lion Roar] Jo të gjithë që shumë më mirë.
Pra, tani le të përpiqemi për të përmirësuar mbi këto një iteratively pak,
dhe të kthehen në atë Nocioni i një funksioni.
>> Dhe me të vërtetë një nga më themelore takeaways e dizajnit të klasës.
Jo vetëm shkrimin e programeve që punojnë dhe se janë të sakta, por janë edhe
projektuar.
Dhe dizajni është shumë më subjektiv, dhe ju do të merrni më të mirë në atë me kalimin e kohës.
Por le të marrim disa hapa të fëmijës drejt duke filluar me një program që punon,
absolutisht, por kjo nuk është shumë e mirë.
Kjo nuk është shumë mirë me shkrim.
>> Kështu që këtu është një program që e bën këtë.
Kollë, kollë, kollë.
Çfarë bën programi duken si?
Duket korrekte për mua.
Është thënë se shtrat për një i dyti, atëherë ajo pret.
>> Pastaj ai thotë atë përsëri, atëherë ajo pret.
Pastaj ai thotë atë përsëri, atëherë ajo pret.
Dhe pastaj programi implicite përfundon, sepse nuk ka asnjë loop.
Por, pse është ky një program i shkruar keq?
Edhe në qoftë se ju nuk keni programuar më parë?
Si, çfarë fërkon Mënyra e gabuar, ndoshta këtu?
Po?
>> Audienca: [padëgjueshme]
DAVID J. Malan: Pikërisht.
Ju jeni duke përsëritur veten përsëri dhe përsëri.
Dhe fjalë për fjalë, unë kopjuar dhe ngjit dy nga këto blloqe përsëri dhe përsëri.
Dhe kjo është pikërisht lloj mendje e shëndoshë kontrolloni që ju duhet të jetë bërë.
Prisni një minutë.
A duhet me të vërtetë të bërë këtë?
Pra, çfarë është kjo ajo që është zgjidhje e qartë ndoshta?
Kanë disa lloj lak.
Dhe unë nuk e mjaft të risjell çfarë copë mister është,
por në qoftë se unë shikojmë në Përsëritje e ardhshme këtu,
në të vërtetë, nuk ka vetëm lak përgjithmonë,
ka përsëritur disa disa herë.
Dhe kështu që unë kam përcaktuar tre.
Dhe tani vini re sa shumë të forta, si shumë më i ngjeshur ky program është.
Dhe në një kuptim, si shumë më tepër maintainable.
Nëse unë dua të ndryshojë fjalën nga kollë për diçka tjetër,
si achoo, sikur ai është teshtimë.
Pastaj unë ndryshuar atë në një vend, dhe jo tre.
Pra, kjo tashmë ndjehet si dizajn pak më të mirë.
Më lejoni të kollë në vend të hapur 2, shembulli ynë i tretë.
>> Vini re si një shkencëtar kompjuteri, Unë të fillojë numërimi në 0, në mënyrë tipike.
Tani kjo duket një frikshme pak në parë, por efekti është i njëjtë.
Kollë, kollë, kollë.
Por ajo që duket të jetë krejtësisht i ri në pjesën e sipërme të programit?
Unë e kam hequr fjalën.
>> Unë e kam hequr prisni.
Dhe çfarë kam mbyllën në vend?
Një funksion.
Një bllok kollë.
Unë do të thotë, sinqerisht, unë të duket lloj i një idiot në qoftë se unë nuk e bëri vetëm
të fillojë me bllokun që është quajtur me sa duket
"kollë," nëse kjo është e gjitha unë dua të bëjë.
Por kjo nuk ekziston në Scratch.
Përkundrazi unë shkova në një në Paleta e quajti më shumë Blocks këtu,
dhe unë terhiq këtë gjë të madhe purple këtu që lejon mua të përcaktojë një funksion.
Ajo në thelb lejon mua krijuar mister tim
pjesë që mund të quhet ndonjë gjë unë duan, që mund të bëjë asgjë që unë dua,
por ajo i jep një emër.
Kjo më jep një të re, të purpurt pjesë mister që tani bën çdo gjë që unë them se për të bërë.
Pra, kjo pjesë vjollcë këtu korrespondon me këtë një të tillë këtu.
>> Dhe çfarë do të bëni?
Ai thotë se për një kollë i dyti, dhe pastaj ajo pret.
Dhe tani unë kam krijuar lloj i vetë pjesë e mia mister me porosi,
në mënyrë që ajo sillet saktësisht të njëjtën mënyrë.
Kështu që unë mund të vazhdojmë të bëjmë këtë.
Dhe me të vërtetë, nuk do të jetë më shumë dhe më shumë mundësi për modularizim,
dhe për layering, kompleksiteti në krye të njëri-tjetrit.
Por kjo ide themelore, në të vërtetë në problemin tha 0.
Çfarë ju do të jeni të sfidohen për të bërë është
për të shkarkuar para, ose vetëm e përdorin atë në internet, dhe vetëm të argëtohen me të.
Ne do të ju jap një sërë Kërkesat, të paturit e një tingull,
dhe disa numrin e puzzle copë.
Por ju do të bëni pikërisht këtë.
Dhe ju do të kuptojë se ju jeni do të dëshironi të merrni disa hapa të fëmijës fillimisht,
derisa programi juaj merr gjithnjë e më komplekse.
Por duke pasur parasysh a është ky Mënyra më e mirë unë mund ta bëjë këtë?
A mund ta shmangin këtë instinkt ndoshta, të kopjoni dhe ngjisni?
>> Por, para se të problemit Set 0, dhe para se të shtyjë,
mendova që ne do të marrë një të tillë më shumë vullnetar në qoftë se ne mund të,
për një program të fundit kjo është ndoshta më e
montim në të gjitha, duke pasur parasysh vendin e sotëm.
Eja poshtë.
Po.
Si e keni emrin?
Uh-oh.
Kjo është në rregull.
Të dy vijnë poshtë.
Dhe unë kam do të merret me këtë disi brenda dhjetë sekondave të ardhshëm.
Pra, vijnë më poshtë.
Eja poshtë.
>> Më lejoni të vijnë më këtu.
Come on.
Dakord.
Le të shohim këtu.
Pra, vini re reale të shpejtë këtu, në qoftë se ju dëshironi për të ardhur në dorë.
>> Ne do të bëjmë dy raunde të kësaj.
Dhe çfarë është emri juaj?
>> SABRINA: Sabrina.
>> DAVID J. Malan: Sabrina dhe?
>> Ying GEE: Ying Gee.
>> DAVID J. Malan: Ying Gee.
Gëzohem që u njohëm dyja.
David.
Pra, shembulli ynë i fundit këtu është quajtur lojë Hardest dredhkë së.
Dhe pse nuk kemi të bëni Niveli 1, dhe ju bëni Niveli 2.
>> Dhe ne do të shohim se sa larg përtej se ne fakt shkojnë.
Shkruar nga një student vitin e kaluar, remixed nga mua
kështu që kjo do të shkojë mbi dhe në New Haven.
Dhe unë po ju jap një lojë që po ndodh në përfshijnë lëviz shigjeta lart e poshtë,
dhe për të gjetur Yale në vijën e finishit.
Këtu ne do të shkojmë.
>> [VIDEO rishikim]
>> [MUSIC - NFL në Fox Theme Song]
[MUSIC - MC Hammer, "U MUND nuk e prek KJO "]
>> -U Nuk mund të prekin këtë.
U nuk mund ta prekë këtë.
Nuk mund të prekin këtë.
Im, që, tim, muzika ime godet mua kështu vështirë, më bën të them, oh, zotëria im.
Faleminderit për të bekuar mua me një mendjen për rimë dhe dy këmbët hype.
>> Kjo është e mirë, kur ju e dini se ju jeni poshtë.
Një Homeboy super drogë nga Oaktown.
Dhe unë jam i njohur si i tillë dhe kjo një mundi uh, ju nuk mund të prekin.
Unë i thashë ju Homeboy U nuk mund ta prekni këtë.
Po, kjo është se si ne jemi duke jetuar dhe ju e dini se U nuk mund ta prekni këtë.
>> Shikoni në sytë e mi, njeri.
U nuk mund ta prekë këtë.
Yo, më lejoni bust lyrics shokuar.
U nuk mund ta prekë këtë.
Nis të freskëta të reja dhe pantallona.
>> Ju mori atë si kjo dhe ju e dini që ju valle Wanna.
Pra, lëvizin nga vendin tuaj dhe për të marrë një mizë vajzë dhe të arrijë këtë mundi.
Ndërsa është e kodrina të mbajë në pompë pak bit dhe le ta dinë se çfarë po ndodh.
Si kjo.
>> Ftohtë në një mision kështu tërheq më mbrapa.
Le ta dinë që ju jeni shumë dhe ky është një veprim uh ju nuk mund të prekin.
Yo, ju thashë U nuk mund ta prekni këtë.
Pse rri aty njeri?
U nuk mund ta prekë këtë.
>> Yo, tingull në Shkollën Bell, pinjoll.
U nuk mund ta prekë këtë.
Më jepni një këngë, një ritëm i bërë ata djerse kjo është ajo që unë jam duke i dhënë ato tani.
Ata e dinë se kur ju flisni për Hammer ju flisni për një shfaqje që është hyped.
Dhe këngëtarë të ngushta janë djersitje kështu që të kalojë atyre një mic.
>> Ose një kasetë për të mësuar se çfarë ajo do të marrë dhe tani
ai do të të djegur Listat.
Legit ose punë e vështirë apo ju gjithashtu mund të lë.
Sepse ju e dini se U nuk mund ta prekni këtë.
U nuk mund ta prekë këtë.
Thyejnë atë poshtë.
Stop.
Kohë Hammer.
Shko me rrjedhën në një rrotullim në qoftë se ju nuk mund të lëvizin në këtë
atëherë ju me siguri jeni të vdekur.
Pra valë duart tuaja në ajri [e padëgjueshme]
>> Kjo është ajo për një vallëzim fitues për kjo dhe ju jeni do të merrni hollë.
Leviz rrëshqitje pjesë e pasme tuaj vetëm për një minutë le të gjithë bëjmë përplasem.
Po.
U nuk mund ta prekë këtë.
>> U nuk mund ta prekë këtë.
Ju më mirë të merrni hyped Djali U nuk mund ta prekni këtë.
Telefonojini shpinën e shkollës Bell në.
Thyejnë atë poshtë.
Stop.
Ora Hammer
>> DAVID J. Malan: Kjo është ajo për CS50!
Thanks so much për t'u bashkuar me ne!
Shihemi jashtë.
>> [END rishikim]
[VIDEO rishikim]
[MUSIC - "Seinfeld" KËNGË TEMA]
-Hej David.
Hej, David.
Si është ajo shkon?
>> Punë -Mirë, sot.
-Pra, A keni menduar për atë që ju jeni do të bëjë për shaka jashtë?
-Jo, Kam marrë asgjë.
-Çfarë If-- çka nëse kjo është shaka jashtë?
-Si, Unpacking karroca?
-Uh-Huh.
Ju e dini, kjo është për asgjë.
>> -SO Pëlqen, nuk ka histori, nuk ka konflikti, asnjë rezolutë.
Nuk ju kuptoj.
Çfarë është ajo në lidhje me pastaj?
>> -Asgjë.
>> -Pra, Ne kemi jashtë shaka është rreth asgjë, dhe ne nuk kemi aktorët.
Kush do të jetë në këtë?
>> -Jo, Jo, jo.
Dua të them, unë do të jetë në të.
>> -You'll Të jetë në të?
-Yeah!
Njerëzit janë gjithmonë duke u thënë mua unë jam një karakter.
>> Paj, dua të them, është e vërtetë.
Por, kush tjetër do të jetë në të?
Ajo nuk mund të jetë vetëm ju.
>> -Ju Do të jetë në të, Gavin, Dan, Dan, Colton, Z'Myla, Alysse, Doug,
David, të gjithë.
>> -Pra, Kjo është për asgjë, dhe të gjithë është në të?
>> Asgjë -Absolutely.
>> -Kjo Është qesharake.