子供も大人も、プログラミング初心者にはSwift Playgroundが最適

今更ですが、Swiftで何か書こうかなと思い、でもいま具体的に作りたいものがないなと思ったのでSwift Playgroundで遊んでみました。

これは子供のみならず、プログラミングの素養がない大人がプログラミングの概要を学ぶのにとても良い教材だと思ったので紹介していきたいと思います。
また、プログラミングからしばらく離れていて新しく最近の言語を学びたいなという私のような大人にもリハビリがてら手がつけやすくておススメです。

また、プログラミング経験者の端くれとして、子供のプログラミング教育が始まることにビビっているすべてのお父さん、お母さんに伝えたい。
とりあえずSwift Playgroundで遊ばせときゃ大丈夫です
(なお、エンジニアとかになりたい場合は頑張らないといけないのはプログラミングじゃなくて数学>国語>>英語かなと思います)

プログラミングを学ぶ

プログラミングはコンピュータなどに何かしらの命令を実行させるためのツールです。 世の中には様々な言語がありますが、主流な言語の基本的な作法は似ているので、一つプログラミング言語の基本を習得すると他の言語の習得がぐっと身近になります。

具体的なアウトプットの目標がある場合は別ですが、「プログラミングを学ぶ」という目的であれば始めて学ぶ言語をどれにするかは、あまり深く考えなくても良いと思います。 飽きず挫けずにに学んでいくために、

  • 手軽に始められること
  • アウトプットが簡単に見れてモチベーションを継続しやすいこと
  • ある程度のアウトプットが作れるようになるまでのステップが体型的に整理されていること

がポイントでしょう。 Swift Playgroundはこの点で、初等プログラミング教育教材として優れています。

Swift Playgroundとは

Appleが提供しているiPad向けのプログラミング学習アプリです。 App Storeから無料でポチッと手に入れることができます。

iPad専用アプリなので、インストールと実行にはiPadが必要になります。

f:id:tiggret:20180405181518p:plain

始め方

手持ちのiPadに、App Storeでアプリをダウンロードします。 基本的にこれだけです。

これが他の言語(with Mac)の場合、、、
・Xcodeをインストールします
・言語をインストールします
・チュートリアルやサンプルプログラムを通じて勉強する場合、関連するコンポーネントなどをインストールします
・それぞれのバージョンなどを合わせます
インストールの過程でコマンドラインを実行しなければならなかったり、謎のエラーが出たりとつまずくポイントがたくさん仕掛けられています^^;

アプリを起動すると、いくつかの学習プログラムが用意されています。

f:id:tiggret:20180405174225p:plain

「Swiftの基本」をアプリ内に追加インストールして、これで学習をはじめる環境が整いました。

Swiftの基本

Swift Playgroundの基本トレーニングでは、左側に解説とコードを入力するエリア、右に実行結果を表示するエリアが表示されます。
また、画面下にはコードの入力を補助する「命令」がプリセットされています。

f:id:tiggret:20180405174404p:plain

左側で課題に沿ってコードを入力

右側で実行してキャラクターがプログラム通りに行動

目的の処理が達成できるかを確認

このような流れで、小さな課題をどんどんクリアしていくという方法でプログラミングを学んでいきます。
簡単な命令を手軽に実行でき、アニメーションで結果が表示されるので初心者でもプログラムを動かしたという実感を持ちやすく、楽しんでプログラミングが学べるように工夫されています。(“Hello World!”するのも、悪くはないんですけどね)

f:id:tiggret:20180405175448p:plain

ステップが進む際には、例え話を交えたわかりやすい解説も用意されています。 f:id:tiggret:20180405182148p:plain

f:id:tiggret:20180405175515p:plain

f:id:tiggret:20180405175612p:plain

Swiftの基本内では、プログラミングの基本となる要素がカバーされ、順番に学べるようになっているようです。

f:id:tiggret:20180405175738p:plain

トレーニング内では課題をクリアするまでは何度もプログラムを修正して実行すうるようなUIになっています。
プログラムする→結果を観察する→プログラムを修正する
という流れが、(少なくともCUI上で実行するだけよりは)飽きずにできます。
集中して何度も繰り返し取り組むというのは小さな子供よりもむしろ大人の方が苦手とすることなので、大人に最適な学習環境だと思ったのはこの辺りです。

トレーニングの序盤では、
・与えられた課題を解決する
・関数という概念を使用してみる
・プログラムの誤りを修正する
・より短いステップで与えられた課題を解決する
といったことが出題されます。

どれも言語に関係なく、プログラミングを学ぶ上で重要な概念です。

またもう少し遊んでみたら、何か書きたいと思います。