Code Assignments
For teachersWhat Code Assignments Provide
Code assignments in Quizzibility give students an integrated development environment directly in the browser. Students read the problem description, write their solution in the code editor, run it against test cases, and submit — all without installing anything on their local machine. This eliminates the "I can't get my environment set up" barrier that plagues the first weeks of every programming course.
Supported Languages
Quizzibility currently supports four languages for code assignments:
- Python — The most commonly used language in introductory CS courses. Full standard library support.
- C — For systems programming courses. Compiled with GCC.
- C++ — Extends C support with the standard library and STL.
- Java — For object-oriented programming courses. Standard JDK libraries available.
Code execution happens in sandboxed containers with resource limits (CPU time, memory, and disk), so students cannot accidentally (or intentionally) run code that affects the server or other users.
Test Cases and Automated Grading
Each code assignment includes a set of test cases that define what correct behavior looks like. A test case specifies input (stdin or function arguments) and expected output. When a student runs their code, Quizzibility executes it against the test cases and reports which ones passed and which failed.
You can configure test cases as visible (students see the input and expected output, useful for debugging) or hidden (students see only pass/fail, useful for preventing hard-coding of answers). A common pattern is to provide a few visible test cases for students to develop against and several hidden test cases for final grading.
Grading can be fully automated (score = percentage of passing test cases) or you can review submissions manually for style, documentation, or approach.
The Code Editor
The browser-based editor includes syntax highlighting, auto-indentation, bracket matching, and basic autocomplete. It is not a full IDE — there is no debugger or file system — but it is sufficient for the kinds of assignments typical in introductory and intermediate courses. The editor is keyboard-accessible and works with screen readers.
If you have enabled the AI assistant for your course, students will see a chat sidebar next to the editor where they can ask for hints and explanations.
When to Use Code Assignments
Code assignments are ideal for courses where you want students to practice writing and running code without the overhead of local environment setup. They work best for self-contained problems — functions, algorithms, and small programs. For larger projects that require multiple files or external libraries, you may want to supplement with a traditional development environment.
Within an activity sequence, code assignments pair well with worked examples and Parsons problems: introduce a concept with examples, practice the structure with a Parsons problem, then have students write the code themselves as the final step.