Reflexjáték tipikus funkciói

Grafikus felhasználói felülettel rendelkező reflexjátékot tervezünk, fejlesztünk, tesztelünk. Objektumorientált programozást használunk: öröklődéssel egyedi grafikus komponens készül Java swing keretrendszerben. A játékmenetet képernyőképek mutatják be. Tipikus funkciók: időmérés, rácsos elrendezés, fokozatos nehezítés a rács felosztásának változtatásával, különböző színek előállítása véletlenszerűen, elért eredmények megjelenítése, újrakezdés lehetőségének biztosítása.

A Reflexjáték játékmenete képekben

 

A bejegyzéshez tartozó teljes forráskódot ILIAS e-learning tananyagban tesszük elérhetővé tanfolyamaink résztvevői számára.

Ez a feladat a Java SE szoftverfejlesztő tanfolyam szakmai moduljának 17-28: Objektumorientált programozás alkalmaihoz, a 29-36. óra Grafikus felhasználói felület alkalmaihoz, valamint minden tanfolyamunk orientáló moduljának 1-4. óra: Programozási tételek alkalmához kapcsolódik.

A grafikus felületek felépítésének megismerése fontos lépcső az objektumorientált programozás elmélyítéséhez, gyakorlásához. A grafikus felületekhez egy másik lényeges szemléletváltás is kapcsolódik, hiszen a korábbi algoritmusvezérelt megközelítést felváltja az eseményvezérelt (eseménykezelés). A játékprogramok és oktatóprogramok kiválóan használhatók ennek megértéséhez.

Határozott integrál oktatóprogram

Feladatspecifikáció

A határozott integrál alsó és felső közelítő (Darboux) összeg megértését kell saját fejlesztésű Java oktatóprogrammal támogatni!

Legyen adott az x2 függvény a [0, 1] zárt intervallumon úgy, hogy az x és y tengely beosztása megegyező legyen 3 egymás mellett koordináta-rendszeren. Segítsünk belátni, hogy a görbe alatti terület nagysága egyharmad egység. A tengelyek legyenek feketék, a függvénygörbe kék, a közelítő és hiba téglalapok pirosak. Legyen adott egy csúszka komponens, amiben az intervallum felosztása (n) állítható 1-től 100-ig. Például, ha n=10, akkor az ábrákon jelenjen meg a 10 alsó összeget ábrázoló téglalap, a 10 felső összeget ábrázoló téglalap, az 10 közelítési hibát ábrázoló téglalap, valamint ezek területeinek összege.

Ahogy n növekszik, láttatni kell, hogy:

  • a téglalapok a függvénygörbéhez simulnak,
  • az alsó összeg növekszik,
  • a felső összeg csökken,
  • mindkét közelítő összeg egyharmadhoz tart,
  • a hiba 0-hoz tart.

Képernyőképek

A feladatspecifikációnak megfelelően minden megjelenik az elkészült Java program grafikus felhasználói felületén. Az alábbi képernyőkép az n=10 esetben kevésbé pontos közelítést ábrázol:

A következő ábra már pontosabb közelítést mutat az osztópontok számának 30-ra növelésével:

A programmal jól szemléltethető, hogyan konvergál az alsó közelítő összeg balról, a felső közelítő összeg pedig jobbról egyharmadhoz; illetve az is, hogy a felbontás finomságának növelésével a hiba nullához tart.

A bejegyzéshez tartozó teljes forráskódot ILIAS e-learning tananyagban tesszük elérhetővé tanfolyamaink résztvevői számára.

Ez a feladat a Java SE szoftverfejlesztő tanfolyam szakmai moduljának 5-8. óra: Vezérlési szerkezetek, illetve 9-12. óra: Metódusok, rekurzió alkalmához, a 29-36. óra Grafikus felhasználói felület alkalmaihoz, valamint minden tanfolyamunk orientáló moduljának 1-4. óra: Programozási tételek alkalmához kapcsolódik.

A grafikus felületek felépítésének megismerése fontos lépcső az objektumorientált programozás elmélyítéséhez, gyakorlásához. A grafikus felületekhez egy másik lényeges szemléletváltás is kapcsolódik, hiszen a korábbi algoritmusvezérelt megközelítést felváltja az eseményvezérelt (eseménykezelés).

Egyedi grafikus komponens fejlesztése

