Luca Dan Șerbănați la bacalaureat, 1961
Luca Dan Șerbănați în primii ani ’70
Luca Dan Șerbănați la ultimul curs, aprilie 1989

Luca Dan Șerbănați

Profesor emerit la Politehnica din București

Cercetare, învățământ, industrie și memorii

RO | EN | IT
Luca Dan Șerbănați la Veneția, 1990
Luca Dan Șerbănați la New York, 2005
Luca Dan Șerbănați

Descoperirea fundamentelor domeniului la Politehnica din București (1970–1989)

Cursurile prezentate în continuare aparțin primei etape a activității mele didactice, aproximativ primilor douăzeci de ani de carieră academică.

Cursuri

  • Programarea calculatoarelor — curs de bază predat pentru prima dată la Politehnică în anul I, consacrat introducerii în programare utilizând limbajul FORTRAN. În anii următori, acest curs s-a generalizat în mai multe facultăți ale Politehnicii.
  • Teoria automatelor — curs de informatică teoretică predat studenților de la direcția Calculatoare, Facultatea de Automatică, în anul IV, semestrul 1; trata automate finite și infinite, limbaje regulate, mașina Turing și noțiuni fundamentale de calculabilitate.
  • Teoria limbajelor formale — curs de informatică teoretică predat studenților de la direcția Calculatoare, Facultatea de Automatică, în anul IV, semestrul 2; trata limbaje și gramatici formale, ierarhia Chomsky, limbaje independente de context, analiza sintactică și sisteme formale.
  • Limbaje de programare și compilatoare — curs de sinteză care continua traseul teoretic și îl orienta spre limbajele de programare, traducere și proiectarea sistematică a compilatoarelor.

Cursuri predate la Universitatea Ovidius din Constanța (1994–2004)

La Universitatea Ovidius am predat cursuri care acoperă trei direcții principale: fundamente teoretice ale informaticii, tehnici de programare și compilare, respectiv ingineria programării. Lista de mai jos reunește cursurile predate, cu intervalele în care au fost ținute și cu specializările pentru care au fost oferite.

  • Limbaje formale1994–1995
    Matematică-Informatică, anul II.
  • Proiectarea și implementarea sistemelor1994–1996
    Matematică-Informatică, anul IV.
  • Tehnici de compilare / Compilatoare1994–2004
    Matematică-Informatică: anii IV–V (1994–1997), anul III (1995–2004).
    Informatică: anul III (2001–2004).
  • Programare în limbaje evoluate1996–1999
    Matematică-Informatică, anul IV.
  • Programarea calculatoarelor1999–2004
    Informatică, anul I.
  • Ingineria programării2000–2004
    Matematică-Informatică, anul IV;
    Informatică, anul III (2001–2004).
  • Programare orientată pe obiecte2000–2004
    Informatică, anul II, semestrul 1, 2c+2l;
    Matematică-Informatică, anul III, semestrul 1, 2c+2l.
  • Programare în Web2003–2004
    Informatică, anul IV.
  • Tehnici moderne de programare2003–2004
    Master MCTIM, anul I.
  • Calculabilitate2003–2004
    Master MCTIM, anul I.

Santiere de cursuri pentru Universitatea Ovidius

Curs predat la Academia Militară din București (1981–1982)

În anii 1981 și 1982 am predat cursul de compilatoare la Academia Militară din București, într-o perioadă în care fosta Academie Tehnică Militară, desființată în 1976, fusese înglobată în Academia Militară Generală. Cursul era destinat studenților de la secția de Electronică.

În linii mari, materia era aceeași cu cea predată de mine la Politehnica București, la Facultatea de Automatică. Am încetat să mai țin acest curs în momentul în care tânărul asistent Victor Patriciu, absolvent al Politehnicii din Timișoara și unul dintre cei care mi-au frecventat cursul, a putut să îl preia.

  • Compilatoare1981–1982
    Academia Militară din București, secția de Electronică. Curs apropiat ca structură și conținut de cel predat în aceeași perioadă la Facultatea de Automatică a Politehnicii București.

O viziune curriculară la Facultatea de Inginerie în Limbi Străine (2004–2022)

Cursurile prezentate în continuare aparțin ultimei etape a activității mele didactice, aproximativ ultimilor douăzeci de ani de carieră academică. În perioada anterioară, de peste patruzeci de ani, am predat cursuri în maniera clasică, legate de limbaje de programare, compilatoare și informatică teoretică. Experiența acumulată mi-a permis să propun propria viziune asupra ciclului de pregătire a viitorilor ingineri software. Sunt ei, absolvenții mei, cei care pot spune dacă am avut sau nu dreptate.

În perioada în care am fost șef de departament, am putut impune un plan de învățământ gândit astfel încât să formeze adevărați ingineri software. Nu era vorba doar de acumularea unor limbaje sau tehnici de programare izolate, ci de un traseu coerent: programare, metode de dezvoltare, proiectare software, arhitecturi și pattern-uri, precum și o viziune de ansamblu a domeniului și a tendințelor sale.

