Facebook Application Update

April 4th, 2008, 1:46 pm PDT by Greg

The “SFU Courses” Facebook application has been up and running for about two semesters now. It ended up working just about like I imagined in my original plan: data comes from the goSFU database, and students can publish an automatically-updated list of their courses on their profile page.

Getting the data took a little political wrangling, but ended up happening without too much trouble. Thanks go out to Richard MacLeod, the Director of Records and Registration, for running interference for me a couple of times when administrators got wind of this and fully misunderstood what it did. The consensus now seems to be that this is a legitimate thing to do with University data, as long as students give permission properly. For the first semester, I was half expecting the President to summon me to his office for a beating at any moment.

The data feed that I eventually got is a little circuitous. Of course, it starts with the live goSFU database. That database is replicated in real time to a backup server. The almost all of the data on the backup server is copied nightly to the “reporting database” that is used for all of the University’s reporting and data analysis stuff. The reporting database is used to feed a legacy database called “AMAINT” that is still used by several older systems around campus. The CS tech staff get a view into AMAINT that runs Gradebook, etc. I have a view to that which is used to update the application’s database.

Miraculously, all of that usually works and I get data that’s updated daily. This is used to update everybody’s profile box every morning with their most current course list.

In previous semesters, I haven’t received upcoming semester data during the registration period. This semester, Nathan from our tech staff got me summer courses almost as soon as registration started, so people could see courses as registration was happening.

There are currently about 1800 Facebook users who have added the application, and 1600 who have also authenticated as SFU users and authorized the relevant data release. The 200 person difference is curious: the application will do absolutely nothing for you if you haven’t agreed to release your SFU data. I have no idea who those 200 people are, or why they have the application.

Overall, I’m pretty pleased with the whole thing, particularly with the number of users. That’s something like of 10% of all SFU students. I can’t think of any other (optional) service the University has for students that has that kind of uptake rate. Maybe residence or orientation?

Anyway, I accomplished my goals: learn the Facebook API, make the University seem a little cooler, give students access to their own data in a useful way.

Measuring the Unmeasurable

March 31st, 2008, 11:00 pm PDT by Greg

Today, I’m going to expound on two examples I have come across recently of researchers trying to measure properties that are very difficult to measure, and politically charged.

At SIGCSE, I saw a paper on sex and gender in CS presented, which was thoughtfully titled Cultural Representations of Gender Among U.S. Computer Science Undergraduates: Statistical and Data Mining Results. The results depend on running a bunch of (CS and non-CS) students through the Bem Sex Role Inventory and looking through the results for patterns.

The Bem inventory involves looking at a bunch of adjectives (“analytical”, “warm”, “adaptable”, …), and deciding how much that describes you. Each of the adjectives has a gender that it describes (“masculine” or “feminine”), and you get a score at the end. Of course, there’s a huge cultural bias involved in this score, but gender (as opposed to sex) is a social construct anyway, so off we go.

The results he found were very interesting, but not what I want to get into here. At the end of the author’s presentation, there was much consternation over the use of the Bem Inventory. One woman in the audience in particular had the view that he should have not done the study at all, rather than use this measure that offended her sensibilities.

Of course, the Bem Inventory isn’t perfect: it’s trying to measure an idea that’s moving target, that is not uniform across any significant population, and that is very specific to the U.S. But, it clearly measures something, and not something that there is (apparently) no better way to measure.

I ran across my second example when looking up the authors of the truly excellent book Why Beautiful People Have More Daughters. One of them has recently published an article
on the relationship between IQ and health. [Those with a decent University library can probably find the whole article online: Kanazawa, British Journal of Health Psychology, Volume 11, Number 4, November 2006, pp. 623-642(20).]

The article does confound the terms “general intelligence” and “IQ”. I think it’s pretty hard to argue that the thing we measure and call “IQ” is the platonic ideal measure of “intelligence”. That being said, it’s clear that IQ is a measure of something. It turns out that the “something” that IQ measures is strongly correlated with life expectancy (stronger than income inequality or economic development).

As a result, the author was accused of promoting eugenics. Now, maybe I didn’t read the paper carefully enough, but I didn’t see the “kill the dumb ones” part. The author didn’t even actually measure anything himself: the whole paper is a meta-analysis of other studies of IQ and health. All he did was grind out some stats.

Anyway, both of these studies have the same underlying issue: they rely on the measurement of something that isn’t possible to measure very well. In addition, the thing being “measured” is something that has a bunch of emotion attached to it. I don’t think the solution here it to just not study this stuff. Let’s just all recognize that correlation with the thing we’re trying to measure will do in a pinch.

Cheating Cheaters

March 28th, 2008, 11:38 am PDT by Greg

I was on another University Board of Student Discipline case yesterday. (I was on the Board, not bringing a case forward.) I mentioned a UBSD case previously where I was on the board, and the case resulted in a big and complicated penalty.

The penalty in this case (that we recommended to the President) was a new one for me, simpler, and fairly rare for SFU: permanent expulsion from the University.

