introducere în informatic

141
Introducere în informatică

Upload: others

Post on 28-Apr-2022

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducere în informatic

Introducere în informatică

Page 2: 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

Page 3: Introducere în informatic

Ce este informatica?

Page 4: Introducere în informatic

Informatica este …

Page 5: Introducere în informatic

Ș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

Page 6: Introducere în informatic

Istoria calculatorului

Page 7: Introducere în informatic

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

Page 8: Introducere în informatic

Mașini de calcul și calculatoare mecanice

Page 9: Introducere în informatic

- 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

Page 10: Introducere în informatic

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

Page 11: Introducere în informatic

- 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)

Page 12: Introducere în informatic

- 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)

Page 13: Introducere în informatic

- 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)

Page 14: Introducere în informatic

Caculatoare electronice

Page 15: Introducere în informatic

- Computer (ABC)

16

ABC (1937)

Page 16: Introducere în informatic

- 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

Page 17: Introducere în informatic

- 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)

Page 18: Introducere în informatic

- calculator electromagnetic, considerat cel dintâi calculator universal

- este primul calculator programabil

20

Z3 (1941)

Page 19: Introducere în informatic

- 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)

Page 20: Introducere în informatic

- 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)

Page 21: Introducere în informatic

24

Tranzistorul (1948)

Page 22: Introducere în informatic

- 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)

Page 23: Introducere în informatic

- 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)

Page 24: Introducere în informatic

- 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)

Page 25: Introducere în informatic

- 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)

Page 26: Introducere în informatic

- 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)

Page 27: Introducere în informatic

- 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

Page 28: Introducere în informatic

- 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)

Page 29: Introducere în informatic

- 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)

Page 30: Introducere în informatic

34

Mouse (1963)

Page 31: Introducere în informatic

- 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

Page 32: Introducere în informatic

- 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)

Page 33: Introducere în informatic

- 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)

Page 34: Introducere în informatic

- primul calculator al producătorului de minicalculatoare Hewlett-Packard

38

HP 2116 (1966)

Page 35: Introducere în informatic

- 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)

Page 36: Introducere în informatic

- primul PC- avea memorie de 256 B- costa 750$

40

Kenbak - 1 (1971)

Page 37: Introducere în informatic

- 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

Page 38: Introducere în informatic

- este inventat limbajul de programare C, cu versiunea sa îmubunătățită (C++) apărând în 1979

42

C (1972)

Page 39: Introducere în informatic

- î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)

Page 40: Introducere în informatic

- primul PC cu microprocesor (Intel 8008), non-kit

45

Micral (1973)

Page 41: Introducere în informatic

- 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)

Page 42: Introducere în informatic

- cuprindea o tablă printată pentru circuite, componente și un manual de asamblare la prețul de 666$

48

Apple – 1 (1976)

Page 43: Introducere în informatic

- 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)

Page 44: Introducere în informatic

- 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)

Page 45: Introducere în informatic

- computer lansat de Apple- avea interfață prietenoasă, cu

pictograme (GUI)

52

Macintosh (1984)

Page 46: Introducere în informatic

- î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)

Page 47: Introducere în informatic

- 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)

Page 48: Introducere în informatic

- 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)

Page 49: Introducere în informatic

- 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)

Page 50: Introducere în informatic

- 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

Page 51: Introducere în informatic

60

Generația a 5-a de calculatoare

Page 52: Introducere în informatic

Exemple de calculatoare din viața de zi cu zi

Page 53: Introducere în informatic

Smartphone

Page 54: Introducere în informatic

Smartwatch

Page 55: Introducere în informatic

Smart TV

Page 56: Introducere în informatic

Arduino

Page 57: Introducere în informatic

Raspberry Pi

Page 58: Introducere în informatic

Să desfacem un calculator

Page 59: Introducere în informatic

68

Care sunt tipurile de componente pe care le are un calculator?

Page 60: Introducere în informatic

69

Să identificăm împreună câteva componente hardware

1

2

3

4

5

Page 61: Introducere în informatic

70

Din ce este formată componenta software?

Page 62: Introducere în informatic

71

Interfață sistem de operare

Kernel

Procesor Memorie Periferice

Cum comunică cele două componente ?

Page 63: Introducere în informatic

Despre programare

Page 64: Introducere în informatic

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?

Page 65: Introducere în informatic

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.

Page 66: Introducere în informatic

Powershell

Unde se folosește?

• Dezvoltare de scripturi pentru administrarea acțiunilor în sistemul de operare

Page 67: Introducere în informatic

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)

Page 68: Introducere în informatic

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)

Page 69: Introducere în informatic

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

Page 70: Introducere în informatic

Python

Unde se folosește?

• Dezvoltare web

• Aplicații bazate pe analiza datelor (Spotify, Facebook, Google, Youtube -sistemul de recomandare)

• Automatizare de acțiuni

Page 71: Introducere în informatic

PHP

Unde se folosește?

• Dezvoltare web pe parte de server (Yahoo.com, Google.com, WordPress.com)

• Dezvoltare de aplicații desktop

Page 72: Introducere în informatic

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)

Page 73: Introducere în informatic

C#

Unde se folosește?

• Dezvoltare de aplicații windows

• Dezvoltare de aplicații web

Page 74: Introducere în informatic

Swift

