EVERYONE CAN CODE

プログラミングを学ぼう(大学編)

プログラミングは生活の中で身近に存在するコンピュータを動かすための方法です。実際に動かすためのプログラムで使われるコードは、コンピュータと会話するための「言語」のような存在に近いかもしれません。日本では2020年に小学校で、2021年に中学校で、そして2022年度から高等学校でと、それぞれプログラミング教育が必修化されるなど、子どもたちのプログラミング的思考やコードを学ぶ機会が増えています。

こうした中で、実際に社会に存在する身近な問題から課題を考え、解決するためのアプリの開発までを行なっている大学のゼミがあります。熊本県立大学の飯村伊智郎先生のゼミです。飯村先生は、教育の現場でのイノベーションを目指すApple Distinguished Educator (ADE)の一人でもあります。

自分の周りが世界のスタンダードなのか。それを意識すると、世界にはたくさんの面白い人がいることに気づくきっかけになります

飯村 伊智郎さん 熊本県立大学デジタルイノベーション推進センター センター長

飯村ゼミの学生たちは、理工系ではなく社会科学系の学部に所属していますが、全員がコードを学び、それぞれが取り組みたい社会課題を解決するためのアプリを開発しています。実際に、それらはApp Storeからダウンロードして使用できます。なぜ社会科学系学部のゼミでアプリ開発までを行なっているのか。飯村先生の教育への想いや世界のスタンダードを見据えた学びの環境作りについて話を聞きます。

社会貢献のために
アプリを作るゼミ

飯村先生:「私の所属する学部は社会科学系の学部であるため、ゼミには文系の学生が入ってきます。ITや環境、教育など、興味は多様です。テクノロジーを使って社会の課題を解決するというプロジェクトを走らせています。本来、研究活動は個々人の興味関心のもとで推進していくものと思っています。そうはいっても、社会の課題を実際に解決するようなプロジェクトはすぐには動かせない。そこで、学生に自分たちの目的意識で主体性を持って学んでいってもらうために、ゼミでは全員が研究活動の一環として、実際に社会実装できるアプリを開発する、というアウトプットまでやるように、指導しています」

大学2年生前期から
全員でコード学習を始める

社会科学系の学部のため、初めから全員がコードを書ける状態で入ってくるわけではないと言います。

飯村先生:「ゼミが始まるのは2年生の後期からですが、前期に所属ゼミが決まり、私のゼミに入る予定の学生は、前期から少し前倒しで、全員コードの勉強を始めてもらいます。コーディングは、 アプリ開発のためのプログラミング言語であるSwiftを、『Swift Playgrounds』と『Xcode』を使って学習します。一人に一人の先輩がついて、学習をサポートします。すでに先輩たちが学習のための様々なサポートのノウハウを身につけていて、ゼミ全体での教え合う体制ができているので、その中で、まずはアプリを一通り作るまでのコーディングを学びます」

プログラミングの学習に役立つアプリ

後期に正式にゼミが始まると、まずは研究テーマをそれぞれが探すことになります。

飯村先生:「大体4名から6名のチームを組んで1つのテーマを設定して、社会の課題を解決していくようなプロジェクトを動かしていきます。そしてチームで企画書を書きます」

チームを組んで始めることで、プロジェクトの進め方やチームワークのやり方を学生同士で教え合い、学び合う環境が生まれると飯村先生は言います。

飯村先生:「研究テーマによっては外部の方とも連携して共同でやることがあります。社会課題の解決につながる研究テーマの場合は、その課題を持っている外部の方と連携し共同して進めることが多いです。例えば1つのチームは、熊本の水をテーマに企画書を作成しています。ここでも3年生の先輩たちが進め方のレクチャーをするなど、サポートをしています。テーマを探す時のアドバイスや、外部と連携するときにはどのように進めるのか、どのような準備が必要か、などを先輩たちから学びます。具体的には、例えば、熊本市の水保全課に学生が直接アプローチをしています」

