Showing posts with label computer science. Show all posts
Showing posts with label computer science. Show all posts

April 22, 2009

Conferences vs. journals in computing research

Such is the title of Moshe Y. Vardi Editor's Letter in the most recent Communications of the ACM (v52i5).

I'll excerpt it a bit:

What I'm referring to is the way we go about publishing our research results. As far as I know, we are the only scientific community that considers conference publication as the primary means of publishing our research results. In contrast, the prevailing academic standard of "publish" is "publish in archival journals." Why are we the only discipline driving on the conference side of the "publication road?"

Conference publication has had a dominant presence in computing research since the early 1980s. Still, during the 1980s and 1990s, there was ambivalence in the community, partly due to pressure from promotion and tenure committees about conference vs. journal publication. Then, in 1999, the Computing Research Association published a Best Practices Memo, titled "Evaluating Computer Scientists and Engineers for Promotion and Tenure," that legitimized conference publication as the primary means of publication in computer research. Since then, the dominance of conference publication over journals has increased, though the ambivalence has not completely disappeared. (In fact, ACM publishes 36 technical journals.)

*snip*

My concern is our system has compromised one of the cornerstones of scientific publication—peer review. Some call computing-research conferences "refereed conferences," but we all know this is just an attempt to mollify promotion and tenure committees. The reviewing process performed by program committees is done under extreme time and workload pressures, and it does not rise to the level of careful refereeing. There is some expectation that conference papers will be followed up by journal papers, where careful refereeing will ultimately take place. In truth, only a small fraction of conference papers are followed up by journal papers.

Years ago, I was told that the rationale behind conference publication is that it ensures fast dissemination, but physicists ensure fast dissemination by depositing preprints at www.arxiv.org and by having a very fast review cycle. For example, a submission to Science, a premier scientific journal, typically reaches an editorial decision in two months. This is faster than our conference publication cycle!

