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

# Tasks

Tasks are the units of work that learners will complete. They are assigned to one or more courses. There are two types of tasks: `Reading Material` and `Question`.

We will understand both the task types and walk through all the features of the task creator in this page.

# Reading Material

Courses typically consist of both learning content and assessment. `Reading Material` tasks are used to add learning content to a course. You can add any material that you want to be read by the learner before they take an assessment as a `Reading Material` task.

<video width="100%" height="315" controls title="Creating a reading material task">
  <source src="https://mintcdn.com/hypervergeacademy/ZMZ8gaK0qEoat5xq/videos/tasks-1-create_reading.mp4?fit=max&auto=format&n=ZMZ8gaK0qEoat5xq&q=85&s=98dd6409998e1f907e6992bf649aa5e1" type="video/mp4" data-path="videos/tasks-1-create_reading.mp4" />

  Your browser does not support the video tag.
</video>

# Question

`Question` tasks are used to assess the learner's knowledge. You will notice that there are a lot of settings to configure the question. We will walk through all of them later in this page.

<video width="100%" height="315" controls title="Creating a question task">
  <source src="https://mintcdn.com/hypervergeacademy/ZMZ8gaK0qEoat5xq/videos/tasks-2-create_question.mp4?fit=max&auto=format&n=ZMZ8gaK0qEoat5xq&q=85&s=45721f11525d6afc4d32f9d398edeeba" type="video/mp4" data-path="videos/tasks-2-create_question.mp4" />

  Your browser does not support the video tag.
</video>

## Use AI to generate tasks

SensAI lets you to generate tasks using AI. You can give a text prompt or simply speak what you want the task to entail and AI will generate it for you. You can generate both reading materials and questions this way.

### Give a text prompt

Describe what you want the task to entail and AI will generate it for you. Here is an example of generating a reading material from a text prompt.

<video width="100%" height="315" controls title="Text prompt for reading material generation">
  <source src="https://mintcdn.com/hypervergeacademy/ZMZ8gaK0qEoat5xq/videos/task-ai-generation-reading.mp4?fit=max&auto=format&n=ZMZ8gaK0qEoat5xq&q=85&s=aa97b926d553d84b0c99544fdb2a626d" type="video/mp4" data-path="videos/task-ai-generation-reading.mp4" />

  Your browser does not support the video tag.
</video>

### Speak it out

You can also speak what you want the task to entail and AI will generate it for you. Here are a couple of examples of generating questions from an audio prompt.

<AccordionGroup>
  <Accordion icon="circle-check" title="Generate an objective question with a single correct answer">
    <video width="100%" height="315" controls title="Generate an objective question with a single correct answer">
      <source src="https://mintcdn.com/hypervergeacademy/Dj7fiW_AGa74ET0c/videos/task-ai-generation-q1.mp4?fit=max&auto=format&n=Dj7fiW_AGa74ET0c&q=85&s=b1982b448571a168193817542115be80" type="video/mp4" data-path="videos/task-ai-generation-q1.mp4" />

      Your browser does not support the video tag.
    </video>
  </Accordion>

  <Accordion icon="pen-to-square" title="Generate a subjective question with scoring criteria">
    <video width="100%" height="315" controls title="Generate a subjective question with scoring criteria">
      <source src="https://mintcdn.com/hypervergeacademy/Dj7fiW_AGa74ET0c/videos/task-ai-generation-q2.mp4?fit=max&auto=format&n=Dj7fiW_AGa74ET0c&q=85&s=44f216216a054098f432929e8473f931" type="video/mp4" data-path="videos/task-ai-generation-q2.mp4" />

      Your browser does not support the video tag.
    </video>
  </Accordion>
</AccordionGroup>

### Best practices for using AI

A general rule of thumb is to be as specific as you can be about what the task should look like. AI does not work well if you  are vague. Give all the details that matter to you. Imagine AI as an intern working for you and think of all the instructions/details that you would need to give them to help them complete the task.

A template for what you should specify is given below:

* Specify the `Task Type`
  * `Question` – A question or activity that requires a response
  * `Reading Material` – Content for learners to read and understand
* For `Reading Material`
  * Topic – Clearly define what the learner should read about
  * Length – Specify if it should be short, medium, or long
  * Format – Outline structure (e.g., paragraphs, bullet points, examples)
  * Other Considerations – Any nuances like complexity level, tone, or visuals
