Programozás oktatását segítő portál kialakítása

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Programozás oktatását segítő portál kialakítása"

Átírás

1 BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI K AR IRÁNYÍTÁSTECHNIKA ÉS INFORMATIKA T ANSZÉK Programozás oktatását segítő portál kialakítása Diplomaterv Hanák Tamás Gábor Konzulens: Dr. Szeberényi Imre Budapest, 2009

2 Nyilatkozat Alulírott Hanák Tamás Gábor, a Budapesti Műszaki és Gazdaságtudományi Egyetem hallgatója kijelentem, hogy ezt a diplomatervet meg nem engedett segítség nélkül, saját magam készítettem, és a diplomatervben csak a megadott forrásokat használtam fel. Minden olyan részt, melyet szó szerint, vagy azonos értelemben, de átfogalmazva más forrásból átvettem, egyértelműen a forrás megadásával megjelöltem. Hanák Tamás Gábor

3 Kivonat A XXI. századra kialakult információs társadalom velejárója az élethosszig tartó, folyamatos tanulás, ami beépül mindennapjainkba. A hagyományos oktatási módszerek mellett az alternatív, elektronikus oktatásnak egyre nagyobb szerepe van. Egyrészt a tanulók minden aktuális információhoz, tananyaghoz, annak megértéséhez szükséges anyagokhoz azonnal hozzájutnak, másrészt a felnőttképzésben résztvevők munkájuk mellett tudják továbbképezni magukat. Diplomamunkámban az E-learning rendszerek általános tárgyalása után a Moodle LMS keretrendszeren keresztül mutatom be az E-learning rendszerekben rejlő lehetőségeket. A felhasználó szintű áttekintést követően a rendszer moduláris felépítésének, kibővíthetőségének vizsgálatával a saját munkámat készítem elő, másrészt a Moodle fejlesztése iránt érdeklődő olvasók számára nyújtok segítséget. A dolgozat második fele az általam fejlesztett Moodle modulok: a Jelenléti ív, Csoportváltó és a Projekt modulok tervezésének lépéseivel, a modulok bemutatásával foglalkozik. Ezután kitérek a Cporta feladat beadó és értékelő rendszer és a saját Moodle feladattípus modulom integrálási lépéseire.

4 Abstract In the 21. century the life-long learning is an essential phenomenon of the information society. Learning becomes a way of life. The alternative, electronic education plays an increasingly bigger role beside the traditional educational methods. On the one hand the students can get every actual information, a curriculum, and additional substances to understand what they heard in the school, on the other hand the participants can continue their adult training beside their work. In my thesis after the general negotiation of E-Learning systems, I illustrate the opportunities residing in the E-learning systems with the help of Moodle Learning Managment System. Following the user level overview I prepare my own work with the examination of the modular construction of the Moodle system. I also want to give a good documentation to those people, who want to know more about the developing of Moodle. The second half of the paper deals with the Moodle modules developed by me: attendance register group change projekt modul to support collective working I go into details about the planning steps and the presentation of the modules. Than I describe the integration steps between the Cporta task submitting and evaluation system and my own Moodle task module.

5 Tartalomjegyzék Bevezetés...1 A feladat célja...1 A dolgozat felépítése E-Learning alapok Fogalmak Az E-Learning fogalma LMS (Learning Managment System) Az E-Learning fejlődéstörténete CBT - offline tanulás E-Learning LMS + tananyag E-Learning szociális, web alapú tanulás Szabványok és az E-Learning AICC IMS SCORM E-Learning Magyarországon, külföldön A Moodle keretrendszer Mi is az a Moodle? Miért a Moodle-t válasszuk? Együttműködés Tanulásszervezési módszerek és eszközök a Moodle keretrendszerben Moodle bemutatása fejlesztői szemszögből A Moodle alapvető tulajdonságai Adatbázis séma: Mi történik, a required_once('config.php') hatására Model-View-Controller réteg megvalósulása egy Moodle modulban Model réteg: Megjelenítési View réteg A vezérlő(controller) réteg: Pluginok Tevékenység modulok...26

6 Blokkok Szűrők(Filters) Kurzus formátum Hitelesítés (Authentication plugins) Kurzus jelentés (Course report) Adatbázis mező (database field) Tanulói munka (Assignment types) Oktatást segítő funkciók felkutatása, bemutatása Fejlesztett modulok bemutatása Jelenléti ív Specifikáció: Használati esetek Adatmodell(ER diagram): A működés leírása A Felhasználó felület bemutatása Csoportválasztás Specifikáció Részletes leírás Aktivitás diagram Használati esetek Adatmodell(ER diagram): Szerkezeti felépítés A Felhasználó felület bemutatása Projektek támogatása Specifikáció Részletes leírás Szerkezeti felépítés Aktivitás diagram Használati esetek Adatmodell(ER diagram): A Felhasználó felület bemutatása C porta és a Moodle integrálása Cporta feladatbeadó rendszer Cporta feladatbeadó rendszer és a Moodle integrálása...61

7 5.2.1 Adatbázis integrációja A Moodle és a Cporta együttműködése Új kérdéstípus létrehozása Moodle rendszerben Feladat létrehozó, beadó felületek Összefoglalás...69 Irodalomjegyzék...70 Ábrajegyzék...73 Függelék A Moodle adatbázis táblái csoportokba rendezve Az egyes Cporta funkciók Moodle megfelelői...76

8 Bevezetés A napjainkban kialakuló információs társadalom életében egyre nagyobb szerepet kapnak a digitális technikai újdonságok. A KSH 2008-as felmérése[1] alapján a háztartások 59%-a rendelkezik számítógéppel és a háztartások 48%-ában van internetkapcsolat. Az internetezők 73%-a csaknem minden nap használja az internetet. A leggyakoribb tevékenységek közé az információkeresés és a kommunikáció tartozik. A harmadik legjelentősebb tevékenység, amit az internetezők 44%-a választott az az oktatási és képzési szolgáltatások igénybevétele volt. A technikai újdonságok elterjedése mellett a WEB 2.0-ás szolgáltatások megjelenésével a fiatalabb korosztály számára, akik beleszülettek az internet világába egyre természetesebb, hogy a tanulmányaik során az internet által nyújtott lehetőségeket is igénybe vegyék. Az LMS tanulásszervezési rendszerek segítségével a tanulók mindig megtalálják az aktuális információkat, a tananyagokat. Mivel az órákon nincs mindenre idő, az LMS rendszerek segítségével a tanárok plusz anyagokat is biztosíthatnak a tanulóik számára, amik segítségével a tananyag jobban megérthető, elsajátítható. Ugyancsak ezt a célt szolgálják a tanulók számára biztosított online tesztek, gyakorlatok, ahol a tanulók tesztelhetik tudásukat, és azonnali visszajelzéseket kaphatnak. Az LMS rendszerek egyre nagyobb mértékben terjednek el és egyre jelentősebb lesz a szerepük az oktatás támogatásában. A feladat célja A szakdolgozatom célja kettős. Egyrészt a Moodle LMS keretrendszeren keresztül szeretném bemutatni az E-learning rendszerekben rejlő lehetőségeket. Nemcsak egy felhasználói szintű tájékoztatót szeretnék az olvasó elé tárni, hanem a rendszer moduláris felépítésének, kibővíthetőségének vizsgálatával egy olyan dokumentációt akarok a Moodle fejlesztése iránt érdeklődő olvasók számára biztosítani, ami megkönnyíti számukra a Moodle fejlesztésében való kezdeti lépéseket. A diplomamunkám másik célja a saját Moodle moduljaim bemutatása. Ezeknek a moduloknak a fejlesztését az indokolja, hogy miután megvizsgáltam a Moodle-t 1

9 abból a szempontból, hogy milyen mértékben támogatja a nagy hallgatói csoportokkal való együttműködést, milyen funkciók azok, amik a Budapesti Műszaki Egyetem Szoftver laboratórium 1 2. tárgyának oktatásában a tanárok munkáját segítené arra jutottam, hogy a jelenléti ív, a hallgató csoportok átjárhatósága, a Cpp feladattípus, valamint a tanulók projektekben való együttműködésének támogatása hiányzik a Moodle-ból. A dolgozat felépítése Szakdolgozatom első felében egy rövid áttekintést adok az E-learning rendszerekről. Mire hivatottak ezek a rendszerek, milyen szolgáltatásokat biztosítanak a tanítás, illetve a tanulás folyamatában, milyen fejlődésen mentek keresztül. Az alapok bemutatása után a fontosabb szabványokról írok néhány szót, amik az E-learninghez köthetők. Munkám második fejezetének központjában a Moodle áll. A fejezet első része a Moodle felhasználói bemutatásával foglalkozik. A kialakulása, szolgáltatásainak leírása, valamint a keretrendszer különféle statisztikai adatainak bemutatásával egy könnyen érthető, átfogó képet szeretnék adni a rendszerrel először találkozó személyek számára. A fejezet második felében a Moodle-t fejlesztői szemmel vizsgálom. A rendszer felépítésének áttekintése után végigmegyek azokon a lehetőségeken, amelyek segítségével a Moodle szolgáltatásainak köre kibővíthető, testre szabható. A harmadik részben összegyűjtöm az alapvető oktatást segítő funkciókat, majd megvizsgálom a Moodle rendszert, hogy ezeket a funkciókat milyen mértékben támogatja. A diplomamunkám negyedik fejezetében az általam fejlesztett Moodle modulokat mutatom be: a Jelenléti ív, Csoportváltó és a Projekt modulokat. Ezután a Cporta feladat beadó és értékelő rendszer és a saját Moodle feladattípus modulom integrálási lépéseit írom le. Végül összegzem a diplomaterv eredményeit, kitérve a továbbfejlesztés lehetséges irányaira. 2

10 1 E-Learning alapok 1.1 Fogalmak Az E-Learning fogalma A tanítási-tanulási folyamat átültetése az információs rendszerek világába.[4][5] Az E-learning tulajdonképpen olyan oktatási forma, amelyben a tanár, a tanuló közös kommunikációs eszköze elektronikus alapú, többnyire valamilyen számítástechnikai eszköz. Tehát olyan tanítási módszer, ahol a tananyag bemutatására, feldolgozására, valamint a számonkérésre digitális médiumokat használnak. Számos definíció született erre a fogalomra. Lássunk ezek közül néhányat: 1. e-learning - a hagyományos és távoktatási, valamint az internet nyújtotta új lehetőségek együttes alkalmazását jelentő új és hatékony tanulási eljárás. [2] 2. Az e-learning néven összefoglalható fejlesztések, programok, tananyagok a tanulásszervezés, tanulásirányítás és tanulás-támogatás olyan formáit jelentik, amelyek három, jól körülírható forrásból merítenek: 1. a számítógéppel segített tanulás eszközrendszere (computer based learning), 2. az internetes, webalapú tanulás eszközrendszere (web based learning), 3. a távoktatás tapasztalatai és eszközrendszere (distance learning). ábra 1: E-learning fogalom 3

11 Az E-learning tehát a három forráshalmaz közös halmaza, különböző rendszerszintű operatív programok gyűjtőneve, melyek a számítógép és a hálózati adatbázisok, illetve internetes kommunikáció használatával, a tanulási folyamat egészének rendszerszemléletű megközelítésével, illetve hatékony rendszerbe szervezésével törekszenek a tanulás eredményességének és hatékonyságának javítására. [3] A kommunikációs folyamat szinkron vagy aszinkron jellegű: A szinkron távtanulás - Amikor a tanár és a tanulók egy időben vannak, de különböző helyen. A tanítás központjában a tanár áll, de nincs közvetlen fizikai kapcsolatban a tanulóival. Szinkron távtanulási eszközök például a videokonferencia, alkalmazás megosztás, chat. Az aszinkron távtanulás - Különböző helyen és különböző időben történik a tanítás és a tanulási szakasz. A szerveren, LMS(ld. A következő fogalmat.) rendszeren elhelyezett tananyag a tanulók számára egyénileg feldogozható, egyéni ütemezésben. Aszinkron távtanulás eszközei lehetnek a különböző letölthető dokumentumok, , hírlevelek, fórumok. Mindkét módszerre igaz, hogy a fő adatáramlási irány az oktató felől a diákok felé tart. Viszont a diák-tanár irány is jelentős szerepet kaphat, valamint a diák-diák közti kommunikációnak is nagy szerepe van. A 2. generációs E-learning rendszereknél, mint később lesz róla szó ez a fő adatáramlási irány is megszakad LMS (Learning Managment System) Tanulásszervezési keretrendszer[5][6]. Az E-Learning rendszerek nélkülözhetetlen alapja. Számos szolgáltatást biztosít az online kurzusok adminisztrálására, a tananyagok hozzáférhetőségére, megjelenítésére, az elsajátított tudás számonkérésére, valamint az oktatás során felmerülő egyéb feladatok végrehajtására. Ezekről a szolgáltatásokról később a Moodle LMS rendszer kapcsán még lesz szó részletesebben. Olyan cégek mint IBM, BlackBoard, WebCT, Desire2Learn mind rendelkeznek saját LMS keretrendszerrel, amiket különböző egyetemek, cégek, állami intézmények ezreinél használnak. 4

12 Elterjedőben vannak a nyílt forráskódú, ingyenes keretrendszerek is, melyek közül a Moodle egy minden igényt kielégítő, elterjedt, egyszerűen bővíthető, dinamikusan fejlődő keretrendszer. 1.2 Az E-Learning fejlődéstörténete CBT - offline tanulás A CBT a Computer Based Training rövidítése ami Számítógép központú képzést jelent. Ebben az esetben a tanulók megkapják a szükséges információkat, amik a megfelelő felkészüléshez szükségesek, de a tanulóoktató valamint a tanuló-tanuló irányú kommunikáció nem biztosított, ezért offline tanulásnak is nevezhetjük. A tananyaghoz a tanuló CD-ROM-on keresztül jut hozzá, esetleg statikus internetes oldalakról tudja azokat letölteni E-Learning LMS + tananyag Az első generációs E-Learning rendszerek az iskolák virtuális világba átültetett másai. A tanulók az LMS rendszerek segítségével egy virtuális osztályterembe kerülnek, ahol determinizált módon bejárják azt az útvonalat, amit az oktatási intézmény kijelöl: Csoportokba sorolják őket Kurzusokat hallgatnak végig Gyakorlatokat oldanak meg Számot adnak a tudásukról feladatokon keresztül Olyan jól definiált, formális rendszereket hoztak létre, melyek az élő oktatási rendszerből, az ottani tapasztalatokból merítenek. AZ LMS keretrendszer segítséget nyújt az oktatás szervezésében, az adminisztrációs feladatokban, a tananyagok közzétételében. Az első generációs E-Learning rendszerek másik fontos tartó pillére a tananyag. Gyakran az a szemlélet érvényesül, hogy a fő szempont a jó LMS 5

13 rendszer beszerzése, tananyag majd csak akad valahol. A megfelelő hozzáállás ennek pont az ellenkezője. A tananyagra kell nagyobb erőforrást szánni, és a bőséges mennyiségben található nyílt forráskódú ingyenes LMS rendszerekből biztosan megtalálható az igényeknek megfelelő E-Learning szociális, web alapú tanulás WEB 2.0 A 90-es években az internetezők a webet főleg információszerzésre használták. A kommunikáció eszközei az -re, az IRC-re korlátozódott, és az internetben rejlő egyéb funkciók rejtve maradtak, kihasználatlanul. Az új generációk, akik fiatalon kerültek kapcsolatba az internettel, vagy már beleszülettek az internetes társadalomba, azok az interneten nem információ forrás után kutatnak, hanem olyan eszközöket keresnek, amelyek képesek arra, hogy a saját igényeiknek megfelelő információkat megkeressék, rendszerezzék, azok tovább formálására lehetőséget adjanak. Az új nemzedék számára az internet a kommunikáció, az együttműködés, és az önkifejezés eszköze lett. Ezeket a változásokat tapasztalhatjuk a blog szolgáltatók(worldpress, Blogspot, Freeblog...), közösségi oldalak(iwiw, Facebook, MySpace) és az ezekre az oldalakra épülő rengeteg egyéb szolgáltatás elterjedésével. Az RSS egyszerű XML formátum segítségével teszi lehetővé azt, hogy a számunkra fontos információkat kiszűrjük a rengeteg közzétett adat közül és azonnal értesülhessünk a változásokról, újdonságokról. Ha belegondolunk, akkor valójában a WEB 2.0 nem technológiai változást jelent, hanem egy szemléletbeli változást. Ez a szemléletbeli változás minden létező internetközeli ágazatban végigsöpört, ami alól az oktatás, az E-Learning sem maradhatott ki. 6

14 E-Learning 2.0 A második generációs E-Learning rendszerek az első generációshoz képest egy fordított szemléletet valósítanak meg. A tanuló a tanulási folyamat aktív alanya. Ő áll a középpontban. Nemcsak a tanulás folyamatában, hanem annak megtervezésében is részt vesz. Maga állítja össze azt az útvonalat, amit be fog járni. Tanár-központú tanulás Tanuló-központú tanulás Alacsony szintű tanulói döntéslehetőség Magas szintű tanulói döntéslehetőség Passzív tanuló Aktív tanuló A tekintélyt a tanár képviseli A tekintélyt a tanuló képviseli Az LMS rendszerek helyét átveszik a PLE(Personal Learning Enviroment) Egyéni Tanulmányi környezetek, melyekben a tanuló: 1. átjár több LMS rendszer között 2. blogot ír 3. saját előre haladását menedzseli 4. kapcsolatokat épít, és együttműködik 5. több hírcsatorna tartalmát figyeli, szűri(rss) Tehát az E-learning platformja a WEB lesz, a diák saját maga tanárává válik, maga jelöli ki az előrehaladását, hozza létre a tananyagot, és az oktatás célja nem egy ismeretanyag, csomag átadása, hanem egy olyan gondolkodásmód kialakítása lesz, hogy a tanuló képes legyen önálló problémamegoldásra, véleményalkotásra. A tanár elsősorban a diák mentora lesz. A fejlődéstörténetben felhasznált irodalom: [5][6] 7

