2011/06/12

Learning Styles are dead. Long live Learning Styles

Your teaching and research activity partially leans on the assumption that students have different learning styles. But then someone tells you that learning styles don't exist. What?

I recently came across the video entitled Learning Styles Don't Exist by Daniel Willingham, Professor of Psychology at the University of Virginia. I've been working with learning styles for quite some time. In fact, as a techie, I use it as the basis to argue that students learn more efficiently when a learning experience is adapted to his/her learning style. As this is a challenging task, because it needs first a mechanism to know the type of learning style a student has, here comes the technology to the rescue (my part). The existence of learning styles is at the crux of a fairly large number of research initiatives.

And here comes Prof. Willingham to say that those learning styles don't exist. Working with the opposite premise (learning styles do exist and are very important), I've participated in projects where the so called "adaptation" was at the center of the activities. Adaptation is powerful, give each student the perfect resource, in the optimal format, at the right time, and the intrinsic difficulty of the learning process will be greatly reduced. This is a highly summarized version of our pitch. So far, so good.

But the next step to produce the optimal adaptation relies on knowing the learning style of a student. There is a myriad of methods to achieve this, but most of them end up with a user model, which is mainly a categorization of those aspects that play a role in a learning experience. Ignoring non-personal aspects (type of device to access the resources, bandwidth, location, etc.) we are left with a set of categories that represent the learning style of a student. And here is where the non-existence of learning styles is troublesome to say the least.

Let us leave technology out of the discussion for a moment. From a purely pragmatic point of view, I always had a nagging feeling about learning styles. I teach a course for around 100 students. Imagine that by whatever really efficient technique, I obtain the most detailed account of the learning styles of all of those students. My next step would be to create different versions of as many learning resources as possible for the different styles. Once you finish the process, there is still the issue of deciding which resource to offer to each student, but the reward is still tempting, you tend to think that once these hurdles are passed, learning will be optimal.

An example of the use of these artifacts is the Index of Learning Styles proposed by Richard Felder and Linda Silverman. Students are ranked along four dimensions: active/reflective, sensing/intuitive, visual/verbal, and sequential/global. I took the test myself and obtained the four indicators of my learning style. But after analyzing the results, the same question keeps popping up: now what?

I remember obtaining on my test a value leaning toward the verbal side of the visual/verbal axis. I can see myself reading detailed descriptions of ideas and gathering most of its meaning through text. But I keep a pack of white paper in my meeting table, and I regularly produce at least one sheet of paper per meeting. And what is more relevant, I often get asked for a copy of those notes. I can only assume that this is because there is some value perceived on the visual renderization of the ideas discussed in the meeting. Am I truly verbal? Do I occasionally defect and join the visual gang? The intuitive answer is, whatever it works. I think I can repeat the argument for the other three dimensions.

This is why I liked the video. It says that learning styles are different ways to reach "meaning" which is ultimately the goal. All of the sudden, the whole learning style thing makes much more sense to me. I often sit with students during office hours trying to clarify some doubts or solve some problems. I get the feeling that my task is finding the right vehicle to allow them to comprehend the issue and offer it to them. And this vehicle could be a drawing, a detailed verbal explanation, a focus explanation on one detail of the whole idea, a focused explanation on the problem as a whole, a visual analogy, etc. I never know what will work in advance, and I must admit it is one of the most challenging moments as a teacher. I see that the trick worked when the student has the aha! moment.

But the most important moment is right after that aha!, when we move to tackle a second doubt or issue with the same student. I typically start with a "clean slate". That is, finding another vehicle to help the student comprehend the issue from scratch, with almost no influence of the previous one. If we successfully tackled the first issue with a drawing, I never get the feeling that the student is visual, nor that I have to stick to drawings from then on.

So my conclusion is that learning styles do make sense as a characterization of different strategies used for gaining meaning, Students may use all of them depending on the activity, the material being treated or even the mood that day. Creating a varied set of learning resources still makes sense, but only as if you were preparing a toolbox to give the students. You want to include the best set of tools for the journey, but when facing a problem, steer clear from adapting the toolbox, instead, suggest the use of some tools, but leave all of them within their reach. It is like the climbing gear, you don't know in advance what you will need, but if you need it, you want it to be there (wait, I just used a visual analogy, does that make me visual?). I think that the competency of using the right tool for the right problem is becoming more important in the information era than taking a picture of the student and then let them use only the "appropriate" tools as derived from that picture.

... and another final remark that couldn't keep it for myself. If I had to bet, I would say that the larger the variety of learning styles a teacher has ready to use, the higher the probability he/she is a good teacher (by whatever obscure means the evaluation is carried out). Just a hunch.

2011/04/07

The chocolate incident. What's in it for me?

Warning: There will be a test at the end of this post!

Recently, colleagues in our research group are commenting an unexpected incident involving students and chocolate (I hope the blog post does not to disappoint after this beginning). For totally random reasons, an instructor takes the left overs of a box of chocolates to a class of first year students. We worked on the poor thing (the box) at a research meeting previously that day, but skillfully survived the attack (I had to leave early that meeting). There were not enough chocolates for all the students, and it just turned to be one of those sessions with a bunch of exercises that are supposed to be solved by the students and commented in class. Needless to say, these two facts created a chemical reaction in the brain of the instructor.

Yes, you guessed it right. A chocolate in exchange for you solving correctly one of the exercises in the board. What was the reaction? I'm not sure you're going to guess this one as well. Participation skyrocketed. To give you a bit more information about the context, these first year face to face classes in which we try to apply active learning require an immense amount of creativity to come up with techniques to increase student participation (as this blog post I think clearly illustrates).

The surprise for the reaction translated into us discussing the event. But unexpectedly, after solving a few exercises in that session (and to my dismay), the box still survived. Another colleague that had the same session with a different class later that day took the box into action. And yes, he was able to "replicate the experiment", very accurately, in fact.

My surprise might be a logical consequence of my lack of pedagogical training, but for a person that claims to do research on how technology improves learning, it is at least ironic that a box of chocolates beats you to the punch. I am trying to see if the anecdote has something interesting inside. First I have to fight my instinctive analysis: I would've spent the whole class plotting how to hijack the entire box. After pushing aside my chocoholic point of view and regain objectivity, a large variety of funny jokes come to mind. My university just opened a call for proposals on teaching innovation (tough to resist). Should I start printing out coupons? Spring is around the corner, some cool drinks perhaps? Tickets for a concert? Ok, back to the serious stuff.

I think the interesting question behind the anecdote is "What do I have to do to get your attention". Because we are doing some interesting research on attention, I cannot avoid thinking about it from the point of view of the student attention being an elusive resource that is essential for learning, and yet, we don't alway succeed at attracting it.

The next step in my analysis is that it seems to be more and more certain that you may get students attention if there is anything in it for them. And I would put emphasis on the word "anything". An instructor then must see what would get the attention of the students. The first typical answer is "an increase in the score". True, I must confess that most of my "attention gathering strategies" rely on this. But we need to diversify, like the investors. And the landscape of choices is out there for us to discover (and goes at least all the way to a box of chocolates). I think I need an extra dose of the "why not" serum in order to tackle this one.

And to conclude, as promised, here is the quiz for you:

An instructor gets to class with a tricky set of activities to carry out during the session. Which sentence would you recommend this instructor to say at the beginning of the class to catch the attention of the audience? "We are going to do these activities because..."

  1. "they are in the course syllabus."
  2. Are you kidding! I would get right down to do the activities. There is no time for these stupid experiments of yours.
  3. "everybody needs to know this! There should not be anybody out on the streets without these activities properly solved."
  4. None of the above.

Oh, wait. You are not going to answer it, right? There wasn't anything in it for you.

2011/02/14

Aligning teaching/learning methodologies with the evaluation

Last year I participated in AlineaME a project to explore how to align the teaching/learning that takes place in a course with the evaluation mechanisms. It may sound like a trivial task, right? When you create a course you think about what the objectives should be, deploy some evaluation methods, and you simply assume that the two of them are aligned. But the issue is more elusive that you might think.

First, a clearly stated set of objectives for a course (although kind of obvious) are not so easy to formulate. It typically requires a fairly good view of the prior knowledge of the students and an even more detailed view of what should lie ahead. This is the first hurdle to overcome. And then, even if you spend some time and come up with a good set of these objectives, now you have to assess them properly in your course. Again, there are objectives that are not so trivial to verify.

