How Computers Work
So, I'm teaching about computers, to a bunch of seniors, and ask them what they would like to learn next, and one of them asks, "Can you teach us how computers work?"
Since I have been asking myself the same question (that is, how computers work), and I'm not completely certain that I know for sure, for over five decades; and I have been teaching about how computers work for over forty years; this seems to be a non-trivial task. Adding to that level of difficulty is the fact that I am teaching seniors, who already are having problems operating their iPhones, and that they all live in a town where extremely teaching about computers goes on, and the task starts to seem almost impossible.
But I thought about it. (Mostly at three in the morning, when I couldn't sleep.) And I started to get a few ideas about what had been particularly useful for me to know, over the past fifty years, in terms of dealing with any type of computer system. And I started to get a few ideas. And the more I thought about it, the more I started to get excited about the possibilities here.
The thing is, there are an awful lot of courses, and seminars, and workshops, that promise to teach you how computers work. And most of these seminars do not, in fact, teach you how computers work. They may teach you how to use Microsoft Word, or they may teach you how to use a Web browser, or they may teach you how to use a search engine. But they don't really teach you how computers work.
As a matter of fact, I have learned, over the past fifty years, that an awful lot of people who do use computers every day, and may even program computers every day, and may get paid an awful lot of money for what they do with computers, still don't actually know how computers work. They know that computers *do* work, and can be very useful, and they have learned a number of tricks that other people don't know, which make them useful to other people, and worth very large salaries. But most of them actually do not know how computers work.
I do.
This is the point in the presentation where the presenter or instructor makes all kinds of boastful comments about how important they are, and how much money they make, and the important job titles that they have held, and possibly even the important companies that they have worked for. I hate this part of the program, but I'm going to do it anyway, to make a point.
I am not important. I am world famous--amongst a vanishingly small percent of the population. It is a weird kind of fame; not enough to get you a good seat in a restaurant, but enough to surprise the heck out of your family every once in awhile. I have worked for Fortune 50 companies. Yes, Fortune 50, not Fortune 500. I have taught members of the NSA, the CIA, and the FBI. I have literally taught rocket scientists. I have a friend and colleague who was a civilian employee of the RCMP, and when the FBI's technical people couldn't get the information they wanted out of a hard drive, they sent it up to Ottawa to him. I know a lot of the big "Names" in the information security field, and, more importantly, they know me. Like I said, I am unimportant, and very few people know me, but if you don't know me, then that is an indication that you still have higher to climb in the field of information security.
For a quarter of a century I have facilitated seminars for people who want to get their professional certification in information security. I have taught every level from kindergarten, to grade 12, to colleges and universities, to the post graduate level, and to commercial training for businesses. In some of those seminars, I have had half a dozen candidates who have had twenty years experience, not only in information security, but in particular and specific esoteric subject areas within information security. And I have had to stand up in front of groups like that, eight hours a day, all week, and not look like an idiot.
I know that this sounds like boasting. I am not trying to boast about this. I am trying to make a point about what I have observed in doing this kind of stuff for this long. That being that when I am teaching these very abstruse and highly technical topics, it is not the latest issue with cryptocurrency, or generative artificial intelligence, or lists of settings for firewalls, that is important. What I have found to be most important, and most helpful for those people that I am teaching, is the basic concepts. How computers work: from the ground up.
And these concepts, and principles, and basic foundational topics, are what I have tried to put into this course.
Computers run just about everything in this world.
You may not work directly on, or with, a computer. If you do work with a computer, it's possible that you have someone, on call, to come and fix it for you, if it goes wrong. You probably don't write programs telling the computer what you want it to do. You, or, most likely, somebody else, probably just buys a computer, and a program, that, you are promised, will do something that will help you with your job. And your job, so you think, may have nothing to do with computers.
Take farming, for example. If you want to grow wheat, and feed thousands, and maybe even hundreds of thousands, of people, you just need to get miles of open land on the prairie, and plant a bunch of wheat seeds, and wait for it to grow, and then harvest the wheat once it's grown.
No computers involved, right? Well, no. In order to plant the weed, in miles and miles of square miles of prairie, you have to have a tractor. And, these days, the tractors pretty much all have computers. As a matter of fact, it's quite possible to start up a number of tractors in the morning, and tell one where you want the seeds planted, and that tractor will tell the other tractors, and the whole bunch of them will take off, without you, trundling across the prairie, planting the wheat seeds. And it's the computer that is allowing that to happen.
So, computers are often involved, even if you don't think they are. Even if you are handcrafting furniture, and selling your lovely handcrafted furniture to people who want to get away from this modern technological society, and therefore want to buy your hand crafted furniture, which has not been touched by any kind of automated milling machine, and it's all very off-the-grid. Except that, in order to make enough money selling your hand crafted furniture, when you spend such a large amount of your time actually handcrafting the furniture, you probably have to sell to a very niche market, and you have probably have to do that online. Well, maybe you have somebody else do the online part for you, but a computer is going to be involved there someplace.
I'm not saying that computers are innately good, or that the world is a better place because we have computers, and I, dealing extensively with information technology, and information security, still do my household accounts in a ledger book with paper pages. People ask me why I don't use accounting software, and I reply that I deal with information security, and why would I ever trust computers?
And I'm not saying that you can't try your hardest to avoid computers. Go ahead: it's not going to hurt my feelings. The thing is, it's already really hard, and it's going to become even harder, to do anything significant in this world without a computer being involved someplace. And I'm not saying that you have to learn how to program a computer, or how to fix a computer, or any of quite a number of technical topics that you may have no interest in, and I don't really see any reason why you should.
The thing is that computers are running the world. Possibly you may not may want to argue that computers are messing up the world. I am not going to argue that point with you. But what I *am* saying is that computers are running the world, whether the people who use the computers are running the world well, or badly. But not knowing how computers work means that you are at a disadvantage in trying to figure out whether a particular problem is because of a computer, or can be fixed by a computer. If you know how a computer works, then you have a better understanding of what a computer can do, and what a computer *can't* do. What computers do, and what computers don't do. And when somebody comes to you and says that their computer, or their computer program, will do something that computers just can't do, well, if you understand how computers work, you know when they are lying to you.
(There is a joke in the information technology field that asks what the difference is between a computer salesman, and a used car salesman. The answer is that a used car salesman knows when he is lying to you. Most of the computer salesman don't understand how computers work, either. So, therefore, most computer salesman don't know when they are lying to you.)
I have been working with computers, and poking at them, and prying into them, and figuring out how they actually do work, for a long time now. So obviously, I am not going to teach you absolutely everything that I have learned. For example, I know how to take a box of transistors (or a box of diodes, come to that) and make a computer. It wouldn't be a terribly good computer, but I could do it. I am not going to teach you how to take a box of transistors and make your own computer. But I am going to teach you, for example, how to use transistors to make logic circuits, and then how to get logic circuits to make circuitry that will do arithmetic, and will store information in memory, and a few things like that. And once I've given you those pointers you can, yourself (if you are really interested), go to a search engine on the Web, and find write-ups, and courses, and YouTube videos, and all kinds of things that will teach you actually how to take a box of transistors and build a computer. If you want to. If you don't want to, at least you will know what is possible, and what isn't possible, in terms of how computers work.
And that will give you a better understanding of what is it is possible to do with computers, and what it is *not* possible to do, and what issues might be wrong with a computer which is messing up whatever it is that you are trying to do. That's all that I am trying to do in this course--get you on the right track, and give you a better understanding, when a computer won't do what you think it should do.
Introduction and ToC: https://fibrecookery.blogspot.com/2025/12/how-computers-work-from-ground-up.html

No comments:
Post a Comment