So, I want to raise the question whether "we are driving on the wrong side of the publication road." I believe that our community must have a broad and frank conversation on this topic. This discussion began in earnest in a workshop at the 2008 Snowbird Conference on "Paper and Proposal Reviews: Is the Process Flawed?" (see http://doi.acm.org/10.1145/1462571.1462581).


Interesting. I'm curious about all this and I wonder if any of the computing people out there who are reading this share Yardi's ambivalence. It's always seemed to me that the computing community's tendency to self archive on their own web space has been a great strength, probably leading to a somewhat lower probability of an arxiv-like system coming in and taking over like with physics. From what I've seen, probably 80-90% or more of most conference proceedings are available via authors' web pages.

April 21, 2009

Synthesis Lectures on Information Concepts, Retrieval, and Services

I've always thought that Morgan & Claypool's Synthesis product is one of the best, most forward-looking products out there. They give quality, targeted, born-digital content of the kind that I can push out to faculty & grad students. And most of all, content that's worth paying for. They're also very receptive to the library community, welcoming input and feedback. And supporting our activities at conferences, etc.

Now they've even given back by starting a series of basically Information Science lectures on Synthesis!

Synthesis Lectures on Information Concepts, Retrieval, and Services is edited by Gary Marchionini of the University of North Carolina. The series will publish 50- to 100-page publications on topics pertaining to information science and applications of technology to information discovery, production, distribution, and management. The scope will largely follow the purview of premier information and computer science conferences, such as ASIST, ACM SIGIR, ACM/IEEE JCDL, and ACM CIKM. Potential topics include, but not are limited to: data models, indexing theory and algorithms, classification, information architecture, information economics, privacy and identity, scholarly communication, bibliometrics and webometrics, personal information management , human information behavior, digital libraries, archives and preservation, cultural informatics, information retrieval evaluation, data fusion, relevance feedback, recommendation systems, question answering, natural language processing for retrieval, text summarization, multimedia retrieval, multilingual retrieval, and exploratory search.


Take a look at the first four:

Great stuff -- I think this is going to end up being a terrific resource. You can see some of the lectures they have under development here:
  • Digital Libraries by Ed Fox

  • Faceted Search by Daniel Tunkelang, Endeca

  • Grid-Based Repositories by Reagan Moore, Renaissance Computing Institute (RENCI)

  • Information Architecture by Wei Ding and Xia Lin

  • Information Concepts by Gary Marchioninil

  • Information-Seeking Behavior by Raya Fidel

  • Personal Information Management by William Jones

  • Personalization in Information Retrieval by Javed Mostafa

  • Reading and Writing the Electronic Book by Catherine C. Marshall

  • Research and Analysis of Online Social Networks by Fred Stutzman

  • Web Analytics by Bernard J. Jansen

April 6, 2009

Recently in the IEEE

Some selections from recently published journal issues.



IEEE Annals of the History of Computing, v31i1, special issue on Asian Language Processing: History and Perspectives




IEEE Engineering Management Review, v37i1



IT Professional, v11i2. Special issue on Cloud Computing



IEEE Technology and Society Magazine, v28i1



IEEE Transactions on Professional Communication, v52i1.


IEEE Transactions on Education, v52i1.



IEEE Security & Privacy, v7i1

April 4, 2009

Book Reviews: Cory Doctorow and Mafiaboy

Calce, Michael with Craig Silverman. Mafiaboy: How I cracked the Internet and why it's still broken. Toronto: Viking Canada, 2008. 277pp.

Doctorow, Cory. Content: Selected essays on technology, creativity, copyright and the future of the future. San Francisco: Tachyon, 2008. 213pp.


I'm reviewing these two books together for two reasons. First of all, I don't feel the need to go on at great length about either of them. Secondly, I think that they're related -- they both touch on the free, open and ungoverned (ungovernable?) nature of the Internet. One is a white hat treatment and the other, black hat. Or perhaps, many will think of both of these books representing a black hat perspective, that perhaps both these books represent the worst that the Internet has brought to modern society. The Web promotes openness and freedom. Generally, we consider both of those qualities to be positive. Certainly, Cory Doctorow would be a prime advocate of openness on the Web. On the other hand, the freedom that the Internet provides can also be cover for those that would exploit weakness and take advantage of others. Certainly, the story of Mafiaboy epitomizes the dark side of hacker culture.


Cory Doctorow's Content is a colletction of Doctorow's various essays on copyright and open content. collected from a bunch of different places, this is a stimulating and thought-provoking collection. Of course, every single essay is available for free on the net. An interesting conundrum, of course, is that if it's all available for free on the Web then why did I buy it? Most of all, I really like the idea of sending a little cash to the artists and thinkers whose work moves and inspires me. So, yes, I still buy books and CDs and pay to see movies in the theatre.

Never mind what you should pay for this book, who should read it? Well, if you're a copyright minimalist it's preaching to the choir. You'll agree that information wants to be free and that you the best business model for artists is to give stuff away that's easily copied and sell stuff that isn't. In other words, in a world where bits can be easily copied for virtually no cost, you have to be able to actually sell something other than pure content to make a living -- like experience. If you're a copyright maximalist, well, Doctorow is the anti-christ and you probably won't really appreciate the book. If, like most, you're in the middle, then this book is for you. Doctorow really makes a very strong and very persuasive case for his point of view, that . It's compelling and hard to ignore. You might not end up agreeing with everything (I certainly don't), but he will definitely win you over on a lot of points.

If there's one thing that detracts from Doctorow's ability to make his case, it's his attitude. Sometimes he's just too cocky, too arrogant, too sure that he's right and you're dead wrong. There's no agree-to-disagree is his world, it's my-way-or-the-highway. Take his opinion of opera:

The idea of a 60-minute album is as weird in the Internet era as the idea of sitting through 15 hours of Der Ring des Nibelungen was 20 years ago. There are some anachronisms who love their long-form opera, but the real action is in the more fluid stuff that can slither around on hot wax — and now the superfluid droplets of MP3s and samples. Opera survives, but it is a tiny sliver of a much bigger, looser music market. The future composts the past: old operas get mounted for living anachronisms; Andrew Lloyd Webber picks up the rest of the business.
My only reaction is that Doctorow is completely wrong in this. In fact, he really contradicts the main point of the long tail that Internet gurus are so adamant about. The new media landscape doesn't make 60 minute operas less interesting and relevant. It makes them more so -- finally able to find their niche in the long tail of human artistic expression. People that like opera can enjoy and obsess over it. People that don't, well, can listen to whatever they like. The point isn't Doctorow's rather juvenile assertion that some particular type of artistic expression is somehow not worthy, the point is that the Internet enables every kind of artistic expression is a way that was not possible before.

In any case, that was one of the few false notes (all the same kind of thing) in an otherwise excellent book. Read it and disagree, engage and enrage. But it's too important to ignore. I would recommend this book to any academic or public library as well as to anyone interested in the future of content in a fragmented and radically shifting online landscape.


