見出し画像

【8x9通信】2022年3月号

こんにちは、神戸・西宮・大阪・姫路にある現役エンジニアが教えるプログラミング教室、ハックです!3月になって徐々に寒さも和らいできて過ごしやすくなってきましたね!パソコンが冷え冷えで触るのがつらいということもなくなってきたので嬉しい限りです!それでは、今月の【8x9通信】をお届けします!

初級Ⅰコース

《レッスン内容》

2月はIchigoJam(イチゴジャム)のレッスンです。
IchigoJamはBASIC(ベーシック)というプログラミング言語で動く「子ども向け」のボードコンピュータです。レッスンではコーディング作業に集中できるように「IchigoJam web」というインターネット上の実行画面でプログラミングしました。
前半週は、画面下部から現れる敵キャラを、矢印キーでネコ型キャラを動かして避けて進んでいく「かわくだりゲーム」、後半週は、AからZまでの26文字のアルファベットが上から順番に落ちてきて、下に着くまでにキーボードで文字を打っていく「アルファベットタイピングゲーム」を作成しました。
レッスンではプログラムをいったん完成させると、先生から改造のヒントを伝えて自分なりに改造をしていきます。キャラクターの絵文字を変更したり、スピードを速くしたり、落ちてくる文字を記号まで含めて激ムズにしてみたり。プログラムが出来上がると、より良いタイムを出そうと必死になってゲームに取り組んでいました。

《狙い・成果》

初級Ⅰではプログラミングへの取り組みやすさから、ブロックを並べるビジュアルプログラミングのレッスンを中心に行っていますが、文字を用いたテキストプログラミングの入り口として、IchigoJam BASICを扱っています。
文字を1行(または数行)打ち込んで動作を確認(RUNコマンド)し、画面をクリア(CLSコマンド)してプログラムを表示(LISTコマンド)するというスタイルでコーディングとデバッグの基本的な流れを身につけます。
前半の「かわくだり」、後半の「アルファベットタイピングゲーム」ともにスリルのあるゲームで、プログラムを書きかえて難易度を調整でき、自分なりに書きかえながら楽しんでいました。
楽しむことも大事ですが、プログラムには文法的な約束事が重要です。テキストのプログラムでは1文字間違っても動かなくなります。そういった点も感じてもらうように進めました。
レッスンの終わりにKahoot!によるクイズ大会で、作ったプログラムの命令やトレースの問題を投げかけてプログラミングからどれだけ理解できたかをはかっています。結果多くの子が理解度の向上が見られました。間違いが多いクイズもクイズ大会の解説でしっかり復習して、楽しみながら学ぶことができました。

初級Ⅱコース

《レッスン内容》

初級Ⅱコースは、2月、3月で「IchigoJam」を用いてオリジナル絵文字を作ります!まず初めに、文字コードとは何か?を学びます。その過程で重要となる2進数、16進数についても学びます。
少し算数的で難しく感じる生徒さんもおられたかと思います。
そして、オリジナルな絵文字をデザインし、文字パターンがどんなふうにメモリに登録されるかを学びます。IchigoJamにオリジナル絵文字を登録し、最終的にはIchigoJamの「BASIC」言語でゲームをプログラミングし、作成したオリジナル絵文字をゲーム上に登場させてゲームを楽しみます。

《狙い・成果》

【狙い】
「どんな図形でも、数値化して、あつかうことができる」
「世の中のいろんな事象も数値化して、あつかうことができる」
数値化できれば、コンピュータで演算が可能で、機械学習も可能になり、AIにより処理も可能になるということを理解してほしいです。
【成果】
・学校で勉強した10進数だけではなく、いろんな桁上がりの方法があるということを理解してもらえたと思います。
・コンピュータでは、文字を数値化して処理していることが理解してもらえたと思います。
・いろんな図形を、数値化して、コンピュータで描画できることを体験してもらえました。

中級Ⅰコース

中級Ⅰクラスの教材です

《レッスン内容》

