【超解説】プログラミング的思考とは?Swift Playgroundsをやってみたよ




こんばんは!

週末は遅い更新をする、ちゃママです。


主人が夜中に出発して釣りに行くからと起きているため、iPadと根性で書いています(笑)
(このブログは秘密だからPCを開けず…)

さて、以前ウワサの保護者会レポでも書きましたが、2020年度から、小学校でプログラミング教育が必修化されることに決まりました。

ウワサの保護者会「”プログラミング教育”って、なに?!」レポ



今日はその「プログラミングとは何か」「プログラミング思考って何?」をまとめてみました。


さらに、子ども向けのビジュアルプログラミングツールの紹介や、Swift Playgroundsをやってみた話です。

目次

そもそもプログラミングとは?

プログラミングとは、コンピューターにプログラムを与え、処理させる行為を指す言葉です。


プログラムは、プログラミング言語という専用の言語で筆記されます。


プログラミング言語にはいくつもの種類があり、それぞれが定められた文法ルールを持っていますが、どれも英数字が並んだ難解な言語体系を持っています。

プログラミング的思考とは?

プログラミングに求められる思考は、主に、

物事を抽象化して捉える能力

物事を分解して理解する能力

やるべきことを順序立てて考える能力

ベストな方法かどうかを評価・分析する能力

方法をほかに置き換えて一般化する能力



とされています。

うどんを例に考えてみます

まず、「抽象化」して捉える能力とは、類似した複数の項目から共通点を見つけ出す能力です。

つまり、天ぷらうどんときつねうどんが、共通して「うどん」であることを発見する能力です。


天ぷらうどんを「うどん」「だし」「天ぷら」と頭の中で分解するのが「分解」です。


うどん、だし、天ぷらを使って、天ぷらうどんを効率良く作るには、どういった工程が最適なのかを考えるのが「順序立てて考える能力」です。


出来上がった天ぷらうどんを食べて、「だしを変えたらもっと良くなるのではないか?」「うどんの太さを変えたほうが、だしとの相性が良くなるのではないか?」と、さらにクオリティーを高める方法を考えるのが「評価・分析」です。


このように、分析を重ねて最高の天ぷらうどんができたとします。


次に材料や作り方、調理のポイントなどを、誰にでも分かりやすく伝えられるようにするのが「一般化」です。


このような一連の思考の流れを、さまざまな場面に応用できるようになることを「プログラミング的思考が身についている」などと表現します。


つまり、プログラミング的思考とは、体系的な「論理的思考」なのです。


プログラミング的思考が身につくということは、プログラミングの分野だけではなく、生活における身近な課題を解決することにも応用できる考え方を身につけられるということなのです。

小学校でのプログラミング教育

小学校では、プログラミングの方法を科目として設けるのではなく、さまざまな授業で横断的にプログラミングに関する教育を盛り込んでいくといいます。


そうすることで、技術だけでなくプログラミング的な「考え方」や、体験を通して初めて養われる「感覚」を体系的に学ばせようとしています。



いきなり難解な特定のプログラミング言語を学んでも、他のプログラミング言語に応用が効かなかったり、身につかなかったりすることが多いそうです。


なぜなら、プログラミングに必要とされる「考え方」や「感覚」は、あらゆるプログラミング言語を操るために要求される基礎的なスキルであり、一朝一夕で身につくものではないからです。


たとえ子どもがプログラマーにならなかったとしても、時間をかけて徐々に身につけたプログラミング的な「考え方」や「感覚」は、日常生活でも効力を発揮し、生涯にわたって役に立つのです。

おすすめビジュアルプログラミングツール

小学生でもゲーム感覚でプログラミングに親しめるのが、ビジュアルプログラミング言語です。


ほとんどのビジュアルプログラミング言語は、マウスのクリックとドラッグだけでできてしまうシンプルな操作です。


代表的なのは、Eテレの「Why!?プログラミング」でも使われている「Scratch(スクラッチ)」です。



学年が進むにつれて、より実践的な言語へステップアップして学習させることができれば、理解度も深まるかもしれません。

小学校1~2年生

  • Scratch Jr
  • Viscuit


小学校3~4年生

  • Minecraft(Education Edition)
  • Scratch


小学校5~6年生

  • Studuino
  • MOONBlock

Swift Playgroundsをやってみた

Swift Playgroundsは、iOS 10以降をインストールしたiPadシリーズで動作するiPad専用アプリです。


タッチ操作でアップルによるプログラミング言語「Swift」のプログラミングができます。


さっそくインストールしてやってみました!




「コードを学ぼう1」のSwiftの基本から…




「バイト」というキャラクターを動かして「宝石」を集めるために、バイトを動かすためのコマンドを選んで実行します。




画面を立てた場合、一番下にコマンドボタンが出るので、前に進めたい回数などを簡単に選択できます。




コードを実行して、クリアー!!

すると、次の課題へ。




左に曲がるコマンドが増えたり、




スイッチボタンが出てきたりと、少しずつ指示を出すのが難しくなっていきます。




「Swift」は、macOSやiOSのほか、Android用のプログラムも作成できるプログラミング言語です。

C言語などとも互換性が高い、注目の最新言語なのだそうです。

ちゃママまとめ

このブログでも、論理的思考が大事ということは何度か書いてきました。

小学校でプログラミング教育をスムーズに教えられるのか、教材やカリキュラムの整備は進んでいるのかが気になりますね。

そして、Swift Playgrounds。

少しやってみただけでも、頭を使いました。


子どもなら、クリアする達成感も味わえるので、ハマる子はハマるかもしれません。


「コードを学ぼう2 中級編」「コードを学ぼう3 宇宙探検」と続くほか、すでにあるコードを部分的に編集して理解を深める「チャレンジ」というのもあるそうです。


わたしももう少し遊んでみたいと思います!

(今から論理的思考を身につけようとしている?笑)