And let's take a look at Michael Calce and Craig Silverman's account of Calce's life as Internet hacker Mafiaboy. Its a fascinating story of a Montreal-area teen and how he got involved in the world of hacking and ended up launching a couple of big denial of service attacks on some prominent web sites like Yahoo! and CNN. Calce tells the story of how he got involved in the hacking underworld as well as how he was caught, the jail time he served as well as how he's reformed and is using his obvious computing gifts for good instead of evil.

A couple of interesting points, though. Especially in his tell of the early part of the story, Calce comes off as a bit arrogant and clueless about the seriousness of his actions, not really showing much empathy. I find this interesting because while the later chapters make it pretty clear that he's grown up and left those feelings mostly behind, there are still glimpses and insights into the teenager that caused the havoc. We see the macho reputation building, the bragging and the power trips but not really from the point an introspective point of view. I guess it's hard to expect anyone to write that kind of book.

A great story, well told, well worth reading and thinking about. I would recommend it to any academic or public library interested in the way the Internet is shaping our society.

March 12, 2009

State of the Computer Book Market, 2008

O'Reilly publishes a periodic update on the state of the computer book market on their Radar blog. It used to be done by Tim O'Reilly himself, but now it's done by Mike Hendrickson.

This time around it's in five parts. Let's take a look at some of the hightlights. As usual, if you're interested in computer books, the posts are well worth your detailed attention. The comments are also very interesting to track.

Part 1: The Market

As you can see, the computer market is only 1% of total unit sales in bookstores and online retailers. The Computer category was the only category down [-8%] year-over-year...

What you won't see on this chart is that the computer book market cratered in 2001, shrinking twenty percent a year for three years until it stabilized in 2004 at about half the size that it was in 2000. (We only have reliable data going back to 2004.) We are hoping that the cratering we experienced in the second half of 2008 will not be as pronounced or long as 2001 because the current economic conditions are not squarely for computer books centered around Tech. That being said, 2008 was the worst performing year since we've been collecting the Bookscan data. The chart immediately below shows total units by year for the Computer book category. As you can see, 2008 was the worst year for unit sale in the computer book market.


Really worth looking at is the chart of hot to not-so-hot topics. Hottest are: Mac programming, vitualization, mobile phone, computers and society and social web. Least hot include: web authoring, windows, Linux, MS programming, ipod & itunes.


Part 2: The Technologies
In response to previous State of the Computer Book market posts, there have been reader comments indicating that part of the decline in the market is due to a lack of anything that new in the Tech world to sustain lots of books selling lots of copies. It begs the question -- will we ever see another Java-like phenomena similar to what we experienced 12 years ago? (And yes, we understand it was much more than just a Java event, but Java skyrocketed more than all others - it was truly astronomical...) However, we believe that one reason why programming and administration topics are suffering more than consumer topics is that sophisticated users are the first to show the preference shift from books to online content consumption.




Part 3: The Publishers

The most notable factor is that Wiley continues to hold the leading spot as the largest publisher, with 30% market share of units sold, while Pearson lost 2% market share and O'Reilly gains 1%. (We’ll look at revenue share later in the analysis.)...

So what is notable from this data? First that these top 8 publishers are down - 375,820k units from 2007 to 2008. Only O’Reilly and Reed Elsevier saw modest gains in 2008. Seven out of the eight top publishers had more titles making the top 3000 list in 2008. Wiley, O’Reilly, and Reed Elsevier saw their efficiency improve in 2008 while the other large publishers saw their efficiency decrease.



Part 4 -- The Languages
Overall the market for programming languages was down 5.9% in 2008 when compared with 2007. There were 1,849,974 units sold in 2007 versus 1,740,808 units sold in 2008, which is a decrease of 109,166 units. So the unhealthy 8% loss in the Overall Computer Book Market was not completely fueled by programming-oriented books....

If you look at the five-year trend for the languages shown below, you can see that C# has been steadily growing year after year while Java has been going in the opposite direction during the same period. PHP, ActionScript and Python are the other languages going in a positive direction. Ruby, Java, and C++ had the biggest declines in unit sales during 2008, and Ruby dropped out of the top 10 languages....