15 1.3 Szabványok és az E-Learning Egy tananyag felépítése komplex feladat. Programozási, grafikai, multimédiás ismeretek szükségesek hozzá. Ahhoz, hogy ezek a tananyagok újrafelhasználhatóak legyenek, több különböző LMS rendszer is képes legyen őket felhasználni, jól meghatározott szabványok mentén kell létrehozni őket. Négy, öt nagyobb nemzetközi elektronikus oktatási szabványrendszer van, amiket alkalmazva olyan tananyag hozható létre, melyet használhatunk(futtathatunk, megjeleníthetünk) mindazokban az LMS rendszerekben, melyek szintén ezeket a szabványokat követik AICC Az AICC (Aviation Industry CTB Committee) a technológiai-alapú oktatási szakértők nemzetközi szövetsége. A szövetség alapulása óta (1988) igyekszik ajánlásokkal és kidolgozott szabványokkal segíteni a elektronikus oktatást. A CTB rövidítés Computer Based Training-et, azaz számítógép-alapú oktatást jelent. Az AICC leginkább kiadvány formában jelenik meg, 3 fő típusa van: AICC irányelvek Technikai riportok Munka-dokumentumok Az AICC legfontosabb javaslatait, irányelveit, útmutatásait egy úgynevezett AGRs lista mutatja. AICC Guidelines and Recommendations: AGR AICC publikációk, kiadványok AGR Javasolt konfigurációk, a céleszköz leírása (hardware) AGR Digitális hang AGR Operációs rendszerekről és kezelőfelületekről AGR CTB perifériák, I/O eszközök AGR Elektronikus oktatási keretrendszer (kommunikáció, adatáramlás) AGR Multimédiás komponensek a tananyagban, formátumok (szöveg, kép, animáció, hang) AGR Digitális videó 8

16 AGR Felhasználói felület AGR Web alapú komponensek Az AICC szabványról bővebben a weboldalon olvashatnak.[7] IMS Az IMS (Instruction Management system) szabvány az elektronikus oktatásban használatos keretrendszerek megtervezéséhez szükséges szabványokat és leírásokat tartalmazza. Ez a szabvány a metaadatok katalogizálásának és elérésének módszertanát, valamint a dinamikus kommunikáció feltételeit fogalmazza meg. Az IMS szabványról bővebb információt a címen találhatnak. [7] SCORM A SCORM (Sharable Content Object Reference Model) rövidítés szó szerinti fordításban megosztható tartalmú objektumok modellezését jelenti, ez a mindenki számára ajánlatos szabvány azonban ennél jóval többet jelent. A SCORM a Web-alapú oktatási anyagok referencia modellje. Egy olyan nyelv amely magában foglalja a tananyagon belüli szerkezetet, elnevezéseket, a képek, animációk, szövegek helyét és neveit, a fejlécektől a lábjegyzetekig. Ez a szabvány az összekötő láncszem, ha úgy tetszik folyamat-sorozat a használni kívánt technológiák és a teljes kivitelezés között, ami végül majd "kereskedelmi" forgalomba kerül januárja óta a SCORM 1.1-es verziója van érvényben. A SCORM szabvány három fő részegységből áll össze: Tartalomegyesítő modell (Content Aggregation Model, a továbbiakban: CAM) Futtatási környezet (Run Time Environment, a továbbiakban: RTE) Besorolás és navigálás (Sequencing and Navigation, a továbbiakban: SN) A SCORM szabvány az ADL Network szervezet dolgozta ki, további információt a szervezet hivatalos oldalán olvashatnak: [7] 9

17 1.4 E-Learning Magyarországon, külföldön Magyarországon az E-learning 1.0-ás generációja van jelen. LMS rendszer és a tananyagok. Az E-learning technológiák elterjedését több tényező is hátráltatja: Először is a költségcsökkentő hatása sokkal kisebb, mint a nagyobb területű országokban. Az LMS rendszerekre fejlesztett tananyag Magyarországon meglehetősen szegényes. Mind mennyiségben, mind minőségben problémák vannak. Az MTA SZTAKI elearning osztályvezetője szerint[8] ennek az oka a fejlesztési forráshiány, a kevés tananyagfejlesztő, valamint a piacon fellelhető tananyagokat tartalmazó központi adatbázis hiánya. Ennek hiányában redundáns tartalmak születnek. A Magyarországon létrehozott tananyagok nagy része egy-egy cég belső oktatásai igényeit kielégítő speciális anyagok[9]. Amik ideális esetben úgy készülnek, hogy a cég oldaláról elkészítik a szakmai tartalmat valamilyen egyszerű formátumban, ami a tananyagszerkesztőkhöz kerül, akik elkészítik az első változatot, ami ismét visszakerül a cégen belül kijelölt személyhez, így több lécsőben alakul ki a szakmailag pontos, hatékony tananyag. A gyakorlatban a megrendelő gyakran nem tudja pontosan megértetni magát a tananyag készítővel, így nem sikerül kidolgozni a tökéletes tananyagot. A harmadik tényező, ami gátolja az E-learning bevezetését Magyarországon az a számítógépes, internetes kultúra szintje[10]. Egyrészt a számítógépet használók képzettsége sem megfelelő, másrészt a tanításért felelős személyek sem motiváltak eléggé az E-learning rendszerek használata iránt. 10

18 2 A Moodle keretrendszer 2.1 Mi is az a Moodle? A Moodle[11][17][18] egy ingyenes, nyílt forráskódú LMS, azaz tanulásszervezési keretrendszer. A neve egy mozaikszó, feloldása: Modular Object-Oriented Dynamic Learning Environment, magyarul: Moduláris Objektumközpontú Dinamikus Tanulási Környezet(Eleinte a Moodle M betűje a vezető fejlesztő nevére utalt). A Moodle szó egy ige is egyben, mely egy élvezetes bütykölési folyamatot ír le, ami rálátáshoz, kreativitáshoz vezet. A szoftvert Martin Dougiamas(Perth, Ausztrália) kezdte el fejleszteni a 90-es években, de mint ahogy az a nyílt forráskódú szoftverek esetén lenni szokott, sok önkéntes csatlakozott hozzá és kapcsolódott be a Moodle modulok fejlesztésébe, nyelvi változatok elkészítésébe. Martin Dougiamas[12] az Ausztráliai Curtin egyetem WebCT LMS rendszerének adminisztrátora volt, aki Informatikából (Computer Science and Education) diplomázott. Doktori munkájának címe:the use of Open Source software to support a social constructionist epistemology of teaching and learning within Internet-based communities of reflective inquiry(nyílt forráskódú szoftverek használata a tanítás és tanulás konstruktivista ismeretelméletének a reflektív ismeretszerzés internetes közösségein belüli támogatásában). [13]Az első változat 2002 nyarán jelent meg. A szoftver jelenleg az os stabil verziónál tart és több, mint 200 országban használják. Naponta átlagosan 3000-szer töltik le a keretrendszert. Részletes statisztikák a következő címen érhetők el: Regisztrált oldalak Országok száma 208 Kurzusok 2,975,577 Felhasználók 30,437,410 11

19 ábra 2: A moodle.org oldalon regisztrált Moodle keretrendszerek száma havi bontásban 2.2 Miért a Moodle-t válasszuk? A rendszer megbízható: 262 olyan ismert oldal van, ahol nél több a regisztrált tanuló. A rendszer dinamikusan fejlődő: jelenleg az 1.9-es verziónál tart. Gyakoriak a hibajavítások, új verziók megjelenése, rengeteg modul készült, és folyamatosan is készül a Moodle-hoz. Egy aktív közösség áll mögötte, akik egy jól működő, segítőkész fórumot működtetnek. Részletesen dokumentált, amely dokumentáció beépül magába a Moodle rendszerbe is. Magyarországon is ismert, sok helyen használt (egy lista a Magyarországon regisztrált Moodle oldalakról: Pillanatnyilag 79 nyelvi csomag érhető el hozzá. Mivel nyílt a forráskódja ezért teljes mértékben testre szabható, kibővíthető. A Moodle mögött álló fejlesztői közösség már számos modult létrehozott, amik kibővítik az alapszolgáltatásokat.[14] 12

20 2.3 Együttműködés Több együttműködési pontja lehetséges egy LMS rendszernek más rendszerekkel. A Moodle az alábbi szolgáltatásokat biztosítja: Hitelesítés: LDAP, Shibboleth, IMAP és még számos egyéb szabványos mód. Beiratkozás: IMS Enterprise többek között, vagy közvetlen együttműködés külső adatbázissal. Kvízek, kvíz kérdések importálhatók és exportálhatók többféle formátum szerint: GIFT (Moodle saját formátuma), IMS QTI, XML és XHTML. Erőforrások: IMS Content Packaging, SCORM, AICC (CBT), LAMS A Moodle képes együttműködni több CMS rendszerrel, pl.: PostNuke. RSS szolgáltatás segítségével friss tartalmakat képes publikálni, úgymint események, fórum hozzászólások, valamint a másik oldala, a hírcsatornák megjelenítésére is meg van a lehetőség. A Moodle bizonyos mértékben képes felhasználni más LMS rendszer szolgáltatásait: Kvízek, kurzusok importálása BackBoard és WebCT LMS rendszerekből. 2.4 Tanulásszervezési módszerek és eszközök a Moodle keretrendszerben A Moodle mint elektronikus tanulási környezet rendkívül szerteágazó, az önálló és az irányított tanulás minden aspektusát felölelő modulokból épül fel. [15] Az elektronikus értelemben vett tanulás szereplői: a tanuló a tanár a képzés adminisztrátor Ezek alapján a Moodle a tanulóknak a tananyag elsajátítására biztosít számos modult, funkciót, olyanokat, mint lecke, csevegés, munkaműhely, fórum, a tanárokat az oktatásban segíti olyan modulokkal, mint tananyagok szerkesztése, tesztek létrehozása, hallgatók számonkérése, valamint az oktatási folyamat adminisztrálását segítő 13

21 modulokkal például beiratkozás, jelenlét naplózása, tevékenységek ütemezése és felügyelete segíti a képzés adminisztrátorokat. A szolgáltatások rövid bemutatását egy másik felosztás alapján mutatom be: A Moodle kétféle tartalmat különböztet meg: 1. Tananyagforrások 2. Tevékenység modulok A tananyag forrásai lehetnek: A Moodle CMS(Content managment System) szolgáltatásait felhasználva létrehozott, szerkesztett belső oldal(compose a text page, Compose a web page) megjelenítése. Fájlra, külső oldalra való hivatkozás: egy külső oldalra, fájlra mutató hivatkozást tudunk beilleszteni a kurzus tananyagai közé. Mappa megjelenítése(display a directory): Ezzel a tananyagtípussal egy adott könyvtár összes fájlját egyszerre tudjuk hozzáférhetővé tenni a diákok számára. IMS, Scorm specifikációnak megfelelő tananyag csomag hozzáadása a kurzushoz. A címke beszúrása nem kimondottan egy tananyagforrás létrehozását jelenti. Ezzel a lehetőséggel blokk pozícióban jeleníthetünk meg tetszőleges tartalmat (fix szöveg, grafikai elem...). Alapvető Tevékenység modulok[16][15]: Fórum: A jól ismert aszinkron kommunikációs eszköz. A Moodle lehetőséget kínál a tanulók automatikus feliratkozására, fájlok csatolására, értesítésre új hozzászólás esetén. A fórum lehetséges megvalósulásai: Egyszerű vita: Mindössze egy vitatéma van a fórumban. Kérdések - Válaszok fórum: Kérdéseket és azokhoz tartozó válaszokat lehet összegyűjteni. 14

22 Mindenki egy vitatémát ad meg: Minden résztvevő csak egy vitatémát adhat meg, ennyi van limitálva, de onnantól a beszélgetés folyamatos. Általános célú fórum: Bárki, akár több vitatémát is hozzáadhat. Csevegés: A Csevegés egyszerű, valós idejő, szinkron kommunikációs eszköz. A Moodle-ban a csevegés hasonló módon működik, mint a chat-ek. Wiki: A tanulói tudásbázis létrehozásának nélkülözhetetlen eszköze. Szavazások, kérdőívek: A hallgatók részéről történő visszajelzések fontos eszköze. Naptár: Tetszőleges esemény bejegyezhető a naptárba, ami lehet kurzushoz kötődő(házi feladatok határideje), személyes(fontos évfordulók), vagy globális esemény(szünetek időpontja) is. Kérdések: A kérdésekre adott válaszok lehetnek automatikusan kiértékelődők és offline, tanárok által kiértékelt válaszok. A Moodle számos beépített kérdéstípust támogat. Tesztek: A teszt az a tevékenység, ahol a tanárok számon kérhetik a tanulók tudását. A teszthez rendelhetők hozzá a kérdések. RSS: Hírcsatornák megjelenítését támogató funkció. Az alapvető tevékenységeken kívül a Moodle fejlesztők számos más modult készítettek, melyeket felhasználhatunk mi is saját rendszerünkben[19]. A Moodle részletes dokumentációi 15 elérhetők az alábbi oldalon:

23 2.5 Moodle bemutatása fejlesztői szemszögből A Moodle alapvető tulajdonságai A Moodle szerkezete az alábbi tulajdonságoknak megfelelően lett kialakítva[20]: 1. A Moodle platformok széles választékán futtatható legyen: A Moodle-t a népszerű LAMP platformon fejlesztették - GNU/Linux, Apache, MySQL és PHP. Ezek a szoftverek ingyenesen elérhetők. A rugalmas technikai háttérnek köszönhetően szinte akármilyen számítógépre, operációs rendszerre telepíthető(unix/linux, Windows, Novell NetWare 6.x, MAC OS X.) A felhasználóknak csak egy böngészőre és internetkapcsolatra van szükségük. A Moodle ADOdb-t használ köztes rétegként a program és az adatbázist elérő függvények között. A közvetlen adatbázist kezelő függvényeket elrejti előlünk és objektum orientáltan teszi elérhetővé az adatbázisokat, függetlenül azok típusától. Egyszerre kezelhetünk MySQL, PostgreSQL, Oracle, MS-SQL adatbázisokat. 2. A Moodle könnyen telepíthető, tanulható, módosítható legyen : A kezdeti prototípusok (1999) Zope objektum orientált webes alkalmazás szerverrel készültek. Ez a technika remekül használható volt, de a megértése bonyolult, valamint nem adott kellő rugalmasságot a rendszer adminisztrálásban. Ezért megtörtént a váltás a PHP irányába, melyet könnyen el lehet sajátítani. Egy fontos tervezési lépés volt az osztály orientált felépítés elkerülése, ugyancsak a könnyű érthetőség, tanulhatóság miatt. A kód újrafelhasználhatósága ehelyett ésszerűen elnevezett függvénykönyvtárak és következesen elrendezett fájl struktúra alapján valósul meg. 3. Könnyű verzióváltások, frissítések: A Moodle ismeri a saját verzióját, és beépített mechanizmusok segítségével saját magát tudja frissíteni egy újabb verzióra.(például adatbázis táblák átnevezése, mezők létrehozása, módosítása is automatikusan megtörténik). 4. Moduláris felépítés a fejlődés, kiterjesztés érdekében: A moduláris felépítés nem csak az oktatást segítő funkciók felépítésénél látszik meg. A Moodle többek között a témákat(stílus), tevékenységeket, nyelveket, adatbázis sémát és a kurzusok formátumát(megjelenését) is modulként kezeli. Ezzel a felépítéssel megengedi, hogy 16

24 bárki módosíthassa, saját moduljával lecserélje az alapértelmezett modulokat. 5. Könnyen együttműködhessen más rendszerekkel : Ld. feljebb: 2.3 Együttműködés résznél Adatbázis séma: [21]A Moodle körülbelül 200 adatbázis táblából épül fel, ami soknak tűnhet, de ha ezek közül kivesszük az egyes modulokhoz, kérdéstípusokhoz, egyéb integrációs feladatokhoz kapcsolódó táblákat, akkor nagyjából 50 tábla marad, amik az alaprendszer részét képezik. Ezt az 50 táblát csoportokba oszthatjuk, amik egyszerűsítik a megértésüket: (A csoportok szerinti tábla felosztás megtalálható a függelékben.) Az 1.7-es verzióval a Moodle lehetőséget kínált újabb RDBMS(MSSQL, Oracle) rendszerekkel való együttműködésre, amíg természetesen a MySQL és PostgreSQL adatbázisok is támogatottak maradtak. Az alábbi ábra azt mutatja, hogy a Moodle hogyan kommunikál az adatbázissal: ábra 3: Moodle adatbázis séma 17

25 A Moodle két nyelvet használva ad utasításokat az adatbázisnak: 1. XMLDB neutral description files: Az adatbázis struktúra XMLDB rendszer segítségével hozható létre, módosítható, frissíthető. Szabványos (valid) XML fájlokból épül fel, melyek segítségével leírhatók az adatbázis objektumok(táblák, mezők, indexek, kényszerek). 2. Moodle SQL neutral statements: Adatok létrehozása, módosítása, lekérdezése az adatbázisból (DML: insert/update/delete/select records). Mindkét nyelv saját könyvtárat használ a feladatainak elvégzésére. Az XMLDB neutral description files a Moodle DDL Library-t(ddllib.php), mely a struktúra létrehozására ajánl függvényeket. A Moodle SQL neutral statements a Moodle DML Library-t(dmlib.php) használja az adatok manipulációjára. Az ábrán a két rész között a datalib.php is látható még, melyben az elavult(legacy) függvények találhatók, melyek a kompatibilitás miatt még megmaradtak, de használatuk nem javasolt. Ezek a library-k utasításaikat átadják az ADOdb Database Abstraction Library for PHP rétegnek, mely elfedi előlük a konkrét adatbázist. Az ADOdb a különböző driver meghajtói(mysql,postgresql,oracle,sql Server) segítségével kapcsolatba lép az adatbázissal, és az adatbázisból kinyert eredményt visszaadja annak a megfelelő rétegnek, aki az adatbázis utasítás végrehajtását kérte. XMLDB[22] Az 1.7-es verzió előtt, a fejlesztőknek kétszer kellett kifejleszteni az adatbázis létrehozását és frissítését elvégző részt a 2 adatbázisnak(mysql, PostgreSQL) megfelelően. Ez a megközelítés működött, de sok fáradtságot okozott, mivel a két változatot szinkronban kellett tartani, és a tesztelés is nagyobb munka volt. Az 1.7-es változat egyik célkitűzése a már említett adatbázis kezelő rendszer kibővítése volt, így a jelenlegi párhuzamos fejlesztés elfogadhatatlan lett. Ilyen előzmények után az egyik lehetséges megoldás az ADOdb XML Schema lett volna, hiszen már úgyis az ADOdb Database Abstraction Library használta a Moodle az adatbázissal való kapcsolattartásban. Végül mégsem emellett döntöttek, mivel éppen ebben ez időben ment át egy nagyobb változtatáson az ADOdb, valamint nem 18

26 támogatta prefixeket, ami a Moodle számára fontos lett volna az objektumok generálásánál. Ez miatt kifejlesztették a saját XML formátumokat, amiben teljesen le tudták írni az adatbázis objektumokat. Minden plugin rendelkezik egy db írható könyvtárral, melyben megtalálható install.xml néven ez az xml fájl, melynek speciális szerkezete van: <XMLDB/> <TABLES> <TABLE> <FIELDS/> <KEYS/> <INDEXES/> <STATEMENTS/> </TABLE> </TABLES> Egy konkrét példán keresztül szemléltetve: A csoportválasztó modul XML fájljából egy részlet: <XMLDB PATH= mod/mymod/db VERSION= COMMENT= XMLDB for Moodle mod/groupselect" xsi:nonamespaceschemalocation="../../../lib/xmldb/xmldb.xsd"> <TABLES> <TABLE NAME="groupselect" COMMENT="Defines groupselects" NEXT="groupselect_groupchange"> <FIELDS> <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="course"/> <FIELD NAME="course" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="id" NEXT="name"/> <FIELD NAME="name" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="course" NEXT="intro"/> <FIELD NAME="intro" TYPE="text" LENGTH="small" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="name" NEXT="targetgrouping"/> </FIELDS> <KEYS> <KEY NAME="primary" TYPE="primary" FIELDS="id"/> </KEYS> <INDEXES> <INDEX NAME="course" UNIQUE="false" FIELDS="course"/> </INDEXES> </TABLE> <TABLE NAME="groupselect_groupchange" </XMLDB> 19

27 2.5.3 Mi történik, a required_once('config.php') hatására ábra 4: Bekapcsolódás a Moodle keretrendszerbe config.php: $CFG globális változó beállítása: adatbázis elérés, wwwroot, dirroot, dataroot beállítása) dirroot/lib/setup.php beolvasás setup.php: globális változók létrehozása: USER, SESSION, DB, CACHE, THEME, COURSE require_once($cfg->libdir.'/setuplib.php'); adatbázis kapcsolat létrehozása alapértelmezett értékek beállítása: nyelv admin könyvtár elérési útvonala lib könyvtár elérési útvonala site beállítása, ostype Függvénykönyvtárak betöltése: 20

