【8x9通信】2021年4月号
こんにちは、ハックです!4月になりましたね。ご入学・ご進級おめでとうございます!春は何か新しいことを始めたくてわくわくしますよね。ハックにも3月4月スタートで50名以上の生徒さんが新規入会されました。プログラミングの楽しさにどんどんはまっていってほしいです!それでは、4月の【8x9通信】をお届けします。
初級Ⅰコース
《レッスン内容》
今月は「Scratch」を使って迷路ゲームを作成するレッスンで、反復処理やキーイベント等のプログラミングの仕組みを学んでいきます。
前半では「ずっと~する」命令を使って、マウスの動きに猫がついてくる迷路ゲームを作成し、後半ではさらにアレンジを加え「~キーが押されたとき」命令を使用しキャラクターを操作できるようにします。また壁に当たるとスタートに戻る、タイマーを付ける、敵キャラを動かすなど徐々にカスタマイズを加えていきました。
ゴール地点には見本のプログラムではご褒美アイテムとしてりんごを置いていましたが、ケーキだったりピザだったり、ネズミだったり(!)、生徒さんそれぞれの迷路ゲームが仕上がりました(^^♪
※Scratch … Scratch財団がマサチューセッツ工科大学(MIT)と共同開発する無料の教育プログラミング言語で、全世界の登録ユーザー数は約6400万、日本でも約78万のユーザがScratchを使用
《狙い・成果》
【Scratchの使い方】
・ブロックを組み合わせてプログラムを作る方法
・スプライト、ステージ、背景などのオブジェクト操作の方法
・ベクター形式の理解。ラスタ形式と違い後からでも図形編集が可能
【プログラムの概念】
・反復処理「くり返し」
・分岐条件「もしも」
・イベント「○○が押された時」
初級Ⅱコース
《レッスン内容》
初級Ⅱクラスは4月・5月の2ヶ月間でIchigoJam webを使用し、ジャンピングゲームを作成します。ゲーム自体は横スクロール型のシンプルなゲームです。
今回はゲームを作る前にまずUML(統一モデリング言語)のひとつ「アクティビティ図」を読み解きながら変数のトレースを行うところから始めました。アクティビティ図を見ながら、変数の値がどのように変化していっているのかを確認します。なかなか難しいですが、みんな頑張ってトレースしていました!トレースができた人から実際のゲームプログラミングに入ります。
なお、アクティビティ図の読み解きや変数のトレースは2025年に行われる大学入試の情報科の試験問題にも盛り込まれることから、これからの学校での学習にもかかわってくる内容です。
将来に向けてとても実のあるレッスンになったようです(^▽^)
《狙い・成果》
【狙い】
IchigoJam BASICを用いてテキストによるプログラミングに慣れる。
プログラミングを行う前に、自分の思考をまとめて可視化できる能力を育てる。
【成果】
これまでのレッスンで失敗をおそれずプログラミングでトライ&エラーをくり返す力は備わっていますが、プログラミングを行う前に設計し図表で検証を行う力がついてきています。
中級Ⅰコース
《レッスン内容》
中級Ⅰは、4月より新カリキュラムに移行し、教材も新しくなりました。新カリキュラムでは「基礎編」「応用編(共通)」「応用編(選択)」と段階的に確実にプログラミングを学んでいけるように工夫しました。
1)ブロックプログラミングからテキストプログラミングへの移行を主目的とした「基礎編」は慣れ親しんだ8x9Craftで学びます。
2)次に基礎知識を応用やテキストプログラミングならではのテクニックを学ぶ「応用編(共通)」をp5.js(OpenProcessing)で学びます。
3)テキストプログラミングで出来ることをしっかり学んだあとは「応用編(選択)」として、選択制で数学、アート、音楽、ゲーム、ホームページ、便利ツールなどのさまざまな分野でのプログラミング・コンピュータの応用・活用を経験していただけます。
全体を通して、テキストプログラミングの知識を得るのは当然のことながら、さらに「もしかしたら社会に役立つかも」「自分が作りたいものは、これだ!」を発見してもらえれば幸いです!
また、セクションごとに理解度チェックも実施するようになります。
「テスト」と言ってしまうと「点数が高ければOK」「クリアすればOK」というように思われる可能性もありましたので、気軽に受けたり、熟練したあとでも振り返りをやりやすくしたい想いを込めて「理解度チェック」と名付けております!
プログラミングは積み重ねの経験が大事であり、また、根本・基礎の理解をしないままで進めてしまうと、あとで困ってしまう可能性がありますので、確実に学習していってほしいと考えております。ですので、場合によっては過去に学んだことを振り返りレッスン・理解度チェックをすることもありますが、それはあとで困らないようにしっかりと理解するためのものです!
《狙い・成果》
※中級Ⅰは初級とは違い、基本的に期間毎の内容の区切りはありませんので、以下は通年の中級Ⅰ自体の狙いと成果となります。
本格的なプログラムをつくるためには、やはりテキストでのプログラミングが必須になってきます。ゲーム・アプリ・業務システム・科学技術研究・ホームページ・その他のIT技術活用やコンピューティングなどのプログラムは、それぞれの用途目的に適した英語ベースのテキストプログラミング言語でプログラミングをします。
中級Ⅰでは、将来、どのようなテキストプログラミング言語を使うことになっても対応できるような、テキストプログラミングの基礎・本質を身につけることを目標にカリキュラムを定めています。
まずは、初級のブロックプログラミングで学習したプログラム3大要素「順次処理」「繰り返し」「条件分岐」を、改めてテキストプログラミングとして学びます。8x9craftならではの「同じ目的を、違うプログラミング言語で実現」を活かして、「あ!英語(テキスト)になったからと言っても、ブロックプログラミングとプログラムの流れは変わらないのか!」という感覚をしっかりと体験します。
その後、さらに本格的なプログラミングの文法や考え方を実践を通して身につけていきますが、淡々と教科書通り的にやっていくのではなく、1つ1つ本質を捉えて問題解決に取り組むカタチになっており、1つの課題に何時間もかかることもありますが「仮説と検証」「Try&Error」をたくさん経験し、根気よく粘り強くやれば必ず問題は解決できることを身につけ、チャレンジすることを恐れない心を育んでもらえるようにしています。また、プログラミングなどの制作作業はチームワークが大事になってくることなどを伝え、コミュニケーションの大事さをプログラミングを通して学びます。これはきっと将来プログラマー以外のお仕事にも活かされていくと考えます。
中級Ⅱコース
《レッスン内容》
【辻クラス】
今回は私が受け持つ生徒が受講している数学プログラミングを紹介します。二次方程式、三次方程式など数学を用いてプログラミングで解いてグラフや図形を描きます。上記右側の図形は、90個の三角形をそれぞれ少しずつ、角度をずらして回転させたものです。
学校の学習進度よりも早い内容を実施することもありますが、数学が好きな子が受講しているので数学とプログラミングどちらも楽しく学んでいます。
《狙い・成果》
【数学をプログラム】
・数学を理解することでより幅の広いプログラミングができるようになる
・プログラミングを使うことで数学の理解がより深まる。
【この記事を書いた人】
大原 真希 / インストラクター及び事務スタッフ
大学卒業後、神戸の企業でシステムエンジニアとして働き、出産を機に退職。その後母親業に専念し、徐々に自宅でのプログラム請負やパートでの事務職を経験する。現在は大学で派遣スタッフとして働く傍ら、「キッズプログラミングスクール8x9(ハック)」でのインストラクター兼事務スタッフとして働く。プログラミング、データ加工、業務効率化が好き。Excel、SpreadSheetが得意分野。