Lastly, the following languages sold fewer than 1,000 units in 2008. Here is the list in alpha order: abap, ada, awd, blitzmax, cl, cobol, cs2, d, delphi, directx, dsl, e, eiffel, fortran, haxe, idl, javafx, jcl, kml, labview, lingo, lisp, m, maxscript, ml, mumps, mysql spl, natural, ocaml, octave, oopic, opl, pascal, pda languages, peoplecode, phrogram, pl/1, qbasic, realbasic, rexx, rpg, s, scratch, smalltalk, spark, sql server, squeak, unknown, unrealscript, windows script, and x++.



Part 5 -- eBooks and Summary
The market got off to a fast start in 2008 but during July took a nose-dive downward and never recovered. 2008 ended up 8% behind 2007, and there were very few bright spots. There were significantly fewer new titles making it into the Top 3000 reports, which means that more titles that were published before 2008 continued to make the list. Titles that were published in 2008 performed worse than those published in the prior 6 years and only outperformed titles from 2001 and earlier. Apple and its software and hardware [iPhone, iPod, and Mac OS X] had the biggest impact on computer book sales in 2008. Social media development, virtualization and mobile also performed better than in 2007. From a publisher perspective, O'Reilly showed the best gain while Pearson, Wiley, and Microsoft Press lost the most ground. The two Imprints of O'Reilly and Dummies have the most diverse publishing programs due to their strong performance in our six categories. The number one title for 2008 was O'Reilly's Mac OS X Leopard: The Missing Manual. The number one programming language was C#, with Objective-C and ActionScript showing strong growth in 2008. That's the quick view....

As you can clearly see, the decline in print has been slowly happening while Safari has maintained a very healthy double-digit growth rate. Do you believe we are at or near a tipping point for the computer book industry? Do developers want content online or a combination of online and print? Or is there a chance that new technological innovation will re-ignite a somewhat stale computer book market?

January 20, 2009

Rebooting Computing!

Eugene Wallingford has some great conference notes from the recent Rebooting Computing Summit.

The Summit has a manifesto, which begins:

It is a time of challenges for the computing field. We are tired of hearing that a computing professional is enrollment to degreeTaulbee Survey, the Computing Research Association:little more than a program coder or a system administrator; or that a college or graduate education is unnecessary; or that entering the computing field is a social death. We are dismayed that K-12 students, especially girls, have such a negative perception of computing. We are alarmed by reports that the innovation rate in our field has been declining and that enrollments in our degree programs have dropped 50% since 2001. Instead of the solo voice of the programmer, we would like to hear from the choir of mathematicians, engineers,and scientists who make up the bulk of our field.


Eugene was there and has some great posts on his feelings and reactions to the conference. I'll highlight only a very small portion of his comments, all of which are well worth reading.

Notes on the Rebooting Computing Summit
One particular comment made the first morning stood out in my mind. The gap between what people want to make with a computer and what they can reasonably make has widened considerably in the last thirty years. What they want to make is influenced by what they see and use every day. Back in 1980 I wanted to write a program to compute chess ratings, and a bit of BASIC was all I needed. Kids these days walk around with computational monsters in their pockets, sometimes a couple, and their desires have grown to match. Show them Java or Python, let alone BASIC, and they may well feel deflated before considering just what they could do.

Computing creates a new world. It builds new structures on top of old, day by day. Computing is different today than it was thirty years ago -- and so is the world. What excited us may well not excite today's youth.



Rebooting the Public Image of Computing
One of my table mates told us a story of seeing brochures for two bioinformatics programs at the same university. One was housed in the CS department, and the other was housed with the life sciences. The photos used in the two brochures painted strikingly different images in terms of how people were dressed and what the surroundings looked like. One looked like a serious discipline, while the other was "scruffy". Which one do you think ambitious students will choose? Which one will appeal to the parents of prospective students? Which one do you think was housed in CS?

Sometimes, the messages we send about our discipline are subtle, and sometimes not.

Too often, what K-12 students see in school these days under the guise of "computing" is applications. It is boring, full of black boxes with no mystery. It is about tools to use, not ideas for making things. After listening to several people relate their dissatisfaction with this view of computing, it occurred to me that one thing we might do to immediately improve the discipline's image is to get what currently passes for computing out of our schools. It tells the wrong stories!



