fişa disciplinei
1. Date despre program
1.1 Instituţia de învăţământ 
      superior	Universitatea Babeş-Bolyai Cluj-Napoca	
1.2 Facultatea	Facultatea de Matematică şi Informatică	
1.3 Departamentul	Departamentul de Informatică	
1.4 Domeniul de studii	Informatica	
1.5 Ciclul de studii	Masterat	
1.6 Programul de studiu / 
      calificarea	Informatică didactică - ȋn limba romȃnă	

2. Date despre disciplină
2.1 Denumirea 
      disciplinei	Algoritmică şi Programare (pentru perfecţionarea profesorilor)	
2.2 Titularul activităţilor de curs	lect.univ.dr.Vasile Cioban	
2.3 Titularul activităţilor de seminar	lect.univ.dr.Vasile Cioban	
2.4 Anul de studiu	1	2.5 Semestrul	1	2.6. Tipul de 
       evaluare	E	2.7 Regimul 
      disciplinei	Obligatorie	

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	42	Din care: 3.5 curs	28	3.6 seminar/laborator	14	
Distribuţia fondului de timp:	ore	
Studiul după manual, suport de curs, bibliografie şi notiţe	41	
Documentare suplimentară în bibliotecă, pe platformele electronice de specialitate şi pe teren	30	
Pregătire seminarii/laboratoare, teme, referate, portofolii şi eseuri	49	
Tutoriat	23	
Examinări 	15	
Alte activităţi: ..................		
3.7 Total ore studiu individual	158	
3.8 Total ore pe semestru	200	
3.9 Numărul de credite	8	

4. Precondiţii (acolo unde este cazul)
4.1 de curriculum	•	Absolvent de studii universitare (nivel licenţă)	
4.2 de competenţe	•		

5. Condiţii (acolo unde este cazul)
5.1 De desfăşurare a cursului	•	Pentru prelegerile de la curs sunt necesare următoarele: videoproiector,
tablă, conexiune internet.	
5.2  De desfăşurare a seminarului/laboratorului	•	Pentru desfăşurarea seminariilor/laboratoarelor sunt necesare următoarele: reţea calculatoare cu mediul Eclipse pentru Python instalat, videoproiector, tablă;
•	Prezenţa studenţilor la seminarii/laoratoare este obligatorie.	

6. Competenţele specifice acumulate
Competenţe profesionale	•	Identificarea conexiunilor dintre informatică şi societate;
•	Identificarea datelor care intervin într-o problemă şi a relaţiilor dintre acestea;
•	Elaborarea algoritmilor de rezolvare a problemelor;
•	Aplicarea algoritmilor fundamentali în prelucrarea datelor;
•	Implementarea algoritmilor într-un limbaj de programare (Pascal, Python).	
Competenţe transversale	•	Exprimarea unui mod de gândire creativ în structurarea şi rezolvarea problemelor;
•	Conştientizarea impactului social, economic şi moral al informaticii;
•	Formarea obişnuinţelor de a recurge la concepte şi metode informatice de tip algoritmic specifice în abordarea unei varietăţi de probleme;
•	Manifestarea unor atitudini favorabile faţă de ştiinţă şi de cunoaştere în general.	

7. Obiectivele disciplinei (reieşind din grila competenţelor acumulate)
7.1 Obiectivul general al disciplinei	•	După absolvirea acestei discipline, cursanţii vor fi capabili să algoritmizeze o problemă şi să elaboreze programul Pascal şi Python conform algoritmului.	
7.2 Obiectivele specifice

	•	Analiza enunţului unei probleme şi stabilirea paşilor de rezolvare a problemei;
•	Reprezentarea algoritmilor în pseudocod;
•	Respectarea principiilor proiectării top-down, rafinării succesive, a progrămarii structurate şi programării procedurale în procesul de elaborare a algoritmilor;
•	Codificarea utilizând limbajul pascal şi python;
•	Cunoaşterea algoritmilor de bază în căutare, sortare, interclasare;
•	Însuşirea unor tehnici de programare (aranjare Dijkstra, recursivitate)
•	Însuşirea utilizării unor structuturi de date (înregistrare, tablou, listă, fişier);
•	Prelucrări interdisciplinare (prelucrare text, prelucrare statistică, etc).	

8. Conţinuturi
8.1 Curs	Metode de predare	Observaţii	
1.Rezolvarea problemelor din viaţa social-economică,
    algoritmi, proprieţăţi, limbajul pseudocod.	Prelegere	1 prelegere	
2.Specificarea unei probleme, algoritmizare.	Prelegere	1 prelegere	
3.Prezentarea limbajelor Pascal, Python.(1)	Prelegere	2 prelegeri	
4.Prezentarea limbajelor Pascal, Python.(2)			
5.Proiectare şi programare top-down, prin rafinare succesivă,
   procedurală, structurată	Prelegere	1 prelegere	
6.Tehnici de rezolvare a problemelor pe numere, secvenţe de 
   numere (1)	Prelegere	2 prelegeri	
7.Tehnici de rezolvare a problemelor pe numere, secvenţe de 
   numere (2)			
8. Structuri de date elementare: înregistrare, tablou, lista în Pascal 
   şi  Python	Prelegere	1 prelegere	