昨年4月より移行した新カリキュラムでは「基礎編」「応用編(共通)」「応用編(選択)」と段階的に確実にプログラミングを学んでいけるようになりました。
1)ブロックプログラミングからテキストプログラミングへの移行を主目的とした「基礎編」は慣れ親しんだ8x9Craftで学びます。
2)次に基礎知識を応用やテキストプログラミングならではのテクニックを学ぶ「応用編(共通)」をp5.js(OpenProcessing)で学びます。
3)テキストプログラミングで出来ることをしっかり学んだあとは「応用編(選択)」として、選択制で数学、アート、音楽、ゲーム、ホームページ、便利ツールなどのさまざまな分野でのプログラミング・コンピュータの応用・活用を経験していただけます。
全体を通して、テキストプログラミングの知識を得るのは当然のことながら、さらに「もしかしたら社会に役立つかも」「自分が作りたいものは、これだ!」を発見してもらえれば幸いです!

《狙い・成果》

※中級Ⅰは初級とは違い、基本的に期間毎の内容の区切りはありませんので、以下は通年の中級Ⅰ自体の狙いと成果となります。
本格的なプログラムをつくるためには、やはりテキストでのプログラミングが必須になってきます。ゲーム・アプリ・業務システム・科学技術研究・ホームページ・その他のIT技術活用やコンピューティングなどのプログラムは、それぞれの用途目的に適した英語ベースのテキストプログラミング言語でプログラミングをします。
中級Ⅰでは、将来、どのようなテキストプログラミング言語を使うことになっても対応できるような、テキストプログラミングの基礎・本質を身につけることを目標にカリキュラムを定めています。
まずは、初級のブロックプログラミングで学習したプログラム3大要素「順次処理」「繰り返し」「条件分岐」を、改めてテキストプログラミングとして学びます。8x9craftならではの「同じ目的を、違うプログラミング言語で実現」を活かして、「あ!英語(テキスト)になったからと言っても、ブロックプログラミングとプログラムの流れは変わらないのか!」という感覚をしっかりと体験します。
その後、さらに本格的なプログラミングの文法や考え方を実践を通して身につけていきますが、淡々と教科書通り的にやっていくのではなく、1つ1つ本質を捉えて問題解決に取り組むカタチになっており、1つの課題に何時間もかかることもありますが「仮説と検証」「Try&Error」をたくさん経験し、根気よく粘り強くやれば必ず問題は解決できることを身につけ、チャレンジすることを恐れない心を育んでもらえるようにしています。また、プログラミングなどの制作作業はチームワークが大事になってくることなどを伝え、コミュニケーションの大事さをプログラミングを通して学びます。これはきっと将来プログラマー以外のお仕事にも活かされていくと考えます。

中級Ⅱコース

《レッスン内容》

【辻クラス】
私自身、数学が好きなので、プログラミングと関係性の深い、機械学習(AI)、数学・物理・統計・データ分析などのレッスンを実施しています。言語は人工知能、機械学習で多く使用されるPython言語を使用しています。
中級2クラスでは、生徒さんのレベルと、やりたいことに合わせて授業を進めています。
<数学プログラミング>
再帰処理で、木を描画しました。関数の中からその関数自身を呼びだすという概念を理解してもらいました。
セルオートマンというモデルを使って単純な規則で格子状のセルを変化させて複雑な自然現象を模した、不思議模様を描いて見ました。
<AI (Deep Learning)>
「自然言語処理」の手法を学んでいます。フレームワークの仕組みについても、学んでいます。日本語を処理するBot作りも始めました。スクレイピングでWebからデータを抽出する方法も学びました。
<Webアプリ作成>
サーバ側の処理を、python で作り、クライアント側の処理を、HTMLで用意して、サーバ ⇔ クライアントを動作させて、Webアプリの基本を学んでいます。今月は、jQuery を使って、画面UIを変化させる方法も学びました。。

《狙い・成果》

【狙い】
・時代が変わっても役に立つ、基礎となる技術を修得する
・プログラミングを通して数学、物理の理解を深め、より幅の広い開発ができる事を目指す
・プログラミング、数学の面白さを知ってもらう
【成果】
・自分で学んで、自分で調べて、自分で解決する力を身につける
・パターンを見抜く力がつき、そこから応用する力に発展させる
・数学に関しては、生徒から次のような声をきいています。
  「学校の数学授業の予習になった」
  「数学が目に見える形になると、おもしろい」
  「数学が学校以外でも役立つことに気づいた」

【この記事を書いた人】

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



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