Wednesday, December 14, 2005

The problem with computer science

I've commented before on the issue of decreasing computer science enrollment, and especially the enduring decline in women opting for a computing career. While many say that our profession has an image problem, the implication is usually that we need to improve our public relations. I've argued that we need to do something about what our field is actually like. The article from The Institute, "Why won't Jane go to engineering school? (Hint: Jane is not dumb.)", linked from the title above, says the same thing, extends the argument to how we educate engineers, and compares this to other professionals.

The Institute is published by the Institute of Electrical and Electronic Engineers (IEEE), the major professional society for electrical engineers. The article, while written about engineering in general, applies fine to computer science as well. Here's the major point:
... engineering school continues to be a dreary and stressful affair. Typical curricula still struggle to include 'all that is important,' and as a result they are overstuffed and unattractive. More study subjects are likely to be crammed into the heavy course list; fewer obsolete old favorites are likely to be retired. The post-university workplace is not much better. Compared with the fields of education or health care, the ethos of the engineering workplace -- long hours, high stress, competitiveness, a 'one size fits all' mind-set -- is uninviting. This is especially true for women, who still carry child-rearing duties in our society much more heavily than men.

The lackluster engineering education experience and the often unaccommodating (and increasingly unstable) engineering workplace have affected men as well as women. During the last 20 years, enrollment in U.S. engineering programs has lagged significantly behind the overall growth in college and university enrollments. There were demographic changes as well-engineering students in the United States are increasingly recruited from communities that struggle to lift themselves into the middle class (most notably, first-generation college attendees and first- and second-generation immigrants).

The author, Moshe Kam, has really pegged the field. Computer science disproportionately attracts students who are pre-disposed to hard, even excessively hard, work. First-generation college students and immigrants have a very clear idea of what life will be like without a college degree that translates into a well-paying job. They're not as willing to take the risk of pursuing a course of study that may not "pay off". I know that's the way I thought of things when I was an undergrad: failure was not an option, nor was the prospect of what I perceived (rightly or not) to be the potential low-paying positions associated with other degrees. This fed back to engineering students' psychology: that students in other majors were either lazy or lacked the "mental firepower" to be engineers. We never thought that maybe they had considered the option and decided that life was just too short and that an engineering career wasn't worth the amount of effort demanded. In other words, the problem isn't with potential students, the problem lies with the computing profession.

Kam contrasts engineering with fields such as law or medicine, and how those fields have attracted women by offering a more rewarding, human, and humane educational and career environment. Is part of the problem that these other professional programs are graduate programs, while computer science/engineering is undergraduate?

When we also tell them [women] (as we do) that in order to be an engineer one must be 'a fan of science and math' and 'juggle projects, lab exercises, and reading assignments' they take one last look at us and flee... the popular CollegeBoard Web site describes several college study majors. The lawyer-to-be will 'engage in intense discussion of thorny legal problems.' The computer engineer? She will 'spend lots of time solving tough math problems.' Take your pick.

Young women are not dumb. The problem is not that they need to change. The problem is that we need to change. In the view of many young people, women especially, engineering represents a collection of majors that promise hard work during college, often in a tense and demanding atmosphere, with the prospect of ultimately gaining a stressful job of questionable permanence. What will help us most is not to say that this ain't so, but to make it so that it ain't.

Topics: , .

Tuesday, December 13, 2005

The KU soap opera continues

It really is starting to sound like a soap opera. This article quotes Prof. Paul Mirecki saying that he was forced to resign as Chair of the University of Kansas' Department of Religious Studies. The article linked from the title above quotes KU administrators saying that he resigned voluntarily. Though these two stories seem in conflict, they really aren't. Voluntarily acceding to a strenuous request by your boss is still a response to coercion. At most schools, department Chairs serve at the pleasure of Deans, so any refusal on Mirecki's part would likely have been futile anyway. As I stated earlier, the KU Chancellor made some remarks that raise questions in my mind about support for academic freedom there. This is consistent with Mirecki's statements.

I'm sure there will be more happening here, as it also appears that Mirecki's computer has been seized by the police, for reasons they won't state.

Monday, December 12, 2005

Is Today's Engineer lame or clueless?

Along with my most recent copy of IEEE Spectrum, I received a print copy of Today's Engineer Digest, which is supposed to be "the US IEEE members' quarterly digest for building careers and shaping public policy". And all I can say is, "holy crap, can't they spend a minute or two reading the articles before they print the thing out?"

