typing.run: 初学者のプログラミング学習を支援するプログラムタイピングシステムの提案と実践

693 Views

September 07, 20

スライド概要

初学者がプログラミング学習においてつまずく点は様々であるが,著者らのこれまでの数年にわたる大学初年次のプログラミング教育の経験では,タイピング速度の遅さや,プログラミングに利用される英単語,カッコやセミコロンなど特殊文字の入力に抵抗があることが妨げとなっていることが観察されていた.そこで本研究では,プログラミング学習を円滑に進めるため,プログラムの逐次的な実行などによってプログラムの動作を把握しつつ,自身や他者と競いながらタイピング速度を上げつつプログラムを学ぶ,プログラムタイピングシステムtyping.runを提案および実装した.また,本システムを演習型プログラミング授業にて,授業前までの課題として毎授業ごとに複数回学生に取り組むことを課した運用の結果から,タイピング速度にばらつきがなくなっていること,全体的なタイピング速度が向上していること,またアンケートからプログラミング習得に効果的だったことなどが明らかになった.
https://typing.run

profile-image

明治大学 総合数理学部 先端メディアサイエンス学科 中村聡史研究室

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

typing.run: 初学者のプログラミング学習を支援する プログラムタイピングシステムの提案と実践 明治大学大学院 先端数理科学研究科 又吉康綱 中村聡史 2020/09/07 SIGHCI189 @オンライン

2.

デモ https://typing.run (PC/Chromeでのみ動作確認)

3.

背景 大学の情報系学部学科で開講されるプログラミング講義 • 必修のプログラミング講義 • 特 に 初 年 次 は , そ の 後の 講 義 に も つな が る た め 重要 • 落 単 し た ら 卒 業 で き ない • 選択のプログラミング講義 • 卒 業 要 件 の 一 部 の 単 位を 取 得 す る ため に 必 要 • 落 単 し て も 他 の 講 義 でカ バ ー で き る

4.

背景 大学の情報系学部学科で開講されるプログラミング講義 • 必修のプログラミング講義 • 特 に 初 年 次 は , そ の 後 の 講 義 に も つな が る た め 重要 • 落 単 し た ら 卒 業 で き ない • 選択のプログラミング講義 • 卒 業 要 件 の 一 部 の 単 位を 取 得 す る ため に 必 要 • 落 単 し て も 他 の 講 義 でカ バ ー で き る

5.

背景 • 大学の初年次必修プログラミング教育では,数十から数百人単位 の学生の初学者から経験者までに一斉に教える必要がある • 学生ごとにプログラム理解度の差やコンピュータに対する慣れ, タイピングの慣れなど,苦手なことが多様である

6.

背景 • 各教員は講義に工夫を凝らしている • 例:講義資料 / 予習のためのドリル / 制作物発表会 • 特 にプログラミングが苦手な学生の理解度の底上げが大切 • 数年の観察から,タイピング技量と基本的な命令の理解度の不足に着目

7.
[beta]
背景:理解度の底上げのために
タイピング技量 と 基本的な命令の理解
プログラミングのタイピング
• ア ル フ ァ ベ ッ ト を 含 む英 単 語

void setup size background ...

• カ ッ コ や セ ミ コ ロ ン など の 特 殊 記 号 { } ( ) , ; : | | & & % ! = “ ”
→ タ イ ピ ン グ 速 度 が 遅い と 学 習 ス ピー ド も 遅 く なる

プログラミングを学び初めに習う命令
• 学 び 始 め は 命 令 数 は 少な い が , 繰 り返 し 配 列 関 数 ク ラ ス 等 , 増 え る
→ ひ と つ で も 理 解 し てい な い と , 考え た り , 毎 回検 索 し た り する 手 間 が
生 じ る た め 学 習 ス ピー ド が 遅 く なる

8.

目的 プログラミングを用いたタイピング練習で,基本命令 の定着を目指すタイピングシステムの実装と実践

9.

関連研究 C言語を用いてタイピング練習した が,プログラミングの習得や成績と の相関は見られなかった [ 中田 2 0 1 3 ] →本研究と類似しているが,週1回 のタイピングでの結果 継続的なタイピング練習を行う

10.

設計指針 ただやみくもに文字の羅列としてプログラムのタイピング練習 (写経)するのはとてもつまらなくて,苦痛である • プログラムの理解を促す • 練習をしたくなる

