見出し画像

【8x9通信】2023年2月号

こんにちは、神戸・西宮・大阪・姫路にある現役エンジニアが教えるプログラミング教室、ハックです!1月の大雪、すごかったですね!あんなに雪が積もったのは久しぶりでテンション上がりました(^-^) 高校生の息子は休校になったのに、近所の小中学生が普通に登校しててびっくりしましたよ~。みなさんはどうでしたか?
それでは、今月の【8x9通信】をお届けします!

お知らせ

昨年末にハックの生徒さんと、カナディアンアカデミー(インターナショナルスクール)の生徒さん、そしてマレーシアから留学で日本に来られている生徒さんとの合同イベントを開催しました。初めてのイベントでしたが、みなさん言葉が通じにくくても、すごく楽しそうに交流していました!詳しくはこちらをご覧ください。

初級Ⅰコース

《レッスン内容》

1月はScratchの機能拡張の「ペンブロック」を使ったレッスンです。「ペンブロック」を使うとフリーハンドで自由な線を書くこと、直線をかくことができます。線をかくことができたら次は小学校の算数の授業で学ぶ図形をつくりました。正三角形、正四角形、正五角形などかくプログラムが完成したら「ブロック定義」で名前をつけていきます。最後には関数化された多角形を一定間隔で描き続け幾何学模様をつくりました。

《狙い・成果》

Scratchの拡張機能である「ペンブロック」の使い方を実際に紙と鉛筆をもって線を書く時はどうしたら良いかをイメージして考えてもらいました。
●実際に線を書く場合の手順
「ペンを持つ」→「紙の上にペンを置く」→「ペンを動かす」
動かした分だけ線がかけます。次はこの手順をプログラムで考えてみます。
●プログラで線を書く場合
「拡張機能でペンを追加する」→「ペンをおろす」→「10歩うごかす」
実際に線を書く場合と同じように動かした分だけ線がかけます。
作業の順番を考えそれをプログラムに置き換えてコーディングしていくことを説明しました。
図形も考え方は一緒です。「三角形は辺が何本あるか?」「3本あるから線を書くことを3回繰り返せばかける」ここでプログラムを実行すると長い直線になるので、「1本目と2本目の直線をかくためには角度をつけないといけない」というように、図形の書き方も説明しました。
図形のプログラムができたら、今度は「ブロック定義」の使い方を説明しました。ブロック定義は三角形を作るプログラムに名前をつけて管理することができます。処理(三角形を作るプログラム)に名前をつけて使いたい時に処理を呼び出して実行する方法も学びました。
生徒たちは三角形ができると四角形、五角形と繰り返しの数や角度をかえてどんどん多角形を作ってくれました。

線をかくための順番(順次処理)、図形を書くためには何を何回繰り返したらよいか(反復処理)を今回の授業をとおして学んでもらえたと思います。
手で定規やコンパスを使って作るには時間がかかり難しいキレイな模様や幾何学模様もプログラムを工夫すると簡単にすばやく作れることを体感してもらいました。

初級Ⅱコース

《レッスン内容》

12月と1月は、2か月かけてScratchでカードゲームを作ります。お正月に家族のみんなと遊んでもらえるようなゲームを作ることが目標です。
今回は、設計書は用意されており、スプライトなどの部品もあらかじめ用意してあります。いかに設計書通りに、正しくプログラムを作りこんでいくかが問われます。設計書通りに正しく動くプログラムが作れたなら、そこからはカスタマイズで個性を発揮してもらいます。
後半である1月は、カスタマイズをして自分なりのカードゲームに仕上げる工程でした。

《狙い・成果》

1月は設計書通りに作ったカードゲームをカスタマイズしてもらいました。「キャラクターをかえる」「カードのアルファベットをかえる」「カード枚数を増やす」以外にも「カードが動く」「カード内容の覚えさせないためのおじゃま虫をつくる」など子供ならではのアイディアもあり「なるほど!こんなカスタマイズがあったのか」と感心する場面もありました。
カスタマイズをする時は、カスタマイズ内容にあわせてプログラムを修正します。どの部分を修正しないといけないのか、逆に修正してはいけないところはどこかなど、改めて自分の作ったプログラムを見直す良いきっかけになったと思います。
「設計書通りにプログラムをつくること」「カスタマイズをすること」を通してシステム開発の流れを学習してもらいました。

中級Ⅰコース

姫路校中級Ⅰ


生徒作品・開発環境画面
生徒作品

《レッスン内容》