Az objektumorientált programozás három pilléren nyugszik: egységbezárás, öröklődés, polimorfizmus. Most az öröklődésre fókuszálunk. Ezzel valósul meg az egyedi grafikus komponens fejlesztése.

Elméleti háttér

Öröklődés (inheritance, extension) során a már meglévő ősosztály tulajdonságait bővíthetjük, újabb metódusokkal egészíthetjük ki, felüldefiniálhatjuk meglévő metódusait, így létrehozva az utódosztályt. Az öröklés meglévő osztály tovább­fejlesztése. Az öröklés kapcsolat a meglévő (ősosztály) és a leszármaztatott (utódosztály) között. Egy ősből több (korlátlan mennyiségű) utód is létrehozha­tó. Az öröklés tranzitív, az osztályhierarchia mélysége tetszőleges. Az ősosztály nem tud arról, hogy van(nak)-e utódosztálya(i). Az utódosztály(ok) tudják, hogy melyik osztályból származnak. Az öröklés osztályok közötti kapcsolat, ősosztály és utódosztály van, de ősobjektum és utódobjektum nincs! Az utód valamilyen szempontból mindig más, mint az ős, eltér attól, specializált.

Öröklődés során kétféle mód közül választhatunk:

  • specializálás során egy dolog (objektum) leírásához (osztályához) új, egyedi jellemzőket adunk hozzá,
  • általánosítás során több dolog (objektum) leírásából (osztályaikból) kiemeljük a közös jellemzőket.

A jellemzők lehetnek tulajdonságok, adatok, adattagok, illetve viselkedés, metó­dusok is. Az osztály deklarációinak láthatóságaira most nem térünk ki, bővebben lásd: Programozás Java nyelven könyv – új, 2022-es kiadás.

Ha nem nevezzük meg az új osztály ősosztályát, akkor a Java nyelvben az Object osztály lesz az ős (implicit ős). A Java nyelv egyszeres öröklést támo­gat, azaz egy utódosztálynak csak egyetlen közvetlen ősosztálya lehet. A több­szörös öröklés a Java nyelvben interfészek alkalmazásával valósítható meg.

A Java nyelvben az utódosztály nevét követő extends kulcsszó utal az örök­lésre ( public class UtodOsztaly extends OsOsztaly {...}), tehát az OsOsztaly-ból származik az UtodOsztaly, másképpen az OsOsztaly-nak kiterjesztése az UtodOsztaly.

Az osztályok közötti öröklési kapcsolatot UML-ben folytonos vonalból álló nyíl­lal jelöljük. A nyíl vége üres háromszög. A nyíl mindig az utódosztálytól mutat az ősosztály felé. Az osztályok közötti öröklési kapcsolatot (és csak azt) bemu­tató UML ábrát osztályhierarchia diagramnak nevezzük.

Feladat

Egyszerű módszer van arra, hogy az 2, 3, …, N természetes számok közül „kiszitáljuk” a nem prímeket. Írjuk fel sorban e számokat, és húzzuk át először a párosakat, vagyis 2 összes többszöröseit, majd a legkisebb megmaradt szám összes többszöröseit, és így tovább. Ha ezt addig folytatjuk, míg a legkisebb megmaradt szám nem éri el y/N-t, csak a [y/N, N] intervallumban lévő prímszámok maradnak áthúzatlanul. Ez az eljárás/módszer az Eratoszthenész szitája.

Öröklődés segítségével fejlesszünk olyan Java programot, amely grafikus felhasználói felülettel rendelkezik és bemutatja az Eratoszthenész szitája algoritmus működését. Ez matematikai oktatóprogram elkészítését jelenti. Az N legyen kiválasztható egy listából. A megoldás mutassa be prímszita működését az N=64 esetre.

Megoldás

 

Az öröklődés saját Panel osztály segítségével valósul meg. A Panel osztály őse a javax.swing keretrendszerben/csomagban beépített JPanel osztály. Az ősosztály testre szabása a feladat igényeihez kapcsolódóan történik. Ezek az igények kétféle csoportba sorolhatók: egyrészt a működéshez kötődő igények (eseménykezelés, vezérlés), másrészt a megjelenítéshez kötődő igények (rajzolás, színezés). A két igénycsoport közös eleme az állapotkövetés.

A bejegyzéshez tartozó teljes forráskódot ILIAS e-learning tananyagban tesszük elérhetővé tanfolyamaink résztvevői számára.