11.

理解を促すために 入力不要のコメント/1行ごとの逐次実行

12.

練習したくなるために 内発的/ 外発的動機づけ • 自己ベストを目指せるようなスコア計算 • スコアを同級生と比較できるようなランキング掲示 6 5 4 3 2 1 0 問題1 問題2 Aさん Bさん 問題3 Cさん 問題4 Dさん

13.

実装 : typing.run

14.

運用: タイピングする問題(プログラム) 講義の予習になるように予習資料 にあるプログラムを積極的に採用 全1 1 回の講義分,計83問を作成

15.

運用 • 場所 : 明治大学総合数理学部先端メディアサイエンス学科の 学部1 年生の必修授業 プログラミング演習1 • 公開 : 2020 年5月6日より公開し周知 デバッグ協力や使い方のサポート • 期間 : 2020 年6月22日から7月27日 • 締め切り : 期間内の毎週月曜と水曜の授業開始前 • 全 1 1 回 の 講 義 分 の 問題 を 1 回 ず つ ノ ル マ回 数 や っ た かの 締 め 切 り を設 け た

16.

運用結果(履修者について) 参加人数: 118 人 タイピング回数: 88, 055 回

17.

運用結果 : 区間ごとの平均CPM 個人ごとに時系列順のスコアを 5 0分割した全員の CPM平均 問題の難易度が上がるのも関わらず右肩上がりに上昇 → 全体として期間後半になるほどタイピング速度が上達している

18.

運用結果 : 標準偏差 問題ごとの標準偏差 後半につれて標準偏差が下がっている →上位層と下位層の CPMの差が縮まっており底上げが示唆

19.

運用結果 : スコアまとめ 分割区間ごとの平均 CPM 問題の難易度が上がっているのにも関わらず 全員のCPM平均が上昇 していることから全体的にタイピング速度が上達 していると言える 問題ごとの標準偏差 上位層と下位層の差が縮まってることから 下位層の底上げが示唆

20.

運用結果 : アンケート 運用終了後に5段階評価式( -2~2) アンケートに回答 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 質問項目 授業開始前時点でタイピングが得意でしたか 授業終了後時点でタイピングが得意ですか 同級生間のランキングや分布のグラフは意識しましたか 一行タイピングするごとに実行されることに意識しましたか プログラムを変更できる機能を使用しましたか タイピング中にプログラムの内容を理解してましたか 関数名を覚えることができましたか 新しいことを学ぶ時に今後も利用したいですか 平均 -1.12 0.01 0.01 0.41 -0.82 0.33 1.14 1.17

21.

運用結果 : アンケート t y pi n g. r u n 実施前後によるタイピング得意に関する評価値の差 45 40 40 35 30 27 26 25 20 15 11 10 5 6 0 0 0 -4 -3 -2 1 0 -1 0 1 2 評価値の差(Q2-Q1) 1 段階以上あがった人は, 79名/ 111名中≒約71% →多くの人がタイピングが得意になったと感じてる 3 4

22.

運用結果:アンケート自由記述 • ポジティブな意見(63件) 「 タ イ ピ ン グ が 早 く なっ た 」 「 ブ ライ ン ド タ ッ チや 文 法 理 解 が深 く で き た 」 「 1 行 ご と に 実行 が よ か っ た」 「 コ メ ン トが わ か り や すか っ た 」 • ネガティブな意見(42件) 「 タ イ ピ ン グ 速 い = プ ロ グ ラ ム 出来 る と 思 っ た」 「 タ イ プ に気 を 取 ら れ た」 「 や っ て も ラ ン キ ン グが 上 が ら な かっ た 」 「 タ イプ が 遅 い 人 には 不 利 だ 」 • プログラミング経験者の ネガティブな意見 「 ス ペ ー ス が 自 由 に 入れ れ な い 」 「カ ッ コ 書 い てか ら 中 身 が かけ な い 」

23.

