Automatizované vyhodnocovanie HDL modelov Bakalárska práca

Size: px
Start display at page:

Download "Automatizované vyhodnocovanie HDL modelov Bakalárska práca"

Transcription

1 Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií FIIT Michal Behúň Automatizované vyhodnocovanie HDL modelov Bakalárska práca Študijný program: Počítačové systémy a siete Študijný odbor: Počítačové inžinierstvo Miesto vypracovania: Ústav informatiky a softvérového inžinierstva, FIIT STU Bratislava Vedúci bakalárskej práce: Ing. Katarína Jelemenská, PhD Máj 2010

2 Ja dole podpísaný Michal Behúň čestne prehlasujem, že túto prácu som vypracoval samostatne, s použitím uvedených informačných zdrojov.... Michal Behúň

3 Ďakujem svojmu projektovému vedúcemu Ing. Kataríne Jelemenskej, PhD za jej pomoc, cenné rady a vybavenie, ktoré mi poskytla pri realizácii môjho projektu. Ďalej chcem poďakovať celej mojej rodine, kamarátom a mojej skvelej priateľke, ktorí ma podržali pri ťažkých chvíľach počas dlhých bezsenných nocí strávených nad prácou.

4 ANOTÁCIA Slovenská technická univerzita v Bratislave FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ Študijný program: POČÍTAČOVÉ SYSTÉMY A SIETE Autor: Michal Behúň Bakalárska práca: Automatizované vyhodnocovanie HDL modelov Vedúci bakalárskej práce: Ing. Katarína Jelemenská, PhD Máj 2010 Táto práca sa zaoberá problematikou automatického hodnotenia. Tieto systémy majú uľahčovať učiteľom prácu pri hodnotení práce študentov. Cieľom práce je vytvoriť automatický systém, ktorý má pomáhať učiteľovi pri hodnotení HDL modelov odovzdaných študentmi. Systém musí byť jednoducho použiteľný, musí byť efektívny pri spracovávaní väčšieho množstva zadaní. Takýto systém veľmi uľahčí proces odovzdávania a hodnotenia zadaní. V časti analýza sú opísané existujúce systémy na automatické hodnotenie. Vybrané systémy sú popísané dôkladnejšie, hlavne z pohľadu algoritmov použitých na spracovanie a ohodnotenie kódu. Jeden z týchto algoritmov je popísaný dôkladne a následne použitý pre naše účely. Ďalej sa tu nachádza popis, história a niektoré základné verzie jazykov HDL. Výsledok analýzy nás viedol k vytvoreniu systému, ktorý používa popísané algoritmy na ohodnotenie zadaní študentov. Systém pozostáva z dvoch modulov, ktoré hodnotia zadania z dvoch systémov používaných na škole. V budúcnosti je možné tento systém rozšíriť o podporu viacerých jazykov ako je SystemC alebo HandelC alebo o spracovanie v paralelnom prostredí.

5 ANNOTATION Slovak University of Technology Bratislava FACULTY OF INFORMATICS AND INFORMATION TECHNOLOGIES Degree Course: COMPUTER SYSTEMS AND NETWORKS Author: Michal Behúň Bachelor Theses: Automated assessment of HDL models Supervisor: Ing. Katarína Jelemenská, PhD 2010, May Presented thesis deals with the problem of automated assessment. These systems have facilitated the work of teachers in assessing student work. The aim of this work is to design and to implement automated system to help teacher with grading an assessment of HDL models submited by students. System will have to be very easy to use, it must be efficient in processing large amounts of submisions. This system will facilitate the submiting process and assignments. Existing systems for automated assessment are described in analysis. Some of the systems are described in depth, particularly in terms of algorithms used for code processing and evaluation. One of those algorithms is described in deep and used for our purpose. There is also the description, history and some basic versions of HDL languages. Analysis result led us to the desing of a system which uses the described algorithms for grading student s work. The system has two modules for grading assignments from two systems already used at our faculty. It is possible to enhance designed systems with support for more languages like SystemC or HandelC or support for parallel processing in the future.

6 Obsah 0 Úvod 1 1 Analýza Automatizovanie hodnotenia generácia - prvé hodnotiace systémy generácia - nástrojovo orientované systémy generácia - webovo orientované systémy Porovnávanie reťazcov Prvá fáza: normalizácia Druhá fáza: Syntaktické porovnávanie Tretia fáza: Sémantická analýza Štvrtá fáza: kombinovaný index podobnosti Piata fáza: Finálna analýza Jazyk HDL Hardware Description Language História HDL Návrh pomocou HDL Simulácia a ladenie kódu HDL Typy HDL jazykov VHDL Verilog Zhrnutie analýzy Návrh Špecifikácia požiadaviek Návrh samotného systému Porovnávací algoritmus Hodnotiaci algoritmus Popis rozhrania Návrh pre paralelné spracovanie i

7 3 Implementácia Implementačné prostredie Popis implementácie Zhodnotenie Možnosti zlepšenia systému Literatúra 24 A Technická dokumentácia 26 A.1 Popis zdrojových súborov A.2 Používateľská príručka B CD-ROM 28 ii

8 Úvod Vzdelávanie je cieľavedomý proces získavania poznatkov, zručností a vedomostí. Proces vzdelávania sa vyvíja už od čias starovekého Grécka a Rímskej ríše. K procesu vzdelávania neodmysliteľne patrí hodnotenie. Hodnotenie má za úlohu povedať žiakovi, ako úspešne zvládol vzdelávací proces, má motivačný charakter. Časom sa vyvíjali rôzne systémy hodnotenia žiakov. Veľký krok znamenalo začatie používania počítačov vo vzdelávacom procese. Tento krok umožňoval využiť ich výkon aj na hodnotenie žiakov. Vznikli teda rôzne systémy na automatické ohodnotenie práce študentov. Tieto systémy majú na základe vopred daných kritérií otestovať a ohodnotiť prácu študenta tak, ako by ju ohodnotil učiteľ. Od jednoduchých programov, ktoré dokázali len otestovať spustiteľnosť programu, ktorý napísal študent, až po komplexné systémy. Takéto systémy dovoľujú testovať práce študentov podľa rôznych kritérií, dokážu ohodnotiť nielen celok, ale aj časti práce, dokážu odhaliť plagiátorstvo a ponúkajú študentom možnosť prezerať si ich výsledky vzdialene prostredníctvom internetu. Náplňou tejto práce je vytvorenie systému automatického hodnotenia HDL modelov na základe určitých vzoriek. Dôraz je kladený na jednoduché používanie aj pri väčšom množstve spracovávaných prác. Možnosťou je rozšírenie funkcionality o vykonávanie v paralelnom prostredí. Dokument je rozdelený na viacero kapitol. úvodná kapitola obsahuje stručný úvod do problematiky a ciele práce. V prvej kapitole je analýza problému a problémovej oblasti. Obsahuje stručnú históriu vývoja systémov na automatické hodnotenie a popis niekoľkých existujúcich riešení. ďalej obsahuje popis jazyka HDL, na ktorý bude tento systém špecializovaný. V Druhej kapitole je opísaný prvotný návrh riešenia, použité algoritmy a špecifikácia požiadaviek. 1

9 Analýza 1.1 Automatizovanie hodnotenia Programovacie problémy a úlohy sú považované za podstatné prvky softvérového inžinierstva a informatického vzdelávania. Programovacie úlohy pomôžu študentom oboznámiť sa s modernými programovacími jazykmi, oboznámiť sa so základnými nástrojmi a pochopiť, ako môžu použiť princípy vývoja softvéru a dizajnu. Hodnotenie týchto úloh kladie značné nároky na inštruktorov čas. Inštruktor musí určiť, do akej miery splnil študent požiadavky zadania a overiť originalitu jeho programu. Systémy, ktoré automaticky vyhodnocujú programovacie úlohy študentov sa používajú viac ako štyridsať rokov. Tieto systémy majú niekoľko výhod. Napríklad hodnotenie programovacích úloh je časovo náročný proces a pedagóg môže tento čas využiť efektívnejšie. Je teda jasné, že dobre navrhnutý a dobre používaný systém môže ušetriť učiteľovi veľa času. ďalšou výhodou je, že ľudské hodnotenie je často omylné. Strojové hodnotenie je väčšinou úplne objektívne (za predpokladu, že je dostatočne dobre nastavené). Existujú samozrejme nevýhody. Jedným z hlavných nedostatkov metodiky automatického hodnotenia je jeho nepružnosť, ktorá bráni pri posudzovaní a hodnotení zložitejších otázok. Automatické hodnotenie nie je pružné, pretože vopred určuje rozhranie, cez ktoré sa testuje študentova práca. Problém nastáva aj vtedy, ak sa testuje program po častiach. Jednotlivé základné bloky kódu môžu byť opísané viacerými spôsobmi. Akokoľvek môže byť systém dobre navrhnutý, vždy bude potreba kontroly človekom. Nemalo by byť cieľom nahradiť učiteľa, systém by mal byť akýmsi podporným nástrojom. [1] Generácie systémov na automatické hodnotenie Existujú tri generácie testovacích hodnotiacich systémov. Prvá generácia systémov predstavuje prvé pokusy o automatizáciu testovania a sú považované za skutočnú inováciu vo vzdelávacom procese. Ich použiteľnosť je však obmedzená na konkrétne laboratória. Systémy druhej generácie sú charakteristické použitím nástrojov ovláda- 2

10 ných príkazovým riadkom, niekedy s použitím grafického rozhrania. Tretia aktuálna generácia systémov využíva moderné webové technológie a niekedy poskytujú dodatočnú podporu pre pedagógov v podobe možnosti nastavenia parametrov hodnotenia. Tretia generácia hodnotiacich systémov začína ponúkať aj služby mimo hraníc laboratória vďaka nástrojom, ktoré umožňujú komunikáciu študenta s hodnotiacim systémom pomocou internetu. [2] [3] generácia - prvé hodnotiace systémy Automatizované hodnotiace systémy vznikajú, od kedy študenti vytvárajú svoj vlastný softvér. Prvý príklad automatizovaného testovania programových úloh možno nájsť v práci J. Hollingswortha [4]. Namiesto použitia prekladačov a textových editorov, študenti odovzdávali programy vytvorené v asembleri na diernych štítkoch. Vzorový program a program napísaný študentom boli spustené a ich výstupy sa porovnali. Mohli byť vrátené dva rôzne výsledky, a to buď zlá odpoveď alebo kompletný program. Výhoda tohto systému nepozostávala iba v dobrom využití času pedagóga, kľúčová výhoda bolo efektívne využitie výpočtových zdrojov, čo umožnilo väčšiemu počtu študentov učiť sa programovanie. Ako sa programovacie systémy vyvíjali, zároveň s nimi sa vyvíjali hodnotiace systémy. G. E. Forsythe a N. Wirth spolu s P. Naurom, predstavili hodnotiaci systém, ktorý hodnotil programy napísané v jazyku Algol. Systém funguje pomocou hodnotiaceho programu na testovanie odovzdaných programov. Tento systém obsahoval tri základné funkcie: vykonávať testovanie dát, merať dobu behu programu a spravovať tzv. žiacku knižku. Niekoľko nových myšlienok zaviedli J. B. Hext a J. W. Winnings. Testovanie programov bolo vykonané na základe porovnania vzorových údajov a dát získaných spustením programov odovzdaných študentami. Po vykonaní testov bola vygenerovaná správa, vrátane podrobných výsledkov testov. Zaujímavé je, že autori tvrdili, že je možné použiť výsledky na kontrolu plagiátorstva (na základe veľkosti a doby behu odovzdaného programu). Systémový návrhári potom často riešili problém plagiátorstva. Hollingsworth veril, že je možné, aby študent odovzdal program, ktorý by spôsobil úmyselne škodu hodnotiacemu softvéru. Tento problém pretrváva dodnes, a z toho vyplýva otázka bezpečnosti generácia - nástrojovo orientované systémy Vývojom a používaním prvej generácie testovacích systémov sa získali veľké skúseností. Druhá generácia systémov sa voľne označuje ako nástrojovo orientovaná. Táto generácia systémov bola často implementovaná v podobe aplikácie príkazového riadku 3

