スポンサーリンク

【プログラミング教育】ミニアプリ制作の実践

dice-game-appEducation

今年度は2年後に控えた情報Ⅰでのプログラミング教育の在り方について、研究を進めています。
その中で、受け持ちの3年生の演習の授業で12月からプログラミング学習を行いました。
課題研究として、3人グループで自由にアプリ開発を行ってもらいました。
最終成果物が出来上がったので、その過程も含めて残しておこうとおもいます。

生徒の実態

私の勤務校の3年生の情報演習の授業は、主に商業系検定の内容を扱っています。
履修生徒が、文系でビジネス系を始めとする専門学校や短大、もしくは就職希望者ということになっています。
1学期にエクセル、2学期にワードでビジネス文書を作成する演習を進めていきます。
コンピュータの知識やタッチタイピングについては、大変差が開いています。
しかし、個々人が自分で立てた目標に向けて、一生懸命努力してくれています。
以前、こんな記事を書きました。

【考察】高校生にもっとパソコンを使わせたい
新学期が始まり授業も再開しました。つい2週間ほど前にできていたことができない。まぁよくある話です。が、高校生たちは、スマホは毎日触るのにパソコンは2週間平気で触らないんですね。

高校3年生ともなると、様々な教科の学習や家庭にて、レポート作成などでパソコンに触れています。
が、中には家庭にパソコンがなく、スマホやタブレットで工夫して乗り越えている子もいます。

最初の学習

扱った言語はHTML/CSSにJaveScriptです。
凝った内容は学習せず、オリジナルの21ページほどのテキストで進めます。
授業形態は、受講人数が15名ほどでしたので回ってフォローできると考え、講義形式を採用しました。
JaveScriptで扱った内容は、次の通りです。

  • メッセージ表示alert
  • 繰り返しfor
  • 条件分岐if/else/else if
  • 時間取得Date
  • 機能function
  • イベント処理addEventListener
  • 乱数Math.random
  • 配列

もちろん、定数と変数も扱っています。
基本的な部分を中心に、12時間ほどで学習した形です。

3人組でアプリ開発

生徒には3人組を任意でつくってもらいました。
あえて紙媒体でA4用紙1枚の企画書の書式を渡しておきます。
制作するアプリの機能や名前、使う予定のプログラミングのキーワードを書かせます。
その上で、あとは調べた内容のメモや設計なんかを書かせるよう指示をだします。
最終的には1台でコーディングすることになりますが、手分けをして調べたり、各々コーディングして実行してみたりして進めていきます。
仕上げの段階にくると、3人で別々に動かして動作確認ができます。
不具合が出れば、デバッグ処理をしていけるわけです。

成果物

今年度は5つのグループが制作しました。
2つ制作したグループがいましたので、成果物としては6つになりました。

  • 3択クイズ
  • タイマー付き漢字の読みタイピングゲーム
  • 3年間を振り返る言葉のタイピングゲーム
  • パズルゲーム
  • ブロック崩しゲーム
  • テトリス的なブロックゲーム

やはり、アプリ開発というとゲームなんでしょうかね。
便利ツールとかもいるかなと思っていましたが、偏ってしまいました。
どのグループも、大変良くできていました。
授業で扱った内容を応用して、1からコーディングして作成したグループもいます。
が、インターネット上に公開されているコードを組み合わせて作ったグループが多かったようです。
組み合わせるにしても、JaveScriptの基本が分かっていないと、どうしていいか分かりません。
課題研究として取り組んでもらったので、今回はこれで十分だと思っています。
どこを変更することで、描いていた動作をしてくれるかどうか。
プログラミングの楽しさや可能性を知ってくれたら、嬉しいです。

まとめ

今回は、課題研究というか卒業制作というかなんというか、やってみよう!という形での実践となりました。
プログラミングの面白さや知識については、理解をしてもらえたかなと思います。
ただし、アプリ制作に入った所からは「情報収集」がメインになってしまい、コードの中身まで理解していたかと言うと、ちょっと違ったようです。
情報Ⅰで求められるプログラミングは、思考的理解を求められていると認識しています。
アプリが作れるというより、考えたことをコーディングして実際に動かす学習ということが必要だと思っています。
そういった学習の延長にアプリ制作がきてもいいと思います。
が、教員側の知識もかなり求められます。
実際、テトリス的なブロックゲームを制作したグループは、JaveScriptのcanvasを利用していました。
理解していたかはわかりませんが、私はちょっと苦手にしている分野です。
おそらくコードは概ねコピペだったと思いますが、エラーが出て助けを求められても、助けられたか自信はありません。
プログラミングの世界は、知識が膨大ですし年々更新されます。
それに対応する力が、教員側に求められているということなんでしょうか。

コメント

タイトルとURLをコピーしました