プログラミングってなんですか?
教室長の中川です。
昨日、入会に来られた小学2年の生徒のお母様から「プログラミングってなんですか?」という質問を受けました。
当然の質問だと思います。なにせ、我々親世代は子供時代にプログラミングを習っていないし、習っていたとしても、大学などの情報学部の学生しか習っていないのが普通でしたので。
私自身は、大学の情報学部でプログラミングを学び、社会人でもプログラマーとしてやっておりましたので、普通にプログラミングという言葉を使っておりましたが、まずはそこから説明しないといけないなと、はたと反省しました。
そんなことで、本日はプログラミングに関するコラムを記載したいと思います。
お母様曰く、「プログラミング」とはアプリの名前だと思っていたそうです。
確かに、「プログラミン」(プログラミングではない)とういアプリの名前もありますので混乱しやすいところですが、プログラミングとはプログラムを作ることを「プログラミング」と言います。
これだけ、いろんな情報が出ていると、
- プログラミングとはなにか?
- プログラミング教育とはなにか?
- なぜプログラミング教育が必要なのか?
- そして、なぜ、小学生という子供から学ぶ必要があるのか?
- 理科系やIT系に進まない子供でも学ぶ必要があるのか?
- パソコンがなくても学べるのか?
という様々なことが疑問になると思います。
当教室では、2017年からプログラミング教育を実践して、早や3年になりますが、これまで様々な親御様から質問を受け、子どもたちのプログラミングレッスンを実践し、ノウハウとして得てきたもの、プログラミングに関することを不定期で記載したいと思います。
さて、本日の「プログラミングってなんですか?」という本題に戻ります。
プログラムを作ることをプログラミングといいますが、ではプログラムってなんなのか?ということから解説したいと思います。
「プログラム」を辞書で調べるとこのように記載されています。
プログラムとは?
—————————————————————————————————————————–
①物事の予定。行事の進行についての計画。
②映画・演劇・コンサートなどの演目や曲目、あらすじや解説などを書いた表や小冊子。
③コンピューターに、情報処理を行うための動作手順を指定するもの。また、それを作成すること。
—————————————————————————————————————————–
例えば、「運動会のプログラム」とか「学芸会のプログラム」とかっていう言い方もしますね。
今世間で言われているプログラムというのは、上記でいう③のこと、”コンピューターに、情報処理を行うための動作手順を指定するもの”をプログラムと言っているわけで、これはつまり、つまり、「コンピュータプログラム」のことをプログラムといっているのですね。
そして、そのプログラムを作る事をプログラミングといいます。
ただし、注意点として、”プログラムを作る事”をプログラミングと表現すると、単に、何か得体のしれない命令をパソコンでカタカタたたいて、呪文のような文字列をつなぎ合わせるような作業をプログラミングとしてイメージされる方がいるのですが、そうではありません。
コンピュータを動かすためには、まず、どのように動かすのか処理手順を計画して(設計)、パソコンなどのIT機器で計画したものを実装し(実行:狭義な意味でのプログラミング)、動作させてみて検証し(検証)、うまく動かないことろを修正して直して(テスト)という繰り返し作業をプログラミングと言います。
動作手順を手順通りに作ることを「プログラミング」と思っている方が多いのですが、それはプログラミングの一部に過ぎず、上記のように、計画⇒実装(狭義な意味でのプログラミング:コーディングといったりもします)⇒検証⇒テストという作業の繰り返し、つまり、ビジネスの現場でもよく言われるPDCA(Plan(計画)→Do(実行)→Check(評価)→Action(改善)という流れ全体が、プログラミング教育だと理解しております。
これは、プログラミング教育が、プログラミングの手法そのものを覚えるのみならず、自分で考えて、計画し、失敗を修正し、目的を遂行するという、アウトプットを目的とした教育が求められているといことに他ならないと思います。
従来の知識一辺倒の学校教育が、より発想力・思考力を重視した教育に変わりつつある、その1つの形がプログラミング教育なのです。
プログラミングを通して、問題解決の経験を子供時代から養う事で、今後のIT力を高めたいという国の方針があるのだと思われます。
算数・国語・英語・理科などの単科科目と同様の考え方で、「プログラミング」って本当に必要なの?という質問を受ける事も多いですが、各単科科目が縦に掘り下げる教育とするならば、「プログラミング」は横に広げる横断的な教育と捉えられるような気がします。
つまり、生活していくために必要な一般教養のレベルとして、「プログラミング」が活きてくる。
問題が発生したときに、自分はどのように解決していけばいいのか?問題はそもそも何か?ボトルネックがどこにあって、どのように計画立てて行動すればよいのかという行動指針すらプログラミングから学べると思っています。
「プログラミングは失敗はつきものであり、どんどんトライしてみて失敗の原因を探っていこう」ということをレッスンを通して行っております。
”どんどん失敗してください”というのは、これまでの学校教育ではあまりなかったことではないでしょうか?
正解を求められる教育ではなく、失敗の中から原因をさぐって解決していく能力、これは、スポーツなど、練習に練習を重ね、上達していくアプローチに似ていると思います。
プログラミングを学ぶということは、たくさん、プログラミングの経験を積まなければなりません。
それが、近視眼的に成果があがるかどうかは未知数な部分はありますが、確実に、生徒のやる気やモチベーションに繋がっていると思います。
論理的に考える力がつけば、他の科目の勉強にも繋がってくる、論理的思考力を学ぶということは、意外に思われるかもしれませんが、国語を学ぶことにもつながります。
プログラミングが、算数や数学などに繋がってくるというのはなんとなくイメージしやすいと思いますが、実は、問題が発生したときに、それを伝える能力も向上すると感じています。
また、目的を理解する能力も文章力がないと理解できず、国語力があがれば、英語も伸びやすくなる、つまり、科目を超えた横断的に学ぶ力を養える、だから、仮にITなどの分野に進まない子供であっても、プログラミングを学ぶことは大いに意味があり、ましてや、今後のIT社会においては、仕事の幅を広げるためにも必要不可欠なスキルになることも間違いないと思います。
そんなことで、当校では実践的プログラミング教育に力を入れており、プログラミングが嫌でやめる生徒はこの3年間、のべ70人の生徒でほぼいないです。
みんな、レッスンを楽しみに来たくて来てくれているというのが実情で、実にありがたい限りでございます。
「プログラミングって何ですか?」という質問からここまで話が広がりましたが、プログラミング教育というものにご興味を持って頂ければ幸いです。
現在、大規模なイベントは、コロナ渦で自粛しておりますが、個別体験は随時受け付けてさせて頂いております。
小学生、中学生のプログラミングレッスンに興味がある親御様はお気軽にお問い合わせください。
無料体験随時やっております。
ぜひお気軽にお問い合わせください。