Programare II
Public syllabus for 2025-2026
Academic overview
Teaching team
Learning time distribution
| Total | ||||||
|---|---|---|---|---|---|---|
| Curriculum | Lecture | Practice | Total Weekly | Lecture | Practice | |
| 56 | 28 | 28 | 4 | 2 | 2 | |
| Exam hours | ||||||
| 8 | ||||||
| Individual Study | Bibliography study | Field study | Homework | Tutoring | Others | |
| 61 | 23 | 12 | 25 | 1 | 0 | |
| Overall | ||||||
| 125 |
Learning outcomes
Knowledge
- Cunoștințe fundamentale de informatică și matematică: algoritmi și structuri de date, logică și principii de demonstrare, modele și limbaje formale, structuri discrete și modele computaționale;
- Capacitatea de a identifica structuri de date abstracte și relațiile dintre ele;
- Capacitatea de a descrie/identifica algoritmi pentru prelucrarea structurilor abstracte de date identificate;
Skills
- Abilitatea de a identifica algoritmi și structuri de date adecvate unei probleme concrete, de a aplica principiile de dezvoltare a unei aplicații informatice și de a implementa algoritmi într-un limbaj de programare;
- Abilitatea de a identifica algoritmul și structura de date adecvate unei probleme concrete;
- Abilitatea de a implementa un algoritm într-un limbaj de programare de nivel înalt;
Responsibility
- Capacitatea de a rezolva în manieră autonomă sarcini specifice;
- Capacitatea de a identifica/selecta soluții/căi de rezolvare adecvate și de a genera idei inovative;
- Capacitatea de a asuma în mod responsabil sarcinile profesionale și de a respecta normele de etică și deontologie profesională;
Online platform
Course content
| Content | Methods | Obs |
|---|---|---|
| Curs 1: (2h) Elemente de programare structurată. Programare procedurala. Introducere în C. Date. Modalități de reprezentare a datelor. Tipuri de date. Variabile: declarare, clasa de memorare, domeniu, vizibilitate, durata de viață. Funcții de intrare/ieșire standard – scanf, printf. Operatori și expresii. Clase de operatori. Precedenta operatorilor și ordinea de evaluare a expresiilor. Conversii implicite de tip. Controlul execuției. Instrucțiunea decizionala – if. Instrucțiunea de selecție din variante multiple – switch. Instrucțiuni de ciclare – while, for, do while. Instrucțiuni de control a execuției ciclurilor – continue, break. Instrucțiunea de salt necondiționat –goto. Instrucțiunea de revenire din apel de funcție – return. Funcții. Structura programelor. Declararea funcțiilor. Convenția de apel C. Contextul de apel. Comunicarea între funcții. Funcții recursive. | Prelegere, conversație, exemplificare | Referințe: Slide-uri de curs disponibile pe Google Classroom, materiale disponibile pe platforma elearning.uvt.ro, [1] capitolele 2,3 și 4 |
| Curs 2-3: (4h) Preprocesarea. Macrodefiniții. Tablouri. Pointeri. Șiruri de caractere | Prelegere, conversație, exemplificare | Referințe: Slide-uri de curs disponibile pe Google Classroom, materiale disponibile pe platforma elearning.uvt.ro, [1] capitolul 5 |
| Curs 4: (2h) Structuri. Declarare. Operații cu structuri. Accesul la membri. Tablouri de structuri. Pointeri la structuri. Declarații de tip (typedef). Uniuni. | Prelegere, conversație, exemplificare | Referințe: Slide-uri de curs disponibile pe Google Classroom, materiale disponibile pe platforma elearning.uvt.ro, [1] capitolul 6 |
| Curs 5: (2h) Tipuri de date. Îmbunătățiri aduse de C++. Clase. Concepte fundamentale: clasa și obiectul. Declararea claselor. Instanțierea obiectelor. Membrii unei clase. Controlul accesului la membrii unei clase. Constructorii clasei. Destructorul clasei. Membrii statici ai unei clase. Cuvântul cheie this. Funcții membre constante. Funcții și clase prietene (friends). Funcții membre inline. | Prelegere, conversație, exemplificare | Referințe: Slide-uri de curs disponibile pe Google Classroom, materiale disponibile pe platforma elearning.uvt.ro, [3] capitolele 2 si 10 |
| Curs 6: (2h) Redefinirea operatorilor. Operatori unari și binari. Redefinirea operatorului de asignare (=). | Prelegere, conversație, exemplificare | Referințe: Slide-uri de curs disponibile pe Google Classroom, materiale disponibile pe platforma elearning.uvt.ro, [3] capitolul 11 |
| Curs 7: (2h) Redefinirea operatorilor. Operatori (continuare). Constructori și conversii de tip. Tratarea excepțiilor. | Prelegere, conversație, exemplificare | Referințe: Slide-uri de curs disponibile pe Google Classroom, materiale disponibile pe platforma elearning.uvt.ro, [3] capitolele 11 si 14 |
| Curs 8: (2h) Funcții șablon. Particularizarea funcțiilor template. Rezolvarea numelui în cazul funcțiilor șablon. | Prelegere, conversație, exemplificare | Referințe: Slide-uri de curs disponibile pe Google Classroom, materiale disponibile pe platforma elearning.uvt.ro, [3] capitolul 13 |
| Curs 9: (2h) Biblioteca STL (Standard Template Library). Organizarea bibliotecii. Containere standard. | Prelegere, conversație, exemplificare | Referințe: Slide-uri de curs disponibile pe Google Classroom, materiale disponibile pe platforma elearning.uvt.ro, Slideuri de curs disponibile pe Google Classroom[3] capitolul 16 |
| Curs 10: (2h) Biblioteca STL (Standard Template Library). | Prelegere, conversație, exemplificare | Referințe: Slide-uri de curs disponibile pe Google Classroom, materiale disponibile pe platforma elearning.uvt.ro, [3] capitolele 17 si 20 |
| Curs 11: (2h) Clase derivate. Moștenirea. Concepte și clase. Clase derivate. Controlul accesului. Supraîncărcarea funcțiilor membre. Constructorii și destructorul clasei derivate. | Prelegere, conversație, exemplificare | Referințe: Slide-uri de curs disponibile pe Google Classroom, materiale disponibile pe platforma elearning.uvt.ro, [3] capitolul 12 |
| Curs 12: (2h) Ierarhii de clase. Polimorfism. Funcții virtuale. Funcții virtuale pure. Clase abstracte. Moștenire multiplă. Clase virtuale. | Prelegere, conversație, exemplificare | Referințe: Slide-uri de curs disponibile pe Google Classroom, materiale disponibile pe platforma elearning.uvt.ro, [3] capitolul 15 |
| Curs 13: (2h) Concepte de programare OO. Principiile SOLID, GRASP | Prelegere, conversație, exemplificare | Referințe: Slide-uri de curs disponibile pe Google Classroom, materiale disponibile pe platforma elearning.uvt.ro, |
| Curs 14: (2h) Streamuri. Smart pointers | Prelegere, conversație, exemplificare | Referințe: Slide-uri de curs disponibile pe Google Classroom, materiale disponibile pe platforma elearning.uvt.ro, [3] capitolele 23 si 24 |
Course bibliography
B. Kernighan and D. Ritchie - The C Programming Language (2nd edition), Prentice-Hall, 1988. B. Kernighan și D. Ritchie - Limbajul C, Editura Teora, 2000. Bjarne Stroustrup - The C++ Programming Language (3rd edition), Addison Wesley, 1997. Bjarne Stroustrup - Limbajul de programare C++, Editura Teora, 2003. L. Negrescu – Limbajele C și C++ pentru începători, vol. 1, Ed. Albastră, Cluj-Napoca, 2001. I. Muşlea - C++ pentru avansati, Ed. MicroInformatica, 1994. I. Muşlea - Introducere in C++, Ed. MicroInformatica, 1994.
Seminar content
| Content | Methods | Obs |
|---|---|---|
| L1. (2h) Prezentarea mediului de lucru. Etapele de compilare, linkeditare și execuție. Folosirea operatorilor în aplicații simple. Aplicații cu instrucțiuni condiționale, repetitive. Utilizarea funcțiilor în aplicații. Funcții recursive. | Problematizare, dialog, învățare prin colaborare, învățare prin descoperire. | Studenții au acces la sinteza aferentă tematicii de laborator și la enunțurile problemelor disponibile pe platforma elearning.uvt.ro. Cadrul didactic oferă detalii suplimentare, răspunde întrebărilor studenților și verifică / evaluează modul în care studenții au rezolvat problemele. |
| L2. (2h) Tablouri. Aplicații cu șiruri de caractere. | Problematizare, dialog, învățare prin colaborare, învățare prin descoperire. | Idem |
| L3. (2h) Pointeri. Alocare dinamică. | Problematizare, dialog, învățare prin colaborare, învățare prin descoperire. | Idem |
| L4. (2h) Test de laborator cu durata de 1 oră (problemele se vor evalua automat is manual). Structuri de date și uniuni. | Evaluare. Problematizare, dialog, învățare prin colaborare, învățare prin descoperire. | Testul nu se poate reda în nici una din sesiunile de examinare. Testul va fi planificat în afara orelor de laborator la o oră și sală anunțată. |
| L5. (2h) Îmbunătățiri aduse limbajului C (nelegate de concepte orientate obiect). Familiarizarea cu sintaxa de C++. | Problematizare, dialog, învățare prin colaborare, învățare prin descoperire. | Idem |
| L6. (2h) Clase. Constructori. Destructori. Crearea de tipuri abstracte de date și manipularea lor. | Problematizare, dialog, învățare prin colaborare, învățare prin descoperire. | Idem |
| L7. (2h) Supraîncărcarea operatorilor. Adăugarea de comportament claselor prin supraîncărcarea operatorilor. | Problematizare, dialog, învățare prin colaborare, învățare prin descoperire. | Idem |
| L8. (2h). Relații de asociere între clase. | Evaluare. Problematizare, dialog, învățare prin colaborare, învățare prin descoperire. | Idem |
| L9. (2h)Test de laborator cu durata de 1 oră Template-uri. Crearea de template-uri pentru structuri de date. | Problematizare, dialog, învățare prin colaborare, învățare prin descoperire. | Testul nu se poate reda în nici una din sesiunile de examinare. Testul va fi planificat în afara orelor de laborator la o oră și sală anunțată. |
| L10. (2h) Folosirea funcțiilor și structurilor de date din STL pentru tipuri abstracte de date create de utilizator. | Problematizare, dialog, învățare prin colaborare, învățare prin descoperire. | Idem |
| L11. (2h) Moștenire simplă. Extragerea de ierarhi simple de date. | Problematizare, dialog, învățare prin colaborare, învățare prin descoperire. | Idem |
| L12. (2h) Moștenire multiplă. Extragerea de ierarhi simple de date. | Problematizare, dialog, învățare prin colaborare, învățare prin descoperire. | Idem |
| L13. (2h) Recapitulare | Problematizare, dialog, învățare prin colaborare, învățare prin descoperire. | Idem |
| L14. (2h) Streams | Problematizare, dialog, învățare prin colaborare, învățare prin descoperire. | Idem |
Seminar bibliography
B. Kernighan and D. Ritchie - The C Programming Language (2nd edition), Prentice-Hall, 1988. B. Kernighan și D. Ritchie - Limbajul C, Editura Teora, 2000. Bjarne Stroustrup - The C++ Programming Language (3rd edition), Addison Wesley, 1997. Bjarne Stroustrup - Limbajul de programare C++, Editura Teora, 2003. L. Negrescu – Limbajele C și C++ pentru începători, vol. 1, Ed. Albastră, Cluj-Napoca, 2001.
Corroboration
Conținutul este în concordanță cu structura cursurilor similare de la alte universități și acoperă aspectele fundamentale necesare familiarizării cu problematica programării orientate obiect. Abilitatea de a identifica, proiecta, implementa și analiza probleme care se pot rezolva folosind principii orientate obiect este esențială pentru orice activitate din domeniul informaticii. Competențele oferite de această disciplină sunt necesare unui specialist IT pentru a identifica soluții de rezolvare a unor probleme concrete, indiferent de domeniul specific de activitate.
AI tools guidance
Evaluation and delivery
| Activity | Criteria | Methods | Percentage |
|---|---|---|---|
| C |
|
|
|
| C |
|
|
|
| C |
|
|
|
| S |
|
|
|
| S |
|
|
|
| S |
|
|
|
| S |
|
|
|
| S |
|
|
|
Performance standards
Pentru nota 9-10 la curs: noțiunile de teorie acoperă toate detaliile discutate în cursuri, sunt oferite exemple relevante, problemele sunt abordate prin respectarea principiilor programării procedurale și obiect. Pentru nota 9-10 la testele de laborator: testele automate rulează integral, codul respectă principiile programării procedurale și obiect (ex. alocarea dinamică, încapsularea datelor, realizarea cerințelor în metode separate). Nota finală se calculează ca medie ponderată a notelor acordate pentru componentele specificate la 9.4 și 9.5. Examenul se consideră promovat dacă media este cel puțin 5 si nota la partea scrisă este mai mare de 4 (nu e necesar ca fiecare notă să fie mai mare de 5). La fiecare dintre sesiunile de examen (inclusiv cele de restanță și măriri) nota se calculează după aceeași regulă. În sesiunea de restanțe/măriri se poate reda doar probă scrisă și testul practic din sesiune. Regulile referitoare la prezență sunt cele din regulamentele UVT privind frecventarea activitatii de laborator. Dacă disciplina nu este promovată în cele 2 sesiuni, în anul II se va recontracta.
Additional info
(none)