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+P	Kategória	Típus	
5	2+0+2+1	szaktárgy	kötelező	

II. Foá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	*			
Jakab Hunor	Drd.	doktorandusz	Programozási Nyelvek és Módszerek			*	

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. Aszinkron kommunkáció a kliens és szerver között - AJAX technológia

6. Szerver oldali technológiák- PHP 

7. 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

8. MVC elv, és ennek érvényesítése web-alkalmazások készítése során 

9. RIA (Rich Internet Application) alkalmazások - ismertető	

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
Általános jellemzők 
Formkezelés, állománykezelés, adatbázis-hozzáférés
Sütik (cookie) használata, szessziókövetés
6. hét
AJAX technológia
Aszinkron kommunikáció kliens és szerver között – alternatívák
AJAX technológia működése
AJAX keretrendszerek
7. hét
Java Web-technológiák-beveztés
MVC elv 
általánosan
különbség desktop- illetve Web-alkalmazásban való használata között
alkalmazása Java alapú Web-alkalmazások esetén
(áttekintés a JSP-ről szóló kurzusban)
Java EE (lényeg: Web-alkalmazásokkal kapcsolatos rész)
Java EE alkalmazás elkészítésének fázisai
Többrétegű Java EE Web-alkalmazások
Web-kliens
Web-komponensek
Konténer típusok
JavaBean-ek (JSP-ről szóló kurzusban is szerepel) 
Java alapú Web-alkalmazások
Web-alkalmazás életciklusa (elkészítés fázisai)
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)
Előnyei
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)
Alap elemkönyvtár
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
XML feldolgozás
XML oldal felépítése
XML feldolgozók (DOM, SAX)
13. hét
Struts2 keretrendszer
Keretrendszerek szerepe, jellemzői
Struts2 keretrendszer
Action osztály
Interceptorok
OGNL
14. hét
RIA (Rich Internet Application) alkalmazások
Általános ismertető
Adobe-Flex keretrendszer
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. AJAX technológia 
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. 40 pont 
2.	projekt: a követelményeknek való maximális megfelelés esetén 40 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,
	2010. okt. 2.						Dr.  RUFF Laura Ildikó, adjunktus