Showing posts with label Intelligent Book. Show all posts
Showing posts with label Intelligent Book. Show all posts

Wednesday, 21 December 2011

Stanford AI Class

I was one of the many thousands who took part in the online Stanford AI class -- in my case as much to find out about how they'd make the class work as in order to learn some of the AI topics I missed out on as an undergrad way back when.  Now that it's over, here are a few thoughts:

I'll put my conclusion first. Large online classes like these won't replace local university courses; they will transform them. More and more, university lecturers are going to become content curators and facilitators, and they're going to need to write less and less of their own presentation material.

Of course, mine is a slightly biased view as the Intelligent Book, the interactive cloud teaching software I've been developing, makes it very easy to incorporate third party material like this into a lecture course.  And as you read through this, you'll sense a certain "this is why we need Intelligent Books" theme in my comments!

Anyway, into detail on what I thought of the course...

The video lectures, which were like video-recorded personal tutorials, worked very well indeed. They were clear, concise, engaging, and had the feel of being in a small class rather than a large one. Thrun and Norvig are excellent communicators and very interesting to listen to. The fact that it was an ongoing course (everyone working to a schedule), was good motivation to make time to watch the videos and do the quizzes.  That's the good news, and it really is very very good news indeed.

But every class has its flaws.  So what were this one's?

Well, the class interaction and quizzes were simplistic, both in style and content.  For instance, some of the final exam's questions on computer vision weren't about artificial intelligence at all, but were simple early high school physics questions about the optics. An object that's yay big is yay distant from a camera with a focal length of such-and-such, what's the size of the image on the image plane? Here are three objects in a scene; this camera sees them in this order, what order do they appear to be in to these other cameras that are looking at the scene from different angles?

I tend to think that while the videos are very effective for presenting a topic, they aren't so efficient for quizzes and reference.  For reference, looking up that formula just to check you've got it right, seeking within a video to find the point it was on-screen is much slower than flicking back through text.  For quizzes, the format they used only supported tick-the-box and fill-in-the-box questions, but nonetheless required the lecturers to spend time recording a video introduction for each question.

(So, this is already one area where I see the Intelligent Book bringing an advantage -- it helps courses to use a plurality of different kinds of content.  Hop from the video to the notes, to the quiz, to the advice...)

The interaction between class-members was essentially limited to forums and whatever students organised off-line. The videos were pre-recorded, so of course there wasn't much in the way of to-and-fro between the lecturers and the class, except in the "office hours" on Google Hang-outs.

This is unfortunate, as interactive teaching is very beneficial and is starting to gain traction in universities.  Eric Mazur, Bob Beichner, Rich Felder, and others in science and engineering education have been trying to encourage lecturers to interact with their classes more, and move beyond simple one-way transmission of material.  Having taught a class last semester using the Intelligent Book, with the students chatting, discussing, and giving feedback live on the lecture screen, and answering and discussing questions as a class, I genuinely missed the interaction.

So what do I think will happen next -- how do I think/hope this will change university engineering and science education?

Well, the videos really are excellent. So the first thing that will happen is that other universities will want to use these videos and others like them in their courses. Rather than Dr Joe Bloggs spend another two hours working on his PowerPoint slides for a class, he might be better off finding and showing an excellent video by famous presenters, and then spending his energy interacting with the class to further their understanding.

And I think that trend -- to use more third party prerecorded material and spend more time interacting with the class rather than preparing material -- will grow very quickly. Lecturers won't just enjoy easy access to good material; they'll realise that the lecturers who recorded these videos get a great deal of exposure and can become famous teachers -- producing the next great teaching video will become another route to increasing your academic profile. I think we'll quickly see lecturers competing to get their videos used in other people's classes.

And that, I think, means that traditional lectures will change. Short videos punctuated by class discussions and exercises, and linked to rich sets of notes and social material, will become far more common than they are now. But then, I'm biased, because that's just the sort of thing that the Intelligent Book makes easy.




Tuesday, 2 June 2009

XML modifications in Google Wave and SCFX

