Tankocka – Idővonal: Java verziók újdonságai

Tankocka, IdővonalFolytatjuk Tankockák blog bejegyzés sorozatunkat. A feladatban az idővonalon kell jelölni a Java verziók megjelenését/újdonságaikat! Mindezt segíti néhány fontos változás felsorolásra. Ez a témakör mindhárom tanfolyamunkhoz kötődik: Java SE szoftverfejlesztő tanfolyam, Java EE szoftverfejlesztő tanfolyam, Java adatbázis-kezelő tanfolyam.

Ha érdeklődünk egy programozási nyelv iránt, akkor a fejlesztésének mérföldköveivel tisztában kell lennünk. Ezek sokszor koncepcionális irányokat jelentenek. Gyakran bővül az osztálykönyvtár, a funkcionalitás. Ritkábban, de megjelenhetnek új kulcsszavak is. Esetleg ki is vezethetnek dolgokat, lásd obsolete, deprecated. Érdemes az ismert operációs rendszerek, webes és mobil platformok, egyéb programozási nyelvek fejlődésével párhuzamot vonni: generációk, verziók, korszakok, irányelvek, ajánlások, szabványok, elterjedtség, népszerűség. A Java nyelv verzióváltásaira a 9-es verzióig átlagosan 2-3 évente került sor, utána félévenként.

Tankocka – Hozzárendeléses táblázat: Java kollekciók

Folytatjuk Tankockák blog bejegyzés sorozatunkat. A feladatban a Java kollekciók közül a halmaz adatszerkezeteket megvalósító osztályok tulajdonságait kell hozzárendelni a táblázatban. Ez a témakör mindhárom tanfolyamunkhoz kötődik: Java SE szoftverfejlesztő tanfolyam, Java EE szoftverfejlesztő tanfolyam, Java adatbázis-kezelő tanfolyam.

Érdemes ismerni a kollekció keretrendszer további osztályainak/interfészeinek tulajdonságait, viselkedésüket: tömb, lista, sor. (Esetleg egyebeket is: verem, prioritásos sor, többdimenziós adatszerkezetek, kulcs-érték pár alapú elérés, adatszerkezetek egymásba ágyazása). Hasznos tudni, hogy melyiket mikor érdemes vagy éppen nem érdemes használni. Melyik a gyorsabb? Milyen karbantartó műveleteik vannak? Lehetnek-e bennük egyedi elemek, ismétlődések? Mitől függ az elemek sorrendje? Van-e indexe? Hogyan járható be/végig? Biztosít-e iterátoron keresztül hozzáférést az elemekhez? Használható-e többszálú környezetben? Szálbiztos-e az adott kollekció?

Multimédia az oktatásban 2021

NJSZT-MMO logó

NJSZT-MMO logóA Neumann János Számítógép-tudományi Társaság (NJSZT) „Multimédia az oktatásban” Szakosztály által – évente – szervezett XXVII. Multimédia az oktatásban című online nemzetközi konferencia került megrendezésre 2021. június 10-11-én.

A konferencia célja

A szakmai rendezvény célja, hogy elősegítse az oktatás, valamint a kutatás és fejlesztés különböző területein dolgozó, oktató hazai és külföldi szakemberek, PhD és felsőoktatási hallgatók kapcsolatfelvételét, tapasztalatok és jó gyakorlatok cseréjét, egyes képzési szakterületekhez kapcsolódó kreditek gyűjtését.

24 témakörben hirdették meg az előadóknak a jelentkezési lehetőséget, köztük néhány hozzánk kötődő

  • élethelyzethez igazított tanulás,
  • a multimédia alkalmazása a felsőoktatásban és a felnőttképzésben,
  • mLearning, eLearning és környezete,
  • a tanulási környezet technikai, technológiai változása,
  • felhőalapú szolgáltatások,
  • multimédia és a tudományos kutatás összefonódása,
  • multimédia-fejlesztések, eredmények, alkalmazások bemutatása.

A konferencia programja

