共通教育におけるプログラミング入門講義
石黒 克也, 佐々木 正人, 佐々 浩司
高知大学 学術情報基盤図書館
ishiguro@kochi-u.ac.jp

Introductory lecture on programming in common education
Katsuya Ishiguro , Masato Sasaki , Koji Sassa
Library and Information Technology, Kochi Univ.

概要
高知大学の共通教育において昨年度より「初等プログラミング入門」を開講した。主な対象はプログラミング経験のない学生とし、プログラミング言語には入門用言語である
Sunaba を用いた。授業の最終目標を簡易的なテトリス作成とし、15 回の授業で一通りの機能を備えられるように進めた。本稿ではその実践内容を報告する。

1 はじめにら、初等中等教育におけるプログラミング教育の必修化を見据えると、大学におけるプログラミン

初等中等教育におけるプログラミング教育のグ教育も再検討すべき時期に差し掛かっていると必修化が決まり[1]、小学校は 2020 年、中学校は思われる。つまり、今後はプログラミング教育が2021 年、高等学校では 2022 年から新しい学習指必修化された学習課程を終えた学生が大学に入学導要領が実施される。また、2017 年には初等中等してくるようになるため、大学でもそれに対応し教育におけるプログラミング教育等の IT・データた学習環境や教育内容を準備しておく必要がある教育の実装[2]も閣議決定されている。総務省でもと考えられる。

「若年層に対するプログラミング教育の普及推進

本学では昨年度よりセンター系教員の担当授事業」[3]が 2016 年度から展開されており、小中高業数を増やすことになったため、それを機会に全を含むすべての若年層を対象として、プログラミ学部、全学年を対象とした「初等プログラミング

ング教育を通じた ICT に関する基礎知識・スキル入門」を開講し、共通教育においてプログラミンの定着が図られている。政府はプログラミング教グ教育を行うことにした。プログラミング学習環

育の充実を IT 戦略の一つとして位置づけており、境については、本学では平成 9 年度より学生にパ今後ますます推進されることが予想される。

ソコンを必携させており、またどの教室でも無線

一方、大学におけるプログラミング教育の実情

LAN につなぐことが可能なため、部屋や設備を特についてはどうであろうか？これについては、別に準備することなく PC を用いた授業を実施す2013 年度に情報処理学会一般情報教育委員会によることが可能となっている。また本学では、全 1 年り行われた一般情報教育に関する調査[4]がある。

生に対して第 1 学期に共通教育で情報処理の授業対象大学の 3 割あまりから回答があり、それらのを必修化している。情報処理の授業では主に大学大学で開講されている一般情報教育に関する科目での PC の利用方法（ネットワーク接続、メールなのうち科目全体でプログラミング教育を行っていど）、情報セキュリティ、情報倫理、ワード、エるのは 1 割ほどとのことである。高知大学（以下、クセル、パワーポイントなどの一般的な使い方が本学と記す。
）の共通教育でも事情は同じで、プロ教えられている。授業後のアンケート調査においグラミングを科目全体で行う授業は皆無、あってて、情報処理の後にさらに学びたいことの上位にも情報処理の授業で数回触れるのみである。そのはエクセル、ワード、パワーポイントなどが目立ため、一部の学生は専門科目でプログラミングをつものの、それらに次ぐものとしてプログラミン学ぶものの、その他の学生はプログラミングに触グもあがっている。つまり、プログラミングを学れる機会がないまま卒業してしまう。しかしながびたいという潜在的な需要があるものと考えられる。そのことも踏まえ、本講義の位置付けを共通

1

教育の情報処理に続くプログラミング未経験者向2けとした。小学校新学習指導要領（2017 年 3 月公110示）[5]には「次の学習活動を計画的に実施すること。児童がプログラミングを体験しながら、コン

人文社会科学部
教育学部
理工学部
医学部
農林海洋学部
地域協働学部

4

ピュータに意図した処理を行わせるために必要な29

論理的な思考力を身に着けるための学習活動」とあるが、本講義の目的もちょうどこれに当たるようなものとなっている。プログラミング未経験者が共通教育で学ぶ際には、プログラミングの技術そのものではなく、プログラミングの考え方を身につけることを重視したほうがよいと考えてのことである。
本稿では、本学において昨年度より開講している「初等プログラミング入門」で実施した内容、アンケート結果を基に、共通教育におけるプログラミング入門講義についての実践報告を行う。

図 22017 年度学部別受講者数（全 47 人）

