• No results found

CODIANA PŘÍRUČKA PRO UŽIVATELE MODULU

N/A
N/A
Protected

Academic year: 2022

Share "CODIANA PŘÍRUČKA PRO UŽIVATELE MODULU"

Copied!
13
0
0

Loading.... (view fulltext now)

Full text

(1)

PŘÍRUČKA PRO UŽIVATELE MODULU

CODIANA

Bc. Jan Hybš 2014

(2)

OBSAH PŘÍRUČKY

Princip funkce systému CoDiAna Struktura systému CoDiAna

Algoritmické úlohy Hodnocené řešení Příručka pro studenty Příručka pro pedagogy Výsledné stavy pokusů

(3)

PRINCIP FUNKCE SYSTÉMU CODIANA

V systému vystupují dvě role – pedagog a student.

Uživatelé zasílají požadavky na server, který obsahuje systém Moodle (výuková platforma Moodle)

Pedagog specifikuje algoritmické úlohy, na které studenti zasílají své řešení. Systém automatizovaně zpracovává řešení a poskytuje uživatelům výsledky.

Podpora programovacích jazyků, je dána dostupností modulů pro Exekutivní aplikaci.

(4)

STRUKTURA SYSTÉMU CODIANA

systém se skládá ze dvou hlavních částí modul CoDiAna

správa úloh

zobrazení výsledků

exekutivní aplikace Java

zpracování náročnějších nebo potencionálně nebezpečných požadavků

Server pro zpracování úloh

Souborové úložiště Exekutivní

aplikace

Pedagog Student

Server se portálem Moodle

Modul CoDiAna Databázové

úložiště

SSH komunikace SSH komunikace

(5)

ALGORITMICKÉ ÚLOHY

Algoritmické úlohy slouží pro testování dovedností studentů. Každá úloha obsahuje specifikaci, ve které je detailně popsána problematika úlohy. Jsou zde definovány vstupy a výstupy

úlohy a podmínky ukončení programu. Každá úloha má definovány ukázkové vstupy a výstupy, které zobrazují formát vstupních a výstupních dat.

Úloha má přidělen hlavní název, který je použit při odevzdávání řešení.

Na úlohu je možné zasílat řešení pouze tehdy, je-li aktivována pedagogem a je časové přístupná (Každá úloha má definován začátek a konec, v tomto období je úloha tzv.

otevřena). Před začátkem úlohy je možné vidět pouze určité detaily úlohy.

Každá úloha má specifikovány podporované programovací jazyky, které mohou být použity.

Úloha může být limitována maximálním počet uživatelů.

Pro každou úlohu jsou definovány časové a paměťové limity, které musí být splněny. Pokud nejsou splněny, není řešení korektní. Další důležitou podmínkou korektního řešení je správný výstup. Každé řešení musí produkovat korektní výstup, pokud je výstup chybný, řešení je opět klasifikováno jako nesprávné.

(6)

HODNOCENÉ ŘEŠENÍ

Student má možnost v systému odevzdávat řešení algoritmických úloh ve vymezeném období. Úloha může mít definován maximální počet pokusů pro studenta. Po dosažení maxima není možné zaslat další řešení. Je nutné určit tzv. hodnocené řešení. Toto

reprezentativní řešení bude použito při navržení výsledné známky.

Je automaticky zvoleno na základě nastavení úlohy. Jedná se ale vždy o korektní řešení (nebyl překročen časový a paměťový limit a byl vyprodukován správný

výstup). Je zvoleno buď první správné, poslední správné nebo nejlepší správné řešení ze všech zaslaných řešení studenta.

Pokud nelze vybrat hodnocené řešení, je navržené bodové ohodnocení nulové.

(7)

PŘÍRUČKA PRO STUDENTY

Systém CoDiAna obsahuje automatizovaný systém, který zpracovává řešení postupně, strukturou FIFO.

