fişa disciplinei
1. Date despre program
1.1 Instituţia de învăţământ superior	UNIVERSITATEA BABES-BOLYAI	
1.2 Facultatea	MATEMATICA SI INFORMATICA	
1.3 Departamentul	MATEMATICA	
1.4 Domeniul de studii	INFORMATICA	
1.5 Ciclul de studii	LICENTA	
1.6 Programul de studiu / Calificarea	INFORMATICA	

2. Date despre disciplină
2.1 Denumirea disciplinei	ALGEBRA COMPUTATIONALA	
2.2 Titularul activităţilor de curs	Lect. Dr. George Ciprian Modoi	
2.3 Titularul activităţilor de seminar	Lect. Dr. George Ciprian Modoi	
2.4 Anul de studiu	2	2.5 Semestrul	2	2.6. Tipul de evaluare	Coloviu	2.7 Regimul disciplinei	optional	

3. Timpul total estimat (ore pe semestru al activităţilor didactice)
3.1 Număr de ore pe săptămână	4	Din care: 3.2 curs	2	3.3 seminar/laborator	2	
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	20	
Documentare suplimentară în bibliotecă, pe platformele electronice de specialitate şi pe teren	20	
Pregătire seminarii/laboratoare, teme, referate, portofolii şi eseuri	20	
Tutoriat	-	
Examinări 	6	
Alte activităţi: evaluari lucrari de control	17	
3.7 Total ore studiu individual	83	
3.8 Total ore pe semestru	125	
3.9 Numărul de credite	5	

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

5. Condiţii (acolo unde este cazul)
5.1 De desfăşurare a cursului	•	Nu e cazul	
5.2  De desfăşurare a seminarului/laboratorului	•	Nu e cazul	

6. Competenţele specifice acumulate
Competenţe profesionale	•	Determinarea gradului de complexitate al unui algoritm.
•	Dobandirea unor cunostiintelor referitoare la notiuni de aritmetica modulara (invers modular, radacina patrata modulara, logaritm discret) precum si  a unor cunostiinte de algebra abstracta care sa permita intelegerea adecvata a notiunilor respective.  
•	Implementare unor algoritmi eficienti din punct de vedere computational pentru rezolvarea unor probleme utile in sistemele criptografice moderne (determinarea inversului modular, exponentierea modulara etc.);
•	Realizarea de conexiuni intre algebra si algoritmi. 	
Competenţe transversale	•	Manevrarea obiectelor matematice în diverse situaţii practice in vederea elaborarii unor algoritmi eficienti;
•	Dobândirea de abilităţi practice legate de studiul individual;
•	Abilităţi de a aplica rezultate matematice specifice unui domeniu în alte domenii teoretice sau practice. 	

7. Obiectivele disciplinei (reieşind din grila competenţelor acumulate)
7.1 Obiectivul general al disciplinei	•	Prezentarea unor metode specifice algebrei computationale si exemplificarea lor prin aplicatii in dezvoltarea unor algoritmi folositi in criptografie.	
7.2 Obiectivele specifice

	•	Compararea algoritmilor din punct de vedere al complexitatii lor.
•	Prezentarea unuor notiuni de aritmetica modulara (invers modular, radacina patrata modulara, logaritm discret).  
•	Prezentarea unor exemple de demonstratie algebrica a corectitudinii unui algoritm.
•	Abordarea problemelor legate de numere prime si factorizarea intregilor in produs de numere prime din punct de vedere computational.
•	Prezentarea unor protocoale folosite in criptografie (RSA, Rabin, Diffie-Hellman, ElGamal) si evidentierea problemelor computationale pe care acestea le reclama. 

8. Conţinuturi
8.1 Curs	Metode de predare	Observaţii	
1. Sisteme clasice de criptare.	Prelegeri; Conversatii; Demonstratia; Problematizarea 		
2. Complexitatea algoritmilor. Notatia O.	Prelegeri; Conversatii; Demonstratia; Problematizarea		
3.Criptografia cu cheie publica. Functii one-way si trap-door. Protocolul RSA.	Prelegeri; Conversatii; Demonstratia; Problematizarea		
4. Probleme computationale puse de RSA. Clase de resturi si aritmetica modulara. Algoritmul lui Euclid extins. 	Prelegeri; Conversatii; Demonstratia; Problematizarea		
5. Exponentierea modulara prin ridicare repetata la patrat. Corectitudinea si securitatea algoritmului RSA. 
	Prelegeri; Conversatii; Demonstratia; Problematizarea		
