Limbaje de Programare și utilitatea lor

Limbaje de Programare și utilitatea lor

Hey salut, 

După multe contraziceri, noi cei de la Endower Academy am hotărât să venim în ajutorul tău și să îți explicăm puțin ce e cu programarea, care sunt cele mai importante limbaje de programare și utilitatea lor. Ce zici, ne acorzi 5 minute din timpul tău prețios pentru asta?

  1. C –  ca limbaj de programare este unul care își face apariția prin anii ‘60 ai secolui trecut, din aceste cauze uneori el este tratat ca un limbaj vechi, este o abordare greșită deoarece cu anii el a devenit doar din ce în ce mai prețios în rândul mai multor dominii ca Eembedded, BackEnd, pe lângă asta a dat viața mai multor limbaje ca C#.

  1. Java – (POO) Programarea Orientată pe Obiect, nu ar fi fost la nivelul actual fără contribuția acestui limbaj, poate că unii au dreptate când spun că împrumută sintaxa de la C si C++, dar nu asta îl face atât de special, ci posibilitățile care le deschide pentru developeri.

  2. PHP – un limbaj de programare proiectat pentru web, dinamic și foarte bun pentru începători, se învață destul de ușor cu puțină perseverență). 80% din siteurile care există azi au la bază php, în care intră și Facebook, Wikipedia, WordPress etc.
  1. Python –  Este un limbaj de programare cu scop general utilizat pentru dezvoltarea web și ca limbaj de asistență pentru dezvoltatorii de software. Este, de asemenea, utilizat pe scară largă în calculul științific, în extragerea datelor și în învățarea mașinii. Creșterea continuă și cererea pentru dezvoltatorii de învățare automată poate conduce la popularitatea Python.
  1. Javascript –  bunicul limbajelor de programare. Nu este o surpriză pentru noi – JavaScript este folosit de peste 80% dintre dezvoltatori și de 95% din toate site-urile web pentru orice logică dinamică din paginile lor. Mai multe cadre frontale pentru JavaScript, cum ar fi React și AngularJS, au un potențial viitor imens pe măsură ce IoT și dispozitivele mobile devin mai populare, așa că ne îndoim că vom vedea o scădere a popularității JavaScript în curând. 

5 motive să înveți robotică

Pe parcursul ultimilor ani, tehnologia a devenit o bază solidă în orice domeniu, determinând modul în care asimilăm informația și percepem lucrurile care se întâmplă în jurul nostru.

Pentru noi, cei care neam născut înainte de anii 2000, a fost nevoie de un anumit proces de adaptare la ceea ce numim noi astăzi, tehnologie.

Totuși, cei care sunt născuți în era tehnologiilor, se bucură de fiecare pas al evoluției și al dezvoltării noilor concepte tehnologice.

Cei născuți în era digitală, descoperă mereu lucruri noi, imaginația lor nu are limite, iar curiozitatea lor îi determină să încerce, să exploreze, să experimenteze, pentru că ei doar asta știu, asta sunt învățați în fiecare zi, să nu renunțe nici o dată.

Am găsit 5 motive, dintr-o serie mult mai mare, pentru a învăța robotica acum:

  1. Familiarizarea cu programarea – Mașini teleghidate, roboți care reacționează în modul în care vrei tu ca ei să reacționeze. Ar fi interesant ca un robot să rezcționeze exact vrei tu, așai? După absolvirea cursurilor de Arduino și RaspberryPi oferite de către Endower Academy, vei putea singur să programezi un un robot și să-l faci să asculte comenzile tale ca un cățeluș dresat.
  2. Dezvoltarea spiritului de echipă – Când toți promovează individualismul și egoismul, noi, la Endower Academy să îi învățăm pe cursanți să colaboreze este unul din principiile de a bază, deoarece fără colaborare, nu există progres. În cadrul cursurilor de robotică și programare, cursanții lucrează în echipă, se ajută unii pe alții și transformă cursurile în ședințe de generare de idei pentru a veni cu cele mai inventive soluții pentru a crea robotul așa cum doresc ei.
  3. Dezvoltă spiritul competitiv, în sens pozitiv :)) – La finalul cursurilor, se organizează competiții și întreceri între roboței pentru a dezvolta spiritul competitiv, nu pentru a se oferi locuri ierarhice, ci pentru a spori creativitatea. Toți trebuie să știe că imaginația ta, e superputerea roboților. 🙂 
  4. Perseverența – Programarea presupune idei logice, iar punerea în mișcare a roboților, deși pare un lucru destul de complicat la început, provocările sunt depășite cu ajutorul perseverenței. La început, îți poate da bătăi de cap, dar dezvoltarea capacității de a găsi soluții, dorința de a nu renunța și de a căuta permanent rezolvări este unul din scopurile noastre primoridiale.
  5. Învățare activă – Experiențele active de învățare contribuie la creșterea capacității de concentrare și atenție, la asimilarea mai rapidă a teoriei prin practică și la înțelegerea vieții de zi cu zi prin simularea anumitor experiențe. În plus, cursanții au nevoie să experimenteze și să asimileze cunoștințe prin descoperire, să simtă că ideile lor contribuie la un rezultat palpabil, vizual.