2.2 初回アンケート
各年度の最初の授業では初回アンケートを実施し、使っている PC の OS やこれまでのプログラミング経験について統計を取った。表 2 は 2016 年
度、2017 年度に学生が使用していた OS の割合である。

表 1

使っている OS

2 受講生と初回アンケート
2.1 受講生
本学の学部構成は人文社会科学部、教育学部、理工学部（旧理学部）、医学部、農林海洋学部（旧農学部）、地域協働学部の 6 学部からなっている。
本講義は第 1 学期に週 1 回、90 分授業で 15 回（テスト期間は除く）開講される。
2016 年度の受講者数は 50 人で学部ごとの内訳

Windows10
Windows8, 8.1
Windows7MacOS

2016 年度

2017 年度

74%
13%
7%
6%

82%
10%
5%
3%

図 3 は 2016 年度受講者のこれまでのプログラミング経験の割合を示したものである。

は図 1 に、また 2017 年度の受講者数は 47 人でその内訳を図 2 に示す。
あり
25%

1326

38

人文社会科学部
教育学部

75%

理工学部
医学部

図 1なし

2016 年度学部別受講者数（全 50 人）

図 3 これまでのプログラミング経験について(2016 年度)
プログラミング経験者が使ったことのある言語に

各年度ともに 1 年生から 4 年生まで受講しているは C、C++、JavaScript、Basic、Visual Basic、Java なが、共通教育科目であるため 1 年生の割合が大きどが挙げられており、授業を進めていくうちにい。また、離れたキャンパスにある医学部の学生

C++を使いこなす経験者がいることも判明した。

が共通教育を受講しに来る曜日に開講しているた

本授業を受講した理由も尋ねてみたところ、め、医学部生が全体の半数以上を占めている。

「プログラミングに興味がある」、「プログラミングをしてみたかった」、「パソコンを活用するための知識を身につけたい」、「将来必要」、「将来役に立ちそう」などがあげられた。

3.2 授業内容について
授業ではプログラミング言語に Sunaba を使い、文献[6]に載っているような簡易テトリスの作成あり13%を最終目標とした。簡易テトリスは、枠の中でテトリミノ（4 つの正方形がつながったもの）が上から落ちてきて、そのテトリミノをキーボードを使って左右移動や回転させることができるものであなしる。もちろん、四角形が一列に揃うとその一列は87%消され、上に載っている四角形が下に落ちてくるので簡易とはいえテトリスらしさは楽しめるもの

図 4 これまでのプログラミング経験について(2017 年度)となっている。図 5 に簡易テトリスの一画面を示す。

図 4 は 2017 年度受講者のプログラミング経験の割合を表したものである。2017 年度の受講者のうち、プログラミング経験者が使ったことのある言語は C、C++、 JavaScript、Basic、PHP などであった。アンケートには書かれていなかったが、Python を使って独自に課題を進める学生もいた。
受講理由には「パソコンを活用するための知識を身につけたい」、「プログラミングに興味がある」、「プログラミングをしてみたかった」、「将来必要」、「役に立ちそう」など、2016 年度と同じ理由のものが多かった。

3 プログラミング入門の実践
3.1 使用言語について授業で用いた言語は平山尚氏により作られたプ

図 5

ログラミング言語「Sunaba」[6]である。この言語

簡易テトリスを選択した理由は次のようなものである。


日本語が使えるので初心者にはとっつきやすそう。



限られた機能しかないので教える文法が少ない。

また、Sunaba を使って簡易テトリス作成に至る
全 15 回の授業の具体的な内容（2017 年度分）を表 2 にまとめる。

基本的な機能のみしか持たないため、プログラムを基礎的な部分から構成することになり

表 2教育的である。

第1回

Sunaba インストール、動作確認



丁寧に書かれた文献[6]が存在する。

導入（インストール）が簡単で Windows にも第2回点を打つ、四角形を書く

第3回繰り返し構文

文法ミスに対するエラーが日本語なのでわか

第4回

部分プログラム、枠の作成りやすい。

第5回

部分プログラムコンパイルの作業が必要なく、ドラッグアン

第6回

四角形を落下させる

Mac にも対応している。
ドドロップで即時実行できる。

授業内容（2017 年度）

第7回

キーボードを使って点を動かす

第8回

条件実行文

第9回

四角形を積もらせる

第 10 回

一列に並んだ列を消す

第 11 回

落下する四角形を 2 つにする

第 12 回

2 つの四角形を回転させる

第 13 回

落下する四角形を 3 つに拡張する

第 14 回

落下する四角形を 4 つに拡張する

第 15 回まとめ

3.3 授業方法

