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	Informatică	
1.5 Ciclul de studii	Master	
1.6 Programul de studiu / Calificarea	Informatică didactică - ȋn limba romȃnă	

2. Date despre disciplină
2.1 Denumirea disciplinei	Structuri de date şi complexitatea algoritmilor (pentru perfecționarea profesorilor)	
2.2 Titularul activităţilor de curs	Prof. dr. CZIBULA Gabriela	
2.3 Titularul activităţilor de seminar	Prof. dr. CZIBULA Gabriela	
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	36	
Documentare suplimentară în bibliotecă, pe platformele electronice de specialitate şi pe teren	25	
Pregătire seminarii/laboratoare, teme, referate, portofolii şi eseuri	44	
Tutoriat	18	
Examinări 	10	
Alte activităţi: ..................		
3.7 Total ore studiu individual	133	
3.8 Total ore pe semestru	175	
3.9 Numărul de credite	7	

4. Precondiţii (acolo unde este cazul)
4.1 de curriculum		
4.2 de competenţe	Abilităţi medii de programare 	

5. Condiţii (acolo unde este cazul)
5.1 De desfăşurare a cursului	•	Sală de curs cu videoproiector	
5.2  De desfăşurare a seminarului/laboratorului		

6. Competenţele specifice acumulate
Competenţe profesionale	•	Aprofundarea cunoștințelor legate de structurile de date fundamentale şi implementarea algoritmilor specifici
•	Aprofundarea cunoștințelor legate de complexitatea algoritmilor
•	Deprinderea de a  proiecta şi realiza aplicaţii pornind de la utilizarea tipurilor abstracte de date.
•	Identificarea modelelor si metodelor adecvate pentru rezolvarea unor probleme reale
•	Capacitate de analiză și sinteză.	
Competenţe transversale	•	Aplicarea regulilor de muncă riguroasă  și eficientă.
•	Manifestarea unor atitudini responsabile faţă de domeniul  știinţific  și didactic.
•	Capacitate de muncă independentă
•	Respectarea principiilor  și a normelor de etică profesională.	

7. Obiectivele disciplinei (reieşind din grila competenţelor acumulate)
7.1 Obiectivul general al disciplinei	•	Studierea structurilor fundamentale de date, a algoritmilor specifici acestora și a complexității algoritmilor	
7.2 Obiectivele specifice

	•	Studierea structurilor fundamentale de date 
•	Formarea deprinderilor de a proiecta şi realiza aplicaţii pornind de la utilizarea tipurilor abstracte de date.
•	Formarea deprinderilor de a prelucra date stocate în diverse structuri de date precum: tablou, listă înlănţuită, tabelă de dispersie, ansamblu, arbore.
•	Formarea abilităţilor în proiectarea şi implementarea algoritmilor care prelucrează aceste structuri de date precum și analiza complexității acestora	

8. Conţinuturi
8.1 Curs	Metode de predare	Observaţii	
1-2 Complexitatea algoritmilor
- Definiții. Notatia și analliza asimptotica: big-o, little-o, big-omega, little-omega, theta
- Comparatii algoritmi
- Complexitate ca timp de execuție și spațiu de memorare
- Calcul complexități. Exemple 	•	Expunerea interactivă
•	Explicaţia
•	Conversaţia
•	Demonstraţia didactică		
3. Structuri de date. 
- Structuri statice, semistatice si dinamice. 
Tabloul
- Descriere, proprietati 
- operatii specifice	•	Expunerea interactivă
•	Explicaţia
•	Conversaţia
•	Demonstraţia didactică		
4-5. Lista înlănțuită
- Descriere, proprietati 
- Liste simplu, dublu înlantuite si liste circulare  alocate dinamic 
- Reprezentarea înlantuirilor pe tablouri
- Operatii specifice   	•	Expunerea interactivă
•	Explicaţia
•	Conversaţia
•	Demonstraţia didactică		
6. Tabela de dispersie (hash-table) 
- Tabele cu adresare directa
- Descriere, proprietati 
- Tabele de dispersie închise si deschise 	•	Expunerea interactivă
•	Explicaţia
•	Conversaţia
•	Demonstraţia didactică		
7. Tabela de dispersie
- Rezolvare coliziuni prin liste independente, liste întrepatrunse si adresare deschisa
- Operatii specifice	•	Expunerea interactivă
•	Explicaţia
•	Conversaţia
•	Demonstraţia didactică		
8. Ansamblul (heap)
- Structura de date heap 
- Heap-ul binar 
- Heap-ul binomial, Fibonacci
- HeapSort
	•	Expunerea interactivă
