Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added source/img/guides/smart-import-source.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified source/img/llm_course_reset.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified source/img/llm_course_usage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
40 changes: 18 additions & 22 deletions source/instructors/admin/integration/lms-students.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,44 +3,40 @@

.. _lms-users:

Creating User Account
Creating User Accounts
======================

When integrating with an external system, you don't need to manually :ref:`add or invite <add-remove-students>` students and teachers to your course. User enrollment is handled automatically when they access assignments that are mapped to Codio, and the manual invitation features are disabled in this configuration.

Understanding how Codio maps external system users to Codio users is important. Here are the key mapping rules:
Codio maps external system users to Codio users using the following rules.

.. important::
Student accounts are **not** created via LMS integration while an organization is in trial mode. Activate a subscription to enable student enrollments.

.. container:: float-right
First-Time Access
-----------------

.. note::
Anonymous students (with no email associated) can access Codio through an LMS. This must be set up within the LMS.

- When students or faculty first access Codio via an LMS assignment, Codio uses the LMS email address to identify the user and create the Codio account.

- If students or faculty access Codio via an LMS assignment then Codio will initially use the LMS email address to identify the user and create the Codio account.
- If the user is not known to Codio, Codio signs up the user as a new Codio user in the background and takes the user directly into the Codio content. The LMS user role is carried over as well.

- In all subsequent access, the userID will be used so in the event the user changes their email address in the LMS, the user will be mapped to the same Codio account.
- If a student joins Codio from an LMS, a new Codio account is created even if the student already has a Codio account using the same email address, because Codio does not yet have a userID + LMS system ID for that account.

- If the user is not known to Codio then we will sign up the user as a new Codio user in the background and take the user directly into the Codio content. The LMS user role will be carried over as well.
.. note::
Anonymous students (with no email associated) can access Codio through an LMS. This must be set up within the LMS.
Comment thread
LolaValente marked this conversation as resolved.

.. tip::
The user's LMS password is not passed to Codio. If the user wishes to log in to Codio directly in the future, they will need to create a password for their Codio account. As always, we recommend not reusing the same password across different applications. If you need to reset your password, you can use your username instead of your email address. Course instructors can assist with password resets; see :ref:`reset passwords <reset-pass>`.

.. container:: float-right
Returning Users
---------------

.. note::
The user's LMS password is not passed to Codio so if the user wishes to log in to Codio directly in the future, they will need to create a password for their Codio account (and of course it is always recommended that the same passwords are not used in different applications).
- After the first access, Codio identifies the user by userID rather than email address. If the user changes their email address in the LMS, they are still mapped to the same Codio account.

- If the user is known to Codio, they are taken directly into the Codio content without any sign-in required. If they are a Codio user but not a member of your organization, they must complete a verification via email.

- If the user is known to Codio then Codio will take them directly into the Codio content without any sign-in required. If they are a Codio user but are not a member of your organization then they will be required to complete a verification via email.
- If the user has changed details such as their name or email in their LMS account, Codio automatically updates those details the next time the user accesses Codio from their LMS. Codio does not update the email if another user with the same email already exists.

- If a student joins Codio from an LMS a new Codio account will be created even if the student already has a Codio account using the same email address where we do not have a userID + LMS system id.

- After successful mapping of an user's LMS account to their Codio account, if the user has changed their details such as name or email in their LMS account, Codio will automatically update those details the next time the user accesses Codio from their LMS. Codio will not update the email if another user with the same email already exists.


.. note::
If you need to reset your password, you can use your username instead of your email address. Course instructors can assist with password resets; see :ref:`reset passwords <reset-pass>`.

Student accounts are **not** created via LTI integration while an organization is in trial mode. Activate a subscription to enable student enrolments.

