Tuesday, 3 June 2014

Supercollaborative at ICSE

Last year, we put 140 students on a single project, and it worked. Now we're taking our course out to the world. And we want you to help.

That's the tag-line of a talk I'm giving in the Software Engineering Education track at ICSE in Hyderabad this week. We've called the course "supercollaborative" because the students are in collaborative teams that in turn have to collaborate with other teams. And we're trying to turn it into a guerrilla MOOC. ("Guerrilla" because we're not one of the university's official MOOCs on edX.)

But if we're going to teach the inherently collaborative nature of programming, we should do it collaboratively. So we're trying to build the MOOC in the open. So although the site where we're building the course is at www.supercollaborative.org, it's a GitHub Pages repository — so you can write issues, pull requests, and collaborate with us on it at github.com

The talk is on Friday morning. We're going to put things up before they're ready, so you're not just collaborating on a fait accompli. Or at least that's my excuse for the project site still having many rough edges.

Monday, 2 June 2014

Renaming the software (Impressory)

For a while after my PhD, I put some experimental teaching software up at theintelligentbook.com, that we used in classes at the University of Queensland.

But as we worked on bridging in-class and remote teaching, there was always a problem explaining the software. People kept on thinking it was still about artificial intelligence and textbooks, while the parts of the software I was experimenting with had shifted focus slightly to courseware, interaction, and class collaboration.

So a little over a year ago I changed the name for the latest iteration: Impressory, from the idea of "impressing" ideas on your students. It might change again, we'll see.

Saturday, 29 June 2013

Musicology and embedding

Late last year, a musicology lecturer in the US tried out the Intelligent Book (last year's version) in her class. She put the sheetmusic and the audio on a Weebly page, and added that as a page in an Intelligent Book course.  This meant that the audio, the music, and interaction with her students (polls and chat) all appeared on the one screen together in front of her class.

As well as being deeply encouraging that the Intelligent Book can work well for musicology, not just software engineering, it was also a good example of how the web now centres around embedding. I'd never used Weebly before, but there it was on her course page, embedded into the Intelligent Book, working right next to the polls, the chat, the content tagging, commenting, and voting.

Long ago in the history of the web, the web was "hypertext" -- one document could include links to another, and you could jump from document to document. That was the dominant form of sharing for quite some time.

These days we expect finer models of sharing -- mixing functionality on the one page.  For instance, you've probably seen quite a few sites that have Disqus discussions at the foot of them -- the discussion functionality comes from a different provider than the page they are commenting on.

The next version of the Intelligent Book (Impressory) tries to ensure you can do embedding in both directions.  Not only embedding other site's functionality in your course (which has long been something it's tried to let you do) but also embedding parts of the course elsewhere.

Perhaps you want to put a poll on a public blog and have it appear live in class. Perhaps you want to use the course as a quick way to write a Reveal.js presentation that you're actually planning to show elsewhere. Or perhaps your students do.

Monday, 18 March 2013

Updates and updates...

Long since time I posted an update...  (there's a queue of things I need to post)

Over the Australian summer, the Intelligent Book updated to Scala 2.10, Play Framework 2.1, and a new version of my "handy" library that should help me to make yet more changes at the server. So that means that behind the scenes things are getting progressively cleaner, tidier, and readier for doing fun things.

I've also put in require.js to make the javascript load a little faster at the browser, and added some new features that will turn up in blog posts over the next week or so.

And, I've got the approvals I need to release the code open source.  I work for NICTA, Australia's ICT centre of excellence, and the powers that be have given me approval to MIT licence the contributions I make in work time, as well as the ones done in my own time. There'll be a name change with that.

So, lots of blogging to do in the coming fortnight!

Monday, 29 October 2012

Queensland Computing Education Conventicle

On Thursday, I'll be presenting a demo of The Intelligent Book to the Queensland Computing Education Conventicle. There's quite a lot I'll be showing that hasn't featured on this blog -- I haven't updated this blog nearly as often as I should. It'll be in the same session as the discussion of our design of the Software Studio course. Which is convenient, because that's the course we've been using the software on this semester. The obligatory picture for this blog post is page-views per hour on the course content.

Thursday, 27 September 2012

Questions are orange...

(This a quick post about a minor feature before some more fun posts to come...)

I had a happy problem to have a few weeks ago. A student raised a bug report on our issue tracker saying
Seen a few [questions] pop up in chat, but lecturer doesn't seem to check it enough to find the questions amongst the general chat
The chat stream was moving fast enough that I wasn't always noticing when there was a question I needed to answer. And that's a very encouraging problem to have -- so much engagement that I have to try to keep up!

(A comparison I'm quite proud of is that last semester we experimented with just having Twitter chat in one of the guest lectures-- and there were three tweets total, and two of them came from the moderator. Compare that to so much activity that I can't spot the questions from the answers and comments fast enough!)

Activity in general has been up markedly -- a year ago, about a third of students responded to a live poll in lecture one; this time half of them did.

I've added a little feature now whereby if you type a chat comment starting "Q: ", it gets highlighted in orange and grabs the lecturer's attention.  In this case, I was responding verbally to the class, but we've also found it handy to tag-team -- there are two lecturers on the course, so whenever one of us is talking, the other is helping answer questions on the chat stream.

PS: the video in the screenshot below is where I did a demo to the class, and then uploaded a video of the demo into the notes afterwards.

Wednesday, 22 August 2012

The chat room -- learning from a mistake.

When I originally put in the chat feature, I tried to be too clever by half.

Courses where I teach take 13 weeks, plus a mid-semester break. And then there's "swot vac", the break where students are madly revising for their end-of-semester exams.

I realised that in that revision at the end of the course, suddenly some of the chat from much earlier in the course is going to become relevant again. "What did we end up deciding about that tricky question in week 2?"

So the chat room is smart, and remembers what topics you were looking at when you commented. That's also great for teachers who might be interested in looking up which topics created the most discussion.

So far so good, but there was a problem...

In last year's version of The Intelligent Book, the chat tried to load the last 50 relevant chat messages when you opened a page. And this of course was a big mistake. If you had been chatting away during a lecture, ranging over a number of topics, and you hit refresh in your browser, suddenly some of those past chat messages seemed to vanish from your screen. It was as if the chat stream had been broken up by topic and you could only find the pieces that had stuck to the topic you were looking at. And most of the time that wasn't what you wanted.

Well, this year it tries not to be so daft. It just loads the last 50 messages, and hitting refresh shouldn't do anything too quirky.

Later, I'll add a way of jumping to all the spots in that very long chat stream where this topic was discussed -- but it will always remember that the long chat stream on a course is one long chat stream.