Simon Gray, from the College of Wooster, asked members of the SIGCSE mailing list what books would make for good summer readings. I am posting the content of his email as it contains some really good stuff. (Disclaimer: I have not read most of this, but the stuff I have read is really good.)
It would be a shame to confine this to the listserv whence it came, so I post it here and heap praise upon Prof. Gray for doing this.
— cut here —
About two weeks ago I asked for recommendations for articles, books, videos, and movies that undergraduate CS majors might take up over the summer to broaden their horizon. Many thanks for the recommendations. The list below does not include everything shared with me (a much longer list). I have shared this list with my students and will ask them in the fall which they picked up and thought was useful. I hope you have a restful and productive summer (I am pretty sure the two can co-exist).
Summer Reading and Viewing
Things a Little Bird Told Me: Confessions of a Creative Mind, by Biz Stone (co-founder of Twitter). How Twitter happened and evolved, so an interesting inside view into how startups thrive (and can disappear) in Silicon Valley. It is also about living by a principle and negotiating difficult times. Very readable.
Weaving the Web by Tim Berners-Lee. This book is not about programming the web. It is about selling your ideas, perseverance and working in, around, and through “the system.” It’s also about believing in your idea when others do not recognize its potential. And finally, it’s simply a marvelous read that can be completed in a couple of evenings.
Programming Pearls, Jon Bentley. This is an excellent book for taking programming skills to a higher level. Written for C, but the ideas/exercises can be translated to other languages. Some examples are dated, but the main points of understanding a problem and fitting the solution to it are timeless.
Code Complete: A Practical Handbook of Code Construction, by Steven McConnell
Code Craft – The Practice of Writing Excellent Code, by Pete Goodliff
Why Software Sucks, by David Platt
The Mythical Man Month: Essays on Software Engineering by Fred Brooks. A classic. The writing is clear and accessible to undergrads. If readers have attempted at least one software development project of significant size, especially if it involves customers or a team, the messages will resonate. The chapters are short; each can be easily read in a single sitting.
Nine Algorithms that Changed the Future, by Chris Bishop.
Blown to Bits, by Hal Abelson, Ken Ledeen, and Harry Lewis. Available at http://bitsbook.com. Wonderful for looking at social consequences of the digital age.
Recoding Gender, by Janet Abbate A history of women in computing. It’s an explanation of how we got where we are with the gender gap, from ENIAC to the 70s. It’s extremely well-researched.
The Victorian Internet: The Remarkable Story of the Telegraph and the Nineteenth Century’s On-line Pioneers, by Tom Standage
Diffusion of Innovations, by Everett Rogers is powerful stuff for understanding concepts like early adoption, why certain technologies become popular, why others fail, etc. It also helps explain why QWERTY won the keyboard layout wars and will probably never disappear. First few chapters are especially relevant.
As We May Think by Vannevar Bush is such an amazing look, and nearly prophecy, of what information and its management would become. Some of the ideas are fantastical, such as his emphasis on microfilm and the idea that speech recognition would be readily solved. Other ideas, such as the memex, wearable devices, and hypertext care hear now nearly 70 years after that article was published.
The Medical Detectives, by Berton Roueche. An older book; readable and entertaining. This is about diagnostics: gathering information and learning how to ask good questions to solve a problem. While the application is medicine, the ideas apply to every area, including requirements elicitation, design, and debugging.
The Dream Machine: J.C.R. Licklider and the Revolution That Made Computing Personal, by M. Mitchell Waldrop. It is a very readable introduction to an incredibly important historical transformation, which the subtitle doesn’t even fully capture because it is really as much about *inter*-personal as it is about personal. Licklider was one of the visionaries who recognized the computer could be not just a tool that worked for us but also a communication medium through which we worked with one another.
Made to Stick, by Dan Heath and Chip Heath. Why some ideas persist when others disappear. Very readable.
InGenius: A Crash Course on Creativity, by Tina Seelig. A good introduction to Design Thinking. Easy to read with engaging stories. The parts on reframing and empathy are especially important.
Solving problems with design thinking: 10 stories of what works, Jeanne Liedtka, Andrew King, and Kevin Bennett. This is best to read after looking at Seelig’s InGenius and some of the videos listed here. You don’t have to read all the case studies to benefit from this book. The key is to read the stories with the principles of design thinking in the back of your mind. See how the principles were applied and think about how you could generalize that to other situations.
Where Good Ideas Come From: The Natural History of Innovation, by Steven Johnson.
How to think like Leonardo DaVinci: seven steps to genius every day, by Michael Gelb. This is a book that goes after the idea of a “Renaissance person”, which is popular today, and does have good insights about recognizing yourself as a whole and integrated person instead of a disjoint set of roles that have no effect on each other.
Creativity for Critical Thinkers, by Anthony Weston is mostly about habits that encourage idea creation and recording. Good for people who want to find projects or pursuits, but feel like they have no good ideas.
Group genius: the power of collaboration, by Keith Sawyer, and was really formative to my understanding of how the progress of ideas really works. He does an excellent job of debunking the “lone genius” myths that we build up around people like Leonardo, Edison, or Jobs. It cements the idea that anyone can contribute to the advancement of society, and that big, real advances are built up on many small ideas that could come from anybody, not just the most brilliant among us. It is more important for us to contribute what we can and build on what others have done than it is to wait for a completely formed spark of brilliance to strike (which it never does.)
The True Believer, by Eric Hoffer. You will learn something about why some people adopt strongly-held beliefs in the absence of supporting evidence — they have to believe — it doesn’t matter what so long as they have something to believe in. Great insight on human nature.
The Poetics of Space by Gaston Bachelard. A mind expander for software designers and CS students.
The Mother of All Demos: When Douglas Engelbart demonstrated live the mouse, the workstation, chorded keyboards, etc. Students need to see this, to hear his comments about the ideas, and just get an image of how amazing such an event was.
Marissa Mayer (CEO Yahoo) Ideas Come From Everywhere
Ted Zoller (Kauffman Foundation) Intersection of Opportunity and Need
Ted Zoller (Kauffman Foundation) The Advantage of Serendipity
Janice Fraser (Adaptive Path) Coping with Failures
Padmasree Warrior (Ciscco) Growing Beyond Spreadsheet Leadership
Steve Jobs on Failure
Carol Bartz (Autodesk) The Importance of Attitude
William Sahlman (Harvard Business School) Four qualities to look for when hiring
Tina Seelig (Stanford Technology Ventures Program) Every Problem Is An Opportunity
Jer Thorp – Visualizing the World’s Twitter Data
Brad Feld (Boundry Group, Techstars) Why Are You Doing It?
Jeff Household (Shutterfly) Reframing the Photo Market
John Seely Brown (Deloitte Center for Edge Innovation) The Knowledge Economy of World of Warcraft
Bart Weetjens (founder of APOPO) How I Taught Rats To Sniff Out Land Mines
David Friedberg (The Climate Corporation) – You Gotta Grind
Grant Young Design Thinking for Social Innovation
Where do Good Ideas Come from – TEDTalk playlist
The Creative Spark – TEDTalk playlist
Design Thinking — Maximizing Your Students’ Creative Talent: Co Barry at TEDxDenverTeachers
Reframing the Problem: Seeking Social Innovations: Shawn Smith at TEDxStanleyPark
He talks about getting engaged. The reframing the problem idea is useful.
Generally, visit Stanford’s Entrepreneurship eCorner: http://ecorner.stanford.edu/
and just about every TEDTalk is worth watching: http://www.ted.com/
The videos are short (2 to 20 minutes), well done, informative (mind expanders!), and entertaining.