fişa disciplinei
1. Date despre program
1.1 Instituţia de învăţământ superior	Universitatea Babes-Bolyai Cluj-Napoca	
1.2 Facultatea	Facultatea de Matematica si Informatica	
1.3 Departamentul	Departamentul de Informatică	
1.4 Domeniul de studii	Informatica	
1.5 Ciclul de studii	Licenţă	
1.6 Programul de studiu / Calificarea	Informatică română	

2. Date despre disciplină
2.1 Denumirea disciplinei	Generarea automată a programelor din algoritmi	
2.2 Titularul activităţilor de curs	Lect.univ.dr. Cioban Vasile	
2.3 Titularul activităţilor de seminar	Lect.univ.dr. Cioban Vasile	
2.4 Anul de studiu	3	2.5 Semestrul	4	2.6. Tipul de
        evaluare	E	2.7 Regimul
      disciplinei	Opţional	

3. Timpul total estimat (ore pe semestru al activităţilor didactice)
3.1 Număr de ore pe săptămână	3	Din care: 3.2 curs	2	3.3 seminar/laborator	1	
3.4 Total ore din planul de învăţământ	36	Din care: 3.5 curs	24	3.6 seminar/laborator	12	
Distribuţia fondului de timp:	ore	
Studiul după manual, suport de curs, bibliografie şi notiţe	20	
Documentare suplimentară în bibliotecă, pe platformele electronice de specialitate şi pe teren	19	
Pregătire seminarii/laboratoare, teme, referate, portofolii şi eseuri	20	
Tutoriat	10	
Examinări 	20	
Alte activităţi: ..................		
3.7 Total ore studiu individual	89	
3.8 Total ore pe semestru	125	
3.9 Numărul de credite		

4. Precondiţii (acolo unde este cazul)
4.1 de curriculum	•		
4.2 de competenţe	•		

5. Condiţii (acolo unde este cazul)
5.1 De desfăşurare a 
       cursului	•	proiector	
5.2	De desfăşurare a
     seminarului/laboratorului	•	lab cu staţii cu ouna platformă de priectare şi programare	

6. Competenţele specifice acumulate
Competenţe profesionale	•	Produsele CASE asigura o gama variata de activitati, printre care:
- scrierea automata a programelor pe baza specificatiilor prin Generatoare de cod;
- redocumentarea, restructurarea, redezvoltarea sistemelor deja implementate prin programe de întretinere si dezvoltare.
      Aceasta acopera toate fazele din dezvoltarea programelor (analiza, proiectare, 
      implementare, testare si distributie).
•	Clasic, un limbaj de programare este definit ca un limbaj artificial creat de om care serveste 
        la exprimarea, sub forma de instructiuni executabile de catre calculator, a algoritmului de
       rezolvare a unei probleme.
•	Automatizarea translatării unui algoritm dintr-o formă de reprezentare de tip pseudocod într-un limbaj de programare. 	
Competenţe transversale	•	Învăţarea unor scheme de prefixate de translatare automată.
•	Translatarea cu ajutorul operatorului uman.
•	Pe baza standardelor existente, de exemplu, compania ORACLE si-a definit propria 
     metodologie CASE.	

7. Obiectivele disciplinei (reieşind din grila competenţelor acumulate)
7.1 Obiectivul general al disciplinei	•	Însuşirea unor scheme de trasnlatare universale
•	Automatizarea translatării unui algoritm dintr-o formă de reprezentare de tip pseudocod într-un limbaj de programare. 	
7.2 Obiectivele specifice
	•	Învăţarea unor scheme de prefixate de translatare automată.
•	Translatarea cu ajutorul operatorului uman.	

8. Conţinuturi
8.1 Curs	Metode de predare	Observaţii	
1.Limbaje de programare (1 curs, Săpt.1)
- definiţie, clasificare, mod de specificare	Expunerea, modelarea,
studiul de caz		
2. Translatare şi translatoare(1 curs, Săpt.2)
      - definiţie, rol, clasificare (interpretoare, 
         compilatoare, link-editoare, etc)	Expunerea, modelarea,
studiul de caz		
3. Automate finite şi automate push-down. (1 curs, 
    Săpt.3)
      - definţie, clasificare, utilizare în procesul de 
         translatare;	Expunerea, modelarea,
studiul de caz		
4. Instrumente CASE (2 cursuri, Săpt.4,5)
     - ciclul de viaţă al unui PP, etape care pot fi parţial
        automatizate;

	Expunerea, modelarea,
studiul de caz		
5. Instrumente CASE (2 cursuri, Săpt. 4,5)
     - definiţie, realizare şi utilizare; 

	Expunerea, modelarea,
studiul de caz		
6. Generator de cod (1 curs, Săpt.6 )
     - instrument CASE specific, în faza de codificare;	Expunerea, modelarea,
