Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Informatică
Programul de studii: Informatică - în limba engleză
Limba de predare: Engleză

SYLLABUS

I. General data
Code	Subject	
MID0023	Web Programming	

Semester	Hours: C+S+L	Category	Status	
5	2+0+2	speciality	compulsory	

II. Full status faculty members
Name and	Scientific	Didactic	Chair	Type of activity	
surname	title	title		C	S	L	
Florian Mircea-Boian	Ph.D.	Prof.	Computer Systems	*			

Associated faculty members
Name and	Scientific	Institution	Type of	Type of activity	
surname	title		position	C	S	L	

III. Course objectives
- The main purpose of this course is to teach the students modern web programming techniques, both server-side and also client-side technologies, and also to teach students the usage of the most important tools involved in web development.
- The course will be a rough, global view on the world wide web and all related fields.	

IV. Course contents
1. Concepts used in web programming:
- Internet address mechanism (IP), name servers (DNS) and URL (Uniform Resource Locator);
- Hypertext Transport Protocol: HTTP;
- Hypertext and its associated languages: SGML, HTML, XML, WML;
- Development tools, HTML and XML editors, XML parsers.
2. XML Compendium
- XML characteristics: element, attribute, structure. XML validation;
- XML Metadata: DTD (Data Type Description) and XML schema (XSL);
- DOM (Document Object Model) for HTML and XML;
- XML manipulation in Java, C#, JavaScript and Perl;
3.  HTML (Hypertext Markup Language) and XHTML (eXtensible HTML) languages
- Syntax and semantics. The basic structure of an HTML document. HTML tags;
- HTML tables, lists, frames, images, divs, hyperlinks;
- CSS (Cascade Style Sheet) for changing the look and feel of an HTML document;
4. Client-side web programming
- Light and heavy web clients;
- (X)HTML forms;
- Cookies;
- JavaScript, Jscript and VBScript languages;
- Java Applets;
- JavaScript applications and client side interactions;
- Adobe Flash, Action Script;
5. Server-side web programming
- Web server architecture and maintenance;
- CGI (Common Gateway Interface): main concepts;
- CGI programming in C/C++/shell/Perl;
- PHP programming;
- Java Servlets;
- Java Server Pages(JSP) and ActiveX Server Pages(ASP and ASP .NET);
6. Other web related technologies
- Web services; SOAP
- Multimedia objects on the web	

V. Bibliography
1. Anghel T. Dezvoltarea aplicatiilor web folosind XHTML, PHP si MySQL. Editura Polirom, Iasi, 2005
2. Boian F. M. Programare distribuita în Internet; metode si aplicatii. Editura Albastra, MicroInformatica, Cluj, 2005
3. Boian F.M., Boian R.F. Tehnologii fundamentale Java pentru aplicatii Web. Editura Albastra, MicroInformatica, Cluj, 2005
4. Buraga S. Tehnologii web. Editura Matrix Rom, Bucuresti, 2001
5. Buraga S. Proiectarea siturilor web. Editura Polirom, Iasi, 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. Negrino T., Smith D. JavaScript for the World Wide Web. 4th edition, Visual QuickStart Guide, 2001
9. Varlan C. Macromedia FLASH; concepte, exemple, studii de caz. Editura Polirom, Iasi, 2004
10. W3Schools Online Web Tutorials, http://www.w3schools.com	

VI. Thematic of didactic activities per weeks
1.	A short introduction in HTML. The structure of an HTML document. Most important tags
2.	Web forms and visual controls in HTML pages
3.	HTTP protocols. GET and POST methods
4.	CGI (Common Gateway Interface)
5.	JavaScript
6.	Document Object Model
7.	CSS (Cascade Style Sheets)
8.	AJAX (Asynchronous JavaScript and XML)
9.	PHP
10.	Database access (MySQL)  using PHP
11.	Java web based applications
12.	Java Servlets
13.	JSP (Java Server Pages)
14.	ASP .NET (ActiveX Server Pages)	

VII. Didactic methods used
The main teaching methods used in the course are: exposition, discussions, individual study, home-works, quizzes, practical projects. The lectures are based on the bibliography entries presented above: books, articles, web-sites. The practical projects are solved during the lab hours and at home.	

VIII. Assessment
The final mark is computed by using the following formula:

FinalMark = 40%LabsMark + 40%FinalPracticalExamMark + 20%IndividualProjectMark

The individual project is a semester project developed by each student. The students must developed a relatively complex web site that should include both server-side and client-side technologies. This site should also include some data base access middleware technology.

The final exam it is a practical one. The student must implement a structure of web pages and he must answer some short theoretical questions.

The lab mark is the average of the marks the student gets on the lab problems resolved during the semester.

In order to successfully pass this class, each of the above marks must be at least five.

Details about the demands and regulations for this course can be found at:
http://cs.ubbcluj.ro/~forest/wp.

IX. Additional references
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	

	Dean,							Chair head,

	Date,							Course responsible,
								Prof. Florian Mircea Boian, Ph.D.