Booting up with WikiProject Computer Science
A 3-dimensional k-d tree
. The first split (red) cuts the root cell (white) into two subcells, each of which is then split (green) into two subcells. Finally, each of those four is split (blue) into two subcells. Since there is no more splitting, the final eight are called leaf cells.
This week, we ran diagnostics on WikiProject Computer Science. Started in July 2005, the project has grown to include two Featured Articles, one A-class Article, and eleven Good Articles. The project maintains a style guide, hints for creating sample algorithms to use on Wikipedia, popular pages data, and lists of recent changes. WikiProject Computer Science tends to focus on computer science and computer programming in its broadest sense, leaving specific programming topics to language-specific projects while most hardware and software articles are handled by WikiProject Computing, WikiProject Software, and a variety of subprojects. WikiProject Computer Science is one of several projects involved in ongoing discussions (here and here) about restructuring the many projects that handle computer-related topics. We interviewed project members Cybercobra and Ruud Koot.
What motivated you to join WikiProject Computer Science? How many languages do you know? What was your "first" computer?
- Cybercobra: At university, I majored in Computer Science, so it only seemed natural to join this WikiProject. Programming languages are like natural languages; understanding falls along a continuum rather than being a (excuse the pun) binary condition. I'm into programming language theory, so I've studied a number of languages (~9+) [hence my infoboxing campaign], but would only call myself proficient in 2 of them. The first computer I ever used was an early Apple of some sort in elementary school; I remember using Kid Pix on it.
- Ruud: I'm a graduate student in computer science, currently specializing in topics related to functional programming, type theory and program analysis. A lot of my work on Wikipedia concerns these subjects as well. I've written (at least a few lines of) code in dozens of languages, but consider myself to master only two or three of them. It probably has to be said that computer science concerns itself with much more than programming languages alone (see Areas of computer science).
WikiProject Computer Science is the parent project for many projects. Have you contributed to any of these projects? How much collaboration and overlap is there among all the projects related to computer science? How much do these projects collaborate with WikiProject Mathematics?
- Cybercobra: We're related to many projects, but I don't know that we're parent to all that many. As you might guess, I contribute to WikiProject Programming Languages. Some of the subprojects aren't all that active, and some have scopes that are questionably narrow.
Computer-related topics can occasionally become complicated. How much effort goes into reducing technical jargon and simplifying articles for layperson readers? Does the complexity hinder efforts to recruit new members to the WikiProject?
- Cybercobra: There is so much terminology that I suspect trying to "dumb" it all the way down might be a fool's errand that would result in more parenthetical usage than Lisp, but we could certainly be doing better. The ability to wikilink terms is quite useful, and some of the articles use analogies, examples, and diagrams to good effect, but we're ultimately operating in a jargon-laden field.
- Ruud: In any technical field there is always a tension between writing something that is easy to understand for the layperson and something that is technically correct and precise enough to be useful for the expert. Expert authors should not forget that they are not only writing for their peers, but also for the general public. Readers on the other hand can sometimes have unrealistic expectations, wishing to fully understand a complex topic by only reading the introduction of an encyclopedic article.
The project has many articles that were formerly FAs and GAs. What sunk so many of these articles? Has there been an effort to bring them back up to Featured or Good Article status?
- Cybercobra: Rising standards for GA/FA are likely the cause; referencing and approachability are (rightly) more strictly enforced than they were in earlier days of Wikipedia. Trying to manage programmers is said to be akin to trying to "herd cats"; so unsurprisingly, the project tends to be lacking organized events (typical of e.g. WP:MILHIST) like GA/FA improvement drives, and generally seems to be more just a place to post targeted requests for expert or second opinions.
How difficult is it to illustrate computer science articles with photographs, diagrams, or other media? Are there any specific images you could use help finding or creating?
- Cybercobra: Graphviz seems to be quite useful. Aside from examples, logos, and pix of relevant people, CS articles are often slightly sparse image-wise, but I see no problem with that personally; better than trying to crowbar unnecessary images in.
- Ruud: There are a number of useful tools to create diagrams (for example Graphviz, PGF/TikZ and R). If those don't get the job done then creating a diagram using a custom script or program is also an option. Unfortunately, people often only upload the final image file and neglect to attach the "source code" in some way. This makes it more difficult to modify images at a later date and – also not unimportant – makes it more difficult to learn by example or copy-and-paste. Computer science is a young field, so most biographies concern people who are still alive. I often find photographs by searching for Creative Commons licensed photos taken at computer science conferences on Flickr.
What are the project's most pressing needs? How can a new contributor help today?
- Cybercobra: Many of the articles are not as well-referenced as they should be; I weep at the fact that such a fundamental concept as Variable (computer science) lacks any citations whatsoever! Most of the information in such articles is correct, but it really ought to be verified via citations. Anyone with spare time and access to the right sources could really make a significant impact.
Next week, we'll check out a large country that will be host to a WikiConference this month. Until then, there's always the archive.
What do you think of The Signpost
? Share your feedback.