Letölthető a konferencia programja. A konferencia a Dunaújvárosi Egyetemről élő közvetítésben zajlott a Pexip webkonferencia platformon. 2 nap alatt 13 szekcióban 65 előadás hangzott el 99 társszerzőtől. A rendezvényre 169 fő regisztrált és kb. 250-en követték az élő közvetítést 4 országból.

A plenáris előadások némileg számvetésre sarkalltak. Ez a 16. MMO-s anyagom 2009 óta. Ezek a szakmai előadások, magyar és/vagy angol nyelvű cikkek, poszterek megtalálhatók a publikációs listámban. Szakmai blogunkban több beszámoló is van, lásd MMO címke. Jövőre is szívesen csatlakozom a rendezvényhez. 2022-ben a Multimédia az oktatásban konferencia helyszíne a Horvátországban található Eszéki Egyetem lesz.

Részt vettem a konferencián

2021-ben előadást tartottam „Python tanfolyam tapasztalatai az átalakuló szoftverfejlesztő OKJ képzésben” címmel 20 percben, amely a konferencia „Multimédia-fejlesztések, eredmények, alkalmazások bemutatása” című szekciójába került. Előadásom prezentációját ILIAS e-learning tananyagban tesszük elérhetővé tanfolyamaink résztvevői számára. Az anyagból készült 5 oldalas szakmai cikket is készítettem, amely elérhető a konferencia kiadványban.

A cikk összefoglalója

A 2020/2021-es tanév átmenetet/átállást jelentett a szakképző intézményekben. Az informatika és távközlés ágazatban a korábbi szoftverfejlesztő képzést felváltotta a szoftverfejlesztő és –tesztelő képzés. A korábbi szabályozó és az új KKK, PTT dokumentumokat áttekintve több markáns különbség is adódik. Ezek egyike a Python programozási nyelv hangsúlyos beépülése. A kifutó kétéves OKJ képzést 2021-ben befejező diákok számára az it-tanfolyam.hu oktatói csapata kidolgozott és megvalósított egy Python tanfolyamot. Ők speciális célcsoport, mert már tanultak más programozási nyelveket, de Pythont még nem, vagy csak bevezetőként. Az előadás/cikk ismerteti a 2021. májustól elindult tanfolyam hátterét, tematikáját, szervezésének folyamatát, visszajelzéseit és összegzi a tapasztalatokat.

A cikk tartalomjegyzéke

  1. A szakképzés átalakulásának jogi háttere
  2. Tartalmi megújulás elemei
    1. Korábbi tartalom
    2. Új tartalom
    3. Releváns markáns különbségek
  3. Oktatók tapasztalatai
  4. A Python tanfolyam általános koncepciója
  5. A Python tanfolyam előkészítése, szervezése
  6. A tematika kiemelt elemei
    1. Adatszerkezetek
    2. Fájlok feldolgozása, adatbázis-kezelés
    3. Grafikus felhasználói felület – TKinter
    4. Webes alkalmazások – Flask és Django
    5. Mobil alkalmazások – Kivy
    6. IoT programozás – Raspberry Pi
    7. Mesterséges intelligencia
  7. Visszajelzések, tapasztalatok

LEGO Education módszertani képzés / Robotika Mindstorms EV3 robottal

„A LEGO® Education olyan, tanulást segítő megoldásokat fejleszt, melyek betekintést nyújtanak tudomány és technológia rövid történetébe, miközben a tanulás folyamatát egy élménnyé teszik. A termékeinket úgy terveztük, hogy a kísérletekben résztvevő diákok aktív közreműködésüknek köszönhetően első kézből, saját bőrükön szerzett tapasztalatokkal fejlesszék a szerkezetekkel, azok működésével valamint a programozási technikákkal kapcsolatos ismereteiket.” – írják a H-Didakt Kft. honlapján, a LEGO® MINDSTORMS® Education EV3 terméklapján. Az önálló felfedezés izgalmát így határozzák meg: „A LEGO® Education megoldásai olyan gyakorlati tanulási technikákon alapulnak, melyek segítik a gyerekeket, hogy elsajátítsák a dinamikus tanulás képességét. Ahelyett, hogy egyszerű memorizálásra bátorítana, a diákokat olyan kihívás elé állítja, melyek arra késztetik őket, hogy használják a képzeletüket, javítsák a problémamegoldó készségüket, valamint a másokkal való együttműködésre is késztet. A diákok átélhetik az önálló felfedezés izgalmát, valamit olyan létfontosságú készségekre tehetnek szert, mely jövőbeli sikerük záloga lehet.”

