Deprecated: Assigning the return value of new by reference is deprecated in /nfs/c03/h02/mnt/52932/domains/ on line 472

Deprecated: Assigning the return value of new by reference is deprecated in /nfs/c03/h02/mnt/52932/domains/ on line 487

Deprecated: Assigning the return value of new by reference is deprecated in /nfs/c03/h02/mnt/52932/domains/ on line 494

Deprecated: Assigning the return value of new by reference is deprecated in /nfs/c03/h02/mnt/52932/domains/ on line 530

Deprecated: Assigning the return value of new by reference is deprecated in /nfs/c03/h02/mnt/52932/domains/ on line 103

Deprecated: Assigning the return value of new by reference is deprecated in /nfs/c03/h02/mnt/52932/domains/ on line 21

Deprecated: Assigning the return value of new by reference is deprecated in /nfs/c03/h02/mnt/52932/domains/ on line 623 » JIT Learning

nerd nouveau

JIT Learning

With the end of the semester nearing, I spend quite a lot of time learning for exams. As usually when I’m burning a lot of time on an especially tedious taks, I’ve been thinking about the nature of it, specifically the different learning paradigms.

There are 4 different ways to structure a learning effort, each with its own distinct nature. The one that suits me best personally is what I term “JIT learning”, for just-in-time learning, but the question is: Is it applicable to learning for exams, too?

Here’s a short breakdown of the 4 different types:

  1. Anticipatory learning: Accumulate as much knowledge about a certain topic as possible. This is how we learn for exams.
  2. JIT learning: Learn a certain topic right before you need it. For example, reading a book on Objective-C before writing the first program in this language.
  3. Inverted learning: “Learning by doing”. Work on the task first and use it as a vehicle to gather the relevant knowledge.
  4. Leisure learning: Picking up knowledge without specifically aiming for it. Reading a book for fun.

Personally, I pick up most through learning type 4, i.e. by reading books in my spare time, attending presentations that sound interesting and similar, seemingly undirected efforts. For some reason (possibly the more relaxed nature of the process), my memory is working best in these situations. As an example, I can answer basically every question that I’ve seen on a quiz show before. Interestingly, most people can, but unfortunately, this method is hardly applicable when learning for exams or for our work practice, as the knowledge we’re after is rather specific and there’s additional pressure of actually needing to nail it down.

Consequently, we need to pick something from the other 3 types. For me, JIT learning works best: When I’m faced with a particular problem, say, the implementation of an algorithm to solve a concrete problem, I do quite a bit of research first to learn about algorithms that solve similar (classes of) problems and try to understand them. Having gathered a solid background, I continue to work on my own task at hand. This way, I save a lot of time over a “learning by doing” paradigm (which yields mixed results for me: Sometimes, I come up with the optimal solution quickly, but at other times, I find myself rewriting the same piece of code over and over to get better, more performant results). Similarly, anticipatory learning is way too time consuming to apply it to a concrete task: For example, you need not know everything about NP-hard problems to find a good heuristic for a particular one. It may be helpful, yes, but it’s certainly not necessary. A directed JIT learning approach leads you to adequate results much more quickly.

While this approach works great in the work practice, there’s actually just one type suitable for exams: Type 1, anticipatory learning. Actually, exams are all about being able to anticipate the questions so that you can be prepared for them. Thusly, it is advisable to accumulate all the relevant knowledge in order to be armed for every eventuality. Speculating which class of questions could be more likely to appear in the exam might be a viable shortcut from a perspective of efficiency (certainly not from an educational perspective, as this is counter-productive to the effort of turning oneself into a scientist), but for such speculation to be well-founded, a rather deep understanding of various factors is needed: What are the teacher’s personal interests, what’s the academic level of the rest of the class and how does it compare to the usual per-year exam results and various aspects of psychology.

So what does this article tell us? Well, for once, it argues that there are different learning paradigms, unrelated to the actual learning techniques. This yields us the possibility to understand the process better and choose the one paradigm that works best for us and the task at hand. Secondly, it shows that learning for a concrete task is inherently different from learning for an exam. While learning for the particular task is fueled by the need to solve a given problem, learning for an exam is about anticipation of the question space. Consequently, if we want to learn for an exam most efficiently, understanding the question space is a good first step. Rather than reading the relevant books and articles blindly, trying to memorize as much as possible, we can benefit from passively analyzing the text for potential questions and paying extra attention to them. This way, we get the most out of our time: A good overview of the given field, and an excellent preparation for the actual exam.


Hi, how are you? My name is Georg Kaindl, and I'm a twenty-something from Vienna, Austria. During the day, I'm a CS student at the Vienna University of Technology, but at night, I turn into an independent software developer for the Macintosh platform, social nerd, lazy entrepreneur and intuitive researcher.

I like to write about everything that matters to considerate technology enthusiasts, but humbly retain the right to go off-topic from time to time.

My posts are licensed under a Creative Commons Attribution 3.0 License.


You can reach me by email if you have something to say that's not related to a blog post or that you don't want to have publicly available as a comment to a post.

However, you'll have to prove that you are human! Even though I personally like robots very much, I'm less of fan of SPAM. It's just a simple riddle to solve, but a SPAM bot won't cut it!

To get my email address, take the word before the .com in my domain name first (Hint: The word you are looking for starts with a "g" and ends with an "l"). Next, simply attach to this word.

Boom, there's my email address. Simple, isn't it?

Powered by WordPress

Comments RSS

Entries RSS