こどもとIT
小学生がアドビのツールとSwiftでiPhoneアプリ開発!~全員に共通した「資質」とは?
2018年4月12日 06:00
「小学生がiOSのアプリを本当に作れるの?」……誰もがきっと思うことだろう。少しでもウェブやアプリの制作に携わっている人ならなおさらリアルに感じるはずだ。選抜した小学生5名が半年でアプリ作りに取り組むというチャレンジングな取り組みの最終プレゼンテーション「Kids Creator’s Studio『未来の創り手』成果報告会」が、2018年3月27日に開催された。
アドビとCA Tech Kidsが手を組んだ「Kids Creator’s Studio」
デジタルクリエイター向けのツールで知らない人はいないアドビ システムズ(以下、アドビ)と、小学生向けのプログラミングスクールを運営するCA Tech Kidsが手を組んで実現したのが、今回の「Kids Creator’s Studio」。デザインには強いが子ども向け製品は扱っていないアドビと、子ども向けのプログラミング教育には強いがデザイン教育の必要性を感じ始めていたCA Tech Kidsが、「次世代の『クリエイター』を育てる」というコンセプトで一致した。
2017年9月に70名の応募者からプログラミング経験のある小学生5名が選ばれ、半年の間、週に4時間、合計100時間以上かけてプロジェクトに取り組んできた。iOSアプリのプログラミング言語であるSwift(スウィフト)の基礎的な学習に最初の3か月半を使い、Photoshop(※)、Illustrator(※)の操作を含むデザイン講座を経て、各自オリジナルアプリを企画し、XD(※)で設計とデザインを検討した上で、アプリ開発ツールのXcodeでアプリの実制作に取り組んだという。
(※)いずれもアドビ製品
まずはどんなアプリを作ったのか、5人の発表を紹介しよう。
お母さんを助ける「たべガチャ」~小4 吉田たくとさん
吉田たくとさん(小4)は、レシピに悩むお母さんを助けようと、食材から作れる料理を提案するアプリ「たべガチャ」を作った。59種類の食材から最大3つの食材を選ぶと、作れる料理がランダムで表示される。デザインで学習した内容を生かし、食材ジャンルごとに色の統一をしたり、食材のアイコン画像の大きさに気をつけた。今後、選べる食材を増やしたり、栄養がわかるようなものに発展させていきたいと考えているそうだ。
アプリを利用する効果として、使う人(お母さん)が、「買い物が早くなる・仕事がラクになる・早く布団に入れる」をあげ、身近な人を助ける仕組みを作ったことが伝わってきた。
同じ料理連続防止策!食事記録に「eatDaily」~小3 斉藤みりさん
お母さんが同じ料理を続けて作ってしまうので、料理メモを作ろうと考えたのは、斉藤みり(小3)さん。「eatDaily(イートデイリー)」は、朝昼晩3食の料理を写真で記録し、家族の評価やメモも同時に保存できるアプリだ。デザインでは、食欲をそそる色としてオレンジ色を選んだこと等をあげた。デザインを学んだことで、街の看板や飲み物のラベルなど身近なものの見え方が少し変わったという。この視点の変化は、知識をつけるワクワク感の源だろう。
テキストで記述するプログラミング言語のSwiftに挑戦したことについて、「Scratch(スクラッチ)をやっていた頃は、プログラムというのはパーツを組み合わせて作るだけだと思っていたけれど、コードは自分で考えて書くものだと気づいた」とコメントした。
小学生向けプログラミング学習アプリ 「プログラ」~小4 曽田柑さん
曽田柑さん(小4)は、小学生でも「簡単に楽しく本格的に」プログラミングが学べるアプリ「プログラ」を作った。条件分岐、繰り返し文、変数など、プログラミングの6つの基本概念をクイズ形式で学べるようになっている。ワクワク感を出すためにタイムアタックの機能をつけたことや、画面転換がわかりやすいような動きをつけたことなどを紹介した。デザインを学んだことで、広告を見た時に、どこに注目させたいと意図したのかに気づくようになったという。
もともとは発明家になるのが夢だったのが、このプロジェクトを経て、プログラマーになりたいという気持ちに変わったそうだ。「プログラムを打っているときは楽しいし、作ったプログラムが動いた時は達成感がありとてもうれしい」とコメントした。
自作問題作りが簡単!チェックシートアプリ「memoris」~小5 高橋温さん
暗記用にマーカーと色つき下敷きのセットを使ったことのある人は多いだろう。高橋温さん(小5)も勉強のために使用している。ところが、ペンは消せないし移動中は使いづらいなどの不満を感じてきた。そこで、電子的にチェックシートを作るアプリを作ろうと考えたのが「memoris(メモリス)」だ。教材を写真に撮ったら、覚えたい箇所を赤線で消す。これを問題として保存することができるのだ。さらに、正解、不正解の達成率を記録して苦手な問題を自覚できる機能までつけた。
デザインを学んだことで、イラストは数が多い方がいいと思っていたのがレイアウトや配色が重要だと気づいたり、色を決める時は配色のルールを意識するようになったりしたという。過去に作ったアプリのデザインを改善したいとも考えているそうだ。
写真から刺繍の設計図をカンタンに作成!「写刺繍」~小5 菅野晄さん
刺繍をするおばあちゃんから、設計図である「図案」を作るのが一番難しいと聞いた菅野晄さん(小5)。市販の図案が花や鳥など似たようなものばかりなことに気付き、写真から「図案」を作成できるアプリ「写刺繍(しゃししゅう)」を作った。
写真はカメラで撮影するかアルバムから取り込む。縫い目の細かさ、糸のメーカー(2社対応)、刺繍糸の数(色の数)を指定すると、それだけでその画像を「図案」に加工してくれる。縫い目の色と刺繍糸のマッチング判定には、画像の色と刺繍糸の色をデータで比較し一番近いものが選ばれるようにした。コンピューターが色をデータでどう扱っているかを理解しないと作れない仕組みだ。
これからも、コンピューターの利点を生かし、刺繍のようなアナログなもの作りを便利にするアプリを作っていきたいということだ。
今回、5人がデザインの学習をした効果は大きい。といっても、Illustratorなどのツールを使いこなすことがすごいというのではない。大人向けのツールであっても、必要な機能を浅く学んで使うこと自体は難しいことではないだろう。
デザインの役割や配色の原則などの知識を、全員が自分のデザインに生かせているのが印象的だった。よく「デザインはセンス」と思われがちだが、ルールと論理的な考え方で成り立っている部分が大きい。それを5人がそれぞれ吸収し、インターフェースデザインに生かせたことがわかる。
テキスト言語へのステップアップには「作りたい!」気持ちが鍵になる
今回取り組んだSwiftはテキストで記述するプログラミング言語だ。メンバーは全員、子ども向けのビジュアルプログラミング言語であるScratchで作品を作った経験はあるが、Scratchとの違いをどう感じているのだろうか。正直なところ、Swiftは難解で嫌になってしまったりしなかったのだろうか。子ども達に質問してみた。
すると、拍子抜けするほどポジティブな答えが返ってきた。「Scratchは日本語だからわからないことはないし簡単。Swiftは難しくなってその分面白くなった」「自分で考えて打つので難しくなったけれど、Scratchよりも作れるゲームの幅が広がった」と、むしろ自由度の高さを歓迎している様子だ。エラーの英語をわかるようになりたいという気持ちや、周りの友達がやったことないプログラミング言語を自分だけが知っているのがうれしいという実感も聞かれた。
抵抗感も不安も見えない彼らの話し方を聞いていて、それを支えているのは、「作りたい!」という強烈なモチベーションなんだろうと感じた。5人の頭の中には「作ってみたいもの」があふれていて、そのための手段として、扱う言語の難易度が上がることは苦ではなくむしろプラス要素なのだろう。「半年前に始めたときは、Scratchのように『パーツ』がなくて最初は意味がわからなかったけれど、今はわかる」というメンバーもいて、強いモチベーションさえあれば、ステップアップできることは確かだ。
とはいえ、「最初にやるのはScratchのような理解しやすいものでないと、かえって作るものの幅が狭まってしまうと思う」という意見も。小1のときはキーボードからアルファベットを探すのも大変だったという子どもらしいエピソードもあり、発達段階にあった入り口や、入門から入り適正なステップを設定する必要はあるだろう。
「すごさ」のポイントは、⾃⼒解決の気持ちと習慣
ウェブデザイナーでもある筆者の感覚で見て、今回の「Kids Creator’s Studio」の学習内容は、未経験の小学生が半年で習得できるものではない。メンバー5名はプログラミング経験者で、うち4名がCA Tech Kidsのスクール生。そこに専門家と企業の手厚いサポートがあってこそ半年という期間に凝縮して実現できたわけで、一般に展開するには、もっと長い期間を想定する必要があるだろう。実際、CA Tech Kidsの継続学習コースでは、Swiftに取り組む前に、1年間Scratchで学ぶカリキュラムが用意されている。
一方で、今回の参加メンバーをスペシャルな子ども達と位置づけて、ただ全面的に「すごい!」と持ち上げてしまうのも、違うだろう。それでは裾野が広がらない。企画から実制作まで一貫して手がけて完成させた5人の子どもたちの底力には何か共通する資質があって、それはきっと他の子どもでも持ちうるものだ。
それを探って、質問をする中で見つけたことがひとつある。それは、彼らが、わからないことにぶつかったときに「自分で解決する習慣」があることだ。
これだけ手厚いサポート環境だと、「メンターに手取り足取り教えてもらって、誘導してもらって、アプリが作れてしまうのでは?」と思いそうにもなるが、それは浅い想像でしかない。
5人に、プログラミングでわからないことがあったときの情報源や解決方法を質問してみると、メンターに質問するだけでなく、「ウェブで検索をする」「自分でいろいろ試す」「前のテキストを見てみる」「今まで習ったことをコピ−&ペーストする」「(親やきょうだいが経験者の場合)家族に聞く」などがあがった。まず自分で解決する習慣があるのだ。特に、自分でウェブで情報を探しプログラミングの問題を解決しようとする習慣を小学生が身につけていることは、実は結構すごいことだと思うのだ。
もちろん、メンターにリアルやオンラインで相談できる環境が、プラスであることは間違いない。それでも、もし彼らが「困ったらメンターに教えてもらえばいい」というマインドセットだったら、おそらくアプリ完成まではこぎつけなかっただろう。自分で解決する習慣と粘り強さがないと、やり通せなかったはずだ。
「自分で解決する習慣・粘り強さ」を身につける教育がされているか?
リアルな仕事の世界では、プログラミング言語やデザインツールのアップデートが日常的に起きる。技術やツール、環境自体が流動的で、使っている先から変化し続けるので覚えた時点の知識だけで対処できる期間は短い。変化にため息をつかずに対応する力が必須だと日々痛感する。
固定的な知識も重要だが、それだけでは太刀打ちできないし、変化が早すぎて「正解を教えてくれる先生」すらいない場合もある。「困ったら先生に正解を聞けばいい」ではやっぱり生き抜けないのだ。自分でまともな元ソースまで情報を取りに行って、ガシガシと活用していく必要がある。
だから、彼らに共通する「自分で解決する習慣・粘り強さ」は、本当に重要なのだ。
そんな「資質」を身につけられるような学びのスタイルを学校現場でも重視していくことが、裾野の広がりには重要だろう。小学校でのプログラミング教育で身につけるべき資質という観点だけでなく、情報を集めその正確さを見抜く情報活用の教育、ICT機器の活用など、もっと危機感をもって取り組む必要を感じさせられた。