Showing posts with label Editura ASE. Show all posts
Showing posts with label Editura ASE. Show all posts

Friday, May 5, 2023

O carte de Structuri de date din 2023

De domeniul structurilor de date m-am ocupat de mulți ani, fără a spune că am fost dat afară de la grădiniță că m-am lăudat cu așa ceva. Am publicat materiale de structuri de date în anul 2008, 2005, 2003, 1998, 1992.
Azi 05 mai 2023 mai tânărul meu coleg Marius POPA mi-a oferit un exemplar din lucrarea referită prin:
Marius POPA, Cristian CIUREA, Mihai DOINEA, Alin ZAMFIROIU - Structuri de date, Teorie și practică, Editura ASE, București, 2023, 280 pag, ISBN 978-606-34-0438-2
Cartea are următorul cuprins:
Lista figurilor
Lista tabelelor
Cuvânt înainte
Introducere
reprezentarea internă a datelor
Masive de date
Structuri dinamice liniare înlănțuite
Tabela de dispersie
Structura coadă de priorități
Structuri arborescente
Structura de tip graf
Concluzii
Bibliografie.
Întrucât cuvântul înainte l-am scris eu, îl voi reproduce aici.

Am așteptat cu deosebit interes demersul întreprins de prof. dr. Cristian CIUREA, conf. dr. Mihai DOINEA, conf. dr, Marius POPA și conf. dr. Alin ZAMFIROIU, cadre didactice prestigioase la Departamentul de Informatică și Cibernetică Economică, de a trimite spre publicare la Editura ASE a lucrării intitulată Structuri de date, teorie și practică. Lucrarea este rodul undei îndelungate activități desfășurate de cei patru autori la Facultatea de Cibernetică, Statistică și Informatică Economică, Secția Informatică Economică, unde ei au predat cursuri și au coordonat activități de laborator la disciplina Structuri de date, aflată în programa de învățământ a studenților, viitori informaticieni.

Autorii au structurat lucrarea pe capitole care urmăresc o abordare graduală a problematicii structurilor de date, îmbinând latura teoretică cu latura practică, pentru a oferi studenților, dar și specialiștilor din producție, un suport solid care să le permită derularea unor procese optime de alocare și nivelare de resurse, atunci când trec la dezvoltarea de aplicații informatice cu nivel de complexitate ridicat, destinate unui număr foarte ridicat de utilizatori în mediul online mai ales.

În capitolul intitulat Reprezentarea internă a datelor, autorii foarte buni cunoscători ai limbajului de asamblare, prezintă o serie de detalii absolut necesare înțelegerii reprezentării datelor în memorie, a modurilor de adresare, a mecanismelor de alocare și de gestionare dinamică a zonelor de memorie. Un spațiu important din acest capitol este rezervat variabilelor pointer, iar exemplificările sunt efectuate folosind limbajul de programare C.

Capitolul intitulat Masive este destinat prezentării structurilor de date omogene vector și matrice. Modul de alocare a zonelor de memorie și referirea elementelor sunt puse în evidență prin utilizarea unei aplicații complexe, cu multe funcții de prelucrare. Alegerea acestui mod de abordare permite trecerea rapidă spre soluționarea de probleme dintr-o clasă foarte cuprinzătoare, căci colectivităților omogene din viața reală, le corespund în plan informatic, aplicații în care lucrul cu vectorii și cu matricele sunt cele mai potrivite.

Pentru a prezenta listele simplu înlănțuite, listele dublu înlănțuite, a fost construit capitolul Structuri de date liniare înlănțuite. Sunt prezentate conceptele de bază și operațiile cu aceste structuri de date dinamice. Fiecărei operații îi corespunde o funcție scrisă în limbajul C. Aici sunt prezentate operațiile de creare element, de numărare elemente, de sortare a elementelor, de inserare element, de ștergere element, de ștergere a întregii liste, de concatenare a două liste și de descompunere a unei liste în două liste. Construcția funcțiilor permite preluarea textelor de către orice dezvoltator, cu efectuarea rapidă a adaptărilor care să permită implementarea listelor simple în textele lor sursă. În același mod se procedează și în cazul listelor dublu înlănțuite. Sunt date criterii de selecție, care arată când trebuie implementare listele simplu înlănțuite și când se implementează listele dublu înlănțuite în aplicații informatice, căci diferențele dintre ele generează performanță numai când alegerea este adecvată.

Capitolul intitulat Tabele de dispersie conține tratarea unei structuri de date extrem de utile în aplicațiile unde se impun regăsiri de informații după chei. Sunt date operații de inserare, de căutare, de viziualizare și de ștergere. Sunt prezentate diferite variante de creare a tabelelor de dispersie, cu avantajele și limitele pe care acestea le prezintă.

