JMOOC おけるプログラミング入門講座の設計及び実施
古川 雅子, 岡本 裕子, 吉岡 信和, 山地 一禎
国立情報学研究所
furukawa@nii.ac.jp

Design and Hold an Introductory Programming Course in JMOOC
Masako Furukawa, Yuko Okamoto, Nobukazu Yoshioka, Kazutsuna Yamaji
National Institute of Informatics
概要
現代社会においてプログラミングの重要性が高まりつつある．国内外においてプログラミング教育の導入が始まっている．今後はプログラミングが小中学生から社会人までを含む社会全体に求められるスキルとなることが考えられる．そこで国立情報学研究所では，プログラミングの要素を学びつつ特に楽しさを入門期に体験してもらうようなプログラミング入門講座を JMOOC にて開講した．本稿では，国立情報学研究所が制作したプログラミング入門講座「はじめての P」の授業構成および，制作段階から閉講までのプロセスについて述べる．また，受講者のアンケート結果から，実施状況について考察し，今後の課題について検討する．

1 はじめにられる環境設定に困難を感じて脱落してしまうことも多い．このようなことから，特に入門期では，情報化が加速する現代社会において，プログラプログラミングの重要なエッセンスを学ぶことを

ミング教育の重要性に対する認識は世界中で高ま目的とするだけに留まらず，今後継続してプログ

り，各国でプログラミング教育が実施されている

ラミングスキルを高めていくために，取り組みや[1]．国内においてもその重要性が論じられ，小すいことや楽しさを体験することなど，学習意欲学校教育への導入も検討されつつある[2]．プロを維持できる工夫が求められている．

グラミング教育に関する研究はこれまで様々な分社会全体に大学レベルの教育機会を提供できる野でなされており，その教育効果も多数報告されとして世界的に普及したシステムのひとつに MOOCている[3][4]．一方で，小中学校の義務教育や大（Massive Open Online Courses: 大規模公開オ学の専門教育に留まらず，社会全体のプログラミンライン講座）がある．日本国内においても JMOOC

ングスキルを向上させるための取り組みは十分とが設立されている[5]．

はいえない．プログラミングが社会において重要

本稿では，JMOOC の講座提供プラットフォームとなるのであれば，学校教育のみならず社会全体のひとつである gacco において開講した国立情報に求められるスキルとなることが考えられる．し学研究所のプログラミング入門講座「はじめてのかしながら，これまで教育機関や仕事においてプP」の事例をもとに，プログラミング授業の構成おログラミング学習を必要とせず学んだことがない

よび制作段階から閉講までのプロセスについて述

社会一般の多くは，プログラミング経験がない．

べる．次に，受講者のアンケート結果から実施状

したがって，本格的なプログラミング教育を今更況について考察し，今後の課題について検討する．

導入しようとしても，プログラミング自体を敬遠さらに，今回新たな試みとして行った併設講座してしまうかもしれない．また，プログラミング「すこし深めの P」について紹介するとともに今教育の多くは演習を伴うが，演習導入部分で求め後の展開について述べる．

2

表 1 講座「はじめての P」の内容

JMOOC 講座の制作および実施

2.1 講義の概要
講義は 2016 年 8 月 9 日から 4 週間にかけて行週タイトル

内容

1

プログラマになる講師の体験をもとにプログラミングの魅力－プログラミングや学習方法等について紹介する．第 2の魅力を学ぼ

週の演習を行うための基礎的なプログラ

う！－

ミングの知識（変数と代入，四則演

われ，1 名のナビゲータとともに 3 名の助教が講師として各週の講義を担当した．各週の講義タイ
トルと内容は表 1 の通りである．第 1 週では，ナビゲータを介して 3 名の講師が座談会形式でそれぞれの体験をもとにプログラミングの魅力や学習

算，値の種類，配列）を学ぶ．
2

方法について紹介し，さらにプログラミングの基礎的な知識として，変数，代入，四則演算，値の種類，配列についても紹介した．第 2 週から第 4 週

プ ログ ラミ ン グのWeb ブラウザ上で簡単な JavaScript

いろは －ビットくプログラムを入力することで，ビットくんのんのツイートをいツイート表示を改造する．プログラミング

じり倒そう！－の基礎（ステートメント・ループ・条件分岐・関数）について学ぶ．

までは講師が 1 週ずつ講義を担当した．第 2 週は，プログラミング入ビットくんのゲーム (車にぶつからないようが情報を発信しているツイートを Web ブラウザで

門 － ビッ トく んに家にたどり着く) を通じて，自分にもプ表示した上で，講師に倣って JavaScript のソースのゲームを 完成

ログラミングが出来そうという感覚を持っコードを書き換えることによってブラウザ上でのさせよう！－てもらう．ゲームプログラムの変更を通じ本研究所のマスコットキャラクター「ビットくん」

3て case 文，関数を学ぶ．

表示が変化することを容易に体験させると共に，アルゴリズム入門

身近な題材を使って，コンピュータの背ループ，条件分岐，関数）を学ぶ．第 3 週では，

―プログラミング

後にある数理のエッセンスを学ぶ．選択

Racket[6]をインストールした上でゲームサンプの理論を体験でソートとマージソート，右手法と幅優先ルを改造してゲームを完成させていく過程で，少学ぼう！―

探索，二進法と XOR．

プログラミングの基本的な要素（ステートメント，4