Principalele cursuri ale acestui traseu le-am ținut eu însumi într-o primă etapă, pentru a le da coerența dorită. Le-am cedat apoi treptat, pe măsură ce mi-am pregătit câțiva urmași; dintre aceștia, principalul continuator a fost Andrei Vasilățeanu.

În acest context se înscrie și cursul Web Application Development, predat în anii 2007–2011, prin care am introdus în curriculum dimensiunea practică a dezvoltării aplicațiilor web distribuite: tehnologii client-side și server-side, acces la baze de date, arhitectură MVC și servicii web.

Cursuri

  • Programming Languages — curs de bază predat la FILS, consacrat introducerii în programare, în Java și în programarea orientată pe obiecte.
  • Object-Oriented Programming — al doilea curs de programare de la FILS, consacrat Java și conceptelor avansate ale programării orientate pe obiecte.
  • Limbaje formale și automate — curs teoretic despre gramatici, automate finite, automate cu stivă și calculabilitate, predat la FILS în perioada 2010–2012.
  • Compiler Techniques — curs despre fundamentele limbajelor de programare și tehnicile de compilare, predat la FILS în anul IV.
  • Software Development Methods — curs predat la FILS, secția în limba engleză, consacrat metodelor de dezvoltare software, modelării UML, analizei, arhitecturii și proiectării orientate pe obiecte.
  • Méthodes du Développement du Logiciel — varianta în limba franceză, predată la FILS, a cursului Software Development Methods, dedicat metodelor moderne de dezvoltare software, modelării UML, analizei și proiectării orientate pe obiecte și proceselor iterative de dezvoltare.
  • Software Design Techniques — curs de proiectare software și arhitecturi, continuarea cursului Software Development Methods.
  • Software Methodologies — curs consacrat metodologiilor de dezvoltare software: structured, object-oriented, agile, component-based și service-oriented.
  • Complements of Computer Science — curs opțional / avansat predat la FILS, cu tematică variabilă; în varianta recuperată aici, tema aleasă a fost Design Patterns.
  • Software Architectures — curs avansat despre arhitecturi software, sisteme distribuite, middleware, pattern-uri și integrare enterprise.
  • Web Application Development — curs predat la FILS, în perioada 2007–2011, consacrat dezvoltării aplicațiilor web client–server: HTML/XHTML, CSS, JavaScript, servlets, JSP, JDBC, arhitectura MVC și web services.

Un parcurs coerent în ingineria software

O parte dintre cursurile predate la FILS formează un traseu coerent: de la programare și metode de dezvoltare până la arhitecturi și reutilizare:

Cursuri predate la Università “La Sapienza” din Roma (2007–2011)

După tentativa de a-mi echivala diploma de inginer în Italia, urmată de eșecul pe care l-am povestit, m-am întors la Facultatea de Ingegneria Informatica a Universității La Sapienza, atunci când au avut nevoie de profesori la plata cu ora pentru două cursuri de introducere în programare la Corso di Laurea in Ingegneria Gestionale. Am fost primit cu entuziasm de colegi și, pentru câțiva ani (2007–2010), am fost unul dintre cei doi titulari ai acestor cursuri.

La Università “La Sapienza” din Roma, în cadrul Facoltà di Ingegneria, Corso di Laurea in Ingegneria Gestionale, am predat în limba italiană două cursuri succesive din anul I, concepute ca un parcurs unitar: de la noțiunile fundamentale de informatică și algoritmică la programarea orientată pe obiecte în Java.

  • Fondamenti di Informatica — anul I, semestrul I. Curs introductiv de informatică și programare, consacrat noțiunii de calculator, reprezentării datelor, algoritmilor, pseudocodului și primelor concepte de programare în Java.
  • Tecniche di Programmazione — anul I, semestrul II. Continuare a cursului din primul semestru, orientată spre programarea pe obiecte în Java: clase, obiecte, relații între clase, moștenire, clase abstracte, interfețe, excepții, colecții, input/output și interfețe grafice.

Predare în programul Erasmus Mundus DMKM (2010–2012)

În ultimii ani ai activității mele universitare am participat și la programul internațional de master Erasmus Mundus Data Mining and Knowledge Management (DMKM), în care Universitatea Politehnica din București era parteneră alături de alte universități europene. În acest cadru am predat cursul Software Methodologies, în limba engleză.

  • Software Methodologies — curs predat în cadrul masterului Erasmus Mundus DMKM. Cursul este consacrat metodologiilor de dezvoltare software, proceselor software, modelelor de ciclu de viață, ingineriei software, Information Engineering, business modeling și tehnicilor de modelare utilizate în dezvoltarea sistemelor informatice.