Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Informatică
Programul de studii: Informatică - linia de studiu română
Limba de predare: Română

SYLLABUS

I. Date generale
Codul	Disciplina	
MID0009	Medii de proiectare şi programare	

Semestrul	Ore: C+S+L+P	Categoria	Statutul	
6	2+0+2+0	specialitate	obligatorie	

II. Cadre didactice cu norma de bază în Universitate
Numele şi	Titlul	Gradul	Catedra	Tipul activităţii	
prenumele	ştiinţific	didactic		C	S	L	
CIOBAN Vasile	Dr. 	Lect.	Limbaje şi Metode de Programare	*			

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

III. Obiectivele disciplinei
* consolidarea deprinderilor de analiza si proiectare a sistemelor soft prin aplicarea acestor deprinderi asupra tipurilor de aplicatii client-server si web
* insusirea unor sabloane in ceea ce priveste structurarea aplicatiilor client-server si web
* insusirea unor cunostinte de baza despre integrarea aplicatiilor prin transmitere de mesaje
* insusirea unor parti din bibliotecile .NET si Java cu ajutorul carora se pot defini aplicatii de aceste tipuri

IV. Conţinutul disciplinei
1.  Elemente de baza .NET si C#
- Platforma .NET: prezentare comparativa cu platforma Java
- Limbajul C#: prezentare comparativa cu limbajul Java

2.  Biblioteca de clase .NET
- Colectii
- Intrari-iesiri
- Delegari, evenimente
- Interfete grafice utilizator

3.  Reflectie
- Reflectie in Java si .NET
- Incarcare dinamica a claselor Java 
- Legarea intarziata a tipurilor .NET si incarcare dinamica a executabilelor
- Aplicatii ale reflectiei: persistenta, fabrica abstracta de obiecte, dependenta de interfete si posibilitatea inlocuirii dinamice a implementarilor

4. Aplicatii client-server bazate pe comunicare TCP
- Comunicarea intre aplicatii folosind TCP
- Modelarea aplicatiilor client-server ce folosesc comunicare TCP
- Crearea si lansarea firelor de executie in Java si .NET
- Aplicatii client Java si C# 
- Aplicatii server Java si C#

5. Aplicatii client-server bazate pe apelul metodelor la distanta
- Model general: interfata la distanta, registru (de servicii), canal de comunicare, obiect la distanta, obiect inlocuitor
- Apelul metodelor la distanta pe platforma Java - pachetul java.rmi
- Obiecte aflate la distanta pe platforma .NET - System.Runtime.Remoting

6. Componente de acces la baze de date
- Tabele .NET pentru memorarea datelor - System.Data
- Multimi rezultat Java
- Conexiuni la baze de date si implementari ale acestora

7. Servicii si surse de date tabelare
- Surse de date cu organizare tabelara
- Relatia intre surse tabelare si servicii
- Obiecte de transfer a datelor intre aplicatii

8. Modele obiectuale si baze de date relationale
- Corespondenta intre diagrame de clase si tabele relationale
- Independenta intre model si baze de date prin obiecte de corespondenta (mappers)
- Tranzactii si incarcare intarziata

9. Servere de aplicatii
- Sisteme pe mai multe nivele: aplicatie client - aplicatie server - server baza de date
- Structura interna a serverelor de aplicatii
- Accesul concurent al aplicatiilor client si consistenta datelor

10. Prelucrarea documente XML
- Limbajul XML si documente XML
- Tipul documentelor XML
- Model obiectual pentru documente (DOM)

11. Aplicatii ale documentelor XML
- Parcurgerea secventiala a documentelor XML (SAX) - javax.xml si System.Xml
- Implementari ale modelului DOM - javax.xml si System.Xml
- Mesaje XML transmise intre aplicatii
- Apelul metodelor la distanta intre aplicatii situate pe platforme diferite

12. Aplicatii WEB
- Sisteme pe mai multe nivele: navigator - server web - server aplicatie - server baza de date
- Structura unui server web
- Sabloane pentru aplicatii Web

V. Bibliografie
1. Eckel, B., Thinking in C#, MindView Inc, 2004.
2. Larman, C.: Applying UML and Design Patterns: An Introduction to OO Analysis and Design and Unified Process, Berlin, Prentice Hall, 2002.
3. Fowler, M., Patterns of Enterprise Application Architecture, Addison-Wesley, 2002.
4. Hohpe, G., Woolf, B., Enterprise integration patterns, Addison-Wesley, 2003.
5. ***, Microsoft Developer Network, Microsoft Inc., http://msdn.microsoft.com/
6. ***, The Java Tutorial, SUN Microsystems, Inc, 2004. http://java.sun.com/docs/books/tutorial/index.html
1. Eckel, B., Thinking in Java, 4th edition, Prentice Hall, 2006.	

VI. Tematica activităţilor didactice pe săptămâni

VII. Metode didactice folosite

VIII. Evaluare
Nota finala este calculata astfel: 
A. Activitatea de laborator: 40% 
C. Proba practica: 60%
Proba practica este sustinuta in timpul sesiunii ca si examen final. Proba practica consta din implementarea unei aplicatii mici client-server pe calculator.

IX. Bibliografie suplimentară

	Decan,							Sef de catedra,

	Data,							Titular curs,
								Lect. Dr.  CIOBAN Vasile