As I've been interested in computers and how they work for quite a while, I recently purchased a book called "Code: The Hidden Language of Computer Hardware and Software (Developer Best Practices)" by Charles Petzold and I'm reading it for the second time now. WOW. I love how the author starts with Morse Code and Braille, and works in to the binary number system, electrical circuits, relays, transistors, etc., and works through the real nuts and bolts of how computers actually WORK. How electrical circuits and voltages being "on" or "off" can be put into memory, added, subtracted, and ultimately instructed to do anything we tell them to do. It's really amazing when you stop and think about what's really behind the technology and how real people even came up with this concept from scratch!
Anyway, I now have an 8-year-old daughter who's very good at math and extremely shy, and I just have this gut feeling that she would be an amazing programmer or engineer, particularly if she starts it early. And the last book I read was "iWOZ", the autobiography of Steve Wozniak. As I'm sure many of you have either read it or already know the story, I was particularly amazed and impressed with how he was such a child prodigy in electronics, largely because of his father always tinkering with circuits and oscilloscopes at home and explaining it all to the young Woz starting when he was about 5. But, it seems to me, the way he learned about logic circuits, binary digits, and basic electronics really influenced his ability to design both hardware and software from the vantage point of someone who really understood how it all worked. In fact, he even spoke about how he had designed a Pong game, and Breakout, and programmed both games, completely in the HARDWARE!! The programming for those early video games was done strictly using logic circuits. Once he built the Apple II, he had gone back and wrote a BASIC version of Breakout in one night, or something like that, and marveled at how much easier it was to write the game in SOFTWARE rather than HARDWARE.
I think there are very few people out there who could actually do both of those things, and it seems that if you can, then you will have such a clear understanding of how it all really works. From that point, learning Python, C, Objective C, Swift, etc., should all make much more sense, right? Maybe it's all a waste of time, but I'd really love to try to teach my daughter about computers the way Woz did, rather than starting with something like Scratch, where you learn a very high level graphical programming language where all the commands are just pictures and arrows and such, and you arrange them in order on a screen as a series of instructions. You can learn the LOGIC of programming and the pattern of analytical thinking that way, but you don't really LEARN about how computers really work.
Does anyone know if there's a website, book, online course or something which teaches what I'm looking for? "Learn to Program the Way Woz Did!" That's what I want...teach it to me (and my daughter) starting at the most basic level, up through the electronics and Boolean logic, then into some rudimentary Assembler language, just to gain a better understanding of how it all comes together. Actually, even better still, would be an app on iOS or Mac which runs through a simulation or a game where the player IS Woz, starting as a child, and then you have to complete ever-increasingly challenging tasks. Start with building some simple circuits, a science fair project using logic gates to show planetary orbits around the sun, going up to creating circuit designs for pre-existing mainframe computers, building blue boxes, designing the Apple I, making a Breakout game, and finally designing the Apple II. I know...he learned it over a lifetime, not the few months even a complex game would take. But then simplify it...cut out some of the redundancies and keep it focussed on the key learning points. Heck, why doesn't Woz himself make this game?!?!? It's right up his alley, isn't it? Computes, education, children....hmmmm....
Anyway, I now have an 8-year-old daughter who's very good at math and extremely shy, and I just have this gut feeling that she would be an amazing programmer or engineer, particularly if she starts it early. And the last book I read was "iWOZ", the autobiography of Steve Wozniak. As I'm sure many of you have either read it or already know the story, I was particularly amazed and impressed with how he was such a child prodigy in electronics, largely because of his father always tinkering with circuits and oscilloscopes at home and explaining it all to the young Woz starting when he was about 5. But, it seems to me, the way he learned about logic circuits, binary digits, and basic electronics really influenced his ability to design both hardware and software from the vantage point of someone who really understood how it all worked. In fact, he even spoke about how he had designed a Pong game, and Breakout, and programmed both games, completely in the HARDWARE!! The programming for those early video games was done strictly using logic circuits. Once he built the Apple II, he had gone back and wrote a BASIC version of Breakout in one night, or something like that, and marveled at how much easier it was to write the game in SOFTWARE rather than HARDWARE.
I think there are very few people out there who could actually do both of those things, and it seems that if you can, then you will have such a clear understanding of how it all really works. From that point, learning Python, C, Objective C, Swift, etc., should all make much more sense, right? Maybe it's all a waste of time, but I'd really love to try to teach my daughter about computers the way Woz did, rather than starting with something like Scratch, where you learn a very high level graphical programming language where all the commands are just pictures and arrows and such, and you arrange them in order on a screen as a series of instructions. You can learn the LOGIC of programming and the pattern of analytical thinking that way, but you don't really LEARN about how computers really work.
Does anyone know if there's a website, book, online course or something which teaches what I'm looking for? "Learn to Program the Way Woz Did!" That's what I want...teach it to me (and my daughter) starting at the most basic level, up through the electronics and Boolean logic, then into some rudimentary Assembler language, just to gain a better understanding of how it all comes together. Actually, even better still, would be an app on iOS or Mac which runs through a simulation or a game where the player IS Woz, starting as a child, and then you have to complete ever-increasingly challenging tasks. Start with building some simple circuits, a science fair project using logic gates to show planetary orbits around the sun, going up to creating circuit designs for pre-existing mainframe computers, building blue boxes, designing the Apple I, making a Breakout game, and finally designing the Apple II. I know...he learned it over a lifetime, not the few months even a complex game would take. But then simplify it...cut out some of the redundancies and keep it focussed on the key learning points. Heck, why doesn't Woz himself make this game?!?!? It's right up his alley, isn't it? Computes, education, children....hmmmm....
As an Amazon Associate we earn from qualifying purchases.