Logic (the course) took a dramatic turn a week ago with the first lecture on predicate logic. Within three hours we heard all the basics, and then most of what is to say on equivalences, normal forms, Skolemisation, and all that, right up to the undecidability problem. Up to then logic had been mostly repetition of things we had already done in Math 101. Now we had an entire lecture crammed with tons and tons of new information. After an hour, most of us were no longer able to take in anything new–I know I wasn’t–and that would probably have been the moment to give us a break to let sink in what we heard so far, discuss it, do a few practice examples, etc. Instead, for two more hours new definitions, concepts, proofs, algorithms, etc. were piled on top of one another. The last hour we spent exchanging whispered remarks on the odd terminology–surely Skopuserweiterung (expanding the scope of a quantifier) and Skolemisierung (Skolemisation) sound more like medical terms than logical ones?–but it was mere desperation, gallows humor–we just couldn’t cope any more. Somebody remarked he now understood why the windows in the building don’t open–lest the participants of predicate logic lectures should throw themselves out on the street as a body. At the end, we had the head full of new words, but had probably none of us understood what predicate logic was about in the first place. Quite an example of how a lecture should not be.
We walked out of the class room with a feeling as if we had crashed into a concrete wall. Just three hours had flooded us with more new concepts, it seemed to me, than all the lectures we had heard so far in all the courses in both terms combined. And there is every indication of this continuing quite the same way. When I first looked at the next exercise sheet for logic, I had a moment of sheer incomprehension. Am I even studying this subject? For at first glance it might as well be rocket science, or Tibetan. And the next lecture a couple of days ago took just a brief moment to review the rush of new concepts from the first one, and then continued right into the higher realms of undecidability theory–Herbrand universes, the Löwenheim-Skolem theorem, the Gilmore algorithm, and so on. No idea what I’m talking about? Neither have I, really.
For a couple of weeks it seemed as if automata theory would get somewhat easier. Once we had internalized the obscure notation, one automaton looked much like another, give or take few details, and in the end they are more or less all equivalent anyway. But just when I had started to relax there was this one lecture a week ago that suddenly introduced a host of what our professor called “extensions”. There was a new automaton type on every other slide for about 90 minutes, and since nobody could seriously expect us to even keep track of all that information, let alone understand it, I quickly resigned myself to the rationalization that this was just an informative digression, a quick breather in the style of “there are all these other things, but you don’t need them, just so you have heard their names at least once”. Not so. The next exercise sheet had two problems (albeit easy ones) on Petri nets, those funny automatons that eat markers or create them out of thin air.
Meanwhile though machine-oriented programming took a serious turn for the worse, at least for me personally. Granted, from the start assembly language commands were a really cryptic subject, and the slides used by our professor were oddly disorganized and repetitive, so not a great help in studying. But for a while this didn’t bother me because somehow in the end programming is always fun, and with some trial and error I had no problem for instance implementing a working array sorting algorithm with these crude tools. My programming partner and I usually solve the exercise assignments well in advance of the practical course. Last time we had to connect our microprocessor to a power source and write a program to display the voltage as a bar of colored LEDs. That worked almost on the first try, and since anything that makes hardware and software interact is a kind of magic to me, I was fascinated.
No, the problem is not programming in assembly, but the small stuff, the arcane details. You see, the way our study program is organized, the actual grade for a course comes from the exam, but to be admitted to the exam, you have to attend and pass the practical course. Now in every other course so far, passing means having all your homework assignments accepted. Yet in machine-oriented programming passing is bound to getting a passing grade over the average of several tiny exams at the start of every practical course session. And these tiny exams don’t test any programming or problem-solving skills; they solely require you to be able to read or reproduce arcane assembly language details, like what is in this register, or that memory section, after this statement, and woe to you if you get the exact order of bytes wrong. The long and short of it is that in the mini test in the last practical course, I had a serious blackout staring at these obscure questions. I knew I knew all the answers, in principle, but looking at three nearly identical questions, save for one letter in the assembly command, and realizing I might as well throw a dice to decide which one would end up having the bytes backwards in memory, or backwards by half-words, or whatever, gave me the creeps in a bad way. Afterwards I was severely shaken for a few days. In my first term, there was never any question that all my anxiety was about the difference between an average to good and an excellent grade. Now for the first time I worried that I might fail in a course, and not even in the exam, but before it, and not for my inability to grasp the concepts, but over some arcane petty details.
Now I’ll readily grant that this is partially a personal problem. I have always been the big-picture guy. Rarely have I been interested in minor details of a problem, unless it borders on the linguistic (but then I really have trouble seeing assembly, as opposed to Ruby or Java, as a language). Usually I try to grasp the general idea of something new. My mind synthesizes quickly and takes away the conclusion rather than the actual details–those are for looking up when needed, or for trial and error. Furthermore, I am impatient and very sensitive to time pressure, which makes me sloppy when lacking the time to iron out my initial mistakes later. That tends to be a problem in exams in general, and a problem that will get worse as details start to matter more, and the time pressure increases. Last week we did mock exams (already!) in both math subjects (logic and automata theory), and while in principle I had no problem whatsoever solving any of the assignments, I made so many tiny mistakes that I arrived at several wrong solutions, and messed up one solution in each exam entirely just because I failed to read the question thoroughly. Time pressure has that effect on me; just get a solution quickly before I run out of time or have another blackout. And unlike our math professor last term, this one doesn’t seem to be sympathetic to our worries and inclined to give us more time. He has come to UAS from UHH only a couple of years ago and still thinks that UAS is being soft on its students with respect to the requirements in math. His claim is that at UHH they are covering more math in half the time. Since what we are doing is bordering on the insane, we can but conclude that he is mocking us, or his math his off, somewhere. Though, a math prof with his math off?
Looking back, the first term feels more and more like an idyllic vacation from real life. There was plenty of time, and hardly any worries. True, many people dropped out in that term, but mostly they were those that should never have been here in the first place: Those unsure about their choice of subject, or unsuited to it, or unwilling to study seriously. This term, it seems, is weeding out from among those who are willing and able those who can’t take the increased pressure. And I am no longer sure I am not one of them. A member of our study group has developed a serious case of math-phobia; he is getting depressed even looking at the homework, and resists our attempts to help him. He participates in our doing the assignments together, but when we attempt to just talk things through in order to help us understand them better, he declines and says he better study alone.
As for myself, after the blackout in the machine-oriented programming test I had a similar syndrom with respect to that course for a couple of weeks. In fact, right now I am hovering at the edge of a depression / psychosomatic disorder, whose symptoms are again distracting me from concentrating on my courses; a kind of vicious circle. I feel constantly overtaxed, desparately short on studying time (in spite of doing my 25 hours a week beyond course attendance), unable to prioritize, and often incapable of understanding things that seem crystal-clear to at least some of my co-students. Even more than last term I dread the exams, because right now I feel confident about no subject, and sure of passing just in the math courses, and there only because I spend about two-thirds of my studying time on these two courses out of five. And unlike last term we will be doing new things right up to the examination period. In the first term, all professors had reserved the last two to three weeks for repetition and exam preparation, and that on top of the Christmas holidays.
At the core, one of my problems is probably my own standards. Last term I was more relaxed not the least because I had no high expectations, and getting average to good grades felt good enough for me. But then the A+ in four courses (we still don’t have the grade for business administration, three months later!) spoiled me, and so did being in a group with the generally acknowledged genius of our semester group (my programming partner to boot) and one other outstanding mathematician. I don’t want to lose their respect, or fail to meet my own expectations. And if I don’t push myself hard enough, I just may. But then pushing myself very hard is also making my life miserable right now. I know I should relax a bit, but it’s hard to find a proper balance.
For many people sitting with me in the courses, particularly in math, the world seems much easier. From my observation, most of them have resigned themselves to letting the lecture pass by without understanding more than a tiny part of the presentation, and hoping that somehow, with luck and a few techniques acquired by rote learning, they will still pass the exam. That would depress me to no end. On the other hand, a handful of people generally grasp things more quickly and more easily than I do. I am stuck in between, trying to understand, but having serious problems doing so. Representative of that odd position was yesterday’s logic lecture. There was one aspect of the resolution algorithm I just couldn’t understand, so I asked the professor questions until I was at least close to figuring it out. Suddenly I had that awkward thought, wait a minute, am I holding up everyone else just because I’m dumb? So I meekly ended my current question with something like “unless I am the only one not getting it”. No, assured me a co-student from a back row: I was the only one even trying to get it! On the other hand, one of the smart set later told me she had understood it right away. So that’s the gap I find myself in: Trying to understand, but not quite getting it. How awkward.