"The separation of computer science from mathematics greatly impoverishes both."
Three central ideas drove the creation of CodeByMath:
In today's machine-driven society, students must learn to use computers for more than consuming digital media. Whether in science, engineering, business, or the arts, genuine progress requires programming—and that programming is inherently rooted in the logic and structure of mathematics.
Modern operating systems and complex development environments (IDEs, compilers, terminals) overwhelm beginners. We grew up programming the first home computers, like the TRS-80: turn it on, type a command, and get instant feedback.
Type circle(0,0,5) and see a circle drawn on the screen instantly. Add line(0,80,0,-30) and you're already coding a stick figure.
Programming often feels abstract without an authentic problem to solve, while math can feel dry without an active sandbox. At CodeByMath, coding provides a hands-on playground to discover π, test Pythagorean triples, explore acoustic beats, or verify trigonometry identities.
Our curriculum spans pre-algebra through calculus, physics, and computer science. Every lesson is interactive, self-paced, and executed 100% in-browser using WebAssembly:
CodeByMath is built on open standards, blending high-performance client-side WebAssembly with modern web graphics and audio APIs:
Chosen for its minimal punctuation, clean syntax, and mathematical clarity. Perfect for beginners transitioning to algorithmic thinking.
Executes student Lua code directly in the browser via dedicated Web Workers with a 4-second watchdog timer against infinite loops.
Powers our 3D Rubik's Cube visualization, orbital camera controls, animated turn sequences, and interactive 3D geometry models.
Synthesizes pure tones, Fourier harmonics, and acoustic beats in real time, with Matter.js simulating 2D rigid-body collision physics.
In-browser code editor with line numbering, dynamic font resizing, bracket matching, and Lua syntax highlighting.
Client-side Prolog interpreter allowing students to explore declarative logic programming directly in the sandbox.
Powers symbolic algebra verification and crisp mathematical formula typesetting across all lesson tutorials.
Lightweight CodeIgniter backend handling secure bcrypt user authentication, learning group rosters, and gradebook exports.
Have an idea for a math lesson? Found a bug? Using CodeByMath in your school or homeschool curriculum? Let us know! Please email Tom Bensky directly at tbensky@gmail.com.