MIt hoz a következő 50 év? – NJSZT jubileumi konferencia

njszt_50_logoA Neumann János Számítógép-tudományi Társaság (NJSZT) 2018. október 17-én tartotta a Magyar Tudományos Akadémia (MTA) 2. emeleti dísztermében 50. jubileumi konferenciáját. A Társaság méltó helyszínen, nagyszerű programmal készült a szép számban megjelent tagságnak és vendégeknek.

Az előadások

A konferencián előadó matematikusok és mérnökök nagyszerű, magukkal ragadó előadásokkal tették emlékezetessé az NJSZT 50. jubileumi konferenciáját. „Magas szinten könnyedén” (ahogy az LSI Kiadó tankönyvsorozatának címe is mondta) adtak áttekintő képet a rendezvényre választott témájukról, mutattak hozzá példákat kutatásaikból, és természetesen vázolták, hogy hol tartunk most és merre fejlődik világunk az Ő tudományterületükről nézve. Előadásaikat 10-10 oldalban is nehéz lenne összefoglalni, ezért csak pár, engem megragadó gondolatot elemek ki.

Lovász László: Kell-e matematika a számítógép-tudományhoz?

Lovász László, az idén 70 éves, energikus matematikus, egyetemi tanár, az MTA rendes tagja előadását „Kell-e matematika a számítógép-tudományhoz?” címmel tartotta. Lovász tanár úr fő területe a gráfelmélet, amelynek gyakorlatbeli alkalmazásában is számos területen részt vett (közlekedés, távközlési hálózatok, munkaszervezés).

Előadásában áttekintő képet adott a gráfelméleti kérdések kapcsán matematikai, bonyolultság-elméleti kérdésekről. Ezen a területen az egyik alapvető fogalom a polinomiális idő. Már Neumann János felvetette egy 1951-es előadásában egy játékelmélettel kapcsolatos algoritmusáról, hogy polinomiális idejű. (Egy algoritmus polinomiális idejű, ha lépésszáma korlátozható egy nk függvénnyel, ahol k rögzített szám.)

Lovász László

Lovász László egyik záró gondolata az utóbbi hónapokban hallott egy kijelentéshez kapcsolódott: „A mélytanulás ma már olyan gyors, hogy nem érdemes a matematikájával bajlódni.” Úgy tűnik, hogy a mélytanulás mélyén is gráfokra vonatkozó tétel van, a Szemerédi-féle regularitási lemma (sejtése).

Szász Domonkos: Neumann János egy kedves eredménye, az ergod-tétel

A második előadó Szász Domonkos matematikus, egyetemi tanár, akadémikus volt, aki lelkesedéssel és 77 éve tudásával beszélt Neumann János egy kedves eredményéről, az ergod-tételről. Az ergod-elmélet a XVII. századi fizikából származik, a nyomás és a térfogat szorzata konstans (pV = k) összefüggésből. Ezt a fenomelógiai tételt (közvetlenül észlelhető leírást) a nagy fizikusok igyekeztek aztán pontosan megfogalmazni. Neumann 1932-ben tette közzé ergod-elméleti tételét, amelynek a statisztikus fizika matematikai megalapozása szempontjából alapvető jelentősége van. Az ergod-tétel a nagy számok törvényének általánosítása, valamint az is érdekes, hogy a káoszelmélethez, az időjárási jelenségek vizsgálatához és a pillangóhatáshoz is elvezetett. (A pillangóeffektus kifejezés a kiindulási tényezők fontosságát foglalja magába a káoszelméletben.)

Bár az ergod-tételt nem Neumann publikálta először az Akadémiai Közleményekben, hanem Birkhof rövidebb cikkben és más érveléssel, általános pontokra bizonyítva. Később Neumann több írásában elemezte az ergod-tétel fontosságát.

Szász Domonkos

Az előadó Szász Domonkos is foglalkozott a tétellel. Ennek kapcsán például a statisztikus fizika egyik alapjaként szolgáló Boltzmann–Sinai ergodikus hipotézis igazolásában ért el áttörést. Eszerint egy dinamikai rendszer időbeli fejlődése során a fázistér szinte minden pontjába eljut.

Charaf Hassan: A mesterséges intelligencia kihívásai

A szünet után Charaf Hassan, a BME Automatizálási és Alkalmazott Informatikai Tanszék tanszékvezetője, egyetemi tanára a mesterséges intelligencia (MI) kihívásairól tartotta igen tempós előadást. Bevezetőjében áttekintést adott az MI mindössze 70 éves evolúciójáról: Artifical Intelligence, Machine Learning, Deep Learning, amely kiegészült aztán a Data Mininggel, Data Science-szel és Big Data-val.

