表題の通り,プログラミングの問題集を作成・公開しました.
以下のリンクから,問題集に挑戦できます.※MathWorks Accountが必要です.
https://www.mathworks.com/matlabcentral/cody/groups/89866
この記事では,問題集公開までの手順を紹介します.
Cody
まず,自分が問題集を公開したサイトである Cody について説明します.
Codyは,プログラム言語MATLABの開発元であるMathWorks社が運営しています.
Codyでは,誰でも無料でMATLABのプログラミング問題を解くことができます.
掲載されている問題の数は5千以上であり,その問題の多くは一般MATLABユーザーによって作成されています.
個人的には,Codyの魅力は以下の点にあると考えています.
- プログラミング言語がMATLAB
- 時間に追われることなく,じっくり腰を据えて問題に取り組める
- 何時でも,問題に取り組める
- 問題が1問毎に分かれており,複数の問題を無理に完答する必要が無い
- レーティングがない(スコアランキングがある)
- 短いコードが良いコードという基準
- 問題正解後は他人の解答を確認でき,良いコードの投票ができる
- 問題や解答に対してコメント・議論ができる
Codyは,他人との競技的な側面が小さいです.
コミュニティメンバー皆で問題を出しあう,問題に取り組みお互いの回答を確認しあう,良い解答や問題を議論するといった事ができるオープンな場です.
CodyがMATLAB AnswersやFile Excahge,Discussionsと並んで表示されていることからも,その性格がわかるかと思います.
Codyは,他人との過度な競争を意識せずにプログラミングに取り組める利点があります.
問題作成
問題作成方法を説明します.MathWorks Accountでログインしている前提で進めます.
Codyのページを開き,上の方に表示されているCreate Problemを選択します.
問題作成ページが現れるので,以下の項目を埋めます.
- 問題のタイトル
- 問題の説明
- 問題のタグ
- 解答用の関数テンプレート(ユーザーが編集・解答する関数の雛形)
- 解答のテストプログラム
- (テストをチェックするための解答)
問題のタイトルは,255文字までの制限があります.問題の説明は,太字,斜体,アンダーラインなどが使えます.また,コードや画像,数式やリンクも挿入できます.
解答に関する項目では,テストプログラムの記載が最も重要になります.Codyは,すべてのテストをパスするプログラムを正解として受け付けます.意図しない解答を正解としないためには,十分に気を付けてテストを書く必要があります.
テストは,問題を解くためのヒントとして公開されています.出題意図を無視してテストをパスするだけなら,簡単にできてしまいます.すべてを網羅し,意図しない解答を受け付けないようにテストを用意することは困難なので,割り切ってテストを書くことが必要だと思います.
テストをチェックするための解答は,公開されないものであり,無くても構いません.問題のタグと解答用の関数テンプレートは,皆が分かりやすく使いやすいことを考えながら作成すると良いでしょう.
必要な項目を埋めた後,一番下にあるPublishボタンを押と問題が公開されます.
問題集の作成・公開
Codyで公開されている問題は,Problem Groupという単位で問題をまとめられます.
問題画面で右上にあるAdd To Groupsを押すと設定ができます.
作成者が誰であるかは関係なく,1つの問題を複数のProblem Groupに所属させられます.
また,ここで作成されるProblem Groupは,必ずPrivate設定になります.
作成したProblem Groupについて,設定をPrivateからPublicにすると問題集が公開されます.
問題集を公開するには,問題集に問題が10問以上含まれている必要があります.
また,Codyでのスコアが700以上必要です.
スコアが700以下の場合,リンクを知っている人のみアクセスできる設定にして,その問題集を10人以上の人に解いて貰うことで,設定をPrivateからPublicに変更できます.
問題集を公開する場合は,画像と簡単な説明もあると良いでしょう.
終わりに
Codyでプログラミングの問題集を作成・公開したので,そのやり方を紹介しました.
せっかく公開した問題集ですので,多くの方に挑戦して頂けたら嬉しいです.