CodeGra.de is a blended learning application designed especially for programming education. It makes grading and handing in programming exercises more insightful and effective for students and more efficient for teachers. Where programming exercises are currently reviewed in a classical and counter-intuitive way, resulting in only little and vague feedback, CodeGra.de creates the missing intuitive environment for reviewing programming exercises.
This is achieved using some of the key-features CodeGra.de provides:
- Line by line feedback making it possible to specifically write feedback for a specific part of the code.
- Rubrics per assignment to aid with grading.
- CodeGra.de Filesystem enabling both students and teachers to access and hand in files on the CodeGra.de system locally without any overhead.
- CodeGra.de editor plugins allowing the teacher to locally review programming assignments and fill in rubrics using the editor of choice.
A local installation of CodeGra.de can be created using the running instructions on in the CodeGra.de documentation. CodeGra.de can be run in both development mode and production mode, both are explained in the documentation.
The CodeGra.de filesystem (or CodeGra.fs) can be used to mount a local CodeGra.de instance on your computer to browse the assignments and files on the server. The filesystem can be used for students to locally work on the CodeGra.de mount and thus automatically hand in the assignment with each save. For teachers the filesystem can be used to grade work without any overhead locally using a preferred editor.
More information on installing and using the CodeGra.de filesystem can be found on https://github.com/CodeGra-de/CodeGra.fs.
Accompanying the CodeGra.de filesystem are the editor plugins. These plugins allow for easy and intuitive grading of work locally in your favourite editor. By using the combination of the filesystem and an editor plugin, overhead during grading can be reduced to a bare minimum and all focus can be on the actual grading of the work.
As of writing, there are editor plugins for the following editors:
- Vue.js - A front-end JavaScript UI framework used to create CodeGra.de's front-end.
- Flask - A python back-end WSGI framework used to create CodeGra.de's back-end.
- PostgreSQL - The database used for CodeGra.de.
- Celery - Celery is used to provide a non blocking background queue.
By contributing to this product you agree that all code you write will be released under the AGPL license, version 3. See LICENSE
for details.
Please conduct CONTRIBUTING.md
for further details on contributing to CodeGra.de.
CodeGra.de is currently maintained and actively developed by Devin Hillenius, Olmo Kramer, Thomas Schaper and Youri Voet.
Please feel free to contact us at [email protected] for more information or commercial support.
CodeGra.de originated as project in the Project Software Engineering course at the University of Amsterdam. The project emerged from our own frustrations as both students and teaching assistants in computer science at the UvA. As students we lacked meaningful feedback to give us insight in our grade for programming assignments. And as teaching assistants the amount of overhead required to actually grade programming assignments in the traditional way, in addition to the lack of providing useful feedback in a counter-intuitive environment made the work very frustrating at times. This still drives us to create a product that can revolutionise programming education to this date.
The initial version of CodeGra.de was created for a course at the University of Amsterdam and was developed by Leon Bartelsman, Ewoud Bouman, Harm van Eekeren, Wicher Heldring, Devin Hillenius, Niek Kabel, Erik Kooistra, Olmo Kramer, Sebastian Melzer, Thomas Schaper, Bram Snijders and Youri Voet.
Furthermore, we want to thank the University of Amsterdam for their support of this project during it's first year of development.
The full documentation of CodeGra.de can be found on our website: https://docs.codegra.de/.
CodeGra.de is licensed under the GNU Affero General Public License v3.0.