子どもの考える力を育てる ゼロから学ぶ プログラミング入門 読んでみた。
[記事公開日]2018/01/26
[最終更新日]2024/08/31
プログラミングの本は多くあり、Scratchなどで学んでいく本も
多く発売されています。
本を読んでも、Scratchの操作の仕方しか載ってない本もあります。
それだと、どうやって理解していいか、わからないなどあります。
大人と子供では理解度が違いますが、この
子どもの考える力を育てる ゼロから学ぶ プログラミング入門の本は、
物語になっているので、
本も読みながら、プログラミング的思考、プログラムの基礎知識が身につくと思います。
子どもの考える力を育てる ゼロから学ぶ プログラミング入門 単行本 – 2017/10/13
すわべ しんいち (著), 熊谷 正朗 (監修)
ストーリー仕立ての内容でわかりやすくプログラミングを学び、実践形式でプログラミングを体験!
目次
子どもの考える力を育てる ゼロから学ぶ プログラミング入門 読んでみた。
1 消えたプログラム
2 ロボットのしくみ
3 お掃除ロボットの気持ち
4 ロボット的な考え方
5 プログラムをより簡単に
6 失敗から学ぶ
7 発想の転換
Scratchを体験する
ゲームの世界
アタマとカラダで理解する! コンピュータプログラムはどのように動くのか? 大型本 – 2018/1/16
内容紹介
基本原理を理解すれば応用は自由自在!
CPUのしくみ、コンパイラ/インタープリタ・OSの自作といったテーマについては、
もちろん大学の教科書には載っています。
また実用書にも総花的なテーマを扱ったものはありますが、
それらの解説は表面的なものになりがちである上、文章による説明ではどうしても理解が困難です。
それに対して本書は、誰でも実際に自分でやってみることにより自然に納得できる、
きわめて敷居の低い本になっています。
目的は、プログラムが実行されるまでの「すべて」の過程がわかるようになること
(本書の目的はプログラムが動くまでのプロセスを見せること)。
著者の提供するエミュレータおよびロジックシミュレータ
(Webブラウザがあれば使用可)で確認することにより、
頭だけでなく体でも徹底的に原理を理解できます。
10代からのプログラミング教室: できる! わかる! うごく! (14歳の世渡り術) 単行本 – 2017/12/22
内容紹介
プログラミングができると、どんないいことがあるの?どうやればできる?苦手意識があっても大丈夫。自分で身につける技術を伝授!
プログラミング教育対応 Scratchで楽しむプログラミングの教科書 単行本 – 2019/4/20
親子でかんたん スクラッチプログラミングの図鑑 (まなびのずかん) 大型本 – 2017/12/21
松下 孝太郎 (著), 山本 光 (著)
10才からはじめるゲームプログラミング図鑑: スクラッチでたのしくまなぶ 単行本 – 2017/11/21
内容紹介
ゲームは自分で作ると、もっと楽しい!
『10才からはじめるプログラミング図鑑』に第2弾が登場!
親子で学ぶ プログラミング超入門 ~Scratchでゲームを作ろう!
単行本(ソフトカバー) – 2017/11/17
内容紹介
親子で学ぼう! プログラミング
子どもの考える力を育てる ゼロから学ぶ プログラミング入門 読んでみた。
子どもの考える力を育てる ゼロから学ぶ プログラミング入門 単行本 – 2017/10/13
すわべ しんいち (著), 熊谷 正朗 (監修)
ストーリー仕立ての内容でわかりやすくプログラミングを学び、実践形式でプログラミングを体験!
目次は、このような感じです。
第一章
第二章
と、2部構成です。
全部で10のレッスンがあります。
1 消えたプログラム
2 ロボットのしくみ
3 お掃除ロボットの気持ち
4 ロボット的な考え方
5 プログラムをより簡単に
6 失敗から学ぶ
7 発想の転換
Scratchを体験する
ゲームの世界
プログラミング的思考を理解するための、やさしい入門書
2部構成で習得を目指す。
①理解編、物語を読み思考力が育つ
②実践編、Scratchで実際のプログラムを体験できる
本では
Scratchで使う
サンプルデータもダウンロードできます。
ただ、サンプルデータをダウンロードするには、
URLを入力して、パスワードなど入力。
1度にダウンロードができないので、人によっては少し手間と感じるかもです。
プログラミング系の本とかって、とくにゲームなどの場合は
買う前に、どんなゲームで操作して遊べるかと、わからないないと人によっては、買わないと思います。
Scratchのサイト上に、完成データなどあれば、手軽に操作して、このような感じのゲームを作るんだとかが知れていいと思います。
ゲームは3つ(4)あります。
シューティングゲームは、完成品と実際に作成する手順が載ってます。
お掃除ロボットは、物語上で作成したものですが、
完成されたScratchのファイルが2バージョン載ってます。
Scratchでのブロックを組み立てての作成の解説はないです。
人によっては、難しく感じるかもです。
5円ゲームは、完成されたScratchのファイルが載ってます。
ブロックを組み立てての作成の解説はないです。
プログラムを音楽に例えると、プログラミング言語は楽器になります。
楽器にピアノ、ギター、サックスなどがあるように、
プログラミング言語にも、C言語、Swift、Java、Scratchなど、いろいろ種類があります。
皆さんは、楽器を習うとき、どのような基準で選びますか?
好きなアーティストのギター憧れて、ギターを選んだり、近所にピアノ教室があるから、ピアノを選んだり、
どの楽器を習うにしても、楽譜の読み方をマスターすることをはじめ、音楽の基礎的な部分は共通で、必要となる知識です。
プログラミング言語でも、iPhoneアプリを作りたい人は、Swift、
ロボットを動かしたい人は、C言語、
自分が向いてる、興味のあることを基準に選ぶといいと思います。
Amazon:C言語
https://amzn.to/3MwrR8w
Amazon:iPhoneアプリ
プログラミング言語のBASICが流行した1980年後、子供たちは、自分でプログラミングしたゲームを雑誌に投稿し、
プログラムを遊びとして、楽しんでいました。
今、再び、創造力や論理的な思考力を育むツールとして、プログラミングが注目され、
2020年には、小学校でも、必修化されようとしています。
これからは、子供たちが、主体的に考えて、自分で学ぶ学習スタイルが求められています。
Amazon:BASIC言語
https://amzn.to/4cHnylC
基礎BASICプログラミング
1986年に出版したBASIC言語プログラミング
プログラムの考え方
登場人物
博士ネズミ
マー太
ラン子
チビ助
この物語は、ネズミたちが暮らすスクラッチ王国から、出発した船の中でのネズミ探偵団の活動を描いています。
物語は、プログラムが盗まれた所からはじまります。
お掃除ロボットのプログラムが盗まれてしまった。
お掃除ロボットには、コンピュータが入っているから自動で、お掃除してくれます。
プログラムが盗まれたので、お掃除ロボットが動かなくなってしまった。
プログラムがないと、コンピュータは動かない。
コンピュータとプログラムは、常にセットの関係です。
ゲーム機が、あってもソフトがなければ遊べないのと同じです。
動かすにはプログラムが必要
掃除機+コンピュータ+お掃除ロボット
君たちには、お掃除ロボット用のプログラムを作ってほしいです。
お掃除のやり方を手紙に書いてみよう。
プログラムとは、コンピュータに指示を出す手紙みたいなものです。
例
床に落ちてるゴミを見つける
↓
掃除機で、吸い取る
このような感じで、メモで書いていきます。
何回も、同じことを、書くようなときは、繰り返すを使えばいいです。
ゴミがなくなったら、どうすればいいの?
お掃除を終わりにするための条件を追加してあげればいいです。
お掃除を自動で動かすには、
お掃除ロボットに適した動きの手順を考える。
動きの手順を細かく分解する
分解した内容をプログラムの文章に書き直し、コンピュータに指示する
コンピュータが掃除機を動かす。
という流れが必要です。
一般的に、この考えのことを、プログラミング的思考といいます。
ロボットの仕組みの解説
ロボットはコンピュータでコントロールされているから、自分で判断して、いろいろな動きをすることができます。
ロボットには、目や耳や感触、私たちの五感の代わりになるセンサーという部品が組み込まれています。
使われる用途により、いろいろな種類があります。
耳の変わりなら音をひろうマイク。
目の代わりならカメラ、レーダーなど
触覚には、接触センサーや接触スイッチなどが使われています。
センサーで情報を集めて、それを、ロボットの頭脳であるコンピューターに伝え、
コンピュータがプログラムされた内容のとおりに情報を判断しているわけです。
ロボットを動かすのに、使われる部品は、ほとんどの場合はモータです。
いろいろなセンサーから得た情報がコンピュータに伝わる。
コンピュータは、僕達が考えたプログラムどおりに情報を判断し、
モータに指示を出してロボットを動かす。
お掃除ロボットの動き方
コンピュータが理解できるように指示するには、動きを小さな手順に分解しないといけない。
10枚のメモ紙に書いた
お掃除ロボットの動き方を、黒板に書いてみた。
壁に当たるまで真っ直ぐ進む
壁に当たったら止まる
サンドイッチの作り方で、解説
サンドイッチの盛り合わせ
このハムのサンドイッチは、
作り方の手順を変えることができる。
①パンにバターを塗る、ハムをのせる、バターを塗ったパンをかぶせる、耳を切る。
②テーブルの上に8枚のパンを多く並べて、全部のパンにバターを塗る、
次に、4枚のパンに、具のハムをのせる、
残りの4枚のパンを重ね、最後に、全てのパンを重ねてパンの耳を切る。
サンドイッチの作り方でも
結果は、同じでも、いろいろなやり方があるのと同じです。
このような作業の手順を考えた、やり方のことをアルゴリズムと言います。
何かの作業をする前には、必ずやり方えお考えます。
作業を効率的に行こなうためには、、その状況に合ったアルゴリズムを考えることが重要です。
状況によって、より良いアルゴリズムは変わります。
先ほど書いた、お掃除ロボットのメモ。
これもアルゴリズムです。
やり方を工夫して、より良いやり方を見つけること。
すなわちより良いアルゴリズムを見つけることが、
より良いプログラムを作るための第一歩になります。
アルゴリズムは分解できます。
もっとプログラマ脳を鍛える数学パズル アルゴリズムが脳にしみ込む70問 単行本 – 2018/2/19
ロボットの動きに適した表現
先ほど書かれたメモ。ロボットの動かきに適した表現に変える。
真っ直ぐ進む、のメモを
右と左の車輪を同じ速さで前に回転させる。とメモを書き直した。
書いたメモを書き直した。
プログラム的な考えを使って書き直すと、便利な言い方に変わります。
プログラムの世界では、このようなときは変数を使います。
変数?
変数を使うと、一か所だけ変更するだけで済むんですか?
例えば、今回のような走らせたい速さのようなプログラムを完成させて実際に動かしてみたら、
スピードが速かったとか、遅かったとかで、後から変更する可能性が高い数字は、
変更する部分が少なければ少ないほど、書きかえるときのミスも少なくなります。
お掃除ロボットの走る速さは、1枚目のメモだけで設定したり、変更したりすればいいです。
プログラムは、小さな指示の集まりです。
ちょっとした動きをプログラミングするだけで長くなります。
だからこそ、変数を使って、プログラムのミスを少なくする工夫は必要です。
接触スイッチから当たった情報が、届く、か、届かないかかで分かれます。
プログラムには、分岐という考え方があります。
分岐
分岐とは、選択肢があるときに使う考え方で、枝わかれした選択肢の一方を選んだときの指示と、
もう一方を選んだときの指示を別々に設定するための考え方です。
右を向く、とか真っ直ぐに進むとか他、1度書き直したメモが何回も登場します。
同じ内容のメモを何回も書き直すのは面倒です。
関数の考え方
これまでは、動作を分解した手順のメモを最初から順番に並べてきたが、関数は、手順の1部を取り出して別の所に並べて、
手順の名前を付けたもの。
メモの内容をプログラム言語で書き換えてあげればプログラムの完成です。
お掃除ロボットが完成してから1週間が過ぎました。
プログラムにバグはつきもの。
どんな使わ方をしても機能するようなアルゴリズムを考えて、プログラミングすることが大切です。
今回のプログラムでは、バグがありました。
部屋の中には、いろいろな物が置かれている。
お掃除ロボットは、真っ直ぐ進まないことがある。
部屋の形は四角形だけでない。
適当な動きを、お掃除ロボットの動作に適した表現で書くときは、乱数という考え方を使います。
乱数を発送させる。
乱数が偶数なら右、奇数なら左
本では、お掃除ロボットを完成、
それを、Scratchでするとかの解説は、おまけのページで解説がありますが、
素材をダウンロードして、そのデータをScratchにアップロードして、遊ぶ感じです。
Scratchの使い方など解説
本では、Scratchの登録などは載ってなく、
オンラインエディターでの操作が載ってます。
Scratch
https://scratch.mit.edu
繰り返す体験
調べるブロック
足し算クイズを作る
サンプルの素材をダウンロードして、Scratchに素材のデータをアップロードして操作します。
お掃除ロボットを動かす
プログラミングがわからない大人が読んでも部分部分は、ためになると思います。
人によっては、思ってた内容とちょっと違うなど感じる方もいるかもです。
子どもの考える力を育てる ゼロから学ぶ プログラミング入門 単行本 – 2017/10/13
すわべ しんいち (著), 熊谷 正朗 (監修)
ストーリー仕立ての内容でわかりやすくプログラミングを学び、実践形式でプログラミングを体験!