Skip to content

CS1010S Programming Methodology

Coursemology as LMS

Coursemology is an open source gamified learning manage system for Computer Science courses, which is widely used in NUS for programming courses. Coursemology allows course instructors to setup programming assignments, quizzes, and other learning activities. Like other online judges, Coursemology provides an online code editor and programming environment for students to write, execute and submit their code. The Coursemology platform also provides a test-based grading system that automatically runs students' code against the test cases provided by the course instructor to check the correctness of the code. Moreover, Coursemology also allows course instructors and teaching assistants to leave manually written comments and feedback on students' code submissions.

To improve the efficiency of grading and providing detailed feedback to CS1010S students, we have integrated the Intelligent Tutoring System (ITS) seamlessly with Coursemology to provide help for any programming assignments.

Traditional Workflow

Figure 1 shows and illustrates the snapshot traditional workflow of grading programming assignments in Coursemology.

  1. Course instructor needs to provide a problem statement, a set of public and private test cases, and optionally a reference solution for the programming assignment. A grading rubric is often distributed to the teaching assistants (TAs) to guide them in grading the assignments.
  2. Students then work on the assignment and submit their solutions to Coursemology. Typically wait for 1-2 weeks for the comments from TAs
  3. Coursemology automatically evaluates the correctness of the student's code by running it against the test cases.
  4. The test-based evaluation result is often used as a reference, but teaching assistants (TAs) still need to manually inspect the student's code, grade and write feedback for each student submission based on the grading rubric.

ITS Enhanced Workflow

Figure 2 shows and illustrates the snapshot enhanced workflow of grading programming assignments in Coursemology with the ITS.

  1. Course instructor needs to provide a problem statement, a set of public and private test cases, and optionally a reference solution for the programming assignment. A grading rubric is often distributed to the teaching assistants (TAs) to guide them in grading the assignments.
  2. Students then work on the assignment and submit their solutions to Coursemology.
  3. Coursemology automatically evaluates the correctness of the student's code by running it against the test cases.
    1. Coursemology forwards the student's submission and send feedback generation request to the ITS's API endpoint.
    2. ITS takes over the submission and response the formulated high-level feedback for the students in Coursemology. The detailed procudure is described in Overview and Example.
  1. Coursemology highlights the feedback response from the ITS in the code editor and draft the comments for the TAs to review and submit.
  2. TAs review the ITS localized errors, explanation, drafted comments, add additional comments if necessary, and submit the final feedback to the students.