Tag Archives: Reading

The future of textbooks. Part 2: E-textbooks

The current notion of a textbook as a sequentially presented, body of knowledge has been around for more than 100 years.  It will continue for some time yet but I take it for granted that the benefits of having an electronic, internet-enabled book are simply so great that paper books will, in the next 10 years, be supplanted by electronic versions.

What will this mean for textbooks – obviously it will change the distribution channel and it will offer textbook authors new opportunities to provide supplementary material alongside the principal text. Mike Hendrickson in his blog post has suggested that publishers may wish to hire producers to support their operations with books evolving into multimedia productions.

Well, this might happen for multi-million selling blockbusters but won’t happen for textbooks.  As anyone who has tried it knows, the effort and skills involved in producing high-quality video are do great that textbook authors simply don’t have the background or ability to do this. It’s hard enough to produce good, meaningful diagrams (which is why many textbooks have few diagrams) let alone multi-media productions alongside the text.

I think that the key benefits of e-textbooks are in 4 areas:

  1. The book can become the focus of a community of readers. I think this is, by far, the most important benefit. Students using the book can see other students’ experiences, can answer each other’s questions and may be able to interact directly with the author. Authors can see what students find difficult and can provide extra material to help them.
  2. Book reconfiguration. I’ve produced various editions of my book over the years and ever time I make a major revision I change the structure. The truth is that, for most topics, there is no single logical sequence of presentation and that the organization of material is best left to the course instructor rather than the book author. E-textbooks, if designed and written properly, can be loosely integrated allowing them to easily reconfigured to suit the needs of a specific course.
  3. Incremental acquisition. Many courses taught in universities use part of a textbook in different years. But students have to buy the whole book even if only half of it is relevant to their course. An incremental purchasing model for e-books allows them to buy the chapters that they need, when they need them. They may be able to subscribe for updates so that these are pushed to their e-book reader as they are available. Such an approach makes it feasible for instructors to draw on a number of different books for their courses – it’s currently unrealistic to expect students to buy all of these.
  4. Integration with ‘free stuff’. Although I have criticized ‘free stuff’ in a previous post, there is good material out there, especially research papers on authors’ personal sites and repositories. E-textbooks can link seamlessly to this, allowing some topics in a course to be explored in depth. Of course, the problem here is that lots of the ‘free stuff’ is ephemeral and likely to disappear as web sites are reorganized. But authors can work around this by caching local copies, etc.

An often suggested ‘advantage’ that I haven’t mentioned is the notion of continuous updating where the textbook is revised incrementally and readers always have the ‘most recent’ version of a chapter. I’m unconvinced by continuous updating (except, of course, for error correction) for 2 reasons:

  • It makes it very hard to maintain links between different chapters of the book. References from one chapter to material in another are potentially unreliable and you may find that styles differ from one chapter to another.
  • Instructors cannot rely on the material in the book. Say you teach from one chapter but by the time of the class exams, the chapter has changed. How do you relate what you have taught to what’s in the book. Pragmatically, instructors reuse material such as tests and exam questions in different years and really don’t want to have to continually redesign these.

We still have a lot to learn about how to write and design e-textbooks – simply re-interpreting the XML will lead to very ugly and unreadable books. But authors will go through this learning experience and e-textbooks in science and engineering will become the norm in the next few years.

Part 1: Are textbooks obsolete

Part 2: E-textbooks

Part 3: Textbook publishing

Part 4: Author-led publishing


How these books might be published and the problems of publishing will be the topic of my next post on the future of textbooks.


Filed under CS education

The Future of Textbooks. Part 1: Are textbooks obsolete?

I’ve recently read an interesting article on the future of the book, written from a publisher’s perspective and watched an excellent video of Margaret Attwood talking about the future of publishing from an author’s perspective.

This stimulated me to think about the future of academic textbooks, specifically books for a student audience, which are used to support teaching.  This is quite a complex topic so I can’t cover it all in a single post – this is the first of a number of posts on this topic.

I’m a textbook author so, obviously, I’m not unbiased. However, I have thought carefully about the requirements for a textbook and, arguably, the fact that my book has been around for such a long time means that I can’t have got things completely wrong.

Some people argue that textbooks, in the sciences at least, are obsolete and that faculty and students can get all the information that they need from free sources on the Internet.

