Skip to content
This repository was archived by the owner on Sep 1, 2022. It is now read-only.

Commit 540ef06

Browse files
authored
Merge branch 'master' into rename-default-branch
2 parents 93014bf + 34b916f commit 540ef06

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+1106
-892
lines changed

config.yml

Lines changed: 335 additions & 549 deletions
Large diffs are not rendered by default.

course-details.md

Lines changed: 40 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,42 @@
1-
Learning Lab helps people build real world skills through hands-on activities. This course streamlines the course building process, and gives you all the tools you need to help others learn.
1+
Learning Lab helps people build real world skills through hands-on activities. This course streamlines the course building process, and gives you all the tools you need to help others learn.
22

3-
Register for this course to get the starter files needed to build your Learning Lab course, or complete the course steps for a fully guided experience. If you choose to complete the course, you'll be able to:
3+
If you'd like to get started in building courses for others, this is the course for you!
44

5-
- Identify the structure of a Learning Lab course
6-
- Define a title and description for your course
7-
- Define a template repository
8-
- Create course steps
9-
- Create responses
10-
- Publish a course to GitHub Learning Lab
5+
# What you'll learn
6+
7+
This course will answer questions like:
8+
- How does a Learning Lab course work?
9+
- What are GitHub events?
10+
- What's a step?
11+
- How do I write responses?
12+
- What topic is a good candidate for a Learning Lab course?
13+
- How do I give a learner feedback?
14+
- How do I list a course in the catalog and publish it?
15+
16+
After taking this course, you'll be able to:
17+
- Design a course using your chosen topic
18+
- Create your course on GitHub Learning Lab
19+
- Break down your topic into smaller steps for GitHub
20+
- Create a template repository
21+
22+
# What you'll build
23+
24+
![screenshot of a sample config.yml file](https://user-images.githubusercontent.com/16547949/75559284-2fbbc480-5a11-11ea-8288-49ac143dfa4a.png)
25+
26+
For this course, the best reference point is any other completed Learning Lab course! Take a look at the [source code for all our courses](https://github.com/search?q=topic%3Alearning-lab+org%3Agithubtraining+fork%3Atrue). Feel free to dive into the `config.yml` file for each course and explore!
27+
28+
# Prerequisites
29+
30+
We recommend you first complete the following courses:
31+
32+
- [Introduction to GitHub](https://lab.github.com/githubtraining/introduction-to-github/) to learn how to use GitHub and pull requests to edit files.
33+
- [Communicating using Markdown](https://lab.github.com/githubtraining/communicating-using-markdown) to learn Markdown, which is used to create response files and throughout the course creation process.
34+
- [Getting started with GitHub Apps](https://lab.github.com/githubtraining/getting-started-with-github-apps) for understanding webhooks, events, and the basics of the GitHub API.
35+
36+
# Projects used
37+
38+
This course uses all original content, we didn't use any open source projects to create it.
39+
40+
# Audience
41+
42+
Developers, teachers, and team leads.

responses/00.0_welcome.md

Lines changed: 0 additions & 8 deletions
This file was deleted.

responses/01.0_add-title.md

Lines changed: 0 additions & 13 deletions
This file was deleted.

responses/01_welcome.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Welcome!
2+
3+
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:
4+
5+
- Picking a topic
6+
- Breaking the topic down into small steps
7+
- Designing a learner centered course flow
8+
- Choosing a project repository
9+
- Mapping the small steps into GitHub events
10+
- Writing responses
11+
- Importing and creating your course
12+
13+
### Prerequisites
14+
15+
- **GitHub knowledge**: For this course, you'll need to know how to use GitHub to work with text files. If you need a refresher on the GitHub flow, check out [the Introduction to GitHub course]({{ host}}/courses/introduction-to-github). If you need a refresher on Markdown, check out [the Communicating using Markdown course]({{ host}}/courses/communicating-using-markdown).
16+
- **Webhooks & the GitHub API**: You'll also need a general understanding of webhooks and the GitHub API. Try [the Getting started with GitHub Apps course]({{ host}}/courses/getting-started-with-github-apps).
17+
18+
### Choosing a topic
19+
20+
The first thing we're going to do is talk about and choose a topic.
21+
22+
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.
23+
24+
Here are some things to think about as you select your topic:
25+
26+
#### Things that work with GitHub
27+
28+
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.
29+
30+
#### Scope and size
31+
32+
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.
33+
34+
## Step 1: Choose a topic for your course
35+
36+
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.
37+
38+
### :keyboard: Activity: Tell us what you'd like to teach
39+
40+
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.
41+
42+
<hr>
43+
<h3 align="center">I'll respond below when I detect a comment in this pull request.</h3>

responses/02.0_add-template.md

Lines changed: 0 additions & 21 deletions
This file was deleted.

responses/02.1_e-no-title.md

Lines changed: 0 additions & 4 deletions
This file was deleted.

responses/02_break-it-down.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
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>

responses/03.0_add-repo-name.md

Lines changed: 0 additions & 13 deletions
This file was deleted.

responses/03.1_e-no-repo.md

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)