Archive for the 'computer science' category

Reading Diary: Lauren Ipsum: A Story About Computer Science and Other Improbable Things by Carlos Bueno

Dec 24 2014 Published by under book review, computer science, science books

Carlos Bueno's new book, Lauren Ipsum: A Story About Computer Science and Other Improbable Things, is another example of how to create a fun and informative books for kids that is both entertaining and engaging. While not without some faults, it does a great job of using character and story to convey serious ideas about computer science in an accessible way.

The premise of the story is that our plucky heroine, Lauren Ipsum, or Laurie, gets lost in the forest after an argument with her parents and somehow finds her way into the mysterious alternate reality Userland. In order to find her way home, she has to solve a bunch of puzzles and figure out a path back to her own city. She encounters a wide range of quirky characters and situations, all of which the author uses to explain real concepts in computer science. And not the kind of computer science that's associated with programming or websites or operating systems and gadgets. Bueno definitely aims at explaining the deeper underlying concepts of computing, like travelling salesmen, problem solving, upper and lower bounds, recursion, networks, binary searching, algorithms, brute force, heuristics, Mandelbroccoli and all the rest. One feature I really appreciated is a Field Guide/Glossary at the end which Bueno is more explicit about what concepts he's trying to get across in each chapter as well as providing a more detailed explanation.

And Bueno mostly does a great job of using the framing narrative to elucidate the concepts largely by making Laurie jump through a bunch of plot hoops.

And there's fun stuff here too for the grown up computer scientist who'll catch a lot of jokey references to jargon and personalities in computing, such as the towers of Hanoi, the source of Lauren's name and so many others.

Above I did say mostly and there are a few weaknesses in the book. At times I felt Bueno was trying to cram too many concepts into too short a space, seeming to speed up as the book went along. The integration of Lauren's story with the computing content started out extremely well but the plot and characterization seemed to take more of a backseat to the concepts with each passing chapter. Probably the characterization and plot momentum needed to stay stronger -- the spoonful of sugar to help the computing conceptual medicine go down, as I've said so many times in reference to science-themed children's books and graphic novels. Miran Lipovaca's illustrations are wonderful, but they could have been used more to illustrate how the plot points related to the concepts. Which leads me to believe that maybe a graphic novel treatment of this material would also have been an interesting project. Who knows, maybe that's the next step!

But those are minor quibbles. Overall I really enjoyed this book and would recommend it as a gift for any child in your life, especially the girls. It's probably most appropriate for kids starting at about 8 or 9, but many both younger and older will find much to enjoy. Any school library should definitely get this book as should education libraries at post-secondary institutions. The book is deep and serious "under the hood" so just about anyone of any age that wants to learn about computing will find much to enjoy and learn here. Perhaps some further reading at the end would have been appreciated.

Bueno, Carlos. Lauren Ipsum: A Story About Computer Science and Other Improbable Things. San Francisco: No Starch, 2015. 192pp. ISBN: 978-1-59327-574-7

No responses yet

Reading Diary: The Golden Ticket: P, NP, and the Search for the Impossible by Lance Fortnow

May 21 2013 Published by under book review, computer science, science books

Someone shoot me if I ever use the term NP-complete in a sentence. Or at least if I ever use the term in a conversation with "civilians."

Such is the dilemma of reading and reviewing a wonderful book like Lance Fortnow's The Golden Ticket: P, NP, and the Search for the Impossible. I'll be tempted to start throwing around terms that Fortnow has explained so well and so clearly. A temptation I should resist. Instead I should recommend this book.

Anyways, what's the book about? As the title indicates, the purpose is to explain to a popular audience the computer science concept of P vs. NP, in other words is P = NP or is P != NP.

Yeah, not helpful put that way.

A rather nice explanation from the jacket blurb:

The P-NP problem is the most important open problem in computer science, if not all of mathematics. Simply stated, it asks whether every problem whose solution can be quickly checked by computer can also be quickly solved by computer.

And from page ix:

P refers to the problems we can solve quickly using computers. NP refers to the problems to which we would like to find the best solutions. If P = NP, then we can easily find the solution to every problem we would like to solve....If P != NP, by contrast, then there are some problems we cannot hope to solve quickly.

And Fortnow takes it from there, sketching the history of the P vs NP pursuit since it was first formulated in the 1970s up until the present. He also sketches out a bit of a utopian vision of how society would change, how it would become what he calls a beautiful world, if P = NP. If we can know for sure that all problems ultimately have fast solutions, then it's only a matter of time before we discover them. And solve all our problems.

However, Fortnow doesn't think that P = NP. He thinks that there is no possible ultimate beautiful world, but that we will have to strive to find "good enough" solutions to those hard problems. And yes, he does talk about what those hard problems are in theoretical computer science and how they affect our everyday lives. Cryptography is perhaps the most well-known application area for those hard problems. Fortnow doesn't think we are anywhere near to solving P vs NP, that we may even be hundreds of years away. Or that we may never solve it.

Overall a fine book. Comparable in level to a physics book by say, Sean Carroll or Lee Smolin. In other words, you will have to challenge your mind a little to grasp every example and problem description. I would recommend the book for any academic library collection collects popular science. In particular, since there seems to be fewer popular computer science books than other fields, Fortnow's book fills a gap. I would normally not suggest this type of book for smallish public libraries, but again it does fill that gap. As for school libraries, mathematically gifted students at the high school level would find a lot to love about this book.

