Salut, numele meu e Nick Parlante, iar acesta este cursul care exploreaza calitatile de baza ale computerelor. Cum functioneaza, ce pot si ce nu pot face. Si nu necesita deloc cunostinte anterioare despre computere. E facut pentru toata lumea. Inainte de a incepe, as vrea sa ma opresc un moment pentru a multumi celor de la Google pentru suportul oferit cercetarilor mele initiale pe acest subiect, care in cele din urma m-au ajutat sa creez acest curs. De asemenea o nota rapida despre format: Acest curs nu cuprinde doar inregistrari video. Pentru fiecare sectiune video exista acest document scris in care sunt eu intrat si navighez, care ofera explicatii paralele si are diagrame, exemple de cod si alte chestii. Deci, practic in orice moment, puteti schimba intre video si document daca vreti sa re-cititi o explicatie sau sa incercati unul din exemple sau altceva. E o mare diferenta intre a ma vedea pe mine facand ceva si a incerca voi insiva sa faceti lucrul acela. Asa ca sfatul meu e... de multe ori, la sfarsitul unei sectiuni, vom avea niste exercitii. Si in acel moment, inainte sa incercati exercitiile, puteti decide. Sunteti gata sa treceti la exercitii sau at vrea sa va intoarceti la document si sa incercati unele, sa incercati unele din experimente voi insiva pentru a solidifica acele cunostinte? Asa ca ar trebui sa stiti macar ca sunt disponibile pentru fiecare din aceste sectiuni. Deci voi spune ca ecuatia fundamentala a computerelor e "computer = puternic + stupid". Puternic deoarece computerele pot face miliarde de operatiuni. Functioneaza inimaginabil de rapid. Dar operatiunile sunt stupide in sensul ca operatiunile pe care le poate face computerul sunt foarte simple, cu totul mecanice. Nu au nimic care sa poti defini ca intuitie umana despre ceea ce fac. Deci aceasta ciudata combinatie de, un fel, mare putere combinata cu un fel de stupiditate mecanica. Acest model va avea mai mult sens odata ce vom lucra la aceste mici exemple de cod pentru a ne cam juca in lumea computerelor. Acum sunt un pic provocativ, cam fac misto de computere. Oh, sunt asa de stupide, si, pe de alta parta, vedem cum computerele sunt foarte utile. Deci intr-un fel cam despre asta e vorba in curs. Pe de-o parte vizitam aceasta lume amuzanta a computerelor care e cam mecanica, iar apoi facem legatura la stiti voi, lucruri ca email-ul si audio MP3. Lucruri care in lumea reala sunt foarte utile. Incercam sa legam aceste doua lumi si sa va aratam cum functioneaza computerele si care e locul lor in lumea asta. Scopul meu e ca dupa acest curs sa intelegeti cum functioneaza computerele si care e locul lor. Si intr-un fel nu esti intimidat de computer. Nu te gandesti la el ca la un fel de cutie magica, de neinteles. De asemenea am o... agenda secreta. Sunt prea putini oameni ai stiintei computerelor in lume. Sunt prea multe probleme pe care am vrea sa le rezolvam, dar nu sunt destui oameni care sa le programeze pe toate. Deci agenda mea secreta e ca, deschizandu-va ochii la lumea computerelor si cum mergea ea, unii dintre voi poate veti afla ca sunteti interesati in a continua sa studiati aceasta stiinta a computerelor in viitor. Deci, prima aproximare pe care o voi studia; Cum merge un computer? Deci un computer e practic dirijat de cod. Si vom intra in detaliu ceva mai tarziu. Acum doar vom arunca o privire. Deci aici am facut o mica imagine a unui computer. Si codul dintr-un computer e facut din aceste mici instructiuni simple. Si una din aceste instructiuni ar putea fi sa adune doua numere, stiti voi, sa calculeze cat face 1 + 1 sau sa verifice daca 2 e mai mic ca 10. Si ce face computerul e sa urmeze aceasta lista de instructiuni. Fiecare instructiune e foarte simple si computerul doar merge in jos pe lista si le urmeaza, cu toate ca ce-i drept o face foarte rapid. Dar fiecare instructiune da senzatia de ceva mecanic. Deci o sa spun asta, cred ca asta ne duce cu gandul la o intrebare naturala. Care este, pai... Daca un computer este atat de mecanic ca doar urmeaza niste instructiuni, cum se face ca exista atat de multe caracteristici utile? Si am aici o diagrama pentru cazul asta. Deci pe partea dreapta o sa-mi imaginez niste caracteristici utile. Ca reducerea efectului de ochii rosii, sau mesagerie instant. Si o sa spun pentru discutia asta ca, stiti voi, telefonul vostru, aparatul foto digital, acestea sunt toate computere. Deci in dreapta sunt caracteristicile utile, reducerea efectului de ochii rosii. Si pe partea stanga avem computerul, care doar urmeaza, stiti voi, niste simple instructiuni mecanice. Deci ce leaga aceste doua parti? Si raspunsul e chiar asta. Asta reprezinta programarea computerelor. Exista o persoana, un programator, care la inceput are o idee. Oh, ar trebui sa avem reducerea efectului de ochii rosii, asta ar fi foarte util. Asa ca isi folosesc creativitatea si imaginatia ca sa se gandeasca la ce ar fi util sa poata face un computer. Si apoi ce face programatorul e sa structureze si sa defineasca problema, pentru ca un computer s-o poata rezolva. Ei de fapt instruiesc si, stiti voi, structureaza problemele pentru ca apoi computerele sa poata face aceste lucruri folositoare. Asta e programarea. Si de fapt, orice lucru util pe care l-ati facut cu aparatul foto, sau telefonul, sau computerul vostru, in spatele scenelor a fost o persoana care a facut asta sa fie posibil. Si-mi cam place aceasta combinatie. Intr-un fel, programatorul, persoana, isi aduce creativitatea si intuitia despre lumea si se gandeste la lucruri care ar putea fi utile. Si asta e jumatatea lor din problema. Si computerul face ceea ce stie el sa faca. Si as putea spune ca, computerul e bun la a fi in cele din urma convenabil. Si computerul poate urma aceste instructiuni foarte, foarte rapid asa ca obtinem, stiti voi. In cele din urma obtinem aceasta combinatie. Si intr-un fel de-asta sunt atat de multe computere in lumea asta care fac atatea lucruri utile. Ne arata ca asta e un parteneriat bun intre oameni si computere. Intr-un fel aceasta diagrama e si cam sumarul acestui curs. Vom vizita partea stanga pentru a vedea cum arata lumea computerelor. Si ne vom uita la legatura dintre ea si caracteristicile pe care le folositi pentru a intelege ce loc are computerul in lume si cum face ceea ce face. Deci, in a doua parte a acestei sectiuni, voi incepe sa va arat niste exemple de cod. Si ar trebui sa mentionez ca veti avea nevoie de putina rabdare. O sa incep sa scriu niste cod. Si primele noastre exemple de cod nu vor face ceva extravagant. As putea spune ca e un pic ca niste caramizi de LEGO. Fiecare bucata de cod pe care o invatam e o noua caramida si in cele din urma vom putea sa punem aceste lucruri impreuna si sa facem lucruri destul de faine. Dar in aceste prime doua sectiuni lucrurile, trebuie sa incepem undeva, iar aceste prime exemple sunt foarte simple. Deci am sa va rog sa aveti rabdare, va promita ca vom ajunge undeva super cu materialul asta. Oh, si de fapt aici o sa prezic ca in doua ore de lectura vom incepe sa facem niste efecte speciale vizuale. Si asa ne vom juca cu faimoasa problema Maimuta Luna Banana. Si asta e doar o mica prevestire in legatura cu unde vom ajunge. Dar pentru asta doar vom scrie niste bucatele simple de cod. Deci pentru aceste exercitii de programare vom folosi un limbaj de programare numit JavaScript. JavaScript e un limbaj foarte popular. Functioneaza in browserele web noi si de-asta e asa popular. Si de-asta e potrivit pentru curs. Pentru ca noi lucram in browserul web, ceea ce inseamna ca va merge destul de bine codul nostru. Vom folosi JavaScript plus niste extensii pe care le-am adaugat special pentru cursul asta. Deci asta nu va arata exact ca un JavaScript profesionar. vom lucra la bucati de cod care sunt in cele din urma scurte. Doar destul cat sa trecem peste lucrurile pe care vreau sa le explic si sa exploram computerele. Dar fara a aduce prea multe din greutatile care ar exista in programarea unor programe profesionale, complete. Bun, deci asta e primul meu exemplu de cod.