28 textlib.class.php: Stringek kezelése, kódolása. weblib.php: A html kimenet generálását végző függvények és konstansok. dmllib.php: Függvénykönyvtár az adatbázis műveletekhez (DML). datalib.php: Adatbázis kezelő elavult függvények. accesslib.php: Jogosultsági rendszer szolgáltatásait elvégző függvények. deprecatedlib.php: Elavult funkciók a visszafelé való kompatibilitás miatt. moodlelib.php: A Moodle fő függvénykönyvtára általános műveleteket, célokat ellátó függvényekkel. eventslib.php: Eseménymanipuláció. grouplib.php: Csoportok kezelését végző függvények Model-View-Controller réteg megvalósulása egy Moodle modulban Model réteg: 1. Ahogy azt a es fejezet 2. pontja bemutatja, a Moodle nem osztályokból építkezik a fejlesztők munkájának megkönnyítése végett, viszont objektumokkal hajt végre műveleteket. A PHP az stdclass generikus névtelen osztály segítségével lehetőséget ad arra, hogy névtelen osztályokat hozhassunk létre. Létrejönnek az objektumok és adatot köthetünk hozzá, anélkül, hogy az osztálydefiníciót létrehoznánk. Példa: $book = new stdclass; $book->title = "PHP Haladóknak Fekete könyv"; $book->author = "Peter Moulding"; $book->isbn = " "; $book->publisher ="Perfact"; 2. Osztályok hiányában az osztálymetódusok a modulok lib.php fájljába kerülnek. Egy fájlba az összes. A megfelelő függvénynevek kialakításával (amit a Moodle egyébként is megkövetel) tudjuk a függvényeket csoportosítani. Például a feladat lekérése az id alapján a projekt modulban az alábbi nevet 21

29 kapja: A lib.php-ban project_task_get_task_by_id(task_id) taláható függvényekben meghívhatjuk DML könyvtár függvényeit, melyekkel az adatbázist tudjuk elérni. Ezek a függvények is objektumokat adnak vissza Megjelenítési View réteg A megjelenítés központjában a formslib osztálykönyvtár áll, mely a PEAR Quicform csomagra épül. A PEAR::HTML_QuickForm csomag metódusai lehetőséget adnak HTML formok, űrlapok létrehozására, validálására, és feldolgozására[23]. A csomag többek között az alábbi szolgáltatásokat biztosítja: több, mint 20 elem XHTML kompatibilis kód generálása többféle validációs szabály szerver és kliens oldali validációs lehetőség javascript kód használata a validációhoz fájl feltöltés támogatása teljesen testre szabható megjelenítés külső template rendszerekkel való együttműködés(smarty,flexy,sigma,itx) A Moodle kibővíti ezt a szolgáltatáskört: Segítség gombok hozzákötése az egyes elemekhez Moodle specifikus elemek: csoportos mód, rejtett mezők,stb... új elemek: html szerkesztő, dátumválasztó, dátum és idő választó, igen-nem választó egyszerűen bővíthető új elemekkel ismétlődő elemek létrehozását támogató metódusok bizonyos részek elrejtése megjelenítése a form-on gomb segítségével 22

30 Egy új nézet létrehozásához[24] egy új fájlt kell létrehozni(nézetfunkció_form), modulnév_nézetfunkció_form nevű osztállyal, ami a moodleform osztályból öröklődik. A moodleform egy absztrakt osztály, a formslib része. Az osztály nevének egyedinek kell lennie, melyet több helyen felhasznál a rendszer. A saját osztályunkban a moodleform definition nevű absztrakt metódusát kell felüldefiniálnunk, amiben létrehozhatjuk a saját form struktúránkat: <?php require_once ($CFG->dirroot.'/lib/formslib.php'); require_once ('../lib.php'); class project_task_form extends moodleform { function definition() { $mform = &$this->_form; $mform->addelement('text', 'name', "Név",$isdisable, array('size'=>'64')); $mform->settype('name', PARAM_TEXT); $mygroups = groups_get_all_groups($course->id, $USER->id); $options = array(); foreach ($mygroups as $group) { if ($members = groups_get_members($group->id)) { $membernames = array(); foreach ($members as $member) { $options[$member->id] = format_string(fullname($member, 1)); } } } $mform->addelement('select', 'workerid', "Feladatot kapja", $options,$isdisable); $mform->addelement('htmleditor', 'notes', 'Leírás',$isdisable); $mform->settype('notes', PARAM_RAW); } }?> A PEAR::HTML_QuickForm csomag használatáról további információ kapható az alábbi címeken:

31 A vezérlő(controller) réteg: A vezérlő réteg működése a projekt modul feladatok listáját megjelenítő vezérlőjén keresztül kerül bemutatásra: Szükséges fájlok betöltése: require_once ('../config.php'); require_once ('lib.php'); A nézetet tartalmazó fájl betöltése: require_once ('project_tasks_form.php'); Kötelező és opcionális paraméterek lekérése(get): $project_id=optional_param('projectid',param_int); $course_id = required_param('id', PARAM_INT); if (!$course = get_record('course', 'id', $course_id)) { error("hibás kurzus azonosító"); } require_login($course); Oldal navigáció, fejrész információk beállítása: $navigation = build_navigation($navlinks); print_header($course->fullname.': '."Feladat", $course>fullname.': '."Feladatok", $navigation); require ('../tabs.php'); A model meghívása a szükséges adatok lekérése(lib.php-ben található a project_task_get_all_tasks($projectid) függvény): $tasks=project_task_get_all_tasks($project_id); A nézet létrehozása: $tasks_form = new tasks_form(); A form eseményeinek lekezelése(milyen submit gombok lettek megnyomva) is_cancelled() a mégsem gomb lenyomását ellenőrzi(ha van mégsem gomb, akkor mindig ezzel kell kezdeni): if($tasks_form->is_cancelled()) { //mégsem gomb hatására átirányítás történik 24

32 return_url = $CFG->wwwroot.'/project/index.php?id='. $course_id; redirect($return_url); } Ha nem ez a gomb lett megnyomva, hanem valamelyik másik: elseif($data=$tasks_form->get_data()) { A $data változó egy objektum. Ide kerülnek be a form elemeinek tartalma. A kapott adatok feldolgozása: project_process_data($data); } Ha a fenti feltételek nem történtek meg, tehát vagy nem megfelelő, valid a visszakapott adat, vagy az oldalt először töltjük be, akkor meg kell jeleníteni a formot: else { A nézetnek a feladatok átadása: $tasks_form->set_data($tasks); $tasks_form->display(); } A lábléc adatok kiírása: print_footer();?> Pluginok A Moodle szóban az M betű a moduláris felépítésre utal. A legegyszerűbb módja a Moodle funkcióinak kiterjesztésére egy új plugin írása a különféle plugin API-k felhasználásával. Többfajta plugint hozhatunk létre, melyek közül a tevékenység modulok(activity module), a blokkok(block), kérdéstípusok(question type) és a szűrők(filter) a legfontosabbak, ezért ezekről írok részletesebben a továbbiakban. A kérdéstípusokról a Cporta és a Moodle integrációja fejezetben lesz szó részletesebben. 25

33 Tevékenység modulok A tevékenység modulok[25] a Moodle mod könyvtárában találhatók. Az alábbi kötelező fájlokból épülnek fel: mod_form.php: Egy formot definiálhatunk benne, melyet a modul létrehozásánál és módosításánál használunk. version.php: Különféle meta információkat tartalmazó fájl. icon.gif: 16x16 modul ikon. db/install.xml: A modulhoz tartozó adatbázis struktúrát definiáló XML fájl, ami alapján a Moodle a modul telepítésekor létrehozza a megfelelő adatbázistáblákat. db/upgrade.php: Az adatbázis struktúra változásait tartalmazza, ami a modul frissítéséhez szükséges. db/access.php: A modul jogosultságait definiálhatjuk az access.php fájlban. index.php: Itt listázzuk ki a modul példányokat a kurzus nézetnek megfelelő formában a kurzus oldalon(virtuális osztályterem). view.php: Egy konkrét modul példány megjelenítése. lib.php: A modul összes függvénye a lib.php függvénybe kerül: Amennyiben a modul neve widget, akkor az alábbi függvényeknek kell létezniük a lib.php fájlban: widget_install(): a modul installálásakor fut le widget_uninstall(): a modul eltávolításakor fut le widget_add_instance(): új példány létrehozása widget_update_instance(): meglévő példány frissítése widget_delete_instance(): meglévő példány törlése User activity modullal való együttműködéshez: widget_user_outline(): rövid összesítés, hogy mit csinált a felhasználó a modul használata közben. widget_user_complete(): ugyanennek a részletes leírás. widget_get_view_actions() és widget_get_view_actions(): együttműködés a résztvevők report-tal. 26

34 Opcionális függvények: widget_delete_course(): Kurzus törlése esetén lefutó kódrészlet. widget_process_options(): A modul beállítása oldalon elküldött adatok előfeldolgozása. widget_reset_course_form() és widget_delete_userdata(): A kurzus alaphelyzetbe állítása esetén végrehajtott kódrészlet. widget_cron(): Meghatározott időnként meghívódó függvény. A névütközések elkerülése érdekében minden modul függvénynek, konstansnak modulnév_-sal kell kezdődnie. backuplib.php és restorelib.php settings.php vagy settingstree.php: A Moodle adminisztrációs menüjébe hozhatunk létre beállító oldalt a modulunkhoz. lang/en_utf8/widget.php: Nyelvi fájl Blokkok A blokkok[26] a Moodle keretrendszer kurzus nézetének jobb és bal oldalsávjában megjeleníthető dobozok. Ezek a blokkok különböző típusú adatokat jeleníthetnek meg és különböző funkciókat láthatnak el: Ilyen blokkok például a keresés, menük, következő események listája, rss hírforrások, online felhasználók, kurzus résztvevők, stb... Egy egyszerű blokk létrehozása A blokkok a Moodle blocks könyvtárában találhatók. Egy új blokk létrehozásához egy új mappát kell létrehoznunk a blokkunk nevével, majd egy block_myblock.php fájlt. Általában egy blokk 1 fájlból áll. Ebben a fájlban a block_ myblock nevű osztályt kell definiálni, ami a block_base osztályból származik. 27

