Babes-Bolyai University of Cluj-Napoca
Faculty of Mathematics and Computer Science
Study Cycle: Graduate
SUBJECT

Code	Subject	
MID0023	Web Programming	

Section	Semester	Hours: C+S+L	Category	Type	
Computer Science	5	2+0+2	speciality	compulsory	
Information engineering	7	2+0+2		compulsory	

Teaching Staff in Charge	Lect. BUFNEA Darius Vasile, Ph.D., bufny@cs.ubbcluj.ro
Prof. BOIAN Florian Mircea, Ph.D., florin@cs.ubbcluj.ro
Lect. RUFF Laura Ildiko, Ph.D., laura@cs.ubbcluj.ro	
Aims	- The main purpose of this course is to teach the students to use modern techniques for web programming using both server side and client side technologies, and also to teach the students to use the most important tools involved in the web development.
- Using the above elements in the design and implementation process of web sites.	
Content	1. Different concepts used in web programming:
- Internet address mechanism, name servers 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;
- Look and feel by using CSS (Cascade Stile Sheet);
- Hyperlinks;
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 progamming;
- Java Servlets;
- Java Server Pages and Active Server Pages;
- Java / C# web applications;
- SOAP - RPC over web;
6. Other web oriented or adjacent technologies
- WML (Wireless Markup Language);
- VRML (Virtual reality Modeling Language);
- MPEG (Moving Picture Expert Group);
	
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	
Assessment	The final mark is computed by using the following formula:

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

The individual project is a semester project developed by each student. The students must developed a personal home page that use both server side and client side technologies. The developed home page must also used some data base access middleware technology.

The final exam it is a practical one. The student must implement a structure of web pages, but also he must answer to some theoretical questions.

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

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