By William B.
Not many students have the opportunity to work on software engineering at a real company during high school. However, for the past two summers, I’ve been lucky enough to have an engaging and highly enriching internship at together.science, working on the development team.
Last summer, I started developing a new math library called SymType. This project was essentially a port of Sympy - a comprehensive math library for Python designed rigorously by real mathematicians - into TypeScript, which can run seamlessly in the together.math web app. together.math currently makes use of nerdamer prime, a JavaScript math library built off of nerdamer. SymType will offer a new level of rigor and precision to together.math, helping to craft a smoother experience for students. Working on SymType has been a fantastic opportunity to learn about TypeScript, Python, and GitHub workflows, which I have already found use for in my other computer science endeavors.
This summer, I continued developing SymType, fixing old bugs and adding new features. I also started working on a reinforcement learning algorithm to improve instant feedback for the app. In this project, we insert an artificial intelligence (AI) model into an environment and let it try to solve equations. In the environment, the model observes an equation and takes simple algebraic steps to isolate a variable. Although the model is not yet complete, we foresee a future version of together.math where instant feedback uses this reinforcement learning model to give event better feedback to a student. Working on this model has been a great way to solidify my understanding of neural networks and the inner workings of deep learning models, which are hugely important parts of computer science today.
I’m incredibly grateful to have enjoyed this opportunity. In the future, I hope to return to together.science to continue working on these projects, and hopefully see them integrated into the app some day!
Comments