Jeff Duntemann's Contrapositive Diary Rotating Header Image

It’s Here: Learning Computer Architecture with Raspberry Pi


I had just tossed a salmon filet on the barbie yesterday evening when the UPS man rang the doorbell. There it was: an author case of a book I signed in 2013, finished in early 2014, and have been waiting for ever since. I confess there were times I approached despair and thought the publisher might cancel it, but the concept had legs, and (more important than legs) Eben Upton was behind it.

It’s not all my own work. My co-authors include Ralph Roberts, Tim Mamtora, Ben Everard, and Eben himself. I wrote Chapters 2-7, which entailed about 100,000 words and 90 hand-drawn technical figures. (My chapters come to about 300 pages out of the book’s 507.) Eben wrote a few thousand additional words in my chapters on things that I don’t know well, like compiler internals. (I’m sure he contributed to other chapters too.)

The publisher hasn’t done an especially good job positioning the book, and it’s already being reviewed badly by people who thought it was something other than what it is. So let me position it for you.

Learning Computer Architecture with Raspberry Pi is an introduction to computer architecture for senior high students, and bright junior high students. It’s not a university-level treatment, though it might have application in community colleges. Like the Raspberry Pi itself, it was designed to be affordable to young people, and so it’s not 1,000 pages long. The cover price is $30 (exactly, no .95s or .99s!) and you can get it on Amazon for the inexpensive if peculiar sum of $18.07. It’s not a standalone manual for the board, nor programming the board, nor learning any given language or operating system. It’s about what all the pieces are, and how they work together.

This is important. Today’s young people are digital natives, in that there were cheap desktop computers, lots of them, since before they were born. Kids who are interested in computers have studied and experimented with those parts of the computer that interest them. This is the sort of learning that trips up autodidacts, since it runs very deep in places, but is shot full of holes, some of them huge. The way to fill those holes is to take a survey course, and that’s precisely what this book is for. The course syllabus itself may not exist yet, but I have a hunch that a lot of educators in a lot of places are already hard at work on curricula using the book as the primary text.

People who have read my other books will recognize the approach I took in these chapters: Start at Square One, at the absolute beginning, and tell readers up front that they can skip a chapter if they discover early on that they’re already familiar with the material. Chapter 2 is titled “Recapping Computing,” which goes back to the idea of “a box that follows a plan,” and continues from there. Some people will skip that chapter. Many won’t. A few may be annoyed that it exists at all. (There’s no pleasing some people.) Once you get past Chapter 2, each chapter is much more focused, and covers a specific continent on the larger world of computing:

2: Recapping Computing

3: Electronic Memory

4: ARM Processors and Systems-on-a-Chip

5: Programming

6: Non-Volatile Storage

7: Networking

Chapters 8-12 were written by others, and provide a Raspberry-Pi specific slant on things, especially graphics and I/O. I had not seen those chapters until yesterday, so I can’t say a whole lot more about them just yet. A cursory glance suggests that you won’t be disappointed.

That’s pretty much the story. I had something additional in mind that I didn’t talk about while I was writing my chunk of the book back in 2013: homeschooling. I wanted the treatment to be so clear and comprehensible that parents could use the book in a homeschool environment. I think I succeeded, but I won’t know until I hear from a few homeschoolers. Sooner or later, that’ll happen.

I needed a book like this back in 1970, but of course, it didn’t exist. Computers themselves were mysterious, and the computer gatekeepers seemed to like it that way. Not me. Nothing should stand between people who want to learn and what they want to learn. Nothing. If my lifetime mission as a nonfiction writer could be stated in just a few words, that would be it. I loathe elitism, credentialism, and exclusive-club-ism. I learned stuff, I wrote books about it, and now you can learn it too. If you haven’t started learning about computers yet, well, this is a pretty good time to start. And forgive me for saying so, but this is a pretty good book to start with.

