Jack started to express an unexpurgated opinion, but shut himself up. Young cubs did not swear in front of the First Lensman.And another:
Do you think you can get away with this?" she demanded. "Why, you..." and the unexpurgated, trenchant, brilliantly detailed characterization could have seared its way through four-ply asbestos.I liked "unexpurgated", once I looked up what it meant. Hence the title of this post. I recently exchanged email with Nikki Stoudt, a writer for the NCSU student newspaper, for an article. Here's what was said... unexpurgated. (Not that the text needs it.)
Tell me a little about yourself. What's your story?
On the personal side:
I started college in 1981, and I arrive on campus the same month that the IBM PC was announced. It would be nice if I could say that this was my inspiration to major in computer science, but it wasn't like that--a couple of my high school friends had chosen that major, and I just followed along.
When I graduated I moved to Plano, TX, to work for Texas Instruments and then applied for a transfer to a new software development unit in Freising, a small town in Germany near Munich. I worked as a software engineer there for five years. Eventually I took a step back and asked, "Do I want to be doing this for the next twenty years?"
So I applied to graduate school, moved back to the States, and got a Ph.D. in computer science from the University of Massachusetts, Amherst. My current job here at NC State was my first job as a professor; I like it here a lot.
I work in the area of human-computer interaction. In some ways it's the most important area of computer science. If it weren't for human beings, their needs and ambitions, we really wouldn't need computers. My work focuses on the "interface"--what happens when we interact directly with the machines.
Why Computing for Ordinary Mortals? Meaning, who is your target audience? Have you used it in the classroom?
I imagine everyone who writes a book would say, "Oh, I think this book could be appreciated by anyone." And that's true for me, too. I chose a title with "Ordinary Mortals" for a couple of reasons. First, as I've mentioned, computing is only important because the lives of people are important; that's the "mortals" part. Second, a lot of people are still intimidated by computers--and who wouldn't be? When you do the slightest thing that a computer system doesn't expect, it describes what's happened with phrases like "fatal error" and "illegal instruction" and "kernel panic". It might ask whether you want to "abort", "terminate", or "kill" a process. All this jargon makes computers seem less forgiving than they really should be. I wanted to bring across ideas about computing, fundamental and interesting ideas, in a way that wasn't so demanding and critical; that's the "ordinary" part.
My ideal readers probably already like to read popular science pieces, about how the world works. Computing happens in a world of information and information processing, and learning about computing is something like finding out that at the microscopic level, or over very long periods of time, biology (an area I've always liked to read about) looks very different from our everyday experience. Computing is something like that--familiar on the surface but interestingly different underneath.
Some of the examples I give in my book came from my teaching, and I've included some new material from the book in the classes I'm teaching now. It's largely been field-tested, even if reading a popular science book is different from reading a textbook and very different from sitting in a classroom. I think you can get some good intutions about computing with a few hours of casual reading. You won't have the same background that someone with a degree in computer science has, but that's okay--no one reads A Brief History of Time, for example, and expects to come away being a professional physicist.
Did you always know you wanted to write a sort of situational instructional guide to computing, or did you, as they say, just wake up one morning and decide you were going to do this?
When I was in college I took a few writing courses and enjoyed them, and when I went to grad school I sat in on a writing workshop in Amherst. I've always thought, "I'd like to write a book some day." So it's always been in the back of my mind. I originally wanted to write fiction, but in the end I decided to write about what I know--there's less of that than what I don't know. :-)
I started this book as a side project that seemed like fun. As I wrote the book, though, I gradually realized that what I was writing about--computing--is really important. There are lots of books out there about how to use computers and program computers, and they give you just enough conceptual background to so that what you're doing makes sense. The goal of my book is to bring those concepts into the foreground, because to me they're the most interesting part--they give you a way to think about computing. They help you understand why computers (hardware and software) work the way they do, even what's possible and what's not possible to do with them.
Is there anything unique about the book's content structure?
Two things are relatively unusual about the book.
The approach I took to making computing concepts understandable was to tell stories, in which people are in some ordinary (or slightly out-of-the-ordinary) situation, and they figure out how to deal with it. It's as if I was writing fiction in which I knew the plot, and I had to figure out how to arrange everything to happen in just the right way so that the "theme" (an important idea in computing) would come across in a compelling way. So there's very little math in the book, even if a lot of computer science is founded on math. Instead it's more, "Computers work in such and such a way for a good reason; here's a situation in real life that you'd probably try to handle in the same way."
The other thing is that I didn't want to tell a lot of stories about interesting but disconnected ideas. I wanted to give an overview of all the main areas of modern computing, so that you can see the big picture. That's a ridiculously ambitious goal for a book that's not a textbook, but I like the result.
What sort of feedback have you gotten?
It's hard to judge, really--the people who get in touch with me to say they like the book already know me. Sometimes my publisher or my colleagues will pass along comments from people I don't know: "I'm just a retired high school chemistry teacher, and I learned a lot." Or that the book was like a "computer science version of Brian Greene’s The Elegant Universe." I'm very happy to hear that kind of thing, of course.
Do you have any literary plans for the future?
I spent a few days last summer plotting out a science fiction/fantasy book for teenagers--the kind of book I used to like to read when I was growing up--that involved computer concepts, but I have no idea whether it would be readable, or even whether I'd be able to write it.
More likely, though, would be a follow-on book like Data Analytics for Ordinary Mortals, or maybe a book that crossed the boundary between computer science and some other field. I've always liked to work with collaborators.