The case ended up being even more severe than I thought when I got there. The core issue was impersonation during a midterm and final exam. The student (the real student) had a previous academic dishonesty case, and there were some other aggravating factors after the case began. Altogether, it ended up as a really serious case.

Something I did learn is that impersonating someone in a final exam, or benefiting from it is a criminal code violation:

Every one who falsely, with intent to gain advantage for himself or some other person, personates a candidate at a competitive or qualifying examination held under the authority of law or in connection with a university, college or school or who knowingly avails himself of the results of such personation is guilty of an offence punishable on summary conviction.

The University likely won’t recommend charges in this case, but it’s good to know it’s an option. Note that it’s the criminal code (police, handcuffs, and jail), not the civil code (fines and lawsuits).

CMPT 470

March 25th, 2008, 7:21 pm PDT by Greg

As many of you know, I’m teaching CMPT 470 downtown in the summer. Since I’m on sabbatical from fall 2008 to summer 2009, if you want to take CMPT 470 from me any time soon, this is your chance.

The School had already committed to offering 470 downtown in the summer semester. Rather than offer a tiny section downtown and a regular section in Burnaby, we decided to do the course downtown only. Lectures are 3 hours on Wednesday nights.

That will kinda leave me with 6 day weekends. Things don’t really work that way, but it will mean Kat and I can do a little not-too-far travelling during the summer.

SFU Chat Server

March 22nd, 2008, 7:16 pm PDT by Greg

Here’s a tidbit about SFU’s network infrastructure that I bet will be news to most of you: SFU has an instant messaging server.

Just fire up your favourite open source, multi-protocol IM client: Pidgin for Linux or Windows or Adium for OSX. Create an account with these settings:

  • Protocol: XMPP/Jabber/Google Talk (whatever your client calls it)
  • Host/server/domain: jabber.sfu.ca
  • User/screen name: your regular SFU userid (possibly with “@jabber.sfu.ca”)
  • Password: your regular SFU password
  • Port: 5223
  • Encryption: SSL/TLS. “Force old SSL” in Pidgin. (No, I don’t know why it matters.)

I don’t know for sure that students can use this, but it’s worth a shot.

Maybe this is a good excuse to finally do some kind of “student questions by IM” thing in my classes. What was always stopping me was not wanting to pollute my regular IM accounts with non-fun things. A separate account would let me turn it on when working and off the rest of the time.

I’m still not really sure what IM with my students buys me though. Slight coolness, in exchange for even more hasty, poorly thought out questions than email. I sense fail.

Enrolment Management and Retention

March 19th, 2008, 10:43 pm PDT by Greg

According to Google, “enrolment management” is a fairly Canadian term, and it’s one that comes up a lot in my life. The general problem is keeping the right number of bums in seats in our program (or faculty or University). In recent history, that has meant trying to increase the numbers.

As far as I’m concerned, there are four main parts of EM:

  1. Outreach: Going out into the world (often to schools) and getting people interested in the discipline. There’s no direct EM outcome to outreach, but it’s an important long-term thing. I’m a big believer in CS Unplugged for CS outreach.
  2. Recruitment: Convincing people that you have a good program, and getting them to apply. Recruitment is the part of EM that usually gets all the attention.
  3. Conversion: Converting the applications into actual students. This includes convincing the applicants to accept your offer, and making sure that acceptances actually show up in September. Conversion is often forgotten or lumped into recruitment.
  4. Retention: Once the students get it the door, making sure we keep them around until they graduate.

Retention is probably the most controversial of the group, because of the fear that it will take the most blunt form possible: “Stop failing the dumb kids.”

Maybe I have been sheltered, but I have never heard anybody push in that direction. Most retention activities focus on improving learning skills (like AEP) or other aspects of the student experience.

It turns out that something like 2/3 of the students that disappear are in good academic standing (i.e. not the dumb kids). My experience is that even among students in poor academic shape, the problem is often not straight-up dumbness, but poor study skills, lack of focus, or other factors that don’t necessarily mean we don’t want them around.

Basically, I’m convinced that we can actually do something about retention, as long as it’s done from the bottom up in the School, not top-down by the administration.

While at SIGCSE, my favourite session was probably the retention session: all of the papers were interesting and actually presented quantitative results. The most relevant to me was the paper from Georgia Tech. We suck compared to them.

I’m spending tomorrow downtown at a Student Success (aka retention) workshop. Hopefully it leaves us with some good ideas that we can actually implement around SFU.

Portland

March 12th, 2008, 11:14 pm PDT by Greg

I spent my day hanging around Portland. It’s a nice city: one of the few places I’ve been recently and thought “yeah, I could see living here.” Kat assures me that I’ll think the same thing about San Francisco, which is a good reason to go there some time.

The city is quite walkable, so I wandered around a bunch. There’s also a light-rail transit system that’s free in the city centre: it’s basically like the Skytrain, but not in the sky. So, a “train”.

Kerry was right about taking the time to go to Powell’s Books. I wasn’t inspired to buy anything, but mostly because I wasn’t in a buying mood. It’s a very cool bookstore, with new and used books mixed together on the shelves.

