Skip to main content

Professor Walkthrough

This walkthrough describes a typical “first run” experience for a professor using CodeSpell for the first time. It covers the main steps to create a course, publish an assignment, and review student progress.

1) Create your first Assignment

The first step is to create an assignment. Assignments are a practical way to present coding problems to students and evaluate their solutions. They contain the problem statement (documentation), goals, and evaluation rules that will be used to automatically evaluate student submissions.

The assignment creation process is divided into 5 steps. In each step, you will provide different information about the assignment:

  1. Basic Information
    • Name, description, programming language, tags, deadline and documentation. The documentation is where you explain the problem and requirements to students.
  2. Initial Code
    • Add code templates or starter code to help students get started.
  3. Assessment
    • Define unit tests that will be run automatically on every submission.
  4. Evaluation
    • Define rubrics and grading rules to evaluate submissions. You can configure rules based on test results, code quality, performance, and more.
  5. Goals
    • Define high-level goals that students should achieve in their solution.

To create your first assignment, follow these steps:

  1. Open the CodeSpell Editor - https://editor.codespell.net.
  2. Click Dashboard.
  3. Click Create Assignment on the left sidebar.
  4. Provide the Assignment's basic information.
  5. Click on the » button at the bottom of the screen to move to the next step.
  6. Add initial code templates or starter code (optional).
  7. Click on the » button once again to move to the next step.
  8. Define unit tests for the assignment (optional).
  9. Click on the » button to move to the next step.
  10. Define evaluation rules and grading rubrics (optional).
  11. Click on the » button to move to the next step.
  12. Define at least one high-level goal for the assignment.

The assignment documentation is where you explain the problem, requirements, and goals to students.

2) Define evaluation rules

CodeSpell can automatically evaluate submissions using rubrics defined by the professor. You can assign different weights to each rubric to indicate their importance in the final grade. You can also control how rubrics are calculated by adding specific tests to each of them.

For more details, please check the Rubrics documentation.

Let's define our first rubric with some evaluation tests:

  1. Move to the Dashboard and find the assignment you just created.
  2. Click on the icon to open the assignment settings.
  3. Click on the Evaluation tab in the left sidebar.
  4. Click on the Add Rubric button in the top right corner to create a new rubric.
  5. Provide a name, description, and weight for the rubric.
    • For example, you can create a rubric called Correctness with a weight of 50%. To update the name and description just click on the default name/description and start typing.
  6. Click on the Add Test button to add a new test to the rubric.
  7. Choose a test type and provide the required information for the test.
    • For example, you can choose a Complexity Test. Choose the Average Lines of Code per Function metric, choose Lower Test Type and set a threshold of 10-20 lines.
    • This test will grant a full score of 1 if the average lines of code per function is 10 or less, and a score of 0 if it is 20 or more. Values between 10 and 20 will be scored proportionally.
  8. Click on the Save Changes button in the bottom of the left sidebar to save your changes.

You can repeat steps 4-8 to add more rubrics and tests to the assignment.

3) Create a Course

Courses are the main container for your teaching content. They allow you to group assignments and challenges and manage your students.

The course creation process is divided into 3 steps. In each step, you will provide different information about the course:

  1. Basic Information: Name, description, difficulty level, programming language.
  2. Quick Information: Pre-requisites and learning outcomes
  3. Content: Select assignments or challenges to include in the course.

To create your first course:

  1. Open the CodeSpell Editor - https://editor.codespell.net.
  2. Click Dashboard.
  3. Click Create Course on the left sidebar.
  4. Provide a name, description, difficulty level, and programming language for the course.
  5. Click on the » button at the bottom of the screen to move to the next step.
  6. Provide pre-requisites and learning outcomes for the course (optional).
  7. Click on the » button once again to move to the next step.
  8. Select assignments or challenges to include in the course.
    • You should see the assignment you created in the previous section under the Available Content section.
    • Click on the icon to add it to the course.
  9. Click on the » button to finish the course creation.

After creating the course, you will be redirected to the course page.

4) Invite students

Students must enroll in a course before they can access its assignments and challenges. However, by default, courses are unlisted and not visible to students. You must send your students the course link to allow them to enroll.

To invite students:

  1. Open your course.
  2. Under the Quick Actions section on the left sidebar, click the Share button.
  3. The course link will be copied to your clipboard.
  4. Share the link with your students so they can enroll in the course.

Students who open the link will be able to enroll in the course.

5) Monitor submissions and progress

As students start working, CodeSpell automatically collects data and generates analytics.

You can track progress using dashboards in the main CodeSpell app:

Assignment Dashboard

This dashboard allows you to see aggregated metrics for all students that have submitted to the assignment. You can see:

  • Distribution of grades
  • Overall Performance scores
  • Overall Quality, Complexity, and Security scores
  • All submissions and their grades
  • A list of students who have submitted and their progress

These dashboards help you quickly identify trends, common issues, and students who may need extra help. To check the assignment dashboard:

  1. Open the CodeSpell web app - https://app.codespell.net.
  2. Click on the Dashboard tab in the left sidebar.
  3. Under the Assignments section, click on the assignment you want to review.
  4. You should now see the assignment dashboard with all the aggregated metrics.

Submission Dashboard

This dashboard allows you to see detailed information about a specific submission. You can see:

  • Performance score comparison with other submissions under the same assignment
  • Complexity, security, and quality score comparisons
  • Overall complexity, security, and quality metrics
  • Review the submitted code
  • Check the evaluation results as well as the calculations that led to the final grade.

To check the submission dashboard:

  1. Open the CodeSpell web app - https://app.codespell.net.
  2. Click on the Dashboard tab in the left sidebar.
  3. Under the Submissions section, click on the submission you want to review.

OR:

  1. Open the assignment dashboard for the assignment that contains the submission you want to review.
  2. Click on the Submissions tab.
  3. Find the submission you want to review and click on it to open the submission dashboard.

These dashboards help you quickly identify students who need help and understand common difficulties.

Student Dashboard

This dashboard allows you to see details about the final submission placed by a specific student. You can see:

  • Overview of the final submission and comparison with other students' final submissions
  • Complexity, security, and quality score comparisons with other students' final submissions
  • Evaluation results for the final submission
  • Assessment results for the final submission (i.e., quality, complexity, security, and performance metrics)
  • Review the submitted code for the final submission
  • Check a history of all the submissions placed by the student for that assignment, including their grades.

To open the student dashboard:

  1. Open the CodeSpell web app - https://app.codespell.net.
  2. Click on the Dashboard tab in the left sidebar.
  3. Choose the assignment that contains the student you want to review.
  4. Open the Assignment Dashboard for that assignment.
  5. Click on the Students tab.
  6. Find the student you want to review and click on the icon to open the student dashboard.

7) Review final submissions

Before the deadline, students can mark a submission as final.

After the deadline:

  • Final submissions are locked
  • You can review and grade them confidently

Use the dashboards Student Dashboard to review each student's final solution and evaluate their performance.