introducere în informatic
TRANSCRIPT
Introducere în informatică
1. Intro
2. Ce este informatica?
3. Istoria calculatorului
4. Să desfacem un calculator
5. Despre programare
6. Informatica este prezentă peste tot
7. Prânz
8. Vreau să lucrez în domeniul IT
9. De ce am nevoie ca să fiu informatician?
10. Pauză
11. Programarea începe cu o provocare
12. Debriefing
2
Agenda
Ce este informatica?
Informatica este …
Știință care se ocupă cu studiul prelucrării informației cu ajutorul sistemelor automate de calcul. (DEX 2009)
Tehnologia necesară pentru prelucrarea (procurarea, procesarea, stocarea, convertirea și transmiterea) informației, în particular prin folosirea computerelor. (Wikipedia)
Ramură a matematiciiaplicate și a inginerieielectrice care se ocupă cu studierea cuantificării, stocării și comunicării informației.(Wikipedia)
5
Informatica Tehnologia informației Teoria informației
Sursa: https://www.google.ro/search?biw=1366&bih=657&tbm=isch&sa=1&ei=MxnWW5D2MMLVwALMxIXACg&q=copuer+science+versus+information+technology&oq=copuer+science+versus+information+technology&gs_l=img.3...53721.61774.0.61889.46.42.1.0.0.0.319.5189.0j34j3j1.38.0....0...1c.1.64.img..7.5.627...0j0i67k1j0i5i30k1j0i5i10i30k1j0i10i24k1.0.MUfDXUCCg-Q#imgrc=1oBYnPTtXGYnlM: Sursa: https://qph.fs.quoracdn.net/main-qimg-bf6988612a121cad07d2560c93337c51-c
Sursa: http://bboyseiok.com/assets/img/20180506/onezanzeroz.jpg
Istoria calculatorului
Evoluția calculatorului
Apariția primului
calculator electronic
(Z3)
Începutul primei
generații de computere
(cu tub catodic)
Începutul generației a
doua de computere
(cu tranzistori)
Today
cca 100 î. e.n. 1936 1940 1956 2010
7
Apariția primului
calculator analogic mecanic
(Antikythera)
Începutul generației a
cincea de computere
(cu inteligență artificială)
Începutul generației a
treia de computere (cu circuite integrate)
1964
Începutul generației a
patra de computere
(cu microproce-
sor)
1971
Mașini de calcul și calculatoare mecanice
- prima mașină de calculat folosită lanumărat
- confecționat din mărgele și bețe
9
Abacul (3.000 î. e.n.)
Sursa: https://www.google.ro/url?sa=i&source=images&cd=&cad=rja&uact=8&ved=2ahUKEwiTw8iss7veAhXFblAKHQ79DvsQjRx6BAgBEAU&url=https%3A%2F%2F34tm.wordpress.com%2F2014%2F09%2F14%2Fmetoda-de-dezvoltare-a-capacitatilor-creierului%2F&psig=AOvVaw0BfXp0gckA5j3eW0ylPzAI&ust=1541443682170927
10
Mecanismul de la Antikythera (100 î.e.n.)
Sursa: https://www.google.ro/url?sa=i&source=images&cd=&cad=rja&uact=8&ved=2ahUKEwiTw8iss7veAhXFblAKHQ79DvsQjRx6BAgBEAU&url=https%3A%2F%2F34tm.wordpress.com%2F2014%2F09%2F14%2Fmetoda-de-dezvoltare-a-capacitatilor-creierului%2F&psig=AOvVaw0BfXp0gckA5j3eW0ylPzAI&ust=1541443682170927
- este alcătuit din cuplaje și pârghii- este predecesorul calculatorului
electronic de astăzi- Pascal a construit 50 calculatoare bazate
pe angrenaje, cu o funcţie, de adunare, dar n-a vândut multe din pricina costului mare şi problemelor de acurateţe (atunci, imposibil de fabricat rotiţe cu o precizie cerută)
12
Calculatorul cu roți rotative - Pascalina (1642)
- proiectată de Charles Babbage, matematician și inginer britanic, supranumit ,,părintele computerului de astăzi”
- funcționa pe principiu mecanic (analogic), dar a fost prima mașină care putea fi programată
- inventatorul nu a construit-o niciodată, fiind abandonată la 10 ani după proiectare
- a fost construită în 1991, după schițele originale, și s-a dovedit perfect funcțională
13
Mașina diferențială (1822)
- inventată de Herman Hollerith- utiliza cartele perforate- era de mărimea unui birou- citea găurile din cartele, contoriza
(număra, sorta și alătura date) prin intermediul unui mecanism cu roți bazat pe ideile lui Pascal și afișa cu ajutorul unui perete cu indicatori cu cadran
14
Mașina de perforat a lui Hollerith (1890)
Caculatoare electronice
- Computer (ABC)
16
ABC (1937)
- calculatoare de dimensiuni foarte mari- circuite cu tuburi catodice - limbaj mașină- rezolvau o singură problemă la un moment dat- informatica – armata americană, universități și institute de cercetare (caracter de
noutate)
1940-1956: Prima generație de computere – tub catodic
17
- folosea calculul binar (numere formate din 0 și 1) pentru adunare, scădere, înmulțire și împărțire
- costul de producție: 20.000$
19
Calculatorul de numere complexe (1940)
- calculator electromagnetic, considerat cel dintâi calculator universal
- este primul calculator programabil
20
Z3 (1941)
- primul computer proiectat pentru descifrarea criptării realizate de mașina construită de naizști, ,,Enigma”
- primul calculator electronic digital programabil în întregime
- nu avea memorie RAM- aveau comutatoare, panouri cu fișe și
fotocelule ce citeau banda de hârtie
21
Colossus (1943)
- primul calculator complet electronic- cântărea 30 de tone- avea aprox. 18.000 de tuburi catodice- realiza în jur de 100.000 de operații pe
secundă- nu avea sistem de operare- capacitate de memorare : aprox.1000
biți (aprox.20 numere zecimale cu 10 cifre fiecare)
- folosea cartele perforate pentru stocarea datelor
23
ENIAC (1943-1945)
24
Tranzistorul (1948)
- primul calculator care executa un program stocat în memorie
- avea o memorie de 32 de cuvinte- singura operație aritmetică pe care o
putea efectua era scăderea- a reprezentat momentul nașterii
software-ului
25
Manchester Baby (1948)
- primul calculator de uz comercial – the Universal Automatic Computer
- funcționa cu programe memorate- citea și scria date de 10 ori mai repede,
datorită unității de bandă magnetică
27
UNIVAC (1951)
- design-ul lui a fost făcut public în mod gratuit, drept urmare multe academii și institute de cercetare au început să-și construiască propriile calculatoare
28
IAS (1952)
- primul computer destinat uzului general- doar 19 astfel de computere au fost
create și puteau fi închiriate cu 15.000 de dolari pe lună
29
701 EDPM (1953)
- primul limbaj de programare ce folosea limba engleză
- era scris mai întâi pe foi de codificare, apoi perforate în cartele sau benzi de hârtie care erau citite de calculator
- era potrivit pentru computații numerice și calculații științifice
30
FORTRAN (1954-57)
- tranzistori în loc de tuburi de vid => micșorarea consumului de electricitate și a cantității de căldură emanate
- mai rapide și mai mici- aveau o memorie de bază, folosită alături de stocarea pe bază magnetică- tranzistorii foloseau drept input cartele perforate și printau ca output- foloseau limbaj de asamblare
1956-1963: A doua generație de computere – tranzistori
31
- primul calculator cu hard disk, care aînlocuit fișierele greoaie cu carteleperforate
- RAMAC stoca 5 mB de date și era demărimea a două frigidere
- IBM vindea acest hard disk cu 10.000$ pemB
32
IBM 305 RAMAC (1956)
- sistem de comunicații și control în timp real care lega 23 de site-uri de pe teritoriul SUA, coordonând sistemul de arme, radar, rapoarte meteo etc.
- sistemul se întindea pe patru etaje, mărimea și complexitatea lui erau fără precedent, solicitând milioane de instrucțiuni
33
SAGE (1958)
34
Mouse (1963)
- circuitele integrate (cipurile semiconductoare) = conglomerat de tranzistori în miniatură, atașați pe cipuri de silicon
- viteză mai mare, dimensiuni mai mici, putere mai mare, prețuri mai mici- tastaturi și monitoare și sisteme de operare- puteau rula mai multe aplicații simultan- informatica pătrunde în întreprinderi, în special în companiile comerciale și petroliere
1964-1971: A treia generație de computere – circuite integrate
35
- familie de calculatoare cu scop general- programul lui putea fi rulat de toate
calculatoarele- oferea peste 50 de programe
specializate destinate inginerilor
36
Sistemul IBM 360 (1964)
- cel mai ieftin calculator comercializat de IBM până atunci (32.000$)
- oferea disc de stocare mobil și o întreagă gamă de periferice, inclusiv cititoare de carduri și imprimante
37
IBM 1130 (1965)
- primul calculator al producătorului de minicalculatoare Hewlett-Packard
38
HP 2116 (1966)
- rețea de calculatoare descentralizată, precursoarea internetului de astăzi
- patru computere diferite au fost conectate la acel moment, cu mesajul ,,IO”, în locul datelor de logare, din pricină că sistemul format nu era suficient de puternic
39
ARPANET (1969)
- primul PC- avea memorie de 256 B- costa 750$
40
Kenbak - 1 (1971)
- mii de circuite integrate erau construite pe un singur cip de silicon- în 1971 a fost inventat Intel 4004, primul microprocesor comercializat, care a dus la
dezvoltarea industriei computerelor personale- au apărut laptopurile, GUI (Graphical user interface)- aveau mouse, joystick- memoria și capacitatea de stocare au fost îmbunătățite major- 1970-1990 – informatica se bazează pe utilizarea calculatoarelor de capacitate medie,
pătrunzând în toate mediile cotidiene (activitatea militară, economică, cercetare științifică și învățământ)
- 1990-2000 – PC-urile pătrund și în casele oamenilor
1971-2010: A patra generație de computere – microprocesor
41
- este inventat limbajul de programare C, cu versiunea sa îmubunătățită (C++) apărând în 1979
42
C (1972)
- întregul sistem era cuprins într-o cutie- nu exista tastatură- datele se introduceau cu ajutorul unor
comutatoare situate pe partea din față a carcasei echipamentului
- nu avea monitor, rezultatele fiind citite prin interpretarea unor semnale luminoase
44
Altair 8800 (1975)
- primul PC cu microprocesor (Intel 8008), non-kit
45
Micral (1973)
- calculatorul era vândut inițial sub formă de kit, ulterior abia acesta fiind livrat gata montat
- acesta includea, pe lângă unitate, o tastatură și un monitor
- calculatoarele deja montate au facut că numărul cumpărătorilor să crească
46
Sphere 1 (1975)
- cuprindea o tablă printată pentru circuite, componente și un manual de asamblare la prețul de 666$
48
Apple – 1 (1976)
- se naște sistemul de operare Microsoft Disk Operating System
- MS-DOS a constituit punctul de plecare pentru viitoarele sisteme de operare (Windows) Microsoft
50
Ms-Dos (1980)
- IBM lansează modelul 5150, care venea cu floppy disk încorporat și rula sistemul de operare MS-DOS
- acesta avea prețul de 1.565 de dolari și a ajuns să domine piața
- a fost folosit în școli- design-ul a fost făcut public de IBM, care
a menținut însă dreptul de autor doar asupra unei componente numită BIOS, un singur chip ce conținea instrucțiuni privind modalitățile de comunicare între software-ul ce rula pe computer și părțile sale componente
51
IBM 5150 (1981)
- computer lansat de Apple- avea interfață prietenoasă, cu
pictograme (GUI)
52
Macintosh (1984)
- în România se introduc HC-urile, calculatoare personale ce au rezistat pe piață până în anul 1994
- fabrica se afla la Pipera și producea de la modele cu un procesor și sistemul BASIC cu bandă magnetică și fără floppy disc (versiunea HC 85), până la versiuni cu floppy-disk încorporat (HC-2000)
- un HC-85 costa aproximativ 15.000 de lei (aproximativ 700 de dolari), în timp ce un HC 2000 costa în anul 1992 5.500 de lei.
54
HC - Home Computer (1985)
- Microsoft introduce Windows 1.0 în 1986- în 1990, introduce Windows 3.0- la mijlocul anilor 90, mai mult de 95% din
calculatoarele din lumea întreagă rulau Windows
55
Windows (1986)
- calculatoare mici, de ținut în mână, care au fost inițial proiectate să fie agende personale electronice, dar care în decursul timpului au devenit polivalente
- permitea recunoașterea scrisului de mână, introducerea cardurilor de memorie, servicii de fax și e-mail etc.
57
PDA (1993)
- primul smartphone s-a numit IBM Simon Personal Communicator
- era primul PDA care integra caracteristici telefonice
- bateria dura doar o oră- cântărea 510 grame- avea 1 MB de memorie
58
Smartphone (1994)
- tehnologia continuă să evolueze (nanotehnologie, inteligență artificială, calcule cuantice)- se dorește ca noile calculatoare sî răspundă la limbajul natural uman și să fie capabile de
învățare și organizare proprieSe bazează pe utilizarea:-inteligenţei artificiale;
- circuitelor integrate specializate;- procesării paralele;- superconductorilor;- procesării moleculare şi cuantice – se bazează pe anumite proprietăţi ale atomilor şi nucleelor care le permit să lucreze împreună drept biţi cuantici (“qubits“) pentru a fi utilizaţi de procesor şi memorie;- nanotehnologiilor
Ex: recunoașterea vorbirii
2010-prezent: A cincea generație de computere – tehnologii noi
59
60
Generația a 5-a de calculatoare
Exemple de calculatoare din viața de zi cu zi
Smartphone
Smartwatch
Smart TV
Arduino
Raspberry Pi
Să desfacem un calculator
68
Care sunt tipurile de componente pe care le are un calculator?
69
Să identificăm împreună câteva componente hardware
1
2
3
4
5
70
Din ce este formată componenta software?
71
Interfață sistem de operare
Kernel
Procesor Memorie Periferice
Cum comunică cele două componente ?
Despre programare
Programarea declarativă
Exemplu:
Afișează dintr-o bază de date următoarele informații
Numele și prenumele elevilor cu ochii verzi care sunt în clasa a
11-a, la specializarea matematică-informatică.
Programarea imperativă
Exemplu:
declara a
declara b
citeste a
citeste b
afiseaza a+b
73
Câte tipuri de programare există?
CUM? CE?
Un set de reguli sintactice și semantice care sunt
înțelese de calculator.
• reguli sinctactice - după fiecare instrucțiune se pune ;
• reguli semantice – cuvintele au un sens bine definit
74
Ce este un limbaj de programare?
Limbaje de programare imperative: C, C++, Java etc.
Limbaje de programare declarative: SQL, T-SQL etc.
Powershell
Unde se folosește?
• Dezvoltare de scripturi pentru administrarea acțiunilor în sistemul de operare
C
Unde se folosește?
• Dezvoltare de sisteme integrate (embedded systems)
• Dezvoltare de sisteme de operare (99% din kernelul Linux-ului, Windows, Unix, kernel MacOS X)
C++
Unde se folosește?
• Dezvoltare de sisteme de operare (Windows)
• Dezvoltare de motor de căutare (Google – o parte)
• Dezvoltare de aplicații de gestiune a bazelor de date (Postgress, MySQL)
Java
Unde se folosește?
• Dezvoltare de aplicații mobile (Spotify –Android)
• Dezvoltarea site-urilor pe parte de server (Amazon.com, Facebook.com, e-Bay.com)
• Dezvoltare de interfețe grafice
Python
Unde se folosește?
• Dezvoltare web
• Aplicații bazate pe analiza datelor (Spotify, Facebook, Google, Youtube -sistemul de recomandare)
• Automatizare de acțiuni
PHP
Unde se folosește?
• Dezvoltare web pe parte de server (Yahoo.com, Google.com, WordPress.com)
• Dezvoltare de aplicații desktop
Javascript
Unde se folosește?
• Dezvoltare de site-uri împreună cu HTML si CSS (e-Bay.com, Google.com, Youtube.com, Facebook.com)
• Servicii pe partea de server a site-urilor (e-Bay.com)
C#
Unde se folosește?
• Dezvoltare de aplicații windows
• Dezvoltare de aplicații web
Swift
Unde se folosește?
Dezvoltare de aplicații pentru produsele Apple (Firefox-IOS, WordPress, Flappy Bird, 2048, SoundCloud)
Ruby
Unde se folosește?
• Dezvoltare de aplicații web (airbnb, SoundCloud)
• Dezvoltare de aplicații mobile
• Dezvoltare de aplicații desktop
Kotlin
Unde se folosește?
• Dezvoltare de aplicații mobile Android (Pinterest)
• Dezvoltare de aplicații web
SQL
Unde se folosește?
• Administrare de baze de date
• Modelare de baze date
87
Cum știe calculatorul să facă ce îi specifică programatorul
Informatica este prezentă peste tot
Medicină
Exemple:
• Poți folosi un computer să simuleze reacțiile chimice și să ne ajute săaflam ce medicamente ar fi eficiente în combaterea anumitei boli;
• Poți folosi informatica să previzionezi la ce boli genetice ești predispus;
• Chiar și pentru lucruri simple, cum ar fi să îți faci o programare on-line.
93
Cum este prezentă informatica în medicină?
Muzică
Exemple:
• Poți scrie un software care analizează muzica ascultată de tine și ți-o sortează în funcție de gen
• Poți crea muzică cu ajutorul computerului
• Există aplicații care ascultă muzică și o pot identifica
95
Cum este prezentă informatica în muzică?
Geografie
Exemple:
• Google Maps/GPS
• GIS – un sistem care măsoară și analizează datele spațiale
97
Cum este prezentă informatica în geografie?
Psihologie
Exemple:
• Creezi programe care arată ce gandesc oamenii
• Credeți că pe viitor vor exista roboți cu sentimente?
99
Cum este prezentă informatica în psiholohgie?
Educație, jocuri video, industria auto
101
Exemplu practic
• Cum este salvată informația pecalculatorul vostru?
• Ce se întamplă când dai zoom la o pozăpe calculator?
102
Exemplu practic
• Informatica este de fapt despre rezolvarea unor probleme, iar
problemele pot fi de orice natură;
• Nu este doar programare și cod;
• În final este o modalitate de a face lumea mai bună.
103
Concluzie
Vreau să lucrez în domeniul IT
Giganții din IT
Joburile în IT sunt cool, motivante și bănoase
Sunt mai multe joburi pe piață decât candidați
Ai ocazia să oferi soluții la diverse probleme din industrie
Îți poți vedea ideile transformate în realitate
Ai libertatea de a veni cu propuneri noi
Înveți constant
106
De ce să lucrezi în domeniul IT?
Industria IT este recunoscută pentru lista mare de titluri de locuri de muncă și roluri, ceea ce poate face dificilă identificarea exactă a activităților.
Astfel, am decodat câteva dintre cele mai populare poziții în micul nostru ghid:
Software engineer
System analyst
Inginer de rețea
Web developer
Software tester
Helpdesk support
Dezvoltator baze de date
Dezvoltator aplicaţii mobile
107
Mic ghid pentru rolurile din IT
• Cunoscut și sub denumirea de:Programator/inginer de sistem, software arhitect, programator de aplicații, software developer.
• Despre rol pe scurt:• Activitatea principală a unui Software Engineer este de
a-şi imagina şi crea cu ajutorul calculatorului, soluţii la problemele zilnice întâlnite de persoane sau firme, pentru a le uşura viaţa sau a le creşte productivitatea.
• Implementează cerinţele venite de la clienţi şiîncearcă să o facă în concordanţă cu tehnologiileactuale.
• Este nevoie, astfel, de un proces continuu de învaţare a noilor tehnologii.
• Competențe necesare: Analiză, gândire logică, lucrul în echipă, curiozitate, adaptare la noile tehnologii și atenție la detalii.
Software Engineer
108
• Cunoscut și sub denumirea de:Product specialist, systems engineer, solutions specialist, technical designer.
• Despre rol pe scurt:• Analistul de sistem realizează analiza în vederea
definirii specificațiilor pentru construirea efectivă a sistemelor informatice;
• Transformă nevoile clientului în cerințe de business;• Rolul necesită o combinație de cunoștințe de business
și tehnice, dar și o bună înțelegere a oamenilor.• Competențe necesare: Abilitatea de a extrage și analiza
informații, o bună comunicare și putere de convingere.
109
System Analyst
• Cunoscut și sub denumirea de:• Network engineer, network designer, network admin.
• Despre rol pe scurt:• În general, rolul implică definirea, administrarea,
întreținerea și modernizarea sistemelor de comunicații, a rețelelor locale și globale pentru o organizație.
• Inginerii de rețea sunt responsabili de strategiile desecuritate, stocare a datelor și disaster recovery.
• Acesta este un rol tehnic și va fi nevoie de anumite certificări de specialitate pe măsură ce avansați.
• O diplomă în domeniul telecomunicațiilor poate fi utilă.• Competențe necesare: cunoștințe de rețelistică specializate,
comunicare, planificare, analiză și problem-solving.
Inginer de rețea
111
• Cunoscut și sub denumirea de:Web designer, arhitect multimedia, internet engineer, front-end/back-end developers, full stack developer.
• Despre rol pe scurt:• Dezvoltarea web este un termen larg și acoperă totul
în legătură cu construirea site-urilor web și a întregii infrastructuri care se află în spatele lor.
• Dezvoltatorii Web se impart în front-end și back-end.• Primii sunt responsabili cu scrierea codului ce
determină modul în care arată un website și cum esteprezentat conținutul.
• Back-end developers vor scrie cod și alte programecomplexe pentru managementul conținutului.
• Competențe necesare: înțelegere a tehnologiilor web (client side, server side și baze de date), gândire analitică, creativitate și problem solving.
112
Web Developer
• Cunoscut și sub denumirea de:Software quality assurance tester, QA tester, QA analyst, QA engineer.
• Despre rol pe scurt:• Bug-urile pot avea un impact masiv asupra productivității
și reputației unei firme. • Testerii încearcă să detecteze toate modurile în care o
aplicație sau sistem ar putea fi folosit(ă) și cum ar putea eșua.
• Dacă nu programează, au nevoie de o bună înțelegere a codului.
• Pregătesc scripturi de testare (funcționale și de regresie) și analizează rezultatele.
• “este mult mai ușor să previi decât să tratezi”• Competențe necesare: Atenție la detalii, creativitate,
organizare, gândire analitică și de investigație, răbdare și comunicare.
Software tester
113
• Cunoscut și sub denumirea de:Technical support, operations analyst, tehnician Helpdesk, operator Helpdesk, support engineer.
• Despre rol pe scurt:• Oferă suport și asistență tehnică clienților care
utilizează software, hardware sau alte sisteme informatice
• Unele linii de asistență necesită profesioniști cu experiență și cunoștințe specifice, dar suportul tehnic poate fi, de asemenea, o oportunitate în IT pentru absolvenți.
• Competențe necesare: Diverse cunoștințe tehnice, problem solving, comunicare / ascultare, răbdare și diplomație.
114
Helpdesk support
• Cunoscut și sub denumirea de:Database admin, Database specialist, DBA.
• Despre rol pe scurt:• O bază de date este o colecție de informații care este
organizată astfel încât să poată fi ușor accesată, gestionată și actualizată (în rânduri, coloane și tabele și sunt indexate pentru a facilita găsirea informațiilor relevante).
• DBA este responsabil cu crearea, întreținerea, interogarea, optimizarea, atribuirea drepturilor utilizatorilor și securitatea bazelor de date ale unei organizații.
• Realizează operaţiunile de salvare (backup) şi restaurare (restore) a datelor.
• Competențe necesare: hardware, software, modele şistructuri de date, abilități analitice.
Dezvoltator baze de date
115
• Cunoscut și sub denumirea de:Mobile app developer, mobile app programmer.
• Despre rol pe scurt:• Crează aplicaţii mobile şi realizează designului lor.• Ajută utilizatorii de smartphone-uri şi de tablete să
citească, să facă cumpărături sau să se joace prin intermediul aplicațiilor.
• In acest moment, 3 platforme principale împart 85% din piață: iOS, Android și Windows Phone.
• dezvoltarea de aplicații mobile este similară cu cea de aplicații Web. O diferență critică este însă că aplicațiile mobile sunt adesea scrise pentru a profita de caracteristicile unice pe care le oferă un dispozitiv mobil.
• Competențe necesare: creativitate(UX/UI design), comunicare, limbaje de programare pentru platforme mobile.
116
Dezvoltator de aplicaţii mobile
Roluri IT din viitorul apropiat:
Machine learning engineer
Internet of Things architect
Blockchain expert
Cyber security engineer
DevOps engineer
“The sky is not the limit. Your mind is.”
117
• Cunoscut și sub denumirea de:Machine learning researcher/cerecetator, machine trainer, machine expert.
• Despre rol pe scurt:• Rolul presupune implementarea de programe
bazate pe ML(o subdivizie a InteligențeiArtificiale; capacitatea unui computer de a ‘învăța’ singur, pe baza datelor oferite).
• Algoritmul este implementat o singură dată, iar computerul va procesa noi seturi de date.
• Programele bazate pe ML pot învăța sărecunoască diverse trenduri și să realizezepredicții pe baza informațiilor stocate.
• Competențe necesare: algoritmică, limbajele de programare, statistică, probabilități.
Machine learning engineer
118
Machine learning - exemple
119
• Cunoscut și sub denumirea de:• IoT engineer, IoT developer.• Despre rol pe scurt:
• Rolul presupune construirea de soluții IoT• IoT este un concept prin care obiecte sau aparate
moderne folosite la scară largă, precum mașini, electrocasnice, sisteme de încalzire sau de iluminat, calculatoare de diferite tipuri (desktop, laptop, tableta, telefon si ceas inteligent) etc., vor putea comunica și relaționa între ele prin intermediul internetului.
• Avantaje: • controlul de la distanta al aparatelor, nu doar a
calculatoarelor din reteaua de internet• posibilitatea de a avea acces in timp real la date de
diferite tipuri preluate din mediul inconjurator, prinintermediul senzorilor.
• Competențe necesare: Creativitate!!
Internet of Things (IoT) arhitect
120
Watch video (IoT - beyond our current imagination)https://www.youtube.com/watch?v=sgMG7zRrcPk
• Cunoscut și sub denumirea de:Blockchain engineer, Blockchain Developer.
• Despre rol pe scurt:• Dezvoltă aplicaţii utilizând tehnologia Blockchain.• Multă lume confundă această tehnologie cu moneda
digitală bitcoin. Însă, în afara faptului că bitcoin este creat pe baza blockchain, aplicațiile acestei tehnologii sunt mult mai variate (servicii financiare, gaming, alegeri electorale, gadgeturi, posibilitatea de a urmări originea bijuteriilor sau a alimentelor).
• Blockchain este un lanț de blocuri, ca un dosar în care paginile se așază una după alta sau ca un raft de bibliotecă pe care se așază cărțile. Fiecare bloc conține informațiile despre o “tranzacție”, stocate securizat și criptat.
• Competențe necesare: platforme blockchain, capacitate de învățare, problem-solving, structuri de date
121
Blockchain expert
• Cunoscut și sub denumirea de:Cyber security expert, Cyber security analyst.
• Despre rol pe scurt:• Pe cât de multe lucruri utile fac programatorii care vor
să ne ușureze viața, pe atât de multe fac și hackerii.• Cum informațiile tuturor ‘plutesc’ la discreție pe
internet, fie că suntem oameni simpli sau de afaceri, hackerii au cam toate resursele pentru a ne da bătăide cap.
• Experții în securitate cibernetică sunt acei oameni de IT care ne protejează sistemele si calculatoarele de potențiali hackeri și de atacurile lor cibernetice.
• Competențe necesare: Gândire analitică, atenție la detalii, problem-solving, rezistență la stres.
Cyber security engineer
122
• Cunoscut și sub denumirea de:DevOps specialist.
• Despre rol pe scurt:• DevOps reprezintă un set de practici pentru o bună
colaborare între echipele de dezvoltare și cele de operațiuni, care pune accentul pe o schimbare a mentalității.
• Conform culturii DevOps, un singur grup de ingineri (programatori, administratori de sistem, QA testerietc.) are responsabilitatea finală a aplicației, de la colectarea cerințelor, la dezvoltare, testare, pregărireainfrastructurii, implementarea cerințelor și, în final, monitorizare și suport. Apoi ciclul este reluat.
• Acest concept îi ajută să devină mai eficienți, săinoveze și să livreze mai rapid software.
• Competențe necesare: Flexibilitate, testare, colaborare, tehnologii, infrastructură, imagine de ansamblu.
123
DevOps engineer
De ce am nevoie ca să fiuinformatician?
De ce am nevoie ca să fiu informatician?
Unii cred că a fi programator
înseamnă să știi foarte bine
C++ sau Java …
Realitatea este că IT-ul reprezintă mai mult de atât.
Cunoașterea unui limbajde programare
Toate celelalte lucruri pe care le folosesc zilnic în jobul meu din IT
128
Gandire logică și structurată
Limba englezăCuriozitate și
disponibilitate de a învăța
Munca în echipă Atenție la detalii Creativitate
Programarea începe cu o provocare
…ce-ar fi să învăt să dezvolt un joc
…hai unul “retro” totuși
OK, cool…. de unde încep?
??#@!@!...
alegem “problema” de rezolvat
…vrem să scriem “cod” pentru:
este clasic
este “retro”
….cu alte cuvinte puțin mai simplu
dar nu este Matematică
este un mod practic de a găsi soluții ușoare pentru probleme grele
e ca și cum avem un elefant de mâncat
pare imposibil, cum începem!!?
hai să vedem împreună
părțile care compun această provocare?
folosește-ți imaginația, vizualizează
analizează
un exemplu de zi cu zi:updates iOS/Android
…putem sa îmbunătăţim jocul la infinit(feature engineering)
părțile care compun această provocare?
welcome screen
afișează
nume jucător
afișează
high score
deseneazănava spațială
lanseazăproiectil cu
taste/mouse
mișcă cu tastele/mouse
nava
calculează
points per alien
1. Primul lucru pe care-l vede userul: welcomescreen ❶
2. Start game ❷1. game engine:
1. desenează nava spatiala2. mișcare taste/mouse => user input =>
mișca nava spatială (mouse vs taste) 3. desenează aliens4. mișcă aliens5. foloște nava spatială pentru a elimina
aliens: fire! 6. mișcă proiectil7. verifică dacă proiectilul a lovit un alien8. verifică daca alienul în cădere lovește nava
…2. game economics:
1. câte puncte pentru fiecare alien distrus….
144
❶ welcome screen, background
145
schimbă culoareade la linia 8
❶ welcome screen, adaugă titlul jocului
146
verifică mesajele de logare în consola
browserului
F12>Console
❷ start game, învață modificând codul și pregatete-te pentru Tema 2
147
Q & A
Feedback
Temă pentru acasă
Săptămâna 1:
1. Vizionare film artistic The Imitation Game/ Joculcodurilor (2014)
2. Dezbatere
Temă pentru acasă
Săptămâna 2:
Ce computer din a cincea generație de calculatoare v-arplăcea să aveți/construiți și de ce?
Temă pentru acasă
Săptămâna 3:
Legat de capitolul ‘Programarea începe cu o provocare’, propuneți noi funcționalități/ îmbunătățiri în jocul cu extratereștrii și nave.
Thank you