Getting Started: Creating an Assignment
Assignments are where students actually do the work — each one spins up a real, isolated compute environment (a Jupyter-style notebook server) that a student launches, works in, and submits from. As with courses, an assignment can be built by hand on Lab.Computer, or it can arrive already wired up the moment an instructor launches it from Canvas. This guide walks through building one from scratch, then covers what changes when Canvas is doing the launching.
Path 1: Standalone
Starting a new assignment
From inside a course, open the Assignments tab and click + Create Assignment. Assignment creation is a three-step wizard — Basic Details, Hardware, and Timeout — and you'll move through all three before the assignment is saved.
Step 1: Basic Details
- Assignment name — required, shown to students on their dashboard and in the assignment list.
- Start date and End date — the window during which students can access and submit the assignment.
- “Allow students to install packages” — leave this off for a locked-down, reproducible environment; turn it on if the assignment expects students to pip/conda install something themselves.
- “Enable proctoring for this assignment” — turns on proctoring for the session, useful for graded exams rather than everyday practice work.

Step 2: Hardware
Pick the compute tier the assignment needs. Lab.Computer currently offers three resource types:
- 2vCPU-2GB — the lightest tier, suited to basic scripting and small notebooks.
- 2vCPU-16GB — more memory headroom for data-heavy notebooks (pandas, larger datasets) without extra CPU.
- 4vCPU-15GB-T4GPU — adds a T4 GPU alongside more CPU, for machine learning or GPU-accelerated workloads.
A disk storage slider (1024–2048 MB) sets how much local disk each student's environment gets. Choose the smallest tier that comfortably fits the assignment — it keeps servers starting quickly and keeps costs down.
Step 3: Timeout
Timeout settings control how aggressively idle servers get shut down, and how long the assignment stays open overall:
- Instructor timeout — how long an idle instructor session stays running before shutting down (default 10 minutes).
- Student timeout — the same idle shutdown, applied to student sessions (default 10 minutes).
- Assignment duration (optional) — a hard cap on how long a student's session may run in total, set in Days / Hours / Minutes. Leave it blank for no cap beyond the assignment's end date.
Finish the wizard and the assignment appears in the course's Assignments table, showing its name, start and due dates, score, status (starts as Draft), and submission count, alongside a play/stop toggle, an Open button, and a 3-dot menu (Edit / Duplicate / Delete).
Building the notebook
Click Open on the assignment, then Start Server to launch the authoring environment — a full JupyterLab-style workspace with a file browser, kernel launcher (Python 3, C++, Java, Julia, and more), and the usual File/Edit/View/Run/Kernel menus, plus Stop / Save / Draft / Generate controls.

Build the assignment as a notebook, cell by cell. Every cell carries a small row of toggles above it:
- Read only — locks the cell so students can see it but not edit it. Useful for instructions or setup code you don't want altered.
- Solution — marks the cell as reference solution content.
- Points — turns the cell into a graded item. Selecting it reveals a Points field (numeric, default 0) and a grading-mode toggle between Auto and Manual (Manual is selected by default).

Auto-graded cells are checked automatically against expected output when a student submits. Manual cells are scored later by the instructor from the Submissions view — see the next article in this series for that workflow.
Use Save to checkpoint your work, Draft to keep the assignment hidden from students while you keep editing, and Generate to produce the student-facing version once you're satisfied with the notebook.
Building faster with the AI Assistant
The same notebook editor has an AI Assistant panel — click the AI Assistant tab on the right edge of the screen to open it. It opens with a set of one-click starting points: create a new notebook on a topic, explain what the current notebook does, run it and find and fix bugs, summarize its key steps, suggest improvements for the current cell, turn a PDF into an assignment, generate an illustrative image, add an MCQ question below a cell, produce an SVG diagram, or generate a new assessment question on a given topic. You can also just type a request of your own into the box at the bottom.

It's a real, working assistant rather than a canned prompt box — asking it to explain an existing notebook has it actually open and read the file, then answer from what's there. Asked about the MySQL Querying assignment used throughout this series, it read the notebook end to end and returned a section-by-section breakdown: the setup cell, each concept-demo-problem block, the auto-graded tests, and a closing summary of what the assignment covers — a fast way to sanity-check a notebook you're building, or get oriented in one someone else authored.

Each response shows its token usage (prompt / completion / total) and, when it reads files or inspects the notebook, the tool calls it made to do so — worth keeping an eye on for longer notebooks or repeated requests.
Releasing, editing, and removing assignments
An assignment stays in Draft status until its start date, or until you explicitly make it available — students only see assignments that are live. From the 3-dot menu on the Assignments table you can Edit an assignment's details at any time, Duplicate it as a starting point for a similar one, or Delete it if it's no longer needed.
Path 2: Through Canvas (LMS)
When an assignment is launched through Canvas via LTI, Lab.Computer automatically creates the matching assignment record and links it to the Canvas gradebook column the instructor set up — the notebook itself is still authored the same way described above. See Canvas Assignment Setup and Launch for how an instructor configures the Canvas-side External Tool link and launch settings.
The Hardware and Timeout steps, and the notebook cell mechanics (Read only / Solution / Points), are identical whether the assignment was created standalone or first launched from Canvas — the LTI launch only changes how the assignment gets linked to a course and gradebook (and pre-fills the assignment name), not how the rest is built.
For a real walkthrough of exactly what arrives pre-filled after a Canvas launch and what you still need to configure — using an actual synced assignment, screenshots included — see Canvas Assignment Setup and Launch: Finishing the assignment after sync.
What's next
Once students start submitting work, you'll want to review and score it — that's covered in the final article in this series, on grading assignments.