Student má oprávnění k zasílání řešení na algoritmické úlohy a následné prohlížení výsledků. Pedagog specifikuje jaké údaje o běhu řešení může student vidět, vždy jsou ale viditelné základní detaily, například to, zda je řešení korektní.

Student má možnost prohlížet výsledky i ostatních studentů, pokud tuto akci pedagog schválí. Je v kompetenci pedagoga, které údaje budou viditelné.

(8)

PŘÍRUČKA PRO STUDENTY

Pokud zaslané řešení nedodržuje základní pravidla nebude zpracováno. Systém CoDiAna podporuje dva způsoby formátu řešení:

Řešení, které se skládá z jednoho souboru. Tento soubor musí respektovat hlavní název úlohy.

Například v jazyce Java, musí zaslaný soubor obsahovat spustitelnou třídu, jejíž název je shodný s hlavním názvem úlohy. Zaslání jediného souboru by také nemělo mít definováno package, jelikož se jedná o jediný soubor!

Druhý způsob je zaslání ZIP archivu, který obsahuje zdrojové kódy v definované zdrojové struktuře.

Musí obsahovat soubor s hlavním názvem úlohy, tento soubor bude systémem vyhodnocen jako spouštěcí. Archiv musí obsahovat korektní strukturu souborů, relativně ke kořenu archivu. Příkladem může být opět jazyk Java. Pokud úloha nese název Test, musí archiv obsahovat soubor Test.java. V tomto souboru již může být definován package, ale relativně vůči kořenu archivu.

package cz.tul.uloha musí být ve stromové struktuře cz/tul/uloha od začátku archivu.

Je možné stáhnout ukázkové zdrojové kódy, které mohou lépe demonstrovat v jakém formátu mohou řešení být.

(9)

PŘÍRUČKA PRO PEDAGOGY

Pedagog má možnost spravovat algoritmické úlohy, které vytvořil. Dále může vyvolat detekci duplicitních řešení nad úlohou nebo nad určitým pokusem studenta. Může také přidělovat oprávnění k provádění určitých operací dalším uživatelům.

Korektní specifikace úlohy zahrnuje definování problematiky úlohy, ukázky vstupů a výstupů. Další nutností jsou hodnotící hranice paměťové a časové náročnosti. Dále je nutné přiložit referenční vstupní a výstupní soubory. Vstupní soubor úlohy nebude viditelný studenty a obsahuje pouze vstup úlohy. Pokud je dostatečně jednoduchý, může být vygenerován generátorem vstupních souborů systému CoDiAna.

Výstup úlohy musí reagovat na vstupní soubor. Tento soubor je možné vygenerovat systémem, pokud je přiloženo řešení na danou úlohu. Tato operace dále detekuje časovou a paměťovou náročnost úlohy.

(10)

PŘÍRUČKA PRO PEDAGOGY

Řešení je hodnoceno na základě časové a paměťové náročnosti. Jsou ohodnoceny obě veličiny a výsledná známka je průměrem obou veličin. Nutností je korektní výstup řešení. Musí být shodný s referenčním výstupem úlohy. Soubory jsou mezi sebou

porovnávány. Jsou k dispozici tři způsoby porovnání souborů.

Pedagog specifikuje dvě hranice pro každou hodnotící veličinu. V případě časové náročnosti je první veličina čas, do kterého je ohodnocení 100 %. Druhá hranice je čas, po kterém je ohodnocení 0 %. Čas mezi hranicemi je lineárně dopočítán.

Obdobně je určena paměťová náročnost. Hodnoty paměťové náročnosti jsou v kB.

Nahrání referenčního řešení na úlohu odhadne prahy hodnotících časové i paměťové náročnosti.

Pokud jsou splněny všechny náležitosti specifikace úlohy, je nutné ji aktivovat. Po této operaci mohou studenti (pokud je úloha otevřena) zasílat svá řešení.

(11)

PŘÍRUČKA PRO PEDAGOGY

Systém CoDiAna zobrazuje výsledky ve dvou režimech. Jsou zobrazeny pouze hodnocené pokusy studentů nebo všechny (i nevalidní) pokusy studentů.