So, a few of the technical bits of Google Wave remind me of some things I looked at briefly during my PhD a few years ago (but only a few, and solving a different problem -- I'm not claiming to have "invented Google wave" like those people who claim Harry Potter was really their idea).

A part of Google Wave's protocol is way of sending changes to an XML document, so that changes you make locally are reflected on the "canonical" server copy of the document and can be broadcast out to other viewers. This was something I looked at too -- albeit in a "good enough is good enough" sort of way -- so I was interested to see how the problems we faced differ, and what Google's solution looks like.

Well, Wave has to solve a few extra problems: their documents are edited by many people at once, so the change format has to be transformable, so that different people's changes can be reconciled. (In the Intelligent Book, even though pages are concurrently editable, exercises are usually worked on by students individually, so I could duck this issue.) They also have to deal with federated servers, security, etc. So, they've been looking at a much harder problem than I was with my little change format. And while their solution is still being refined, so far it looks pretty good.

However, from my very brief look, there was something that made me think "hmm, maybe you've missed a trick here". Google Wave's deltas are explicitly defined as an XML format. With SCFX (Simple Change Format for XML), which was my remote XML change API, I decided just to define function calls for each kind of modification -- including a "with" call for wrapping multiple calls into a transaction -- and to avoid defining a serialisation. In other words, I avoided specifying any particular XML schema. Why? Well, I realised that the function calls to my API were going to be made both locally and remotely. In the local case, it's inefficient to go writing and reading XML just to make a call to change a document. And in the remote case, whichever Web RPC format you use already defines a format for serialising a function call into text. If I use XML-RPC, then the XML-RPC stub itself will turn my function calls into a piece of XML to send over the Web. The same happens if I use SOAP. So, by refusing to define an XML format, I could just say "here are the functions, call them using any of the following RPC technologies". So, for instance, I could pass changes from the server back to the browser marked up as Javascript code if I liked. And I wasn't tied to this extra step of deserialising my own special XML format.

Apart from that -
  • Wave's protocol looks like just a diff -- add and delete of content -- whereas SCFX also included larger operations such as move and copy, so that for instance an app that used a tree of complex GUI components to show a tree of XML elements could just move them rather than having to recreate them afresh if the XML element at the top was moved.
  • Google Wave relies on a particular character layout of the XML -- for instance there must be no empty tags (<foo />), and all the clients need to treat whitespace identically. SCFX used XPaths to address content, so this wasn't so fragile. (But an XPath would be difficult to transform).

Monday, 1 June 2009

"Everything's going my way"* (ramblings on Google Wave)

* The title of this post is just because I had "Oh What A Beautiful Morning" stuck in my brain at the time I wrote this!

During my PhD (2003-2007) I developed a system called "The Intelligent Book" (public demo returning soon). One aspect of it is a collaboratively edited textbook that let you embed graphical gadgets into the pages -- circuits etc -- and as students worked with them, intelligent components on the server would interact with them, add annotations, and offer their advice right back into the page. And it all used lightweight open protocols (the communication was around XML-RPC and Javascript), but allowed the graphical components to be applets because doing graphical stuff in HTML was tough back then. It even used a message format describing changes to an XML document.

In 2007, I noticed some of the movement within Sakai (an open source Courseware Management System) was towards a similar easily-edited gadget-embeddable structure. A book chapter I've written -- chapter 13 of this book -- discusses some of the economic effects that I think are pushing learning products in this direction.

Last week, Google announced Google Wave. This isn't aimed at education -- they're pitching it as a grand attempt to replace email, instant messaging, and all other forms of Web communication (good luck!). But within it, it has collaboratively edited content, with graphical gadgets that can be embedded at the client, and intelligent robots that can be embedded at the server. The communication is about changes to XML documents, and the robots mark changes back up into the original page...

Of course, there was more to the thesis of the Intelligent Book than just gadgets, robots, and editable pages -- and of course Google Wave solves many different and bigger issues than I've described here. But it's always quite reassuring to see commercial software endeavours heading in similar directions to ones I've advocated in my research, even if only in small ways and in unexpected fields. Makes me feel as if maybe I'm not just a lone nutcase baying in the wilderness after all.