But the most interesting part of this puzzle is, how do you make sure the two things are consistent? I'm sure you cannot come up right away with a solid set of measurements to assure this alignment, which means the issue sure deserves some thought. This was the crux of the project. During last year I had the opportunity to work on these issues with some colleagues, techies and non-techies. A good mixture. We quickly realized that this alignment was tricky, yet, achievable.

After a productive session, there were a set of guidelines that were suggested to deploy in the courses in order to increase the assurance that objectives and evaluation were aligned (as it wast the most we could expect). As part of that set of ideas, it was proposed something as simple as commenting the objectives with the students at the beginning of the course, and then again at the end. The rationale behind this fairly straightforward activity was to bring to the surface the increment in knowledge. Talk about it directly with the students. After all, they do have a good point of view.

A year later I finally closed the circle and not only asked students to first reflect on the four objectives of the course I teach at the beginning of the course, state their point of view with respect to them, bit most importantly, at the end of the semester, talk about it again and gather written feedback. After a much longer delay than expected I finally got to process such feedback. Impressive. Most of the answers sound like a solid account of the change in knowledge as compared with three months ago. I'm no saying explicitly that most of the answers were along the lines of "Oh, yeah, I did learn a lot!". The strongest point was that almost all of the answers showed a good insight on the change of knowledge. Some of them stating a significant leap, some others confirming that it was almost none. But only a handful of answers were not useful. In any case, here I am, in front of another case in which you would like to have some information that you can easily obtain by doing something trivial: ask them (students) about it.

2011/01/11

I've got a hunch (account)

As part of the MOOC on Learning and Knowledge Analytics I've opened an account on Hunch.com to play with it and see its potential in a learning context.

My summary: skeptical. I have the feeling that the tool simply wants to gather information (some of it very sensitive) and then throw some suggestions at you the quality of which cannot be truly stated.

The fact that you are supposed to receive suggestions specifically designed for you creates a state of mind prone to the self-fulfillment of the prophecy. I might agree or not that my favorite sport is soccer, but that statement has the same validity for basketball, biking, etc.

Some suggestions are curious, and might make you try some music composer, writer, or shampoo brand. But the amount of information to receive in return for the amount of answers you provide does not pay off.

The most troubling aspect are the questions about political/religious believes. I would say those (and some others) are fairly delicate topics. Seeing them next to question about the first thing I use when I shower seems to be deliberately created to lower your reluctance and gather this information. Paranoid, may be.

As for its use in a learning scenario, as is, I'm even more skeptical. The main reason is the scope of a learning experience. In a learning scenario there is typically a fairly delimited topic or area. A platform like hunch should have more specific questions to provide also much more specific recommendations. This would take us to the issue of specificity. The more specific the topic, the more specific the recommendations, I think the less effective the approach shown by hunch.

Could the Hunch approach be modified to easily adapt to a specific topic in a learning scenario? Tricky and challenging, but interesting nonetheless.

2010/10/03

The future of TEL after ECTEL 2010

I just attended (Sep./Oct. 2010) the European Conference in Technology Enhanced Learning in Barcelona. As part of the exciting program of papers, demos, presentations, etc, I chaired a panel with four Spanish experts on TEL in the Spanish Track. The session started with the review of the three grand challenges identified by Stellar, the European Network of Excellence in TEL.

The first impression was that these challenges have been identified for a reason. The first one, how to deal with the hyperconnected students could be summarized by the sentence by Prof. Blat from Universitat Pompeu Fabra: "may be is not a matter of connecting the students, but connecting WITH the students". The point was to make an effort to shape learning environments with the help of technology to make them closer to what motivates students today. And that, combined with the mantram that "learner should be at the center". Challenging, no doubt, but good to see experts agree.

The second challenge was related to the fact that selection and provision of material is less prevalent in the tasks performed by an instructor. The shift is toward orchestrating learning experiences. Or as Magí Almirall put it "from managers to coaches". The overall production, deployment and enactment processes get complicated, and the one-person scheme for all this is increasingly unfeasible.

The third challenge was about adaptation. It is funny how all researchers agree that a learning experiences should be adapted (in a broad sense) to the learner and yet the nut is still there to crack. Lots of research, conference, papers, projects, and yet, adaptation or (a partially similar term) "personalization" in yet unsolved.

As a side effect, it was also refreshing to see in the panel how the research carried out by different groups in Spain is truly at the forefront of the area. As it is typically the case, I've come back from this (nicely organized) conference with new energy and ideas to keep pushing forward on improving learning with the use of technology.

2010/09/21

SubCollaboration: Easy to maintain shared folders

A few years back, following the urge to include the use of "advanced" tools in my courses I decided to deploy Subversion, a version control tool commonly used in software development projects. The objective was for students to get used to these tools. For the non-techies, a version control tool is simply a program that stores all the changes you perform in a set of files or folders in your working space. These changes are stored in a remote repository allowing the files to be shared among different users.

These tools are used in software development because typically, source code files need to be shared among the development team, and fairly often, the historical data is accessed to go back and "undo" some changes. This scenario typically required some non-trivial user training to explain the concept of version, remote repository, commit changes, etc.

With these premises we decided to use this tool in one of our courses. The first stumbling block was to scale it to the class of more than 100 students. Also, to ease the adoption, we wanted to create a "reference" folder that was then cloned to each of the groups in the course. This folder contained some initial documents, instructions, etc. These tasks lead to the creation of a tool called "Subcollaboration" that provides a much simpler front-end for an administrator to manage a reference folder and clone it so that the users in a team share the same folder.

After several years of experience, there are some interesting conclusions and some encouraging future venues. The first surprising fact was the almost effortless adoption by the students. Explaining to them that there was a remote repository where files lived and were shared among them produced the typical "Duh!"-face. They already do that with videos, pictures, bookmarks... Where is the big deal? The second interesting observation (although highly biased!) is that instructors also welcomed the tool. I know, instructors of techie courses are techies themselves. True. But the dirty work with the tool is passed to an administrator, and instructors can have a copy of the folders shared by the teams they supervise with almost no effort thanks to tools such as Tortoise SVN (which I strongly recommend to non-techies).

Version control tools require the user to "send" new versions to the repository. Tutors may then check the activity on the folder and see which team members are contributing and what are they sending. Questions arising when working in a document are also easy to handle. Students may post the question in a forum referring to a document in their shared folder. The instructor may then download the latest copy and answer the student. And you will say, Google Docs already does that and much better, yes, but try using Google Docs and this scheme in a course with a total of 200 students.

Is it a bit of a stretch to call this a PLE (Personal learning environment)? May be so. But what we also discovered is that using this tool we gained a lot of insight on how students work in their personal environments. In my opinion, learning is happening less and less in LMSs (Learning Management Systems like Moodle) and more in the user personal space. What a better form to gain insight on that work than by offering a shared folder? With this approach, we feel that we are closer to the student during the personal learning stage.

As for future venues, evolve this folder and use it as a vehicle to slide a more formal collaborative scenario. A peer-review paradigm could be easily deployed by providing some special folders and manage the permissions to read/write documents in them. A pyramid discussion, when reflected in documents, could also be implemented using the discussed functionality as the basis. May be scripting a collaborative learning scenario within the restrictive limits imposed by a LMS is more complicated than simply describe the activity and scaffold it with some basic folders

.

So many interesting things to try, so little time...

PS:We wrote a more formal scientific article to be published in a journal. I you want a copy of it, feel free to ask.

2010/07/08

Design and deployment of a C programming course with active learning, continuous evaluation and team work

I presented at JENUI 2010 our experience when designing a C programming course including active learning, continuous evaluation and team work. It was a significant shift from our previous courses. We gathered useful information about the aspects that worked best and not so well, the student reaction, the effect on the staff, etc. Here are the slides (in Spanish)

2010/05/16

New publication: A Process for Improving Course Quality based on Mid-semester Feedback

In the article published in the first International Conference on Technology enhanced learning, reforming education and quality of teaching with title "A process for Improving Course Quality based on Mid-semester Feedback" we present our experience with a new formalism to gather very valuable information on how students perceive a course such that corrective measures (if needed) can be taken without waiting for the following edition