Rebooting Computing Workshop Approach Redux
Personally, I found the process to be worth at least some of the time we spent. I enjoyed looking back at my life in computing, reflecting on my own history, reliving a few stories, and thinking about what has influenced. I realized that my interest in computer science wasn't driven by math or CS teachers in high school or my undergraduate years.. I had a natural affinity for computing and what it means. The teachers who most affected me were ones who encouraged me to think abstractly and to take ideas seriously, who gave me reason to think I could do those things. The key was to find my passion and run.


I really wish I could have been there, the public image of computing (and engineering) are topics that are near and dear to my heart. At the same time, I think that what the summit needed was probably about 20% of the people there to be people that aren't in computing (or math or science or engineering). They are the ones that have those important insights, not another bunch of CS types wondering why no one loves them.

November 11, 2008

Science Education in Computational Thinking

Just like last year, Eugene Wallingford (CoaSL interview here) of the blog Knowing and Doing has written up some pretty detailed workshop session reports from the 2008 NSF Workshop on Science Education in Computational Thinking. Here's his Table of Contents post, which I'll be reproducing below along with some excerpts from each post.

Primary entries:

  • Workshop 1: A Course in Computational Thinking -- SECANT a year later
    Teaching CS principles to non-CS students required the CS faculty to take an approach unlike what they are used to. They took advantage of Python's strengths as a high-level, dynamic scripting language to use powerful primitives, plentiful libraries, and existing tools for visualizing results. (They also had to deal with its weaknesses, not the least of which for them was the delayed feedback about program correctness that students encounter in a dynamically-typed language.) They delayed teaching the sort of software engineering principles that we CS guys love to teach early. Instead, they tried to introduce abstractions only on a need-to-know basis.


  • Workshop 2: Computational Thinking in the Health Sciences -- big data is changing the research method of science
    In addition to technical skills and domain knowledge, scientists of the future need the elusive "problem-solving skills" we all talk about and hope to develop in our courses. Haixu Tang, from the Informatics program at Indiana contrasted the mentality of what he called information technology and scientific computing:
    • technique-driven versus problem-driven
    • general models versus specific, even novel, models
    • robust, scalable, and modular software versus accurate, efficient programs

    These distinctions reflect a cultural divide that makes integrating CS into science disciplines tough. In Tang's experience, domain knowledge is not the primary hurdle, but he has found it easier to teach computer scientists biology than to teach biologists computer science.


  • Workshop 3: Computational Thinking in Physics -- bringing computation to the undergrad physics curriculum
    ...Further, many students do not think that computational physics is "real" physics. To them, physics == equations.

    This is a cultural expectation across the sciences, a product of the few centuries of practice. Nor is it limited to students; people out in the world think of science as equations. Perhaps they pick this notion up in their high-school courses, or even in their college courses. I think that faculty in and out of the sciences share this misperception as well. The one exception is probably biology, which may account for part of its popularity as a major -- no math! no equations! I couldn't help but think of Bernard Chazelle's efforts to popularize the notion that the algorithm is the idiom of modern science.


  • Workshop 4: Computer Scientists on CS Education Issues -- bringing science awareness to computer science departments
    Next, Tom Cortina talked about Teaching Key Principles of Computer Science Without Programming. In many ways, Cortina was swimming against the tide of this workshop, as he argued that non-majors could (should?) learn CS minus the programming. There certainly is a lot of cool stuff that students can learn using canned tools, talking about history, and doing some light math and logic. Cortina's course in particular covers a lot of neat material about algorithms. But still I think students miss out on something useful -- even central to computing -- when they bypass programming altogether. However, if the choice is between this course and a majors-style course that leaves non-majors confused, frustrated, or hating CS, well, then, I'll take this!


  • Workshop 5: Curriculum Development -- some miscellaneous projects in the trenches
    Bruce Sherwood reported a physics student comment of his own: "I don't like computers." Sherwood responded, "That's okay. You're a physicist. I don't like them either." But physics students and professors need to realize that saying they don't like computers is like saying, "I don't like voltmeters." If you can't work with a voltmeter or a computer, you are in the wrong business. That's just the way the world is.

    My favorite line of Landau's is one that applies as well to computer science as to physics:

    We need a curriculum for doers, not monks.


  • Workshop 6: The Next Generation of Scientists in the Workforce -- computational thinking as competitive advantage
    How does computational thinking help the company do more better and faster? By...
    • ... letting scientists spend more time doing what they love.
    • ... eliminating low-value-add transactional activities in the business process.
    • ... boosting the speed and scalability of their systems.

    Notice that these advantages range from the scientific to business process to the technical. It's not only about techies sitting in front of monitors.



