„A programozás alapjai III.” változatai közötti eltérés

A VIK Wikiből
a broken links
a Házi: 2025/26/1: Csak Swing lehet, JavaFX nem
 
41. sor: 41. sor:
=== Előadások ===
=== Előadások ===
* '''2020''':
* '''2020''':
** [[Media:Prog3_1_eloadas_2020.pdf | 1. előadás - Alapok]]
** [[Média:Prog3 1 eloadas 2020.pdf| 1. előadás - Alapok]]
** [[Media:Prog3_2_eloadas_2020.pdf | 2. előadás - Input/Output]]
** [[Média:Prog3 2 eloadas 2020.pdf| 2. előadás - Input/Output]]
** [[Media:Prog3_3_eloadas_2020.pdf | 3. előadás - Kollekciók]]
** [[Média:Prog3 3 eloadas 2020.pdf| 3. előadás - Kollekciók]]
** [[Media:Prog3_4_eloadas_2020.pdf | 4. előadás - Utility osztályok]]
** [[Média:Prog3 4 eloadas 2020.pdf| 4. előadás - Utility osztályok]]
** [[Media:Prog3_5_eloadas_2020.pdf | 5. előadás - Szálkezelés]]
** [[Média:Prog3 5 eloadas 2020.pdf| 5. előadás - Szálkezelés]]
** [[Media:Prog3_6_eloadas_2020.pdf | 6. előadás - Swing környezet 1]]
** [[Média:Prog3 6 eloadas 2020.pdf| 6. előadás - Swing környezet 1]]
** [[Media:Prog3_7_eloadas_2020.pdf | 7. előadás - Swing környezet 2]]
** [[Média:Prog3 7 eloadas 2020.pdf| 7. előadás - Swing környezet 2]]
** [[Media:Prog3_8_eloadas_2020.pdf | 8. előadás - Tesztelés (JUnit)]]
** [[Média:Prog3 8 eloadas 2020.pdf| 8. előadás - Tesztelés (JUnit)]]
** [[Media:Prog3_9_eloadas_2020.pdf | 9. előadás - XML feldolgozás]]
** [[Média:Prog3 9 eloadas 2020.pdf| 9. előadás - XML feldolgozás]]
** [[Media:Prog3_10_eloadas_2020.pdf | 10. előadás - Lambda]]
** [[Média:Prog3 10 eloadas 2020.pdf| 10. előadás - Lambda]]
** [[Media:Prog3_11_eloadas_2020.pdf | 11. előadás - Java Streamek]]
** [[Média:Prog3 11 eloadas 2020.pdf| 11. előadás - Java Streamek]]


== KZH ==
== KZH ==
* [[Media:prog3_igazhamis_2017.pdf|Igaz-hamis feladatgyűjtemény a KZH-khoz]]
* [[Média:Prog3 igazhamis 2017.pdf|Igaz-hamis feladatgyűjtemény a KZH-khoz]]




107. sor: 107. sor:


'''Követelmények:'''
'''Követelmények:'''
* Swing vagy JavaFX alapú GUI
* Swing GUI (Java FX nem)
** Menü használata és
** Menü használata és
*** vagy JTable, JTree, JComboBox (vagy hasonló bonyolultságű widget) valamelyikének alkalmazása
*** vagy JTable, JTree, JComboBox (vagy hasonló bonyolultságű widget) valamelyikének alkalmazása

A lap jelenlegi, 2025. október 20., 11:14-kori változata

A programozás alapjai 3
Tárgykód
VIIIAB00
Általános infók
Szak
info
Kredit
5
Ajánlott félév
3
Keresztfélév
nincs
Tanszék
IIT
Követelmények
Labor
14 db
KisZH
6 db
NagyZH
nincs
Házi feladat
1 nagyházi
Vizsga
nincs
Elérhetőségek
A programozás alapjai oldal több tárgyhoz is tartozhat. Ha nem vagy biztos a választásodban, nézd meg az egyértelműsítő lapot!