Last fall we deployed a totally new C programming course. Everything, objectives, methodology, labs, etc. was conceived from scratch. The reason for this process was to try to design a course with a set of objectives derived from the program objectives that included aspects such as "teamwork", "use development tools used in corporate environments" and "promote self-learning". Compared with other similar courses, the amount of aspects that changed made the endeavor very challenging.

We could not afford to wait until the next edition to make adjustments on the course structure. Besides, the type of feedback obtained from the teacher evaluation provided by the University is not detailed enough as to obtain a clear picture of what is happening in the course. We decided to use an extremely simple, yet very effective tool to obtain quick feedback that clearly pointed to the aspects to submit for consideration to the teaching staff.

After several valuable conversations with professor Miguel Valero, a questionnaire was deployed with two very simple questions: "Describe the most crucial positive/negative aspect you´ve seen in the course so far". The responses were obtained through a conventional HTML form with a mechanism to limit the text to only 300 characters.

Although simple, the scheme proved to be very useful. By asking only about the most crucial positive/negative aspects, students are forced to choose. It is not a lengthy set of questions with multiple choices. Students are asked to think first, then answer. By restricting the size of the answer, students are also forced to be succinct, which means much more readable answers and a faster post processing. By asking about the two aspects (positive and negative), some reflection is needed to obtain the two extremes.

But with a course with 250 students, deploying the questionnaire and obtaining the answers was the easy step (altough only 25% of the students answered). The tricky part came when analyzing the answers. It was in this step where the scheme really worked. Each answer was reviewed, but due to its size, they were quickly categorized in a set of 20 topics. For each topic, the number of times such topic appeared as the most positive and the most negative were counted. These topics where then categorized again based on the comparison of these two numbers.

Topics with a much higher number of positive appearances where clearly those most liked by the students. Those with a higher number of negative appearance were those that needed to be re-evaluated by the teaching staff to see if there any measure was required. Finally, those topics with an almost equal number of positive and negative appearances were declared "controversial" and submitted also for re-evaluation.

The results were impressive. The course had an important problem of work overload. The categorization of the obtained answers quickly showed this as the most negative aspect. Next, the evaluation scheme (continuous evaluation) and the class methodology (requiring an active student participation) came second and third but with a significant number of positive appearances. Measures were taken to redesign the workload and emphasize on the need of daily work to adapt to continuous evaluation and class participation.

The questionnaire was deployed three times during the semester. The evolution of the obtained results was also very enlightening. After the first measures to balance the workload were deployed, the following results showed a clear improvement on the student satisfaction. The same was true for the evaluation scheme and class participation. Besides, the second and third surveys showed that students were very pleased with collaborative scheme to work in teams that was deployed on the second half of the semester.

I guess the conclusion is too obvious. If you want to truly know what is going on in your course, you just need to ask. However, when asking to a large number of students, you want the answers to be brief and to the point so that your turn around time is brief.

2009/12/15

My experience in OCW

A few years ago I found the OpenCourseware initiative launched around 2000 by MIT. The idea is at the same time simple and a bit difficult to convey. Shortly after its successfull take-off in MIT, numerous universities around the world joined the initiative and today there is a massive amount of educational material available in numerous servers hosted at different unversities.

My university (Carlos III University of Madrid) joined this program a few years ago and regularly opens a call for participation. In 2007 I submitted one of my courses on Computer Architecture, a first year telecommunication engineering course. I never thought carefully about the reasons that took me to participate, but after a couple of years, I find myself preparing a presentation to give to my colleagues explaining why I decided to join the program.


By preparing the material for this talk I realized that OCW has multiple reasons that are not apparent when you read the information you find in the different sites. They are hidden behind the huge headline saying "Open Content". They could be sumarized as:
  • It promotes the use of ICT. Both on the side of the teaching staff and on the side of the student. The more material openly available, the more interaction with it, the less traumatic will be the use of these resources.
  • An implicit communication channel is opened. Your course has your name. People may contact you asking questions. I'm not referring to students clarifying an exercise, but other teachers that saw your material.
  • Derived from the previous one, there is an implicit forum for degree adjustments. The task of putting together a degree is typically dealt with a commission. By publishing courses in the open, anybody could point to improvements or adjustments in various courses toward a better overall degree.
  • Promotes the continuous evolution of the material. This is the most important for me. Educational material improves over several editions. OCW does not force you to modify your courses, but derived from the material being in the open is the notion of incorporating improvements.
These aspects were surprisinly in synch with my approach to my courses, thus my disposition to share one of them in OCW. I'm currently involved in another one, and I count on it to be out in the open after the second edition is done.

PS: And here is the talk:

2009/12/03

An the winner is... Let me check my Google SpreadSheet

In one of the session in the course I'm teaching, students working in a project in teams of 4 people need to present the final product. It is a great opportunity for them to prepare a presentation and give a short talk (we only have 10 to 15 minutes per group). But must importantly, students have the opportunity to see their talk compared with five or six others. In my experience, both things are equally important. I've learn a bundle not only giving a talk, but looking at the talks around mine.

To make the experience a bit more intense, we decided to run a quick poll at the end to rank the presentations. The voting would take place at the end of the session and students need to rank the top five presentations and assign values from 1 to 5. The whole drill looses a lot unless the results are viewed instantly. Of course there are plenty of so-called "clickers". Each student would get one, vote and then there is a program that tabulates the results. Then we have surveys in LMSs that allow you to do the same. But, as it typically the case in these experiements, you loose half the effectiveness for each step you take. So the objective is to deploy this setting with the smallest amount of pain.

Here comes Google SpreadSheets. A sheet can have a Form attached to it. The form can be created by a simple editor and Google automatically produces the web page to be used to introduce the data. When data is introduced in the form, it is automatically inserted in your spreadsheet. The form is publicly available (no login) and the spreadsheet reflects the results instantly. Collect the results in one sheet, create an extra sheet, add a few formulas to tally the results, add a graph plotting these numbers, export such graph into one of your web pages and voilá.

The way Google processes the data in the form is fairly simply. As long as you use the proper URL to send your results and follow some naming convention for the input fields,  you may submit data from any page. Here is an example of the form seen by the students to send the rank.



One of the question formats accepted by Google is called grid. It is perfect for this scenario. You offer a scale from 1 to 5 for each presentation. The web page is prepared to send the data to the Google entry point (which I lifted from the official Google Form). Here is a capture of the result:



This scheme can be used live in a class. You only need to have a publicly available Web page (probably better to have it unreachable from a link and directly show the URL in class), ask students to submit their voting, and refresh this graph in your computer. In the sessions where students present their projects, first all the presentations are shown, then students point to the voting URL (Google has a switch in the form to accept results), cast their votes and the result is shown in the screen. Look ma, no clickers, no server, no JavaBean, no PHP...

2009/10/29

Shortest path from Kubuntu 9.4 to YouTube

A while ago, I published a guide for the students on one of my courses showing how to perform certain operations in Eclipse. I tried to include a few screen captures, detailed description and try to bring them quickly to a point where true code development was easy.
The result was quite surprising. Despite the effort to make a detailed guide, the number of questions and clarifications was unusually high. It was not due to the absence of details, but, if I have to guess, I was pretending to show how a highly visual tool works, with a highly detailed and dense document. Two opposite resources. Somehow, it seems that when you are performing a visual task, you may learn faster if you have visual (rather than textual) support.
So I decided to craft some videos showing screen captures of some additional procedures (creating a debugging configuration). The premises: open-source tools, and what is more important, really quick path to publication. If I create a cool video, but it takes me two weeks, forget it. It should be under an hour even at the expense of some quality. My take on this, there is no need for George Luca's quality for a guide that you'll view once and that's it. Here is the tool combination I've used.

Screen capture

This was the trickiest part. The problem is not yet cleanly solved, but xvidcap was the solution. It put my patiente to the test, until I tweaked with some obscure option with name Manually set XDamage. Interestingly enough, it should be enable. Go figure.
I've selected MPEG as output format and avoided completely capturing at the same time video and audio. I found much more confortable to quickly draft a script of what I plan to say, capture the screen, and the add the audio on top

Audio manipulation