* For `Question`
  * Specify the question type
    * `Objective` – Multiple-choice, true/false, fill-in-the-blank
    * `Subjective` – Open-ended questions requiring a detailed response
  * Input Format – Define how learners should answer (text, audio, code)
  * AI role – Specify how AI should behave
    * `Coach` – Ask questions to nudge the learner to think for themselves
    * `Examiner` – Just say whether they got it right or wrong
  * Answer & Evaluation
    * `Objective` – Specify the correct answer(s) for automated grading or ask for the correct answer to be generated
    * `Subjective` – Define evaluation criteria (e.g., clarity, grammar, confidence)

## Input type

A task can accept user input in different formats.

### Text

If you set the input type to `Text`, the learner will be able to enter a text response. This has been covered in the videos above. For tasks with input type `Text`, you can set the `AI response type` to any of `Chat`, `Report` or `Exam` (explained in the [next section](#ai-response-type)).

### Audio

If you set the input type to `Audio`, the learner will be able to record their response in audio format. AI analyses a learner's speech to gather insights on their clarity, pronunciation, confidence, grammar and other aspects that you define at the time of task creation.

For tasks with input type `Audio`, you can only set the `AI response type` to `Report` (explained in the [next section](#ai-response-type)). This is because tasks with `AI response type` as `Chat` and `Exam` require a reference answer to be provided and we currently don't support that for audio input. Instead, you can provide a scoring rubric using which AI will provide a report to the learner as explained in the [Report](#report) section.

<video width="100%" height="315" controls title="Question with audio input">
  <source src="https://mintcdn.com/hypervergeacademy/ZMZ8gaK0qEoat5xq/videos/tasks-4-audio.mp4?fit=max&auto=format&n=ZMZ8gaK0qEoat5xq&q=85&s=a9ce259d2a03935f996bb46f6915246b" type="video/mp4" data-path="videos/tasks-4-audio.mp4" />

  Your browser does not support the video tag.
</video>

### Coding

If you set the input type to `Coding`, the learner will be able to write code in a code editor in a language that you choose during task creation. For tasks with input type `Coding`, you can set the `AI response type` to any of `Chat`, `Report` or `Exam` (explained in the [next section](#ai-response-type)).

<video width="100%" height="315" controls title="Question with coding input">
  <source src="https://mintcdn.com/hypervergeacademy/ZMZ8gaK0qEoat5xq/videos/tasks-5-coding.mp4?fit=max&auto=format&n=ZMZ8gaK0qEoat5xq&q=85&s=f1e070d0217d7b170a8e6270e52c26fa" type="video/mp4" data-path="videos/tasks-5-coding.mp4" />

  Your browser does not support the video tag.
</video>

We support the following coding languages:

* HTML
* CSS
* Javascript
* NodeJS
* Python
* React
* SQL

You can select one or more compatible languages for a task. E.g. you can select `HTML`, `CSS` and `Javascript` as the coding languages for a task that requires the learner to use all of them.

#### Code Preview

For each language, students can see a preview of their code by clicking on the `Run Code` button.

<video width="100%" height="315" controls title="Coding task code preview">
  <source src="https://mintcdn.com/hypervergeacademy/ZMZ8gaK0qEoat5xq/videos/task-coding-preview.mp4?fit=max&auto=format&n=ZMZ8gaK0qEoat5xq&q=85&s=d30e7b1fdbc9a0fdc8b3f5a4981ee6ba" type="video/mp4" data-path="videos/task-coding-preview.mp4" />

  Your browser does not support the video tag.
</video>

If the coding language for your task is `Python` and the expected code requires taking user inputs, learners are asked to provide the inputs when they run their code.

<video width="100%" height="315" controls title="Coding task user inputs">
  <source src="https://mintcdn.com/hypervergeacademy/ZMZ8gaK0qEoat5xq/videos/task-coding-inputs.mp4?fit=max&auto=format&n=ZMZ8gaK0qEoat5xq&q=85&s=59c3af67ec7cf31bcb2c0f7433528e6a" type="video/mp4" data-path="videos/task-coding-inputs.mp4" />

  Your browser does not support the video tag.
</video>

#### Tests

You can add tests to your Python-based coding tasks. First, you need to decide the number of inputs that each test case will take. Then, you can add the test cases. Each test case will have an input, expected output and an optional description. You can even use AI to generate the test cases. These test cases are run every time the learner runs their code.

<video width="100%" height="315" controls title="Coding task tests">
  <source src="https://mintcdn.com/hypervergeacademy/ZMZ8gaK0qEoat5xq/videos/task-coding-tests.mp4?fit=max&auto=format&n=ZMZ8gaK0qEoat5xq&q=85&s=8a2f2acbd8ada0383c4a659ca481ddf1" type="video/mp4" data-path="videos/task-coding-tests.mp4" />

  Your browser does not support the video tag.
</video>

## AI response type

### Chat

For tasks with `AI response type` as `Chat`, AI will act as a coach to the learner and ask them questions to nudge them to think for themselves instead of giving away the answers.

<video width="100%" height="315" controls title="AI coach demo for chat response type">
  <source src="https://mintcdn.com/hypervergeacademy/Dj7fiW_AGa74ET0c/videos/quickstart-12-task_question.mp4?fit=max&auto=format&n=Dj7fiW_AGa74ET0c&q=85&s=0fd5a5b6a5ec276427b31f949bd48b8c" type="video/mp4" data-path="videos/quickstart-12-task_question.mp4" />

  Your browser does not support the video tag.
</video>

These tasks require a reference answer to be provided that will be compared with the learner's answer to provide feedback. You can use AI to generate the reference answer if you don't one.

<video width="100%" height="315" controls title="Generate answer for task">
  <source src="https://mintcdn.com/hypervergeacademy/ZMZ8gaK0qEoat5xq/videos/task-response-type-chat-1.mp4?fit=max&auto=format&n=ZMZ8gaK0qEoat5xq&q=85&s=2df3b76aa1b1f8b26f6d2c79c0c94e0f" type="video/mp4" data-path="videos/task-response-type-chat-1.mp4" />

  Your browser does not support the video tag.
</video>

You can set the `AI response type` to `Chat` for tasks with any input type.

### Report

For tasks with `AI response type` as `Report`, AI will provide a report to the learner based on the scoring criteria provided by you. Each scoring criterion is defined by 3 parameters:

* `Name`: The name of the criterion.
* `Description`: The description of the criterion. Here you can define the criteria that you want AI to assess the learner on.
* `Score`: The score for the criterion displayed to the learner. You can set the maximum and minimum score for the criterion. AI will provide a score to the learner based on how well they have done on the criterion.

<video width="100%" height="315" controls title="AI coach demo for report response type">
  <source src="https://mintcdn.com/hypervergeacademy/ZMZ8gaK0qEoat5xq/videos/task-report.mp4?fit=max&auto=format&n=ZMZ8gaK0qEoat5xq&q=85&s=61e0c6cb7fb9b629169fcbeb11b993b4" type="video/mp4" data-path="videos/task-report.mp4" />

  Your browser does not support the video tag.
</video>

You can set the `AI response type` to `Report` for tasks with any input type. But tasks with input type `Audio` can only have `Report` as the `AI response type`.

### Exam

For tasks with `AI response type` as `Exam`, AI will simply state if the learner's answer is correct or not without coaching them.

<video width="100%" height="315" controls title="Question type task">
  <source src="https://mintcdn.com/hypervergeacademy/ZMZ8gaK0qEoat5xq/videos/task-exam.mp4?fit=max&auto=format&n=ZMZ8gaK0qEoat5xq&q=85&s=ea09746f8857128c7bfde021f7c8d5f0" type="video/mp4" data-path="videos/task-exam.mp4" />

  Your browser does not support the video tag.
</video>

Similar to [Chat](#chat), these tasks require a reference answer to be provided that will be compared with the learner's answer to provide feedback. You can use AI to generate the reference answer if you don't one.

You can set the `AI response type` to `Exam` for tasks with any input type.

#### Enabling/Disabling feedback

You can choose whether to show any feedback to the learner after they answer a question indicating if they got it right or wrong. This is useful for creating tests where you don't want to give the learner any feedback on the accuracy of their answer yet.

<video width="100%" height="315" controls title="Enabling/Disabling AI feedback">
  <source src="https://mintcdn.com/hypervergeacademy/ZMZ8gaK0qEoat5xq/videos/tasks-6-exam-no-feedback.mp4?fit=max&auto=format&n=ZMZ8gaK0qEoat5xq&q=85&s=f80091e23c06bdafb9ef3d2e4e8490da" type="video/mp4" data-path="videos/tasks-6-exam-no-feedback.mp4" />

  Your browser does not support the video tag.
</video>

#### Limiting the number of attempts

You can limit the number of attempts a learner can make to answer a question as shown in the video below.

<video width="100%" height="315" controls title="Limiting the number of attempts">
  <source src="https://mintcdn.com/hypervergeacademy/ZMZ8gaK0qEoat5xq/videos/tasks-6-exam-limit-attempts.mp4?fit=max&auto=format&n=ZMZ8gaK0qEoat5xq&q=85&s=0395740ecb5003ab0c98e05070538b89" type="video/mp4" data-path="videos/tasks-6-exam-limit-attempts.mp4" />

  Your browser does not support the video tag.
</video>

# Assign Tags

You can assign one or more [Tags](/guides/tags) to a task while creating it. You can see the tags a task is assigned to in the `Tasks` page.

<video width="100%" height="315" controls title="Assigning tags to a task">
  <source src="https://mintcdn.com/hypervergeacademy/Dj7fiW_AGa74ET0c/videos/tag-2-task.mp4?fit=max&auto=format&n=Dj7fiW_AGa74ET0c&q=85&s=df07d1b5ab482613114d6fcf8effc411" type="video/mp4" data-path="videos/tag-2-task.mp4" />

  Your browser does not support the video tag.
</video>

# Group under a milestone

You can assign a [Milestone](/guides/milestones) to a task either while creating a task or after a task is created. You can see the milestone a task is assigned to in the `Tasks` page.

<AccordionGroup>
  <Accordion icon="plus" title="While creating a task">
    <video width="100%" height="315" controls title="Assigning a milestone to a task">
      <source src="https://mintcdn.com/hypervergeacademy/Dj7fiW_AGa74ET0c/videos/milestone-2-assign_create.mp4?fit=max&auto=format&n=Dj7fiW_AGa74ET0c&q=85&s=a83c20126051bc57821486c3f5419267" type="video/mp4" data-path="videos/milestone-2-assign_create.mp4" />

      Your browser does not support the video tag.
    </video>
  </Accordion>

  <Accordion icon="pencil" title="After a task is created">
    <video width="100%" height="315" controls title="Updating the milestone of a task">
      <source src="https://mintcdn.com/hypervergeacademy/Dj7fiW_AGa74ET0c/videos/quickstart-9-assign_milestone.mp4?fit=max&auto=format&n=Dj7fiW_AGa74ET0c&q=85&s=8401b2f2d02686b717862d8b128d61ad" type="video/mp4" data-path="videos/quickstart-9-assign_milestone.mp4" />

      Your browser does not support the video tag.
    </video>

    Here is how you can assign a milestone to multiple tasks at once!

    <video width="100%" height="315" controls title="Updating the milestone of multiple tasks">
      <source src="https://mintcdn.com/hypervergeacademy/Dj7fiW_AGa74ET0c/videos/milestone-3-bulk_edit.mp4?fit=max&auto=format&n=Dj7fiW_AGa74ET0c&q=85&s=639381b3d7e739a6411fa99a845dfb4c" type="video/mp4" data-path="videos/milestone-3-bulk_edit.mp4" />

      Your browser does not support the video tag.
    </video>
  </Accordion>
</AccordionGroup>

## Assign to courses

You can add tasks to a course either while creating a task or after a task is created. You can see the tasks in a course in the course page.

<AccordionGroup>
  <Accordion icon="plus" title="While creating a task">
    <video width="100%" height="315" controls title="Adding a task to a course while creating a task">
      <source src="https://mintcdn.com/hypervergeacademy/Dj7fiW_AGa74ET0c/videos/courses_6-add_task_create.mp4?fit=max&auto=format&n=Dj7fiW_AGa74ET0c&q=85&s=fa676c2a10a97829f0c365f421125c5a" type="video/mp4" data-path="videos/courses_6-add_task_create.mp4" />

      Your browser does not support the video tag.
    </video>
  </Accordion>

  <Accordion icon="pencil" title="After a task is created">
    <video width="100%" height="315" controls title="Adding a task to a course after creating a task">
      <source src="https://mintcdn.com/hypervergeacademy/Dj7fiW_AGa74ET0c/videos/courses_7-add_task_edit.mp4?fit=max&auto=format&n=Dj7fiW_AGa74ET0c&q=85&s=262d8bcb18162041f7ceb19a327bbad8" type="video/mp4" data-path="videos/courses_7-add_task_edit.mp4" />

      Your browser does not support the video tag.
    </video>
  </Accordion>
</AccordionGroup>

### Order tasks in a course

<video width="100%" height="315" controls title="Changing the order of tasks in a course">
  <source src="https://mintcdn.com/hypervergeacademy/Dj7fiW_AGa74ET0c/videos/courses_8-order_tasks.mp4?fit=max&auto=format&n=Dj7fiW_AGa74ET0c&q=85&s=26b7077747435c90dfba90c0383dab4e" type="video/mp4" data-path="videos/courses_8-order_tasks.mp4" />

  Your browser does not support the video tag.
</video>

# Bulk upload tasks

You can create multiple tasks at once by uploading a CSV file. If you choose to provide [Custom Context](#provide-custom-context), that context will be used for all the tasks.

The CSV file should have the following columns:

* `Name`: The name of the task.
* `Description`: The description of the task.
* `Tags`: The tags to be assigned to the task (comma-separated, e.g. `tag1,tag2,tag3`)

If the AI response type is set to [Exam](#exam) or [Chat](#chat), you can also provide a reference answer for each task by adding a `Answer` column. If you don't provide a reference answer, AI will generate answers for each task. You can review those answers and edit them if needed.

<video width="100%" height="315" controls title="Bulk uploading tasks">
  <source src="https://mintcdn.com/hypervergeacademy/ZMZ8gaK0qEoat5xq/videos/task-bulk.mp4?fit=max&auto=format&n=ZMZ8gaK0qEoat5xq&q=85&s=beb4a104815d9505002c9ad9edca6251" type="video/mp4" data-path="videos/task-bulk.mp4" />

  Your browser does not support the video tag.
</video>

## Editing tasks

<AccordionGroup>
  <Accordion icon="pencil" title="Edit a task">
    <video width="100%" height="315" controls title="Editing a task">
      <source src="https://mintcdn.com/hypervergeacademy/ZMZ8gaK0qEoat5xq/videos/task-edit-1.mp4?fit=max&auto=format&n=ZMZ8gaK0qEoat5xq&q=85&s=1668f7176f32548939867aa6ec126720" type="video/mp4" data-path="videos/task-edit-1.mp4" />

      Your browser does not support the video tag.
    </video>
  </Accordion>

  <Accordion icon="pen-to-square" title="Bulk edit tasks">
    If you want to edit multiple tasks, a bulk edit form will open up. In bulk edit mode, you can edit the [Milestone](/guides/milestones) and [Courses](/guides/courses) that the tasks are assigned to.

    <video width="100%" height="315" controls title="Bulk editing tasks">
      <source src="https://mintcdn.com/hypervergeacademy/ZMZ8gaK0qEoat5xq/videos/task-edit-2.mp4?fit=max&auto=format&n=ZMZ8gaK0qEoat5xq&q=85&s=6406d0fcfbf5f2713e9eb46e893a9392" type="video/mp4" data-path="videos/task-edit-2.mp4" />

      Your browser does not support the video tag.
    </video>
  </Accordion>
</AccordionGroup>

## Delete a task

To delete one or more tasks, you can select the tasks you want to delete and click on the `Delete tasks` button.

<video width="100%" height="315" controls title="Deleting a task">
  <source src="https://mintcdn.com/hypervergeacademy/ZMZ8gaK0qEoat5xq/videos/task-delete-1.mp4?fit=max&auto=format&n=ZMZ8gaK0qEoat5xq&q=85&s=b136ee87d456f457f84d48fda29bc9d9" type="video/mp4" data-path="videos/task-delete-1.mp4" />

  Your browser does not support the video tag.
</video>

## Provide custom context

You can create tasks with context specific to your course that may not be publicly available and hence, AI won't have any existing knowledge of it. For example, you might have proprietary information that you want to assess the learner's knowledge on but which is not available on the internet. Once you provide the context, AI can generate the correct answer based on that context and give appropriate feedback as well.

<video width="100%" height="315" controls title="Question with custom context">
  <source src="https://mintcdn.com/hypervergeacademy/ZMZ8gaK0qEoat5xq/videos/tasks-3-custom_context.mp4?fit=max&auto=format&n=ZMZ8gaK0qEoat5xq&q=85&s=e9c789f4bf15c36bc4e24adef65979bd" type="video/mp4" data-path="videos/tasks-3-custom_context.mp4" />

  Your browser does not support the video tag.
</video>
