Showing posts with label programare calculatoare. Show all posts
Showing posts with label programare calculatoare. Show all posts

Tuesday, February 12, 2019

Securizarea promovării examenelor

Și în cazul examenelor din universități a vorbi despre securizare este un lucru normal. Fiecare student are mii de posibilități în a-și securiza examenele. Conceptul de securizare a examenelor nu este deloc sofisticat. El presupune întreprinderea acelor măsuri care să reducă la un nivel cât mai scăzut riscul de a nu promova examenul. Acum lucrurile sunt foarte clare pentru că există transparență maximă în ceea ce privește sistemele de acordare a notelor.
Există pentru fiecare discipină o curricula în care se specifică modul în care se construiește nota de la examen. În multe cazuri se zice că 40% din notă este activitatea din timpul anului și 60% reprezintă nota de la examen. Studentul face proiecte, dă teste și are intervenții în timpul seminariilor, toate fiind notate. La ultimul seminar se prezintă notele din timpul anului pentru fiecare student. Dacă studentul a avut activitate de nivel maxim, adică de nota 10 în timpul anului, el intră cu 4 puncte în alcătuirea notei finale. Aici am inclus și punctul din oficiu. Dacă studentul la examen ia nota 7, ponderea de 60% arată că în nota finală lucrarea lui va fi 4,20, deci nota studentului va fi 4+4,20 = 8,20 și prin rotunjire devine 8 sau dacă profesorul dorește, datorită activității din timpul anului acordă în final nota 9.
A securiza un examen, înseamnă:
- a munci în timpul anului pentru a acumula puncte cât mai multe,
- a învăța pentru examen, astfel încât nota de la examen să fie peste 5,
- a lăsa o impresie bună profesorilor pentru a stimula rotunjirea.
Mulți dintre studenți au defectul unei supraaprecieri nejustificate, care îi face să nu aibă activitate la cursuri și la seminarii și intră cu 0(zero) puncte în examen, ceea ce impune ca la examen, pentru a promova trebuie să ia cel puțin nota 8 pe lucrarea scrisă sau la proba orală. În acest context, 60% din nota 8 reprezintă 4,8 și prin rotunjire studentul primește nota 5 la disciplina unde structura este 40% semestru și 60% examen. Mulți cred că neparticipând la cursuri și seminarii vor fi în stare să obțină minim 8 la examen. Experiența arată că mai puțin de 30% dintre studenții care nu vin la cursuri și seminarii și intră cu 0(zero) puncte în examen, obțin note peste 8 și promovează undeva cu note de 5 și 6, prin aplicarea mecanică a algoritmului dat în curricula. Restul de 70% nu și-au securizat examenul. Sunt situații în care studenții fără activitate în timpul anului nu au drept de a intra în examen. Activitatea nu înseamnă doar prezență, ci prezentare de referate și  de proiecte.

(12 februarie 2019)

Sunday, February 4, 2018

Cariera de programator

