Skip to main content

Course Management for Administrators

This guide covers administrative operations for course management, including course reset and course archiving functionality. These operations are only available to system administrators.


Course Reset

The Course Reset operation allows administrators to clear all student data from a course while preserving the course structure. This is useful for:

  • Data privacy compliance (e.g., GDPR) - removing student data after a semester ends
  • Reusing course templates - preparing a course for a new cohort of students
  • Testing purposes - resetting a test course to its initial state
warning

The course reset operation cannot be undone. Before performing a reset, consider archiving the course to preserve student data for future reference.

What is Preserved vs Deleted

The following tables show exactly what data is affected by a course reset:

Data that is PRESERVED (kept after reset)

CategoryData TypeDescription
Course StructureCourse settingsTitle, description, dates, groups, all configuration
ExercisesAll exercise definitions (programming, text, modeling, quiz, file upload)
Exercise materialsProblem statements, grading criteria, example solutions
Programming exercise reposTemplate, solution, and test repositories
ExamsExam definitions, exercise groups, registered students list structure
LecturesLecture content, attachments, units
CompetenciesCompetency definitions and relations
Tutorial groupsTutorial group definitions and schedules (but not student registrations)
CommunicationChannels/ConversationsChannel and conversation structure (but not messages)
StaffInstructorsAll instructor assignments

Data that is DELETED (removed during reset)

CategoryData TypeDescription
Exercise DataParticipationsAll student exercise participations
SubmissionsAll student submissions (code, text, models, files)
ResultsAll assessment results and scores
FeedbacksAll manual and automatic feedback
Build resultsProgramming exercise build logs and results
Plagiarism casesAll plagiarism detection results
Exam DataStudent examsAll student exam instances
Exam participationsAll exam exercise participations
Exam submissionsAll exam submissions and results
Exam gradesAll exam grading data
Learning AnalyticsCompetency progressStudent progress on competencies
Learner profilesCourse-specific learner profile data
Participant scoresCached scores for exercises
CommunicationPostsAll posts in channels and conversations
Answer postsAll replies to posts
ReactionsAll reactions to posts and answers
NotificationsAll course notifications
Notification settingsUser notification preferences for the course
AI FeaturesIris chat sessionsAll AI tutor conversation history
LLM token usageRecords of AI model usage and costs
Tutorial GroupsRegistrationsAll student registrations to tutorial groups
EnrollmentStudentsRemoved from student group
TutorsRemoved from tutor group
EditorsRemoved from editor group

Course Archive

The Course Archive operation creates a ZIP file containing course data for long-term storage. The archive is useful for:

  • Record keeping - Maintaining evidence of student work and assessments
  • Compliance - Meeting data retention requirements
  • Backup - Preserving course data before deletion or reset

Archive Contents

The course archive is structured as follows:

course-archive.zip
├── course-exercises/
│ └── [exercise exports with submissions...]
├── exams/
│ └── [exam exports with student exams...]
├── student-data/
│ ├── course-scores.csv
│ ├── exam-scores-{examId}-{examTitle}.csv
│ ├── participation-results.csv
│ ├── posts.csv
│ ├── competency-progress.csv
│ ├── learner-profiles.csv
│ ├── tutorial-group-registrations.csv
│ ├── iris-sessions.json
│ └── llm-token-usage.csv
├── report.csv
└── exportErrors.txt

What is Included vs Not Included

Data that is INCLUDED in the archive

CategoryFile/FolderContents
Exercisescourse-exercises/All course exercises with student submissions
Programming exercisesRepositories (template, solution, test, student repos)
Text exercisesSubmissions with assessments and feedback
Modeling exercisesModel submissions with assessments
File upload exercisesUploaded files with assessments
Quiz exercisesQuiz submissions and answers
Examsexams/All exams with student exam data
Student examsIndividual student exam instances
Exam exercisesAll exam exercise submissions
Scoresstudent-data/course-scores.csvAggregated student scores for all course exercises
student-data/exam-scores-*.csvAggregated student scores per exam (one file per exam)
Student Datastudent-data/participation-results.csvLatest submission and result per participation with feedback
student-data/posts.csvAll posts and answer posts from conversations
student-data/competency-progress.csvStudent competency progress records
student-data/learner-profiles.csvCourse learner profile data
student-data/tutorial-group-registrations.csvStudent registrations to tutorial groups
student-data/iris-sessions.jsonIris AI tutor chat sessions (if Iris enabled)
student-data/llm-token-usage.csvLLM token usage traces (if Iris enabled)
Reportsreport.csvExport statistics per exercise
exportErrors.txtAny errors encountered during export

Data that is NOT INCLUDED in the archive