11 alebo programov s grafickým rozhraním. Príkladom druhej generácie hodnotiacich nástrojov je práca T. A. Scotta a P. C. Isaacsona. Autori uvádzajú, že hodnotenie programovacích úloh zahŕňa dve činnosti: kontrola správnej funkcie programu a kontrola, či bol rozumne použitý programovací štýl. Rovnako ako predchádzajúce hodnotiace systémy (a všetky systémy od vtedy), hlavný dôraz sa kladie na správnu funkčnosť odovzdaného programu. Scott a Isaacson opísali skriptový prístup k testovaniu. Skript zoberie sadu súborov v kolekcii adresárov a snaží sa o preklad každého súboru a otestovať každý program pomocou preddefinovaných testovacích dát. Výsledky kompilácie sa zapisujú do súboru, ktorý môže učiteľ prezerať. V tom istom roku bol predstavený systém TRY K. A. Reekom [6]. Tento systém hlavne orientovaný na študenta. TRY umožňuje študentom otestovať svoje programy a následne si prezrieť výsledky testovania. Každý skúšobný pokus je zaznamenaný. Rovnako ako iné systémy tejto generácie, testy sa vykonávajú jednoduchým porovnávaním znak po znaku podľa predpokladaného výstupu. Reek uviedol dva zaujímavé poznatky. Po prvé, vykonanie cudzieho kódu v produkčnom prostredí môže viesť k nežiaducim výsledkom, ako napríklad k zastaveniu alebo poškodeniu systému alebo údajov v ňom obsiahnutých. Reek tiež uviedol vlastný odlišný pohľad na didaktické dôsledky použitia automatizovaného testovacieho systému. Namiesto toho, aby študenti mali neobmedzený počet pokusov, jeho systém obmedzuje študentov stanoveným počtom, koľko krát môžu odovzdať program. Študenti sú preto nútení premýšľať o činnosti svojho programu dôkladnejšie pred tým, ako ho odovzdajú na posúdenie a testovanie. Projekt Kassandra [7] predstavuje zaujímavý vývoj, pretože umožňuje testovanie programov napísaných v prostredí Matlab a Maple (matematické jazyky), rovnako ako v tradičnom prostredí Oberon. Správnosť odovzdaného programu je opäť testovaná porovnaním výstupných dát a referenčných testovacích dát, ktorý sú vytvorené učiteľom. Inovácia spočíva v odlišnom spôsobe odovzdania pomocou internetových soketov, ktorá umožňuje stupeň izolácie testovacieho a vývojového prostredia. Systém ASSYST bol vyvinutý D. Jacksonon a M. Usherom [6]. Autori zavádzajú systém, ktorý analyzuje zadanie podľa celej rady kritérií. ASSYST analyzuje, či výstup odovzdaného programu je správny (opäť podľa porovnania výstupu s niekoľkými preddefinovanými testovacími dátami), či je program efektívny pri využívaní CPU a aké majú hodnotenie na základe zložitosti a štýlu programovania. Jeden z najväčších prínosov tohto projektu je pochopenie, že automatizovaný systém hodnotenia tiež môže 4

12 byť nápomocný pri celkovom hodnotení. Tento systém poskytuje mechanizmy pre spracovanie zadania, vytváranie a generovanie správ a umožňuje použiť váhy, ktoré sú používané pre rozličné časti hodnotenia. Systém BOSS vznikol na Univerzite vo Warwicku vo Veľkej Británii. Jeho pôvodná špecifikácia bola podobná systému ASSYST. Oba bežali na operačnom systéme Unix a hodnotiace programy boli napísané v jazyku C. Prvú verziu systému BOSS tvorila sada jednoducho použiteľných programov v príkazovom riadku. Študent mohol použiť jeden program na vykonanie testu a zistenie, či je jeho zadanie správne, alebo použiť program na odovzdanie zadania do bezpečného miesta, kde je hodnotené učiteľom. Rovnako ako mnoho iných inštitúcií počítačovej vedy v tom čase, Univerzita vo Warwicku začala používať jazyk Java vo výučbovom procese. To si vyžadovalo transformáciu systému. Výsledný systém sa skladal z dvoch hlavných prvkov. Testovací program, ktorý je Java GUI aplikáciu a programom na hodnotenie a správu aplikácie pre učiteľa. Jeden z najpozoruhodnejších systémov vyvinutých v polovici osemdesiatych rokov bol systém Ceilidh vyvíjaný na Nottinghamskej Univerzite [9], kde bol používaný trinásť rokov, než bol nahradený systémom CourseMarker. Ceilidh bol založený na automatickom hodnotiacom mechanizme, ktorý testoval a hodnotil programy z niekoľkých hľadísk: kontrola správnosti funkcie programu a programovací štýl (tj. elegancie riešenia). Prvá verzia systému Ceilidh bola vytvorená na podporu kurzov programovania v C, ale jeho rozšíriteľná povaha znamenala, že ostatné testovacie nástroje boli vytvorené veľmi rýchlo. Ceilidh bol inštalovaný vo viac ako 300 prevádzkach po celom svete. Ceilidh však mal niekoľko obmedzení. Nemal žiadnu podporu sietí, študenti sa museli prihlásiť na klienta na rovnakom stroji ako server a nemal plné X-Windows a PC-Windows grafické rozhranie. Okrem toho, vylepšenia v priebehu rokov nekontrolovateľne rástli a bolo ťažké tento systém udržiavať. Koniec koncov fungoval na platformách Unix. Zatiaľ čo väčšina systémov vyhodnocuje softvér napísaný v jazyku C alebo Java, existujú niektoré, ktoré hodnotia kód napísaný vo viacerých exotických jazykoch. Systém Scheme-Robo, opísaný R. Saikkonenon, automaticky vyhodnocuje programy napísané v jazyku Scheme. Jeden z rozdielov medzi týmto projektom a ostatnými je, že testovanie prebieha prostredníctvom ového rozhrania, pôvodne vyvinutého pre systém TRAKL. Druhá generácia systémov naďalej pokračovala vo vývoji. Projekt Scheme- Robo bol doplnený o grafické užívateľské rozhranie a algoritmus na animovanie súčasti. Niektoré systémy druhej generácie sa vyvinuli do systémov tretej generácie tzv. we- 5

13 bovo orientovaných systémov generácia - webovo orientované systémy Zatiaľ čo druhá generácia nástrojov bola často charakterizovaná rozhraním príkazového riadku a manuálnou údržbou skriptov, systémy hodnotenia tretej generácie využívajú internetové technológie a čoraz sofistikovanejšie testovacie postupy. CourseMarker [3] vyvinutý na Nottinghamskej Univerzite nadväzuje na systém Ceilidh. Zlepšuje ho však v mnohých ohľadoch: po prvé, plne podporuje prácu so sieťou, čo umožňuje klientom byť inštalovaným oddelene od serverov, má grafické rozhranie, ktoré značne zjednodušuje študentov pohľad na systém a bol vyvinutý v jazyku Java, čo znamená, že je prenosný a beží na rôznych platformách. Prvýkrát bol použitý v septembri roku CourseMarker definuje štyri typy užívateľov: študenti, lektori, učitelia a správcovia. Jedným z najzaujímavejších prínosov je zavedenie tzv. diagramového systému hodnotenie a jeho podpora pre rôzne jazyky vrátane Prolog, SQL, a FORTRAN. Ohodnotenie sa vykonáva automatizovaným mechanizmom, ktorý analyzuje program pomocou celej rady kritérií, s dôrazom na návrh programu. Hodnotiace kritériá sú formát programu (typografické, lexikálne štruktúry a prítomnosť špecifických vlastností), fungovanie programu s testovacími dátami (dynamické testovanie), zložitosť programu a účinnosť (časová náročnosť). Hodnotiace kritériá sú definované v konfiguračnom súbore, ktorý vytvára inštruktor. Zatiaľ čo pôvodný systém Ceilidh ponúkal jednoduchý údaj o počte bodov za zadanie, CourseMarker poskytuje študentom oveľa bohatšiu spätnú väzbu. Rovnako, ako je poskytnuté percentuálne hodnotenie, alebo hodnotenie známkou, je možnosť zobraziť tzv. spätno-väzbový strom umožňujúci študentom interaktívne zistiť, kde stratili body. Použitím nástrojov pre správu mohol učiteľ pridávať a odoberať používateľov, upravovať dokumenty, vytvárať a inštalovať nové kurzy, a priradiť oprávnenia používateľom. ďalší vývoj zahŕňa realizáciu otázok s viacerými odpoveďami a prevod všetkých existujúcich projektov systému Ceilidh do formy CourseMarkera. Systém je stále vo vývoji, no len niekoľko drobných opráv bolo doteraz potrebných. Systém BOSS sa tiež naďalej rozvíja. Poskytuje súbor grafických užívateľských rozhraní pre študentov a lektorov a najnovší vývoj zahŕňa aj webový server. To umožňuje učiteľovi prehliadať zadania pomocou tradičného webového prehliadača cez internet. Systém BOSS tiež zavádza modul na odhaľovanie plagiátorstva. 6

14 C. Daly a jeho kolegovia vyvinuli systém hodnotenia na platforme Java, tzv. RoboProf. Systém používa webový prehliadač a študent píše zadanie programu do textového poľa. Po dokončení sú úlohy preložené a spustené. Nakoniec sa zobrazia výsledky testovania a hodnotenie. Ak je úloha splnená, študent je vyzvaný, aby pokračoval na ďalšej úlohe. Systém sa skladá z 39 problémov delených do rôznych kategórií, napríklad oblasti premenných, kontroly toku, polia a reťazce. RoboProf má zopár obzvlášť zaujímavých čŕt: pojem úrovní, alebo rozdelenie problému na viaceré časti dáva študentovi možnosť vidieť svoj pokrok, automatické hodnotenie je integrované s možnosťou otázok s viacerými možnosťami, ktorá dopĺňa individuálne programovacie úlohy. Otázky s viacerými možnosťami sú generované náhodne, čím sa zníži možnosť študenta opisovať od ostatných študentov. Je tiež zaujímavé, že Daly taktiež prispel k vývoju v odhaľovaní plagiátorstva. Jackson tvrdil, že hodnotenie programovacích úloh by malo zahŕňať aj kontrolu človekom tak isto ako automatickú časť. V tejto práci Jackson predstavuje sériu testov pomocou preddefinovaných testovacích dát, ktorých výsledky sú poskytnuté učiteľovi, ktorý skúma daný program z hľadiska príslušnej dokumentácie a kladie dôkaz na dobrý dizajn v štruktúre programu. Automatizovaný systém pre posudzovanie programovania (ASAP) z Kingstonskej Univerzity je ďalší systém, ktorý má veľa spoločného so staršími typmi systémov. ASAP sa zameriava predovšetkým na výučbu jazyka Java, ktorý sa používa na Kingstonkej Univerzite. Testovanie sa vykonáva pomocou kombinácie analýzy IO tokov a testovanie jednotlivých členských funkcií. ASAP implementoval stratégiu, ktorá je trochu odlišná od ostatných. Prvotný cieľ projektu bolo vytvorenie systému odovzdávania cez virtuálne univerzitné výučbové prostredie. Odovzdávací systém by sa potom naviazal na žiacku knižku, ktorá umožňuje učiteľom zobrazenie zadaní študentov. Hodnotiaci systém bol navrhnutý tak, aby aj ostatné softvérové komponenty mali prístup prostredníctvom webových služieb. Rovnako ako v iných projektoch bol riešený aj problém plagiátorstva. Projekt ASAP spolupracoval s partnerom na inej univerzite na realizácii medzinárodného systému na odhaľovanie plagiátorstva na platforme Java nazvaný JPLAG. 1.2 Porovnávanie reťazcov Systémy spomenuté v kapitole 1.1 používajú rôzne algoritmy počas celého procesu hodnotenia. Najzákladnejšími sú porovnávací algoritmus, refaktorovací algoritmus a hodnotiaci algoritmus. Keďže porovnávanie bude najzákladnejšia časť navrhovaného systému, rozhodol som sa pre podrobnejší popis algoritmu. Problematiku porovnávania reťazcov možno rozdeliť na viacero fáz. V prvej fáze pro- 7