A lămuri câteva aspecte esențiale din activitatea de programare, este necesar acum, din moment ce calculatoarele sunt la îndemâna tuturor și producția de tehnici și instrumente are un ritm atât de mare încât nu este valorificată deplin o tehnică și o alta cu mult mai eficientă îi ia locul.
Programatorul modern trăiește într-o altă dimensiune decât programatorii de acum două sau trei decenii, pentru că acum nu mai există niciun fel de restricții. Totul depinde de fiecare persoană în parte și tocmai de aceea este important ca fiecare decizie să fie luată în cunoștință de cauza.
Rolul acestei lucrări este acela de a prezenta  elementele absolut necesare oricărei persoane care este fie la început de drum, fie dorește să înceapă un nou drum și acesta este de a practica profesia de programator.
A face carieră în programare se impune îndeplinirea unor condiții și parcurgerea unor etape, lucruri despre care se vorbește în continuare.
Așa cum vara nu e ca iarna, tot așa programatorul scrie programe. Nu este programator cel care nu scrie linii sursă, nu le rulează și nu vede că ceea ce a făcut este bun sau rău.
Un programator este o persoană care trebuie să aibă o serie de calități, pentru ca munca lui să fie plăcută, sa-i aducă satisfacții și mai ales să se finalizeze printr-un element numit salariu, atât de necesar traiului de la o lună la alta și mai ales pentru asigurarea unui anumit nivel de confort.
În programare nu există criterii exacte din care să rezulte cine este și cine nu este programator, înainte de a se apuca de scris programe. Există bărbați excelenți programatori, există femei foarte bune programatoare, există elevi care scriu programe deosebit de bine, dar există și puști care  uimesc cu programele scrise. Așa ca vârsta și sexul nu contează pentru a fi un programator apreciat. Contează în activitatea de programare felul de a fi al fiecărei persoane, capacitatea de a se adapta și mai ales forța de a privi cu obiectivitatea propria evolutei.
Obiectivul lucrării este de a clarifica principalele aspect ale carierei de programator. Una este ca persoana să fie programator și alta este ca persoana respectivă să facă o frumoasă carieră în programare.
Trebuie văzută în detaliu activitatea de programare, trebuie aprofundat ce este un program și trebuie stabilit ce face un programator. Întrucât este vorba de cariera de programator, toate aceste elemente sunt dezvoltate din unghiul dezvoltării personalității unei persoane care dorește să fie într-o poziție specială în raport cu calculatorul. Daca se discută despre programator, programare și programe, fără a lua în calcul pe beneficiarul muncii complexe a cărei finalitate este programul, se produce o abordare abstractă, nefirească. Programatorul este în serviciul beneficiarului, iar gradul în care beneficiarul este satisfăcut, da calitatea muncii desfășurate de programator. Nu există activitate de programare de înaltă calitate din care rezultă un program slab. Așa că un programator bun, desfășoară activități de calitate, respectând reguli, standarde și rezultă programe de calitate care îi satisfac pe beneficiari. Acum când aplicațiile distribuite presupun colectivități largi de utilizatori, problema calității produselor software se pune cu și mai mare stringență. Așa că numai o activitate de programare din care rezultă programe bune care să-i satisfacă pe beneficiari, conduce la idea că programatorul care și-a adus contribuția, urmează o carieră de succes.
Mai întâi sunt analizate calitățile ce trebuie să le aibă cel ce-și propune să intre în programare și să urmeze pașii specifici unei cariere în această profesie. Este vorba de caracteristici obișnuite, pe care le au marea majoritate a oamenilor, dar cel care alege să fie programator, trebuie să se autoanalizeze, să vadă măsura în care acele caracteristici le are și crede ca le dezvoltă sau nu le are și posedă altele cu care compensează. Există și programatori geniali, dar masa mare a programatorilor este formată din oameni obișnuiți, dispuși să lucreze într-un anume fel, care acceptă să interacționeze zi de zi cu calculatorul și să dezvolte activități pentru atingerea unui obiectiv, scriind programe care se rulează pe calculator. Programatorul este o persoana, dar el trebuie să devină o personalitate. Asemeni poeților, programatorul are un stil al său de programare, folosește anumite resurse, are ritmul său de lucru. Așa cum degetele de la o mână nu seamănă între ele, nici programatorii nu seamănă între ei. Unii au câteva trăsături comune, în sensul că folosesc același tip de calculator, lucrează cu același limbaj de programare, au rezolvat aceleași tipologii de probleme. Dar este foarte greu de găsit doi programatori care să fie puși să scrie un program de 200 linii sursă, din care primele 100 să le scrie unul, iar celelalte 100 să le scrie al doilea. Puse cap la cap, să dea un program care să meargă de la prima rulare. Acest lucru este imposibil.
În carte este tratat contextul în care o persoană începe să lucreze în programare și parcurge etapele necesare atingerii unui nivel de măiestrie recunoscut de cei cu care lucrează. Astfel, se zice despre acesta că este un foarte bun programator sau se zice că este cel mai bun. Trebuie spus că drumul nu este simplu, dar în nicio meserie nu se progresează de la sine. Aici, rezultatele sunt vizibile, întrucât diferențele sunt date de calculator. Cu cât crește performanța unui programator, cu atât el este implicat în realizarea de proceduri mai complexe. Cu atât el oferă soluții dintre cele mai elegante și toata lumea vede aceste lucruri pentru că programele lui se rulează de mai puține ori, durata de realizare este mai redusa și erorile de execuție după lansare sunt foarte reduse, dacă nu inexistente. Programatorul trebuie să cunoască o serie de secrete ale meseriei, pentru a merge cât mai departe în a se perfecționa.
Programatorii lucrează la dezvoltarea de proiecte IT, unele mai mari, altele mai mici dar toate se bucură de apartenența la una din doua mulțimi adică, un proiect este bun și aparține mulțimii proiectelor de succes sau un proiect este prost, nu funcționează sau a fost întreruptă realizarea lui și aparține mulțimii proiectelor ce reprezintă insuccese pentru programator. Este important ca programatorul care urmărește o carieră în dezvoltarea de software să fie extrem de atent și să participe la proiecte cu șanse de succes importante, mai ales pentru faptul că nici 3% dintre proiectele IT&C concretizate prin sisteme software nu intră în procese de reinginerie.
Toți  programatorii sunt pândiți de riscuri la tot pasul și tocmai de aceea pentru a dezvolta o carieră de succes trebuie să știe care sunt acestea și mai ales, trebuie să le gestioneze, adică să le elimine sau să diminueze cel puțin acțiunea factorilor favorizanți. Chiar elemente care par la prima vedere a fi avantaje pentru dezvoltarea carierei de programator, dacă depășesc un anumit prag, se transformă în contrariul. 
Dacă programatorul are educația reutilizării  de programe, de proceduri, de secvențe de instrucțiuni, reușește cu șanse și mai mari în cariera sa, pentru că a reutiliza înseamnă a economisi, știut fiind faptul că produsele software nu au uzură fizică. Dacă ele nu sunt afectate de uzura morala, reutilizarea de componente în noi programe este un lucru benefic. Numai că acele componente destinate reutilizării, trebuie gândite și realizate în acest scop. În niciun caz nu se reutilizează o componentă fără un nivel de generalitate ridicat și mai ales dacă nu a fost testată și în orice moment prin erorile conținute compromite întregul produs în care ea este parte.
Promovarea programatorilor este momentul așteptat de fiecare dintre ei. Această promovare se realizează fie în cadrul aceleiași companii, dar în cele mai multe situații obținerea unei noi poziții se produce prin concursul dat la o alta companie. Continuitatea activității într-o aceeași companie este benefica până la un punct. Acumularea de experiență trebuie înțeleasă dincolo de apariția rutinei și stagnării profesionale. Un programator care și-a definit obiective clare pe termen scurt, mediu și lung, știe cu exactitate cât timp trebuie sa promoveze într-o firmă și care este momentul optim de a face saltul calitativ în meserie, dar într-o altă firmă. Numai că o astfel de abordare presupune cunoașterea tendințelor de dezvoltare profesională și realizarea concordanței între nivelul propriu de performanta și companiile dezvoltatoare de software care au condiții de implementare a tehnicilor, metodelor, instrumentelor, limbajelor pe care programatorul le consideră condițiile lui de promovare.
După citirea cărții, știind care sunt tipologiile de programatori, un tânăr la început de drum știe ce i se potrivește, iar un programator matur, știe ce are de făcut în continuare, dacă nu a făcut totul în meseria lui, lucru foarte greu mai ales în ziua de azi.
Încheierea are rolul de a puncta în câteva cuvinte ceea ce înseamnă o carieră de succes în programarea calculatoarelor, căci atât timp cât sunt calculatoare, vor trebui să existe și programatori. Este demonstrat că un automat, indiferent cât de complicat este el, nu proiectează și realiza un alt automat cu o complexitate mai mare decât a lui. Asta înseamnă că niciodată o revoluție în dezvoltarea software nu este realizată prin programarea automata sau cu generatoare de programe. Tot omul este cel care duce pe trepte superioare utilizarea computerelor, a căror perfecțiune este  dată de acei specialiști ce se ocupa de hardware. Cariera de succes se construiește tot așa cum se construiește o casa, cărămidă cu cărămidă. Așa cum casa fără temelie solidă are probleme de rezistență, tot așa și cariera  programatorului, fără soliditatea abordării încă de la început, devine fragilă, până la epuizare.
Au fost folosite numeroase lucrări, incluse în bibliografia de la final.
Cartea se referă prin:
Ion IVAN, Alin ZAMFIROIU - Cariera de programator, Editura ASE, Bucuresti, 2017, 236pg, ISBN: 978-606-34-0154-1

