In November I've started thinking about teaching resources for IoT. My motivation is that IoT is a vast area covering hardware, software, security, data analytics, product design, and many more specialist fields that are all taught as standalone courses at the university level. However, as integrative and interdisciplinary thinking is of the essence for successful IoT products, I had been looking for a textbook that would allow IoT practitioners with a particular background to learn key concepts from all other areas. I'm convinced that people with broad knowledge have better ideas and out-of-the-box thinking abilities, and thus I'd expect a software specialist to know basic ideas of product design, a security researcher to understand the nature of electric current, or a hardware engineer to be aware of the fallacies of distributed computing.
People have argued that books with titles along the lines of "[random technology, hardware platform, programming language] for IoT" are by far more relevant for practitioners, but I take the stance that albeit many computer scientists ultimately are employed as programmers, their academic education is going to cover many subjects of computer science, not just programming - for a good reason. And the same should apply for the future generation of IoT engineers.
My proposed book outline covers the following topics:
- Physical Principles and Information Theory The physics, electronics and engineering required to understand IT and communications.
- Internet A historical perspective from networks to hypertext to Web 2.0 to connecting hardware.
- Applications of M2M and IoT Showcases for M2M and IoT in important verticals.
- IoT Architectures Network architectures, hub (or no hub), uni- or bi-directional, issues with UX and UI.
- Hardware Power options (including theory), actuators, sensors, embedded systems, communication.
- Software Internet protocols, embedded software, backend software, data analytics, standardisation (interoperability, device catalogues, ontologies).
- Security Attack surface, securing hardware, securing software.
- IoT, People and Society societal changes, privacy, ethical considerations.
The current table of contents covers some 120 topics, so this is of course just a brief overview. At this stage it's hard to tell how many pages the book is going to have (or if I'm ever going to finish it, given that I'm going to seek proper employment by summer).
Over the past two and a half months I have worked on the first chapter, Physical Principles and Information Theory. Some of my technical reviewers have already gotten back to me about the first 30 or so pages. It's interesting that those who've read courses at German universities found it rather superficial, while most of my British friends thought it was too theoretical and very far away from what's relevant for a practitioner. In a way, that confirms that I'm on the right track, as I'm thinking about my experience at the University of Cambridge and remember that I've often expressed my concern about their narrow undergraduate education. With my current degree of granularity and detail, I'd assume the first chapter to have about 60 pages.
I'm still looking for co-authors who might be interested in particular sections of the book, or people with expert knowledge to validate my explanations.
Postscriptum: From a practical perspective, I've found Scrivener a very useful tool to structure and draft my content and collate information from the interwebs. I'm using TeXPad to do the proper typesetting in LaTeX and EazyDraw to generate EPS figures (35 line art or gray scale figures). So far I've had to use two pictures, for which I managed to obtain permission to reproduce.