|
| 1 | +Great! When you commented, you triggered something called a webhook that I heard, and now I'm here! You may be wondering if I checked to see if what you wrote was a _real_ topic. We'll talk about that kind of logic later - both how to use it, and when to use it. (Spoiler - for this step, I didn't check! I am pretty smart, but not smart enough to tell if you typed a good idea or not.) |
| 2 | + |
| 3 | +### Breaking goals into smaller steps |
| 4 | + |
| 5 | +Now that you know what you want to teach, the next thing to do is break it down into steps. This can be tricky - put on a teacher hat and an engineer hat at the same time. |
| 6 | + |
| 7 | +To break down the thing you want to teach, think about the observable behaviors. They should show that the user is doing it right. If you were watching this person, how would you know they've mastered the thing? Some examples are: |
| 8 | + |
| 9 | +- Close an issue |
| 10 | +- Write a functional SQL query |
| 11 | +- Merge a pull request |
| 12 | +- Change code so a particular test passes |
| 13 | + |
| 14 | +### How many goals? |
| 15 | + |
| 16 | +The right number of "goals" may be different for different courses. But, our courses usually have between 7 and 20. For example, in the Communicating Using Markdown course, the steps (or goals) are: |
| 17 | + |
| 18 | +- Create a task list |
| 19 | +- Turn on GitHub Pages |
| 20 | +- Add headers |
| 21 | +- Merge your headers |
| 22 | +- Add an image |
| 23 | +- Add a profile link |
| 24 | +- Merge your image and profile link |
| 25 | +- Add a list |
| 26 | +- Use emphasis |
| 27 | +- Merge lists and emphasis |
| 28 | + |
| 29 | +### What NOT to do |
| 30 | + |
| 31 | +It is _not_ a good idea to have huge or ambiguous steps. |
| 32 | + |
| 33 | +Put yourself in the shoes of a beginner. If you're asked to do something too big that you don't understand, it can be frustrating. Asking the learner to do something poorly defined creates confusion and misunderstandings. This can make the learner give up! |
| 34 | + |
| 35 | +> Imagine you're taking a course on SQL as a beginner. If one of the steps is to write a full query, you might not know where to start. You may try your best, but still be confused about what isn't working. Or, if you can get it right from copying and pasting, you wouldn't understand it well enough to do it on your own. Stick to smaller steps, and include prerequisites at the beginning of the course. |
| 36 | +
|
| 37 | +## Step 2: Break your course into smaller steps |
| 38 | + |
| 39 | +In the file in this pull request, write the steps as observable behaviors. It's OK if there are a lot. It's better to break it down into small steps. Then, you may realize the scope of the course is wrong. That is better than having huge or unmanageable steps. |
| 40 | + |
| 41 | +> What's `#` in YAML? Any lines starting with `#` in the `config.yml` file are _comments_. We will use these for planning and documentation. |
| 42 | +
|
| 43 | +### :keyboard: Activity: Break down what you'd like to teach into smaller learning objectives |
| 44 | + |
| 45 | +1. [Edit the `config.yml` document]({{ url }}). Break down the larger goal into smaller steps and add them to the commented descriptions on lines 26, 35, 40, 47, and 54. |
| 46 | +2. In each step, notice the fields for `title` and `description`. These will be shown to the learner on Learning Lab. Write the titles and descriptions of each of your steps. |
| 47 | + - _You only need to worry about the title and description now. We'll fill in the rest later!_ |
| 48 | +3. Commit your changes. |
| 49 | +4. Navigate _back_ to this pull request. |
| 50 | + |
| 51 | +<hr> |
| 52 | +<h3 align="center">I'll respond in this pull request when I detect a commit on this branch.</h3> |
0 commit comments