At the end of the day, it's also wonderful to see a computer science book that thanks the library for its print and digital collections in the Acknowledgements. Thanks for the hat tip, Lance, we appreciate it. And thanks for the nice bibliography of sources worth checking out.

Fortnow, Lance. The Golden Ticket: P, NP, and the Search for the Impossible. Princeton: Princeton University Press, 2013. 176pp. ISBN-13: 978-0691156491

(Review copy provided by publisher)

No responses yet

From the Archives: Interview with Eugene Wallingford of Knowing and Doing

I'm on my annual summer hiatus for the month of July so I'll be only publishing my weekly Friday Fun posts as well as re-posting some of the interviews I did a few years ago on the old blog with people from the publishing, library and science worlds. Not that my posting of late has been particularly distinguishable from the hiatus state, but such is the blogging life after nearly ten years: filled with ups, downs, peaks, valleys.

This interview, with Eugene Wallingford, is from July 9, 2008.

I'm hoping to get these out weekly, but we'll see. They're mostly cobbled together in odd moments then scheduled for a few days or weeks later.


Welcome to the latest installment in my occasional series of interviews with people in the scitech world. This time around the subject is Eugene Wallingford, Head of the Computer Science Department at University of Northern Iowa and author of the blog Knowing and Doing. I've been following Knowing and Doing for most of the four years it's been running (Happy Blogiversary, Eugene!) and I've always been impressed by Eugene's insights into the world of computer science, especially from the educational viewpoint. Since it's been quite a while since I interviewed a CS faculty member, I thought it would be a perfect opportunity to see what Eugene thinks about some of the important issues in the field today. I think there's some food for thought in the interview for librarians supporting CS programs and students.

Thanks to Eugene for his thoughtful responses. Enjoy!

Q0. Hi, Eugene, please tell us about yourself, your career path and how you got to be the Head of the Computer Science Department at University of Northern Iowa.

Thanks, John, for asking me for an interview. I am honored to share a few thoughts with your readers.

From the time I was seven or eight, I wanted to be an architect. All of my career planning in school aimed that direction. Academically, I liked everything and so had a full load of math, science, literature, history, and social science.

I started college as an architecture major. While I liked it just fine, something was missing. Somehow, I was drawn toward computer science. I ended up double majoring in CS and accounting, but CS was my passion, especially artificial intelligence. I went on to grad school, specializing in knowledge-based systems. My dissertation focused on the interaction between memory and domain knowledge.

A little over three years ago, we were nearing the end of an interim department head's term. I'd never given much thought to being an administrator, but I saw many ways in which we could improve and thought for a moment that I might be the right person to help us get there. I am now ending my first 3-year term and have agreed to continue on for three more years. Looking back, I see some improvements but, frankly, had hoped to have accomplished more. This is a tough job. It lets me be a computer scientist in some ways but takes time away from doing all of the CS I love. I'm committed to helping us move forward for another term, and then we'll see.

Q1. Do you have a theory of blogging? What got you started blogging and what do you get out of it and what keeps you going? I'm sure all your faithful readers are hoping you can add comments to your blog at some point.

I don't think I have a theory of blogging. I first started because I had things I wanted to say. Every computer I had ever owned was littered with little essays, reviews, and conference notes that no one had ever seen. I'd been reading several blogs for several years and thought that starting a blog was a way to make some of my writing more permanent. If others found it worth reading, all the better.

My blog consists mostly of short pieces connected to my professional life as a computer scientist and faculty member. I make connections among things I read, write, see, and do. My one personal indulgence in writing is running, and I've written quite a bit about my experiences training for marathons. Some of my more interesting pieces in this category have made connections from training and running to software development.

Occasionally, I write something that is purely personal, or something that made me smile and laugh. I don't think anyone really wants to hear about what I eat for meals or who I am voting for in elections, so my blog has never veered in that direction. But readers get to know me as a professional person, and I do think that knowing something about the person on the fringes adds depth to how they read my other pieces.

Comments... Yes, I understand. When I first started blogging -- four years ago today (July 9)! -- I planned to add comments. The tool I use to blog is very simple and didn't make that easy. I've just never gotten around to it.

I read many blogs in which comments make a valuable contribution to the message. In others, they add little. There are many ways in which I would relish an ongoing conversation with readers. Adding comments is still on my wish list.

Q2. You blog a lot about teaching computer science. Do you have a teaching philosophy? How do you think teaching computer science differs from teaching other disciplines?

There was a thread recently on the SIGCSE mailing list about teaching philosophies. Many schools ask job applicants for a statement of teaching philosophy, and some folks think that's silly. How could new Ph.D.s have teaching philosophies when they have spent little or no time in a classroom?

I've been on the CS faculty for sixteen years now, and I can't say that I have a coherent, pat teaching philosophy even now. Were I to apply for a new job, I would have to do what those new Ph.D.s have to do: scour my mind for bits of truth that reflect how I teach and how I think about learning, and then mold them into an essay that captures something coherent about me on this day.

My blog exposes some of these bits of truth as I write about my experiences in the classroom. It will be a wonderful resource the next time I have to write a statement of philosophy.

Thinking back to all I've written in the last few years, I can see some themes. Learning is more important than teaching. Students learn when they do. Students learn when they want to do. What I can do as a teacher is to create an environment where students come into contact with cool and powerful ideas. I can organize ideas, skills, and tools so that students encounter them in a way that might spur their desire. Ask students to write programs and solve problems. Ask them to think about how and why. Ask them to go deep in an area so that they learn its richness and not its surface chemistry. Oh, and show as often as I can and in as many ways as I can how much I love computer science. Show what I learn.