35 <?php class block_myblock extends block_base { function init() { $this->title=get_string('simplehtml','block_simplehtml'); $this->version = ; } Minden blokknak implementálnia kell az init() függvényt, melyben két objektum változót kell beállítanunk: 1. title: A blokk neve, ez fog szerepelni a blokk fejrészében. 2. version: A blokk verziója. Erre akkor van szüksége a Moodle-nak, ha a blokkhoz adatbázistábla is tartozik. Ebben az esetben a blokk frissítése során dolgozik a version-ban beállított értékekkel. A version formátuma: YYYYMMDD00 A tartalom megjelenítésére egy újabb függvényt kell létrehoznunk, get_content() néven: function get_content() { if ($this->content!== NULL) { return $this->content; } $this->content = new stdclass; $this->content->text = 'Tartalom...'; $this->content->footer = 'Lábléc...'; return $this->content; } $this->content maga a tartalom, ami megjelenik a blokk belsejében. Kezdetben NULL az értéke, majd az első get_content() hívás után kap értéket, és lesz egy objektum. Mivel az értékadás időigényes feladat, ezért ez nem történik meg minden get_content() hívás esetén, csak a legelsőnél. Ezt mutatja a fenti kódrészlet első if feltétele. 28

36 A content-nek két típusa lehet: BLOCK_TYPE_TEXT és BLOCK_TYPE_LIST. BLOCK_TYPE_TEXT esetén a content objektumnak két mezője lehet: 1. text: a blokk tartalma. 2. footer: a blokk lábléce BLOCK_TYPE_LIST esetén a blokk egy listát jelenít meg. Ezzel a típussal lehetőségünk van például egy menü megjelenítésére. 1. items: A lista elemek 2. icons: A lista elemekhez tartozó ikonok 3. footer: a blokk lábléce Az init() és a get_content() metódusok létrehozása után a blokk telepíthető, és felvehető a Moodle oldalsávjába. Lehetőséget adhatunk az adminisztrátoroknak, tanároknak, hogy a blokkot testre szabhassák, és megmondhassák, hogy hogyan működjön. Ehhez ezt a Moodle-al is tudatni kell, amit az instance_allow_config() metódus hozzáadásával tudunk megtenni. function instance_allow_config() { return true; } Ezzel a metódussal a Moodle szerkesztési módba való átváltása után egy szerkesztő ikon jelenik meg a blokk fejrészében, viszont ha rákattintunk hibajelzést kapunk, miszerint nincs megfelelően implementálva a beállítás rész, és ez igaz is. A beállító oldalhoz egy újabb fájlt kell létrehozni a blokkunk könyvtárában. config_instance.html néven. Ebbe a html oldalba kerül a beállító oldal html kódja, melyben mint az lejjebb látható egy textarea-t hozunk létre a print_textarea() függvény segítségével. A Moodle leegyszerűsíti a dolgunkat itt is, ezért a form elemmel sem kell foglalkoznunk. Akárhová elhelyezhetjük a submit gombot. 29

37 <table cellpadding="9" cellspacing="0"> <tr valign="top"> <td align="right"> <?php print_string('configcontent', 'block_simplehtml');?>: </td> <td> <?php print_textarea(true, 10, 50, 0, 0, 'text', $this>config->text);?> </td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value="<?php print_string('savechanges')?>" /> </td> </tr> </table> <?php use_html_editor();?> A html elemekben megadott értékek a $this->config->elemnév változóba kerülnek, amit a blokkunk kódjában az init() függvényen kívül bárhonnan elérhetünk. Így a get_content() metódusban a statikus szöveg helyett a blokk tartalmának a beállított értékeket is adhatjuk, vagy a beállított értékek alapján származtathatjuk: $this->content->text = $this->config->text; Mivel a blokk title-t az init() metódusban állítjuk be, és ott még nem érhető el a config objektum, ezért a Moodle biztosít számunkra egy specialization() nevű metódust, mely az init() után, de még a get_content() előtt meghívódik, ahol alapértelmezett értékeket állíthatunk be: function specialization() { $this->title = $this->config->title; } 30

38 Egyéb érdekes lehetőségek: blokk elrejtése, ha nincs tartalma több blokk példány megjelenítése(több beállító felület) több blokkpéldány/beállító felület esetén az is megadható, hogy egy adott beállított érték csak az aktuális blokkra, vagy az összesre érvényes legyen. a Moodle biztosít számos olyan metódust, amivel a blokk megjelenését lehet szabályozni Szűrők(Filters) Szűrők[27] használatával átalakíthatjuk a megjelenítendő szöveges tartalmakat még megjelenítés előtt. Elhelyezhetünk speciális kódrészletet a szöveges tartalomban, majd a megjelenés előtt a kódrészletet értelmezzük és aszerint jelenítjük meg a tartalmat. Ez például lehetőséget ad olyan műveletekre, hogy egy mp3-ra mutató linket lecseréljünk egy olyan kódrészre, ami az mp3-at egy beágyazott lejátszó segítségével nyitja meg. Filterek létrehozása: 1. A filters mappába hozzunk létre egy új mappát, aminek a saját filterünk nevét adjuk. 2. Hozzunk létre ezen a mappán belül egy filter.php nevű fájlt. 3. Írjuk meg a myfilter_filter nevű függvényt, melynek első paramétere a kurzus id, második paramétere a módosítandó szöveg. <?php function removex_filter($courseid, $text) { return str_replace('x', '', $text); }?> Ezzel el is készítettük a saját szűrőnket, amit használat előtt az adminisztrációs menüben engedélyezni kell. 31

39 Kurzus formátum A kurzus formátumok[28] határozzák meg a kurzusok oldal (virtuális osztályterem) elrendezését. Az alábbi beépített formátumok érhetőek el, melyeket a kurzuson belül az adminisztrátori menü beállítások almenüjében változtathatunk meg: Heti forma(week format): Minden héthez létrejön egy szekció, amihez hozzá lehet rendelni a fórumokat, kvízeket, és egyéb tartalmi elemeket. Téma forma(topic format): A kurzus témákra oszlik. Ebben a formában az egyes témákhoz rendelhetők a fenti elemek. Szociális forma(social format ): Ennél a változatnál a kurzus központjában egy fórum áll. LAMS (Learning Activity Management System) nyílt forrású LMS és a Moodle integrálásából létrejött kurzus formátum, ahol a LAMS van a kurzus központjában. SCORM forma: SCORM tananyagnak megfelelő kurzus formátum. Heti forma táblázatok nélkül A Moodle megengedi új kurzusformátum létrehozását is. Ehhez az alábbi két fájlt kell létrehoznunk: 1. format.php: ebben a php fájlban van felépítve kurzus struktúrája. PHP kód, ami html elemeket print -el ír ki a kimenetre és beilleszti a megfelelő helyre a Moodle elemeket. 2. config.php: opcionális fájl, ami a kurzusformátumra jellemző speciális beállításokat tartalmazza. Általában itt találhatók az alapértelmezett blokkok listája. 3. ajax.php: opcionális fájl, melyben a $CFG->ajaxcapable = true; paranccsal engedélyezhetjük az AJAX-ot. Az elkészített fájlokat a course/format mappában létrehozott saját mappába kell bemásolnunk Hitelesítés (Authentication plugins) A hitelesítés[29] akkor indul el a Moodle rendszerben, amikor a felhasználó a 32

40 Bejelentkezés linkre klikkel. Az alábbi események történnek ennek hatására: 1. Ha az alapértelmezett login oldalt használjuk, akkor a /login/index.php oldal jelenik meg(a Manage authentication oldalon megváltoztatható a login oldal címe). 2. A felhasználok megadják saját adataikat. 3. Ezt a login/index.php fájl kezeli le: 1. Lekéri az engedélyezett authentication pluginok listáját. 2. Meghívja minden plugin loginpage_hook() függvényét(amit örökölnek), hogy a bejelentkezési kérelem minden pluginhoz eljusson. 3. Ellenőrzésre kerül, hogy az adatok megfelelnek-e a Moodle kritériumainak(hossz, erősség...). 4. Meghívja a authenticate_user_login() függvényt a /lib/moodlelib.php fileban, ami az alábbi műveleteket végzi el: 1. Lekéri az engedélyezett pluginek listáját. 2. Megkeresi a felhasználó nevet a mdl_user táblában, és ha megtalálja és megengedett a felhasználónak a bejelentkezés, akkor megkeresi, hogy melyik hitelesítési eljárással kell a felhasználót azonosítani. 3. Létrehozza a user objektumot, amely a mdl_user tábla adatait tartalmazza(üres, ha a felhasználónév nem ismert). 4. Egy authentication plugin a következő műveleteket hajtja végre: 1. user_login() : Azonosítja a felhasználót és IGAZ vagy HAMIS értéket ad vissza. 2. Ha a felhasználót nem a mdl_user tábla alapján, hanem külső rendszer ellenőrzi, akkor meghívódik update_user_record() függvény a felhasználó adatok(név...) lekérésére. 3. Moodle user létrehozása, ha nem létezett. 4. sync_roles() függvény hívása. 5. A többi plugin értesítése : user_authenticated_hook() függvény meghívásával. 5. Visszatér a user objektummal, ha sikeres volt a hitelesítés, vagy false értékkel, ha egyik plugin sem tudta azonosítani a felhasználót. 5. Leellenőrzi a kapott user objektumot, és ha az nem megfelelő, akkor 33

41 visszadobja újra a bejelentkezési képernyőre, abban az esetben pedig, ha megfelelő a user objektum, akkor eldönti, hogy melyik belső oldalra kell továbbirányítani(kurzusnézet/jelszó módosítás...) Új plugin létrehozásához az auth könyvtár alatt kell létrehozni a plugin névvel megegyező mappát(itt találhatók a különféle bejelentkezési protokollt elvégző pluginek(ldap, ,db,pop3, shibboleth,...)). A saját plugin könyvtárunkban auth_plugin_sajatpluginnev auth_plugin_base nevű egy auth.php nevű fájlba osztályt megírni, amely osztály kell az absztrakt osztályból öröklődik(/lib/authlib.php) Ebben az osztályban az auth_plugin_base osztály metódusait kell felüldefiniálni. A config_form() és a process_config() függvények létrehozásával az admin felületen egy beállító oldalt hozhatunk létre a plugin-hez, mely akár az adatbázist is használhatja Kurzus jelentés (Course report) Ezzel a lehetősséggel a kurzuson belül egy report hozható létre, melyre szinte semmilyen megkötést nem ad a Moodle. Minimum két fájlból épül fel és a course/report mappa alatt található. Az index.php fájlba hozhatjuk létre a report tartalmát (pl felhasználó aktivitás, különféle logolások), a mod.php fájlban pedig a report beilleszthető a kurzus menü report almenüje alá. A kurzus reporthoz hasonlóan Admin report és Quiz report is készíthető Adatbázis mező (database field) Az adatbázis aktivitás modul mező típusát terjeszthetjük ki új mezőtípussal Tanulói munka (Assignment types) Ezzel a modullal az oktatók a tanulóktól kérhetnek be munkákat. Jelenleg 4 fajtája létezik:(online szöveg, offline feladat kijelölés, fájl feltöltés, speciális fájl feltöltés). <moodleroot>/mod/assignment/type/pluginname helyre kerül. 34

42 3 Oktatást segítő funkciók felkutatása, bemutatása Ahogy a bevezető rész leírja a Moodle megismerésének az egyik célja, annak vizsgálata, hogy a rendszer használata mennyiben segítené a Budapesti Műszaki Egyetem Szoftver laboratórium 1-2. tárgyának oktatását. A 2.4-es: Tanulásszervezési módszerek és eszközök a Moodle keretrendszerben fejezetben található áttekintés leírja a Moodle alapfunkcióit tevékenység modulok és tananyagok csoportosításban. Ezek a funkciók a tanár-diák, diák-diák közötti kommunikáció eszközeit jelentik. A Szoftver laboratórium oktatása során nagy tanulói és hallgatói létszámmal kell számolni. Az adminisztrátori munkák is jelentős szerepet kapnak. A tantárgy jellegzetes kialakítása miatt nem csak egy tanár áll az oktatás középpontjában, hanem a gyakorlatvezetők is részt vesznek az oktatásban. Az alábbiakban bemutatásra kerülnek azok a főbb tevékenységek, amik a tantárgy oktatása során a nagy hallgatói létszám miatt támogatást igényelnek: Hallgatók felvétele a Moodle rendszerbe: A Moodle megengedi, hogy a tanulók maguk regisztrálhassanak az oldalra, mégis talán az adminisztrátorok által történő tömeges felvétel a javasolt megoldás. A Moodle ezt is támogatja. Egy egyszerű CSV fájl létrehozásával elvégezhetjük a tanulók felvételét, személyes adatainak beállítását, kurzusokba, csoportokba sorolását valamint a jogosultságaik beállítását. A 2.3-as fejezet Együttműködés részének megfelelően a tanulók felvétele már meglévő rendszerek, adatbázisok együttműködésével is megoldható LDAP, Shibboleth segítségével. Hallgatók kurzusokba, csoportokba sorolása: A Moodle támogatja a csoportok kezelését. Az alapegységnek számító kurzuson belül csoportok alakíthatók ki. Az előző részben bemutatott eljárás segítségével a tanulók az oldalon történő regisztrálása során a csoportokba sorolás automatikusan megtörténik, viszont a rendszer adminisztrátori felülete szintén nyújt támogatást a tanulók, tanárok(jelen esetben gyakorlatvezetők) csoporttagságainak beállítására. Mivel a gyakorlatok több időpontban lehetnek, a tanulók saját ismerőseikkel szeretnének egy csoportba kerülni, ezért 35

43 a tanulók számára biztosítani kell csoportváltási időszakot, amikor is megváltoztathatják csoportjukat. Ez a funkció nem része a rendszernek, ezért a csoportváltási lehetőséggel ki kellett bővíteni a Moodle szolgáltatásait. Ezzel a tevékenységi modullal foglalkozik a 4.2-es fejezet. Jogosultságok kezelése: Mivel a tanulók csoportokba vannak osztva és minden csoporthoz kapcsolódik egy gyakorlatvezető, valamint a tantárgy oktatását ismét egy másik tanár végzi, ezért szerepkörök kialakítása szükséges. Minden szerepkörhöz rendelt felhasználó más és más jogosultsággal rendelkezik. Ezek a szerepkörök: Adminisztrátor, Tanár, Gyakorlatvezető, Diák. A Moodle lehetőséget ad szerepkörök definiálására, és azokhoz felhasználók hozzárendelésére. Az adminisztrátori felületen a jogosultságok teljes mértékben testre szabhatók. Így a gyakorlatvezetők jogosultságai lekorlátozhatók saját csoportjukon belülre. Statisztika: A Moodle minden tevékenységi moduljáról, a tanulók aktivitásáról és a legfontosabb a feladat megoldásaikról képes statisztikai adatokat szolgáltatni. A jelenléti ív létrehozását nem támogatja a Moodle mivel a gyakorlati órák nem a Moodle keretein belül történnek. A gyakorlatvezetők számára viszont nagy segítség lenne, ha a jelenléteket egy központi helyen vezethetnék, és az egyes gyakorlatokhoz kiegészítő információkat köthetnének. Ezt a modult is létre kellett hozni. A modul a 4.3-as fejezetben kerül bemutatásra. A tanulók számára biztosított tananyagforrásokról szintén a 2.4-es fejezet adott tájékoztatást. A jogosultságok beállításánál beállítható, hogy melyik szerepkör tagjai hozhatnak létre új tananyagot és mely csoportokhoz rendelhetik hozzá. A tanulók számonkérése egy újabb fontos feladat. A Szoftver laboratórium tárgy keretében C és Cpp programozási nyelvekkel ismerkednek meg a hallgatók és a tanultak elsajátításában és számonkérésében a Moodle által biztosított lehetőségek nagymértékben segítenek. A Moodle számos kérdéstípust biztosít, amik között megtalálható az esszé, 36

44 szöveg kiegészítés, igaz-hamis, kérdések-válaszok, matematikai feladatok. Nagy segítség lenne egy olyan feladattípus, ahol a tanulók programkódokat adhatnának le. A feladatok beadását támogatja a Moodle, de ebben az esetben a tanárok feladata a feladatok kiértékelése. Az IIT tanszéken kifejlesztett Cporta feladat beadó és kiértékelő rendszer és a Moodle integrálásával ezt a lehetőség is biztosítva lett a diákok számára. A szoftver laboratórium 4 keretében a tanulók csoportosan dolgoznak és minden héten a feladatuk bizonyos részét el kell készíteniük. A csoportos munkához tartozó adminisztrációs feladatokat kezdve a csoportokba szerveződéstől a feladat csoporton belüli megosztásán, nyomon követésen keresztül a feltöltött forrásállományok, dokumentációk karbantartásáig szintén nem támogatja a Moodle. A projektben való munka megkönnyítésére a Projekt modul került létrehozásra. A modulról a 4.3-as fejezetben lehet több információt találni. A Jelenléti ív, csoportválasztó, projekt modulok és a Cpp feladat típus létrehozásával a Moodle alkalmassá válik, hogy a Szoftver laboratórium tárgyak oktatásában támogassák mind a tanulók, mind a tanárok, gyakorlatvezetők munkáját. A következő fejezetben ez a 4 modul kerül bemutatásra. 37

45 4 Fejlesztett modulok bemutatása 4.1 Jelenléti ív Specifikáció: A Jelenléti ív Moodle modul segítségével a tanárok nyilvántarthatják a diákjaik órai megjelenését, valamint lehetőségük van egyéb információkat kötni a diákok órai munkájához, ami lehet nyilvános, illetve magán célú megjegyzés. Ezek az információk például figyelmeztetést, emlékeztetőt, órai jegyeket tartalmazhatnak. A modul a jelenléti íveket többféle nézetben is megjeleníti a tanároknak: A Részletes nézet Összesített nézet táblázatos formában létrehozott jelenléti ívek törölhetők, valamint módosíthatók is. A modul kezeli azt az esetet is, amikor egy tanár, vagy diák több csoporthoz tartozik. A diákok visszajelzést kapnak saját jelenlétükről, valamint a hozzájuk tartozó nyilvános információkról Használati esetek A USE CASE diagram több annál, mint Felhasználó típusok és a hozzájuk tartozó funkciók ábrázolása. Tartalmazza a használati eseteket, sikeres forgatókönyveket és a hiba esetén fellépő ábra 5: Jelenléti ív - Use Case diagram kiegészítő forgatókönyveket. A Jelenléti ív modulnál ettől a leírástól eltekintek a modul egyszerűsége miatt. 38

46 4.1.3 Adatmodell(ER diagram): ATTENDANCE_SETTINGS(id, course_id, group_id, intro, timecreated) ATTENDANCES(id, attendance_id, user_id, present, pub_comment, priv_comment) ábra 6: Jelenléti ív - ER diagram ATTENDANCE_SETTINGS: A jelenléti ívek leírását tartalmazó tábla id(bigint): a jelenléti ív azonosítója course_id(bigint): a kurzus azonosítója(a Moodle kurzus táblájára hivatkozik) group_id(bigint): a csoport azonosítója(a Moodle csoport táblájára hivatkozik) intro(text): a jelenléti ív neve, leírása timecreated(bigint): a jelenléti ív létrehozásának ideje ATTENDANCES: A jelenléti ívekhez tartozó jelenléteket tartalmazó tábla id(bigint): jelenlét azonosító attendance_id(bigint): a jelenléti ív azonosítója user_id: a tanuló azonosítója(a Moodle felhasználó táblájára hivatkozik) present(tinyint): jelenlét mező(0 az értéke, ha nincs jelen a tanuló, 1 az értéke, ha jelen van a tanuló) pub_comment(varchar(255)): publikus megjegyzés priv_comment(varchar(255)): privát megjegyzés 39

47 4.1.4 A működés leírása A Jelentéli ív egy csonka modul. Nem a kurzusnézetben meghatározott tevékenység modul pozíciókban található, hanem mind a tanárok, mind a diákok számára a kurzus adminisztrációs menüjéből érhető el. Ezért a Moodle tevékenység modul bemutatásában leírtaktól eltérően a lib.php függvényben nem találhatók meg a modulokra jellemző példányra vonatkozó függvények(add_instance(), update_instance(), stb...). Tehát az összes létrejött példány egy helyen az adminisztrációs menü Jelenléti ívek menüjéből érhető el. Azért döntöttem emellett a megoldás mellett, mivel a jelenléti ívek valamilyen szinten összetartoznak. Akkor kapunk egy általános képet, ha egymás mellett látjuk őket. Ezért nincs értelme külön szétszórni a kurzus nézet tevékenységi moduljai között. Mivel több nézetet használók a nézetek számára létrehoztam egy view nevű mappát. Az alábbi nézeteket készítettem el: Nézetek a tanárok számára: list_attendances_view: A tanár saját csoportjához tartozó összes jelenléti ív listája(keresés, törlés). summary_attendance_view: A tanár saját csoportjaihoz tartozó összes jelenléti ív tartalma táblázatos formában. list_one_attendance_view: Egy konkrét jelenléti ív részletes adatai(megtekintés, módosítás). new_attendance_settings_view: Új jelenléti ív létrehozása: Leírás, dátum beállítása. Abban az esetben, ha a tanár több csoport tagja, akkor kiválaszthatja, hogy melyik csoportjához hozza létre a jelenléti ívet(ezek kerülnek az attendance_settings táblába). new_attendance_create_view: az új jelenléti ív beállítása(new_attendance_settings_view oldal) után kerülünk át erre az oldalra, ahol a csoporthoz tartozó tanulók listáját látjuk, akik közül kiválaszthatjuk azokat, akik megjelentek az órán, és megjegyzéseket fűzhetünk az egyes tanulókhoz. Mivel a megjegyzések írása másodlagos funkció, gyakorlatban ritkábban kerül sor rá, ezért az áttekinthetőség kedvéért kezdetben ezek a mezők nem láthatók, javascript felhasználásával egy speciális 40

48 linkre kattintva előhívhatók. Nézet a diákok számára: A diákok szintén az adminisztrációs menüből érik el a hozzájuk tartozó jelenléti információkat. A megjelenített listában csak a saját magukra vonatkozó információkat látják: jelenlétüket, és a nyilvános tanári megjegyzéseket. Ez a megjelenítés a list_user_attendances_view nézetben van definiálva. A nézetek megjelenítésére három vezérlőt használtam. Mivel a modul 3 fő részre osztható, melyek elkülönülnek, különböző feladatot látnak el: 1. Új jelenléti ív létrehozása. 2. Jelenléti ívek listázása(tanulók és tanárok számára). 3. Összesített táblázatos forma létrehozása a tanárok számára A Felhasználó felület bemutatása ábra 7: Jelenléti ív - tanári felület főoldala 41

49 ábra 8: Jelenléti ív - jelenlétek beállítása rész. ábra 9: Jelenléti ív - egy csoport összesített jelenlétei ábra 10: Jelenléti ív - részletező oldal ábra 11: Jelenléti ív - tanulói visszajelzés 42

50 4.2 Csoportválasztás Specifikáció A Csoportválasztó tevékenység modul segítségével a tanárok lehetőséget adnak a diákjaik számára, hogy csoportjukat megváltoztassák Részletes leírás A csoport váltás végbemehet automatikusan, tanári felügyelet nélkül, valamint felügyelten, amikor is a tanárok jóváhagyása szükséges a csoport váltáshoz. A csoportváltási tevékenység időhöz kötött: Meghatározott idejük van a tanulóknak a csoportváltásra. Egy jó példa ennek bemutatására az, hogy a szorgalmi időszak első hetében a tanulók felügyelet nélküli módon tudnak csoportot váltani, a szorgalmi időszak második hetében tanári jóváhagyás mellett van erre lehetőségük, a későbbiekben, pedig nincs mód a csoportváltásra. Szabályozható, hogy melyik csoport tanulóinak engedélyezett a csoportváltás. Megvan a lehetősége a csoport váltás jelszóhoz kötésének. Csak azok a tanulók változtathatják meg csoportjukat, akik ismerik a titkos kulcsot, amit személyesen, vagy valamilyen egyéb privát csatornán kapnak. Beállítható, hogy az egyes csoportokba maximálisan hány tanuló jelentkezhet. Ennek a lehetőségnek a felügyelet nélküli csoportmódosítások esetén van jelentősége, az egyenletes csoporteloszlások létrejötte érdekében. Felügyelt mód mellett két tanár jóváhagyása szükséges a csoportváltásra. Annak a tanárnak akinek a csoportját el akarja hagyni a tanuló, annak a kilépést kell engedélyeznie, annak a tanárnak, akinek a csoportjába be akar lépni a tanuló, annak a belépést kell engedélyeznie. (Amennyiben egy tanárnak két csoportja van, és egy tanuló kérelme ezt a két csoportot érinti, abban az esetben természetesen az az egy tanár képes elengedni és befogadni a tanulót.) Felügyelet nélküli mód esetén a tanuló rögtön láthatja a csoportváltás eredményét, viszont felügyelt mód esetén csak egy értesítést kap arról, hogy kérelme elbírálás alatt van. Amikor az elbírálás megtörténik a tanuló 43

51 értesítést kap annak kimeneteléről Aktivitás diagram ábra 12: Csoportválasztás - aktivitási diagramja A tanár csoportválasztó tevékenység modult hoz létre. Megadja a szükséges adatokat, majd miután a rendszer létrehozta a megfelelő adatbázis bejegyzéseket, és elkészítette az új tevékenység példányt két dolog történhet: amennyiben a modul felügyelet nélküli módba van állítva a tanár dolga befejeződött(valójában nem, mert lehetősége van a modul módosítására és törlésére is, mint a felügyelt módban látható lesz, de az ábra átláthatósága miatt ez nem lett jelölve). Ha felügyelt módban lett létrehozva a modul, abban az esetben a tanár várakozik. Lehetősége van a modul módosítására, törlésére és csoportválasztási kérelmek elbíráslására. Eközben a diákok folyamatosan csoportot válthatnak, amiről visszajelzést kapnak(azonnal, felügyelet nélküli mód esetén, vagy a bírálat megszületése után felügyelt mód esetén(ez az időviszony nincs jelölve az ábrán)). 44

52 4.2.4 Használati esetek ábra 13: Csoportválasztás Use Case-ei A használati esetekhez tartozó forgatókönyvek és kiegészítő forgatókönyvek: Csoportváltás Aktor: Tanuló Célja: A jelenlegi csoportjának módosítása. Főforgatókönyv: 0. (A tanuló bejelentkezik a Moodle rendszerbe, majd választ egyet a kurzusai közül, és belép a kurzus oldalra, a virtuális tanterembe.) 1. A tanuló a kurzus oldalon megjelenő tevékenységi modulok közül kiválasztja a Csoportváltó modult. 2. A tanuló megadja a csoportváltáshoz szükséges kódot(ha ez be lett állítva). 3. A tanuló a csoportokat listázó oldalon kikeresi a saját csoportját, majd kezdeményezi a kilépést 4. A tanuló megerősíti a kijelentkezési szándékát. 5. A tanuló visszakerülve a csoportok listájához kiválasztja azt a csoportot, aminek tagja kíván lenni. 45

53 6. A tanuló megerősíti a csoportba való belépés szándékát. 7. A Rendszer végrehajtja a csoportváltási kérelmet. 8. A tanuló ellenőrzi a csoportváltási kérelmének eredményességét. Kiegészítő forgatókönyvek: 1. a.: Nincs Csoportváltó modul: a tevékenység megszakad. b.: Nincs csoportváltási időszak: a tevékenység megszakad. 2. Hibás jelszó: a tevékenység megszakad. 3. a.: A tanuló nem tagja egyik csoportnak sem: a tevékenység megszakad. b.: Nincsenek csoportok: a tevékenység megszakad. 4. A tanuló nem erősíti meg a kijelentkezési szándékát: visszakerül a csoportok listájához. 6. A tanuló nem erősíti meg a csoportba való belépés szándékát: visszakerül a csoportok listájához. 8. A tanuló csoportváltása nem történt meg, mivel a csoportváltást a tanároknak személyesen kell elbírálniuk: A tanuló várni kényszerül a művelete eredményére. Csoportváltó modul létrehozása, beállítása Aktor: Tanár Célja: A tanulók számára csoportváltási lehetőség biztosítása. Főforgatókönyv: 0. (A tanár bejelentkezik a Moodle rendszerbe, majd választ egyet a kurzusai közül, és belép a kurzus oldalra, a virtuális tanterembe.) 1. A tanár a kurzus adminisztrációs menüjében átvált szerkesztő módba. 2. A tanár a kurzus törzsében, a számára megfelelő helyen (heti nézet: hét, téma nézet: téma) kiválasztja a létrehozható tevékenység modulok közül a csoportváltó tevékenységet. 3. A tanár elvégzi a szükséges beállításokat a modulon, majd elmenti. 4. A rendszer létrehozza az új tevékenység modul példányt. 5. A tanár kilép a szerkesztési módból. 46

54 Csoportváltó modul módosítása( és törlése) A törlés művelet egyszerűsége miatt a módosítást leíró forgatókönyvben mutatom be a törlés esetét is, zárójelek között találhatók az eltérések. Aktor: Tanár Célja: A tanulók számára csoportváltási lehetőség beállításainak módosítása(a modul törlése). Főforgatókönyv: 0. A tanár bejelentkezik a Moodle rendszerbe, majd választ egyet a kurzusai közül, és belép a kurzus oldalra, a virtuális tanterembe. 1. A tanár a kurzus adminisztrációs menüjében átvált szerkesztő módba. 2. A tanár kikeresi a módosítandó(törlendő) csoportváltó modult. 3. A tanár a szerkesztő ikon megnyomásával elvégzi a szükséges módosításokat(a tanár a törlő ikont választja ki). 4. A rendszer módosítja(törli) a tevékenység modul példányt. 5. A tanár kilép a szerkesztési módból. Csoportváltást elbírál Aktor: Tanár Célja: A tanulók csoportváltásának elbírálása Főforgatókönyv: 0. (A tanár bejelentkezik a Moodle rendszerbe, majd választ egyet a kurzusai közül, és belép a kurzus oldalra, a virtuális tanterembe.) 1. A tanár a kurzus oldalon megjelenő tevékenységi modulok közül kiválasztja a Csoportváltó modult. 2. A tanár az átjelentkezések listájából kiválaszt egyet elbírásra. 3. A tanár a kiválasztott átjelentkezést engedélyezi. 4. A rendszer módosítja a tanuló csoportját, és erről értesíti a tanulót. Kiegészítő forgatókönyvek: A tanár a kiválasztott átjelentkezést megtagadja. 2. A rendszer értesíti a tanulót az átjelentkezése sikertelenségéről. 47

55 4.2.5 Adatmodell(ER diagram): GROUPSELECT(id, course, name, intro, targetgrouping, signuptype, password, maxmembers, timeavailable, timedue, timecreated, timemodified, checked) GROUPSELECT_GROUPCHANGES(id, groupselect_id, user_id, signout, signup, checkedout, checkedup) ábra 14: Csoportválasztás - ER diagram GROUPSELECT: A csoportváltó modul adatait tartalmazó tábla id(bigint(10)): a csoportváltó modul azonosítója course(bigint(10)): a kurzus azonosítója(a Moodle kurzus táblájára hivatkozik) name(varchar(255)): a tevékenységi modul neve intro(text): a tevékenységi modul leírása targetgrouping(bigint(10)): a csoportváltó modul ennek a csoporthalmaznak engedélyezett signuptype(bigint(10)): password(varchar(255)): a csoportváltó modul használatához szükséges jelszó maxmembers(bigint(10)): a csoportok maximális létszáma timeavailable(bigint(10)): a tevékenységi modul elérhetőségének kezdete timedue(bigint(10)): a tevékenységi modul elérhetőségének vége 48

56 timecreated(bigint(10)): a tevékenységi modul létrehozásának ideje timemodified(bigint(10)): a tevékenységi modul utolsó módosításának ideje checked(tinyint(1)): a csoportváltás felügyelete GROUPSELECT_GROUPCHANGES: a csoportváltásokat tartalmazó tábla id(bigint(10)): egy csoportváltás azonosítója groupselect_id(bigint(10)): a csoportváltó modul azonosítója user_id(bigint(10)): a csoportváltást kezdeményező felhasználó azonosítója signout(bigint(10)): annak a csoportnak az azonosítója, amelyikből ki akar jelentkezni a tanuló signup(bigint(10)): annak a csoportnak az azonosítója, amibe be akar lépni a tanuló checkedout(tinyint(1)): a kilépés elbírálásának státusza checkedup(tinyint(1)): a belépés engedélyezésének státusza checkedout és checkedup állapotai: 0: nincs elbírálva 1: engedélyezve 2: visszautasítva Szerkezeti felépítés A Csoportváltó modul egy teljes értékű Moodle modul. Szerkezete megegyezik a es fejezetben bemutatott szerkezettel. A megjelenítés a view.php fájl-ban található, ami felhasználja a csoport elhagyás, csoportba való belépés valamint az elbocsátás-befogadás megerősítésére használt nézeteket. A view.php fájl egyben a vezérlő réteg is, mely az aktuális felhasználó szerepköre alapján két részre van osztva: a tanulók és a tanárok oldalára. Az aktuális felhasználó jogosultságának lekérése az alábbi kóddal történik: Kurzus azonosító lekérése: $id = required_param('id', PARAM_INT); 49

57 A kurzus objektum lekérése az kurzus azonosító alapján: $cm = get_coursemodule_from_id('groupselect', $id); A kontext lekérése: $context = get_context_instance(context_module, $cm->id); Az aktuális felhasználó megvizsgálás abból a szempontból, hogy van-e editingteacher jogosultsága: $is_teacher = has_capability(' moodle/legacy:editingteacher', $context); 50

58 4.2.7 A Felhasználó felület bemutatása ábra 15: Csoportválasztás - Csoport változtatás (tanulói felület) ábra 16: Csoportválasztás - Új csoportválasztó tevékenység modul létrehozása ábra 17: Csoportválasztás - Csoportváltási kérelmek elbírálása 51

59 4.3 Projektek támogatása Specifikáció A Projekt Moodle modul célja a tanulók csoportban végzett munkájának segítése. A tanulók képesek nyomon követni projektjeik, az azokhoz tartozó feladataik előrehaladását Részletes leírás Projekt: Tetszőleges tanuló létrehozhat egy új projektet, melynek ő lesz a vezetője. Ezt a szerepkört a projekt vezetők átruházhatják. A projektek hierarchiába szervezhetők. A projektekhez a kurzus bármely hallgatója felvehető projekttagnak. A projekt többféle információt nyilvántart: a projekt leírását, kezdetét, végét, állapotát, tervezett idejét, eltöltött időt, előrehaladást. A projekt előrehaladását GANTT-diagram szemlélteti. Feladat: Projekten belül a projekttagok feladatot jelölhetnek ki egymásnak. A feladat nyilvántartja a feladat kijelölőjét, a feladathoz hozzárendelt csoporttagot, a projektet, leírását, kezdetét, határidejét, állapotát, tervezett idejét, eltöltött időt, előrehaladást. A projekt feladatai közül kiválaszthatók, hogy mely feladatok befejezése szükséges az aktuális feladat elkezdéséhez(elő-feladatok). A feladatot elvégző személy részfeladat bejegyzéseket hozhat létre.(dátum, eltöltött idő, leírás) A feladatokhoz fájlok tölthetők fel. Értesítések: A tanulók értesítéseket kapnak az alábbi eseményekről: új projekt tagjai lettek 52

60 új feladatot kaptak módosult egy projektjük módosult egy hozzájuk rendelt feladat van lejáró feladatuk Szerkezeti felépítés A Projekt modul a tevékenységi moduloknál egy nagyobb egységet képvisel. A Moodle kurzus oldalán a kurzus menüből érhető el, majd a belépés után egy saját projektek menü is ki lett alakítva. A menü a es blokkokkal foglalkozó fejezetben leírtaknak megfelelően lett létrehozva. Projektek és feladatok: A modul létrehozásánál szintén a Moodle MVC lehetőségeit használtam ki. A nézetek egy külön könyvtárba kerültek, ahogyan a vezérlők is. A projektek, és az azokhoz tartozó feladatokhoz két-két nézet és vezérlő lett kialakítva. A táblázatos lista nézet, és a részletes űrlapos forma, valamint az ezekhez tartozó vezérlők. A menü egyes elemeit kiválasztva a vezérlők különböző paraméterekkel lesznek meghívva, majd ezek alapján a lib.php model rétegtől lekérik az adatokat, amiket a példányosított nézeteknek adnak át. A táblázatos lista nézet esetén megjelenő fülek, lehetőséget adnak a projektek, vagy feladatok állapot szerinti szűrésére. Új projekt, feladat létrehozásánál ugyanaz a részletes űrlapos forma tárul elénk, azzal az eltéréssel, hogy már létező projekt, feladat adatait is megkapja a nézet. Természetesen a modul foglalkozik a jogosultságokkal is. A projektet a projekt alapító, a feladatot a feladat alapító kezelheti. A projekt tagjainak olvasási joga van a saját projektjei feladataihoz. A feladat részmunkái közé csak a feladat megoldására kijelölt projekttag írhat új bejegyzést, tölthet fel új fájlt. 53

61 GANTT diagram GANTT-diagram megjelenítéséhez a BURAK_Gantt[30] nyílt forrású PHP osztályt használtam fel, ami a megfelelő adatok megadásával a PHP GD könyvtárának segítségével jpg formátumban jeleníti meg az adatok által reprezentált GANTT diagramot. Az osztály használta: require_once "BURAK_Gantt.class.php"; Új példány létrehozása a BURAK_Gantt osztályból: $g = new BURAK_Gantt(); A rács típusának megadása: $g->setgrid(1); A csoportok, előrehaladás színének beállítása: $g->setcolor("group","000000"); $g->setcolor("progress","660000"); Csoportok létrehozása: //$g->addgroup("g1","group 1"); A feladatok létrehozása(ezeket az adatokat a projekt modul feladatai is nyilvántartják): $g->addtask("a"," "," ",100,"task A"); $g->addtask("b"," "," ",100,"task B"); $g->addtask("c"," "," ",100,"task C"); A feladatok közötti kapcsolatok beállítása(a 3. paraméter a kapcsolat típusa) $g->addrelation("a","b","es"); $g->addrelation("b","c","es"); A diagram megjelenítése: $g->outputgantt(); Értesítések, fájlok A projekttagok értesítései automatikusan bekerülnek a Moodle naptárába, valamint a fájlok feltöltése, a feltöltött fájlok kezelése szintén a Moodle szolgáltatásait igénybe véve történik. 54

62 4.3.4 Aktivitás diagram ábra 18: Projekt - projektben végzet munka - aktivitási diagram 55

63 ábra 19: Projekt - feladat kijelölése - aktivitási diagram Az első aktivitás diagram azt a folyamatot szemlélteti, amikor egy tanuló feladatot szeretne megoldani. Ezt három úton teheti meg: Új projekt létrehozásával(amihez feladatokat hoz majd létre), meglévő projekthez új feladat felvételével, valamint a harmadik út, amikor már létezik hozzá rendelt feladat. A második diagram azt a folyamatot mutatja be, amikor az egyik projekttag egy új feladatot hoz létre, és azt kiadja a társának megoldásra. A feladathoz hozzárendelt diák részfeladatokat hoz létre aminek segítségével a feladat megoldásának menete, ideje könnyen nyomon követhető(beállíthatja a feladat előrehaladását is). Ha a feladathoz rendelt tanuló befejezte a feladatát(az előrehaladás 100%) a feladatot kijelölő erről értesítést kap, majd lezárja a feladatot. 56

64 4.3.5 Használati esetek ábra 20: Projekt - Use Case diagram 57

65 4.3.6 Adatmodell(ER diagram): PROJECT_MESSAGES(id,userid,date,subject,text,opened) PROJECT_PROJECT(id,name,startingdate,endingdate,parentproject,progress,projec tmanager,plannedtime,timespent,state,notes) PROJECT_PROJECT_USER_REL(id,projectid,userid) PROJECT_TASK(id,name,projectid,workerid,managerid,progress,state,startingdate, plannedtime,timespent,deadline,notes,importance) PROJECT_TASK_TASK_REL(id,task,prev_task,code) PROJECT_TASK_WORK(id,task,date,timespent,comment) project_messages: A projekt modul felhasználóknak szóló értesítéseit tartalmazó tábla: új feladatok, módosult feladatok, lejárt feladatok. project_project: A projekt adatokat tartalmazó tábla. project_project_user_rel: A projektek és a Moodle felhasználók összekötése. project_task: A projekt feladatokat tartalmazó tábla. project_task_task_rel: A feladatok időbeli viszonyát leíró tábla(feladat és előfeladatai). project_task_work: A feladathoz tartozó részfeladatokat összegyűjtő tábla. ábra 21: Projekt - ER diagram 58

66 4.3.7 A Felhasználó felület bemutatása ábra 22: Projekt - értesítések ábra 23: Projekt - új projekt létrehozása ábra 24: Projekt - projektek listája ábra 25: Projekt - Gantt diagram ábra 26: Projekt - részfeladat létrehozása 59

67 5 C porta és a Moodle integrálása 5.1 Cporta feladatbeadó rendszer A Cporta egy gyakorló rendszer, pillanatnyilag a szoftver laboratórium 1-2. tárgyak oktatását egészíti ki. Jelenleg a következő funkciókat képes ellátni: Előkészített feladatok megoldásaként C és C++ nyelvű programok beküldése, fordítása és automatikus értékelése. Egyéni nagy-házi feladatok feltöltése (forrás, tesztadatok, dokumentáció). Tesztkérdések gyakorlása. Jelenléti ív, eredmények nyilvántartása. Felmerült a tanszéken kifejlesztett CPorta és a Moodle integrálásának igénye. Megjegyzés: A továbbiakban Cporta néven csak a Cporta szerver oldali része, a feladatok fordításával, automatikus kiértékelésével foglalkozó rész említve. Az integrálás során a fő cél az volt, hogy az összes olyan funkciót, amit a Moodle képes ellátni, azt tegye meg ő, ezáltal nem kell feleslegesen bizonyos funkciókat újra lekódolni. A Cporta funkcióiról, és az azokat helyettesítő Moodle funkciókról egy külön leírás készült, amely megtalálható a 2. függelékben. Az összehasonlítás eredményeként azt találtam, hogy a Cporta adminisztrációs és felhasználói funkciója magán a Cpp feladatok kezelésén kívül kiváltható a Moodle segítségével, ezért a lehető legegyszerűbb és legszebb megoldásnak az tűnt, hogy egy új feladattípust hozok létre, amely a Cpp feladatokat fogja kezelni. 60

68 5.2 Cporta feladatbeadó rendszer és a Moodle integrálása Ahogy az az előző fejezetben foglaltakból következik, az integrálást a Cporta legkisebb módosítása nélkül kellett elvégezni, mivel a rendszert a diákok már használják, tesztelik. Ezért: Az integráció az adatbázis szinten történt meg. A Moodle-ben a Cpp kérdéstípus adatbázis felépítése mind a Moodle, mind a Cporta igényeit ki kell hogy elégítse. Elkészült egy szimulációs program PHP nyelven, amivel a fordító működését lehet manuálisan szimulálni Adatbázis integrációja A Cporta oldalán lévő fordító úgy lett megírva, hogy egy új feladat forrás felvétele esetén nem kell minden egyes lépésben az új adatbázishoz megfelelő kódot átírni, megduplázni, csak egy helyen kell felvenni új adatbázis kapcsolatot. Az egyetlen igény az adatbázis struktúra azonossága. Ennek érdekében View-k lettek létrehozva, amik leképzik a Moodle tábláit a Cporta által értelmezhető formába. A Moodle igénye csak a mdl_ prefix, de a többi kérdéstípushoz való hasonlóság miatt további prefixek kerültek az adatbázis táblák elé: mdl_question_cpp_... A létrehozott adatbázis táblák: mdl_question_cpp A feladat típus extra beállításai mdl_question_cpp_files A feladat során felhasználható fájlok(lehetnek láthatóak a tanulónak, vagy csak a fordító számára láthatóak) mdl_question_cpp_result A beadott megoldás eredménye mdl_question_cpp_test_case A feladathoz tartozó tesztesetek mdl_question_cpp_test_result A feladathoz tartozó tesztesetek eredményei mdl_question_cpp_solution Beadott megoldás adatai mdl_question_cpp_solution_files Beadott megoldáshoz tartozó fájlok 61

69 ábra 27: Cpp feladat típus - ER diagram ábra 28: Cpp feladat típus - Use Case diagram 62

70 5.2.2 A Moodle és a Cporta együttműködése A Moodle és a Cporta adatbázis szinten kommunikál egymással. Ennek az együttműködésnek a folyamatán megyek végig a következő pontokban: A Tanár bejelentkezik a Moodle rendszerbe, kiválaszt egy Kurzust. Az Adminisztrátori menüben kiválasztja a Kérdések menüpontot. A Kérdés típusok listájából kikeresi a Cpp típusú kérdést. A megjelenő űrlapon kitölti a feladathoz tartozó alapinformációkat(név, kategória,...) Ezek után a Cpp specifikus részeket tölti ki információk a fordítónak prescript felhasználható feladat fájlok tesztesetek A mentés gomb hatására az alábbi események történnek: Az alapinformációk a mdl_question (Moodle alap) táblába mentődnek le. A Cpp specifikus információk a mdl_question_cpp (Cpp) táblába tárolódnak. A feladat fájlok a mdl_question_cpp_files(cpp) táblába mentődnek le. A tesztesetek a mdl_question_cpp_test_case(cpp) táblába tárolódnak. A mdl_question tábla felhasználása miatt a Cpp kérdés egységesen kezelődik a Moodle többi kérdéseivel. A Tanár egy Kvízt hoz létre, amihez hozzárendeli a Cpp kérdést. Itt a Kérdés(mdl_question) és a Kvíz(mdl_quiz) táblák hivatkoznak egymásra, tehát teljes mértékben a Moodle felügyelete alatt történik minden. A következő események kiváltója Tanuló, aki bejelentkezik a Moodle rendszerbe és feladatot ad be. 63

71 A Tanuló bejelentkezik a Moodle rendszerbe és kiválaszt egy Kurzust. A főoldalon információt kap a beadható feladatokról(kvízek). Kiválaszt egy Kvízt, és megoldást ad be rá. A mdl_question táblából a kérdéshez tartozó alapinformációk kerülnek kiírása. A mdl_question_files-ból a -nem rejtett- felhasználható fájlokat listázza a rendszer. A Prescript JavaScript kód a mdl_question_cpp táblából végrehajtódik és a kérdés szövegében lévő [PRESCRIPT] részt lecseréli a szkript eredményével(mondat változó) A prescript résszel a tanulókhoz egyedi kérdések hozhatók létre. A Tanuló beadja a megoldását(több fájlt is beadhat). A mdl_question_solution táblában létrejön egy új sor. Ez a tábla kapcsolja össze a Feladatot a Kvízt és a Tanulót. Tárolja hogy hanyadik próbálkozás(a Moodle is tárolja). A beadott megoldások a mdl_question_files táblában tárolódnak el. A Cporta ezek után aktiválódik : A Cporta a solution View-on keresztül a mdl_question_solution táblát figyeli, és ha változást talál akkor lekéri az alábbi információkat, adatbázis tábla sorokat a megfelelő View-kon keresztül: mdl_question_cpp (beállítások) mdl_question_cpp_files (felhasználható fájlok) mdl_question_solution mdl_question_solution_files(beadott megoldások) mdl_user a felhasználó privát és publikus kulcsai A feladat kiértékelése után a mdl_question_result táblába szúr be egy új sort, ahol a passed mező 1 értéke jelzi, hogy a feladat sikeres volt-e. A mdl_question_test_result táblába a tesztesetek futási eredményeit teszi bele. 64

72 A Cporta befejezte a futását, most következik a Moodle-el való szinkronizálás: A mdl_question_result táblába való beszúrás hatására egy Trigger fut le az adatbázisban, ami átadja az eredményről szóló információt a Moodle két táblájának: mdl_question_attempts: ez tárolja a próbálkozások információit. mdl_quesion_grades: ebben a táblában van összerendelve a tanuló a kvíz és az eredmény. A tanuló feladata kiértékelődött. A Kvíz ismételt kiválasztásával az előző próbálkozások eredményeit mutató oldalra jut a felhasználó, ahol a Próbálkozások részleteinél megnézheti: A beadott feladat eredményét(sikerült/nem sikerült). A tesztesetek futásának eredményét. A beadott kódot Új kérdéstípus létrehozása Moodle rendszerben 1. Amennyiben a kérdéstípus, amit létre akarunk hozni használ saját adatbázis táblákat, akkor a db/install.xml fájlba kell létrehozni az XMLDB-ről szóló fejezetben tárgyalt módon az adatbázis objektumokat. 2. Az edit_cpp_form.php PHP fájlban kell létrehozni a kérdés beállítására használt formot. A nézet létrehozása megegyezik a fejezetben vázolt módszerrel, azzal az eltéréssel, hogy a létrehozandó osztálynak a question_edit_sajátkérdés_form nevet kell adni és a question_edit_form osztályból kell származtatni. A formot a definition_inner(&$mform) metóduson belül kell létrehozni az ismertetett módon. 3. A questiontype.php fájlban létrehozott cpp_qtype nevű osztály a default_questiontype osztály metódusait felüldefiniálva az alábbi funkciókat látja el: A kérdés létrehozásánál, módosításánál törlésénél keletkező, módosuló adatok lementése(törlése) az adatbázisba. Ezeket a feladatokat a save_question_options($question) és a delete_question($questionid) 65

73 metódusok látják el. print_question_formulation_and_controls(&$question, &$state, $cmoptions, $options)): A kérdés megjelenítése a tanulók számára. A konkrét megjelenítést nem ebben a metódusban valósul meg, hanem display.html fájlban. Itt csak a feladat megjelenítéséhez szükséges adatok összegyűjtése történik(kérdés neve, szövege, stb), amit a display.html fájl felhasznál. Léteznek osztálymetódusok, amivel a feladat értékelését, importálását, exportálását, lementését, visszaállítását végezhetjük el. 4. A kérdés megjelenítése a diákok számára a display.html fájlba kerül. Ezt a fájlt a cpp_qtype osztály print_question_formulation_and_controls nevű metódusa tölti be és adja át számára az adatbázisból előtte lekért kérdésadatokat. 5. A kérdés típus létrehozása során a nyelvi fájlokat létrehozva, felhasználva biztosíthatjuk a kérdéstípus többnyelvűségét. A nyelvi fájlt a lang mappába kerül. 66