Tools here are up to the challenge. Audacity came to the rescue and performed perfectly. I needed, though to first install PulseAudio, the new Audio framework in Ubuntu that despite some criticism I've seen in some blogs, it works like a charm in my machine. It allows you to control all different sound "threads". For example, if you are hearing music and a video pops up in the web, you may control the volumes separatedly.
Audacity allows you also to perform fairly useful operations such as cutting silences, shifting the wave, etc. Also, you may record (as it was my case) two tracks for the same video in the same project. You simply mute one of them and export the other. Which brings me to the final touch with Audacity, exporting to MP3. It works without a glitch. An MP3 file is created and is ready to be merged.

Merging Audio/video

This is the most obscure part that I haven't figured out completely. I use mencoder which looking at the number of available options, you could think it is capable of pretty much everything. After several trials, the final command is (brace for impact):

mencoder \
  video.mpeg \
  -audiofile audio.mp3 \
  -o video.flv \
  -of lavf \
  -oac mp3lame \
  -lameopts abr:br=56 \
  -ovc lavc \
  -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 \
  -srate 22050

Does it work? Yes. Do I know what is doing? Not even the slightest idea. The audio is far from perfect, and there is some drifting in time, but it did the trick of producing the videos in less than an hour. I need to polish this last step, because the audio sounds perfect when played alone. I might post again if I improve the recipe.

As for the result...

2009/06/29

Our current research activities

I presented the research activities in which our research group, the Gradient Lab is involved. The occasion, the yearly research meeting of the Telematic Applications and Services Group

It is difficult to create a somewhat coherent presentation from all these activities. Each one of them might need a single hour on its own to be fully described. Quite a summarizing effort. If I had to choose the main keywords included in there, these would be: elearning, adaptation, mobile learning, 3D scenarios.

2009/06/19

T-1.5M and counting

We are quickly approaching September 7th 2009. That is the first day of classes of 09/10 course in which the new totally redesigned, done from scratch, 180 degree change in strategy course I'm prepary will start. The amount of work is just enormous which together with the already large amount of things popping up (projects, research, thesis, etc.) makes this time of the year specially stressful.

But in the middle of the storm, there are still a few reflections worth mentioning. I'm tasting how does it feel to really prepare a course. To carefully think about the learning objectives (or outcomes), how to tie them to activities, how these need to be carefully dimensioned such that they don't turn into some mere impossible exercises courtesy of the wacky professor.

I now understand why is so difficult to teach a good course on technology. The level of planning you need is extreme. When setting the stage for a program that will, for example, dump a data structure in a file and then restore it (sorry for the not techies, this is the tough part), you need to make sure you have the rest of the details taken care of for students to focus only on that aspect of the activity. Of course, in your regular engineering life, you must take care of ALL the aspects, but activities in a course, at least a third semester course, still need a bit of narrowing the interest in order to achieve depth of understanding.

The course is shaping up nice, although orders of magnitude slower than expected (will, to be hones, it was expected). Yesterday, in an event totally unrelated to my techie life somebody told a story about a daughter asking her father what was an utopy. The father answered that it was something similar to the horizon. You keep chasing it, but it keeps escaping your. The daughter then asked, so then what is an utopy used for? And the father replied, to keep advancing. How timely! I'll try to remember the story the next time I have the tenth million argument about why should we change the way we teach.

2009/04/23

Do you want to travel overseas? Structure of learning material

At a conference in Monterrey, Mexico, I came across a person working for the Connections Project. The conversation was about how to improve the sharing of open educational resources (or OERs). One of the problems that needs to be solved is how to organize material at a low level of granularity such that it can be easily searched.

Lookit a bit closer at the problem I realized that professors tend to neatly organize educational material but at a higher level of abstraction. Most teachers carefully divide their courses in chapters, modules, lessons, etc. There is a huge variety of vocabulary, but everybody is doing more or less the same. The reason behind this organization is to better find what we need, for students to better follow a learning experience, etc.

But the interesting observation is that, below this level, that is, inside the documents and resources that make out a chapter, section, session or whatever similar unit, the content is mainly disorganized. Exercises are just put together in a Word document, additional resources in another HTML document that gets published in the course web page, etc.

The overall picture then is that a course has a neat organization at a higher level and is fairly caotic at a lower level. My perception is that this is mainly due to the type of tools that are used in the creation process. Sorry to say, but the culprit is mostly Microsft Office.

The tools contained in this suite maintain their information internally in a format impossible to manipulate easily outside of this programs. Let me put an example. If I write a collection of exercises with let's say 50 exercises. Let us assume then that due to some course reorganization, some of those exercises should be in a different chapter or session, some of them can be used in another course, or even that the collection can be divided into three tracks that can be used as learning material for students having different learning styles. What would you need in your material to solve this situations quickly? If the material is structured internally, then it would be easy to take the collection of exercises and select each one of them individually with some tool. That is extremelly complicated for Microsoft Word documents.

Another example. Let's supose a teacher relies mostly in Powerpoint slides. In one of them there is the coolest animation about an extremelly complicated process. The professor has realized that the animation greatly helps students to understand the process. Now the teacher would like to take just that animation and publish it in an HTML document in the course website. With structure content, it should be possible to identify this animation, extract it from the document and place it somewhere else.

This problem has been solved in some other domains, and some of them extremelly close to you (either if you are a techie or not). This page you are reading contains text that is internally structured. It contains marks identifying its internal parts. The better and more thorough this marks, the easier is to manipulate the text.

Is teaching staff ready to create structured content? Mostly no. Why? Mostly, because there is no tool out there that provides a simple authoring procedure to create structure content. Most of the teaching staff is using some tool inside Microsoft Office.

To finish with an analogy. Microsoft Office Tools give you a nice and powerful set of tools the same way a car can give you lots of possibilities to travel. You may have a huge amount of tweaks and knobs to turn in your car such that your driving experience is easy, pleasent, efficient (add your favorite adjective). But, what happens if you want to travel overseas? No matter how powerful, confortable, efficient your car is, you won't get there.

Structured content is the view that will allow you to travel overseas with your learning material. It'll allow you to solve problems and adapt your material in ways that are beyond the capabilities of current Office tools. It is complex, yes, the same way a jet airliner is more complex than a car, but it'll allow you to travel overseas, right?

2008/12/30

MToB. System Architecture 1: General Objectives. T - 9M

After may be a too large time span (3 months), I report again in my quest for the perfect course. In my previous MToB post, I was about to delve in the always intricate world of curriculum guidelines. The objective: finding the perfect set of objectivies for the second year course. The more I read about these issues the less clear the picture. There are way too many notations, very few works talk about concrete issues, you never find an example of a course close enough to what you are designing. Instead, lots of blah, blah, blah about trivial objectives. Things such as "oral communication skills", "teamwork skills", etc. appear way too often. Concrete examples adapted to your course, well, that's another story.

Luckily for me, once again, Miguel Valero came to the rescue. After spending quite a few hours and crafting a couple of documents trying to make sense of the process to obtain the high level course objectives, I wrote an email to my colleague expressing my frustration when searching for this type of information. His response was exactly what I needed: "before wasting all your energies searching for the perfect methodology to create the course objectives, here is this document that I did devoting lots of hours to what you are doing so you can save it for more interesting things". Excellent.

