Additional profile information on Alfred Thompson at Google+
I should probably be promoting online conferences. After all the company I work for has a great online meeting tool called LiveMeeting. But while I use LiveMeeting regularly – several times a week – and like it a lot there is a difference between a meeting and a conference. A conference is in theory a bunch of meetings. Some concurrent and some not but a discrete set of meetings or presentations. Ideal for online right/ I’m not so sure.
Online conferences are popular these days and rightly so. They save a fortune in travel expenses. No flights to book, no hotels to find rooms in, no expensive restaurants too eat in. In these days of tight budgets they seem like the answer. To some extent they are. On the other hand things happen at “in real life” conferences that don’t happen in online conferences. Though to some extent that is changing and may change more in the future because of backchannels.
Let me give you an example. I was waiting in the lobby of the SIGCSE hotel for a cab to the airport last Sunday and a number of participants were talking. One mentioned Kodu which Microsoft had been demonstrating at the booth. Not everyone had seen it though. So I volunteered to do a little demo when we got to the airport. Yes I do carry an Xbox 360 controller in my laptop carrying case. Doesn’t everyone? :-)
At the airport I wound up doing a short demo for about four teachers and we had a good discussion about the possibilities. That seems unlikely to happen at an online conference. Today at least. Perhaps soon. But even then how do people stumble across a conversation that is taking place out of band of the rest of the conference?
And than there are meal conversations. Sometimes a pseudo random of conference attendees find themselves going to eat together. That happened to me last Saturday night as I found myself wandering Chattanooga with four professors from four different universities from four widely disparate parts of the country. The conversation was wide ranging and highly interesting. Most of it had little if anything to do with the conference though. Still it was fun and a growth experience for me. OK it was mostly fun. But I think those are the sorts of conversations that make us more well-rounded, interesting and help create bonds and friendships. It’s hard to see that happening at an online conference.
Now I’m not saying anything negative about online. I think that for training, for meetings around a goal, and for many other things they are create. But they are not yet the end all and be all. Schools should still be looking to send people to live conferences. And that’s even before I talk about the value of the exhibit hall!
Speaking of exhibit halls – the exhibits at SIGCSE were diminished again this year. A trend that may get worse before it gets better. I think that is a shame on several levels. One is that the money conferences get from exhibitors helps to keep the costs lower for attendees. But another is that exhibits give vendors and customers a chance to dialogue in a way they don’t otherwise get. People get to ask questions and dig into motivations and futures in ways that don’t happen via a web page or a brochure or even an online demo.
People may not buy at a conference but seeds are sown and products are influenced by these interactions. And you sure can get a lot of information in a short time at a conference. I used to almost have to bring a second suitcase to bring stuff home from the NECC exhibit hall.
So what do you think? Are online conferences going to be the death of in person conferences or will the two continue in parallel for a long time to come? What do you see as the advantages and disadvantages of each?
Last Friday at SIGCSE Craig Mundie gave his keynote titled “Rethinking Computing.” As I see it the key point the made was the idea of a natural user interface replacing the graphical user interface we commonly use today. As part of his talk he showed two demos. The first was a computerized receptionist that Microsoft Research is working on. This receptionist uses cameras and microphones to gather information about the people who approach it. It tries to determine if people are together or coming separately. It tries to determine who is saying what an based on that information it books rides on the company shuttles. It’s a pretty fair deal of complex computation. Multiple processors, I believe he said 8, are working at 40% of capacity just scanning the hallway for people to determine if it has to go to work. But it results in a robot of sorts that can interact with people. Frankly the demo feels like someone out of a science fiction movie to me. But if this sort of thing become more practical maybe the future is not so far away. The second demo was of the Microsoft Surface device. This device also uses cameras to sense what is happing on the surface of the screen and to react accordingly. Multi-touch - touching multiple points on the screen at a time - is supported so that not only can one person use both hands or all their fingers but several people can all do things at the same time. You’ve seen stuff like this in the movies but this is real. There was a Surface device in the Microsoft booth and it was a star attraction. The sample programs got quite a work out and included software to handle online portfolios in schools, multi-player games and puzzles, and simple demos that showed the device reacting to specific things places down on it. The people trying it out seemed to be thinking of all sorts of additional possibilities as well. I had been starting to think that I/O devices like Xbox 360 controllers, easily programmed against using XNA, were a new item but clearly they are only a fractional step into the future. It’s enough to start people thinking though. Where are we going with interfaces between people and computers? CHI or HCI depending on your thinking (Computer Human Interface or Human Computer Interface) is going to change. We’re going to go beyond keyboards and mice just as we went beyond punch cards and line printers. I think we’re just starting.
In some respects I should be writing about SIGCSE today. At least about Craig Mundie’s keynote. But I’m not ready to. Why? Just too much information. My brain is full and it is going to take me a while to sort it all out. I’m hoping that a couple of people who were also here this week will blog about it and I can link to them. And of course use their perspective to sort things out. There were some interesting things said in the keynote and even more in a small round table session I was allowed to attend. But I’, still digesting it as I said. I also attended two sessions today and one last night on the Advanced Placement Computer Science program. Yes there is that much to talk about. Much too much to blog about this late at night. But I did want to drop a bomb on you guys. One that was dropped in a session today by none other than Eric Roberts of Stanford.
One of the discussions today was on what topics should be added to the current AP CS course (what we used to call the A course). After a bunch of suggestions the next question was what to take out. Eric Roberts, a man who has written a book about it, suggested recursion might be taken out. What no recursion in a first programming course? It was a stunner. Coming from many other people it might have been automatically rejected but coming from someone of this stature in the field of computer science there was a noticeable pause. And then people seemed willing to agree. Had someone just said the Emperor had no clothing? Well probably nothing that extreme. But discussion is open.
I will say that I love recursion. It has a sort of magic about it. You can use if to solve some difficult problems that cannot be solved (some easily and others perhaps not at all) without it. One the other hand I have known professional developers who have gone decades without using it for a production program. Wouldn't you think that something essential for a CS 1 (first college computer science course which is what APCS is supposed to be) would be used pretty often?
Alright, we can’t teach Quick Sort without recursion but there are other sorts. And, dare I suggest it, perhaps sorting could wait until later since just about any decent programming environment has a sort function/method/routine in its library these days? And I do believe that a computer scientist or a professional developer does have to know/understand recursion. But does it have to be in the first course? Maybe not. Recursion comes easy for some people but not many. For many it is difficult to completely grasp. It took me a while – just between us friends. Perhaps it does more harm than good to include it in too early a course?
Does recursion really need to be in APCS or even CS1? What do you think?