74 5.3 Feladat létrehozó, beadó felületek ábra 29: Cpp feladat típus - új feladat létrehozása ábra 30: Cpp feladat típus - új feladat létrehozása 2 67

75 ábra 31: Cpp feladat típus - megoldás beadása ábra 32: Cpp feladat típus - Prescript rész létrehozása ábra 33: Cpp feladat típus - eredmények megtekintése ábra 34: Cpp feladat típus - eredmények megtekintése 68

Moodle -egy ingyenes, sokoldalú LMS rendszer használata a felsőoktatásban

Moodle -egy ingyenes, sokoldalú LMS rendszer használata a felsőoktatásban Moodle -egy ingyenes, sokoldalú LMS rendszer használata a felsőoktatásban Vágvölgyi Csaba (vagvolgy@kfrtkf.hu) Kölcsey Ferenc Református Tanítóképző Főiskola Debrecen Moodle??? Mi is ez egyáltalán? Moodle

Részletesebben

adottságai A Moodle programcsomag

adottságai A Moodle programcsomag A adottságai Dr. Bujdosó Gyöngyi & Dr. Molnár Tamás 2010. június 18. TÁMOP-4.1.2.-08/1/A A Moodle programcsomag A Moodle olyan nyílt forráskódú programcsomag, amely elektronikus tanulás és tanítás komplex