(04 februarie 2018)

Sunday, September 24, 2017

O carte de istorie a informaticii clujene

Cine dorește să scrie o carte cu titlul Istoria informaticii românești are o misiune foarte grea pentru că trebuie:
- să pornească de la studierea documentelor oficiale;
- să consulte presa vremii;
- să ia în considerare centrele unde s-a dezvoltat informatica;
- să se bazeze și pe mărturiile persoanelor implicate;
- să selecteze elementele cu adevărat importante;
- să structureze exact cum sunt și alte lucrări similare.
Trebuie menționat că despre informatică la noi în țară se vorbește undeva după 1950, adică istoria mai clară a informaticii se referă la un interval ce nu depășește 80 de ani. Încă mai trăiesc mulți dintre martorii marilor evenimente care au ghidonat informatica de la noi și unii dintre ei sunt deținătorii unor documente care au un loc de cinste într-o astfel de carte dacă vor fi analizate și se va considera că se dovedesc esențiale pentru a explica dinamica fenomenului.
Lucrarea Fondarea informaticii clujene, scrisă de Vasile RUS și publicată în anul 1997 la Editura Albastră, în opinia mea reprezintă o contribuție importantă la sistematizarea informațiilor necesare scrierii unei istorii pentru informatica din țara noastră, cartea de față având menirea de a crea o imagine cât mai cuprinzătoare a ceea ce s-a întâmplat în domeniul informaticii la Cluj. Am avut ocazia să cunosc informatica de la Cluj înainte de 1989 prin:
- vizitele la Centrul Teritorial de Calcul;
- contactele cu specialiști de la Filiala Cluj a ITC;
- discuțiile cu informaticienii din întreprinderile clujene;
- participările la marile simpozioane de informatică;
- studierea lucrărilor de informatică scrise de clujeni;
- colaborările cu profesorii de la Universitatea Babeș-Bolyai.
În cele 189 de pagini, într-un stil alert Vasile RUS prezintă fapte, oameni, obiecte, activități legate de informatica din Cluj așa cum le-a perceput el, așa cum le-a trăit el. Autorul are marele merit de a se detașa de acele aspecte care au menirea de a schimba ierarhii și de a estopa până la dispariție elemente esențiale, ceea ce m-a făcut să consider această carte ca fiind un adevărat capitol al unei mari istorii a informaticii de la noi, adică o  carte fără de care nu are cum să se facă pasul următor în a face un lucru serios și mai ales durabil într-un domeniu așa de fluid cum este informatica.




