Start work on technical description
This commit is contained in:
parent
4a7061c3db
commit
ddc9a8ea94
2 changed files with 47 additions and 0 deletions
|
@ -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},
|
||||
|
|
29
book.org
29
book.org
|
@ -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]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue