christianherweg0807 / lab-starter

https://lab.github.com/githubtraining/write-a-learning-lab-course
MIT License
0 stars 0 forks source link

Choose a topic for your course #1

Closed github-learning-lab[bot] closed 3 years ago

github-learning-lab[bot] commented 3 years ago

Welcome!

This course will walk you through creating your own Learning Lab course. If you've ever wanted to create a learning resource using Learning Lab, then you're in the right place! Together, we'll go through:

Prerequisites

Choosing a topic

The first thing we're going to do is talk about and choose a topic.

You may already have something in mind for your first course. In this course, you can actually start writing that idea and making it reality! If you're just curious about how to write a course or don't have an idea (yet), try Markdown as a topic.

Here are some things to think about as you select your topic:

Things that work with GitHub

Does it happen on GitHub anyway? Learning Lab is best when it's working with something that it can interact with naturally. Things like painting would be difficult! Commits or interactions with GitHub are the perfect fit.

Scope and size

What's the scope or size? For example, JavaScript makes a lot of sense to teach on Learning Lab because code happens on GitHub. But, it's a really big topic. It may be a good idea to segment your topic into smaller parts. Remember, users can take a series of Labs. If you aren't sure what the right size is, that's OK - that should become more clear as we go on.

Step 1: Choose a topic for your course

Whether you choose your own topic or one of ours, you'll stick with the same one throughout this course. Don't worry, you don't have to publish it right away - we'll show you how to keep your course hidden as a Draft until you are ready to show it to the world.

:keyboard: Activity: Tell us what you'd like to teach

  1. Please comment below with the subject that you'd like to teach in your Learning Lab course. If you don't have an idea yet, you can use Markdown as your topic.

I'll respond below when I detect a comment in this pull request.

christianherweg0807 commented 3 years ago

Github Actions for CI/CD

github-learning-lab[bot] commented 3 years ago

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.)

Breaking goals into smaller steps

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.

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 have learned the thing? Some examples are:

How many goals?

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:

What NOT to do

It is not a good idea to have huge or ambiguous steps.

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!

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.

Step 2: Break your course into smaller steps

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.

What's # in YAML? Any lines starting with # in the config.yml file are comments. We will use these for planning and documentation.

:keyboard: Activity: Break down what you'd like to teach into smaller learning objectives

  1. Edit the config.yml document. Break down the larger goal into smaller steps and add them to the commented descriptions on lines 26, 35, 40, 47, and 54.
  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.
    • You only need to worry about the title and description now. We'll fill in the rest later!
  3. Commit your changes.
  4. Navigate back to this pull request.

I'll respond in this pull request when I detect a commit on this branch.

github-learning-lab[bot] commented 3 years ago

Nice work. As a robot, some things are really hard for me to check. This is one of them!

If you'd like to get some feedback on your steps before continuing with the course, reach out in the GitHub Community. Once you're ready, merge this pull request to move on to the next step.

Step 3: Merge your learning objectives

Next, we'll merge this pull request. You can go ahead and take your time breaking these steps down. Use as many commits as you want.

:keyboard: Activity: Merge the pull request breaking down your course topic into smaller learning objectives

  1. Make any other changes or tweaks to the steps of your course by editing the config. Take your time!
  2. Once you're ready, merge this pull request.

I'll respond below when this pull request is merged.

github-learning-lab[bot] commented 3 years ago

Nice job merging! You can find your next steps in your next pull request.