Ez a feladat a Java SE szoftverfejlesztő tanfolyam szakmai moduljának 5-8. óra: Vezérlési szerkezetek, illetve 9-12. óra: Metódusok, rekurzió alkalmához, a 29-36. óra Grafikus felhasználói felület alkalmaihoz, valamint minden tanfolyamunk orientáló moduljának 1-4. óra: Programozási tételek alkalmához kapcsolódik.

Programozási Hét 2024 – CodeWeek.eu

Programozási hét CodeWeek.eu

Programozási hét CodeWeek.eu

Az Európai Programozási Hét idén 2024. október 14-27-ig kerül megrendezésre. Ez egy önkéntesek által működtetett, alulról szerveződő kezdeményezés. Az önkéntesek saját országukban a Programozási Hét nagyköveteként népszerűsítik a programozást. Ehhez nyílt és ingyenes (online és offline) eseményeket hirdetnek meg a CodeWeek.eu weboldalon.

A Programozási Hét célja

  • a programozással való alkotás megünneplése,
  • az emberek felvértezése képességekkel,
  • az emberek összekapcsolása,
  • még több ember érdeklődésének felkeltése a tudomány, a technológia, a mérnöki ismeretek és a matematika iránt.

Miért jó ez az érdeklődőknek/résztvevőknek?

  • A programozás szórakoztató!
  • Programozni kreatív tevékenység! Az emberiség a kezdetektől fogva alkot: agyagból, kőből, téglából, papírból vagy fából. Manapság programozással is alkotunk.
  • A programozás felvértez! Sokkal többre is képesek vagyunk annál, hogy csak fogyasszuk a digitális tartalmat; programozással sokféle dolgot alkothatunk, és azokat milliók számára elérhetővé tehetjük. Létrehozhatunk weboldalakat, játékokat, irányíthatunk egy számítógépet vagy egy robotot.
  • Értsük meg a világot! Manapság egyre több minden össze van kapcsolva. Ha némi rálátásunk van arra, hogy mi történik a színfalak mögött, akkor a világot is jobban megérthetjük.
  • A programozás ötleteket kelt életre és alapvető kompetenciákat fejleszt. Megtanítja nekünk a számítógépes gondolkodást, fejleszti a problémamegoldást, kreativitást, kritikus érvelést, analitikus gondolkodást, valamint csapatmunkára késztet.
  • A programozás alakítja a jövőnket. Manapság a munkahelyek 90%-a digitális készségeket, köztük programozási ismereteket követel a munkavállalóktól.

2015-től veszünk részt az esemény szervezésében, programozást népszerűsítő előadások, laborgyakorlatok meghirdetésével és megtartásával. 2023-ban világszerte 80+ országban 4+ millió érdeklődő résztvevő csatlakozott. Ajánljuk korábbi beszámolóinkat is szakmai blogunkból, lásd: CodeWeek.eu címke.

Meghirdetett eseményeink

2024-ben nyolc it-tanfolyam.hu-s eseményt hirdettünk meg a Programozási Hét 2024 rendezvényen.
Helyszín: 1056 Budapest, Váci utca 47., 3. emelet, megközelítés
Dátum és időpont: 2024. október 26. 9:00-12:00-ig
Az események ingyenesek voltak, de a részvétel előzetes regisztrációhoz kötött.

Rendezvényünk plakátja

A rendezvény jó hangulatban telt, 50+ érdeklődőt vonzott. Többen rendszeresen visszatérő vendégek voltak, például a tavaszi Digitális Témahét, vagy a szeptember végi Kutatók éjszakája rendezvényeinkről. Eltérő belső motivációval érkeztek, ezek kulcsszavakban: kíváncsiság, pályaorientáció, karrierváltás, mesterséges intelligencia, programozási trükkök, robotika. Igazán tartalmasan telt el idén is ez a rendezvényre szánt három óra. Köszönöm oktató kollégáimnak és 2 korábbi hallgatónknak, hogy előadóként részt vettek a Programozási hét 2024 – CodeWeek.eu rendezvényünkön. Prezentációinkat tanfolyamaink hallgatói számára – a témához kapcsolódó témakörökhöz, ILIAS-ra feltöltve – tesszük elérhetővé.

