小学生、中学生、高校生、大学生、社会人もプログラミング家庭教師、承ります
川崎市宮前区鷺沼でプログラミング教室をしております。考える力をみがく、パソコン家庭教師の前川です。ホームページは小学生向けのプログラミング教室という色合いが強いですが、中学生、高校生、大学生、社会人も教えることができます。現在、小学生以外には、中学生に数学と英語を、高校生にPythonをマンツーマンで教えています。
プログラミングという言葉は、2020年の小学校での必修化もあり、世の中に浸透してきましたが、プログラミングを実際に仕事や趣味でやられている方は、まだまだ少なく、プログラミング的思考の重要性は理解され始めたものの、習うのは小学生であって、大人たちではないと思われている方が8割以上だと思います。
先日ブログに書きましたとおり、星新一賞の最終選考には残りませんでしたが、そこにも書いたように、プログラミングは思っているより単純です。
1.順序
2.条件分岐
3.繰り返し
の3つしかありません。難しいのは、条件分岐です。条件AならばBへ、条件CならばDへとプログラムを書くのですが、どういう条件かをプログラミング言語で具体的に書くことが必要となります。この条件が正しく書けていないと、プログラム上のミス、長らく気付かれることがなければバグ、さらにはセキュリティーホールになります。そこには論理しかありません。相手が人間であれば、許容範囲とされることも、コンピューターは冷ややかに条件分岐の条件を単なる信号的に扱い、プログラム通りに分岐させます。
料理は、レシピが確立していれば、順序を保って調理をすればできあがりますね。料理を創作するときは、どうでしょう。食材を見極めるときには、条件に合った食材を選ばなければなりませんし、条件に合わせて包丁をいれるなどしなければなりません。プログラミングを何に例えるかをずっと悩んでいた時期がありましたが、日常にあるもので、料理が例えとして適していると思います。料理は、自分で美味いものを食べたいと思うところから行動を起こすのが良いです。より美味いラーメンが食べたいと思い、店に足を運び、食材は何だろうと疑問に思うことこそが、プログラミング的思考の始まりです。
さて、台所に立とうものなら、母や妻に勝手に使わないで欲しいと言われるかもしれません。では、どうするか。それを考えるのもプログラミング的思考です。限られた条件の中で、美味いラーメンを作りたいという欲求を満たすための可能な手段をあれこれと思い巡らすのです。学校のイイ子ちゃんのように、言われたとおりにするだけでは、どうやっても限られた条件の中で、美味いラーメンを作りたいという欲求を満たすことはできません。何としてでも、限られた条件の中で、ブレイクスルー、限界突破をすることを考え続けるのです。
金を手段に選ぶ人がいますが、あまり尊敬できる方法ではありません。金があれば何でもできるかというと、あったらあったで浪費し、気付けばドブに捨てたも同じであることになっているかもしれません。SDGsで言われるように、資源は限られているのです。すぐに高性能なパソコンを欲しがる人も同じです。高性能なパソコンがあれば、目的を達することができるかと言えばそうではありません。パソコンを使いこなせる能力が備わっていないと、宝の持ち腐れ、猫に小判、豚に真珠なのです。
プログラミング的思考は、パソコンを使いこなす能力とは少し違いますが、たとえば、心を整理するときなどにも活かすことができます。まず心を言語化することが重要です。そして、どういう条件のとき、そうした感情になっているのか、つまり、その感情の原因は何かを書き下すなどするのが効果的です。ビジネスにおけるマーケット分析や戦略を立てるときにも似ています。心を言語化するときに、大まか過ぎる表現では効果がありません。その感情に分岐する際の条件をできるだけ細かく言語化すべきです。
心は言葉がつくりますから、言葉をたくさん知っている方が良いですね。マンガも悪くありませんが、会話がほとんどになってしまうのがいけません。やはり本をたくさん読むことをお勧めします。
さて、プログラミング家庭教師の話ですが、プログラミングを学ぶ場合は、具体的な目的を持つか、とことん遊ぶことを目的とする方が良いかもしれません。見方によっては、パズル的な要素が強いです。パズルで遊んでいる暇は無いと言われる方は、ビジネス書を読む方が良いかもしれません。しかし、最近は、パソコン無しにビジネスは成り立ちません。どこかで必ず繋がってきます。
何でしょう…プログラミングができない自分が恥ずかしいのか、プログラミングそのものをバカにする人をたまに見かけますが、それだけはやめた方が良いです。学習用とされているScratchでも、十分大人がプログラミングを学ぶことができます。私がScratchでつくった作品を見た人の中には、それはScratchだからできるのでしょう?子供でもできるのでしょう?と思われる方がいらっしゃるのですが、そうした考えそのものがプログラミング的思考をできなくさせるのです。プログラミングを学ぶのであれば、ScratchもPythonもかわりません。できれば、考え方を学ぼうとする謙虚な姿勢で学んでいただきたいです。新しい考え方を獲得できれば、世の中が変わって見え新しい人生が見えてくるはずです。私の経験で言えば、運転免許を取得したときのように。