Unde se folosește?

Dezvoltare de aplicații pentru produsele Apple (Firefox-IOS, WordPress, Flappy Bird, 2048, SoundCloud)

Page 75: Introducere în informatic

Ruby

Unde se folosește?

• Dezvoltare de aplicații web (airbnb, SoundCloud)

• Dezvoltare de aplicații mobile

• Dezvoltare de aplicații desktop

Page 76: Introducere în informatic

Kotlin

Unde se folosește?

• Dezvoltare de aplicații mobile Android (Pinterest)

• Dezvoltare de aplicații web

Page 77: Introducere în informatic

SQL

Unde se folosește?

• Administrare de baze de date

• Modelare de baze date

Page 78: Introducere în informatic

87

Cum știe calculatorul să facă ce îi specifică programatorul

Page 79: Introducere în informatic

Informatica este prezentă peste tot

Page 80: Introducere în informatic
Page 81: Introducere în informatic
Page 82: Introducere în informatic

Medicină

Page 83: Introducere în informatic

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ă?

Page 84: Introducere în informatic

Muzică

Page 85: Introducere în informatic

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ă?

Page 86: Introducere în informatic

Geografie

Page 87: Introducere în informatic

Exemple:

• Google Maps/GPS

• GIS – un sistem care măsoară și analizează datele spațiale

97

Cum este prezentă informatica în geografie?

Page 88: Introducere în informatic

Psihologie

Page 89: Introducere în informatic

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?

Page 90: Introducere în informatic

Educație, jocuri video, industria auto

Page 91: Introducere în informatic

101

Exemplu practic

• Cum este salvată informația pecalculatorul vostru?

• Ce se întamplă când dai zoom la o pozăpe calculator?

Page 92: Introducere în informatic

102

Exemplu practic

Page 93: Introducere în informatic

• 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

Page 94: Introducere în informatic

Vreau să lucrez în domeniul IT

Page 95: Introducere în informatic

Giganții din IT

Page 96: Introducere în informatic

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?

Page 97: Introducere în informatic

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

Page 98: Introducere în informatic

• 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

Page 99: Introducere în informatic

• 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

Page 100: Introducere în informatic

• 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

Page 101: Introducere în informatic

• 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

Page 102: Introducere în informatic

• 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

Page 103: Introducere în informatic

• 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

Page 104: Introducere în informatic

• 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

Page 105: Introducere în informatic

• 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

Page 106: Introducere în informatic

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

Page 107: Introducere în informatic

• 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

Page 108: Introducere în informatic

Machine learning - exemple

119

Page 109: Introducere în informatic

• 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

Page 110: Introducere în informatic

• 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

Page 111: Introducere în informatic

• 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

Page 112: Introducere în informatic

• 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

Page 113: Introducere în informatic

De ce am nevoie ca să fiuinformatician?

Page 114: Introducere în informatic

De ce am nevoie ca să fiu informatician?

Page 115: Introducere în informatic

Unii cred că a fi programator

înseamnă să știi foarte bine

C++ sau Java …

Page 116: Introducere în informatic

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

Page 117: Introducere în informatic

128

Gandire logică și structurată

Limba englezăCuriozitate și

disponibilitate de a învăța

Munca în echipă Atenție la detalii Creativitate

Page 118: Introducere în informatic

Programarea începe cu o provocare

Page 119: Introducere în informatic

…ce-ar fi să învăt să dezvolt un joc

Page 120: Introducere în informatic

…hai unul “retro” totuși

Page 121: Introducere în informatic

OK, cool…. de unde încep?

??#@!@!...

Page 122: Introducere în informatic

alegem “problema” de rezolvat

Page 123: Introducere în informatic

…vrem să scriem “cod” pentru:

Page 124: Introducere în informatic

este clasic

Page 125: Introducere în informatic

este “retro”

….cu alte cuvinte puțin mai simplu

Page 126: Introducere în informatic

dar nu este Matematică

este un mod practic de a găsi soluții ușoare pentru probleme grele

Page 127: Introducere în informatic

e ca și cum avem un elefant de mâncat

pare imposibil, cum începem!!?

Page 128: Introducere în informatic

hai să vedem împreună

Page 129: Introducere în informatic

părțile care compun această provocare?

Page 130: Introducere în informatic

folosește-ți imaginația, vizualizează

analizează

Page 131: Introducere în informatic

un exemplu de zi cu zi:updates iOS/Android

…putem sa îmbunătăţim jocul la infinit(feature engineering)

Page 132: Introducere în informatic

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

Page 133: Introducere în informatic

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

Page 134: Introducere în informatic

❶ welcome screen, background

145

schimbă culoareade la linia 8

Page 135: Introducere în informatic

❶ welcome screen, adaugă titlul jocului

146

verifică mesajele de logare în consola

browserului

F12>Console

Page 136: Introducere în informatic

❷ start game, învață modificând codul și pregatete-te pentru Tema 2

147

Page 137: Introducere în informatic

Q & A

Feedback

Page 138: Introducere în informatic

Temă pentru acasă

Săptămâna 1:

1. Vizionare film artistic The Imitation Game/ Joculcodurilor (2014)

2. Dezbatere

Page 139: Introducere în informatic

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?

Page 140: Introducere în informatic

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.

Page 141: Introducere în informatic

Thank you