Wednesday, June 16, 2010

Visualizing data with Protovis

In this month's Communications of the ACM, Heer, Bostock and Ogievetsky provide an eye-opening overview of the latest visualization techniques in A Tour Through the Visualization Zoo. The graphs and figures in the article were all produced with Protovis, an open-source library developed at Stanford for producing visualizations using JavaScript and SVG.

I've reproduced a few of my favorite visualizations from the article below.

The first is an index chart which shows the relative change in stock prices of several tech companies over time. The gain/loss factor is based on a fixed point in time (the red line). You can see some correlation between the stock prices, and clearly Apple is the overall winner. The online version allows you to change the location of the red line.




This is a choropleth map showing obesity rates in the US in 2008. The online version allows you to slide the date back to 1995. As you move the dates forward, you can see how the US population gets fatter, with the highest proportion of obesity rates focused in the South. There's a saying here in Arkansas: At least we're not Mississippi! wink




When you view the obesity rates with a Dorling cartogram, you see that Arkansas actually has fewer obese people than Colorado!




The next couple of graphs show how to visualize networks. Both visualize character co-occurrence in chapters from Victor Hugo's novel Les Misérables. The first is a force-directed layout. The node in the middle is, of course, Valjean. The online version allows you to pull nodes around and watch them re-arrange themselves.




The nodes can also be rearranged in an arc diagram as shown below.

Monday, June 07, 2010

Build your own C# screen saver

I wrote a tutorial years ago about creating a Windows screen saver using the C# language. I usually let my GUI students do it as an extra credit assignment.

The tutorial was really showing signs of age, and last week I was finally able to update it. You can find it here. If you'd prefer to just jump straight to the finished product, you can download the project here. I used Visual Studio 2010 to write the demo code.

One more thing to cross off my summer to-do list.

Wednesday, June 02, 2010

Professor's plagiarism case against colleague

