No Scat Left Behind

Monday, 3 September 2007 — 4:30pm | Computing, Studentpolitik

I have remained silent about the Bear Scat debacle over the course of its development this summer, but I think it’s high time to decloak.

Any casual observer of student politics over the span of more than a few years can tell you that between the quick turnover time between successive executives or councils and the erratic fluctuation of institutional memory (if any is still around to fluctuate), nothing sticks, and apathy comes naturally. I’m long past the point where I can rely on the student government to commit to anything reliably, and you should be too.

That said, the U of A Students’ Union occasionally bumbles its way into something that actually impacts students, and that’s when it’s time to intervene—if it’s not too late. As such, I am going to provide a cursory analysis, and at the very end, propose a course of action.

Continued »

Annotations (2)


Family fun for future Führers

Sunday, 26 August 2007 — 11:51pm | Board games

If Settlers of Catan is any indication, Germany sure has a grand tradition of designing tabletop amusements. Last week, German board games made headlines when a British auction house put several Nazi-era propaganda games on the block. On Friday, the BBC followed it up with a story about some of the British wartime equivalents, which included stimulating titles like “Decorate Goering” and “Hang Your Washing on the Siegfried Line.”

Regrettably, the mainstream press saw fit to stop at the level of goals, objectives and the roleplay element, and did not appear to find the game mechanics themselves to be newsworthy. This is understandable, given that the representational level of “Bomb London for 100 points” is probably of more interest to historians than the question of how exactly one goes about conducting such a blitz.

Continued »

Annotations (0)


Reveille

Monday, 20 August 2007 — 11:38pm

For a new dawn?

In place of saying anything profound enough to break a champagne bottle or two, I am going to proceed directly to a few technical notes.

After much deliberation on the matter of selectivity, I have imported all of the posts from the original Nick’s Café. The majority of the links in the older posts are horribly broken and beyond repair, and the links to my own posts still point to the old location. I may eventually fix the latter.

The HaloScan comments have not been carried over, and none of them were ever so profound as to be worth preserving for posterity. To improve readability, I will probably make liberal use of post breaks for new posts where it is appropriate, but it is unlikely I will go back and do it for older posts, in part because many of them cover multifarious topics at which the opening paragraph cannot begin to hint.

Not every post has been properly sorted into all of the right categories, and there are many that will remain uncategorized.

The bells and whistles of the old site—the CSS style switcher, the U of A weather report, the post index at the top of every page—may or may not arrive at some point, depending on how much I feel like implementing them.

I am still tweaking the present design, and I would appreciate feedback on things that don’t work or could be improved.

I am eminently aware that the right-hand column of the site does not display properly in Internet Explorer 6 for Windows. I made a very conscious design decision to not bother accommodating browsers that do not adhere to longstanding web standards.

The new RSS feed is here.

Annotations (0)


Syntax errors made easy

Tuesday, 24 July 2007 — 8:57pm | Computing

As some of you know, I’m spending a nontrivial chunk of the summer teaching kids (lower bound: 11, upper bound: 15) to make their own computer games. They are given five days and a copy of the Torque Game Engine that I modified and compiled for the specific purpose of their prescribed activities. There is, unavoidably, a bit of coding involved.

Something that has always piqued my curiosity is the pedagogical difficulties involved in the instruction of computer programming. I speculate that ill-designed or ill-instructed introductory courses at the freshman level are, in all likelihood, directly responsible for the loss of a significant number of potential students in fields related to computing. When it comes to the matter of instruction, the problem often lies in the gap that exists between instructors that have completely internalized an intuitive sense of what is correct, and students that have not even begun to develop that foundation.

If you look at student essays, even those that are written at the university level, there’s a similar gulf between those who effortlessly arrange words into sentences and sentences into arguments – the former is a grammatical activity; the latter, logical and rhetorical – and those who still struggle with comma splices and coordinate conjunctions, never mind the trouble they subsequently encounter in the minefield of logical fallacies. When something resides in the realm of intuition, one neglects to decompose it into its component subproblems. It’s especially true of fluency in a given language, natural, programming or otherwise.

To absolutely nobody’s surprise, I invariably favour an educational approach built on a strong foundation of fundamental principles. You can’t make a musician out of someone who emulates notes on a page without any thought to chords and scales and how they apply to the inferential shaping of a sensible phrase, and you can’t make a (procedural) programmer out of someone who doesn’t have a basic and language-independent understanding of control flow.

For example, it is my belief that if you have any aspirations to work with computer programming in any capacity, you should have some exposure to recursion as early as possible. True to the title of Donald Knuth’s monograph on the subject, programming is an art. There exist brownie points for elegance. If I had it my way, I’d wean everyone on Lisp.

However, when you only have a week, and the students are impatient to get underway with a tangible project that does something, you have to take some shortcuts; providing them with a game engine and a lot of code already filled in is only the first step.

Here are some points of confusion an even mildly experienced programmer familiar with the lingua franca of C/C++ (the syntactic elements of which are as generally applicable as periods, commas and the Roman alphabet are to most European languages) might completely overlook:

When do we use curly braces, as opposed to square brackets and parentheses? (This is a particular challenge of denotative ambiguity when it comes to youths, who by and large still refer to parentheses as “brackets.”)

When does case sensitivity matter?

Does such-and-such still work if we don’t type in the tabs and spaces?

Is that the letter O or the number 0?

A veteran programmer tends to consciously think about those issues about as much as a pianist scrutinizes his chromatic scale fingerings note by note. He doesn’t think about it at all; he just does whatever makes sense.

Annotations (0)


Final draughts

Monday, 23 July 2007 — 9:50pm | Board games, Computing, Mathematics, Science

Here’s something I would have posted last Thursday if I hadn’t cut myself off from the Internet in what was, in hindsight, an excellently timed and perfectly necessary pre-Potter lockdown. It’s been all over the news at a national and international level, as it damn well should be, but I feel it is my duty as an enthusiast of games of strategy and an alumnus of the University of Alberta’s esteemed Computing Science department to once again highlight the tremendous accomplishment that Dr. Jonathan Schaeffer and the GAMES group made last week. I heard rumblings of a major breakthrough about two months ago, but the details were kept under embargo. With the publication of the accomplishment in Science, it’s official: checkers has been solved.

For those of you who aren’t familiar with computing science, game theory or their related fields, what it means in layman’s terms is this: consider how with a simple game like Tic-Tac-Toe, pretty much everyone over the age of five has stumbled upon a strategy that will always play to a win or a draw. Well, it’s been a long time coming, but they’ve just done that with checkers.

There’s a considerable wealth of information on the Chinook website, where you can step your way through a demonstration of the proof or find your way to the article in Science.

More than anything else, I hope this kind of high-profile accomplishment encourages others to pursue studies in what is, I think, a grossly misunderstood and often ill-introduced branch of the sciences. I know that I, for one, had little idea just what I was missing until I transferred into their programme in my third year, a decision about which I have almost no regrets. Computers aren’t just tools that are meant to sit around generating heat in office cubicles, waiting to be thrown out a nearby window; their study is not limited to job training for information-age janitors, network witch-doctors and software monkeys. There’s a genuinely interesting field of scientific enquiry there to which few receive anything remotely resembling a proper introduction. I sincerely hope this is a step towards the elusive remedy.

Next stop, poker!

Annotations (0)


« Back to the Future (newer posts) | A Link to the Past (older posts) »