Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Informatică
Programul de studii: Informatică - linia de studiu maghiară
Limba de predare: Maghiară

SYLLABUS

I. Általános adatok
Kód	Tantárgy neve	
MID0023	Web-programozás	

Félév	Órák: C+S+L	Kategória	Típus	
5	2+0+2	szaktárgy	kötelező	

II. Főállásban az  Egyetem  oktatói
Név	Tudományos	Oktatói	Tanszék	Tevékenység	
	fokozat	státus		E	Sz	L	
RUFF Laura Ildikó	Dr. 	adjunktus	Informatikai Rendszerek	*			
Minier Zsolt	Drd.	tanársegéd	Informatikai Rendszerek			*	

III. A tantárgy célkitűzései
-	a web-programozásban használt alapfogalmak, eszközök, elterjedtebb kliens-, illetve szerveroldali technológiák megismerése
-	a fenti elemek felhasználása korszerű web-alkalmazások készítésére	

IV. A tantárgy tartalma
1. Bevezetés
- a Web története, komponensei
- alapfogalmak (URL, HTTP protokoll)
- kliens- illetve szerveroldali technológiák áttekintése, jellemzői
2. Statikus HTML/XHTML oldalak
3. Egymásba ágyazható stíluslapok (CSS)
4. Kliens oldali script nyelvek – JavaScript
5. Szerver oldali technológiák- PHP 
6. Java alapú web-technológiák 
- Java servlet technológia
- JSP technológia
- JSP elemkönyvtárak
- JDBC adatbázis-hozzáférés
- XML feldolgozás (DOM, SAX)
- keretrendszerek szerepe, jellemzői – Struts2 keretrendszer
7. MVC elv, és ennek érvényesítése web-alkalmazások készítése során	