CategoryData TypeReason
Course StructureCourse settingsCan be recreated; not student data
Exercise definitionsEmbedded in exercise exports
Lecture contentNot part of archival scope
Competency definitionsCan be recreated; only progress is archived
Tutorial group definitionsCan be recreated; only registrations are archived
CommunicationReactionsDerived from posts; not separately archived
Private messagesPrivacy considerations
System DataNotificationsEphemeral; not needed for records
Notification settingsUser preferences; not student work
Audit logsManaged separately by system
User DataUser accountsManaged at system level
Group membershipsCan be derived from participation data

Student Data Export Files

course-scores.csv

Contains aggregated course scores for all students. Uses the same calculation as the course statistics UI:

ColumnDescription
StudentIdUnique identifier of the student
StudentLoginStudent's login username
PointsAchievedTotal points achieved across all exercises
ScoreAchievedPercentage score achieved (0-100)
RegularPointsAchievableMaximum achievable points

exam-scores-{examId}-{examTitle}.csv

Contains aggregated exam scores for each exam (one file per exam). Uses the same calculation as the exam statistics UI:

ColumnDescription
StudentIdUnique identifier of the student
StudentLoginStudent's login username
PointsAchievedTotal points achieved in the exam
ScoreAchievedPercentage score achieved (0-100)
RegularPointsAchievableMaximum achievable points in the exam

participation-results.csv

Contains the latest submission and result for each student participation:

ColumnDescription
ExerciseIdUnique identifier of the exercise
ExerciseTitleName of the exercise
ParticipantLoginStudent's login username
ParticipantNameStudent's display name
ParticipationTypeRATED (before due date) or PRACTICE (after due date)
SubmissionDateWhen the submission was made
ScoreAchieved score (percentage)
RatedWhether the result counts for grading
SuccessfulWhether the submission passed (for programming exercises)
FeedbackCountNumber of feedback items
FeedbackDetailsConcatenated feedback text with points

posts.csv

Contains all posts and answer posts from course conversations:

ColumnDescription
TypePOST or ANSWER
IdUnique post identifier
AuthorLoginUsername of the post author
CreationDateWhen the post was created
ContentText content of the post
ConversationIdID of the containing conversation (for posts)
ParentPostIdID of the parent post (for answers)

competency-progress.csv

Contains student progress on course competencies:

ColumnDescription
CompetencyIdUnique identifier of the competency
CompetencyTitleName of the competency
UserLoginStudent's login username
ProgressProgress value (0.0 to 1.0)
ConfidenceConfidence value (0.0 to 1.0)
LastModifiedWhen the progress was last updated

learner-profiles.csv

Contains course-specific learner profile data:

ColumnDescription
UserLoginStudent's login username
AimForGradeOrBonusStudent's grade/bonus goal setting
TimeInvestmentPlanned time investment level
RepetitionIntensityPreferred repetition intensity

tutorial-group-registrations.csv

Contains student registrations to tutorial groups:

ColumnDescription
TutorialGroupIdUnique identifier of the tutorial group
TutorialGroupTitleName of the tutorial group
StudentLoginStudent's login username
StudentNameStudent's display name
RegistrationTypeType of registration (e.g., STUDENT)

iris-sessions.json

Contains Iris AI tutor chat sessions (JSON format):

[
{
"id": 123,
"userId": 456,
"creationDate": "2024-01-15T10:30:00Z",
"messages": [
{
"id": 789,
"sentAt": "2024-01-15T10:30:05Z",
"sender": "USER",
"content": "How do I implement a binary search?",
"helpful": true
}
]
}
]

llm-token-usage.csv

Contains LLM token usage records for AI features:

ColumnDescription
TraceIdUnique trace identifier
ServiceTypeType of AI service (e.g., IRIS)
UserIdUser who triggered the request
ExerciseIdAssociated exercise (if applicable)
TimeWhen the request was made
ModelAI model used
PipelineService pipeline identifier
NumInputTokensNumber of input tokens
NumOutputTokensNumber of output tokens
CostPerMillionInputTokensCost rate for input tokens
CostPerMillionOutputTokensCost rate for output tokens

Best Practices

Before Resetting a Course

  1. Create an archive - Always archive the course before resetting to preserve student data
  2. Notify stakeholders - Inform instructors and relevant staff about the reset
  3. Verify the course - Double-check you are resetting the correct course
  4. Check data retention policies - Ensure you comply with institutional requirements

After Archiving a Course

  1. Verify the archive - Check the ZIP file can be extracted and contains expected data
  2. Store securely - Move the archive to secure, backed-up storage
  3. Document location - Record where the archive is stored for future reference
  4. Set retention period - Note when the archive can be deleted per policy