9:00-9:40 – Szegedi Kristóf: Játékprogramok heurisztikáinak elemzése
A tudásalapú rendszerek elméleti alapjaihoz tartoznak a mesterséges intelligencia különböző megoldáskereső módszerei, az állapottér-reprezentáció és a klasszikus keresési stratégiák, heurisztikák. Egy játék állapotait valahogyan nyilvántartjuk egy adatszerkezetben. Lehet, hogy néhány lépést előre kalkulálunk (kiterjesztünk) és ezek elágazásaiból fát (fa adatszerkezet) tudunk építeni. Ezeket hatékonyan karban kell tartani konstrukciós és szelekciós műveletekkel. Heurisztika alapján döntéseket is kell hozni. Vajon melyik állapot a jobb, vagy kevésbé rossz, legalább olyan jó mint ahol járunk? Ki kell értékelni és abba az irányba érdemes haladni, amelyben végül a döntések sokasága igazolja és egyben adja a nyerő stratégiát. Ha ez nem megy, akkor még mindig játszhatunk nem vesztő stratégiával, azaz lehet cél a hosszabb játékmenet, vagy akár a döntetlen állapot is. Az előadás ismertet néhány tipikus problémaszituációt, játékteret leképező reprezentációs gráfbeli navigációt és összehasonlít néhány fabejáró/gráfbejáró stratégiát. A program mindhárom Java tanfolyamunk orientáló moduljához kötődik. Előismeretként feltételezünk némi jártasságot a programozási alapismeretek, programozási tételek, ciklusok, metódusok, tömbök témakörökből.

9:45-10:25 – Kaczur Sándor: Euler állatos feladatának megoldása hatékonyan programozva és geometriai megközelítéssel
Az Euler állatos feladataként ismert matematikai/logikai feladvány megoldási lehetőségeit mutatja be az előadó. Kétféleképpen közelítünk. Az egyik út a programozás eszköztárára és a hatékonyságra fókuszálva, Java nyelven kódolva, konzolos programot fejlesztve, egyre kevesebb lépésben oldja meg a feladatot. A másik út a geometriai megközelítés, amelyet szintén Java nyelven, de már grafikus felhasználói felülettel rendelkező program által, a megoldáshoz fokozatosan közelítve ábrázolja a szükséges lépéseket. A program a Java SE szoftverfejlesztő tanfolyamunk tematikájához kapcsolódik. Előismeretként feltételezünk némi jártasságot programozási ismeretek, programozási tételek, ciklusok, metódusok, tömbök, listák, halmazok, lambda kifejezések, grafikus felhasználói felület témakörökből.

10:30-11:10 – Kiss Balázs: A kognitív robotika szakterülete
Kiindulunk két problémából. Az egyik: az ipari robotok – többnyire a balesetveszély miatt – az emberektől elzárt területeken működnek. A másik: sok algoritmus nagyon erőforrás- és számításigényes. Áttekintjük, milyen együttes megoldások léteznek az említett problémákra. Vajon hogyan kapcsolódik össze ez a két különböző probléma? Mutatunk rájuk néhány példát. Érintjük az ember-robot interakció tipikus lehetőségeit, és az evolúciós robotika határait, lehetőségeit. A gépi tanulásban rejlő potenciálra 3-3 markáns kiváló és téves példát is mutatunk. Tipikus problémaszituációkon keresztül tekintjük át, hogyan érdemes modellezni, tervezni, amikor a kognitív robotika eszköztárával szeretnénk megoldani egy feladatot, problémát – akár KKV szinten is. A program mindhárom Java tanfolyamunk orientáló moduljához kötődik.

11:15-11:55 – Hollós Gábor: Gondolkodjunk logikusan!
Az előadás során áttekintjük az intelligencia, a kreatív problémamegoldó és logikus gondolkodás összefüggéseit és izgalmas feladatokból válogatva közösen megoldunk néhány fejtörő feladatot. Néhány példa: Hány éves a kapitány?CHOO + CHOO = TRAIN, Logikus gondolkodás teszt. Minden feladathoz adunk rávezető példákat – ha esetleg egyik-másik nem menne, akkor ebből megtudod, miket érdemes gyakorolni, hogy menjen. A program mindhárom Java tanfolyamunk orientáló moduljához kötődik. Előismeretként feltételezünk némi jártasságot az algoritmusok, programozási alapismeretek, programozási tételek témakörökből.

 

