You're voting for

CP3108

Source Academy

Projects
CP3108-01

AI-powered marking

We designed an LLM-powered tool to automate the grading of student code submissions for Source Academy, reducing the workload of Teaching Assistants (Avengers) and improving efficiency.

CP3108-02

Stepper rewrite

We revamped the stepper tool for the Source Programming Language into an interactive debugging tool that leverages lambda calculus concepts such as µ-terms to improve recursion visualization. The new stepper also features intuitive AST exploration, offering a deeper grasp of the substitution model.

CP3108-03

Java CSEC Machine

The Java CSEC Machine implements the CSE notional machine for the Java language with an additional component, in an effort to tame the breadth and complexity of the language's features and provide a familiar visualisation to potential new learners.

CP3108-04

Sessions

Improve your SourceAcademy playground experience by working on your Source code together with your friends, seniors, or even your professor!

CP3108-05

C compiler

Ever wanted to write C code but didn't want to go through the process of downloading a compiler and setting it all up? We have you covered! CTOWASM is a C Compiler adhered to the C17 standard. It can compile and run your C code all in the browser. Your favourite modules used in Source Academy such as pix_n_flix and sound can be imported and used in this C Compiler as well.

CP3108-06

CSE machine

Students can find the environment model of evaluation confusing and difficult to understand. Hence, the CSE Machine is developed to help demonstrate a concrete implementation of the model, and provide a visualisation tool to assist students in learning the new concept.

CP3108-07

Notebooks

This project aims to create a Notebook functionality similar to Jupyter Notebooks for students and lecturers. This involves resolving the issues that the current ‘Stories’ has, such as errors with the data visualiser, stepper and CSE machine tools.

CP3108-08

Activity Tracker and User Profile

For staff to gain more insights about how the various tools and resources on Source Academy are used, we have implemented the Activity Tracker which monitors the time that cadets spend. In addition, we have also implemented the User Profile which allows cadets to customise and showcase their achievements, taking the gamification aspect to the next level.

CP3108-09

Leaderboard

Gamification of CS1101S through Leaderboard Rankings

CP3108-10

LSP implementations for VS Code

CS1101S uses the Source Academy platform to facilitate learning for hundreds of students every year. The Source Academy platform uses the Ace editor for basic syntax highlighting and auto completion, but modern developer tools offer far more than that. This project implements the Language Server Protocol (LSP) for Source, a custom language used for the module, to offer students a better developer experience. This allows students to use any editor of their choice that has support for LSP servers, like NeoVim or VSCode, to write programs for the module, allowing students to leverage editor features that they are already used to.

CP3108-11

Programming components in Source Academy Game

Integrating a programming-based maze navigation minigame with the Source Academy game

CP3108-12

SICP JS Internationalization

The LLM-Powered Internationalization

CP3108-13

PIXEL: Mastery Check AI Bot for CS1101S

PIXEL simulates real-life interactions by transforming students into active teachers, compelling cadets to clearly explain programming concepts. By fostering a culture of teaching and learning, it builds confidence, reinforces understanding, and identifies areas for improvement through personalized feedback, ensuring that every cadet fully grasps the essential topics required for success.

CP3108-14

#14

Scheme edition of SICP

CP3108-15

FFT for Sound Processing

This project adds Fast Fourier Transform (FFT) and sound processing tools to Source Academy.

CP3108-16

Exam Mode for Source Academy

We attempt to improve Source Academy's ability to ensure the integrity of students' answers during a practical examination.

CP3108-17

brwne

Merge conflicts kill projects, we make sure they never happen again

CP3108-18

Dependent Type in Source Academy

Tired of Array-Out-Of-Bounds exceptions at runtime? Want your sorting algorithm to be Correct Without Run Tests? Wish your program could be Proven to meet its spec and run bug-free for a MILLION years? Why is logic and proof (CS1231S) a core CS module when it seems so unrelated to programming? Learn a dependently typed language! And Pie is one of the easiest to start with, now available on SourceAcademy. Paired with "The Little Typer", students can explore the future of programming through interactive learning—and be exposed to a broader field of computer science.