図 6

実際の授業では学習者も使うことができる本学

課題例（一筆書き）の教務情報システム(KULAS)の機能を活用し、資料配布、課題提出、出席確認、アンケートなどを実また、授業中に多くの人が躓いた内容として繰り施した。

返し構文や部分プログラムなどが挙げられる。こ

毎回講義用スライドを授業数日前に KULAS にれらの項目については授業で繰り返し行い、使い載せることとし、スライドには前回の復習と次に方に慣れるためにそれを使う課題を何度も課すこ

学ぶ新しい内容を含めた。これは授業の課題をなとにした。図 7 は繰り返し構文の課題の一例で、るべく授業中に終わらせられるよう事前学習（復四角形を使って市松模様を描かせるものである。

習と予習）を促すために行ったもので、反転学習

繰り返しの入れ子構造を使えるようになることをとなることを意識している。スライドのおおまか意図した課題である。

な流れは以下の通りである。
アンケートに書かれた質問に対する回答



前回の復習



前回の課題解答例



今回の新しい内容

今回の課題

課題は主にその回に学んだ内容を定着させるものとし、毎回課すようにした。課題提出物としてテキストファイルのプログラムそのものを提出させる回もあれば、課題を画面表示しそれを画像に保存して送付させる回もある。例えばキーボードを

図 7

繰り返し構文を使った課題（四角形で使って点を動かす回では、点を書いては消すの繰市松模様）り返しのプログラムを作ることによって点を動かまた KULAS を使って、出席代わりのアンケーすことにした。そのときには、作ったプログラム

トを毎回行い、どこで躓いているのか、どこがわを利用して図６のような一筆書きができるようにかりにくいのかを把握し、次回以降にフィードバなることを課題とした。ほんの少しの気付きによックするようにした。

りこなせる課題であるが、見た目がガラッと変わるため、学習者の反応がよい課題であった。

授業の半分、あるいは 3 分の 1 ほどがスライド説明で、残りは課題作成のための時間にあてることとした。本講義には TA など補助者がいないた

プログラミングにはそれ特有の難解なワードめ、課題作成の時間を多く取って教室を回り、個が書き連ねられている、というイメージを持別対応するよう心掛けた。共通教育での授業であっていたが、Sunaba は日本語でプログラミるため、受講生の所属がバラバラとなり個々で課ングができ、非常にわかりやすかった。

題をこなしている学習者が多く、また人数が多い

自分の書いたプログラムが、すぐにビジュアと個別対応にも限界があるため、2017 年度は躓きルに反映されるので、プログラムを作っていやすい項目のところでグループ学習を取り入れるるという実感があって良いと思った。

ことにした。しかしながら、出席を厳しく取って最終目標をテトリス作成としたことについてのアいるわけではないため、欠席者が多い回はグルー

ンケート結果は図 8 のようになった。

プを作ることが難しく、グループ学習は数回行っ3% 5%たのみであった。一部の学習者からはグループ学

8%

習は有効との声もあったが、グループ学習そのものをしたくないという声も多く、今後の検討課題簡単すぎる
少し簡単

28%

適当の一つとなった。
56%

授業にまじめに出ていた学生は 15 回の授業で少し難しい難しすぎる簡易テトリスを完成させることができ、最終課題に取り組んだ。成績に大きく響く最終課題は、
Sunaba をダウンロード[7]すると付属している豪図 8

華版テトリスの一部機能を自分が作った簡易テトて（2017 年度）

リスに取り入れることとした。これは、他人の書また、本講義を受ける前と比べてプログラミングいたプログラムを読む能力、読み取ったものを自の考え方が身についたと思いますか？との問いに分のプログラムに組み込む能力が養われているかは図 9 のような回答が得られた。

授業でテトリスを作成したことについどうかをみるためである。
0%

3.4 授業後アンケート

6%

15 回の授業終了後、授業全体に関するアンケー

19%

トを実施した。

少しは身についた

プログラミング言語として Sunaba を使用したことについては次のような意見があげられた。
身についた75%

英語ではなく日本語でプログラムの指示がで身につかなかった
よくわからないきるということがとても新鮮に感じた。


プログラム実行の際にどこか間違っていたら

図 9

どこがどう間違っていると示してくれるのがか？（2017 年度）

ありがたかった。
受講前は「プログラミング＝複雑な数式や文字の羅列」というイメージがあったが、Sunaba は使用者にもわかりやすいプログラプログラミングの考え方が身についた

4 おわりに
本稿では、本学で行った共通教育におけるプログラミング入門講義の実践内容を報告した。