Go for it!


  1. Tom Roderick says:

    Great News Jeff! I do remember when you were working on this book and looking for some examples of antique off line storage media from a long time ago. I am glad this finally got published — and I hope you got or get paid!! For that price I will have to buy a copy for my collection of computer history books — not that I didn’t see virtually all of the history.

  2. SteveF says:

    Sounds good. I’ll buy a copy (as well as a RaspPi and ancillary gear) soon. I’m not homeschooling my 9-y-o daughter, but I’m supplementing her schooling.

    (I’ll get them assuming I ever get paid. In the past six months I’ve had clients go bankrupt, cash-on-delivery editing gigs aren’t paying me until they see sales receipts, and a basically full-time client is delaying paying me and other vendors because they haven’t been paid by their clients. Freelancing in the obameconomy is not for the faint of heart. Good thing the Obama administration tells us the obamadepression is over, or we’d be in real trouble.)

    1. SteveF says:

      Just did my part to help you earn out your advance. Ordered the RPi and gear, too.* My daughter is already planning to install the Minecraft server and leave it running all the time, which kind of misses the point of using this puppy to learn programming and computer architecture and such.

      * You don’t have an Amazon Affiliate link? Apologies if you do and I missed it and you won’t get the few dollars’ commission.

      1. Amazon cancelled my affiliates contract (and gazillions of others) some years back over the online sales tax issue. I should see if I can get another one. You didn’t miss anything, but I certainly appreciate the gesture!

        Funny about Minecraft: My 8-year-old niece is a Minecraft whiz and has been for a couple of years. It’s boggling watching that kid put things together. I got her a Snap Circuits set, and she’s had a lot of fun with it. Definitely engineer material, like her grandfather.

  3. Tony Kyle says:

    I shared it on Facebook.

    1. Many thanks! The book only left Wiley’s warehouses on 9/10/16. It’s still being discovered, and it’s already close to the top of its category on Amazon. I have high hopes for it long-term.

  4. TRX says:

    That sounds like an excellent book!

    I was commenting to a friend some years ago that things are *much* harder for a newbie than they were back in the mid-1980s when we got started.

    I started with BASIC and assembler, from a handful of books, magazines, and BBSs. It was doable. But modern newbies can’t do anything useful with BASIC or assembler; they need to grok entire “programming frameworks” as well as jaw-droppingly complex compiler libraries, all in multiple layers of “object” abstraction.

    1. This is one reason that simpler embedded CPUs like PIC will continue to thrive: They’re simple and don’t waste their power on things that don’t serve the solutions they were designed to provide. Arduino is an excellent learning platform for embedded systems, and my friend Jim Strickland just published a great book on it:

      The Raspberry Pi is often mischaracterized as an embedded platform, and it certainly can be…just like Intel. I look at it as a conventional GUI-driven platform with improved access to the hardware and to external devices. My example is a weather station with a GUI: You can easily access the sensors from Pascal/Lazarus and then display the data on the screen as artistically as you like. PIC can certainly read the sensors–but I wouldn’t try to run a GUI on it.

      1. TRX says:

        Ironically, the Pi 3 is more powerful than what I had on my desktop only six years ago.

        Well, yeah, I was comfortably to the cheap side of the technology curve, but still…

  5. Erbo says:

    Yeah, I think we’ve all been waiting for something like this. I remember telling you that it might be exactly what I needed for my bare-metal code project, or at least, a guidebook to make it easier to dive into the confusing technical references that exist out there.

    So I ordered one, which should be here today. At least it’s out now so you can GET PAID, as Larry Correia would phrase it.

  6. Big Al says:

    I see it’s on Safari Books online along with your Assembly Language book. I hope they are giving you a fair cut of all the money I’ve been sending them.

    1. Oh, yes. I get very good money from Safari, and for my assembly book generally. It’s too soon to know how well this book will do, but I’m guessing it will go evergreen, with regular updates to keep the book in sync with the latest RPi hardware.

  7. Bob says:

    I am curious how much help you got from the publisher. Did they provide an editor? Help in making final diagrams?

    How much input did they allow you as to format of the book, cover, price? It looks like you are not getting much input into their marketing, if any.

    Two and a half years seems a long time to get a book to market, particularly in the computer field.

    1. In truth, I don’t need a lot of help on the publishing side. I was co-owner of Arizona’s largest book publisher back in the 90s, and I know the process inside-out, from one end to the other. The publisher provided copy editors and proofreaders. My diagrams were published as I delivered them, as camera-ready. I’ve been writing books for over 30 years, and I’ve had three years of technical drawing coursework in high school and college. If you see one of my tech books, I drew the figures by hand with no help from anyone. The tools have changed every decade or two, heh. I now use Visio 2007, which is superb except that it’s not very good at 3-D.

      I have no input on things like cover design, page layout, or price. The book is part of a product line (the official tech book imprint for the Raspberry Pi) and so it has a predefined “line look.” There are people on staff at major publishers who decide things like price points, using sales figures for similar books and species of analysis I doubt I will ever grasp. I’m pleased that the price is as low as it is, and I would have suggested a similar price anyway.

      I was the first author signed on the project, and Eben Upton and I created the table of contents in collaboration. He specified what had to be covered, and when the book began running long, he decided what had to be cut, though I did have input there.

      I did not read the other authors’ chapters during the book’s the gestation.

      There were reasons for some of the delay that I can’t go into, but they had nothing to do with me. Publishing as an industry is reshaping itself, and sometimes a project gets caught in the machinery used in the reshaping. My experience has been good overall since I began my first tech book in 1983. Sometimes, if you do something long enough, your luck just runs out.

      All that said, it turned out all right in the end.

  8. SteveF says:

    species of analysis I doubt I will ever grasp

    Eh? What’s so hard to grasp about “O Magic 8-Ball, what price should we set?”

Leave a Reply

Your email address will not be published. Required fields are marked *