Élményalapú tanulás

A hagyományosnak tekinthető tanítási paradigmákat fokozatosan leváltják az alternatív pedagógia módszerei. A változás okai ismertek: a szakképzés sajátos igényei, a felnőttoktatás terjedése, a tudomány és a technika felgyorsult fejlődése, az informatika és a hírközlés átalakulása. Az alternatív tanulási stratégiák alapvető célja az, hogy a tanuló ne a passzív „elszenvedője” legyen az ismeretek elsajátításának, hanem aktív tevékenysége (vagy legalábbis annak szimulációja) alapján vonjuk be őt ebbe a folyamatba. Ennek hatására váljék számára élményszerűvé az új tudás elsajátítása és belsővé válása is. A fenti cél alapján nevezzük az ilyen módszereket összefoglalóan élményalapú tanulásnak.” Néhány pedagógiai módszer/eszköz a tanulási élmények elérésére: kooperatív tanulás, drámapedagógia, projektmódszer, médiapedagógia, felfedezéses tanulás, számítógépes tanulás.

Kolb négy lépésből álló tapasztalati tanulási ciklust javasolt: tapasztalat, reflexió, általánosítás, alkalmazás. „Minden összetevőben megjelenik a cselekvés, az önálló és az együttes munka. Így az élménypedagógiai alapokon nyugvó tanulási folyamat a cselekvés általi tanulás és fejlődés sajátos változata, multiszenzoros tanítási folyamat. Az élménypedagógia a helyzetek teremtésének nagymestere, ezáltal cselekvésre készteti a résztvevőt, provokál, sikert kínál. A résztvevők/tanulók próbára teszik tudásukat, képességeiket, kreativitásukat. Mindezek által feltárva a fizikai, és pszichikai képességeiket. Az élménypedagógia a személyes élményre, megélésre, tapasztalat-és ismeretszerzésre koncentrál. A saját tapasztalati tanulás lényege az önirányítás”, foglalta össze Molnár Katalin.

Módszertani képzés

2020. szeptember 21-én részt vettem a H-Didakt Kft. LEGO Education módszertani képzés / Robotika Mindstorms EV3 robottal című tanári felkészítésén. A helyszínt a győri Széchenyi Egyetem Apáczai Csere János Kar biztosította, amely saját Lego Robot laborral rendelkezik. A blog bejegyzésben látható fényképek ott készültek.

Megismerkedtünk a LEGO MINDSTORMS Education EV3 szoftver alapfunkcióival. Kaptunk ötleteket arra, hogy a különböző életkorú diákok/tanulók/hallgatók számára milyen projektfeladatok az ideálisak. Bemutatták a hazai és nemzetközi versenyeket, ami a csoportmunkában megvalósuló kooperációt kiegészítendő kiváló megmérettetési lehetőséget jelenthet. Én magam is voltam már zsűritag FLL robotversenyen. Mindannyian átélhettük az élményt: milyen összeépíteni, beállítani egy robotot, elkészíteni majd rátölteni a problémát megoldó szoftvert, kipróbálni, finomhangolást végezni. Informatikatanárként nyilván triviális a szoftver használata és az egész folyamat, de újszerű megközelítésnek éreztem azt, hogy szinte minden tantárgyhoz összeállítható olyan projektfeladat, amelyhez felhasználható a robot. Persze át kell élni az első buktatókat is: például amikor nagyon vártam, hogy ugató vagy nyávogó hangot adjon a robot, ha piros vagy sárga színt érzékel, de ehhez nem ártott volna megfelelően összedugni a kábeleket sem. 😉 A robot programozásához szükséges az alapvető algoritmikus építőkockák és érzékelők ismerete. A többi a kreativitáson múlik, aminek a fejlesztését kiváló oktatóvideók és példatárak is segítik. A sok segédanyag közül kiemelem Kiss Róbert: Robotika feladatgyűjteményét.

