Five papers that Computer Science Students Should Read

At a first year induction session for BSc. Computer Science, I asked the new students to read about the history of computer science as it is no longer a “new” subject. We have a history. One brave student asked for some readings.

Here are some of my personal favourite research papers that are seminal and have influenced my work and general interest in computer science. No order of preference is implied. The list is just how I recalled the papers. I can offer so many more but will restrict myself to just 5.

(1) Peter Naur wrote a seminal essay on what it means to write a software program. The paper drew on Gibert Ryle’s “Theory of Mind”. The paper is entitled:“Programming as Theory Building”. It is available at:

(2) As my original PhD was in the area software engineering of interactive graphics applications, the original thesis by Ivan Sutherland was somewhat foundational: Sketchpad, a man-machine graphical communication system. The thesis is available as a technical report from the Cambridge Laboratory.

(3) How could anybody not understand the influence of Peter Chen’s paper “Entity Relationship Model – Towards a Unified View of Data”. Available from the ACM Digital Library:

(4)  The beginnings of structured programming was perfectly captured by the father of structured programming as we understand it now. The paper title is a classic in itself and much parodied. Short. Its just a letter… “Go To Statement Considered Harmful” Available at:

(5)  Finally, but not because I cannot offer anymore, I present the seminal paper by David Harel: “Statecharts: A Visual Formalism for Complex Systems.”.  This paper provided a foundation for visual design, the basic tenet of many modelling languages but most notably UML. I was lucky enough to enjoy an industrial research career at Texas Instruments courtesy of model based design. The paper is available at: