初心者向けのプログラミング教育をオンラインで行う上での大きな障害は、最初の環境設定がうまくいかない学生に対するサポートの難しさである。それを解決するには、ブラウザを使ってサーバに接続する方式のプログラミング環境が有効である。そのような環境としては Google Colaboratoryが有名であり、SFCでも1年生向けのPythonプログラミングの教材を Google Colaboratoryを用いて作成した。これにより、新入生でも環境設定の必要なく、ブラウザさえ開けばすぐにプログラミングの学習を始められるようになった。
Google Colaboratory(および、その元となったJupyter Notebook)は教育用ではあるが、主に個人での学習を対象として開発されたものであり、授業で使うための機能はあまり備えていない。学生はnotebookの中で練習問題の解答を作成するが、それを提出して採点する機能が存在しないのが大きな欠点である。そこで、Google Colaboratoryを使用して学生の解答を自動的に採点するツールを開発した。
教員は、教材のnotebookと共に、練習問題採点用のテストケースを、入力と出力の組の形で用意しておく。学生は、教材のnotebookを自分のGoogle Driveにコピーし、その中で練習問題の解答を作成する。このnotebookは、教員と共有するよう設定する。教員が自動採点プログラムを起動すると、学生のnotebookから解答のプログラムを抽出し、テストケースを実行してその結果を一覧表の形で出力する。
プログラムの自動採点ツールは、既にプログラムコンテストなどで使われているものがあるが、今回開発したツールは、教材の中に埋め込まれた解答を抽出して採点できることが特徴である。これにより、授業時間中に各学生の進捗度合いを可視化し、教員が確認しながら授業を進めることができる。
A major obstacle to online programming education for beginners is the difficulty of supporting students who have trouble setting up their initial environment. To solve this, a programming environment that connects to the server using a browser is effective. Google Colaboratory is famous as such an environment, and SFC also created Python programming teaching materials for first graders using Google Colaboratory. As a result, even new students can start learning programming as soon as they open the browser without the need for environment settings.
The Google Colaboratory (and its original Jupyter Notebook) is for educational purposes, but it was developed primarily for personal learning and doesn't have many features for use in class. Students create answers to exercises in their notebooks, but the major drawback is that the system does not have the ability to submit and score them. Therefore, we have developed a tool that automatically grades student answers using Google Colaboratory.
The teacher prepares test cases for scoring exercises in the form of pairs of inputs and outputs, along with a notebook of teaching materials. Students copy the teaching material notebook to their Google Drive and create answers to the exercises in it. Students set their notebooks to be shared with the teacher. When the teacher starts the automatic scoring program, the answer programs written by students are extracted from the student's notebooks, the test cases are executed, and the results are output in the form of a list.
Automatic program scoring tools have already been used in program contests, etc., but the advantage of the tool developed this time is being able to extract and score the answers embedded in the teaching materials. This makes it possible to visualize the progress of each student during the lesson time and the teacher can take advantage of it when proceeding with the class.
|