hdidakt-lego-education-2

Többször is elhangzott, hogy ugyanannak a feladatnak több – különböző szintű – jó/helyes/elfogadható megoldása is lehet/van. Matematika szakos tanárként rögtön a Pólya-féle problémamegoldás lépései jutottak eszembe: megértés, tervezés, megoldás, ellenőrzés.

Például: juttassunk el a robottal a Marsról a Földre szállítmányt!

Ha profi megoldást szeretnék, akkor a robotnak meg kell találnia a csomagot, tolnia kell, kanyarodik vele, tovább tolja, végül megáll. Persze a kereséshez érzékelők és tesztelős ciklus kell, a kanyarodáshoz ciklus induló- és célfeltétellel, a haladáshoz tesztelős ciklus, a megálláshoz célfeltétel. Például kanyarodni akkor kell, amikor a robot előtt „megjelenik az út közepén” a fekete pályán egy ferde fehér csík. Ha csalok, vagy csak egyszerűbben gondolkodom, akkor kezdetben a robot irányba áll, halad előre kb. 40 cm-t, fordul balra kb. 45°-ot, majd halad előre kb. 70 cm-t a célig. Ilyenkor 1-2-3 teszt/finomhangolás során 3 szekvenciával is megoldható a feladat. A fordulás is lehet profin tervezett, kiszámolt, vagy történhet tapasztalati úton is: ha balra kell fordulni, akkor a robot jobb oldali kerekének fél fordulatával lemérhető, hogy az hány fokos elfordulást jelent. Persze számíthat, hogy mekkora ívben kell fordulni: kis ív esetén a robot jobb kereke fordulhat előre felet, miközben a bal kereke is fordul (negyedet, felet), de hátrafelé. Izgalmasnak tűnt.

Rögtön eszembe jutott a Bloom-féle taxonómia négy gondolkodási/műveleti szintje is: ismeret, megértés, alkalmazás és magasabb rendű műveletek (analízis, szintézis, értékelés). Ezekre a szintekre tudatosan hivatkozunk Java SE szoftverfejlesztő tanfolyamunkon is, amikor egy-egy programozási feladatot többféleképpen is megoldunk. Ezeket evolúciós projekteknek tekintjük.

hdidakt-lego-education-4

A tanári felkészítést Kállai Balázs Lego tréner tartotta. Biológia szakos tanárként több olyan példát is említett, amelyek interdiszciplináris jellegűek, így jól összefogják például a természettudományos és/vagy STEM alaptantárgyakat, alkalmasak tematikus napok/hetek megvalósítására. Vendégelőadóként Kövecsesné Dr. Gősi Viktória – az SZE oktatási dékánhelyettese – a módszertani és érzékenyítésről szóló részben ismertette A léleknek idő kell című tantárgyának tematikáját. A kollégák abszolút elhivatottak voltak, célorientáltan és bármilyen szakos tanár kollégák számára is közérthetően foglalták össze a gyakorlatban kiválóan használható ötleteiket, tapasztalataikat. A szemléletformáló tanári felkészítést ajánlom az érdeklődő kollégák számára!

 

RobonAUT – Autonóm robotok versenye 2020

RobonAUT kiemelt kép

RobonAUT logó2020. február 15-én 11. alkalommal került megrendezésre a 2019/2020-as tanév őszi félévében a BME Villamosmérnöki és Informatikai Kar Automatizálási és Alkalmazott Informatikai Tanszékének a gondozásában a RobonAUT – Autonóm robotok versenye.

Kaló Péter és Török Barbara szoftverfejlesztő OKJ képzésben résztvevő végzős hallgatók szakmai- és élménybeszámolója következik. Mindketten nagyon jól érezték magukat a versenyen. Beszámolójukat köszönjük.

