Striking the right balance in a course's length, complexity, and practicality is important. You're engineering an experience, not just creating a course. The following tips should help you design a great learning experience.
Learning Lab is designed to help people learn how to develop great software. If you need help deciding whether your course or project will do well on Learning Lab, this resource will help.
Take a few minutes to create some goals for your course. Jotting down answers to these questions is a good start:
Using the course goals, create a list of logically ordered tasks the learner will complete. It should look something like this:
<html>
, <head>
, <body>
GitHub Learning Lab listens for events that happen on GitHub and then responds to those events. Connect each task with the event you would expect to see on GitHub and the data you would be looking for in the event payload:
Task | GitHub Event |
---|---|
Create the index.html file | Creating the file will create a push event but you can also use the pull request event - you'll decide which one to use in the next step |
Add essential tags <html> , <head> , <body> |
This will create a push event |
Add "Hello world" text | Another push event |
Deploy to GitHub Pages | This will create a page_build event |
Experiment with formatting of "Hello world" text | More push events |
Learning Lab responds to the events generated by the learner using Learning Lab actions. It helps to begin thinking about these actions during the planning process. Using the example above:
index.html
file and open a pull requestindex.html
Depending on what you expect from the learner, you can do multiple checks on the same event. For example, you can see if they included an @ mention in their pull request comment, created the pull request against the default branch, and added specific text to the file. Just remember to write helpful responses for each check so the learner will know what they need to fix.
Now that you have an outline, it's time to think about the end-to-end interaction with the learner. We break this in to 3 categories:
If you'd like to view samples of completed courses, check out our open source courses. Go to the GitHub Training organization and select the learning-lab topic.