A gartneri hájpolt ciklus (Gartner Hype Cycle) szerint az MI területén már a vállalatirányítás intelligens gépi irányítása van soron, mindenüvé beférkőzik életünkbe, azonnali (real-time) eredményekre van szükség, a neurális hálózatokkal mélytanulás zajlik stb. Mi is tapasztalhatjuk, hogy egyre „intelligensebb” a használt keresőmotor és a fényképezőgépünk, hogy emberi beszéddel (angolul) adhatunk parancsokat a navigációs stb. alkalmazásnak, használhatjuk multifunkciós nyomtatónkban a karakterfelismerő programot stb.

Az MI-ben mindehhez adott a folyamatos, nagy mennyiségű, sok fajta adat az egyre több kézi számítógépből, szenzorokból, közösségi oldalakról. Csökken az adattárolás költsége; a számolási költség (gondoljunk például a GPU-kra [Graphics Processing Unit]). Az igények növekednek, a nagy IT cégek fejlesztései gyorsak. A CISCO szerint 2022-re 50 millió mobileszköz lesz a Földön, amelyek képességei is nőnek. Továbbá erősödnek a felhőszolgáltatások, valamint az IoT használata (de már ma is része lehet otthonainknak). Az ipar a 4.0 verziójánál tart, amely az automatizálási és adatcsere a gyártási technológiákban. (Az ipar 3.0 a számítógépesítés és automatizálás volt; az ipar 2.0 a tömeggyártás, szerelőszalag, elektromosság; az ipar 1.0 a mechanizáció, a víz- és gőzerő használata.)

Charaf Hassan

A gépi tanulás célja például ma már, hogy olyan gépeket alkossunk, amelyek saját tapasztalatikból indulnak ki. Intenzíven kutatják például a kognitív intelligencia területén a beszéd- és képfeldolgozást, a természetes nyelveket, az emberi szokások megtanulását, a cikkek hangulatának megállapítását, a környezetérzékelést. Fontos területet képeznek az orvosi alkalmazások, például a stroke és infarktus megelőzéséhez vagy a szemfenékvizsgálathoz. Természetesen hallottunk példákat a BME-n folytatott számos MI alap-, alkalmazott és szakterület-specifikus kutatásból is.

És a jövő? Mutatja a gartneri hájpolt ciklus. Charaf Hassan előadása végén az XAI-t (Explanainable AI vagy Transparent AI), magyarul a megmagyarázható vagy más kifejezéssel átlátszó mesterséges intelligenciát emelte ki. Ennek az MI-nek az akciói könnyen érthetőek az ember számára. Bár még a tervezők sem tudják, hogyan és miért jutott az MI az adott döntéshez. A cél, hogy pontosabb eredményeket adjon. Kihívások az XAI-t tekintve a költségek, a kultúra a technológiaválasztáshoz, illetve a pontos célok meghatározása. Szerencsére Magyarországon is van kutatására állami támogatás, bár hiányzik még a nemzetközi összefogás.

A több szemeszternyi tananyag igen dinamikus összefoglalása után végül Hassan a „The Future of Machine Intelligence”, nem rég megjelent könyvet ajánlotta.

Kroó Norbert: A nanotechnológiától a kvantumtechnológiákig

Az utolsó előadó Kroó Norbert elismert szilárdtestfizika kutató, az MTA rendes tagja volt. A 84 éves kutató rengeteg képpel, ábrával és animációval illusztrált diasora mentén a tranzisztoroktól a nano- és kvantumtechnológiáig tekintette át a fejlődést, és tett összehasonlításokat. Például az 1947-ben létrehozott tranzisztortól mára eljutottunk a szembe ültethető chipekig. Célunk az agyi működéshez jobban hasonlító technológiák létrehozása. Az IBM 2014-ben készített TrueNorth chipje például neuromorf CMOS integrált áramkör.

A miniatürizálást a „The Scale of Things – Nanometers and More” képpel is érzékeltette Kroó Norbert. A jövő, amelynek kutatása már folyik, kiterjed többek között a molekuláris elektronikára, a karbon felhasználására, a spintronikára, a kvantum- és az optikai nanotechnológiára. Ezután hallottunk többek között a plazmonikáról, amely a plazmonokkal foglalkozó tudomány. A kutatók a fény segítségével a fémfelületen lévő ún. vezetési elektronokat hullámszerű mozgásra kényszerítik. A mozgásban sűrűsödések és ritkulások váltják egymást, amelyek hullámhossza rövidebb a gerjesztő fény hullámhosszánál. Ennek az új típusú fénynek a neve felületi plazmon. Kroó Norbert maga is készített mikroszkópot a plazmonok vizsgálatához.