For those who don't know, the IEEE is the main professional organization for electrical engineers, and Spectrum is their main publication. Generally speaking, articles in Spectrum are excellent, not as original research publications, but as tutorials and technology overviews for members who may be in any one of a large number of different EE subfields.

Then there's Today's Engineer. Let me choose two example articles from the December 2005 issue of the Digest: one with a topic that I agree with and one with a thesis I disagree with.

The first article is "A New Frontier: The Privatization of Space". The online article is choppy, essentially a sequence of paragraphs that vaguely follow one to the next but without much in the way of transitions, let alone a coherent overall argument or story. Clearly, the current state and future development of the space industry is of professional interest to electrical engineers. That's about all I get from the article, despite the fact that the author is IEEE-USA's Technology Policy Editor. And the print version in the Digest is much, much worse.

Then there's the "Student Voice" article: "On Social Security". Now, I can forgive a student for not being very clear about the basics of Social Security or investments. After all, it will be decades before he has to consider Social Security benefits (though it would behoove him to learn about investing, including retirement investing, as soon as possible). But I would expect some sort of editorial fact checking to occur before the article sees print. In this case, the author parrots the disinformation he's apparently heard: that "Congress has been spending it [the Social Security surplus] and placing IOUs in the 'trust fund'". I guess I can't really blame him, as he's mostly quoting this article from the Congressional Research Service.

I always wonder if people who write things like that think that Social Security contributions would be sitting in a savings account if not for the spendthrift Congress. Of course, the Social Security system invests in securities that are more secure than a bank account: US Treasury securities, generally considered to be the safest investment in the world. These securities serve as the foundation for many mutual funds with conservative policies and are purchased by the hundreds of billions of dollars worth by foreign investors (it's what they do with all of the trade surplus dollars they get). If, as the author fears, the government defaults on these debt obligations, Social Security will be the least of our problems: it will mean a worldwide economic collapse that will make the Great Depression look like a little bump in the economic road.

Back to Today's Engineer Digest. I'd be interested to hear from other US IEEE members regarding this publication. Have you gained useful information from it? Are you aware of useful public policy work that it has been involved with?

Topics: , , .

Digital convergence: death knell for civilization?

For a few years now, many of us have been salivating over the prospects of "digital convergence": technology that will unify all media (radio, TV, etc.) on computer platforms. Well, I'm here to tell you that digital convergence is starting to look like a VCR blinking 12:00 because its clock isn't set.

The story begins with our hero and his family tiring of watching a 15-year-old 29" (75cm) TV from a distance of 15 feet (5 meters). The only things making the situation tolerable were the fact that we don't watch much TV and that, because of our nearsightedness and the distance to the screen, it wasn't so noticeable that the right side of the screen was purplish and the left side was greenish. So, we decided to get a new TV, a bigger TV, a digital TV.

Considering the current flux in HDTV pricing and technology, we decided on a 52" (130cm) rear projection micro-display model, to keep the price down. I'll keep the brand secret, but it's a large Japanese company. the TV is big, and the picture is much better than our old TV. That's the good news. The bad news is that, even after almost a week, there are still some issues with the TV setup that I'm not sure of. That's right, someone with a PhD in Computer Science and almost 30 years' experience programming computers, including Unix system administration and device driver development, has trouble setting up his new TV.

Lest you think I'm some special kind of idiot (well, you may still conclude that, but I'll try to dispel it), let me describe what I've gone through. First and foremost are the problems of the TV user interface and manual. The TV's user interface is composed of a series of approximately 100,000 menu screens, with items grouped more-or-less by topic (by the way, the user interface runs under Linux, not that that really matters in terms of user interface design). The only way to move from screen to screen is to scroll up or down the items of the current screen, one by one, until hitting the end, at which point the next screen will pop up. The screens are arranged in a loop, so, as any CS major will tell you, the worst-case distance to your desired menu item is N/2 button presses, just like a circular, doubly-linked list. The manual even has a listing of the menu screens. Unfortunately, the listing in the manual seems to be four-dimensional, as I still cannot figure out whether the shortest distance to a menu item is "up" or "down".

