Skip to content

Commit 6ffa747

Browse files
committed
Updated the README to provide a comprehensive explanation of the tool. The new README now includes:
A clear overview of what the tool does Detailed key features section Step-by-step instructions for running locally File format requirements with example A detailed "Using the Tool" section that explains how to use each feature Technical details about edge counting, node ranking, and color coding The documentation now covers: What the tool is for How to set it up How to use it What the visualizations mean Technical implementation details
1 parent 7cd3727 commit 6ffa747

1 file changed

Lines changed: 74 additions & 5 deletions

File tree

README.md

Lines changed: 74 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,44 @@
11
# Path Analysis Tool
22

3-
React + TypeScript + Vite + SWC (with Rust compiler)
3+
A visualization tool for analyzing student learning paths in educational software. Built with React + TypeScript + Vite + SWC (with Rust compiler).
44

55
[Live URL](https://path-analysis.vercel.app/)
66

7+
## Overview
8+
9+
This tool visualizes student learning paths through educational content, showing:
10+
- The sequence of steps students take
11+
- How many students follow each path
12+
- Success/failure rates at each step
13+
- Common patterns in student progression
14+
15+
### Key Features
16+
17+
1. **Path Visualization**
18+
- Interactive directed graph showing student progression
19+
- Edge thickness indicates number of unique students following each path
20+
- Color coding for success (green) and failure (red) rates
21+
- Node ranking based on step sequence
22+
23+
2. **Filtering Options**
24+
- Filter by student progress status (GRADUATED, PROMOTED, NOT_COMPLETED)
25+
- Toggle self-loops (transitions back to the same step)
26+
- Adjust minimum student threshold for edge visibility
27+
- View top 5 most common student paths
28+
29+
3. **Interactive Elements**
30+
- Hover over edges to see detailed statistics
31+
- Click nodes to see student counts and error rates
32+
- Export graph as high-quality PNG
33+
- Responsive design that works on different screen sizes
34+
735
## How to Run Locally
36+
837
1. Make sure you have `Node.js` installed. You can download it from https://nodejs.org/en/download/
9-
1. This uses `bun` to run, build, and deploy. You will need to have the `bun` command installed. You can install it by running ```npm install -g @bun/cli```. Docs: https://bun.sh/
10-
2. Run ```bun install``` to download the necessary dependencies.
11-
3. You will need a local .env file with secret variables. Reach out to Ethan for these.
12-
4. Run ```bun run dev``` to start the development server.
38+
2. This uses `bun` to run, build, and deploy. You will need to have the `bun` command installed. You can install it by running ```npm install -g @bun/cli```. Docs: https://bun.sh/
39+
3. Run ```bun install``` to download the necessary dependencies.
40+
4. You will need a local .env file with secret variables. Reach out to Ethan for these.
41+
5. Run ```bun run dev``` to start the development server.
1342

1443
## File Format Requirements
1544

@@ -33,6 +62,46 @@ Time,Step Name,Outcome,CF (Workspace Progress Status),Problem Name,Anon Student
3362
2024-01-01 10:01:00,Step 2,ERROR,NOT_COMPLETED,Problem 1,student123
3463
```
3564

65+
## Using the Tool
66+
67+
1. **Upload Data**
68+
- Click the upload button to select your data file
69+
- The file should be in CSV or TSV format with the required fields
70+
71+
2. **View the Graph**
72+
- The main graph shows all student paths
73+
- Edge thickness represents the number of unique students following each path
74+
- Colors indicate success (green) or failure (red) rates
75+
- Hover over edges to see detailed statistics
76+
77+
3. **Filter and Adjust**
78+
- Use the filter dropdown to view paths for specific student progress statuses
79+
- Toggle self-loops on/off to include/exclude transitions back to the same step
80+
- Adjust the minimum student threshold to show only paths followed by a certain number of students
81+
- The threshold can be set as a percentage of total students or as an absolute number
82+
83+
4. **Analyze Patterns**
84+
- View the top 5 most common student paths
85+
- Click on nodes to see detailed statistics about student progression
86+
- Export the graph as a PNG for sharing or documentation
87+
88+
## Technical Details
89+
90+
### Edge Counting
91+
- Edges are counted based on unique students rather than total transitions
92+
- If a student makes the same transition multiple times, it's counted only once
93+
- Edge thickness is normalized relative to the most common path
94+
95+
### Node Ranking
96+
- Nodes are ranked based on their position in the step sequence
97+
- This helps visualize the natural progression through the content
98+
99+
### Color Coding
100+
- Green: Successful transitions (OK outcome)
101+
- Red: Failed transitions (ERROR outcome)
102+
- Blue: Hint-related transitions (INITIAL_HINT, HINT_LEVEL_CHANGE)
103+
- Yellow: Just-in-time feedback (JIT, FREEBIE_JIT)
104+
36105
## Expanding the ESLint configuration
37106

38107
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:

0 commit comments

Comments
 (0)