How should I study using Anki?

8 posts / 0 new
Last post
#1 2 October, 2016 - 06:42
Joined: 5 months 1 week ago

How should I study using Anki?

I have decided to start using the Anki flash card program to help study. What is the best workflow for studying using Anki? How much should I read before I start converting information into Q&A pairs? Do I read the whole book, chapter, page, or sentence first?

Another concern I have is how much information am I suppose to convert into Q&A pairs. I have a tendency to want to convert everything, and I can't decide what is needed and what is not needed if I need to learn the subject well. I have looked at SuperMemo's article on 20 rules of formulating knowledge, but that doesn't give me enough information. This reminds me of the highlighting technique for studying; I would highlight the entire book. It doesn't work for me.

5 October, 2016 - 20:12
Joined: 1 year 11 months ago

If you post a specific example, we could help brainstorm ideas on how to extract the most important info.

9 October, 2016 - 14:37
Joined: 5 months 1 week ago

How would I remember how to write something like this?

The Janki method doesn't explain how to remember stuff like that. It only deals with small code blocks.

Forget it. There has to be an easier way to learn.

I don't know what to do with any of this. Studying is really difficult. It has been years and I have not made any progress. My goal is become much more knowledgeable, but I keep forgetting everything I learn. I have tried Anki, which is a pain to come up with Q&As, rote memorization, speed reading (no comprehension), and memory techniques which I am still working on.

9 October, 2016 - 17:50
Joined: 1 year 11 months ago

What parts are you finding difficult?

How well do you know object oriented programming in Python? If you are comfortable making and using classes, then there should be a way to memorize the concepts in the video rather than the syntax. If not, then I would recommend working through a few tutorials on OOP in Python, because then you will be able to glance at a few screenshots at various points of the video and quickly understand what he is doing.

If you have the OOP concepts down already, then try typing out the code and modifying it to see how the behavior changes -- for example, line #8 where it sets the drawing tool to 'line':

Lines #43-52 show other options. If you change line #8 to arc or text rather than line, then it should change the behavior of the program.

Another thing to do would be to read the file in the order that it executes commands to "run" it in your head:

  1. Start at the top at the imports.
  2. After line 2, skip pass the class, because that code isn't executing yet.
  3. Line 147 instantiates a Tk object.
  4. Line 149 instantiates your own PaintApp object, passing in your Tk object as a parameter.
  5. Then lines 8-17 will run, as well as the initializer on lines 140-145. Note that lines 143-145 are binding methods to button presses and releases as well as motion.
  6. Then, after the object is initialized, line #151 runs a loop to listen for events. (I'm guessing at some of this, because I don't know tkinter.)
  7. At this point, only lines 143-145 are doing anything -- they are waiting for one of three things to happen: 1) mouse motion will run the motion method on lines 56-59; 2) mouse left click down will run the left_but_down method on lines 21-26; 3) mouse left click up will run the left_but_up method on lines 30-52.

I think that reading through the code and tinkering with it like that would be more useful than memorizing the code.

Anki could be useful for quiz questions, like:

  • How do you write a initializer function for classes in Python? (back: example __init__ method)
  • What argument should be passed into all class methods? (back: self)
  • What does the bind method do in tkinter? (back: binds an event to a callback)
  • Etc.
9 October, 2016 - 18:08
Joined: 5 months 1 week ago

What if I want to remember something like this?

def fib(num):
   if num == 0:
      return 0
   elif num == 1:
      return 1
      result = fib(num - 1) + fib(num - 2)
      return result

If I apply cloze deletion, how many deletions do I need?

Do I need three, one for each if block? Do I need just one for the whole thing? How many lines should I need to delete? I need some rules, and Supermemo's article on formulating knowledge doesn't answer the questions. I understand about the minimum information principle, but how much is minimum information in these cases?

10 October, 2016 - 02:40
Joined: 1 year 11 months ago

You could try to write down the entire thing from memory. Whatever parts you still miss after a few attempts could be cloze deletions. I haven't used the cloze deletion feature much, so I'm not sure.

I would work through a set of recursion exercises and then memorize that snippet with just two facts:

  1. base case: 0 and 1
  2. recursive case: f(n-2) + f(n-1)

Then the front of the card could be: "write a recursive Fibonacci function in Python".
The back of the card could be that code snippet.

To test yourself, write it out on paper when you see the card, and then check your code against the back of the card.

(Just brainstorming -- maybe someone else will come along with other suggestions.)

10 October, 2016 - 15:27
Joined: 5 months 1 week ago

Thanks. I read in another thread that you are studying programming. What methods are you using to learn design patterns?

12 October, 2016 - 01:38
Joined: 1 year 11 months ago

I haven't learned them systematically, but pick them up while I'm coding. I think that I should go through them systematically one of these days though. I have a couple of books on JS design patterns and have read parts of them, but not the entire books yet.

If I were going to use a memory journey, I would probably make a list from the table of contents of the book, memorize it, and then fill in the images as I read the book. To make it sink in, I would write some original code that is based on the examples. Then I would try to explain each pattern to an imaginary student to see if I really understand the material.

Learn memory techniques for free! Just click the "Sign up" button below to create an account and we'll send you an email with some tips on how to get started.

Related content: