This blog is about Simon, a young gifted mathematician and programmer, who had to move from Amsterdam to Antwerp to be able to study at the level that fits his talent, i.e. homeschool. Visit https://simontiger.com
Simon created a physics engine in Python with Turtle. He used Verlet integration (French pronunciation: [vɛʁˈlɛ]), a numerical method for integrating Newton’s equations of motion in calculating trajectories of particles in molecular dynamics simulations and computer graphics.
Verlet Integration is a way to implement a physics engine without having to care about velocity.
Instead of storing the velocity, you store the previous position, and you calculate the velocity on the fly. Then if you add that velocity to the current position, you get the new position. But then you also have to add on the acceleration, because acceleration changes velocity.
We watched both on Wednesday, May 27 and Saturday, May 30 when it actually happened: the historic launch of Crew Dragon Demo-2, a commercial state-of-the-art aircraft, marking the start of a whole new era of space exploration for the whole of humankind. And then, 23 minutes after the launch, we rushed towards the balcony to watch them fly over Belgium, only to realize that it was too light outside… But we did get lucky the second time they passed! Exactly at 23:18, we spotted a little bright dot going from West to East, vanishing mid-way. It was a very memorable moment.#LaunchAmerica
The famous Grandfather Paradox (you travel to the past and kill your grandfather, which prevents the your existence) on a Möbius strip. Simon’s inspiration comes from the “Solution to the Grandfather Paradox” video by Minutephysics.
Thanks to the lock-down, Simon’s got new friends. For a little over a month now, he has been part of exciting daily discussions, challenging coding sessions and just playing together with his new gang (warning: playing always involves math). We’ve never seen him like this before, so drawn to socializing with his peers, even taking the lead in some meetings and initiating streams.
And then we realized: this is how social Simon is once he meets his tribe and can communicate in his language, at his level. Most of his new friends are in their late teens and early twenties. Most of them didn’t use to hang out together before the crisis, probably busy with college, commuting, etc. The extraordinary circumstances around covid-19 has freed up some extra online time for many talented young people, creating better chances to meet like-minded peers across the world. Finally, Simon has a group of friends he can really relate to, share what he is working on, ask for constructive help. And even though he is the youngest in the group, he is being treated as an equal. It’s beautiful to overhear his conversations and the laughter he shares with the guys (even though sometimes I wish he wasn’t listening to a physics lecture simultaneously, his speakers producing a whole cacophony of sound effects, but he likes it that way and seems to be able to process two incoming feeds at once).
Last week, Simon took part in a World Science Scholars workshop by Dr. Ruth Gotian, an internationally recognized mentorship expert. The workshop was about, you guessed it, how to go about finding a mentor. One of the things that struck me most in Dr. Gotian’s presentation was her mentioning the importance of ‘communities of practice’. I looked it up on Etienne Wenger’s site (the educational theorist who actually came up with the term in the 1990s):
A community of practice is a group of people who share a concern or a passion for something they do, and learn how to do it better as they interact regularly. This definition reflects the fundamentally social nature of human learning. It is very broad. It applies to a street gang, whose members learn how to survive in a hostile world, as well as a group of engineers who learn how to design better devices or a group of civil servants who seek to improve service to citizens. their interactions produce resources that affect their practice (whether they engage in actual practice together or separately).
It is through the process of sharing information and experiences with the group that members learn from each other, and have an opportunity to develop personally and professionally, Wenger wrote in 1991. But communities of practice isn’t a new thing. In fact, it’s the oldest way to acquire and imperfect one’s skills. John Dewey relied on this phenomenon in his principle of learning through occupation.
It has been almost spooky to observe this milestone in Simon’s development and learn the sociological term for it the same month, as if some cosmic puzzle has clicked together.
Of course, it would be a misrepresentation to say nothing of the internal conflict the new social reality unveiled in my mothering heart as I struggled to accept that Simon started skipping Stephen Wolfram’s livestreams in favour of coding together with his new friends. 👬Yet even those little episodes of friction we experienced have eventually led to us understand Simon better. We sat down for what turned into a very eye-opening talk, which involved Simon asking me to take down the framed Domain of Science posters we’d recently put up above his desktop and pointing to those infographics depicted on the posters that represented the areas of his greatest interest.
Simon simply guided us through the Doughnut of Knowledge, Map of Physics, Map of Computer Science and Map of Mathematics posters as if were on tour inside his head. And he made it clear to us that he seriously preferred pure mathematics, theoretical computer science and computer architecture and programming to applied mathematics (anything applied, really) and even computational physics, even though he genuinely enjoyed cosmology and Wolfram’s books.
“Mom, you always think that what you’re interested in is also what I’m interested in”, he told me openheartedly. It was at that moment it hit me he had grown up enough to gain a clearer vision of his path (or rather, his web). That I no longer needed to absolutely expose him to a broadest possible plethora of the arts and sciences within the doughnut of knowledge, but that from now on, I can trust him even more as he ventures upon his first independent steps in the direction he has chosen for himself, leaning back on me when necessary.
So far, in just one month, Simon has led a live covid-19 simulation stream, programming in JS as he got live feedback from his friends, cooperated on a 3D rendering engine in turtle (🤯), co-created Twitch overlays, participated in over a hundred Clashes of Code (compelling coding battles) and multiple code katas (programming exercises with a bow to the to the Japanese concept of kata in the martial arts).
Last month, ten young programmers including Simon formed a separate “Secret Editors’ Club Riding Every Train” group on Discord, uniting some “nice and active” people who met on The Coding Train channel (they also included Dan Shiffman in the group). Simon really enjoys long voice chats with the other secret editors, going down the rabbit holes of math proofs and computer algorithms. Last Tuesday, he was ecstatic recounting his 3-hour call with his new peer Maxim during which Simon managed to convince Maxim that 0.999… equals 1 by “presenting a written proof that involved Calculus”:
We even talked about infinity along the way, aleph null and stuff. There was a part where he almost won, because of the proof I showed him when we talked about infinities. I was almost stumped.
The guys have now inspired Simon to take part in the Spring Challenge 2020 on CodingGame.com, a whole new adventure. To us, the lockdown experience has felt like an extra oxygen valve gone open in our world, another wall gone down, another door swung open, all allowing Simon to breathe, move and see a new horizon.