Inside Higher Ed reports that a Math/CS professor at Bethel University has accused another professor in the same department of plagiarizing his CS1 labs. The accuser, Benjamin Shults, says that he gave Brian Turnquist his labs for class use which had Shults' name on top. Turnquist subsequently replaced Shults' name and other identifying marks (like swapping out images of Shults with Turnquist's). The modified labs were placed on Turnquist's website.

Turnquist was found guilty of "innocent infringement" by Bethel's Grievance Review Committee, was forced to give Shults an apology, and had to remove all the labs from his website. Apparently Shults is not happy with the committee's slap on the wrist. He has not received an apology yet (see the comment at the end of the article entitled "corrections"), and he's created a website that documents the whole affair.

When I read this article, I immediately thought of all those assignments and labs I had borrowed from my fellow faculty members and the labs/assignments I have given to others to use in their classes. I have always removed their names on the documents and thought nothing of it... I assumed they were doing the same. But I have also never posted the documents on a website for public consumption.

Our department is now discussing this issue, and I think we'll all be more diligent about giving credit when modifying another's lab/assignment for class use. However, we all agreed that the best way to handle a situation like Bethel's is to go directly to the offending party.

Since Bethel is a Christian university like Harding, I couldn't help but wonder how applying the biblical principles set forth by Jesus and Paul would have drastically changed the situation.

Matthew 18:15:
"If your brother sins against you, go and tell him his fault, between you and him alone. If he listens to you, you have gained your brother."

Matthew 5:38-39:
"You have heard that it was said, 'An eye for an eye and a tooth for a tooth.' But I say to you, Do not resist the one who is evil. But if anyone slaps you on the right cheek, turn to him the other also."

1 Corinthians 6:6-7:
"But brother goes to law against brother, and that before unbelievers? To have lawsuits at all with one another is already a defeat for you. Why not rather suffer wrong? Why not rather be defrauded?"

Friday, May 21, 2010

Braden: From 1 to 12 months

My youngest is one today. Just like our oldest son, we took pictures of Braden next to marshmallows every month so you could see how he grows. I'm a little biased, but this guy is one cute kid!



Month 1



Month 2



Month 3



Month 4



Month 5



Month 6


Month 7


Month 8


Month 9


Month 10


Month 11


Month 12


Getting these photos was not easy. Here are a few out-takes:










Wednesday, May 12, 2010

Harding students release Xbox game

Two of my Game Programming students from last fall, Nathan Willingham and Seth Ringling, developed a real-time strategy game called Scatha for their final project. Nathan and Seth put some more time and effort into the project and have now released the Xbox 360 game for purchase.

I'm really proud of the effort these guys have put into their first Xbox game. Not only did they write every line of code in the game, they also created all the graphics. If you enjoy playing RTS games, I think you're going to enjoy playing Scatha.

Update on 7/22/10:

Seth and Nathan have now released a second game called Four Corners and are working on a third title. Their game company is called Living Creature Studios.

Tuesday, May 11, 2010

Good-bye CS graduates

The Spring semester is over, and our department graduated 9 students. Not everyone made it into the photo below, but most are there. This was once again a very talented group of students, and they'll be missed. Thankfully they are entering a good economy with good job prospects, and most of them have already accepted a job.

Tuesday, May 04, 2010

Apple vs. Google vs. Microsoft War Chart

This infographic by Shane Snow beautifully illustrates the epic battle that Apple, Google, and Microsoft are engaged in. From ebooks and phones to office and email, all three giants are battling for more users.

Although many of these services are free to the end users, there are billions of dollars in revenue at stake. Click on the map to zoom-in.

Friday, April 30, 2010

I'm at WWW2010 in Raleigh, NC

I've been here at WWW2010 since Tuesday, but I've been using Twitter to post some of my thoughts on the conference and have been neglecting my blog (yes, I twoatted all over the place). This is only the second time I've attended this conference, and once again I've really enjoyed it. I'm leaving for Searcy in a few hours, so I'll quickly sum-up my impressions.

The keynote speakers were good, but I particularly enjoyed Carl Malamud's talk on being a "rebel". Carl didn't have a PowerPoint presentation, but he didn't need one; his stories about liberating tax-funded data and other exploits were very entertaining. "When I first saw Tim Berners-Lee's Web prototype, I thought to myself, 'That's nice, but it will never scale.'"

I also enjoyed a presentation this morning by Damon Horowitz of Aardvark, a social search engine that was recently purchased by Google. While listening to the presentation, I couldn't help but wonder, "Why didn't I think of that?" As Michael Nelson reminded me at lunch, the best ideas usually result in that response.

Other highlights include the panel Search is Dead! Long Live Search! that examined the future of web search and the Media on the Web developer's track which highlighted some incredible things HTML5 can do.

I'm excited to incorporate some of the things I've seen this week into the next offering of my search engine course. I'm even more excited to see my family again.

Thursday, April 22, 2010

George W. Bush speaking tonight at Harding University

Tonight our former President will be addressing a very pro-Bush Harding audience. Around 2000 students, 700 faculty and staff, and a few hundred other guests will be packed into the Benson Auditorium to hear Bush talk about...? My guess is Bush has a finely tuned speech for addressing college students, packed with jokes about Texas, Democrats, and how even C students can someday be President.

Update

Although I wasn't able to attend last night's talk, I was told by many of my students that Bush came across very eloquent, knowledgeable, and by some accounts "inspirational". This might be a surprise to many who are more familiar with his public gaffs. My parents (who used my tickets) were also quite impressed.

When asked what was the most difficult decision he made as president, Bush said that it was sending in additional troops to Iraq ("The Surge").

Friday, April 16, 2010

When Twitter is gone, your Tweets will live on

The Library of Congress announced on Wednesday that
"Every public tweet, ever, since Twitter’s inception in March 2006, will be archived digitally at the Library of Congress."
That's right... every thoughtless, trivial, and crass remark you ever tweeted is now going to be made available for future generations (your tax money at work wink).

This is actually a very positive development because this corpus of short messages will provide invaluable to researchers and historians. My guess is some research on this corpus will likely be used to improve web search. I will certainly have my web IR course in the spring do some analysis on the corpus.

My hope is that some day the LoC will also archive all of Facebook. This will prove much more problematic as Facebook data is inherently private, and access to the archive will likely need to be restricted. But losing this treasure chest of bytes would, in my estimation, be far more of a loss to society and future researchers than losing a few tweets.

Tuesday, April 13, 2010

Bad idea: Using the same password on multiple websites

I just received an email today that reminded me why it's a very bad idea to use the same password on multiple websites.

A few days ago, some hackers compromised an Apache server which contained a hash of each user's account password. A brute-force approach will reveal a number of the weaker passwords which the attackers will then likely use to compromise accounts on other popular systems like Gmail. The email was warning me to change all my passwords on the other websites where I use the same username/password.
"We (the Apache JIRA administrators) sincerely apologize for this security breach."
At least they were sorry. wink

I know it's a real pain, but if you aren't using different passwords for different websites, start doing it now. It's much better than trying to clean up the mess after someone hacks your email, banking, and who-knows-what-else accounts.

Tuesday, March 30, 2010

Cheating and the "technological detachment phenomenon"

The Chronicle on Higher Education recently ran a story on cheating in the sciences that places some of the blame on professors: High-Tech Cheating Abounds, and Professors Bear Some Blame. The article quotes Douglas Breault Jr., a teaching assistant (or should I say soon-to-be-ex-teaching assistant wink) at Tufts University, about professors' attitudes toward cheating on homework:
"The profs tell me to ignore it."
The article goes on to say that students and faculty are often "cavalier" in their attitudes about cheating on homework because the former group views it as busy work, and the later group knows that students will rarely pass if they cheat on homework. My guess is that some professors are scared of student retaliation, especially at some universities that offer little support for academic ethic violations. And many professors would rather be performing research, not parenting a 20 year-old; afterall, tenure committees don't count the number of students you've busted for cheating. It is certainly easier to abdicate our responsibility of shaping our students' character and look the other way.

What I found most interesting about the article was what Trevor Harding (California Polytechnic State University at San Luis Obispo) coined technological detachment phenomenon: the moral detachment many experience in an ethical situation when introducing technology into the equation.

For example, Harding found that most students would say they are cheating if they brought a cheat sheet to an exam. But those same students would not consider it cheating if they brought to the exam a graphing calculator with the same information secretly stored on it. The use of technology, for whatever reason, makes students view the ethical situation quite differently.

Are there other areas of life where technological detachment phenomenon applies? I couldn't help but think of how mobile devices have altered what is acceptable in social situations. For example, many of us allow our devices to interrupt our conversations with others, even at the dinner table, but we would think it rude if a live person barged in between us and a friend while talking.

One last item: the article briefly mentions cheating websites like Course Hero. They have over 250K "fans" in Facebook (see the image below).



I lifted this from Course Hero's Facebook fan page:
Course Hero is the leading social learning network that strives to accelerate and maximize education breakthroughs of students -- the persistent learning gap between theory and application via a content sharing network.
Brilliant marketing: a carefully crafted statement that avoids the use of "dishonesty", "plagiarizing", and "shooting yourself in the foot".

Saturday, March 27, 2010

XNA pong demo

This morning I held a tutorial for teaching a game programming class. The tutorial was part of the CCSC-MS conference that was held on the Harding campus, and approximately 20 faculty and a few college students were in attendance.

In the second half of the tutorial, I walked participants through building a simple pong game using XNA, Microsoft's game programming framework for Windows and the Xbox. In honor of March Madness, I wrote a basketball-themed pong demo that introduces displaying sprites, animation, keyboard input, sound effects, and collision detection.

Pong screen shot

If you are lazy and just want the demo code, look for links at the bottom of the demo.

Thursday, March 25, 2010

iPhone app contest

The Hoggard Team, a local family of realtors, has created an iPhone app contest. Contestants are to build an entertaining app which also advertises the Hoggard's business. $500 will be awarded to the winning app, and the entry deadline is April 30, 2010. The contest was developed primarily for our Mobile Computing students, but I've been told anyone may participate. Read more about the contest here.

Monday, March 22, 2010

CCSC-MS at Harding University

The Consortium for Computing Sciences in Colleges - Midsouth Region will be holding its annual conference (CCSC-MS 2010) at Harding this Fri and Sat (Mar 26 and 27). This is a computing education conference that will attract faculty at many smaller colleges and university in the mid-south region. There's a student programming contest Fri afternoon.

I'll be presenting a tutorial on Sat morning 8:30 - 10:00 in Sci 207 called Teaching a Game Programming Class for the First Time. I'll be discussing how I taught my game programming course last fall, and I'll introduce the XNA platform and show how to develop a simple pong game.

Harding students are welcome to attend the conference for a modest fee of $60.

Tuesday, March 16, 2010

CS 4th Top-Paid Major Among Class of 2010

Good news for our computer science majors: according to a report by the National Association of Colleges and Employers (NACE), CS majors graduating this year will be offered $61K a year. There are only three other majors, all engineering, that will be paid more. Of course CS majors working in Arkansas should expect slightly (significantly?) lower salaries.

MajorAverage Salary Offer
1. Petroleum Engineering$86,220
2. Chemical Engineering$65,142
3. Mining & Mineral Engineering (incl. geological)$64,552
4. Computer Science$61,205
5. Computer Engineering$60,879

Saturday, March 13, 2010

Reflections on SIGCSE 2010

The conference luncheon is over, and I'm heading back to Arkansas in a few hours. This has been a very informative conference, and it's filled my head with a number of ideas and methods to try in my classes.

Here are some of the highlights from the past three days:
  • My presentation on Thurs afternoon (teaching Web IR to undergrads) went well although it was scheduled at the same time as an NSF funding panel which cut into my audience. I got some positive feedback by others teaching or wanting to teach a similar course.

  • Thurs night's "Teaching Web Programming" Birds-of-a-Feather session was interesting. Participants shared a number of things they teach (PHP is popular and JavaScript frameworks are gaining in popularity). One participant has her students perform usability studies on their class projects. Apparently I am one of the few that is still teaching CGI programming.

  • Carl Weiman gave an excellent keynote on Fri morning. He discussed how humans build long-term memory (retrieve and apply repeatedly with time in between) and limits on our working memory ("blue screen of death" for individuals when presented with more than 7 items at once). He also gave teaching tips for developing expert-like thinking in our students: present an interesting problem and bring in the necessary facts and procedures that are necessary to solve the problem. This can be done in class by having students read their text before class, take a quiz over factual knowledge, ask some questions in class and have students discuss solutions in groups of 3, and have groups discuss their solutions. (See what others say about his talk.)

  • I learned more about the Game-Themed programming Assignments (GTA) in the Games section on Fri afternoon. This approach uses a library wrapper around XNA to make game programming assignments in CS1. I plan to talk a little about this project in my upcoming Game Programming workshop at CCSC-MS (I'll blog more about this workshop later).

  • In the same game session, Michael Hewner, one of Mark Guzdial's PhD students, also shared his findings about what game companies are looking for in a new graduate. Michael created a one-page summary you can obtain here. Two most important things: C++ proficiency and social skills (ability to work well with others).

  • At the Google panel on education I learned a about a new project called Google Code University. Faculty can host their material there after it is reviewed and accepted by Google. I may look into putting some of my Android teaching materials there since there's currently little offered on Android. I also learned a little about Google App Inventor-basically Scratch for Android.

  • I spent a few hours talking to book publishers, poster presenters, and other exhibitors. In one conversation with a rep from a women's organization, she stated the org's very lofty goal of having 50/50 representation in computing in 10 years. I also talked with Ryan McFall (Hope College) who teaches an interesting breadth-first computing course for non-majors. Every time I hear about courses like this I wonder why we don't have something similar at Harding.

  • One of the most enjoyable sessions was It Seemed Like a Good Idea at the Time where several instructors shared in a most humorous way some of the teaching disasters they faced in past semesters. It made me laugh, and it made me feel a lot better about my past mistakes.

Next year's SIGCSE is in Dallas. That may be a good trip to make with the family next spring.

Wednesday, March 10, 2010

Media Computation Workshop

I spent the greater part of the day at the Media Computation Workshop, one of the pre-symposium SIGCSE events, learning how to teach CS1 using images, sound, music, and video. Media computation is what is taught at Georgia Tech to majors and non-majors in their CS1 course, and they've seen it significantly increase the percentage of students able to pass their course.

I must admit that after just the first two hours of the workshop had passed, I felt like the current way we teach CS1 at Harding could use some improvement. At the end of the semester, my students are still writing console programs that involve keyboard input manipulating numbers and text, and their programs look like something out of the 1970s. Yes, my students have a firm grasp on the fundamental concepts of programming, but I may have lost a few students along the way, and they are certainly not going to brag to their friends about their cool text-based programming projects. Media comp students regularly show-off their programs to friends.

The problem with adopting media comp is that ideally you teach it with Python or Java as there are currently no texts for C++. Mark told me there are libraries for C++, so I may at least see if I can integrate a few of the projects into my C++ class.

I really enjoyed the workshop, and it certainly gave me a lot to think about. Mark Guzdial and Barbara Ericson did a great job leading the workshop.

Monday, March 08, 2010

I'm at SIGCSE 2010 this week

Tomorrow I'll be leaving for SIGCSE 2010 in Milwaukee, WI. I had a blast at last year's SIGCSE symposium (my first), so I'm really looking forward to this year's.

On Wed I'm attending the Media Computation Workshop presented by Mark Guzdial and Barbara Ericson (Georgia Tech). The workshop shows educators how to teach an introductory computing course with a focus on manipulating pictures, sounds, and video. My intro class has practically none of these elements, so this workshop has the potential to really shake-up how I teach.

On Thurs I'm presenting a paper entitled Teaching Web Information Retrieval to Undergraduates. Web IR is currently a much-overlooked topic at the undergraduate level. This is somewhat surprising considering how ubiquitous search engines have become and the significant attention Web IR receives from tech giants like Google, Microsoft, and Yahoo. This paper is about my experience developing a Web IR course at Harding and the types of projects I've employed in two different offerings.

I'll be blogging about some of the more interesting presentations I see, so check back in a few days for more.

Friday, March 05, 2010

Transitioning from Android to iPhone

This week I finished teaching Android programming in my Mobile Computing course. I've created a number of useful tutorials and teaching aids, and I'm weighing my options of putting them out on my blog or website or publishing them in a book form on lulu.com. The tutorials cover graphics and sound, data persistence, custom event notification, using the Google Map API, and a lot more.

After spring break, Gabriel Foust will take over the Mobile Computing course and teach iPhone programming. I'm very curious to see how long it will take the class to climb the steep learning curve and be competent enough to write a useful app. With Android it took a little over a week.

I read just read this morning that Microsoft is turning away from their earlier Windows Mobile OS and focusing on a new OS called Windows Phone 7 Series. (Hello, Marketing department, are you sure you want to compete with Android and iPhone using the name WP7S?) The OS features a sleek new interface, and apparently XNA and Silverlight will be the main method of writing native apps. It's good to know that my efforts learning XNA last fall will pay dividends on this new platform. Maybe next time we offer Mobile Computing, we'll be using WP7S.


Update:

Joel Coehoorn commented on my Facebook note that you can develop applications on the iPhone using Mono, an open-source project that runs .NET applications (C#, VB.NET, etc.) on a number of operating systems. I've done a little investigation into this, and it appears that Mono support for the iPhone is somewhat limited. The UNITY platform allows development with C# and JavaScript, but at a cost. MonoTouch is another commercial option. Otherwise you're stuck with development on a Mac using Objective-C.

Thursday, February 25, 2010

Will the real Dr. Burks please stand up

Dr. Burks, president of Harding University, decided he needed to clarify something in chapel this morning. Apparently lots of people were befriending the wrong Dr. Burks on Facebook.

There are multiple Facebook accounts claiming to be Dr. Burks, and he showed a few screen shots of the impostors (the photo below is one of them). This is a problem because some students have been receiving messages from the fake Burks; one message asked someone to speak in chapel this week. (Sure is annoying when people create fake Facebook profiles.)



Dr. Burks showed everyone his correct profile and said he'd love to be everyone's friend. I have a feeling that he'll be receiving hundreds of friend requests today... that is if anyone can find the correct Dr. Burks. I did a search for "David Burks", "David B. Burks", and president@harding.edu (Dr. Burk's email address), and the only profile that looked legit was the one pictured above. I even looked through one of his son's list of friends on Facebook, and he wasn't listed there.

It looks like the fake Dr. Burks will continue racking up friends for a while.

Thursday, February 18, 2010

Barbie is a computer engineer! Or maybe just tech support.

By popular vote, Barbie's next career will be Computer Engineer. There's a good chance that the voting was slightly in our favor due to some rumored automated scripts that artificially boosted the vote. wink

Barbie will be sporting a very stylish outfit and carrying around a laptop that has apparently frozen (see the binary numbers floating across the screen).

Her wardrobe has received a lot of attention. Apparently it was designed in consultation with the Society of Women Engineers and the National Academy of Engineering, organizations that are well known for their sense of style. She'd blend right in with our Engineering department.

The BBC News also had a lot to say about the new Barbie. Unfortunately, they seem to equate Computer Engineer with Tech Support:
"As anyone who works maintaining computers could tell you, Barbie would do well to invest in a hair band... Even the shoes are unlikely to be seen on the feet of people who spend half their day crawling under desks or feeding cables through walls." (emphasis mine)
I'm sorry, but a computer engineer is not the person hooking up your network or installing virus protection on your desktop. But I do understand the popular press's misconception of what computer engineers do. I just fear that it's this misconception of computing that will continue to drive females away from computer science/engineering rather than attract them to it.

On the SIGCSE mailing list, the event has received a lot of attention. Some think it's trivial, other think it's ridiculous, but some are hopeful it will make young girls think that maybe a career in computing is something desirable and obtainable. I sure hope so.

I'll be buying one for the department... we could use a little more pink around here. wink


Update

A friend of mine converted the binary one's and zero's on Barbie's laptop into ASCII. Guess what it spells? Barbie.

Saturday, February 13, 2010

How do my students really feel about me?

Sometimes students tell you right to your face what they think about you or your class. Sometimes they let you know anonymously through teacher evaluations. And sometimes they think of more creative means.



This was from an assignment in my Mobile Computing class where I had my students develop a tic-tac-toe game for Android. My wife said she was going to have nightmares tonight after seeing this.

Friday, January 22, 2010

New Degree in Software Development

The Harding University Computer Science Department is proud to announce a new degree: the B.S. in Software Development (or CS++ as I like to call it smile).

This new degree was suggested by fellow faculty member Gabriel Foust in response to many of our students who wanted to take our elective courses (game programming, security, search engines, compilers, and mobile computing) but couldn't justify the cost of taking additional courses that wouldn't contribute directly to their major. So we created a degree which allows students to take far more CS courses than our previous BS or BA degrees in CS.

The following summary is from Dr. Tim Baird:
In a nutshell, the BS in SD degree is different from the BS in CS in the following ways:
  • some of the courses which were previously elective are now in the CS core (349, 431, and 445)
  • it does not require 19 credits of math, starting with Calc I, although one may have anywhere from 3 to 13 credits of math in this degree if they so desire.
  • it allows for more credits of computer science (the BS in CS allows for 41, this allows for as much as 58 credits)
The BS in SD degree is different from the BA in CS in the following ways:
  • some of the courses which were previously elective are now in the CS core (349, 431, and 445)
  • no minor is required (rather than a minor in some area outside CS, the extra credits that would have been in a minor are all in CS)
  • it allows for more credits of math, if desired, or it may be completed with the same 3 credits of College Algebra as the BA in CS
We anticipate that the job market demand for this major will be essentially the same as for the BS in CS and the BA in CS. After all, those majors are more different from each other than this major is from either of them, and they have traditionally had essentially equal demand.

Tim Baird, Ph.D.
Chair, Department of Computer Science


Aside from the job market, the only reason I would tell a person to do a BS in CS instead of SD would be if they were thinking about getting a Masters or PhD in CS. Most universities require a BS in CS which has the required number of math hours, and the SD degree doesn't have that.

Monday, January 18, 2010

Mobile app developers striking it rich?

As some of you know, I'm team-teaching a mobile application development course this semester. We're focusing on the Android platform the first half of the semester and the iPhone platform in the second half.

With all the hype surrounding the iPhone and Android platforms and their app stores, a question that some might ask is, "Can I get rich developing mobile applications?"

If you're in it just for the money, you're chasing after disappointment. Just ask the writer of Ecclesiastes how much joy and satisfaction there is in great riches. However, I do think it's prudent to investigate if training to be a mobile application developer is worth the investment in time and money.

Apple recently reported that 3 billion apps had been downloaded from its App Store in less than 18 months, and according to Juniper, revenue for mobile applications will hit $24 billion by 2014. That smells like opportunity. However, Michael Mace (former Chief Competitive Officer and VP of Product Planning at Palm) believes mobile application developing is a dead end, primarily because there are so many platforms on which to develop and because web-based apps have a better future:
"I think Web applications are going to destroy most native app development for mobiles. Not because the Web is a better technology for mobile, but because it has a better business model."
I personally believe both native and web-based apps have their place, and there's no reason to give up on native mobile applications just yet.

So returning to the "rich" question, I've found a number of articles that address this topic. I just emailed these articles to my students, and I thought I'd share them here:
However, I wouldn't suggest quiting your job or dropping out of college to program iPhones just just yet:
  • Striking It Rich: Is There An App For That?
    "Not only have most sellers failed to turn a profit... even developers with high-ranking games and applications have made far less than commonly thought. Many come nowhere near recouping their investment at all."

  • One billion iPhone apps downloaded. But how many are worth it?
    "'You'll have better luck in Vegas,' says Howard Cohen, an independent software engineer and consultant who has one app out and another in the works. 'Most people do not make much money, or even [get] their costs back, when selling their apps for the iPhone.'"

Thursday, January 14, 2010

Barbie... a computer engineer?

The spring semester started this week, and I discovered, to my dismay, that I didn't have a single female in any of my 5 classes. I believe this is the first time in my career teaching computer science that this has happened.

Why no females? This isn't just a problem here at Harding... it afflicts CS departments across the nation.

And there are lots of reasons out there ranging from the geek culture of CS and stereotypes to lack of female role models.

But perhaps what we need to do is send a strong, positive message to females at an early age... how about a Computer Engineer Barbie?

This is not a joke... you can now vote what Barbie's next career is going to be. There are 5 choices: Computer Engineer, Environmentalist, Surgeon, Architect, and News Anchor. Of these 5, CE (a field that is strongly related to CS) is definitely the one most likely to be overlooked by a female today.

Do you think if Barbie becomes a computer engineer that it will mean more females in my classes in 5-10 years?

Thursday, January 07, 2010

Warrick is back in action

Warrick, the service I created several years ago to recover lost websites, has been revived. I took its web interface out of commission about a year ago when we received more jobs then we could ever process in 2009. But I've decided to wipe out the old jobs and start fresh. I'm curious to see how quickly we receive more jobs than we can handle in 2010.

Some stats. Since July 2007 when Warrick's web interface was first made public, we have recovered 4287 websites and 3,508,091 URIs. That's a lot of missing material the public wants back.

I've also updated Warrick:
Happy website reconstructing.

Wednesday, January 06, 2010

My taskbar... seriously

I'm using Windows XP on my laptop at home. This is what my taskbar sometimes looks like. Is Windows trying to tell me something about my network connection?

Monday, January 04, 2010

Helpful Eclipse error message

Programmers are often blamed for creating very vague, jargon-filled, and generally unhelpful error messages that frustrate the typical user. Today, I believe I've found the most discouragingly vague error message yet. It comes from Eclipse Galileo (version 3.5) after attempting to create a new Android project. Nice.

Saturday, January 02, 2010

Maps an obsolete technology?

Silicon Alley Insider recently listed 21 Things that Became Obsolete this Decade. (Guys, the decade isn't over yet.) Among them were PDAs, paid-for email accounts, VCRs, and a number of other items.

While I generally agree with these guys, I was very surprised they listed maps as an obsolete technology. They seem to think everyone can now navigate with a GPS or smartphone. While these technologies are certainly more helpful at times than a paper-based map, they aren't without their faults.

Believe it or not, sometimes GPS will give you bad directions. Just ask Michael Scott.

And it's not always available. On a recent trip to Louisiana and Dallas, I used the GPS on my Archos 5 Internet Tablet for the first time. There was a period of 3 hours where the GPS could not pick up a signal. And we were driving major highways the whole time! Without a map, I would have been forced to pull off the road and ask directions. Gasp!

Google Maps isn't perfect either. Google Maps suggested I take a road that didn't even exist as a shortcut to my parents' new home a few months ago. And before that, Google Maps told me my friend's house was 5 miles north of Fayetteville when it was actually south of the city.

And have you ever tried to get a good overview of the road system for a large city using a small screen? Impossible. A paper map that is 10 times larger than your tiny screen makes it significantly easier to figure out the highway system.

Don't get me wrong, I don't think we should throw away or newer navigation technologies, I'm just suggesting that the good 'ol map is still quite handy.

Thursday, December 31, 2009

ACU, iPhones, and Wired

My sister, an ACU alumnus, emailed me a few weeks ago an article on Wired.com about her alma mater: How the iPhone Could Reboot Education. This is the second time Wired has written about ACU's iPhone/iPod initiative; ACU was the first university to give all incoming freshmen an iPhone or iPod Touch in an experiment to see how useful the devices could be in an academic setting.

ACU is one of the schools that Harding competes with for students, so you could imagine that some of us here at Harding are a little skeptical of the PR ACU's program has generated. Some think it's just a gimmick to attract new students.

One of Harding's admission officers told me recently that we regularly have prospective students ask, "Since ACU is offering me a free iPhone, what is Harding going to give me?" Of course ACU is not giving anything away to students for "free"; the article states that the dorm computer labs were shut down, and other expenses are likely paid for by increases in tuition or technology fees. But many 18 year-olds are unlikely to see the correlation between tuition costs and freebies.

I do, however, think having all your students fitted with the same mobile device presents some interesting opportunities. Some ACU professors quizzed students to see if they understood the lesson, and students could respond using their iPhones anonymously. (Some Harding professors are doing the same thing with specialized handsets.) Another ACU professor has students look up information in class, and they discuss how accurate or trustworthy the information is. I sometimes do something similar with my students who often have a computer that is sitting in front of them.

So far, ACU reports that their Mobile Learning initiative is paying off. A quote from the ACU website:
The majority of students in specific courses where mobile devices have been routinely used rate themselves as having improved their academic performance (grades and organization) and engagement (active learning, contact with professors and teaching assistants, involvement and attention).
This quote is interesting in that the students themselves have said they do better and are more engaged in classes that use iPhones. Whether they are actually learning more is anyone's guess, but any time you can make a student think they are doing better in class is usually a good thing. (Of course, one wonders if students report that they like using their iPhones in class because a negative assessment might be mean their iPhones are yanked away in the future. wink)

As an instructor who has experience teaching students in a computer lab where students are allowed to use their computer in class for taking notes and class activities, the biggest obstacle I've faced is getting students to pay attention to what's happening in the classroom and off of Facebook, Google, games, etc. This is surely the temptation also faced by students when using iPhones in the classroom; the potential for distraction is very real. (See student comment #4.)

You're not likely to see Harding give iPhones to every incoming freshman anytime soon, but some point in the near future I think it's likely that all freshmen will have some smart mobile device with them. Universities will need to be creative in using this personal accessory to their advantage.

P.S. Congratulations to my friend and former colleague Autumn Sutherland who was named a 2009-2010 Mobile Learning Fellow at ACU.

Thursday, December 24, 2009

Merry Christmas from the McCown's

The McCown's wish you a very Merry Christmas. May God bless your holidays.


Photo by Stacy Schoen

Friday, December 18, 2009

Recovering blog.stackoverflow.com and www.codinghorror.com

Several days ago, it was brought to my attention that two notable blogs, blog.stackoverflow.com and www.codinghorror.com were completely lost due to a hard drive failure. Jeff Atwood, the owner of both blogs, tells all about his experience trying to recover the text and images from Internet caches and other locations. (I imagine Jeff's reaction was a little like the picture above when he discovered his blogs were gone.) Lucky for him, a computer science student at the University of Bologna had an almost complete mirror of the Coding Horror website.

Jeff also acknowledges that he's to blame for the loss, and I'm sure Jeff will be re-doubling efforts to backup his sites in the future. However, these types of losses will continue for the foreseeable future... backing up your stuff is often the lowest priority for all of us because many of us believe it won't happen to us. Or we consciously know it will happen to us, but we have so many other things we need to get done today that setting up a backup routine is put off until tomorrow. I'm in the same camp... I didn't create a backup of my class work until over a month into the semester!

Even when you backup your stuff, you sometimes find that your backups weren't working or are inaccessible when you need them. That's what happened to Jeff.

Jeff tried to use Warrick initially, but it was giving him all kinds of problems. Yahoo and Microsoft have done some things that make Warrick break, and I'll be spending next week making fixes. I'll blog more about the fixes next week. For now, it's back to grading final exams.

Monday, December 07, 2009

CS Education Week

At Harding, this week is Dead Week, the week before final exams. But according to the U.S. House of Representatives, this week is also Computer Science Education Week (CSEdWeek). In an effort to raise awareness of how important CS is to society, the ACM has created a website with all kinds of information about CS.

Here are some facts about computer science that you may not have been aware of:
  • By 2016, current government projections show that more than 800,000 high-end computing jobs will be created in the economy making it one of the fastest growing occupational fields.

  • Five of the top ten fastest growing jobs will be in computing-related fields (i.e., computer software engineer jobs expected to grow 45% over the next five to seven years).

  • Computer science and computer engineering bachelor degrees are in high demand and command two of the top three average salary offers from employers among all majors.

Paper on teaching Web IR

In March I'll be presenting a paper entitled Teaching Web Information Retrieval to Undergraduates at SIGCSE 2010 in Milwaukee, WI. In this paper, I discuss how I built a curriculum for my search engine course and the types of projects I assigned. The first time I taught the course, students built a search engine from scratch. The second time, students modified the open source search engine Nutch. Teaching with Nutch turned out to be quite a challenge. If you want to know more, read my paper.

Tuesday, November 10, 2009

Super Scooter

One of the projects I had my game programming class complete was a scaled-down version of the classic Super Mario Bros. game for Nintendo. I had all 15 students work on the same project (not the best idea I've ever had) over the period of 4 weeks. While I encouraged them to use graphics created by others, some of the artists in the group decided to make their own. The final product was something everyone was quite proud of.

You can download and run Super Scooter if you are running Windows XP or better.

Wednesday, November 04, 2009

PyArkansas 2009

Dr. Steve Baber and I will be taking a group of students to PyArkansas 2009 next Saturday, Nov 14. PyAR is being held at the University of Central Arkansas in Conway. The one day conference has a number of classes on Python, Django, and Blender.

The CS department has rented two vans to ship everyone down there and back. Let me know if you are interested in attending... we only have a few more seats available. Or if you can provide your own transportation and wouldn't mind taking one or two others, please let me know.