9:00-9:45 – Kiss Balázs: Képekből Java eszközökkel készített átmeneti animáció lehetőségei
Az előadó példákon keresztül mutatja be az animációkészítés lehetőségeit. Eszközként a Java beépített grafikus API szolgáltatásaiból indul ki, majd áttér többféle kiegészítő API funkcióira. Összehasonlítást is tesz: kitér az előnyökre/hátrányokra és konkrét javaslatokat tesz saját tapasztalataira építve. Megkülönbözteti a fixen kódolt és az interaktív módon, eseménykezelést is tartalmazó animációk különbségeire, lehetőségeire, korlátaira. A bemutatott és kipróbálható példák kiválóan használhatók élményszerű gyakorlásra, rendszerező összefoglalásra grafikus felhasználói felületű Java szoftverfejlesztés, Java programozás témában (asztali és webes alkalmazások készítésétől függetlenül). A program mindhárom Java tanfolyamunk szakmai moduljához kötődik.

9:50-10:25 – Hollós Gábor: Gráfbejáró algoritmusok hatékonyságának elemzése
Az előadás összehasonlítja a 12 db programozási tétel iteratív, rekurzív és funkcionális megvalósításainak hatékonyságát. Fókuszba a funkcionális megoldásokat helyezi. A bemutatott keretrendszer mér lépésszámot, memóriaigényt és bonyolultságot. Nem egyértelműen a jó, jobb, rossz, rosszabb értékelés a cél, hanem inkább az, hogy tudjunk a programozási tételek közül megfelelőt választani adott problémához, feladathoz, algoritmushoz, adatszerkezethez. A program a Java SE szoftverfejlesztő tanfolyamunk és a Java EE szoftverfejlesztő tanfolyamunk tematikájához kötődik. Előismeretként feltételezünk némi jártasságot a programozási alapismeretek, programozási tételek, ciklusok, metódusok, tömbök, listák, halmazok, lambda kifejezések témakörökből.

10:30-11:10 – Kaczur Sándor: Számítástechnika vs. informatika vs. digitális kultúra
Az előadás áttekinti az elmúlt 30 év terminológiai változásait. A fókusz a tanárképzésre és az egyes tantervekre kerül. Néhány kérdésre megpróbálunk választ keresni/találni. Mi indokolta a változásokat? Mi miről-mire változott? Hová került a hangsúly? Mi volt az innovációnak tekinthető változás? Hogyan alakult a szabályozás, a jogi háttér? Hogyan alakultak át a tankönyvek és az online tananyagok? Milyen kompetencia- és tudáselemek kerültek ki a tematikából és kerültek be a tematikába? Hol tartunk most a NAT 2020-ban? Mi várható el attól a fiataltól, aki korábban informatikából érettségizett? És attól, aki már digitális kultúrából érettségizett? Milyen eltérések vannak a digitális kultúra tantárgy középszintű és az emelt szintű érettségi vizsga követelményeiben?

11:15-11:55 – Hatvani Bence, Hatvani Luca: Friss munkaerőpiaci tapasztalataink szoftverfejlesztőként
Mennyire könnyű ma szoftverfejlesztőként elhelyezkedni szakirányú felsőfokú végzettség nélkül? Milyen kihívásokkal találkozhatunk a felvételi folyamat során? Milyen elvárásokat támasztanak a munkaadók egy junior szakemberrel szemben? Hogyan telnek a beilleszkedés után a hétköznapok junior fejlesztőként kis létszámmal működő informatikai profilú kisvállalkozásnál? A tanfolyamainkon 2021-ben és 2023-ban végzett előadók karrierváltó junior szakemberként személyes tapasztalataikról számolnak be és válaszolnak a kérdésekre. A program a Java tanfolyamaink orientáló moduljához kötődik.

Kutatók éjszakája 2024

Kutatók éjszakája logó

Kutatók éjszakája logó

A Kutatók éjszakája nemzetközi rendezvénysorozat 2005-ben indult. Magyarország 2006-ban csatlakozott. Azóta évről-évre egyre több intézmény nyitja meg hazánkban kapuit, szervez érdekes programokat, sok-sok településen, több száz helyszínen, több ezer eseményt meghirdetve sok tízezer érdeklődő/résztvevő látogatónak biztosít tartalmas estét.

