Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Calculatoare şi tehnologia informaţiei
Programul de studii: Ingineria informatiei - in limba romana
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	3+0+2		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
1.  Elemente de baza .NET si C#
2.  Biblioteca de clase .NET
3.  Reflectie
4. Aplicatii client-server bazate pe comunicare TCP
5. Aplicatii client-server bazate pe apelul metodelor la distanta
6. Componente de acces la baze de date
7. Servicii si surse de date tabelare
8. Modele obiectuale si baze de date relationale
9. Servere de aplicatii
10. Prelucrarea documente XML
11. Aplicatii ale documentelor XML
12. Aplicatii WEB	

VII. Metode didactice folosite
Expunerea: descrierea, explicaţia, prelegeri de sinteză. 
Conversaţia: conversaţia euristică, conversaţii de sistematizare şi sinteză, conversaţii de aplicare 
Modelarea: utilizarea modelelor materiale, modelelor cibernetice. 
Problematizarea: utilizarea întrebărilor-problemă, problemelor şi situaţiilor-problemă. 
Alte metode: studiul de caz,  studiul individual, exerciţiul.	

VIII. Evaluare
Nota finală este calculata astfel: 
A. Activitatea de laborator: teme saptamanale + un proiect individual 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.
WebPage: http://www.cs.ubbcluj.ro/~vcioban	

IX. Bibliografie suplimentară
1.Visual C#, Lucian Sasu, format electronic; 2005
2.Ovidiu Platon, Lecţii C#, format electronic; 2006-2008	

	Decan,							Sef de catedra,

	Data,							Titular curs,
	6.03.2009							Lect. Dr.  CIOBAN Vasile