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. 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	Magyar Matematika és Informatika	*			
Bócsi Botond Attila	Drd.	doktorandusz	Magyar Matematika és Informatika			*	

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, MIME szabvány, 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
- 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ő

10. ASP.NET – ismertető	

V. Könyvészet
1. Robert W. Sebesta, Programming the World Wide Web, 6/E, Addison-Wesley, 2011  
2. Antal Margit, Java alapú webtechnológiák (Java Web Programming), Cluj-Napoca, Scientia, 2009 
3. Boian F. M., Programare distribuită în Internet; metode si aplicații. Ed. Albastră, Microinformatica, Cluj, 2005
4. Boian F. M., Boian R. F., Tehnologii fundamentale Java pentru aplicații Web. Ed. Albastră, Microinformatica, Cluj, 2005
5. Marty Hall and Larry Brown, Core Web Programming, Sec. Ed. Prentice Hall, 2001
6. Marty Hall and Larry Brown, Core Servlets and JavaServer Pages, Sun Microsystems Press, 2004 (Free Online Version of Second Edition - http://pdf.coreservlets.com/)

7. W3Schools Online Web Tutorials, http://www.w3schools.com
8. PHP hivatalos oldala - http://www.php.net
9. Java EE - http://docs.oracle.com/javaee/

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
MIME típusok
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
Egymásba ágyazható stíluslapok (CSS)
3. hét
Kliens oldali script nyelvek - JavaScript
HTML Document Object Model (DOM)
JavaScript

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

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

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

7. 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
8-9. hét
JSP elemkönyvtárak
JSP standard elemkönyvtár (JSTL)
Alap elemkönyvtár
Nemzetköziesítés
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

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

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

12. hét
Struts2 keretrendszer
Keretrendszerek szerepe, jellemzői
Struts2 keretrendszer
Action osztály
Interceptorok
OGNL

13. hét
RIA (Rich Internet Application) alkalmazások
Általános ismertető
Adobe-Flex keretrendszer

14. hét
ASP.NET – ismertető

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: http://canvas.infooktatas.ro/courses/13	

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 a tantárgy honlapján: http://canvas.infooktatas.ro/courses/13	

IX. Kiegészítő könyvészet
Struts2 home page - http://struts.apache.org/2.x/ 
JavaServer Faces Technology - http://www.oracle.com/technetwork/java/javaee/javaserverfaces-139869.html	

	Dékán,						Tanszékvezető,

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