プログラミング学習で、情報活用能力を向上する

※本記事は、文科省の調査:今の高校生には知識を活用するチカラが足りない の続きです。
文科省の調査で分かった、現代の高校生の情報活用能力の課題の幾つかは、プログラミング学習で身につけることができます。

機械に仕事をさせるための手順を考え,プログラム的に表現する

機械に仕事をさせるには、ちょっと独特の考え方が必要です。

人間にはわかりきった事でも、細かい手順に分解してならべていく必要があります。

たとえば、人間相手なら「ここにある数字を小さい順に並び替えてください」といえば済むことでも、プログラムを書くときは「まず最初の数字を見て、次の数字と比べます。最初の数字のほうが小さければ何もしません。そうでなければ2つの数字を入れ替えます。次に2番目の数字と3番目の数字を…」などと表現するのです。

面倒くさいでしょう?
ふだんの生活の中では、こんなふうな考え方はしませんよね。

ですので、このスキルを身につけるには、練習が必要になります。

プログラミングを学ぶと、こういった手順の考え方を、たくさん練習することになるので、すぐに身につきます。

アルゴリズムの基本になる条件分岐、繰り返し、変数などについては、教育用のプログラミング言語「Scratch(スクラッチ)」などでも十分に学ぶことが出来ます。

スクラッチは、高校生なら20時間もあればおおよその事はできるようになると思います。独学(記事の最後に書籍リストへのリンクを掲載)でもよいですし、3日間くらいの合宿に参加したりするのも良いでしょう。

著作権などを意識して情報発信できる

ブログやツィッターなどを使ったことがあるでしょうか。

最近は、コンピュータ(スマホ)とインタネットの普及によって、誰でも簡単に情報発信することができるようになりました。

電子情報というのは簡単にコピーができるところがメリットです。しかし、誰でも何でもコピーして良いかというと、そんなことはありません。最初にその情報をつくった人の権利として「著作権」というものが法律で保護されています。

インタネット等で情報を発信する際は、そのような著作権の取り扱いについて最低限必要なことを理解していないと、大きなトラブルにつながることがあります。
(不正コピー、盗用などといった事件として新聞に掲載されたりしますね)

プログラムを書くようになると、他者がつくった便利なプログラム部品や画像などの素材データを使うことがあります。

そのため、プログラミング学習では、著作権に関する基本的な事項や、他者が作ったプログラム部品の取り扱い方法についても学んでいきます。

ソフトウェアにまつわる権利をやりとりするために「ライセンス条項」というものがあります。
これは著作権よりも多岐に渡る条項が細かく設定されているものです(皆さんも、ソフトウェアをインストールするときに目にしたことがあると思います)

普通にソフトを使う分にはそれほど気にならないのですが、自分が作ったプログラムを公開したりするときは、こういったことも適切に考えていく必要があるので、良い勉強になります。

自分がプログラミングしたソフトウェアについても、自分の権利が発生します。
プログラミング学習は、著作権の当事者としても、良い勉強の機会になりますね。

不正請求の メールやサイト等に対処する

不正請求やメール、サイトもほとんどの物はプログラムで出来ているってご存知でしたか?

つまり何らかのアルゴリズムにしたがって自動的に動いているわけです。

プログラミングを学んでいくと、このようなプログラムと情報をやり取りすることの意味についても分かってきます。

  • 入力した情報がいつまで保持されるのか
  • 相手のプログラムが知っている情報は何なのか
  • 相手のプログラムが知らない情報は何なのか
  • プログラムに渡した情報でどんなことが可能になるのか
  • メールの差出人名を偽るのがどれくらい簡単なのか
  • ダブルクリックして実行したプログラムは、何ができるのか

攻撃手段(=プログラミング)のことを知っていれば、防御する方法も分かるようになるのです。

 

参考リンク

書籍紹介

 

文科省の調査:今の高校生には知識を活用するチカラが足りない

現在、9割以上の高校生はスマートフォンを持っています。
小学生などに比べると、情報機器に接する機会もかなり増え、タイピングのスキルも高くなってきています。
それにもかかわらず「情報活用能力があまり向上していない」という調査結果が文部科学省から発表されました。

たくさんの課題

結果を抜粋してみると….

  1. 複数の情報がある多階層のウェブページから,目的に応じて特定の情報を見つ け出し,関連付けることができない。
  2. 複数の統計情報を,条件に合わせて整理し,それらを根拠として意見を 表現することができない。
  3. 自動制御に関する情報処理の手順を考え,アルゴリズムを用いて表現することができない。
  4. 情報の発信・伝達の際に,他者の 権利(肖像権や著作権)を踏まえて適切に対処することや,不正請求の メールやサイト等に対処できない。
  5. ある事象の原因や傾向を推測するために,どのような情報が必要であるかを 明確にすること。 多項目かつ桁数の多い数値のある表で示された統計情報を,表計算アプリ ケーションを使って,数的な処理をすることができない。

色々と課題があるのですね。

対策は…?

対策のために2020年からのプログラミング教育の導入などが議論されています。

従来の指導要領だけではこういったスキルが身につかないから、ということなのでしょう。

しかし、現在の中学生高校生にとっては、それを待っているわけにはいきません。
待っている間に卒業・就職する時期が近づいてきます。

このような情報活用能力を身につけるには、どうすれば良いのでしょうか?

次回に続く…

 

http://www.mext.go.jp/a_menu/shotou/zyouhou/detail/1381046.htm

 

マインクラフトを学校教育で使うメリット

海外で、マインクラフトを教育に活用する事例が増えてきました。

ピラミッドの中を探検したり、巨大な眼球の模型の中に入ったり…。

