How do we make a class full of remote students feel like they are working in a studio environment, collaborating on a software design journey together?

  • Ongoing research since 2011
  • OLT grant for 2016 (to look at the student experience doing a critique process over asynchronous video)

Back in 2011, while I was working at NICTA, Jörn Guy Süß and I designed a software studio course for UQ where we put the whole class working on one project. It was a “supercollaborative” course, as we had teams working on each feature, but because they worked on a common project the teams had to collaborate with each other. In 2012, I coordinated the course and refined it, together with Jim Steel. The following two years, Jim and I co-taught it as DECO2800 with Jim coordinating – in 2014 we had 200 students on the same project, which we believe is still a record.

In 2015, I moved to UNE, where the vast majority of our students are remote. I’m quite keen on studio teaching – it makes “I see what you did there” moments happen, and students can learn from each others’ experiences not just their own. So, at UNE I created perhaps one of the first distributed studio courses, and we had students from all over Australia, and even Hong Kong, working on a project together.

David Waugh put together a little a couple of little videos about it for our YouTube stream…

(Note, the screenshots aren’t from the student code – David grabbed some slides from an early lecture where I was encouraging students to think about the wide variety of game styles and mechanics they could be inspired by.)

As the students are never in the same room together, we are very reliant on CSCW systems – both real-world ones (GitHub, Slack, etc) and custom ones I’ve created (Assessory so students can critique each other over video, and soon a project status dashboard). As Australia’s only distributed studio development course, there’s rather a lot of research and work to do in it.

The UNE version actually has slightly more content in it (at least compared to last time I taught the UQ version). That’s an interesting effect of having two mostly-online lectures per week versus one two-hour in-person session at UQ – there is suddenly quite a noticeable demarkation between the content delivery and the studio practice.

Projects we had the students working on:

  • 2011 UQ - RoboCode (using the open source code as a base) – we gave a set of 30 different overlapping ways to change the game, and a continuous integration environment so the teams’ code would have to work together

  • 2012 UQ - RoboCode (again) – this year we threw it over to students to decide how to change the game; one group turned it into robot soccer, and another added Call of Duty killstreaks … This iteration was mostly about improving the student experience (replacing things that didn’t work), making the inter-team collaboration start earlier (at feature design rather than only after coding has begun), and adding a demo day and portfolios to give the students a clear view of how they’d be assessed

  • 2013 UQ - DECO Arcade – A Steam-like game arcade. Jim had the very good idea of giving students a smaller starter code-base, so they could own the architectural design as well as the features. (It turns out if you give students a large code base, they knit their code into it rather than making structural changes or refactoring). We also added a critique process, which I built into Assessory (over about four days), partly inspired by Exegesis, an online “write, submit, then critique others” exercise Harriet Truscott had built in Cambridge for students of Shakespearian literature.

  • 2014 UQ - Decoworld – I wrote the starter for this one, but the to be fair the mission was Jim’s idea – DECO Arcade had been a too fragmented – different teams doing different games, and sharing a few “hub” features. So let’s make it a single open world game so that the features will need to play with each other more.

  • 2015 UNE - Decoworld – as I’d written the starter code for Decoworld, I re-used the same starter code at UNE as a way of comparing the UQ on-campus and UNE off-campus dynamics. Would studio work with off-campus students? This was also the first year I added Slack. (And it turned out Jim did at UQ too – we shared materials, including me recording UQ’s exam practice tutorial video)

  • 2016 UNE – Sense-O-Matic – We’re quite big on data science at UNE, so this year the students will be building a real-time data processing and visualisation platform (using Akka and JavaFX).

  • 2017 UNE – Leaders – An empire-building game where the AI works for you. Partly inspired by playing too much Civilization