Start work on technical description

This commit is contained in:
Charlotte Van Petegem 2023-11-23 17:46:15 +01:00
parent 4a7061c3db
commit ddc9a8ea94
No known key found for this signature in database
GPG key ID: 019E764B7184435A
2 changed files with 47 additions and 0 deletions

View file

@ -3121,6 +3121,15 @@
file = {/home/charlotte/sync/Zotero/storage/WBTY5M4I/Strijbol et al. - 2023 - TESTed—An educational testing framework with langu.pdf;/home/charlotte/sync/Zotero/storage/KD2266YV/S2352711023001000.html}
}
@article{strijbolTESTedOneJudge2020,
title = {{TESTed: one judge to rule them all}},
author = {Strijbol, Niko and Dawyndt, Peter and Mesuere, Bart},
year = {2020},
publisher = {{2020.}},
url = {http://lib.ugent.be/catalog/rug01:002836313},
langid = {und}
}
@inproceedings{suCodeRelativesDetecting2016,
title = {Code Relatives: Detecting Similarly Behaving Software},
shorttitle = {Code Relatives},
@ -3237,6 +3246,15 @@
file = {/home/charlotte/sync/Zotero/storage/ADNTANNI/Ureel II and Wallace - 2019 - Automated Critique of Early Programming Antipatter.pdf}
}
@article{vanpetegemComputationeleBenaderingenVoor2018,
title = {{Computationele benaderingen voor deductie van de computationele complexiteit van computerprogramma's}},
author = {Van Petegem, Charlotte and Dawyndt, Peter},
year = {2018},
publisher = {{2018.}},
url = {http://lib.ugent.be/catalog/rug01:002479652},
langid = {und}
}
@article{vanpetegemDodonaLearnCode2023,
title = {Dodona: {{Learn}} to Code with a Virtual Co-Teacher That Supports Active Learning},
shorttitle = {Dodona},

View file

@ -729,12 +729,26 @@ Given that cohort sizes are large enough, historical data from a single course e
:CUSTOM_ID: chap:technical
:END:
Dodona and its related software comprises a lot of code.
This chapter discusses the technical background of Dodona itself and a stand-alone online code editor that was integrated into Dodona.
I will also discuss two judges that I was involved with the development of.
The R judge was written entirely by myself.
The TESTed judge came forth out of a prototype I built in my master's thesis\nbsp{}[cite:@vanpetegemComputationeleBenaderingenVoor2018] and was further developed in a master's thesis I supervised\nbsp{}[cite:@strijbolTESTedOneJudge2020].
** Dodona
:PROPERTIES:
:CREATED: [2023-10-23 Mon 08:49]
:CUSTOM_ID: sec:techdodona
:END:
Dodona is developed as a modern web application.
In this section we will go over the inner workings of Dodona (both implementation and deployment) and how it adheres to modern standards of software development.
*** Implementation
:PROPERTIES:
:CREATED: [2023-11-23 Thu 17:12]
:END:
For proper virtualization we use Docker containers\nbsp{}[cite:@pevelerComparingJailedSandboxes2019] that use OS-level containerization technologies and define runtime environments in which all data and executable software (e.g., scripts, compilers, interpreters, linters, database systems) are provided and executed.
These resources are typically pre-installed in the image of the container.
Prior to launching the actual assessment, the container is extended with the submission, the judge and the resources included in the assessment configuration (Figure\nbsp{}[[fig:technicaloutline]]).
@ -777,6 +791,21 @@ The web server is the only public-facing part of Dodona, running a Ruby on Rails
Dodona needs to operate in a challenging environment where students simultaneously submit untrusted code to be executed on its servers ("remote code execution by design") and expect automatically generated feedback, ideally within a few seconds.
Many design decisions are therefore aimed at maintaining and improving the reliability and security of its systems.
*** Deployment
:PROPERTIES:
:CREATED: [2023-11-23 Thu 17:13]
:END:
*** Development
:PROPERTIES:
:CREATED: [2023-11-23 Thu 17:13]
:END:
** Papyros
:PROPERTIES:
:CREATED: [2023-11-23 Thu 17:29]
:END:
** Judges
:PROPERTIES:
:CREATED: [2023-10-23 Mon 08:49]