Skip to content

eldarhasanov079/pl-interactive-graph-v2

Repository files navigation

An Interactive Tool for Randomized Autogradable Graph Assessments

Overview

This project introduces an interactive graph-based assessment tool designed for PrairieLearn. It allows students to dynamically interact with graph models by clicking on nodes and edges to simulate different algorithms. The tool supports a range of graph-based problems, from basic traversals (BFS, DFS) to advanced algorithms (Dijkstra’s, Kruskal’s, Hypercube processing).

📢 Presented at SIGCSE 2025 Technical Symposium in Pittsburgh, PA.
📄 Publication: An Interactive Tool for Randomized Autogradable Graph Assessments

Features

  • 🎯 Interactive Graph Manipulation – Click nodes/edges to simulate different algorithms.
  • 🔄 Randomized Graph Generation – Provides unique problem instances per student.
  • 📊 Autogradable Submissions – Automatically evaluates student responses.
  • 💡 Usable in Multiple CS Courses – Supports introductory to advanced graph algorithms.

Installation & Usage

Requirements

  • Python (>=3.8)
  • NetworkX, PyGraphviz, LXML, NumPy
  • PrairieLearn (for integration into an assessment platform)
  • Docker

Install Docker (if not already installed)

Follow the instructions from the official Docker documentation:

Follow the official PrairieLearn local installation guide:


Running the Project with Docker

To launch PrairieLearn and the interactive graph tool using Docker:

1. Clone this repository

git clone https://github.com/eldarhasanov079/pl-interactive-graph-v2/

2. Pull the PrairieLearn Docker image

docker pull --platform linux/x86_64 prairielearn/prairielearn

3. Run the PrairieLearn container

docker pull --platform linux/x86_64 prairielearn/prairielearn

3. Access PrairieLearn locally

Wait for http://localhost:3000 to appear and click on it.

4. Load From Disk

Click "Load From Disk" in the top right corner and wait for it to run.

5. You are all set!

Try some of the example questions. Try changing their XML, or create your own questions (more information in the elements/pl-interactive-graph folder's README.md)

About

This is an open-source repository for the "An Interactive Tool for Randomized Autogradable Graph Assessments" poster at SIGCSE 2025 TS. This repository contains a PrairieLearn version of the tool.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors