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	
MID0012	Programare distribuită - platforme Java	

Semestrul	Ore: C+S+L	Categoria	Statutul	
5	2+0+1	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 Florian Mircea	Dr. 	Prof.	Sisteme Informatice	*			

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

III. Obiectivele disciplinei
Insuşirea de către studenţi a tehnologiilor fundamentale de implementare a a aplicaţiilor distribuite. Instrumentele prezentate în acest scop sunt, în totalitate, oferite de limbajul Java şi tehnologiile oferite de pachetele din distribuţiile j2sdk1.6.0 şi j2sdkee1.5. Sunt prezentate tehnologiile de prim nivel. Ele sunt utilizate în mod direct la elaborarea de aplicaţii distribuite de dimensiuni mici sau medii. De asemenea, ele sunt utilizate automat de către tehnologiile middleware high level.	

IV. Conţinutul disciplinei
1.	Compendiu Java
2.	Intrari / iesiri (locale); pachetul java.io, JDBC:ODBC, Mailer
3.	Utilitare specifice. Metode de transmitere a parametrilor initiali ai programelor
4.	Threaduri Java
5.	Comunicatii Java folosind socket
6.	Tehnologia Java servlet
7.	Java Server Pages (JSP)
8.	RMI: Apelul la distanta al obiectelor Java

V. Bibliografie
1.	ATHANASIU I., Limbajul Java, Editura Computer Libris Agora, Cluj, 1998
2.	BOIAN F.M.. BOIAN R.F., Tehnologii fundamentale Java pentru aplicaţii Web, Editura Albastra, Cluj, 2004
3.	BOIAN F.M., FERDEAN C. M., BOIAN R.F. DRAGOS R.C. Programare concurenta pe platforme Unix, Windows, Editura Albastra - grupul Microinformatica, Cluj, 2002
4.	BOIAN F.M., Programare distribuita în Internet; metode si aplicatii, Editura Albastra, Cluj, 1998 
5.	DARWIN I. Java CookBook, O’Reilly, 2001
6.	GEARY D.M. Advanced Java Server Pages, O’Reilly, 2001
7.	HUNTER J. Java Servlet Programming O’Reilly, 1998
8.	KURNIAWAN B. Java for the Web with Servlet, JSP, and EJB: A Developer’s Guide to J2EE Solutions. Wrox press, 2003
9.	NEWARD T. Server Based Java Programming, O’Reilly, 2000
10.	*** http://java.sun.com/docs/guide/net/index.html
11.	*** http://java.sun.com/docs/guide/rmi/index.html	

VI. Tematica activităţilor didactice pe săptămâni
Sapt. 1
1 Compendiu Java
•	Principalele caracteristici
•	Primele exemple
•	Prezentare Java prin comparatii cu C si C++
•	Tratarea exceptiilor
•	Interfete Java
•	Alte exemple de programe simple

Sapt. 2 - 3
2 Intrari / iesiri (locale); pachetul java.io, JDBC:ODBC, Mailer
•	Acces prin stream si acces random
•	Gestiunea structurii de fisiere: clasa File
•	Citiri si scrieri
•	Exemple de programe care executa operatii I/O
•	Acces prin puntea JDBC:ODBC la diverse baze de date
•	Expedierea de posta electronica; clasa Mailer

Sapt. 4
   3 Utilitare specifice. Metode de transmitere a parametrilor initiali ai programelor 
•	Crearea aplicatiilor complexe; utilitarul ant
•	Urmele executiei; utilitarul log4j
•	Hardcodings vs. Configurare; transmiterea de proprietati
•	Utilitarele NetBeans, Eclipse, IntelIJIDEA

Sapt. 5
4 Threaduri Java
•	Procese externe lansate din Java
•	Thread-uri Java
•	Exemple de utilizare a threadurilor Java

Sapt. 6 - 7
5 Comunicatii Java folosind socket
•	Prezentarea generala a pachetului java.net
•	Gestiunea adreselor Internet: InetAddress
•	Transmitera si receptionarea prin UDP
•	Comunicare prin TCP
•	Exemple de comunicatii TCP
•	Accesul la resurse Internet prin URL
•	CGI si comunicatii prin URLConnection

Sapt. 8 - 10
6 Tehnologia Java servlet
•	Conceptul de servlet
•	Containere de servlet
•	Compilarea unui servlet
•	Primele exemple de servleturi
•	Servlet vis-a-vis cu CGI
•	Facilitati specifice servlet
•	Cateva exemple mai complexe

Sapt. 11 - 13
7 Java Server Pages (JSP)
•	Introducere
•	Text static HTML si comentarii
•	Tagurile JSP
•	Utilizarea beanurilor in pagini JSP

Sapt. 14
8 RMI: Apelul la distanta al obiectelor Java
•	Scenariul dezvoltarii unei aplicatii RMI
•	Un exemplu de utilizare RMI

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
Examen practic la finele semestrului. Nota este obţinută ca medie între:
- nota la lucrarea scrisă 30%;
- nota pe activitatea de laborator: calitatea programelor, documentaţii etc. 60%;
- teste scurte, bonus soluţii deosebite etc. 10%.

Cerintele cursului sunt postate la:
http://www.cs.ubbcluj.ro/~florin/PDPJ

IX. Bibliografie suplimentară

Decan,								Sef de catedra,
Prof. dr TAMBULEA Leon					Prof. Dr. BOIAN Florian Mircea

Data,								Titular curs,
01.10.2009							Prof. Dr. BOIAN Florian Mircea