WEBVTT 00:00:00.000 --> 00:00:05.928 Salut, numele meu e Nick Parlante, iar acesta este cursul care exploreaza 00:00:05.928 --> 00:00:11.264 calitatile de baza ale computerelor. Cum functioneaza, ce pot si ce nu pot face. Si nu 00:00:11.264 --> 00:00:17.096 necesita deloc cunostinte anterioare despre computere. E facut pentru toata lumea. Inainte de a 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 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 00:00:26.284 --> 00:00:31.023 o nota rapida despre format: Acest curs nu cuprinde doar inregistrari video. Pentru fiecare sectiune video 00:00:31.023 --> 00:00:35.530 exista acest document scris in care sunt eu intrat si navighez, care 00:00:35.703 --> 00:00:40.037 ofera explicatii paralele si are diagrame, exemple de cod si alte chestii. 00:00:40.037 --> 00:00:44.718 Deci, practic in orice moment, puteti schimba intre video si document daca 00:00:44.718 --> 00:00:49.904 vreti sa re-cititi o explicatie sau sa incercati unul din exemple sau altceva. 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 00:00:55.757 --> 00:00:59.650 sfatul meu e... de multe ori, la sfarsitul unei sectiuni, vom avea niste 00:00:59.650 --> 00:01:02.952 exercitii. Si in acel moment, inainte sa incercati exercitiile, puteti decide. 00:01:02.952 --> 00:01:06.558 Sunteti gata sa treceti la exercitii sau at vrea sa va intoarceti la 00:01:06.558 --> 00:01:10.077 document si sa incercati unele, sa incercati unele din experimente voi insiva pentru a 00:01:10.077 --> 00:01:13.684 solidifica acele cunostinte? Asa ca ar trebui sa stiti macar ca sunt disponibile pentru fiecare 00:01:13.684 --> 00:01:20.658 din aceste sectiuni. Deci voi spune ca ecuatia fundamentala a computerelor e 00:01:20.658 --> 00:01:27.158 "computer = puternic + stupid". Puternic deoarece computerele pot 00:01:27.158 --> 00:01:32.195 face miliarde de operatiuni. Functioneaza inimaginabil de rapid. Dar 00:01:32.195 --> 00:01:37.714 operatiunile sunt stupide in sensul ca operatiunile pe care le poate face computerul 00:01:37.714 --> 00:01:43.096 sunt foarte simple, cu totul mecanice. Nu au nimic care 00:01:43.096 --> 00:01:48.445 sa poti defini ca intuitie umana despre ceea ce fac. Deci aceasta ciudata 00:01:48.445 --> 00:01:52.420 combinatie de, un fel, mare putere combinata cu un fel de stupiditate mecanica. 00:01:52.420 --> 00:01:57.191 Acest model va avea mai mult sens odata ce vom lucra la aceste mici 00:01:57.361 --> 00:02:01.955 exemple de cod pentru a ne cam juca in lumea computerelor. Acum sunt 00:02:01.955 --> 00:02:06.606 un pic provocativ, cam fac misto de computere. Oh, sunt asa de stupide, 00:02:06.787 --> 00:02:11.499 si, pe de alta parta, vedem cum computerele sunt foarte utile. Deci intr-un fel 00:02:11.499 --> 00:02:16.210 cam despre asta e vorba in curs. Pe de-o parte vizitam aceasta 00:02:16.210 --> 00:02:21.224 lume amuzanta a computerelor care e cam mecanica, iar apoi facem legatura la 00:02:21.224 --> 00:02:26.056 stiti voi, lucruri ca email-ul si audio MP3. Lucruri care in lumea reala 00:02:26.056 --> 00:02:30.716 sunt foarte utile. Incercam sa legam aceste doua lumi si sa va aratam 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 00:02:35.418 --> 00:02:39.951 curs sa intelegeti cum functioneaza computerele si care e locul lor. Si 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 00:02:44.370 --> 00:02:49.844 de cutie magica, de neinteles. De asemenea am o... agenda secreta. Sunt prea putini oameni ai 00:02:49.844 --> 00:02:54.899 stiintei computerelor in lume. Sunt prea multe probleme pe care am vrea sa 00:02:54.899 --> 00:02:59.889 le rezolvam, dar nu sunt destui oameni care sa le programeze pe toate. Deci 00:02:59.889 --> 00:03:05.076 agenda mea secreta e ca, deschizandu-va ochii la lumea computerelor si cum 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 00:03:10.132 --> 00:03:14.859 a computerelor in viitor. Deci, prima aproximare pe care o voi studia; Cum 00:03:14.859 --> 00:03:19.476 merge un computer? Deci un computer e practic dirijat de cod. Si vom 00:03:19.476 --> 00:03:24.001 intra in detaliu ceva mai tarziu. Acum doar vom arunca o privire. Deci aici 00:03:24.001 --> 00:03:28.505 am facut o mica imagine a unui computer. Si codul dintr-un computer e 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, 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 00:03:39.266 --> 00:03:44.077 face computerul e sa urmeze aceasta lista de 00:03:44.077 --> 00:03:49.014 instructiuni. Fiecare instructiune e foarte simple si computerul doar merge 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 00:03:53.635 --> 00:03:58.978 instructiune da senzatia de ceva mecanic. Deci o sa spun asta, 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 00:04:04.190 --> 00:04:09.338 atat de mecanic ca doar urmeaza niste instructiuni, cum se face ca exista atat de 00:04:09.338 --> 00:04:14.229 multe caracteristici utile? Si am aici o diagrama pentru cazul asta. Deci 00:04:14.229 --> 00:04:18.991 pe partea dreapta o sa-mi imaginez niste caracteristici utile. Ca reducerea efectului 00:04:18.991 --> 00:04:23.946 de ochii rosii, sau mesagerie instant. Si o sa spun pentru discutia asta ca, stiti voi, 00:04:23.946 --> 00:04:28.937 telefonul vostru, aparatul foto digital, acestea sunt toate computere. Deci in dreapta 00:04:28.937 --> 00:04:33.448 sunt caracteristicile utile, reducerea efectului de ochii rosii. Si pe partea stanga 00:04:33.448 --> 00:04:37.842 avem computerul, care doar urmeaza, stiti voi, niste simple 00:04:37.842 --> 00:04:42.471 instructiuni mecanice. Deci ce leaga aceste doua parti? Si raspunsul 00:04:42.471 --> 00:04:46.541 e chiar asta. Asta reprezinta programarea computerelor. Exista o persoana, 00:04:46.541 --> 00:04:51.009 un programator, care la inceput are o idee. Oh, ar trebui sa avem reducerea efectului 00:04:51.009 --> 00:04:55.709 de ochii rosii, asta ar fi foarte util. Asa ca isi folosesc creativitatea si 00:04:55.709 --> 00:05:00.119 imaginatia ca sa se gandeasca la ce ar fi util sa poata face 00:05:00.119 --> 00:05:04.587 un computer. Si apoi ce face programatorul e sa structureze 00:05:04.587 --> 00:05:09.229 si sa defineasca problema, pentru ca un computer s-o poata rezolva. Ei de fapt instruiesc 00:05:09.229 --> 00:05:13.755 si, stiti voi, structureaza problemele pentru ca apoi computerele sa poata face aceste 00:05:13.755 --> 00:05:19.294 lucruri folositoare. Asta e programarea. Si de fapt, orice 00:05:19.294 --> 00:05:24.263 lucru util pe care l-ati facut cu aparatul foto, sau telefonul, sau 00:05:24.263 --> 00:05:29.702 computerul vostru, in spatele scenelor a fost o persoana care a facut asta sa fie posibil. 00:05:29.702 --> 00:05:34.872 Si-mi cam place aceasta combinatie. Intr-un fel, programatorul, persoana, 00:05:34.872 --> 00:05:40.579 isi aduce creativitatea si intuitia despre lumea si se gandeste la lucruri care ar putea 00:05:40.579 --> 00:05:45.569 fi utile. Si asta e jumatatea lor din problema. Si computerul 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 00:05:50.218 --> 00:05:54.789 in cele din urma convenabil. Si computerul poate urma aceste instructiuni 00:05:54.789 --> 00:05:58.734 foarte, foarte rapid asa ca obtinem, stiti voi. In cele din urma obtinem aceasta 00:05:58.734 --> 00:06:03.008 combinatie. Si intr-un fel de-asta sunt atat de multe computere 00:06:03.008 --> 00:06:07.666 in lumea asta care fac atatea lucruri utile. Ne arata ca asta e un parteneriat bun 00:06:10.022 --> 00:06:12.214 intre oameni si computere. Intr-un fel aceasta diagrama e si cam 00:06:12.214 --> 00:06:16.762 sumarul acestui curs. Vom vizita partea stanga pentru a vedea 00:06:16.762 --> 00:06:21.270 cum arata lumea computerelor. Si ne vom uita la legatura dintre ea 00:06:21.270 --> 00:06:25.846 si caracteristicile pe care le folositi pentru a intelege ce loc are computerul 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 00:06:32.507 --> 00:06:37.414 incepe sa va arat niste exemple de cod. Si ar trebui sa mentionez ca 00:06:37.414 --> 00:06:42.449 veti avea nevoie de putina rabdare. O sa incep sa scriu niste cod. Si 00:06:42.449 --> 00:06:47.483 primele noastre exemple de cod nu vor face ceva 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 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 00:06:56.123 --> 00:07:00.272 impreuna si sa facem lucruri destul de faine. Dar in aceste prime doua sectiuni 00:07:00.432 --> 00:07:04.848 lucrurile, trebuie sa incepem undeva, iar aceste prime exemple sunt foarte simple. Deci am 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, 00:07:09.157 --> 00:07:13.307 si de fapt aici o sa prezic ca in 00:07:13.307 --> 00:07:18.293 doua ore de lectura vom incepe sa facem niste efecte speciale vizuale. Si asa 00:07:18.293 --> 00:07:23.427 ne vom juca cu faimoasa problema Maimuta Luna Banana. Si asta e 00:07:23.427 --> 00:07:28.441 doar o mica prevestire in legatura cu unde vom ajunge. Dar pentru asta doar vom scrie 00:07:28.441 --> 00:07:32.775 niste bucatele simple de cod. Deci pentru aceste exercitii de programare vom folosi un limbaj de 00:07:32.775 --> 00:07:36.734 programare numit JavaScript. JavaScript e un limbaj foarte popular. Functioneaza in 00:07:36.734 --> 00:07:40.884 browserele web noi si de-asta e asa popular. Si de-asta e 00:07:40.884 --> 00:07:44.605 potrivit pentru curs. Pentru ca noi lucram in browserul web, 00:07:44.605 --> 00:07:48.541 ceea ce inseamna ca va merge destul de bine codul nostru. Vom folosi JavaScript plus 00:07:48.541 --> 00:07:52.815 niste extensii pe care le-am adaugat special pentru cursul asta. Deci asta nu va arata 00:07:52.815 --> 00:07:57.229 exact ca un JavaScript profesionar. vom lucra la bucati de cod care 00:07:57.229 --> 00:08:01.638 sunt in cele din urma scurte. Doar destul cat sa trecem peste lucrurile 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 00:08:05.944 --> 00:08:10.146 care ar exista in programarea unor programe profesionale, complete. 00:08:10.146 --> 00:08:14.503 Bun, deci asta e primul meu exemplu de cod.