Well, if you think this, try the following test. Assume that you are teaching a course on software engineering and you’d like to include some material on software testing. Google ‘software testing’. There’s lots of superficial articles defining testing terms (e.g. Wikipedia) and information about testing tools but nothing that actually tells you how to design tests. Hardly any of the material includes examples or explanatory diagrams. Maybe if you spend some hours searching and skimming you’ll find more material. But, much better to turn to How to Break Software: A Practical Guide to Software Testing , a short book on the subject.

The material on the web tends to be superficial and, almost universally, lacks the illustrative examples that are so important when you are trying to explain things to students. The reason why this is the case, of course, is that examples and good explanatory diagrams are time consuming to produce. People who spend the time creating a coherent description of some topic rightly want some reward – perhaps financial but more often with textbooks, some tangible recognition of the work that they have done.

As well as finding ‘free stuff’, there is also the problem of integrating material from a diverse range of sources into a coherent course. More often than not, you will find that material from different sources has overlaps, contradictions and omissions and you will have to work (as a reader) to reconcile these. Alternatively, the course instructor will have to sort out the problems and, almost certainly, do more work than they would have done with a textbook.

So I believe that textbooks, as coherent accounts of some topic, are not obsolete and that students and instructors will continue to use and buy them. But, for sure, they will have to change – they are too expensive,  monolithic and do not take advantage of the multiple channels of communication that are now available. What these changes might be will be the topic of my next post.

Part 1: Are textbooks obsolete

Part 2: E-textbooks

Part 3: Textbook publishing

Part 4: Author-led publishing



Filed under CS education

Reading list for techies

Inspired by the Atlantic Monthly Tech Canon, books every technie ought to have read, I have volunteered to put together a reading list for computer science students. This is not a list of textbooks but a list of more general reading on tech topics (computing and others) that will help them broaden their understanding of technology and science. This is a ‘work in progress’ – some of my colleagues are making suggestions and these will be added when they give me more information about them. We want perhaps 20 books in total that we think every computer science student should have read.

Perrow, C. (1984). Normal Accidents: Living with High-Risk Technologies. New York: Basic Books. Reprinted 1999. [Ian S.]

A case study of a number of accidents and a discussion of why accidents are inevitable in technically complex systems. Looks at risk from a social perspective and discusses why we can’t eliminate risk by technology alone. In fact, adding technology supposedly to reduce risk can have the opposite effect as it increases complexity and increases the likelihood of unexpected couplings between elements of the system.

Nick Carr. (2008). The Big Switch: Rewiring the World from Edison to Google. W.W. Norton & Co.[Ian S.]

An introduction to cloud computing and how it will change the way we use computing systems. All students should know something about the cloud even if it isn’t a course module.

Clay Shirky. (2009). Here Comes Everybody: How Change Happens when People Come Together. Penguin. [Ian S.]

All about social media and how it’s use is fundamentally changing the way people interact and how it can empower group actions. Gets over the importance of social media and how it isn’t just about interactions with ‘friends’.

Henry Petroski. (1992). To Engineer is Human: The Role of Failure in Successful Design. Vintage Books. [Ian S.]

Discusses how engineering design is all about learning from failure and changing design practice to avoid the same failures. It’s important that CS students have an understanding of design in other disciplines, constrained by the laws of physics. It is worrying that in software engineering, we haven’t really learned these lessons.

Douglas Coupland. (1995). Microserfs. Harper Collins. Reprinted, 2004. [Ian S.]

Fictional life of a group of geeks (and their search for a life) at MicroSSSS and at a startup in Silicon Valley. Good fun; I suspect it’s a pretty accurate portrayal of these times and Coupland seems to have learned enough about the technology to make it believable.

Don Norman (1988) The Design of Everyday Things [Aaron Q.]

This is very easy to read yet insightful book on what makes for good and bad design in the everyday objects around us. Some of the examples will make you laugh, some cry, and some will make you think, could I have designed that? Originally called the Psychology of Everyday things, Norman walks us through elements of psychology, knowledge and knowing. Completing with a discussion on the design challenge we face and how “User Centred Design” can be employed. After reading this any computer scientist will start to look at the physical and digital objects in your work and life differently.

Ed Tufte (1990) Envisioning Information [Aaron Q.]