Vino și tu să descoperi aceste lucruri, să construiești și să programezi un robot alături de noi, iar noi îți promitem să te ajutăm în depășirea limitelor și dezvoltarea capacităților în domeniiul roboticii și programării.

Link de înregistrare: http://bit.ly/2YuUiJH

Vrei să devii programator?

Domeniul IT este încă foarte atractiv pentru cei care își caută un job. Profesioniștii în acest domeniu sunt la mare căutare atât în țară, cât și în străinătate. Salariile sunt foarte mari în comparație cu cele din alte domenii de activitate, iar activitatea desfășurată este în general una destul de plăcută și stimulanta din punct de vedere intelectual.

Am primit de la cititori întrebări de genul “Către ce anume să mă orientez în IT?” și “Ce trebuie să studiez ca să pot lucra în IT?“.

Răspunsul la aceste întrebări poate da naștere la o discuție foarte amplă, dar voi încerca în acest articol doar să schițez niște idei principale care să aducă măcar un pic de lumină asupra subiectului.

Ce opțiuni de job-uri există în IT?
Poate că ai auzit că în sectorul IT se fac mereu angajări și salariile sunt bune și te atrage ideea să te apuci de așa ceva. Dar imediat apare întrebarea: OK, IT — dar ce anume, mai exact? Ce loc de muncă mi-aș putea găsi în IT? Și ce loc de muncă dintre acestea mi s-ar potrivi?

După ce reușești să îți găsești răspunsul la întrebările de mai sus, apare încă o întrebare: Bun, acum știu că mi-ar plăcea să lucrez asta; dar cum anume mă pot pregăti pentru acest job? Ce trebuie să învăț? Și unde pot învăța lucrurile astea? Trebuie neapărat să fac o facultate? Sau e suficient un curs de pregătire? Diploma îmi folosește la ceva, sau nu?

Hai să luăm pe rând aceste întrebări.

Ce locuri de munca există in IT?

Există foarte multe tipuri de job-uri în materie de IT. Aproape tot ce ține de lucrul cu calculatoarele se încadrează la categoria asta. Dar nu toate astea sunt la fel de căutate și de bine plătite. De exemplu, un tehnician care știe să utilizeze anumite aplicații software nu este nici pe departe la fel de bine plătit ca un programator care știe să construiască respectivele aplicații software.

O clasificare brută a job-urilor din IT s-ar putea face în felul urmator:

–> Job-uri care nu (prea) implică programare:

Aici ar intra job-uri ca: tehnician IT, tehnician de rețea, administrator de rețea, administrator de sistem, analist de rețea, administrator de baze de date, etc. Dacă vrei să afli daca ți s-ar potrivi un loc de muncă de acest gen, puneți întrebări ca: Îmi plac calculatoarele? Îmi place să le repar sau să instalez soft-uri? Îmi place să folosesc programe de calculator?

–> Job-uri care implică (foarte multa) programare:

Aici ar intra job-urile care vizează integrarea și dezvoltarea aplicațiilor software existente sau construirea de aplicații complet noi, gen: web designer, programator de aplicații web, programator de aplicații desktop, programator de aplicații pentru mobil, programator de jocuri, etc. Ca sa afli daca ți s-ar potrivi un loc de muncă de acest gen, întreabă-te: Îmi place să creez? Îmi place să construiesc lucruri? Îmi place să am libertatea de a-mi pune ideile în practică?

Dacă aleg programarea, ce opțiuni am?

Poate că nu toți cei care citesc acest articol s-au simțit mai atrași de această variantă. Nu e imposibil să ajungi să lucrezi în IT fără să știi programare. Însă cele mai mari oportunități în IT le au programatorii, asa ca voi detalia puțin pe ce direcții te-ai putea orienta ca programator.

1. Web designer

Articolul asta îl citești de pe un site web. Peste tot pe Internet găsești site-uri web. Majoritatea firmelor au site-uri, și mulți oameni au blog-uri personale. Zilnic folosești o grămadă de site-uri — pentru a citi și a scrie email-uri, pentru a comunica, pentru a citi știri și a te informa, pentru a te juca și a te relaxa, etc.

Ce au toate astea în comun este faptul că interacționezi cu ele prin intermediul unei aplicații numită browser web (gen Chrome, Firefox, Safari sau Internet Explore) și care știe să facă o grămadă de lucruri interesante. Cu condiția să știi să îi spui ce să facă. Și îi poți spune asta prin limbaje de formatare a textului cum e HTML (+CSS) și, eventual, prin limbaje de scripting cum e JavaScript.

