What is an algorithm? How does a modern computer work? How is the Internet so fast despite being distributed all around the world? What is AI, and how is it different from other types of software? How is software made in the first place? And is there anything a computer can’t do? Wait, are human brains just very advanced computers? Can we ever know?
If any of these questions intrigue you, then I'm writing the perfect book for you!
The latest update for the book is available here:
Wait, are you writing a book?
That’s right. I’m writing a book on the fundamental ideas in computer science suitable for all audiences. It won’t be a coding book, although we will talk about what coding means and why it matters. It won’t be a history book, although we will talk about some of the historical context around many of these ideas. It won’t be a math book, although we will see how computer science turned math upside down and changed it forever.
It’s a journey around and throughout the many subfields in computer science, from the most conceptual and theoretical —like what is computation, at a fundamental level— to the most practical —like how an actual electronic computer works, what your operating system is doing all day long, and where is the turn-off button for the Internet— to some of the most active and exciting —like how modern AI works and why making it is safe may be the hardest problem we’ve ever faced.
In summary, this is the book that I wish I had read when I was about to enter college, still unsure if Computer Science was the right major for me. The book that I want my girls to read one day when they’re old enough to ponder about the technology they’re living with and start asking hard technical questions. The book I wish I could have gifted my Dad so he understood what the hell I was doing my PhD on.
When will it be ready?
I’m glad you asked. This is a long-term project, but I expect to complete most of the first draft this year. Instead of sequentially, chapter by chapter, I will write it top-down, so in the first draft, I hope to cover all the main themes at a very high level, and then in subsequent iterations, I will enrich each chapter with more details.
But don’t worry, you don’t have to wait until that’s done. I’m writing this in public, so I will share updates regularly, at least once a month. That is also my way of getting feedback as early as possible.
Actually, next week I'll be sending supporters the first update! Mostly a table of contents and a bit of a summary for each chapter, but we're already getting the ball rolling.
So how can I get it?
Well, here’s the deal. Since I’m committed to free education, all the content that ultimately ends in the book will be born as free, open articles in the Computer Science section of this blog. Some of what has already been published there will be part of the first draft after some heavy editing.
But there is a catch, and I hope you’ll see eye to eye with me here. Writing a book is a serious deal that takes a lot of time and effort. So, I hope I can convince some of you to back this project financially and get early access to the ebook, extended, professionally edited and beautifully illustrated.
This means that while most of the content and the fundamental ideas will be freely available online, the book will go one level deeper with extensive explanations and examples. Plus, instead of separate articles, it will be a coherent story encompassing all of computer science, full of historical notes, extra bits of insight, and the unavoidable dad jokes.
Once the first edition is ready, I will find a publisher somewhere —or maybe I’ll self-publish, who knows— but all supporters will get their DRM-free digital copy without any extra cost and all future updates, forever.
Awesome! How can I support it?
Easy! The simplest way is to become a paid subscriber of Mostly Harmless Ideas. As long as your subscription is active, I will send you regular updates. That’s besides all the additional perks of a paid subscription. (All current and future paid subscribers of MHI automatically apply, including comps, for as long as you’re subscribed.)
But wait! If you can’t or simply don’t want to commit to another regular subscription —believe me, I feel you— I also have a sweet deal for you. You can get exclusive lifetime access to all versions, updates, and future editions of The Science of Computation for a one-time fee. (This is a limited-time offer; the price of the completed ebook will be significantly higher.)
And there’s more! If you want to go the extra mile and become a true patron of this project, besides the lifetime access, I can offer you my eternal gratitude and a special dedication in the acknowledgments section. (Current and future subscribers on the Founder's plan automatically apply.)
I'm really excited about this project. I've written lots of technical stuff in my career, including a programming textbook, but I've never undertaken such a massive project for such a wide audience. This is a learning journey for me, and the thing I'm most excited about is being able to share it with all of you. I hope you choose to be a part of it too.
Stay tuned!
So cool, man! Can't wait to follow your journey here. I've toyed with the idea of writing a book for years (fiction before, non-fiction lately), but the scope of the project always gives me pause. I love your approach of "building in public" - perhaps that's something I might want to embrace as well.
Early Access Pass was a no-brainer decision!
This is ambitious and exciting! Let me know if I can be of service. I'm very much a fan of you getting this done this year.