Willsy Posted February 12, 2016 Share Posted February 12, 2016 (edited) Today, assembly language programming is an advanced topic that one normally doesn't encounter unless one was on an advanced degree in computer science or processor design. In my day, we taught it to school children. http://www.usborne.com/catalogue/feature-page/computer-and-coding-books.aspx All the above books, written in the 80s are now available for free download. All of them are masterpieces. An equivalent simply does not exist today. Edited February 12, 2016 by Willsy 8 Quote Link to comment Share on other sites More sharing options...
sometimes99er Posted February 12, 2016 Share Posted February 12, 2016 Thanks for the link. Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted February 12, 2016 Share Posted February 12, 2016 I have several of these--nice to see the whole set out there! Quote Link to comment Share on other sites More sharing options...
Tursi Posted February 12, 2016 Share Posted February 12, 2016 Those books got me started long before I actually had a computer, they were great. Quote Link to comment Share on other sites More sharing options...
jaybird3rd Posted February 12, 2016 Share Posted February 12, 2016 I've often referred back to 80s computer books for inspiration in my programming classes (I don't recall seeing the Usborne books here in the US, but we had similar books for the computers that were popular here). I have to introduce my students to the binary and hexadecimal number systems, among other computing fundamentals, and I find that the older books are about the last ones that were written to explain these fundamental concepts to general audiences, so they're a great source of analogies and examples that are more accessible to novices than the dry coverage you'd see in a college textbook. To give two examples: there was a book series called "The Visible Computer" (I have the Apple ][ version) which used an analogy about the telephone system to explain the relationship between binary and hex, and why hex is more convenient to use with computers than decimal, and I still use it in my classes today. I also like Michael Crichton's "Electronic Life", which is especially insightful and prescient for a book about computers written in 1983. Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted February 13, 2016 Share Posted February 13, 2016 Each generation has its own needs. There is really little need to do assembly language programming nowadays given the vast amounts of cheap memory available and the ever speedier processors. Furthermore, the design of the latter has gotten quite complex with multiple caches, cores and whatnot, so I presume assembly programming is likely much more complex now than back in the days of the 8bits... That said, I think there is still value in teaching kids about microprocessor concepts at the very least, because for the majority of them a CPU might just as well be a magic box. 1 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted February 13, 2016 Share Posted February 13, 2016 Today, assembly language programming is an advanced topic that one normally doesn't encounter unless one was on an advanced degree in computer science or processor design. In my day, we taught it to school children. We are teaching MIPS assembler in our introductory courses at the University. This is, by the way, quite a nice looking assembly language, I have to admit. Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted February 14, 2016 Share Posted February 14, 2016 We are teaching MIPS assembler in our introductory courses at the University. This is, by the way, quite a nice looking assembly language, I have to admit. Same. I learned MIPS, and compiled Spim on my Solaris machine to play with it at home. ISTR there is a Spim for Windows. We had an assignment which I thought was pretty awesome. We each picked one of a few scenarios provided by the instructor. Our program had to utilize all pipelines and if we stalled any of the pipelines we failed the assignment. I seriously enjoyed that assignment. Quote Link to comment Share on other sites More sharing options...
ralphb Posted February 14, 2016 Share Posted February 14, 2016 I think the situation is different today, but not worse or lacking in any way. Children tinkering with computers no longer need to do programming in order to be creative with them. In fact, it's very hard to program something yourself that gives a sense of accomplishment. Moving a sprite in assembly on the TI 99 was something, but today you look at your sprite and you look at Candy Crush and why bother? IMHO the tinkerers (and I'm using this term in the most positive way) of today are attracted more to Arduino and the like, which offer far more unexplored opportunities to inquiring minds who lack any formal training -- yet. Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted February 17, 2016 Share Posted February 17, 2016 IMHO the tinkerers (and I'm using this term in the most positive way) of today are attracted more to Arduino and the like, which offer far more unexplored opportunities to inquiring minds who lack any formal training -- yet. You are absolutely correct here. These microcontrollers are the new frontier Quote Link to comment Share on other sites More sharing options...
Rossman Posted February 18, 2016 Share Posted February 18, 2016 That said, I think there is still value in teaching kids about microprocessor concepts at the very least, because for the majority of them a CPU might just as well be a magic box. +1 to this. My 13 year old daughter has taken programming classes in Java & Python. I've encouraged her, and her instructor tells me she's taking to it. Last month, she asked me: "I understand programming, but how do computers really work? What's really going on in there?" She wasn't being arrogant about having any kind of mastery at code, she was simply saying she gets the code-compile-run thing. What she was asking was, how does it really work under the hood? It seemed to me that the best way to answer that question was to get her as close to machine instructions as possible, and the best way to do that is with Assembly. I dug up my copy of ES/AS, and the Molesworth book, re-learned enough Assembler to do useful things, and started putting together a series of lessons to help her answer that question. My objective isn't to teach her assembly, or teach her computer architectures, but to give her a hands-on and non-theoretical answer to her question. What's been great is being able to take the Listing generated by the assembler and showing her in memory where every instruction is, how code and memory co-mingle, and how the CPU steps through it. I've got a second (non-working) TI console that I opened up so we can visualize step-by-step the CPU interacting with memory and handing control over to things like the 9918A. What I hope I've done is given her exposure to how substantial and tedious the grunt work going on in all those chips and circuitry really is. And, conversely, how much they scale: we're creating little 100 line assembly language programs, but CPU speed is measured in millions of instructions per second. It isn't too much a leap of her imagination to see how many CPU instructions her Java and Python code translates into, and how it all comes down to one thing: math. Of course, it would be dishonest of me not to admit that it's been fun to code in assembly language again - and for a purpose! It's really satisfying to think at machine level again. Plus, I'm able to write my code using Notepad++, compile it with the Classic99 simulator (which IMHO is pretty good) and quickly debug, and in the process churn out a number of code riffs very quickly. Still, we transfer the code over to the 99/4A - nothing like running it on the real thing. 5 Quote Link to comment Share on other sites More sharing options...
RXB Posted February 19, 2016 Share Posted February 19, 2016 Did you know the number of Assembly Language Programmers in the USA has been in short decline for 20 years now? This is why most are from other nations especially India. America focuses on C and other Languages and pretty much ignores Machine Language and Assembly. Back in 2007 MIPS and other processors were taught at MIT, not only x86 Assembly is taught. The USA has fewer Assembly programmers then other nations. This problem is caused by wages and education market no longer on the pulse of what Business needs. 1 Quote Link to comment Share on other sites More sharing options...
ElectricLab Posted February 20, 2016 Share Posted February 20, 2016 I wish my kids would have an interest in computers, besides playing Minecraft with them. I've tried to get them to code in Scratch (https://scratch.mit.edu) but they're just not the geeks that I was at that age. I've gotten them little electronics kits and taught them to solder. I've even had them play with Snap Circuits http://www.snapcircuits.netand Lego Mindstorms robotics kits, but they can take it or leave it. They just don't have the geek gene - I would have gone nuts for these things, had they existed in the 70s 3 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.