The document Miguel Valero sent me is a methodology (as good as any other) to follow the path from abstract objectives (those that appear in the curriculum guidelines) to more concrete ones. After this trip through the land of competencies, objectives, recommendations, and so forth, I think most of the complexity comes from the fact that it is a continuum of abstraction layers with a tendency to stay always in the higher levels. In other words, different documents talk about objectives, competencies and all these ingredients but at different levels of abstractions and always with similar terminology. The topic does not lend itself nicely to a clearly organized taxonomy of terms and abstraction levels (or at least I haven't encountered a clearly stated one).

When designing a course, there is one crucial first step though that puts you in the right direction: designing the course general objectives. Course general objectives are recommended to be wide in scope but within the course and should be only a few of them. This means that you first need to clarify the level of abstraction in which you need to position yourself, and then, write them. After quite some thought and taking a lot of inspiration from the previously mentioned document sent by Prof. Valero, here are the Course General Objectives:

  1. Design programs to run in mobile devices. This objective contains a small principle declaration. Programming is required for the type of degree where the course is placed, but programming mobile devices is a more specific environment. For example, special tools such as cross-compilers need to be used. The idea is to deploy a complete application in one of these devices.
  2. Use the most common tools for the development of mobile applications. These tools might include (yet to be decided) IDEs such as eclipse, version control software, memory profiling, tests, etc.
  3. Work effectively within a team. This is one of the most challenging objectives. It amonts to a huge departure from conventional course organization and embracing it means re-think a large portion of the course. The tasks need to be conceived to encourage positive interdependency and individual accountability.
  4. Learn autonomously. This is also a tricky one to bring to life. The type of tasks assigned to the students should be designed as to emphasize this attitude. Students now search for lots of new information on the net. Tap into that potential and elevate to the category of autonomous learning is no trivial task

Although they might seem trivial statements, they provide the boundary conditions from which to derive now the rest of the course structure. When building a house, you need to first mark in the land where all the pieces should be placed. The next step is now to decompose these objectives into much more specific ones within the course. The list will be much larger and detailed. Long journey ahead!

2008/09/28

Staging You vs. Marta/José Luis

A few months ago, I took a course titled "How to achieve the formative objectives in the new ESHE" by Alfredo Prieto Martín. One of the first exercises was based on the paper "What the Student Does: teaching for enhanced learning", published by J. Biggs in "Higher Education Research and Development 18: 57-75". The scenario was two students, Marta and José Luis. Marta was very thorough in her study, she usually goes deeper than required when understanding the course material, she is interested in all the topics, etc. On the opposite side of the spectrum, José Luis is not convinced he should be at the university to begin with. He quickly skims through the material to see if he can make the minimum score to pass the course.

Based on this scenario, a few questions were posed along the lines of what to do to improve the overall learning experience in such setting. There are multiple aspects to consider here. Typically, the further appart the learning profiles of the students in a class, the more difficult to teach at a level that is appropriate.

But when I first saw the example, I started thinking if such example, with a twist, could be given to the students themselves. After a few days thinking about it, something solid came to light. The situation in the scenario, with very minor changes can be taken to a place more familiar to the students. Here is what I tried in the very lasts minutes of my first class of the semester.

The first step was to warn that the following exercise was not directly related to the course topic, although I considered it interesting because it is something that they might find in their near future working for a corporation. A job offer was published in the newspaper (I showed the actual offer taken from the paper a few weeks ago, to add more realism). The offer contained some of the topics covered in some courses and mentioned explicitly the need to have a telecommunication engineering degree. I proposed the students to follow me for a while for some hypothetical thinking.

They took the offer and sent the CV right away. Sure enough, a few days later they had the interview with somebody we'll call "Big Boss", and they got the job. The conditions for the job were to make sure a team of two subordinates and you managed to keep a set of tools working seamlessly for the company, solving problems, fixing bugs, etc. The salary was fairly high on the condition that the team performed well. This is to convey certain pressure to make sure everything goes smooth.

The team is made of Marta and José Luis. A month down the road, problems appear. Certain problems take longer than usual to solve, users are beginning to complain, not all bugs are fixed, etc. Marta is an incredibly thorough person. Smart, quick to analyze a problem, even quicker to propose solutions, creative, reliable, etc. José Luis, on the other hand, was the opposite. Unreliable, sometimes a tad irresponsible, detached from the main problems. The services to maintain were divided among you three, and obviously, those taken care by José Luis were greatly lagging behind.

"Big Boss" calls you to the upstairs office and says that the department is not performing as expected (add the line that "your job is at risk" to increase tension). The conversation is a bit delicate and quickly you mention that José Luis is the culprit. "Big Boss" wants solutions, and although you were quick to point out that he should be replaced or transferred, the actual situation in the company rules that completely out of the picture. Big Boss expects YOU to solve the problem and ... you got three minutes to talk in groups of two or three to propose the most effective measures you would take to solve the problem. Anything goes except firing or transferring José Luis.

As mentioned before, the exercise was done at the very end of the first class. The interaction had been close to null. My students usually go to that first class mainly to pay attention to the rules to pass the course. But at that point, the three minute period translated into a sea of conversations.

After the time was up, I kindly asked each team for the proposed solutions. The first pleasant surprise was that they were mainly all on board with the role playing. They saw themselves sitting on that office with Big Boss feeling that either they fix the problem, or they will be fired. It follows a summary of the main actions that popped up (in no particular order):

  • Talk with José Luis to find out exactly what is happening.
  • Re-distribute the load among Marta en José Luis to see if that made any change
  • Have Marta work closer to José Luis to see if he learns how to improve
  • Fix a date between Marta en José Luis to see if they exchange (at least) some tips on how to work more efficiently
  • Pay José Luis extra money if his performance increases
  • Behave more as a coach for José Luis rather than as his Boss
  • Get together with José Luis regularly to address his shortcomings
  • ...

Students were really decided to attack the problem. Many solutions came up and they were more than willing to discuss them. So, at least as an ice-breaker, the exercise was a success. But by the time solutions are discussed, the time is up. Class is over, but before leaving you drop the punch line.

Explain that this example is not only useful because it could happen in a real situation to them and they need to perform on something that is not covered in any course, but it has a second interpretation. "Big Boss" is the University authorities. The person that was hired to make the most out of the team is the teacher! And turning to the students, you say: "it remains to find out who are you going to be in this course... I'll see you next Friday". And you leave.

2008/09/14

Agile Open Source Content Production. (and III)

After a few situations in which I had to design non trivial learning material (meaning lots of exercises, guides, supporting documents, study guides, objectives, etc.) I'm more convinced than ever that the production process is far from ideal. Sophistication when creating content is advancing both in complexity and in variety, but users are not advancing at the same pace. As it was discussed in previous posts, the need for some intermediate processing is growing.

If on top of this situation we add the lesson the web is teaching us every day, that is, collaboration is inherent to the human being, and usually means better outcome; then the mixture translates into an even more complex scenario.

By looking at how big large collaborative projects are organized, there is always something that strikes me: there are lots of successful projects with organizational schemes fairly loose. Loose when compared to typical exhaustive collaboration platforms that force users to use only certain tools. The net is going in the opposite direction. The freedom to use one tool or another, in general, I perceive it is growing, and at the same time, the amount of material, or generically "objects" that are produced keeps growing.

A few weeks ago I started an effort to translate this observation into something more concrete in the area of learning content production. The result is ADA a rule based toolkit that tries to provide a powerful and scalable division between different content production phases, and at the same time, rely almost entirely in open source software.

The idea is to simplify as much as possible the work on the user front, but keeping some basic procedures to facilitate the automatic processing of as many production steps as possible. An example. I teach a class with one group in Spanish and another one in English. Any document you write in Spanish, it must be translated to English. The same applies to figures, charts, animations, etc. (unless they have no text). At the same time, while teaching a course, handouts need to be reviewed, polished and published at certain times. The reviewing process is a bit tricky with both versions. Not only that, the date to publish a handout might move one or two days back and forth. Bottom line: the production of the original document is a small portion of the entire content management. ADA provides some common rules that can be easily invoked to automate this processing: producing PDF files from powerpoint, 2up PDF files, derive Spanish/English versions from the same document, copy auxiliary files from one location to another, detect dependencies such that when a document changes the derived content is refreshed, etc.

The following figure illustrates the philosophy behind ADA. A community of authors have some raw material to produce content. With the description of some combination rules, the task of deriving an entire web-site from the material of these authors can be fully automatic.

To be totally honest, I'm pursuing this out of simple observation of my own production cycle. I am trying to convince more users to adopt this paradigm. So far I went as far as a plenary meeting for my research group. At least there is one additional user (and developer).

The one hundred mile trip...

2008/08/30

My take on Bologna (MToB). System Architecture 1: T - 12M and counting...

I´ve previously written about the upcoming changes facing Spanish Universities to comply with the Bologna Declaration. But the closer the deadline, the more clearly can be seen the dimension of what we are facing particularly at Carlos III University of Madrid. So much so that our upper management has decided to advance the adoption of the new degrees for the 08-09 academic year.
The movement has lots of implications which are too complex to describe in a single post, but when it comes to my department, it means that there will be new courses adapted already to the Bologna Methodology starting during these days (September 2008). Planning and designing a course is quite a challenge no matter who you ask (see "How to Prepare New Courses without Losing Your Sanity" for a good reference), but it is even greater when the course includes on top of potentially different syllabus, different methodology (we are supposed to be embracing some sort of student centered learning), new teaching load, new schedule, etc.
All these turbulences are nothing compared with the huge delays inflicted in decissions such as which professors will coordinate which courses. In my department, the Bologna phase starts this coming February, because only the first year starts now and no course is taught in the fall semester.
To the point. I´ll be in charge of coordinating a course to be taught during the first semester of the second (sophomore) year in the track that leads to four different degrees on Telecommunication Engineering. The course is cleverly called "Arquitectura de Sistemas" (Systems Architecture) in a trick to fit pretty much whatever we want. The boundary conditions though are pretty interesting, namely:
  • 6ECTS course.
  • Meets twice a week for 90 minute sessions. One weekly session is with a so called large group (up to 120 students, but there will be way less than that), and the second with a small group of 40 students. There is also the possibility of meeting up to four times in a semester with the group of 20 students.
  • Some sort of student centered methodology, or should I say Inductive Teaching is supposed to be used.
  • Final exam value is capped to 60% of the final grade.
  • Syllabus is about C programming and operating system concepts. 
  • Students arrive with two semesters of Java Programming only. No clue on any other programming language.
  • C programming is required for several courses down stream (it´ll be difficult to tweak things regarding the core material).
  • No other course in the degree is devoted solely to the study of operating system concepts.
On top of these official boundary conditions, and just to make things interesting (as Rober Browning quote says "Your grasp must exceed your reach") I indend to take a serious shot at:
  • Start preparing the course with enough time to do it properly (I guess this post entitles me to tick this one.)
  • Provide students with a truly genuine learning experience based on real-life motivating examples.
  • Connect the course content with their future tasks as engineers.
  • Follow the well documented guidelines on how to properly design an engineering course from the ground (and I mean "the ground", reading the white book of the degree) up.
  • Make the course one of those students would remember as an Exapin ("Unforgettable Learning Experience" as defined by Miguel Valero in ¿Cómo nos ayuda el Tour de Francia en el diseño de programas docentes centrados en el aprendizaje?.
  • Handle a team of teaching staff colleagues and massive amounts of learning material as effectively as possible.
  • ... and of course, use technology to handle this workload and probably enhance the experience as a whole.
The amount of ideas populating my head right now is very large. Summer is ideal for brainstorming. One cool thing about this job is that it allows to work while your are walking on the beach? I plan to use this blog as my reflection tool, dumping my progress as well as my decissions both when going forward but also when going back to the drawing board.
Next stop: "Checking the white books of the degrees" T - 12 Months and counting...

2008/08/16

Virtually Speaking

Any teaching activity requiring any amount of experimental work faces the problem of replicating the appropriate experimental setting for all the students involved. In a course in biology, this might mean a complex environment in which several work spots need to be deployed with a complete set of tools and measurement instruments. If the course is in programming, the requirement is usually a properly equipped computer (or several of them) with the appropriate programs previously loaded.

The common difficulty for these environments is that the starting point for all the replicas should be identical. The reason for this strong requirement is to facilitate the support by the teaching staff. By providing a common starting point, students then might reach situations that could be easily analyzed by the staff, because the starting point is well known.

In the context of experimental environments that rely on a computer, there has been multiple articles which cover how to provide a fixed, common, well known environment to work. The measures to achieve such property can go as far as to provide every student (or workstation) with a newly installed version of all the tools. This means students work every day in a computer with tools installed just minutes away. The reason behind this (apparently) extreme decision is the trade-off between the amount of administration power given to regular users and how easy is to keep the computer with the tools properly installed. If a laboratory requires experimenting with the installation of new tools, users must be given these privileges. But then, these privileges can be used to completely re-install all the applications. Thus, the solution is to do a fresh install, say every 24 hours. There is a market for tools that automatically replicate the configuration of a given operating system in a large number of computers through a network. They greatly simplify this administration task, although in most cases, this solution is a bit drastic in the sense that at it might take a long time to synchronize a large number of machines (think a university with 20 labs each of them with 20 computers).

Virtualization technology (a concept that was conceived in the early 70s) offers the possibility of embedding one complete computer as single application running in a second computer. This second computer is what is usually called the physical machine whereas the first one is the virtual machine. This trick is pulled thanks to two functions. The first is that the monitor used by the virtual machine is embedded as a regular window in the physical machine. The second is that every resource needed in the virtual machine, the petition is passed along to the physical machine.

For example, the virtual machine needs disk, it uses a chunk of disk in the physical machine. If it needs a network connection, it uses the connection in the physical machine. The same applies for USB devices, keyboard, mouse, etc. The keys you type in the keyboard are read by the virtual machine if the window with the virtual screen is selected.

The crux of this scheme is in what is usually called the virtualization layer which is the one absorbing the complexity of translating all the internal requests in the virtual machine to the proper requests for the physical one. Of course, this layer takes some time to perform such translation, and as a consequence, performance problems may arise.

But with the current processor speeds, disk size, bandwidth, etc, virtualization has emerged as a perfectly valid paradigm to execute any equipment in any hardware platform (at least in theory). One of the companies that has been around for quite some time is VMware. The business model that they have envisioned focuses on those companies that need to equip a large number of programmers with several virtual machines simultaneously installed. Another area in which these machines are very useful is to guarantee compatibility of a product across different platforms. Any team member developing a product may try it almost instantly in a variety of operating systems and hardware platforms by using as many virtual machines.

As a consequence, VMware offers the tool to create a virtual machine from scratch (which means installing the operating system) and the program to virtualize its execution in a physical machine (commonly known simply as a player free of charge. This means that anybody may create a virtual machine, save it (it is simply a folder with several files), and distribute it under certain conditions (you may distribute your virtual machine, but not the player).

One of the courses I teach requires programming in a Linux environment. Not all the students (although the percentage is increasing significantly) have Linux installed in their personal computer. The solution I've adopted consists on creating a virtual machine at the beginning of the semester, make sure it has all the required software installed, I even through a couple of files in the desktop specific for the course I'm teaching, burn a DVD and distribute it among the students (I simply give one of them the DVD, they then apply the extremely effective distribution channel they are used to).

With such approach, the installation problems are all fixed at design time with the virtual machine, I have the guarantee they are all using the same versions of all the tools (which rules out some occasional annoying bugs), and if anything goes terribly wrong, the machine can always be re-deployed by simply replacing the folder containing the virtual machine by its initial values.

VMware is not the only virtualization engine. In fact, there is a powerful open source project called Xen that offers similar functionality, very competitive performance, although reduced compatibility.

The use of such technology in a learning environment is very promising. More and more disciplines require special tools that require special operating systems or packages. By confining these requirements into a virtual machine, the special environment can be immediately available to all the students at a low cost.

Of course, as you may already imagine, when crossing virtualization techniques with licensing schemes, things are complicated. In principle, you might purchase one single license of a tool, install it on a virtual machine and distribute the virtual machine. Vendors have long been aware of this possibility and the licensing schemes have evolved to factor this in. If all the tools you use are open source, there should be no problem. As soon as you use a tool with some sort of license, distributing a virtual machine with that program installed might not work as expected or get you in some trouble.

2008/07/18

Close encounters

The university in which I work, Carlos III University of Madrid, has decided to deploy the new degrees fully adapted to the Bologna Declaration the upcoming course. This might seem as a minor fact unless you've spent some time as teaching staff in a University. Changes are very delicate, and if the change involves degrees, schedules, number of groups, calendar, methodology, etc. then we are clearly facing a huge challenge. This transition will be a matter of a later post, but I'd like to comment on something derived from this situation.

Due to the need to adapt quickly to teaching methodology which is "student centered" instead of "professor centered" there has been a few talks and courses at the University. A few weeks ago I had the pleasure of sitting in this talk by Miguel Valero a professor of engineering at a school in the Barcelona Area. Interestingly enough, I sat on one of his classes when I was in college. It was back on 1987, and both of us went a long way so as our paths crossed again. The topic of the talk was how to adapt engineering courses to a collaborative teaching methodology.

I exchanged a few remarks with him, and one of them was along the lines of how this type of activity, that is, studying how to better teach concepts, involve students, etc. is considered as a second class research. Leaving that feeling aside, I asked him for interesting references, and he mentioned Richard Felder. I know about the work of Richard Felder at least since 2000. Heck, I even started this blog with a post on how the Felder test was run in one of my classes. Bit it was not until Miguel Valero pointed to him as the source for teaching techniques that I started to pay close attention to his work.

Luckily (and is an example for the rest of the scientific community) Prof. Felder keeps a very organized and exhaustive list of publications on his web page. I started to read some of his work and I must say that I now understand the expression drinking from a fire hose. His studies are, in my opinion, very well sustained in empirical evidence, which is so hard to obtain in the area of instructional technology.

But the thing that impressed me the most are what he calls his strong opinions. After reading some of his pieces in Random Thoughts, I came to the conclusion that I also have strong opinions similar to those ones. Most of them I keep to myself because I consider it would be rude to air them. Some other, I've made visible in some occasions and were not received with enthusiasm. The shift toward student centered learning is something long overdue. I cannot believe how teaching staff lives so comfortable in the state of minimum energy of grabbing the 5, 10, 15 year old slides and put students through a slow process of (as Felder would say) Death by Powerpoint.

This transition to the Bologna Declaration seems to try to achieve once and for all a change on this mentality which is clearly obsolete and is putting universities and students light years apart by the second. Yes, I think is good to have collaborative sessions, I know you are supposed to do that with the same staff, but it is still good for the students. Yes, you have to keep the attention of students in 90 min. sessions instead of the old 50+50mins. But, hey, it's simple, its YOUR JOB! And yes, you have to motivate the students, is it difficult? Yup. Is it becoming more and more challenging? Yup. Do you have to multiplex these problems with your particular take at Publish or Perish? Right again. But again, these are the rules of the game. All these problems are the basic premises to work with. And if you are not part of the solution..., you are part of the problem.

2008/05/20

Version control in a first year course. No news is good news

I've been teaching a first year course since its first edition, seven years ago. The main objective for students is to be able to write a somewhat complicated program with non-trivial data structures in the assembly language of the IA-32. Controversies aside (is it a suitable platform? suitable topic?), the course has a fairly common structure. A few theory sessions at the beginning of the course, and then a period where students have 1 lab in which they work for 7 days, teaching staff tries to grade it as soon as possible, and feedback is returned.

There used to be a time where this effort had an automatic translation into some percentage of the final grade, but due to some serious difficulties with plagiarism (which would be material for another post), the decision was made to not take into account these labs directly, but as a consequence, design the final exam clearly along the lines of the exercises presented in these sessions.

Trying to emphasize on the need for quick feedback for students, an automatic platform was deployed that tests all the received submissions and produces a small report. The application runs every 15 minutes and is available through the entire work week. The results are published in a publicly available web page where students are identified by a nick. The effect of this application has been fairly dramatic, although to be entirely honest, I cannot sustain such claim on empirical objective observations, but simply on my perception as the course coordinator.

One of the stumbling blocks we were hitting with this paradigm was the large turnaround time between a student having some serious doubts about a portion of the code, and the time help was given by any member of the technical staff during the week they were working in the assignment. Although teaching staff have fairly frequent office hours, the burden of setting up an appointment, discuss the exercise, get some suggestions, go back to the machine and implement the changes would usually amount to at least a day.

We saw students coming to our offices with no previous appointment, the printout of the program in their hands and expecting some quick advice on how to proceed. Version control turned out to be of great help for such situations. No more code going back and forth as email attachments. A question in the course forum has a name attached to it, from there you get the code, take a look at it, take your time, think about the answer, and finally post it on the forum. Nice.

Another interesting new situation popped up by chance when this new tool was coupled with a chat application. Students have access to a chat application (with a web based interface which simplifies its deployment and adoption). Teaching staff occasionally connect to the same chat. In several occasions, students were working on their assignments and was able to assist them as if I was sitting next to them. The version control system offered the code to both ends of the conversation, and the chat allowed us to talk about this line of code or that data definition (with precise line numbers).

In certain situations, the chat session morphed into a fairly effective debugging session. Not simply pointing students to the mistake, but guiding them to see more details about the location in the code where the anomaly is happening. Having such type of sessions, in a traditional learning environment, would require to schedule a lab, announce the session, prepare some material, etc. It would not be as effective as the type of right-here-right-now interaction you achieve combining chat and version control.

And finally, another interesting (and again informal) observation is the difference in expressions and conversation flow between a face to face in-class interaction, and a chat session. From what I could gathered, the media is natural for them. They quickly write fairly colloquial expressions. Things that you would never hear or see in a conventional classroom. I'm not talking about distasteful remarks, they are just simply highly colloquial expressions specifically used in this type of communication channels.

So, to conclude, despite thinking that version control was a sophisticated tool, simply because I got to use it when I was out of school, students use it with astounding normality. Just by chance, the adoption of this tool was paired with the presence of a chat room turning into a new set of scenarios fairly productive to solve questions, doubts, etc. I was expecting a fair amount of email questions at the begining of the course about how to use the version control program. Instead, I simply had "no news", which in this case, they were indeed "good news".

2008/01/15

LMSs are NOT the center of the universe

Learning Management Systems (LMSs) have evolved as to behave as typical all in one solutions. But such battle is bound to be lost sooner rather than later. In the recent years, LMSs have moved a few steps behind regular Internet culture. When the net had massive amounts of pages published, the LMSs were offering basic document publishing capabilities. Now, while the net is going toward social applications, personalized environments, collaboration, etc. LMSs are still a few steps behind and still offer fairly closed environments in which either you log in and perform all the tasks within the platform, or else...

But in my opinion, the emerging Internet culture is to take things from different locations and shape them in a personal environment in order to obtain a fully customized window to the net. In these scenarios, LMSs are fairly rigid. Almost no platform offers a service oriented approach such that the functionality of an LMS may be seamlessly integrated in a neutral personal environment. Widgets are new appearing as a first creature of this family, and although still in an "emerging" phase, they are clearly outlining the future for accessing services in the net.

Dai Griffith, Paul Sharples and their team have released a tool called Widget Server. They have interesting scenarios where widgets not only are used for learning experiences but integrated in the design of conventional Units of Learning. Kudos to the Bolton team.

2007/12/26

Agile Open Source Content Production. (Part II of III)

The extra step

From the analysis of plain HTML file production, we reached the conclusion that rather than having the author directly producing the final product, a better approach would be to use a simplified input paradigm and obtain the final material as the result of some generic transformation. This generic authoring paradigm is usually how most of the material in the net is produced. However, when it comes to producing learning content, there is this tendency to let the teaching staff take care of everything. That is, from conceiving the first ideas to producing the final product to reach the students.

My theory is that from observing the rest of contexts in which authoring is a key part, this approach of one person does everything is dangerously limited. The type of material that can be produced is extremely rigid, and therefore, the slightest change or increment in functionality is doomed. A more effective authoring paradigm for learning scenarios would be one based on processing paths. A simplified and highly specialized set of formats are provided as entry points. Examples: a template for regular course notes, another for submissions, something for tests, another template for group interaction, something equally simple for simulations, etc. From that pool of processes the author would pick whatever is most convenient and forget about the details of how such material is actually produced.

Of course, looking at how similar all teaching staff behaves, they'll ultimately want to control every single detail of the presentation, but that could be provided gradually through a more sophisticated interface conveniently hidden for regular users yet accessible for power users. This scheme is nothing really new. It's being used in multiple scenarios. The aspect that I think it can be greatly improved is the information exchange between authors and the "entity" that process such content.

In a recent experience, we set off to produce massive amounts of on-line material. The final product could not be considered as media rich material. Once the material was received by the production team, the final product was made available to students in the learning management system. The exchange between authors and the production team was massive, since each of the modules contained a fairly large number of images, figures, graphics, etc. Now, out of all the possible formats out there, old, new, good, bad, ugly, etc. the one chosen for the material to leave the author hands on to the production team was... yes. Microsoft Word.

So the question that I cannot take out of my mind is, why when facing such a complex creation and production cycle, requiring a significant effort on both parts, such a format was chosen? Authors were fine with the decision, after all, it's probably one of the platform they're most familiar with, but the production team seemed like they had no other better alternative to offer. Word is fine.

Why is word so fine for such a complicated process? What happens if the material really moves on to the "multimedia intensive" category? The answer still remains an unknown for me. Are we producing the best material given the circumstances? Or is our production process severely limited by the design cycle and the tools that were chosen? If I ever get the answer, I'll make sure it pops up in this blog. In the meantime, I have to go back to my "word authoring" (I'm one of the authors).

2007/11/14

Combining Personal Learning Environments and Insitututional LMSs

There is an interesting post in Scott Wilson's blog titled PLE and the institution that discusses how the conventional learning support tools deployed by institutions can be reconciled with emerging personal environments. The answer is called a personal learning environment or PLE and it seems destined to integrate with current platforms such as MySpace, Facebook and similar platforms.

In the web pages of the courses I teach, I get more and more the feeling that what really matters is not so much the content itself, but how to make the information available to the right tools. Let me give you a trivial example. There is a page that contains the detailed schedule of the course. I am pondering now the possibility of serving the properly formatted calendar data to facilitate programs in the student side to use it. If there is something that internet is putting to a limit is information efficiency. Why should I create a page with its header, footer, tables, etc. if the only information I want to convey is a simple schedule?

I agree with Scott's vision that learning management systems need to evolve toward service serving entities. Still, some minimalistic infrastructure needs to be put into place to jumpstart the exchange of relevant information among participants (forum RSS, blog URLs, etc.) but then serve all its content in a way that is friendly to any personal environment. After all, my students are paying attention to many other things, not only my course, and therefore, its presence in their personal virtual spaces should be according to its significance.

It is interesting though to see how we have platforms are going in opposite directions. Some LMSs are going to great distances to provide functionalities such as blogs, wikis, etc. with the irony that students already have such tools, and what is worse, with way more bells and whistles. The only advantage would derive from functionality that is simplified because of a tight integration with the LMS, but several services do not withstand this test. Email is a good example. Very few LMSs offer an email solution. The reason is because it is assumed that users already have their email needs properly solved, and therefore it is up to the platform to accept that fact and adapt to it (by keeping an email for each users to then send notifications).

LMSs should now be offering numerous widgets or RSS feeds. I actually see RSS feeds as a special case of a Widget. It is just that in a widget you control both the information exchange and the visualization capability at the destination. With an RSS, you only control the information exchange, and let some other program (the reader or aggregators) to do the visualization. LMSs have plenty of information suitable to be served through widgets. Think of assignments, tests, suggested reading, notes, etc.

The course page as such would almost disappear, perhaps a simple page publishing the required information to use the widgets, and the institutional application would interact with the users mostly through services.

2007/11/09

Agile Open Source Content Production (Part I of III)

Open Educational Resources seem to finally get some serious momentum. It might be because there are several initiatives (OpenContent, Creative Commons Education, Conexions Repository, MIT Open Courseware, etc.) all of them pushing in different directions such that the presence of this philosophy in the net is beginning to reach a wider audience.

So much, so wrong

Although the amount of what it could be called open content in a not too strict sense currently available in the net is significant, the same cannot be said for its organization, licensing, and distribution. I think part of the problem is reaching a level of maturity in the creation, distribution and most importantly licensing processes such that pushing a properly created open educational content in the net is trivial.

In this series of posts I'd like to focus solely on the content production phase using only open-source tools. . Educational content is constantly produced all around the globe. Reusing, though, is not so popular, and it seems like the gigantic effort deployed to formalize content reuse seems a clear case of useless over-engineering (see the post "David Wiley on Learning Objects" in this blog). A down-to-earth analysis of what is already happening at other contexts such pictures, videos or audio-clips is in needed to try to replicate such effectiveness in the context of learning material.

A Thousand Mile Walk

Let us start with the basics. Educational material can range from plain simple HTML documents to top-notch multimedia material. But at the basic level, creating a text, including some pictures, organizing the text with some structure such as sections, paragraphs, lists, enumerations and tables is the bread and butter of the initial stage at content production. It is at this level that we encounter already the first tough choice. Which is the right tool/methodology?

Let us assume you ask a set of authors to produce each one some not too advanced digital learning material for a degree you're planning to put together. What is the most probable tool these authors will use? In my experience, the least common denominator (and I would emphasize the word "least") is Microsoft Word (MSW). I find such editor suitable for certain tasks, but extremely unsuitable due to its unpredictable behavior derived from the multiple aspects of a document structure that are hidden (have you ever tried to perform "creative" changes on a table?).

If the goal is to facilitate content production and at the same time allow for easy reuse, the editor that I'm using right now for this post might be the answer. A WYSIWYG editor that produces simple HTML. Allows for basic enumeration, font effects, links, images and that's it. But using this editor already introduces one of the crucial factors: processing the source.

My take is that there is no way to scape from some level of "source processing". That is, hoping that an author produces content in a way that can be directly published in the right place is, in my opinion, an utopia. So, once we introduce this processing step, we might as well reflect on what would be the right format to produce code at a first level. But first, what exactly should be done in this processing step? I would include all issues related to framing, style, font selection, etc. This is nothing new, is simply adapting what is being considered now as the right approach to html page design (moving all style issues to style sheets) to content production.

I use for my content production a transformation from the source in Docbook to final HTML contained in XSL stylesheets. It is similar to the environment I just described, and what's more important:

  • You may edit the source files with any plain-text open-source editor. You find these for any platform.
  • There is a comprehensive set of stylesheets that transform the source into HTML. The structure of these stylesheets is highly modular, which means that you may use them out-of-the-box, or if some customization is required, only the relevant modules may be easily "extended" (that is, modified) and the rest remains untouched.
  • There is also an open source xslt processor (xsltproc) which can be used to execute this processing phase and obtain the final HTML.

Hello Reality!

Going back to the initial scenario, your set of authors would produce what it could be called a simplified HTML (Docbook can be seen as highly complex, but the basic elements are highly intuitive). A team of style experts would then design the proper stylesheets and process the source files to produce the final result. Although such scenario might be considered far fetched, there are advantages, the relevance of which is increasing with this tendency to open-sharable learning content:

  1. Simplification of the content creation phase for authors. This is very important because lowering the complexity of the production stage to the author would surely increase the material finally produced.
  2. Extremely flexible production stage. This is something that is seriously undermining the current production cycle. Introducing changes in an already produced material seems like climbing Mount Everest. I think the main reason is the lack of automation in the processing step. With the proposed scenario, this complication would be greatly reduced.
  3. Reusing content would be very easy. You would have two levels of pain. The first one is sharing directly the produced HTML, which is far from ideal, but is what is happening now at the level of Internet. But on a second level you may as well share the source files and stylesheets separately. The problem of adapting the material to your new environment would be in the right starting point, modify the processing step to suit your needs.

The moral of the story

So if the evolution of content production is toward a simplified user interface, plus a (more or less) complex processing stage, we may as well slightly orient them toward facilitating a more effective re-use of the results. Bite the bullet and use a simplified input platform for authors an a highly customizable and flexible processing stage.

2007/10/25

Self Visualization Cloud

I just found this many-eyes.com, a site that lets you visualize datasets in many different ways. I just tried it with the content of this blog up to this post and here is the result when showing 2 word values.

I think the result is quite impressive. The main topics in the blog appear there, learning objects, learning design, teaching staff, learning experience. The possibility of choosing between 1 and 2 word tag cloud is crucial. With one word grouping, only very generic things such as learning, student, teaching, time and so forth appear as relevant.

Several observations derived from this little experiment. I would be more than comfortable if the blog hosting application rates my blog automatically with an application similar to many-eyes and obtains the keywords automatically. Also, another advantage of this type of visualization is to have a second opinion on the topics you write about and also very important, on how do you write about them. Seeing expressions like "highly questionable" appear in the cloud seem to suggest a tendency to abuse them.

Another potential application of these type of tools is to automatically generate a summary for a given document. Think of the latest and greatest survey on <fill with your preferred topic> elaborated by the most prestigious institution you can think of. Is is worth plowing through it? May be the cloud gives you a very good initial answer.