ブログ,プログラミング

ハードウェアを利用したプログラミング学習の
メリットは、現実世界の物体を実際に触りながら、
その動きを画面内のプログラミングで制御できる
点にあります。

この体験をすることで、プログラミングの
持つ力をより一層具体的にイメージできる
ようになります。

そのため、ロボットを使ったプログラミング
教育は、独学での利用だけはなく、
ワークショップやスクールといった、
対面授業でも広く利用されており、人気を
博しています。

ハードウェア型のプログラミング教材は、
市販のラジコンなどとは異なり、
さまざまな新しい動きを学習者自らが
設定できます。

このことから、アイデア次第でいろいろな
処理を創造できます。

対面授業では通常、何らかの課題が与えられ、
その課題をクリアするためのロボットを
作ることが求められます。もちろん、
正解は1つではありません。

課題の解決方法は幾通りもあります。
「どのようにして課題をクリアするのか」を
考えるのが必要です。これは、一般社会でも
必須の「問題解決力」の向上にも役立ちます。

さらに、問題解決をグループワークで行う
場合は、グループ全員で協力して、課題解決の
ための方法を考えなければなりません。

このため、問題解決力の向上だけでなく、
コミュニケーション力の向上や共同作業に
おける役務分担などの素養も習得できます。

ブログ,プログラミング

プログラミングの全体的な意味は読んで
字のごとく「プログラムを作ること」です。

もう少し細分化すると大きく、
「アイデア発案・設計」と「開発」の
2つの作業工程に分類できます。

(1)アイデア発案・設計
 ・実現したいアイデアを練る
 ・どのようなプロダクトやサービスを
  作るのか考える
 ・そのアイデアをどのようにして
  実現するのかを考える
 ・実現するための構成や構造などを
  考える
 ・実際に作るための設計図・設計書を
  書き起こす

(2)開発
 ・設計図や設計書を見ながら、
  プログラミング言語の文法にしたがって
  プログラム(コード)を書く
 ・書いたプログラムがきちんと意図通りに
  動くかテストする。

上記の関係は、建築士と工務店の関係に
似ているかもしれません。

ブログ,プログラミング

プログラミング・スキルの最大の価値は、
アイデアを形にできることです。

言い換えるなら、プログラミングは
あくまでもアイデアを形にするための
ツールでしかありません。

ですから、どのような理由でプログラミングを
学ぶにせよ、できれば「何らかのアイデアを
形にすること」をゴールに設定して学習する
ことをお勧めします。

アイデアはどのようなものでも構いません。
好きなゲームでも、Webサービスでも、
iPhoneアプリでも、なんでも良いのです。

みなさん自身の「実現してみたいこと」が
アイデアの種になると思います。色々と
考えてみてください。

ブログ,プログラミング

5.アイデアを実際の形にできる

日本を代表するソフトウェア技術者の一人で
あり、プログラミング言語「Ruby(ルビー)」の
設計者でもある、まつもとゆきひろ氏は
「プログラミングはコンピュータへの翻訳
作業ではなく、自身のアイデアを表現する
もの」といっています。

アイデアをプログラムへ落とし込むことで、
思考が整理され、さらにルールさえ作って
しまえば、コンピュータが自分の代わりに
作業してくれるなど、自身の力を何倍に
拡張できるのが、プログラミングを学ぶ
ことの最大のメリットの1つです。

プログラミングを学ぶということは、
100年前にはあり得なかった次の3番目の
方法を使える時代になったということです。

1.自分でやる
2.人にやってもらう
3.コンピュータにやらせる

自分でプログラミングをしない人(他人の
作ったソフトウェアを使うだけの人)は、
誰かが決めたルールや、誰かが決めた
仕組みの中でしか作業したり、遊んだりする
ことしかできません。

一方、プログラミングを学べば、その世界
(ソフトウェア)のルールや仕組みを自分で
決められます。

大切なことは、アイデアをプログラムへ
落とし込む際の肝となる「考え方」や
「実現方法」を、みなさん自身が
”イメージできる状態”になることです。

プログラミングを学習することで、表現力や
コミュニケーション能力、検索力(必要な
情報をインターネットから探し出すスキル)
など、今後を生きていくために必須となる
さまざまなスキルを得ることが可能です。

ブログ,プログラミング

プログラミングの楽しみは、下記の3つが
挙げられます。

(1)課題をクリアしたときの達成感
   プログラムを作る作業は、難しい数学を解く
   過程に似ています。

   難解な問題を解くにはたくさんの公式が
   必要ですが、それらをうまく組み合わせて
   正解を導く楽しみ、よりスマートな解き方が
   見つかったときの喜びは、課題が難しいほど
   大きいものです。

   同じような達成感をプログラミングでも
   得られます。

   プログラミングでは、思った通りに
   動作しないことがほとんどです。

   突然ひらめいたアイデアを実行して正解した
   ときの達成感は、ふだんの生活でもなかなか
   味わえません。

(2)充実な子分ができる喜び
   パソコンを使っていると、たとえば複数の
   Excelファイルをひとつにまとめたり、
   写真を人物ごとにカテゴリー分けしたりなど、
   同じ操作を繰り返す場面があります。

   プログラムを作れば、そうした作業を
   パソコンにまかせてしまい、自分は自由に
   時間を使うことができます。

   自分は、実行の命令を出すだけで、どんなに
   量が多くて単純な作業でもパソコンが
   終わらせてくれます。忠実な子分ができた
   ようなものです。

(3)アイデアが形になる楽しさ
   プログラミングは、設計から完成まですべての
   工程を自分で行えます。そのプロセスは料理を
   したり、日曜大工で家具を作ったりする感覚に
   似ており、クリエイティブな行為といえます。

   「もっとよくしたい」という欲が生まれ、
   それがさらなる進化につながって行くのも
   同じことです。

   何か作るというのは、クリエイティブな行為
   です。プログラミングも同じで、産みの苦しみ
   から完成したときの達成感まで味わうことが
   できます。

ブログ,プログラミング

そもそもみなさんにとって本当に
プログラミングのスキルが必要であるのかを
きちんと検討することが大切です。

マスメディアの情報に流されて必要も
ないのに大切な時間を使う必要がありません。
きちんと事前に判断することが大事です。

ここ数年で急速に、社会人の一般教養として
「プログラミング・スキル」が求められる
ようになりました。

テレビや雑誌の特集でプログラミング関連の
放送や記事を見た方も多いのではないでしょうか。

そこでは、
・これからは読み・書き・プログラミングの
 3能力が必要になる
・英語よりも、プログラミングの方が
 大切なのではないか

といったものから

・プログラミングを学ぶと、論理的思考が
 鍛えられる
・プログラミングがわかると、仕事の作業
 効率が数十倍も高まる
・独創的なアイデアをパソコン1台で形に
 でき、しかもそれを世界に向けて
 発信できる

といった、ビジネスシーンで実利のある効用まで、
さまざまな意見が語られています。

これらの現状を見定めながら、みなさん自身で、
プログラミング・スキルを学ぶべきか否かを
判断していただければと思います。

ブログ,プログラミング

プログラミングを習得するメリットは、
下記に示すような直接的効能があります。

(1)アイデアを形にできる
(2)エンジニアとしてさまざまな仕事ができる
(3)グローバルに仕事ができる

上記以外にプログラミングの基礎を学ぶことに
よって、論理的思考力(ロジカルシンキング)の
強化や問題解決力の向上、基本的なITリテラシの
習得といった、多くの面で良い効果が得られます。