Sam Wong
← Publications

UIST · 2024 · Pittsburgh, PA, USA

VizGroup

Helping instructors keep track of dozens of peer-discussion groups at once, with an LLM that suggests what's worth watching.

VizGroup: An AI-assisted Event-driven System for Real-time Collaborative Programming Learning Analytics

Xiaohang Tang, Sam Wong, Kevin Pu, Xi Chen, Yalong Yang, Yan Chen

PDFACM DL
Figure 1VizGroup visualizes student performance and collaboration on a live 2D scatter plot, and proactively suggests alerts and trackers so instructors can step in at the right moment.
TL;DR

In a 100+ student programming lecture, an instructor can't watch 37 discussion groups at once. VizGroup combines a zoomable live scatter plot of groups and students with LLM-suggested alerts and trackers. In a study with 12 instructors, they found struggling students faster and more accurately, and the suggestions led them to monitor patterns they wouldn't have thought to look for.

Read the paper's abstract

Programming instructors often conduct collaborative learning activities, like Peer Instruction, to foster a deeper understanding in students and enhance their engagement with learning. These activities, however, may not always yield productive outcomes due to the diversity of student mental models and their ineffective collaboration. In this work, we introduce VizGroup, an AI-assisted system that enables programming instructors to easily oversee students' real-time collaborative learning behaviors during large programming courses. VizGroup leverages Large Language Models (LLMs) to recommend event specifications for instructors so that they can simultaneously track and receive alerts about key correlation patterns between various collaboration metrics and ongoing coding tasks. We evaluated VizGroup with 12 instructors in a comparison study using a dataset collected from a Peer Instruction activity that was …

Key contributions

01

What instructors need during live group work

From interviews and a technology-probe study, we found that instructors need to track several collaboration-and-code patterns at once, notice when patterns emerge over time, and see how group interaction relates to a group's success.

02

Context-aware suggestions for what to monitor

A new approach that turns user interactions and real-time changes in class data into suggested trackers and alerts, so people who aren't visual-analytics experts can set up useful monitoring quickly.

03

VizGroup, an AI-assisted monitoring system

A three-level view of the class (group, structure, individual) plus a notification system whose alerts and trackers are proposed by an LLM pipeline that reads each group's code submissions and chat history.

§ I

The problem

In Peer InstructionAn in-class strategy where students first answer a question on their own, then discuss it with peers, revise, and resubmit., students write code on their own, discuss it in small groups, revise, and resubmit. It reduces failure rates and improves exam performance, but only when the discussions are productive. In one large astronomy course, 37.7% of peer discussions were unproductive, and instructors often don't find out until it's too late.

In a large programming lecture, the instructor faces dozens of groups producing code submissions, test results and chat messages at the same time. Existing tools fall short in one of two ways:

  • Learning-analytics dashboards (e.g. VizProg, Codeopticon) show individual students' code in real time but ignore collaboration.
  • Collaboration-analytics tools (e.g. Groupnamics, Pair-Up) show group dynamics, but only with fixed, predefined metrics. They can't show how discussion relates to progress on the coding task.

So the question is how to help an instructor notice which groups need help, and why, without getting buried in data.

§ II

Formative study

We first interviewed 4 experienced instructors of large programming courses, then built a technology probeA simple, functional system deployed to learn about users' needs in context, rather than to test a finished design. to test those ideas.

Figure 2The technology probe. GPT-4 tags each chat message and summarizes each group's conversation topic; a scatter plot shows each group's activity level against its unit-test pass rate.

The probe ran unit tests on every code submission and used GPT-4 for two jobs: summarizing each group's conversation topic, and tagging every chat message with one of six categories drawn from social interdependence theoryA theory holding that effective collaboration involves 'promotive interaction': members actively encouraging and facilitating each other's progress toward shared goals.: help-giving, help-seeking, exchanging information, joint reflection, mutual encouragement, or off-topic.

Go deeperHow the activity score is computed

Each on-task message (categories 1–5) adds 1.0 to a student's activity score, and each off-task message adds 0.3. A group's score is the average of its members' scores. On the scatter plot, each group is a dot: x = unit-test pass rate, y = activity level.

8 instructors then compared the probe against a baseline without the discussion features, using a replay of a real lecture: 111 students in 37 groups.

