プログラミングの授業前に考えておきたい、作りたいもの4種類
プログラミングの授業を受けたい、学習をしたい、という人にとって必要なものとは何でしょうか。まずは、しっかりとした目的を持ち、作りたいもののイメージを持つことでしょう。
目次
目的を持つ
まずは、自分自身がなぜプログラミングの授業を受けるのか、なぜ学習したいのか、何のために学習したいのか、把握することが重要でしょう。その目的が明確であればいいですが、自分自身で把握できていない場合は、以前書いた記事を参考にして下さい。
「プログラミングを学習する上で押さえておきたい、13の目的と3つの分類」
図1.目標を見定めることで、やる気も出る!
作りたいものは何か、4つの分類で具体的にする
次に考えることは、「何を作るか」ということです。プログラミングを積み上げるように一つ一つ学習していくことは大切ですが、おそらく「何に向かってプログラミングをしているのだろうか?」という壁にぶつかるでしょう。具体的な創作物があれば、そこに向かってモチベーションを上げ続けることはできます。もし、いくら崇高な目的を持っていたとしても、具体的な創作物、目標が無ければ、どこかで挫折してしまうのではないでしょうか。
そこで、考えることは「プログラミングで何が作れるのか」ということです。時々「プログラミングは何でもできる」といった抽象的な記事を目にかけます。実際に何かを作ったことのある人にとっては作るものをイメージしやすいと思います。しかし、プログラミング初心者や少しだけしか学習したことのない人にとっては具体的にイメージできるものが必要でしょう。ここでは、よく目にするような具体的な創作物の分類をしました。
効果的・効率的に情報を得る
「情報を得る」ということは「生きること」とも言えるかもしれません。インターネットのサービスにより、大量の情報を得ることができるようになりました。ただし、大量の情報の中には質的に問題となるようなものもあります。そこで、効果的・効率的に質の良い、自分の欲しい情報を得ることが重要となります。そのようなサービスをリストアップしました。
図2.情報を得る上でインターネットは必須のアイテム
検索エンジン
全世界で、1日の検索数は30億を超えるとも言われています。情報を得る上では、必要なサービスで、お世話になっていない人はいないでしょう。具体的なものとして、Google、Yahooがあげられます。ただし、Yahooの検索エンジンはGoogleのものを使っていると言われているので、検索結果は同じようなものが出る可能性があります。
ソーシャルメディア
交流型の様々な情報を得ることができるサービスのことです。SNS、動画共有サイト、ブログ、電子掲示板などが当てはまります。具体的なものとして、Twitter、Facebook、LINE、YouTube、ニコニコ動画、Pixiv、アメブロ、2ちゃんねるがあるでしょう。
ニュースサイト
日々のニュースを一覧で見ることができる。ニュースといっても経済やスポーツ、地域など多岐にわたります。Googleニュース、Yahooニュース、MSNニュースといった代表的なものがあります。
ネットショップ
ネットショップを使うことで、欲しいものの情報を得られるでしょう。大規模な商店から個人商店までバラエティに富んでおり、オークションやフリーマーケットといった形態も様々です。具体的には、楽天市場、amazon、ヤフオク、メルカリといったものがあります。
クラウドソーシングサービス
仕事の情報を得る場合のひとつとしてクラウドソーシングサービスがあります。ネット上の外注サービスであります。クラウドワークス、ランサーズといったサイトが有名です。
生活を便利・豊かにする
生活を便利にしたり、豊かにしたりするために何かを作るというのは、今に限ったものではないでしょう。プログラミングによって生活を便利にするものにはどのようなものがあるのでしょうか。
図3.生活を便利にし続けることは人の定めか!?
組み込みシステム
組み込みシステムとは、家電や自動車などの中に組み込まれているコンピュータシステムのことです。生活を便利にする炊飯器は温度や時間を制御することで、白米、おかゆといった炊き方ができます。エアコンは室内の温度や人を感知して、送風の強さや範囲を制御することができます。その他、洗濯機、携帯電話、テレビなども同等です。詳しい内容は以下のものを参考にして下さい。
学習サイト
生活を豊かにするための知恵を学ぶための学習サイトは数多くあります。小学校から大学レベル、カルチャーセンターで学ぶようなものまで様々にあります。本当に一部ですが、カーンアカデミー、ドットインストールなどが有名だと思います。
業務を効果的・効率的に
現在の業務を効果的・効率的に行うためには、コンピュータの役割は重要です。それは誰もが知っていることでしょう。その中で、いくつかに分けてみました。
事務系アプリケーション
事務的な作業は人間よりコンピュータの方が得意な部分があります。財務会計、顧客管理、商品管理などは最たるものでしょう。また、文書作成、具体的には、勘定奉行、サイボウズOffice、Word、Excelといった商品があげられます。
マルチメディア系アプリケーション
デザイン関係や映像関係の業務を行う際においてもコンピュータは必要です。画像編集、イラスト作成、音楽編集、動画編集、アニメーション作成といったものがあります。具体的には、Photoshop、GIMP、Illustrator、SoundEngine Free、Garage Band、Premiere、iMovie、OpenToonz、CLIP STUDIO PAINTといったソフトウェアも多数にあります。
開発統合型アプリケーション
何かを開発するためには、作業しやすくするための統合型アプリケーションがあります。ひとつのプログラム言語を使って全ての開発をすることはなかなか難しく、時間がかかります。そのような場合に、統合型アプリケーションは必要となります。具体的には、Xcode、Visual Studio、Eclipse、JetBrainsがあります。
組み込みシステム
産業用の組み込みシステムも多数あります。携帯電話、ルータといった通信機器、ATM、自動販売機、医療機器、自動車のエンジンコントロールといったものがあるでしょう。先述と同じように以下のサイトが詳しいです。
ソーシャルメディア
ソーシャルメディアは様々に活用することができるが、企業の広告や情報提供の場としても重要な役割があります。先述のようにTwitter、Facebook、LINE、YouTube、ニコニコ動画、Pixiv、アメブロがあるでしょう。
ネットショップ
会社や個人で商品を売るために、ネットショップを使うことは常識でしょう。先述と同じとなりますが、楽天市場、amazon、ヤフオク、メルカリといったものがあります。
アフェリエイトサービス
アフェリエイトとはある商品などを自分のサイトで紹介することで、広告収入を得る仕組みのことです。具体的なシステムは、Google Adsense、楽天、Amazonが提供しています。
みんなに楽しんでもらう
コンピュータをエンターテイメント的な用途で使うことも多々あるでしょう。そこでも、いくつかに分けてみました。
図4.新しいアイテムの理解は人の想像を超えるか!?
ソーシャルメディア
動画共有サービスを代表として、ソーシャルメディアもエンターテイメントとして利用する場合も多いでしょう。先述のようにTwitter、Facebook、LINE、YouTube、ニコニコ動画、Pixiv、アメブロがあります。
読書サービス
漫画や小説を読めるアプリケーション、また電子書籍を扱うようなアプリケーションがあげられます。少年ジャンプ+、マガジンポケット、comico、FC小説リーダー、Kindle、楽天Kobo、コミックシーモアといったサービスがあるでしょう。
ゲームアプリケーション
言わずもがな、といったものでしょう。RPG、アクション、シューティング、シミュレーション、その他上げれば数限りないものです。私の世代的なもので申し訳ありませんが、ファイナルファンタジー、ドラゴンクエスト、スーパーマリオ、ロックマン、グラディウス、R-TYPE、ダービースタリオンなどなどジャンルも様々にあります。
その他の視点
今まで、ある程度のものをあげてきました。なるべく具体的なものを上げることで、イメージしやすいと考えましたが、もちろん上記した内容では収まりません。
ここでは、作りたいものが上記した内容に当てはまらない方や、より自分で作りたいものは何か、といったことを考えるための参考となる視点を出してみます。
解決したい問題とは何か
まず、自分や社会において解決したい問題は何かを考えることが大切でしょう。何かを作る際には、問題解決のため、といった視点を持つことで作りたいものが浮かんでくる可能性があります。さらに、その問題というのは、実は誰かの潜在的な願いが叶うものかもしれません。もしくは、今行なっている仕事をイメージすると良いかもしれません。業務を想像して、「もっと効率的にできないのか」「もっと効果的にできないのか」「もっと魅力を増すことはできないのか」といった軸を持つことで、作るプログラミングが見えてくるかもしれません。問題解決については、以前の記事が参考となると思うので、載せておきます。
「プログラミングを学習する上で押さえておきたい、13の目的と3つの分類」
誰のために作りたいのか
自分だけではなく誰に向けて作るのか、という視点もより良いものを作る上では重要な視点です。誰かを特定の人にすると、作りたいものが見えてくることがあります。具体的な人のイメージを持ち、その人が何に困っていそうかを考えます。そして、困っていることがプログラミングで何か作ることによって解決できるかを考えます。そのようにすることで、具体的に作りたいものが見えてくるかもしれません。
マズローの欲求5段階
マズローが提唱したマズローの欲求5段階というものがあります。ヒエラルキーのように欲求は分かれており、下層の欲求を満たしていると、さらに上層の欲求を欲しがり、実現のために行動する、というものです。
社会や誰かが何を求めているのか、といったことを考える際にこの5段階に当てはめ、作るものを考えてみる、というものも効果的かもしれません。
図5.マズローの欲求段階の見定めをする
いかがだったでしょうか、ここでは具体的な作りたいものを例と共に示してみました。前回の目的も含めてイメージできると、プログラミングを行う意味やモチベーションが上がるのではないでしょうか。ぜひ参考にして下さい。