Quotations for Learning and Programming
I have enjoyed reading (and writing), collecting, and pondering the following quotations, which I think are all relevant to teaching and learning programming. If you know any others that you think I might like, please email them to firstname.lastname@example.org. If you have corrections or further information on the source of one of these quotations, please let me know that too.
ABCDEFGHIJKLMNOPQRSTUVWXYZ Quotations are indexed alphabetically by their author. For authors with multiple quotations, the quotations are alphabetized by the first word in the quotations.
Programs must be written for people to read, and only incidentally for machines to execute. - H. Abelson and G. Sussman (in "The Structure and Interpretation of Computer Programs) The computer revolution is a revolution in the way we think and in the way we express what we think. The essence of this change is the emergence of what might best be called procedural epistemology--the study of the structure of knowledge from an imperative point of view, as opposed to the more declarative point of view taken by classical mathematical subjects. - H. Abelson and G. Sussman (in "The Structure and Interpretation of Computer Programs) We have also obtained a glimpse of another crucial idea about languages and program design. This is the approach of statified design, the notion that a complex system should be structured as a sequence of levels that are described using a sequence of languages. Each level is constructed by combining parts that are regarded as primitive at that level, and the parts constructed at each level are used as primitives at the next level. The language used at each level of a stratified design has primitives, means of combination, and means of abstraction appropriate to that level of detail. - H. Abelson and G. Sussman (in "The Structure and Interpretation of Computer Programs) A common mistake people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools. - D. Adams
http://www.cs.cmu.edu/~pattis/quotations.html (1 of 60)11/16/2009 11:56:40 AM
Quotations for CS1
Good teaching is more a giving of the right questions than a giving of the right answers. - J. Albers They know enough who know how to learn - J. Adams Computer Science is a science of abstraction -creating the right model for a problem and devising the appropriate mechanizable techniques to solve it. - A. Aho and J. Ullman Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it in the same way twice. - C. Alexander Don't worry about people stealing your ideas. If your ideas are any good, you'll have to ram them down people's throats. - H. Aiken Eighty percent of success is showing up. - W. Allen If you're not failing every now and again, it's a sign you're not doing anything very innovative. - W. Allen More is different. - P. Anderson (attacking the reductionist hypothesis in science, by concluding that quantitatively larger systems can be qualitatively different) Today, most software exists, not to solve a problem, but to interface with other software. - I. O. Angell All programmers are playwrights and all computers are lousy actors. - Anonymous
http://www.cs.cmu.edu/~pattis/quotations.html (2 of 60)11/16/2009 11:56:40 AM
Quotations for CS1
Any programming problem can be solved by adding a level of indirection. (also see "Any performance problem..." by M. Haertel). - Anonymous Bad code isn't bad, its just misunderstood. - Anonymous Debugging is anticipated with distaste, performed with reluctance, and bragged about forever. - Anonymous Experience is a poor teacher: it gives its tests before it teaches its lessons. - Anonymous If I had eight hours to chop down a tree, I would spend 6...