This book is a beautiful exposition of various visual design concepts drawing on rich examples from both our recent and more distant past. Computer scientist’s interested in Information Visualisation might wish a text on algorithms, methods and visual toolkits. This is not that book, there are many other books which address those topics. Instead here, Tufte demonstrates how elements of graphic design and information display  can alter our thinking, argumentation, confidence, resolve and sense of aesthetic. Importantly, Tufte draws on a range of physical printed graphical displays (maps, charts, diagrams etc.) to offer practical advice on how to explain complex material by visual means. This book challenges us to start looking at how both desktop and mobile graphical displays might better present information.

Neal Stephenson Cryptonomicon [Al D].

A fictional epic featuring everything for a Computer Science: Bletchley Park, encryption, Van-Eck freaking, protecting electronic assets, Internet banking (did I mention gold, submarines and the second World War). If you like this you should also read Snow Crash by the Same Author.

Charles Stross Accelerando [Al D.]

This is another amazing book in the Cyber-Punk genre. It features a myriad of ideas including the world being turned into Computronium, digitised humans being sent to the other side of the Universe in a Coke can and the idea that no advanced civilisation would want to invade the Earth because we are too far away from the centre of the Universe and consequently there would not be enough bandwidth!  Once you read this one, read his other novels – brilliant.

E. DiMarco and T. Lister. Peopleware [Al D]

This is a classic – everything you need to know about working in a team (and how not to). Lots of stuff about the working environment which I try to follow whenever I can.

William Poundstone. How Would You Move Mount Fuji? [Al D]

This book is subtitled “Microsoft’s Cult of the Puzzle – How the World’s Smartest Company Selects the Most Creative Thinkers”. Most Computer Science students will be looking to get a job sometime. This book contains what are essentially interview questions – many of them based on what we teach in CS2001 – how do you find out if a linked list has a look in it…

Charles Murray and Catherine Bly Cox. Apollo: the Race to the Moon

This book is amazing but very hard to find (so I include this link http://www.amazon.co.uk/gp/product/0436302241/). This book is all about how the Americans put Man on the moon. The book is really all about projects and how to run them and also how not to. I would really recommend this book to anyone but especially to anyone who thinks they can manage projects (or want to).

Goldacre, B. (2009). Bad Science. Harper Perennial. [Saleem B.]

Describes how data can be mis-used to present what appear to be “facts”. Includes many examples from real stories reported in the press and in scientific publications, covering topics from medicine to the public misunderstanding of science. It is scary how much completely wrong stuff people can believe to be true.

Hannam, B. (2010) God’s Philosophers: How the Medieval World Laid the Foundations of Modern Science. Icon Books Ltd [Saleem B.]

Most people think that science is a relatively modern occurrence, and that the Dark Ages were an intellectual void. This book discusses some of the key inventions of our time such as spectacles, the mechanical clock, the compass and gunpower, and places them into their historical context in the Middle Ages of Europe. (Shortlisted for the Royal Society Prize for Science Books 2010)

du Sautoy, M. (2010). The Number Mysteries: A Mathematical Odyssey Through Everyday Life. Fourth Estate [Saleem B.]

An explanation of how mathematics impacts our everyday lives, from playing football to shopping on the Internet. The examples from everyday life, presented in a very accessible manner, are what make this book such a good read. (Prof Marcus Du Sautoy delivered the 2005 Royal Institute Christmas Lectures)

Stephens, W. R., Rago, S. A. (2005). Advanced Programming in the UNIX Environment. Addison Wesley; 2nd Ed. [Saleem B.]

The title says it all – it’s the Daddy.

Eco, U. (1980) The Name Of The Rose. Vintage Classics; New edition (1 May 2008) [Saleem B.]

First published in 1980, this is a medieval murder mystery involving coded manuscripts and a brotherhood of conspiratorial monks. A really good whodunnit.



Filed under Reading

The history of version control

N.B. Ruparelia, SEN, 35 (1), January 2010

A brief history of software version control from the 1970s to the present day. The article presents a general overview of version control than briefly summarizes a number of different version control systems. Most of the focus is on open source systems and the author doesn’t mention broad CM tools, such as Clearcase. I don’t think he gives enough credit to SCCS as the pioneering system in this area. In general, this is a good starting point for further reading (and googling) on version control.


Leave a comment

Filed under SE9-Reading