Követelmények

Előtanulmányi rend

A szorgalmi időszakban

  • Kis ZH: A 6 kisZH-ból a legjobb 4 kisZH pontszámából számított átlagnak legalább 2.00-nak kell lennie (egyenként max. 5 pont szerezhető).
  • Nagy házi feladat: Egy egyszerű GUI-s Java program elkészítése a kiírásnak megfelelően.
  • Laborok: 70%-án jelen kell lenni és a kiadott feladatok egy részét kötelezően meg kell csinálni. Ha a kötelezőeket nem csinálod meg mind, az hiányzásnak számít. A heti laborfeladatok az azt megelőző hétvégén felkerülnek a tárgyhonlapra.

Pótlási lehetőségek

  • A kis ZH-k nem pótolhatók, de mivel a jegybe 2 KZH eredménye nem számít bele, azt a két alkalmat használhatod jobb eredmény elérésére.
  • A laboralkalmak nem pótolhatók.
  • A nagy házit a pótlási hét végéig, különeljárási díj mellett lehet pótolni, de csak akkor, ha az utolsó hetekben tartott bemutatáson már valamennyire kész van a programod és csak kisebb javítások szükségesek.

Jegy

  • A jegy a legjobb négy KZH pontjának átlagából adódik. Ha ez az átlag nem egész szám lenne, a kerekítést a laborvezető a laborokon végzett munkád alapján végzi.

Segédanyagok

Előadások

KZH


Régebbi anyagok

2016-os előadásdiák

2017-es előadásdiák

Ezek a segédanyagok a régi tárgyhoz készültek, de többé-kevésbé használhatóak még most is.

Házi

A félév során egy nagy házit kell készíteni, amit mindenki magának talál ki.

Követelmények:

  • Swing GUI (Java FX nem)
    • Menü használata és
      • vagy JTable, JTree, JComboBox (vagy hasonló bonyolultságű widget) valamelyikének alkalmazása
      • vagy alacsonyszintű grafikai rutinok (Graphics osztály) használata
  • Gyűjtemény keretrendszer alkalmazása
  • Fájlba írás, fájlból olvasás valamilyen fajta standard I/O (szerializálás, XML feldolgozás, JSON) segítségével
  • Tesztelés-támogatás (JUnit)
    • Legalább 3 osztály összesen 10 metódusának tesztelése.

Házi ötletek:

  • ötletgyűjtemény (Dr. Salvi Péter)
  • CD, DVD, bakelit nyilvántartó program
  • Telefonkönyv plusz infókkal (lakcím, facebook azonosító, stb)
  • Fájlrendszerben mászkáló, megjelenítő program (haladóknak)
  • Aknakereső valami extrával, a toplista vagy a pálya lementhető
  • Snake multiplayer
  • Életjáték (Conway's Game Of Life)
  • Chatprogram
  • Naptár
  • Egyszerűbb fájlkezelő
  • Táblázatkezelő (miniExcel)

Amire a feladat kitalálása során figyelni kell, hogy próbáljuk elkerülni a kevés (2-3) osztályból és pusztán egy-két nagy számolásból, algoritmusból álló feladatokat. Most a cél az, hogy komplexebb, objektum-orientáltabb megoldást kelljen készíteni. Pl. a sejtautomatás feladatnál lépjünk túl a klasszikus egyszerű automatán, és lehessen speciális szabályokat definiálni, lehessen akár a geometriát is konfigurálni (pl. nem csak négyzetrács, hanem hatszög vagy akár komplexebb felület, mint pl. egy klasszikus 5-6-szöges focilabda). Nem szerencsés, ha a feladatunk megvalósítása érdemben egy nagy 2 dimenziós egész tömbből és az ezen elvégzett algoritmusok 1-2 metódusban történő implementálásából áll csak (pl. minesweeper klasszikus változata most már kevés lesz).


Bevezetők
1. félév
2. félév
3. félév
4. félév
5. félév
6. félév
7. félév