> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qbraid.com/llms.txt
> Use this file to discover all available pages before exploring further.

# qBook Builder

> Guide for educators to create and publish quantum computing (or any) courses on qBraid.

<Note>
  This guide applies for users who already have the relevant permissions for
  adding courses to their qBraid plan. If you are interested in these
  permissions, please reach out to us at
  [contact@qbraid.com](mailto:contact@qbraid.com), and we'll get you set up!
</Note>

## Overview

qBraid boasts a comprehensive qBook Builder system that allows for the creation of quantum computing courses. This system is designed to be user-friendly and intuitive, allowing educators to create and publish courses with ease. This guide will walk you through the process of creating a course on qBraid.

## Step 1: Create an Organization

The first step in creating a course on qBraid is to create an organization. An organization is a group that can contain multiple courses and people. To create an organization, follow these steps:

### 1a. Visit the Organizations page on qBraid Accounts

You can find the qBraid Accounts Dashboard at [accounts.qbraid.com](https://accounts.qbraid.com)

Once you're there, you can click on the "Organization" tab to view the organizations you are a part of or to create a new organization.

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/1-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=61156b3296f54e3de2562bfe7b6aeb22" width="150%" data-path="v2/lab/_static/qbook-builder/1-course-builder.png" />
</div>

If you already have an organization, you can skip till Step 2. Otherwise, continue to Step 1b.

### 1b. Create a New Organization

To create a new organization, either click the "Add an organization" button or the "Create an organization" button.

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/2-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=cf8b09507f013a3568006895e7c8c057" width="150%" data-path="v2/lab/_static/qbook-builder/2-course-builder.png" />
</div>

In the pop-up dialog that appears, change the name of the organization and add a description.

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/3-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=926ba13cdb4595f857bcab6d1c0ffd35" width="150%" data-path="v2/lab/_static/qbook-builder/3-course-builder.png" />
</div>

After you've filled in the details, add users to the organization. In order for students to join your class, they should first be added to the organization. Then, click "Add Organization".

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/4-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=29e06ac14c5bc8568712fc380ecb02c5" width="150%" data-path="v2/lab/_static/qbook-builder/4-course-builder.png" />
</div>

Refresh and your organization should appear!

## Step 2: Create an Organization on GitHub

qBraid uses GitHub to validate and link course content. To create an organization on GitHub, follow [these steps](https://docs.github.com/en/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch).

## Step 3: Create a Course

Once you have created an organization on qBraid and GitHub, you can create a course. To create a course, follow these steps:

### 3a. Open qBraid Lab

Visit [lab.qbraid.com](https://lab.qbraid.com) and log in with your qBraid account. Start the lab environment of your choice from the landing page.

### 3b. Open the qBook Builder

From the Launcher tab, click on the "qBook Builder" icon.

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/6-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=c55bf6e46dad5c669a572b1ed7520a8a" width="150%" data-path="v2/lab/_static/qbook-builder/6-course-builder.png" />
</div>

You should be prompted for your GitHub organization link. Enter the link in the given field. Retrieve a personal access token from GitHub and enter it in the next field. Click "Continue".

<Note>
  You can use the link on the page to find your Personal Access Token if you're
  having any difficulty.
</Note>

### 3c. Create a New Course

Now you can start by creating a new course. On the page that appears, click on the "Build New Course" button.

Here, you can add your course title and description. You can select your desired visibility from the first drop-down. From the second drop-down, you can select the domain you want to host your course on. In the example, we are creating a private course on the qBraid domain.

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/9-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=fc4de4413faf24fee191e76db2b0efe1" width="150%" data-path="v2/lab/_static/qbook-builder/9-course-builder.png" />
</div>

The domain will determine where your course appears. If your organization has an existing hosting deal with qBraid, this is where you can select it.

## Step 4: Add Course Content

Now that the skeleton of our course has been created, we can start adding the relevant content. To add content to your course, follow these steps:

### 4a. Add a new Chapter

qBraid courses are organized into chapters. Each chapter is a Jupyter notebook with a blend of markdown information and code cells for demonstration. You can add whichever notebook you want in order to create your first chapter.

Start by clicking the "Add Chapter" button. Select the notebook you desire. In this example, we use the "Grover's Algorithm" notebook from IBM Quantum.

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/10-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=9d02695a015dc9351fa6e4550620ab45" width="150%" data-path="v2/lab/_static/qbook-builder/10-course-builder.png" />
</div>

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/11-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=2863ef8c28860518ce6005664c18a7a6" width="150%" data-path="v2/lab/_static/qbook-builder/11-course-builder.png" />
</div>

After that, you can attach your chapter. Add as many chapters as you'd like! You can add sections to your chapter by navigating to the "Add Sections panel".

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/12-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=f089287e02491e42c4a706b52df7869e" width="150%" data-path="v2/lab/_static/qbook-builder/12-course-builder.png" />
</div>

We'll come back here later.

### 4b. Publish your course

When your desired chapters have been added, it's time to publish! Click on the hamburger in the top-right corner of the course builder.

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/13-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=7361def961d3fdf7e668db0b5f9cef4d" width="150%" data-path="v2/lab/_static/qbook-builder/13-course-builder.png" />
</div>

Then, click "Publish".

On the page that appears, select the organization that you created, then click "Next".

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/15-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=8c5105e6afd049f75abe4f452a50c745" width="150%" data-path="v2/lab/_static/qbook-builder/15-course-builder.png" />
</div>

You can then assign roles to the users in your organization. These include "Student", "Instructor", and "TA". After you've assigned your desired roles to the users, click "Next".

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/16-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=a33fbd7a4ba077237afe5e4839d1e349" width="150%" data-path="v2/lab/_static/qbook-builder/16-course-builder.png" />
</div>

Now, click on the "Class Info" button and assign your desired time duration.

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/17-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=761c5ae011183464f6d57b4d415b37cb" width="150%" data-path="v2/lab/_static/qbook-builder/17-course-builder.png" />
</div>

Finally, click "Publish" to publish your course. You can now view your course on the qBraid platform!

### 4c. Check out your new course!

From the landing page, click "Qbook qBraid" to see your course in action.

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/18-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=9a8a6884cad7a3207e5dd11270cd7ab8" width="150%" data-path="v2/lab/_static/qbook-builder/18-course-builder.png" />
</div>

You should see your course on the qBraid platform, rendered beautifully, with text and mini-kernels for you to run your code.

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/19-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=069c3cc88a67e500ffdd81f57594feb0" width="150%" data-path="v2/lab/_static/qbook-builder/19-course-builder.png" />
</div>

Congratulations! You've successfully created and published a course on qBraid. You can now share your course with students and colleagues. As long as they are added to your organization and on your course, they should be able to access the materials directly through the URL!

## Step 5: Bonus Features

qBraid offers a variety of features to enhance your course. You can add MCQ and FRQ to your course to test your students' knowledge.

Let's go through these features!

### 5a. Add MCQ and FRQ

Navigate back to the qBook Builder. Click on the "VIEW ALL QUESTIONS" button in the top-left corner.

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/20-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=7ef8b3164fb5a707ba695097c91da826" width="150%" data-path="v2/lab/_static/qbook-builder/20-course-builder.png" />
</div>

Here, you can add a new MCQ and a new FRQ. We will demonstrate how to create an MCQ. Click on the "Add New Question" button in the top-left corner.

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/21-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=0157fda4168b9600114b5a8c4ad28059" width="150%" data-path="v2/lab/_static/qbook-builder/21-course-builder.png" />
</div>

Start by filling out the "Custom Id" and "Question" fields. Your Custom ID will help you link questions to the notebook directly on the course that you have created.

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/22-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=94c538ec7be2113fa266119c3d78ed48" width="150%" data-path="v2/lab/_static/qbook-builder/22-course-builder.png" />
</div>

You can add as many choices as you like. Separate each choice with an "Enter" or "Return". qBraid supports LaTeX formatting, so you can add math equations to your questions.

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/23-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=92b4d8292bdb1735531c7bf34364bdc8" width="150%" data-path="v2/lab/_static/qbook-builder/23-course-builder.png" />
</div>

When your choices are added, click the checkbox next to the correct one to validate it.

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/24-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=9c43f8cfc1e64f9589377f5e221b667d" width="150%" data-path="v2/lab/_static/qbook-builder/24-course-builder.png" />
</div>

Finally, click "Save" to save your question.

### 5b. Embed your questions into your course

Open a new file, and create a Jupyter notebook. In a cell, add the following code: `MultipleChoiceQuestion("your-custom-id")`. Replace "your-custom-id" with the custom ID you created for your MCQ.

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/25-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=afb0aee2d03df59f802b38e9092ae396" width="150%" data-path="v2/lab/_static/qbook-builder/25-course-builder.png" />
</div>

Go back to the qBook Builder. Click the "View" button on your course. Click the downward arrow next to your chapter. Click on the "Attach" icon.

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/26-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=260136180ad5726ce4bb9b019082f1fc" width="150%" data-path="v2/lab/_static/qbook-builder/26-course-builder.png" />
</div>

In the pop-up that appears, you can select the file you just created. Double-click to upload.

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/27-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=63137ef79e9b0977e337bf60958e7f70" width="150%" data-path="v2/lab/_static/qbook-builder/27-course-builder.png" />
</div>

After your file is uploaded, click outside the box to close it. You should see your file attached to the chapter. Click the hamburger in the top-right corner and hit "Update" to ensure that the changes are saved.

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/28-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=7f9fcf58d61ebd0fa5375a1033745d4d" width="150%" data-path="v2/lab/_static/qbook-builder/28-course-builder.png" />
</div>

Now, when you view your course on qBook, you should be able to see the question! Navigate to the chapter, click the dropdown to access the question, and answer at will.

<div style={{ display: "flex", justifyContent: "center", alignItems: "center" }}>
  <img src="https://mintcdn.com/qbraidco/bCJnaqhJqSc4fBv-/v2/lab/_static/qbook-builder/29-course-builder.png?fit=max&auto=format&n=bCJnaqhJqSc4fBv-&q=85&s=2b2b855a8ac8433d21f2913d1ac5ab25" width="150%" data-path="v2/lab/_static/qbook-builder/29-course-builder.png" />
</div>

## Conclusion

This has been a rapid-fire overview on how to create your first course. These docs are a work in progress, and more features will be added with time! If you have any questions or feedback, please reach out to us at [contact@qbraid.com](mailto:contact@qbraid.com). We're excited to see the courses you create!
