Bachelor Thesis Log 4

You are reading an older blog post. Please be aware that the information contained in it may be technologically outdated. This text may not necessarily reflect my current opinions or capabilities.

This is an English translation of a blog post that was originally published in German.

August 10th, 2010

This week I'd like to make the first attempt at an updated teachlet definition. The end result of today's entry is intended to be the first attempt at an updated definition, which also means that I'm asking for your feedback (at least if you have teachlet experience or feel otherwise inclined).

But first, let's review the “historical” definition:

A teachlet is an interactive teaching unit in which an executable piece of software is to be extended by a clearly defined functionality in order to illustrate a design pattern or a programming language concept. A presenter uses a computer and a projector to motivate the initial system and the extension to be made, and then has the participants guide him or her in making the necessary changes to the source code.

From last week's results, we have the list of key aspects for teachlets (static) and teachlet units (dynamic).

Teachlet

Teachlet Unit

I'll just start by trying to update the previous definition sentence by sentence, keeping the terms in mind. On to the first sentence:

A teachlet is an interactive teaching unit in which an executable piece of software is to be extended by a clearly defined functionality in order to illustrate a design pattern or a programming language concept.

What is wrong with this sentence?

First of all, I would like to emphasize the interactivity more, since teachlets are indisputably highly interactive and that is one of the defining elements. If it just says “interactive,” that gives a lot of room for interpretation (some people might describe lectures as interactive if questions can be asked).

The term runnable software makes sense in this form.

Instead of extending functionality, I would like to see more flexibility for the task. While extending functionality is the normal case, it should not be mandated (a major refactoring, for example, would also be conceivable).

The phrase “a design pattern or programming language concept” is also quite restrictive and should be generalized with respect to other possible learning objectives (specific algorithms, refactorings, or the like).

My attempt at a new first sentence, which I split in two halves for stylistic reasons:

A teachlet is a highly interactive teaching unit in which an executable piece of software is modified to perform a specific task. This is chosen in such a way that a very specific learning goal can be achieved through it.

Moving on to the second sentence:

A presenter uses a computer and a projector to motivate the initial system and the extension to be made, and then has the participants guide him or her in making the necessary changes to the source code.

It is good that the moderator and the participants are mentioned here. Something that's less good is the restriction to computers and projectors, which (according to the consensus of the teachlet group) should be better generalized to a “shared view.” For example, teachlets where participants and presenter are not in the same physical space (e.g., teleconferencing, teachlets via the internet) would also be conceivable.

Mentioning the initial system is also useful. Instead of an extension, we should rather speak of a change in the above sense.

Finally it is to be discussed, to what extent teachlets should be restricted to the change of source code, since there are also e.g. visual programming and surely still other paradigms of the software development, in which the term of the source code is omitted in favor of other implementation mechanisms.

Let's see what we can make of it:

A moderator motivates the initial system as well as the change to be made in a view shared with the participants (for example on a projector) and then has the participants guide him or her to make the necessary changes to the software.

Time to take inventory. The following terms from the lists above have not yet been accommodated: solution space, implementation, architecture, target system, documentation; computer, standard procedure, record intermediate results, design discussion.

Two of them I would like to exclude with the following justification: computer because the existence of a computer is implied by the change of executable software, and standard procedure because this is what is to be represented by the definition as a whole.

To bring in a few of the remaining aspects, I'll try to formulate a few new sentences now:

For the solution of the task, a solution space with several possible variants with regard to the architecture should exist in order to enable a design discussion. The moderator has the task of guiding the discussion and recording intermediate results. After the joint implementation phase, the result is the modified software.

Then something is probably still needed for the contextual stuff:

The teachlet also includes documentation that is relevant for preparation, such as a detailed choreography or a finished target system.

I could not resist including the choreography if we already want to have the target system in it. Nevertheless, I still doubt whether this sentence should be included in the standard definition.

So here is draft 1 of the updated teachlet definition:

A teachlet is a highly interactive teaching unit in which an executable piece of software is modified to perform a specific task. This is chosen in such a way that a very specific learning goal can be achieved through it. A moderator motivates the initial system as well as the change to be made in a view shared with the participants (for example on a projector) and then has the participants guide him or her to make the necessary changes to the software. For the solution of the task, a solution space with several possible variants with regard to the architecture should exist in order to enable a design discussion. The moderator has the task of guiding the discussion and recording intermediate results. After the joint implementation phase, the result is the modified software. The teachlet also includes documentation that is relevant for preparation, such as a detailed choreography or a finished target system.

Phew, this turned out a bit longer than the old definition, but it also covers a lot more. I hope that the flow is more clearly highlighted.

I'll reiterate my request for feedback on this draft. Ideally, this definition should last at least as long as the previous one, so I'd like to identify potential problems now.

If some feedback comes in time, I'll incorporate it into the draft by next week. Otherwise, I'll give some thought to the semi-structured interviews then. See you!

Comments

You can leave a comment by replying to this Mastodon post from your own account on Mastodon, Firefish, Akkoma, or any other ActivityPub-capable social network that can exchange replies with Mastodon.