わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

代替手段が過半数?~タイピングによるプログラミング学習の初回

 本日の授業では,LbTypingをベースにしたWebアプリケーションを使ってもらいました.
 LbTypingのGitHubでのリリースは,今年の3月31日でしたが,その後も機能改善のコミットを行っています.そしてコンテンツ(タイプしてもらう課題)については,授業内容を踏まえた専用のものを検討し,ソースファイルとタイプ箇所はこちらで指定して,解説の文案を卒研生に作成してもらいました.開発版で,UIと課題の手直しを何度か行ってから,正式版を稼働させました.
 それと別に,使う前に見てもらう資料を,PowerPointで新たに作成し,ナレーションを入れて,動画にしました.その中で,実施してデータベースに格納される情報はプライバシー情報にあたり,このWebアプリケーションの利用に抵抗がある人や,ソフトウェアの不具合や通信障害といった理由で,思うように使用できなかった場合のために,代替手段を用意する,と書いてしゃべりました.
 昨年度までは1回の授業で1つのプログラムでしたが,本日は3つです*1.代替手段について,まずは,その3つのソースコードスクリーンショットを作成しました.そして課題は次のようにしました.

 所定のURLにアクセスして,3つの課題をそれぞれ1回以上実施し、3番目の課題の(最後の実施の)結果ページに表示されるタイプ時間を提出しなさい。
 何らかの事情でWebアプリケーションを利用しなかった場合には,3つの画像をダウンロードしてください.それぞれについて,空の状態から打ち込んでプログラムを完成させ,実行して適切な出力になるまでの時間を測定してください.答案は,「画像ファイル名 ●分●秒」の形式で提出しなさい.

 「空の状態」というのは,paiza.IOを使用するのなら,編集領域を全て削除し,「#include <stdio.h>」からタイプせよということです(関連:初めてのオンライン写経プログラミング).
 Webアプリケーションを使う場合のタイピングはというと,3つの画像のうち最後だけ,ソースコード全体とし,最初の2つは一部だけにしました.実のところ,毎回「#include <stdio.h>」からタイプする必然性はないと考えています.
 代替手段を含む課題設定で,もう一つ,考慮したことがありました.それは,タイプ時間の表記です.というのも,LbTypingで1回実施して,結果に表示されるのは,例えば「66秒666」のような表記です.1分を超えても「●分」とはならず,その一方で1秒未満の値がついています.
 ということで,一つの課題提出のところで,「66秒666」のようにタイムを貼り付けていれば,Webアプリケーションを使用してくれていて,「1分6秒」という表記だったら,使用しなかった,という判別を目論んだのです.
 なおLbTypingでは最初に学籍番号---学内運用では「学生番号」に書き換えました---を入力してもらいますが,ユーザ認証は適切に行えていません.実際のところ他人の学籍番号で実施することができてしまいます.この点への対策として*2,Webアプリケーションを使用した場合にも,学内アカウントでユーザ認証がなされているMoodleで,タイムを提出してもらい,それと,データベースの値とを照合することを,資料に記載して音声にもしています.
 そんなこんなで授業時間になりました.Teamsでは,第2回の連絡・質問用のチャネルのほか,このタイピングのWebアプリケーションに関するチャネルも新たに開設しましたが,学生からの質問は非常に少ないです.裏でTAに依頼をしました.3つのうちの「#include」からタイプする分を実施し,タイプ時間とミスタイプ数を,連絡・質問チャネルに投稿してください,と.そうして出してくれた投稿は,極めて短文だったため,この経緯と,TAも初めての使用だったことなどを,文章にして投稿しました.
 授業中の課題と,タイピングの提出期限は,授業の終了時間よりも少し先に設定しています.ともあれ終了直後にMoodleで提出内容を覗いてみると…
 「●分●秒」の形式の答案が多くて,びっくりしました.ざっと見たところ,過半数を占めています.
 使い勝手が悪かったのか,それとも,Webアプリケーションと画像からタイピングの両方を実施した学生がいたのか…現時点ではわかっていません.
 期限後に答案を回収して精査し,来週以降の実施に向けて改善に当たるとします.

*1:件数よりも大きな違いとして,今回,この実施を成績に入れることにします.

*2:提出させるのとは別に,問題選択画面で,「学生番号は~で合っていますか? 間違っている場合にはトップページへ」というのを表示させるようにしました.この表示機能はhttps://github.com/takehiko/LbTyping/blob/main/server/nd/user/choice.htmlの変数flag_show_cautionで制御していて,デフォルトは無効です.