That paragraph would get me started on a philosophy statement.

Computer science is an interesting mix of mathematics and programs. Most people don't realize that it is a creative discipline -- a discipline in which making things is paramount. In that sense, we can learn a lot from how writers and artists (and architects!) learn their craft.

Q3. Another of your favourite themes is how computing is infiltrating all the other sciences -- in other words we're getting to the point where it's computational everything. What got you interested in that trend and where do you see it going?

This is not as new as it might seem. Computer science has always been about applications: creating solutions to real problems in the world. The discipline goes through spurts in which it looks inward, but the focus always turns back out. When I was in college in the first half of the 1980s, there was a lot of talk about end-user programming, and even then that wasn't new. Alan Kay has been talking for forty years about computing as a new medium for expressing ideas, a medium for every person. Before that, pioneers such as Marvin Minsky said similar things.

What's happening now is a confluence of several developments. Computing power has continued to grow at a remarkable pace. Our ability to gather and store data has, too. We realize that there will probably never be enough "computer scientists" to solve all of these problems ourselves, and how could we anyway? Biologists know more biology than I ever will; likewise for economics and astronomy and geography and most other disciplines. We are reaching a point where the time is right to fulfill the vision of computing as medium for expressing and testing ideas, and that will require we help everyone use the medium effectively.

Q4. Enrollment has been an issue in the CS community for a while now. Are you happy with the current levels of enrollment? What do you think are some of the ways to get enough students of all kinds interested in CS and willing to consider it as a major? How can we improve the diversity of the students willing to give CS a shot?

We've started to see a small bounce in our enrollments, and I think this trend will continue for a while. I'm not sure that we will ever see the large growth we saw in the 1980s and 1990s, but that's okay -- as long as we recognize our need to broaden the base of people who can use computing in their own disciplines.

Figuring out how to get more students to major in CS or to learn how to use computing in their own disciplines is not easy. If I knew the answer, my school would have a lot more majors and students! There are a lot of things we can do: tell our story better; help more people to understand what computing is and what we do; introduce our ideas to more students earlier in school. One thing a lot of us have noticed over the years is that most people learn about CS as something "hard", a discipline that requires special wiring in the brain. While it's probably true that not everyone is suited to do academic research in CS, I think that everyone can learn to use computing as a medium for expressing ideas. If we can find good ways to introduce computing in that way across the population, the number of majors and the number of interested non-majors will take care of themselves.

Q5. Could you tell us a little about your research interests?

As I mentioned in my history earlier, I started in the area of artificial intelligence, a field in which computer scientists work with many others in an effort to make computers do ever more impressive tasks. Most of my work was in Knowledge-based systems, a sub-area that focused on how systems with deep knowledge of a class of problems can organize, access, and use the knowledge to solve those problems. In the mid-1990s, I began to move in the direction of intelligent tutoring systems, which are programs that help people to learn. This was probably a natural evolution for me, given my interest in how my students and I learn new areas of expertise.

In the late 1990s, I found myself drifting toward work in the area of software design and development, which led me more toward programming languages. Notions of design and language were central to my interest in AI, but I found the concreteness of supporting software developers attractive.

As a department head, I don't have much time for research. When I do have time, I work on how to provide support to programmers as they write, modify, and manipulate code. Of particular interest is how to support refactoring (changes to programs that preserve their intended behavior but modify their structure) in dynamic languages, which do not provide all of the cues we need to ensure that a modification preserves behavior.

Q6. Being a librarian, you know I have to ask what journals, conferences, etc., you find most helpful. I'm also curious about any search engines you might use, be they commercial ones like INSPEC, Web of Science, Scopus or "free" ones like CiteSeer, Google, or Google Scholar? Or anything I haven't even mentioned.

Google. That's the answer for so many things! It's my primary tool for search to find new articles. It links me to more focused technical tools like CiteSeer and the ACM Digital Library, as needed. But so many articles are now available directly on the web from their authors that the journals themselves become more like convenient packaging devices than essential units themselves. It's akin to the change in the music industry from the album to the single. Singles fell out of favor for a while, but the advent of iTunes and other music services have really changed how most people come into contact with their music today.

I don't read many journals cover to cover anymore. I do subscribe to the Communications of the ACM and am looking forward to its new format. I also follow the bulletins of several ACM special interest groups (programming languages, AI, and education).

Q7. Again, being a librarian, I'm also curious about any CS-related books you've read that you've found useful or inspiring, either recently or in your formative years.

A few years back, before I had a blog, I created a webpage for sharing books with colleagues and students:

I haven't added to that list lately, but it lists most of the CS books I'd recommend yet today, including Abelson and Sussman's The Structure and Interpretation of Computer Programs, Peter Norvig's Paradigms of Artificial Intelligence Programming, and the Gang of Four's Design Patterns. It also lists books that are not technically about CS but which might change how someone thinks about computing and software, such as Stewart Brand's How Buildings Learn -- a marvelous book!

One glaring omission from this page are the works of Christopher Alexander, the inspiration for the idea of software patterns. Most everyone recommends The Timeless Way of Buiding and A Pattern Language, and I concur. But I also strongly recommend The Oregon Experiment, which describes Alexander's experience implementing his ideas on a college campus. This is a thin little volume that I found rewarding.

