Skip to content

Choose a topic for your course#1

Open
github-learning-lab[bot] wants to merge 4 commits into
masterfrom
course-planning
Open

Choose a topic for your course#1
github-learning-lab[bot] wants to merge 4 commits into
masterfrom
course-planning

Conversation

@github-learning-lab

Copy link
Copy Markdown

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:

  • Picking a topic
  • Breaking the topic down into small steps
  • Designing a learner centered course flow
  • Choosing a project repository
  • Mapping the small steps into GitHub events
  • Writing responses
  • Importing and creating your course

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.

⌨️ 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.

@TheJina

TheJina commented Sep 13, 2020

Copy link
Copy Markdown
Owner

Markdown

@github-learning-lab

Copy link
Copy Markdown
Author

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've mastered the thing? Some examples are:

  • Close an issue
  • Write a functional SQL query
  • Merge a pull request
  • Change code so a particular test passes

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:

  • Create a task list
  • Turn on GitHub Pages
  • Add headers
  • Merge your headers
  • Add an image
  • Add a profile link
  • Merge your image and profile link
  • Add a list
  • Use emphasis
  • Merge lists and emphasis

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.

⌨️ 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants