00:00:13.679
Hello, welcome! I hope you're having a great time at RubyConf. I'm so happy that you tuned in for this talk.
00:00:30.160
My name is Stefanni Brasil, and I'm the co-founder of HexDevs, where I research, design, and develop programs to help you become an expert developer. I'm also a Ruby developer, and I love reading about cognitive science and modern neuroscience, specifically their applications in education.
00:01:00.399
Ever since I found out about perceptual learning in the book "Badass: Making Users Awesome" by Cathy Sierra, I became really curious to learn more about the science behind perceptual learning. I've been doing lots of research on this topic and its applications in education across various domains.
00:01:38.240
By the end of this talk, you will have learned what it means to be an expert, what perceptual learning is, how its techniques can accelerate expertise, and the perceptual learning techniques specifically for Ruby developers.
00:01:46.079
Perceptual learning emerged as a field of study in the 1960s, thanks to the work of psychologist Eleanor Gibson. Her research demonstrated that perceptual learning consists of improvements in information extraction as a result of practice. In fact, perceptual learning is a key component of learning and expertise.
00:02:14.480
For example, think back to when you were a child learning to identify what a dog is. You didn’t attend a class or lesson on what a dog is. Instead, you learned to classify dogs by observing many different dogs. When you encountered a new dog that was different from those you had seen before, you could still recognize it as a dog.
00:02:46.319
For the past two decades, perceptual learning has become a focal point in cognitive neuroscience, mainly due to its promising results in accelerating expertise.
00:03:05.120
At this point, you might be wondering what programming has to do with perceptual learning. Isn't programming a high-level cognitive task? Although programming might seem complex, recent studies suggest that perceptual learning is directly relevant to our understanding of more complex domains.
00:03:41.200
Even in high-level cognitive domains like mathematics learning, recent findings indicate that even short perceptual learning interventions can enhance the fluid use of structures. We’ve been discussing perceptual learning and expertise, but what is the relationship between the two?
00:04:15.599
Dr. Kerman is one of the lead researchers in this area. According to him, perceptual learning contributes to many, if not most, of the significant differences between experts and novices in any domain.
00:04:33.600
When we discuss expertise, it doesn’t take long before the case of chess players comes up. Chess experts are often thought to possess some mysterious talent because they cannot easily explain how they arrive at their decisions. If you ask them to verbalize their decision-making processes, they may struggle to provide detailed explanations.
00:05:24.480
Similarly, elite athletes are trained to rely on their instincts rather than conscious thought. For example, if you ask a tennis player to explain their decisions while playing, they may find that trying to articulate their actions disrupts their performance.
00:05:42.320
This demonstrates that the speed and accuracy of performance can indicate expertise in a specific domain. For instance, if you are a novice programmer working alongside a more experienced developer, you may struggle to understand their thought processes and often feel disappointed by their responses when you ask how they know what to do.
00:06:34.960
Experts often say, "Oh, I just know it; it comes with practice." But what does it mean to be an expert? Expertise can be defined as the rapid, automatic recognition of important patterns and relationships, including abstract ones, which characterize experts across many human domains.
00:07:22.320
Experts can quickly discern what is relevant and what is not, quickly recognize relationships invisible to novices, and extract information with minimal cognitive effort. Research demonstrates that novices struggle to differentiate relevant from irrelevant information, while experts can rapidly pick up critical insights about problems in their domain.
00:08:27.600
Have you ever felt overwhelmed when writing your first line of Ruby code? Remember how you had to figure out so many aspects at once, spending much more time than expected to resolve syntax issues and decode confusing error messages? If you find yourself in this challenging phase now, know that you are doing great! Embrace the discomfort; it is a natural part of learning a complex subject.
00:09:32.960
Dr. Ron Friedman mentions in his book "Decoding Greatness" that we grow best when we face challenges and even occasionally fail. Your brain does not perceive information the same way an expert does, even though both of you are presented with the same data. This means that when you feel lost or unsure, you just need to push through to that point where everything starts to click.
00:10:17.760
Take it easy, my friend. Not understanding programming in Ruby doesn't mean you lack the capability to become a developer. It could simply indicate that you haven't yet developed proficient pattern recognition skills—it's not a reflection of your potential. Remember that your brain is capable of much more than you think.
00:10:54.960
How can we develop these expert skills? We can achieve this by enhancing domain-specific techniques in information extraction. According to Kerman's research, when practice is approached correctly, the brain progressively optimizes its information extraction within any domain for improved task performance.
00:11:13.920
Perceptual learning yields effects that can be categorized into two main types: discovery, which includes identifying relevant information for a domain or classification, and fluency, which involves easier, quicker processes in extracting information or reducing cognitive load.
00:11:46.480
These skills can significantly lower the effort needed for tasks. Take, for example, a study focusing on perceptual learning in the context of fractions in algebra. Students participated in classes that did not just involve calculating solutions but focused on recognizing patterns and understanding structures within problems.
00:12:50.000
The results showed that the students who underwent perceptual learning training exhibited better performance than the control group, which only received traditional instructions. Notably, the improvements were retained even nine weeks after the training had been completed. This illustrates how well-structured perceptual learning can enhance understanding and application of abstract concepts.
00:14:33.440
Presenting both simple and complex examples can help students develop a broader understanding of how to address problems. The focus on identifying structural patterns instead of merely solving problems leads to a better grasp of concepts like fractions. Perceptual learning training can significantly augment traditional educational methods, highlighting that it is not a replacement but rather a beneficial supplement to classroom activities.
00:16:44.000
The brain is better understood as a pattern recognizer than a mere information container. I hope you find this perspective fascinating. I've only had time to share one practical example of perceptual learning training, and unfortunately, no research has yet been conducted specifically on programming.
00:17:28.800
However, there are important takeaways we can draw from studies across various fields. One key strategy is to practice deliberately. Begin by defining the topic you wish to master, and establish specific goals for your practice. Once you know what skill you are working on, engage in sets of deliberate practice to improve your ability to discern relevant information.
00:18:58.560
Exposure to a variety of quality examples, from simple to complex scenarios, will enhance your learning experience. Aim for a performance level of 95% reliability, which means producing consistent results in your practice. If you struggle to maintain this standard, break tasks down into smaller, manageable subtasks until you can successfully master them.
00:20:09.400
For example, in "Badass" by Cathy Sierra, consider mastering command line interaction with Ruby by creating simple programs that calculate and print values based on command line arguments. Start small and gradually increase your complexity; if it proves too challenging, simplify until you find an achievable target.
00:21:19.520
Make sure to focus on deliberate practice rather than just practicing for the sake of it. Quality practice involves exposure to diverse examples and contexts where you are implementing your skills. Take the time to master the basics thoroughly, as it will free up cognitive capacity for tackling advanced topics. But don’t rush; it’s cognitively challenging to master new concepts.
00:22:46.240
Embrace feelings of being stuck; they indicate areas where you have room for growth. When you encounter struggles, it usually signifies that you might be trying to rush through a topic. Ask yourself open-ended questions about what you may be missing, as this self-reflection will prompt your brain to pick up more on the subject matter.
00:23:52.640
Always keep sharpening your skills. Experts routinely identify areas where they can improve, regardless of how many years of experience they possess. To summarize the perceptual learning techniques applicable to programming, it is essential to find the right balance between introducing facts and concepts while enhancing pattern recognition and fluency.
00:24:53.760
This approach will likely yield considerable benefits not only in programming but also in mathematics and several other domains. I hope you're inspired to try applying these concepts in your learning journey.
00:26:22.400
In conclusion, we’ve learned that expertise is achievable for everyone. Expertise can be accelerated through deliberate practice in any domain, including programming.
00:26:49.920
I still have unanswered questions regarding how perceptual learning can be tailored for individuals with visual impairments. Additionally, I am excited to explore how perceptual learning might be applied in programming contexts in the future.
00:27:05.920
Congratulations on reaching the end of this talk! Don't be overwhelmed; take your time to process the information. Revisit this talk in a few days, and remember you know best how to leverage your cognitive resources.
00:27:42.960
Let me know what surprised you and what you're eager to experiment with in your learning journey. Thank you for watching, and a big thanks to my partner Thiago, the women community, and everyone for your continued support.
00:28:20.960
If you want to find the slides, resources, and a written version of this talk, you can visit hexdevs.com/rubyconf2021. See you next time!