V. Könyvészet
1.Boian F.M. Programare distribuita în Internet; metode si aplicatii. Ed. Albastra, Microinformatica, Cluj, 2005
2. Boian F.M. Boian R.F. Tehnologii fundamentale Java pentru aplicatii Web. Ed. Albastra, Microinformatica, Cluj, 2005
3. Marty Hall and Larry Brown, Core Web Programming, Sec. Ed. Prentice Hall, 2001
4. Marty Hall and Larry Brown, Core Servlets and JavaServer Pages, Sun Microsystems Press, 2004 (Free Online Version of Second Edition - http://pdf.coreservlets.com/)

5. *** http://www.w3schools.com
6. *** PHP Manual - http://www.php.net/manual/en/index.php
7. *** The Java EE 5 Tutorial - http://java.sun.com/javaee/5/docs/tutorial/doc/	

VI. Az oktatói tevékenység heti tematikája
Előadás
1. hét
Bevezetés:
- A web
•	története, komponensei
•	kliens-szerver architektúra
•	különbség statikus illetve dinamikus HTML oldal lekérése között
Alapfogalmak:
•	URL
•	HTTP protokoll
Kliens- illetve szerver oldali technológiák
•	áttekintés, általános jellemzők
2. hét
Statikus HTML/XHTML oldalak
•	történet, felépítés
3. hét
Egymásba ágyazható stíluslapok (CSS)
4. hét
Kliens oldali script nyelvek – JavaScript
•	HTML Document Object Model (DOM)
•	JavaScript
5. hét
Szerver oldali technológiák- PHP
•	Szerver oldali script nyelvek jellemzői
•	PHP
o	Általános jellemzők 
o	Formkezelés, állománykezelés, adatbázis-hozzáférés
o	Sütik (cookie) használata, szessziókövetés
6-7. hét
Java Web-technológiák-beveztés
•	MVC elv 
o	általánosan
o	különbség desktop- illetve Web-alkalmazásban való használata között
o	alkalmazása Java alapú Web-alkalmazások esetén
o	(áttekintés a JSP-ről szóló kurzusban)
•	J2EE (lényeg: Web-alkalmazásokkal kapcsolatos rész)
o	J2EE alkalmazás elkészítésének fázisai
o	Többrétegű J2EE Web-alkalmazások
o	Web-kliens
o	Web-komponensek
o	Konténer típusok
•	JavaBean-ek (JSP-ről szóló kurzusban is szerepel) 
•	Java alapú Web-alkalmazások
o	Web-alkalmazás életciklusa (elkészítés fázisai)
o	Web-modul (Web-alkalmazás) szerkezete
8. hét
Java servlet technológia
•	Mikor/mire használjuk
•	Életciklusa
•	Nyilvános hatókörű objektumok (public scope objects)
•	Service metódusok
•	Servlet map-elés web.xml-ben
•	Kliens-állapot megőrzése (szessziókövetés)
•	Kérés/válasz szűrése
•	Más web-erőforrás hívása (include, forward)
9. hét
JSP technológia
•	JSP életciklusa
•	Szkript elemek
•	Implicit objektumok
•	(Bean-ek ismét, illetve ezek használata JSP oldalon)
•	Kifejezés nyelv (Expression language)
•	include direktíva, illetve jsp:include, jsp:forward elemek
10-11. hét
JSP elemkönyvtárak
•	Saját elemkönyvtárak (custom tags)
o	Előnyei
o	Fejlesztése
•	Saját elem definiálása
•	Könyvtárleíró létrehozása
•	Saját elem használata
•	JSP standard elemkönyvtár (JSTL)
o	Alap elemkönyvtár
o	Nemzetköziesítés
12. hét
JDBC adatbázis-hozzáférés
•	Kapcsolat objektum lekérésének módjai
•	SQL parancsok küldése
•	Válasz feldolgozása
•	Tranzakciók
Megj.: hangsúly a web-alkalmazás specifikus problémákon
13. hét
XML feldolgozás
•	XML oldal felépítése
•	XML feldolgozók (DOM, SAX)
14. hét
Struts2 keretrendszer
•	Keretrendszerek szerepe, jellemzői
•	Struts2 keretrendszer
o	Action osztály
o	Interceptorok
o	OGNL
Laborgyakorlat-témák:
1-2. Statikus HTML oldal + stílusállomány használata (CSS) 
3-4. HTML Form + JavaScript 
5-6. PHP 
7. Servlet technológia 
8. JSP technológia 
9. JSP Elemkönyvtárak 
10. JDBC adatbázis hozzáférés 
11. XML 
12. Egyéni projekt
13-14. Projekt bemutatása      
Egyéb információk a tantárgy honlapján: www.cs.ubbcluj.ro/~laura/webprg	

VII. Alkalmazott didaktikai módszerek
-	Vetítés, gyakorlati példákon keresztül történő szemléltetés, ezek megbeszélése
-	Gyakorlatok, házi feladatok, fakultatív pluszfeladatok, egyéni projekt	

VIII. Értékelés
A végső jegyet az (összegyűjtött összpontszám)/10 adja, ahol 
az összegyűjtött összpontszám a következőt jelenti: 
A végső jegy kiszámításánál figyelembe vett pontokat három különböző módon lehet összegyűjteni: 
1.	elméleti vizsga: max. 20 pont 
2.	projekt: a követelményeknek való maximális megfelelés esetén 60 pont (illetve további pluszpontokat lehet szerezni)
3.	az évközi tevékenység során összegyűjtött pontszámból (laborházik, kurzuson szerzett pontok, pluszpontok), ami 80% fölött van, az hozzászámít a végső jegyhez (1% 1 vizsga-pontnak felel meg)
Részletek az alábbi címen:
http://www.cs.ubbcluj.ro/~laura/webprg/olvass_el.htm	

IX. Kiegészítő könyvészet
*** http://struts.apache.org/2.x/, Struts2 home page
*** http://java.sun.com/javaee/javaserverfaces/, JavaServer Faces Technology	

	Dékán,						Tanszékvezető,

	Dátum,						Előadás felelőse,
	2008. okt. 28						Dr.  RUFF Laura Ildikó, adjunktus