Teacher Roles
~~~~~~~~~~~~~
Expand Down
2 changes: 1 addition & 1 deletion source/instructors/authoring/guides/settings/global.rst
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ For a discussion on the use of this feature, please :ref:`click here <student-su
This setting is enabled by default. Students will be able to mark an assignment as complete in one of three ways:
- Using a button at the end of the assignment.
- From their :ref:`dashboard <accessing-your-courses>`.
- Selecting **Mark as Completed" from the **Education** menu in the IDE.
- Selecting **Mark as Completed** from the **Education** menu in the IDE.

You may decide to disable your students' ability to **Use Mark as Complete** if you have set the :ref:`assignment duration <assignment-duration>` 'On assignment End' action to **Mark as Complete** or **Disable assignment and Mark as Complete**.

Expand Down
5 changes: 5 additions & 0 deletions source/instructors/getstarted/support/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@ We do not report small bug fixes or issues that affect individual users, who we
`[F]` = New feature


**July 2026**

- `[F] [16th]`: Added :ref:`Smart Import <smartimport>`.


**May 2026**

- `[F] [11th]`: Added :ref:`Importing from GitHub Classroom <importfromgithubclassroom>`.
Expand Down
51 changes: 34 additions & 17 deletions source/instructors/setupcourses/add-remove-assignment.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,41 +22,55 @@ You must first create the module that holds the assignments. You can create an e
- To add an empty module, enter the name for the new module and click **Add Module**.
- To add copy from existing module, select a course, check the check boxes for the modules to be copied, and then click **Select**. The modules are added to your course.

Add Assignments to Module
Add assignments to module
-------------------------
Once the course modules are created, you can add assignments (projects). You can create a new project or import existing projects.

1. In the course module, click **Add Assignment**.
2. On the **Create Assignment** page, click **New** or **Existing**.
1. In the course module, click **Add Assignment** to create a new assignment, or click the drop-down arrow next to **Add Assignment** and select **Add Copy From Existing** to copy assignments from an existing course.

2. Choose how to create your assignment:

- To create a **new** assignment:

a. Add assignment, and choose: **New**.
a. Click **Add Assignment**.
b. Select the starting point (Stack, Starter Pack, etc.).
c. Enter a name and description, select icon and click **Create**.
c. Enter a name and description, select an icon and click **Create**.

- To import an assignment and automatically generate Codio formatting for your material (a :ref:`guide <guides-intro>`), use :ref:`Smart Import <smartimport>`:

a. Click **Add Assignment**.
b. Click **Smart Import** under **Select your Starting Point**.
c. Click the **Source** drop-down and select **Files**, **Archive**, or **GitHub**, and then select your files or enter your repository URL.
d. Enter a name and description and click **Create**.

- To import an assignment from a **Git repository or Codio project zip file**:

a. Click **Add Assignment**.
b. Click **Import** under **Select your Starting Point**.
c. Select a Stack, choose the **Source** from the drop-down, and enter the details for your source.
d. Enter a name and description and click **Create**.

- If you want to **import a project-based** assignment:

a. Add assignment, and choose: **New**.
b. Click **Copy Project** under **Selecting your Starting Point** and browse to the project and select it.
a. Click **Add Assignment**.
b. Click **Copy Project** under **Select your Starting Point** and browse to the project and select it.
c. Click **Create**.

- To add assignments from **existing courses**:

a. Add assignment, and choose: **Existing**.
a. Click the drop-down arrow next to **Add Assignment** and select **Add Copy From Existing**.
b. Select the course and module.
c. Check the check boxes for the assignments to be added to the course.
d. Click **Select**.
d. Click **Select**.

- To add assignments from **course share codes**:
a. Add assignment, and choose: **Existing**.

a. Click the drop-down arrow next to **Add Assignment** and select **Add Copy From Existing**.
b. Select **Get by code** tab.
c. Enter course share code and click the **Show Content** button.
c. Enter the course share code and click the **Show Content** button.
d. Check the check boxes for the assignments to be added to the course.
e. Click **Select**.
e. Click **Select**.

.. Note:: For more information about authoring course content, :ref:`click here <guides-intro>`.

3. Open the assignment to review it in the IDE and when ready **Publish** it . The assignment is not visible to students until it's published.

Expand Down Expand Up @@ -104,4 +118,7 @@ To delete an assignment in a course module, click **Delete** for the specific as
To delete a course module, click **Delete** in the module.

.. image:: /img/manage_classes/deletemodule.png
:alt: Delete Module
:alt: Delete Module



1 change: 1 addition & 0 deletions source/instructors/setupcourses/course-llm.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ Reset LLM Keys

.. image:: /img/llm_course_reset.png
:alt: LLMs Course Reset
:width: 400px

If students exceed any of the limits set above, they will appear in the **Reset LLM Keys** area where instructors can reset their keys to allow them to continue working.

Expand Down
1 change: 1 addition & 0 deletions source/instructors/setupcourses/courses.rst
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ Courses Set Up
course-llm
course-coach-settings
custom-coach-extensions
smart-import


A course is a grouping of students who are taught as a logical group. One of the main tasks for instructors is to create the courses for their students, and then add content (modules and assignments), share it with others, add teachers and students to it, and other tasks.
Expand Down
65 changes: 65 additions & 0 deletions source/instructors/setupcourses/smart-import.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
.. meta::
:description: Use Smart Import to import assignments into Codio. Smart Import automatically generates a Codio Guide for each imported assignment.


.. _smartimport:


Smart Import
============

Use Smart Import to import existing content into your Codio course as assignments. Smart Import automatically creates a Codio Guide for each assignment. It converts your source document into Markdown that best represents its structure, including heading levels, lists, and code blocks. It also adds the code files from your source to the assignment layout, so the guide displays on the right and the code files display on the left.

Smart Import examines the contents of your uploaded materials to determine the programming language used and assigns the appropriate technology stack to the assignment. You do not have to build the guide, configure the layout, or manually select a stack.


Smart Import supports three sources:

- **Files** — Upload individual files from your computer (32 MB limit).
- **Archive** — Upload an archive file from your computer.
- **GitHub** — Import the contents of a GitHub repository, including repositories used with GitHub Classroom.

Each Smart Import operation creates one assignment, but you can run multiple imports concurrently. Start an import, then begin the next one while the first is still processing.
Comment thread
LolaValente marked this conversation as resolved.

Import an Assignment
--------------------

1. Open your course and click **Edit Assignments** in the navigation pane on the left.

2. If your course does not have a module yet, click **Add Module** to create one.

3. Click **Add Assignment**.

4. Click **Smart Import**.

5. Click the **Source** drop-down and select your source:


- **Files** — Click the **Select files** box and select the files you want to import in the file browser window that opens.
- **Archive** — Click the **Select archive file** box and select the archive file you want to import in the file browser window that opens.
- **GitHub** — Enter your GitHub repository URL.

.. image:: /img/guides/smart-import-source.png
:alt: Smart Import in the Select your Starting Point window, showing the Source drop-down and the GitHub Repository URL field
:width: 450px

6. Enter a name for the assignment. You can also enter a description.

7. Click **Create**.

The assignment appears in your module with an importing status. When the import completes, Codio generates the guide and layout from your source content automatically.

.. note:: To import all of your GitHub Classroom assignments at once, see :ref:`importfromgithubclassroom`. Assignments imported with that method retain your README and coding files but do not include an automatically generated guide.

Preview and Publish an Assignment
---------------------------------

Assignments created with Smart Import are saved as drafts. Students cannot access a draft assignment until you publish it. Preview each assignment to confirm the generated guide meets your needs, and then publish it to make it available to your students.

1. Click **Edit Assignments** and click the assignment to preview it.

2. To make changes, click **Edit**, modify the assignment, and then click **Preview** to review your updates.

3. When the assignment is ready for your students, click **Publish**, and then click **Publish** again to confirm.

The assignment status changes from draft to published, and students can now access it. Published assignments also appear on your course **Overview** dashboard.