[Powered by Google Translate] [Rock glazbe]
[GLAZBA - "sretni zajedno" kornjača]
DAVID MALAN: Danas smo započeli naše istraživanje
Osnove informatike i naše upoznavanje,
Sada, u umjetnosti programiranja, od kojih da je
samo jedan primjer.
No, u istom duhu u rješavanju problema, znamo da
CS50 tradicionalni Puzzle dan je sutra.
Ako još niste RSVPed za ovaj događaj, možete ići na
cs50.net/rsvp.
Možete donijeti timove dvije ili tri ili četiri.
Vi ćete biti izazvan s problemima poput onoga koji ste vidjeli
tamo na početku.
Svi novi problemi ove godine ako jeli prošle godine, a
imat će priliku osvojiti zatim neke fenomenalne nagrade.
Među njima, Wii i neki poklon bonovi i slično,
Sve dok se družiti s CS50 studenata i kolege
i pizza i Facebook.
Dakle, više o tom sutra, ako želite.
>> To je, dakle CS50, za one od vas da nam se pridružite za
prvi put.
A znamo da je ovaj tečaj je posebno određuje da se
vas kroz ovaj tečaj do konačnog kraja, u kojem vam točka
će imati ne samo razumijevanje tih
osnove informatike, ali ćete morati
ovo je vrlo praktičan set vještina koje onda možete uzeti natrag
svoj odjel, da li je tehničkih znanosti,
primijenjena matematika, fizičke znanosti, prirodne
znanost, ili slično.
Doista, ono što je tako uzbudljivo o računalnoj znanosti tih
dana je da je to samo tako odnosi se na
sve vrste polja.
I premda danas, možemo samo će ogrepsti površinu
vrlo tradicionalna programski jezik poznat kao C, mi ćemo
umjesto pogledate nešto što se zove Scratch, nešto s
što da priča Cookie ljubav je proveo jedan od vaših
prethodnici u posljednjih godina, pričati priče, stvaranje igre,
stvoriti interaktivnu umjetnost, i zapravo početi da zamotate naš
umovi oko neke od temeljnih konstrukata koje
temelj za programiranje, ali u kontekstu, kao što ćete vidjeti, to je
mnogo manje zastrašujuće, to je mnogo manje kompliciranih, nego ćete vidjeti
prije dugo.
I shvatili, također, za one od vas samo pridružio nam to
semestar, fraze na koje smo završavali u srijedu predavanje,
to nije toliko važno gdje ćete završiti u odnosu na vaše
kolege u ovoj klasi, ali gdje se, po semestru do kraja
u tjedan dana 11, završiti u odnosu na sebe pravo to vrlo dan.
>> Dakle, bez dodatnih teškoća, ovo je također napomenuti da
one manje udobne, one negdje između, su
Također, po dizajnu ovog tečaja, a ne na bilo nepovoljnom položaju
vis-a-vis one udobnije
dolazi u ovoj klasi.
Kao što ćete vidjeti tijekom tjedna doći, imamo različite
pjesme za nespojivih leđa pozadini, profili za one
manje ugodno, ugodnije, oni negdje
između.
Kao što ćete vidjeti ovaj vikend i idući tjedan, dva verzije
većina problema seta u standardnom izdanju i haker tako
da svi mogu sami odabrati niz stazu s kojim ste
su najugodnije.
>> Dakle, danas smo zaroniti u ovom programiranje
jezik zove Scratch.
To je grafički programski jezik, a ipak ima
Iste značajke neke od viših razina jezika ćemo
istražiti kasnije u semestru, a među njima i C
JavaScript i PHP.
No, to će nam omogućiti da se izbjegne neki od distractions
rano sintakse, stvari kao što su zarezom, zagrade,
i druge skrivenim detaljima koji, na prvi pogled, su ne samo
uopće intelektualno zanimljiv i imaju tendenciju da se u
način od nekog temeljnog razumijevanja.
U smislu danas podršku strukturi naprijed, to shvatio
alat, CS50 razgovarale, koji će biti povezan na tečaj je
web kasnije danas, online forum za raspravu u
koji ćete moći postavljati pitanja jedni druge i
osoblje, i to je također alat, kao što ćemo vidjeti sljedeći tjedan,
da ćemo koristiti prilično integratedly u
radno vrijeme kao dobro.
Doista, radno vrijeme počinje u ponedjeljak, i iskreno, prvi
tjedan radnog vremena je prilično niska ključ.
>> Ja ne mislim da ćete pronaći sve što Scratch nedostupan.
To je prilično razumljiva sama po sebi, kao što ćemo vidjeti, pa što
ćemo ga koristiti za danas je izdvojiti neke od
temeljna ideja koje će, dakle, ustraju u cijeloj
Ostatak semestra.
No, s početkom u ponedjeljak, u 20:00 po 11:00 će biti
radno vrijeme u Annenberg preko mozga pauze.
Rezova dva počet će ovu večer, pa negdje ovaj
vikend, ići na cs50.net/section, a vi ćete
biti pitani nekoliko pitanja.
Među njima, kako biste opisali svoj
razina udobnosti kao i danas?
Nema teško, brzo pravilo o tome tko je u kojoj kantu.
To je samo jedna od onih stvari koje vjerojatno znate ako
su među onima manje ugodno ili na neki drugi način.
>> I sada, Walkthroughs.
Specifikacija Problem skup za ovaj tjedan, i standardni
i haker izdanje podjednako je online na cs50.net kao i sada.
I vidjet ćete da je prvi od tih izdanja,
standardno izdanje svaki tjedan, popraćen nečim što
pozvati kod prohod, sjednica na čelu jedne od
Naravno je momci nastava će vas voditi kroz, osigurati
savjeti o, i dobiti ćete dolje određeni put kada je u pitanju
do početka ove problematična seta.
Dakle, sa svakom od tih problema postavlja, ako ikad ste u nedostatku
za sebe gdje sam početak, možete početi s tim
Walkthroughs.
A u stvari, dopustite mi da vam predstavim Zamyla Chan, ovaj
Ovogodišnji demonstrator koji će voditi svaki
jedan od tih Walkthroughs.
Zamyla?
>> [Pljesak]
ZAMYLA Chan: Oh, hi, svima.
Moje ime je Zamyla.
Ja sam mlađi studiranje inženjering u Winthrop House.
Ali ja pokušati uklopiti u što većem broju tečajeva informatike kao što sam
može, što je razlog zašto sam stvarno uzbuđen da se vodi ovaj
Ovogodišnji Walkthroughs.
Walkthroughs, za mene, bili su bitan dio mog CS50
iskustvo.
Tijekom prohod, za svaki p-set, mi ćemo ići kroz
Problem postaviti zajedno, gledati preko probleme, vrsta
ih podijeliti u upravljivu ugriza.
Ja ću vam dati savjete, tehnike, za dobivanje
kroz te početak.
Nadam se da ću vidjeti sve vas na Walkthroughs.
Ako ne možete to učiniti osobno, a zatim
molimo da napjev u online.
>> DAVID MALAN: Izvrsno.
Hvala, Zamyla.
Dakle, shvatite da Walkthroughs su, doista, u petak
poslijepodne, ali to je namjerno po dizajnu, tako da
čak i ako ne želite pohađati tečaj na petak
poslijepodne, videa će biti gore sve brže nad
vikend.
Dakle, shvatite da cs50.net će biti sve Zamyla je
Walkthroughs.
A da je današnji datum i vrijeme, 15:00,
Harberd dvorana, 104.
A neke od nastavnih momaka također su pripremili
neke primjedbe za vas u odsutnosti da vam malo
perspektiva, kao ono što je njihovo iskustvo stupanja na i
izlazak CS50 bio poput.
Dakle, ako smo mogli prigušiti svjetla za samo trenutak, ja vam
neki od CS50 osoblja.
>> JACKSON STEINKAMP: Uzeo sam CS50 prošle godine kao brucoš u
pasti, i to apsolutno raznio moj um.
Ja nikada nije poduzela nikakve programske klase prije,
i nikada nije došao u sa bilo kojeg računala znanosti
iskustvo uopće.
I baš, čuo sam glasine o klasi i
odlučio uzeti ga.
>> JULIA MITELMAN: Bilo je stvarno zabavno, stvarno zanimljive.
Ja još uvijek, na ovaj dan -
Upravo sam nedavno vidio imam disketu da je David dao nam
na našem prvom danu predavanja.
Imao sam ga spustio na mom zidu.
To je vjerojatno malo štreber, ali sam visio na moj
zid tijekom razredu kao podsjetnik kako je to super.
>> TRAVIS Downs: To je tako neugodno.
>> JACKSON STEINKAMP: Računalo znanost je nešto što
treba probati, čak i ako niste jedan za
tradicionalne znanosti.
To je njegova vlastita iskustva, a CS50 pobrinut će se da ste
podržana i kroz njega sa svojim pravu vojsku TFS.
>> ALI NAHM: Uzeo sam ga kao brucoš, i tako sam napravio puno
novih prijatelja.
Također sam dobio uvedena u cijeloj ovoj koncentraciji i
Cijela škola inženjerstva, pa sam visoko preporučiti
i vam dobrodošlicu na naše CS50 obitelji.
>> Yaniv YACOBY: CS50 samo vas uči kako koristiti alate
koji su široko dostupni.
Vi samo trebate prijenosno računalo, trebate web preglednik, a vi
morate naučiti pisati neki kod, a vi stvarno može graditi
uredan stvari.
>> KAREN XIAO: To je samo tako cool biti u stanju napraviti nešto
i imaju ga ljudi koriste i imaju ljudi to vide, a to je
ono što ja stvarno volim o tome.
>> TIM McLaughlin: - Osjećaj zajednice, mislim, u ovom
Tečaj više od bilo kojeg drugog naravno sam uzeti tako daleko.
Ti ne samo uzimanje drugi -
niste punjenje drugi uvjet.
Vi ne samo da će se predavanja i ide na dijelu.
Ali radite tona stvari koje su sve o
programiranje i sve o tehnologiji, ali to ne
Stvarno se osjećam kao klasi većinu vremena.
>> Travis Downs: I na prvi dan, oni uručio tortu, a
Odmah sam je prodao.
>> JAKOVA Pritt: Besplatno slatkiša i pizze.
>> ZAMYLA Chan: - bez obzira na svoju kamatnu razini, mislim
da CS50, da ćete se zabaviti, a vi ćete biti intelektualno
stimulirana.
>> MARK GROZEN-SMITH: To je uvijek stranka u klasi, a to je
Stranka svake noći radi na p-set.
>> JACKSON STEINKAMP: Svaki put kad završi problem set,
će se osjećati kao da ste završili projekt.
>> MELISSA Niu: To je bio brucoš godine, a ja sam učinio shopping.
Imao sam moje četiri klase spremni, a ja sam bio u Annenberg.
I ja naletjeti prijatelja, a on kaže: hej, ja sam kupovinu
ova klasa zove CS50, a ti bi trebao doći sa mnom.
Zavrsilo uzimajući joj taj pad, a nakon toga razredu, ja
Mislio možda ću molu u CS.
Ali ovdje sam, tri godine kasnije, još uvijek proučavajući računalo
znanost i zapravo radi kao glavni, a ja sam volio svaki
Trenutak njega.
>> ROB Bowden: Nemam pojma.
>> ALI NAHM: Idemo vidjeti.
>> MELISSA Niu: ludost.
>> ZVUČNIK 1: Osjećam se kao da ću biti jako kliše.
Ja bih samo reći, sviđa, super.
>> Yaniv YACOBY: Pristup.
>> JAKOVA Pritt: Besplatno slatkiša i pizze.
>> TRAVIS Downs: Ne mogu se okrenuti prema dolje klasu koja ruke tortu.
>> TIM McLaughlin: Energetska.
>> VIPUL SHEKHAWAT: Essential.
>> ROB Bowden: Dopustite mi da misle odgovor.
Mislim da imam nešto.
Oh, Bože.
Da, moje ime je Rob Bowden, a ovo je CS50.
>> [Pljesak]
DAVID MALAN: U redu, tako da ćemo početi slikati sliku
smjera u kojem možemo ići, i neka je uvesti
ovaj koncept ovdje poznat kao pseudocode.
Dakle pseudocode nije programiranje
jezik k sebi.
Nije to ništa tehnički po sebi, ali to je samo vrsta
opći način izražavanje sebe dosta precizno,
prilično algoritamski, prilično proceduralno, ali bez
brige o tome što jezik ste izražavanje
sami rezervirati
To je neki model engleskom i programskih jezika s
koji vam se dogoditi da bude upoznat, pa možemo početi
pisanje takve stvari kao i mi ići.
A u stvari, Josip, mogao sam ti posuditi na pozornici biti
pisar ovdje?
Ja sam otišao naprijed ovdje unaprijed i zaboravili staviti
na nekim čarape danas, a to će biti među naše više
smiješnih primjera.
>> Sada, trebam te ovdje.
Ja ću učiniti čarape dio.
Dakle, ovdje imamo malo Blok za pisanje.
Ovo je doslovno samo TextEdit u Mac.
Nećemo se zapravo događa napisati runnable program, ali
samo mi ćemo početi skiciranje iz pseudocode temeljen
na neki od savjeta koje ste dali za mene ovdje.
Dakle, ovdje je moj gomila čarapa kod kuće.
Nemam čarape na kad se probudim ujutro, a mi smo sada
treba napisati program, algoritam sorti, s kojim
da biste dobili ove čarape na nogama.
I usput, neka je vidjeti ako mi zapeti, ili susret,
neke od ideja koje ste idući u morati početi
razmišljam o mnogo ozbiljnije kada programiranje
da vaši programi ne ponašaju sasvim onako kako smo zamislili.
>> Tako sam sjesti ovdje.
Imam svoju hrpu čarapa.
Što je prva stvar razumno ljudsko biće bi
učiniti kad je cilj staviti na par čarapa?
Netko mi dati jedan korak, a samo jedan korak.
Da?
PUBLIKA: Bend dolje.
DAVID MALAN: Bend dolje, OK.
Korak dva.
PUBLIKA: Pick up your čarapu.
DAVID MALAN: Pick up your čarapu.
Ok, tako blagi dvosmislenosti ovdje, a to je jedan od prvih
kamena spoticanja da smo trebali namjerno
susrećemo ovdje.
To je malo dvosmisleno, tako pokupiti svoje čarapu.
Dobro, ja ću uzeti ovaj jedan, ali računalo, realizirati u samo
malo, ne će imati takvu vrstu ljudskog instinkta za samo
pokupiti najbliži jedan.
Mi ćemo morati početi, prije dugo, izražavajući
sami preciznije.
>> U redu, tako korak dva je pokupiti svoju čarapu.
Mi ćemo ga uzeti.
Korak tri.
U leđa.
PUBLIKA: Pronađite odgovarajući par.
DAVID MALAN: pronaći odgovarajući par.
Ok, tako da je ovo dobra.
Morao sam izabrati ovu čarapu.
Dakle, cilj je naći odgovarajući čarapu, a sada, ali ono što
to znači?
Razumno ljudsko biće, jednako kao što je u srijedu, kada sam
znao kako pronaći Mike Smith u telefonskom imeniku, samo vrsta
otišao sa svojim instinktom.
Ali ovdje, to je očito to čarapa ovdje, ali računalo je
neće biti tako instinktivno.
Računalo će imati kolekciju bita, kao i mi
razgovarali su u srijedu, a oni su
organizirao nekako u memoriji.
No, stvar je da računalo ima samo sposobnost
gledati na stvari jednu po jednu, i zapravo, čak smo
ljudi - iako se osjeća kao da sam pogledao dolje i Split
Trenutak kasnije znam gdje čarapa je, moj mozak i moje oči
vjerojatno nije brzo obrano tih čarapa, a zatim latched
na one u pitanju.
>> Dakle, ako smo se svi više namjerno sada kao računalo,
Kako sam pronaći ovo podudaranje par?
Pa, moramo ponoviti.
Moramo možda petlji preko ovog nereda čarapa na
kat gdje sam reći nešto poput ZA SVAKU čarapa, to podići
gore, a ako isti oblik i veličinu kao onaj drugi, ONDA
točka, točka, točka, mi ćemo nastaviti priču.
Dakle, za svaku čarapu, tako da sam pokupiti ovaj jedan.
Ja provjeriti je li to jednaka ovoj.
To nije, pa sam stavio na stranu stranu.
Onda sam opet ponoviti.
Je li to jedna jednaki?
Ne, to nije, pa sam ga staviti na stranu.
Je li ovo?
Ne.
To je jedan?
Ne, i tako dalje.
I onda na kraju, nadamo se, ja ću se susresti ovu čarapu ovdje.
Dakle, ako je isti oblik, veličina, uzmi ga.
>> A sada, što će biti naš sljedeći korak ovdje?
Da?
PUBLIKA: Utvrditi desno od lijeve.
DAVID MALAN: Ok, identificirati lijevo i desno, pa
Srećom, takva djela.
Malo simetrično, ili upravo sam nositi ih na taj način.
U redu, tako da sam identificirao pravo.
A sada, prije nego što nastavite, dopustite mi naglasiti ono što je Josip
radili ovdje kao svojevrsni upućen programera.
Pa opet, ne postoji jedan od načina za to, ali dalje od pukog
numeriranje redaka, Josip je već počeo da to učinite
vrsta otiska.
Doista, ovo je vrlo čest konvencija u programiranju,
kojim kada se nešto učiniti iterativan, petlje stil, kao
mi smo implicirajući s engleskim izrazom "za svaku
izlemati, "konvenciju u pseudocode i, kao što ćemo vidjeti,
normalno programski jezici, je samo alineje.
Hit razmaknicu nekoliko puta, pogodio tipku TAB ili slično,
tako da ugniježđeni ispod "Za svaku čarapu" je komad
stvari koje trebate učiniti kao rezultat tog kruga.
Tako da je sve što je prenošenje semantički.
Sada međuvremenu, "Ako je to isti oblik i veličinu", rekao je
Činjenica da "Uzmi ga" razvedena dalje samo znači
to je jedina stvar koju trebate učiniti ako taj uvjet,
ako je to grana, koja vilica na cesti, je u stvari pravi.
>> Dakle, sada ovdje, da smo na korak četiri, identificirati s lijeve i desne.
Sam identificirao pravo.
Daj mi korak pet.
I tehnički, mi stvarno mogli nazvati
ZA SVAKU stvar -
vjerojatno biste trebali prebrojiti sve linije ako
idemo to učiniti.
JOSEPH: [nečujan]
DAVID MALAN: [nečujan]?
Ok, u redu, u redu, mi ćemo to učiniti svoj put.
U redu, tako korak pet, kako ćemo to učiniti pravu čarapu?
Kako smo nastavili dalje, ovdje?
Da?
PUBLIKA: Podignite desnu nogu.
DAVID MALAN: Podignite desnu nogu, Ok.
Korak šest?
Brzo.
Da.
PUBLIKA: Pronađite otvoreni kraj čarapa.
DAVID MALAN: Ok, pronaći otvoreni kraj čarapa.
Pa dobro.
Dakle, ovdje, iskreno, vrlo čest nagon samo biti
staviti na desnoj čarapu, ali da je također prilično nejasna.
Ako računalo ili ljudsko zna točno što to znači,
to neće biti izvršiti da, pa evo, ja sam
Našli otvaranje dionice.
Korak sedam?
PUBLIKA: Dodirnite prste.
DAVID MALAN: Touch prstiju.
Ok, tako da sada idemo -
U redu, ja ću uzeti neke slobode ovdje.
Hvala.
Korak osam?
Stavite na čarapu.
Ok, tako da sada sam, mislim da smo dovoljno blizu da vrsta uzeti
ovo kod kuće.
U redu, tako to ide gore.
Uzet ću neke slobode s tim što to znači, zapravo.
Stavite čarapu na.
U redu, sada korak devet?
PUBLIKA: Put nogom.
DAVID MALAN: Hvala.
Korak devet, staviti nogu dolje, i sada, možemo ponoviti.
Dakle, vjerojatno, sada možemo ići u korak 10 i reći identificirati
lijevo čarapu, ali to je vjerojatno već učinili.
>> I tako onda ja mogu sortirati od ponoviti ove korake.
No, ova vrsta postavlja pitanje.
Prije, zadnji put kad smo htjeli ponoviti nešto, mi
Uspjeli iterativno, opet i opet, ZA
Svaka petlja da se tako izrazim.
Bi li to smisla koristiti petlju kako bi se nositi i
lijevo i desno čarapa?
Budući da se osjeća kao ovi poslovi su prilično
identične, osim činjenice da je jedan počinje ovdje i jedan
počinje ovdje?
Hoćemo li petlju, ili mi samo držati pisanja korake
10 i 11 i 12?
PUBLIKA: Petlja.
>> DAVID MALAN: Ok, tako da petlje.
Ja sam zapravo mogao reći samo zadržati ide.
Pa zašto je to tako?
Pa, to je zapravo prva naša ne-očito
dizajn odluke, u stvari, jedna od metrike s kojima
počet ćemo procijeniti, za sebe i za vas,
Kvaliteta programa je samo koliko dobro osmišljen je.
Jeste li učinili minimalnu količinu rada potrebnu za
dobiti posao učinio najviše brzo, bilo u smislu
vaše vrijeme ili u smislu računala prikazivati ​​vrijeme?
Koliko operacija ne traje izvršiti?
Dakle, nedvojbeno, to je prilika za petlju, jer
čim sam početak kopiranja i lijepljenja, kao Josipa učinkovito
bi početi raditi u jednom trenutku, kad si ljubazan prosipati tvoj
vrijeme, a vi ste se dvostruko izražajan.
>> Ali, u isto vrijeme, to su zapravo samo dva posebna
slučajevi, lijevo i desno.
I dok je prije, možda ću imati 10 ili 20 ili više čarape u
gomila, to definitivno ima smisla ne imati 50 redaka
Kod rekavši provjeriti ovu čarapu, onda sljedeći,
onda sljedeći.
Evo, to je malo manje očito, a ja bih predložio
da bismo mogli ići u oba smjera.
Mi ni mogao imati tu petlju, iako je to samo petlje
dvaput, ili smo jednostavno mogli kopirati i zalijepiti samo malo
ovdje kako bi dobili posao ispunjavanja.
No, ovaj program je lud, da se tako izrazim.
To bi moglo imati neke pogreške, pogreške ili kutne slučajeva, tako da
govoriti, da mi nije stvarno predvidjeti.
Ništa je pošlo po krivu ovaj put, ali ono što nije pošlo krivo
dok izvršavanju ovaj program?
PUBLIKA: Vi nemate nikakve čarape.
>> DAVID MALAN: Dakle, tu bi mogao biti nikakvih čarape tamo uopće.
Dakle, neka je uzeti u obzir da je corner slučaj.
Dakle, ako bismo mogli pomicanje natrag do jedan korak, pa korak je bio
savijati prema dolje, tako da se provjerava.
Korak dva, pokupiti svoju čarapu, ali onda pronaći odgovarajući čarapu,
identificirati desno.
Mi vrsta napravio hrpu pretpostavki, a to je,
iskreno, zašto Program ponekad srušiti.
Ako ste, programer, napravio neke pretpostavke, kao što su
sigurno postoji će biti čarape ili sigurno Doći će
biti memorija lijevo u računalo, sigurno postoji ide
biti disku lijevo na tvrdom disku -
Pa, ako bi ove pretpostavke, a to nije,
Zapravo, stvarnost, tko zna što se ponekad računalo je
će to učiniti?
A ponekad, kada se vrti na plaži loptu ili
smrznuti Windows ili slično, to je upravo zbog neke
programer nije predvidio one takozvane slučajeve kutak.
Što drugo mogao otići krivo u ovom programu?
Da?
>> PUBLIKA: Vi nemate desnu nogu i lijevu nogu.
DAVID MALAN: Dobro, možda ne imati i desnu nogu i
lijeva noga, i tako ovaj program ne može biti univerzalno
primjenjivo.
Drugi?
PUBLIKA: Možda ste pokupili siroče čarapu.
DAVID MALAN: Možda sam pokupila siroče čarapu, pa
ne podudaranje čarapa da samo nema braće i sestara, jer ja sam
ga izgubio, to je rastrgan, to je u pranju i dalje, ili slično.
Tako da, također, nije stvarno obrađen.
Da?
PUBLIKA: Možda već imate čarape.
DAVID MALAN: Ja već mogu imati čarape na.
Nisam zapravo provjeriti.
AKO nemate čarape, a zatim nastavite raditi
crta jedan i dva.
I to bi se moglo dogoditi.
Vi zaspati sa svojim čarapama na i slično, tako da
da, također, vrlo razumne kutak slučaj.
I možda jedan drugoga?
PUBLIKA: čarapa je iznutra prema van.
DAVID MALAN: Dakle, čarapa je iznutra prema van, tako da smo napravili nikakvu pogrešku
provjere, u kratko.
Nismo provjerili je li država u svijetu je kao što smo očekivali.
Nismo provjerili smo zapravo našli ono što tražimo.
>> I iako je to vrsta smiješan primjer
uključuje čarape, na kraju dana, to je upravo
vrsta razmišljanje morate imati prilikom pisanja programa,
čak iu Scratch kao iu C, u JavaScriptu, u PHP-u,
jer inače, vaši programi će izlagati
protuvrijednost toga vrti plaže lopte ili samo dati
netočne rezultate.
Dakle, puno hvala ovdje za naše pisar Josipa.
[Pljesak]
>> DAVID MALAN: U redu, tako što je, u
Činjenica, računalni program?
Pa, neka je brzo pogledao
Predstavnik jedne ovdje.
Dakle, ovo je program napisan u jeziku zove C. C
prilično stare ovih dana, ali mnogi noviji jezici su izgradili
na vrhu.
Doista, PHP, jedan od web-orijentirane jezike ćemo
koristiti prema pojma o kraju, i sama ima ono što se zove
tumač, program koji je napisan u C, ali više o tome
u mnogim tjedana od sada.
No, ovaj program, a to je ono što znači pisati
Program, iako je vrlo jednostavan.
Mi imamo neke prilično grobni sintaksu ovdje, ali možete
vjerojatno pogoditi, čak i ako ste nikada nije programiran prije, što
ovaj program radi.
Doista, ne znam što printf je, ali sigurno ispis
dočarava ideju ispis nešto.
I tako da, ovaj program je u konačnici će ispisati
riječi: "Hello, World".
>> Sada, da li imate Mac ili PC ili Linux računalo, izgledi
su, barem ako ste preuzeli neke slobodno
dostupan softver, mogli su pisanje programa na
svoj laptop za neko vrijeme sada.
Na Mac OS, na primjer, tu je to program koji se zove
Terminal koji dolazi s Mac, to je obično u vašoj
Komunalne mape, i to uglavnom otvara crno
bijela ili bijela i crna prozor na kojem imate
potaknuti na kojoj možete upisati naredbe.
Dakle, ovo je zapravo podsjeća na ono što računala
koristi se prije grafičko korisničko
sučelja, GUIs, došle.
Sada, u Windowsima, imate sličan mehanizam u obliku
od naredbenog retka.
>> No, ono što ću učiniti ovdje je otvoriti, recimo,
TextEdit opet, tako da isti program smo koristili za
pseudocode trenutak prije, a ja ću ići naprijed i
napisati svoj prvi program.
Uključi stdio.h, što god to značilo, int glavni
void, što god to značilo, a zatim u sredini ovdje,
printf ("Hello, svijet."). A onda se u blizini citat,
zatvoriti paren, točka.
Sada ću ići naprijed i samo pogodak Command-S. Idem
ići naprijed i spremite to kao hello.c, tako konvencije
svijet C programiranja je ime datoteke dot c.
Ja ću samo staviti u Johna Harvarda home direktorija,
Ovdje, kliknite Spremi, a sada ću ići preko toga
terminal prozor, što opet je to crna i bijela brz
gdje mogu izvršavati naredbe.
>> Ja mogu pokrenuti programe upišete svoje ime, a ne
dvoklikom ikone u uobičajenom smislu.
No, stvar je o tome da je C jezik kao C prvi
dolazi u ovom obliku, nešto što se zove izvorni kod.
Nešto što izgleda malo kao engleski, ali je
definitivno manje kao engleski nego Josipa pseudocode
trenutak prije.
To je malo više tajanstvena.
Čini se da slijedite neke uzorke ili pravila.
Činjenica da imam vitičastih zagrada, zarezom, citati,
kut aparatić, osjeća kao računalo je došao gore sa ovaj
vrsta jezika.
Ali ako odem, sada, ovog prozora terminala, mogu pokrenuti
naredba koja će se pretvoriti taj izvorni kod je
nešto što se zove objektnog koda.
To će pretvoriti Engleski-poput sintaksa za nula
i one, iste vrste nulama i one koje
govorio o srijedu.
Sada, ja ću pokrenuti naredbu zove zveka.
Više o tome u tjednima koji dolaze, ali to je program s
koji sam može pretvoriti u hello.c cijela hrpa
nula i one.
>> Sada, ja sam pokrenuti ovu naredbu.
Ja sam pokrenuti zveka, a onda sam rekao sebi izvoditi na ovoj datoteci
zove hello.c, koji sam stvorio trenutak prije, a
ništa ne čini da se dogodi.
Ali doista, ako sam poked oko moje kuće imenik, ja bih vidjeti
da je to glupo ime Program a.out sada postoji.
Ovo je samo zadani naziv za program pri pisanju
C. Mi može nadjačati ovo na kraju, ali je a.out
Naziv programa sam samo pretvaraju u nulama i one.
A sada da je nula i one, moj Mac, u ovom slučaju, ili
Windows računalo, mogu razumjeti one komadiće, te
nule i jedinice.
I tako, kada sam pogodio Enter, vidim "Hello, world!"
>> Ali to je malo lud.
Nisam sasvim reći "Hello, svijet: zrak: -! Jharvard." Klima je
ime moje računalo.
Jharvard je naziv računa, tako da ono što sam jasno
izostaviti iz programa?
Neka vrsta retka.
Nisam pogodio ekvivalent Unesite ili carriage return,
i to je, opet, svjedoči i činjenica da računala mogu
samo učiniti ono što vam reći da učine.
A činjenica da nisam reći računalo premjestiti
pokazivač u sljedeći redak -
dobro, to sigurno je neće samo to učiniti
drskosti za mene.
Dakle, ako se vratim u moj program, a ja kažem \ n -
Dakle, \ n, kao što ćemo uskoro vidjeti, je način
predstavlja čudne stvari poput nove linije likova, stvari
koje bi inače biti rezultat
udaranje Enter.
No, za sada, samo znam da je udaranje Enter bi
Upravo bi naša kod izgledati čudno, pa svijet odlučio, znaš
ono, da bi se stvari ljepše, da ga zadrži na jednoj liniji, ajmo
samo reći \ n predstavlja novu liniju.
Dopustite mi resave moj dosje, vratite se na prozor terminala, a
re-run a.out, Enter.
Ipak lud, ali zašto?
>> PUBLIKA: [nečujan]
DAVID MALAN: Da, pa sam ga morati rekompiliranje.
Dakle, sastaviti program samo znači pretvoriti ga iz izvora
koda objektnog koda, izvornog koda na nula i one.
Sada, sama činjenica da sam pogodio Spremi u ovom TextEdit nema
imajući na tim nulama i one jer sam najprije morate
Reci zveka hej, ja sam promijenio one linija koda,
koda.
Morate regenerirati a.out.
Ništa se ne pojavljuje da se dogodilo, ali u računalu,
u zapovjednoj liniji, da se tako izrazim, kada se ništa ne događa,
To obično znači da je sve dobro.
Kada nešto ne dogodi, to znači
ste zabrljati gore, općenito.
>> Dakle, ajmo sada ići na a.out, i doista sada, ja imam "halo,
svijet. "
A sada, što je s tim nulama i one?
Gdje, u stvari, oni?
Pa, ja ne mogu zapravo samo vrsta džaku okolo vrlo
učinkovito.
Dopustite mi da se otvaraju TextEdit.
Evo a.out.
Pusti me naprijed i otvoriti ovo, a to je očito ono moje
Program izgleda.
Tako sam otvorio, ne hello.c, ali a.out.
No, to zapravo nije ono što moj program doista jest.
Jasno, ovo je neka vrsta abecednom znakova.
Ja ne vidim nula i one, ali to je
jer a.out je program.
Nula i one - ali TextEdit, kao što ime sugerira, to je
baš kao Notepad na Windows, samo je tekst editor, tako da je
zbunjujuće sve one nula i one kao
iako su, što?
ASCII znakovi.
>> Dakle, prisjetimo se u srijedu, samo mi je došao gore sa ovaj
proizvoljna mapiranje brojeva, ili komadići, da slova
abeceda i interpunkcijski simboli i slično.
Dakle TextEdit, da je tekst editor je pogrešno
te obrasci nula i one koje bi trebale biti
tisak riječi, poput "Zdravo, svijet." To je prikazujući ih
kao ASCII, i to je razlog zašto to izgleda malo neuredan.
Sada, postoje neke naznake korektnosti u ovdje.
Obavijest ako sam istaknuti, postoji naznaka zapravo "halo,
svijet ", tako negdje u tom programu je
rečenica sam napisao.
Ali idemo naprijed i sada vidim s drugom programu.
Ovo nije jedan koristit ćemo se često, ali ona također dolazi s
Mac i bit će unutar CS50 aparata.
Pusti me naprijed i otvoriti s programom pod nazivom XXD.
>> Natrag u dan, većina programa imenovani su prilično šifrirano,
i tako trend se nastavlja.
Ali-b znači pljuvati ovaj program je kao binarni.
Nemojte ga pokrenuti.
Prikazati ga na mene kao nula i one, a to je C
programirati samo smo pisali.
Sada, ja sam, kao čovjek ovdje, ja iskreno nemam pojma što
ti razni oblici nula i one predstavljaju.
Natrag u dan, ja, s mojim bušiti kartice ili slično, bi
zapravo morati potražiti ono što ove različite obrasce
01111000, zapravo predstavljaju.
Ili još gore, ja bi trebao učiniti probijanje ili stvaranje
tih obrazaca nula i one.
Ali za sada, uzeti na vjeri da je CPU, Intel unutra, tako
govoriti, unutar svih naših računala ovih dana, ne zna
kako tumačiti ove nule i one.
A neki nula i one znače ispis.
Neki nula i one znače igrati zvuk.
Neki nula i one znače uzeti korisničkog unosa iz tipkovnice.
Tu je sve vrste različitih uzoraka, ali smo, srećom,
kao ljudi, samo općenito treba brinuti o programiranju na
ovo prilično viša razina.
I u drugim CS razredima možete prekapati dublje dolje i pogledati
na stvari poput onih nula i one, ili još
druge stvari još uvijek.
>> Pa sada neka to pretvoriti.
Idemo vrlo brzo od C i premjestiti na nešto na
malo više utješno, malo više uzbudljivo, u to
možemo vratiti naše animacije i zvukove i kao da
jasno nam je pobjegao u to
prilično primitivno sučelje.
Dakle, taj isti program u C može biti zastupljeni sada u ovom
programski jezik naziva Blok kako slijedi.
Ovo je ekvivalent ovom Hello World programa pisanog u
ovaj stil zagonetka komad jezik zove Scratch.
Pa neka mi ići naprijed i otvoriti ovaj upravo program.
To opet zove Scratch.
To je slobodno dostupan, a to je ista stvar mi
započela je danas na.
>> Dakle, ovo ovdje je ispočetka, a to je razbijena na nekoliko
različiti dijelovi.
Na samom vrhu desno, imamo takozvanu fazu, a
dapače, to je mjesto gdje su kolačići
izvodi samo malo prije.
I na toj pozornici su se stvari nazivaju sprites, likovi, ili
predmeti ili osobe.
To ne stvarno obzira koliko mislite o njima, ali oni
su programabilne, pokretne stvari, au ovom slučaju, to
program koji naš učenik napisao ima par medenjaka
kolačići, par okruglih kolačića, cijela hrpa
srca, cijela hrpa naočale.
Zbog toga, on ili ona je u stanju programirati svaki od onih
pojedini likovi odvojeno.
>> Sada, što znači da se program ove znakove?
Pa, dopustite mi ići naprijed i kliknite na ovaj lijevoj kolačić
i pomaknite se na gornjem lijevom ovdje.
U gornjem lijevom kutu mog ekrana sada je
tzv skripte područje.
To je vrsta prazno škriljevca, u početku, na kojem mogu
povucite i ispustite slagalice koji, iskreno, učiniti
točno ono što oni kažu.
Na samom vrhu ovog hrpom slagalice je riječ
Kada Zelena zastava Kliknuto, a ako niste primijetili prije,
Tako sam počeo da kolačić pjesmu je klikom, doslovno,
zelena zastava.
Tako da zagonetka komad na gornjem lijevom kutu tamo znači kada
ljudska klikne zelena zastava, nastavila raditi
sljedeće stvari.
>> Sada, ono što su oni Cookie nastaviti raditi?
Ja stvarno ne znam kako se to tumači, no
Cookie očito postaviti svoj žlijeb na nulu, onda je čekao
tri sekunde, onda je promijenio svoju skupinu na jednom, onda je to
čekao drugi, onda je promijenio svoje
utor na jednu.
I onda je to zapravo izgleda malo bug, ne treba
morati promijeniti svoj ritam i opet, osim ako je
se mijenja i drugdje, ali ovaj niz koraka je ono što je
diktira ponašanje konkretnom kolačić.
Dakle, neka je zapravo pomicanje natrag i ne gledati na nešto
toliko složen još.
Dopustite mi da ide naprijed i ići na File, New,
i dobiti čistu škriljevca.
>> Pa sad, ja doista imamo prazan prostor, skripte praznoj pozornici,
s našim Scratch zadani sprite, a na gornjem lijevom
na mom zaslonu moram na postelju svih njihovih
Ekonomski slagalice.
I nećemo proći kroz gotovo da su mnogi od tih stvari
danas, jer, opet, većina su samorazumljivo, ali ćemo
pokušati ih kategorizirati i ukazati na sličnosti
s tim budućim jezika na kojem ćemo roniti.
I na gornjem lijevom ovdje je prvi Kada Zelena zastava Kliknuto,
pa neka mi povucite ovo ovdje, zoom out malo.
I ako kliknete na zeleni zastavu, ništa se zapravo događa, jer
Nisam prilogu bilo logiku, bilo izjava da se tako izrazim, na
da zelena zastava, tako da me pusti do
Kategorije ovamo.
Ja sam trenutno u upravljačkoj kategoriji.
Ja umjesto idem dolje do izgleda kategoriji, a
tu je cijela hrpa stvari ovdje kažu Recimo,
Razmislite, promijeniti boju, Switch kostim.
>> Dakle, što možete učiniti gluposti s kostima i
zvukovi i slično.
Dopustite mi da ide naprijed i samo reći Say, a sada primjetiti kako sam povucite
i ispustite ovu slagalice, ona će htjeti kvaka
u odgovarajući oblik.
Dakle, kada sam ići naprijed i pustiti moj miš, oni zaključavanje
zajedno, a sada ako odem ovamo i kliknite na zelenu zastavu,
mačka zapravo ne pozdraviti, jer to je ono što je unutra
ove bijele kutije.
Uskoro ćemo vidjeti da je ovaj bijeli okvir je ono što se zove
argument ili parametar.
To je način mijenja ponašanje, u ovom slučaju,
puzzle komad, ali ako želim reći točno ono što sam rekao
prije, pozdraviti, svijet, ja sada mogu vratiti ovamo,
kliknite igrati, a "hello, world" je ono što je rekao.
>> Tako smo doslovno programiranje sada.
To nije sve što je uvjerljiv programa, ali barem
to je malo više nego uvjerljiv nešto što izgleda, na
prvi pogled, kao što je ovaj.
I možemo vrlo brzo dobiti sve više izražajan
jer u nule, kao i na drugim jezicima, tamo je sve
vrste izvještaja, a ne samo reći ili tiskanje nešto, ali
možete učiniti stvari kao što je čeka, kao što smo upravo vidjeli s
Cookie, neki broj sekundi.
Možete igrati zvukove u okolini nule samo
kao što možete u normalnoj računalnog programa play zvuka.
Možete provjeriti što se zove Boolean izraza.
Tako sada, krenimo dodati na naš alat neke terminološke
koji zapravo odnosi na primjer da je Joseph i ja učinio
ovdje s čarapama.
Dakle izjave su samo izjave činjenice.
Učinite to.
Direktiva za sprite, ili ja čovjek, nešto učiniti.
Logički izraz je nešto što ima vrijednost,
Takozvani istina vrijednost, to je bilo nula ili jedan, ili lažno
istina, ili isključiti, ne ili da.
Zar stvarno ne obzira koliko mislite o tome, ali to je
binarno stanje.
Kao što je Nate raspravljati u srijedu video, dva
različite stvari.
>> Tako je u nule, Boolean izraza dogoditi da pogledate
poput ovih plavih objekte ovdje, u ovom slučaju, pitanje
Oznaka znači da ste molba pitanje.
Je mačka, ili Sprite, dira miša?
Dakle, ovo je samo jedan primjer Scratch blok koji se događa
kako bi se omogućilo nam da provjerite da ili ne, to je miš dira
Sprite na zaslonu?
I to može biti korisno ako stvarno želite učiniti stvari
s mišem.
Osim Boolean izraza, imamo stvari
kao što je miš prema dolje, tako da možete otkriti takvu
pitanje kao dobro.
Mi možemo učiniti matematiku ako stvarno želite, a tu je
zapravo više uvjerljivi koristi za to nego samo čista
aritmetika, kao što ćemo vidjeti.
Pseudo slučajnost i izradu programa čini se da misle
ili drugačije ponašaju na temelju nekih naizgled slučajnih vrijednosti,
i onda imamo stvari poput Boolean izraza poput I.
Dakle, ako zaista želite provjeriti dvije vrijednosti, vidjet ćemo u
Zagrebite da zapravo možemo testirati, ako je to
istina i to je istina.
Na primjer, u slučaju mojih čarapa, mogao sam na
samom kraju postavio pitanje, ako lijevo čarapa je na desnom i čarapa
je na, prestati.
Svi ste učinili za taj dan, tako da će biti
prilika za to.
>> Dakle, idemo naprijed i pokušati komad neke od njih zajedno
i otići u nekoliko primjera više
uvjerljiv od ovoga.
Pa neka mi ići naprijed i ovdje otvoriti neki od primjera
da će uvijek biti na stazi web stranici, kao i, i
otvoriti hello2.
Tako je u hello2 ovdje, imamo program koji radi malo
stvari, ali to nije to rade kao učinkovito kao što smo mogli.
Dakle, ovdje se kaže "Hello, World" za jedan drugi i onda čeka
za drugi.
A onda ga ne opet, a zatim ga ponovno ne.
Dakle, ako sam pritisnite zelenu zastavu, Scratch kaže: "Zdravo, svijet.
Pozdrav, svijet.
Pozdrav, svijet. "A to je očito kandidat za sada
poboljšanje.
>> Što je marginalna poboljšanja, nadamo se, možemo
sada napraviti ako Scratch podržava koncept?
Neka vrsta petlje.
Neka vrsta ponavljanja, sad bi bilo lijepo, pa neka mi
zapravo pokušati da.
Dopustite mi zapravo ide i premjestiti to.
Dakle, obavijest može odvojiti blokova lako kao što možete dodati
spojite ih.
Pusti me pod kontrolom, dođite ovamo, i doista,
tu je ovo zagonetka komad ovdje, ponoviti i zauvijek i
Zauvijek Ako.
Dakle, postoji nekoliko načina izražavanja petlje konstrukti
u nule.
Jednom sam vjerojatno želite ovdje nije zauvijek, jer sam samo
želite da se to dogodi tri puta, ali vjerojatno ponoviti.
Pa neka mi povucite Ponovite ovamo, povucite i ispustite ga, a
sada, umjesto da se kaže "Zdravo, svijet" tri odvojena puta,
neka mi povucite slagalice ovdje.
I iako se ne čini da stane, program je pametna
dovoljno da shvate da će rasti ispuniti, tako da je
oblici koji stvar, a ne apsolutna veličina.
Dopustite mi da promijenite ponavljanje na tri, a sada pusti me
naprijed i povucite Čekaj jednu sekundu tamo, kao dobro.
To će puknuti kao dobro, pa sad ću povući
ti dečki više ovdje i samo ih baciti jer sam
ne trebate ih više.
Dopustite mi da smanjivanje i kliknite na zelenu zastavu sada, a imamo
isti program, ali, kao što sam predvidio prije, bolje
dizajniran jer možete zamisliti kako je loše ovaj program
bi se, svakako estetski, ako je to
započeti kopiranje i lijepljenje, kopiranje i lijepljenje, ili
povučete i ispustite iste darn stvari opet i opet.
>> Sada, jednostavno govoreći stvari na ekranu, ispis na
zaslon, stvarno nije sve tako uzbudljivo, pa ajmo otvoriti
treći varijanca ovdje.
I sada, kao što ćete vidjeti, to brzo ćete dobiti neugodno -
[Meow]
DAVID MALAN: - ali to je također sladak.
[Meow]
DAVID MALAN: Ok, pa bolje, a mi svakako može koristiti da
Isti prijelaz komadanje ovo gore u loop
struktura, ali budimo bi ga više zanimljiv i dalje.
>> Pusti me naprijed i otvoriti četvrtine varijancu ovdje, gdje sam
uzeti stvari jedan korak dalje.
Dakle, prema tome, glup iako je to na prvi pogled
pogled, što je ovaj program će učiniti?
To će Mijau jednom.
Zašto?
Pa, jednom je, koliko ja znam, uvijek manje od dva.
Nema pojma slučajnosti ovdje.
Ja sam doslovno tvrdi kodirani jedan i dva, ali to je
Primjer sada je zapravo koristi Boolean izraza.
Mnogo se sviđa kako je Josip učinio u svom pseudocode, udubljenje AKO
vam podudaranje čarape zatim učinite sljedeće, ovdje imamo
Izraz IF jednom je manje od dva ONDA -
i zapravo mi ni malo uvlačenja,
gdje ljubičasta malo je razvedena na desno -
ONDA ćeš igrati zvuk Meow.
Sada, u ovom slučaju, da je jedan uvijek manje od dva, tako da je ovo
je vrsta otpada stanju.
No, mi ćemo biti u mogućnosti, kao što ćemo vidjeti, priključiti i druge stvari u
ove rezervirana mjesta gdje je jedan i dva sada su.
Dakle, ajmo sad prešli na primjer pet od tih nekoliko
hellos i pogled na ono što ovaj program će učiniti.
>> Tako sada, u engleskom kazne, kako to
Program se ponašati?
PUBLIKA: Woofer pola vremena.
DAVID MALAN: meow je pola vremena, tako da je ovo način
prenoseći vrlo jednostavnu ideju.
Iako mi se dogoditi da se pomoću neke nejednakosti ovdje
u nekim brojevima, to je stvarno samo programske
način, precizan način, kaže, ako novac dolazi do glave, otići
naprijed i meow.
Ili obrnuto, ako novac dolazi do repa, ne meow.
I u ovom slučaju, kako ćemo izraziti da?
Mi ćemo odabrati slučajni broj 1 do 10, a ako to
broj je manji od šest, ići naprijed i meow.
A kako je to doći ovamo?
Pa opet, primijetit samo povlačenjem i ispuštanjem i
stvari sjedne na mjesto.
>> Dakle, sada ćemo vidjeti ako je to slučajnost radi.
Dopustite mi ići naprijed i kliknite na zelenu zastavu.
[Meow]
DAVID MALAN: Ok.
[Meow]
DAVID MALAN: Ok.
Dobro, dobro, tako da smo dobili glave, glave, repove učinkovito.
Repovi.
[Meow]
DAVID MALAN: šefovi.
[Meow]
DAVID MALAN: Izvrsno.
To je uvijek neugodno kad samo statistički ste dobili loše
pokrenuti, i to je sve glave, a program je zapravo ne
raditi kao što bih se nadam.
Ali ovaj put, to je radio, a mi se čini da su, ako nismo
to neograničeni broj puta, 50% šanse.
Sada opet, nije sve što je zanimljivo, samo što mačke
meow, pa ćemo vidjeti, ako ne možemo napredovati ovo malo dalje
ovdje u verziji šest.
Dakle, sada smo stvarno neugodno verziju -
[Meows svakih nekoliko sekundi]
DAVID MALAN: - i to je ono što je poznato, općenito, kao
beskonačna petlja.
>> Dakle, beskonačna petlja u ovom slučaju se osjeća loše.
To definitivno će započeti sondiranje loše, a ipak beskonačno
petlje nisu uvijek loše.
Možete li se sjetiti konteksta u računalne programe kojima želite
zapravo žele beskonačnu petlju?
Da?
PUBLIKA: Kada želite provjeriti stanje.
DAVID MALAN: Dobro, kad želite zadržati provjere stanje?
Sviđa mi se što?
PUBLIKA: [nečujan]
DAVID MALAN: Dobro, dobro, tako da ako ste imali neki program, neki
vrsta kućne automatizacije stvar, gdje želite da se stalno
Monitor je nešto slučaj.
Jesu li svjetla na?
Jesu li svjetla na, jer možda imate vremena, a
želite da ih otići, možda ćete morati učiniti nešto
opet i opet.
A u stvari, govori o vremena, bilo tko od vas koji su
satovi na vašem računalu ili digitalnih satova, koji je
beskonačna petlja.
To i dalje ažurirali vrijeme, jer je stalno
provjere i provjere i provjere ima vremena promijenila,
i ako je tako, oh, moj bože.
Sat konačno promijenila.
To treba prikazati tu vrijednost za vas.
Dakle, dok je većinu vremena beskonačnih petlji su pogreška,
ili barem lošem dizajn odluke, ponekad im je činiti
imaju svoju vrijednost.
>> Pa, neka je unaprijed dalje ovdje hello7.
Dakle, sada će program dobiti malo više interaktivni.
Dopustite mi povećali ovdje, i opet, to je ono što je lijepo
oko nule.
A mi ćemo ga koristiti da bude jasno, Scratch, samo danas i na
sljedeći tjedan je problem postaviti.
No, u ponedjeljak, možemo zaroniti u C. U ovom programu ovdje, to ne,
zauvijek, sljedeće.
AKO dira miša - sada, tko je
kontekst ovdje?
Pa, i obavijest da onaj tko je izabran ovdje dolje na dnu
Pravo je mačka, Sprite jedan, tako da ove skripte, to
Program, vrijedi i za njega posebno.
Dakle, ako je to mačka je dira miša, onda to ide
igrati ovu dolje i pričekajte dvije sekunde, a
ponovite oglas nauseum.
>> Dakle, idemo naprijed i udario igru.
Ništa se ne događa, ali ako želim ljubimac
mačka sada, ja mogu jednostavno.
[Meow]
DAVID MALAN: Sladak.
[Meow]
DAVID MALAN: Ok, manje neugodno, ali također dobiva dosadno,
pa krenimo dalje i vidjeti ako ne možemo ubrizgati
malo više logike.
To je primjer sedam.
>> Ovdje u primjeru osam, idemo
uvesti drugo stanje.
Toliko kao doslovnom račvanju u ceste, u kojem možete ići
lijevo ili možete ići desno, stanje u programiranju
jezik kao Scratch, ili kao što ćemo vidjeti C, može vam omogućiti da
ići u jednom ili drugom pravcu preko AKO JOŠ graditi.
Dakle, sasvim doslovno, AKO dira miša, to
igrat će neki zvuk, inače će igrati ovaj drugi
zvuk, mijau.
Sada, ako možete zaključiti iz naziva tih zvukova, možete
vjerojatno pogoditi što ovaj program je značilo da se smisli
Ideja.
Ova mačka je meowing sretno.
[Meow]
DAVID MALAN: Sretno, ali ne
sasvim se sviđa da se dotaknu.
[Grmi]
DAVID MALAN: Dakle, sada imamo mačka koji će vikati na tebe.
>> Dobro, dobro, posljednji je primjer s mačkama ovdje, i
neka je otvoren verzije devet ove ovdje.
Tako sada imamo sljedeću najviše uznemirujući zvuk da sam mogao
pronaći, tako da imamo morža ili morski lav ovdje tko će
učiniti sljedeće.
[SEAL kora]
DAVID MALAN: Ok, tako da će to ići na sve dok ne shvatite kako
ovaj program radi.
Dakle, ovaj put, ova životinja ima dvije skripte, a što je
Zanimljivo je da su ove skripte će izvršiti
paralelno.
Pa zato što su oboje počinju s jednom zelenom zastavom kliknuli,
to je kao da ide ovako, a oba programa početi prikazivati
jednom, čak i ako oni petlje zauvijek.
Dakle, u gornjem scenariju, imam neke logike.
Koje značajke koje pružaju tamo gore?
[SEAL kora]
PUBLIKA: [nečujan]
DAVID MALAN: Ako je to ono što?
[SEAL kora]
PUBLIKA: Ako isključen na nulu, to će nastaviti igrati
zvuk. [SEAL kora]
DAVID MALAN: Dobro, dobro.
Dakle, ako isključen, bez obzira na to je, to narančasta stvar je nula,
ONDA igrati zvuk morski lav i mislim: "Oh,
hi, "za dvije sekunde.
Sada, ja ne znam što je isključen je, ali nula dočarava
Ideja pogrešna ili isključiti.
Dakle, ako isključen je lažna, tako da ako se ne stišava,
držati igranje zvuk.
Dobro, dobro, kako ćemo onemogućiti ovu stvar?
>> Pa, pogledajmo drugom scenariju tamo dolje.
Drugi scenarij, kaže postavili isključen na nulu.
Obavijest je također narančasta, pa što ne Scratch je to boja
blokovi u istoj nijansi, ako je to neka vrsta
logično povezani.
Dakle, baš kao što isključen do vrha je narančasta, pa je isključen ovdje dolje
spomenut u narančastom blok.
Ali ovo je varijabla zadatke, tako da baš kao iu
algebre, imate X i Y i Z, u programiranju imate
varijable, ali oni su općenito -
neka je stanka za trenutak i lik kako
da se zaustavi ovo lajanje.
Kako to učiniti?
[SEAL kora]
DAVID MALAN: Ok.
To zaustavljen. Ok.
>> Dakle, baš kao u algebri imate varijable x, y, i z, ali u
programiranje, da varijable kao x, y, i z je općenito
frowned jer oni uopće ne izražajan.
Oni nemaju semantički smisao bilo, pa je tako u većini
programski jezici, varijable mogu imati pun
ravnopravni imena ili riječi ili fraze, poput isključen, reći
ono što im je činiti.
Dakle, ovaj drugi scenarij je također slušanje zauvijek, a to je
ako ključ, prostor tipkovnica ključ, je
pritisnuta, upitnik.
Dakle, tu je stanje sa Boolean izraza koji je
će odgovoriti na pitanje bilo istinito ili lažno,
onda sam unutar nje AKO prostor pritisne tipka I
AKO isključen je nula, postavili isključen na jedan, JOŠ postaviti isključen na nulu.
Dakle, ovaj drugi vilica na cesti, a obavijest kako sam
ugniježđena dva AKO uvjeti, način provjere je
Razmak pritiskom jer ako je tako, ja ni želite ići ova
način ili na taj način.
I kako sam izvrtati vrijednost isključen?
Moram provjeriti je li to nula?
Ako je tako, čine ga jednom, drugi bi ga nula, dakle za prebacivanje
njegove dvije države.
>> U redu, pa smo onda neke od tih temeljnih
konstrukti.
Imamo Boolean izraza, i shvatiti, također, su
nije sve što je nepoznato.
U stvari, ovdje je brz screenshot Harvarda tečaj je CS50
trgovački alat, a sve web stranice vani da ima okvire
i pad padovi stvarno, sve ovo vrijeme, bio koristeći
Boolean izraza.
U ovom slučaju ovdje, ako kliknete na kvadratić pored
tečaj veća od ili jednaka do 4,5, ili isti uz
fakultet, ti si navođenja Boolean izraza.
Pokaži mi tečajeve za koji izraz je istina.
Ili na desnoj strani, nije u sukobu s tečajevima sam
uzimanja, ako je to provjeriti, a zatim da, želite provjeriti
taj uvjet, drugi ga želite ignorirati.
Dakle, Boolean izraza su vrsta uokolo, ali kada
smo ih stavili u uvjetima, da li AKO uvjetima, AKO
Drukčije, ili možemo čak simulirati dublje
razine, AKO JOŠ AKO JOŠ -
tako da je svojevrsni ternarni države.
Možete ići na ovaj način ili ovako ili na taj način.
Možemo zadržati gnijezde stvari idu u različitim smjerovima.
>> Dakle Scratch ima ove petlje, poput zauvijek.
Ona ima ove značajke kao što su Repeat 10, neki
konačan broj puta.
Mi imamo sposobnost sada da postavite varijable, tako da u ovom slučaju
Ja sam proglasio, na primjer, varijable zvane čarape.
Ja sam inicijalizirane na 0, a to je još jedan smjer
Mogli smo uzeti ovdje s Josipom, pri čemu možda sam
samo pratiti koliko čarape imam na i raskinuti
Program kada tu varijablu je vrijednost dva.
To će biti još jedan način vrsta generaliziranja da
problem i radi nešto opet i opet.
Pa, idemo naprijed i sada uvesti par novih stvari.
Dakle, one od vas s prethodnom programiranje iskustvo će
znam da puno jezika imaju polja, ili vektora ili
liste, i doista, Scratch ima ovako nešto, previše.
Dakle, neka je vidjeti ako ne možemo uzeti stvari na sljedeću razinu ovdje.
Ako imam mogućnost, sada, s ovim slagalice za
dodati nešto, kao što su riječi ili broja, u varijablu, mogu
početi akumulirati stvari.
I to je zapravo prilično apropo za stvari kao što su igre,
uloga igranje igara gdje ste vrsta hodaju okolo
neki svijet mašte prikupljanje stvari, branje gore stvari,
zarađivati ​​bodove, ili slično.
Možda želite pratiti neke vrste inventara, a
dapače, to je ono što jedan od naših bivših studenata ovdje učinio s
nešto što se zove Fruitcraft igranja.
>> Pa neka mi ići naprijed i otvoriti ovu stvar ovdje, au
Fruitcraft, imamo ovaj svijet gore na vrhu.
Pa neka mi ići naprijed i kliknite na zelenu zastavu.
Obavijest u gornjem lijevom kutu je neka vrsta inventure.
To je implementiran u nule, kao što ćemo pozvati niz ili
popis, a sada imamo ovu malu animaciju.
Dakle, baš kao što smo počeli ranije s tom pričom cookie ljubavi,
i onda smo napredovali za mačke i morskih lavova, sada možemo imati
stvari koje su čak i više interaktivni.
I ovo malo plavo tip, ja mogu početi kretati njegove
Malo dom ovdje.
Tako to izgleda kao da je dobio izlaz ovdje dolje, pa ja sam koristeći
se strelicama, gore, dolje, lijevo desno.
I sada sam vani, pa neka je što sam došao ovdje.
Izgleda poput naranče, i doista, čim sam dodir
naranča, to dobiva plopped u moj inventar.
Ako idem ovdje na trešanja, sada imam nešto
drugdje u mom zaliha.
I to je sve lijepo i slatko, ali razmišljam o tome, a sada, to
provodi.
Pa, imamo taj pojam popisu, a to je očito
zagonetka komad koji vam samo reći ono što želite dodati na njega, dodati
naranče, dodati višnje.
Sada, što je to malo plavo tip radi?
Pa, on je čarobnjak.
I vjerojatno, naranče i trešnje -
su i sami bili odvojeni duhovi.
I pomoću uvjeta u Boolean izraza, na
Učenik je vjerojatno bio u stanju izraziti AKO plavi momak je
dirati trešnje zatim dodajte trešnje riječi na njegov
inventar, a potom i sakriti trešnja sprite.
Dakle, ispod poklopca motora, vjerojatno još uvijek je trešnja
Sprite postoji.
Upravo smo ga rekli da postane učinkovito nevidljiv.
>> Sada, ako sam držati hodanje ovamo, možemo to učiniti
proksimalni stvar, gdje mogu ići i čitati znakove.
Dakle, ako plavi dečko dira znak, možemo imati taj blok reći
baš kao mačka govorio nam je u riječima, halo, ranije, "Got
neko voće?
Donesite voća mjestu. "U redu, tako da sada, očito,
Imam moje upute.
Ja mogu ići ovdje na voćni mjestu, ja se postroje
s vratima.
Sada, ja sam ovdje.
Ja mogu ići do čovjeka na šalteru.
On otkrije da sam blizu njega, tako da to ne mora biti
sasvim identično dira, i ja sam pobijedio.
Dakle, tu imamo Fruitcraft RPG.
>> Tako možemo učiniti stvari čak i više naprednih od toga.
Možemo dodati zvukove.
Možemo dodati pseudo slučajnost.
Možemo dodati složenosti.
Pusti me naprijed ovdje, i umjesto da to učinite sebe,
neka mi vam pokazati jedan od sofisticiranijih podnesaka
dobili smo prošle godine iz određenog nekoga po imenu Blake.
Možemo li imati jednog dobrovoljca koji je udoban pojavljuju na
kamera i za igranje igre?
Kako o tamo?
Dođi gore.
U redu, tako da je igra da imate samo neznan
volontirala igrati -
[Pljesak]
DAVID MALAN: - nešto je od prošle godine pod nazivom
"Frogger". Koje je vaše ime?
RENDA: Renda.
DAVID MALAN: Redna?
RENDA: To je kao Brenda sa b.
DAVID MALAN: Ok, Renda.
David.
Drago mi je.
>> Dakle, ovdje u "Frogger", a ako bismo mogli podići volumen samo
malo, vi ste ovo malo
zelena žaba na dnu.
Možete koristiti lijevo, desno, gore i dolje, i vaš cilj je da se
prijeći ulicu, prijeći rijeku, i dodir ljiljana jastučići
na vrhu.
Ah.
Jedan više t -
ponoviti, zar ne?
Ajmo zaustavljanje hit.
Nitko nije vidio da.
[Pljesak]
DAVID MALAN: Da.
Vrlo dobro učinio.
Izvrsno, hvala.
>> Tako da nije bilo Frogger. Sada da znate što ste
sami stečen u, jedan više volontera za različite
Igra poslali drugog učenika.
Želite li doći gore?
Koje je vaše ime?
RICHARD: Richard.
DAVID MALAN: Richard.
U redu, Richard, dolaze na gore.
[Pljesak]
DAVID MALAN: Vi imate nešto što ćete zvuk
upoznati uskoro, pa ovdje su ti upute.
Dakle, u ovom trenutku, neke slagalice će pomicanje prema gore
sa zaslona da ni pogledati lijevo
ili desno gore ili dolje.
Vi ćete morati pogoditi strelicama na takav način
da odgovara tim slagalice obloge s
su rezervirana mjesta na vrhu.
Dakle, kada vidite lijevu strelicu, i to linije s lijeva
strijela, pogodio lijevu strelicu.
Vi svibanj početi.
[GLAZBA - "JAČI" Kayne WEST]
DAVID MALAN: U redu, veliki aplauz za Richarda.
[Pljesak]
DAVID MALAN: Vrlo dobro učinio.
Hvala Vam.
[Pljesak]
>> DAVID MALAN: Dakle, zabavan i, naizgled, vrsta
zastrašujuće, kao da bi moglo biti nešto provesti, kao
naizgled sofisticirani, jer to, shvatite da je student
nije krenuo i samo pisati to sve odjednom.
Umjesto toga, možete razbiti problem što naizgled složen
jer to u puno manjih komada, a to je, također,
će biti tema.
Najgore što možete učiniti u pisanju programa u većini bilo
jezik je sjesti, dobiti stvarno uzbuđen, pisati
Cijeli prokleti stvar, a onda se samo nadam da to radi
vrijeme ste završili pisanje.
Umjesto toga, proces programiranja treba općenito
biti vrlo namjerna, vrlo iterativni, pri čemu samo
postaviti vrlo male korake za sebe, ugriz veličine komada
želiš odgristi, i to tako da imate ove razum
provjere, malo miljokazi možete ispuniti.
I onda graditi na vrhu onih stvoriti više
sofisticirane stvari još uvijek.
>> Tako na primjer, kako bismo mogli ići oko
provedbi igru ​​kao što je ovaj?
Pa, iskreno, ja sigurno bi početi tek
podržava jednu tipku u isto vrijeme.
Ajmo implementirati podršku za lijevu strelicu.
Dakle, student morao nekako stvoriti u Photoshopu, ili u
Sama Scratch pomoću malo grafički urednik, jedan
strelica koja izgleda poput one na vrhu lijevo tamo, samo
siva rezervirano.
Tada učenik morao shvatiti što x, y koordinirati
staviti ga, gdje ga staviti u prozoru.
0, 0 je ovdje, tako da ćete morati odgonetnuti broj
piksela, ili točkice, kako bi se nadoknadio taj strelicu
na vrhu zaslona.
I onda kad je to na mjestu, vaš program zapravo ne
ništa još, pa onda treba drugi sprite, za
instanca zelena strelica koja je također usmjeren lijevo, a vi
onda morate početi pisati neke skripte za njega.
>> I primijetite, možda, da se takve stvari počeo dolaziti na
različite brzine, a boje su u različitim
lokacije, a to je zato što učenik koristi malo
pseudo slučajnost.
I pseudo slučajnosti, ja samo znači odabrati broj
između nešto i nešto, jer možete
početi karti stvari, kao što je, ako je broj između jedan i
pet, dobro, ajmo napraviti nešto zeleno.
Ako je između 6 i 10, hajdemo napraviti slagalice
crvene umjesto.
Tako dugo dok imate način stvara neku vrstu
slučajnost, onda možete donositi odluke na temelju koje
slučajnost.
I ja držati govore pseudo slučajni, jer postoji
malo prljave tajne.
Računala ne može doći do slučajnih brojeva.
Oni mogu učiniti samo ono što ste rekli, jer
oni su čovjek-made uređajima.
Oni ne mogu samo nagađati broj kao i mi ljudi
Osjećam se kao da mogu.
Računalo ima nešto napraviti matematičku dočarati
iluzija matematički broj, ponekad koriste
trenutni dan vrijeme kao ulaz u figuring out što
broj se vratiti, ali više na tom drugom vremenu.
Za sada, samo znam da mi može generirati pseudo slučajnost.
>> Dakle, jednom sam imati mogućnost za lijevu strelicu za početak
pojavljuju u različitim vremenima i na različitim brzinama, a zatim
Mogu se vratiti i dodati neke od njih AKO uvjeti.
Ako je ovo Sprite dodiruje onaj drugi, i strelicu lijevo
Ključ je bio pritisnut -
pa tri uvjeta u tom slučaju.
Ja mogu koristiti da blokiraju I možda, u tom slučaju -
ONDA želim ići naprijed i povećajte ocjenu.
I na vrhu, imamo rezultat, imamo strašan,
Cool, dobro, i Boo.
Dakle, tu je očito pet varijabli koje ovaj učenik
koristiti za praćenje tih različitih mjerenja.
Dakle, u kratko, krajnji rezultat je nevjerojatna.
To je zabavno, to je zabavno igrati, to je zanimljivo, ali to nije
gdje učenik počeo.
On ili ona je započeo u mnogo manjem skupu koraka.
>> Dakle, ono što su neke druge izgrađeni da možemo
tkaju u tim programima?
Pa, tu je ovo drugi koncept u većini jezika,
Zagrebite među njima, poznat kao niti.
Dakle, računalo se zapravo ne može stvarno učiniti više stvari na
vrijeme, barem ne obično.
Umjesto toga, računalo obično ima samo jedan procesor, pa čak i
iako su računala vrlo brzo i može, stoga,
stvoriti privid radi više stvari odjednom -
provjere svoj mail, uzimajući trenutak
Poruka, ispis dokumenta -
stvarno, računalo samo skakanje iz tiska da IMING
na e-mail, natrag i natrag i naprijed i natrag tako brzo da smo
tupoglav ljudi jednostavno ne shvaćaju da je to zapravo
trčanje tih programa malo na vrijeme.
Sada, ovo malo bijele leže ovih dana, jer danas,
mnogi naši računala su ono što se zove multi-core, tako da
imaju jedan CPU, ali više jezgri, što je vrsta kao
ima više procesora.
>> I tako ponekad, računala doista može učiniti više stvari
na vrijeme, ali uglavnom unutar programa, programi
oslanjati na te stvari zovu teme.
Dakle, nit je nešto kao minijaturni program koji može
postojati pored drugog minijaturni program i možete pokrenuti
paralelno, ili barem može izvoditi pod iluziju da
oni prikazivati ​​istovremeno.
Dakle Scratch podržava ove stvari zove teme.
Možete imati višestruke skripte izvršavanje odjednom, baš kao i mi
učinio s morskom lavu, a to nam omogućuje da se zapravo
zatim su interakcije među tim sprites.
Pusti me naprijed ovdje i podići, recimo, teme, a
igrati ovo što slijedi.
Imamo dva sprites, od kojih svaki ćemo vidjeti
ima samo jedan scenarij.
A primijetite čini se da postoji neki inteligencije u
mačka u ovom jednom, jer on je sve bliže -
[Grmi]
DAVID MALAN: - i bliže ptičica.
>> Pa kako je ptica operativni?
Pa, neka je pogledati ptice prvi.
Ptica skripta rekao kad zelena zastava se klikne, idite na x
jednako negativna 115 y jednak 150.
Tako sam shvatio slučajni mjesto gdje sam htjela
ptica za početak, a ja sam ga samo plopped tamo po defaultu.
Zatim Beskonačno AKO ne dira mačku, pa je to drugačije
vrsta petlje konstrukt, ali istu ideju, učinite to ponovo i
opet i opet.
Tako dugo dok niste dira mačku, pomaknuti tri koraka, a
ako si na rubu, odskočiti, gdje je vrsta
odraz u biljar smislu.
Dakle, to je kako ptica se kreće oko vrste
naizgled nasumično, ali to je samo zato što je odskakanje
zidovi u ovom slučaju.
>> Sada mačka, u međuvremenu, je vrsta varanja.
Mačka, kada je zelena zastava se klikne, da, počinje u
neki položaj, slučajni lokacija -
barem u dijelu kao i po pick
slučajni zeleni blok postoji -
i onda zauvijek ako dira pticu, igrati zvuk lav,
i onda prestati skriptu.
Dakle, kada sam rekao prekinuti, ili izađite prije, tu je zagonetka
komad u nule samo da će ubiti program na koji
ukazati, jer to je vrsta logično učinio.
Ali inače, ovdje, primijetit što će se dogoditi.
Točka prema ptice i kretati jedan korak.
Dakle, ta točka prema ptica je svojevrsna prednost mačka
ima u tome da je golub u na pokretne ptica, i možemo
Sada bi ovaj program sve više zanimljiv.
Umjesto da se kreće jedan korak u isto vrijeme po CPU ciklusa, po
štrajk danak na zvono, da se tako izrazim, neka mi ići naprijed i
premjestiti, recimo, pet koraka u isto vrijeme kao mačka.
Kliknite pokrenuti, a sada je on stvarno ga pronađe brzo.
Ako mi dvaput ovo dalje na 10 koraka, ona vrsta ide
pravo za njega.
Sada, možemo dati pticu,
možda, malo prednost.
Idemo na ptice i reći umjesto da se kreće u tri koraka,
krenimo ga 30 koraka.
No, on je još uvijek uhvaćeni na kraju.
>> Dakle, ovdje imamo dvije teme.
To je bio utamničen u nule s dvije skripte i dva
duhovi, ali ideja u drugim jezicima je da možete
pisati, u suštini, previše programe kao što je ovaj i imaju
ih pokrenuti uistinu, ili imaginarily, paralelno.
>> Sada, tu je i ovaj koncept u programiranju poznat kao
događanja, a to je nešto što nećete vidjeti u C,
jezik poznat kao C. Mi ćemo ga vidjeti prema semestra kraja
u web programiranju, kad smo uvesti JavaScript i
Pojam građevinskog web stranica koje su dinamičan i interakciju
s korisnicima.
Dakle, u ovom slučaju, imamo vrlo jednostavan primjer dva
duhovi, dječak i djevojčica, od kojih svaki ima svoje odgovarajući
teme, ali nekako ove dvije su međusobno komuniciraju putem
od nečeg što se naziva događaja.
Pa neka mi ići naprijed i ovdje uvećanje na dječakove pismom,
koja izgleda ovako.
Kada zelena zastava kliknuli, zauvijek učiniti sljedeće.
Ako ključ prostor, ili razmak, tipke, kažu
Marco za dvije sekunde, to je čisto estetski na
zaslon, malo govor mjehurić, ali onda emitiraju.
>> Dakle emitiranje je drugi Scratch komad koji je
Predstavnik klase funkcionalnosti u programiranju
koji omogućava različite programe, različite teme,
da me komuniciraju, nekako poslati
poruke, jedna na drugu.
Prolazeći komad papira u razredu je vrsta niske tech
ekvivalent.
Tako emitiraju događaj.
Ja mogu poslati ovu poruku, a događaj riječ
je potpuno proizvoljan.
Blok ponekad ima ove padajuće, tako da sam došao do
sa slučajnim riječi poput događaja jer se sada, što dječak ne
kad sam pritisnite tipku je on emitira ovaj događaj.
A ako gledam sada na djevojčinu skriptu, skripta je njezin
super jednostavna, jer sve što treba učiniti ne djelovati kada
zelena zastava se klikne.
Ona je dizajniran za akciju kada ona prima citat, završiti citat,
"Događaj", te je u tom trenutku, ona sluša stoga za
Takozvani događaj opet i opet.
Čim je dobio taj događaj, ona će vikati
Polo za dvije sekunde.
>> I tako se možda može zaključiti iz ovoga što točno
Sljedeći rezultat će biti.
Dopustite mi da kliknete na zelenu zastavu.
Ništa se ne događa jer trebam učiniti što?
PUBLIKA: razmak.
DAVID MALAN: razmak.
Dječak kaže Marco, djevojka kaže Polo.
No, to nije teško kodirana po sebi.
To je inter-komunikacija između skripti, tako da sada imamo
imaju sposobnost da čak i složenije programe gdje
ove dvije su nekako međusobno komuniciraju.
>> Dakle, u kojem smjeru možemo uzeti ovo?
Pa, u problemu set 0, stvarno, cilj je
zabavite se s nule.
Za hakerske izdanju, te umjesto toga ćete se zabaviti s više
sofisticirana verzija Scratch zove BYOB, Građa
Vaši Vlastiti blokova, ali ideja je ista.
Vi ćete biti u mogućnosti -
Da, to je bilo namjerno.
On je došao iz Berkeley.
BYOB je verzija haker izdanje, ali i
Demografija, Standard Edition i Hacker izdanju podjednako,
Cilj pri ruci za idući tjedan je zapravo samo roniti u
duboko, dobiti vaše ruke prljave s programiranjem, i napraviti
nešto zanimljivo, napraviti nešto interaktivni, napraviti
nešto umjetničko, napraviti nešto zabavno da se zapravo
pokazati, tako da do kraja tjedna, imat ćete projekt,
ne samo za svoj prvi CS50 pset, ali morat ćete
Malo nešto što možete pokazati u Annenberg na
prijatelji ili čak i obitelji tako da je upload na MIT stranici.
I tako kao što sam rekao u srijedu, očekujemo 90% od klasi,
općenito, učiniti standardne izdanja.
Shvatite da je i ovaj izlaz za one od vas koji
možda inače pronaći sebe malo dosadno s osnovama
i stvarno želite roniti i zanatskih viziju ste već
imaju uz prethodnu pozadini to više prijateljski
okoliš.
>> Pa neka mi podići jedan drugi primjer da je jedan od naš bivši
studenti ovdje učinio i reći nešto malo kroz pjesmu.
To slično, kao što je ova igra, razmišljati o tome kako idete o
provodi ovaj program koristeći upravo ti isti
izgrađeni, malo pseudo slučajnosti, a
malo poznatoj pjesmi.
Ako smo mogli podići glasnoću samo malo?
[GLAZBA - "Pada kiša Men" The Weather GIRLS]
>> DAVID MALAN: To je to za CS50.
Mi ćemo vas vidjeti u ponedjeljak.
[Pljesak]