Ezután áttekintést kaptunk a kvantumforradalmakról: az első a múlt században volt, amikor megfogalmazták az alapjelentéseit és megalkották valószínűségi elméletét; a második ebben a században, amikor megtanultuk manipulálni a kvantummechanikai folyamatokat. Ő is megjegyezte, hogy most sem kell attól tartania az embernek, hogy nem lesz munkája az új technológiák miatt, mert magasan képzett szakemberekre bőven lesz szükség. Említésre került a kvantumkriptográfiai is, valamint hogy mesterséges leveleket készítenek kvantum fotoszintézishez, amelyek lényegesen jobb hatásfokkal működnek, mint a mai áramtermelésre használt technológiák.

Kroó Norbert

Kroó Norbert előadását azzal zárta, hogy a vörösbegy vándorlása során navigációjához kvantummechanikával leírható jelenségeket is használ. Ennek mechanizmusa nagy vonalakban úgy zajlik, hogy a szemében lévő kriptokróm molekulák kémiai tulajdonságait közvetve befolyásolják a Föld mágneses mezejének finom változásai, mert eltéríthetik az elektronok kvantum-állapotát (spinjét). (Speciális kalitkába zárva madarakat és mérve a körülöttük lévő mágneses tér frekvenciáját, erejét, polaritását, a kutatók azt állapították meg, hogy a Föld mágnesesmező-erejének akár már 3000-ed része is megváltoztatta repülési irányukat, ami pedig csak az atomoknál is kisebb részecskék kvantumfolyamataival magyarázható.) És minden bizonnyal agyunk is kvantummechanikus…

Az NJSZT rendezvények ajánlása

Én évente több NJSZT rendezvényre elmegyek, amelyeken színvonalas tudományos, illetve ismeretterjesztő előadásokat hallhatok impozáns környezetekben – bár kétségtelen, hogy az MTA dísztermei kiemelkednek közülük. Ajánlom e blogbejegyzés olvasóinak is, hogy látogassanak el a közeljövőben valamelyik NJSZT-konferenciára.

SzámOkt 2018

EMT, SzámOkt 2018Az Erdélyi Magyar Műszaki Tudományos Társaság (EMT) Számítástechnika Szakosztálya által – évente – szervezett XXVIII. Számítástechnika és Oktatás Konferencia – SzámOkt 2018 Tusnádfürdőn került megrendezésre 2018. október 11-14-ig. Társszervező volt a Sapientia Erdélyi Magyar Tudományegyetem Marosvásárhelyi Kar. Párhuzamos rendezvény volt XIX. Energetika-Elektrotechnika Konferencia – ENELKO 2018 az Erdélyi Magyar Műszaki Tudományos Társaság (EMT) Energetika-Elektrotechnika Szakosztálya és a Magyar Energetikai Társaság (MET) társszervezésében.

A konferencia célja:

  • lehetőséget teremteni az erdélyi és külföldi magyar szakembereknek tudományos eredményeik bemutatására, illetve szakmai kapcsolatteremtésre és tapasztalatcserére,
  • az erdélyi magyar számítástechnikusok – középiskolai és egyetemi tanárok, rendszergazdák, egyetemi hallgatók, vállalkozók, felhasználók – számára találkozási lehetőséget biztosítani egy olyan rendezvényen, melynek keretében beszámolhatnak legújabb tapasztalataikról az oktatás, kutatás terén,
  • hogy egy átfogóbb képet nyújtson a magyar kutatók munkásságáról és eredményeikről, mint az informatika területén dolgozó magyar kutatók/fejlesztők fóruma.

8 témakörben hirdették meg az előadóknak a jelentkezési lehetőséget:

  • Számítástechnika és oktatás,
  • Algoritmika és programozás,
  • Informatikai alkalmazások,
  • Irányítástechnika, automatika, méréstechnika,
  • Képfeldolgozás és mesterséges intelligencia,
  • Elosztott és párhuzamos rendszerek, cloud rendszerek,
  • Hálózati kommunikáció és Internet, IoT, Industry.4.0,
  • Gazdasági informatika.

Letölthető a konferencia programja.

Már 2015-ben is részt vettem előadóként ezen a konferencián szakmai előadással és magyar nyelvű cikkel. Ezek a publikációs listámban megtalálhatók.

SzamOkt2018 Konferencia kép1

2018-ban előadást tartottam “Oktassunk rekurziót látványosan és hatékonyan!” címmel 15 percben, amely a konferencia “Számítástechnika és oktatás” című szekciójába került. Az előadás sok-sok ábrával és animációval kiegészítve igazán látványosra sikerült. A cikkem is megjelent a konferencia kiadványában. 20-an voltak jelen a szekcióban. A szekció többi előadását is érdemes volt végighallgatni, mert sok-sok hasznos ötletet/gondolatot rendszereztek, illetve közelítettek meg új nézőpontból. A legjobban Szabó Martin kolléga előadása tetszett (Szabó, Nehéz: MOOCs rendszerek alkalmazása a programozás oktatásában), amelyben a szerzők ismertettek egy JUnit alapon működő automatizálható és széleskörűen konfigurálható Java kiértékelő rendszert és beszámoltak a bevezetéshez és üzemeltetéshez kötődő tapasztalataikról. Ezzel a témával biztosan elmélyülten foglalkozom majd a közeljövőben. A Budapest-Tusnádfürdő és vissza utazás is valódi élményt jelentett.

