You're voting for

CP3108

CP3108 Source Academy Improvements

Projects
CP3108-01

Source Academy Game Update: The Era of Explorers ----- Skip Button and Mode Integration

Sometimes, you don't 𝓻𝓮𝓪𝓵𝓵𝔂 want to hear Scottie or Hartin Menz talk for the next 5 minutes about something you already know. Maybe you're bored of the old navigation system from your room to the Dormitory Hallway. Well, with our new features, you now have something to look forward to in life (as a cadet in Source Academy)! With our new feature, the skip button, you can skip through all that annoying dialogue you don't want to listen to, and instead pay attention to the 𝓸𝓷𝓮 𝓪𝓷𝓭 𝓸𝓷𝓵𝔂 𝓟𝓲𝔁𝓮𝓵. Additionally, we have integrated the Move, Talk and Explore modes for seemless interactions. No more clicking "Move" and choosing where to move, just move to where you want to be.

CP3108-02

Student View & Sinter

This project focused on introducing a “Student View” to bridge administrative and student perspectives. It also enhanced the Sinter system by improving usability and expanding functionality.

CP3108-03

CSE Environment Diagrams

Stop the visual confusion. CSE Machine is not the same after this project! Our team re-engineered the CSE Machine to handle complex environment diagrams with zero-overlap layouts and intelligent arrow routing. Featuring real-time 'Liveness' tracking and automated garbage collection visuals, we’ve transformed a cluttered UI into a high-performance educational tool that helps thousands of students visualize code execution like never before

CP3108-06

Stream Visualization

A stream is a powerful concept but often serves as a "black box" for students. This gets especially confusing when functions such as stream_map and stream_filter layer on top one another. This project is thus designed to pull back the curtain, providing a real-time, visual representation of how streams are constructed.

CP3108-07

Stepper

We have added two new functionalities to the stepper, namely recursive hoverover and breakpoints. This aims to improve the visualization of recurive functions and improve the debugging experience.

CP3108-8

#8

Conductor Migration

CP3108-09

Versioning and History

This project implements a versioning and history system for Source Academy's coding assignments, similar to that of Google Docs. Currently there is no versioning feature, and the database only keeps a record of the latest submitted version of a student's code. This new feature allows students to review with a diff view, restore, and edit previous versions of their code.

CP3108-10

AI-based Grading

Integrating Artificial Intelligence into the grading process is a powerful way to save time, but it often introduces new challenges: the loss of a tutor's personal touch and a lack of administrative cost control. AI tools can easily become an expensive "black box" if left unchecked. This project is designed to bridge that gap, bringing the power of Large Language Models (LLMs) to the grading table while ensuring absolute transparency, tutor oversight, and financial accountability.

CP3108-11

Chatbots for Source Academy

Motivated by the challenges faced by ourselves and many past students of CS1101S, we observed that general-purpose LLMs are often prone to hallucination, particularly when dealing with unfamiliar or specialized topics such as the SICP textbook, the Source language, and course-specific content. To address this gap, we developed Louis and Pixel.

CP3108-12

Adding Python to Source Academy

Support migration of CS1101S to the world's most popular language

CP3108-13

Scheme in Source Academy

This project focuses on the development and integration of a Scheme programming language implementation within the Source Academy ecosystem. Currently, Scheme support in Source Academy is tightly coupled with the JavaScript-based runtime (js-slang), which limits modularity and extensibility. This project aims to decouple the existing Scheme implementation (scm-slang) from js-slang and transform it into an independent, conductor-compatible runtime. In addition to integration, the project also explores execution models (such as the CSE machine), improving both the robustness and educational value of Scheme in Source Academy.

CP3108-14

Pielot: a better Pie for Source Academy

This project addresses those limitations by developing a visual proof editor that allows users to construct and explore proofs interactively on a graphical canvas. Proof obligations are displayed as nodes in a tree, where each node shows the current goal type to be proven and the local context of available variables and assumptions. Users can apply tactics (such as introducing variables, performing induction, or citing previously proven theorems) by connecting nodes on the canvas, and the proof tree updates in real time to reflect the new subgoals. When a tactic fails, the editor provides structured error feedback inline, such as highlighting the expected type versus the actual type provided, rather than displaying a raw error string.

CP3108-15

Source Academy Power Tools

Enhancing Tree Visualisation in Source Academy through an Object-Oriented Data Visualizer