0.99Recall finding students in group discussionsvs. 0.74 baseline · p < 0.01
0.88Accuracy tracking group-dynamics trendsvs. 0.67 baseline · p < 0.05
4×Detailed issues identified2.0 vs. 0.5 per participant · p < 0.01

With the baseline, participants described issues vaguely ("Syntax Error"). With the probe they could connect code to conversation ("returning not an int or wrong int from calculation"). Completion time didn't differ.

The probe also exposed a new problem: instructors had to keep every pattern in their heads.

Sometimes I forget some of the students' performance before that I can't tell if the pass rate was increased.

— P6, formative study

Which patterns mattered also depended on timing. A quiet group is fine while everyone is coding, but it becomes a problem once everyone else has submitted. This led to three design goals:

  1. Navigate across granularity. Move smoothly between class, group and individual views.
  2. Monitor without constant attention. Track patterns in real time so instructors don't have to.
  3. Guide attention in context. Interrupt only when it matters, based on what both instructors and students need right now.
§ III

How VizGroup works

Figure 3VizGroup's interface: (1) the scatter plot, (2) suggested and (3) active notifications, (4) class performance per unit test, (5) detail table of topics or errors, (6) group information, (7) LLM summary and chat history, (8) playback controls.

VizGroup tracks five attributes during a session. Pass rate, activity level and code issues are tracked for individual students. Pass rate, activity level, conversation topic and team structure are tracked for groups. All panels are linked, so selecting data in one updates the others.

Three levels of the same class

Instructors zoom between three views of the class:

Each triangle is a group, placed by its average pass rate (x) and average activity (y). This view is for a quick read of the whole class: which groups are behind, and whether they're talking.

Figure 4Zooming moves between Group, Structure and Individual views. (1) Brushing an area selects several points; (2) clicking one shows its history trace; (3–6) the Structure view's topic axis, moving glyphs, participation arrows and flashing updates.
Go deeperHow conversation topics are found

Each group's conversation is embedded with an LLM (text-embedding-3-large), and the embeddings are clustered with K-means++. Each cluster gets a short summary. New summaries are compared against existing ones and merged when they match, so the topic list stays short and stable as the session goes on. Arrow thickness in the Structure view is min(A × 0.25, 2) + 1, where A is the student's activity level.

Trackers and alerts

To meet the second design goal (monitoring without constant attention), instructors can turn any pattern into a notification:

  • A tracker charts an attribute over time, such as code issues, conversation topics or how many members are participating, as either a bar chart or a timeline.
  • An alert fires when students or groups meet criteria the instructor sets. Alerts come in two kinds:
Figure 8A temporal alert reports any data point that stays in the highlighted region for more than 2 minutes.

Every data point that matches the criteria gets its own "alarm clock." If a group stays stuck, say talking about syntax errors with a pass rate under 41% for more than 2 minutes, the instructor is notified about that group.

The AI suggests what to watch

Writing good alert criteria in the middle of a lecture is hard, which is where the third design goal comes in. VizGroup suggests notifications in two ways:

  • From the instructor's interactions. Clicking a group, brushing a region or expanding a topic produces a suggested alert prefilled with those values, which the instructor can then edit.
  • From the class's history. An LLM pipeline reviews every group's submissions and chat logs and proposes alerts for the problems it judges most urgent.
Figure 11The suggestion pipeline: identify each group's issues, rank them by severity, summarize and categorize the top five, then compute alert and tracker criteria from them.
Go deeperThe four-step suggestion pipeline
  1. Identify issues. For each group, the LLM reviews its submission history, conversation log, pass rate, activity, topic and participation, and names the specific problem, e.g. "no conversation despite submission attempts."
  2. Rank by severity. A list-wise rankingThe LLM ranks the whole list of candidates in one pass, rather than scoring each one separately or comparing them in pairs. This balances cost and quality. puts issues that need a TA above ones students can resolve themselves.
  3. Summarize the top 5. The LLM summarizes what the five most severe groups have in common, and which attributes (pass rate, topic, relevance, participation) are involved.
  4. Generate criteria. VizGroup computes the alert criteria from those groups: the set of values for categorical attributes, and the minimum and maximum for numeric ones.

The prompts use few-shot examples and AI chains; the full prompts are in the paper's appendix.

§ IV

Evaluation