The TV has four sets of inputs, and each has different capabilities, in terms of combinations of component, composite, S-video, HDMI, analog audio, and two types of digital audio connections. It also has two sets of outputs: one with video and audio and one with audio only (one with a choice of analog or digital audio, one with only analog audio). In my case, I have a older, analog (Dolby Pro Logic) surround sound stereo system. One nice feature of this TV is that its built-in speaker can be used as the center speaker for a surround system, and I planned to take advantage of that. I also have a TiVo with integrated DVD player and a VCR.

I planned out how to hook everything up. Unfortunately, the manual's connection instructions only include a set of "quick start" examples; there's no detailed information on any non-obvious distinctions among the different inputs and outputs. Anyway, I filled in the blanks in my own mind, hooked everything up, and then prepared to enjoy some "Stargate SG-1".

Everything works fine when the video source is the TiVo, DVD, or VCR. But, when the video source is the TV itself, there's trouble. First of all, when the TV is set up so that its built-in speaker will act as a center channel for a surround sound system, no audio is output to the stereo when using the TV tuner. Since the center channel must come from the stereo, that means there's no sound at all. This necessitates going into the menu system every time I switch between external devices and the internal tuner to switch the speaker mode.

Then there's the tuning itself. Our basic cable comes with a limited selection of digital programs, including local stations' HD broadcasts. Our cable company lists them as having three-digit channel numbers, but the TV accesses them via channel/subchannel numbers that seem to have no relationship to the cable channels. My intuition is that the TV's channels are physical numbers, while the cable company's channels are logical numbers. The cable company representatives don't seem to understand what I'm talking about; my emails bring back only repeated references to a URL that lists the channel lineup by "logical" channel number. So, I'm left scanning about a hundred channels myself to figure out what each is.

Meanwhile, my parents' VCR still blinks 12:00, assuming that there has been a power outage since the last time I visited them (which, considering the fact that they live in Florida, is quite likely). I can't see the typical TV watcher being able to install these things, or having the patience to go through their setup. The fact that consumer VCRs have been around for something like 25 years and most are still too difficult or annoying to program for most people bodes ill for digital convergence. And I'm not sure Apple can save us...

Topics: , , .

Sunday, December 11, 2005

Outsourcing game playing and homeworks

Daniel W. Drezner blogged about the NY Times article linked from the title above. The article is about a new kind of Chinese "factory", in which workers play online games, building up high-level characters and collecting various in-game objects for sale to other gamers.

As they grind through the games, they accumulate virtual currency that is valuable to game players around the world. The games allow players to trade currency to other players, who can then use it to buy better armor, amulets, magic spells and other accoutrements to climb to higher levels or create more powerful characters.
I like the adjective "grind" in the quote above. Remember, these are supposed to be games. If you find playing them to be a grind, then maybe you should find something else to do. If a player needs to have a high-level character to get to the fun parts of the games, then maybe the game companies need to work on their software a bit. You'd think that the games would be designed so that exploring and developing one's character would be fun, regardless of level. Then again, I guess there will always be people who confuse "winning" with "having fun". Unless you're getting paid to do it, why do you care what level your character is?

I was going to suggest that if you have enough money to burn that you spend it on paying someone else to play games for you, it would be better to give it to charity. But, then again, maybe that's what's being done: rich kids in developed countries giving their money to kids (and companies) in developing countries. And they're fostering increased interest in technology and technology-related education in those countries, too.

"It's unimaginable how big this is," says Chen Yu, 27, who employs 20 full-time gamers here in Fuzhou. "They say that in some of these popular games, 40 or 50 percent of the players are actually Chinese..."

"What we're seeing here is the emergence of virtual currencies and virtual economies," says Peter Ludlow, a longtime gamer and a professor of philosophy at the University of Michigan, Ann Arbor. "People are making real money here, so these games are becoming like real economies."

The game companies don't like this, I assume not because of any sense of fairness, but because in the long term it threatens their business. Who wants to play a game when half of your opponents are only in it to develop characters for sale? Then again, maybe the game companies can embrace this, and advertise the percentage of players who are "professionals" as a way to sell their games as being more competitive than others'.

