My course on Object Oriented Software Design is finished. As I explained at the start of the course some month ago, this year I taught the course remotely. I used an home-made system, with open source or freely available software: Google Hangouts was used as a teleconferencing software; Xournal and a Wacom tablette for simulating a whiteboard; Record My Desktop to record the lectures, which were later uploaded on You Tube; LaTeX+beamer for preparing the slides; Google Sites for the course website, and Google Groups as mailing list and forum for discussions with the students. If you want to have a look, you can visit the web site. The audience consisted of approximately 15 students, 1/3 graduate students, and the rest PhD students (not all of them on Computer Science, though). The course was basically about C++ programming and advanced techniques like template metaprogramming, functional programming, etc.
Now that it is over I can sum up the experience.
The first thing to say is that the students liked it a lot, and this came a little bit as a surprise to me also given the initial difficulties with the software, the setup etc. In particular, they valued so much the possibility to watch the lesson over and over again on You Tube. They loved the possibility of moving forward on the boring parts, or listening again on the most difficult parts. Also, if somebody could not be physically connected that day due to some other business, they could later review the lectures off-line. Finally, they could connect from 2 different campuses in Pisa and Pontedera, so there was no need for them to spend time on the train between the two cities to physically attend the lectures.
One thing that some of them appreciated was the fact that at the beginning I spent some time on my editor writing programs, compiling and running them, to demonstrate the main features of the language, the pitfalls, some tricks, etc.. Most of these programs were already half baked, and I would only modify them on the fly and show the effect on the screen.
Finally, they appreciated the fact that all the produced material was on-line, so they had everything they could need for the assignments, and no need to take notes.
Well, not exactly everything. Unfortunately I could not hire a proper lab assistant, so lab exercises were reduced to me writing the programs, and them watching. So, from an interactive point of view I lost a lot compared to a classical front-lecture, where at some point I would give the assignment and walk between them to assist, make comments on what they were doing, etc. I tried to substitute this with on-line help: fast response to help request by e-mail or through the forum. It is not the same, though.
One thing I did not like was the lack of immediate feedback. I was sitting alone in a room, to reduce ambient noise, watching my slides on the screen and talking for 2 hours, with 15 minutes break in the middle. As a consequence, sometimes I went too slow, in certain occasions I repeated the same concept too many times, some times explaining some mechanism in too many details. I missed a lot human contact and immediate face-to-face feedback.
Of course, this was not an on-line course, as you can find on Coursera, Udacity, etc. It was simply me recording myself while lecturing, without any post-processing. So, when I made an error while speaking, the error would remain there in the videos and will never been corrected. Post-processing requires a huge amount of time and effort, and professional technicians dedicated to it, and I neither had the time nor the resources for doing that.
Today, I had the opportunity to talk with my colleagues at the Technical University of Eindhoven regarding the future of teaching and our profession. We agreed that our profession is going to change very soon. New technologies and on-line course will change completely the role of the teacher and the manner of teaching classes.
We think that for many technical courses, the front-lectures will be gradually substituted by on-line broadcasts. What will be left is lab courses, where teaching assistants spend their time working on small projects together with the students, guiding them around the most common pitfalls. For a few courses, this lab work could require a substantial amount of hours: in Computer Science, I am thinking of advanced software engineering classes, where students will learn what does it mean to work in group, work on existing code-bases, etc.
However, most courses, and in particular the most basic or theoretical ones, will be taken completely on-line. Few good professors will distribute their lectures across the world. A few universities could chose to have professor record their own lectures, other universities would simply “buy” existing lectures by the famous professors and distribute them to their students.
What about exams? I still think that evaluation should be done in presence. Human interaction is essential when it comes to evaluating somebody’s ability and intelligence. It is not only about competences: sometimes it is important to understand if the student really got the gist of the course, and you do not understand that by using standardized tests.
Of course, the examiner can get important help and information by using new technologies. For example, in preparing the tests, it could use on-line tools maybe shared by different universities and tested on thousands of students, and build statistics on tests which can help him to calibrate the course and the exam.
For sure, there will be the need for less “professors”, and more “teaching assistants”. This could actually be seen as an opportunity to relieve the smart researchers from heavy teaching duties so that they could spend more time on research; for sure universities have a good opportunity to cut costs in the long run.
Certainly, universities need to be prepared to the change, and need to experiment with different techniques and configurations.
Next year I will probably repeat the experiment. I need a way to make it more entertaining for me: maybe adding a second screen to just see the student faces could help me get more feedback, I don’t know. If you have suggestions, please write in the comments! In the meanwhile, I will go again through my videos, to see what I did wrong and how I can improve on it.