În vreme ce unele dintre site-uri sunt descărcate de pe server pe calculatorul clientului așa cum sunt, altele sunt doar interfețe prin intermediul cărora clientul poate interacționa cu aplicații web care rulează pe server (cod PHP sau Java,  PythonRuby, etc.; și eventual folosește și SQL pentru a interacționa cu o bază de date) și trimit clientului cod HTML (+CSS) (+JavaScript).

2. Programator de aplicații desktop

La categoria asta se încadrează construirea aplicațiilor de genul editoarelor de texte, browserelor web, player-elor video și alte aplicații software care pot rula pe un calculator. Și jocurile video pot fi încadrate tot în această categorie. Pe lângă aceste tipuri de aplicații foarte comune mai există aplicații specifice anumitor domenii de activitate sau aplicații care ajută anumite firme să își desfășoare activitatea specifică.

Pentru programarea acestui gen de aplicații cele mai populare limbaje de programare sunt în prezent C++, Java, C# și Objective-C Swift. (Este de remarcat că la baza tuturor acestor limbaje stă limbajul de programare C, care în ciuda vechimii sale încă este un limbaj foarte utilizat (în special pentru sarcini care presupun o interacțiune mai directă și rapidă între software și hardware).)

3. Programator de aplicații pentru mobil

Un al treilea domeniu foarte important în materie de IT și programare îl constituie construirea de aplicații și jocuri pentru smartphone sau tabletă. Limbajele de programare cele mai utilizate în această categorie sunt Java (pentru Android) și Objective-C Swift (pentru iOS).

Deși aceste trei categorii pe care le-am menționat aici par destul de diferite, toate au la baza niște concepte fundamentale de programare. Poate că limbajul de programare diferă, poate că sistemele pe care rulează aplicațiile diferă, poate că formă în care se prezintă rezultatele diferă, dar conceptele de programare care stau la baza lor sunt în esență aceleași. Este vorba de niște moduri de a structura gândirea în scopul construirii de afirmații perfect logice și lipsite de orice fel de ambiguitate, afirmații care apoi pot fi cu ușurință transpuse în sintaxa limbajului de programare utilizat.

OK, dacă ai citit până aici înseamnă că ideea unui job în IT te atrage, așa că putem trece la următoarea întrebare.

Ce trebuie să studiez pentru a putea lucra în IT?

Am primit întrebarea: Ce facultate trebuie să fac că să învăț programare?