How different is this than students outsourcing their homeworks? This was a subject in a recent Communications of the ACM article, but I had my own personal run-in with it a couple years ago. A colleague emailed me with the observation that he had seen someone advertising a "programming job" on the site rentacoder.com (I refuse to link to these scumbags) that exactly matched one of my programming assignments. I reciprocated by finding similar ads for assignments at other schools and emailing the faculty involved. I just browsed their site, and here's what I found:

  • Digital computer design HW C: I need to finish this project due 12 DEC 9 AM EST...
  • Technical Paper on Interoperability between distributed heterogeneous data sources and applications: You are required to write the essay of about 2500 words to discuss the basic concepts,techniques, and challenges associated with interoperability... PLEASE ALSO REMEMBER THAT THIS MUST BE AN ORIGINAL PIECE OF WORK. All work will be plagiarism checked.
  • easy java homework
  • Develop classes in BlueJ: You are required to develop a set of classes for use in an Address List Organiser such as those found in PDA devices...
To get enough information to backtrack where these projects come from, I'd have to register as a developer on the site, as a login is pretty much uniformly required to access the various details. Maybe this is a business opportunity for someone: cruising the web for students outsourcing their homeworks.

Topics: , , .

Thursday, December 08, 2005

Mirecki resigns as department Chair

There's not much information out there, but Paul Mirecki has resigned his position as Chair of the University of Kansas' Department of Religious Studies. For those of you who aren't keeping score, Prof. Mirecki:

  1. Is faculty advisor for an atheist/agnostic student group at KU.
  2. Makes informal posts to a Yahoo! group created for that KU student group.
  3. Was planning to teach a spring semester course on Creationism/Intelligent Design as mythology.
  4. Sent a message to the student group plugging the course as something they might be interested in taking. That message mocked fundamentalists and stated they might not like the treatment of Creationism as mythology.
  5. Cancelled the class when the message was leaked and creationists in Kansas had a cow.
  6. Was beaten by two men early one morning; those men mentioned the course he was planning to teach.
You can read the AP news article from the title link above; you can read the KU press release (with link to resignation letter PDF) here. I personally don't see bugging Prof. Mirecki to find out anything more; his personal decisions are really none of my business. I do find the comment by his Chancellor that his emails to the student group were "repugnant and vile" troubling from an academic freedom point of view. I wonder if that Chancellor would say the same thing if Mirecki's comments were about atheism or a non-Christian religion. Mirecki's area is Religious Studies, and so his comments are relevant to his scholarship and shouldn't be subject to summary criticism by University officials without due process by Mirecki's peers.

Update: John Wilkins has a thoughtful post about this over at Evolving Thoughts.

Topics: , , , .

Tuesday, December 06, 2005

Culture wars heating up?

OK, it's probably just a case of a couple of rednecks doing the sort of thing rednecks do (attack people with whom they disagree). But it's difficult to deny that the rhetoric used these days by the "traditional values" pundits (including those who swirl around the manufactured creationism/"intelligent design" "controversy", for example) is often an incitement to violence. In this case, a Religious Studies professor at the University of Kansas, Paul Mirecki, sent out a private email mocking the creationist crowd and describing his plans for a religious studies special topics course that would "...be a nice slap in their [fundamentalists'] big fat face by teaching it as a religious studies class under the category ‘mythology’". Because of the email, he was forced to apologize and cancel his class. Because it's important for an instructor's mind to be a blank slate before teaching a class, I suppose. I guess I'd better think twice about emailing out information on my upcoming algorithms class; wouldn't want the wrong people getting the idea I have already formed an opinion on red/black trees.

P.Z. Myers at Pharyngula says that he may have some additional details to post about this soon.

Monday, December 05, 2005

Making lemonade

I've blogged before about the decrease in Computer Science enrollment. One of the side effects of decreased enrollment is decreased class size. In fact, I've got a class coming up next quarter -- an algorithms/data structures class -- that will almost certainly have fewer than 10 students in it. This raises the question: how would you teach such a class differently, given that the number of students is small enough that there is no need for a formal lecture approach?

I'm still in the early stages of thinking about this, but this is what I've got so far:

  • Our classes meet twice a week for 2 hours each time. Have a seminar for one of those periods, focusing on the topic du jour: balanced trees, hash tables, etc. Make a student responsible for presenting his or her best understanding of the topic, leading a discussion for whatever points are unclear or not covered in sufficient depth. Do "mini lectures" for especially unclear matters.
  • Instead of having programming assignments targetted at each topic, have one or two larger projects. Do them as a group. If enrollment is small enough, we can just have one group; I could be a member of that group, too. It's a fairly easy substitution, for example, to substitute a search tree or hash table for a database in a web application.
That's all I've thought of so far. I'd welcome suggestions. Please! Topics: , .