One more blog post with impressions from our vacation at the Cote d’Azur in France. Don’t even think of bringing Simon to the beach or the swimming pool without a sketchbook to do some math or computer science!
Parts 1 and 2 in Simon’s new series showing him attempting to build an 8-bit computer from scratch, using the materials from Ben Eater’s Complete 8-bit breadboard computer kit bundle.
Simon is learning this from Ben Eater’s playlist about how to build an 8-bit computer.
It’s all Ben Eater‘s fault! Simon is more of a software and pure math champion, but Ben Eater’s videos have sparked Simon’s interest in logic and electronics, anew. Back in mid July (yes, I know, I’m a little behind with the blog), while waiting for his Complete 8-bit breadboard computer kit bundle to arrive from the US, Simon was playing with virtual circuits that he built on two wonderful platforms: Circuitverse.org and Logic.ly. You can view Simon’s page on Circuitverse at https://circuitverse.org/users/7241
Simon’s favourite was building the Master-Slave JK Flip-Flop https://circuitverse.org/simulator/edit/20037
Simon gave me a whole lecture on the differences between Sequential and Combinational Logic: in the former, there’s a presence of a feedback loop (the output actually goes back to somewhere else in the circuit), and the latter has everything going in one direction (the inputs come in and the outputs go out).
It’s a little bit like the difference between a Feed Forward neural network where the output only depends on the input and a recurrent neural network where the output also depends on what the output was previously,
Here’s a problem with sequential logic circuits: they go crazy like this very often (confused NOR gate). That’s why most sequential logic circuits have a clock in them. A clock acts like a delay so that it won’t go crazy.
That’s the power of sequential logic: you can have the same input but a different output. This is useful for storing data: I release the input, but the data is stored. It can only be archived in sequential logic.
The delay comes in error detection (on the rising edge of the square wave).
The following circuits are buit in Logicly https://logic.ly/demo
Simon got a belated birthday present from his Russian grandparents, something he had dreamed about for months: the Magformers Sky Track set, sort of a monorail that allows Simon the shuttle to ride vertically and upside down, seemingly defying gravity:
Combining the Sky Track with a domino chain reaction:
Simon building the AND logic gate with dominos:
Simon took the Sky Track along when visiting an older friend in Amsterdam and it had great success. We generally see Simon open up more to playing together and just having genuine childlike fun instead of having continuous scruples about waisting time and the need to be working on his science and programming projects without interruption.
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 has found a new text editor he really likes: Atom.io
In the following example Simon is looking for one or more concatenated lower case or upper case letters (the pipe stands for the logic OR and combining this logic OR with parentheses means alternation). “In this case, I’ve combined alternation with character classes”, Simon adds:
And in this example Simon is looking for lower case letters only:
And this is the result he gets within the sentence he had typed:
This is a program that defines math functions. The list comes from the JS Math tutorial on the w3schools website:
Here Simon got stuck following a Flexbox (CSS) tutorial with LearnWebCode:
He also started working on Daniel Shiffman’s Maze Generator Coding Challenge: