こんにちは、神戸・西宮・大阪・姫路にある現役エンジニアが教えるプログラミング教室、ハックです!
2024年、明けましておめでとうございます(*^▽^*)
年始からいろいろなことが起こり、めでたい年明けとは言えませんでしたね。被害に合われた方々に心よりお見舞い申し上げます。
ハックでは、目標を新たに今年も今まで以上に生徒のみなさんが興味を持って楽しくプログラミングが学べるように、スタッフ一同尽力して参ります。
2024年も宜しくお願い申し上げますm(__)m
それでは、今月の【8×9通信】をお届けします!
お知らせ①
2024年の年間スケジュールは下記の通りとなります。
お知らせ②
ハックのInstagram配信を始めました!
日々のレッスンの様子やプログラミング教育のあれこれを配信します!
フォローお待ちしておりますm(__)m
@8x9_kobe
初級Ⅰコース
POINT【前半:IchigoJam ビート・ビート・エボリューション】
《レッスン内容》
12月の前半は、こどもパソコンIchigoJam(イチゴジャム)を使ってレッスンをしました。
現在のパソコンは電源を入れるとWindowsやmacOSなどが起動しますが、昔(1980年代頃)のパソコンは電源を入れるとBASIC(ベーシック)が起動し、BASICの命令でパソコンを動かすことが一般的でした。 IchigoJamはその当時のパソコンと似ており、電源を入れるとBASICが起動し、BASICでプログラミングができます。
今回は、IchigoJamの実機と同じことがWeb上でできるIchigoJam webを使用してゲームを作成しました。 ゲームのタイトルは『ビート・ビート・エボリューション』。 画面の下から上へ向かって流れてくる矢印と同じ方向キーを押すと得点が加算されるゲームです。 基本ゲームが完成した後は、ゲームをより面白くするためプログラムを改造していきました。
《狙い・成果》
初級Ⅰコースでは、普段は、ブロックプログラミング(命令ブロックを組み合わせてプログラムを作る)を中心に行っていますが、今回のIchigoJamは、テキストプログラミング(文字で命令や式などを記述してプログラムを作る)となります。
生徒の皆さんは、日頃の練習で身につけたタイピング技術も活かし、ゲームプログラムを完成させていきました。 また、ゲームの改造例を複数用意していましたので、プログラムのどの部分を変更すれば、ゲームがどう変わるかを確かめながら、プログラミングとゲームプレイを楽しんでいました。
POINT【後半:micro:bit 無線で対戦シューティング】
《レッスン内容》
12月後半は「micro:bit(マイクロ・ビット)」です。二人の生徒が別々に手に持ったmicro:bitで対戦できるシューティングゲームをプログラミングしました。
micro:bitは教育向けのマイコンボードです。今回は無線通信機能を使い、発射するタマの座標位置をお互いのmicro:bitに無線で送信して撃ち合うゲームを作っています。プログラムが完成するとお互いにゲームを楽しんで盛り上がりました。
《狙い・成果》
今回は、ゲームプログラミングで扱う座標の考え方を学ぶことができました。合わせて無線でデータをやりとりする双方向通信の仕組みを理解することができました。 二人対戦ですので、完成するとプログラムの改造もお互い情報を交換しながらコーディングしていました。 二人で考えながらプログラムを作り動きを確かめることは客観的に物事を見るのに役立つでしょう。
初級Ⅱコース
《レッスン内容》
初級Ⅱコースは、12月と1月の2ヶ月間にわたり、8x9Craftの「はっくん王国」ステージで、プログラミングを用いて自由に建築物を作成するレッスンを行います。このレッスンは子供たちから大変な人気を博しています!
「王国」エリアは、「住居区」「レクリエーション区」「公共区」に分けられ、生徒たちは自分の好きなエリアに、自分の好きな建物を建てます。
建物の建築に取り掛かる前に、「建築修行」として、プログラミングで建物を作る練習を行います。建築修行では、「床」「基礎」「壁」を作るプログラムを「くり返し」を使って作成し、関数を用いてプログラムを部品化する方法を学びます。
次に設計フェーズに移ります。設計とは、「開発シート」に建物の詳細を記述することです。「開発シート」にはGoogleスライドを使用します。建物のサイズ、色、使用材料などを文章で記述したり、建物の形状を図示したりします。そして、プログラミングフェーズに進みます。1月に続きます。
《狙い・成果》
・ユニークな建物を作ることを意識してもらい、創造力を養うこと
・「くり返し」を使って効率良くプログラミングをすること
・「関数」を使って、プログラムを部品化すること
中級Ⅰコース
《レッスン内容》
- ブロックプログラミングからテキストプログラミングへの移行を主目的とした「基礎編」は慣れ親しんだ8x9Craftで学びます。
- 次に基礎知識を応用やテキストプログラミングならではのテクニックを学ぶ「応用編(共通)」をp5.js(OpenProcessing)で学びます。
- テキストプログラミングで出来ることをしっかり学んだあとは「応用編(選択)」として、選択制で数学、アート、音楽、ゲーム、ホームページ、便利ツールなどのさまざまな分野でのプログラミング・コンピュータの応用・活用を経験していただけます。
《狙い・成果》
※中級Ⅰは初級とは違い、基本的に期間毎の内容の区切りはありませんので、以下は通年の中級Ⅰ自体の狙いと成果となります。
本格的なプログラムをつくるためには、やはりテキストでのプログラミングが必須になってきます。
ゲーム・アプリ・業務システム・科学技術研究・ホームページ・その他のIT技術活用やコンピューティングなどのプログラムは、それぞれの用途目的に適した英語ベースのテキストプログラミング言語でプログラミングをします。
中級Ⅰでは、将来、どのようなテキストプログラミング言語を使うことになっても対応できるような、テキストプログラミングの基礎・本質を身につけることを目標にカリキュラムを定めています。
まずは、初級のブロックプログラミングで学習したプログラム3大要素「順次処理」「繰り返し」「条件分岐」を、改めてテキストプログラミングとして学びます。
8x9craftならではの「同じ目的を、違うプログラミング言語で実現」を活かして、「あ!英語(テキスト)になったからと言っても、ブロックプログラミングとプログラムの流れは変わらないのか!」という感覚をしっかりと体験します。
その後、さらに本格的なプログラミングの文法や考え方を実践を通して身につけていきますが、淡々と教科書通り的にやっていくのではなく、1つ1つ本質を捉えて問題解決に取り組むカタチになっており、1つの課題に何時間もかかることもありますが「仮説と検証」「Try&Error」をたくさん経験し、根気よく粘り強くやれば必ず問題は解決できることを身につけ、チャレンジすることを恐れない心を育んでもらえるようにしています。
また、プログラミングなどの制作作業はチームワークが大事になってくることなどを伝え、コミュニケーションの大事さをプログラミングを通して学びます。これはきっと将来プログラマー以外のお仕事にも活かされていくと考えます。
中級Ⅱコース
《レッスン内容》
【ATC校】
大阪の南港にあるATC校の中級ⅡコースはJavaScriptによるゲーム・プログラミングを行っている生徒と、新たにPHPを用いたサーバーサイドシステムのプログラミングを行う生徒がいます。
インターネット上にあるサーバーに自分の作ったプログラムを動かしてパソコンやスマホで操作することができるようになります。
SNSやオンラインショッピングなどもサーバーサイドシステムで作られています。
その仕組と実装を学びシステム開発について学んでいます。
《狙い・成果》
PHPというプログラミング言語は、サーバーにアップロードして実行させるサーバーサイドスクリプトと呼ばれるものです。
今まで習ってきたJavaScriptはWebブラウザ上で実行されるためサーバーの概念を実感すること無しにプログラムを作って動かすことができました。
PHPではサーバーにプログラムを配置することで常にインターネットにつながったサーバを意識してプログラミングすることになります。
サーバーに繋がることでデータベースなどと連動して様々なシステムを作ることができます。
レッスンではシンプルなフォーム入力から始めて、サーバーシステムに必要な仕組みを構築するプログラムを学んでいきます。