Documente Academic
Documente Profesional
Documente Cultură
• Prezentarea trainerului
• Ioana Imbuzean
• Experienta
• Ce vreau sa realizez cu cursul acesta
• Prezentarea cursantilor
• Nume
• Experienta in domeniu (nu e obligatorie)
• Scopul pentru care a ales cursul
• Asteptarile de la curs
Prezentarea cursului
• Web developer – cunostinte front-end si back-end
• Front-end
• HTML, CSS, Javascript, jQuery, JSON(AJAX)
• Wordpress
• Back-end
• Programare server-side - Php
• Baze de date
• Cunostinte generale despre calculatoare si programare
• Bazele programarii
• Sisteme de operare - Linux
• Sistem de versionare a codului – Git
• Limbajul Java
• Proiect
• Despre software engineering – fazele unui produs, metodologie Agile, Lean
• Acreditare – valabila in Romania, UE, Canada
Administratie
• Laptopuri
• Internet access
• Skype
• Gmail cont trimiteti e-mail la: imbuzeanioana@gmail.com
• 3 ore miercurea de la 18.30 – 21.30
• Pauza cam 10 min la mijloc
• Daca trebuie sa lipsiti
• Exercitii pentru acasa
• Linkuri cu lucruri interesante de citit si studiat
• Intrebari?
Informatii practice curs
• 22 laboratoare
• 1-2 ocazii pregatire pentru acreditare
• 1 test initial acreditare – 1 luna dupa inceperea cursului
• 2 teste intermediare
• 1 test final acreditare – la sfarsitul cursului
Sectiunea 1 – Software engineering
• Istoria calculatoarelor
• Arhitectura calculatorului
• Despre hardware
• Despre software
• Retele de calculatoare
• Despre Internet
• Cloud
• Sisteme de operare
• Linux crash course
• Bash scripting crash course
Istoria calculatoarelor
• De cand exista calculatoarele?
• Calculatoare mecanice exista de mii de ani
• Nevoie de a calcula in agricultura, comert, razboi,
etc
• Abacul – din 3000 î.Hr. la chnezi, babilonieni, romani
Istoria calculatoarelor
• 87 î.Hr. - Cel mai vechi calculator mecanic este considerat
a fi cel din Antikythira, fiind folosit, se crede, pentru
calcularea mișcărilor planetelor.
Istoria calculatoarelor
• Cu industrializarea, au crescut nevoile de calcule mai complexe si
mai rapide
• 1837 - Charles Babbage este cel dintâi care proiectează o mașină
de calcul complet programabilă
– proiectul său nu s-a
mai dezvoltat sau
folosit in continuare,
în parte din cauza
limitărilor
tehnologice ale
vremii
– mașina lui se poate
vedea la Science
Museum din Londra.
Istoria calculatoarelor
1943 - Colossus a fost primul calculator electric programabil
• construit de Tommy Flowers si demonstrat pentru prima
data in 1943.
• A fost creat in Marea Britanie pentru a decoda mesajele
criptate ale naziștilor.
Istoria calculatoarelor
• Din 1970, microprocesoarele si micro chipurile se
perfectioneaza
• dezvoltare rapida in domeniul calculatoarelor – dimensiuni mai
mici si tot mai performante
• 1973 apar calculatoare personale
• Nevoia de a comunica electronic si de a accesa datele intre
calculatoare a dus la dezvoltarea rețelelor de calculatoare.
Arpanet a fost o rețea de calculatoare construita pentru scopuri
militare in Statele Unite. Din ea, mai apoi, s-a dezvoltat
internetul.
• 1983 a apărut rețeaua Internet pentru uz global.
• Calculatoarele s-au dezvoltat mult - IBM si Macintosh.
• Calculatoarele portabile au aparut mai apoi
Istoria calculatoarelor
• Un alt punct important in istoria calculatoarelor a fost ideea ca telefoanele
sa se poată cupla la internet si sa poate comunica intre ele trimițând date
• Din 1993 au început sa se dezvolte smartphones, telefoane mobile cu acces
la internet.
• La inceput erau foarte scumpe si folosite doar de intreprinderi
• In 2007 Steve Jobs a prezentat un Iphone, un telefon mobil cu acces la
internet si ”touchscreen”.
• Smartphones au devenit accesibile pentru populație.
• Au apărut si prins popularitate si telefoanele tip Android si tabletele.
• In clipa de fata se creează tot mai multe aplicații pentru dispozitivele
mobile.
• Deosebirea dintre un telefon si un calculator se șterge încet.
• Cum credeți ca se vor dezvolta calculatoarele in viitor? Care va fi următorul
pas?
Arhitectura calculatorului
• Cum arata un calculator? Din ce este format?
• Componente:
• componente electronice exterioare : ecran, tastatura, mouse
• componentele electronice din interior
• instrucțiunile înregistrate pentru a putea funcționa
• Mai știți si alte componente ale calculatorului?
• Componentele care se vad - Hardware
• Instructiuni – Software
• pentru a executa ceva, calculatorul are nevoie de instructiuni
• instrucțiunile sunt înregistrate in memoria calculatorului
• instructiunile se numesc programe sau aplicații
• Arhitectura calculatorului s-a imbunatatit mult de-a lungul timpului.
• Au aparut aplicatii tot mai complexe si mai avansate, care aveau nevoie
de executie mai rapida, de memorie mai mare pentru a inmagazina
datele si instructiunile de placi de sunet si video mai perfomante.
Despre hardware
• Componentele exterioare
• monitor, imprimanta, mouse, tastatura, microfoane, etc.
• Ne ajuta sa interactionam cu calculatorul, sa-i dam comenzi si sa
vedem rezultatul.
• Se numesc dispozitive de intrare si iesire
• Ce alte dispozitive de iesire mai stiti?
• Ce fel de dispozitiv este monitorul?
• Dar ecranul unui smartphone?
• Componente interioare
• Daca desfacem calculatorul vom gasi urmatoarele piese, bineinteles
ele diferind putin in functie de model: sursa de alimentare, placa de
baza, procesorul, memoria RAM, harddisk, placa video, placa de
sunet, cooler, etc.
Componente interioare
• Sursa de alimentare
• calculatorul are nevoie de curent electric pentru a functiona.
• se cupleza la o sursa de curent si alimenteaza calculatorul cu
electricitate.
• Procesorul (CPU - Central Processing Unit).
• Creierul care da comenzi celorlalte componente
• Procesoarele se fac din ce in ce mai performante
• Viteza la care efectueaza operatii se masoara in Hz.
• Ca si exemplu sa luam un microprocesor Intel, de exemplu INTEL®
CORE™ i7-7920HQ. Ne uitam pe pagina web cu specificatii:
• http://www.intel.com/content/www/us/en/products/processors/co
re/i7-processors/i7-7920hq.html
• frecventa de baza este 3.10 GHz
• 4 nuclee (cores) - poate executa simultan operatii in fiecare nucleu
Memoria
• Microprocesorul are nevoie de date pentru a le procesa. Aceste
date sunt depozitate in memoria calculatorului.
• Exemplu – frigider si masa de lucru
• Hard disk
• frigider
• memoria unde sunt inscrise date si instructiuni pentru a fi citite de
procesor si executate, cat si documente, poze, videoclipuri, etc.
• Memoria de lucru RAM
• ”masa de lucru”.
• temporara si folosita pentru a fi accesata in timpul executiei
instructiunilor.
• informatia din RAM se sterge dupa ce nu mai e nevoie de ea.
• Procesorul citeste mai rapid de pe memoria RAM si nu trebuie sa
mearga la hard disk (frigider) tot timpul.
Componente interioare
• Placa de sunet si placa video
• reda sunete si imagini video, calculatorul are si placa
video.
• Placa de baza (Motherboard)
• leaga toate componentele impreuna.
• o placa mare pe care se fixeaza celelalte componente si le
ajuta sa comunice intre ele prin niste canale (bus).
Despre software – sistemul binar
• Ce intelege caculatorul? Care este limbajul lui?
• Fiind un dispozitiv electric, calculatorul intelege doar
electricitate.
• La baza microprocesoarelor stau tranzistorii, un fel de
intrerupatoare. Aceste intrerupatoare pot avea doua posibile
pozitii, inchis sau deschis, 1 sau 0.
• Folosind 1 si 0 putem obtine foarte multe (filme, muzica, jocuri,
web, facebook, google, etc) , acestea fiind toate secvente de 1 si 0.
• In viata de zi cu zi noi folosim sistemul zecimal, probabil pentru
ca avem 10 degete la maini. Asta inseamna ca avem 10 cifre la
dispozitie ca sa formam numere: 0,1,2,3,4,5,6,7,8,9. Calculatorul
foloseste sistemul binar. Asta inseamna ca are doua cifre la
dispozitie 0,1 ca sa formeze numere.
Sistem binar
• Cum numaram in sistem binar?
Sistem zecimal Sistem binar
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
10 1010
… …
Sistem binar - exemple
• Exemplul 1
• 4 + 5 se traduce:
• 100 + 101
• Raspunsul lui va fi 1001, adica 9.
• Exemplul 2
• 453 + 362 = 815
• 000111000101 + 000101101010 = 001100101111
Sistem binar - exemple
• Bit (binary digit, cifra binara)
• Byte:
• Biții pot fi grupați pentru a lucra mai ușor cu ei. Un grup de 8 biți se numește 1
byte, în engleză, sau 1 octet, în românește.
• 1 Byte = 8 biți
• 1 Kilobyte (KB) = 1024 bytes (sau 1024 x 8 biți)
• 1 Megabyte (MB) = 1024 kilobytes (sau 1024 bytes x 1024 bytes = 1048576 bytes)
• 1 Gigabyte (GB) = 1024 Megabytes
• 1 Terabyte (TB) = 1024 Gigabytes.
• Calculatoarele pot procesa milioane de biți în fiecare secundă.
• Capacitatea de înmagazinare de informație a unui hard disk este măsurată în
Gigabyte sau Terabyte.
• Memoria RAM a unui calculator se măsoară de obicei în Megabyte sau
Gigabyte.
• Nevoia de limbaje de programare
Partile componente software
• Sisteme de operare
• Programele (instructiunile) care controleaza si instruiesc
hardware
• Exemplu Windows, Unix, Linux
• La un nivel mai inalt, alte aplicatii si programe instruiesc
sistemele de operare pentru a efectua operatii mai complexe.
De exemplu Photoshop foloseste operatiile pe care Windows
le pune la dispozitie, pentru a edita poze.
• Programe, cod sau sursa
• instructiunile date calculatorului au nume diferite dar inteles
similar
Retele de calculatoare
• Ce sunt retele de calculatoare si la ce folosesc?
• Nevoia de a accesa date (documente, informatii, etc) de la
un calculator la altul a dus la dezvoltarea retelelor de
calculatoare.
• Daca cuplezi doua calculatoare astfel incat sa comunice
intre ele, adica poata accesa si modifica aceleasi documente
videoclupuri, etc., poti sa spui ca ai o retea de calculatoare.
• La o retea poti adauga si alte dispozitive electronice cum ar
fi imprimanta, smartphones, etc.
• Ce aparate se mai pot conecta la o retea de calculatoare?
• Cum se pot conecta calculatoarele intre ele? Prin cabluri co
axiale, fibra optica, Wifi, satelit, etc.
Clasificare dupa marime
Categorii de retele de calculatoare dupa marime:
• LAN
• MAN
• WAN
LAN
LAN(Local Area Network) este o retea mica, localizata in
mod normal intr-o singura cladire.
• De ce e nevoie de un LAN?
• De exemplu, o firma mica cu cateva birouri poate
folosi un LAN pentru a conecta toate calculatoarele
intre ele si imprimanta.
• In mod normal, calculatoarele intr-un LAN se
conecteaza prin cabluri coaxiale sau wireless
MAN
• MAN (Metropolitan Area Network) este o retea mai
mare, care poate conecta calculatoarele unui oras
• De ce ar fi nevoie de o retea asa de mare?
• Exemplu -
spitale sa imparta informatii despre pacienti, paturi
disponibile, etc.
• Se poate realiza folosind cabluri coaxiale (in trecut),
fibra optica sau Wifi
WAN
• WAN (Wide Area Network) este o retea mai mare ca si
un MAN, se intinde pe arii mai mari
• Se poate realiza folosind multe tehnologii diferite pentru
a transmite date, de exemplu fibra optica, sateliti,
cabluri coaxiale, etc.
• De exemplu, diferite companii de telefonie au WAN,
Orange, Digi, etc.
Clasificare dupa topologie
• Adica dupa forma in care sunt conectate dispozitivele
• Cele mai obisnuite feluri de a conecta retele de tip LAN
sunt BUS, STAR si RING.
Topologie BUS
Topologie tip BUS (magistrala)
Topologie STAR
Topologie tip STAR (stea)
Topologie RING
Topologie tip RING (inel)
Lista de comenzi
>echo ”Salut! Cum te numesti?”
>read name
>echo ”Numele tau este $nume”
Operația de citit:
read var
Var este o bucata din memorie unde se păstrează ceea ce
utilizatorul a scris
Operații de scris/citit
>vim salut
#! /bin/bash
echo "Salut! Cum te numesti?"
read name
echo "Bine ai venit $name"
Variabile
Variabila este un simbol care poate avea diferite valori in
timpul execuției programului