•	Explicaţia
•	Conversaţia
•	Demonstraţia didactică		
9. Arbori. 
- Descriere, proprietati 
- Arbori binari si arbori binari de cautare 
- Operatii: cautare, inserare/stergere element, traversare	•	Expunerea interactivă
•	Explicaţia
•	Conversaţia
•	Demonstraţia didactică		
10-11. Arbori binari de căutare echilibrati 
- Arbori AVL 
- Rotații pentru reechilibrare	•	Expunerea interactivă
•	Explicaţia
•	Conversaţia
•	Demonstraţia didactică		
12-14. Prezentări referate 	•	Expunerea interactivă
•	Conversaţia		
Bibliografie
1.	NICULESCU V., CZIBULA G., Structuri fundamentale de date. O perspective orientate obiect. Editura Casa Cartii de Stiinta, Cluj-Napoca,2011
2.	CORMEN, THOMAS H. - LEISERSON, CHARLES - RIVEST, RONALD R.: Introducere în algoritmi. Cluj-Napoca: Editura Computer Libris Agora, 2000. 
3.	HOROWITZ, E.: Fundamentals of Data Structures in C++. Computer Science Press, 1995. 
4.	MOUNT, DAVID M.: Data Structures. University of Maryland, 1993.
5.	SIMONAS SALTENIS, Algorithms and Data Structures, 2002.
6.	STANDISH, T.A.: Data Structures, Algorithms & Software Principles in C, Addison-Wesley, 1995 
7.	FRENTIU M., POP H.F., SERBAN G., Programming Fundamentals, Ed.Presa Universitara Clujeana, Cluj-Napoca, 2006, 234 pagini 	
8.2 Seminar	Metode de predare	Observaţii	
		Seminarul este structurat sub forma a 2 ore din 2 în 2 săptămâni.	
1. Tipuri abstracte de date.
- Domeniu  și operații 
- Cerinte, interfata, implementare (implementari) 
- Proiectarea tipurilor abstracte de date
- Programare prin abstractizarea datelor 	•	Explicaţia
•	Conversaţia
•	Modelarea
•	Exerciţiul		
2. Containere și iteratori. 
- Colecții, Mulțimi
- Proiectare - operații specifice. 
- Implementări posibile
- Analiza complexității operațiilor  in diferite implementări	•	Explicaţia
•	Conversaţia
•	Modelarea
•	Exerciţiul		
3. Dicționare și liste. 
- Proiectare - operații specifice. 
- Implementări posibile
- Analiza complexității operațiilor  in diferite implementări
- Aplicații	•	Explicaţia
•	Conversaţia
•	Modelarea
•	Exerciţiul		
4. Stive, cozi, cozi cu priorități. 
- Proiectare - operații specifice. 
- Implementări posibile
- Analiza complexității operațiilor  in diferite implementări
- Aplicații	•	Explicaţia
•	Conversaţia
•	Modelarea
•	Exerciţiul		
5. Stabilirea problemei pentru proiectul software  
	•	Conversația
•	Dezbaterea
•	Studiul de caz		
6.	Prezentări de referate și rapoarte privind derularea proiectelor	•	Conversația
•	Dezbaterea
•	Studii de caz
•	Prezentări		
7.	Demo cu aplicația realizată la proiect	•	Expuneri
•	Demo-uri		
Bibliografie
Studenții vor căuta și folosi 
•	documentații referitoare la structuri de date și complexități
•	articole de cercetare ȋn principalele baze de date cu lucrări de computer science	

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 ceea ce se face în alte centre universitare din tară și din străinătate.
•	Conţinutul disciplinei asigură cunoștințele fundamentale necesare pentru utilizarea structurilor și tipurilor de date în proiectarea aplicaţiilor.  	
10. Evaluare
Tip activitate	10.1 Criterii de evaluare	10.2 Metode de evaluare	10.3 Pondere din nota finală(%)	
10.4 Curs	•	cunoașterea conceptelor de bază legate de structure de date și complexități	Examen scris	40%	
10.5 Seminar/ activități laborator	•	capacitatea de a investiga și studia literatura de specialitate  ȋn domeniul tematicii cursului 
•	capacitatea de a dezvolta un proiect software 	•	Referat teoretic
•	Proiect software
•	Prezența la seminar/laborator
•	Oficiu	20% 
20%
10%

10%	
10.6 Standard minim de performanţă	
•	Cel puțin nota 5 (pe o scară de la 1 la 10) la examenul scris, referat și proiect.	

Data completării		Semnătura titularului de curs		Semnătura titularului de seminar
01.10.2014		            Prof. dr. Gabriela Czibula		Prof. dr. Gabriela Czibula
Data avizării în departament			           Semnătura directorului de departament	
							Prof. dr. Bazil Pârv