It’s back to work tomorrow.

Off to SIGCSE

March 10th, 2008, 11:25 pm PDT by Greg

After a luxurious 40 hours in Vancouver, I’m heading off again tomorrow. This time to SIGCSE ’08: the ACM‘s (Association for Computing Machinery’s) Special Interest Group on Computer Science Education conference. In short: the big CS education conference.

Tactical error: I booked my tickets without looking at the conference schedule closely. There’s nothing on Wednesday that I can really go to. Wednesday is all special-interest things that cost extra. So, I have an extra day to hang around Portland. Fine I guess, but there’s probably stuff I should be doing in Vancouver.

Other than that, there’s not a single session where there isn’t something I’m interested in. Hopefully, it will be a good couple of days.

Programming Language Study Group

February 25th, 2008, 1:15 pm PST by Greg

As some of you know, I’m starting a one year sabbatical in September. There’s a lot to say about that, but for today, I’m going to limit myself to one of the plans.

I’d like to get to a point that I can teach CMPT 383 (Comparative Programming Languages). One of the things I’d like to do for that is expand my own breadth of experience with programming languages. I have worked with a bunch, but there are a lot more out there, and most programmers don’t give them enough thought. My goal for the year is to learn one language per month.

Of course, I wouldn’t have time to do a huge project in each. I’d like to get to the point that I could write some small (but functional) programs and know “the way” of the language. Here are some of the languages that come immediately to mind:

  • Haskell: I have used Miranda (which is similar), and took a functional programming course at SFU that used Haskell, but that was all a long time ago. I’d like to go through for a refresher.
  • Prolog: Again, I used Prolog back in the 383-like course I took in my undergrad, but it has been a long time.
  • OCaml: People who like OCaml really like it. That’s the kind of thinking that brought me to Python a few years ago, so it might be worth a look.
  • Lua: A lightweight scripting language that also seems to have some rabid fans.
  • Lisp: I find it a little odd that I’ve gotten this far in life and never written any Lisp. Time to right that wrong.
  • C#: The only language on the list that’s widely considered “practical”. I know it’s kind of just MS Java, but there might be something good in there. Plus, the Mono implementation seems to be working now, so I wouldn’t have to use Windows to do it.
  • Matlab or Octave: I like the array-based thing, and want to try some real stuff with it.
  • Erlang: You could say that Erlang is Just Another Functional Language, but it was developed by Ericsson for real practical stuff. That distinguishes it as interesting.
  • D: People like it, and it comes after C, right? That’s some good marketing.
  • Some esoteric programming language. These are mostly conceived as jokes, but that doesn’t mean there isn’t something to learn from them.

That’s ten without even thinking too hard. There’s a really great list of programming languages by category in Wikipedia.

I think the way to go about this is to create something like an informal Programming Language Study Group. That way, there would be other people hounding me to keep going (and vice versa). We could have a few little exercises for each language, maybe.

Who’s with me?

Productive Day

February 21st, 2008, 9:27 pm PST by Greg

There are a lot of days where nothing seems to get done. There are days when the whole world lines up against you. Then there are days like today when everything just happens.

For background: I have recently learned what our admission cutoffs are for fall applications. You’d think I would know what they are, since it’s the undergrad director’s job to set them, but that’s another story. The cutoffs were a little nutty (maybe more on that in a later post), and I had a bit of a controlled temper tantrum about it.

Highlights from the day:

  • Started with my first Faculty Enrolment Management meeting. (For those that don’t know, “Enrollment Management” is recruiting, admission, and retention of students.) Found out that our new admit targets are actually pretty reasonable for the fall: definitely not enough to justify panicking and setting low cutoffs.

    Somehow in there, my Associate Dean decided to continue my tantrum up the chain in a productive way. I thought I was just ensuring that the same thing didn’t happen again next year, but we might get a change for this year.

  • Had a long discussion with Paula from Engineering about Enrolment Management stuff. ENSC is our closest ally in a lot of this, since our student pool is pretty similar.
  • Had lunch with Margo and Art at the Indian place on campus.

  • Got some data from Nathan on performance of students admitted last fall. Remembered how to do a linear regression and found out that the numbers exactly match my instincts on student retention. That means I have data to support where I want to set the cutoffs. Sent the information to everybody that would listen. Getting this information together and presented less than 48 hours after the start of my spaz is astonishing by University standards: huzzah Nathan!

  • Got information for our new Software Systems program to the web guy. The program doesn’t have final approval yet, but it’s critical that we start promoting.

  • School meeting. Got our proposal for concentrations in the major passed in time for the 2008/09 calendar. Sent the proposal up to the next level.

  • Inconsequential meeting with people from the downtown campus about offerings there. We’re okay; they’re okay.

  • Helped Daniela with her math homework.

  • Errands: Costco, and Home Depot. Now I have a doorbell again.

  • One last look at the job description for Amanda’s position.

Not a bad 12 hour day.

« Previous Entries   Next Entries »