1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Swift Playgroundで小学生にプログラミング教室を行った

1
Posted at

はじめに

iPadでは、Swift Playground1のアプリをインストールすることで、iPad上でプログラミングを学ぶことができます。

今回、小学生向けにプログラミングを教えて欲しいと依頼を受けて、Swift Playgroudを教材として選びました。

Swift Playground

Swiftの基本文法を少しずつ学びながら、プログラミングをiPad上でキャラクタを動かしながら学べます。日本語翻訳にも対応しています。

物理キーボードなしでもソフトウェアキーボードで進めることも可能ですが、どうしても画面が狭くなってしまうため、物理キーボードを用意するのがおすすめです。

画面上でキャラクタが動く舞台は三次元の立体空間で、タップすることでぐりぐり動かせるのが気持ち良いです。

実際に、ステージによっては、角度を変えてマップをよく確認する必要もあったりしてよくできています。

若干、補完が弱くて、タイピングのサポートは必要でした。

学べること

最初のステップでは、基盤としては、SwiftUIですが、それを意識しないで進めることができます。子どもたちは、洗練されたUI Framework上でそれを意識せずにプログラミングそのものを学べるようになっています。

  • コマンド
  • ループ
  • 条件分岐
  • 論理演算子
  • 変数
  • 初期化
  • 関数
  • パラメータ
  • 配列

次のステップからは実際にSwiftUIでAppの作成に挑戦できます。基盤となるSwiftUIのAppのテンプレートが用意された状態から開始します。

基本文法を学んだ後は、いくつかのサンプルアプリが用意されていて、少しずつカスタマイズしながら、プログラミングで実現できることを確かめながら体験することもできます。以下はその一例です。

サンプルアプリ

  • ライト、カメラ、コード
  • カメラを組み立てる
  • 派手な写真
  • じゃんけん
  • ブロック崩し
  • 音楽のワークショップ
  • センサーを学ぶ
  • コードマシン
  • 拡張現実
  • 海戦ゲーム
  • Bluの冒険
  • スパイラル

私たちの教室で人気だったのは、拡張現実の中に用意されているボイスでした。入力したテキストを喋ってくれるAPIが用意されています。そこに長文で自分の好きな文章を入力して喋らせるのをとても面白がってコンピュータと触れ合っていました。内部的には以下のAPIを経由していると思われます。

label.speak(text: "ここに入力されたテキストを発話します", rate: 0.2, pitch: 1.9)

ブロック崩しもあって、崩すのに何回も当てないといけない設定に書き換えて遊んでみたり、コンピュータが動く元となるソースコードに直接触れる機会を体験できるようになっています。

brick.strength = 100

おわりに

プログラミングの学習としてSwift Playgroundだけだとやはり難しくて、公文のドリルも併用しました。プログラミングをテーマにしたドリルはまだ数が少なく選書に苦労しました。

コンピュータの世界では、色も文字と数字で構成されていることを体感してもらうために、カラーコードカルタを導入したところ、こちらも割と好評でした。

私がプログラミングに触れ始めた25年ほど前とは、驚くほどに景色が変わっています。

  1. ちなみに Requires iPadOS 17.0 or later となっており、iPhoneにはインストールできません。Mac版はあります。Requires macOS 14.0 or later となっています。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?