Részletesebben

Egészítsük ki a Drupal-t. Drupal modul fejlesztés

Egészítsük ki a Drupal-t. Drupal modul fejlesztés Egészítsük ki a Drupal-t Drupal modul fejlesztés Drupal 6.0 2008. február 13. Miért írjunk Drupal modult? Nincs az igényeinknek megfelelő modul Valamilyen közösségi igény kielégítése Valami nem úgy működik

Részletesebben

MOODLE mobileszközön

MOODLE mobileszközön SU2009 - Debrecen MOODLE mobileszközön LENGYEL Péter, lengyel@agr.unideb.hu Debrecen Egyetem, AMTC Gazdasági- és Agrárinformatika Tanszék Moodle - Modular Object-Oriented Dynamic Learning Environment nyílt

Részletesebben

Korszerű webes technológiák felhasználása a Moodle LMS rendszerben

Korszerű webes technológiák felhasználása a Moodle LMS rendszerben Korszerű webes technológiák felhasználása a Moodle LMS rendszerben Vágvölgyi Csaba (vagvolgy@kfrtkf.hu) Papp Gyula (pappgy@kfrtkf.hu) Kölcsey Ferenc Református Tanítóképző Főiskola Debrecen Néhány adat

Részletesebben

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás Petőfi Irodalmi Múzeum A Digitális Irodalmi Akadémia megújuló rendszere technológiaváltás II. Partnerek, feladatok Petőfi Irodalmi Múzeum Megrendelő, szakmai vezetés, kontroll Konzorcium MTA SZTAKI Internet

Részletesebben

Moodle. ingyenes elearning keretrendszer

Moodle. ingyenes elearning keretrendszer Moodle ingyenes elearning keretrendszer Papp Gyula, Vágvölgyi Csaba Kölcsey Ferenc Református Tanítóképző Főiskola pappgy@kfrtkf.hu vagvolgy@kfrtkf.hu http://www.kfrtkf.hu/ http://moodle.kfrtkf.hu IPSZILON

Részletesebben

Internet alkamazások Készítette: Methos L. Müller Készült: 2010

Internet alkamazások Készítette: Methos L. Müller Készült: 2010 Internet alkamazások Készítette: Methos L. Müller Készült: 2010 Tartalomjegyzék - Tartalomkezelő rendszerek Miért jó a CMS alapú website? CMS rendszerek - Mi szükséges ezen CMS-ekhez? - Információ építészet

Részletesebben

KnowledgeTree dokumentumkezelő rendszer

KnowledgeTree dokumentumkezelő rendszer KnowledgeTree dokumentumkezelő rendszer Budapest, 2011. január 11. Tartalomjegyzék Tartalomjegyzék... 2 Dokumentum információ... 3 Változások... 3 Bevezetés... 4 Funkciók... 5 Felhasználói felület... 5

Részletesebben

Tananyagfejlesztési módszer platformfüggetlen tananyagcsomagok elıállítására

