Preface - Computer Science: A Very Short Introduction (2016)

Computer Science: A Very Short Introduction (2016)

Preface

S. Dasgupta (2014). It Began with Babbage: The Genesis of Computer Science. New York: Oxford University Press: esp. chapter 15.

Chapter 1: The ‘stuff’ of computing

S. Dasgupta (2014). It Began with Babbage: The Genesis of Computer Science. New York: Oxford University Press: chapters 1 & 2.

L. Floridi (2010). Information: A Very Short Introduction. Oxford: Oxford University Press.

D. Ince (2011). Computer: A Very Short Introduction. Oxford: Oxford University Press.

D.E. Knuth (1996). ‘Algorithms, Programs and Computer Science’ (originally published in 1966). Selected Papers in Computer Science. Stanford, CA: Center for the Study of Language and Information.

A. Newell, A.J. Perlis, & H.A. Simon (1967). ‘What is Computer Science?’ Science, 157, 1373–4.

A. Newell & H.A. Simon (1976). ‘Computer Science as Empirical Inquiry: Symbols and Search’, Communications of the ACM, 19, 113–26.

P.S. Rosenbloom (2010). On Computing: The Fourth Great Scientific Domain. Cambridge, MA: MIT Press.

Chapter 2: Computational artefacts

C.G. Bell, J.C. Mudge, & J.E. McNamara (1978). ‘Seven Views of Computer Systems’, pp. 1–26, in C.G. Bell, J.C. Mudge, & J.E. McNamara (ed.). Computer Engineering: A DEC View of Hardware Systems Design. Bedford, MA: Digital Press.

C.G. Bell, D.P. Siweorek, & A. Newell (1982). Computer Structures: Principles and Examples. New York: McGraw-Hill: esp. chapter 2.

S. Dasgupta (2014). It Began with Babbage: The Genesis of Computer Science. New York: Oxford University Press: esp. prologue and chapter 4.

J. Copeland (ed.) (2004). The Essential Turing. Oxford: Oxford University Press.

J. Copeland (2004). ‘Computing’, pp. 3–18, in L. Floridi (ed.). Philosophy of Computing and Information. Oxford: Blackwell.

E.W. Dijkstra (1968). ‘The Structure of “THE” Multiprogramming System’, Communications of the ACM, 11, 341–6.

E.W. Dijkstra (1971). ‘Hierarchical Ordering of Sequential Processes’, Acta Informatica, 1, 115–38.

D. Ince (2011). The Computer: A Very Short Introduction. Oxford: Oxford University Press.

H.H. Pattee (ed.) (1973). Hierarchy Theory: The Challenge of Complex Systems. New York: Braziller.

H.A. Simon (1996). The Sciences of the Artificial (3rd edn). Cambridge, MA: MIT Press.

A.S. Tanenbaum & H. Bos (2014). Modern Operating Systems (4th edn). Englewood Cliffs, NJ: Prentice-Hall.

Chapter 3: Algorithmic thinking

J. Copeland (2004). ‘Computing’, pp. 3–18, in L. Floridi (ed.). Philosophy of Computing and Information. Oxford: Blackwell.

E.W. Dijkstra (1965). ‘Programming Considered as a Human Activity’, Proceedings of the 1965 IFIP Congress. Amsterdam: North-Holland, pp. 213–17.

D.E. Knuth (1996). ‘Algorithms’, pp. 59–86, in D.E. Knuth. Selected Papers on Computer Science. Stanford, CA: Center for the Study of Language and Information.

D.E. Knuth (1997). The Art of Computer Programming. Volume 1. Fundamental Algorithms (3rd edn). Reading, MA: Addison-Wesley.

D.E. Knuth (2001). ‘Aesthetics’, pp. 91–138, in D.E. Knuth. Things a Computer Scientist Rarely Talks About. Stanford, CA: Center for the Study of Language and Information.

R. Sedgewick & K. Wayne (2011). Algorithms (4th edn). Reading, MA: Addison-Wesley.

Chapter 4: The art, science, and engineering of programming

F.P. Brooks, Jr (1975). The Mythical Man-Month: Essays on Software Engineering. Reading, MA: Addison-Wesley.

P. Freeman (1987). Software Perspectives. Reading, MA: Addison-Wesley.

C.A.R. Hoare (1985). The Mathematics of Programming. Oxford: Clarendon Press.

C.A.R. Hoare (2006). ‘The Ideal of Program Correctness’. <http://www.bcs.org/upload/pdf/correctness.pdf>. Retrieved 28 May 2014.

D.E. Knuth (1992). Literate Programming. Stanford, CA: Center for the Study of Language and Information. See esp. ‘Computer Programming as Art’, pp. 1–16.

D.E. Knuth (2001). Things a Computer Scientist Rarely Talks About. Stanford, CA: Center for the Study of Language and Information. See esp. ‘Aesthetics’, pp. 91–138.

I. Sommerville (2010). Software Engineering (9th edn). Reading, MA: Addison-Wesley.

M.V. Wilkes (1995). Computing Perspectives. San Francisco: Morgan Kauffman. Esp. ‘Software and the Programmer’, pp. 87–92; ‘From FORTRAN and ALGOL to Object-Oriented Languages’, pp. 93–101.

