Instructor Roles
Wecode has two instructor-level roles: Head Instructor- Create and manage classes (lops)
- Create assignments for their classes
- Add instructors and students
- Full control over their classes
- View classes they belong to
- Create problems and assignments
- Add students only
- Limited to resources they create
This guide applies to both Head Instructors and Instructors unless specifically noted.
Creating Classes
Only Head Instructors and Admins can create classes. Regular instructors must be added to existing classes.
Enter Class Details
- Name: Class identifier (e.g., “CS 101 - Spring 2024”)
- Open: Check to allow student self-enrollment
- User List: Enter usernames of students to enroll (comma or space-separated)
Managing Class Enrollment
To add or remove students from a class:When a class is “Open”, students can self-enroll. When closed, only instructors can add students.
Creating Assignments
Assignments are homework sets containing one or more programming problems.Assignment Creation Workflow
Enter Basic Information
- Name: Assignment title (required, max 150 characters)
- Description: Optional detailed description
- PDF File: Optional PDF with full assignment details
Set Time Parameters
Start Time
- Date and time when students can begin submitting
- Students cannot submit before this time
- Primary deadline for the assignment
- Used for calculating late penalties
- Additional time after finish time (in hours)
- Can use expressions like:
24(24 hours)2*24(2 days)7*24*60*60(1 week in seconds)
- Submissions accepted until: finish_time + extra_time
Configure Late Policy
Enter a mathematical expression for late submission penalties:Common formulas:Variables available:
delay: Seconds after finish_timeextra_time: Your extra time in seconds
Add Problems
Click “Add Problem” to include problems in the assignment:
- Problem: Select from available problems
- Problem Name: Custom name for this assignment (optional)
- Score: Points for this problem (e.g., 100)
- Ordering: Drag to reorder problems
Select Programming Languages
Check which languages students can use:
- C++
- C
- Python 2/3
- Java
- Pascal
- Others as configured
Configure Visibility
- Open: Students can submit (uncheck to close assignment)
- Scoreboard: Enable public ranking (optional)
Assignment Settings Explained
Start Time and Finish Time- Start time: When assignment becomes available
- Finish time: Official deadline
- If start_time >= finish_time, the assignment never closes (useful for practice)
- When enabled, students see rankings
- Shows relative performance
- Updates in real-time as submissions are judged
- Open: Students can submit
- Closed: Submissions disabled (except for instructors)
- Toggle anytime to pause/resume submissions
Managing Assignments
Editing an Assignment
Modify Settings
Change any assignment parameters:
- Times and deadlines
- Problems and scores
- Class assignments
- Language restrictions
Duplicating an Assignment
To create a similar assignment:- Click “Duplicate” next to any assignment
- A copy is created with the same problems and settings
- Edit the duplicate to adjust for the new semester/class
Deleting an Assignment
- Click the delete icon
- Confirm deletion
- Assignment, submissions, and queue items are removed
Working with Problems
Viewing Available Problems
Instructors can use:- Problems they created
- Sharable problems from other instructors
- Admins can use any problem
- Search term (problem name)
- Tags
- Owner
- Usage statistics
Creating Problems
See the detailed Creating Problems Guide for complete instructions on:- Problem creation workflow
- Test case structure
- Writing descriptions
- Configuring languages and limits
- Template code
Problem Settings
Allow Practice- Enables students to submit outside assignments
- Appears in Practice mode
- Makes problem visible to other instructors
- They can add it to their assignments
- Only you can edit it
- Students can download test cases
- Helpful for local debugging
- Consider privacy implications
Viewing Submissions
Submissions List
Access submissions at/submissions/index/{assignment_id}:
Filter options:
- User: View specific student (or “all”)
- Problem: View specific problem (or “all”)
- Type: All submissions or final only
- Submission ID and timestamp
- Student username
- Problem name
- Language used
- Status (PENDING, ACCEPTED, WRONG ANSWER, etc.)
- Score (pre-score × coefficient)
- Delay from deadline
Viewing Submission Details
Click on any submission to see: Code Tab- Student’s submitted source code
- Syntax highlighted by language
- Verdict for each test case
- Time and memory usage
- Error messages if compilation failed
- Detailed judging log
- Compiler output
- Runtime errors
Understanding Verdicts
ACCEPTED (AC)- Output matches expected output exactly
- Passed all test cases
- Score: 10000 (100.00%)
- Output differs from expected
- Partial credit based on test cases passed
- Program took too long
- Check time limit settings
- Program used too much memory
- Check memory limit settings
- Program crashed during execution
- Common causes: segfault, array bounds, null pointer
- Code did not compile
- Check compiler output in log
- Submission queued for judging
- Should process within seconds/minutes
Rejudging Submissions
Rejudge when you:- Fix test cases
- Change time/memory limits
- Update problem configuration
- Click the rejudge icon next to the submission
- Status changes to PENDING
- Submission is re-evaluated
After rejudging, you may want to reload the scoreboard to reflect updated scores.
Scoreboards
Viewing Assignment Scoreboards
Scoreboard views:
- Full: Complete details with submission times
- Simplified: Scores only, no timestamps
- Plain: Text-only for copy/paste
Reloading Scoreboard
If scores seem incorrect:- Navigate to the assignment
- Click “Reload Scoreboard”
- System recalculates all final submissions
- Students’ chosen final submissions are reset to best scores
Class Scoreboards
View cumulative performance across all assignments:- Go to Classes page
- Click “Scoreboard” next to a class
- See aggregate scores for all students in all class assignments
Downloading Submissions
Download student code for:- External grading
- Plagiarism detection
- Record keeping
- Code review
Download Options
All Submissions (ZIP)- Complete assignment folder
- All students, all attempts
- Includes test cases and results
- One file per student per problem
- Folder structure:
- One file per student per problem
- Folder structure:
Plagiarism Detection with Moss
Moss (Measure of Software Similarity) detects code similarity.Moss integration must be configured by your system administrator. You’ll need a Moss User ID.
Running Moss Detection
Interpreting Moss Results
Moss shows:- Pairs of similar submissions
- Percentage similarity
- Side-by-side code comparison
- Highlighted matching sections
- High similarity (>80%) between different students
- Identical variable names and structure
- Similar unusual approaches
- Template code (if provided)
- Simple problems with few solutions
- Common algorithms
Best Practices
Assignment Design
Set Reasonable Time Limits
- Test your solution
- Allow 2-3× your solution’s runtime
- Consider less efficient student approaches
Provide Clear Descriptions
- Input format and constraints
- Output format
- Sample inputs/outputs
- Edge cases
During Assignment
Monitor Submissions
Check regularly for:
- Common errors indicating unclear problems
- Submissions stuck in queue
- Unexpected failures
Answer Questions Promptly
Students may email about:
- Clarifications on problem statements
- Technical issues
- Grading questions
After Assignment
Problem Creation Tips
- Use clear, descriptive names for easy identification
- Tag problems by topic (arrays, recursion, etc.)
- Mark sharable if you want others to use them
- Enable practice after assignment deadline for student review
- Include edge cases in test data (empty input, maximum values, etc.)
- Provide template code for complex I/O or starter structure
Troubleshooting
Students Can’t Submit
Check:- Assignment is “Open”
- Current time is after start_time
- Student is enrolled in a class assigned to the assignment
- Assignment hasn’t exceeded finish_time + extra_time
Submissions Stay Pending
Solutions:- Check queue status
- Contact administrator if queue is stuck
- Verify problem test cases exist
- Check problem directory permissions
Wrong Scores
Causes:- Late policy calculation issues
- Problem scores changed after submission
- Coefficient errors
- Reload scoreboard
- Rejudge submissions
- Check late_rule formula
Scoreboard Not Updating
Solutions:- Click “Reload Scoreboard”
- Check that scoreboard is enabled for assignment
- Verify submissions are judged (not PENDING)
Summary
As an instructor, you can:- ✅ Create and manage classes
- ✅ Design programming assignments
- ✅ Add problems from the problem bank
- ✅ Monitor student submissions in real-time
- ✅ Grade automatically with custom test cases
- ✅ Download submissions for review
- ✅ Detect plagiarism with Moss
- ✅ Customize late policies and scoring
- ✅ Track class performance with scoreboards