15 cesu porovnania reťazcov sa porovnajú všetky jednotlivé reťazce a vyhodnotí sa každá explicitná alebo implicitná nepresnosť a vytvorí sa sada dát, ktoré sa použijú pre ďalšie fázy. V druhej fáze prebieha syntaktická analýza reťazcov z odpovede študenta so vzorovými riešeniami a vytvorí sa súbor indexov syntaktickej podobnosti. Tretia fáza analyzuje reťazce zo sémantického hľadiska a vytvára indexy sémantickej podobnosti. Štvrtá fáza kombinuje výsledky zo syntaktickej a sémantickej analýzy. V piatej fáze sa určí, či je daný reťazec správny alebo nie.[5] Prvá fáza: normalizácia Normalizácia sa vykoná pred samotným porovnávaním. Výhodou použitia tejto fázy je to, že uľahčuje samotný proces porovnávania a znižuje počet reťazcov, ktoré majú byť porovnávané. Prvotná úprava zahŕňa nasledujúce metódy. zmena veľkosti písma na malé: pomerne jednoduchá metóda, ktorá zmení všetky znaky na malé, tým pádom sa nemusí brať ohľad na rozlišovanie veľkosti písmen a rôzne reťazce s rovnakým významom, ktoré boli odlíšené len veľkosťou písma sa stanú rovnocennými. odstránenie bielych znakov pred a za reťazcom: všetky nadbytočné medzery, tabulátory ako aj zlomy riadkov sú odstránené. nahradzovanie špeciálnych znakov: Jedná sa o odstránenie špeciálnych znakov ako podtržník alebo ampersand. Niektoré špeciálne znaky ako apostrof sú odstránené, zatiaľ čo iné špeciálne znaky sa nahrádzajú medzerami. rozšírenie skratiek: Jedná sa o rozšírenie skratiek ako napríklad anglické msg na message. automatická oprava pravopisu: Táto metóda zahŕňa kontrolu pravopisu, identifikuje nesprávne slová a výrazy a automaticky ich opraví nahradením za prvé slovo, ktoré navrhuje slovník. odstránenie predložiek, spojek, častíc: Jedná sa o odstránenie slov, ktoré sú veľmi časté, ale nie sú relevantné pre porovnávanie. zmena slova na jeho koreň: Táto metóda zahŕňa zmenu všetkých slov čo znamená, že zmení každé na ich koreň. 8

16 1.2.2 Druhá fáza: Syntaktické porovnávanie Druhá etapa zahŕňa výpočet syntaktickej podobnosti medzi reťazcami pomocou rôznych algoritmov a produkuje ako výstup súbor matríc pre index syntaktickej podobnosti. Táto fáza je flexibilná a možno použiť aj iné algoritmy. Základné algoritmy sú popísané nižšie. Hľadanie zhodnosti: Algoritmus jednoducho porovnáva dva reťazce. Ako výsledok porovnania môže byť hodnota 1, čo znamená presná zhoda, alebo 0, ak sa presná zhoda nenašla. Algoritmus Levenshteinovej vzdialenosti: Levensthteinova vzdialenosť medzi dvoma reťazcami je daná minimálnym počtom operácií potrebných na transformáciu jedného reťazca na druhý, kde možné operácie nad reťazcami sú vloženie, zmazanie, alebo nahradenie jedného znaku. Q-gram algoritmus: Q-gramy sa zvyčajne používajú pri približnom porovnávaní reťazcov pomocou posúvania okna dĺžky q cez znaky reťazca a tým vytvorí rad gramov dĺžky q pre porovnávanie. Zhodnosť je potom hodnotená ako počet rovnakých q-gramov v rámci oboch reťazcov. Simon algoritmus: Tento algoritmus používa počet lexikálne podobných susedných znakov obsiahnutých v oboch reťazcoch. Soundex algoritmus: Tento algoritmus využíva zvukovú podobnosť dvoch slov. Zisťovanie miery podobnosti medzi nimi je založený na Soundex algoritme. Ak majú dve slová rovnakú výslovnosť, Soundex skóre bude 1, inak bude skóre 0. Tento algoritmus má niektoré varianty, ako je RefinedSoundex, metaphone a DoubleMetaphone. AlgoMax: Tento algoritmus berie ako vstup dva reťazce a vracia index syntaktickej podobnosti medzi hodnotami 0 a 1, kde 1 znamená dokonalú zhodu. Algoritmus používa kombináciu vyššie spomenutých algoritmov a tým získa päť rôznych skóre. Nakoniec sa jednoducho vráti maximálna hodnotu Tretia fáza: Sémantická analýza Tretia fáza zahŕňa výpočet sémantickej podobnosti medzi reťazcami pomocou rôznych sémantických algoritmov a ako výstup vytvorí súbor matíc sémantickej podobnosti. 9

17 Táto fáza rámca je flexibilná a možno ju prispôsobiť pre použitie rôznych sémantických algoritmov. Každé slovo môže mať mnoho synoným alebo podobných slovných spojení, ktoré majú rôzny význam. Existuje mnoho algoritmov pre výpočet indexu podobnosti medzi dvoma slovami. Väčšina z nich používa algoritmus na určenie najkratšej cesty a ich informačného obsahu pre výpočet indexu podobnosti. Jedným z ďalších algoritmov pre výpočet sémantickej podobnosti je kombinovaný algoritmus text-to-text. Je to jediný sémantický algoritmus, ktorý nie je zameraný jednotlivé slová, ale na skupinu slov Štvrtá fáza: kombinovaný index podobnosti Vo štvrtej fáze sa vytvorí tzv. kombinovaný index podobnosti, ktorý sa vyberie z maxima výsledku syntaktickej a sémantickej analýzy pre každý reťazec Piata fáza: Finálna analýza Posledná fáza spočíva v tom, že sa nastaví minimálna hodnota indexu podobnosti. Následne sa vypočíta index podobnosti pre všetky páry reťazcov a výsledok sa porovná s nastavenou minimálnou hodnotou. Ak je index podobnosti väčší ako nastavené minimum, je daný reťazec označený ako správny, ak je menší, je označený ako nesprávny. 1.3 Jazyk HDL Keďže navrhovaný systém bude spracovávať len modely opísané v jazyku HDL, uvediem aj kapitolu, ktorá sa venuje opisu HDL jazykov, stručnú históriu tohto jazyka a niektoré verzie HDL jazykov používaných v súčasnosti Hardware Description Language Hardware description language, alebo HDL je jazyk z triedy počítačových jazykov alebo programovacích jazykov pre formálny opis elektronických obvodov. Môžeme ním popísať funkciu, ktorú obvod vykonáva, jeho dizajn a organizáciu a testy na overenie jeho fungovania pomocou simulácie [10]. Modely HDL textovo vyjadrujú priestorovú a časovú štruktúru a správanie sa elektronických systémov. HDL syntax a sémantika zahŕňa jednoznačnú notáciu pre vyjadrenie súbežnosti a paralelizmu. Avšak, na rozdiel od väčšiny programovacích jazykov, HDL aj explicitne vyjadruje čas, ktorý je hlavným atribútom hardvéru. HDL modely sú používané na opísanie spustiteľnej špecifikácie hardvéru. Simulačný 10

18 program, ktorého cieľom je vykonávať základnú sémantiku jazyka spolu so simuláciou priebehu času, ponúka dizajnérovi možnosť otestovať model hardvéru skôr, ako je fyzicky vytvorený. História HDL Prvé jazyky opisujúce hardvér boli ISP (Instruction Set Processor) vyvinutý na Carnegie Mellonskej univerzite, a KARL vyvinutý na Univerzite v Kaiserslautern, oba okolo roku ISP bol však skôr viac programovací jazyk používaný na opis vzťahov medzi vstupmi a výstupmi obvodu. Preto ho bolo možné použiť na simuláciu návrhu, nie však k syntéze obvodu. Súčasťou jazyku KARL bola podpora štruktúrovaného hardvérového dizajnu, ktorý bol základom interaktívneho grafického jazyka ABL. Bol implementovaný začiatkom 80. rokov ako grafický VLSI dizajn editor AB- LED centrom výskumu telekomunikácií CSELT v Talianskom Turíne. V polovici 80. rokov, bol VLSI dizajn implementovaný do KARL a ABL jazykov medzinárodným konzorciom financovaným Komisiou Európskej únie. V roku 1983 Data-I/O predstavil jazyk ABEL. Bol určený pre opis programovateľných logických zariadení a v podstate slúžil pre návrh konečných automatov. Prvý moderný HDL jazyk, Verilog [12], bol predstavený Gateway Design Automation v roku Cadence Design Systems neskôr získala práva na Verilog-XL, HDL simulátor, ktorý by sa stal štandardom pre ďalšie desaťročie. V roku 1987 na žiadosť amerického ministerstva obrany začal vývoj VHDL (Very High Speed Integrated Circuit Hardware Description Language) [11]. Počas niekoľkých rokov sa VHDL a Verilog stali dominantnými HDL modelmi v elektronickom priemysle, zatiaľ čo staršie a menej schopné HDL modely postupne vymreli. VHDL a Verilog však majú mnoho rovnakých obmedzení: žiadny HDL model nie je vhodný pre simuláciu zmiešaných analógových obvodov. Špecializované HDL modely (ako boli Conuence) prišli s jednoznačným cieľom, ktorým riešia špecifické obmedzenia Verilogu a VHDL. Napriek tomu sa žiadnemu z nich nikdy nepodarilo nahradiť VHDL alebo Verilog. Návrh pomocou HDL Väčšina návrhov začína spísaním súboru požiadaviek, alebo diagramom na vysokej architektonickej úrovni. Proces písania popisu HDL je veľmi závislý od projektanta a charakteru obvodu. HDL popis často začína na vysokej úrovni algoritmickým opisom, napríklad pomocou Matlabu alebo C++ matematického modelu. V rámci prípravy na syntézu je HDL opis spracovaný rôznymi systémami. Tieto systémy štandardizujú kód, zisťujú nejasné konštrukcie v kóde pred tým, ako môžu spô- 11

19 sobiť nesprávne vykonanie syntézy, či detekciu bežných chýb v kóde. HDL dizajn spravidla končí vo fáze syntézy. V závislosti na fyzikálnych technológiách (FPGA, ASIC pole hradiel, ASIC pole buniek) nemusí HDL opis hrať významnú úlohu v konečnej fáze tvorby obvodu. Všeobecne možno povedať, čím viac dizajn smeruje k fyzickej realizácii, tým je návrhová databáza čoraz viac spätá so špecifikáciou, ktorá nemôže byť obsiahnutá vo všeobecných HDL opisoch. Napokon je kremíkový čip vyrobený. Simulácia a ladenie kódu HDL Simulácia umožňuje HDL opisu overiť správnosť návrhu, overuje sa, či je špecifikácia dizajnu rovnaká ako implementácia v popise HDL. Umožňuje tiež experimentovať s rôznymi variantami návrhu. Takéto testovanie je rozhodujúce pre úspešný návrh HDL modelu. Overovanie návrhu je často časovo najnáročnejšia časť procesu návrhu. Väčšina počiatočných testov prebieha v prostredí simulátora HDL. Už v počiatočnej fáze návrhu sú tieto testy predmetom častých a významných zmien v obvode. Popis HDL môže byť aj prototypovaný a testovaný v programovateľných logických obvodoch. Hardvérové prototypovanie je pomerne drahšie ako simulácia HDL, ale ponúka reálny pohľad na výsledok návrhu. Prototypovanie je najlepší spôsob, ako zistiť interakciu s inými hardvérovými zariadeniami a hardvérovými prototypmi Typy HDL jazykov VHDL VHDL [11] znamená VHSIC hardware description language (VHSIC: very-high-speed integrated circuit). VHDL je jazyk pre popis hardvéru používa v automatizácii návrhu elektronických obvodov a k opisu digitálnych systémov a systémov so zmiešanými signálmi, ako sú programovateľné polia a integrované obvody. Vývoj VHDL bol zahájený v roku 1981 ministerstvom obrany Spojených štátov k riešeniu krízy životného cyklu hardvéru. Náklady na údržbu elektronických zariadení začala byť veľmi vysoká, z dôvodu zastarania technológie. Dôvodom bolo nedostatočné zdokumentovanie častí systémov a používanie širokej škály rôznych nezlučiteľných simulačných jazykov a nástrojov. Požiadavka bola vytvoriť jazyk s veľkými opisnými schopnosťami a ktorý bude pracovať rovnako na akomkoľvek simulátore a bude nezávislý od návrhu alebo použitej technológie. Proces štandardizácie VHDL bol celkom výnimočný. Záujem zo strany priemyslu bol veľmi veľký už v rannom štádiu používania jazyka. Základná verzia jazyka bola predstavené 2 roky pred štandardizáciou. Vďaka tomu začal veľmi skoro vývoj nástrojov pre VHDL jazyk. Všetky práva k jazyku boli presunuté na IEEE s cieľom podporiť 12

