My notes from an online course that claims to 'teach powerful mental tools to help master tough  subjects'. My interest in this is actually pedagogical and cross  referencing the techniques with my own experiences and teaching style.

Chunking:

  • Chunk are bits of information connected together with meaning.
  • Chunk, neurologically speaking, is a collection of neurons that are used to firing together.
  • Focus, practice, and repetition is what is needed to form chunks. To gain expertise as you master the material the chunks can get bigger.
  • To start forming a chunk, you generally start by grasping a pattern. For learning music, listening to someone else play the song. With learning a language you listen to someone else speak. With a math problem, you review a problem with the steps and solution given. [With programming ? you watch someone else code with live stream? You read real production code written by other people?]
  • Examples of chunks forming when learning to play a song on the guitar or leaning to play soccer is the drills. Or certain fundamentals steps you repeat and practice so later you can join them together
  • To form chunks, you need to first focus your undivided attention on the information you're trying to chunk. The next is to understand - grasp a concept, see the connections, comprehend the essence of a problem, synthesize the gist.
  • "Understanding is like super glue that holds the underlying memory traces together"
  • Bottom-up learning is chunking. Top-down learning is the big picture. Context is where the two meet. [In teaching programming, what would this look like - start with the context, followed by painting the big picture, and then introducing chunks?]

Avoiding illusion of competence:

  • Recall (mental retrieval of key ideas) after reading some material is an effective way of learning. Much better than passive rereading of the material. And also better than making concept maps of the material (because you're still trying to make the connections). [This is what I used to do by looking away from the books/screen and at the ceiling or the tree outside my room in EH while studying]
  • Glancing at a solution and thinking 'oh yeah I know how they did that' is the most common illusion of competence. You haven't made the connections in your own nuerological circuity.
  • Highlighting and underlying use sparingly. All the hand motion can trick you into thinking that the information is going into your brain, but you haven't actually made the connections in your nueral pathways.
  • Taking notes or syntesizing key conepts and writing the gists in the margins is a very good idea.
  • "Just because you have desire to learn the material and are spending a lot of time with it doesn't mean you'll learn it." Testing yourself on the material is the best way to avoid this illusion of learning.
  • Mistakes are actually a good thing. Especially in your self testing. Mistakes allow you to make repairs in your thinking flaws [For teaching software, this is equivalent to bugs? Well not all bugs - some are interesting and learnable others can be simply a waste of time?]
  • [meta - this course is starting to focus a lot more on students in formal settings, studying to take tests, etc. Hm]

Learning and motivation:

  • Why is learning easy when you're interested/motivated and difficult otherwise?
  • Acetylcholine, Dopamine and Serotonin - nueromodulators related to motivation
  • Acetylcholine - during focused attention
  • Dopamine - in the brain stem below the basal ganglia. This is the reward system. It is also in the business of predicting future rewards so to allow you do do something that might be rewarding in the future.
  • Serotonin - effects your social life. Prozec for depression raises serotonin levels. Emotions also effect learning and now cognition and emotions are thought to be connected.

Library of chunks and mastery:

  • Mastering something includes gradually building bigger chunks. The bigger and well practiced your mental library, the easier you'll be able to solve problems.
  • Transfer - the idea that once you master one chunk it could be useful in graping other chunks. Concepts and techniques you learned for language learning can also be applied to learning a programming language, for example.
  • Week long reading period to read various things to allow ideas from each to interact with the each other, while still fresh and not forgotten (i.e. idea sex)
  • Sequential step-by-step approach and Holistic intuitive approach are two modes of problem solving. Most complex problems are solved with the more intuitive approach. [When I teach programming, this is related to solving the problem with just talking about the high-level algorithm before moving on the the step-by-step implementation]
  • Law of Serendipity = Luck favors the one who tries. Once you put one concept into your mental library, the 2nd and subsequent ones go in easier.
  • Deliberate practice - focusing on the more difficult things.
  • Einstellung - (german word that means mindset) an idea that you already have in your mind or a nuero pattern that you have developed and strengthen may prevent a better idea from being found. So you also have to unlearn erroneous ideas while learning as well. You can think of it has a roadblock that you have to first clear.
  • Interleaving - Skipping around and doing different problem sets, because learning how to use a technique is just one part, learning when to use it is also important. Interleaving builds flexibility and creativity where you leave the world of practice and repetition and think more independently.
  • "Most paradigm shifts in science are brought about by young people or people originally trained in a different discipline". This is because these people are not entreched in the 'old way' of thinking and are not blocked by Einstellung.

Scott Young Interview:

  • Compressed MIT CS curriculum in one year of independent learning
  • Traveled 4 countries in one year to learn 4 languages
  • For learning feel the tension of not knowing, not being sure how to solve a problem. Create or identify a gap in your understanding. And then learn the material or solution that fills that gap and you will remember it and learn it better. [Note to keep doing more of this in my teaching. And maybe explain upfront to students that they will feel discomfort and that is intentional]
  • Self-explanation - write down on a piece of paper as if teaching someone else. And when there is some friction or fuzziness go back and learn those parts as to be able to make the explanation exact and clear and detailed. [Exactly, exactly what I'm doing with the Developer's Dictionary project]
  • Vivid examples - For abstract subjects, come up with something concrete that can be used as a metaphor or analogy. Ex: what exactly is voltage? analogy of water flowing in pipes and current is like the water. But voltage is tricker. High voltage is like the pipes being physically higher (and something about potential energy)
  • Question about motivation and learning and the answer is interesting (and resonates) - once you put in the time you'll get good at something and once you're good you'll want to do it.[Learning, it's my thing I am good at it. Teaching, also same. Writing, I've been good at it, but needs more practice for it to become my thing]
  • Coursera is good but also EdX and MIT opencourseware for higher level more in-depth lecture [Yup, still recall doing a famous CS course 10+ years ago]

These are my notes from this Cousera course. If you're intrigued my these notes and decide to take this course, send me a message. I'd be curious to hear other's thoughts and observations!