Ancillary entries:
  • This and That -- the inevitable miscellaneous thoughts
    The buzzword of this year's workshop: infiltration. Frontal curricular assaults often fail, so people here are looking for ways to sneak new ideas into courses and programs. An incremental approach creates problems of its own, but agile software proponents understand its value.


  • No One Programs Any More -- a timely conversation the week before the workshop
    In the time since I joined the faculty here, many departments have dropped the computer programming requirement from their majors. Part of the reason is probably that the intro programming courses were not meeting their students' needs, and our department needs to take responsibility for that. But a big part of the reason is that many faculty across campus believe as the Math faculty do, that their students don't need to learn computer programming anymore. Not too surprisingly, I disagree.

September 26, 2008

Communications of the ACM, Oct 2008

Some interesting articles from v51i10:

September 21, 2008

Computer science does not study the digital computer

A great post by Eugene Wallingford at Knowing and Doing on a topic that has long interested me: What is computer science and is it a science?

Computer science does not study the digital computer. Dijkstra told us so a long time ago, and if we didn't believe him then, we should now, with the advent of ideas such as quantum computing and biological computing.

Computer science is about processes that transform information. I see many naturally-occurring processes in the world. It appears now that life is the result of an information process, implement in the form of DNA. Chemical processes involve information as well as matter. And some physicists now believe that the universe as we experience it is a projection of two-dimensional information embodied in the interaction of matter and energy.

*snip*

I believe everything I've said here today, but that doesn't mean that I believe that CS is only science. Much of what we do in CS is engineering: of hardware systems, of software systems, of larger systems in which the manipulation of information is but one component. Much of what we do is mathematics: finding patterns, constructing abstractions, and following the implications of our constructions within a formal system. That doesn't mean computer science is not also science. Some people think we use the scientific method only as a tool to study engineered artifacts, but I think that they are missing the big picture of what CS is.


BTW, if you haven't already, feel free to take a look at the interview I did with Eugene a few months ago.

September 7, 2008

Lacy, Sarah. Once you're lucky, twice you're good: The rebirth of Silicon Valley and the rise of web 2.0. New York,: Gotham, 2008. 294pp.

As with many of the business books I review in this space, I am profoundly torn by this book. On the one hand, tech journalist Sarah Lacy's account of the business side of the ride of various web 2.0 companies is compelling and fascinating reading. On the other hand, the depths of uncritical and nauseating hero-worship she displays toward the tech entrepreneurs she profiles is both revolting and disturbing.

Revolting because because of the over the top admiration and worship Lacy has for the people she profiles. Disturbing because the "it's all about the money" mindset diminishes the social impact, or at least my appreciation of the social impact, of the web 2.0 technologies.

In fact, if you're not careful reading this book could completely disillusion you about the whole web 2.0 phenomenon because it tears aside the veil and you see it for what the business people truly see it as: not a way of sharing and expanding our social horizons and making our true, real life social networks easier and more pleasurable. But as a way of making money, of delivering eyeballs to advertisers, of growing market share. Almost, but not quite. You really have to read this book with your business book brain engaged -- ignore the sycophanticism and hype and get a feeling for the stories and the personalities.

Some of the personalities/entrepreneurs she profiles include Max Levchin (PayPal, Slide), Mark Andreessen (Netscape, Ning), Jay Adelson (Digg) and, of course, Sarah Lacy's King of the World, Facebook's Mark Zuckerberg.

From the first chapter, focusing on Levchin, all the various entrepreneurs mostly come off as almost repulsively arrogant and greedy -- these social networking pioneers are no Robin Hood figures, it's all about the money. While their life stories are often interesting and even compelling, I find it hard to believe that they're actually as unpleasant as they seem in the book and for that I blame Lacy. She really needed to balance their stories of ambition with a more "human" side.

From a library point of view, one of the important ideas that I always try to keep first and foremost in my mind is that as public institutions (or private not-for-profits) it's not our job to deliver eyeballs to vendors or advertisers but to serve the interests of our patrons first. We should not make it our mission to deliver our patrons' attention to corporate interests. If nothing else, this book has reminded me that when we partner with vendors, even vendors we think have high ideals, we have to remember that their bottom line is ultimately different from ours.

