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.

Simon’s passion is coding, but he does other things, too. Things like Dutch, because – in case you haven’t noticed – his native language is Dutch. I usually don’t film our homeschooling lessons but today I felt like filming, so here you go – a glimpse of Simon doing Dutch Grammar exercises on syntax and morphology.

When we were talking about coordinating and subordinating conjunctions Simon ran out of the room and came back with a LittleBits NOR (logic gate from an electric circuit), saying coordinating conjunctions (nevenschikkende voegwoorden in Dutch) were just like logic gates!

He made no mistakes in the 20 questions below, although I did have to explain a couple of terms along the way:

Simon downloaded Espresso coding editor yesterday and used it to write AngularJS (a JavaScript framework about which Simon said that it was “a lot of fun” and “not intimidating”).

Here he is introducing Espresso:

And making a “calculator” webpage in Angular:

And another webpage generating bad and good emotions:

And some more webpages where the text can be edited on the webpage itself (without touching the code):

Yesterday Simon asked me to buy new electronics software he found on the internet. It’s a realtime circuit simulator and editor called iCircuit. Simon has already built several circuits in it last night and there is so much more to discover. He was following Derek Banas’ tutorials on electronics.

Simon has followed another batch of wonderfully enriching tutorials by Daniel Shiffman on p5.js, this time all about sound, and made these sound visualisations. The first one is based on the Amplitude Analysis tutorial (the amplitude of a song (any sound input) is being analyzed to control elements of a p5.js sketch):

Graphing Amplitude tutorial (using the getLevel() function from the p5.js Sound Library to graph the amplitude over time):

And the Frequency Analysis tutorial, analyzing the frequencies (spectrum array) of a sound file. Simon created a “graphic equalizer” like visualization. For this project he used the p5.FFT object from the p5.js library. FFT (Fast Fourier Transform) is an analysis algorithm that isolates individual audio frequencies within a waveform.

Yesterday Simon and I were doing some primary school math (Dutch 6th grade, Belgian 4th grade, on average two grades above Simon’s biological age). It’s something we regularly do to get Simon used to the Dutch testing books and school approach to math. On top of doing the Dutch school math tasks Simon also has math/geometry lessons with a teacher on secondary school level twice a week, which is more his “zone of proximal development”, in Vygotsky’s terms. And on top of that, Simon uses a lot of math while programming (sequences, arrays and animations all require complicated formulae derived from algebra, geometry or physics).

I have made an interesting observation. The level in the Dutch math schoolbook we use is generally below Simon’s level and does not require deep abstract thinking. And yet while doing tasks from that book and similar worksheets Simon gets distracted easily and often produces an impression of “being slow in math”. I’m not literally forcing him to do the tasks, he quite likes having completed them (yesterday he made 20 in a row), but judging by how he is while making those primary school works an outside observer who doesn’t know Simon would never guess the extent to which this little boy loves algebra and logic, would never foresee the heights Simon can reach when actually challenged with proper material. After we were done with the school math, Simon rushed to the desktop to finish his program in Visual Basic. He was programming a sequence of odd numbers with obstacles on the way. The television his sister was watching in the same room was no longer a problem, he didn’t get distracted for one second. After a while he pulled me over to let me see the formula he used to make sure the computer only picked odd numbers. “The remainder of integer divided by two always has be greater than zero!” – he shouted joyfully. This sort of formulae, which he uses casually, are a notch higher in complexity and much more abstract than the primary school tasks. Simon is incredibly quick in reproducing and explaining them. And he no longer looks bored, tired or like he is slow in math when talking about such matters. He devours higher order, complex material as if it was most delicious food and he was incredibly hungry. And – as both his math teacher and I have noticed – he always tries to find the system behind every algebraic notion, to see it from scratch.

The primary schools tasks we were doing yesterday:

The stuff Simon is working on during his lessons with his math teacher. Here – linear inequalities with variables on both sides and word problems:

Simon checking his answers to inequality problems in his self-made “inequality machine”:

Simon downloaded VisialStudio, one of the ide’s in which you can write in C# on a pc, and has played with it writing a programme for a calculator in C#.