Zadáno

Diplomová práce č. 1 - pro 2000/2001

Zadání pro studijní obor: Softwarové inženýrství

Pracovní název: Vyhodnocování zkušebních programů v Javě

Motivace: Ve školním roce 2000/2001 začnu učit v předmětu KIV/OOP programovací jazyk Java. Organizace předmětu bude podobná organizaci na KIV/PC, ovšem plánuji zavést zkoušení tak, že studenti budou psát program v Javě na počítačích. To naráží na několik problémů, z nichž tři jsou klíčové:

  1. Jak zamezit podvádění, které je u počítačů připojených na síť mimořádně jednoduché.
  2. Jak zajistit, aby student, který nepochopí jednu část, mohl úspěšně naprogramovat ostatní části.
  3. Jak vyhodnotit výsledky v co nejkratší době po uplynutí zkoušky.

Řešení:

  1. Tento problém budou řešit odborníci z CIV-LPS a diplomant s nimi bude jen spolupracovat.
  2. Zkoušející připraví program, který bude zadání kompletně řešit a studentům poskytne soubory .class
    Úkolem zkoušeného tedy bude za samém začátku pouze napsat main() a v něm vyvolat již hotové třídy. Kdo toto nezvládne, neuspěl u zkoušky.
    Pak bude zkoušený psát postupně své třídy a jimi nahrazovat poskytnuté třídy.
  3. Po uplynutí zadaného časového úseku se soubory .javaautomaticky stáhnou a pro každého studenta se aplikace automaticky přeloží a zjistí se, kolik procent kódu napsal a podle toho dostane známku. Toto vyhodnocení je klíčovou částí diplomové práce a je nutné provést řadu rozvah, jak bude vypadat.

Zadání:

  1. Navrhnout prostředky pro zajištění co největší úrovně bezpečnosti - jak technické, tak i organizační.
  2. Navrhnout organizační zajištění celé akce, např. zkoušení nebudou vystupovat pod svým jménem, ale pod pseudonymem ZK01 až ZK20 atd.
  3. Vyřešit problém jmen tříd v Javě - třídy od zkoušejícího budou v jiném balíku, než od zkoušeného.
  4. Vyřešit problém automatického stahování výsledných zdrojových souborů.
  5. Připravit program testující výsledky.
  6. Po dohodě s vedoucím DP navrhnout a implementovat způsob ohodnocení výsledků. Tento způsob musí být snadno modifikovatelný a transparentní.
  7. Připravit WWW stránky pro budoucí zkoušené.

Cílový operační systém: Win NT

Jazyk: Java

Charakter práce: Ryze praktická s předpokládaným velmi častým využíváním.

Vhodné pro: Studenta, který je schopen dotáhnout věci do fungující podoby. Je požadováno samostatné jednání a schopnost spolupráce s jinými odborníky.


Zadáno

Diplomová práce č. 2 - pro 2000/2001

Zadání pro studijní obor: Softwarové inženýrství

Pracovní název: Jádro simulačního systému J-Sim

Motivace: Na KIV byl vyvinut a ve výuce i vědě je používán systém C-Sim. Tento systém má své výhody (především rychlost a stabilitu), ale má své slabiny, zejména co se týče uživatelského prostředí a možnosti vizualizace získaných dat. Z tohoto důvodu bylo rozhodnuto začít přípravné práce na projektu J-Sim, jehož konečným cílem je vytvoření podobného prostředku v programovacím jazyce Java. Jako první fáze projektu (a současně téma této DP) je příprava jádra J-Sim. Přepínání procesů, což byl v C-Sim klíčový problém, je v Javě vyřešeno na úrovni jazyka pomocí vláken. Vlákna v Javě si však předávají řízení nedeterministicky s malou možností ovlivnění pořadí běhu jednotlivých vláken, což je pro simulační výpočty klíčová nevýhoda.

Řešení: Pořadí běhu jednotlivých vláken lze ovlivnit změnou priority vláken, což je opět vlastnost jazyka Java. Je třeba detailně na řadě příkladů prozkoumat tyto a případné jakékoliv jiné možnosti a navrhnout z uživatelského hlediska jednoduchý způsob uživatelem řízeného přepínání běhu vláken (narozdíl od JVM řízeného přepínání). Pro celou práci se budou používat výhradně třídy z Java Core API, čímž se zajistí maximální stupeň přenositelnosti.

Zadání:

  1. Detailně prozkoumat všechny možnosti vláken a zejména metod, které jsou pro ně poskytovány v Java Core API, včetně skupin vláken.
  2. Ověřit, zda je možné on-line změnou priority vláken ovlivnit jejich spuštění a to jak na OS s časovými kvanty (time-sliced - Linux, WinNT), tak i na OS bez časových kvant (Win98). Případně navrhnout a vyzkoušet libovolný jiný způsob, jak zařídit, aby se vlákna přepínala deterministicky.
  3. Navrhnout a implementovat nové třídy pro jádro J-Sim, které budou vycházet z filozofie C-Sim.
  4. Vše se bude programovat pouze v rámci konzolových vstupů a výstupů.
  5. Všechny pokusy (i neúspěšné) zdokumentovat na WWW.

Cílový operační systém: nezávisí na OS, předváděno bude na Win NT

Jazyk: Java

Charakter práce: Objevitelská (průzkumnická) s předpokládaným následným rozvojem. Z tohoto důvodu je nutné vést detailní dokumentaci.

Vhodné pro: Studenta, který je schopen provádět pokusy, které nemusí vést k cíli. Vhodné pro pečlivého a zvídavého "experimentátora", který je schopný pracovat samostatně (týmová spolupráce se nepředpokládá).


Zadáno

Diplomová práce č. 3 - pro 2000/2001

Zadání pro studijní obor: Informační a finanční management

Pracovní název: Statistické funkce v projektu EVA


Poslední změna (Last update): 28. 4. 2000
Počet přístupů od (Number of accesses since:) 29. 3. 2000:

Pavel Herout