You'll hear ask this often: Are you in you ZPD? Are you challenged by the task at hand just enough to be uncomfortable, challenged, stretched and learning something new with the proper supports? We firmly believe that deep learning happens in our ZPD. But, what is it exactly?
ZPD refers to our zone of proximal development (ZPD), a theory of learning that suggests we grow most when we take on activities that we couldn't manage on our own, but can accomplish with the help of someone more skilled than we are.
So, how do you know when you're in your ZPD? What does your ZPD feel like?
There are four rough categories of relative difficulty for any programming problem: the problem can be (1) so easy for you that it borders on tedium; or (2) within your competency level, so that you can do it without assistance; or (3) challenging and novel, and far enough outside of your current competency that you need some assistance to complete it; or (4) so difficult that it overwhelms you and leaves you disoriented and confused.
If you rank a task or goal on a scale of increasing difficulty as measured by how it feels to complete it, it would look something like this:
- Boring
- Easy
- Challenging
- Overwhelming
The 3rd zone—between easy and overwhelming—is your "Goldilocks" spot, your ZPD.
So how do you find it? If you are working on a goal or task, these are a few signs indicating the feeling of "being in your ZPD":
- You can't do it by yourself. You need support.
- It slightly indimidates you, but in an exciting way.
- It has your full attention.
- You're not totally sure that you can complete it in time.
Your ZPD can be a lot of fun, although you will often feel discomfort. Learning is a change process, and we are wired to feel unease with the new and unfamiliar.
To demonstrate the different levels of difficulty, let's use an example.
Pilar is 34 and rides her bike to her job as a hardware engineer. She's been riding a bike since she was a kid, and has done most small repairs at home. When her bike needs major repairs she takes it to a shop.
For Pilar, a goal of "ride your bike 100 meters without falling over" would be a boring task. She could do it while talking on her phone.
The goal "repair a flat tire" would be easy for her: she's done it before, and she wouldn't need anyone's help to complete it. She might need to read the instructions on the patch kit, but that is all the outside knowledge she'd need to complete the goal effectively.
A challenging task for Pilar would be one like "replace the brake system". She is familiar enough with how the brakes on a bike work, and she could probably get halfway done using her own tools and skills, but she's not confident that she could complete the goal on her own. She'd likely need a mechanic to guide her through the more complicated parts, and to give her feedback on her work so she can trust her brakes will function as needed.
If Pilar were given the goal of "build a racing bicycle", it would likely be overwhelming for her. There are whole branches of knowledge that she'd have to gain to complete this task (aerodynamics, structural engineering, etc.), and she wouldn't know where to start. With her current skillset, she wouldn't be able to make much progress at all on this goal.
When you are choosing what to work on, you should be considering whether or not the module or project will put you into your ZPD.
This is a form of prediction, and prediction is hard. Learning to pick activities that at the right level of challenge is a skill in itself, and one you'll have to practice over time.
To help you get started, and to scaffold your thinking about this, consider the following questions when choosing an activity or project:
- Have you completed a similar task before?
- (A) Yes
- (B) No
- How many objectives are within your range of skills, and how many are beyond?
- (A) 70-100% within, 0-30% beyond
- (B) 30-70% within, 30-70% beyond
- (C) 0-30% within, 70-100% beyond
- Which percentage of the terms and concepts are familiar to you?
- (A) 90-100%
- (B) 70-90%
- (C) 0-70%
- Do you feel confident that you could complete the task in the time allotted?
- (A) Yes
- (B) No
If you answered (A) for most of the above, then the activity is likely too easy. If you answered (B) for all questions, then this activity is likely to put you in your ZPD. If you answered (C) to any questions, the task might be too difficult for you at this point.