SzamOkt2018 Konferencia kép2

Az előadásom prezentációját ILIAS e-learning tananyagban tesszük elérhetővé tanfolyamaink résztvevői számára.

Az előadásom témája a Java SE szoftverfejlesztő tanfolyam 9-12. óra: Metódusok, rekurzió, valamint az Orientáló modul 9-12. óra: Mesterséges intelligencia alkalmaihoz kapcsolódik.

Programozási Hét 2018 – CodeWeek.eu

Programozási hét 2018 CodeWeek.euAz Európai Programozási Hét idén 2018. október 6-21-ig került 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 eseményeket hirdetnek meg a http://codeweek.hu 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 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.
  • Manapság a munkahelyek 90%-a digitális készségeket, köztük programozási ismereteket követel a munkavállalóktól.

Én 2015-től veszek 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. 2017-ben 50+ országban 1,2 millió érdeklődő résztvevő csatlakozott.

Meghirdetett eseményeink

2018-ban három it-tanfolyam.hu-s eseményt hirdettünk meg Programozási Hét 2018 rendezvényen.
Helyszín: 1056 Budapest, Váci utca 47., 3. emelet 309-es terem, megközelítés
Dátum és időpont: 2018. október 10. 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

it-tanfolyam.hu - Programozási Hét 2018 CodeWeek.eu plakát

A rendezvény jó hangulatban telt, 53-an látogattak el hozzánk. Volt közöttük emelt szintű informatika érettségire készülő középiskolás csoport informatikatanárával együtt, tanfolyamaink iránt érdeklődő és jelentkezést fontolgató, Java SE szoftverfejlesztő tanfolyamunkat korábban sikeresen teljesítő hallgatók és olyan is, aki két hete járt nálunk először a Kutatók éjszakája 2018 rendezvényünkön. Az egyszerűbb lottószelvényes előadásnál elhangzott sok-sok kérdés és ötlet, az absztraktabb témákhoz már lényegesen kevesebb hozzászólás/kérdés érkezett, de azért elhangzott néhány. Igazán tartalmasan telt el ez a három óra. Köszönjük mindenkinek, aki részt vett a Programozási hét 2018 – CodeWeek.eu 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é.

 

9:00-10:00 – Kaczur Sándor: Generáljunk lottószelvényeket és hasonlítsuk össze megoldásainkat!
Véletlenszám-generátorral lottószelvényeket állítunk elő. Többféle ötletet, módszert, algoritmust, adatszerkezetet, tesztelési módszert összehasonlítva vizsgáljuk, hogy melyik a hatékonyabb lépésszámot, memóriaigényt, bonyolultságot tekintve. Java nyelven implementálunk és az érdeklődők javaslatait is azonnal beépíthetjük a forráskódba. 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 alapismeretek, programozási tételek, ciklusok, metódusok, tömbök témakörökből.

10:00-11:00 – Kaczur Sándor: Írjunk hatékony adatbázis-lekérdezéseket!
Az Oracle HR sémában, először tipikus, hétköznapi szavakkal megfogalmazunk néhány lekérdezést, majd SQL nyelven megvalósítjuk és elemezzük, hogy helyesek-e, hatékonyak-e, mit adnak vissza. Szükség esetén optimalizáljuk, testre szabjuk ezeket. Kategóriák: egyszerű, összetett, aggregáló, soktáblás, hierarchikus/rekurzív lekérdezések. Ha lehet, grafikusan is megjelenítjük a lekérdezések eredményeit Java swing felületen, beépített JTable és JTree komponensekkel, illetve JFreeChart grafikonnal is. A Java adatbázis-kezelő tanfolyamunk tematikájához kötődik a program. Előismeretként feltételezünk némi jártasságot adatbázis-kezelés, SQL, Java swing felhasználói felület témakörökből.

11:00-12:00 – Kaczur Sándor: Építsünk látványos weboldalt XML fájlból megszerzett adatokból!
XML adatforrásban kapjuk egy cég alkalmazottainak adatait, amelyeket Java programmal feldolgozva, látványosan, animálhatóan megjelenítjük böngészőben az eredményt. Például: ki melyik részlegben dolgozik, kik dolgoznak az egyes részlegekben. Az érdeklődők igénye szerint a feladatot megoldhatjuk a következő technológiák közül választva: JavaScript, Bootstrap, jQuery. A Java EE szoftverfejlesztő tanfolyamunk tematikájához kötődik a program. Előismeretként feltételezünk némi jártasságot Java fájlkezelés, kivételkezelés, adatfeldolgozás, HTML, JavaScript témakörökből.


Kutatók éjszakája 2018

Kutatók éjszakája 2018 logoA 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

Kutatók éjszakája 2018 plakát

Az it-tanfolyam.hu sem maradt ki a sorból. Két oktatónk és két tanfolyamunkon résztvevő hallgatónk képviselt bennünket és meghirdettünk hat programot a kutatokejszakaja.hu weblapon. Az eseményekre regisztrálni kellett a weblapon, ami talán szervezőként ránk keresve bizonyult legegyszerűbbnek. A regisztrációs időszak szeptember 12-27-ig tartott és a programjainkra szeptember 28-án 17-21 óráig került sor.

it-tanfolyam.hu Kutatók éjszakaja 2018 Fejős Ibolya programja

A programjaink népszerűek voltak, 40 érdeklődő látogatót fogadtunk X generációtól szinte Alfákig. A többség több programon is részt vett, néhányan kifejezetten egy-egy adott program iránt érdeklődtek. Sok-sok kérdés is elhangzott és kellemes hangulatú szakmai párbeszéd alakult ki, aminek igazán örülök.

it-tanfolyam.hu Kutatók éjszakaja 2018 Sztefanov Ádám programja

Szeretném megköszönni az előadók színvonalas munkáját, igényes felkészülését. 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é.

17:10-17:40 – Kaczur Sándor: Modellezzünk objektumorientáltan, közelítsünk többféle nézőpontból!
Az eseményen egy konkrét programozási feladat specifikációjából kiindulva tervezünk. Az objektumorientált szoftverfejlesztés eszközeit használjuk. Ötféle tervet készítünk el és hasonlítunk össze. Mindegyik terv Java nyelvű megvalósítását is ismertetjük. Adatfeldolgozást végzünk, fájlból olvasunk, saját adatszerkezetet építünk és azt feldolgozva adunk választ a specifikáció által megfogalmazott kérdésekre. Szembesülünk azzal, hogy a különböző terveknek mekkora hatása van az elkészült forráskódra, annak mennyiségére, áttekinthetőségére, karbantarthatóságára. Megpróbálunk következtetéseket is levonni, hogyan érdemes modellezni, tervezni, amikor hozzáfogunk egy-egy programozási feladat megoldásához.

17:50-18:20 – Friedel Attila: Egyszerű fizettető automata program fejlődése a programozó ismereteinek bővülése tükrében
Az előadás egy egyszerűen működő fizettető automata program három változatát mutatja be, ahogyan a programozó egyre több ismeretet szerez a Java nyelvről, és egyre gazdagabban tudja elkészíteni ugyanazt a feladatot. Először emlékezet nélkül, primitív típusú változókkal készül el az alapfunkciókkal rendelkező változat. A második verzió már tömböt is tartalmaz, emiatt új funkciók jelenhetnek meg. A harmadik, véglegesnek tekinthető változat nem hoz új funkciót, de a forráskód már objektumorientált szemlélettel készül el. A fokozatosság elvét szem előtt tartva követhetjük végig a gondolatmenet fejlődését, építve új eszközökre/lehetőségekre/funkciókra.

18:30-18:50 – Fejős Ibolya: Karrierváltás után: az első hónapok junior szoftverfejlesztőként egy kisvállalatnál
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 egy 20 fő alatti létszámmal működő informatikai profilú kisvállalkozásnál?
Az előadó karrierváltó junior szakemberként személyes tapasztalatairól számol be.

19:00-19:30 – Kaczur Sándor: Írjunk SQL lekérdezéseket és dolgozzuk fel webes Java kliensprogrammal az eredménytáblát!
A lekérdezések az Oracle HR sémát használják. Előfordulnak közöttük egyszerűbbek, klasszikus 1:N kapcsolatra építők, bölcsész mondatosak, hierarchikusak/rekurzívak. Különböző eredménytáblákat adnak vissza a kliensprogramnak. A kliensprogram többrétegű MVC tervezési mintával készül, böngészőben fut, alkalmazásszerveren, JSP technológiával.
Az előadás bemutatja a tervezési szempontokat, az SQL lekérdező utasításokat, az eredménytáblák feldolgozási módszereit, valamint a megjelenítés lehetőségeit.

19:40-20:10 – Sztefanov Ádám: Biztonságos weboldal készítése Java EE technológiával
Az előadás betekintést nyújt egy felhasználó számára, hogy miként válik egy weblap biztonságossá. Egy Java technológiát használó weboldal projekten keresztül láthatjuk azt, hogy miként működik a két lépcsős azonosítás.

  • Hálózati adatforgalom bemutatása, fogalmak tisztázása
  • Egy webalkalmazás sebezhető pontjai
  • Védekezési módszerek
  • Biztonságos bejelentkezés folyamatának bemutatása példa alkalmazáson keresztül
  • Tippek internetes fiókjaink biztonságosabbá tételéhez