飯村先生:「事前にまず熊本の水の状況を自分たちで調べて、自分たち学生の目線で考えられる状況と課題を整理した上で、水保全課を訪問し、そこで熊本の水の政策として県庁が抱えている問題や課題をヒアリングします。自分たちなりに調べて、そこから見つけた課題や解決案をプレゼンテーションしながら、同時に実際の現場の職員の方と議論をする中で、共同研究として何をテーマにするか、何を解決するか、どのようなアプリを作るかを固めていきます。基本的に僕は後ろからサポートをして、あくまで学生が前面に、自分たちの興味を元に自発的に学んでいけるような環境作りを心がけています。そして、僕の重要な役目はそのアウトプットを学術的な成果に導くことです」

飯村先生:「進める中でお互いに得意不得意が見えてくると、次第にこれは自分がやってみようとか、これはあの人に任せれば大丈夫など、チーム内でお互いへの信頼関係も生まれてきます。それが多分それぞれの自信にもつながっていくのではないかと思っています」

ADEのつながりから
生まれたアプリ

飯村ゼミで2021年に作成したアプリの一つに「HeartRecoder」があります。これは飯村先生が同じADEを務め、当時特別支援学校で教えていた内田考洋先生から、こんなアプリがあったらと話を聞いたのがきっかけで生まれました。重度の肢体不自由のある子どもたちの心拍を記録し、その動きをグラフにすることで、心拍に現れる子どもたちの反応を可視化して、先生や保護者が見られるようにするアプリです。発話や瞬きの動きでのコミュニケーションが難しい場合でも、心拍の動きを通じて先生や保護者が、子どもたちがどのように反応しているかを知ることができます。

飯村先生:「アプリのアイデアを内田先生から聞いて、興味のある人がいるかゼミで尋ねたところ、やってみたいという学生がいました。Apple Watchとの連携やHealthKitの活用など、他のプロジェクトと比べて難易度の高いところがあり、通常よりも時間がかかってしまいましたが、優秀な学生たちが頑張って自分たちで新しいことを学んで身につけながら、形にしてくれました」

何が作りたいのか?
必要なものから学んでいく

飯村先生:「全員がアプリ開発に必要なSwiftを学ぶため、コーディングのベース知識をそれぞれが持った上で、それぞれの得意分野を活かしながら、チームで作りたいアプリに必要な知識をそれぞれが学んでいきます。例えばどうしてもAR(拡張現実)機能が必要だ、HealthKitにアクセスして作る必要がある、といったことがわかったら、作りたいアプリを作るという目的を達成するために必要なことを学んでいく、というのがゼミのスタイルです」

世界のスタンダードを見据える

こうした主体的な学びの環境を作りたいと、飯村先生が思うのはなぜなのでしょうか。

飯村先生:「学生たちには自分の周りだけを見ていてはいけない、といつも伝えています。自分の周りが世界のスタンダードなのか、それを意識してみると、世界にはたくさんの面白い人がいることに気づくきっかけになります。私自身も、例えばコロナ禍の状況になる前は、国際会議での発表のために少なくとも年1回程度は渡航していました。そして国際会議に行ったときの状況を、できるだけ学生にもフィードバックするようにしています。研究室内で『Slack』を使っていて、そこで研究分野に関連する海外の論文などを紹介していたのですが、最近では学生たちも、こんな面白い取り組みがあったとか、新しい論文を見つけたとか、共有してくれます。世の中で今どのような動きがあるのか、どんな新しい面白いものが登場しているのか、そういうことにアンテナを張ることで、自分の興味もどんどん広がり、また学びも広がっていくと思います」

飯村ゼミで開発したアプリ

環境がすべてを変える

飯村先生:「以前、勤めていた研究所の上司が、環境を整えるのが上司の役目だから、企画に必要なものがあれば相談するように、と言ってくれていました。それが自分の中にすごく残っていて、学生たちが学んでいくためのより良い環境、設備だけでなく相談し、サポートし合える環境を作りたいと思ってゼミの中の仕組みを作っています。環境さえ整っていれば、学生たちは自分たちで学びを広げていきます。社会の中にある課題を見つけて、それをテクノロジーで解決していく。そのために積極的に学んでいくための良い環境を作っていきたいです」

※このインタビューは2021年10月に実施しました。