I appreciated the author's basic explanation of computers and how they work on the nuts and bolts level. I also appreciated his childhood enthusiasm and how this excitement inspired him to become interested in building circuits, robots, etc.
His tic-tac-toe example made me think of my own childhood experience with Parker Brother's 1978, Merlin The Electronic Wizard. This was promoted as an "all -in-one" handheld computer gaming device. I had one of these and remember playing tic-tac-toe, Blackjack, Echo (a simpler version of Milton Bradley's Simon) and a few other games for hours (the much larger and much much slower smartphone of it's time). My own interests led to building everything from holiday animatronics to working web-shooters.
I found the Game Tree, the And/Or and Parallel / Series visuals to be helpful in simplifying the design for project planning. The fluid computer was also eye-opening. I especially appreciated the author's explanation that "a digital valve can be on or off" but "an analog valve, like your kitchen facet, can be anything in between".
I was inspired by the author's explanation of breaking down the tic-tac-toe methods to create a wide range of functions. The simplicity of using universal building blocks for a wide range of projects is encouraging. The concept of using And/Or/Invert as a "universal construction set" was particularly helpful in understanding this chapter. I found the binary functions, such as lights on or off, and a combination of binary functions to create complex functions with multiple variables from smaller projects to be useful. This inspired me with confidence on how to proceed to tackle a larger coding project one bite (or byte...pun intended) at a time.
The author's explanation of finite-state machines was especially useful in the retractable ball-point pen and a car's odometer examples. I use to build animatronics that would perform a series of simple movements such as raise and arm up and down, followed by a head turning from side to side. These time delayed movements were based off the first set of gears and motors triggering the second set of gears/motors. These simple sequenced devices help to imagine coding projects where there is a variable of time such as a countdown clock, a flashing of color or another time-delayed response.
I enjoyed the author's comparison of the skilled programmer to a poet who speaks the same language as his reader (the computer). I can appreciate the author's direction for using the exact language to talk to the computer to get it to execute the exact function. In just a few weeks/projects into this class I have learned the importance of using the exact code for the exact outcome. As well as using the exact description of the code to communicate to the viewer what I am intending to create.
My first experience with using the exact coding was in in 1979. My family purchased an Atari 400 computer. Then in 1981, we upgraded to an Atari 800 computer. The computer relied completely on programming projects. Many of these projects were not much different than some of our processing projects. My family subscribed to a computer programming magazine called ANALOG (Atari Newsletter And Lots Of Games). Each month we would program the seasonal projects one pixel at a time. For example, for Halloween you might code a flashing Jack O' Lantern. You would code the color of the rectangular pixel first then code whether it flashed white. You were coding the entire computer screen which was only your standard definition television set. If you did not input the coding language exactly as written then your digital Halloween decoration did not look like a flashing pumpkin at all. It was quite a lengthy task. But when you did enter the coding correctly it was rewarding when your project was finished. Well...as long as you found an endless looping flashing Jack o' lantern rewarding. And in 1981....I did.