20:20-20:50 – 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.


Szeptemberi dupla – Android/Kotlin és full-stack JavaScript fejlesztői meetup

HWSW logo2018. szeptember 11-én és 12-én délután a HWSW szervezésében a Szeptemberi dupla: Android/Kotlin és full-stack JavaScript fejlesztői meetup-okon vettem részt az AnKERT-ben.

Szeptemberi dupla - Android/Kotlin és full-stack JavaScript fejlesztői meetup

Kedd – Android/Kotlin fejlesztői meetup

Kedden az első előadó Ekler Péter volt, Android Pie újdonságai fejlesztői szemszögből című előadásával. Az általános újdonságokat követte néhány példa az energiafogyasztáshoz és testreszabáshoz kötődően: az Android rendszer:

  • úgy működjön, ahogyan a felhasználók jobban szeretnék használni – és persze ezáltal a Google még jobban megismerjen bennünket ;-),
  • alkalmazkodik a rendszer a mi életstílusunkhoz,
  • adaptívan korlátozni tudja a ritkán használt appoknál az akkumulátor-használatot (digitális jólét néven eladva),
  • adaptívan képes a fényerő beállítására (szürkeárnyalatos esti megjelenítés),
  • támogat új notification-öket (ez örökösen átalakul).

Elhangzó körkérdések voltak:

  • Mennyi ideig használunk egy-egy mobil alkalmazást?
  • Hány darab mobil alkalmazást használ a felhasználók többsége?
  • Ki találja hasznosnak a digitális jólét szolgáltatásokat?
  • Vajon mennyi változott (hány százalékot) az API 25-26-ra, 26-27-re, illetve 27-28-ra?

A válaszok érdekesnek, néha meglepőnek hatottak. Hasznos ötleteket kaptunk appok fejlesztéséhez, alkalmazkodva a felhasználói szokásokhoz.

A második előadás címe Kotlin 1.3 újdonságok volt, Balogh Tamás tartotta. Hasznos tippeket kaptunk a Kotlin konfigurációhoz, illetve függőségeinek megoldásához többféle fejlesztői eszközt érintve a gyakorló fejlesztő tapasztalataira építve. Újdonságok:

  • coroutine-ok experimental megjegyzéssel (működik, stabil, de egy későbbi új API verzióban fenntartott a jog, hogy megváltozhatnak és így törődni kell még velük),
  • előjel nélküli adattípusok példákkal (nem mintha ez lenne a legfontosabb, de néha kifejezetten hasznos lehet),
  • inline class-ok, intelligens bájtkód-beillesztésként magyarázható analógiával, mintegy kibővítve a korábbi inline function-ök lehetőségeit (nagyon tanulságos és eltalált volt a példaként bemutatott forráskód),
  • contract-ok (szerződés a fejlesztő és a fordító között).

A harmadik előadó Polacsek Attila volt és A pontonhíd az RxJava és a Data Binding között című bemutatójában körüljárta a reaktív UI-ban rendelkezésre álló adatkötés lehetőségeit, korlátjait, mindezt sok apró részletet is tartalmazó forráskód-részletekkel ismertetve.

Szeptemberi dupla - Android/Kotlin és full-stack JavaScript fejlesztői meetup

Szerda – Full stack JavaScript fejlesztői meetup