studiul de caz		
7. Algoritmi şi modalităţi de reprezentare (2 cursuri, 
    Săpt. 7,8)
     - gramatici şi automate speciale de reprezentare a
       structurilor de control şi algoritmilor	Expunerea, modelarea,
studiul de caz		
8. Algoritmi şi modalităţi de reprezentare (2 cursuri,
    Săpt. 7,8 )
     - gramatici şi automate speciale de reprezentare a 
       structurilor de control şi algoritmilor	Expunerea, modelarea,
studiul de caz		
9. Automatizarea translatarii algorimilor în cod de 
    programare (2 cursuri, Săpt. 9,10)
     -algoritmi specifici.	Expunerea, modelarea,
studiul de caz		
10. Automatizarea translatarii algorimilor în cod de
      programare (2 cursuri, Săpt. 9,10)
      -algoritmi specifici.	Expunerea, modelarea,
studiul de caz		
11. Produse sofware care automatizează parţial 
      translatarea. (2 cursuri, Săpt. 11,12)
      - produse soft specifice, exemple.	Expunerea, modelarea,
studiul de caz		
12. Produse sofware care automatizează parţial
      translatarea. (2 cursuri, Săpt. 11,12)
      - produse soft specifice, exemple.	Expunerea, modelarea,
studiul de caz		
Bibliografie
1. Luca Dan Serbanati –Limbaje de programare si compilatoare, Ed. Academiei, 1987
2. Bazil Parv, Alexandru Vancea –Fundamentele limbajelor de programare, Ed. Albastra, 1996
3. Ioan Salomie, Tehnici de programare obiectuală, ed. Albastră, 1996 
4. Bjarne Stroustrup, The C++ Programming Language, 3rd ed. Addison-Wesley, 1997 
5. Bruce Eckel, Thinking in C++, Prentice Hall 2000
6. Stephen R. Schach, Software Engineering, ediţiile 5, 6, 7, Ed Prentice Hall, 2002, 2005, 2007
7. *** documentaţie electronică pe web.	
8.2 Seminar / laborator	Metode de predare	Observaţii	
1.Limbaje de programare (Lab. 1, Săpt.1)	Expunerea, modelarea,
exemplificarea		
2. Translatare şi translatoare(Lab. 2, Săpt.3, tema 1)	Expunerea, modelarea,
exemplificarea		
3. Automate finite şi automate push-down. (Lab. 3, 
       Săpt.5)
 - verificare Tema 1	Expunerea, modelarea,
exemplificarea		
4. Generator de cod (Lab. 4, Săpt.7,  Proiect)	Expunerea, modelarea,
exemplificarea		
5. Algoritmi şi modalităţi de reprezentare (Lab. 5, 
    Săpt.9) 	Expunerea, modelarea,
exemplificarea		
6. Produse sofware care automatizează parţial 
      translatarea. (Lab. 6, săpt.11)	Expunerea, modelarea,
exemplificarea		
Bibliografie
1.Luca Dan Serbanati –Limbaje de programare si compilatoare, Ed. Academiei, 1987
2. Bazil Parv, Alexandru Vancea –Fundamentele limbajelor de programare, Ed. Albastra, 1996
3. Ioan Salomie, Tehnici de programare obiectuală, ed. Albastră, 1996 
4. Bjarne Stroustrup, The C++ Programming Language, 3rd ed. Addison-Wesley, 1997 
5. Bruce Eckel, Thinking in C++, Prentice Hall 2000
6. Stephen R. Schach, Software Engineering, ediţiile 5, 6, 7, Ed Prentice Hall, 2002, 2005, 2007
7. *** documentaţie electronică pe web.	

9. Coroborarea conţinuturilor disciplinei cu aşteptările reprezentanţilor comunităţii epistemice, asociaţiilor profesionale şi angajatori reprezentativi din domeniul aferent programului
•	Cursul este opţional şi reprezintă o specializarea şi aprofundare a domeniului translatării în cod sursă a algoritmilor;
•	Utilizarea instrumentelor CASE poate automatiza procesul de codificare. 

10. Evaluare
Tip activitate	10.1 Criterii de evaluare	10.2 metode de evaluare	10.3 Pondere din
         nota finală	
10.4 Curs	- să ştie să aplice conceptele
   cursului	        Examen  practic
  (susţinerea proiectului)	          50%	
	- rezolvarea de probleme			
10.5 Seminar/laborator	-să cunoscă exemplele
  prezentate în curs 	         Media temelor	          50%	
	-să rezolve problemele date
  ca tema			
10.6 Standard minim de performanţă	
•	 pentru nota finală trebuie, studentul trebuie să ia nota 5 şi la examenul practic şi la fiecare temă de laborator (apoi se face media la laborator)

Data completării		Semnătura titularului de curs		Semnătura titularului de seminar
25.09.2012                              lect.univ.dr. Vasile Cioban                lect.univ.dr. Vasile Cioban

Data avizării în departament			           Semnătura directorului de departament	
...........................................						…............................