プログラミング

【無料で始める】プログラミング必修化の対策はこれだけ。エンジニア志望の方にも【スクラッチ】

こんにちは。フリーランスエンジニアのなるき(@andsmartlabo)です。

2020年4月からプログラミング必修化が始まりました。

  • 2020年~ 小学校
  • 2021年~ 中学校
  • 2022年~ 高校

というスケジュールを文部科学省が組んでいます。

なるき
なるき
学生さんだけでなく、親や教員の方も「プログラミングを覚えないと!」という方もいらっしゃるのではないでしょうか?

この記事を読むと幸せになる人は以下です。

  • プログラミング必修化に戸惑っている方
  • 英字の羅列で挫折しかけた方
  • コピペしても意味がいまいち分からない方

会社の社外イベントでプログラミング未経験のお子様や学生を集めて、小さなプログラミング教室を開いたりしました。

その時に使用していたのが今回ご紹介する「スクラッチ」です。

始め方は簡単。アカウント登録も任意です。(アカウント登録しないと続きからが出来なくなるため、必要ではあります)

シマエナガ
シマエナガ
え、リンク先が英語サイトで難しそう…
なるき
なるき
開くと日本語だよ。少し億劫の方もいらっしゃると思うので、そんな方はNHK for schoolからご覧下さい!

また、文部科学省の「小学校プログラミング教育に関する研修教材」としても利用されているようで、対策としてはおススメです!

本教材は、「Scratch 正多角形をプログラムを使ってかく」から視聴/閲覧していただき、その後、必要に応じて「Scratch ねこから逃げるプログラムを作る」「Viscuit たまごが割れたらひよこが出てくるプログラムを作る」を視聴/閲覧していただくことを想定して作成しています。
引用元:文部科学省HP

では早速、スクラッチがおすすめな理由を見ていきましょう!

スクラッチとは何者?

スクラッチ画面

スクラッチとは、プログラミングを視覚的に分かりやすく表現したものです。

上記の画像はプログラミングの作成画面ですが、英語の羅列ではなく親しみやすい画面ですよね。

wikipediaにはこう書かれています。

Scratch(スクラッチ)は、Scratch財団がマサチューセッツ工科大学メディアラボ ライフロングキンダーガーデングループ(MIT Media Lab Lifelong Kindergarten Group)と共同開発する、8〜16才のユーザーをメインターゲットにすえた無料の教育プログラミング言語及びその開発環境である。

引用元:Wikipedia

ここから分かる通り、スクラッチはれっきとしたプログラミング言語です。

メインターゲットは上記年齢ですが、「すべての年代の人々に使われている」とのことでした。

プログラミングの必修化はエンジニア養成ではない

前項で何となくスクラッチには触れましたが、

プログラミングに所縁があまりない方だとこんなイメージじゃないでしょうか?

非エンジニアA
非エンジニアA
プログラミングといったら真っ黒な画面に向かって、英字をいっぱい書くんでしょ?

まさに上記画像の様な感じですよね。

文部科学省でもスクラッチがおススメされていることからも分かりますが、こんなやる気を削ぐ事はしません

シマエナガ
シマエナガ
じゃあプログラミングの授業って何するの?
なるき
なるき
小学校で扱うのは、プログラミングの思考力みたいだよ。

小学校プログラミング教育のねらい

「プログラミング的思考」を育成すること。
※「プログラミング的思考」については後ほど説明します。
② プログラムや情報技術の社会における役割について気付き、それらを上手に活用してよりよい社会を
築いていこうとする態度を育むこと。
③ 各教科等の中で実施する場合については、「教科等での学びをより確実なものにする」こと。

引用元:文部科学省HP:小学校プログラミング教育の概要 1より抜粋

スクラッチでは、そのプログラミングの思考力に集中する為、様々な工夫がなされています。

難しい英字の羅列を日本語で、かつパズルのように表現されているため、小さな子でも簡単に始める事ができます。

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

とはいえ、急にプログラミング的思考だ!と言われてもピンとこないのではないでしょうか。

ちなみに文部科学省HPでは以下の様に定義しています。

大まかにいうと、コンピュータに意図した処理をさせるため、これらの命令を組み合わせたり、組合せを改善したりすることを論理的に考える力が、「プログラミング的思考」です。
引用元:文部科学省HP:小学校プログラミング教育の概要 1より抜粋

シマエナガ
シマエナガ
…というと?
なるき
なるき
例を挙げると、自動販売機はどうやって商品を出しているか考える感じ。
シマエナガ
シマエナガ
お金入れて、ボタン押したらジュースが出てくるとか?
なるき
なるき
そうそう。もう少し書くと、プログラミングっぽくなるよ!
  1. 商品を選択
  2. お金を入れる
  3. 投入された金額をチェック
    3-A.投入された金額が100円以上:選択された商品を出し、④に進む
    3-B.投入された金額が100円以下:②に戻る
  4. 差額がある場合、おつりを返金

こんな形で、自己完結100円自動販売機が完成しました(笑)

他にも条件をいっぱいつけてあげると、本物の自動販売機に近づきます。

プログラミング的思考 = 1から10まで手順を説明してあげること