し複雑なプログラミングの要素（case 文など）を学ぶ．第 4 週では，ナビゲータとのゲームなどを2.2 講座コンテンツの制作と実施通じて，コンピュータやプログラミングの背後に

図 1 に講座の制作から実施までの流れを示す．

あるアルゴリズムを紹介する．
各週は 15 分～30 分

講座開設の申込みが完了した後，履修登録者数を程度の動画 3～5 本による講義映像と，5 問程度のある程度確保するために開講時期よりもなるべく確認クイズから構成した．この他，掲示板「ディス早くから履修受付を開始できるようにコースカーカッション」を設置し，受講者同士の交流や互助トや募集用ドキュメントの作成を優先して行った．の場とした．加えて，本講座と同期間，特別講座撮影は，第 1 週と第 4 週をリラックスした雰囲気「すこし深めの P」を併設し，本編の補講的な内容で視聴してもらうことに配慮して古民家でのロケやプログラミングの奥深さについて本研究所の研撮影が行われた．第 2 週と第 3 週は画面の様子が究者らが紹介する動画を公開した．

よくわかるように画面やスライドと講師との合成をスタジオ撮影で行った．

図 1 講座の制作から実施までの流れ

3 受講アンケート結果

500400

表 2 に受講者数，ディスカッションスレッド数，人数

3.1 受講状況修了率を示す．
「はじめての P」の受講者数は 6,859

300
200
100名となり，直近 1 年の gacco における受講者数平0均を上回った．また，ディスカッションスレッド

回答者数

大変満足

まあ満足

やや不満

不満

24338355

15

数は調査した時点で 210 に達しており講座平均数
図 3 受講後アンケート：を大幅に上回った．このことから，本講座は受講「今回受講した講座に対する満足度をお答えください」

者数も多くディスカッションが活発に行われていたことが特徴として挙げられる．ディスカッショ

3.3 受講者属性

ンでは受講者同士で疑問について回答している内受講者の属性アンケート回答では，受講者の属容が多くみられた．また，受講後アンケート結果

性は性別・年代ともに gacco 全体の平均的な分布からは，投稿をしなかった場合でも閲覧しているとほぼ同じ傾向を示しており，講座に特徴的な傾場合が回答者のうち半数以上を占めており（図 2），向はみられなかった．職種については，フルタイ

自由記述回答からも同じようなところで困っていムで働いている社会人が最も多くみられた（図 4）．

る人の投稿を参考にした等のコメントがみられた．

また，受講前アンケートでプログラミング経験がないと回答した数は 55%に留まっており（表 3），

表 2 gacco 講座平均（直近 1 年）との比較
はじめてのP
gacco講座平均（直近1年）

受講者数

ディスカッションスレッド数

修了率

6,859

210

18%

4,139

7315%

一因として，ある程度の知識や経験をもつ受講者が活躍し率先してサポートしていた可能性がうかがえる．

400

1800
1600
1400
1200
1000
800
600
400
2000350
300
250
人数

ディスカッションボードが活発に利用されていた

200150100500

回答者

利用したことがない

投稿はしていないが、閲覧をした

投稿・閲覧ともに行った

23335892

図２ 受講後アンケート：

図 4 受講前アンケート：「あなたの職種について，あてはまるものをお選びください」「gacco のディスカッション（掲示板）をどのように利用されましたか？」

表 3 受講前アンケート：

3.2 講座に対する満足度
図 3 に受講後アンケート回答のうち講座の満足度に関する集計結果を示す．講座に対して一定の評価を得られたといえる一方で，不満と回答した
場合の自由記述からは，ディスカッションや講義コンテンツへの改善及びサポートの充実についての要望および指摘をいただいた．

「プログラミング経験について最もあてはまるものをお選びください」
質問
未経験
プログラミング入門書や入門サイトで勉強したことがある
自分で考えたプログラムを作ったことがある
日常的にプログラミングをしている（専攻、職業）

回答者数
1451
646
419
132
（合計）
2648

割合
55%
24%
16%
5%
100%

5 まとめ
本稿では，国立情報学研究所が JMOOC において開講したプログラミング入門講座「はじめてのP」の授業構成および，制作段階から閉講までのプロセスについて述べた．また，本講座は受講者数が多くディスカッションが活発に行われたことが特徴的であった．今後は，ディスカッションの内容や学習履歴のログ解析をさらに進め，本講座における学習行動の分析を進めるとともに，再開講に向けて講座内容の改善について検討を行う予定
である．

参考文献
[1] 文部科学省，諸外国におけるプログラミング教育に関する調査研究（文部科学省平成 26年度・情報教育指導力向上支援事業），大日本印刷株式会社，2015．
[2] 文部科学省，小学校段階におけるプログラミ
ング教育の在り方について（議論の取りまとめ），2016.
http://www.mext.go.jp/b_menu/shingi/chousa/shotou/122/attach/1372525.htm（2016 年 10 月 21 日参照）．
[3] 兼宗進他，初中等教育におけるオブジェクト指向プログラミングの実践と評価，情報処理学会論文誌プログラミング（PRO），44, 58-71,2003.
[4] 田口浩他，個々の学習者の理解状況と学習意欲に合わせたプログラミング教育支援，情報処理学会論文誌 48(2), 958-968, 2007.
[5] 福原美三，日本初 MOOC の可能性と課題，研究報告教育学習支援情報システム（CLE），
2014-CLE-12(1), 1-1, 2014.
[6] Racket，https://racket-lang.org/（2016 年 10 月 21 日参照）．