As all avid readers know, you can judge a book by its cover. The methods for doing so depend on what kind of book you want and on the current publishing trends in your country. Thus the method given below is the one I use when I want a good, entertaining contemporary or at least modern novel of the page-turner variety which is well enough written so that I do not imagine myself editing it with a red pen as I read. In the U.S., such novels are marketed as "literary fiction," ("serious fiction" is sometimes a synonym) but some books with that marketing designation are too trashy and others are too "literary" to fit this particular need of mine.
When I want a different kind of book such as a poetry book or a computer book, I find myself using completely different methods, many of which are in direct contradiction to the method used in my algorithm. As I reread my algorithm for typos, I noticed with a start that a design-in-progress I made for a poetry chapbook I am working on with Martha Deed would be eliminated many times over by the the criteria used in the algorithm. I then realized that this is because I don't like novels which are explicitly funny but I want more humor when reading (or writing) experimental genres of poetry. I find that most jokes get stale if extended throughout a novel-length text, even ones which are hilarious in shorter forms. This applies even to Great Writers, not just to the likes of me and people I know: Swift's A Modest Proposal (an essay written in 1729) is a classic text which still has its bite now, whereas Gulliver's Travels (a novel length allegory/parody) is remembered mostly in cartoon form, not as social satire.
I have given the algorithm in pseudocode. In doing so, I have tried to strike a balance beween my desire to write like a real programmer and my desire to be understandable to non-programmers. As a result, I used a much more old-fashioned programming style than is currently in vogue (pure declarative with no fancy data structures). I used javadoc-style comments as a nod to web programmers, but the rest of the pseudcode is quite un-Javalike. I actually don't speak fluent Java anyway and have a heavy C (not even C++ — only in computers can a thirty-three year-old be an old-timer) accent when I try.
This summer reading algorithm embodies my personal taste in "literary fiction" during a summer's convalescence but it also evokes for me memories of computer science courses I took way back when. I therefore made a series of exercises following my description of the algorithm. This started as a parody but I ended up making a believable problem set for a data structures or algorithms course. I mixed in literary exercises as well, so that it could be used in an introduction to programming for humanities students as well.
Note that I designed the algorithm to be a description of how I actually choose books in physical stores, not as a prescriptive recipe for finding good books. The algorithm has many flaws in both its literary taste and its computational complexity. The exercises at the end raise some of these issues.
ObReview (to use old USENET slang I have almost forgotten): For a serious but funny (as many classic computer science texts are) brief introduction to software development for the web, I recommend Software Engineering for Internet Applications by Eve Andersson, Philip Greenspun, and Andrew Grumet (MIT Press). This book aims to take you from ground zero to being able to program Amazon.com in one semester, which is utterly insane for most people who are new to computers, but it is refreshing in its assumption that the reader is intelligent. The book describes what happened in various MIT classes which tried to use versions of the book, which is interesting to read if you have taught programming but probably discouraging otherwise. The book is probably better for people who have substantial experience with actual computers even though they may not have studied computer science than for actual novices.
Software Engineering for Internet Applications is available in full text online for free, a practice which makes a great precedent. I bought the book (which is priced well below the usual textbook price; the book is quite shoirt however) after reading some of it on the site, so perhaps giving away the goods actually sells more copies in this case. I certainly hope so in these days when textbooks can cost as much as a month's rent for many students. Like most (all?) MIT Press books, the book does not require you to use a particular kind of software, language, or computer. The reader is told to choose a server-side scripting language and a web editing program and learn it independently prior to taking the course or in the first two weeks. You will need to have a web site that allows scripting. The examples are mostly in ASP. The forcus of the book is on designing web applications (in the engineering sense, not the art sense) rather than on writing code, and many details are left out ("for the reader") so this book will disappoint you if you are looking for sample code to plug right into your own pages.
Note: I have never met and have no personal connection to any of the book's authors. I exchanged two or three emails with Eve Andersson once when I wanted to know whether the book is useful for PHP programmers (answer is basically yes with the caveat that people in her classes didn't do well if they chose to use PHP or any other language in which there is not a one-to-one correspondence between script files and web pages).