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

A VIK Wikiből
Ugrás a navigációhoz Ugrás a kereséshez
(Visszavontam Salamon Krisztián (vita | szerkesztései) szerkesztését (oldid: 190472))
(19 közbenső módosítás, amit 9 másik szerkesztő végzett, nincs mutatva)
5. sor: 5. sor:
 
| kredit = 5
 
| kredit = 5
 
| félév = 3
 
| félév = 3
| kereszt =  
+
| kereszt = nincs
 
| tanszék = IIT
 
| tanszék = IIT
 
| jelenlét =  
 
| jelenlét =  
 
| minmunka =  
 
| minmunka =  
| labor = van
+
| labor = 14 db
 
| kiszh = 6 db
 
| kiszh = 6 db
 
| nagyzh = nincs
 
| nagyzh = nincs
16. sor: 16. sor:
 
| levlista =  
 
| levlista =  
 
| tad = https://portal.vik.bme.hu/kepzes/targyak/VIIIAB00
 
| tad = https://portal.vik.bme.hu/kepzes/targyak/VIIIAB00
| tárgyhonlap = https://www.iit.bme.hu/~prog3
+
| tárgyhonlap = https://www.iit.bme.hu/oktatas/tanszeki_targyak/BMEVIIIAB00
 
}}
 
}}
  
 
== Követelmények ==
 
== Követelmények ==
'''Előtanulmányi rend:''' [[A programozás alapjai 2]] tárgyból kredit megszerzése szükséges a tárgy felvételéhez.
+
=== Előtanulmányi rend ===
 +
* [[A programozás alapjai 2]] tárgyból kredit megszerzése szükséges a tárgy felvételéhez.
  
A félév elismerést jelentő félévközi jegy megszerzésére a következők együttes teljesülésekor van lehetőség:
+
=== A szorgalmi időszakban ===
* a legjobb 4 ellenőrző dolgozat átlaga legalább 2,00, és
+
* '''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ő).
* a nagy házi feladat a kiírás szerint elkészült, a laborvezető személyesen átvette, ellenőrizte és elfogadta a hiánytalan dokumentációt és az elkészített programot, melyet együtt ki is próbáltak,
+
* '''Nagy házi feladat:''' Egy egyszerű GUI-s Java program elkészítése a kiírásnak megfelelően.
* a hallgató a programozási laborgyakorlatokat rendszeresen látogatta (hiányzása nem haladja meg a TVSz szerint megengedett 30%-os mértéket).
+
* '''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.
  
A félévközi jegy kiszámításának módja a következő: A 4 legjobb ellenőrző dolgozat pontszámának átlaga  határozza meg a jegyet, amelynek a kerekítése a laborvezető a hallgató laborgyakorlatokon tanúsított felkészültsége, teljesítménye és aktivitása alapján történik.
+
=== 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 ==
 