Mi is az a RobonAUT?

A 2010 óta évente megrendezett programon egy műegyetemi tárgy keretében a résztvevőknek egy autonóm robotot és vezérlését kell elkészíteniük. A feladat, hogy a robotjárművek emberi beavatkozás nélkül, minél rövidebb idő alatt teljesítsék az akadálypályákat, egy előre nem ismert ügyességi pályán, útjuk során teljesítve a legtöbb részfeladatot. Az a csapat lesz a győztes, aki gyors és pontos irányítással szereli fel robotját, így szerezve a legtöbb pontot a futamokon.

A verseny sikerét egyértelműen jelzi a hallgatók aktivitása, valamint a külvilág érdeklődése a RobonAUT iránt. A versenyen villamosmérnökök, mérnökinformatikusok és mechatronikai mérnök mesterhallgatók vehetnek részt. Csapatonként egy robotot kell készíteni. A csapatok létszáma 3 fő (indokolt esetben 2 fő).

2020-ban a csapatok között volt 7 junior és 4 senior csapat, összesen 32 versenyző indult neki a kihívásnak. A jelentkező csapatok között fellelhető a 2019-es év junior győztese, az Override, és újra jelen van az összesítettben első helyezett Faketelen Taxi, és az összesített második, a Tesla Monsters is.

A tanszék biztosít eszközöket, illetve anyagi támogatást a robot megépítéséhez:

  • 1 db autómodell,
  • 1 db processzorkártya,
  • 2 db rádiós modul,
  • 75000 Ft szabadon felhasználható költségkeret,
  • egyéb alkatrészek (vonalszenzor, motorvezérlő, Bluetooth modul).

A csapatokat tematikus szemináriumokkal készítették fel a versenyre. Ezen alkalmakon egy-egy, a verseny szempontjából fontos tématerületeket érintettek és tekintettek meg. Négy szeminárium (Hardver, Altium Designer, Szoftver, Szabályozástechnika) támogatta a csapatokat a felkészülésben.

Versenyfeladat

A robotjárműveknek két akadálypályán kell végig haladniuk, és ennek során különböző feladatokat kell teljesíteniük. Egyik pályán az ügyesség, a másik pályán a gyorsaság számít.

A gyorsasági pályán enyhe lejtők és emelkedők nehezítik a robot haladását, illetve magát az útvonalat egy vezetővonal jelöli. A gyorsasági pályán minél jobb köridő elérése a cél.

Az ügyességi pálya egy labirintusnak felel meg, ahol a robotjárműnek fel kell térképeznie a területet, és ezt követően tud tovább haladni a gyorsasági pályára.

RobonAUT 1. kép

Ügyességi pálya elemei

A gyorsasági és ügyességi pálya előre definiált elemekből épül fel, ezek:

  • a pályaelemeket összekötő egyszerű vezetővonal,
  • start és cél,
  • elágazás és becsatlakozás,
  • zsákutca,
  • pályaszakasz kapu (18 db),
  • sávváltás.

RobonAUT 2. kép

Kvalifikációk

  • Előzetes kvalifikáció: az autók vonalkövetését és safety car (tanszék által készített autó) követését hivatott ellenőrizni.
  • Ügyességi kvalifikáció: az autóknak sikeresen kell teljesíteniük az ügyességi pályaelemeket egy versenybíró jelenlétében.
  • Gyorsasági kvalifikáció: az autóknak, egy előre felépített pályán kell végig haladniuk, egy megadott időn belül.

Az induló csapatok nevei és logói elérhetők a verseny weboldalán.

A Tesla Monsters csapat autójának terve és fényképe:

Élménybeszámoló

Már kezdés előtt fél órával nagy tömeg várta a verseny kezdetét a BME Q épület aulájában. Dr. Tevesz Gábor egyetemi docens, a fő szervező, a verseny megálmodója kezdte beszéddel ezt a fantasztikus napot. Népes csapat munkálkodott a versenyen, kb. 40-50 ember. Kiss Domokos versenykoordinátor és versenybíró folytatta a beszédet, a nézőközönséggel ismertette a verseny szabályait.

