TEHNOLOGII DE SCRIERE CURS UNIVERSITAR

Cursul universitar pentru disciplina ANALIZA COMPARATA A LIMBAJELOR DE PROGRAMARE trebuie sa fie conceput astfel incat sa permita invatarea oricarui limbaj de programare prin comparatie. De aceea, structurarea cursului trebuie sa urmeze curricula disciplinei aprobata d departament. In Introducere se precizeaza cui se adreseaza cursul, adica studentilor din ultimul an de la licenta care deja au parcurs mai multe limbaje de programare. Se spune care este obiectivul cursului, adica de a sistematiza cunostintele astfel incat un programator sa stie c sa urmareasca atunci cand doreste sa se apropie de un limbaj nou. Se stabiles care sunt limbajele care vor fi analizate si se va stabili ca analiza se realizeaza construind tabele in care pe linii se afla elementele de definire si pe coloane se afla limbajele supuse analizei.
In capitolul de Notiuni introductive se precizeaza concepte de alfabet, identificator, cuvinte cheie, tipuri fundamentale de date, variabile elementare, comentarii, instructiune, operatori, bloc, reguli de sintaxa si elemente legate de mediile de programare folosite pentru scrierea, compilarea rularea programelor. Se prezinta modalitati de citire si de afisare a variabilelor elelentare.
Va urma un capitol destinat Expresiilor aritmetice, relationale si logice enumerand operatorii, prioritatile si modul de evaluare a expresiilor, cu exemplificari pentru o aceeasi expresie trecuta prin toate limbajele analizate, pentru a se vedea diferentele.
Capitolul destinat Implemantarii structurilor fundamentale va lua rand pe rand structura liniara, structura alternativa si structura repetitiva. La fiecare se vor arata variante, mod de agregare si particularitati oferite. Se vor semnala care sunt erorile de programare, mai ales care genereaza ciclare infinita in cazul structurilor repetitive conditionate posterior.
Va exista si un capitol pentru Structuri de programe in care sunt prezentate programul principal, programele apelatoare si tipurile de subprograme si se va pune accent pe ideia de a avea o singura instructiune return(). Se va vorbi despre recursivitate.
Se construieste si capitolul pentru Masive unidimensionale si bidimensionale accentuand modul de definire, de reprezentare si de traversare acestor structuri de date omogene. Se vor scrie direct subprograme pentru lucru cu vectori si pentru lucruri cu matrice. Se vor scrie subprograme pentru initializarea vectorilor si matricelor la definire si de la tastatura.
Pana acum sunt prezentate lucrurile incat programatorul are suficiente elemente pentru a scrie programe simple.
Cursul va include si un capitol pentru Variabile pointer in care se va arata clar ce sunt acestea, nivelurile de indirectare si modul in care se fac referirile, cum se elaueaza expresiile ce includ operatorii de referire.
Va exista si un capitol pentru Variabile de tip structura incluzand si autoreferirile care creaza premise pentru a implementa structurile de date dinamice.
Pentru a merge mai departe se va scrie un capitol despre Fisiere in care se va specifica modul de descriere a fisierelor, operatii cu fisiere si se vor scrie programe punand accentul ca de la o problema la alta se mentin suficient de multe elemente din aceste programe. Aici se vor dezvolta si o serie de elemente ledate de validarea datelor.
Cursul destinat Structurilor de date dinamice prezinta liste, stive, arbori, grafuri, cu operatii de creare, stergere, inserare, interschimb, concatenare, deconcatenare.
Nu trebuie uitat capitolul Biblioteci standard in care vor fi luate toate bibliotecile si se va arata cum se utilizeaza componentele acestora cu rolul de a creste productivitatea programatorilor prin reutilizare de componente.
Va exista si un capitol de Optimizare software in care se va arata cum se procedeaza in limbajele supuse analizei comparate la eliminarea codului mort, la optimizarea subexpresiilor comune, reducerea volumului de prelucrari prin echilibrarea modului de lucru monolit cu cel prin utilizarea de proceduri.
Va exista si un capitol de Concluzii in care se vor dezbate elementele legate de viitorul limbajelor de programare si cum trebuie abordata invatarea prin comparatie a unui nou limbaj, adaugand o noua coloana tuturor tabelelor existente in capitolele cursului, coloana ce corespunde noului limbaj.

revenire