20 prijatie jazyka priemyslom. Prehľad histórie VHDL 1981 Začatie riešenia hardvérovej krízy Vývoj prvej verzie jazyka firmami Intermetrics, IBM a TI 1986 Všetky práva presunuté na IEEE 1987 Publikácia IEEE štandardu 1987 Vojenský štandard 454, požiadavka komplexného VHDL popisu s každým novým ASIC obvodom 1994 Revízia štandardu (pomenovaný VHDL ) 2000 Revízia štandardu (pomenovaný VHDL , Edícia) 2002 Revízia štandardu (pomenovaný VHDL ) 2007 VHDL Procedural Language Application Interface standard (VHDL 1076c-2007) 2009 Revízia štandardu (pomenovaný VHDL ) Verilog Verilog [12] opisný hardvérový jazyk. Ide o textový formát pre popis elektronických obvodov a systémov. Verilog sa používa pri elektronickom návrhu, napríklad pre overenie pomocou simulácie, časovú analýzu a logickú syntézu. Dôležité je, že VHDL nie je skratka pre Verilog HDL. Verilog a VHDL sú dva odlišné HDL jazyky, avšak majú veľa spoločného. História Verilog HDL siaha až do roku 1980, kedy spoločnosť s názvom Gateway Design Automation vyvinula logický simulátor, Verilog-XL, a spolu s ím jazyk pre popis hardvéru. Cadence Design Systems získala Gateway v roku 1989 a spolu s ním aj práva na jazyk a simulátor. V roku 1990, Cadence poskytol jazyku (nie však simulátor) do verejnej sféry s úmyslom štandardizovania jazyka. Verilog HDL teraz spravuje nezisková organizácia Accellera, ktorá vznikla zlúčením Open Verilog International (OVI) a VHDL International. OVI mal za úlohu štandardizovať jazyk do IEEE. História Verilog HDL siaha až do roku 1980, kedy spoločnosť s názvom Gateway Design Automation vyvinula logiky simulátor, Verilog-XL, a spolu s ním jazyk pre popis hardvéru. Cadence Design Systems získala Gateway v roku 1989 a spolu s ním aj práva na jazyk a simulátor. V roku 1990, Cadence poskytol jazyku (nie však simulátor) do verejnej sféry s úmyslom štandardizovania jazyka. Verilog HDL teraz spravuje nezisková organizácia Accellera, ktorý vznikla zlúčením Open Verilog International (OVI) a VHDL International. OVI mal za úlohu štandardizovať jazyk do IEEE. Verilog HDL sa stal štandardom IEEE v roku 1995 pod číslom Revidovaná ver- 13

21 zia bola uverejnená v roku 2001, čo je najčastejšie používaná verzia Verilogu. IEEE Verilog štandardný dokument je známy ako referenčná príručka jazyka, alebo LRM (Language Reference Manual). ďalšie revízia Verilogu bola uverejnená v roku SystemVerilog je obsahuje obrovskú sadu rozšírení Verilogu a bol prvýkrát vydaný ako štandard IEEE v roku IEEE 1364 taktiež definuje Programovací jazyk rozhrania, alebo PLI (Programming Language Interface). Je to kolekcia programov a rutín, ktoré umožňujú obojsmerné rozhranie medzi Verilogom a inými jazykmi (najčastejšie C). 1.4 Zhrnutie analýzy Analýza je venovaná základným hodnotiacim systémom. Bola spomenutá stručná história vývoja týchto systémov a popis jednotlivých generácií. Pri každej generácii boli zdôraznené hlavné črty a inovácie tej ktorej generácie. Zároveň bolo popísaných niekoľko najúspešnejších systémov z každej generácie z hľadiska funkcionality a inovácií, ktoré daný systém priniesol. V ďalšej časti analýzy bol rozobratý všeobecný algoritmus na porovnávanie reťazcov. Podrobne je popísaný každý krok, ktorý je nutné vykonať k zisteniu tzv. indexu podobnosti, teda nakoľko sa porovnávané reťazce podobajú. Tento algoritmus bude modifikovaný pre potreby navrhovanej aplikácie. V poslednej časti analýzy je stručne popísaný jazyk HDL, na ktorý bude navrhovaná aplikácia špecializovaná. 14

22 Návrh V tejto kapitole bude uvedený návrh samotného systému a algoritmu hodnotenia. Tento návrh vychádza z kapitoly Analýza a z poznatkov v nej získaných. Prvotná idea vytvorenia tohto systému je absencia modulu na vyhodnocovanie zadaní do už existujúcich systémov, ktoré sa používajú na fakulte. Hlavným prínosom bude možnosť hodnotiť programy napísané študentmi tak, aby bolo hodnotenie čo najviac podobné hodnoteniu učiteľa. Cieľom návrhu však nebude implementácia tohto modulu do týchto systémov, len návrh samotných algoritmov na spracovanie a ohodnotenie programov. 2.1 Špecifikácia požiadaviek Po analýze problematickej oblasti vyplynuli tieto požiadavky na navrhovaný systém: jednoduché užívateľské rozhranie Systém musí mať intuitívne a ľahko naučiteľné rozhranie. Všetky ovládacie prvky musia byť jednoducho prístupné a užívateľ musí z rozhrania vždy vedieť, v ktorom kroku sa práve nachádza. vstupné súbory v jazyku VHDL Vstupným súborom sa rozumie vzorové riešenie a kód odovzdaný študentom. Súbory môžu byť priamo vo vhdl formáte, no môžu sa použiť aj obyčajné textové súbory čí HTML stránky. jednoznačne zadané štruktúra vzorového riešenia Aby bolo hodnotenie čo najefektívnejšie, je potrebné aby učiteľ nastavil štruktúru riešenia, teda pomocou akých príkazových štruktúr je vzorové riešenie urobené, teda ako má študent postupovať pri písaní zadania. presne udané parametre hodnotenia Učiteľ musí jednoznačne určiť maximálny počet bodov, ktoré môže študent získať, nastaviť stupnicu, či nastaviť postihy za chyby v kóde. 15

23 presne definovaný výstup programu Výsledky hodnotenia sa zobrazia priamo v okne programu, alebo sa uložia do externého súboru, ktorý určí učiteľ. 2.2 Návrh samotného systému Systém ako taký bude veľmi jednoduchý z hľadiska používania. Dôvodom je to, že tento systém je určený len pre učiteľa. Z toho vyplýva, že k systému bude naraz pristupovať len jeden používateľ. Odpadá teda nutnosť návrhu rozhrania pre viacero užívateľov. V súčasnej dobe sa na fakulte používajú dva systémy na hodnotenie. Prvý je modul v systéme Moodle, ktorý sa volá Drag-and-drop test, alebo sa tiež nazýva Chyťaposunovka. Študent dostane zadanie úlohy a neúplný kód. Ďalej má k dispozícii sadu príkazov, ktoré vkladá na prázdne miesta v kóde. Hodnotenie spočíva v zistení, či sa na danom riadku nachádza správny príkaz, alebo nie. Ak áno, pridelí sa bod. Z tohto jasne vyplývajú isté problémy. Ak sa napríklad správna postupnosť príkazov posunie o riadok, všetky tieto riadky budú označené ako nesprávne. Tiež sa môže stať, že študent zabudne vložiť jeden príkaz. To znamená, že všetky príkazy pod chýbajúcim príkazcom budú posunuté hore a ohodnotia sa ako nesprávne. Druhý systém je písanie zadaní na tzv. tabletoch. Študent má k dispozícii text zadania a definovanú základnú entitu programu. Následné riešenie je potom prenechané na študentovi. Výsledný kód je prenesený na server, kde je skompilovaný a spustený s testovacou sadou signálov. Ak sa výsledky zhodujú s referenčnými výsledkami, študent dostane plný počet bodov. Ak sa výstupné signály nezhodujú s referenčnými, nastáva bodový postih pri každej nezhode. Napríklad, ak sa líši v jednom okamihu súbor ôsmich signálov o dve hodnoty, berie sa to ako 2 chyby, čiže 1/4 z bodu a podobne. Výhoda systému Chyťaposunovky spočíva v tom, že je presne zadané vzorové riešenie, teda sa značne zjednoduší porovnávanie kódu študenta oproti vzoru. Pri tabletoch je situácia horšia. Keďže študent má voľnosť pri riešení, daný problém môže opísať niekoľkými spôsobmi. Tento problém sa môže z časti vyriešiť tým, že sa študentovi zadá, ktorý typ príkazu má požiť pri riešení. Celý systém bude pracovať nasledovne: výber hodnotiaceho modulu nastavenie parametrov hodnotenia načítanie kódu napísaného študentom a vzorového riešenia 16

24 transformácia zdrojového kódu porovnanie kódu so vzorkou ohodnotenie zadania výpis hodnotenia, prípadne počet a výskyt chýb v kóde Celý postup ohodnotenia teda funguje takto. Prvý krok bude výber hodnotiaceho modulu, čo znamená, či sa budú kontrolovať zadania z Chyťaposunovky, alebo z Tabletov. Tento výber ovplyvní časť normalizácie kódu. Pri Chyťaposunovke totiž stačí len základná úprava reťazcov, teda odstránenie zbytočných medzier a transformácia na malé písmená. Pri tabletoch treba navyše premenovať všetky signály a premenné a tiež normalizovať konštrukcie IF alebo CASE. Ďalej treba nastaviť, či daný kód obsahuje určitú štruktúru, alebo bude riešenie ponechané na študentovi. Pokiaľ bude striktne zadané, že študent má použiť len jeden možný typ konštrukcie, celý proces analyzovania kódu sa značne zjednoduší. Pokiaľ však nebude presne daná forma zadania, bude treba kód porovnať s viacerými možnými riešeniami, tzv. vzorkami. Pokračuje sa nastavím parametrov hodnotenia. Určí sa počet bodov, ktoré môže študent získať za zadanie. Ďalej sa nastavia postihy za chyby v kóde. Ak sa v kóde vyskytnú rozdiely oproti referenčnému príkladu, počet týchto chýb sa zistí a podľa nastavenej stupnice postihov sa strhnú body. Učiteľ pripraví vzorové riešenie alebo vzorky, podľa ktorých sa bude študentov zdrojový kód testovať. Súbor s riešením alebo vzorkami sa načíta do programu. Následne sa načíta študentov zdrojový súbor. Princíp analýzy kódu spočíva v normalizácii kódu podľa výberu v prvom kroku. Po tejto úprave sa kód porovná so vzorom a zistí sa počet chýb. Na základe nastavenej stupnice postihov sa určí konečný bodový zisk. Nakoniec sa zobrazia výsledky. Buď v okne programu, alebo budú poskytnuté vo výstupnom súbore. Učiteľ môže samozrejme hodnotenie upraviť na základe jeho subjektívneho názoru. Celý postup hodnotenia je zobrazený na obrázku Porovnávací algoritmus Základný kameň celého systému je porovnávacia časť. Predom upravený kód, či už žiakov alebo vzorové riešenie, sa musia spolu porovnať. Výsledkom porovnania je počet nezhôd, ktorý je prepočítaný na výsledný bodový zisk. Pri vytváraní porovnávacieho algoritmu som sa zo značnej časti inšpiroval jedným riešením, ktoré som našiel na internete [13]. Je to jednoduchý porovnávací algoritmus, ktorý porovnáva dva textové súbory. Výsledkom je potom HTML súbor, ktorý zobrazí na jednej stránke oba porovnávané súbory, vyznačí, čo je oproti vzorovému súboru zmenené, pridané, zmazané a čo je rovnaké. Porovnávanie sa vykonáva po 17

25 Obr. 2.1: Postup hodnotenia riadkoch. Keďže som nechcel veľmi zasahovať do kódu porovnávacieho algoritmu, bolo treba pripraviť oba súbory tak, aby bol použitý algoritmus čo najefektívnejší. Uvažoval som teda, či porovnávať celý kód naraz, alebo jeho časti osobitne. Z hľadiska implementácie by bol prvý prístup jednoduchší. Po zvážení všetkých možných situácií a stavov, ktoré môžu nastať pri porovnávaní som sa rozhodol, že ošetrovanie týchto stavov by bolo veľmi náročné. Preto sa bude porovnávanie vykonávať pre jednotlivé časti kódu osobitne. Konkrétne sa jedná o definície entít, popisy procesov a s nimi súvisiace konštrukcie IF a CASE Hodnotiaci algoritmus Hodnotiaci algoritmus bude fungovať na princípe postupnej transformácie kódu, ktorý odovzdá študent na vzorový kód. Podľa počtu zmien pri transformácii kódu sa študen- 18

