3 ms·
http://imgur.com/QUGUkxa http://imgur.com/QUGUkxa PAGS: Programming Assignment Grading System. I'm a Msc student and a teaching assitant. Grading programming as
by CSDude 12y ago
http://imgur.com/QUGUkxa http://imgur.com/QUGUkxa PAGS: Programming Assignment Grading System. I'm a Msc student and a teaching assitant. Grading programming assignments of students takes so much time because of preparing files, environments, viewing code, multipe outputs etc. Besides my research, I developed this Docker based web application, where assignments are Dockerfile + run script + required/supplied/output files.
Main motivation: I can grade ~80 student projects in at most 1 hour, even looking at code besides their output. It took almost 2 days before, and repetitive tasks made me lose my mind. It keeps me sane, and saves me tremendous time. http://pags.cs.bilkent.edu.tr http://pags.cs.bilkent.edu.tr
- nickstinemates 12y agoThis is brilliant. We recently showcased another course doing something very similar. Looks like an area someone could create a company :)
- Freeboots 12y agoThis looks pretty polished. The custom pricing plans is cool, maybe you want to set up presets or suggested plans?
- CSDude 12y agoYeah, that would be nice, i.e. Java assignments may need larger RAM
- lalos 12y agoGuessing the use of docker is to mitigate possible harmful student code executing in the server?
- CSDude 12y agoYes, and they can open same ports, same message queues, semaphores concurrently without problem, and makes it easy to define custom build environments. As a bonus, students can replicate my exact environment, so they cannot say "But it works on my machine"
- Pezmc 12y agoReally like the idea, my uni is currently investigating use of domjudge to mark assignments, but couple that with face to face feedback while reviewing the code.
- deleted 12y ago[deleted]
- danpalmer 12y agoIt's a really good idea to have something like this to create a canonical build environment. We've had quite a few issues on my course of "it works on my machine". The only thing I'm wondering about is GUI programs. Currently it looks like those wouldn't be possible, which is unfortunate, because several of the main programming assignments I've had have been Java GUI applications, C++ and OpenGL programs, etc. I wonder how these could be done?
- CSDude 12y agoI have already evaluted this; You can expose VNC through a port, and use NoVNC to play it on browser over websockets. The problem is, it is too slow and would generate a big burden on server. noVNC: https://github.com/kanaka/noVNC https://github.com/kanaka/noVNC