Tananyagfejlesztési módszer platformfüggetlen tananyagcsomagok elıállítására Tananyagfejlesztési módszer platformfüggetlen tananyagcsomagok elıállítására Kottyán László Nyugat-magyarországi Egyetem Geoinformatikai Kar Székesfehérvár, 2008.11.11. Definíciók Kurzus: az LMS-ben (pl.

Részletesebben

MOODLE. elearning a gyakorlatban CONSEDU BT.

MOODLE. elearning a gyakorlatban CONSEDU BT. MOODLE elearning a gyakorlatban Miről esik szó? Miért pont MOODLE? Felhasználókezelés Alap eszközkészlet Mi van a kalapban? modulok, pluginok, blokkok Kurzusok menedzselése Értékelés a MOODLE-ban Tevékenységek

Részletesebben

Microsoft SQL Server telepítése

Microsoft SQL Server telepítése Microsoft SQL Server telepítése Az SQL Server a Microsoft adatbázis kiszolgáló megoldása Windows operációs rendszerekre. Az SQL Server 1.0 verziója 1989-ben jelent meg, amelyet tizenegy további verzió

Részletesebben

Moodle haszna lat hallgato knak 1

Moodle haszna lat hallgato knak 1 Moodle haszna lat hallgato knak 1 Ez a segédlet a BME-MVT 2 által gondozott Innovatív vállalkozások indítása és működtetése tantárgy Moodle oktatási környezetének hallgatói használatához készült. A következőkben

Részletesebben

E-tananyagfejlesztés az Egyetemi Könyvtár által tartott kutatásmódszertan órákhoz (Tananyagfejlesztés, könyvtár, blended learning, Moodle)

E-tananyagfejlesztés az Egyetemi Könyvtár által tartott kutatásmódszertan órákhoz (Tananyagfejlesztés, könyvtár, blended learning, Moodle) E-tananyagfejlesztés az Egyetemi Könyvtár által tartott kutatásmódszertan órákhoz (Tananyagfejlesztés, könyvtár, blended learning, Moodle) Győr, 2012. 07.13. dr. Nagy Tamás, Nyitrai Erzsébet Tanórák az

Részletesebben

mlearning Mobil tanulás a gyakorlatban

mlearning Mobil tanulás a gyakorlatban mlearning Mobil tanulás a gyakorlatban Vágvölgyi Csaba Papp Gyula Dr. Cserhátiné Vecsei Ildikó Kölcsey Ferenc Református Tanítóképző Főiskola elearning CBT (Computer Based Training) Interaktivitás Hipertext

Részletesebben

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu Számonkérés 2 Papíros (90 perces) zh az utolsó gyakorlaton. Segédanyag nem használható Tematika 1. félév 3 Óra Dátum Gyakorlat 1. 2010.09.28.

Részletesebben

A MOODLE KERETRENDSZER TELEPÍTÉSE

A MOODLE KERETRENDSZER TELEPÍTÉSE Mgr. Námesztovszki Zsolt A MOODLE KERETRENDSZER TELEPÍTÉSE Eötvös Loránd Tudományegyetem, Pedagógiai és Pszichológiai Kar Oktatásinformatikai rendszerek - szöveggyűjtemény Budapest, 2013. MOODLE A MOOLDE

Részletesebben

smepro.eu tananyagbázis és kurzusrendszer portálok felépítése

smepro.eu tananyagbázis és kurzusrendszer portálok felépítése smepro.eu tananyagbázis és kurzusrendszer portálok felépítése Az SMELearning módszertan egyik legfontosabb ajánlása, egybehangzóan az előzetes szükségletelemzés következtetéseivel a következő: a kis-és

Részletesebben

Alapszintű számítástechnikai ismeretek pedagógusoknak 30 óra. Továbbképzési tájékoztató 2017.

Alapszintű számítástechnikai ismeretek pedagógusoknak 30 óra. Továbbképzési tájékoztató 2017. Alapszintű számítástechnikai ismeretek pedagógusoknak 30 óra Akkreditált pedagógus-továbbképzés Alapítási engedély nyilvántartási száma: 575-2/2017. (e-learning képzés) Továbbképzési tájékoztató 2017.

Részletesebben

Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése

Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése 1 Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése Természetes nyelv feldolgozás 2 Tudásalapú információ-kereső rendszerek

Részletesebben

NETTUTOR AZ OKTATÁSSZERVEZÉS SZÁMÍTÓGÉPES TÁMOGATÁSA

NETTUTOR AZ OKTATÁSSZERVEZÉS SZÁMÍTÓGÉPES TÁMOGATÁSA NETTUTOR AZ OKTATÁSSZERVEZÉS SZÁMÍTÓGÉPES TÁMOGATÁSA Kis Ferenc, kis.f@szamalk-inf.hu SZÁMALK Informatika Rt. Az utóbbi években az elektronikus oktatás területén egyre több vállalat próbál különböző multimédiás

Részletesebben

Tudás Reflektor. Copyright 2011; Kodácsy Tamás; E-mail: kodacsy.tamas@kodasoft.hu

Tudás Reflektor. Copyright 2011; Kodácsy Tamás; E-mail: kodacsy.tamas@kodasoft.hu Tudás Reflektor A Társadalmi Megújulás Operatív Program 4.1.3. számú, A felsőoktatási szolgáltatások rendszerszintű fejlesztése Központi/felsőoktatási Validációs Rendszer projekt keretében készült olyan

Részletesebben

PHP-MySQL. Adatbázisok gyakorlat

PHP-MySQL. Adatbázisok gyakorlat PHP-MySQL Adatbázisok gyakorlat Weboldalak és adatbázisok Az eddigiek során megismertük, hogyan lehet a PHP segítségével dinamikus weblapokat készíteni. A dinamikus weboldalak az esetek többségében valamilyen

Részletesebben

TANANYAGTÁRHÁZAK SZEREPE AZ ELEARNINGBEN. Vágvölgyi Csaba - Papp Gyula. Kölcsey Ferenc Református Tanítóképző Főiskola Debrecen

TANANYAGTÁRHÁZAK SZEREPE AZ ELEARNINGBEN. Vágvölgyi Csaba - Papp Gyula. Kölcsey Ferenc Református Tanítóképző Főiskola Debrecen TANANYAGTÁRHÁZAK SZEREPE AZ ELEARNINGBEN Vágvölgyi Csaba - Papp Gyula Kölcsey Ferenc Református Tanítóképző Főiskola Debrecen Networkshop 2010 Debrecen, 2010. április 7.-9. elearning az elmúlt 10 évben

Részletesebben

E-learning ismeretek 1.3. tananyagegység

E-learning ismeretek 1.3. tananyagegység E-learning ismeretek 1.3. tananyagegység Tematikai egység tartalma e-learning alapok Alapfogalmak Az e-learning módszerei Az e-learning rendszer elemei E-learning rendszerek felépítése, rendszer szabványok

Részletesebben

kodolosuli.hu: Interaktív, programozást tanító portál BALLA TAMÁS, DR. KIRÁLY SÁNDOR NETWORKSHOP 2017, SZEGED

kodolosuli.hu: Interaktív, programozást tanító portál BALLA TAMÁS, DR. KIRÁLY SÁNDOR NETWORKSHOP 2017, SZEGED kodolosuli.hu: Interaktív, programozást tanító portál BALLA TAMÁS, DR. KIRÁLY SÁNDOR NETWORKSHOP 2017, SZEGED A közoktatásban folyó informatika oktatásával kapcsolatos elvárások Állami szereplő: Az informatikaoktatás

Részletesebben

az MTA SZTAKI elearning osztályának adaptív tartalom megoldása Fazekas László Dr. Simonics István Wagner Balázs

az MTA SZTAKI elearning osztályának adaptív tartalom megoldása Fazekas László Dr. Simonics István Wagner Balázs elibrary ALMS az MTA SZTAKI elearning osztályának adaptív tartalom megoldása Fazekas László Dr. Simonics István Wagner Balázs Miért van szüks kség elearningre Élethosszig tartó tanulás A dolgozó ember

Részletesebben

Gyakorlati vizsgatevékenység A

Gyakorlati vizsgatevékenység A Gyakorlati vizsgatevékenység A Szakképesítés azonosító száma, megnevezése: 481 04 0000 00 00 Web-programozó Vizsgarészhez rendelt követelménymodul azonosítója, megnevezése: 1189-06 Web-alkalmazás fejlesztés

Részletesebben

OOP. Alapelvek Elek Tibor

OOP. Alapelvek Elek Tibor OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós

Részletesebben

JavaScript Web AppBuilder használata

JavaScript Web AppBuilder használata JavaScript Web AppBuilder használata Kiss András Esri Magyarország Kft. 2015. október 8. Az ArcGIS Platform lehetővé teszi a Web GIS-t Térinformatika elérése bárhonnan Desktop Web Eszköz Egyszerű Egységes

Részletesebben

Közösség, projektek, IDE

Közösség, projektek, IDE Eclipse Közösség, projektek, IDE Eclipse egy nyílt forráskódú (open source) projekteken dolgozó közösség, céljuk egy kiterjeszthető fejlesztői platform és keretrendszer fejlesztése, amely megoldásokkal

Részletesebben

A WORDPRESS TELEPÍTÉSÉNEK LÉPÉSEI

A WORDPRESS TELEPÍTÉSÉNEK LÉPÉSEI Mgr. Námesztovszki Zsolt A WORDPRESS TELEPÍTÉSÉNEK LÉPÉSEI Eötvös Loránd Tudományegyetem, Pedagógiai és Pszichológiai Kar Oktatásinformatikai rendszerek - szöveggyűjtemény Budapest, 2013. Bevezető A WordPress

Részletesebben

Web-fejlesztés NGM_IN002_1

Web-fejlesztés NGM_IN002_1 Web-fejlesztés NGM_IN002_1 Rich Internet Applications RIA Vékony-kliens generált (statikus) HTML megjelenítése szerver oldali feldolgozással szinkron oldal megjelenítéssel RIA desktop alkalmazások funkcionalitása

Részletesebben

Az ErdaGIS térinformatikai keretrendszer

Az ErdaGIS térinformatikai keretrendszer Az ErdaGIS térinformatikai keretrendszer Két évtized tapasztalatát sűrítettük ErdaGIS térinformatikai keretrendszerünkbe, mely moduláris felépítésével széleskörű felhasználói réteget céloz, és felépítését

Részletesebben

DRUPAL 7. újdonságai. Hojtsy Gábor Drupal Hétvége, Budapest - 2009. november 14. Angela Byron fóliái alapján

DRUPAL 7. újdonságai. Hojtsy Gábor Drupal Hétvége, Budapest - 2009. november 14. Angela Byron fóliái alapján A DRUPAL 7 újdonságai Hojtsy Gábor Drupal Hétvége, Budapest - 2009. november 14. Angela Byron fóliái alapján MIKOR JELENIK MEG? Itt vagyunk! MIKOR JELENIK MEG? Itt vagyunk! Dec 1, 2009 KINEK KÖSZÖNHETJÜK?

Részletesebben

Adatbányászat és Perszonalizáció architektúra

Adatbányászat és Perszonalizáció architektúra Adatbányászat és Perszonalizáció architektúra Oracle9i Teljes e-üzleti intelligencia infrastruktúra Oracle9i Database Integrált üzleti intelligencia szerver Data Warehouse ETL OLAP Data Mining M e t a

Részletesebben

A Neptun.Net Egységes Tanulmányi Rendszer. Előadó: Fauszt Zoltán Budapest, 2007. április 26.

A Neptun.Net Egységes Tanulmányi Rendszer. Előadó: Fauszt Zoltán Budapest, 2007. április 26. A Neptun.Net Egységes Tanulmányi Rendszer Előadó: Fauszt Zoltán Budapest, 2007. április 26. A Neptun.Net kifejlesztése A verzióváltás okai A korábbi technológia elavult Nem volt bővíthető A fejlesztés

Részletesebben

Készítette: Enisz Krisztián, Lugossy Balázs, Speiser Ferenc, Ughy Gergely 2010.11.29. 1

Készítette: Enisz Krisztián, Lugossy Balázs, Speiser Ferenc, Ughy Gergely 2010.11.29. 1 Készítette: Enisz Krisztián, Lugossy Balázs, Speiser Ferenc, Ughy Gergely 2010.11.29. 1 /17 Tartalomjegyzék A térinformatikáról általánosságban Célok Felhasznált eszközök Fejlesztés lépései Adatbázis Grafikus

Részletesebben

AZ INTEGRÁLT NYOMONKÖVETŐ RENDSZER BEMUTATÁSA (TÁMOP 3.4.2-B) Kern Zoltán Közoktatási szakértő Kern.zoltan@educatio.hu

AZ INTEGRÁLT NYOMONKÖVETŐ RENDSZER BEMUTATÁSA (TÁMOP 3.4.2-B) Kern Zoltán Közoktatási szakértő Kern.zoltan@educatio.hu AZ INTEGRÁLT NYOMONKÖVETŐ RENDSZER BEMUTATÁSA (TÁMOP 3.4.2-B) Kern Zoltán Közoktatási szakértő Kern.zoltan@educatio.hu Integrált (Elektronikus) Nyomonkövető Rendszer Miért használjuk? Hogyan használjuk?

Részletesebben

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft Flash és PHP kommunikáció Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft A lehetőségek FlashVars External Interface Loadvars XML SOAP Socket AMF AMFphp PHPObject Flash Vars Flash verziótól függetlenül

Részletesebben

Gyakorlati vizsgatevékenység B

Gyakorlati vizsgatevékenység B Gyakorlati vizsgatevékenység Szakképesítés azonosító száma, megnevezése: 481 04 0000 00 00 Web-programozó Vizsgarészhez rendelt követelménymodul azonosítója, megnevezése: 1189-06 Web-alkalmazás fejlesztés

Részletesebben

Az elektronikus tanulási környezet pedagógiai kérdéseivel foglalkozó kutatási eredményeink

Az elektronikus tanulási környezet pedagógiai kérdéseivel foglalkozó kutatási eredményeink MELLearN - EULLearN 3. Magyar Nemzeti és Nemzetközi Lifelong Learning Konferencia Korszer tanítási-tanulási környezetek a lifelong learning támogatására 2007. április 13. Az elektronikus tanulási környezet

Részletesebben

Dropbox - online fájltárolás és megosztás

Dropbox - online fájltárolás és megosztás Dropbox - online fájltárolás és megosztás web: https://www.dropbox.com A Dropbox egy felhő-alapú fájltároló és megosztó eszköz, melynek lényege, hogy a különböző fájlokat nem egy konkrét számítógéphez

Részletesebben

MŰSZAKI DOKUMENTÁCIÓ. Aleph WebOPAC elérhetővé tétele okostelefonon. Eötvös József Főiskola 6500 Baja, Szegedi út 2.

MŰSZAKI DOKUMENTÁCIÓ. Aleph WebOPAC elérhetővé tétele okostelefonon. Eötvös József Főiskola 6500 Baja, Szegedi út 2. Telefon: Fax: E-mail: (+36-1) 269-1642 (+36-1) 331 8479 info@ex-lh.hu www.ex-lh.hu Eötvös József Főiskola 6500 Baja, Szegedi út 2. MŰSZAKI DOKUMENTÁCIÓ Aleph WebOPAC elérhetővé tétele okostelefonon Pályázati

Részletesebben

E-learning és szabványosítás, a SCORM szabvány

E-learning és szabványosítás, a SCORM szabvány E-learning és szabványosítás, a SCORM szabvány Kristóf Zsolt kristofzs@de-efk.hu Bodnár Károly bcharles@de-efk.hu Debreceni Egyetem Egészségügyi Kar 4400, Nyíregyháza, Sóstói út 2-4. XV. MultiMédia az

Részletesebben

Canvas LMS használata hallgatók számára

Canvas LMS használata hallgatók számára Canvas LMS használata hallgatók számára ELTE Rektori Kabinet Oktatásfejlesztési és Tehetséggondozási Iroda Utolsó módosítás: 2017. február 22. 1 Tartalomjegyzék 3. dia: Mit jelent az LMS? 9. dia: A kurzusfelület

Részletesebben

Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0

Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0 Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0 Az Ön letölthető fájl tartalmazza az Evolut Főkönyv 2013. program telepítőjét. A jelen leírás olyan telepítésre vonatkozik, amikor Ön

Részletesebben

ALKALMAZÁSOK ISMERTETÉSE

ALKALMAZÁSOK ISMERTETÉSE SZE INFORMATIKAI KÉPZÉS 1 SZE SPECIFIKUS IT ISMERETEK ALKALMAZÁSOK ISMERTETÉSE A feladat megoldása során valamely Windows Operációs rendszer használata a javasolt. Ebben a feladatban a következőket fogjuk

Részletesebben

Kliensoldali rendszerkövetelmények

Kliensoldali rendszerkövetelmények Az elearning öltöztet!?! Koncz Zsuzsanna módszertani szakértő Neting Informatika Kft. Öltözködési tanácsok tananyag bemutatása Technikai információk Navigáció, ikonok, jelölések A tananyag tartalma, felépítése,

Részletesebben

Zimbra levelező rendszer

Zimbra levelező rendszer Zimbra levelező rendszer Budapest, 2011. január 11. Tartalomjegyzék Tartalomjegyzék... 2 Dokumentum információ... 3 Változások... 3 Bevezetés... 4 Funkciók... 5 Email... 5 Társalgás, nézetek, és keresés...

Részletesebben

Internet programozása. 1. előadás

Internet programozása. 1. előadás Internet programozása 1. előadás Áttekintés 1. Mi a PHP? 2. A PHP fejlődése 3. A PHP 4 újdonságai 4. Miért pont PHP? 5. A programfejlesztés eszközei 1. Mi a PHP? Egy makrókészlet volt, amely személyes

Részletesebben

eportfólió Minek és hogyan?

eportfólió Minek és hogyan? eportfólió Minek és hogyan? Papp Gyula Vágvölgyi Csaba (gyula.papp@gmail.com) (vagvolgyi.csaba@gmail.com) Mi a portfólió? És mi az eportfólió? Divat 3 4 Pénzügyi Üzleti (termék, szolgáltatás, stb.) 5 Tanulási

Részletesebben

ILIAS hallgatói felhasználói leírás

ILIAS hallgatói felhasználói leírás Tartalomjegyzék Tartalomjegyzék... 1 Általános ismertető... 2 ILIAS elérése, bejelentkezés... 3 Tananyagok elérése, Taneszköztároló... 4 Csatlakozás kurzushoz... 6 Fájl letöltése... 8 Gyakorlatok megküldése,

Részletesebben

DKÜ ZRT. A Portál rendszer felületének általános bemutatása. Felhasználói útmutató. Támogatott böngészők. Felületek felépítése. Információs kártyák

DKÜ ZRT. A Portál rendszer felületének általános bemutatása. Felhasználói útmutató. Támogatott böngészők. Felületek felépítése. Információs kártyák A Portál rendszer felületének általános bemutatása Felhasználói útmutató Támogatott böngészők Internet Explorer 9+ Firefox (legújabb verzió) Chrome (legújabb verzió) Felületek felépítése Információs kártyák

Részletesebben

Digitális aláíró program telepítése az ERA rendszeren

Digitális aláíró program telepítése az ERA rendszeren Digitális aláíró program telepítése az ERA rendszeren Az ERA felületen a digitális aláírásokat a Ponte webes digitális aláíró program (Ponte WDAP) segítségével lehet létrehozni, amely egy ActiveX alapú,

Részletesebben

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 04. 17. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési

Részletesebben

Microsoft Access alapok

Microsoft Access alapok Microsoft Access alapok Képzési program Cím: 1027 Budapest, Csalogány utca 23. (a) A tanfolyam célja (a képzés során megszerezhető kompetencia) A tanfolyamot azoknak ajánljuk, akik már jártasságát szereztek

Részletesebben

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése Készítette: Simon Nándor Integrált fejlesztő környezet Egységes (vizuális) fejlesztési lehetőségek Bőséges segítség (help) Hibakeresési, nyomkövetési

Részletesebben

Kezdő lépések Microsoft Outlook

Kezdő lépések Microsoft Outlook Kezdő lépések Microsoft Outlook A Central Europe On-Demand Zrt. által, a Telenor Magyarország Zrt. részére nyújtott szolgáltatások rövid kezelési útmutatója 1 Tartalom Áttekintés... 3 MAPI mailbox konfiguráció

Részletesebben

Dspace fejlesztési tapasztalatok, problémák és megoldások

Dspace fejlesztési tapasztalatok, problémák és megoldások Dspace fejlesztési tapasztalatok, problémák és megoldások Takács Ákos, fejlesztő takacs.akos@lib.pte.hu Könyvtári igények Az egyetemen keletkezett dokumentumok tárolása Disszertációk Publikációk Szakdolgozatok

Részletesebben

Webes alkalmazások fejlesztése

Webes alkalmazások fejlesztése Webes alkalmazások fejlesztése 3. gyakorlat Authentikáció, adatok feltöltése Szabó Tamás (sztrabi@inf.elte.hu) - sztrabi.web.elte.hu Authentikáció Manapság már elvárás, hogy a felhasználó regisztrálni

Részletesebben

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E Követelmény A beadandó dokumentációját a Keszthelyi Zsolt honlapján található pdf alapján kell elkészíteni http://people.inf.elte.hu/keszthelyi/alkalmazasok_fejlesztese

Részletesebben

Nyilvántartási Rendszer

Nyilvántartási Rendszer Nyilvántartási Rendszer Veszprém Megyei Levéltár 2011.04.14. Készítette: Juszt Miklós Honnan indultunk? Rövid történeti áttekintés 2003 2007 2008-2011 Access alapú raktári topográfia Adatbázis optimalizálás,

Részletesebben

Google App Engine az Oktatásban 1.0. ügyvezető MattaKis Consulting http://www.mattakis.com

Google App Engine az Oktatásban 1.0. ügyvezető MattaKis Consulting http://www.mattakis.com Google App Engine az Oktatásban Kis 1.0 Gergely ügyvezető MattaKis Consulting http://www.mattakis.com Bemutatkozás 1998-2002 között LME aktivista 2004-2007 Siemens PSE mobiltelefon szoftverfejlesztés,

Részletesebben

Földmérési és Távérzékelési Intézet

Földmérési és Távérzékelési Intézet Ta p a s z ta l a to k é s g ya ko r l a t i m e g o l d á s o k a W M S s zo l gá l tatá s b a n Földmérési és Távérzékelési Intézet 2011.03.13. WMS Szolgáltatások célja A technikai fejlődéshez igazodva

Részletesebben

Intézményi, oktatói portfólió eszközei, jó gyakorlatok. Vágvölgyi Csaba Debreceni Református Hittudományi Egyetem

Intézményi, oktatói portfólió eszközei, jó gyakorlatok. Vágvölgyi Csaba Debreceni Református Hittudományi Egyetem Intézményi, oktatói portfólió eszközei, jó gyakorlatok Vágvölgyi Csaba Debreceni Református Hittudományi Egyetem vagvolgyi.csaba@gmail.com Mi az eportfólió Bizonyos szempontok alapján, meghatározott céllal

Részletesebben

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010. Országos Területrendezési Terv térképi mellékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010. május 1. BEVEZETÉS Az útmutató célja az Országos Területrendezési

Részletesebben

A NetSupport School oktatást támogató rendszer

A NetSupport School oktatást támogató rendszer A NetSupport School oktatást támogató rendszer 1. Célcsoport A NetSupport School oktatást támogató rendszer alkalmas valamennyi tanár-diák, oktatóhallgató kapcsolatot igénylő oktatási folyamat támogatására.

Részletesebben

Moodle IPSZILON előadás - 2005. március 23.

Moodle IPSZILON előadás - 2005. március 23. Telepítési és üzemeltetési feladatok a Moodle LMS rendszerben Vágvölgyi Csaba (vagvolgy@kfrtkf.hu) Kölcsey Ferenc Református Tanítóképző Főiskola Debrecen Amiről szó lesz A telepítés rövid ismertetése

Részletesebben

elearning a tanítóképzésben

elearning a tanítóképzésben elearning a tanítóképzésben Papp Gyula (pappgy@kfrtkf.hu) Dr. Cserhátiné Vecsei Ildikó (vecsei@kfrtkf.hu) Kölcsey Ferenc Református Tanítóképző Főiskola NETWORKSHOP 2005. Szeged március 30. - április 1.

Részletesebben

Alkalmazásokban. Dezsényi Csaba Ovitas Magyarország kft.

Alkalmazásokban. Dezsényi Csaba Ovitas Magyarország kft. Tudásmodellezés Kereskedelmi Alkalmazásokban Dezsényi Csaba Ovitas Magyarország kft. Tudásmenedzsment Adat -> Információ -> Tudás Intézményi tudásvagyon hatékony kezelése az üzleti célok megvalósításának

Részletesebben

JAVA webes alkalmazások

JAVA webes alkalmazások JAVA webes alkalmazások Java Enterprise Edition a JEE-t egy specifikáció definiálja, ami de facto szabványnak tekinthető, egy ennek megfelelő Java EE alkalmazásszerver kezeli a telepített komponensek tranzakcióit,

Részletesebben

Papp Gyula pappgy@kfrtkf.hu Dr. Cserhátiné Vecsei Ildikó vecsei@kfrtfk.hu Kölcsey Ferenc Református Tanítóképző Főiskola

Papp Gyula pappgy@kfrtkf.hu Dr. Cserhátiné Vecsei Ildikó vecsei@kfrtfk.hu Kölcsey Ferenc Református Tanítóképző Főiskola ELEARNING A TANÍTÓKÉPZÉSBEN Papp Gyula pappgy@kfrtkf.hu Dr. Cserhátiné Vecsei Ildikó vecsei@kfrtfk.hu Kölcsey Ferenc Református Tanítóképző Főiskola Az elearning-ről nagyon sokat beszéltünk az elmúlt években.

Részletesebben

Név: Neptun kód: Pontszám:

Név: Neptun kód: Pontszám: Név: Neptun kód: Pontszám: 1. Melyek a szoftver minőségi mutatói? Fejlesztési idő, architektúra, programozási paradigma. Fejlesztőcsapat összetétele, projekt mérföldkövek, fejlesztési modell. Karbantarthatóság,

Részletesebben

Tartalomjegyzék 2. RENDSZER FELÉPÍTÉSE... 3

Tartalomjegyzék 2. RENDSZER FELÉPÍTÉSE... 3 Tartalomjegyzék 1. BEVEZETŐ... 2 2. RENDSZER FELÉPÍTÉSE... 3 2.1. FELÜLET... 3 2.2. FELHASZNÁLÓI FUNKCIÓK... 4 2.2.1. Modulok... 4 2.2.2. Előzmények... 4 2.2.3. Lekérdezés működése, beállítások... 5 2.2.4.

Részletesebben

A Java EE 5 plattform

A Java EE 5 plattform A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11. 13. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési

Részletesebben

A NetBeans IDE Ubuntu Linux operációs rendszeren

A NetBeans IDE Ubuntu Linux operációs rendszeren A NetBeans IDE Ubuntu Linux operációs rendszeren Készítette: Török Viktor (Kapitány) E-mail: kapitany@lidercfeny.hu 1/10 A NetBeans IDE Linux operációs rendszeren Bevezető A NetBeans IDE egy Java-ban írt,

Részletesebben

II. ADATLAP - Programmodul részletes bemutatása

II. ADATLAP - Programmodul részletes bemutatása II. ADATLAP - Programmodul részletes bemutatása 1. A programmodul azonosító adatai Ügyeljen arra, hogy a programmodul sorszáma és megnevezése azonos legyen a I. A program általános tartalma fejezet 11.

Részletesebben

E-learning rendszer fejlesztése

E-learning rendszer fejlesztése E-learning rendszer fejlesztése Oltványi Gábor József diplomaterv bemutató Konzulens: Jaskó Szilárd 2012.07.04., PPKE-ITK Elektronikus oktatás szakirányú továbbképzés 1. Feladatkiírás Egy tetszőlegesen

Részletesebben

SuliX Learning. Tanulói kézikönyv

SuliX Learning. Tanulói kézikönyv SuliX Learning Tanulói kézikönyv A kézikönyv elkészítésekor az ULX Kft. a lehető legnagyobb gondossággal és körültekintéssel járt el, ennek ellenére nem zárható ki hibák, tévedések előfordulásat. Lehetséges,

Részletesebben

SAP BUSINESSOBJECTS PROFITABILITY AND COST MANAGEMENT (PCM) BEMUTATÁSA

SAP BUSINESSOBJECTS PROFITABILITY AND COST MANAGEMENT (PCM) BEMUTATÁSA SAP BUSINESSOBJECTS PROFITABILITY AND COST MANAGEMENT (PCM) BEMUTATÁSA MODELL ALKOTÁS, TECHNIKAI ÉS ARCHITECKTURÁLIS KÉRDÉSEK 1. MODELLEZÉS A modellezés a PCM Model Builder moduljának felhasználóbarát,

Részletesebben

TUDNIVALÓK A WEB-FEJLESZTÉS I. KURZUSRÓL

TUDNIVALÓK A WEB-FEJLESZTÉS I. KURZUSRÓL TUDNIVALÓK A WEB-FEJLESZTÉS I. KURZUSRÓL http://bit.ly/a1lhps Abonyi-Tóth Andor Egyetemi tanársegéd 1117, Budapest XI. kerület, Pázmány Péter sétány 1/C, 2.404 Tel: (1) 372-2500/8466 http://abonyita.inf.elte.hu

Részletesebben

Választó lekérdezés létrehozása

Választó lekérdezés létrehozása Választó lekérdezés létrehozása A választó lekérdezés egy vagy több rekordforrásból származó adatokat jelenít meg. A választó lekérdezések a táblák, illetve az adatbázis tartalmát nem változtatják meg,

Részletesebben

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és

Részletesebben

Miért érdemes váltani, mikor ezeket más szoftverek is tudják?

Miért érdemes váltani, mikor ezeket más szoftverek is tudják? Néhány hónapja elhatároztam, hogy elkezdek megismerkedni az Eclipse varázslatos világával. A projektet régóta figyelemmel kísértem, de idő hiányában nem tudtam komolyabban kipróbálni. Plusz a sok előre

Részletesebben

E-Freight beállítási segédlet

E-Freight beállítási segédlet E-Freight beállítási segédlet Az E-Freight rendszer működéséhez szükséges programok és beállítások v08 A legújabb verzióért kérjük, olvassa be az alábbi kódot: 1. Támogatott böngészők Az E-Freight az Internet

Részletesebben

Szakdolgozat egy fejezetének tartalomjegyzéke

Szakdolgozat egy fejezetének tartalomjegyzéke Szakdolgozat egy fejezetének tartalomjegyzéke 2. A tanulásszervezés módszerei és eszközei a Moodle keretrendszerben... 2 2. 1. Tartalomkezelés... 2 2. 1. 1. Szöveges oldal hozzáadása... 2 2. 1. 2. Weboldal

Részletesebben

CTools és Panels pluginok

CTools és Panels pluginok CTools és Panels pluginok Wittmann Balázs Ádám Drupal fejlesztő KYbest 2013, November 16. Elérhetőségek Előadás diák http://kybest.hu/hu/blog Forráskódok https://github.com/whitelikeman/ctools_plugin_examples.git

Részletesebben

Az ECDL 44 távoktatási rendszer értékelése

Az ECDL 44 távoktatási rendszer értékelése Az ECDL 44 távoktatási rendszer értékelése Informatika a Nemzetvédelmi Képzésben Alapítvány Cím: 1101. Budapest, Hungária krt. 9-11. 1581. Budapest, Pf. 15. Tel: 1 432-9130 Fax: 1 432-9121 e-mail: tamaska@zmne.hu

Részletesebben

Tel.: 06-30/218-3519 E-mail: probert@petorobert.com. Közösségi megosztás előnyei és alkalmazása

Tel.: 06-30/218-3519 E-mail: probert@petorobert.com. Közösségi megosztás előnyei és alkalmazása Tel.: 06-30/218-3519 E-mail: probert@petorobert.com Közösségi megosztás előnyei és alkalmazása Tartalomjegyzék KÖZÖSSÉGI MEGOSZTÁS - 2 - MIÉRT HASZNOS? - 2 - A JÓ SHARE GOMB ISMERTETŐ JELEI - 3 - MEGOSZTÁSI

Részletesebben

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

Felhasználói leírás a DimNAV Server segédprogramhoz ( ) Felhasználói leírás a DimNAV Server segédprogramhoz (1.1.0.3) Tartalomjegyzék Bevezetés...3 1. Telepítés...3 2. Eltávolítás...4 Program használata...5 1. Kezdeti beállítások...5 2. Licenc megadása...6

Részletesebben

PTE-PROXY VPN használata, könyvtári adatbázisok elérhetősége távolról

PTE-PROXY VPN használata, könyvtári adatbázisok elérhetősége távolról PTE-PROXY VPN használata, könyvtári adatbázisok elérhetősége távolról Az Informatikai Igazgatóság minden aktív egyetemi hallgató és munkaviszonnyal rendelkező egyetemi dolgozó részére úgynevezett proxy

Részletesebben

HVK Adminisztrátori használati útmutató

HVK Adminisztrátori használati útmutató HVK Adminisztrátori használati útmutató Tartalom felöltés, Hírek karbantartása A www.mvfportal.hu oldalon a bejelentkezést követően a rendszer a felhasználó jogosultsági besorolásának megfelelő nyitó oldalra

Részletesebben

NEPTUN MOBIL ALKALMAZÁS FELHASZNÁLÓI SEGÉDLET

NEPTUN MOBIL ALKALMAZÁS FELHASZNÁLÓI SEGÉDLET NEPTUN MOBIL ALKALMAZÁS FELHASZNÁLÓI SEGÉDLET Felhasználói dokumentáció verzió 1.0 Budapest, 2015. Változáskezelés Verzió Dátum Változás Pont Cím Oldal Kiadás: 2015.07.05. Verzió: 1.6. Oldalszám: 2 / 12

Részletesebben

A Canvas LMS új és régi felülete közti különbségek

A Canvas LMS új és régi felülete közti különbségek A Canvas LMS új és régi felülete közti különbségek Ezen dokumentumban a Canvas LMS régi, illetve az új, modernebb felhasználói felületének eltéréseire térünk ki, segítséget adva azon felhasználóknak, akik

Részletesebben

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) közönséges felhasználók SQL*Plus Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP dolgozó), DEPT osztály) "közönséges" felhasználók Adatszótár: metaadatokat tartalmazó, csak olvasható táblák táblanév-prefixek:

