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	Categoria	Statutul	
6	2+0+2	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
- Biblioteci .NET pentru aplicatii Web

13. Sabloane pentru aplicatii Web
- Gestiunea sesiunilor
- Generarea prezentarilor/paginilor
- Sincronizarea datelor intre serverul web si serverul de aplicatie (cazul offline)

14. Integrarea aplicatiilor
- Servere de mesagerie
- Canale de mesaje
- Construirea mesajelor
- Transmiterea si receptionarea mesajelor

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

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: 50% 
B. Lucrare scrisa: 20%
C. Proba practica: 30%
Lucrarea scrisa si proba practica sunt sustinute in timpul sesiunii ca si examen final. Lucrarea scrisa consta din intrebari teroretice iar proba practica din rezolvarea unei probleme pe calculator.

IX. Bibliografie suplimentară

	Data,							Titular curs,
								Lect. Dr. CIOBAN Vasile