Pentru structura coadă de priorități autorii au construit un capitol special în care sunt prezentate funcții de inserare element cu prioritate dată, afișare elemente, identificarea elementului disponibil, schimbarea priorității, extragerea elementului cu prioritate maximă și verificarea conținutului structurii. Textul sursă propus de autori se translatează rapid către problemele dezvoltatorilor în care ierarhizarea elementelor din colectivități se realizează în baza unor priorități stabilite după reguli clar definite.

Structuri arborescente este capitolul în care sunt prezentați arborii oarecare, arborii binari, arborii binari de căutare, arbori echilibrați, arbori AVL și arborii de structură. Pentru fiecare tipologie de arbori sunt prezentare funcții corespunzătoare operațiilor de creare, de traversare, de inserare nod, de ștergere nod, de afișare nod, calcul înălțime arbore. Și aici s-a optat pe ideea de a exemplifica utilizarea fiecărei structuri arborescente pentru câte o clasă de probleme, care este reprezentativă și care se regăsește frecvent în practica dezvoltatorilor de software.

Pentru Grafuri, este dedicat un capitol distinct și sunt dezvoltate atât abordări privind matricelor de adiacență, cât și abordări cu alocare dinamică a memoriei pentru nodurile unui graf. Sunt detaliate funcțiile de traversare în graf în înălțime, de căutare, de alocare, de dezalocare, de inserare arce, de inserare noduri. Sunt implementați  algoritmi de stabilire a drumului minim și de stabilire a costului minim în graful definit într-o matrice. Dezvoltatorii de software care parcurg acest capitol au posibilitatea de soluționa direct, folosind funcțiile date, a variantelor de probleme de transport cu identificarea de rute eficient după diferite criterii combinate, prin introducerea de filtre proprii.

Lucrarea se încheie cu Concluzii, parte care sintetizează elocvent necesitatea utilizării adecvate a structurilor de date, căci diferența între o structură de date adecvat folosită și una folosită la întâmpălare se concretizează prin creșterea semnificativă a performanței aplicației informatice, mai ales prin reducerea drastică a timpilor de prelucrare, mai exact a timpilor de așteptare ai utilizatorilor care folosesc cu deosebire aplicații online.

Bibliografia folosită de autori include lucrări publicate majoritatea în ulțimii ani, lucrări reprezentative din domeniu, selectate  cu grijă, lucrări care sunt accesibile în mediul online.

Textele sursă incluse în lucrare sunt reprezentative pentru clase de probleme frecvent întâlnite în viața de toate zilele. Textele sursă sunt autodocumentate folosind comentarii sugestive. S-a optat pentru creșterea clarității textelor sursă prin alegerea numelor de identificatori folosind cuvinte sugestive legate prin underscore. Secvențele de instrucțiuni ce se referă la o anumită prelucrare sunt grupate în blocuri distincte, ușor de urmărit căci delimitatorii de bloc se află pe linii sursă separate. Toate programele scrise și incluse în carte au fost verificate, testate și validate, astfel încât, prin utilizarea directă, studenții și dezvoltatorii de software au un punct de plecare sigur, care să le asigure succesul necesar în elaborarea de texte sursă pentru propriile probleme.

Lucrarea a fost gândită pentru a fi utilă celor care doresc să scrie software performant, cu nivel de complexitate ridicat și care urmăresc obținerea unui nivel ridicat de calitate prin includerea de secvențe de instrucțiuni verificate de-a lungul timpului, bine gândite, optimale, dacă prin acest concept se acceptă secvențele cele mai bune dintr-o multitudine cunoscută de secvențe de instrucțiuni și nu din totalitatea de secvențe care ar exista vreodată.

Scrierea programelor în limbajul C crează premise reale olosirii fără efort suplimentar a funcțiilor de prelucrare a structurilor de date, în aplicații cu niveluri diferite de complexitate, cu utilizarea celor mai avansate tehnici de programare și a unei mari varietăți de limbaje avansate de programare. Se vede că cei patru autori vin cu o experiență vastă din practica dezvoltării de proiecte informatice ca programatori, căci toți patru scriu în mod curent programe în limbajul C în producție, dar și practica de la catedră, căci pe pozițiile didactice pe care le ocupă, au predat cursuri și au coordonat activițiți de laborator la disciplina de Programare a calculatoarelor, disciplină care poartă denumiri ce corespund tipului de limbaj sau tehnicii de programare folosite. Ei au și alte colaborări în scrierea de articole, în prezentări de comunicări la conferințe, ceea ce le-a permis abordarea întregii problematicii într-o manieră omogenă, echilibrată, unitară, ceea ce face ca lucrarea să fie cu atât mai valoroasă.