Bár a kezdeményezés elsősorban a kutatói pálya népszerűsítését szolgálja, ezért leginkább a tizen- és huszonévesekre számít, az események vonzók és elég érdekesek ahhoz, hogy a kisgyerekektől a legidősebbekig mindenki megtalálja a számára izgalmas programokat. Korábban nagyobb felsőoktatási intézmények és kutatóintézetek szerepeltek döntően, de az utóbbi néhány évben egyre több kisebb intézmény, tehetséggondozással foglalkozó középiskola, cég, egyesület is csatlakozott a rendezvényhez. A Kutatók éjszakája rendezvény minden meghirdetett programja ingyenes.

Rendezvényünk plakátja

Az it-tanfolyam.hu 2024-ben is hirdetett programokat az eseményhez kötődően. Programjainkat elsődlegesen követőinknek, aktív hallgatóinknak és az alumni csoportunkban hirdettük meg, de persze nyílt rendezvényként valósult meg. Az eseményekre regisztrálni kellett a weblapon. A regisztrációs időszak két hétig tartott, szeptember 13-26-ig. Programjainkra szeptember 27-én 21:00-23:55-ig került sor.

21:00-21:25 – Kiss Balázs: OpenAI GPT nyelvi modell – tippek a hatékony használatához
Az előadó az egyike volt a Doktoranduszok programoznak – újratöltve 24 órás Mesterséges intelligencia modul oktatóinak. Saját tapasztalatait összegzi az alábbi hívószavak alapján. Alap AI funkcionalitás, megerősítéses és gépi tanulás lehetőségei és korlátai, nyelvi modellek képességei. Említ néhány generatív AI funkciót a kép, ábra, grafikon, térkép, hang, animáció, videó generálása és ezek tömeges feldolgozása kapcsán. Előkerülnek a programozási tételek, valamint alkalmazásuk multimédia analitikával együtt. Ha lesznek haladók a látogatók között, akkor az előadó bemutat néhány objektum- és aspektusorientált tervezés során használható AI eszközt, illetve igény esetén néhány kutatómunkát támogató AI eszközt is.

21:35-21:55 – Kaczur Sándor: Algoritmusok vesebeteg-donorok párosítására
Hogyan működik 2007 óta Nagy-Britanniában a vesebeteg-donorok párosítása? Sima csere 2 pár esetén adódik. 3 pár esetén körbeadják a vesét egymásnak – ez már jóval összetettebb. A felépített óriási adatbázisban akár több száz lehetőség is adódhat. A probléma megfelelő párosítási algoritmus és számítógép nélkül, pusztán emberi erővel megoldhatatlan lenne. Az implementált algoritmus futási ideje mindössze 30 perc. A párosítást követően a következő lépés a műtétek egyidejűsége, és a donor szervek „utaztatása” minden lehetséges földi, vízi, légi úton és lehetséges közlekedési eszközzel. Hogyan működik mindez a gyakorlatban? Milyen korlátok, problémák vannak? Milyen adatok alapján dönthető el a betegek „kompatibilitása”? Ezek közül mi kapcsolódik az egészségügyhöz és a szállításhoz? Az előadó próbál válaszokat adni, de lehet, hogy a végén több lesz a kérdés, mint a válasz. Vajon egyáltalán felmerül a párosítási algoritmus hatékonysága ekkora társadalmi hasznosság mellett? A program a Java tanfolyamaink orientáló moduljához kötődik. A tavalyi előadás anyaga kiegészült néhány igazán látványos animációval, szimulációval.

22:00-22:25 – Szegedi Kristóf: Játékprogramok nyerő stratégiáinak elemzése
A tudásalapú rendszerek elméleti alapjaihoz tartoznak a mesterséges intelligencia különböző megoldáskereső módszerei, az állapottér-reprezentáció és a klasszikus keresési stratégiák, heurisztikák. Egy játék állapotait nyilvántartjuk egy adatszerkezetben. Lehet, hogy néhány lépést előre kalkulálunk (kiterjesztünk) és ezek elágazásaiból fát (fa adatszerkezet) tudunk építeni. Ezeket hatékonyan karban kell tartani konstrukciós és szelekciós műveletekkel. Heurisztika alapján döntéseket kell hozni. Vajon melyik állapot a jobb, vagy kevésbé rossz, legalább olyan jó mint ahol járunk? Ki kell értékelni és abba az irányba érdemes haladni, amelyben végül a döntések sokasága igazolja és egyben adja a nyerő stratégiát. Ha ez nem megy, akkor még mindig játszhatunk nem vesztő stratégiával, azaz lehet cél a hosszabb játékmenet, vagy akár a döntetlen állapot is. Az előadás ismertet néhány tipikus problémaszituációt, játékteret leképező reprezentációs gráfbeli navigációt és összehasonlít néhány fabejáró/gráfbejáró stratégiát. A program mindhárom Java tanfolyamunk orientáló moduljához kötődik. Előismeretként feltételezünk némi jártasságot a programozási alapismeretek, programozási tételek, ciklusok, metódusok, tömbök témakörökből.

