June 23, 2017

Learning to code and language learning parallels

Recently I started to learn how to use the programing language Python. Language learning and learning how to program are two different things but are connected in many ways - not the least in that you need to ‘learn’ both.

Key takeaways from learning how to start using the programing language Python that can be used in learning how to start using a real language too (absolute beginner level):


  • Learn from top to bottom. (Start with the general idea, don’t get lost in small details)
  • Learn in small chunks
  • First see/hear the chunk, then read about it. (First see the small chunk in use, then read about the theory/listen to the explanation related to it. )
  • Learn by looking at someone who already knows the things/concepts you need to learn = work with a teacher
  • It's very frustrating and takes forever to work yourself through whatever course/tutorial/manual you can find to get to what you actually need. A teacher sitting next to you is absolutely crucial for lightning speed progress
  • Analyze how your teacher uses the concepts you need to learn until you realize what's going on = reach an aha! moment
  • Practice your small Aha! moment chunks until they become automatic
  • Review so you: 1. don’t forget 2. store the chunks deeper and deeper into your automatic memory
  • Move on to another chunk and repeat the above
  • Build on aha! chunks: combine, substitute, and then repeat the automation process
  • Only learn chunks that are absolutely necessary (or are an integral part of what you need)
  • Learn by looking at practical examples
  • Copy something someone already did and adjust it to your needs.
  • Your time is precious: only look for explanations or work with teachers who know what you’re trying to learn. Look for explanations that are short and effective and explained by someone who has invested their time in making sure the student understands what the teacher is saying and is making real progress. Avoid explanations and teachers who only lump everything they know onto the student, having the student deal with the whole lump on their own
  • Rant: Stay far away from teachers whose main concern is to manifest their ego by showing you how intelligent they are and not to make sure you actually make real progress :)
  • To teachers:
  • Explain only that what is necessary - do not deviate away from the explanation, don’t explain alternatives, exceptions, other possible functions, the history of this or that thing.. only if absolutely necessary
  • Every time you can, explain using things the student can relate to (use metaphors, known concepts, real life examples etc.)
  • Use as little unknown concepts and unknown or difficult words in your explanation as you can
  • Show instead of explain
  • When explaining something, don’t talk about all possible ways of doing/saying this or that particular thing. Don’t even say there is another possibility of doing so. It will only confuse/add options which a beginner will find overwhelming. Talk only about your one most preferred way or the way most people prefer.

2 comments:

  1. Why are you learning Python? New project? Switching to a new career? :P

    ReplyDelete
    Replies
    1. :)

      I wanted to learn it for a long time. I have some time now and needed to have something programmed anyway, so I gave it a shot:)

      Delete