小学5年生からはコーディングもできるようになるんですか?
そうね! コーディングではプログラミング言語をあつかうから、5年生ぐらいからはかなり本格的なプログラミングも理解できるようになるわ。
コーディングとプログラミングってなにが違うんですか?
それはこれから説明するわ!
こんにちは、Yunです!
プログラミング教育について調べるなかで「プログラミングとコーディングの違いってなに?」「プログラミングって5年生からでもできるの?」と感じていませんか?
そんな悩みをお持ちの方に、こちらの記事では小学5年生以上におすすめのプログラミングとコーディングの勉強方法を解説しています!
この記事を読めば小学5年生にどんなプログラミング教育がふさわしいかがわかります!
コーディングとプログラミングの違い
「プログラミング」と似たような言葉に「コーディング」があります。
日本ではプログラミング教育という言葉が流行していますが、「コーディング教育」はあまり聞きません。プログラミングとコーディングの違いとはなんなのでしょうか。
コーディングはプログラミングの一部
「コーディングとプログラミングは同じものですか?」と聞くことは「木と森は同じものですか」と尋ねることに似ています。
コーディングよりもプログラミングのほうが広い概念ですが、だからといってプログラミングのほうが重要だと一概に言えるものではありません。ほとんどの場合、プログラミングにはコーディングが不可欠です。
どっちも大事なんですね。
コーディングとプログラミングの比較
コーディング | プログラミング |
---|---|
コーディングとは、プログラミング言語などによって、自然言語を機械語に変換すること | プログラミングとは、ソフトウェア開発・運用などでコンピューターを用いる一連の作業全体のこと |
コーディングは、エディターがあればおこなえる | プログラミングには、分析ツールやテスト環境などが必要 |
プログラミング言語の知識が必要 | コーディングに関する知識にくわえ、ソフトウェア設計、プロジェクト管理などの知識も必要 |
コーディングだけでは実際の商品はつくれない | 世の中にあるソフトウェア開発は、プログラミングによっておこなわれている |
定義の違い
コーディングとプログラミングは、どちらもコンピューターをあつかう作業ですが、その作業の内容が異なります。
コーディングとは、私たち人間が使う「自然言語」を0と1だけの「機械語」に翻訳する作業です。このときに自然言語と機械語の仲介役をするのが「プログラミング言語」です。
プログラミング言語は単語や文がそれぞれ機械語に変換できるようになっている言語です。コーディングではプログラミング言語を用いることで人間の命令を機械に伝えています。
一方、プログラミングとはあるプログラムやソフトウェアを開発・実行するための作業です。ここでは一般的な商品企画開発・テスト点検やプロジェクト運営と同じ行程も含まれています。
言葉は通じないけれど欠かせないキーマンとチームで商品開発をしているところを想像してみてください。コーディングは通訳、プログラミングは開発・運営全体の手法と言えます。
より本質的なのは企画開発・運営手法ですが、相手が機械なので通訳(コーディング)だって欠かせないのです。
プログラミングのほうが範囲が広いんですね!
コーディングは実際のプログラミングには欠かせない
子ども向けのプログラミング教材ではコーディングを必要としない「ノーコード」でプログラミングを学べるものが多くあります。
これは幼児〜小学校中学年くらいまではコーディングに必要な「プログラミング言語」の単語や構文を理解するのが難しいからです。主要なプラグラミング言語はすべて英語ベースでつくられていることも、つまずきやすさの原因のひとつです。
ただし文字を必要としないプログラミング教材も、それ自体は内部に膨大なコードが記述されています。実際に現場でアプリケーションを作成したり、プログラムのバグを修正したりするためにはコードを理解していなくては作業できません。
プログラミングに興味をもち、エンジニアになりたいと夢見ている子どもたちはどこかの段階でコーディングについて学ぶ必要があります。
どんなアプリも、内部では膨大なコードで記述されているんですね。
小学5年生からコーディングができる理由は?
コーディングについて学び、プログラミング言語にふれるおすすめの時期は小学5年生(11歳)以降です。これは子どもは11歳ごろからそれまでよりも発達が1段階進むと考えられていることを根拠としています。
5年生(11歳)の発達段階
発達心理学では11歳以降はそれまでよりも抽象的な概念を理解できるようになる年齢であるととらえています。
ピアジェの「思考の発達段階」
スイスの心理学者ピアジェ(1896-1980)は、子どもの認知発達に関する独自の理論を提唱し、心理学・教育学界に大きな影響を与えました。
11歳以降は「形式的操作期」に位置する
ピアジェは11歳〜成人の発達段階を「形式的操作期」と呼び、以下のような特徴があると整理しました。
たとえば「3人にりんごを2個ずつ配ると……」という具体物を用いた説明でないと理解できなかった段階から、「a × b = ab」のような抽象的な文字式を理解できるようになるわ。
形式的操作期の前段階には7~11歳の「具体的操作期」があります。11歳までの子どもの特徴は以下のとおりです。
7~11歳ごろになって、やっと客観的な視点をもつようになるの。このころの論理力はまだ未熟よ。
プログラミング言語の理解には抽象理解力と論理性が必要
プログラミング言語は「言語」であるため、それぞれのコード1行ずつを正しい文法で記述しなければいけません。プログラミング言語の文法はさまざまな具体的な表現に共通するものであるため「抽象的」であり、順序や規則があるために「論理的」です。
したがってプログラミング言語の理解に関しては、11歳以降の発達段階でやっとスムーズにおこなえるようになります。
5年生以上におすすめのプログラミング教材
小学5年生、6年生、中学1〜2年生ぐらいであれば、コーディングについても学べるようなプログラミング教材をおすすめします。
Swift Playgrounds
Swift Playgrounds(スウィフト・プレイグラウンズ)はApple社が開発したiPadやMacで楽しくコーディングとプログラミングが学べる無料のアプリケーションです。
Apple公式では対象年齢を10歳以上からとしているので、Swift Playgroundsに関しては小学4年生から楽しめることができます。
実際にコードを記述してキャラクターを動かすのですが、Swift Playgroundsの特徴は使うコードを選択肢から選べることです。命令文の順序によってキャラクターの動きが変化するのは見ていて楽しいですし、実際のコードをかたまり単位で並べかえて操作するのでプログラミング言語の構文学習にもなっています。
Swift PlaygroundsはiPhoneアプリ開発などで用いられているプログラミング言語「Swift」の初心者向け学習ツールです。「Swift」はアプリ開発現場でメジャーな言語であるため、Swift Playgroundsで遊ぶんでいると本物のエンジニアになったような気分になります。
序盤のステージは短い単語(関数)の並べかえだけなので、英単語がわからなくても文字のかたちとキャラクターの動きをセットでイメージしやすくなっています。
ステージを進めていくと少しずつ難易度が上がっていくから、大人のプログラミング学習教材としてもおすすめよ。
Swift Playgrounds
Apple無料posted withアプリーチ
Minecraft(マインクラフト)
マインクラフトはブロックを積み重ねて自由に建物・街・世界をつくる大人気ゲームです。ブロックは木材や金属・家具などを表しており、組みあわせることで広大な土地にさまざまなものを生み出すことができます。
マインクラフトは子供向けプログラミング学習にはとても有効なゲームです。「レッドストーン」と呼ばれるブロックを使ってスイッチ回路をつくれる「ヴィジュアルプログラミング」の側面もありますが、今回はマインクラフトでコーディングを学べる理由を紹介します。
マインクラフトには「チートコマンド」というコードがあり、これを入力することでさまざまな機能が実現します。
たとえばゲーム内の時間を変更する「/time set」コマンドや天候を変更する「/weather」コマンド、ブロックを一括で設置する「/fill」コマンドがあります。
これらは文字で入力するコーディングですが、数単語で記述するため小学5年生以上であれば十分対応できます。
マイクラのチートコマンドはプログラミングにおいて「関数」と呼ばれるものです。関数はどのプログラミング言語でも欠かせない概念であるため、子ども向けゲームで慣れ親しんでおけば実際のプログラミング言語を学ぶときに学習を進めやすくなります。
まずはチートコマンドなしでマインクラフトで遊び、「もっとこういうことができたらいいのに」と子どもが感じているようならチートコマンドを紹介してみてください。これまでできなかったことがコーディングによって可能になることの喜びは、子どものプログラミング学習への興味をかきたてます。
マイクラなら、子どもと一緒にプログラミングの勉強できそう!
コーディングができれば論理力が伸びる
コーディングではプログラミング言語をあつかいます。プログラミング言語はたくさんの種類がありますが、どの言語も文法に厳格であるため、正しく使うためには論理力が必要です。
ただし子どもがあつかえるプログラミング言語では、膨大な単語の知識や長い文の記述は必要ありません。いくつかの簡単な単語を、正しい順番で用いることが大切になります。
コーディングの練習をくりかえすことで、ものの構造やしくみについて考える習慣が身につき、論理的な文章を読めるようになります。
コーディングははじめのうちは大人がそばで見てあげるほうが挫折しにくくなります。両親がそばにつくことが難しければ、プログラミング教室での学習もおすすめです。
プログラミング言語って聞いて子どもには難しいんじゃ……と思ったけど、ゲームやアプリでなら楽しんで学べそうですね!