A few days ago I said, basically, I was already as well prepared as I’ll probably ever be and any benefit from further studying could only be marginal. Seems I was wrong.

That same day I practised problems for the process mining exam with my practicum partner for several hours, and in fact the benefit was considerable. We spent an hour constructing an optimal decision tree for a data set with four predictor variables. That involves calculating the entropy for each branch of each possible choice of attribute on each level. Tedious, to be sure, particularly since calculating entropy involves doing the sum of the products of a rational number and its base 2 logarithm for each possible choice. And since most calculators (at least hers and mine) can do only natural and decadic logarithms, base 2 needs a change of base, so you actually calculate a fraction of logarithms for each of these sums. No mystery, to be sure, but a fertile source of errors (isn’t that what computers are for?). But be that as it may, after that hour we could both confidently say we had not only grasped this problem, but also had quite some practice solving it.

Later in the day we practiced finding out whether Petri nets are live or deadlocked, safe and sound, and so on and so on (they can be any number of such things, and it’s certain to come up in the exam). So far we had tried deciding this by just looking at them, shuffling tokens in our heads, but that, too, can get quickly out of hand and is decidedly error-prone. We now settled on the more tedious, but infinitely safer way of always constructing the reachability graph that lists all possible distributions of tokens. That has the added advantage of motivating how we reached our conclusion, which in turn might help the professor to give us partial points should we be wrong. Afterwards, we did the equally tedious (do you notice how often I say “tedious” when talking about process mining?) alpha algorithm, used for constructing a Petri net from an event log. We had both of us been confident we had mastered it, because we had done it so often in the practicum, but the first example derailed both of us by some tricky, yet quite common complexity I won’t try to explain. Suffice it to say we ended up rather confused. But then it was 5 p.m., we had been doing this since 9 a.m., and I was expected at home rather urgently.

I could have used another such day to gain more routine and regain confidence. Studying together is much more productive. Not only can you compare solutions and trade small tips and hints, it’s also much easier to stay focused and motivated.

Unfortunately my practicum partner was not available for the next two days. Yesterday she met with her own study group to prepare for the architecture exam, and today she is working. Which made me suddenly rather keenly aware of the fact that I no longer have a functional study group of my own, and haven’t had one for almost a year. Of the four that remained of us after the first two terms, my original programming partner thinks (usually correctly) he will get a good to very good grade without studying, maybe except on the last day before the actual exam, my present programming partner prefers to study alone at home, and the fourth in the group hardly ever studies at all and doesn’t care much for his grades. In comparison, my practicum partner’s study group is very active, very well organized, and sticks together like glue. I am quite envious of that to be honest.

So I ended up, quite involuntarily, studying on my own for the next couple of days. Yesterday I stayed at home, reviewing flash cards and re-reading books for the architecture exam until I felt like throwing up. And today I spent all day in one of the open study rooms at UAS, not quite alone, but with people I don’t know, mainly doing process mining problems yet again, often for the third time. And amazingly again some things became clearer to me. After five hours, however, I am now at the point where I really think I’m done with this for good. Fortunately it’s only half an hour until the final meeting of the seminar, the course which has actually been over for good for me ever since I delivered my presentation on functional programming in early October, but which absurdly I have still had to sit out right until the bitter end: this day, Friday, 4 to 6 p.m., the absolute final hours of the lecture period of our fifth term. The exams start on Monday morning.