26 tovi strhnú body. Učiteľ nastaví maximálny počet bodov, ktoré môže študent získať a jednotlivé váhy postihov k daným typom chýb. Ak sa napríklad bude v zadaní vyskytovať len jedna konštrukcia CASE, bodový postih za každú chybu bude väčší ako pri zložitejšom kóde, kde bude postih menší. Výstupom z hodnotenia bude potom percentuálna úspešnosť žiaka, ktorá sa môže prepočítať na počet bodov, zaokrúhlený podľa nastavenia učiteľa Popis rozhrania Rozhranie bude veľmi jednoduché. Bude ponúkať túto základnú funkcionalitu: vybrať hodnotiaci modul Keďže systém pracuje so súbormi z dvoch rôznych systémov, pričom postup hodnotenia sa mierne líši v závislosti od vybraného systému, je nutné aby učiteľ vybral správny modul. načítať zdrojové súbory, ktoré sa budú kontrolovať a hodnotiť Učiteľ zadá cestu k súborom, alebo vyberie súbory pomocou dialógového okna. Podmienkou správneho fungovania pri module Chyťaposunovka je nahrať vzorový súbor s vyznačenými poliami, ktoré žiak v Chyťaposunovke musí doplniť. Ako študentov kód sa môže použiť textový súbor skopírovaný z Chyťaposunovky, alebo priamo HTML export danej stránky, na ktorej sa kód nachádza. V prípade modulu Tablety nie je v podstate žiadne obmedzenie na vstupné súbory. nastaviť parametre formátu vstupného súboru Pri module Chyťaposunovka nie je žiadne obmedzenie na nastavenie formátu požadovaného kódu, keďže je riešenie jednoznačne dané. Pri tabletoch je potrebné nastaviť, aké konštrukcie sa požadujú od študenta pri riešení. Ak študent nedodrží požadovaný formát kódu, nebude možné ohodnotiť jeho zadanie správne. nastaviť parametre hodnotenia a postihov Učiteľ nastaví maximálny počet bodov a postihy za jednotlivé chyby. zobraziť výsledky na obrazovke Zobrazenie výsledkov hodnotenia sa vykoná v okne programu. Zobrazí sa percentuálna úspešnosť, alebo počet získaných bodov. Taktiež sa zobrazia chyby, ktoré študent urobil. export výsledkov do súboru Výsledky sa môžu tiež nahrať do textového súboru, ktorý sa uloží na miesto ktoré určí učiteľ. 19

27 2.2.4 Návrh pre paralelné spracovanie Návrh paralelného spracovania pre navrhovaný systém sa môže uberať dvoma smermi. Prvým je rozdeliť celý proces hodnotenia medzi viacero počítačov alebo procesorov, no takýto postup je veľmi náročný na synchronizáciu a celkové využívanie zdrojov pri takomto druhu paralelného spracovania. Druhý prístup spočíva v načítaní viacerých zdrojových kódov od študentov, a následné spustenie na viacerých počítačov tak, že každý počítač spracováva práve jedno zadanie. Týmto sa urýchli celý proces hodnotenia pričom sa vôbec nemusí zasahovať do algoritmov. Stačí, ak sa naprogramuje modul o úroveň vyššie, ktorý by dokázal spravovať jednotlivé inštancie systému, posielať mu súbory a zbierať a triediť získané dáta. 20

28 Implementácia V tejto kapitole je opísaný postup implementácie, implementačné prostredie a popis základných funkcií programu. 3.1 Implementačné prostredie Aplikácia je implementovaná v jazyku C++ s knižnicami MFC. Vyvíjala sa v prostredí VisalStudio 2005 od firmy Microsoft. Knižnice MFC sú v operačnom systéme Windows XP a vyššom štandardne implementované, nebude teda problém spustiť aplikáciu na týchto systémoch. Pri implementácii sa uvažovalo aj na použitím platformy Java, no pri budúcom zakomponovaní aplikácie do existujúcich systémov na hodnotenie, ktoré sa momentálne používajú na fakulte by nastal problém, nakoľko sú písané v jazyku C++, alebo C#. 3.2 Popis implementácie Najväčšiu časť zdrojového kódu zaberá porovnávací algoritmus. Ako bolo spomenuté, je inšpirovaný jedným riešením z internetu [13]. Kód som upravil pre moje potreby. Pôvodne algoritmus zvládal porovnávať aj na základe veľkosti písmen a podľa odsadenia, no pre moje účely bola táto funkcionalita úplne zbytočná. Ďalej je upravený aj samotný vyhodnocovací algoritmus. Popísaný je v časti návrh. Pri implementácii modulu pre tablety som ale narazil na problém s refaktorizáciou kódu. Možnosti, ktorými môže študent opísať svoje riešenie je veľmi veľa, preto sa mi nepodarilo pokryť všetky možné kombinácie. Toto obmedzenie sa dá eliminovať zadaním presného formátu kódu, názvov premenných a signálov. V budúcnosti sa samozrejme dá táto chýbajúca funkcionalita doplniť. Podrobný popis implementácie sa nachádza na elektronickom médii. Technická dokumentácia je generovaná pomocou nástroja Doxygen. 21

29 Zhodnotenie Automatické hodnotenie žiakov zaznamenalo v posledných rokoch veľký rozmach. V podstate každá lepšia škola sa snaží buď používať, alebo dokonca sama vyvíjať systémy, ktoré by dokázali efektívne ohodnotiť prácu študentov a týmto napomôcť nielen učiteľovi, ale aj samotným študentom. Dobre použitý systém na hodnotenie totiž môže mať priaznivý vplyv na úroveň vzdelávania. Náplňou tejto práce bolo vytvorenie systému automatického hodnotenia HDL modelov. V prvej časti práce som stručne opísal existujúce riešenia a časť algoritmov, ktoré používajú pri hodnotení. Načrtol som tiež stručnú históriu a verzie jazyka HDL. Poznatky z analýzy boli potom pretavené do špecifikácie požiadaviek na navrhovaný systém hodnotenia. Tie požiadavky boli časom rozšírené a transformované na celkový návrh systému. Celý proces vývoja bol orientovaný na použitie v kooperácii s existujúcimi riešeniami na fakulte. Týmito systémami sú Chyťaposunovka, čo je testovací modul v systéme Moodle a tzv. Tablety. Pri implementácii došlo k určitým obmedzeniam oproti návrhu. Prvým obmedzením je nutnosť presne určeného formátu vzorového súboru a súborov od žiakov. Vyplynulo to z rôznorodosti spôsobov riešení daného problému. Ďalším problémom bol formát súborov z Chyťaposunovky. Tento systém totiž nemá nijakým spôsobom implementovaný export výsledkov a žiakovho kódu. Jediná možnosť, ako získať tieto dáta je skopírovanie textu riešenia do textového súboru zo stránky s riešením, alebo priame použitie HTML stránky stiahnutej zo systému Moodle. Obe možnosti sú funkčné a je na učiteľovi, ktorý typ si vyberie. Na vzorový súbor je tiež kladená jedna podmienka a to potreba vyznačenia polí, ktoré študent dopĺňa. Problém paralelného spracovania je stručne opísaný v časti návrhu. Táto časť nie je implementovaná, pretože na počiatočné potreby použitia tohto systému nie je nutná. Navyše som nemal k dispozícii vhodný cluster, kde by sa dalo riešenie testovať. Výsledkom práce je teda implementovaný systém na hodnotenie žiakov, podľa požiadaviek zadania. 22

30 4.1 Možnosti zlepšenia systému podpora viacerých programovacích jazykov zakomponovanie systému priamo do používaných systémov na fakulte prepracovanie refaktorovacej logiky vylepšenie použitých algoritmov implementácia v paralelnom prostredí 23

31 Literatúra [1] MALMI L. et al.: Experiences on automatically assessed algorithmic exercises. ACM J. Edu.Resources Comput, 2006, s [2] DOUCE, Ch.: Automatic Test-Based Assessment of Programming: A Review. ACM Journal of Educational Resources in Computing, Vol. 5, No. 2, 2005, s [3] HIGGINS, C. A. et al: Automated Assessment and Experiences of Teaching Programming. ACM Journal of Educational Resources in Computing, Vol. 5, No. 3, [4] HOLLINGSWORTH, J.: Automatic graders for programming classes. Commun. ACM 3, 10, 1960, s [5] JAYAL, A., SHEPPERD, M.: An Improved Method for Label Matching in e- assessment of Diagrams. ITALICS Volume 8 Issue 1, 2009, s [6] REEK, K. A.: The TRY system - or - how to avoid testing student programs. SIGCSE Bull. 21, 1, 1989, s [7] VON MATT, U.: Kassandra: The automatic grading system. Tech. Rep.UMIACS- TR-94-59, Institute for Advanced Computer Studies, Dept. of Computer Science, University of Maryland, [8] JACKSON, D., USHER, M.: Grading student programing using ASSYST. In Technical Symposium on Computer Science Education, Proceedings of the 28th SIGCSE (San Jose, CA), 1997, s [9] HIGGINS, C. et al: The CourseMaster CBA system: Improvements over Ceilidh. J. Edu. Inf.Technol. 8, 3, 2003, s [10] [11] Doulos The Designer s Guide to VHDL

32 [12] Doulos Verilog Designer s Guide [13] RODRIGEEZ, S.: Diff Tool

33 Príloha A Technická dokumentácia A.1 Popis zdrojových súborov Celé riešenie je v jednom projekte prostredia VisualStudio Súbory sú rozdelené na hlavičkové a zdrojové. Hlavičkové súbory v sebe obsahujú deklarácie tried, ich premenných, metód a vlastností. Zdrojové súbory potom tieto triedy využívajú pri práci so zadaniami. Súbor bcdiffdlg.cpp má na starosti získanie ciest k súborom, ktoré sa majú hodnotiť a následne odoslať tieto cesty hodnotiacemu algoritmu. Súbor bcdiff.cpp overí, či sú cesty k súborom správne a či súbory existujú. Ďalej súbory predpripraví a následne na ne spustí porovnávací algoritmus. Ten pracuje tak, že sa snaží pretransformovať študentov kód do rovnakej formy, ako má vzorové riešenie. Každá zmena je postihnutá bodovou stratou nastavenou pred spustením hodnotenia. Nakoniec sa zavolá dialógové okno s výsledkami. Súbor fileparticion.cpp ukladá súbory v špeciálnej štruktúre. Pri vytváraní obrazu súboru sa volá funkcia PreProcess(CString szfilename, int type). Táto funkcia zabezpečí normalizáciu kódu a prevod súboru riadok po riadku na tzv. tokeny, teda vyráta sa číselná hodnota reťazca. Pre porovnávanie je totiž porovnanie dvoch čísel rýchlejšie ako porovnávanie reťazcov. Všetky tokeny sú uložené do poľa tokenov v poradí, v akom nasledovali riadky v súbore. Popri tom sa uchováva aj informácia o reťazci každého riadku. Súbor DiffEngine.cpp je súbor z pôvodného projektu, podľa ktorého je celý porovnávací algoritmus inšpirovaný. Jeho funkcionalita spočíva v tom, že vykoná klasický diff algoritmus a výsledky zobrazí v HTML stránke. Na ľavej strane výpisu je pôvodný súbor, na pravej novší súbor. Tento algoritmus tiež zvýrazňuje riadku, ktoré boli pridané, zmazané, alebo zmenené. Túto funkcionalitu som v projekte ponechal preto, lebo po malej úprave kódu poskytuje možnosť zobraziť celý postup transformácie študentovho kódu na vzorový v prehľadnej HTML stránke. Navyše je zviazaná so 26

34 štruktúrou predpripravených súborov a dobre s ním pracuje. A.2 Používateľská príručka Používanie systému je veľmi jednoduché. Nie je potrebná žiadna inštalácia, systém sa jednoducho spustí súborom.exe. Prostredie ponúka len najnutnejšie nastavovacie prvky. Konkrétne sa jedná o 2 polia pre cestu k súboru, jedno pre vzor, jedno pre študentov kód. Ďalej sa tu nachádza výber modulu, z ktorého sú súbory exportované. Pri Chyťaposunovke je ďalej možnosť nastaviť, či je študentov kód kopírovaný do textového súboru, alebo či je exportovaný ako HTML stránka. V posledom rade sa dajú nastaviť parametre hodnotenia. A to maximálny počet bodov, a jednotlivé postihy. Celé dialógové okno je zobrazené na obrázku A.1. Výsledok hodnotenia je zobrazený v malom modálnom okne. Poskytuje informácie o počte získaných bodov a o počte bodov strhnutých za jednotlivé postihy. Okno je zobrazené na obrázku A.2. Obr. A.1: Hlavné okno systému Obr. A.2: Výsledky hodnotenia 27

Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) Spájanie tabuliek Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 Úvod pri normalizácii rozdeľujeme databázu na viacero tabuliek prepojených cudzími kľúčmi SQL umožňuje tabuľky opäť spojiť

More information

Registrácia účtu Hik-Connect

Registrácia účtu Hik-Connect Registrácia účtu Hik-Connect Tento návod popisuje postup registrácie účtu služby Hik-Connect prostredníctvom mobilnej aplikácie a webového rozhrania na stránke www.hik-connect.comg contents in this document

More information

Databázové systémy. SQL Window functions

Databázové systémy. SQL Window functions Databázové systémy SQL Window functions Scores Tabuľka s bodmi pre jednotlivých študentov id, name, score Chceme ku každému doplniť rozdiel voči priemeru 2 Demo data SELECT * FROM scores ORDER BY score

More information

Obsah. SOA REST REST princípy REST výhody prest. Otázky

