Explicit Learning and Self Studying Programming
<18 Nov 2015>
Intro on Explicit Instruction:
I used to be a Teacher and one of the things we practiced was something called Explicit Instruction.
It’s best summed up as: * I Do * We Do * You Do
And this illustrates the levels of learning and understanding, where it shifts from the teacher to the student.
- I do: The main thing here is
information and goals are specific and attainable ex: Student will be able to implement Feature Specs on App Mailer using ‘letter opener’ gem. nonex: Student will know rails
This first level is all about setting out to specify specifically what is to be learned.
- We do: Guided Practice
- The main thing here is that the student is given quick and relevant feedback.
- You do: Independent Action
- Goals are meet and student can successfully demonstrate understanding.
- I like to see if I know something by trying to teach it to someone else.
How Explicit Instruction can help increase learning rate
The part that helped me learn faster was to identify what level I was at and use that to find appropriate participation in learning a specific concept.
- Am I at level 1?
- Do I understand the basics?
- Do I have clear goals and resources?
- Am I at level 2?
- Do I need feedback?
- Am I finding guided practice and mentoring?
- Am I at level 3?
- Can I work on the information independently?
- Would I be able to teach this information to someone else?
Example: Learning through my bootcamp
In a coding specific example, I’m currently going through Tea Leaf Academy online bootcamp. They set out weekly goals and I was finding myself falling quickly behind. One week would take me a whole month of work, and I was finding that I was trying to implement the concepts before understanding what I was doing. Instead of acting independently, I could have worked through solutions and then learned what I needed to in shorter amount of time. After going through solutions and actually Learning the concepts, I could implement my own applications to show that I get what I’m doing. This was much faster than trying to do it on my own with out guided practice.
Example: Losing weight and Understanding
One example that sticks out in my head is losing weight for a New Years resolution. Many people “decide” to lose weight with out really understanding the complications and process of losing weight. What foods would be best for you to stick to your plan? Which diet would be most appropriate for your life style? Should you hire a nutritionist? Are there people who can help you attain your goal? Are there people who will hinder your progress?
These are are level one and two type of things to nail down that would help you move up the understanding levels where the final test is determined with one metric:
Are you losing weight?
So, people “Lose Weight” and try to work autonomously, before determining if they really know what they are doing.
I’m actually not saying that they need to get help from other people before they can lose weight, bc they just need to see if they are “able” to lose weight. As they fail or succeed in different ways, they can be analyzing their behavior and filling in the needed information from levels one and two.
In other words, if you don’t succeed, learn from your experiences and try again. Don’t get down on yourself for not automatically being in level three.
Anyway, I hope this information was helpful to you and you can access your learning situation more clearly. As you jump into new frameworks or languages, it may be beneficial to see what level you’re at before getting down on yourself. As you’re on your coding journey it helps to:
- map out what you’re learning goals are.
- get feedback and guidance
- give back to the community when you find success