22:30-22:55 – Hollós Gábor: Algoritmikus gondolkodás fejlesztése: mintaprogramok, esettanulmányok
Az előadó bemutat néhány olyan mintaprogramot/esettanulmányt – természetesen a fokozatosság elve alapján -, amelyek kiválóan alkalmasak a közös eszmecserére. Az algoritmusok átgondolása segíti a szabályalapú megközelítést. Sémák, programozási tételek is előkerülnek – sőt ezek egymásba ágyazása is előkerül. Iteráció vs. rekurzió. Különböző adatszerkezetek képességei, funkciói, konstrukciós és szelekciós műveletei. Az algoritmikus megközelítés szemléletmód állandóságot, stabilitást jelent gondolkodásunkban, tágítja szellemi tevékenységünk körét, célt és formát ad egy probléma megoldásának. Az előadó abban bízik, hogy a fentiek érzékeltetésére alkalmas problémákat, programokat gyűjtögetett össze.

23:00-23:25 – Falus Anita, Ménesi Viktor: Karrierváltás után – az álláskeresés és néhány hónap KKV-s tapasztalatai szoftverfejlesztőként
Mennyire könnyű ma szoftverfejlesztőként elhelyezkedni szakirányú felsőfokú végzettség nélkül? Milyen kihívásokkal találkozhatunk a felvételi folyamat során? Milyen elvárásokat támasztanak a munkaadók egy junior szakemberrel szemben? Hogyan telnek a beilleszkedés után a hétköznapok junior fejlesztőként kis létszámmal működő informatikai profilú kisvállalkozásnál? A tanfolyamainkon 2021-től 2023-ig végzett előadók karrierváltó junior szakemberként személyes tapasztalataikról számolnak be és válaszolnak a kérdésekre. A program a Java tanfolyamaink orientáló moduljához kötődik.

23:30-23:55 – Kaczur Sándor: Gondolkodjunk logikusan!
Az előadás során áttekintjük az intelligencia, a kreatív problémamegoldó és logikus gondolkodás összefüggéseit és izgalmas feladatokból válogatva közösen megoldunk néhány fejtörő feladatot. Néhány példa: Hány éves a kapitány?CHOO + CHOO = TRAIN, Logikus gondolkodás teszt. Minden feladathoz adunk rávezető példákat – ha esetleg egyik-másik nem menne, akkor ebből ki fog derülni, hogy miket érdemes gyakorolni ahhoz, hogy sikerüljön. A korábbi évek anyagát az előadó kiegészítette néhány Java algebrai csomag funkcionalitásának bemutatásával és látványos, szinte önmagyarázó grafikus ábrákkal.

 

A programjaink népszerűek voltak. 52 érdeklődő látogatót fogadtunk. Többségük végig velünk tartott. Elgondolkodtató párbeszéd alakult ki a mesterséges intelligencia témakörében, illetve sok-sok kreatív megoldás került elő a logikus gondolkodás program fejtörőivel kapcsolatosan. Néhányan megragadták a lehetőséget, hogy több budapesti helyszínt is meglátogassanak – ahogyan ez megszokott a Kutatók éjszakája rendezvényeken hosszú évek óta. Kellemes hangulatban, tartalmasan töltöttük együtt ezt a három órát, aminek igazán örülök.

Szeretném megköszönni az előadó oktató kollégák és alumni hallgatóink színvonalas munkáját, igényes felkészülését. Köszönjük mindenkinek, aki részt vett a Kutatók éjszakája 2024 rendezvényünkön. Az előadások prezentációit tanfolyamaink hallgatói számára – a témához kapcsolódó témakörökhöz, ILIAS-ra feltöltve – tesszük elérhetővé.