Please enable JS
O práci
Vedúci :

Ing. František Gyarfaš, CSc.

Fakulta:

Fakulta matematiky, fyziky a informatiky

Typ záverečnej práce:

bakalárska

Katedra:

FMFI.KAI - Katedra aplikovanej informatiky

Jazyk záverečnej práce:

slovenský

Študijný odbor:

9.2.9. aplikovaná informatika

img
Anotácia
Cieľom bakalárskej práce je vytvoriť interaktívne webové prostredie pre výuku programovania v rôznych programovacích jazykoch formou testmi riadeného programovania (TDD). Aplikácia umožní vytvárať úlohy, ktoré budú študenti riešiť vo webovom prehliadači pomocou cyklu: nesplnený test, program, refaktorizácia. Študenti budú postupne pridávať v cykle jednotkové testy a programový kód, pokiaľ nenaprogramujú celé zadanie. Kód testov aj programov sa bude ukladať na serveri a spúšťať vo virtuálnom prostredí. Aplikácia bude vedieť spracovať programy vo viacerých programovacích jazykoch. Bude obsahovať webové vývojové prostredie pre písanie programového kódu vo vybranom jazyku a na serveri zbiehanie a hodnotenie odovzdaných riešení. Bude obsahovať nástroje na administráciu študentov. Technológie/nástroje: PHP (framework), MySQL, HTML 5, CSS, JavaScript (jQuery, Bootstrap), kompilátory vybraných jazykov, knižnice pre unit testing a virtuálny server.

Časový plán

Výber témy
SEPTEMBER 2017

Webová stránka,zdroje

Vytvorenie tejto webovej stránky, kde budem pravidelne pridávať informácie o postupe tvorby zadanej práce. Prvotná analýza zdrojov a ich zjednotenie.
2017OCTOBER 20

Technická špecifikácia

Vytvorenie popisu, ktorý obsahuje bližšie špecifikovanie častí štruktúry práce.Vytvorenie popisu softvéru, kde budú opísané entity, vzťahy medzi nimi a jednotlivé procesy.Návrh technológií.

2012DEC 31

Super rýchly prototyp

Softvér, ktorý bude schopný plniť základné požiadavky zadania a prejde celý cyklus ktorý bude aj vo finalnom softvéri.

2017NOV 12

Dátový model

Návrh datového modelu, databázového systému a jeho prvotne zápracovanie

2017NOV 18

FrontEnd

Grafický návrh klientskej časti a prvotná implementácia FrontEnd funkcií.

2017NOV 20

Pisomná časť

Pripraviť si kľúćové frázy pre kapitoly a podkapitoly v práci o ktorých budem písať prvú časť.

2017DEC 5

Serverová časť

Spracovanie testov na serveri. Vytvorenie sandboxu vo vyrtuálnom serveri ,kde sa budú testy púštať. Spracovanie prvého programovacieho jazyka kde sa budú dať testovať vstupy od uživateľov.

2017DEC 30

Rozšírený prototyp

Funkčný prototyp, ktorý bude odporezentovatelný. Zároveň napísať východiská bakalárskej práce (10 strán)

2018JAN 20

Serverová časť 2

Dopracovanie databázovej časti. Spracovanie administrácie, uživatelov, uživatelských kónt, spracovanie tvorby testov a zadaní.

2014FEB 20

Ďalsie programovacie jazyky

Vybranie a doplnenie ďalších programovacích jazykov ktoré bude aplikácia podporovať.

2014MAR 5

Zadania

Vytvoriť ukážkové zadania, na ktorých sa bude dať vyskúšať úplná funkcionalita.

2014MAR 20

Dapracovanie FRONTEND

Ucelenie a dopracovanie použivatelského rozhrania, responzivita, UX.

2014APR 20

Testovanie, ladenie

Testovanie aplikácie a ladenie chýb..

2018MAJ 10
Odovzdávanie práce

Východiskové odborné práce

TDD:

Hamill, P. (2004). Unit test frameworks. Sebastopol, CA: O'Reilly.
Langr, J.,Swaine, M. (2013). Modern C programming with test-driven development: Code better, sleep better. Dallas, TX: The Pragmatic Bookshelf.
Beck, K. (2002). Test Driven Development: By Example. Addison-Wesley Professional.

Unit testy:

Hamill, P. (2004). Unit test frameworks. Sebastopol, CA: O'Reilly.
Fields,J (2014)Working Effectively with Unit Tests.Amazon Digital Services LLC
Govindaraj ,S (2015).Test-Driven Python Development

Refaktorizácia

Fowler, M. (2004). Refactoring Improving the Design of Existing Code.Grada
Robert C. Martin(2008). Clean Code: A Handbook of Agile Software Craftsmanship.

Virtualizácia (sandbox):

Robinson,T (2017). Building Virtual Machine Labs: A Hands-On Guide
Kusnetzky,D (2014)Virtualization: A Manager's Guide: Big Picture of the Who, What, and Where of Virtualization

Staršie bakalárske práce

Daniel Krajč : Testovanie správnosti programového kódu v C++ pomocou unit testing frameworkov, bakalárska práca, FMFI UK Bratislava, 2016
Ján Šilar: Testovanie kódu v C++ pri metodológii Test Driven Development, bakalárska práca, FMFI UK Bratislava, 2014
Viliam Vakerman: Webová výuka programovania v C++ pomocou jednotkového,bakalárska práca, FMFI UK Bratislava, 2017

Manualy, tutorialy..

Php,Laravel

Created by Eduonix Learning Solutions, Eduonix-Tech : Learn to Build Web Apps using Laravel Framework dostupné online na https://www.udemy.com/learn-to-build-web-apps-using-laravel-framework/
Dokumentácia Laravel https://laravel.com/docs/5.5

Javascript (Ajax,Jquery):

Eduonix Learning Solutions, Eduonix-Tech: Learn to Build Web Apps using Laravel Framework, Udemy, Inc. 2017, dostupné online: www.udemy.com/learn-to-build-web-apps-using-laravel-framework/
Jquery dokumentacia : https://api.jquery.com/