働くママの私は新卒からシステム業界で働いています。
10年以上前の就活の時(まだiPhoneが存在しない頃)、何かのセミナーでプログラミングを知っていれば仕事に困らないと言われ、バリバリ文系でしたが選んだ仕事です。
学校教育でプログラミングが取り入れらるようになり、時代は変わったなぁ。と感じております。
学校の教育でプログラミングって意味あるのか?
一体何を教えるのか?
素朴な疑問を感じたので、学校教育でのプログラミングを調べてみました。
この記事を読むとわかること・・・
- プログラミング教育のねらい
- プログラミング教育ではねらいを達成できない
- 好きに作ることのメリット
子どもにプログラミング教育は意味ある?
調べてみた結果、私自身は「プログラミング教育」に賛成です。
当たり前に動いているアプリや電化製品。
どんな仕組みで動いているか、考えるとても良いきっかけになりますよね。
社会人になり、もしシステムを導入しないといけない場面でも、プログラミング思考があれば、SEやプログラマーと対等に話ができ、より良い仕組み作りに役立てます。
ですが、教育だけでは「プログラミング教育のねらい」は達成できないと思っています。
プログラミング教育のねらいとは何か
そもそも、なんでプログラミング教育をするのか、調べてみました。
参考にしたサイトに以下のような説明がありました。
プログラミング教育を必修化するねらいは、子どもに「プログラミング的思考(論理的思考力)」を身につけさせること。
そもそも、「プログラミング」とは何なのでしょうか。
人に仕事を頼むときを考えてみましょう。
相手が人間であれば、ちょっとこっちの説明が足りなくても「きっと〇〇してほしいんだな」と察してくれますよね。
でも、コンピュータにはそれができません。
「〇〇をして、その次は△△をして……」と、明確に指示する必要があるのです。
コンピュータに指示を出し、動かすことが「プログラミング」というわけです。
参考:これさえ読めばすべてOK!プログラミング教育まるわかりガイド
これを読んで、「確かに、プログラミング教育って大事だな」と思いました。
SEとしてお客様の要望を聞いている時に、
「エクセルだったら簡単にできるのに、システム開発だとなんでお金がかかるんだ」と
言われることがあります。
この発言は「プログラミング的思考」が身についていないため出てきてしまったと思うんです。
プログラミングは「魔法の呪文」ではなく、「コンピューターへの指示」です。
何か一つの処理をするためにも、さまざまな指示を的確に設定しています。
なので、「プログラミング的思考」を身につけることには大賛成です。
ですが、プログラミング的思考は授業で身につくものとは、なかなか思えないです。
プログラミング教育の疑問点
授業で教えた場合に、私が「プログラミング思考が身につかない」と思う2つの理由です。
手段が目的化してしまう
学校教育で学ぶと、「テストでいい点数を取ること」が目的になりがちです。
例えば、英語の授業を思い出すのですが、学校の英語のテストの点数が良くても話せない生徒って、結構いたと思います。それって、「英語を使って〇〇をする」ための手段として英語を学んでいるはずなのに、気がつけば「英語のテストで良い点数を取る」ことが目的となっていると思います。
プログラミングも何かの目標を達成するための「手段」です。
仕事でプログラミングを使う場合、導入するシステムや作るアプリケーションがあります。
テストには出てこない、トリッキーな要望にも応えていく必要があります。
「How are you ?」の答えは1つ「I'm fine thank you, and you?」と回答すればマルをもらえていました。
でも、「英語の思考力」を手に入れるには、ここで止まっちゃダメですよね。
「体調の悪い時はどうやって答える?」「How are you 以外の聞き方はないのか?」
授業だけだと、なんとなくわかった気になっちゃうこと多くないでしょうか。
実践しない限り、思考力は身につかないと思っています。
結局何に使えるのかわからない
学校の授業って、「とりあえずやらないといけない事」 で、結局何に使えるかわからなかったりしますよね。
いきなり、電気のオンオフの処理構造を知って、その後何に使えるのでしょうか・・・。
私の役立たずな簿記資格を思いだします。
学生時代に簿記検定を勉強したのですが、
自分のお小遣い帳すら付けたことない私には、資産や費用、収益を想像できる訳がなく、
パズル感覚で試験に合格しましたが、今となってはほぼ忘れてしまいました。
この技術を使って「こんなことが出来るんだ!」「これめっちゃ便利!」と体感できないと、「すっ」と記憶から消えてしまいます。
「できた」「楽しい」を感じて欲しい
私の意見としては、プログラミング学習を「学校授業」にしてしまう前に、実際の開発を体感して欲しいです。
プログラミング基礎のテキストは大体、画面に「Hello World」と表示させる練習から始まります。
どうして、画面表示から始まるかというと、「動くと楽しい」からです。
いきなり、内部の計算処理などをしてしまうと、動きが見えないので楽しくないです。
学校教育でも同じように、少し基礎を学んだら好きなアプリを作ってみたら良いのではないでしょうか。
昔はたくさんの時間と人を費やさないとできなかった仕組みが、ノーコード開発ツールを使うことで、一人で簡単に作れちゃいます。
しかも、プログラミングの知識は不要です。
プログラミング知識が不要とはいえ、画面設計、データ設計、画面の裏で動く処理の設定と言った、開発の一部分はやる必要があります。
私はAdaloやBubbleというツールを使ってアプリを作ってみています。
お友達や小さなグループに向けたアプリ開発にはかなり適しています。
英語のツールになるので、おまけとして、英語学習の成果を活かせてしまいます。
英語も実際に使わないと、ただの学校教育で終わってしまうので、是非とも使える知識なんだと体感して欲しいです。
まとめ
学校教育では具体的なプログラミング言語を学ぶのではなく、「プログラミング的思考」を学ぶとのことでした。
「プログラミング的思考」を使って、実際にアプリケーションを開発して、自分の想像した通りに動く喜びを感じて欲しいです。
ノーコード開発ツールを使えば、アイディア次第で可能性は無限大です。
ぜひぜひ、楽しくプログラミング的思考を取り入れてみてください。
▽ NoCodeアプリ Adalo