Matematikai Tehetségekért Alapítvány
A Kenguru Matematika Verseny magyar szervezőinek rendszere kezeli az évente közel 40 000 diák nevezését, papír alapon beadott megoldásainak automatikus feldolgozását kezeli és az eredményeik közzétételét.
Platformok
Web Win Orchard CMSTechnológiák
C# WPF MSSQLA Matematikai Tehetségekért Alapítvány (MaTe) weboldala a Nemzetközi KENGURU Matematika Verseny lebonyolításának színtere. A honlapon történik a diákok nevezése és az eredmények közzététele, a kapcsolódó asztali alkalmazás pedig az évi közel 40.000 papír alapon beadott megoldás képfelismeréssel történő feldolgozását teszi lehetővé.
Kenguru matematika verseny
Az alapítvány eredetileg Zalai Matematikai Tehetségekért Alapítvány néven működött, de a weboldala a növekedés és a névváltás ellenére továbbra is a zalamat.hu domainen érhető el.
Céljuk a matematikában tehetséges fiatalok támogatása képzések, versenyek és táborok szervezésével. Az alapítvány egyik fő tevékenysége a Kenguru matematika verseny szervezése. A versenyen a diákoknak korosztálytól függően 24 vagy 30 matematikai feladat kapcsán kell az 5 lehetséges feladatból kiválasztani a helyes válaszokat. A megoldásokat egy kódlapon a megfelelő mezőkben elhelyezett X-ek segítségével adják meg a versenyzők.
Új kezdet
A MaTe rendszer a weboldal tartalomkezelőjéből (CMS = Content Management System), a verseny nevezést és az eredményhirdetést támogató egyedi fejlesztésű modulokból és egy a szkennelt kódlapok szoftveres feldolgozását végző asztali alkalmazásból áll. Ezt a három megoldást eredetileg egymástól független fejlesztők valósították meg. Az évek során ezért egyre nagyobb kihívást jelentett a rendszer elemeinek összehangolása és folyamatos karbantartása. Az alapítvány ezért azzal bízta meg cégünket, hogy fejlesszük le teljesen új alapokon az eredeti rendszer teljes funkcionalitását, de az eredeti arculat megtartásával.
Felgyorsult folyamat
A Kenguru verseny nevezése 2010 óta történik a weboldalon keresztül. Az évi átlagosan körülbelül 35.000 versenyző nevezése, feladatlapja és eredménye tárolva van az adatbázisban. Ennek az adatmennyiségnek a feldolgozása és a kezelése minden évvel egyre inkább feszegette az eredeti PHP nyelven alapuló CMS rendszer korlátait. Ezért az aktuális oldal és az újonnan optimalizált egyedi modulok a .Net alapú Orchard CMS-ben valósultak meg.
A verseny lebonyolítását követően körülbelül egy héten belül fel kell dolgozni a hallgatók válaszait és minél előbb közzé kell tenni az eredményeket. A szkennelt kódlapok feldolgozását egy asztali alkalmazás végzi el, mely közvetlen összeköttetésben van az adatbázis szerverrel. A WPF (Windows Presentation Foundation) alkalmazás C# nyelven íródott, és egy saját fejlesztésű képfeldolgozó modul segítségével határozza meg az egyes nevező diákok eredményeit. A lapok oldalán található vonalkódok segítségével rendelődik össze a diák nevezési adata a szkennelt megoldókulccsal. Az X jelöléseket a rendszer közel 100%-os pontossággal találja meg, és számos beállítási lehetőséggel és keresési funkcióval támogatja az esetlegesen felmerülő hibák detektálását és manuális korrigálását is.
Az asztali alkalmazás folyamatosan frissíti a szerver adatait, így a módosítások egyetlen beállítással publikálhatók. A manuális ellenőrzés megkönnyítése érdekében például a szkennelést követően a versenyzők a nevezéshez kapott azonosítójuk segítségével online megtekinthetik a rendszer által detektált válaszaikat, és lehetőségük van jelezni az esetleges pontatlanságokat a szervezők felé. A tényleges pontszámítás és a helyezések meghatározása szintén egyetlen gombnyomással kezdeményezhető az ellenőrzési időszak leteltével.