Răspunsul la această întrebare nu e unic. Bineînțeles că o opțiune evidentă este să faci facultatea de matematică-informatică. Dar un răspuns la fel de bun (dacă nu chiar și mai bun) este să faci facultatea de automatică și calculatoare. Sau facultatea de electronică și telecomunicații. (Ultimele două variante nu numai că te vor învață să programezi, dar te vor ajută și să înțelegi mai bine legătură puternică dintre software și hardware. 

Dar fără facultate nu se poate?

Există firme pentru care nu contează diploma pe care o ai (sau nu o ai), ci contează abilitățile tale în materie de programare. O dovadă în acest sens este numărul mare de studenți (dintre cei buni) care sunt angajați încă din timpul facultățîi (deci fără să dețină diplomă în domeniu).

Pot să învăț programare singur?

Da. Poți. Dar s-ar putea că (cel puțin la început, până când reușești să îți deschizi aripile în domeniu) să ai nevoie de un prieten care să te ghideze și căruia să îi poți pune întrebări atunci când dai de greu.

Dacă te-am făcut curios și vrei să te aprofundezi în domeniul programării, contactează-ne, și vom fi acel prien de care ai nevoie pentru a te ajuta să devii un guru în programare.

Bălți: Inteligența Artificială – Riscuri și Oportunități

Dragi liceeni, studenți, tineri profesioniști sau profesori.


Marți, 23 iulie, a avut loc lecția publică: Inteligența Artificială – Riscuri și Oportunități, organizată de compania Endower, în orașul Bălți, Liceul Teoretic Vasile Alecsandri, Clasa Viitorului.


A fost o discuție interesantă și foarte utilă pentru toți cei interesați de Tehnologiile Informaționale și nu numai.

La eveniment s-a discutat despre aspectele în care AI este gata să facă cel mai mare impact.
Va crea o valoare semnificativă sau va submina modelele de afaceri existente și va pune în pericol locul de muncă. Și cum va arăta viitorul în prezența inteligenței artificiale adevărate. Ne va înbunătăți viața inteligența artificială sau nu.


Acestea sunt întrebările la care am răspuns pe parursul evenimentului.


Trainer: Scutelnic Vladimir – tânăr antreprenor în domeniul tehnologiilor informaționale, student al Universității Tehnice a Moldovei, președinte al Clubului Ingineresc Micro Lab. Vladimir este expert în microelectronică și nanotehnologii, multiplu campion la concursuri naționale și internaționale de robotică și programare, mentor al echipei din Republica Moldova care a participat la concursul internațional de robotică RoboCallenge în România.

Inteligenţa artificială: ce este şi cum funcţionează

Inteligența artificială este tot mai prezentă în viaţa noastră şi ea ne remodelează în permanenţă lumea în care trăim. Din acest motiv, trebuie să ştim ce se înţelege prin inteligența artificială şi cum funcționează aceasta.
Ce este inteligenţa artificială

La început inteligenţa artificială părea a fi doar un subiect desprins din literatura science-fiction: mașini care pot vorbi, mașini care pot gândi, mașini care pot simți. Cu toate acestea, în ultimul timp oamenii de știință au înregistrat, cu siguranţă, progrese importante în acest domeniu de cercetare din informatică.

De-a lungul anilor s-a vorbit mult despre inteligenţa artificială, învățare maşină și învățarea profundă. Ce diferenţă există între acești trei termeni destul de greu de înțeles și care este legătura dintre ei?

Inteligența artificială (IA) este o ramură a informaticii cu ajutorul căreia se încearcă construirea de maşini inteligente şi modelarea inteligenţei umane.

Învăţare maşină este o ramură din știința inteligenței artificiale care urmăreşte să le confere mașinilor capacitatea de a „învăța”. Acest lucru se realizează prin utilizarea unor algoritmi care identifică modele pe baza datelor primite, astfel încât maşinile să poată lua decizii şi să facă predicţii, adică să devină „inteligente”. În acest fel nu mai este necesar ca maşina să fie programată în mod specific pentru fiecare acțiune în parte.

Aşa cum a afirmat Arthur Samuel în anul 1959, învăţare maşină este „ştiinţa care le conferă computerelor abilitatea de a învăţa fără să fie în mod explicit programate”.

Învățarea profundă, pe de altă parte, este o ramură din știința învățare mașină care reprezintă cel mai avansat domeniu al inteligenţei artificiale. Ea are principalul obiectiv să le ofere maşinilor posibilitatea să înveţe şi să gândească cât mai asemănător oamenilor.

Imaginea de mai jos ilustrează perfect relaţia dintre inteligența artificială, învăţare maşină şi învăţarea profundă.

Inteligența artificială

Termenul de „inteligenţă artificială” a apărut în anul 1959 şi aşa cum a afirmat Raymond Kurzweil, un pionier în domeniul inteligenței artificiale, inteligenta artificială este „arta de a crea mașini care să îndeplinească funcții care ar necesita inteligență dacă ar fi îndeplinite de oameni”.

Progresele înregistrate în acest domeniu al informaticii au generat dezbateri aprinse cu privire la ameninţarea pe care inteligenţa artificială o reprezintă la adresă omenirii, indiferent că vorbim de o ameninţare fizică (există voci care susţin că omenirea poate fi exterminată de roboţii înzestraţi cu inteligenţă artificială) sau economică (pentru prevenirea acestui pericol s-a propus venitul universal de bază, care în prezent este în curs de testare în anumite țări).

Învăţare maşină

Metodele de învăţare maşină permit eliminarea necesității programării maşinii pentru fiecare acțiune dintr-o listă de posibilităţi și se stabileşte cum ar trebui să reacționeze inteligența mașinii  la fiecare dintre acestea.

Din anul 1949 şi până la sfârșitul anilor 1960, inginerul american Arthur Samuel a lucrat intens la dezvoltarea inteligenței artificiale, de la simpla recunoaștere a unor modele la învățarea din experiență. El a folosit un joc de şah pentru cercetările sale în timp ce a lucrat alături de IBM, iar activitatea sa a influențat ulterior programarea calculatoarelor IBM timpurii.

Metodele actuale de învăţare maşină devin din ce în ce mai sofisticate, acestea fiind integrate într-o serie de aplicații medicale complexe cum ar fi analiza genomului, într-un efort de prevenire a bolilor, diagnosticarea depresiei pe baza unor modele de vorbire sau identificarea persoanelor cu tendințe de sinucidere.

Învățarea profundă

Învățarea profundă necesită o arhitectură complexă care imită reţelele neuronale ale creierului uman pentru a da sens unor modele chiar și atunci când lipsesc detalii, datele disponibile sunt insuficiente sau atunci când acestea pot crea confuzie. Deşi posibilităţile oferite de învățarea profundă sunt vaste, cerințele sale sunt pe măsură: avem nevoie de multe date și de o putere de calcul extraordinară.

Puteţi afla mai multe informaţii despre învățarea profundă în videoclipul de mai jos.