In sum, this is a business book about business issues and mostly business people. There's a bit of analysis and reflection in some of the chapters, but you definitely won't learn much about what web 2.0 is and why it's important from this book. For that, definitely pick up Clay Shirky's book Here Comes Everybody. Is it all bad? No. Although superficial, I did pick up quite a bit of useful history and background on the web 2.0 phenomenon. I mostly enjoyed the book and would recommend it for any library that supports people studying the historical or business side of the web.

Some minor (and not so minor) things that annoyed me: Lacy's constantly using first names for her subjects giving and overly familiar air plus making it hard to keep track of which person she's talking about when it's a fairly large cast of characters. I also didn't appreciate that she referred to all the technical people as "engineers" -- may of whom were likely computer scientists, mathematicians or whatever. She didn't seem to have a sense that the job title engineer means someone that studied engineering. There were also a couple of uncomfortably misogynistic moments in the text (p. 42 and 226) that were unnecessary; Lacy seemed to be suffering a bit from The Stockholm Syndrome. She was also a bit flippant about the dark side of web 2.0, blowing off cyberbullying and copyright issues (p. 109).

August 28, 2008

Popular science book meme

There's a popular science book meme going around -- I first saw it on Cocktail Party Physics, where it evolved from another meme, and it's appeared other places such as Uncertain Principles. I have to say, I don't do that well in these sorts of popular science reading lists because I tend not to read so much from, say, biology or chemistry and more from computing and technology. Those lists tend to really focus on physics, chemistry, biology and math.

So, I won't bore you with lists of books I have or haven't read from these other lists. What I will do is mention a bunch that I have read and really enjoyed that are computing related, including a novel. I don't intend for this to be a meme, but please feel free to mention computing, technology or other popular science books that you've enjoyed.

  • The Bug by Ellen Ullman
  • Close to the Machine: Technophilia and its discontents by Ellen Ullman
  • Dreaming in Code: Two dozen programmers, three years, 4,732 bugs, and one quest for transcendent software by Scott Rosenberg
  • Everything is miscellaneous by David Weinberger
  • Here comes everybody: The power of organizing without organizations by Clay Shirky
  • Ambient findability by Peter Morville
  • Information architecture for the world wide web by Louis Rosenfeld and Peter Morville
  • In the beginning was the command line by Neal Stephenson
  • Programmers at work, 1st series: Interviews by Susan Lammers
  • Understanding the professional programmer by Gerald M. Weinberg
  • Peopleware: Productive projects and teams by Tom DeMarco and Timothy Lister
  • Decline and fall of the American programmer by Edward Yourdon
  • Weaving the Web by Tim Berners-Lee with Mark Fischetti
  • Software conflict: Essays on the art and science of software engineering by Robert L. Glass
  • The mythical man-month : Essays on software engineering by Fred Brooks
  • Out of their minds: The lives and discoveries of 15 great computer scientists by Dennis Elliot Shasha and Cathy Lazere
  • In the beginning was the command line by Neal Stephenson
  • The sachertorte algorithm: And other antidotes to computer anxiety by John Shore

July 9, 2008

Interview with Eugene Wallingford of Knowing and Doing

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:

http://www.cs.uni.edu/~wallingf/miscellaneous/recommended-reading.html


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 http://poignantguide.net/ruby/. 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 contribute to your interview series.

June 18, 2008

IEEE Annals of the History of Computing

Lots of interesting stuff from v30i2:

June 17, 2008

JCDL/DL: International Conference on Digital Libraries

This is a conference I have to get to one of these days. This year's edition is actually going on right now in Pittsburgh -- ironically, since I'll be in Pittsburgh next week for ASEE. Had I been sufficiently foresightful, it would have made a great two week visit!

You can see the program on the Conference web site here.

The ACM also has the proceedings online already! Here's some very brief excerpts from the TOC:

June 4, 2008

Strong opinions, weakly held

Jeff Atwood of Coding Horror ruminates about fame, expertise and influence:

Authority in our field is a strange thing. Perceived authority is stranger still.

I've always thought of myself as nothing more than a rank amateur seeking enlightenment. This blog is my attempt to invite others along for the journey. It has become a rather popular journey along the way, which has subtly altered the nature of the journey and the way I approach it, but the goal remains the same...

When it comes to software development, if you profess expertise, if you pitch yourself as an authority, you're either lying to us, or lying to yourself. In our heart of hearts, we know: the real progress is made by the amateurs. They're so busy living software they don't usually have time to pontificate at length about the breadth of their legendary expertise. If I've learned anything in my career, it is that approaching software development as an expert, as someone who has already discovered everything there is to know about a given topic, is the one surest way to fail.