Autorii acestei lucrări originale sunt doctori în specializarea Informatică Economică, au o vastă experiență atât didactică cât și de cercetare științifică. Dr. Cristian CIUREA dezvoltă proiecte de informatică la Biblioteca Academiei Române, dr. Mihai DOINEA și dr. Marius POPA dezvoltă proiecte de informatică la Compania ORACLE, iar dr. Alin ZAMFIROIU dezvoltă proiecte de informatică la Institutul de Cercetări în Informatică.

Este o onoare pentru mine să scriu aceste rânduri, căci am urmărit evoluția celor patru autori de-a lungul timpului și acestă lucrare este unul din șirul lung al realizărilor pe care le-au concretizat prin colaborare rodnică, prin muncă asiduă și dovedind exigență, rigurozitate și originalitate în toate demersurile lor.

Îmi exprim credința că lucrarea Structuri de date, teorie și practică scrisă de r. Cristian CIUREA, dr. Mihai DOINEA, dr, Marius POPA și dr. Alin ZAMFIROIU, va fi o lucrare de referință în domeniu, iar studenții și specialiștii informaticieni, vor avea un istrument deosebit de util în munca lor pentru a crește calitatea și eficiența aplicațiilor informatice pe care le vor realiza, după studierea ei, dar mai ales, după ce vor translata în textele lor sursă secvențe cu care autorii exemplifică avantajele folosirii anumitor structuri de date, integrate în construcțiile proprii.

M-am bucurat să văd că cei patru tineri duc mai departe tradiția care a fost dezvoltată începând cu anul universitar 1991 - 1992 la Secția de informatică Economică și structurile de date au rămas o disciplină deosebit de importantă pentru studenții care vor să devină specialiști de înaltă clasă, căci totul depinde de cum ei vor ști să aleagă structurile de date adecvate, atunci când vor dezvolta aplicații informatice în viitor. Să nu uite nimeni că fișierul este o structură de date, că baza de date este o structură de date, că obiectele sunt structuri de date, că inteligența artificială se bazează pe operații complexe cu structuri de date și că orice dezvoltare viitoare a tehnologiilor informatice nu se va realiza în afara structurilor de date.

 

 

 



(05 mai 2023)

Thursday, February 23, 2023

1.000 de oameni care m-au impresionat: Cristian BOLOGA

Cristian BOLOGA este lector doctor la Universitatea BABEȘ-BOLYAI la FSEGA, la Departamentul de Informatică Economică. Acum este director de departament și-i urmează la conducere  profesorului Gheorghe SILAGHI
Cristian BOLOGA m-a impresionat prin două lucruri.
Primul lucru a fost teza sa de doctorat, frumoasă, cu soluții originale, pe care am citit-o cu atenție dar și cu mare plăcere, căci avea soluții originale și se vedea că este teza unui om cu idei originale, o teză muncită, în care Cristian BOLOGA verificare cu atenție toate ipotezele avansate.
Al doilea lucru este legat de colaborarea noastră în realizarea celor două volume din lucrarea de structuri de date, referită prin:
Ion IVAN, Marius POPA, Paul POCATILU ( coorodnatori) - Structuri de date ,vol. 1 si vol. 2, Editura ASE, Bucureşti, 2008.
Vol. 1: Tipologii de structuri de date, 770 pag., ISBN 978-606-505-032-7.
Vol. 2: Managementul structurilor de date, 534 pag., ISBN 978-606-505-033-4.
Lucrarea a fost distinsa cu Premiul Academiei Romane Tudor TANASESCU pe anul 2008.
Și de această dată doctorul Cristian BOLOGA, care avea curs de Structuri de date la studenții Secției de Informatică Economică de la FSEGA mi-a dovedit că este un tânăr valoros, cu cunoștințe temeinice în domeniu, ceea ce m-a impresionat.




(23 februarie 2023)

Tuesday, December 20, 2022

O carte pierdută

De regulă sunt un tip grijuliu cu lucrurile mele. Nu știu cum s-a întâmplat dar am pierdut o carte pe care am scris-o cu mulți ani în urmă. Când mi-a venit ideea s-o scriu a fost determinată de faptul că un nene a încropit un colectiv și a publicat o carte, evitându-mă deși lucram la acea disciplină. Era un semnal negativ pentru mine. M-am enervat și l-am anunțat pe conducătorul meu de doctorat că voi lipsi cam trei săptămâni. Omul s-a uitat la mine și m-a aprobat. Știa că nu voi lipsi fără motiv, căci ori de cîte ori dispăream, atunci când îmi făceam apariția veneam eu cu ceva.
În cele trei săptămâni am lucrat ca disperatul direct pe foi de tipografie, un fel de format X5 și mi-am dactilografiat singur cele câteva sute de pagini. A rezultat cartea referită prin:
Ion IVAN - Construirea sistemelor de programe, Litografia ASE, București, 1979, 425 pagini.
Am inclus în această carte rezultatele mele legate de managementul calității software, deși cartea apărea ca volumul al III-lea al disciplinei despre care aminteam că am fost evitat de distinsul meu coleg, cu care din acel an nu am mai avut relații de colegialitate cordiale. Cartea a inclus mulți indicatori de calitate și avea multe exemple, căci lucrasem de-a lungul anilor pe această problemă. 
Am reținut pentru mine câteva exemplare. Am oferit și prietenilor mei exemplare ale cărții. În timp m-am mutat de mai multe ori și am reușit performanța să pierd multe materiale interesante, dintre care și cartea Construirea sistemelor de programe și îmi pare nespus de rău. Un coleg zicea că o are la el în bibliotecă. Nu am mai insistat, căci și el s-a mutat de mai multe ori. O consider pierdută și asta este!



