Hebbian is a platform that modernises how Computer Science is taught by allowing students to learn and practice programming directly in the browser. Co-founders Cameron Weibel and Herman Galioulline created the platform while studying at the International School in Zurich, where they believed the current way of learning was outdated. They wanted to create a way of making learning programming more engaging for the next generation.
Hebbian’s idea is of an online platform that ditches the traditional textbook and enables students to code directly in the browser, with no barriers to entry, and no need to install complex development tools before being able to start.
The vision for the Hebbian platform includes a variety of languages and courses, with an initial focus on Java and gaming.
What the project entailed
One challenge Hebbian needed to overcome was that students were having to waste time on setup and installation, due to the requirement to have a working Java development environment on their machine, creating barriers to entry, and detracting time needed to focus on learning.
The initial approach followed by Hebbian was the standard REPL approach of sending the code written by each student to a server, where it would be compiled and run, with the resulting output being sent back.
This approach suffers from potential security risks, but most importantly does not scale easily with a large number of concurrent users.
By taking advantage of Leaning Technologies’ CheerpJ Java to WebAssembly compiler, Hebbian developed a new solution that processes, compiles and runs the student code all within the browser.
The CheerpJ integration allows both development tools and compiled applications to run browser-side. Development tools for Java, written in Java or C/C++, are compiled to WebAssembly and executed browser-side each time a new code sample is run. The output Java bytecode is then also executed browser-side thanks to the CheerpJ runtime environment.
The Result
CheerpJ has enabled Hebbian to provide a coding platform to Students that can compile and run Java code instantaneously, safely and with no client-side setup.
This not only improves engagement with the platform but also allows students to learn from their mistakes and progress more quickly.
It has given Hebbian the opportunity to scale its platform from being able to support 100s of users to millions, with no concern about server-side resources, cluster scalability and complex orchestration solutions.
“CheerpJ has enabled us to provide our students best-in-class Java exercises that run almost instantaneously, natively on their own devices. Previously our students had to wait around five seconds per run. Now, exercises run over 50x faster on average and work even if their WiFi is disconnected! From an infrastructure perspective, we no longer rely on servers to process the students’ computations, which translates to much better scalability and cost savings. Typically more performant means more costly, but with CheerpJ it’s a win on both fronts.”
– Cameron Weibel, Founder, Hebbian