1 00:00:00,000 --> 00:00:05,928 Salut, numele meu e Nick Parlante, iar acesta este cursul care exploreaza 2 00:00:05,928 --> 00:00:11,264 calitatile de baza ale computerelor. Cum functioneaza, ce pot si ce nu pot face. Si nu 3 00:00:11,264 --> 00:00:17,096 necesita deloc cunostinte anterioare despre computere. E facut pentru toata lumea. Inainte de a 4 00:00:17,096 --> 00:00:21,950 incepe, as vrea sa ma opresc un moment pentru a multumi celor de la Google pentru suportul oferit 5 00:00:21,950 --> 00:00:26,284 cercetarilor mele initiale pe acest subiect, care in cele din urma m-au ajutat sa creez acest curs. De asemenea 6 00:00:26,284 --> 00:00:31,023 o nota rapida despre format: Acest curs nu cuprinde doar inregistrari video. Pentru fiecare sectiune video 7 00:00:31,023 --> 00:00:35,530 exista acest document scris in care sunt eu intrat si navighez, care 8 00:00:35,703 --> 00:00:40,037 ofera explicatii paralele si are diagrame, exemple de cod si alte chestii. 9 00:00:40,037 --> 00:00:44,718 Deci, practic in orice moment, puteti schimba intre video si document daca 10 00:00:44,718 --> 00:00:49,904 vreti sa re-cititi o explicatie sau sa incercati unul din exemple sau altceva. 11 00:00:49,904 --> 00:00:55,757 E o mare diferenta intre a ma vedea pe mine facand ceva si a incerca voi insiva sa faceti lucrul acela. Asa ca 12 00:00:55,757 --> 00:00:59,650 sfatul meu e... de multe ori, la sfarsitul unei sectiuni, vom avea niste 13 00:00:59,650 --> 00:01:02,952 exercitii. Si in acel moment, inainte sa incercati exercitiile, puteti decide. 14 00:01:02,952 --> 00:01:06,558 Sunteti gata sa treceti la exercitii sau at vrea sa va intoarceti la 15 00:01:06,558 --> 00:01:10,077 document si sa incercati unele, sa incercati unele din experimente voi insiva pentru a 16 00:01:10,077 --> 00:01:13,684 solidifica acele cunostinte? Asa ca ar trebui sa stiti macar ca sunt disponibile pentru fiecare 17 00:01:13,684 --> 00:01:20,658 din aceste sectiuni. Deci voi spune ca ecuatia fundamentala a computerelor e 18 00:01:20,658 --> 00:01:27,158 "computer = puternic + stupid". Puternic deoarece computerele pot 19 00:01:27,158 --> 00:01:32,195 face miliarde de operatiuni. Functioneaza inimaginabil de rapid. Dar 20 00:01:32,195 --> 00:01:37,714 operatiunile sunt stupide in sensul ca operatiunile pe care le poate face computerul 21 00:01:37,714 --> 00:01:43,096 sunt foarte simple, cu totul mecanice. Nu au nimic care 22 00:01:43,096 --> 00:01:48,445 sa poti defini ca intuitie umana despre ceea ce fac. Deci aceasta ciudata 23 00:01:48,445 --> 00:01:52,420 combinatie de, un fel, mare putere combinata cu un fel de stupiditate mecanica. 24 00:01:52,420 --> 00:01:57,191 Acest model va avea mai mult sens odata ce vom lucra la aceste mici 25 00:01:57,361 --> 00:02:01,955 exemple de cod pentru a ne cam juca in lumea computerelor. Acum sunt 26 00:02:01,955 --> 00:02:06,606 un pic provocativ, cam fac misto de computere. Oh, sunt asa de stupide, 27 00:02:06,787 --> 00:02:11,499 si, pe de alta parta, vedem cum computerele sunt foarte utile. Deci intr-un fel 28 00:02:11,499 --> 00:02:16,210 cam despre asta e vorba in curs. Pe de-o parte vizitam aceasta 29 00:02:16,210 --> 00:02:21,224 lume amuzanta a computerelor care e cam mecanica, iar apoi facem legatura la 30 00:02:21,224 --> 00:02:26,056 stiti voi, lucruri ca email-ul si audio MP3. Lucruri care in lumea reala 31 00:02:26,056 --> 00:02:30,716 sunt foarte utile. Incercam sa legam aceste doua lumi si sa va aratam 32 00:02:30,716 --> 00:02:35,418 cum functioneaza computerele si care e locul lor in lumea asta. Scopul meu e ca dupa acest 33 00:02:35,418 --> 00:02:39,951 curs sa intelegeti cum functioneaza computerele si care e locul lor. Si 34 00:02:39,951 --> 00:02:44,370 intr-un fel nu esti intimidat de computer. Nu te gandesti la el ca la un fel 35 00:02:44,370 --> 00:02:49,844 de cutie magica, de neinteles. De asemenea am o... agenda secreta. Sunt prea putini oameni ai 36 00:02:49,844 --> 00:02:54,899 stiintei computerelor in lume. Sunt prea multe probleme pe care am vrea sa 37 00:02:54,899 --> 00:02:59,889 le rezolvam, dar nu sunt destui oameni care sa le programeze pe toate. Deci 38 00:02:59,889 --> 00:03:05,076 agenda mea secreta e ca, deschizandu-va ochii la lumea computerelor si cum 39 00:03:05,076 --> 00:03:10,132 mergea ea, unii dintre voi poate veti afla ca sunteti interesati in a continua sa studiati aceasta stiinta 40 00:03:10,132 --> 00:03:14,859 a computerelor in viitor. Deci, prima aproximare pe care o voi studia; Cum 41 00:03:14,859 --> 00:03:19,476 merge un computer? Deci un computer e practic dirijat de cod. Si vom 42 00:03:19,476 --> 00:03:24,001 intra in detaliu ceva mai tarziu. Acum doar vom arunca o privire. Deci aici 43 00:03:24,001 --> 00:03:28,505 am facut o mica imagine a unui computer. Si codul dintr-un computer e 44 00:03:28,505 --> 00:03:33,822 facut din aceste mici instructiuni simple. Si una din aceste instructiuni ar putea fi sa adune doua numere, 45 00:03:33,822 --> 00:03:39,266 stiti voi, sa calculeze cat face 1 + 1 sau sa verifice daca 2 e mai mic ca 10. Si ce 46 00:03:39,266 --> 00:03:44,077 face computerul e sa urmeze aceasta lista de 47 00:03:44,077 --> 00:03:49,014 instructiuni. Fiecare instructiune e foarte simple si computerul doar merge 48 00:03:49,014 --> 00:03:53,635 in jos pe lista si le urmeaza, cu toate ca ce-i drept o face foarte rapid. Dar fiecare 49 00:03:53,635 --> 00:03:58,978 instructiune da senzatia de ceva mecanic. Deci o sa spun asta, 50 00:03:58,978 --> 00:04:04,190 cred ca asta ne duce cu gandul la o intrebare naturala. Care este, pai... Daca un computer este 51 00:04:04,190 --> 00:04:09,338 atat de mecanic ca doar urmeaza niste instructiuni, cum se face ca exista atat de 52 00:04:09,338 --> 00:04:14,229 multe caracteristici utile? Si am aici o diagrama pentru cazul asta. Deci 53 00:04:14,229 --> 00:04:18,991 pe partea dreapta o sa-mi imaginez niste caracteristici utile. Ca reducerea efectului 54 00:04:18,991 --> 00:04:23,946 de ochii rosii, sau mesagerie instant. Si o sa spun pentru discutia asta ca, stiti voi, 55 00:04:23,946 --> 00:04:28,937 telefonul vostru, aparatul foto digital, acestea sunt toate computere. Deci in dreapta 56 00:04:28,937 --> 00:04:33,448 sunt caracteristicile utile, reducerea efectului de ochii rosii. Si pe partea stanga 57 00:04:33,448 --> 00:04:37,842 avem computerul, care doar urmeaza, stiti voi, niste simple 58 00:04:37,842 --> 00:04:42,471 instructiuni mecanice. Deci ce leaga aceste doua parti? Si raspunsul 59 00:04:42,471 --> 00:04:46,541 e chiar asta. Asta reprezinta programarea computerelor. Exista o persoana, 60 00:04:46,541 --> 00:04:51,009 un programator, care la inceput are o idee. Oh, ar trebui sa avem reducerea efectului 61 00:04:51,009 --> 00:04:55,709 de ochii rosii, asta ar fi foarte util. Asa ca isi folosesc creativitatea si 62 00:04:55,709 --> 00:05:00,119 imaginatia ca sa se gandeasca la ce ar fi util sa poata face 63 00:05:00,119 --> 00:05:04,587 un computer. Si apoi ce face programatorul e sa structureze 64 00:05:04,587 --> 00:05:09,229 si sa defineasca problema, pentru ca un computer s-o poata rezolva. Ei de fapt instruiesc 65 00:05:09,229 --> 00:05:13,755 si, stiti voi, structureaza problemele pentru ca apoi computerele sa poata face aceste 66 00:05:13,755 --> 00:05:19,294 lucruri folositoare. Asta e programarea. Si de fapt, orice 67 00:05:19,294 --> 00:05:24,263 lucru util pe care l-ati facut cu aparatul foto, sau telefonul, sau 68 00:05:24,263 --> 00:05:29,702 computerul vostru, in spatele scenelor a fost o persoana care a facut asta sa fie posibil. 69 00:05:29,702 --> 00:05:34,872 Si-mi cam place aceasta combinatie. Intr-un fel, programatorul, persoana, 70 00:05:34,872 --> 00:05:40,579 isi aduce creativitatea si intuitia despre lumea si se gandeste la lucruri care ar putea 71 00:05:40,579 --> 00:05:45,569 fi utile. Si asta e jumatatea lor din problema. Si computerul 72 00:05:45,569 --> 00:05:50,218 face ceea ce stie el sa faca. Si as putea spune ca, computerul e bun la a fi 73 00:05:50,218 --> 00:05:54,789 in cele din urma convenabil. Si computerul poate urma aceste instructiuni 74 00:05:54,789 --> 00:05:58,734 foarte, foarte rapid asa ca obtinem, stiti voi. In cele din urma obtinem aceasta 75 00:05:58,734 --> 00:06:03,008 combinatie. Si intr-un fel de-asta sunt atat de multe computere 76 00:06:03,008 --> 00:06:07,666 in lumea asta care fac atatea lucruri utile. Ne arata ca asta e un parteneriat bun 77 00:06:10,022 --> 00:06:12,214 intre oameni si computere. Intr-un fel aceasta diagrama e si cam 78 00:06:12,214 --> 00:06:16,762 sumarul acestui curs. Vom vizita partea stanga pentru a vedea 79 00:06:16,762 --> 00:06:21,270 cum arata lumea computerelor. Si ne vom uita la legatura dintre ea 80 00:06:21,270 --> 00:06:25,846 si caracteristicile pe care le folositi pentru a intelege ce loc are computerul 81 00:06:25,846 --> 00:06:32,507 in lume si cum face ceea ce face. Deci, in a doua parte a acestei sectiuni, voi 82 00:06:32,507 --> 00:06:37,414 incepe sa va arat niste exemple de cod. Si ar trebui sa mentionez ca 83 00:06:37,414 --> 00:06:42,449 veti avea nevoie de putina rabdare. O sa incep sa scriu niste cod. Si 84 00:06:42,449 --> 00:06:47,483 primele noastre exemple de cod nu vor face ceva 85 00:06:47,483 --> 00:06:51,707 extravagant. As putea spune ca e un pic ca niste caramizi de LEGO. Fiecare bucata de cod pe care 86 00:06:51,707 --> 00:06:56,123 o invatam e o noua caramida si in cele din urma vom putea sa punem aceste lucruri 87 00:06:56,123 --> 00:07:00,272 impreuna si sa facem lucruri destul de faine. Dar in aceste prime doua sectiuni 88 00:07:00,432 --> 00:07:04,848 lucrurile, trebuie sa incepem undeva, iar aceste prime exemple sunt foarte simple. Deci am 89 00:07:04,848 --> 00:07:09,157 sa va rog sa aveti rabdare, va promita ca vom ajunge undeva super cu materialul asta. Oh, 90 00:07:09,157 --> 00:07:13,307 si de fapt aici o sa prezic ca in 91 00:07:13,307 --> 00:07:18,293 doua ore de lectura vom incepe sa facem niste efecte speciale vizuale. Si asa 92 00:07:18,293 --> 00:07:23,427 ne vom juca cu faimoasa problema Maimuta Luna Banana. Si asta e 93 00:07:23,427 --> 00:07:28,441 doar o mica prevestire in legatura cu unde vom ajunge. Dar pentru asta doar vom scrie 94 00:07:28,441 --> 00:07:32,775 niste bucatele simple de cod. Deci pentru aceste exercitii de programare vom folosi un limbaj de 95 00:07:32,775 --> 00:07:36,734 programare numit JavaScript. JavaScript e un limbaj foarte popular. Functioneaza in 96 00:07:36,734 --> 00:07:40,884 browserele web noi si de-asta e asa popular. Si de-asta e 97 00:07:40,884 --> 00:07:44,605 potrivit pentru curs. Pentru ca noi lucram in browserul web, 98 00:07:44,605 --> 00:07:48,541 ceea ce inseamna ca va merge destul de bine codul nostru. Vom folosi JavaScript plus 99 00:07:48,541 --> 00:07:52,815 niste extensii pe care le-am adaugat special pentru cursul asta. Deci asta nu va arata 100 00:07:52,815 --> 00:07:57,229 exact ca un JavaScript profesionar. vom lucra la bucati de cod care 101 00:07:57,229 --> 00:08:01,638 sunt in cele din urma scurte. Doar destul cat sa trecem peste lucrurile 102 00:08:01,638 --> 00:08:05,944 pe care vreau sa le explic si sa exploram computerele. Dar fara a aduce prea multe din greutatile 103 00:08:05,944 --> 00:08:10,146 care ar exista in programarea unor programe profesionale, complete. 104 00:08:10,146 --> 00:08:14,503 Bun, deci asta e primul meu exemplu de cod.