見出し画像

【8x9通信】2022年9月号

こんにちは、神戸・西宮・大阪・姫路にある現役エンジニアが教えるプログラミング教室、ハックです!朝夕は涼しく、日が暮れるのが早くなってきましたね。過ごしやすい秋の気候が待ち遠しいです(^^)
それでは、今月の【8x9通信】をお届けします!

初級Ⅰコース

《レッスン内容》

8月は大人気の8x9Craft(ハッククラフト)ではっくんタワーを実施しました(^^) 本講座では2〜3名でのチーム協力、反復処理(繰り返し)を活用して特定の条件を満たしたタワーを制作し得点を競うグループレッスンとなります。

授業の前半では、Jamboard(デジタルホワイトボード)を活用しながら各チームでブレストをしました。時間内にどれだけ高いタワーを作れるか、テーマに沿った演出が出来ているか、チームごとに工夫を凝らして、協力しながらレッスンを進めていました。
そして授業の後半は実際にプログラミングを制作し各チームで考えたタワー制作の時間。途中で仕様変更し外径のサイズを調整しながらできるだけ高さを確保しようとするチームや、反復処理(繰り返し)をうまく活用し、余ってる時間を有効活用してその場で追加案を出すチームなどチーム内で活発にコミュニケーションを取りながら取り組んでいる生徒さんが多かった印象です(^^)

《狙い・成果》

【狙い】
①反復処理(繰り返し)
・ 目的を達成するため繰り返しを活用し効率的にプログラミングを制作する

②Jamboard
・チームでアイディアを膨らませる時にデジタルホワイトボードの選択肢が持てるようにする
・Jamboardの使い方に慣れる

【成果】
今回作る「高いタワー」は繰り返し処理を活用しないと時間内に終わらないため、多くの生徒はしっかり繰り返しを活用してタワーや階段を制作していました(^^)
構造物を繰り返して作っていく動きは視覚的に分かりやすいこともあり、実践的に反復処理を学んでいただけたと思います。

初級Ⅱコース

《レッスン内容》

8月と9月はScratchを使って作品をつくります。
プログラミングフェスティバル に エントリー することを目標に作品づくりをしていきます!
部門ごとにテーマが決められており、教科部門は「総合・社会」、社会課題解決部門は「SDGs」がテーマとなっています。
8月は、まずは自分が作りたい作品のテーマを決めて、どんな作品にするか、設計するところから始まりました。
テーマが「社会」「SDGs」と難しく、設計段階で頭を悩ませる生徒さんもいました。今回は、クイズゲームに挑戦する人が多いようです。
クイズゲームの作り方や、ランダムな数の使い方、スクロールする背景の作り方など、ゲーム作りのヒントとなるテクニックを毎回のレッスンで少しずつ学んでから自分の作品作りを始めます。
2か月かけて作品を作りこんで、プログラミングフェスティバルにたくさんエントリーしてくれると嬉しいです!

《狙い・成果》

初級Ⅱは設計書をつくってから作品づくりをします。設計書には誰に使ってもらいたいか(ターゲット)を考える部分があります。どうしてターゲットを設定するのか?それは、使う人に合わせて仕組みを考えてほしいからです。同じ動きをする作品でも小学生の低学年に使ってもらうなら「ボタンや文字も大きくひらがなで表示させよう」、中学生に使ってもらうなら「文字入力で答えを入力してもらう」など使う人に合わせて仕組みを考えることで利用する人の満足度がことなります。こういった考えかたを子供の頃から身につけてほしいと考えています。

中級Ⅰコース

《レッスン内容》

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

《狙い・成果》

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

中級Ⅱコース

《レッスン内容》

【辻クラス】
 私自身、数学が好きなので、プログラミングと関係性の深い、機械学習(AI)、数学・物理・統計・データ分析などのレッスンを実施しています。
 言語は人工知能、機械学習で多く使用されるPython言語を使用しています。
 中級2クラスでは、生徒さんのレベルと、やりたいことに合わせて授業を進めています。
<数学プログラミング>
 中級Ⅱクラスに上がったばかりの生徒さんは、中学数学をプログラミングで、学習しています。
高校生の生徒さんは、微分・積分・統計などをプログラミングで、学習しています。
 学校でやっている数学をプログラミングでやってみることで、数学をより楽しんで学ぶことができます。
 グラフはJupyter notebookというノートのようにプログラムと実行結果を並べて表示できるツールを使います。学校の数学ともつながる内容なので、関心を持ってもらえました。
<AI (Deep Learning)>
 Deep Learning で使われるフレームワークの構造について学んでいます。ベースとなる「自動微分」、学習の各種レイヤの構成要素、パラメータを更新する「オプティマイザ」の実装方法を学んでいます。
<アルゴリズムとデータ構造>
 アルゴリズムとは「問題を解決するための手順や計算方法」のことです。
プログラミングでいうとある処理を実現するための手順になります。
「Aizu Online Judge」(https://onlinejudge.u-aizu.ac.jp/)というWEBサービスを利用して学習しています。与えられた課題を解決するプログラムを書いて、提出すると、あらかじめ用意されたテストデータでテストされて、結果を判定してくれます。
 考える力を養ってもらい、また考える楽しさ、気持ち良さを理解してもらいたいと思っています。
生徒さんの一人は、パソコン甲子園(https://pckoshien.u-aizu.ac.jp/)という競技プログラミングの大会に出場します。競技プログラミングとは、与えられた課題を解決するプログラムを書いて、提出して、採点結果を、競うものです。

《狙い・成果》

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

【この記事を書いた人】

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


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