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	
MID0023	Programare Web	

Semestrul	Ore: C+S+L	Categoria	Statutul	
5	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	
BUFNEA Darius Vasile	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 studenţilor cu principalele concepte, tehnologii atât client side cât si server side precum şi cu instrumentele cel mai des folosite în programarea web;
- Utilizarea elementelor de mai sus în proiectarea site-urilor web de generaţie recentă.	

IV. Conţinutul disciplinei
1. Noţiuni şi concepte utilizate
- Forumuri Internet: ISOC (Internet Society), IAB (Internet Architecture Board), IETF (Internet Engineering Task Force), ISP (Internet Service Provider)
- Sistemul de adresare: servere de nume, URL (Uniform Resource Locator)
- Hipertext si limbaje de specificare: SGML, HTML, XML, WML principii generale
- Protocoale de transport: HTTP
- Instrumente de dezvoltare şi exploatare în programarea web: navigatoare, editoare HTML si XML, parsere şi navigatoare XML
2. Compendiu XML
- Caracteristici XML: elemente, atribute, structuri, validare XML
- Metadate XML: DTD (Data Type Description) si schema XML (XSL) 
- DOM (Document Object Model) pentru XML
- Prelucrarea documentelor XML în Java, C#, JavaScript si Perl
3. Limbajele HTML (HyperText Markup Language) si XHTML (eXtensible HTML)
- Sintaxa si semantica. Structura unui document HTML si XHTML. 
- Tabele, liste, cadre, imagini
- Formatarea şi gestiunea stilurilor folosind CSS (Cascade Stile Sheet)
- Crearea si gestionarea link-urilor
4. Partea client în programarea web
- Clienţi uşori si clienţi grei
- Formulare (X)HTML
- Cookies
- Limbajele JavaScript, Jscript şi VBScript
- Appleturi Java
- Aplicaţii JavaScript şi interacţiuni la nivel client
- Flash 
5. Partea server în programarea web
- Arhitectura unui site web: organizare, proiectare, întreţinere
- CGI (Common Gateway Interface): principii
- Implementarea CGI în C / C++ / shell / perl
- Limbajul PHP; specificarea CGI în PHP
- Servleturi Java
- Specificarea acţiunilor serverului folosind pagini JSP si / sau ASP
- Aplicaţii web în Java si / sau C#
- SOAP - RPC peste web
6. Specialităţi web
- WML (Wireless Markup Language)
- VRML (Virtual reality Modeling Language)
- Servicii MPEG: (Moving Picture Expert Group)	

V. Bibliografie
1. Anghel T, Dezvoltarea aplicaţiilor web folosind XHTML, PHP si MySQL. Editura Polirom, Iaşi, 2005
2. Boian F. M., Programare distribuită în Internet; metode şi aplicaţii. Editura Albastră, MicroInformatica, Cluj, 2005
3. Boian F.M., Boian R.F., Tehnologii fundamentale Java pentru aplicaţii Web. Editura Albastră, MicroInformatica, Cluj, 2005
4. Buraga S., Tehnologii web. Editura Matrix Rom, Bucuresti, 2001
5. Buraga S., Proiectarea siturilor web. Editura Polirom, Iaşi, 2002
6. Castro E., HTML for the World Wide Web with XHTML and CSS. 5'th edition, Visual QuickStart Guide, 2004
7. Hall M., Brown L., Core web programming. 2nd edition. Prentice Hall, 2001
8. W3Schools Online Web Tutorials, http://www.w3schools.com	

VI. Tematica activităţilor didactice pe săptămâni
1.	Introducere în HTML. Structura unui document HTML. Taguri de bază.
2.	Formulare Web.
3.	Protocolul HTTP. Metodele GET, POST
4.	CGI (Common Gateway Interface)
5.	JavaScript
6.	Document Object Model
7.	CSS (Cascade Style Sheets)
8.	Ajax
9.	PHP
10.	Accesarea bazelor de date (MySQL) folosind PHP
11.	Aplicaţii Web Java
12.	Java Servlets
13.	JSP (Java Server Pages)
14.	ASP (Active Server Pages)	

VII. Metode didactice folosite
Expunerea: descrierea, explicaţia, prelegerea magistrală, prelegerea dialog, prelegerea cu demonstraţii, prelegeri introductive, prelegeri curente, prelegeri de sinteză. 
Conversaţia: dezbaterea, dialogul, conversaţii introductive, conversaţii de fixare şi consolidare a cunoştinţelor, conversaţii de sistematizare şi sinteză, conversaţii de aplicare.
Problematizarea: utilizarea întrebărilor-problemă, problemelor şi situaţiilor-problemă. 
   Descoperirea: redescoperirea dirijată şi independentă, descoperirea creativă, descoperirea inductivă, descoperirea deductivă, descoprirea analogică, descoperirea prin documentare, descoperirea experimentală.	

VIII. Evaluare
Nota finală se calculează după următoarea formulă:

NotaFinala = 40%Laborator + 40%ExamenPractic + 20%ProiectIndividual

Proiectul individual constă în elaborarea de către student a unei pagini personale proprii care să fie bazată atât pe tehnologii web client side cât şi server side, precum şi cu tehnologii midleware de conectare la baza de date. Examenul final este un examen practic în cadrul căruia în paginile dezvoltate în timpul examenului studentul trebuie să şi răspundă la anumite întrebări teoretice. Nota de la laborator consta în media aritmetică cu care sunt notate activităţile practice de laborator rezolvate de student pe parcursul semestrului. Pentru promovare fiecare din cele trei componente ale notei finale trebuie să fie cel puţin 5.

Informaţii actualizate despre curs se pot obţine la adresa: http://www.cs.ubbcluj.ro/~bufny/index.php?view=pw/pw.php	

IX. Bibliografie suplimentară
1. Chuck Musciano, Bill Kennedy, HTML & XHTML: The Definitive Guide, O'Reilly, 2002
2. Jennifer Niederst, Web Design in a Nutshell, O'Reilly, 2001
3. Colin Moock, ActionScript: The Definitive Guide - Mastering Flash Programming, O'Reilly, 2001
4. Varlan C, Macromedia FLASH; concepte, exemple, studii de caz. Editura Polirom, Iaşi, 2004
5. Negrino T., Smith D, JavaScript for the World Wide Web. 4th edition, Visual QuickStart Guide, 2001	

	Decan,							Sef de catedra,

	Data,							Titular curs,
								Lect. Dr.  BUFNEA Darius Vasile