12 instructors with programming-teaching experience watched a live replay of the same 111-student peer-instruction session. Each used two of three versions: a baseline (interactive visualization only), VizGroup without suggestions, and the full VizGroup. They answered two quiz questions and did an open-ended monitoring task:

  • Q1: find students who haven't passed and only sent off-topic messages.
  • Q2: find groups with a specific difficulty, and track the ones stuck for two minutes.

Instructors were faster and more accurate

Recall

Baseline0.73
VizGroup0.96**

Precision

Baseline0.72
VizGroup0.98**

Time (seconds)

Baseline348
VizGroup224*

* p < 0.05 · ** p < 0.01. Shorter is better for time.

On Q2, most VizGroup users set an alert and moved on to look at other groups, while most baseline users had to keep watching the target groups themselves.

It is not that hard for me to monitor a group of students, but it would be impossible if there are multiple groups to track.

— P4

Suggestions changed what instructors looked for

In the open-ended task, participants received about 18 suggestions each. Of the 13 kinds of notification suggested, 11 were accepted by at least one participant.

+26%More notifications created5.67 vs. 4.50 · not significant
+35%More diverse criteria4.50 vs. 3.33 types · not significant
91%Of notifications came from suggestions5.17 of 5.67; only 0.5 created by hand

The suggestions also pulled instructors beyond their usual strategy. P3 began by saying "I care about the pass rate, not the type of code issues". They then accepted a suggested Code Issue alert because the students it flagged "made sense," and went on to create more Code Issue alerts themselves. Without suggestions, participants such as P5 tended to make several near-identical notifications.

Participants reported lower mental demand with suggestions (median 2.0 vs. 3.5 on the NASA-TLX scale) and lower time pressure (1.0 vs. 2.0, not significant).

Workload (NASA-TLX)

Mental demand

No suggestions
1212
VizGroup
1311

Temporal demand

No suggestions
231
VizGroup
42

Performance

No suggestions
321
VizGroup
24

Effort

No suggestions
141
VizGroup
2112

Frustration

No suggestions
321
VizGroup
3111
Show data table
QuestionCondition1234567
Mental demandNo suggestions1–21–2–
VizGroup131–1––
Temporal demandNo suggestions23––1––
VizGroup42–––––
PerformanceNo suggestions32–1–––
VizGroup24–––––
EffortNo suggestions1–4–1––
VizGroup211–2––
FrustrationNo suggestions32––1––
VizGroup3111–––

Ease of use and usefulness

Ease of use

No suggestions
1311
VizGroup
114

Usefulness

No suggestions
42
VizGroup
42

Figure 12, redrawn. Counts of the 6 participants per condition are estimated from the paper's chart; hover or focus a segment for its count.

Show data table
QuestionCondition1234567
Ease of useNo suggestions––1–311
VizGroup––1–14–
UsefulnessNo suggestions–––––42
VizGroup–––––42

Instructors also saw the alerts as a way to prepare before stepping in:

The topics filter can help professors/TAs prepare beforehand to help students instead of just going up to them and asking what they're struggling on.

— P6
§ V

Limitations

  • A simulated classroom. The study used real student data, but participants watched a replay rather than teaching live, so there was less pressure and distraction, and no real students to help.
  • One session. All data came from a single peer-instruction session in one large course, which may not generalize to other courses or smaller classes.
  • Five attributes. Notifications are limited to pass rate, activity, code issues, topic and team structure.
  • LLM trust and scale. The suggestions raise questions of stability, transparency and trust, and very long chat or submission histories can exceed the model's context window.
§ VI

Takeaways

Large classes don't have to mean less support for each group. VizGroup shows that an AI can do more than summarize: it can propose what to watch. Instructors stayed in control of every alert, but the suggestions widened what they paid attention to and reduced how much they had to remember. More broadly, this points to a model of human-AI collaboration in real-time analytics where the AI suggests and the person decides.

§ VII

Cite this paper

@inproceedings{tang2024vizgroup,
  author    = {Tang, Xiaohang and Wong, Sam and Pu, Kevin and Chen, Xi and Yang, Yalong and Chen, Yan},
  title     = {VizGroup: An AI-Assisted Event-Driven System for Real-Time Collaborative Programming Learning Analytics},
  booktitle = {Proceedings of the 37th Annual ACM Symposium on User Interface Software and Technology},
  series    = {UIST '24},
  year      = {2024},
  location  = {Pittsburgh, PA, USA},
  publisher = {Association for Computing Machinery},
  doi       = {10.1145/3654777.3676347}
}