How to Learn Fast and Teach Effectively - Where Coding and Psychology Meet

Automatic Summary

Title: Learn Faster & Teach Effectively: A Software Developer's Guide

IAB Content Taxonomy Category: Technology & Computing > Computer Programming

Names: Hannah

Locations: Not mentioned

Companies: Github

Keywords/phrases/Hightlights: Software developer, judgment and decision making, psychology, learning to code, teaching code, focused mode, diffused mode, memory improvement, short term memory, long term memory, chunks, learning strategies, code teaching strategies, multi-tasking, syntax highlighting, learning motivation, problem-solving, retrieval methods,

Blog Tags: Software Development, Coding, Psychology, Learning Strategies, Teaching Strategies

----- Article -----

With the continuously evolving technology landscape, adaptability is key. Hannah, a software developer at Github, shares her insights on how to learn quickly and teach effectively in the world of coding.

Your brain is constructed of two focal modes that greatly influence learning: the focused and the diffused modes. Focused mode involves intense concentration on tasks, while diffused mode allows us to look at the bigger picture, enabling creative thought and problem-solving. Seizing the power of these two modes to enhance learning starts with regularly switching between them; giving your brain the chance to absorb and reflect upon the information it has received.

Memory plays a quintessential role here. Long believed to consist of seven slots, recent trends suggest our short-term memory might support only four. The question remains: how do we move information from our short-term to long-term memory? The answer lies in creating "chunks," defined as units of memory that the brain can easily process.

As your learning prowess grows, these chunks begin to hold more intricate concepts, which you can then connect, resulting in a deeper understanding. Creating these chunks involves focused attention, an understanding of the topic, repetition, and, importantly, practice. Various learning strategies exist, with recalling information from memory proving the most effective. Test yourself often, as this provides immediate feedback on your understanding and retention of the concept.

When applying these principles to learning and teaching code, starting with an overview helps to build a general understanding. Note-taking aids in consolidating information, while avoiding multitasking fosters an uninterrupted flow of thought. Make sure to revisit previously learned topics and challenge yourself with different and similar tasks to solidify your understanding.

One underrated technique to embed learning is to teach it. You can explain it to your peers, start a tech blog, or engage in light discussions on online platforms. Utilize your time before bed to review what you have learned. This is when our brain consolidates memories - a key to long-term retention of learned material. It is also a time for winding down, giving your brain the chance to operate in diffused mode and potentially solve harder problems that were seemingly unsolvable during focused mode.

Software developers benefit immensely from feedback, such as syntax highlighting in text editors, tests, and code reviews. Pair programming is another excellent source of feedback and knowledge exchange.

Maintaining motivation during this learning curve requires picking problems that appeal to your interests, engaging in active learning with a buddy, and setting a goal for your learning journey to keep you accountable.

To maintain the impetus of learning, employ retrieval as a quick learning strategy in idle times. The habit of making a switch between focused learning and relaxing, and proactive recaps will ensure continuous progress.

When teaching code, understanding your audience, and aligning your teachings with their goals is crucial. Keep the learning experience engaging and interactive with questions and exercises. Bring in relevant examples and visuals while summarizing routinely. Most importantly, provide an avenue for clearing doubts and receiving feedback.

Certainly, the road to mastering a new skill, such as coding, is challenging. Yet, with persistent effort, the right strategies, and a conducive learning environment, you'll find the process to be enjoyable and rewarding.

Having elaborated on her personal approach to learning and teaching code, Hannah welcomes everyone to connect with her on LinkedIn and Twitter, fostering an open conversation on enhancing learning outcomes in tech.


Video Transcription

Hello. So this is Hannah. Um I work as a software developer at github and I think I'll wait until people will come, right? OK. So I'd say let's start.Uh Today, I want to show you about how to learn fast and teach effectively as my formal background is in judgment and decision making, psychology. And then I switched my careers and uh learned to code and now I work as a developer. So we will talk about uh three topics. First, we will have a look at how our brain works, then we will learn how to learn to code and how to teach to code. Our brain has operates basically in two modes. Could you guess how, when, how can we call this mode? They're called focused and diffused. So what do you think belongs here? You're in the focus mode when you concentrate on the task, when you learn when you work hard? Um But then there's also the diffuse mode. What do you think belongs here? Those are the moments when you're trying, when you're looking at the big picture, when you're doing creative activities or when you're just doing some sport or you relax by reading a book or taking a walk. And why this is important? How can you make advantage of these two modes? The best thing is to switch between them.

