30
UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY SOFTVÉR NA VÝUČBU PARALELIZMU A AUTOMATOV NA ZÁKLADNEJ ŠKOLE Bakalárska práca 2018 Patrik Priebera

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKYpriebera1/bakalarka/download/... · 2018. 1. 12. · programovanie je hodnotené podľa toho, ako dobre

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

  • UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY

    SOFTVÉR NA VÝUČBU PARALELIZMU A AUTOMATOV NA ZÁKLADNEJ ŠKOLE

    Bakalárska práca

    2018 Patrik Priebera

  • UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY

    SOFTVÉR NA VÝUČBU PARALELIZMU A AUTOMATOV NA ZÁKLADNEJ ŠKOLE

    Bakalárska práca

    Študijný program: Aplikovaná informatika Študijný odbor: 2511 Aplikovaná informatika Školiace pracovisko: Katedra aplikovanej informatiky Školiteľ: Mgr. Lucia Budinská

    Bratislava, 2018 Patrik Priebera

  • I

    //// zadanie

  • II

    Čestné vyhlásenie

    Čestne vyhlasujem, že som bakalársku prácu „Softvér na výučbu paralelizmu

    a automatov na základnej škole" vypracoval samostatne s použitím uvedenej literatúry

    a zdrojov dostupných na internete.

    V Bratislave dňa 03.01.2018 ______________________

    Patrik Priebera

  • III

    Poďakovanie

    Touto cestou by som sa chcel poďakovať mojej školiteľke Mgr. Lucii Budinskej

    a konzultantke Mgr. Karolíne Mayerovej za pomoc, ochotu, cenné rady a pripomienky pri

    tvorbe mojej bakalárskej práci.

  • IV

    Abstrakt

    PRIEBERA, Patrik: Softvér na výučbu paralelizmu a automatov na základnej škole

    (Bakalárska práca) – Univerzita Komenského v Bratislave, Fakulta matematiky, fyziky

    a informatiky; Katedra aplikovanej informatiky. – Školiteľ Mgr. Lucia Budinská.: FMFI UK, 2018, XX strán

    ..................

    Kľúčové slová: .....................

  • V

    Abstract

    PRIEBERA, Patrik: Software for teaching parallelism and automata at primary schools

    (Bachelor thesis) – Comenius University in Bratislava, Faculty of Mathematics, Physics and

    Informatics; Department of Applied Informatics – Supervisor Mgr. Lucia Budinská .: FMFI

    UK, 2018, XX pages

    ……………………………….

    Keywords: …………………

  • VI

    Predhovor

    ...................

  • VII

    Obsah

    Úvod .................................................................................................................................. 1

    Teoretické východiská ............................................................................................... 3

    Konečný automat ............................................................................................. 3

    Paralelizmus ..................................................................................................... 4

    Edukačný softvér ............................................................................................. 5

    Inštruktívne programy .............................................................................. 6

    E-learning ......................................................................................................... 7

    iBobor .............................................................................................................. 8

    Zásady tvorby softvéru pre deti ..................................................................... 10

    Návrh aplikácie ........................................................................................................ 11

    Návrh softvéru a použité technológie ............................................................ 11

    Použité technológie ................................................................................ 11

    HTML5 a CSS3 ...................................................................................... 11

    Bootstrap ................................................................................................. 11

    JavaScript ............................................................................................... 12

    MySQL ................................................................................................... 12

    AJAX ...................................................................................................... 12

    jQuery ..................................................................................................... 12

    Laravel .................................................................................................... 12

    Typy používateľov ......................................................................................... 14

    Administrátor .......................................................................................... 14

    Učiteľ ...................................................................................................... 14

    Žiak ......................................................................................................... 14

    Anonymný používateľ ............................................................................ 14

    Implementácia aplikácie .......................................................................................... 16

  • VIII

    Výsledky .................................................................................................................. 17

    Záver ............................................................................................................................... 18

    Literatúra a internetové zdroje ........................................................................................ 19

    Prílohy ............................................................................................................................. 20

  • 1

    Úvod Výučba na školách v 21. storočí sa podstatne odlišuje od výučby v predchádzajúcom

    storočí. Kvôli celospoločenskej potrebe sa začala meniť štruktúra vzdelávacích odborov,

    začali sa rozvíjať moderné technológie výučby na školách. Do popredia sa dostáva rozvíjanie

    štandardov digitálnej gramotnosti, komunikačných kompetencií žiakov a učiteľov stredných

    škôl a študentov vysokých škôl, ich osobnostného rozvoja. Je to jedným z kľúčových krokov

    pre aktuálne a perspektívne potreby vedomostnej spoločnosti a trhu práce so zameraním na

    informatiku a informačných a komunikačných technológií (IKT). Rozvoj IKT je potrebný

    z dôvodu nedostatočného množstva a trvalo klesajúcej kvality vzdelávania absolventov škôl

    informatickej, technickej a prírodovednej oblasti vzhľadom na súčasné potreby

    zamestnávateľov.

    Neoddeliteľnou súčasťou vzdelávania žiakov a študentov v 21. storočí je

    elektronické vzdelávanie. Elektronické vzdelávanie predstavuje najmodernejší spôsob

    výučby s využitím informačných technológií.1 Ide o nenáročné samoštúdium s využitím

    informačných technológií pomocou internetového pripojenia a počítača. Využíva sa na

    prípravu na prijímacie pohovory do škôl, pomáha zvyšovanie kvalifikácie zamestnancov,

    poskytuje efektívny nástroj manažmentu vzdelávania či manažmentu kvality. Hlavnou

    výhodou elektronického vzdelávania je zautomatizovanie viacerých pedagogických

    procesov a vyhodnocovania testov. Šetrí čas pedagógov a umožňuje im ho využívať na iné

    činnosti. Zároveň napomáha počítačovej gramotnosti nielen pedagógov, ale aj študentov.

    Pomocou elektronického vzdelávania sa znižujú náklady na spotrebný materiál ako papier

    a toner. Študenti a pedagógovia nemusia tlačiť písomné práce, študijné materiály, testy.

    Elektronické vzdelávanie je dostupné kedykoľvek, nemá obmedzenie v určitých časových

    intervaloch a môžeme ho využívať kdekoľvek, kde je prístup na internet.

    Cieľom našej práce je navrhnúť edukačnú webovú aplikáciu na výučbu konečných

    automatov a paralelizmu pre žiakov na druhom stupni základných škôl.

    1 Dostupné na: http://www.elearning.sk/co-je-elearning.html [09.01.2018]

  • 2

    Pri písaní tejto práce sme sa venovali teoretickej a praktickej časti spracovania

    návrhu edukačnej webovej aplikácie pre žiakov a učiteľov na druhom stupni základných

    škôl. Práca je rozdelená do štyroch kapitol, ktoré čitateľovi predkladajú v teoretickej rovine

    prehľad použitej technológie, ktoré sme využili pri vytvorení webovej aplikácie na výučbu

    konečných automatov a paralelizmu. Uvedenej problematike sme sa venovali v prvej

    kapitole. V druhej kapitole ...

  • 3

    Teoretické východiská Konečný automat

    Konečný automat A je pätica (K, Σ, δ, q0, F), kde K je konečná neprázdna množina

    stavov, Σ je konečná vstupná abeceda, q0 ∈ K je počiatočný stav, F ⊆ K je množina

    akceptačných (koncových) stavov a δ : K × Σ → K je prechodová funkcia.

    Konfigurácia konečného automatu je ľubovoľný prvok k (q, w) ∈ K ×Σ*, kde q je

    stav automatu a w je nespracovaná časť vstupného slova. Konfigurácia nám udáva

    jednoznačný popis situácie, v ktorej sa automat A v danom okamihu výpočtu nachádza. Na

    základe jeho konfigurácie budeme vedieť povedať, ako bude výpočet pokračovať ďalej.

    Krok výpočtu konečného automatu A je relácia ⊢A na konfiguráciách definovaná

    (q,av) ⊢A (p,v) ⇐⇒ p = δ(q, a). Krok výpočtu teda hovorí v akej konfigurácií sa bude

    A nachádzať v nasledujúcom kroku výpočtu, ak vieme, v akej sa nachádza teraz. Výpočet

    automatu teda môžeme formálne zapísať ako postupnosť konfigurácií, pričom každé dve po

    sebe nasledujúce konfigurácie sú v relácií „krok výpočtu“. 2

    Konečný automat môžeme zapisovať (respektíve jeho δ-funkciu) aj prechodovou

    tabuľkou alebo prechodovým diagramom.

    Obrázok 1 Prechodová tabuľka konečného automatu (http://foja.dcs.fmph.uniba.sk/materialy/skripta.pdf)

    Konečný automat označujeme skrátene KA, prípadne FSM (z anglického finite state

    machine).

    2 Dostupné na: http://foja.dcs.fmph.uniba.sk/materialy/skripta.pdf [10.01.2018]

  • 4

    Obrázok 2 Konečný automat (http://foja.dcs.fmph.uniba.sk/materialy/skripta.pdf)

    Popis fungovania automatu

    Automat sa na začiatku nachádza v počiatočnom stave. V každom ďalšom kroku sa

    prečíta jeden symbol zo vstupu a prejde do stavu, ktorý je daný hodnotou, ktorá

    v prechodovej tabuľke zodpovedá aktuálnemu stavu a prečítanému symbolu. Následne

    pokračuje čítaním ďalšieho symbolu zo vstupu, ďalším prechodom podľa prechodovej

    tabuľky a podobne.

    Ak automat po prečítaní vstupu skončí v stave, ktorý patrí do množiny akceptačných

    (koncových) stavov, potom platí, že automat buď daný vstup prijal alebo neprijal.

    Paralelizmus Paralelizmus, ide o vykonávanie viacerých úloh súčasne, čím sa urýchľuje proces,

    znižujú sa náklady na prácu a vykoná sa viac práce v kratšom čase.

    Paralelné programovanie je v informatike označenie konceptu, ktorý umožňuje

    naprogramovať úlohy, ktoré sú schopné paralelného (súčasného) behu. Paralelné

    programovanie je hodnotené podľa toho, ako dobre dokáže rôzne problémy popísať a akého

    výkonu je možné dosiahnuť na rôznych počítačových platformách. Implementácia

    paralelného programovania môže byť v podobe knižníc pre tradičné sekvenčné

    programovacie jazyky, vo forme rozšíreného existujúceho programovacieho jazyka alebo

    úplne nový prístup (programovací jazyk).3

    3 Dostupné na: https://cs.wikipedia.org/wiki/Paraleln%C3%AD_programov%C3%A1n%C3%AD [11.01.2018]

  • 5

    Edukačný softvér Edukačný softvér je softvér vytvorený špeciálne pre vyučovanie ako nástroj pre

    učiteľov na učenie alebo pre študentov na učenie sa. Edukačný softvér rozvíja informatickú

    kultúru a digitálnu gramotnosť, poskytuje spätnú väzbu, rozvíja asociatívne učenie

    a podporuje individuálny prístup k tomu, kto sa učí.4 Na internete nájdeme veľké množstvo

    edukačného softvéru, no máloktorý sa dá použiť v našom školstve, pretože väčšina je

    napísaná v cudzom jazyku.

    Klasifikácia edukačného softvéru podľa účelu použitia

    Edukačný softvér podľa účelu použitia vieme klasifikovať do niekoľkých skupín:

    • inštruktívne programy,

    • simulácie a modelovanie,

    • nástroje na získavanie informácií,

    • nástroje na prácu s informáciami,

    • nástroje na komunikáciu.

    Simulácie a modelovanie

    Túto skupinu môžeme ďalej rozdeliť na:

    • simulácie (napodobňovanie reálneho procesu pomocou výpočtovej techniky),

    • mikrosvety (mikrosvet je prostredie, v ktorom možno vytvárať vlastné simulácie),

    • programovacie jazyky (programovací jazyk slúži ako prostriedok pre zápis

    algoritmov, ktoré môžu byť vykonané na počítači),

    • nástroje na modelovanie (vyžaduje sa od žiaka, aby vytvoril model, kedy študent

    jasne demonštruje znalosť príslušných vzťahov reálnej situácie, ktorú modeluje).5

    Nástroj na získavanie informácií je softvér, ktorý nám slúži na získavanie informácií.

    Tento typ softvéru nie je navrhnutý priamo na vyučovanie, ale často môže byť pri učení

    4 Dostupné na: http://files.virtual-lab.sk/APVV%20VV-11/Clanky%20a%20publikacie/Edukacny%20 softver_Daniela_Lehotska_Bezakova.pdf [03.01.2018] 5 Dostupné na: http://files.virtual-lab.sk/APVV%20VV-11/Clanky%20a%20publikacie/Edukacny%20 softver_Daniela_Lehotska_Bezakova.pdf [09.01.2018]

  • 6

    užitočný. Do tejto skupiny môžeme zaradiť multimediálne encyklopédie, on-line databázy

    alebo veľa webových stránok. Softvér na získavanie informácií sa používa najčastejšie ako

    zdroj faktov a údajov, ale aj za účelom naučiť sa vyhľadávať potrebné informácie.

    Nástroje na prácu s informáciami sa vo všeobecnosti nehodnotia a nedávajú spätnú

    väzbu týkajúcu sa vstupov a výstupov tak, ako to robia simulácie a inštruktívne programy.

    Pri použití na vyučovaní musí túto spätnú väzbu zabezpečiť učiteľ, sám žiak alebo ďalší

    spolužiaci.

    Do poslednej skupiny Nástroje na komunikáciu môžeme zahrnúť nástroje ako

    elektronická pošta, textové, audio- a videokonferencie. Nástroje na komunikáciu majú za

    úlohu sprostredkúvať komunikáciu medzi žiakmi a učiteľmi, nie medzi žiakom

    a počítačom.6

    Nás predovšetkým zaujíma skupina inštruktívnych programov, pretože náš edukačný

    softvér spadá pod túto skupinu, preto si túto skupine podrobnejšie rozpíšeme.

    Inštruktívne programy Sú to programy, ktoré nahrádzajú učiteľa (respektíve učebnicu) pri výklade nového

    učiva, jeho precvičovaní a automatickom vyhodnocovaní dosiahnutej úrovne žiackych

    vedomostí. Inštruktívne programy väčšinou spracovávajú konkrétny vedný odbor alebo

    vyučovací predmet.7

    Rozlišujeme niekoľko druhov inštruktívnych programov:

    • kvízy na sebahodnotenie,

    • softvér na precvičovanie,

    • programové učenie,

    • tutoriály,

    • inteligentné vyučovacie systémy.

    6 Dostupné na: http://files.virtual-lab.sk/APVV%20VV-11/Clanky%20a%20publikacie/Edukacny%20 softver_Daniela_Lehotska_Bezakova.pdf [09.01.2018] 7 Dostupné na: http://files.virtual-lab.sk/APVV%20VV-11/Clanky%20a%20publikacie/Edukacny%20 softver_Daniela_Lehotska_Bezakova.pdf [03.01.2018]

  • 7

    Kvízy na sebahodnotenie

    Kvízy nevyučujú žiakov nič nové, slúžia len na otestovanie ich vedomostí, aby učitelia zistili

    aktuálny stav vedomostí žiakov.

    Softvér na precvičovanie

    Tento druh programu neslúži na to, aby naučil nejakú novú zručnosť alebo predal novú

    vedomosť. Jeho zámerom je precvičovanie nejakých činností a upevňovanie faktov.

    Programové učenie

    Programové učenie zahŕňa výklad, testovanie a „doučovanie“ znalostí. Softvér žiakovi

    zobrazí úlohu a očakáva od študenta odpoveď. Ak je odpoveď správna, softvér ponúkne

    žiakovi ďalšiu úlohu na riešenie, ak odpoveď nebola správna, očakáva sa od študenta nová

    odpoveď.

    Tutoriál

    Typ softvéru, ktorý sa zväčša používa na odovzdávanie vedomostí a prezentovanie

    zručností, na učenie pojmov, pravidiel, poučiek a definícií v štýle podobný učebnici.

    Inteligentné vyučovacie systémy

    Vyučovacie systémy, ktoré sa snažia aplikovať metódy umelej inteligencie na prispôsobenie

    sa jednotlivým žiakom, čo sa týka témy aj spôsobu učenia.8

    E-learning E-learning alebo elektronické vzdelávanie, predstavuje najmodernejší spôsob výučby

    s využitím informačných technológií. Je to implementácia informačných technológií

    do vývoja, distribúcie a riadenia vzdelávania alebo výučby. E-learning je efektívnym

    prostriedkom, ako sa spojiť so študentmi alebo zamestnancami a odovzdať im cenné

    informácie na diaľku.9

    8 Dostupné na: http://files.virtual-lab.sk/APVV%20VV-11/Clanky%20a%20publikacie/Edukacny%20 softver_Daniela_Lehotska_Bezakova.pdf [03.01.2018]

    9 Dostupné na: http://www.elearning.sk/co-je-elearning.html [06.01.2018]

  • 8

    Hlavným nástrojom pre vzdelávanie je počítač a internet, vďaka ktorým sa

    e-learning stáva nástrojom využiteľným na ľubovoľnom mieste v ľubovoľnom čase. Toto

    odovzdávanie informácií sa najčastejšie realizuje prostredníctvom on-line dištančných

    kurzov. Dištančné vzdelávanie ako také, teda samoštúdium za pomoci tútora, ktorý je

    fyzicky oddelený od študujúcich a vzdelávanie iba koordinuje, existuje už veľa rokov.

    Rozvoj informačných technológií zasiahol aj do vzdelávania a výrazne vylepšil vyučovací

    proces.

    E-learning je určený pre každého, kto vyhľadáva informácie, ako pre študentov

    základných, stredných či vysokých škôl, na prípravu na prijímacie pohovory do škôl, tak

    i pre organizácie a ich zamestnancov ako súčasť zvyšovania kvalifikácie. Pre študentov

    e-learning predstavuje praktickú a pohodlnú formu získavania informácií.

    Úroveň rozšírenia či využitia e-learningu je na Slovensku momentálne veľmi nízka,

    no postupne sa začína presadzovať.

    iBobor IBobor je informatická súťaž, ktorá bola založená v roku 2004 v Litve

    prof. Dr. Valentinou Dagiene. Cieľom súťaže je podporiť záujmy o informačné

    a komunikačné technológie (IKT) u všetkých žiakov. Súťaž chce iniciovať v deťoch

    využívanie IKT, posmeliť ich v intenzívnejšom a kreatívnejšom používaní moderných

    technológií pri učení sa. Každoročne sa súťaž koná vo viac ako štyridsiatich krajinách

    do ktorej sa zapojí približne 1 650 000 žiakov.10

    Informatická súťaž iBobor prebieha on-line, priamo pri počítačoch, čo organizátori

    považujú za veľmi dôležitý motivačný prvok súťaže – aby informatická súťaž neprebiehala

    na papieri. Princípom súťaže je, že žiaci majú v obmedzenom časovom limite vyriešiť

    pevne stanovené úlohy. Keďže samostatná súťaž prebieha pri počítačoch, je možné do nej

    zaraďovať aj úlohy, pri ktorých je riešenie dané interakciou súťažiaceho a počítača. Keď

    súťaž skončí, softvér automaticky vyhodnotí odpovede žiakov, zobrazí im správne riešenia

    10 Dostupné na: http://ibobor.sk/ [05.01.2018]

  • 9

    a poskytne súťažiacemu informáciu, ako sa daná konkrétna úloha vníma z pohľadu

    informatiky.

    Súťaž sa organizuje v troch kategóriách, ktoré sa označujú ako Benjamins, Juniors

    a Seniors. V každej vekovej kategórií nájdeme úlohy troch stupňov obtiažnosti, pričom

    počet úloh v jednotlivých stupňoch je rovnaký. Obtiažnosť úloh je nastavená tak, aby

    najľahšie úlohy vyriešili v danom časovom limite takmer všetci účastníci, ťažšie úlohy nie

    všetci a najťažšie zvládnu v danom časovom limite len tí najlepší.

    Súťažné úlohy sa líšia svojím zameraním, náročnosťou a spôsobom riešenia. Kým

    niektoré z úloh majú formy otázok s výberom odpovede zo štyroch možností, súťažiaci sa

    môže stretnúť i s interaktívnou úlohou, v ktorej má presunúť, usporiadať alebo doplniť časť

    riešenia.11

    Obrázok 3 Typy úloh iBobor (http://ibobor.sk/bobordidinfo.pdf)

    Pri tvorbe edukačnej webovej aplikácie na výučbu konečných automatov

    a paralelizmu pre žiakov na druhom stupni základných škôl nám veľkou inšpiráciou boli

    typy úloh, ktoré sú obsiahnuté v informatickej súťaži iBobor. Z uvedeného dôvodu sme sa

    v podkapitole 1.3. podrobne venovali princípu súťaže, súťažným kategóriám, stupňom

    obtiažnosti, typom a náročnosti úloh. Získané informácie o princípe, priebehu, použitej

    technológie a praktických a technických otázkach sme plnohodnotne využili pri tvorbe

    nášho softvéru.

    11 Dostupné na: http://ibobor.sk/bobordidinfo.pdf [09.01.2018]

  • 10

    Zásady tvorby softvéru pre deti V súčasnosti deti predstavujú dôležitú skupinu používateľov softvéru a technológií,

    a preto sa kladie čoraz väčší dôraz na vypracovanie softvéru pre deti. Sú náročnými

    spotrebiteľmi, preto softvér musí byť dostatočne motivačný. Úlohy musia byť efektívne

    a mali by vedieť deti zaujať.

    Návrhári detskej technológie by sa mali sústrediť a starostlivo zvážiť, pre aké vekové

    kategórie bude ich softvér používaný z dôvodu, že každá veková kategória má odlišné

    zručnosti, schopnosti a očakávania.

    Autori článku „Framework for Evaluating the Usability of Mobile Educational

    Applications for Children“ Rabail Tahir a Fahim Arif12 uvádzajú, že prvou základnou

    zásadou pri tvorbe softvéru pre deti je to, aby softvér bol ľahko pochopiteľný pre dieťa.

    Rozhranie by malo byť priateľské k deťom a tiež kompatibilné s kognitívnymi

    schopnosťami detí s použitím vhodného jazyka a obsahu.

    Návrh softvéru by mal byť jednoduchý, atraktívny a organizovaný. Veľkosť písma

    a farebnosť by mala zaujať detskú kategóriu. Používame jednoduché deťom známe ikony

    pre správne porozumenie, vhodné multimédia, animácie a texty. Pre detských používateľov

    je potrebné, aby sa vedeli na stránke ľahko orientovať prostredníctvom jednoduchej

    navigácie, jasných navigačných tlačidiel.

    Deti na rozdiel od dospelých používateľov očakávajú výsledky svojich aktivít

    okamžite. Ak sa po ich vstupe nič nestane, deti môžu opakovať svoju činnosť, až kým niečo

    nenastane. Očakávajú okamžitú spätnú väzbu, upozornenie a podanie inštrukcií ako

    postupovať ďalej a plniť ďalšie úlohy.

    12 Dostupné na: https://www.researchgate.net/profile/Fahim_Arif/publication/285925086_Framework_for_Evaluating_the

    _Usability_of_Mobile_Educational_Applications_for_Children/links/5664673608ae192bbf909492/Framework-for-Evaluating-the-Usability-of-Mobile-Educational-Applications-for-Children.pdf?origin=publication_detail [11.01.2018]

  • 11

    Návrh aplikácie V tejto kapitole bude podrobný opis a komplexný návrh webovej aplikácie, ....

    Návrh softvéru a použité technológie

    Použité technológie V tejto podkapitole sa budeme venovať stručnému popísaniu technológií, ktoré boli

    použité pri tvorbe edukačnej webovej aplikácie. Pri tvorbe boli využité aktuálne

    a najpoužívanejšie programovacie jazyky a frameworky, ktoré sa v súčasnosti používajú pri

    vytváraní webových aplikácií. Pomocou týchto technológií sme vytvorili softvér, ktorý je

    dostupný online ako webová aplikácia.

    HTML5 a CSS3 HTML, celým názvom HyperText Markup Language, je najrozšírenejším jazykom,

    ktorý sa používa na vývoj webových stránok. Je značkovací jazyk určený na vytváranie

    webových stránok a iných informácií zobraziteľných vo webovom prehliadači.13 Keďže je

    to značkovací jazyk, tak na popis obsahu stránok využíva značky (príkazy, tagy), ktoré sa

    vkladajú medzi znaky „“. Cascading Style Sheets (Kaskádové štýly) alebo CSS, je

    jednoduchý dizajnový jazyk určený na zjednodušenie tvorby webových stránok. Slúži na

    vizuálne formátovanie dokumentov.14

    Bootstrap Bootstrap je jednoduchá a voľné stiahnuteľná sada nástrojov pre tvorbu webu

    a webových aplikácií.15 Výhodou Bootstrap-u je hlavne responzívny design, ktorým

    dosiahneme to, že sa naša webová stránka bude korektne zobrazovať na zariadeniach ako sú

    mobilné telefóny, tablety, notebooky či stolné počítače. Poskytuje nám veľa vytvorených

    prvkov od tlačidiel a tabuliek, cez panely, hlášky až po JavaScript-om ovládané modálne

    okná, rozbaľovacie tlačidlá či slidery. Okrem toho Bootstrap obsahuje aj dopredu vytvorené

    šablóny založené na HTML a CSS.

    13 Dostupné na: https://www.tutorialspoint.com/html/html_overview.htm [04.01.2018] 14 Dostupné na: https://www.tutorialspoint.com/css/what_is_css.htm [04.01.2018] 15 Dostupné na: https://getbootstrap.com/ [04.01.2018]

  • 12

    JavaScript Javascript je skriptovací programovací jazyk, ktorý sa používa hlavne pri tvorbe

    webových stránok. Je najčastejšie používaný ako komponent webových stránok, ktorých

    implementácia povoľuje skriptu interakciu s používateľom na strane klienta a vytvára tak

    dynamickú stránku. 16

    MySQL MySQL je relačný databázový server typu DBMS (database management system).

    Každá databáza v MySQL je tvorená z jednej alebo z viacerých tabuliek, ktoré majú riadky

    a stĺpce. V riadkoch sú jednotlivé údaje a stĺpce udávajú dátový typ jednotlivých údajov.

    Komunikácia s MySQL databázou prebieha pomocou takzvaných dotazov, ktoré vychádzajú

    z programovacieho jazyka SQL (Structured Query Language).17

    AJAX AJAX, celým názvom Asynchronous JavaScript and XML, je technika tvorby

    lepších, rýchlejších a interaktívnejších webových aplikácií pomocou dostupných technológií

    ako XML, HTML, CSS a JavaScript. Umožňuje meniť obsah stránok bez potreby ich

    kompletného znovunačítania zo servera vďaka asynchrónnemu spracovaniu webových

    stránok pomocou knižnice napísanej v JavaScripte.18

    jQuery jQuery je rýchla a presná JavaScript knižnica so širokou podporou webových

    prehliadačov, ktorá zdôrazňuje spojenie jazykov JavaScript a HTML. Uľahčuje nám písanie

    v JavaScript-e. jQuery syntax je navrhnutá pre jednoduchší výber DOM elementov,

    vytváranie animácií, spracovanie udalostí a pre jednoduchšiu prácu s AJAX-om.19

    Laravel Laravel patrí medzi najpopulárnejší MVC framework pre programovací jazyk PHP,

    určený pre vývojárov, ktorí potrebujú jednoduchý a elegantný nástroj na vytváranie

    16 Dostupné na: https://www.tutorialspoint.com/javascript/javascript_overview.htm [05.01.2018] 17 Dostupné na: https://www.tutorialspoint.com/mysql/mysql-introduction.htm [05.01.2018] 18 Dostupné na: https://www.tutorialspoint.com/ajax/what_is_ajax.htm [05.01.2018] 19 Dostupné na: https://jquery.com/ [04.01.2018]

  • 13

    plnohodnotných webových aplikácií.20 Laravel je Open Source framework, čo znamená, že

    má dostupný zdrojový kód a používatelia ho môžu voľne používať, modifikovať a šíriť.

    Laravel zahrňuje všetky nástroje pre komunikáciu s databázou, kontrolu prístupu

    užívateľov, posielanie e-mailov a veľa ďalších funkcionalít. Súčasťou Laravel-u je aj

    Artisan, čo je vlastne príkazový riadok, ktorý obsahuje príkazy pre zrýchlenie a uľahčenie

    rôznych činností pri tvorbe webových aplikácií. Laravel využíva softvérovú architektúru

    MVC, čo je skratka pre Model-View-Controller architektúru.

    PHP PHP (PHP: Hypertext Preprocessor) je skriptovací programovací jazyk, ktorý

    umožňuje vývojárom vytvárať dynamický obsah, ktorý interaguje s databázami.21

    Model-View-Controller Model-View-Controller je architektonický vzor, ktorý rozdeľuje dátový model

    aplikácie do troch nezávislých na sebe komponentov Model, View, Controller, tak, že

    modifikácia ktoréhokoľvek z nich má minimálny vplyv na ostatné.22

    Model Komponent Model zodpovedá za všetkú dátovú logiku, s ktorou používateľ pracuje.

    Môžu to byť dáta prenášané medzi komponentami View a Controller alebo hocijaká iná

    práca s dátami. Môžu to byť napríklad aj databázové dotazy, výpočty, validácie a podobne.

    View (Pohľad) Komponent View z pohľadu aplikácie sprostredkováva výstup z aplikácie, stará sa

    teda o zobrazenie výstupu užívateľovi. Väčšinou je to výstup vo forme HTML stránky, no

    môže to byť napríklad aj PDF dokument.

    Controller (Kontroler) Komponent Controller zohráva úlohu prostredníka, ktorý komunikuje s užívateľom,

    modelom a pohľadom. Drží teda celý systém pohromade a komponenty prepojuje. Zvyčajne

    20 Dostupné na: https://laravel.com/ [04.01.2018] 21 Dostupné na: http://php.net/ [04.01.2018] 22 Dostupné na: https://www.tutorialspoint.com/mvc_framework/mvc_framework_introduction.htm [05.01.2018]

  • 14

    spracováva vstup od užívateľa a na základe toho vstupu spustí funkcie modelu a ich výstupy

    odovzdáva do pohľadu.

    Typy používateľov Za používateľa aplikácie môžeme považovať toho, kto prichádza do styku

    s aplikáciou. Webovú aplikáciu budú navštevovať väčšinou len učitelia a žiaci.

    Používateľov teda môžeme rozdeliť do štyroch skupín:

    • Administrátor,

    • Učiteľ,

    • Žiak,

    • Anonymný používateľ.

    Administrátor Administrátor je používateľ s maximálnymi možnými právomocami na správu

    webovej aplikácie, používateľov, kurzov a úloh, ktorý bol vytvorený manuálne. Jeho úlohou

    je dohliadať na používateľov, riešenie problémov, prípadná editácia používateľov, kurzov

    a úloh.

    Učiteľ Učiteľ je používateľ, ktorý sa musí registrovať na webovej aplikácií. Jeho úlohou je

    spravovať kurzy, pridávať alebo vytvárať nových žiakov, vytvárať nové alebo editovať staré

    úlohy oboch typov pomocou preddefinovaných šablón. Učiteľ má prístup k výsledkom

    žiakov a má právo hodnotiť svojich žiakov.

    Žiak Žiak je koncový používateľ webovej aplikácie. Takisto ako učiteľ, žiak musí byť

    registrovaný na webovej stránke. Žiak má prístup k prihláseniu, po prihlásení má prístup

    k jeho úlohám, môže riešiť úlohy, sady úlohy alebo experimentovať v otvorených úlohách.

    Anonymný používateľ Do tejto skupiny patria používatelia, ktorí nie sú registrovaní alebo prihlásení do

    systému. Anonymný používateľ má možnosť sa len registrovať na webovej aplikácií, keďže

    aplikácia má všetky funkcie prístupné až po registrovaní a prihlásení.

  • 15

    Obrázok 4 Use-Case Diagram

  • 16

    Implementácia aplikácie

  • 17

    Výsledky

  • 18

    Záver

  • 19

    Literatúra a internetové zdroje

  • 20

    Prílohy Digitálna príloha –

    ObsahÚvod1. Teoretické východiská1.1. Konečný automat1.2. Paralelizmus1.3. Edukačný softvér1.3.1. Inštruktívne programy

    1.4. E-learning1.5. iBobor1.6. Zásady tvorby softvéru pre deti

    2. Návrh aplikácie2.1. Návrh softvéru a použité technológie2.1.1. Použité technológie2.1.2. HTML5 a CSS32.1.3. Bootstrap2.1.4. JavaScript2.1.5. MySQL2.1.6. AJAX2.1.7. jQuery2.1.8. Laravel PHP Model-View-Controller Model View (Pohľad) Controller (Kontroler)

    2.2. Typy používateľov2.2.1. Administrátor2.2.2. Učiteľ2.2.3. Žiak2.2.4. Anonymný používateľ2.2.5.

    3. Implementácia aplikácie4. VýsledkyZáverLiteratúra a internetové zdrojePrílohy