動画や図鑑などの書籍があるのに、手間ひまかけてまで、なぜわざわざマインクラフトを使うのでしょうか。

それは、マインクラフトだというだけで、子どもたちが興味を持ってくれるからです。

マインクラフトは、教育に利用することが可能です。でもそれは教育という広い範囲の中のほんの一部にすぎません。

それでもマインクラフトを使うのは、「子どもの興味を引く」ことができるためです。

この論理で言えば、マインクラフトでなくても、ポケモンや妖怪ウォッチでも良いことになりますが、そういったメディアを使うのは(政治的に)難しいのでしょうね…。

当教室でも、マインクラフトをつかったプログラミングレッスンを提供しています。

プログラミングは本来、問題解決の手段です。

そのため、プログラミングを学習するには、簡単すぎず難しすぎない練習用の「解決すべき問題」を用意する必要があります。

実は、これが結構むずかしいのです。

一般的なカリキュラムでは「勉強のための問題」しか作れていません。これは、練習のためにしかならないような問題ということです。

大人なら、そんな練習問題でも、勉強のためだからと納得して取り組みますよね。

しかし、子どもはそういうわけにはいきません。
つまらないと思ったら、すぐに興味を失ってしまいます。

そこで、子どもが自ら興味をもって取り組むために「マインクラフト」を使います。マインクラフトをクリアするための手段として、マインクラフト・プログラミング・レッスンを準備しました。

子どもにとっては、マインクラフトを楽しむために熱中して取り組んでいることが、そのままプログラミングのスキルアップに繋がるというわけです。

お子さんのマイクラへの熱意を何かに活かせないか…とお悩みでしたら、ぜひご検討ください。

https://cafetalk.com/lessons/detail/?id=102058&lang=ja

https://cafetalk.com/lessons/detail/?id=102798&lang=ja

MinecraftのComputerCraftEduを、日本語で遊べるようにする方法

ComputerCraftEduというマインクラフトの拡張ソフトがあります。

これをインストールすると、マインクラフトの中のロボットを、マウス操作でプログラミングできるようになります。

タイピングはまだ出来ないけどプログラミングしてみたい!という小学生の方にオススメなのですが、1つだけ難点がありました。

それは日本語表示できないということ。

英語表記(しかも専門用語)だけなので、小学生にはちょっと敷居が高かったのです。

でもせっかくの良い拡張ソフトなので、勿体ない。何とかしたい….。

というわけで、開発した人達が管理しているフォーラムで「日本語翻訳して配布していい?」と聞いてみました。

結果は「配布物の中にComputerCraft/ComputerCraftEdu本体を含めなければOK」とのこと。

さっそく作ったのがこちらです。

日本語化のやり方

  1. ComputerCraftEduのMODをダウンロードする。
    http://computercraftedu.com/ > Getting Start > I’M A PARENT > Download MOD for …
  2. CCEduにほんごたいおうツール.jarをダウンロードする。
  3. CCEduにほんごたいおうツール.jarをダブルクリックして起動する。
  4. 起動するとこんな画面が出てくるので、上の1でダウンロードしたComputerCraftEduのファイルをドラッグアンドドロップする。
  5. 画面に「かんりょう!」と表示されたら、さっきドラッグアンドドロップしたファイルの横に「ComputerCraftPlusComputerCraftEdu1.74.jar.再配布禁止.jar」みたいな名前のファイルができます。
  6. 上の5でできたファイルを、他のMODと同じようにmodsフォルダの中に置いて下さい。(元のComputerCraftEduやComputerCraftのMODファイルは、modフォルダから削除して大丈夫です)
  7. あとはマインクラフトを再起動するだけです。もしまだ言語設定を日本語にしてなかったら、しておいてください。ちゃんと日本語できていたら、ビギナータートルの画面がこんなふうに日本語表示になっているはずです。

できるだけ漢字を使わず「ひらがな/カタカナ」にしておいたので、新一年生でも楽しめると思います。
プログラミングでよく使う”キーワード”的なところは英語表記+日本語表示にしました。

それではプログラミングを楽しんで下さいね。

マインクラフトのプログラミングレッスンを始めました。

マインクラフトでプログラミングを学んでみませんか?

マインクラフトの世界で、プログラミングを学べることをご存知でしょうか?

マインクラフトの世界に、ロボットをつくることができます。このロボットを、プログラミングで操作し、さまざまな仕事をさせることができるのです。

子ども達は、マインクラフトの世界でさまざまな「生活」をして遊んでいます。
そのなかには、解決したい問題がたくさんあります。
農地づくりをラクにしたい、種植え、収穫をラクにしたい、伐採をラクにしたい、採掘をラクにしたい…。

このような問題を解決するために、ロボットをプログラミングすることは子どもにとって「勉強」ではありません。遊びの一部です。

マインクラフトで遊ぶ子ども達にとって、マインクラフトの世界は、プログラミングを学ぶのに最適な環境なのです!

レッスンの内容

マインクラフトの世界にある”タートル・キャニオン”を、講師と一緒に探検しながら、ロボットプログラミングを体験します。
この探検を通じて、タートルと呼ばれるロボットの操作方法を少しずつ学び、キャニオンに隠された謎を解き明かしましょう!

本レッスンのプログラミング体験では、マインクラフトの世界でロボットを使ったプログラミングをするための基本的な知識が身につきます。

  • マウスを中心とした操作でプログラムを組み立てる
  • 組み立てたプログラムを使って、ロボットに仕事をさせる

ぜひ、ご兄弟・親子・マインクラフト友だち でお楽しみください。

マインクラフト・プログラミング体験