„A programozás alapjai III.” változatai közötti eltérés
Nincs szerkesztési összefoglaló |
|||
(24 közbenső módosítás, amit 11 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 = | | 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/ | | tárgyhonlap = https://www.iit.bme.hu/oktatas/tanszeki_targyak/BMEVIIIAB00 | ||
}} | }} | ||
{{Egyértelműsítő|programozás alapjai|A programozás alapjai (egyértelműsítő lap)}} | |||
== 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. | |||
A | === A szorgalmi időszakban === | ||
* a legjobb 4 | * '''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. | ||
* a | * '''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 | === 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:Java | === Előadások === | ||
[[ | * '''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]] | |||
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 | 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)] | |||
* 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 | * Snake multiplayer | ||
* Életjáték (Conway's Game Of Life) | * Életjáték (Conway's Game Of Life) | ||
48. sor: | 128. 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). | |||
{{Lábléc_-_Mérnök_informatikus_alapszak_2014}} | {{Lábléc_-_Mérnök_informatikus_alapszak_2014}} |
A lap jelenlegi, 2024. június 21., 14:15-kori változata
- 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 programozás alapjai 2 tárgyból kredit megszerzése szükséges a tárgy felvételéhez.
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
- 2020:
KZH
2016-os előadásdiák
- Java language basics
- Java input/output
- Java serialization
- Java collections
- Java utilities
- Multithreading in Java
- Java and UML
- Java GUI and SWING
- Java GUI and SWING
- Unit tests in Java: JUnit
- XML handling in Java
- Logging
- Reflection, interfaces and lambda
- Java Enterprise Edition
2017-es előadásdiák
- Alapok
- I/O
- Kollekciók
- Utility
- Szálkezelés
- UML modellezés
- Swing 1
- Swing 2
- Tesztelés
- XML feldolgozás
- Naplózás
- Reflection és lambda
- Enterprise java alapok
Ezek a segédanyagok a régi tárgyhoz készültek, de többé-kevésbé használhatóak még most is.
- Közösen szerkeszthető Google-doksi - nem hibátlan, egészítsd és javítsd ki Te is!
- Czirják Zoltán Java-anyagai
- Bounded Type Parameters - Oracle Java tutorial kötött dzsókerekröl
- Java Language Keywords - Oracle Java tutorial a kulcsszavakról (pl. delete nincs benne, tehát használható változónévként)
- Controlling Access to Members of a Class - Oracle Java tutorial
- 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
- Java összefoglaló - AUT tanszékről, Android alapú szoftverfejlesztés c. tárgy Java gyorstalpalója
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
- Menü használata és
- 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 |