(20 decembrie 2022)

Sunday, November 13, 2022

Alin ZAMFIROIU și publicarea tezei sale de doctorat

Am colaborat cu tânărul Alin ZAMFIROIU în stagiul doctoral, care s-a finalizat la data de 24-10-2014, când a susținut teza intitulată Metrici ale calității aplicațiilor mobile, după care în anul 2016 el a publicat lucrarea referită prin:
Alin ZAMFIROIU - Metrici software de evaluare a calității aplicațiilor mobile din mediul educațional, Editura ASE, București, 2016, 133 pag, ISBN: 978-606-34-0050-6.


Cartea are o introducere, opt capitole unde autorul dezvoltă problematica enunțată în titlu și se încheie cu concluzii. Bibliografia aleasă cu grijă, de actualitate și pe subiectul cărții, conține patru materiale în care Alin ZAMFIROIU este coautor sau autor.



Aplicația cu care Alin ZAMFIROIU a exemplificat metricile de calitate implementate îi aparține, pentru că el este un excelent programator. El a găsit modalitatea prin care datele au fost achiziționate pe măsura derulării unor procese, ceea ce a permis inclusiv studiul comportamentului celor ce utilizează aplicația mobilă, pentru a fi dezvoltată ulterior în ideea ca aceasta să fie orientată cât mai mult spre utilizatori.





(13 noiembrie 2022)

Saturday, November 12, 2022

Cartea Arhitecturi informaționale agile

Profesoara Marinela MIRCEA de la Departamentul de Informatică și Cibernetică Economică este un nume de referință pentru Informatica Economică românească prin rezultatele activității sale de cercetare științifică finalizată cu articole și cărți publicate. Lucrarea referită prin:
Marinela MIRCEA - Arhitecturi informaționale agile în mediul  colaborativ de afaceri, Editura ASE, București, 2015, 154 pag, ISBN: 978-606-34-0025-4
are opt capitole și se încheie cu o bibliografie în care autoarea are cinci referințe, articole publicate în jurnale recunoscute internațional.
Cartea este gândită astfel încât cine dorește să treacă de la modul clasic de abordare a arhitecturilor informaționale la tehnologiile agile, nu va întâmpina deloc dificultăți pentru că autoarea, cu experiența sa vastă, a știut să creeze acel context care să facă această trecere lin, fără salturi abrupte, de fiecare dată punctând diferențele de abordare și mai ales, avantajele pe care le prezintă tehnicile agile de abordate în toate etapele de construire a arhitecturilor bazate pe abordarea colaborativă unde comunicarea, coordonarea și cooperarea sunt esențiale în definirea de fluxuri informaționale.


(12 noiembrie 2022)

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)

Wednesday, April 13, 2016

O lucrare de luat în seamă

Azi am avut o frumoasă surpriză oferitaă de fostul meu doctorand Alin ZAMFIROIU și anume, mi-a oferit cartea pe care a scos-o de câteva zile, caldă, direct de la editură, cu o copertă frumoasă. Mă simt măgulit că el s-a gândit la mine și a venit să-mi ofere un exemplar cu dedicație. Sunt foarte mandru că Alin fostul meu doctorand, iată, a publicat o carte, prima lui carte de unic autor.

Alin ZAMFIROIU - Matrici software de evaluare a calității aplicațiilor mobile din mediul 
                                   educațional, Editura ASE, București, 2016, 133pg, 
                                   ISBN: 978-606-34-0050-6.
Lucrarea are opt capitole, o introducere, concluzii, o bibliografie și două anexe. Eu i-am făcut o mică prezentare care se află pe ultima copertă, în care arăt câteva elemente pe care le-am considerat importante legate de procesul de elaborare dar și aspecte pe care eu le-am considerat originale, rezultat al muncii de cercetare întreprinse de autor pe o durata de patru ani.




Ce frumos arată acestă carte de singur autor, cum este frumos să înceapă activitatea publicistică orice tânăr cercetător, slujitor al informaticii economice din ASE.


(14 aprilie 2016)