So you alternate the focus mode when you work with a break where you stretch a bit, go for a short walk or just walk around the house, I take a short break and this all uh goes boils down to memory. So how can you um use those two modes to improve your memory? Do you know uh how much slots we have in a short term memory? You can guess and you can even type it in the chat. So before researchers believed that it's a seven nowadays, they they um incline rather to to number four. So we can operate with four slots. And the question is how do we get information from a short term memory to the long term memory? Let's talk about chunks and how we can create them. You can imagine chunks as a slot in your brain where you can put information with which you can work just right now it can be for example, number or image or names, simple things. But the more you learn, the more complicated concepts you can hold in one chunk and then you can connect this information from the chunk. So that's one of the points of learning and deepening the understanding of the concepts that the information you can hold in your brain at once with which you can operate, gets bigger and bigger. So how can you create the chunk? First? Of course, it's a focused attention.

So when you learn and when you consciously try to remember things, it's very good to first before you deep dive, get an overview and then make a map of what you're going to learn. Try to understand the ID and get the bigger picture and then repeat and get practice, Understanding the context is the first step. But making the know strong by its repetition, it's important part. Also by solving different problems and various problems, you make sure that you understand the concept fully. So let's make a short guessing game. And let's see what works. Here are six strategies which people often use. So you can type now for one. Do you think it's a good uh does it work or not? You can type in the chat? So rereading books and notes is of course a strategy to learn, but it's not the most efficient strategy because um you have the impression that you understand everything. But in the practice, when you close the book, then you can see um how much information did you retain. And that brings us to the second one. Yes, you can try in a che dose which you think are most most effective. Recalling things from memory is really good strategy to bring the knowledge to a long term memory. It may. So you just close the book, you close the notes and you try to remember as much as possible.

Then many testing is also a very good strategy because it gives you a direct feedback about what you really know and what you still need to learn and fill which holes you need to fill, underlining can help in a visual orientation. But it was not proven as the most effective learning strategy. Multitasking is probably not um surprising that it doesn't help you to learn well. And again, solving different problems, it's an important part of understanding uh the whole concept. So now when we know something more about how our brain works, let's have a look how to use that. When we learn to code before you start, it's great to make an overview and you can check the titles, the chapters, you can check the pictures and graphs or code snippets which are in the book or in the article afterwards. It's really great if you can write notes, even if you don't read them or don't use them anymore. Just a simple action of writing down and summarizing what you understand and how you understand it or just writing down the questions which are relevant to you, helps you to retain the information as we are already uh mentioned, not multitasking helps a lot.

So even if you can um put in your calendar um slot of 20 minutes, it's better to learn for 20 minutes and then take a real break and do something else. Remember switching from the focus to the diffuse mode, then try to juggle many things like emails and calls and learning to code and doing some other other tasks. Take your time to understand the concept. So you don't have to understand everything from the beginning. Just have a look at this chapter at the material you're learning and then deep diver, make some exercises, use it and then go back because the second or third time when you're reviewing uh the material, you will understand it better and more also work on the similar tasks before you move to a new concept or to a new chapter to a new part and go back to it regularly.

It shouldn't be always the same tasks because then you don't really learn. Um but they should be similar enough. Um When you move on, it's good to always come back to recall the new and also old concepts and you can use the flashcards. There are many apps which are also for free, which you can use for this purpose. Another great strategy how to really learn and understand something is to teach it or explain it to someone else. You can make a course, but you can also just explain it to your friends, to your parents or kids or to your dog. Um and you can write a blog. So find a way how you try to explain to someone what you just learned about. And lastly, you can make use of the time before going to bed, you can review what you learned and also make plan for what you want to learn the next day because our brain works also in the night, it consolidates memories, processes the informations. And uh that's how you can make use of this time. When we talked about the diffused and focused mode. The importance of the diffused mode is that sometimes when you are stuck on a hard problem, it can happen that you just need a break. And during that break, when you go to sleep, when you run, when you're doing something else, your brain still works on this unfinished task. And this is where the aha moments come from. And now how can we get the feedback when we coat?

There are four main sources of feedback. The first is text editor, right? Nowadays, with the syntax highlighting, you can see right away that something is off. The second part is of course the test with when you run your pipeline or real test, then you see. OK. Did you break something? And then you came back to it. Another great source of feedback are code reviews from someone else from your team colleagues because they bring different points of view and then can pinpoint um questions or problems which you didn't see. And code review is also a conversation. Uh What I like to do is before I put the pr to review to my colleagues, I went through the pr by myself and sometimes I comment on uh specific pieces of code and explain to the people why I did this choice or um if there are any information which I want them to have when they will review my pr and last grade research is pair programming.