Experts are, if anything, more suspect than the amateurs, because they're less honest. Regardless, you absolutely should question everything I write here, in the same way you question everything you've ever read online -- or anywhere else for that matter. Your own research and data should trump any claims you read from anyone, no matter how much of an authority or expert you, I, Google, or the general community at large may believe them to be.

May 16, 2008

IEEE Trans on Education: Special issue on plagiarism

The latest issue of the IEEE Transactions on Education (v51i2) has a special section on plagiarism. A bunch of the articles look very interesting, both to scitech faculty and to librarians looking to collaborate with those faculty. I haven't read the articles in detail yet, so I'm not sure if librar* are mentioned in any of them.

Here's the relevant parts of the TOC:

May 7, 2008

Blog about a classic (computer) science paper

Via Bora Zivkovic, Skulls in the Stars is challenging science bloggers to pick a classic paper in their fields and blog about it:

My “challenge”, for those sciencebloggers who choose to accept it, is this: read and research an old, classic scientific paper and write a blog post about it. I recommend choosing something pre- World War II, as that was the era of hand-crafted, “in your basement”-style science. There’s a lot to learn not only about the ingenuity of researchers in an era when materials were not readily available, but also about the problems and concerns of scientists of that era, often things we take for granted now!

Now, SitS specifies pre-WWII which probably won't work so well for disciplines like computer science so I'm sure people in new disciplines can just improvise with a foundational paper from a more recent time frame.

I'm hoping that some of the computer scientists out there can take this challenge and talk about some of the important papers from their fields. In particular, I can see this as being a useful classroom exercise as well.

In any case, to get the creative juices flowing, I'd like to point out that Wikipedia has a List of Important Publications in Computer Science page.

A couple that jump out at me that would be fun to see blogged:

Update: In the comments, Bora points out that SitS has updated the challenge:
Now that I’ve actually written my “classic science” blog post, I realized I didn’t plan any way to compile all the entries in the end! If you accept the “challenge” (I keep putting the word in quotes because I don’t want to sound like I’m trying to be confrontational), and post an entry, send me an email! I’ve put together a permanent page to compile all the entries together in one easy to find spot.

(I think I didn’t plan ahead because I didn’t think anyone was actually reading my blog!) :)

One final note: Just to have an end date associated with the challenge, let’s mark the end of May as the official end date; I’ll do a summary post at the end about everyone’s entries.

March 31, 2008

Is computer science a science?

It's been a long time since I last posted on this topic but it's not a subject I'm any less interested in. It's just that good stuff hasn't really popped up for me to post about.

Until now.

Jane is starting a series of posts on the subject with parts I and Ia already up. Normally, in this type of situation, I'd wait until Jane was finished the series or at least had a few more posts up. However, the Seed blog, Page 3.14, has a new poll up asking if readers think computer science is really a science. I've voted (Yes, natch) and I think you all should head over and cast your ballot. The poll was posted today but only 17 people have voted so far.

But first, a couple of tastes of the first two parts of Jane's series:

Is computer science a science? (part 1)

Computer science is in many respects a tool. It's a discipline that has its reach into many other disciplines. And that's one of the coolest, most interesting things about it. But that's also what makes it so hard to classify, to quantify. Computer science doesn't have to neatly fit anywhere, of course. But classifying it as something could make it a bit easier for non-computer scientists, and even computer scientists, to begin to understand just what it is and what its purpose should be. Having this strong sense of "self", of identity as a field, is, I believe, crucial to the survival of computer science as a field.



Is computer science a science? (part 1a: what do computer scientists do?)
I then spend the next 30-60 minutes working on my most important project. If there's a deadline approaching, this means writing/editing a conference or journal article or grant proposal. If there are no deadlines coming up, I'll tackle my most difficult research problem. Often I'll choose one that requires some thinking/planning/analysis. So I'll sketch out, on paper or on my board, a system design, or some coding diagrams or outlines, or an algorithm (a recipe for solving a problem). I'll occasionally work through some equations or work on mathematically modeling some aspect of a system. If I'm in the midst of some really tricky data analysis, I'll fire up Matlab and slice and dice the data in various ways to see if I can find some pattern I missed before. Whatever requires the most brain power and attention.