Most of my CS-specific reading lately has been on Ruby.

Q8. I find it interesting that computer science students still seem to be relatively high users of print books and I was wondering about your take on that phenomenon. Is it still the same or is it changing?

Philip Greenspun has described CS as pre-paradigmatic in Thomas Kuhn's sense, which means that books play an important role in how new ideas are shared and disseminated. Computing has always been rich in print books, from timeless works down to skills books with a shelf life limited by the rapid change in technology. I know many publishers are thinking about ways the market might shift into electronic versions, and more and more books are available on-line now, sometimes in their first run.

A lot of my students are reading books on-line more now than in print. A recent favorite is Why's (Poignant) Guide to Ruby, available at To my knowledge, this book is available only on the web and not in print. I'm curious to see how this trend develops. My guess is that individual authors will create most of the ideas that change how we read their works, which will cascade down to how we publish.

This comes back in to some ways to blogs, which seems like a good way to close the circle on this interview. One thing I love about my blog in comparison to the essays and comments I used to write in regular text files is the ability to link directly to other works. When I drop a short piece onto my blog, it often takes its place within a web of related writings and software pages. The connections among these works adds value to what I write by giving my readers a way to find and explore related work. That is so much more convenient than a list of references at the end, even if it is also a whole lot messier.

Thanks again for asking me to contrib

One response so far

Reading Diary: Nine algorithms that changed the future by John MacCormick

John MacCormick's new book, Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers, is very good. You should buy it and read it.

Among all the debates about whether or not absolutely everybody must without question learn to program (pro, con), it's perhaps a good idea to pause and take a look at exactly what programs do.

Which is what this book does. It starts from the premise that people love computers and what they can do but don't have much of an idea about what goes on inside the little black box. And then, what MacCormick does is take nine general types of high level functions that computer perform and explain first what those functions really mean and second a general idea of how software developers have approached solving the initial problems.

Those general problem/function areas are each treated in a separate chapter: search engine indexing, pagerank, public key cryptography, error-correcting codes, pattern recognition, data compression, databases, digital signitures and computability. As you can see, the title is a bit misleading. It's not strictly nine separate and distinct algorithms that are examined but more nine problem areas in computer science and the sets of algorithms that are used to solve the problems in that domain. But of course, that's a much less interesting title!

I have a computer science degree and out of interest and my necessity of my subject liaison responsibilities, I've followed the field fairly close over the years. As a result, quite a bit of the book is kind of old news for me. I am fairly familiar with problems under discussion and the general approaches that computer scientists take. So my evaluation of MacCormick's explanations is a little coloured by my own background.

Overall, MacCormick does a decent job of explaining the algorithm with a nice mix of words and pictures. Sometimes the words seemed to trip over themselves, getting a little eye-glazing trying to explain something mathematical using an only approximate metaphor. Sometimes the pictures were a little cluttered. I think he was afraid to use flow charts or pseudocode, fearing that they would be too techy and alienating. That may be true, but the downside was a bit of wordiness and a kind of conceptual fog in trying to get very abstract notions across in words.

But that's a quibble. Mostly MacCormick hits the right level. What kind of technology background do you need to get the most out of this book? I think it would be helpful to have a bit of an appreciation and knowledge base of computing; that will definitely help to make it all the way through. A lot of people might find it a bit tough to grasp the entirety of each chapter so some skimming might be in order. This book might be a tough slog at times for people with really no knowledge or background. But definitely worth the effort to get a least the basics from each chapter.