So if you can have a regular um sessions where you write programs with someone else, when you pair program, you learn a lot from them and they often learn a lot from you. Now, no one really likes to make boring things, right? So if you manage to make your learning motivating and relevant to you, the chances that you will succeed and that you will spend enough time on it are higher. One way to do this is to find various tasks and problem which you care about. Are you building a website for yourself or for your friend? Do you have a problem you really want to solve? Will the app you're building, make your life easier or will it make uh lives of other people easier then get a learning buddy with the other person. You can discuss your questions, you can just tell them what you're doing. It always feels better when there's more of you and lastly be accountable, tell the world what you are going to do, tell your friends or your family or just on a Twitter and find a person who will check on you regularly. Just knowing this motivates you a lot. So, takeaways about learning. First thing is the retrieval, it's the best method to learn fast and you can do it any time when you're riding in a tram or driving a car.

When you're waiting in a shopping line, when you just walk around, you can remember uh the most important concepts you learned and you can just try to recall everything, especially you should check um if you were right. So that's the immediate feedback, you know. So if you do the flash cards, you can write your own questions and then you see, oh, do I remember that correctly or not? Also switch often between focused learning and relaxing. So focused and diffuse mode and lastly recap often and use space repetition. So the longer, the more time passes from the time you learn something at the beginning, you repeat it more often and as the time passes, it's enough to repeat it less often. And now how can you teach the code first things first, know your audience and know the goals? What are your goals and how uh people will demonstrate their new skills or knowledge? What should they know after your training, explain them how this is relevant to their goals, what they are wanting to achieve, try to making engaging and fun with the questions and exercises and always prefer workshop to just presentation if it's possible. So try to um make it clear how that helps them to achieve their goal and give your audience an overview, a blank map which they can fill as they proceeded through your lesson or course.

Try to use interesting examples, stories, surprise and visual hints, make summaries at the end of the parts of your teachings and ask questions often. And it's great if you can give them the possibility to get the feedback on their knowledge so that they can test what they really know and what gaps they need to fill. And that's all uh for, for me today, I also want to give a big shout out to Elena, which is my colleague and she prepared the drawings for this presentation and I would love to uh connect with you so you can find me on the Linkin or Twitter. And um I would also want to ask you one question. It would be great if you can answer in a chat. And that would be what would be the one thing you would try today from what you learned just now. And with that, the Q and A is open, you can um type your questions in the chat and I'm happy to answer them uh or if you can unmute yourself, you can also um tell them in person. OK. So someone rides relax more. That's a really good uh strategy. OK? If I have tiffs for any people with H DH D that have a hard time concentrating um as I mentioned, the focus time is, is really important and it doesn't matter.

So I think if you have troubles to concentrate, you can opt to use shorter times when you focus and then having more breaks, right? So when you feel like you do have troubles concentrating, you can just take a break, leave it and come back to it later. OK. Do you have any more things which you can try or any more questions? So there's another question, what do you think about the promo technique? Concentrating for 30 minutes then break for 15 minutes? Is it good to switch between the modes? Yeah. So, Commodore technique, it's one famous technique how to space your learnings. Um I think it's good if it works for you. So um there are different, you can opt in for different time frames. You can decide if you want 20 minutes, 25 30 minutes. So it's good to experiment a bit at the beginning. What works for you? Uh So how long the concentrating time should be? And then the break should be. But uh yes, the Pomoda technique also helps you to overcome the initial reluctance. You know, if you find yourself procrastinating, doing this and that but not starting with the learning. Having um this dedicated 20 or 30 minutes can help with that as well as um putting it in your calendar, you know, like deciding, OK, I want to have these slots when I learn a specific thing and that removes this decision like when you need to decide.

Ok, now I should learn or should I just watch some Netflix or should I do a laundry or should I go shopping? Um Yeah, so planning ahead um helps a lot with that. So we have one more minute. So yeah, thank you very much for all your talks and inputs and also your activity in the chat. It was lovely to talking with you. And even later, if you would have questions, don't hesitate to uh message me or just to connect. And I wish you a lot of fun uh with the other talks and I hope you can profit from this whole conference. Thank you.