Am început cu bibliografia pentru a arăta multe despre ceea ce a însemnat informatica de la noi s-au scris și înainte de 1989 dar și după acest an, deși după 1989 informatica românească a luat o cu totul altă direcție, elementul de creativitate fiind deplasat dinspre partea industrială spre elementele de software și mai ales de proiectare, construcțiile fiind abandonate în favoarea asamblărilor empirice. 


Editura Albastră are o particularitate esențială pe care vreau s-o remarc și anume curajul de a tipări o lucrare de strictă specialitate într-un tiraj de 300 exemplare, cu o prefață semnată de celebrul Emil MUNTEANU, autor a nenumărate lucrări de mare valoare, după care au studiat multe generații de studenți în informatică. El are cuvinte de laudă la adresa lui Vasile RUS cel care a lucrat în ITC și care deci prezintă problematica din miezul ei, acolo unde s-a produs adevărata informatică clujană.
Cele 12 capitole sunt foarte diferite ca dimensiuni, dar capitolele 7 - destinat frealizărilor hardware, 8 - destinat realizărilor siftware, și 11 care prezintă ceea ce a făcut Centrul teritorial sunt cu cele mai multe pagini, ceea ce mă face să aprecoez faptul că istoricul Vasile RUS acordă importanță mare pentru tot ceea ce este destinat activităților realizate în colective foarte largi de specialiști.