Obsah. SOA REST REST princípy REST výhody prest. Otázky REST Peter Rybár Obsah SOA REST REST princípy REST výhody prest Otázky SOA implementácie WEB (1990) CORBA (1991) XML-RPC (1998) WS-* (1998) SOAP RPC/literal SOAP Document/literal (2001) REST (2000) SOA

More information

Copyright 2016 by Martin Krug. All rights reserved.

Copyright 2016 by Martin Krug. All rights reserved. MS Managed Service Copyright 2016 by Martin Krug. All rights reserved. Reproduction, or translation of materials without the author's written permission is prohibited. No content may be reproduced without

More information

Aplikačný dizajn manuál

Aplikačný dizajn manuál Aplikačný dizajn manuál Úvod Aplikačný dizajn manuál je súbor pravidiel vizuálnej komunikácie. Dodržiavaním jednotných štandardov, aplikácií loga, písma a farieb pri prezentácii sa vytvára jednotný dizajn,

More information

1 Komplexný príklad využitia OOP

1 Komplexný príklad využitia OOP 1 Komplexný príklad využitia OOP Najčastejším využitím webových aplikácií je komunikácia s databázovým systémom. Komplexný príklad je preto orientovaný práve do tejto oblasti. Od verzie PHP 5 je jeho domovskou

More information

Spôsoby zistenia ID KEP

Spôsoby zistenia ID KEP Spôsoby zistenia ID KEP ID KEP (kvalifikovaný elektronický podpis) je možné zistiť pomocou napr. ovládacieho panela, prostredíctvom prehliadača Internet Expolrer, Google Chrome alebo Mozilla Firefox. Popstup

More information

kucharka exportu pro 9FFFIMU

kucharka exportu pro 9FFFIMU požiadavky na export kodek : Xvid 1.2.1 stable (MPEG-4 ASP) // výnimočne MPEG-2 bitrate : max. 10 Mbps pixely : štvorcové (Square pixels) rozlíšenie : 1920x1080, 768x432 pre 16:9 // výnimočne 1440x1080,

More information

Anycast. Ľubor Jurena CEO Michal Kolárik System Administrator

Anycast. Ľubor Jurena CEO Michal Kolárik System Administrator Anycast Ľubor Jurena CEO jurena@skhosting.eu Michal Kolárik System Administrator kolarik@skhosting.eu O nás Registrátor Webhosting Serverové riešenia Správa infraštruktúry Všetko sa dá :-) Index Čo je

More information

Riešenia a technológie pre jednotnú správu používateľov

Riešenia a technológie pre jednotnú správu používateľov Riešenia a technológie pre jednotnú správu používateľov Radovan Semančík Agenda Úvod: Identity Crisis Technológie správy používateľov Postup nasadenia Záver Súčasný stav IT Security Nekonzistentné bezpečnostné

More information

Databázy (1) Prednáška 11. Alexander Šimko

Databázy (1) Prednáška 11. Alexander Šimko Databázy (1) Prednáška 11 Alexander Šimko simko@fmph.uniba.sk Contents I Aktualizovanie štruktúry databázy Section 1 Aktualizovanie štruktúry databázy Aktualizácia štruktúry databázy Štruktúra databázy

More information

TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca

TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca Obsah balenia TL-WR743ND Rýchly inštalačný sprievodca PoE injektor Napájací adaptér CD Ethernet kábel Systémové požiadavky

More information

VYLEPŠOVANIE KONCEPTU TRIEDY

VYLEPŠOVANIE KONCEPTU TRIEDY VYLEPŠOVANIE KONCEPTU TRIEDY Typy tried class - definuje premenné a metódy (funkcie). Ak nie je špecifikovaná inak, viditeľnosť členov je private. struct - definuje premenné a metódy (funkcie). Ak nie

More information

Ochrana koncových staníc pomocou Cisco Security Agent 6.0. Ľubomír Varga.

Ochrana koncových staníc pomocou Cisco Security Agent 6.0. Ľubomír Varga. Ochrana koncových staníc pomocou Cisco Security Agent 6.0 Ľubomír Varga lubomir.varga@lynx.sk Agenda CSA 6.0 refresh Vybrané vlastnosti CSA 6.0 Application Trust levels Notify User Rule Actions User Justifications

More information

Tvorba informačných systémov. 4. prednáška: Návrh IS

Tvorba informačných systémov. 4. prednáška: Návrh IS Tvorba informačných systémov 4. prednáška: Návrh IS Návrh informačného systému: témy Ciele návrhu ERD DFD Princípy OOP Objektová normalizácia SDD Architektonické pohľady UML diagramy Architektonické štýly

More information

Programovanie v jazyku Python. Michal Kvasnica

Programovanie v jazyku Python. Michal Kvasnica Programovanie v jazyku Python Michal Kvasnica Organizačné detaily Prednášky aj cvičenia v 638 Povinná účasť na cvičeniach Hodnotenie: priebežné odovzdávanie zadaní (40% známky) záverečný projekt na skúške

More information

Mesačná kontrolná správa

Mesačná kontrolná správa Mesačná kontrolná správa Štrukturálna štúdia mar.18 feb.18 jan.18 dec.17 nov.17 okt.17 sep.17 aug.17 júl.17 jún.17 máj.17 apr.17 mar.17 Internetová populácia SR 12+ 3 904 509 3 802 048 3 870 654 3 830

More information

REPORT DESIGNER 1 VYTVORENIE A ÚPRAVA FORMULÁRA. úprava formulárov v Money S4 / Money S Vytvorenie formulára

REPORT DESIGNER 1 VYTVORENIE A ÚPRAVA FORMULÁRA. úprava formulárov v Money S4 / Money S Vytvorenie formulára REPORT DESIGNER úprava formulárov v Money S4 / Money S5 Informačný systém Money S4/S5 umožňuje upraviť tlačové zostavy tak, aby plne vyhovovali potrebám používateľa. Na úpravu tlačových zostáv slúži doplnkový

More information

Databázy (1) Prednáška 08. Alexander Šimko

Databázy (1) Prednáška 08. Alexander Šimko Databázy (1) Prednáška 08 Alexander Šimko simko@fmph.uniba.sk Contents I Subqueries (poddopyty) konštrukcia WITH Section 1 Subqueries (poddopyty) Subquery (poddopyt) Použitie SELECTu na mieste, kde sme

More information

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP Recipient Configuration Štefan Pataky MCP, MCTS, MCITP Agenda Mailbox Mail Contact Distribution Groups Disconnected Mailbox Mailbox (vytvorenie nového účtu) Exchange Management Console New User Exchange

More information

Hodnotenie kvality produktu

Hodnotenie kvality produktu Hodnotenie kvality produktu (2012/2013) Obsah 1. Úvod... 3 2. ISO 9126: Meranie kvality softvérového produktu... 3 2.1 ISO 9126-1: Model kvality... 4 2.2 ISO TR 9126-2: Externé metriky... 6 2.3 ISO TR

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU.

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU. UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU Diplomová práca 2017 Bc. Denis Spišák UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA

More information

VLSM a CIDR. CCNA2 Kapitola Cisco Systems, Inc. All rights reserved. Cisco Public 1

VLSM a CIDR. CCNA2 Kapitola Cisco Systems, Inc. All rights reserved. Cisco Public 1 VLSM a CIDR CCNA2 Kapitola 6 1 Trošku histórie Pred rokom 1981 IP adresy používali na špecifikáciu siete len prvých 8 bitov Rok1981, RFC 791 Zaviedol adresný priestor s tromi triedami adries Polovica 90

More information

Mesačná kontrolná správa

Mesačná kontrolná správa Mesačná kontrolná správa Štrukturálna štúdia dec.16 nov.16 okt.16 sep.16 aug.16 júl.16 jún.16 máj.16 apr.16 mar.16 feb.16 jan.16 Internetová populácia SR 12+ 3 728 988 3 718 495 3 718 802 3 711 581 3 700

More information

POKROČILÉ C++ Marian Vittek

POKROČILÉ C++ Marian Vittek POKROČILÉ C++ Marian Vittek vittek@fmph.uniba.sk O predmete Pôvodne seminár Teraz normálna prednáška so skúškou/testom Predmetom kurzu je detailnejší pohľad na jazyk C++ a občasné porovnanie s inými programovacími

More information

Podporované grantom z Islandu, Lichtenštajnska a Nórska prostredníctvom Finančného mechanizmu EHP a Nórskeho finančného mechanizmu

Podporované grantom z Islandu, Lichtenštajnska a Nórska prostredníctvom Finančného mechanizmu EHP a Nórskeho finančného mechanizmu Podporované grantom z Islandu, Lichtenštajnska a Nórska prostredníctvom Finančného mechanizmu EHP a Nórskeho finančného mechanizmu Závereč ný workshop projektu INEDU-GOV Inovatívne vzdelávanie pracovníkov

More information

Jazyk SQL. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Jazyk SQL. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) Jazyk SQL Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 Jazyk SQL - Structured Query Language SQL je počítačový jazyk určený na komunikáciu s relačným SRBD neprocedurálny (deklaratívny) jazyk

More information

Manuál k programu FileZilla

Manuál k programu FileZilla Manuál k programu FileZilla EXO TECHNOLOGIES spol. s.r.o. Garbiarska 3 Stará Ľubovňa 064 01 IČO: 36 485 161 IČ DPH: SK2020004503 support@exohosting.sk www.exohosting.sk 1 Úvod EXO HOSTING tím pre Vás pripravil

More information

INTERNET. História internetu

INTERNET. História internetu INTERNET 1 Úvod Internet je celosvetová počítačová sieť. Je všade okolo, ale nepatrí nikomu, nikto ho neriadi. Internet predstavuje najväčšie množstvo informácií dostupných z jedného miesta. Internet tvoria

More information

Textový formát na zasielanie údajov podľa 27 ods. 2 písm. f) zákona

Textový formát na zasielanie údajov podľa 27 ods. 2 písm. f) zákona Popis textového formátu a xsd schémy na zasielanie údajov podľa 27 ods. 2 písm. f) zákona (formu na zaslanie údajov si zvolí odosielateľ údajov) Textový formát na zasielanie údajov podľa 27 ods. 2 písm.

More information

MATLAB EXCEL BUILDER A NÁVRH PID REGULÁTOROV PRE PROSTREDIE MS EXCEL

MATLAB EXCEL BUILDER A NÁVRH PID REGULÁTOROV PRE PROSTREDIE MS EXCEL MATLAB EXCEL BUILDER A NÁVRH PID REGULÁTOROV PRE PROSTREDIE MS EXCEL Martin Foltin, Ivan Sekaj Fakulta elektrotechniky a informatiky, Slovenská Technická Univerzita, Ilkovičova 3, 812 19 Bratislava, Slovenská

More information

MERANIE SOFTVÉRU. Jakub Šimko MSI

MERANIE SOFTVÉRU. Jakub Šimko MSI Slovenská Technická Univerzita v Bratislave Fakulta Informatiky a Informačných Technológií Jakub Šimko jsimko@fiit.stuba.sk MERANIE SOFTVÉRU 9.10.2012 MSI Meranie a metriky Kto by mal dávať pozor? Predsa

More information

LL LED svietidlá na osvetlenie športovísk. MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám.

LL LED svietidlá na osvetlenie športovísk. MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám. LL LED svietidlá na osvetlenie športovísk MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám. LL SPORT LL SPORT je sofistikované vysoko výkonné LED svietidlo špeciálne

More information

Desatinné čísla #1a. Decimal numbers #1b. How much larger is 21,8 than 1,8? Desatinné čísla #2a. Decimal numbers #2b. 14 divided by 0,5 equals...

Desatinné čísla #1a. Decimal numbers #1b. How much larger is 21,8 than 1,8? Desatinné čísla #2a. Decimal numbers #2b. 14 divided by 0,5 equals... Desatinné čísla #1a Mravec išiel 5,5 cm presne na sever, potom 3,4 cm na východ, 1,8 cm na juh, 14,3 cm na západ, 1,3 cm na sever a 10,9 cm na východ. Najmenej koľko cm musí teraz prejsť, aby sa dostal

More information

Crestron Mercury. Univerzálny Videokonferenčný a Kolaboračný systém

Crestron Mercury. Univerzálny Videokonferenčný a Kolaboračný systém Crestron Mercury Univerzálny Videokonferenčný a Kolaboračný systém Tradičná malá zasadacia miestnosť CRESTRON Mercury Videokonferenčná miestnosť Možnosť rezervácie miestnosti: Prostredníctvom MS Outlook

More information

PODPORNÉ PROSTRIEDKY PRE VERZIOVANIE: VHODNÝ VÝBER PRE NÁŠ TÍM?