6. Numere prime si grupuri ciclice. Resturi patratice si simbolurile Legendre si Jacobi. 
.   	Prelegeri; Conversatii; Demonstratia; Problematizarea		
7. Teste de primalitate.	Prelegeri; Conversatii; Demonstratia; Problematizarea		
8. Metode de factorizare a intregilor. 
	Prelegeri; Conversatii; Demonstratia; Problematizarea		
9. Sistemul criptografic Rabin si radacina patrata modulara.	Prelegeri; Conversatii; Demonstratia; Problematizarea		
10.Schimbul de chei Diffie-Hellman si problema logaritmului discret.	Prelegeri; Conversatii; Demonstratia; Problematizarea		
11. Sistemul criptografic ElGamal. Corpuri finite.	Prelegeri; Conversatii; Demonstratia; Problematizarea		
12. Factorizarea polinoamelor cu coeficienti intr-un corp finit. 
	Prelegeri; Conversatii; Demonstratia; Problematizarea		
13. Metode de rezolvarea a problemei logaritmului discret. 
	Prelegeri; Conversatii; Demonstratia; Problematizarea		
14. Semnatura digitala bazata pe un sistem criptografic cu cheie publica.	Prelegeri; Conversatii; Demonstratia; Problematizarea		
Bibliografie	
1.	1. S. Crivei, A. Mărcuş, C. Săcărea, C. Szanto, Computational Algebra with applications to cryptography and coding theory, Efes 2006.
2.	W. Bosma, A. van der Porten, Computational Algebra and Number Theory, Kluwer 1995. 
3.	D. Bressoud, S. Wagon, A Course in Computational Number Theory, Springer-Verlag 2000. 
4.	H. Cohen, A Course in Computational Algebraic Number Theory, Springer-Verlag, 2000.
5.	H. Cohen, A.M. Cuypers, H. Sterk, Some Tapas of Computer Algebra, Springer-Verlag,  1999. 
6.	R. Crandall, C. Pomerance, Prime Numbers. A Computational Perspective, Springer-Verlag, 2001.
7.	K. Ireland, M. Rosen, A Classical Introduction to Number Theory, Springer-Verlag, 1990.
8.	N. Koblitz, A Course in Number Theory and Cryptography, Springer-Verlag, 1994.
9.	R. Lidl, G. Pilz, Applied Abstract Algebra, Springer-Verlag, 1998.
10.	H. S. Wilf, Algorithmes et complexite, Masson, Paris, 1989.	

9. Coroborarea conţinuturilor disciplinei cu aşteptările reprezentanţilor comunităţii epistemice, asociaţiilor profesionale şi angajatori reprezentativi din domeniul aferent programului
•	Studentii vor dobandi cunostinte teoretice de algebra computationala ceea ce le va permite sa aprecieze gradul de complexitate al unui algoritm, iar in activitatea de programare se indrepte spre solutiile adecvate din acest punct de vedere.
•	Studentii se vor familiariza cu notiunile si problemele care apar in criptografie si vor invata principiile pe care sunt construite sistemele criptografice moderne. 
•	Studenţii vor fi capabili sa implementeze algoritmii folositi de un sistem criptografic.   

10. Evaluare
Tip activitate	10.1 Criterii de evaluare	10.2 metode de evaluare	10.3 Pondere din nota finală	
10.4 Curs	Insusirea notiunilor teoretice, a rezultatelor (cu demonstratii), 	Colocviu final (oral)	30%	
10.5 Seminar/laborator	Implementarea algoritmilor invatati.	Evaluare in timpul fiecarui laborator. 	35%	
	Implementarea unei probleme complexe care implica adoptarea unor solutii computationale adecvate.	Prezentarea unui proiect final.	35%	
10.6 Standard minim de performanţă	
•	 Dintre cele 5 teme de laborator pe care le vor primi studentii sunt obligati sa predea minimum 4.
•	Este obligatorie obtinerea unei note de trecere la prezentarea proiectului, precum si la discutia axata pe probleme teoretice de la colocviul final.

	

Data completării	Semnătura titularului de curs			Semnătura titularului de seminar
26.09.2021		Lect. Dr. George Ciprian Modoi		Lect. Dr. George Ciprian Modoi

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