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.


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.