Vždy jsou zobrazeny výsledky kontroly podobnosti řešení. Pokud je nějaké řešení je označeno jako plagiát, je nutná manuální kontrola obou řešení. V opačném případě by mohlo dojít k falešně pozitivnímu klasifikování plagiátorství.

Systém CoDiAna využívá prostředky systému Moodle a umožňuje přidělení známky studentům v měřítku od 0 do 100. Hodnocení studentů je zjednodušeno, je vždy

navržena známka na základě hodnoceného řešení studenta. Pokud není k dispozici je navržená známka 0. Známkování je možné provádět dávkově.

Na hlavní stránce úlohy jsou vyobrazeny grafy, které ilustrují různé výsledky úlohy.

Jedná se o paměťovou a časovou náročnost a ukončení programů.

(12)

PŘÍRUČKA PRO PEDAGOGY

Ve specifikaci je možné definovat metody pro výběr hodnoceného řešení (první, poslední nebo nejlepší správné řešení).

Je možné vybrat způsob porovnání výstupních souborů při zpracování řešení. Každý způsob ignoruje prázdné znaky na konci souborů. Jsou celkem tři způsoby

porovnávání:

striktní – Soubory musí být shodné znak po znaku.

tolerantní – Soubory musí být shodné řádek po řádku. Prázdné řádky jsou ignorovány.

vágní – Soubory jsou rozloženy na řetězcové tokeny, které jsou dále porovnány. Prázdné tokeny jsou ignorovány. Je tedy porovnán pouze neprázdný obsah souborů.

(13)

VÝSLEDNÉ STAVY POKUSŮ

COMPILATION_ERROR

chyba při kompilaci, nelze zkompilovat

COMPILATION_TIMEOUT

kompilace nebyla dokončena ve specifikovaném čase

EXECUTION_ERROR

chyba při běhu procesu, která způsobila ukončení nestandardním ukončovacím kódem, nelze řešení spustit

EXECUTION_TIMEOUT

proces musel být násilně ukončen, nedokončil svou činnost v globální časovém limitu (jednotky minut).

OUTPUT_ERROR

řešení vygenerovalo chybný výstup

TIME_ERROR

řešení nedodrželo časový limit úlohy

MEMORY_ERROR

řešení nedodrželo paměťový limit úlohy

MEASUREMENT_OK

měření proběhlo v pořádku

WAITING_TO_PROCESS

řešení čeká na zpracování

PROCESS_ABORTED

zpracování bylo přerušení

OTHER_ERROR

další nespecifikovaná chyba

References

Related documents

a) příliš velký obvod oproti skutečnému obvodu hrudníku psa ( až 29%) - to způsobuje, že pes při pohybu nemá přesně umístěné průramky, tlapy mu pak prolézají z

Další možností je přidělení autorizace pro spouštění konkrétních transakcí, k čemuž jsem přihlédl při návrhu systému oprávnění pro proces inventarizace

Nákladní plošina umístěná v hlavním výstavním prostoru je provedena podobně jako plošina pro hendikepované osoby - splývá v době, kdy není používána, s podlahou..

V rámci měření při zátěži 100 W došlo překryvu o velikosti 6° mezi koncem šlapání pravé a začátkem levé dolní

Manipulátorem s obaly pro variantní řešení F jsou dva válečkové dopravníky na sebe kolmé (obr. Při jeho následném konstrukčním řešení, nebude využito gravitační

Tento druh skenerů vyţaduje přímý kontakt se skenovaným objektem. Tyto skenery se vyznačují nízkou cenou a v případě souřadnicových měřících přístrojů

Vznikne tak poslední volný prostor v návaznosti na centrální část Smíchova, lemovaný na východní straně Nádražní ulicí, souvislou a nově doplněnou zástavbou na

Radnice byla navržena s ohledem jednak na starou zástavbu, tak na plánované přestavby celé jižní části Smíchova v rámci projektu Nový Smíchov City a je dimenzována