Coerta cărții este sobră și elegantă în același timp.


Materialul documentar vine să întregească demersul autorului prin nenumăratele fotografii document incluse. Am amintiri plăcute despre Clujul informatic de demult dar și de cel de azi.
(24 septembrie 2017)

Wednesday, October 26, 2016

ALGORITMI SI TEHNICI DE PROGRAMARE, aplicatii

Am in fata cartea ALGORITMI SI TEHNICI DE PROGRAMARE, aplicatii, scrisa de o echipa valoroasa de profesori dib Departamentul de Informatica si Cibernetica Economica, format din profesorii Cristian Razvan USCATU, Catalina Lucia COCIANU, Marinela MIRCEA, Lorena POCATILU si aparuta in Editura ASE  in anul 2015.
De la inceput trebuie sa spun ca aceasta este o culegere de probleme care urmareste 100% structura cursului despre acre am scris deja in articolul de la adresa:
http://ionivan1947.blogspot.ro/2016/10/o-carte-necesara.html
Cartea acesta se vede ca este scrisa de oameni vu casta experienta deoarece stilul este:

  • clar;
  • concis;
  • direct;
  • complet.
Se enunta problema, se dau explicatii si apoi este prezentat textul sursa. Capitolele sunt echilibrate in ceea ce priveste complexitatea problemelor abordate si sunt dezvoltate de la simplu la complex. daca problema 1.1.1 se refera la aflarea celui mai mare divizor comun si se concretizeaza printr-un text sursa de 13 linii sursa, ultima problema din acest capitol1.8.2 se refera la o procedura cu numar variabil de parametri are 10 linii sursa dar faptul ca se lucreaza cu variabile pointer se complica foarte mult structura acestuia.

Unele dintre probleme sunt grupate in teme, ceea ce da posibilitatea celui care doreste sa scrie programe sa nu iasa din tipologiile de definire si de referire a variabilelor. 
Textele sursa sunt scrise cu grija, in mod omogen, autorii au grij[:

  • sa defineasca in blocuri prelucrari omogene;
  • sa mentina acelasi stil de programare; sa realizeze concordanta intre enunt si solutie;
  • sa aleaga structuri de date adecvate;
  • sa implementeze siolutii adecvate problemelor.
Lucrarea de fata se refera prin urmatoarele coordonate:

Cristian Razvan USCATU, Catalina Lucia COCIANU, Marinela MIRCEA, Lorena POCATILU - ALGORITMI SI TEHNICI DE PROGRAMARE, Editura ASE, Bucuresti, 2015, 176 pg, ISBN:978-606-505-871-2.
Bibliografia care a stat la baza elaborarii culegerii de probeleme de fata include pe langa o serie din lucrarile indicate in cursul tiparit la care am facut deja referire si alte lucrari, din care remarc pe cele de pe pozitiile [2], [3], [6] si [8].







(26 octombrie 2016)