1)ブロックプログラミングからテキストプログラミングへの移行を主目的とした「基礎編」は慣れ親しんだ8x9Craftで学びます。
2)次に基礎知識を応用やテキストプログラミングならではのテクニックを学ぶ「応用編(共通)」をp5.js(OpenProcessing)で学びます。
3)テキストプログラミングで出来ることをしっかり学んだあとは「応用編(選択)」として、選択制で数学、アート、音楽、ゲーム、ホームページ、便利ツールなどのさまざまな分野でのプログラミング・コンピュータの応用・活用を経験していただけます。
ーーーー
中級Ⅰクラス1月後半レッスンは、アウトプットレッスンでした。2022年11月に引き続きJavaScpict(ジャバスクピクト)というプログラミング学習環境を用いました。
今回はプログラミングを用いてピクトグラム(情報や指示、案内などを単純化された絵や図形で表したもの。)を作成するだけでなく、ピクトグラフィックスと呼ばれる図形や模様の描画を行うレッスンを行いました。
これまで学習してきたJavaScriptの変数、定数、くり返しや条件分岐などを用いて、自分で考えて描きたいグラフィックスを作成しました。

《狙い・成果》

【姫路教室 中級Ⅰコース開講】
姫路教室では2022年12月から中級Ⅰコースを開講いたしました。
六甲道校などで得られたフィードバックを元にテキストプログラミングをより楽しんで学んでいただくため、しばらくは独自のスケジュールでレッスンを実施しております。ブロックプログラミングからテキストプログラミングに移行する初期段階は新しく覚えることも多く、プログラミングを学ぶことが辛くならないように手厚くサポートを行いながら指導してまいります。
ーーーー
【JavaScpict(ジャバスクピクト)での狙い】
・ピクトグラムを使って日常の動きをプログラムで作る
・JavaScpict専用の命令をリファレンスを見ながら理解しコーディングする
・今まで学んだ順次、反復、分岐、変数、配列、関数などを利用してコーディングする

【成果】
ITでのモノづくりは作るものによって開発環境が変わります。今回もまた、JavaScpict専用の命令のリファレンスを、自分で「調べる→コーディングする→動きを確認する→修正する」を繰り返し、オリジナルのピクトグラフィックスを作ることができました。また、今まで学んだ関数や変数や配列を取り入れ、講師が想像もつかないような独創的な模様や、思わず笑ってしまうような動きをする作品が多々ありました。
今後も2か月に1度あるアウトプットレッスンを通して、学んだプログラムの知識を活かして楽しい作品づくりをしてほしいと思います。


中級Ⅱコース

《レッスン内容》

【六甲道 柴原クラス】
3ヶ月程度の間隔で様々な技術に挑戦しており、前年末のサーバーサイド(node.js)・データベース(SQL)を経て、新たに1月から「Godot(ゴドー)」というゲームエンジン・統合開発環境によるゲーム制作入門を始めています。

ゲームエンジンといえば Unity や Unreal が近年のコンシューマ向けゲームの開発では有名ですが、Godotはそれらに並ぶオープンソースのゲームエンジンとして注目度が上がっているものです。

チュートリアルで基礎を学び、オリジナルゲームの公開までを目指しています。前段のサーバーサイド・データベースでの学習成果を活かしたネットワーク活用もチャレンジ予定です。

《狙い・成果》

ハックにおいてはテキストプログラミングはJavaScriptを軸に学習していますが、GodotではGDScriptと呼ばれる独自のプログラミング言語での開発となります。
日々「プログラミングの本質はどのプログラミング言語でも変わらない。1つプログラミング言語を極めれば、他のプログラミング言語を使うことになってもすんなりわかるはず」と伝えていますが、ちょうどその実感をしてもらえると思います。そして、それが新しいプログラミング言語でもちゃんと作れる!という達成経験になればと思います。

始まったばかりですので現在はチュートリアルに沿った学習をしておりますが、中級Ⅱベテランの生徒さんは「知らないことでもドキュメント(時には英語も)を読んで、試して、理解する」をしっかりと出来るようになっています。
これはプロのプログラマーに必要不可欠なスキルであり、これこそが中級Ⅱで学んでいただきたいところでもありますので、生徒さんたちの成長をとても嬉しく思います。

【この記事を書いた人】

大原 真希 / インストラクター及び事務スタッフ
大学卒業後、神戸の企業でシステムエンジニアとして働き、出産を機に退職。その後母親業に専念し、徐々に自宅でのプログラム請負やパートでの事務職を経験する。現在は大学で派遣スタッフとして働く傍ら、「キッズプログラミングスクール8x9(ハック)」でのインストラクター兼事務スタッフとして働く。プログラミング、データ加工、業務効率化が好き。Excel、SpreadSheetが得意分野。

この記事が気に入ったらサポートをしてみませんか?