Learning management system Bachelor thesis

Download thesis

Anotacia:

LMS (z anglickeho Learning Management System) umoznuju okrem ineho spravu materialov pouzivanych pri vyuke, ako aj elektronicke zadavanie a vyhodnocovanie (automaticke, ci manuale) uloh. Vacsina existujucich systemov je zamerana vseobecne a neobsahuju specializovane nastroje na pracu s programovacimi ulohami. Rovnako aj existujuce systemy, zamerane specialne na odovzdavanie a hodnotenie uloh z programovania, casto neumoznuju pohodlne hodnotenie a komentovanie rieseni vo forme aku umoznuju napriklad nastroje na code review vyuzivane pri vyvoji software. GitHub je nastroj na spravu zdrojovych kodov a zaroven na kolaborativny vyvoj vo forme code reviews, automatickeho testovania atd. Jeho vyuziteie pri vyuke programovania ma dvojaky uzitok: umoznuje kvalitnejsie a jednoduhsie hodnotenie a komentovanie odovzdanych rieseni a zaroven dava studentom moznost naucit sa pracovat s nastrojom, ktory budu potrebovat neskor v praci.

Ciel:

Vytvorit system na spravu ucebnych materialov a programovacich zadani, vyuzivajuci platformu GitHub, zalozeny na existujucich postupoch a skriptoch pouzivanych pri predmetoch na Katedre aplikovanej informatiky. System by mal umoznit spravu pouzivatelov (studentom), ich repozitarov a pull requestov (pomocou ktorych odovzdavaju riesenia), ako aj umooznit lahku integraciu automatickych testov.

Skolitel:

RNDr. Jozef Šiška

Progress:

- 1 week: Create student repositories and store student as objects
- 2 week: Added support for pushing new branches
- 3 week: Better error handling and reporting
- 4 week: Report creating functionality, can checkout on PR
- 5 week: Location checking, more error handling and cleaning up codebase
- 6 week: Add test module, add comment querying functionality
- 7 week: Add cli parser and expose functionality
- 8 week: Add review functionality
- 9 week: Create overview website for students and teacher
- 10 week: Writing text side of bachelor thesis
- 11 week: Improving teacher website

Work plan

  • November
    • Looking over old codebase
    • Writing every functionality of previous version
    • Learning git
    • Collection of resources
    • Starting work on backend client
  • December
    • Coding backend
    • Preparing "frontend" functionality
  • January
    • Vychodiska
    • Preparing prototype for showcase
    • Coding backend
    • Coding website for students
    • Finishing frontend
    • Writing Overview
  • February
    • Making functionality more modular
    • Adding miscellaneous functions
    • Adding exporting/importing functionality
    • Writing thesis
  • March
    • Fixing bugs
    • Writing thesis