PODPORNÉ PROSTRIEDKY PRE VERZIOVANIE: VHODNÝ VÝBER PRE NÁŠ TÍM? PODPORNÉ PROSTRIEDKY PRE VERZIOVANIE: VHODNÝ VÝBER PRE NÁŠ TÍM? Budúcnosť je jasná, budúcnosť sú distribuované verziovacie systémy... alebo centralizované??? Balázs Nagy Slovenská technická univerzita

More information

Programové vybavenie - softvér. Funkcie operačného systému

Programové vybavenie - softvér. Funkcie operačného systému Programové vybavenie - softvér Funkcie operačného systému Softvér Softvér (software) programové vybavenie počítača. Vzniká programovaním, pričom každý počítačový program obsahuje postupnosť inštrukcií,

More information

Návrh kritérií pre habilitáciu docentov a vymenúvanie profesorov na Ekonomickej fakulte TU v Košiciach

Návrh kritérií pre habilitáciu docentov a vymenúvanie profesorov na Ekonomickej fakulte TU v Košiciach EKONOMICKÁ FAKULTA TU V KOŠICIACH MATERIÁL NA ROKOVANIE: Vedeckej rady, dňa: 16.11.20 Návrh kritérií pre habilitáciu docentov a vymenúvanie profesorov na Ekonomickej fakulte TU v Košiciach Predkladá: prof.

More information

Kategória školenia Školenia Cisco obsahuje kurzy:

Kategória školenia Školenia Cisco obsahuje kurzy: Kategória školenia Školenia Cisco obsahuje kurzy: Cisco CCNA I - Úvod do počítačových sietí Školenie Cisco CCNA I - Úvod do počítačových sietí je určený záujemcom o počítačové siete a ich budúcim administrátorom.

