Kelvin Soh

MathEducationCode

Hi there! I'm Kelvin from Singapore. I teach Mathematics, mainly at the high school (JC) level, and have been doing so for 10+ very fruitful years.

I started dabbling into coding the last 5+ years and this side hobby has now morphed into my main passion. With the potential to reach and impact many more people, I am excited to dive deeper into this area in the future.

In particular, I am most excited to explore and work on high quality digitalization of educational content . This is too often an afterthought (think students accessing pdf notes on their phones). The future should be more like our favorite web apps with responsive design that scale depending on whether we are on a phone, desktop or in physical lessons.

Main Projects

The following are some of my projects that showcase my ideas.

Math Repo

Math Repo contains solutions to past national exams, with easier navigation (both topical and yearly) between questions.

The solutions are generated programmatically in JavaScript. This allows for

  • A better content workflow (no more working out answers on paper and then typing those out afterwards)
  • Easier rectification of errors and typos using source control
  • Modification of said questions (as implemented in Math Pro)

Math Pro

Math Pro contains questions and short quizzes for practice. These questions all contain random elements, so students can practice the same concept multiple times with slight variations, leading to better retention of knowledge.

3D Vectors

3D Vectors is a small applet that helps students with questions about 3D vectors.

Works in Progress

Mathlified Framework

Printed notes and worksheets are still really useful for physical lessons, but the workflow to produce them (e.g. using Microsoft Word or LaTeX) is different from the web based pipeline in the projects above.

I have created the Mathlified framework that allows for the creation of web based math content, while generating high quality pdfs at the same time.

It is still unpolished (pending documentation efforts, bug fixes for edge cases, and features for more customization), but I am already using it internally to produce all my new material, and have thrown together a demo here.

Notes and Examples

Notes are most effective when students use them actively (i.e. trying out the examples instead of passively reading them). My latest projects (demo 1 and demo 2) aims to integrate the two (explanation and examples), so that students can try out the (randomized) examples while referring to the explanations if necessary.

Open Source Libraries

I have benefitted greatly from the open source community, and like to give back. In addition to occasional bug fixes and contributions to libraries I'm using, I have also open sourced a few projects of my own:

Mathlify and Mathlifier

The mathematical projects above are powered by my open source libraries Mathlify (JavaScript computer algebra system that integrates calculations with typesetting) and Mathlifier (library to enable cross-platform (web and print) math content). The latter is actually used by other developers to power math content on their blogs.

Others

My other projects can be found on GitHub.

Just for Fun

Some fun simple applets that everyone can use!

Spinner Dinner

If you're like me, you can't decide what to eat for dinner. Spin the wheel to let the app decide for you!

Countdown Confetti

Counting down towards an important date/time? Countdown Confetti will shower you with fireworks and confetti to celebrate the occasion!