運用結果 : アンケート プログラミング経験有無による評価値の平均 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 経験なし(89名) -1.39 -0.12 0.01 0.39 -0.90 0.12 1.12 1.20 経験あり(22名) 0.00 0.00 0.50 -0.50 1.18 1.18 1.05 0.55 Q1 開始前タイピングが得意 Q1 , 2: 経験者のほうがタイピング得意 Q2 終了後タイピングが得意 Q4 , 6: 経験者は読めるため理解や意識の値が高い Q3 ランキングを意識 Q 8 : 経験者は自分のタイピングスタイルを確立 しており,システムに矯正されることが苦痛 なので値が低い→本提案の対象外 Q5 変更機能の使用 Q4 逐次実行を意識 Q6 タイプ中の内容理解 Q7 関数名の暗記 Q8 継続利用したいか

24.

運用結果 : アンケート プログラミング経験有無による評価値の平均 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 経験なし(89名) -1.39 -0.12 0.01 0.39 -0.90 0.12 1.12 1.20 経験あり(22名) 0.00 0.00 0.50 -0.50 1.18 1.18 1.05 0.55 Q1 開始前タイピングが得意 Q1 , 2: 経験者のほうがタイピング得意 Q2 終了後タイピングが得意 Q4 , 6: 経験者は読めるため理解や意識の値が高い Q3 ランキングを意識 Q 8 : 経験者は自分のタイピングスタイルを確立 しており,システムに矯正されることが苦痛 なので値が低い→本提案の対象外 Q5 変更機能の使用 Q4 逐次実行を意識 Q6 タイプ中の内容理解 Q7 関数名の暗記 Q8 継続利用したいか

25.

運用結果 : アンケートまとめ • ほとんどのアンケート項目の平均値は 正の値になった • 約7 1 %の人がタイピングが得意になった • プログラミング経験者は逐次実行の意識や内容の理解が高かった

26.

議論 : オンライン講義 本システムの目的: COVI D -19の影響によるオンライン講義の デメリットを少なくすること 対面講義 学 生 の 隣 に T A や 教 員 が 行き , 些 細 な 質問 や 疑 問 点 でも P C を 直接 覗 き な が ら プ ロ グ ラ ムの 修 正 や 解 法の 指 導 が 可 能 オンライン講義 ス ム ー ズ に 質 問 が 出 来な い た め , 限ら れ た T A だ け で学 生 の 質 問 を 捌 く こ と は 大 変 で あ り, パ ン ク す る →本システムで命令や記法のタイピングに慣れてもらった

27.

議論 : オンライン講義 例年あるタイプミスが原因の質問 • 命令のタイプミス println/print1n form/from • カ ッ コ や カ ン マ の 区 別が つ か ず に 間違 っ て い る , / . ( ) / { } 今年の考察 例 年 に 比 べ て 初 歩 的 なタ イ プ ミ ス によ っ て 起 こ る質 問 は 少 な かっ た ま た , 例 年 と 同 レ ベ ル の 課 題 で の 達成 度 も 高 か った と 感 じ た

28.

議論 : オンライン講義 講義についてのアンケートでは,収集した 93件のほぼ全てが高評価 であり,内29件がtypi ng. r un に助けられた旨の記述があった • タ イ ピ ン グ 速 度 が 早 くな っ た • プ ロ グ ラ ミ ン グ が 楽 しく な っ た • 他の講義でも使いたい • 他 人 と 競 う の が 楽 し かっ た 本システムは広い利用を想定しているが,特にオンライン講義で 力を発揮すると考えられる →今後,対面講義でも運用し違いを明らかにする

29.

宣伝:typing.runを活用しませんか? 現在,typi ng. r un は基本コア機能を一般公開中 他組織でもログインやスコアを記録出来るように準備中 関西大学 松下先生 福岡女子大学 神屋先生 はこだて未来大学 角先生 https://twitter.com/y_sumi/status/1260241502254448640 https://twitter.com/lup2015bot/status/1291918663365189632 https://twitter.com/shilver_chips/status/1277143197597044737 連絡先:明治大学 中村聡史 s a t oshi [at ]snakamur a. or g

30.

まとめ プログラミングのタイピング練習をすることで,タイピング速度向 上と基本命令の理解と定着を支援する typi n g. r u n を提案し運用した • 苦手な層の底上げが示唆され,全体的な速度成長が確認できた • アンケート結果は良好で,多くが今後も使いたいと回答 今後の予定 • 対応言語の拡充し,幅広い分野のプログラミング初学者での運用 • タイピング速度に与える影響や学習効果 • 対面授業での運用によるスコアや定着の変化を調査