Részletesebben

WordPress segédlet. Bevezető. Letöltés. Telepítés

WordPress segédlet. Bevezető. Letöltés. Telepítés WordPress segédlet Bevezető A WordPress egy ingyenes tartalomkezelő rendszer (Content Management System - CMS), amely legnagyobb előnye az egyszerű telepítés és a letisztult kezelhetőség és a változatos

Részletesebben

Manhattan - szabad forráskódú távoktatási program adaptálása és fejlesztése

Manhattan - szabad forráskódú távoktatási program adaptálása és fejlesztése Manhattan - szabad forráskódú távoktatási program adaptálása és fejlesztése Fehér Péter, ELTE TTK Oktatástechnikai Csoport (feherp@linux-perfect.hu vagy feherp@matavnet.hu) Bevezetés A távoktatást támogató

Részletesebben

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 2 Ismétlés Ismétlés 3 Fájl/Adatbázis 3 4 Szerver 2 CGI

Részletesebben

Crossplatform mobil fejlesztőkörnyezet kiválasztását támogató kutatás

Crossplatform mobil fejlesztőkörnyezet kiválasztását támogató kutatás Crossplatform mobil fejlesztőkörnyezet kiválasztását támogató kutatás A Mobil multimédiás kliens fejlesztői eszközkészlet létrehozása című kutatás-fejlesztési projekthez A dokumentum célja A dokumentum

Részletesebben