String Conundrum
Project Showcase

String Conundrum

A Visual, Misconception-Targeted, and isiXhosa-Localised Tutor for Learning Python Strings

By: Hlomla Kuhlane , Luvuyo Matomela

Supervised by: Aslam Safla , Zola Mahlaza

Categories: CS Honours


About

Abstract

Novice programmers often struggle to develop accurate mental models of Python strings, while existing tools provide limited support for string-specific misconceptions. String Conundrum is a web-based tutoring system developed through a misconception-driven design approach. A catalogue of string misconceptions, derived from literature, curriculum, and tutoring experience, was used to guide the system’s visualisation, feedback, and practice mechanisms. The system provides interactive visualisation, misconception-linked feedback, procedurally generated practice, and isiXhosa localisation of instructional content, feedback, and error messages. It also allows Python programs to be displayed using isiXhosa keywords through a deterministic transpiler while preserving program behaviour and converting localised code to standard Python for execution and grading. Evaluation combined correctness testing, expert review, peer developer evaluation, user acceptance testing, and three target-user evaluation cycles (n=11, 11, 13). Mean System Usability Scale scores ranged from 79.2 to 82.5, while applied knowledge results showed successful immediate application of several Python string concepts. 

Videos 1

Watch presentations, demos, and related content

Documents 1

Downloadable resources and documentation

Click "View Full" to open documents in a new window

Gallery 1

Explore the visual story of this exhibit