Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Masterat
Domeniul: Informatica
Programul de studii: Sisteme distribuite în Internet
Limba de predare: Română

SYLLABUS

I. Date generale
Codul	Disciplina	
MID1020	Algoritmi distribuiţi şi tehnici avansate în sisteme distribuite	

Semestrul	Ore: C+S+L	Categoria	Statutul	
4	2+0+2	specialitate	opţională	

II. Cadre didactice cu norma de bază în Universitate
Numele şi	Titlul	Gradul	Catedra	Tipul activităţii	
prenumele	ştiinţific	didactic		C	S	L	
BOIAN Rares Florin	Dr.	Lect.	Sisteme Informatice	*			

Cadre didactice asociate
Numele şi	Titlul	Instituţia	Tipul	Tipul activităţii	
prenumele	ştiinţific		postului	C	S	L	

III. Obiectivele disciplinei
Familiarizarea masteranzilor cu cele mai recente cercetari teoretice din domeniul sistemelor distribuite. Pe langa cercetarile de natura teoretica, studentii vor elabora implementari comparative in C++, C#, Java, CORBA etc. Aceste implementari vor avea doua scopuri: compararea implementarilor de pe diverse platforme si ilustrarea detaliata a algoritmilor distribuiti care fac parte din teoria clasica.

IV. Conţinutul disciplinei
1.	Algoritmi sincroni in retele
2.	Algoritmi asincroni in retele 
3.	Algoritmi partial sincroni
4.	Coordonarea tranzactiilor distribuite
5.	Aplicatii multiplatforma

V. Bibliografie
1.	BARNABY T. Distributed .NET Programming in C#. Apress, 2002
2.	BOIAN F.M. Programarea distribuita in internet; metode si aplicatii. Ed. Albastra, Cluj, 1997
3.	HILDRETH P.M. Going Virtual: Distributed Communities of Practice. Idea Group Pub. 2004
4.	HUGHES C. HUGHES T. Parallel and Distributed Programming Using C++. Addison Wesley, 2003
5.	LANG U. SCHREINER R. Developing Secure Distributed Systems with CORBA. Artech House, 2002
6.	LYNCH N.A. Distributed Algorithms. Morgan Kaufmann Pub. 1996
7.	TANENBAUM A.S. Distributed Operating Systems. Prentice Hall, 2000
8.	TEL G. Introduction to Distributed Algorithms. Cambridge Press, 1994
9.	WEIKUM G. VOSSEN G. Transactional Information Systems: theory, algorithms, and the practice of concurrency control and recovery. Morgan Kaufmann Pub. 2002

VI. Tematica activităţilor didactice pe săptămâni
Săptămâna 1: Modele formale in sisteme distribuite: sincron, asincron, partial sincron)  [8] [2]
Săptămâna 2: Algoritmi distribuiti: modele, caracteristici, problematica, aplicatii [6] [8] [3]
Săptămâna 3: Problema alegerii leaderului: modele si implementari [6 cap 3-4] 
Săptămâna 4:  Problema consensului în sisteme distribuite [6 cap 4, 12] 
Săptămâna 5:  Algoritmi asincroni pentru memorii partajate distribuite [6 cap 10, 17]
Săptămâna 6:  Excludere mutuală şi alocarea resurselor în context asincron [6 cap 10-11]
Săptămâna 7:  Gestiunea timpului în sisteme distribuite: ceasuri fizice şî ceasuri logice (Lamport) [6 cap 18]
Săptămâna 8: Sisteme tolerante la erori [6 cap 21], sisteme send - receive [6 cap 17], recuperarea după avarii [6 cap 22]
Săptămâna 9:  Problematica sistemelor parţial sincrone: simulare, excludele mutuală, consens [6 cap 23-25]
Săptămâna 10: Tranzacţii distribuite [9] 
Săptămâna 11:  Implementări ale sistemelor distribuite în C++ [4]
Săptămâna 12: Implementări ale sistemelor distribuite în C# [1]
Săptămâna 13: Implementări ale sistemelor distribuite în Java [2]
Săptămâna 14: Implementări ale sistemelor distribuite în CORBA [5]

VII. Metode didactice folosite
Metodele de bază utilizate în cazul predării cursului şi a laboratorului sunt: expuneri, conversaţii, studiu individual, teme, proiecte aplicative. Disciplina are alocate ore de curs şi ore de laborator. La curs se folosesc materiale bibliografice specifice: cărţi, articole, referinţe de pe Internet. La laborator se urmăreşte dezvoltarea practică a unor proiecte şi rezolvarea unor probleme, fie de programare fie de administrare, folosind calculatorul şi pachete software specifice.	

VIII. Evaluare
Cursul se încheie cu un examen final. Pe durata semestrului, studenţii vor prezenta un referat teoretic şi un proiect realizat folosind C++, C#, Java şi CORBA. 
Nota finală constă din:
•	Examenul final:                                    40%
•	Evaluarea proiectului                           40%
•	Evaluarea referatului:                           20% 

IX. Bibliografie suplimentară

	Data,							Titular curs,
								Lect. Dr. BOIAN Rares Florin