Please enable JavaScript!
Bitte aktiviere JavaScript!
S'il vous plaît activer JavaScript!
Por favor,activa el JavaScript!
antiblock.org

さみおノ発信局 - ガジェットと生きよう

ITの技術やガジェットを紹介したりするブログ

さみおノ発信局

プログラミングが30倍楽しくなる方法

f:id:sammyo:20171010124155j:plain
皆さんこんにちは、エンジニアのSAMMYです。
今回は私のプログラミング経験や中高生へのプログラミング教育の中で気づいたプログラミングが圧倒的に楽しくなる方法をご紹介します。
※本記事は「プログラミングを始めてみたい」又はプログラミング初心者、中級者、プログラミングを教える教育者向けの記事になっています。

プログラミングの説明が不要な方は目次で本題まで飛ばしてください。

プログラミングとは

それではまず、プログラミングとは?を確認するところから始めましょう。
Wikipedia先生によると、

コンピュータのプログラミング(英: programming)とは、コンピュータプログラムを作成することにより、人間の意図した処理を行うようにコンピュータに指示を与える行為である
引用元 Wikipedia

というものらしい。

一般的な例え

もっと簡単に説明すると、
コンピュータプログラム:コンピュータ宛の命令を書いたもの
プログラミング:コンピュータプログラムをコンピュータに指示を与える行為

世界一わかりやすい例え

例えば、サーバルキャットと音声で動くバスがあったとしましょう
f:id:sammyo:20170915192057p:plain

サーバルキャットがバスを動かそうとしますがバスは音声で動くようになっていまるため,声を発さない限り動きません
f:id:sammyo:20170915192103p:plain


② そこでサーバルキャットが『動けー!』と叫びました。するとバスが動き始めました。
f:id:sammyo:20170915192119p:plain

これを具体的ににどこがプログラミングかを確認してみましょう。
まず、
『音声で動くバス』=『プログラムで動くコンピュータ』
『音声』=『プログラム』
サーバルキャット』=『プログラマー
として考えてみてください。

そうすると、

① コンピュータ(バス)はプログラム(音声)でしか動かないためプログラマー(サーバルキャット)がプログラム(音声)を送らない限り動きません。
f:id:sammyo:20170915192123p:plain

② そこでプログラマー(サーバルキャット)がプログラム(音声)を送信しました。するとコンピュータ(バス)はプログラム(音声)で動くため、動き出しました
f:id:sammyo:20170915192126p:plain

この行為をプログラミングと呼びます。
わかりやすかったですね!(白目)

本題

どうやって30倍楽しむのか。
私がプログラミングスクールの講師をしたり、自分で開発したりしているときに生徒たち、そして自分自身の大きなモチベーションを維持することができたその方法は…

形にする方法教える

というシンプルなことです。
『え?そんなの知ってて当たり前だろ!』って思っている方、意外に知らないでプログラミングしている人多いですよ。


この言葉でピンと来ない人も多いと思うのでもう少し詳しく説明します。

デバッグするためのプログラミング

プログラムをデバッグするためだけに書いていませんか?

プログラミングを始めたばかりの方は「デバッグ」という言葉を知らずに行なっていることが多い行為ですが,,

自分の書いたコードが「形」「動き」「動作」として現れるのは先ほど挙げた「形にする」と同意に当たります。

が,しかし,,

デバッグという行為は「”非”日常の形」であり日常的にユーザーが体験する形ではないことを意識していただきたい。
なぜなら私たちプログラマーはエンジニアでありユーザーであるからだ。

ユーザーがよく見る形にする

どんな形にすればいいんだよ!
具体的に教えろ!

という声が聞こえるので具体的にいうと

「アプリ形式」 にすることです。

ここでいうアプリ形式はシュミレーターではなく。

タップ,クリックして起動するアプリ形式のことを指しています。

とにかく「日常の形」に近づけることでエンジニア視点からユーザー視点として自分の開発したツール,アプリ,サービスを体験することができます。

格段にプログラミングが楽しくなるはずです。

まとめ

・できるだけユーザー視点で触れる形式にしてあげることが大事です。
例).exe .app iPhoneアプリ Androidアプリ etc..

ユーザー視点を意識する。
  →デバッガーだけではなくアプリへの書き出し方を教えるなど

・できたらアプリ形式
  →Xcodeの実機デバッグなど

これらを教えるタイミングとして,「プログラミング技術もう少しついてから」などのタイミングで教えたいという教育者が多くいます。

はっきり言って大損です。

プログラミングの勉強を初めてから1日以内に教えるくらいのスピードの方がgoodです。

終わり。

おすすめ動画

2017年最新パソコンを作る!