N. Wirth (1973). Systematic Programming: An Introduction. Englewood Cliffs, NJ: Prentice Hall.

Chapter 5: The discipline of computer architecture

G.S. Almasi & A. Gottlieb (1989). Highly Parallel Computing. New York: The Benjamin Cummings Publishing Company.

C.G. Bell, J.C. Mudge, & J.E. McNamara (ed.) (1978). Computer Engineering: A DEC View of Hardware Systems Design. Bedford, MA: Digital Press.

C.G. Bell, D.P. Sieweorek, & A. Newell (1982). Computer Structures: Principles and Examples. New York: McGraw-Hill.

S. Dasgupta (2014). It Began with Babbage: The Genesis of Computer Science. New York: Oxford University Press.

S. Habib (ed.) (1988). Microprogramming and Firmware Engineering Methods. New York: Van Nostrand Reinhold.

C. Hamachar, Z. Vranesic, & S. Zaky (2011). Computer Organization and Embedded Systems (5th edn). New York: McGraw-Hill.

K. Hwang & F.A. Briggs (1984). Computer Architecture and Parallel Processing. New York: McGraw-Hill.

D.E. Ince (2011). The Computer: A Very Short Introduction. Oxford: Oxford University Press.

D.A. Patterson & J.L. Henessy (2011). Computer Architecture: A Quantitative Approach (5th edn). Burlington, MA: Morgan Kaufmann.

A.S. Tanenbaum (2011). Structured Computer Organization (6th edn). Englewood Cliffs, NJ: Prentice Hall.

Chapter 6: Heuristic computing

D.R. Hofstadter (1999). Gödel, Escher, Bach: An Eternal Golden Braid (20th anniversary edn). New York: Basic Books.

A. Newell & H.A. Simon (1972). Human Problem Solving. Englewood Cliffs, NJ: Prentice Hall.

A. Newell & H.A. Simon (1976). ‘Computer Science as Empirical Inquiry: Symbols and Search’, Communications of the ACM, 19, 113–26.

J. Pearl (1984). Heuristics: Intelligent Search Strategies for Computer Problem Solving. Reading, MA: Addison-Wesley.

G. Polya & J.H. Conway (2014). How to Solve It: A New Aspect of Mathematical Method. Princeton, NJ: Princeton University Press. (Originally published in 1949).

D.L. Poole & A.K. Mackworth (2010). Artificial Intelligence: Foundations of Computational Agents. Cambridge: Cambridge University Press.

S. Russell & P. Norvig (2014). Artificial Intelligence: A Modern Approach (3rd edn). New Delhi: Dorling Kinderseley/Pearson.

H.A. Simon (1995). ‘Artificial Intelligence: An Empirical Science’, Artificial Intelligence 77, 1, 95–127.

H.A. Simon (1996). The Sciences of the Artificial (3rd edn). Cambridge, MA: MIT Press.

Chapter 7: Computational thinking

M.A. Boden (2006). Minds as Machines. Volume 1. Oxford: Clarendon Press.

S. Dasgupta (1994). Creativity in Invention and Design: Computational and Cognitive Explorations of Technological Originality. New York: Cambridge University Press.

S. Papert (1980). Mindstorms. New York: Basic Books.

P.S. Rosenbloom (2013). On Computing: The Fourth Great Scientific Domain. Cambridge, MA: MIT Press.

J. Searle (1984). Minds, Brains and Science. Cambridge, MA: Harvard University Press.

J. Setubal & J. Meidinis (1997). Introduction to Computational Molecular Biology. Pacific Grove, CA: Brooks/Cole Publishing Company.

C.A. Stewart (ed.) (2004). ‘Bioinformatics: Transforming Biomedical Research and Medical Care’ [Special Section on Bioinformatics], Communications of the ACM, 47/11, 30–72.

P.R. Thagard (1988). Computational Philosophy of Science. Cambridge, MA: MIT Press.

P.R. Thagard (1992). Conceptual Revolutions. Princeton, NJ: Princeton University Press.

J.M. Wing (2006). ‘Computational Thinking’, Communications of the ACM, 49/3, 33–5.

J.M. Wing (2008). ‘Computational Thinking and Thinking about Computing’, Philosophical Transactions of the Royal Society, Series A, 366, pp. 3717–25.

Epilogue: is computer science a universal science?

S. Dasgupta (2014). It Began with Babbage: The Genesis of Computer Science. New York: Oxford University Press.

P.J. Denning & C.H. Martell (2015). Great Principles of Computing. Cambridge, MA: MIT Press.

P.J. Denning (2005). ‘Is Computer Science Science?’ Communications of the ACM, 48/4, 27–31.

P.J. Denning & P.A. Freeman (2009). ‘Computing’s Paradigm’, Communications of the ACM, 52/12, 28–30.

P.S. Rosenbloom (2013). On Computing: The Fourth Great Scientific Domain. Cambridge, MA: MIT Press.

R. Snodgrass (2010). ‘Ergalics: A Natural Science of Computing’.