Even after plenty of beer at the pub following the last exam a week ago it took me a couple of days to unwind completely. I slept a lot and tried to occupy myself with things unrelated to computers (or preferably, with nothing at all), but in my mind I was still constantly turning over exam questions and my supposedly unsufficient answers to them. Worse, for a while my subconscious didn’t really realize the exams were over yet. I continued to memorize information and solutions to problems that were no longer relevant. All the time, whenever I had nothing urgent to do, I felt the instinctive urge to pick up a book and study, or solve math problems, even though I had deliberately packed away all the books and materials that had been scattered all over the house so they were always within reach. In short, after about a month in which I had used every free minute to cram something into my brain, it refused to accept without a fight that it was over.

After two days I became bored of keeping my distance from computers and everything related to my studies. I picked up a popular scientific book on math (Fermat’s Last Theorem, by Simon Singh, recommended by our math professor a while ago) and started reading, without either that nasty feeling that I should still be studying math or that equally uncomfortable realisation that I had messed up the exam. In fact, suddenly it seemed all very far away. I almost couldn’t credit that I had written the dreaded math exam less than four days earlier; it felt more like four weeks. That evening I installed Netbeans on my desktop computer (apparently after having been encouraged to write Ruby on Eclipse–the IDE least adapted to Ruby, as far as I can say–so we could have an easier transition to Java in the second term, we will now be writing Java on Netbeans, but that’s a different story) and hesitantly accepted that not only would I continue to study CS, but a world without programming computers was inherently boring.

After that realisation, however, came disorientation. You see, for almost five months there had always been a rather rigid schedule of courses and of things we had to do in preparation for the courses. Sure, in the first few weeks of the term, when math was still simple, and Ruby programming even more so, there had occasionally been time to dabble in some extracurricular things, like learning how to use Git, or even learn the basics of Lua, just because our professor had mentioned it as the fastest interpreted language in the context of implementing a particularly nasty algorithm. (Which apparently is true: in calculating the seventh “perfect number” (a number that is the sum of all its proper divisors), Lua proved about three times faster than Ruby and twelve times faster than Javascript, in fact almost as fast as Java.) But since well before Christmas, most of what we did had been a direct preperation either for a course or for the exams.

Now suddenly I had to decide what to do with the five weeks ahead of me. Some things came to mind, none of which however of any pressing urgency. I could, as I had always planned for the vacations, refresh and expand my Java. Or I could study Prolog, of which it appears we will be seeing a lot more in the coming terms. Or maybe I should rather, at least in the first few weeks, relax, get well (that nasty sinusitis is still with me, somehow), do stuff around the house, and generally get some distance from things? After all, we are being told the second term is going to be a lot more intense than the first.

I kept away from computers over the weekend, then on Monday decided to start studying a book I had acquired a while ago, Java 8 in Action, by Raoul-Gabriel Urma et al. It’s about lambdas, streams, and functional programming in Java, so pretty exciting stuff, seeing how I had been fascinated with JavaScript in the summer and had always found the masses of boilerplate code writing Java in the classic style requires somewhat bothersome. Very well written too, highly recommended. Actually I passed a couple of nice days on the sofa with that book, leisurely trying some things on the computer every once in a while, and intermittently doing things around the house so it wouldn’t turn into actual work. At one point I took some code for a Java FX GUI I had written a couple of months ago and started refactoring it using lambdas! It was well suited for that as it used a lot of functional interfaces.

I can just see myself continuing this way for a couple of weeks more. I still have my heavy copy of Thinking in Java by Bruce Eckels lying around and sulking because I never really warmed to it. For my liking it’s just too obsessed with fathoming every last detail of variable initialisation, inheritance, inner classes and such in endless pages of meaningless sample code, but it may be just the thing for revisiting some of the basics I either have forgotten or never really knew about Java, such as the many different kinds of collections. (In Ruby, all you ever need are arrays and hashes, maybe the occasional set.) I also have a really decent (if insanely expensive) book on Prolog, Prolog Programming for Articifial Intelligence by Ivan Bratko, which might do well for a week of study.

Then of course there is a chance that I may never really get the time to immerse myself in book-studying, academic style. My programming partner, who is much more hands-on, is already chafing at the bit, suggesting that the closed season is soon going to be over and we should get started with a new project. There has been talk of us doing a bigger cooperative project, such as a game, to teach our co-students some Java, as our programming professor, incredibly, is going to be in China for the first couple of months in the summer term, so for that period we will be left to our own devices. (He intends to cram all the hours we will miss into the second part of the term, practical courses included, now that will be fun.) I had however expected, or at least hoped, we would not start with that project until the term recommences. I may have to fight for my book-reading weeks …


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s