9.   Tehnici de căutare, sortare.(1)	Prelegere	2 prelegeri	
10. Tehnici de căutare, sortare.(2)			
11. Recursivitate, liste cu alocare dinamică	Prelegere	1 prelegere	
12. Fişiere, formatul CSV în Pascal şi Python (1)	Prelegere	2 prelegeri	
13. Fişiere, formatul CSV în Pascal şi Python (2)			
14. Prelucrări interdisciplinare: prelucrare statistică, prelucare text	Prelegere	1 prelegere	
Bibliografie
1.[Aho83] Aho A., Hopcroft J., Ullman J. – Data Structures and Algorthms, Addison Wesley, 1983.
2.[Coemen00] Cormen, T., Leiserson C., Rivest, R. – Introducre în Algoritmi, ed. Agora 2000 (traducere)
3.[Knuth99] Knuth D. – Arta programării calculatoarelor, vol 1,2,3, ed. Teora 1999 (traducere)
4.[Frenţiu00] Frenţiu M., Lazăr I. – Bazele programării. Proiectarea algoritmilor, ed. Univ. Petru Maior, 
   Tg-Mureş, 2000, (bibliotecă)
5.[Frenţiu M., Motogna S., Lazăr I., Prejmerean V. – Programare Pascal, Litografia Universităţii
    „Babeş-Bolyai”, Cluj-Napoca.
6.Tutorial Python *** www.python.org
7.Cioban V., Notiţe de curs şi seminarii www.cs.ubbcluj.ro/~vcioban 
	
8.2 Seminar / laborator (2 ore/la 2 săptămâni)	Metode de predare	Observaţii	
1.Exemple de specificare, descriere în Pseudocod a unor 
   algoritmi simpli	Explicaţii la tablă; Rezolvări de probleme la calculator	1 seminar/laborator	
2.Programe în Pascal şi Python	Explicaţii la tablă; Rezolvări de probleme la calculator	1 seminar/laborator	
3.Algoritmi şi programe pe numere secvenţe de numere
  (min/max, primalitate, aranjare Dijkstra, etc)	Explicaţii la tablă; Rezolvări de probleme la calculator	1 seminar/laborator	
4.Algoritmi şi programe de căutare secvenţială şi binară.
   Sortare prin tehinca bulelor, inserţiei.	Explicaţii la tablă; Rezolvări de probleme la calculator	1 seminar/laborator	
5. Algoritmi şi programe de sortare prin selecţie,
    interclasare, quicksort, divide et impera, Heap sort.	Explicaţii la tablă; Rezolvări de probleme la calculator	1 seminar/laborator	
6. Recursivitate, liste cu alocare dinamică.	Explicaţii la tablă; Rezolvări de probleme la calculator	1 seminar/laborator	
7. Exemple de programe Pascal şi Python privind
    utilizarea formatului CSV în fişiere, prelucrare text şi
     prelucrare statistică 	Explicaţii la tablă; Rezolvări de probleme la calculator	1 seminar/laborator	
Bibliografie	
Bibliografie
1.[Aho83] Aho A., Hopcroft J., Ullman J. – Data Structures and Algorthms, Addison Wesley, 1983.
2.[Coemen00] Cormen, T., Leiserson C., Rivest, R. – Introducre în Algoritmi, ed. Agora 2000 (traducere)
3.[Knuth99] Knuth D. – Arta programării calculatoarelor, vol 1,2,3, ed. Teora 1999 (traducere)
4.[Frenţiu00] Frenţiu M., Lazăr I. – Bazele programării. Proiectarea algoritmilor, ed. Univ. Petru Maior, 
   Tg-Mureş, 2000, (bibliotecă)
5.[Frenţiu M., Motogna S., Lazăr I., Prejmerean V. – Programare Pascal, Litografia Universităţii
    „Babeş-Bolyai”, Cluj-Napoca.
6.Tutorial Python *** www.python.org
7.Cioban V., Notiţe de curs şi seminarii www.cs.ubbcluj.ro/~vcioban 

9. Coroborarea conţinuturilor disciplinei cu aşteptările reprezentanţilor comunităţii epistemice, asociaţiilor profesionale şi angajatori reprezentativi din domeniul aferent programului
•	 Conţinutul disciplinei este în concordanţă cu planurile de învăţământ atât a centrelor universitare 
  româneşti cât şi  programelor şcolare din învăţamîntul preuniversitar. 

10. Evaluare
Tip activitate	10.1 Criterii de evaluare	10.2 metode de evaluare	10.3 Pondere din nota finală	
10.4 Curs	Verificarea însuşirii unor metode şi tehnici de proiectare şi proiectare	Examen scris cu rezolvarea unei probleme	40%	
	Verificarea însuşirii unor concepte fundmentale	Întrebări pe parcurs	10%	
10.5 Seminar/laborator	Rezolvarea unei probleme de complexitate medie	Proiect	50%	
	Reliefarea în proiect a conceptelor învăţate.			
10.6 Standard minim de performanţă	
•	 Cunoaşterea principalilor algoritmi de sortare, a metodelor de proiectare şi programare top-down şi 
 procedurale,  a structurilor de date elementare în limbajele Pascal şi Python

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

Data avizării în departament			           Semnătura directorului de departament	
....................................                                                    prof.univ.dr. Bazil Pârv