Git Product home page Git Product logo

inginious-c-tutor's Introduction

INGInious-C-Tutor

This is the code of the tool used to build extended feedbacks on the students submissions for the INGInious platform developed at UCL. The tool was developed in the context of my Master Thesis. It was originally forked from the Github opt-cpp-backend project of pgbovine.

This project is intended to be used inside the INGInious platform. A sample run file is provided in order to show how to use the tool with INGInious tasks. This run file is similar to those described in the INGInious documentation. A Dockerfile is also provided to build the required Docker image to use the tool in the platform. See the INGInious documentation to know how to create a task and use the new image.

The tool could also be used outside INGInious with any C program. However, the feedback pages are located on a web-server only reachable from the INGI department of UCL. That is a temporary solution.

The graphs can be generated using the generate_feedback.sh script, passing the source file in argument. But still, to be able to build the feedback pages, it is required to be a member of the INGI department to have access to the web server.

To install to modified Valgrind, run the install_modified_valgrind.sh script.

In the linked_lists directory, there are all the required files (including the previously mentioned run file) to build an INGInious exercise using the tool. However, the private key needed to access the web server has been omitted for security issues. The same structure can be used to build other exercises. Unit tests can be written to check the submissions correctness, then the improved feedback can be built as described in the run file and returned in feedback messages displayed to students wether they have succeeded or not.

Dependencies

  • Python 2
  • pyGraphViz
  • GraphViz

Demo

A small demo video showing the tool being used in with INGInious can be found here :

INGInious-C-Tutor Demonstration

inginious-c-tutor's People

Contributors

zorga avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.