Picture of Jim McIntosh

Jim McIntosh

June 20, 2017

Hey, Computer Science Students Should Show Their Work Too

InstructorPlaybackCodeQuestion+MimirClassroom(Instructor playing back a student's code question submission)

Traditional test question types like multiple choice and true-false questions were devised to easily quantify learning of a concept or subject. Those question types did the job well for non-STEM subjects but they are still difficult for instructors to write and students often spend too much time with test taking strategies versus actual learning.

Essay questions are best used to evaluate more complex concepts and allow the student to explain their thought process. However, grading is very time consuming and subjective. There are so many things wrong with asking a computer science (cs) student to provide a solution in an online text box, or even worse…. on paper. I’m quickly reminded of stories from old professors that allude to taking punch cards to the compiler and waiting for results.

There are more progressive computer science instructors who incorporate scripted test cases to grade coding on each assignment, but students are still missing out on seeing results of those tests as they work. Even with scripted test case grading, instructors spend excessive time troubleshooting files and environments on top of grading and adding feedback.

Mimir Code Questions combines the best of problem-based questions with the ability to instantly quantify question answers (like multiple choice questions). They are especially built for computer science coding problems.

Code questions allow students to demonstrate their level of understanding by writing code, running that code instantly, working through debugging their solution and then submitting the assignment or quiz.

The advantage to instructors is that solutions are auto-graded and may be played back to see the student’s problem solving process. It’s like watching over the student’s shoulder as they show their work in real time.

Code questions can be used alongside multiple choice or short answer question types in an assignment or quiz. They construct concepts that lead up to a larger evaluation of concepts with code questions. Instructors can design assignments with multiple-choice questions to construct a concept and then finish the assignment with a code question to pull it all together.

Key features

  • 40 + languages supported (Assembly and COBOL to commonly taught Java, C++ and Python, and Databases)

  • Multiple testing types (I/O, Unit, Quality, & Metrics)

  • Students write, run, debug and submit actual code

  • Instructors can playback the process of the student coding a project