On the other hand, this is the perfect book for someone that's interested in computing but wants to get a better appreciation of what it's all about before maybe committing to a career. With a little mental elbow grease you can take your knowledge of computing to the next level. In other words, smart and nerdy college and high school kids are the perfect audience. (See my son's review, he fits that description perfectly).

As for people like myself who already have a pretty good background, this is a fun read that will really stretch and deepen your appreciation of computing. Pretty well anyone generally interested in science and technology would find something here worth reading.

This is a valuable addition to the popular computing literature. I would definitely recommend it for any university computer science collection, both for computing students and for those that are just interested. Larger public library systems would probably also benefit, especially for branches located near high schools. As for high schools, this is definitely the kind of book that could make a huge difference in the life of a young man or woman who's wavering about a career in computing.

MacCormick, John. Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers. Princeton: Princeton University Press, 2011. 219pp. ISBN-13: 978-0691147147

(Review copy provided by publisher.)

No responses yet

Scholarly Societies: It's time to abandon the AAP over The Research Works Act

So, The Research Works Act, H.R. 3699 is a new piece of legislation that is being introduced in the US.

Not surprisingly it's supported by the American Association of Publishers and its Professional and Scholarly Publishing (AAP/PSP).

The legislation is aimed at preventing regulatory interference with private-sector research publishers in the production, peer review and publication of scientific, medical, technical, humanities, legal and scholarly journal articles. This sector represents tens of thousands of articles which report on, analyze and interpret original research; more than 30,000 U.S. workers; and millions of dollars invested by publishers in staff, editorial, technological, capital and operational funding of independent peer review by specialized experts. North American-based science journal publishers alone account for 45% of all peer-reviewed papers published annually for researchers worldwide.

"The professional and scholarly publishing community thanks Representatives Issa and Maloney for supporting their significant investments that fund innovations and enable the essential peer-review process maintaining the high standards of U.S. scientific research," said Tom Allen, President and CEO, Association of American Publishers.

"America's PSP publishers are making more research information available to more people, through more channels, than ever before in our history. At a time when job retention, U.S. exports, scholarly excellence, scientific integrity and digital copyright protection are all priorities, the Research Works Act ensures the sustainability of this industry."

The Research Works Act will prohibit federal agencies from unauthorized free public dissemination of journal articles that report on research which, to some degree, has been federally-funded but is produced and published by private sector publishers receiving no such funding. It would also prevent non-government authors from being required to agree to such free distribution of these works. Additionally, it would preempt federal agencies' planned funding, development and back-office administration of their own electronic repositories for such works, which would duplicate existing copyright-protected systems and unfairly compete with established university, society and commercial publishers.

This is a rather bald-faced attack on the open access movement, attempting to restrict all kinds of sharing mechanisms and open access publishing ventures. Institutional and disciplinary repositories and open access mandates seem particularly to be the targets. Essentially, it wants to give a free hand to the scholarly publishing establishment.

This is what Peter Suber has to say in a related Google+ thread:

By prohibiting federal agencies from requiring grantees to assent to OA, this bill takes an approach similar to the Fair Copyright in Research Works Act (FCRWA), introduced twice by John Conyers. The chief difference I see so far is that FCRWA would have amended US copyright law and RWA would not. But the public-interest objections to both bills are the same.


The AAP/PSP press release in support of the bill <> says that the bill's purpose is "To End Government Mandates on Private-Sector Scholarly Publishing" and "prevent[] regulatory interference with private-sector research publishers...." This is the same rhetoric publishers have used for years. As usual, they neglect to say that the NIH policy regulates grantees, not publishers. They neglect to say that NIH-funded authors in effect ask publishers two questions, not one: "Will you publish my article?" and "Will you publish it under these terms?" It's a business proposition that publishers are free to take or leave. Finally, the AAP and PSP neglect to say that 100% of surveyed publishers accommodate the NIH policy, or are willing to take that business proposition <>. In fact, we could make a serious case that this counts as publisher consent under Section 2.1 of the bill.

And more. There's quite a bit of coverage of this issue on various sites. You can get more information and commentary from Tim O'Reilly, Rebecca Rosen and Cable Green. They can explain the nuts and bolts better than I can.

This is a long preamble to what my main point is.

The AAP/PSP membership includes many scholarly societies: American Association for the Advancement of Science, American Geophysical Union, American Institute of Aeronautics and Astronautics, American Institute of Physics, Association for Computing Machinery, Institute of Electrical & Electronics Engineers, Inc., Optical Society of America and many others. These societies will certainly have among their vision and mission statements something about advancing the common good, promoting the scholarly work of their membership and scholarship in their fields as a whole.

To my mind, The Research Works Act is directly opposed to those goals.

The AAP/PSP has long reflected a stark divide between the large commercial publishers and the supposedly more noble and altruistic scholarly societies. The divide has now become too wide, the cognitive dissonance for those on the sidelines too jarring.

Scholarly societies -- it is now time for you to walk away. Leave the AAP and chart your own course.

6 responses so far

Hacking stereotypes in educating people about computing

Sep 27 2011 Published by under computer science, education, engineering, social media

Computer science and computer science education are a couple of my evergreen topics here on this blog, as you can see by perusing the computer science tag.

And of course, my trip to Harvard for LIAL this past summer perhaps has that institution on my radar a bit more than usual.

So how wonderful is it to find a way to connect those two things?

Along comes Hacking Stereotypes by Steve Kolowich.

It's about a program called HackHarvard which is part of a series of efforts at Harvard to encourage technology entrepreneurship: and increase enrollments in their basic computing course,

HackHarvard, which is in only its second semester, operates on two premises: that most students cannot turn good ideas into operational apps, nor operational apps into successful businesses, without help; and that there are plenty of good ideas to go around. The club's leaders describe it as an incubator where students can get feedback on their ideas, learn the nuts and bolts of building Web applications, and meet with like-minded peers and potential collaborators.

And which has also seen an increase in enrollments in their basic "Computer Programming for Everybody" course:

After topping out at 386 during the height of the '90s tech boom, enrollment in Harvard's introductory course in programming, known as "CS50," fell precipitously after that bubble burst. In 2002, fewer than 100 students took the course. Then, in 2007, the college revamped the course to make it less wonky and esoteric. By that time, venture capital had begun flowing to social networking start-ups that investors hoped would follow in Facebook's footsteps -- or at least get caught in its orbit. And although The Social Network was not yet on the big screen, the story of Facebook's hapless non-founders was widely known and had a clear moral: in the landscape of tech entrepreneurship, the power lies with those who have good ideas and know how to code them.

This fall CS50 drew 651 students, becoming the second most popular course at Harvard.

There are some very cool stories in the article, well worth checking out and reading in it's entirety.

What I find really interesting is the emphasis on twin ideas: both that computing is an amazing way to solve a wide range of problems and that implementing those ideas on the web is often simple enough to be broadly accessible to a wide cross-section of a normal undergraduate population. And of course, beyond undergrads as well, but I guess that would be another article.

It would be very cool is more institutions took a lesson here from Harvard and perhaps thought a little differently about the place of both entrepreneurship and computing in their curricula.

No responses yet

Google Cult Books I'd like to read

The New York Review of Books has a great group review of some recentish books on everyone's favourite Internet behemoth: Google.

And they all look pretty interesting! (And I may have featured a couple of these before.)

In The Plex: How Google Thinks, Works, and Shapes Our Lives by Steven Levy (ISBN-13: 978-1416596585)

In barely a decade Google has made itself a global brand bigger than Coca-Cola or GE; it has created more wealth faster than any company in history; it dominates the information economy. How did that happen? It happened more or less in plain sight. Google has many secrets but the main ingredients of its success have not been secret at all, and the business story has already provided grist for dozens of books. Steven Levy's new account, In the Plex, is the most authoritative to date and in many ways the most entertaining. Levy has covered personal computing for almost thirty years, for Newsweek and Wired and in six previous books, and has visited Google's headquarters periodically since 1999, talking with its founders, Larry Page and Sergey Brin, and, as much as has been possible for a journalist, observing the company from the inside.

I'm Feeling Lucky: The Confessions of Google Employee Number 59 by Douglas Edwards (ISBN-13: 978-0547416991)

Google's first marketing hire lasted a matter of months in 1999; his experience included Miller Beer and Tropicana and his proposal involved focus groups and television commercials. When Doug Edwards interviewed for a job as marketing manager later that year, he understood that the key word was "viral." Edwards lasted quite a bit longer, and now he's the first Google insider to have published his memoir of the experience. He was, as he says proudly in his subtitle to I'm Feeling Lucky, Google employee number 59. He provides two other indicators of how early that was: so early that he nabbed the e-mail address; and so early that Google's entire server hardware lived in a rented "cage."

The Googlization of Everything: (And Why We Should Worry) by Siva Vaidhyanathan (ISBN-13: 978-0520258822)

In The Googlization of Everything (and Why We Should Worry), a book that can be read as a sober and admonitory companion, Siva Vaidhyanathan, a media scholar at the University of Virginia, puts it this way: "We are not Google's customers: we are its product. We--our fancies, fetishes, predilections, and preferences--are what Google sells to advertisers."


The company always says users can "opt out" of many of its forms of data collection, which is true, up to a point, for savvy computer users; and the company speaks of privacy in terms of "trade-offs," to which Vaidhyanathan objects:

Privacy is not something that can be counted, divided, or "traded." It is not a substance or collection of data points. It's just a word that we clumsily use to stand in for a wide array of values and practices that influence how we manage our reputations in various contexts. There is no formula for assessing it: I can't give Google three of my privacy points in exchange for 10 percent better service.

Search & Destroy: Why You Can't Trust Google Inc. by Scott Cleland with Ira Brodsky (ISBN-13: 978-0980038323)

So is Google evil? The question is out there now; it nags, even as we blithely rely on the company for answers--which now also means maps, translations, street views, calendars, video, financial data, and pointers to goods and services. The strong version of the case against Google is laid out starkly in Search & Destroy, by a self-described "Google critic" named Scott Cleland. He wields a blunt club; the book might as well been have been titled Google: Threat or Menace?! "There is evidence that Google is not all puppy dogs and rainbows," he writes.

Google's corporate mascot is a replica of a Tyrannosaurus Rex skeleton on display outside the corporate headquarters. With its powerful jaws and teeth, T-Rex was a terrifying predator. And check out the B-52 bomber chair in Google Chairman Eric Schmidt's office. The B-52 was a long range bomber designed to deliver nuclear weapons.

(Quotes from the NYRB article)

2 responses so far

Language, framing and women in computer science

As I ease myself back into the swing of things after a couple of weeks off and start to pay attention again to what's going on in the online world, I thought I'd bring this post to the attention of as wide an audience as possible.

It's The importance of language and framing, part eleventy-thousand by Amy Csizmar Dalal on her blog, This is what a computer scientist looks like.

Dalal draws a link between the decline in female CS enrollments since they peaked in the 1980s and the way we talk about entering the field in very competitive language rather than emphasizing mentoring or collaboration.

Framing matters. Language matters. We can be as inclusive and aware and welcoming as possible, but if we're not paying attention to the language we use--on our web sites, in our course descriptions, in how we talk about technology and its role in the world--we may end up shooting ourselves in the foot.

We're at an interesting point right now: enrollments in CS are on the rise, and more women are choosing to major in CS. We have a golden opportunity to learn from our mistakes of the past and keep the trends moving upward. Let's hope we're smart enough to not let history repeat itself.

I studied CS in the 1980s, more or less at that peak. My degree is from 1986. And I very clearly recall that the percentage of women in my program at Concordia was fairly high especially in the General Business Option, probably higher than it is there today.

Read the whole post. It's terrific.

4 responses so far

Going to JCDL2011: ACM/IEEE Joint Conference on Digital Libraries

I'll be at the 2011 ACM/IEEE Joint Conference on Digital Libraries at the University of Ottawa for the next few days. I plan on doing a bit of tweeting while I'm there but probably no live blogging.

I hope to have a summary post up here sometime after the conference with my impressions. Taking advantage of the relative proximity of Ottawa, this will be my first time at JCDL and I'm really looking forward to it. It's probably a bit more technical than I've been getting into recently but stretching the mind is always a good thing.

I hope to see some of you there. Definitely if you're there and you see me, come say Hi!

No responses yet

From the Archives: Everything is miscellaneous: The power of the new digital disorder by David Weinberger

I have a whole pile of science-y book reviews on two of my older blogs, here and here. Both of those blogs have now been largely superseded by or merged into this one. So I'm going to be slowly moving the relevant reviews over here. I'll mostly be doing the posts one or two per weekend and I'll occasionally be merging two or more shorter reviews into one post here.

This one, of Everything Is Miscellaneous: The Power of the New Digital Disorder, is from August 14, 2007. (Weinberger left a detailed comment at the original post, for those that are interested.)


David Weinberger's Everything is Miscellaneous is one of 2007's big buzz books. You know, the book all the big pundits read and obsess over. Slightly older examples include books like Wikinomics or Everything Bad Is Good for You. People read them and mostly write glowing, fairly uncritical reviews. Like I said, Weinberger is the latest incarnation of the buzz book in the libraryish world. So, is the book as praiseworthy as the buzz would indicate or is it overrated? Well, both, actually. This is really and truly a thought provoking book, one that bursts with ideas on every page, a book I really found myself engaging and arguing with constantly, literally on every page many times. In that sense, it is a completely, wildly successful book: it got me thinking, and thinking deeply, about many of the most important issues in the profession, at times arguing every point on every page. On the other hand, there were times when it seemed a bit misguided and superficial in its coverage of the library world, almost gloatingly dismissive in a way.

So, I think I'll take a bit of a grumpy, devil's advocate point of view in this review. I am usually not shy pointing out flaws in the books I review, but this will probably be the first time I'm really giving what may seem to be a very negative review.

Before I get going, I should talk a little about what the book is actually about. Weinberger's main idea is that the new digital world has revolutionized the way that we are able to organize our stuff. In the physical world, physical stuff needs to be organized in an orderly, concrete way. Each thing in it's one, singular place. Now, however, digital stuff can be ordered in a million different ways. Each person can order their digital stuff anyway they want, and stuff can be placed in infinite different locations as needed. This paradigm shift is, according to Weinberger, a great thing because it's so much more useful to be able to find what we need if we're not limited in how we organize in in the physical world. In other words, our shelves are infinite and changeable rather than limited and static. Think rather than books on a bookstore shelf.

Weinberger is sort of the anti-Michael Gorman (or perhaps Gorman is the anti-Weinberger?) in that the former sees all change brought about by the "new digital disorder" as almost by definition a good thing. Whereas Gorman sees any challenge to older notions of publishing, authority and scholarship as heresy, with the heretics to be quickly burnt at the stake. Now, I'm not that fond of either extreme but I am generally much more sympathetic to Weinberger's position; the idea that we need to adjust to and take advantage of the change that is happening, to resist trying to bend it to our old-fogey conceptions and to go with the flow.

So, what are my complaints? I think I'm more or less going to take the book as it unfolds and make the internal debates I had with Weinberger external and see where that takes us. Hopefully, they're not all just a cranky old guy pining for the good old days but that we can all learn something from talking about some of the spots where I felt he could have used better explanations or substituted real comparisons for the setting up and demolishing of straw men.

The first thing that bothers me is when he compares bookstores to the Web/Amazon (starting p. 8). Bookstores are cripplingly limited because books can only be on one shelf at a time while Amazon can assign as many subjects as they need plus they have amazing data mining algorithms that drive their recommendation engines, feeding you stuff you might want to read based on what you've bought in the past and/or are looking at now. First of all, most bookstores these days have tables with selected books (based on subject, award winning, whatever) scattered all over the place, highlighting books that they think deserve (or publishers pay) to be singled out. On the other hand, who hasn't clicked on one of Amazon's subject links only to be overwhelmed by zillions of irrelevant items. It works both ways -- physical and miscellaneous are different; both have advantages and disadvantages. After all, the online booksellers only get about 20% of the total business, so people must find that there's a compelling reason to go to physical bookstores.

Starting on page 16, he begins a comparison of the Dewey decimal system libraries use to physically order their books with the subject approach Amazon and other online systems use. I find this comparison more than a bit misleading, almost to the point where I think Weinberger is setting up a straw man to be knocked down. Now, I'm not even a cataloguer and I know that Dewey is a classification system, a way to order books physically on shelves. It has abundant limitations (which Weinberger is more than happy to point out ad nauseum) but it mostly satisfies basic needs. One weakness is, of course, that it uses a hopelessly out of date subject classification system as a basis for ordering. Comparing it to the ability to tag and search in a system like Amazon or is, however, comparing apples to oranges. Those systems aren't really classification systems but subject analysis systems. The real comparison, to be fair, to compare apples to apples, should have been Amazon to the Library of Congress Subject Headings. While LCSH and the way it is implemented are far from perfect, I think that if you compare the use of subject headings in most OPACs to Amazon, you will definitely find that libraries don't fare as poorly as comparing Amazon to Dewey and card catalogues. And page 16 isn't the only place he get the Dewey/card catalogue out for a tussle. He goes after Dewey again starting on page 47; on 55-56 he talks as if the card catalogue is the ultimate in library systems; on 57 he refers to Dewey as a "law of physical geography;" on page 58 he again compares a classification system to subject analysis. And on page 60 he doesn't even seem to understand that even card catalogues are able to have subject catalogues. The constant apples/oranges comparison continued for a number of pages, with another outbreak on page 61-2, as he once again complains that Dewey can only represent an item in one place while digital can represent in many places; really the fact that Weinberger doesn't realize that libraries use subject headings as well as classification and that an item can have more than one subject heading, well I find that a bit embarrassing for him, especially at the length he does on about it. Really, David, we get it. Digital good, physical bad. Tagging good, Dewey bad. Amazon good, libraries & bookstores bad.

It was at this point that I thought to myself that in reality, even Amazon has a classification system like Dewey, in fact they probably have a lot of them. For example, the hard drives on their servers have file allocation tables which point to the physical location of their data files. At a higher level, their relational databases have primary keys which point to various data records. Even their warehouses have classification systems, as their databases must be able to locate items on physical shelves. Compare using a subject card catalogue to find books on WWII with being dropped in the middle of a Amazon warehouse! He sets up the card catalogue as a straw man and he just keeps knocking it down and it get tiresome that way he just keeps on taking easy shots.

Weinberger also misunderstands the way people use cookbooks (p.44). Sure, if people only used cookbooks as a way of slavishly copying recipes for making dinner, then, yeah, the web would put them out of business. But, people use cookbooks for a lot of reasons: to learn techniques, to get insight into a culture and way of life, to get a quick overview of a cuisine or a style of cooking, as a source basic information for improvising, to read for fun, to get a insight into the personality and style of a chef, to get an insight into another historical period. The richness of a good cookbook isn't limited by just recipes.

I have to admit that at this point I was tempted to abandon the book altogether, to brand it as all hype and no real substance, a hoax of a popular business book perpetrated on an unexpecting librarian audience. Fortunately, I didn't. There were more annoyances, but the book got a lot stronger as it went along, more insightful and more penetrating in it's analysis. However, I think I'll stay grumpy. (hehe.)

One of the more annoying arguments (p. 144) that I often encounter in techy sources is that the nature of learning and the evaluation of learning has changed so radically that we will no longer want to bother evaluating students on what they actually know and can do themselves, but rather will only test them on what they can do in teams or can use the web to find out. In other words, not testing without cell phones and the Internet at the ready. Now, I'm not one to say that we should only test students on memorized facts and regurgitated application of rote formulas; and I think you'd be hard-pressed to find many schools that only do that. From my experience, collaboration and group work, research and consultation are all encouraged at all levels of schooling and make up a significant part of most students' evaluation. Students have plenty of opportunity to prove they can work in teams and can find the information they need in a networked environment. But, I still think that it's important for students to actually know something themselves, without consultation, and to be able to perform important tasks themselves, without collaboration. Certainly, the level of knowledge and tasks will vary with the age/grade of the students and the course of study they are pursuing. If someone is to contribute to the social construction of knowledge they, well, need to already have something to contribute. In fact, if everyone always only relied on someone else to know something, then the pool of knowledge would dry up. The book asks some important questions: what is the nature of expertise, what is an expert, how do you become an expert, are these terms defined socially or individually, how is expert knowledge advanced, how is expert knowledge communicated? A scientist who pushes the frontiers of knowledge must actually know where they are to begin with. At some level, an engineer must be able to do engineering, not just facilitate team building exercises.

And little bits of innumeracy bug me too. On page 217 he's trying to make the point that the online arXiv has way more readers than the print Nature. ArXiv has "40,000 new papers every year read by 35,000 people" and "Nature has a circulation of 67,500 and claims 660,000 readers -- about 19 days of arxiv's readers." Comparing these two sets of numbers is a totally false comparison. What you really need to do is compare the total download figures for arXiv to the total download figures for Nature PLUS an estimate for the total paper readership. For arXiv does he think all 40K papers are read by each of the 35K readers for a potential 1.4 billion article reads? The true article readership is probably much, much smaller than that. As for the print, the most recent Nature (v744i7148) has 14 articles and letters; for a guestimate for a whole year print, multiply by 52 weeks and 660,000 readers equals a potential 480 million article reads; probably not everyone reads each article, but at least most probably at least glance at each article. For the print only. He doesn't even seem to realize that Nature, like virtually every scientific journal, has an online version with a potentially huge readership, which Weinberg in no way takes into account. It's clear to me that, at least based on the numbers he gives, what I can actually say about the comparison between the readerships for Nature and arXiv is limited but that they may not be too dissimilar. Not the point he wants to make, though. Again, the real numbers he should have dug up, but did not seem to want to use, was the total article downloads for each source.

Now, I'm not implying that print is a better format for science communication than online -- I've predicted in my My Job in 10 Years series that print will more or less disappear within the next 10 years -- but please, know what you're talking about when you explore these issues. Know the landscape, compare apples to apples.

I find it frustrating that in a book Weinberg dedicates "To the Librarians" he doesn't take a bit more time to find out what librarians actually do, how libraries work in the 2007 rather than 1950. (See p. 132 for some cheap shots) But in the end, I have to say it was worth reading. If I disagreed violently with something on virtually every page, well, at least it got me thinking; I also found many brilliant insights and much solid analysis. A good book demands a dialogue of it's readers, and this one certainly demanded that I sit up and pay attention and think deeply about my own ideas. This is an interesting, engaging, important book that explores some extremely timely information trends and ideas, one that I'm sure that I haven't done justice to in my grumpiness, one that at times I find myself willfully misunderstanding and misrepresenting (misunderestimating?). I fault myself for being unable to get past it's shortcomings in this review; I also fault myself for being unable to see the forest for the trees, for being overly annoyed at what are probably trivial straw men. Read this book for yourself.

(And apologies for what must be my longest, ramblingest, most disorganized, crankiest, least objective review. I'm sure there's an alternate aspect of the quantum multiverse where I've written a completely different review.)

Weinberger, David. Everything Is Miscellaneous: The Power of the New Digital Disorder. New York: Times Books, 2007. 277pp.

No responses yet

Older posts »