Kelvin Soh
MathEducationCodeHi 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!