Doktoranduszok programoznak

it-tanfolyam.hu adatok elemzéseSaját doktorandusz csoporttársaimmal többször beszélgettünk már arról, hogyan tudnák/tudják használni a programozás eszköztárát, módszereit, lehetőségeit saját kutatási munkájukban, beépítve a kutatási folyamat egyes lépéseibe, illetve disszertációjuk elkészítésébe.

Mivel a 10 fős csoportban mindenkinek más az alapvégzettsége, így szoftverfejlesztéshez, programozáshoz közös szókincs és terminológia haladó szinten természetesen nincs, viszont közös bennünk, hogy mindannyian alkotunk különféle modelleket és elemzünk adatokat.

Például:

  • a mérnökök, fizikusok, geográfusok, biológusok többféle kísérletet végeznek el, szimulációkat terveznek és futtatnak, mérőeszközöket és műszereket használnak,
  • az informatikusok különböző matematikai eszközöket alkalmazva objektumorientált – vagy másféle – modellezést végeznek, szoftvereket terveznek, javítanak, újraírnak.

Adatokat is elemzünk, ki-ki előképzettségének megfelelően:

  • kérdőívező szoftverekből exportálva valamit,
  • Excel munkalapokon, függvényekkel, adatbázis-kezelő funkciókkal, kimutatásokkal (Pivot táblák),
  • különböző fájlformátumokkal (CSV, XML, JSON, egyedi) dolgozunk és konvertálunk A-ból B-be,
  • távoli adatbázisokhoz, felhőbeli adattárházakhoz csatlakozunk, lekérdezünk és kapunk valamilyen – többnyire szabványos – adathalmazt,
  • matematikai, statisztikai szoftvereket használunk, például: MATLAB, Derive, Maple, SPSS.

Önszerveződően összeállítottunk egy olyan két részből álló tematikát, ami mindannyiunk számára hasznos. A 64 óra két 32 órás modulból áll: Java programozás és SPSS programrendszer.

Java programozás modul

  • 1-8. óra: Objektumorientált modellezés, MVC rétegek, algoritmus- és eseményvezérelt programozás
  • 9-16. óra: Fájlkezelés és szövegfeldolgozás (XLS, CSV, XML, JSON formátumú adatok írása, olvasása, feldolgozása)
  • 17-24. óra: Adatbázis-kezelés JDBC alapon (SQL parancsok, CRUD műveletek, hierarchikus lekérdezések)
  • 25-32. óra: Komplex adatfeldolgozási feladatok megoldása programozási tételek használatával

SPSS programrendszer modul

  • 1-8. óra: Bevezetés az SPSS-be, interakciós eszközök, adatmátrix, menük: Transform, Analyze, szkriptek futtatása
  • 9-16. óra: Alapstatisztikák kérése, kereszttáblázatok készítése, hipotéziselmélethez kötődő funkciók, normalitásvizsgálat, minták összehasonlítása t-próbával
  • 17-24. óra: Regresszió-analízis: lineáris, nemlineáris, többváltozós; Idősorok elemzése: szűrés, periodogram, trendelemzés
  • 25-32. óra: Mesterséges neuronhálózatok: matematikai modell és működése

Mivel mindenki doktorandusz a csoportban, így a különböző MSc-s alapvégzettsége ellenére mindannyiunknak vannak strukturális programozáshoz kötődő alapismeretei, valamint adatok elemzéséhez szükséges elméleti matematikai/statisztikai alapjai. Az én részem a 32 órás Java programozás modul, ami 2018.10.28-tól 2018.12.09-ig tart hétvégi napokon. Ez nagyban lefedi a Java SE szoftverfejlesztő tanfolyamunk tematikáját. A koncepciót once-in-a-lifetime jelleggel dolgoztuk ki azzal a fő szándékkal, hogy hatékonyabban működjünk együtt a jövőben.

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.