- 更新日: 2019年04月03日
- 公開日: 2017年09月28日
今最も注目される教育!プログラミングでできること総まとめ
2020年の小学校でのプログラミング教育必修化に向けて、どのように学んでいけばよいか情報を集めている親御さんも多いのではないでしょうか。
また「このまま今の仕事を続けていて良いのだろうか?やっぱりこれからはIT系の仕事がいいのかな?」と自問自答を毎日繰り返している社会人の方も多いのではないでしょうか。
そんなプログラミングやITについてもやもやしている部分をこちらの記事で紐解いていきたいと思います。
「もやもやしている」状態から「知っている」状態に前進して、これからの社会に適応していくために必要な準備をしていきましょう。
今最も注目される教育!プログラミングでできること
プログラミングとは
プログラミング(Programming)とは、人間に変わって機械やコンピュータに決まった動きや処理をしてもらうための指示内容を考えて、機械やコンピュータが理解できる言語で指示内容を書き記す作業のことをいいます。
「プログラミング」というと特別感があるかもしれませんが、既に私達の生活の至るところで「プログラミング」されたものやサービスは溢れています。 テレビのリモコンやテレビゲーム、スマホのアプリに、電車の運行スケジュール、それから発電所の電力管理に年金の管理システム。 また今では文字や画像だけでなく、データ化できる光や臭い、音声、振動、回転、位置情報などを「プログラミング」によって制御し、欲しい情報を手に入れたり、作業の自動化を行うことができるようになっています。
まだコンピュータが普及していなかった1990年後半に比べて、現在ではプログラミングに使うパソコンも安くなり、またインターネット上では無料の教材も多数公開中。 その結果、趣味でプログラミングをしてWebサイトやアプリを開発・運営し、経済的恩恵を受けている方もいらっしゃいます。
また一方でプログラムの実行ベースとなるコンピュータの処理能力は、指数関数的な伸びを続けており、一部では人間の脳よりも処理が早いコンピュータが登場しています。 合わせてプログラミング言語の進化によって「人工知能」や「ロボティクス」も進化し、今後社会に普及していくと予想。 その結果、これからの働き盛りには仕事の効率化や新しいモノ・サービスの創造ために「プログラミング」が必要とされています。
プログラミングでできること
簡単な処理の繰り返しや自動計算からはじまった「プログラミング」も、現在は飛躍的な進化を遂げて様々な場面で利用することができるようになっています。 一般的にプログラミングでできることは、「プログラミング単体」で実行するパターンとスイッチやセンサー、モーターと併用して「複合的」に実行するパターンがあります。
プログラミングでできること【プログラミング単体】
- Webサイトの制作
- Webアプリの開発
- スマホのアプリの開発
- デスクトップアプリの開発
- ゲームソフトの制作(Web、スマホ、デスクトップのいずれでも)
- ドローン制御
- レースの予想(競馬やボートなど)
- 新規通貨の発行(仮想通貨) など
プログラミングでできること【複合的なケースの場合】
Raspberry Piというコンピュータをベースに、スイッチやセンサー、カメラにモーターを使うと個人でも以下のようなことができます。
- ゲームマシーンの制作(ゲームセンターのような)
- テレビの録画装置
- 簡易地震計/ IoT
- トイレの健康管理器具/ IoT
- 出退管理装置(NFC)/ IoT
- 監視カメラ/ IoT
- 植木鉢内の水分量を確認するセンサー/ IoT
- 水温をLINE経由でお知らせ/ IoT
- 自動運転車(おもちゃ)*
- ロボット制御 など
プログラミング単体でできることは、主にパソコンやスマホ上で扱う2次元の情報です。 パソコンとインターネット接続の環境があれば今すぐ自分でも作り始めることができ、「無から有を産む」現代ビジネスにマッチしたパターンといえるでしょう。FacebookやGoogleなどが代表的な例ですね。
複合的な環境でプログラミングができることは、自動運転自動車や自動ドア、それからIoTなど3次元のモノです。 複合的なケースの場合は、部品の組み立て作業と制御システム作業の2工程あり、プログラム制御の動きを目や肌で感じることが可能。 この結果、プログラム単体(コードだけ)に比べるとプログラミングがイメージしやすく、楽しいです。ただし、うまくいかなかった時のバグ発見が難しいこともあり、配線間違いなのか、プログラム間違いなのか、判断できる知識と経験が必要。最近話題のIoTは、この複合的なケースの発展型といえるでしょう。
プログラミングが活用されている身近な例
家電、電子機器のほぼすべてのものがプログラム化されています。こちらでは最新のプログラミング・テクニックを使ったサービス(CookBot、FAQボット)やプログラミングによって社会を変えている例(AirREGI)をご紹介します。
レシピの紹介
画像出典:CookBot
「レシピの紹介だったらクックパッドがあるじゃないか」と思われる方も多いと思いますが、レシピ検索も進化しています。 今回ご紹介する CookBot は、持っている食材を写真撮影するだけで、その材料を元にしてできるレシピを紹介してくれ、選んだレシピの工程をフローチャート表示、そして各ステップをアナウンスしてくれます。(キッチンタイマーも不要です) もう文字入力する時代は終わろうとしているのかもしれませんね。
処理内容としては、食材の写真を CookBot が画像解析し、人工知能によって食材が判断されて、その食材の情報がレシピサイトに投稿されて、決めたレシピのステップを CookBotが読み込み、各ステップ毎にメッセージを送ってくれる、という流れです。ただし、CookBotは英語しか話してくれません。。。
メイン・プログラミング言語:Python 3
Webサービス
画像出典:Rakuten Card
最近のWebサービスはネット通販にSNS、動画視聴にルート検索など消費者がついていけないレベルにまで規模が拡大中。 また各サービスの内容は、開発者サイドでどんどん更新されて「前とは違う」「これを知りたいけどどうすればいいのか」という事態にも陥っていると思います。 そんな時従来はカスタマーセンターに連絡して回答を求めていましたが、電話が繋がるまでに時間がかかったり、メールでの返信が遅かったりしました。
この問題をチャットボットが解決。 チャットボットは、過去の質問内容をデータで読み込み、顧客からの質問(入力値)に対して内容を理解し、回答を提示するソフトです。 最近のチャットボットは、質問の理解と回答提示のレベルが高く、2017年8月29日にリリースされた楽天カードのチャットボット、すごいです。
メイン・プログラミング言語:JavaScript
レジサービス
画像出典:AirREGI
最近お買い物をするときに「なんだかこのレジ、スッキリしているなぁ」と感じたことはありませんか? 恐らくそれは「AirREGI」という新しいレジシステムで、iPad × アプリ によって運用されていると思います。2013年末にリリースされて3年でアカウント数 約25万となっており、小売店を強力にサポート。 従来のレジシステムでは何十万円とかかっていた導入費用が、AirREGIの場合、iPadもしくはiPhoneがあれば 0円からスタートできます。またアプリでレジを管理していますので、アリペイやビットコインの新しい決済にもスムーズに対応可能。このようなことからAirREGIは、プログラムの力によって社会をいい方向に変えている好例といえるでしょう。
メイン・プログラミング言語:Swift
プログラミングが使われる職業
スマホやWebの普及、それからデータ量の増加(ビッグデータ化)によって、プログラミングに携わる職業も増えてきています。以下に代表的な職業をピックアップします。
- アプリケーション・エンジニア
- Webディレクター
- Webデザイナー
- ゲームクリエイター
- システムエンジニア
- プロブロガー
- 金融関係
- ネットショップ
- 学校の先生
- 宇宙開発
アプリケーション・エンジニア
アプリケーションエンジニアは、スマートフォンで使われるアプリやパソコンで使うアプリ、コンビニのATMで使うような業務用アプリを開発する職業です。ゲームのような嗜好品から銀行業務のようなインフラ的なアプリまで幅広く開発する特徴があります。
✎よく使われるプログラミング言語/Java、Swift、C++、C#
Webディレクター
Webディレクターは、WebサイトやWebアプリケーションの開発をするために顧客と打ち合わせ、仕様を決めて、デザイナーやプログラマに指示を出す仕事です。Webディレクター自身はプログラミングしないケースもありますが、顧客との打ち合わせやプログラマへの依頼時にプログラミング知識が必須。
✎よく使われるプログラミング言語/HTML、CSS、JavaScript
Webデザイナー
数年前まではWebデザイナーにとってプログラミング言語はあまり関係ありませんでしたが、CSSアニメーションの普及やモバイルファースト(スマホ対応)の影響でWebデザイナーにも基本的なプログラミング言語が要求されています。
✎よく使われるプログラミング言語/HTML、CSS、JavaScript
ゲームクリエイター
テレビゲームにスマホゲーム、ゲームセンターのゲーム、どれもプログラミングによってキャラクターが動いたり、ポイントが加算されていたりします。
最近ではテトリスのような単純なゲームは少なく、ユーザー参加型のポイントシステムを採用したゲームが多く、プログラムもより高度化されています。
✎【ゲーム開発に使われているプログラミング言語の例】
システムエンジニア
システムエンジニアは、会社内で社員が使うソフトを設計・開発したり、顧客からシステム案件を請け負って開発するスペシャリストです。最近では「見習いシステムエンジニア」も増加し、IT社会の中心的な役割を果たします。
✎よく使われるプログラミング言語/Java、PHP、SQL など
プロブロガー
「まだ東京で消耗しているの」や「ままはっく」などブログで収入を得ている方もいます。発信する情報の内容はもとより、ユーザーが読みやすい形にするためにWeb関係の基本的なプログラミング言語が必要となるでしょう。
✎よく使われるプログラミング言語/HTML、CSS、JavaScript
金融関係
銀行や証券会社のシステム開発はもとより、MBA(経営学修士)にプログラミング・スキルを プラスα する動きが見られます。米ハーバード大学のMBAコースではプログラミング・コース(CS50)が選択科目として提供されていて、人気です。
✎MBAにあわせて検討したいプログラミング言語/SQL、Python、R など
ネットショップ
AmazonやRakutenに代表されるネットショップですが、最近は実店舗とネットショップの2つを運営するケース(EC化)が増えています。
2010年には 2.84% だったEC化率も2016年には 5.43% と約2倍に増加*。これに合わせてネットショップの経営や運営を任せられる人材が求められています。
✎よく使われるプログラミング言語/HTML、CSS、JavaScript、VBA
VBA:Visual Basic for Applicationsの略。Microsoft製ソフトのデータ加工に長けるプログラミング言語。
学校の先生
2020年小学校のプログラミング教育必修化に合わせて、学校の先生もプログラミング・スキルが必要となります。小学校だけでなく、中学校・高校も段階的に必修化されていきますので、これからの教育者はプログラミング・スキルが必要といえるでしょう。
✎よく使われるプログラミング言語/Scratch
宇宙開発
スペースXをはじめ民間企業による宇宙開発も活発になっています。日本ではJAXAが有名ですが、こちらの開発現場ではソフトウェアの試作・更新も頻繁なようで、現場担当レベルでプログラミングが行われています。すごいですね。
✎よく使われるプログラミング言語/C、C++*
人気のプログラミング言語ランキング
自分の”立ち位置”と目標によって選択すべくプログラミング言語は違ってきます。 以下に代表的なプログラミング言語をご紹介しますね。
こどもに人気のプログラミング言語
- スクラッチ(Scratch)
- ビスケット(Viscuit)
どちらもビジュアル・プログラミング言語というブロックをつなげる書式のものですが、これができるとレゴのロボット制御やドローン*のアプリ制御もできるようになります。 パソコンとインターネットの環境さえあれば、今すぐにはじめられますよ【無料】。
大学生に人気のプログラミング言語
- Java
- VBA
大学生がプログラミングを学ぶ理由は、大きく分けて2パターンあると思います。1つはプログラミングやコンピュータが好きだから、もう1つは就活を有利にしたいから。後者の場合は、汎用性の高い JavaやVBA がマッチするでしょう。ただし、あまり辛抱して特定の言語を身につける必要はなく、むしろこの時期はたくさんの言語に触れたり、Webやアプリの仕組みに触れておくことが大事でしょう。プログラミング系のインターンも各言語にそって、たくさんラインナップされていますよ(Wantedly)。
社会人に人気のプログラミング言語
- Java
- HTML/CSS
- VBA
- Python
社会人になってはじめてプログラミングを学習し始める場合、「転職のため」と「副業的に」、それから「仕事効率UP」の3パターンがあると思います。 「転職のため」の場合は、求人件数が多い Java や PHP に人気があります。「副業的に」の場合は、ブログやWebサイトの運営で必要な HTML/CSS から始められる方が多いです。 「仕事効率UP」の場合は、表データを加工する VBA や ファイル編集などで使える Python に人気がありますね。
\Webサイト担当者としてのスキルが身に付く/
まとめ
今私達のまわりには、あまりにもプログラム化されたものが多すぎて、意識することなく利用してしまっています。 これは非常にもったいないことで、プログラミングを生業としないとしても、そのシステムや仕組みを意識・理解しようとすることで様々な知識・情報を得ることができます。
これはプログラミングに限ったことではなく、営業職の人はテレビのアナウンサーやUSJのアナウンス・スタッフの話し方を意識するだけで話し方はすごく良くなると思いますし、店舗スタッフの人も百貨店やホテルスタッフの振り舞いを意識するだけで、接客が良くなります。
今回プログラミングでできることの一部をご紹介させて頂きましたが、自分自身で「これもプログラミングで動いているのかなぁ」と意識するだけで、今までと全く違ったプログラミング的思考を身につけられると思います。強いては、日々生活の中で感じる”不便”をプログラミングによって解決できたら、人的・経済的・時間的な恩恵を受けられるかもしれませんね。
thumbnails: Slava Bowman Luke Chesser
- この記事を書いた人
- オシママサラ