diff --git a/_learning_hours/small_steps/deliberate_practice.md b/_learning_hours/small_steps/deliberate_practice.md new file mode 100644 index 0000000..ad7ddc1 --- /dev/null +++ b/_learning_hours/small_steps/deliberate_practice.md @@ -0,0 +1,57 @@ +--- +theme: small_steps +title: Deliberate Practice +name: deliberate_practice +kata: fizz_buzz +difficulty: 1 +author: virtualmackem +--- + +# Deliberate Practice + +It's easy to get caught up in the solution to the problem when practising a coding kata. This can mean that you're hurrying to the end, or that you waste time arguing about aspects of the kata that aren't relevant to this practice, or even that you take shortcuts (e.g. "Lets skip that test, it'll take ages and we're nearly done"). It's also possible to find people who find it difficult to engage in practice because they don't see the value in it. + +This learning hour focuses minds on the why of doing practice before actually doing a simple TDD practice. + +## Learning Objectives + +* Why we practise +* The difference between learning knowledge and practising skills + +## Session Outline + +* 10 min connect: The results of practise +* 5 min concept: Design in TDD - in the red step +* 40 min do: FizzBuzz or something else +* 5 min reflect: How did we do? + +### Connect - The results of practise + +Watch some of this [video of an elite climber](https://www.youtube.com/watch?v=dEzTMwXfVro). + +* Which parts of what she's doing does she have to think about and which are automatic? +* How hard is she working? +* Does she look hurried? +* How do you think she learned to climb like this? + +### Concept: The what and the why of deliberate practice +Deliberate practice is not the same as real work. When we're practising, we're not trying to get the job done, we're trying to learn. We usually select a simpler problem to learn with. We might be repeating a problem we've done before. Sometimes we know exactly what we're trying to learn, like how to refactor a database with data in it, but sometimes we're just writing code, trying stuff out, exercising the muscles. + +There are two parts to our learning: knowledge we acquire and skills we practise. It's possible to know we need to triangulate when we're unsure how to make a test pass, but at the same time not be very good at it for lack of practice. + +### Do: Coding Practice +Spend 40 mins doing a coding kata. Perhaps you have something in mind to practise? If you do, write that down as your focus. + +While you're working on the kata, take your time and try to stay with the focus you've written down. If you find this difficult, maybe you could make a note to check in with everyone every time you rotate? + +If you don't know what to practise, work through the [FizzBuzz kata](/kata_descriptions/fizzbuzz.html) using this focus: "which parts of red-green-refactor could be easier and faster for us with practice?" + +### Reflect: how did we do? +Questions everyone might ask: +* How easy was it to keep focusing on the learning and not just on the problem? +* What can we do next time to help keep us focused on the right thing? + +If you did the FizzBuzz kata, focusing on red-green-refactor: +* Can you identify something you could practise to make it more automatic? +* Can you identify something that should always be done thoughtfully? +