== Segédanyagok ==
[[Media:Szoftverfejlesztés Java SE platformon.pdf|Kövesdán Gábor - Szoftverfejlesztés Java SE platformon]]
 
  
[[Media:Java programozás.pdf|Nagy Gusztáv - Java programozás]]
+
=== Előadások ===
[[Szoftvertechnológia#Java]] <!-- majd el kell dönteni, hogy átemeljük-e ide -->
+
* '''2020''':
 +
** [[Media:Prog3_1_eloadas_2020.pdf | 1. előadás - Alapok]]
 +
** [[Media:Prog3_2_eloadas_2020.pdf | 2. előadás - Input/Output]]
 +
** [[Media:Prog3_3_eloadas_2020.pdf | 3. előadás - Kollekciók]]
 +
** [[Media: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]]
 +
** [[Media: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]]
 +
** [[Media: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]]
 +
** [[Media:Prog3_10_eloadas_2020.pdf | 10. előadás - Lambda]]
 +
** [[Media:Prog3_11_eloadas_2020.pdf | 11. előadás - Java Streamek]]
 +
 
 +
== KZH ==
 +
* [[Media:prog3_igazhamis_2017.pdf|Igaz-hamis feladatgyűjtemény a KZH-khoz]]
 +
 
 +
 
 +
{{Rejtett
 +
|mutatott='''Régebbi anyagok'''
 +
|szöveg=
 +
 
 +
''' 2016-os előadásdiák '''
 +
* [[Media:prog3_dia_2016_1.pdf|Java language basics]]
 +
* [[Media:prog3_dia_2016_2.pdf|Java input/output]]
 +
* [[Media:prog3_dia_2016_3.pdf|Java serialization]]
 +
* [[Media:prog3_dia_2016_4.pdf|Java collections]]
 +
* [[Media:prog3_dia_2016_5.pdf|Java utilities]]
 +
* [[Media:prog3_dia_2016_6.pdf|Multithreading in Java]]
 +
* [[Media:prog3_dia_2016_7.pdf|Java and UML]]
 +
* [[Media:prog3_dia_2016_8.pdf|Java GUI and SWING]]
 +
* [[Media:prog3_dia_2016_9.pdf|Java GUI and SWING]]
 +
* [[Media:prog3_dia_2016_10.pdf|Unit tests in Java: JUnit]]
 +
* [[Media:prog3_dia_2016_11.pdf|XML handling in Java ]]
 +
* [[Media:prog3_dia_2016_12.pdf|Logging]]
 +
* [[Media:prog3_dia_2016_13.pdf|Reflection, interfaces and lambda]]
 +
* [[Media:prog3_dia_2016_14.pdf|Java Enterprise Edition]]
 +
 
 +
''' 2017-es előadásdiák '''
 +
* [[Media:prog3_dia_2017_1.pdf|Alapok]]
 +
* [[Media:prog3_dia_2017_2.pdf|I/O]]
 +
* [[Media:prog3_dia_2017_3.pdf|Kollekciók]]
 +
* [[Media:prog3_dia_2017_4.pdf|Utility]]
 +
* [[Media:prog3_dia_2017_5.pdf|Szálkezelés]]
 +
* [[Media:prog3_dia_2017_6.pdf|UML modellezés]]
 +
* [[Media:prog3_dia_2017_7.pdf|Swing 1]]
 +
* [[Media:prog3_dia_2017_8.pdf|Swing 2]]
 +
* [[Media:prog3_dia_2017_9.pdf|Tesztelés]]
 +
* [[Media:prog3_dia_2017_10.pdf|XML feldolgozás]]
 +
* [[Media:prog3_dia_2017_11.pdf|Naplózás]]
 +
* [[Media:prog3_dia_2017_12.pdf|Reflection és lambda]]
 +
* [[Media:prog3_dia_2017_13.pdf|Enterprise java alapok]]
  
== KisZH-k, beugró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.
 +
* [https://docs.google.com/document/d/1wfXi3eqx_KPbbc2LHxP5_dqQ75gaZou6gEknFETEdck/edit '''Közösen szerkeszthető''' Google-doksi] - nem hibátlan, egészítsd és javítsd ki Te is!
 +
* [https://sites.google.com/site/czirjakzoltan91/programozas/java Czirják Zoltán Java-anyagai]
 +
* [http://docs.oracle.com/javase/tutorial/java/generics/bounded.html Bounded Type Parameters] - Oracle Java tutorial kötött dzsókerekröl
 +
* [http://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html Java Language Keywords] - Oracle Java tutorial a kulcsszavakról (pl. delete nincs benne, tehát használható változónévként)
 +
* [http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html Controlling Access to Members of a Class] - Oracle Java tutorial
 +
* [[Szofttech_Java_igaz-hamis | '''Kikérdező''']] - igaz-hamis kérdések tesztje Java témakörből, 2000. december 19. és 2014. január 21. közötti összes vizsga átnézve, minden igaz-hamis beválogatva; az A-B-C-D-E jellegű Java kérdések tagmondatai is benne vannak, csak igaz/hamis válaszlehetőségekkel
 +
* [[Media:JavaIntro_v3.pdf |  '''Java összefoglaló''']] - AUT tanszékről, Android alapú szoftverfejlesztés c. tárgy Java gyorstalpalója
 +
 
 +
}}
  
 
== Házi ==
 
== Házi ==
A félév során egy nagy házit kell írni, amit mindenki magának talál ki. Elvárás, hogy használjon Swing alapú GUI-t, valamilyen Collectiont (List, Set, Map, etc.), legyen benne szerializálható adat és tesztelés-támogatás (JUnit).
+
A félév során egy nagy házit kell készíteni, amit mindenki magának talál ki.
  
Házi ötletek:
+
'''Követelmények:'''
* Aknakereső, a toplista vagy a pálya lementhető
+
* Swing vagy JavaFX alapú GUI
 +
** 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:'''
 +
* [https://nagyhfotletek.wordpress.com/blog-feed/ ötletgyűjtemény (Dr. Salvi Péter)]
 +
* Aknakereső valami extrával, a toplista vagy a pálya lementhető
 
* Snake multiplayer
 
* Snake multiplayer
 
* Életjáték (Conway's Game Of Life)
 
* Életjáték (Conway's Game Of Life)
48. sor: 124. sor:
 
* Egyszerűbb fájlkezelő
 
* Egyszerűbb fájlkezelő
 
* Táblázatkezelő (miniExcel)
 
* 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).
== Tippek ==
 
 
== Kedvcsináló ==
 
  
 
{{Lábléc_-_Mérnök_informatikus_alapszak_2014}}
 
{{Lábléc_-_Mérnök_informatikus_alapszak_2014}}

A lap 2022. december 22., 08:41-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


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 vagy JavaFX alapú GUI
    • 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)
  • 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