Skip to main content
Version: Sprint 1

Project Roadmap

Sprint 1 — Project Setup and Foundation​

Deadline: 25 August 2026

Goals

  1. Project Infrastructure

    • Set up repositories, Git workflow, CI/CD, and documentation site.
    • Select and document the full tech stack.
  2. Core Data Model

    • Design and implement the Turing Machine data structure (states, transitions, alphabets, start/accept states, tape).
    • Design a database schema for storing machines and users.
  3. Dual Editor Foundation

    • Implement a visual editor using a diagramming library (e.g., React Flow, Mermaid, or D3).
    • Implement a code editor (e.g., Monaco Editor or CodeMirror) for instructions.
    • Keep both editors synced
  4. Basic Machine Operations

    • Create and save machines.
    • Support start state, accepting states, and transitions via both UI and code.
    • Implement tape alphabet and input alphabet management.
  5. Computation Visualisation (Basic)

    • For a given input, visualise the tape, head position, and current state.
    • Allow step-by-step or run-to-completion modes.
  6. Export Functionality

    • Export state diagram as an image.
  7. User Authentication

    • Implement third party sign in.

Sprint 2 — Core Feature Development​

Deadline: 15 September 2026

Goals

  1. Test Case System

    • Allow students to define test cases with input and expected output.
    • Run machines against test suites and display pass/fail results.
    • Store test cases alongside machines for reuse.
  2. Interactive Debugger

    • Implement pause and step-through functionality for computations.
    • Show detailed configuration at each step (state, tape, head position).
    • Display transition history and execution trace.
  3. Performance Analytics

    • Plot time and space complexity for each test case.
    • Visualise resource usage across different input sizes.
    • Provide comparative analysis between test runs.
  4. Multi-Variant Turing Machine Support

    • Support multi-tape Turing Machines with visualisation for each tape.
    • Support multi-step (stay/left/right) transition capabilities.
    • Ensure all existing features (editor, visualisation, testing) work for each variant.
  5. Machine Sharing

    • Implement sharing functionality with unique shareable links.
    • Allow users to view and fork shared machines.
    • Preserve machine metadata (author, creation date, description).

Sprint 3 — Advanced Feature Development and Refinement​

Deadline: 29 September 2026

Goals

  1. Collaborative Real-Time Editing

    • Enable multiple users to edit the same Turing Machine simultaneously.
    • Implement real-time synchronisation with conflict resolution.
    • Show presence indicators for active collaborators.
  2. Nondeterministic Turing Machines

    • Support nondeterministic transitions (multiple possible moves from a configuration).
    • Build computation tree visualisation showing all possible execution paths.
    • Allow users to explore and traverse different branches.
  3. Computation Tree Visualisation

    • Display branching execution paths as an interactive tree.
    • Highlight active branch and visited nodes.
    • Provide controls for navigating between branches.
  4. System Refinement

    • Improve reliability, usability, and performance across all features.
    • Conduct comprehensive user testing and incorporate feedback.
    • Complete all documentation and prepare for final submission.
  5. Puzzles

    • Ability to play daily puzzles.
    • will be ranked against other users based on how many attemts it took you to solve them

Finalisation and Submission​

Submission: 11 October 2026

Final Outcome
A complete, deployed, tested, documented, and functional project ready for submission.


Timeline​

MilestoneDeadlinePrimary Focus
Sprint 125 August 2026Setup, design, architecture, foundations
Sprint 215 September 2026Core features, API, integration, testing
Sprint 329 September 2026Completion, user testing, refinement
Final Submission11 October 2026Final testing, deployment, documentation

Development Progression​

Sprint 1
↓
Project foundation + design
↓
Sprint 2
↓
Core functionality + testing
↓
Sprint 3
↓
Feature completion + refinement
↓
Finalisation
↓
Testing + deployment + submission

This repository makes use of AI code generation using the following tools: ChatGPT-web[5.6]​