PomeLabs

Activity Structure

Understand the anatomy of an activity — its statement, solution, feedback, hints, and grading settings.

Before building activities, it helps to understand what they are made of. This page explains the parts of an activity and how they work together. For where activities sit in the content hierarchy, see Content Structure. For a step-by-step creation guide, see Creating an Activity.

Anatomy of an Activity

Every activity has two layers: the content (what students see and answer) and the settings (how it is graded and displayed on a page).

The content is the reusable part — it can live in your Activity Library as a template and be forked onto multiple pages. The settings are specific to each page placement, letting you configure grading and visibility independently.

The Four Content Parts

Statement

The statement is the prompt or question shown to students — what they need to answer, build, or solve. Depending on the activity type, the statement might contain multiple-choice questions, circuit-building instructions, or programming tasks.

Solution / Answer Key

The solution defines what a correct submission looks like. For a quiz, it maps which options are correct and how many points each is worth. For a Connect exercise, it specifies the correct circuit. For a code exercise, it references a working code project.

The solution is never shown to students unless you explicitly enable Show correct answers in the display settings.

Feedback

Feedback is the message shown to students after they submit, helping them understand what they got right or wrong. You can write different feedback for each answer option in a quiz, or separate messages for passing and failing code submissions.

Hints

Hints are optional guidance for students who are stuck. You write them as an ordered list — hint 1 appears first, then hint 2 if the student submits again, and so on. You control when hints appear using the Show hints after setting.

Hint visibility

Hints only appear after the student has submitted a configurable number of times. Set Show hints after to control this threshold.

How Content Differs by Activity Type

Each activity type uses the four content parts differently:

PartQuizConnectCode
StatementQuestions with answer optionsCircuit instructions (design or debugging)Programming instructions with language selection
SolutionCorrect option(s) with point valuesCorrect circuit graph(s)Working code project + optional starter template
FeedbackPer-question, per-option messagesPer-option rich textPass/fail messages
HintsOrdered rich-text hintsOrdered rich-text hintsOrdered rich-text hints

Grading Settings

When you place an activity on a page, you configure how it is graded:

SettingDescription
GradedWhether this activity counts toward the student's score
Max attemptsHow many times a student can submit (unlimited if not set)
Grading policyHow the final score is calculated: Highest (best attempt), Latest (most recent), or Average (mean of all attempts)

Display Settings

You also control what students can see after submitting:

SettingDescription
Show correct answersWhether students can see the answer key after submitting
Show solutionWhether the full solution is visible to students
Show feedbackWhether feedback messages appear after each submission
Show hintsWhether hints are available to students
Show hints afterNumber of submissions before hints become available

Templates and Forking

A template is a reusable activity stored in your Activity Library. It contains only the content parts (statement, solution, feedback, hints) with no page-specific settings.

When you add a template to a page, the platform creates a fork — an independent copy. The fork inherits all four content parts, and you then configure grading and display settings for that specific placement. Edits to the fork do not affect the template, and updates to the template do not change existing forks.

One-off activities

You can also create an activity directly on a page without saving it as a template. This is useful for one-off exercises you do not plan to reuse.

The Grading Flow

When a student works on an activity, the platform tracks their progress through a clear flow:

  1. When a student opens an activity, an attempt is created.
  2. Each time the student submits their work, a submission is recorded under that attempt. A single attempt can have multiple submissions, up to the max attempts limit you configured.
  3. Each submission receives a score — either auto-scored or manually scored by you.
  4. The activity's grading policy (Highest, Latest, or Average) determines how submission scores are combined into the attempt's final grade.

Next Steps

How is this guide?

On this page