17 September 2006


This semester I will organize the tutorials for the Algorithmic Problem Solving course at UCD. It is a first year course. Here is a problem that a student might see on an exam.

A set of tumbles are laid on a table, some of them with the right side up and some upside-down. You are only allowed to reverse two at a time. What conditions should the initial configuration satisfy so that it is possible to get them all with the right side up?

I would like to explore some possibilities for teaching such material. But before I delve into that I must say that I'm not familiar with UCD customs or with how this course was taught in the past. So if I commit some kind of sacrilege be sure it's because of my lack of information, not because I am the revolutionary type. I believe in slow but steady change.

So, what is a tutorial? Here is what I found in the Collaborative International Dictionary of English.

A class or short series of classes in which one or more instructors provide intensive instruction on some subject to a small group. Such short courses of instruction may be held at an institution of learning, or in any other place where a small group may desire a brief but thorough introduction to a topic.

The first problem: "is it better to have one or more tutors in class?"; and a related one: "what is the optimum number of people per class?". Where I studied there was almost invariably only one tutor (or "teaching assistant" as it is called by Americans) that worked with a group of about twenty students. Here, at UCD, I've heard of at least one course where the tutorial sessions have more than one tutor present. This is an important difference since going from one to many tutors makes it impossible to have a homogeneous session. If there is only one tutor he or she can give coherence to the whole session by having a schedule and acting at some points as a lecturer and at other points as a moderator for a discussion in which the whole class participates. This is the style of tutorials I am used to. On the contrary, if there are many tutors present then the session tends to favour individual work by each student (or by small teams of students). The tutors simply act as sources of information that wonder around the room.

As you can probably guess I am a big fan of the one-tutor per session scheme. What do you think about it?

The second problem is: "for how long should the students be allowed to drive the session?". One extreme is to just act as a lecturer: from the beginning to the end the tutor shows the students how problems are `supposed' to be solved and what is the necessary theoretical knowledge. A variation is to ask a student from time to time to come to the board and solve a problem. The other extreme is to throw a problem at the class and let them talk it dead until they solve it.

The middle road that I prefer is to start by presenting some theory, pose a problem, act as a moderator for a class discussion while they are trying to solve it, and then, once the solution is found, formalize it on the board. Would you prefer the balance to be different? Why?

The last point that concerns me is: "how much time should the tutor spend deviating from the focus of the course?". The political correct answer would probably be "as little as possible". But, since I get the opportunity to talk to first year students, I feel compelled to spend a little amount of time touching on high-level issues concerning our profession. I would like to talk to them about ACM, I would like to have them read Dijkstra's humble programmer essay, some essays about what prospective employers are looking for, and in general about what the role of the college is. That's just too much stuff, though, that would clutter the technical material; and that should be the fun part; except it isn't, at least for first year students. Another way of deviating is by doing more than the course tries to teach the students.

So, should a tutor deviate by talking about high-level issues or by really pushing the students towards their limits? Will that scare them away?


Alan Morkan said...

As a former UCD undergraduate who's had some varied experiences, here are my thoughts:

It is better to have one tutor. In French we had one tutor, while in Computer Science we had many tutors. With one tutor there is a path. The path is deviated from in discussion but generally the aim of the tutorial is achieved. I've found many-tutor sessions to be aimless. It often *forces* the student to ask the appropriate questions in order to learn rather than the tutor guiding the learning process.

I would agree with your view of student participation. Sometimes it's necessary to nudge them in the right direction if things are deviating too far off the subject matter (in a less technical tutorial) or from the solution (in a more technical tutorial).

I think deciding on a reasonable amount of time to deviate for higher-level issues is worthwhile - maybe 5-10 minutes per hour or something. Mentioning what the ACM is good for or what employers are looking for shouldn't be boring or scary for students. And even if you don't have the time, or don't want to clutter the technical material, you can always point students to extra information.

Andrei Enescu said...

I am also a teaching assistant in Romania and I give you my perspective, even though it may be a different environment... Ok, so here are my humble thoughts, as I try to be as pragmatic as possible:

1. Number of tutors

I definitely vote for one tutor only. You probably prepare the tutorial some days before and try to have some coherence, to try some approaches etc. It is very unfair from the students' point of view to have more tutors because I believe they might experience different "stories". Some may learn more thanothers or just different things. As to quote Radu, it is quite unhomogeneous.

2. Leading the tutorial

We deal with engineers or, at least, with some analytical minds which are capable to further develop an idea, to pose questions, to bound to the real life, to see further than the book itself. Therefore, after presenting some theory, I usually start asking questions. I do not leave the class, I am there and try to show them the correct path, hoping that at least I know it :))

3. Deviating from the main course

I think it has its benefits... Especially when dealing with freshmen. They tend to be disappointed after the first year because they do not see any link to what they were hoping to do before becoming students... since the courses are pretty general and not focused over a specific topic. It is nice to make connections to the real life or smthg like that so that they can see that this crap they learn in the first year is still useful. Obviously, the deviation should be maintained at a small degree and the stories should be told in a qualitative manner. You're trying to keep their interest alive not to teach them in advance.

Hope it is ok... :)))

Post a Comment

Note: (1) You need to have third-party cookies enabled in order to comment on Blogger. (2) Better to copy your comment before hitting publish/preview. Blogger sometimes eats comments on the first try, but the second works. Crazy Blogger.