コンピュータは漠然としたものが苦手なんです。手のかかる子だと思ってください。

この手順を実際に動かしながら確認できるのが、スクラッチなんです!

プログラミング的思考を育めるスクラッチ

前項で述べた通り、簡単に動かしながら確認できます。

お手軽さは分かりやすいように、画面を見ながら確認してみましょう。下記はプロジェクトを新しく開いた所です。

スクラッチ

赤枠内を見て頂けると分かる通り、色々な手順用のパーツが揃っています

なるき
なるき
このパズルの様なパーツの形には理由があって、パーツ同士形が合うもの(関係しているもの)じゃないとくっつかない。凄い分かりやすい。

また、右側に元気な猫がいる空間があると思いますが、ここが手順に沿って動いてくれる場所です。

その為、手順が合っているかを都度確認することができます。

ちなみに前項で例に挙げた「自己完結100円自動販売機」の仕組みも、勿論これらのパーツをパズルのように組み立てることで実現可能です。

簡単に作ってみましたので、興味がありましたら真似してみて下さい!↓

スクラッチ説明
シマエナガ
シマエナガ
この記事用に作ったの?
なるき
なるき
作るつもり無かったんだけど、ちょっと楽しくなって適当に作っちゃった!

スクラッチは場所を取らない(モノがいらない)

Aさん
Aさん
学ぶには、高価なプログラミングキットとか必要なんじゃないの?

と思われるかもしれませんが、スクラッチは旗のマークを押すと、元気な猫がいる空間に結果が反映されます。

PCの画面内ですべてが完結します。

その為、用意するモノや買うものは何もありません

スクラッチの詳しい使い方

NHK for schoolにて、分かりやすく使い方等がまとめてあります

初めての方は、まずこちらを見ながら始めるのがおススメです。

色々な作品のコードが見れる

スクラッチの詳しい使い方を大体マスターしたら、他の方の作品をクリックして見てみましょう。

下記の様に「中を見る」を押すと、実際のコードが見れます!

スクラッチ説明

プログラミング界隈では写経とか呼ばれていますが、

実際に作られている形を見ながら習得するのはおススメですね!

作ってみたい作品があったら、「中を見る」で見てみると、お子様でも飽きずに習得できると思います!

シマエナガ
シマエナガ
とはいえ、複雑でわかりにくいのもあるので注意!慣れてからがおススメかも。

スクラッチはエンジニアを目指す方にもおススメ

実際にスクラッチをぱっと見た所はこう思うのではないでしょうか?

エンジニア志望A
エンジニア志望A
こんなの子供だましじゃん!

ふざけた顔のネコを見るとそう思うのもごもっともですが、大マジで子供だましではないです。

実際のプロジェクトでも、アルゴリズムを上記画像の様なフローチャートで設計図を起こしたりします。
フローチャート

このフローチャートを実行してくれるのがスクラッチです。

アルゴリズム:
問題を解決するための方法や手順のこと。問題解決の手続きを一般化するもので、プログラミングを作成する基礎となる。
引用元:コトバンク

実際にエンジニアとして現場で実装してますが、大体こんなのを考えて、それぞれの言語に当てはめて翻訳している感じです。

構文暗記に手いっぱいで、プログラミング的思考が難しい方にも

これからプログラミングを学ぶ方で、

プログラミング勉強中
プログラミング勉強中
メソッドってどうやって書くんだっけ!覚えないと!

等々暗記に手一杯になり、プログラミング的思考がおろそかになっている方も少なくないのではないでしょうか。

そんな方には、まずスクラッチでプログラミング的思考を身に着けるのもアリだと思います。

よくTwitter界隈では、

プログラミング講師?
プログラミング講師?
分からない構文は覚えず、調べてコピペが一番!

と言っている方も多々見受けられますが、

恐らくスクラッチを操れるようになれば、その方のレベルに到達できる土台が身に着くのではないか、と個人的に思っています。

プログラミング初心者におすすめの入門言語の記事もありますので、併せてどうぞ↓

プログラミング初心者におすすめの入門言語は?独学?フリーランスエンジニアが答えます。とりあえずプログラミングを学びたい!という方は多いのではないでしょうか? そんな方々の中で出てくる最初の大きな問題、 「何の...

スクラッチはプログラミングの第一歩

プログラミングと聞くと何となく身構えてしまいますが、スクラッチを見ているとパズルのように簡単そうに見えてきませんか?

そんなパズル感覚で、気軽に親子でスクラッチを始めてみるのも良いと思います。

特に子供の集中力や吸収力、発想力には毎度驚かされますよ!

また、プログラミングは手順を1から10まで書かなきゃいけないので、論理的な思考が身に着くかもしれませんね。

未経験の方も、本格的にプログラミングを学ぶ前にスクラッチに触れる事は、大きなアドバンテージになると思います。

要点まとめ
  1. プログラミング必修化対策にまずスクラッチ
  2. スクラッチでプログラミング的思考を身に着ける
  3. エンジニア目指す方にもおススメ
シマエナガ
シマエナガ
これからどんどん優秀なエンジニアが増えてきそうだね…
なるき
なるき
英会話で言うネイティブみたいなものだしね…負けないように学び続けないと!