CS101 explorează calitățile esențiale ale calculatoarelor, cum funcționează, ce pot și ce nu pot face, și nu necesită nici un fel de cunoștințe de informatică.Vom începe prin a examina caracteristicile de bază ale calculatoarelor și vom începe să ne jucăm cu codul de calculator.
Recunoștințe: Mulțumiri lui Nick Parlante pentru materialele sale. De la Nick: „Mulțumesc Google pentru că a sprijinit cercetările mele timpurii care au ajutat la crearea acestui curs. Mulțumiri lui Mark Guzdial care a popularizat ideea de a folosi mediile digitale pentru a introduce calculatoarele.”
Ecuația fundamentală a calculatoarelor
Ecuația fundamentală a calculatoarelor este:
Calculator = Puternic + Stupid
- Suficient de puternic pentru a cerceta mase de date
-Miliarde de „operații” pe secundă - Stupid pentru că fiecare operație este simplă și mecanică.
-Nimic asemănător cu „perspicacitatea” sau „gândirea” (video HAL 9000) - Puternic + Stupid … va ieși la iveală în exercițiile noastre
- De ce sunt utile calculatoarele în ciuda limitării lor?
- De asta este vorba în CS101
-Vizitați această lume amuzantă a calculatorului, vedeți cum funcționează
Înțelegeți ce pot face și cum oamenii le folosesc
-Nu vă lăsați intimidați - Agenda ascunsă: să le deschidem ochii unora, mai multe cursuri de informatică
Computerele sunt foarte puternice în a analiza rapid cantități mari de date. Calculatoarele pot efectua literalmente miliarde de operații pe secundă. Cu toate acestea, „operațiile” individuale pe care le pot efectua computerele sunt extrem de simple și mecanice, nu seamănă deloc cu un gând sau o intuiție umană. Printre „operațiile” tipice se numără compararea a două numere sau adunarea a două numere.
Deci, deși computerele sunt rapide în ceea ce fac, operațiile pe care le pot face sunt extrem de rigide, simple și mecanice. Sau, altfel spus, computerele nu sunt ca HAL 9000 din filmul 2001: O odisee spațială: HAL 9000 video.
O concluzie cheie este că un computer nu acționează ca un creier uman. Calculatorul este un instrument mecanic care poate face lucruri uimitoare, dar are nevoie de un om care să-i spună ce să facă.
Nivel înalt – Cum funcționează un calculator?
- Computerul urmează o serie de instrucțiuni „codate”
- Care instrucțiune este simplă (de ex. adună 2 numere)
- Computerul „execută” o serie lungă de instrucțiuni
- Pură mecanică
Computerele sunt foarte utile
- Gândiți-vă la toate funcțiile utile ale calculatorului (telefon, aparat foto)
-Mesagerie, e-mail
-MP3 audio
-Reducerea ochilor roșii - Dacă calculatoarele sunt atât de proaste.. cum de sunt ele atât de utile?
- Ce leagă cele două părți?
Programatorii
- Programatorii exploatează puterea unui calculator!
- Programatorul gândește o funcție utilă
-Este nevoie de creativitate, perspicacitate cu privire la nevoile umane și cunoștințe despre calculatoare - Programatorii descompun pașii, scriind codul pentru calculator
– Îl simplifică pentru calculator! - Cele mai bune caracteristici ale ambelor părți: procesarea ieftină/rapidă a calculatorului + perspicacitatea creativă a programatorului
- CS101 explorări: algoritmi și cod
Din moment ce calculatoarele sunt total mecanice și stupide, de ce sunt atât de omniprezente? Decalajul dintre calculator și a face ceva util este locul în care programatorul uman creează soluții. Programarea necesită ca o persoană să fie creativă și să aibă o perspectivă asupra unei probleme, precum și capacitatea de a descompune soluția în instrucțiuni pe care un computer le poate urma.
Codul se referă la limbajul pe care calculatorul îl poate înțelege. Pentru aceste prelegeri, vom scrie și vom rula scurte fragmente de cod pentru a înțelege care sunt calitățile esențiale ale calculatoarelor și, mai ales, care sunt punctele forte și limitările lor.
Experimentând cu codul, natura calculatoarelor va ieși foarte clar în evidență … puternice în felul lor, dar cu o calitate limitată, mecanică. IMHO, această natură mixtă a computerelor este ceva ce toată lumea ar trebui să înțeleagă pentru a le folosi bine și pentru a nu se lăsa intimidată de ele.
Înainte de a codifica – Răbdare
- Vom începe cu câteva coduri simple mai jos
- Codul este ca niște cărămizi lego…
- -Piesele individuale sunt super simple
- -În cele din urmă se construiesc combinații grozave
- Dar trebuie să începem cu ceva mic
Foreshadowing
În câteva ore de curs, vom face efecte speciale cu imagini cum ar fi următoarele:
Dar deocamdată avem doar print()!
Pătimire Vom începe prin a învăța câteva elemente de programare, precum și diferitele părți ale unui calculator, iar mai târziu vom recombina aceste câteva elemente pentru a rezolva multe probleme. Aceste prime elemente sunt simple, așa că nu sunt prea multe de privit singure. Aveți răbdare, în curând vom pune aceste elemente împreună – ca niște cărămizi lego – pentru a face proiecte destul de îngrijite.
Javascript Computer Langauge
- Codul JavaScript plus câteva extensii doar pentru CS101
- Frazele noastre de cod sunt mici…
- -Suficient de mari pentru a experimenta ideile cheie
- -Nu programe complete, profesionale
- -Dar suficient de mari pentru a arăta adevăratele provocări ale codării
Pentru acest curs, vom folosi o variantă a limbajului cunoscut sub numele de Javascript, cu unele caracteristici adăugate pentru acest curs. Limbajul Javascript funcționează în browserul web, astfel încât toate experimentele noastre pot trăi direct în browser, fără a fi nevoie de nimic altceva. Vom folosi doar părțile de Javascript necesare pentru experimentele noastre, nu limbajul complet pe care l-ar vedea cineva folosind Javascript în mod profesional. Acestea fiind spuse, Javascript este un limbaj real, iar codul nostru este un cod real. Programele noastre mici arată caracteristicile importante ale codului, menținând în același timp lucrurile rapide și mici.
Primul exemplu de cod – Print
Iată codul care apelează funcția „print”. Faceți clic pe butonul Run de mai jos, iar calculatorul dumneavoastră va rula acest cod, iar rezultatul codului va apărea în dreapta.
- Run execută fiecare linie o dată, rulând de sus în jos
- print este o funcție, un verb care reprezintă o acțiune pe care o va face calculatorul.
- Datele din interiorul parantezelor sunt transmise funcției print (substantive)
– aceste date sunt obiectul „verbului”
– datele se numesc argumentele funcției - Valorile multiple sunt separate prin virgule
- Experimentele modifică codul și se execută după fiecare modificare pentru a vedea noua ieșire:
-Schimbă un număr
-Adaugă mai multe numere separate prin virgule în interiorul funcției print(…)
-Copiază prima linie și lipește-o de două ori după ultima linie
-Promite-mi că ieșirea va deveni mai interesantă!” - Sintaxa îngustă, nu liberă
-Sintaxa permisă este super strictă și îngustă
-de exemplu, nu se poate omite paranteza dreaptă )
-O reflectare a naturii interne, mecanice a calculatorului
-Nu vă lăsați descurajați – „When in Rome…”
-Vizităm lumea calculatorului - Rețineți că acest „print” nu este o parte normală a Javascript, l-am adăugat pentru CS101
Print And Strings
- Un comentariu începe cu // și se extinde până la sfârșitul liniei. O modalitate de a scrie note despre cod, ignorate de calculator.
De ce ar putea programatorii să folosească comentarii? - Un șir de caractere este o secvență de caractere scrise între ghilimele pentru a fi folosite ca date în cadrul codului
-de ex. „hello” sau „123”
-Circuitele funcționează cu funcția print, pe lângă numere
-Circuitele în calculator stochează text, cum ar fi url-uri sau textul unor paragrafe etc. - Experimente:
-Modificați textul în interiorul unui șir
-Adaugați mai multe șiruri separate prin virgule
-Adaugați șirul „print” – complicat!
-În interiorul ghilimelelor sunt doar date - Cod = instrucțiuni care sunt executate
- Date = numere sau șiruri de caractere; tratate de cod
Rețineți că print este recunoscut ca o funcție în cod față de șirul „hello” care este doar date pasive (ca și verbele și substantivele). calculatorul ignoră comentariile, așa că acestea sunt doar o modalitate de a vă scrie notițe despre ceea ce face codul. Comentariile pot fi folosite pentru a elimina temporar o linie de cod — „comentând” codul prin plasarea unui „//” în stânga acestuia.
Gândire despre sintaxă și erori (mesajul cheie de astăzi!)
- Sintaxa — codul este structurat pentru calculator
- Eroare foarte frecventă — tastați codul, cu o ușoară problemă de sintaxă
- Programatorii profesioniști fac acest tip de „eroare” tot timpul
- Din fericire, foarte ușor de corectat … nu vă faceți griji în legătură cu ea
- Nu este o reflectare a vreunui defect al programatorului
- Doar natura tastării ideilor în limbajul mecanic al calculatorului
- Principii pot fi deraiați de pasul de sintaxă, crezând că fac o eroare mare
- Încercați să faceți o grămadă de erori tipice de sintaxă și să le remediați
- Repararea acestor mici erori este un pas mic, normal
- Notează: Firefox vă oferă cele mai bune mesaje de eroare
Sintaxa Sintaxa prezentată mai sus trebuie respectată în mod rigid, altfel codul nu va funcționa: numele funcției, paranteze, fiecare șir are ghilimele de deschidere și închidere, virgule care separă valorile pentru un apel de funcție.
Rigiditatea sintaxei este o reflectare a limitărilor calculatoarelor, deoarece limbajul lor natural este fix și mecanic. Acest lucru este important de asimilat atunci când se lucrează cu calculatoare și cred că acesta este punctul în care mulți oameni deraiază la începuturile cu calculatoarele. Scrieți ceva ce orice om ar putea înțelege, dar calculatorul poate înțelege codul doar acolo unde acesta se potrivește cu sintaxa mecanică a calculatorului.
Erorile de sintaxă triviale, superficiale sunt foarte frecvente atunci când se scrie cod. Cei mai experți programatori de pe pământ fac acest tip de erori tot timpul și nu se gândesc la nimic. Erorile de sintaxă nu reflectă o strategie greșită a autorului. Este doar un pas firesc în transpunerea gândurilor noastre în limbajul mai mecanic al computerului. După cum vom vedea mai jos, remedierea acestor erori este foarte rapidă.
Este important să nu ne lăsăm deraiați de aceste mici cazuri de erori superficiale. Pentru a vă ajuta să învățați tiparele, mai jos avem mai multe exemple care prezintă erori tipice, astfel încât să puteți vedea cum arată mesajele de eroare și să vedeți cum să le remediați. Pentru fiecare fragment de cod de mai jos, care este eroarea? Uneori, mesajul de eroare generat de calculator indică problema cu exactitate, dar alteori mesajul de eroare arată doar că eroarea a derutat atât de profund calculatorul încât acesta nu poate crea un mesaj de eroare precis. Firefox produce în prezent cele mai utile mesaje de eroare și adesea vă va indica linia specifică cu probleme.
Exemple de erori de sintaxă
Aceste probleme de sintaxă sunt rapid de rezolvat.
.