dodona-edu / judge-assembly

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Assembly judge for Dodona

Recommended exercise directory structure

More info about repository directory structure

+-- README.md                           # Optional: Describes the repository
+-- dirconfig.json                      # Shared config for all exercises in subdirs
+-- đź“‚public                            # Optional: Contains files that belong to the course or series
|   +-- my_picture.png                  # Optional: An image to reuse throughout the course
+-- đź“‚exercises                         # We could group exercises in a folder
|   +-- đź“‚first_html_exercise           # Folder name for the exercise
|   |   +-- config.json                 # â–¶ Configuration of the exercise
|   |   +-- 📂evaluation                # -- 🔽️ ADD YOUR FILES HERE 🔽 --
|   |   |   +-- plan.json               # A JSON file describing what tests to run
|   |   +-- đź“‚solution                  # Optional: This will be visible in Dodona for teaching staff
|   |   |   +-- solution.s              # Optional: The model solution file
|   |   +-- đź“‚description               #
|   |       +-- description.nl.md       # â–¶ The description in Dutch
|   |       +-- description.en.md       # Optional: The description in English
|   |       +-- đź“‚media                 # Optional folder
|   |       |   +-- some_image.png      # Optional: An image used in the description and/or exercise
|   |       +-- đź“‚boilerplate           # Optional folder
|   |           +-- boilerplate         # Optional: loaded automatically in submission text area
|   :
:

Recommended dirconfig.json

More info about exercise directory structure

{
  "type": "exercise",
  "programming_language": "assembly",
  "access": "public",
  "evaluation": {
    "time_limit": 10,
    "memory_limit": 50000000
  },
  "labels": [
    "assembly",
    "calling convention",
    "loops"
  ],
  "author": "Firstname Lastname <firstname_lastname@ugent.be>",
  "contact": "firstname_lastname@ugent.be"
}

Sample exercises

See https://github.com/nielsdos/dodona-assembly-exercises/tree/main/exercises/narayana-x86-32-at%26t for a full sample exercise setup.

Acknowledgements

This judge was based on the work of four students of Ghent University for the cross-course project (vakoverschrijdend project ingenieurswetenschappen computerwetenschappen, 2022-2023):

  • Gilles De Praetere
  • Wout De Saegher
  • Joris PockelĂ©
  • Stijn Verbeken

Based on the HTML judge (https://github.com/dodona-edu/judge-html) made by:

  • S. De Clercq
  • Q. Vervynck
  • T. Ramlot
  • B. Willems

About

License:GNU Affero General Public License v3.0


Languages

Language:Python 75.7%Language:Mako 23.7%Language:Shell 0.6%