小1娘(未経験者)にプログラミングをどう教えるかを考察

★ぱぱにっき

 娘(小1)が小学生のうちに、学校の勉強とは別の特殊スキルとして、 プログラミング能力と外国語能力を身につけさせようと思います。 幸い我が家はお金をかけずに外国語とプログラミングは学べる環境にあり、 外国語なら、英語+日本語+韓国語の3ヶ国語を専門スクールに頼らずとも、 家で妻と僕が教えられそうです。 2年生あたりから英語から少しずつ始め、 6年生になる頃には上記3ヶ国語で日常会話ができるようにしたいと思います。

 プログラミング能力は、 ざっと以下のようなカリキュラムで教えようと思っています。

1.1年生のときにローマ字打ちマスター 
2.2年生のときにプログラミング基礎 
3.3年生のときにプログラミング応用 
4.4年生のときに電子回路とロボット基礎 
5.5年生のときに電子回路とロボット応用 
6.6年生のときにオリジナルアプリ開発

 「小学校でのプログラミング授業の必修化」に伴う小学校のSTEM教育がどのようなものなのか全然わかりませんが、 僕は僕なりの娘に使えるプログラミングスキルを付けさせたいと思います。 

S:科学(Science) 
T:技術(Technology) 
E:工学(Engineering) 
M:数学(Mathematics)

1.1年生のときにローマ字打ちマスター

 この前、どのように教えるか考えて以下のような記事を書きました。妻を巻き込んで娘と競争しながら娘のやる気を引き出します。

2.2年生のときにプログラミング基礎

 今年中に教育法の具体的な案をまとめる予定ですが、方向性としては、 まずはあまりコーディングを必要としないアルゴリズムを覚えるツールを使う予定です。 上手く行けば、簡単そうな言語の中で娘と相性の合いそうな言語の基礎を教える予定です。  

3.3年生のときにプログラミング応用

 ウェブアプリになるのか、スマホアプリなのか、PC用のアプリケーションになるのか未定ですが、 既存のゲーム(簡単なもの)や雑誌や本を利用してサンプルアプリを作ることが目的です。 自分で作ったものを実際に動かして遊べたり使えたりすることで、 プログラミングが実際にどのように使えるようになるのかを教えます。  

4.4年生のときに電子回路とロボット基礎

 今まではコードだけのものとパソコンやスマホの中だけの絵や音だけを操作していたのを、 外部インタフェースを通して別のハードウェアを扱える基礎知識を教え込む予定です。 実際に今まで自分がプログラミングしたものがどのような原理で動作するようになっているのか、 ざっとハードとソフトの連携のイメージを掴めるように理論の説明にも注力するつもりです。  

5.5年生のときに電子回路とロボット応用

 少々お金がかかりそうですが、世の中で販売されているキット(ロボットや電子基盤)を できるだけ沢山、実際に組み立てたり、コーディングしていろいろ試してみたりさせます。  

6.6年生のときにオリジナルアプリ開発

 商品のアイデア出しから、設計、制作まで、一連のながれをすべて体験させながら一緒に開発します。 僕はあくまでもアドバイザとして、メインはあくまでも娘一人で開発することが目的です。 うまく作れるようになったら、どこかのイベントや大会などを探して出品させてみたいと思います。

 以上が僕が娘にプログラミングを教えるとしたらこのようにするだろうなと 思っているカリキュラムです。 もし、僕にプログラミングと開発能力がなく、娘をどこかのプログラミング教室に 通わせたらどのように教わったのでしょう。