More information

Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15

Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15 Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15 851(01(Bra@slava Titl.: Ján(Hrčka Bohrova(11 851(01(Bra@slava V(Bra@slave(21.11.2013 Vec:(Odpoveď(na(informácie(ohľadom(mandátnej(zmluvy(na(základe(Zákona(č.(211/2000(Zb.

More information

SLOVENSKÁ POĽNOHOSPODÁRSKA UNIVERZITA V NITRE TECHNICKÁ FAKULTA ON-LINE TESTOVANIE V PREDMETE PROGRAMOVANIE Stanislav Pohuba, Bc.

SLOVENSKÁ POĽNOHOSPODÁRSKA UNIVERZITA V NITRE TECHNICKÁ FAKULTA ON-LINE TESTOVANIE V PREDMETE PROGRAMOVANIE Stanislav Pohuba, Bc. SLOVENSKÁ POĽNOHOSPODÁRSKA UNIVERZITA V NITRE TECHNICKÁ FAKULTA 2136291 ON-LINE TESTOVANIE V PREDMETE PROGRAMOVANIE 2011 Stanislav Pohuba, Bc. SLOVENSKÁ POĽNOHOSPODÁRSKA UNIVERZITA V NITRE Dr. h. c. prof.

More information

Xamarin písanie Android a ios aplikácií v C#

Xamarin písanie Android a ios aplikácií v C# www.dotnetcollege.cz Xamarin písanie Android a ios aplikácií v C# Roman Jašek Software Architect, Riganti s.r.o. MSP, MCP roman.jasek@riganti.cz Xamarin vs. Xamarin Forms ios C# UI Android C# UI Windows

More information

Algoritmy deterministickej a stochastickej optimalizácie a ich počítačová realizácia

Algoritmy deterministickej a stochastickej optimalizácie a ich počítačová realizácia Algoritmy deterministickej a stochastickej optimalizácie a ich počítačová realizácia ESF 2007 D. Ševčovič Katedra aplikovanej matematiky a štatistiky, Univerzita Komenského, 842 48 Bratislava http://www.iam.fmph.uniba.sk/institute/sevcovic

More information

Microsoft Azure platforma pre Cloud Computing. Juraj Šitina, Microsoft Slovakia

Microsoft Azure platforma pre Cloud Computing. Juraj Šitina, Microsoft Slovakia Microsoft Azure platforma pre Cloud Computing Juraj Šitina, Microsoft Slovakia m Agenda Cloud Computing Pohľad Microsoftu Predstavujeme platformu Microsoft Azure Benefity Cloud Computingu Microsoft je

More information

Problém Big Data a ako ho riešiť pomocou NoSQL. Ján Zázrivec Softec

Problém Big Data a ako ho riešiť pomocou NoSQL. Ján Zázrivec Softec Problém Big Data a ako ho riešiť pomocou NoSQL Ján Zázrivec Softec Dáta dnešného sveta Oblasti kde sa spracováva veľké množstvo dát: Internet Web vyhľadávače, Sociálne siete Veda Large Hadron Collider,

More information

D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu. Inštalačná príručka

D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu. Inštalačná príručka D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu Inštalačná príručka Obsah 1 Predpoklady pre inštaláciu D.Signer... 3 1.1 Inštalácia.NET Framework... 3 1.1.1 Windows 8, 8.1... 4 1.1.2

More information

POROVNANIE GUI VYBRANÝCH SOFTVÉROVÝCH NÁSTROJOV

POROVNANIE GUI VYBRANÝCH SOFTVÉROVÝCH NÁSTROJOV UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY POROVNANIE GUI VYBRANÝCH SOFTVÉROVÝCH NÁSTROJOV Bakalárska práca Stanislav Párnický 2013 UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA

More information

GeoGebra a JavaScript

GeoGebra a JavaScript GeoGebra a JavaScript GeoGebra and JavaScript Patrik Voštinár MESC: U70 Abstract The article deals with creating applets in mathematics software GeoGebra. GeoGebra contains a large number of tools that

More information

Štruktúra údajov pre kontajner XML údajov 1. Dátové prvky pre kontajner XML údajov

Štruktúra údajov pre kontajner XML údajov 1. Dátové prvky pre kontajner XML údajov Štruktúra údajov pre kontajner XML údajov 1. Dátové prvky pre kontajner XML údajov D.4 Kontajner XML údajov (XMLDataContainer) Príloha č. 11 k výnosu č. 55/2014 Z. z. [pridaná novelou č. 275/2014 Z. z.,

More information

SYSTÉM NA EVIDENCIU A KATEGORIZÁCIU

SYSTÉM NA EVIDENCIU A KATEGORIZÁCIU FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITA KOMENSKÉHO BRATISLAVA Bakalárska práca SYSTÉM NA EVIDENCIU A KATEGORIZÁCIU ŠTANDARDIZAČNÝCH MATERIÁLOV Eva Porvazníková vedúci bakalárskej práce: Doc.

More information

Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami)

Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami) I2AI: Lecture 04 Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami) Lubica Benuskova Reading: AIMA 3 rd ed. chap. 6 ending with 6.3.2 1 Constraint satisfaction problems (CSP) We w

More information

Xerox PARC the office of the future. Michal Winczer

Xerox PARC the office of the future. Michal Winczer Xerox PARC 1970-80 the office of the future Michal Winczer Čo to je? Kde to je? PARC = Palo Alto Research Center Čo bolo pred tým Vojna vo Vietname Hnutie hippies Úspechy XEROXu s kopírkami Neexistencia

More information

Coordinates ordering in parallel coordinates views

Coordinates ordering in parallel coordinates views Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Coordinates ordering in parallel coordinates views Bratislava, 2011 Lukáš Chripko Univerzita Komenského v Bratislave Fakulta

More information

Vzory, rámce a webové aplikácie

Vzory, rámce a webové aplikácie Vzory, rámce a webové aplikácie Jakub Šimko jakub.simko@stuba.sk Návrhové vzory (načo slúžia?) 1. Dobré zvyky v programovaní 2. Riešia často sa opakujúce problémy praxou overeným spôsobom 3. Pomôžu nám

More information

Government Cloud. Stratégia využitia Cloud Computing-u vo Verejnej správe SR. Peter Kišša

Government Cloud. Stratégia využitia Cloud Computing-u vo Verejnej správe SR. Peter Kišša Government Cloud Stratégia využitia Cloud Computing-u vo Verejnej správe SR Peter Kišša Prečo? Aug, 2011 - Amazon launches US government cloud designed to meet the regulatory requirements of U.S. government

More information

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií FIIT-XXXX-XXXXX

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií FIIT-XXXX-XXXXX Toto je titulný list práce. Je súčasťou každej priebežnej či záverečnej správy (BP, DP) Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií FIIT-XXXX-XXXXX evidenčné

More information

ÚMRTNOSŤ NA ÚRAZY MOZGU VO VYBRANÝCH EURÓPSKYCH KRAJINÁCH

ÚMRTNOSŤ NA ÚRAZY MOZGU VO VYBRANÝCH EURÓPSKYCH KRAJINÁCH ÚMRTNOSŤ NA ÚRAZY MOZGU VO VYBRANÝCH EURÓPSKYCH KRAJINÁCH. V NEMOCNICI A MIMO NEJ Alexandra Bražinová, Veronika Rehorčíková, Mark Taylor VIII. STREDOEURÓPSKY KONGRES URGENTNEJ MEDICÍNY A MEDICÍNY KATASTROF.3-1..17

More information

Kompilátor pre jazyky HSSL a VHDL

Kompilátor pre jazyky HSSL a VHDL Slovenská technická univerzita v Bratislave FAKULTA ELEKTROTECHNIKY A INFORMATIKY Študijný odbor: INFORMATIKA Bc. Štefan NOVÁK Kompilátor pre jazyky HSSL a VHDL Diplomová práca Vedúci diplomovej práce:

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULITMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

Automatizované testování webových aplikací. Gabriel Ečegi

Automatizované testování webových aplikací. Gabriel Ečegi Automatizované testování webových aplikací Gabriel Ečegi Bakalářská práce 2017 ABSTRAKT Témou tejto bakalárskej práce je popis moderného prístupu k testovaniu webových aplikácií. V teoretickej časti

More information

BGP - duálne prepojenie AS. (primary + backup spoj), s IBGP, cez virtuální L2 linky

BGP - duálne prepojenie AS. (primary + backup spoj), s IBGP, cez virtuální L2 linky BGP - duálne prepojenie AS (primary + backup spoj), s IBGP, cez virtuální L2 linky Peter Jašica Abstrakt: Cieľom tohto projektu je zhotoviť a otestovať funkčnosť BGP s dvojitým prepojením Autonómnych systémov.

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

Ochrana proti DDoS za použitia open-source software. Katarína Ďurechová

Ochrana proti DDoS za použitia open-source software. Katarína Ďurechová Ochrana proti DDoS za použitia open-source software Katarína Ďurechová katarina.durechova@nic.cz 30.11.2013 Distributed Denial of Service odopretie služby dosiahnutím limitu pripojenia sieťovej karty CPU

More information

Tvorba plánov DÁVID KOVÁČ

Tvorba plánov DÁVID KOVÁČ Tvorba plánov DÁVID KOVÁČ Slovenská technická univerzita Fakulta informatiky a informačných technológií Ilkovičova 3, 842 16 Bratislava qavidko[zavináč]gmail[.]com Abstrakt. Plánovanie je jednou z najdôležitejších

More information

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

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY Diagramatická konverzia súborov 2014 János Farkas UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFOMATIKY

More information

DOPLNĚK PRO PROHLÍŽEČE PRO DETEKCI A ZP- RACOVÁNÍ AUDIO A VIDEO STREAMŮ BROWSER EXTENSION FOR AUDIO/VIDEO STREAM PROCESSING

DOPLNĚK PRO PROHLÍŽEČE PRO DETEKCI A ZP- RACOVÁNÍ AUDIO A VIDEO STREAMŮ BROWSER EXTENSION FOR AUDIO/VIDEO STREAM PROCESSING VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

}w!"#$%&'()+,-./012345<ya

}w!#$%&'()+,-./012345<ya Masarykova univerzita Fakulta informatiky }w!"#$%&'()+,-./012345

More information

Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky. Interaktívna výuková webová aplikácia na riešenie úloh o pravdepodobnosti

Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky. Interaktívna výuková webová aplikácia na riešenie úloh o pravdepodobnosti Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Interaktívna výuková webová aplikácia na riešenie úloh o pravdepodobnosti Bakalárska práca 2016 Zuzana Majeríková Univerzita

More information

Testovanie bieleho šumu

Testovanie bieleho šumu Beáta Stehlíková FMFI UK Bratislava Opakovanie z prednášky Vygenerujeme dáta Vygenerujeme dáta: N

More information

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

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY PREVÁDZKA PORTÁLU PROJEKTOV VÝUKOVEJ ROBOTIKY CENTROBOT Bakalárska práca 2015 Denis Spišák UNIVERZITA KOMENSKÉHO V BRATISLAVE

More information

Poradové a agregačné window funkcie. ROLLUP a CUBE

Poradové a agregačné window funkcie. ROLLUP a CUBE Poradové a agregačné window funkcie. ROLLUP a CUBE 1) Poradové a agregačné window funkcie 2) Extrémy pomocou DENSE_RANK(), TOP() - Príklady 3) Spriemernené poradia 4) Kumulatívne súčty 5) Group By a Datepart,

More information

BODY PRÍPADOV POUŽITIA ALEBO AKO MERAŤ SOFTVÉR

BODY PRÍPADOV POUŽITIA ALEBO AKO MERAŤ SOFTVÉR BODY PRÍPADOV POUŽITIA ALEBO AKO MERAŤ SOFTVÉR Pre efektívne riadenie celého projektu je potrebné merať jeho veľkosť Ondrej Jurčák Slovenská technická univerzita Fakulta informatiky a informačných technológií

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY POKROČILÝ MERAČ ČASU BAKALÁRSKA PRÁCA.

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY POKROČILÝ MERAČ ČASU BAKALÁRSKA PRÁCA. UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY POKROČILÝ MERAČ ČASU BAKALÁRSKA PRÁCA 2017 Matej Buzáš UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY

More information

PV030 Textual Information Systems

PV030 Textual Information Systems PV030 Textual Information Systems Petr Sojka Faculty of Informatics Masaryk University, Brno Spring 2010 Đ Ý Petr Sojka PV030 Textual Information Systems Osnova(Týden šestý) ü Vyhledávání s předzpracováním

More information

Ekonomický pilier TUR

Ekonomický pilier TUR Názov indikátora: HDP na obyvateľa Zaradenie indikátora v DPSIR štruktúre: Základné informácie: SR Definícia Hrubý domáci produkt vyjadrovaný ako celková peňažná hodnota statkov a služieb vytvorených za

More information

NÁKLADY ŽIVOTNÉHO CYKLU LIFE CYCLE COSTS

NÁKLADY ŽIVOTNÉHO CYKLU LIFE CYCLE COSTS NÁKLADY ŽIVOTNÉHO CYKLU LIFE CYCLE COSTS Jaroslav Lexa Apuen SK Kritériá ekonomicky najvýhodnejšej ponuky Most economically advantageous tender criteria Najlepší pomer ceny a kvality Best price-quality

More information

Knižnica (framework) pre kreslenie grafov

Knižnica (framework) pre kreslenie grafov Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Katedra informatiky Knižnica (framework) pre kreslenie grafov Diplomová práca Bc. Tomáš DRIMAL Študijný odbor: 9.2.1 Informatika

More information

Manažment kvality a testovanie softvéru

Manažment kvality a testovanie softvéru Manažment kvality a testovanie softvéru ĽUBOŠ ZELINKA Slovenská technická univerzita Fakulta informatiky a informačných technológií Ilkovičova 3, 842 16 Bratislava zelinka04[zavináč]student[.]fiit[.]stuba[.]sk

More information

Tvorba webových interaktívnych aplikácií pomocou nástroja Silverlight Interactive web applications using the Silverlight

Tvorba webových interaktívnych aplikácií pomocou nástroja Silverlight Interactive web applications using the Silverlight Bankovní institut vysoká škola Praha Zahraničná vysoká škola Banská Bystrica Katedra kvantitatívnych metód a informatiky Tvorba webových interaktívnych aplikácií pomocou nástroja Silverlight Interactive

More information

DICOM Štandard pre vytváranie, ukladanie, tlač a prenos obrazových informácií v zdravotníctve

DICOM Štandard pre vytváranie, ukladanie, tlač a prenos obrazových informácií v zdravotníctve DICOM Štandard pre vytváranie, ukladanie, tlač a prenos obrazových informácií v zdravotníctve (Angl. DICOM - Digital Imaging and Communications in Medicine) Štandard DICOM je informačný technologický štandard,

More information

BÁZA ZNALOSTÍ A ZRUČNOSTÍ ŠTUDENTOV

BÁZA ZNALOSTÍ A ZRUČNOSTÍ ŠTUDENTOV SLOVENSKÁ TECHNICKÁ UNIVERZITA Fakulta informatiky a informačných technológií BÁZA ZNALOSTÍ A ZRUČNOSTÍ ŠTUDENTOV (Tímový projekt) Dokumentácia k projektu Tím č.10 ČERNÉ OFCE: Bc. Martin Macko Bc. Martin

More information

Úvod do hospodárskej informatiky (prednáška 7) František Babič

Úvod do hospodárskej informatiky (prednáška 7) František Babič Úvod do hospodárskej informatiky (prednáška 7) František Babič 2 Osnova Proces a podnikové procesy Procesná analýza BPMN Procesné riadenie Optimalizácia procesov Reinžiniering 3 Proces (1) Súhrn činností,

More information

E-LEARNING PRE PREDMET AOS

E-LEARNING PRE PREDMET AOS Žilinská univerzita v Žiline Elektrotechnická fakulta Katedra experimentálnej elektrotechniky E-LEARNING PRE PREDMET AOS Lukáš PACULÍK 2008 E-learning pre predmet AOS BAKALÁRSKA PRÁCA LUKÁŠ PACULÍK ŽILINSKÁ

More information

Prvky inovácie nových jazykov HTML5 a CSS3

Prvky inovácie nových jazykov HTML5 a CSS3 Bankovní institut vysoká škola Praha zahraničná vysoká škola Banská Bystrica Katedra kvantitatívnych metód a informatiky Prvky inovácie nových jazykov HTML5 a CSS3 The HTML5 and CSS3 innovations concepts

More information

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

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY WEBOVÁ VÝUKA PROGRAMOVANIA V C++ POMOCOU JEDNOTKOVÉ- HO TESTOVANIA BAKALÁRSKA PRÁCA 2016 Viliam Vakerman UNIVERZITA KOMENSKÉHO

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS IMPLEMENTACE

More information

1. ELASTIX inštalácia 2 2. Elastix konfigurácia Nastavenie užívateľských kont Pridanie nových užívateľských kont 10 2.

1. ELASTIX inštalácia 2 2. Elastix konfigurácia Nastavenie užívateľských kont Pridanie nových užívateľských kont 10 2. 1. ELASTIX inštalácia 2 2. Elastix konfigurácia 8 2.1 Nastavenie užívateľských kont 9 2.2 Pridanie nových užívateľských kont 10 2.3 InstantMessaging and presence 12 2.4 TLS 12 2.5 Conference 12 3. Záver

More information

Tvorba webových stránok pre mobilné platformy

Tvorba webových stránok pre mobilné platformy Bankovní institut vysoká škola Praha zahraničná vysoká škola Banská Bystrica Tvorba webových stránok pre mobilné platformy Diplomová práca Bc. Andrej Ševčík Apríl 2014 Bankovní institut vysoká škola Praha

More information

NIKY a NIKY S. JEDNOFÁZOVÉ UPS od 600 do 3000 VA SVETOVÝ ŠPECIALISTA PRE ELEKTRICKÉ INŠTALÁCIE A DIGITÁLNE SYSTÉMY BUDOV

NIKY a NIKY S. JEDNOFÁZOVÉ UPS od 600 do 3000 VA SVETOVÝ ŠPECIALISTA PRE ELEKTRICKÉ INŠTALÁCIE A DIGITÁLNE SYSTÉMY BUDOV NIKY a NIKY S JEDNOFÁZOVÉ UPS od 600 do 3000 VA SVETOVÝ ŠPECIALISTA PRE ELEKTRICKÉ ŠTALÁCIE A DIGITÁLNE SYSTÉMY BUDOV Ideálna ochrana pre malé kancelárie a domáce kancelárske aplikácie. Tento rad ponúka

More information

Rýchlosť Mbit/s (download/upload) 15 Mbit / 1 Mbit. 50 Mbit / 8 Mbit. 80 Mbit / 10 Mbit. 10 Mbit / 1 Mbit. 12 Mbit / 2 Mbit.

Rýchlosť Mbit/s (download/upload) 15 Mbit / 1 Mbit. 50 Mbit / 8 Mbit. 80 Mbit / 10 Mbit. 10 Mbit / 1 Mbit. 12 Mbit / 2 Mbit. Fiber 5 Mbit ** 5 Mbit / Mbit 5,90 Fiber 50 Mbit * 50 Mbit / 8 Mbit 9,90 Fiber 80 Mbit * 80 Mbit / Mbit 5,90 Mini Mbit* Mbit / Mbit 9,90 Klasik 2 Mbit* 2 Mbit / 2 Mbit Standard 8 Mbit* 8 Mbit / 3Mbit Expert

More information

VIRTUALIZÁCIA DÁTOVÝCH ÚLOŽÍSK. Karol Schütz, S&T Slovakia

VIRTUALIZÁCIA DÁTOVÝCH ÚLOŽÍSK. Karol Schütz, S&T Slovakia VIRTUALIZÁCIA DÁTOVÝCH ÚLOŽÍSK Karol Schütz, S&T Slovakia Agenda Časť Časť Časť Časť Časť Časť Časť 1 Aký je súčasný stav v oblasti ukladania dát 2 Aké sú požiadavky na súčasný storage 3 Aké sú technologické

More information

Informatika 2. Generiká

Informatika 2. Generiká Informatika 2 Generiká Pojmy zavedené v 10. prednáške (1) štandardný vstup a výstup textové súbory binárne súbory objektové prúdy Informatika 2 1 Pojmy zavedené v 10. prednáške (2) objektové prúdy nečitateľné

More information

VŠB Technická univerzita Ostrava. Fakulta elektrotechniky a informatiky. Katedra informatiky

VŠB Technická univerzita Ostrava. Fakulta elektrotechniky a informatiky. Katedra informatiky VŠB Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Absolvování individuální odborné praxe Individual Professional Practice in the Company 2012 Alexander Dračka Prehlasujem,

More information

Katedra počítačov a informatiky Fakulta elektrotechniky a informatiky Technická univerzita Košice. Informačné technológie Branislav Sobota

Katedra počítačov a informatiky Fakulta elektrotechniky a informatiky Technická univerzita Košice. Informačné technológie Branislav Sobota Katedra počítačov a informatiky Fakulta elektrotechniky a informatiky Technická univerzita Košice Informačné technológie Branislav Sobota 2006 Informačné technológie 2 Predslov Predkladané skriptá majú

More information

JEDNOTNÝ SYSTÉM ANALÝZY A RIADENIA RIZÍK RICHARD KURACINA UNIFORM SYSTEM FOR RISK ANALYSIS AND RISK MANAGEMENT

JEDNOTNÝ SYSTÉM ANALÝZY A RIADENIA RIZÍK RICHARD KURACINA UNIFORM SYSTEM FOR RISK ANALYSIS AND RISK MANAGEMENT JEDNOTNÝ SYSTÉM ANALÝZY A RIADENIA RIZÍK RICHARD KURACINA UNIFORM SYSTEM FOR RISK ANALYSIS AND RISK MANAGEMENT ABSTRAKT Dôležitú úlohu pri analýze rizík v dnešnej dobe zohráva výpočtová technika. Neexistuje

More information

systemove programovanie win32 programovanie

systemove programovanie win32 programovanie systemove programovanie win32 programovanie zakladny princip uzivatel interaguje so systemom klavesnicou, mysou tym generuje udalosti, ktore sa radia do,,message queue" (front sprav) aplikacia vytahuje

More information

JAVA. Sieťové programovanie

JAVA. Sieťové programovanie JAVA Sieťové programovanie Sieťové programovanie Sieťová knižnica jazyka JAVA bola vytvorená podľa súborovej knižnice Zapúzdrovanie pripojení do streamov Multithreading Identifikácia počítača Každý počítač

More information

REALIZÁCIA VIRTUÁLNEHO LABORATÓRIA S VYUŽITÍM XPC TARGET-u

REALIZÁCIA VIRTUÁLNEHO LABORATÓRIA S VYUŽITÍM XPC TARGET-u REALIZÁCIA VIRTUÁLNEHO LABORATÓRIA S VYUŽITÍM XPC TARGET-u I. Masár Department of Electrical Engineering Control Systems Engineering Group, University of Hagen Universitätsstr. 27, 580 97 Hagen, Germany

More information

ŽILINSKÁ UNIVERZITA V ŽILINE Elektrotechnická fakulta Katedra telekomunikácií. E-learning vzdelávací kurz Logické systémy.

ŽILINSKÁ UNIVERZITA V ŽILINE Elektrotechnická fakulta Katedra telekomunikácií. E-learning vzdelávací kurz Logické systémy. ŽILINSKÁ UNIVERZITA V ŽILINE Katedra telekomunikácií E-learning vzdelávací kurz Logické systémy Peter Remiš 2008 E-learning vzdelávací kurz Logické systémy BAKALÁRSKA PRÁCA PETER REMIŠ ŽILINSKÁ UNIVERZITA

More information