ムを組むことができ、初歩を学ぶには最適。

“はじめに”の項で述べたように、本学ではプSunaba についての情報がインターネット上ログラミングを学んでみたいという要望をもつ学にあまりなく、うまくできなかったときに調生はそれなりに存在しており、その要望を満たすべようと思っても調べられなくて苦労した。

入り口となるようなものになればと考え、本講義

を開講した。共通教育でのプログラミング入門な

Sunaba を使ってのプログラミングは上級言語をので対象者はプログラミング未経験者とし、プロ使うための技術的な架け橋にはおそらくならない

グラミング言語には入門用言語の Sunaba を使用が、一つのゲームを作るという作業を通してプロした。Sunaba はプログラミングに慣れているもグラミングの考え方の一端には触れられるものとのには日本語と半角でのタイピングがわずらしく、なったのではないかと思われる。次年度以降はプ限られた機能しかないため使いやすいとは言い難

ログラム作成の道筋をよりすっきりと示すことにいが、初心者にはわかりやすい言語であった。まよってテトリス作成を少ない回数で終わらせ、た実行時のエラーがわかりやすいため、プログラPython などの上級言語を使ったプログラミング

ミング未経験者でも自分で問題を解決しやすいよにも触れられるよう工夫するつもりである。

うであった。一方教える側からすると、機能が限

今後小学生からのプログラミング教育の必修化られている分同じことをするにも工程数が多くながなされると、大学入学者は小中高においてプロるのでまどろっこしく感じられるが、逆に考えるグラミングを学んでくることになり、大学においと順にステップを踏むことになるため、ある意味てもそれに合わせたプログラミング教育を実施し教えやすく感じられた。第 1 学期に開講したことなければならないことが容易に予想される。これもあって、受講生にはすでに情報処理を学んだ 2

は共通教育においても入門的な講義だけでなく、年生以上と情報処理を学んでいる最中の 1 年生がより実用的なプログラミング教育を行うことがで混在していた。そのため、PC 操作の速さには個人きる可能性があることを意味している。この先、差があったものの、Sunaba を使う分には情報処入学者が小中高の各段階でどのようなことを学ん理を学んでいるかどうかはあまり関係なくすぐにでくるのかを注視し、今後の共通教育におけるプ慣れたようであった。

ログラミング教育の内容を検討していくべきであ授業法としては、1 年目より反転学習を意識して教材を開講前に KULAS に載せ、予習の定着を図るようにした。2 年目はそれに加え、理解しにくい項目（特に繰り返し）に時間をかけるようにした。また課題作成が中心となるため、グループ学習なども取り入れた。
全 15 回の授業を使ってテトリス作成という一つの目標を達成するには、毎回のプログラミング経験の積み重ねが必要となるため、開講前は学習者が最後までついてきてくれるのか不安であった。
しかしながら、テトリスは目標が明確であり、徐々にテトリスらしい動きが出てくるためプログラミングをしているという実感がわきやすく、やる気が長く続くようであった。実際に学生からは「初めはテトリスができるとは到底思えなかったが、授業が終わると実際にできていた。」、「難しいけど、できたときの達成感はすごかった。」、「テトリス楽しかったです。目標課題をテトリスにして正解だったと思います。」といった声が聴かれた。

ろう。

参考文献
[1] 日本再興戦略 2016、
http://www.kantei.go.jp/jp/singi/keizaisaisei/pdf/201
6_zentaihombun.pdf、（2017 年 9 月 30 日閲覧）
[2] 未来投資戦略 2017、http://www.kantei.go.jp/jp/singi/keizaisaisei/pdf/miraitousi2017.pdf、（2017 年 9 月 30 日閲覧）
[3] 若年層に対するプログラミング教育の普及推進
http://www.soumu.go.jp/main_sosiki/joho_tsusin/ky
ouiku_joho-ka/jakunensou.html、（2017 年 9 月 30日閲覧）[4] 岡部成玄、“一般情報教育の全国実態調査”、
情報処理学会誌、Vol.55 No.12, 1400-1403 (2014) ;Vol.56 No.1, 94097 (2015)[5] 小学校学習指導要領、http://www.mext.go.jp/component/a_menu/education/micro_detail/__icsFiles/afieldfile/2017/05/12/138
4661_4_2.pdf、（2017 年 9 月 30 日閲覧）
[6] 平山尚、「プログラムはこうして作られる」、
秀和システム、2013 年[7] Sunaba, https://hirasho.github.io/Sunaba/ 、（2017 年 9 月 30 日閲覧）