Szerdán négy előadást hallgattam meg a JavaScript nyelvhez kapcsolódóan. Az első előadó Szabolcsi-Tóth Szabolcs volt, aki a nyelv eredetét, fejlődését ismertette. A JavaScript nyelv az Európai Számítógépgyártók Szövetsége (ECMA) által felügyelt, ECMA-262 számon és ECMA Script néven gondozott szabvány (http://www.ecma-international.org/publications/standards/Ecma-262.htm) egyik implementációja. Elsősorban webes alkalmazások számára készült. Az ECMA évente jelentet meg új változatot a szabványból. A nyelv fejlesztése teljesen nyitott, bárki küldhet be ajánlást egy-egy új funkció beépítésére. A koordináció github-on (https://tc39.github.io/ecma262) keresztül zajlik. Az ECMA-262 tagok döntésén múlik, hogy az egyes ajánlások közül mi kerül be ténylegesen a nyelvbe – szigorúan szabályozott lépések sorozatát követően.

A második előadó Czibik Péter volt, aki 4 év full stack fejlesztői tapasztalatait osztotta meg velünk. Elmondta, hogy mi a különbség egy specialista és a full stack fejlesztő között, milyen előnyökkel illetve hátrányokkal járnak az egyes szerepek. Megerősített minket abban a hitünkben, hogy bár mindenhez nem lehet egyszerre érteni, ennek ellenére lehetséges olyan szerteágazó tudásra szert tenni (itt az adatbázis-backend-frontend hármasra gondolok) ami hatékonyan használható a munkában. Tapasztalata szerint náluk a RisingStack nevű cégnél először specialistákat képeznek, és onnan indulhatnak el a munkatársak a full stack irányba. Ismeretes náluk, hogy a full stack-es kollégák közül ki melyik szakterülethez ért a leginkább és ezen információ birtokában hatékonyabban tudnak együtt dolgozni az egyes projektek kivitelezése közben.

A harmadik előadóként Séra Bálint következett. Ő egy saját tapasztalatát mutatta be: hogyan lehet egy frontend-es számára optimális sorrendben betölteni a weboldalon az egyes JavaScript modulokat a lehető leggyorsabban úgy, hogy ne kelljen a felhasználónak egy üresnek látszó weboldal előtt várakoznia. Saját kódpéldákon keresztül mutatta be azt a folyamatot, ahogyan a JavaScript nyelv fejlődésével párhuzamosan bővültek a programozó lehetőségei. Először csak statikusan lehetett felsorolni a modulokat az oldal kódjában, ezzel rögtön egy sorrendiséget is meghatározva. Később erre a feladatra különböző keretrendszerek készültek. Az ES6-os JavaScript verziótól kezdve pedig szabványos eszköz áll a fejlesztő rendelkezésére, az import formájában.

Utolsó előadóként Miklós Bertalant hallgattuk meg. Ő is a nyelv fejlődésére épített, de sokkal inkább a felhasználó által tapasztalt élmény szemszögéből megközelítve a fejlesztő lehetőségeit. A JavaScript nyelv irányába is régebb óta megvolt az az igény, hogy gazdag animációs lehetőségeket tudjon biztosítani, mint a mára már elavult Flash vagy Silverlight technológiák. Ahogy ezek a lehetőségek elkezdtek megjelenni a nyelvben, úgy kezdtek megszületni a különböző keretrendszerek is, mint például a React, az Angular vagy a Single-page alkalmazások. Szerinte a mai weboldalak a progresszív megközelítést kell, hogy használják, ami egy-egy keretrendszerrel való megoldások készítése helyett inkább sok-sok kicsi ötletre épít, figyelembe véve az adott projekt szükségleteit, és ennek megfelelően alkalmazva néhány – a tarsolyban lapuló – eszköz keverékét.

Néhány előadás prezentációja letölthető.

Nyári napfordulós Android/Kotlin meetup

HWSW logo2018. június 19-én délután a HWSW szervezésében a Kotlin programozási nyelvet bemutató meetup-on vettem részt az AnKERT-ben. Az előadások elsősorban a nyelvvel még csak ismerkedők számára szóltak, amolyan kedvcsinálóként lehet rájuk tekinteni.

HWSW : Nyári napfordulós Android/Kotlin meetup

Az első előadó Ekler Péter volt, aki összehasonlította a Java és a Kotlin nyelvet. Miben más az utóbbi, mivel ad többet, mint a Java? Azonnal feltűnő volt a forráskód tömörsége, egyszerűsége. Több esetben is előfordult, hogy nem kellett kiírni egy metódus visszatérési típusát, mert a fordító képes azt kitalálni. Új képességekről is szó esett, például a null érték elleni védekezésről, amelyet a Kotlin nyelv nullable és nem nullable típusokkal old meg. Ez a képesség például a C# nyelvben régóta jelen van. A null értékhez kapcsolódóan új operátorok is bekerültek a nyelvbe, amelyekkel így nagyon tömören és egyszerűen lehet elágazást megvalósítani null esetén. Megjelentek az extension method-ok a nyelvben, amivel egy meglévő osztályt úgy lehet további metódusokkal bővíteni, hogy nem kell azt leszármaztatni. Végül hasznos tippeket kaptunk a Kotlinban való programozás elkezdéséhez, illetve bevezetéséhez. Fontos megjegyezni, hogy egy Kotlin nyelvű program Java bájtkódra (is) fordul le, ezért teljesen illeszkedni tud egy már meglévő Java kódú projektbe. Ezért a tanulás elkezdhető kis modulok megírásán keresztül is.

A második előadó Varga Balázs volt, aki Kotlinos multiplatformos teszteléssel kapcsolatos tapasztalatait osztotta meg. Tőle megtudtuk, hogy a Kotlin számukra többek között azért hasznos, mert közös üzleti logika kódbázissal tudnak dolgozni akár a szerver oldalon, akár a kliens oldali mobilalkalmazásokon vagy JavaScript-et futtató böngészőben. Balázs mutatott egy esettanulmányt, ahol nehézséget okozott számukra, hogy hol válasszák szét a közös kódbázist a platformspecifikus részektől, mert a megvalósítás az Androidos kliensen működött, de az iOS-es kliensen viszont nem.

A harmadik előadó Braun Márton volt. Ő az Android KTX framework-öt mutatta be, ami egy kifejezetten Kotlin nyelven íródott, a nyelv képességeire támaszkodó eljárásgyűjtemény. Feladata, hogy az Androidban körülményesen használható API-kat könnyen kezelhetővé, kevesebb kóddal leírhatóvá tegye. Bár léteznek ehhez hasonló, mások által készített könyvtárak, de a KTX erejét az adja, hogy a Google cég 2017 óta hivatalosan támogatja a Kotlin nyelvet, és ezen belül a KTX könyvtárat is. Láthattunk néhány kódpéldát, ahol szemléletesen mutatta be Márton, mennyivel rövidebben lehet KTX framework-kel elérni ugyanazt az eredményt, mint nélküle.

Az utolsó előadó, Fuszenecker Zsolt egy hibás programsort hozott példaként, amely saját termékükbe került bele, és emiatt az Androidos felhasználóik egy elég kicsi, de mégis jelentős hányadánál nem tudott működni az új funkció, amit a kiadott frissítéssel építettek a programba. Elmondta, hogy nem volt könnyű megtalálni a hibát, mert csak az Android 6.01 verziónál és alatta jelentkezett. A kérdéses hiba egy lambda kifejezés bal oldalán álló két paraméter zárójelezésével oldódott meg, mert a kérdéses kódsort a fordító olyan API rendszerhívásra fordította le, ami csak Android 7.0-tól vált elérhetővé.

Két előadás megtekinthető, illetve a négy előadás prezentációja letölthető.

Multimédia az oktatásban 2018

MMO logoA Neumann János Számítógép-tudományi Társaság (NJSZT) “Multimédia az oktatásban” Szakosztály által – évente – szervezett XXIV. Multimédia az oktatásban című nemzetközi konferencia a Nemzeti Közszolgálati Egyetemen Államtudományi és Közigazgatási Karán került megrendezésre 2018. május 31. és június 2. között.

A konferencia célja:

  • elősegítse az oktatás, a kutatás és a fejlesztés különböző területein dolgozó szakemberek tapasztalatcseréjét és találkozását,
  • bemutatkozási lehetőséget adjon az oktatóknak, kutatóknak és PhD hallgatóknak az új kutatási eredmények széleskörű szakmai megismertetésére és megvitatására előadások, kiállítások és kiadványok segítségével.

19 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ő:

  • multimédia alkalmazása,
  • mLearning/eLearning és környezete,
  • felhőalapú szolgáltatások,
  • multimédiafejlesztések, eredmények, alkalmazások.

Letölthető a konferencia programja.

Már többször is részt vettem előadóként ezen a konferencián szakmai előadással, magyar és/vagy angol nyelvű cikkel, poszterrel az oktatói csapat tagjaival együtt. Ezek a publikációs listámban megtalálhatók.

MMO 2018 oklevél átadó

2018-ban előadást tartottam “Az XML feldolgozás lehetőségeinek összehasonlítása Java nyelven” címmel 25 percben, amely a konferencia “Multimédia és a tudományos kutatás összefonódása” című szekciójába került. Az előadás látványos, összefoglaló, rendszerező jellegű volt és a DOM, SAX, JAXP, JAXB, StAX, JAX-RPC, JAX-WS lehetőségeket/technológiákat/osztálykönyvtárakat érintette. Körülbelül 30-an voltak jelen a szekcióban. Hasznos és kellemes élmény volt találkozni sok-sok régi ismerőssel a konferencián.

Berecz Antónia kolléganő is tartott egy előadást az MMO 2018 konferencián “Oktatási stratégia megvalósítása e-learning modellosztályok segítségével” címmel. Ez az előadás a “Tanulási élmény a XXI. században / Multimédiafejlesztések, eredmények, alkalmazások bemutatása” című szekcióba került, amelynek Antónia szekcióelnöki feladatait is ellátta. Antónia korábbi szakdolgozó hallgatói közül négyen az MMO szakdolgozatversenyen I., II. és két III. helyezést értek el. Ehhez személyesen gratuláltam neki a konferenciát záró eseményén, de most írásban is kifejezem elismerésemet.

Az előadásom prezentációját ILIAS e-learning tananyagban tesszük elérhetővé tanfolyamaink résztvevői számára.

Az előadásom témája a Java EE szoftverfejlesztő tanfolyam 9-12. óra: XML feldolgozás és 13-16. óra: JSON feldolgozás alkalmaihoz kapcsolódik.