Get startedGet started for free

GitHub and course development

1. GitHub and course development

Alright, now let's talk about how to use GitHub.

2. GitHub and course development

Our course editor is built on top of GitHub, which means you'll need to create a GitHub account. If you are already familiar with GitHub, these concepts won't be new, but if you are new to GitHub and would like more information, head to the GitHub guides at help dot GitHub dot com.

3. Repo structure

Each DataCamp course has a private GitHub repository, or repo, in the DataCamp GitHub organization, that instructors are set up with prior to beginning course creation. The structure of this repo contains specific files with specific names, otherwise, the course will not build successfully or display on datacamp dot com. These include the README, requirements, and chapter files, as well as a folder for your slides.

4. README

As mentioned earlier, the README is the first file you will edit on GitHub during course design, and it serves as the course blueprint.

5. Requirements.sh and course.yml

The course dot yml contains the metadata for your course, including the course title, description, programming language, and prerequisites. The requirements file or files, depending on the programming language, are needed to install the appropriate packages and package versions to ensure the code in your course will run on our platform. These files have templates that will guide you as you fill them out.

6. Chapter files

Each chapter will have its own dot md file that includes the exercises contained in that chapter. The slides folder contains md files with the slides and scripts for each video exercise.

7. Master branch

In general, there should only be two branches open in your course repo at any given time. One is the master branch. The master branch will remain protected, and can only be modified by someone at DataCamp working with you on the course. Master will contain the finalized version of content for your course after it has been reviewed and will remain locked. The CM you are working with will open a branch for you during Course Design, and your CD will open a new branch for you each time you are ready to move on to the next chapter. This is done to ensure that the finalized content is saved in the master branch.

8. Branching

Think of branching like creating a copy of a document on your computer. The copy only reflects the original document at the time you copied it and is not updated when you update the original document. Branches work the same way! The development branch contains content that is currently in development while the locked master branch contains content that is already finalized.

9. Commits

The files in your repo will be updated as you modify them using the course editor and are recorded in GitHub as commits. Each time you save changes to your course, you can include a brief commit message about what was edited since the last time changes were made. This documents exactly what changes were made each time you saved. Here, the script edits that were made were saved as a commit, which is reflected in the corresponding repo commit history.

10. Issues

GitHub issues are incredibly important since they are the preferred method of communication between CMs, CDs, and instructors.

11. Issues

Anytime you have a question or run into a problem while working on your course content, please create an issue and tag the relevant person.

12. Notifications

Be sure your notifications are configured so that you don't miss any new issues or mentions! You can change your notification settings by clicking the watch button and selecting from the dropdown options.

13. Let's practice!

Now, let's finish up this chapter by testing out your GitHub IQ.