Aznap reggelig nem volt ismert a pálya felépítése a csapatok számára. A döntőig 6 junior és 4 senior csapat jutott el, hogy hősiesen megküzdhessenek egymással. A versenyen vegyesen mérték össze az erejüket. A csapatoknak fél év felkészülési idejük volt, hogy egy jól működő robot autót készítsenek el. Sokat számított a találékonyság, az ötletelés és a robot autók design-ja.

A csapatok plusz 10 pontot tudtak gyűjteni a nézőközönség által. A közönség szavazhatott arra a csapatra, amelyik a legjobban tetszett nekik. Figyelembe vették ki milyen jól vette az akadályokat, vagy éppen kinek milyen design került az autójára. A közönség szavazásnál a Faketelen Taxi kapta a 10 pontot.

  • A versenyt elsőként az ABS nevű csapat kezdte. Az akadályokat jól vették.
  • A második csapat volt a Led Bull, akiknél egy ütközést követően megsérült az egyik szenzor, így az ügyességi pályát nem tudták befejezni. A gyorsasági pályát így is megpróbálták, de végül az autójuk kiment a pályáról.
  • Az Override nevű senior csapat folytatta harmadikként a mérkőzést.
  • Negyedikként a FalnakMegyek csapatnak csak 4 kaput sikerült teljesíteniük, majd a programjuk végtelen ciklusba került. Próbáltak javítani a helyzeten egy rögtönzött szereléssel, mert mint kiderült: kiégett az egyik biztosítékuk. A felkészülés alatt már történt ilyen velük, így tartalék biztosítékkal hamar megoldották a problémát.
  • A Stranger Gears volt az ötödik csapat, akik két kapu kivételével teljesítették az ügyességi pályát. Ők voltak az első csapat a verseny alatt, akik a gyorsasági pályán az autójukkal előzést hajtottak végre.
  • Az Unemployed & Single volt az első olyan csapat, akik minden kaput érintettek és sikeresen ki tudtak állni a safety car mögé. A gyorsaságin az első előzést sikeresen teljesítették, a másodikat sajnos nem.
  • A hetedik csapat a GITegylet volt, akik az autójukon díszként Nemecsek Ernő „kalapját” használták kabalaként. Az ügyességi pályán minden kaput érintettek, a gyorsasági pályán mindkét előzést sikeresen végrehajtották.
  • Nyolcadik csapatként következett a Riders of the ST ARM, akik az ügyességi pályán csak 3 kaput hagytak ki. A gyorsasági pályán már nem tudtak elindulni, mert az autójukban hiba keletkezett.
  • A Tesla Monsters kilencedikként vett részt a versenyen. Senior csapatként teljesen új autót készítettek, melyben két ventilátor helyezkedett el, hogy jobban le tudja szorítani az autót. Az összes kaput sikeresen teljesítették az ügyességi pályán.
  • Az utolsó induló csapat a Faketelen Taxi volt. Ők is egy teljesen új autót építettek, melynek összsúlya 8 kg lett. Az ügyességi pályán az összes kaput hibátlanul bejárták, a kiállást egy új manőverrel oldották meg, melytől a nézőközönség tapsviharban tört ki. A gyorsasági pályán mindkét előzést sikeresen teljesítették, és az idei legjobb kört futották.

Ezután fél órás szünet következett az eredményhirdetés előtt. A Faketelen Taxi egyik tagját, Sárközy Balázst kérdeztük meg arról, hogy milyen nyelven programoztak. Az autó alapját egy Raspberry Pi adta, amelyen Linux futott. Programozás terén az autót több részre osztották, egyes részek Python-ban, más részek C-ben és C++-ban voltak megírva. Az autójukba 14 szenzort építettek be, ezek segítségével navigált a robot autó a pályán. A pálya feltérképezésénél és követésénél Descartes koordináta-rendszerrel dolgoztak.

A verseny részletes eredményei megtalálhatóak a verseny weboldalán.