infoAbout

Learn about Varphi's journey.

The Story Behind Varphi

My name is Hassan El-Sheikhaarrow-up-right, and I am a Computer Science student at the University of Toronto. The story of Varphi begins not in a lab, but in a classroom during my time in CSC363: Computational Complexity and Computability.

The Spark: A Gap in the Theory

Like many computer science students, I was fascinated by the theory of computation. However, I quickly ran into a frustration shared by many of my classmates: Turing machines lacked a true "standard" representation.

In the classroom, we alternated between drawing diagrams, writing pseudocode, or using verbose mathematical definitions to communicate our ideas. As noted in my research, these conventional representations (i.e., diagrams and transition tables) can often overwhelm students and obscure the fundamental computational ideas at play. The formal definitions were often fragile, and different textbooks utilized different symbols, which was sometimes confusing.

I wanted to make a change in this domain.

The Collaboration

My interest in the field deepened when my professor, Dr. Mohammad Mahmoudarrow-up-right, invited a cohort of students to join a reading course. The goal was to assist in developing a computability theory textbook and research advanced complexity classes. I had the honor of being part of this cohort.

While working on the textbook, the frustration regarding inconsistent Turing machine definitions lingered. I pitched an idea to Dr. Mahmoud: a project to create a new standard language for representing Turing machines and finite automata; one that was readable, writable, and executable. He loved the idea and agreed to supervise the project.

From Prototype to Publication

Over the course of four months, I developed the syntax and the language architecture. In January 2025, we launched Varphi v1.0.0.

This initial version was minimalist by design. It focused on describing standard unary Turing machines with a single two-way infinite tape. While this made the language Turing-complete, it was admittedly tedious for writing complex algorithms. However, its simplicity was its strength for educational purposes.

To validate the project, we integrated Varphi into the CSC363 curriculum. The results were exciting:

  • Widespread Adoption: We tested the tool in classroom trials involving 184 participants.

  • Student Success: Despite being given deliberately challenging tasks, 88% of students successfully completed them using Varphi.

  • Positive Reception: Students rated the tool highly (averaging 4.28 out of 5), noting that it helped simplify the representation of these abstract machines.

This work culminated in the publication of our paper, "Varphi: A Description Language for Turing Machines" , which I presentedarrow-up-right at the Western Canada Conference on Computing Education (WCCCE 2025) in Calgary.

Read the full WCCCE 2025 Paper Herearrow-up-right

Dr. Mohammad Mahmoud (left) and Hassan El-Sheikha (right) at WCCCE 2025

The Future of Varphi

Today, Varphi has evolved far beyond its prototype roots. While v1.0.0 was restricted to unary, single-tape machines, the current version supports multi-tape, deterministic and non-deterministic machines with arbitrary alphabets, as well as finite automata.

My vision is for Varphi to become the academic standard for representing and sharing these machines, bridging the gap between abstract theory and practical implementation for students and researchers alike.

Last updated

Was this helpful?