Trip report: EdX Week Zero

It is deeply weird to see a man give a presentation on a large stage to an empty auditorium. The presenter (David Malan) is more or less what you would expect from a professor at a good university: engaging, charismatic and knowledgeable. He walks back and forth, gestures expansively, talks to the audience, but there’s nobody else there (or rather, his students are on the other end of a zoom call).

The course content is very good, and I recommend it to anyone who’s looking to learn for themselves. The first week, cutely referred to as week 0, is a high speed, high level overview of the basic concepts of programming, and ends with an introduction to Scratch, which Wikipedia tells me is a programming language (it isn’t, I think, not exactly) intended to initiate 8-16 year old children into the mysteries of coding. Viewing it as an adult there’s a mild initial cringe due to the presentation style; years ago I loathed Clippy the paperclip on sight and even at age 8 I think I would have had some qualms if presented with a cutesy cartoon cat (who knows what thoughts lurk behind its sinister grin?). But that’s entirely superficial of course, and when you get down to it Scratch is a useful, if simplified and occasionally frustrating, tool for writing a few instructions and making a computer perform them.

It took about 45 minutes to knock out the actual coursework, and I duly submitted it and thrilled at the little green bar filling up to show completion of the starting week’s requirements. Since that was about making a couple of sprites pop up on a screen, move around and do things, though, it’s not particularly useful to the character generator project. So, bearing in mind the advice from the lecture to build iteratively, I had a go at a very simple prototype for the character generator.

Specifically, I built a simple tool that would generate a set of stats, and then based on those stats allow the character to pick a class. I set up three classes: two (soldier and scholar) had stat requirements and the third (peasant) was always available.

It worked, and ended up looking like this:

Do it. Do it!


Exciting choices!

Then you end up being a peasant anyway because your 'social class' roll was too low. Most sessions end like this.

What did I learn from this?

·       First, it’s really easy to make a computer select a bunch of random numbers.

·       Second, it’s really painful to make it forget, delete or reset things so that you can get back to a blank slate.

·       Third, it’s trickier than you’d think to get things looking the right way. I was just using a couple of ugly placeholders here but I strongly suspect this will come back and bite me when I start doing this for real.  

·       Fourth and finally, Scratch really wasn’t designed to work with text-heavy programs; the focus is very clearly the manipulation and interaction of sprites.

Looking on the website, people have done some cool, character-generator-y things and a few brave souls who are either geniuses, deranged or possibly both have tortured it into making full-fledged text adventures, which in the latter case seems to have involved rebuilding ASCII in lime green. I think I would rather saw my own wrists open than try to make even the full character generator, let alone anything more complex, in Scratch. Fortunately, I won’t have to; week 1 beckons with the tantalising promise of learning to code in C.

Edit: One other thing I learned was that clicking on a large button marked 'roll' or 're-roll' is bizarrely addictive even when you know it's not going anywhere interesting. 




Comments

Popular posts from this blog

Week 5 - Lab (Inheritance) Done

Tideman. Tideman! (pounds desk) TIDEMAN! (Cs50x 2021 weeks 2 and 3)

Design document: Dream of Red Mansions Character Generator