Slide 1

Slide 1 text

©MIXI 学校教育支援の技術解剖 と 21卒エンジニアが教材開発で習得した エンジニアリングスキル 開発本部 CTO室 クライアントグループ 田那辺輝 / 藤井瞭

Slide 2

Slide 2 text

©MIXI 目次 【前編】取り組み紹介と技術解説 12 min プレゼンター:田那辺 【後編】21卒エンジニアが教材開発で習得した エンジニアリングスキル 12 min プレゼンター:藤井

Slide 3

Slide 3 text

©MIXI 前編 1. 取り組みの概要 2. 構成と技術解説

Slide 4

Slide 4 text

©MIXI 自己紹介 株式会社MIXI 開発本部CTO室クライアントグループ所属 クライアントソフトウェアエンジニア 中学生プログラミングカリキュラムと教材ソフトウェア開発 者、および同カリキュラム講師 ゲームを中心としたソフトウェアエンジニアとして活動してお り、コンシューマゲームやブラウザゲームとスマートフォンア プリの開発、Webサービスやゲーム企画・ディレクションも経 験。近年は教育現場に向けて、「プログラミング学習」を推進 する講師としてその学習ソフトウェアやカリキュラム開発と併 せて取り組んでいる。 https://www.linkedin.com/in/akira-tanabe/ 田那辺 輝

Slide 5

Slide 5 text

©MIXI 株式会社MIXI サスティナビリティおよび、地域貢献と次世代育成 の視点で様々な取り組みを展開しています https://mixi.co.jp/sustainability/ 本プロジェクトで取り組んでいる活動 ○ 渋谷区を中心とした中学生向けプログラミン グ学習支援 ○ 次世代育成を目的としたエンジニア職の理解 と訴求

Slide 6

Slide 6 text

©MIXI ①中学生向けプログラミング学習支援 1. 渋谷区における中学校(公私 立)技術科授業など 2. 渋谷区の部活動に向けた Pythonプログラミングなど 3. 中高生向けエンジニア職業講話 4. 全国の中学高等学校からの企 業訪問実施先として、または出 向き、プログラミング体験とエン ジニア職業講話を随時実施

Slide 7

Slide 7 text

©MIXI ②中学生向けPBL授業支援 1. 社会課題・情報学習ができるオ リジナルICT学習教材でグルー プ探究するプロジェクト 型学習(Project - Based - Lerning)授業 2. 実社会課題の解決をPython 作品制作で探究する課題解 決型学習 (Problem - Based - Lerning)授業 3. など順次展開

Slide 8

Slide 8 text

©MIXI ③学生向けUnity開発・学習指導 1. 私立コンピュータ部活動におけ るUnityゲーム開発講 座 (4日間 全8時間) 2. 全国対象中学生向けUnityゲー ム開発ハンズオンイベン ト(3時間x2日)

Slide 9

Slide 9 text

©MIXI 教材ソフトウェアの構成と技術解説

Slide 10

Slide 10 text

©MIXI 教材紹介

Slide 11

Slide 11 text

©MIXI Unityゲーム開発 教材用 unity-package 「テカステ」向け プログラミング体験ソフトウェア ソフトウェアの変遷 MIXI Python実践ソフトウェア 2019 2021 2022 2023 技術科 部活 イベント 部活 [ICT教材] 理科・原子分子学習 理科 [ICT教材] 社会課題学習 「ブロックアイランド」 PBL 放課後 (技術科) 総合 数学 その他に、 テキスト・Sample コード 教材多数!

Slide 12

Slide 12 text

©MIXI 構成とデプロイ

Slide 13

Slide 13 text

©MIXI 系譜とPlatform Android WebGL2.0 windows exe テカステ(Lua)学習 ソフトウェア Python学習 ソフトウェア 拡張Pythonアプリケーショ ン windows exe (MacOS app) Unity, C# (MacOS app) コンテンツ資産 C# 351files , 49,264 line +Lua scripts C# 110files , 19,407 line + Python scripts 例)ブロックアイランド Python 12files , 5,337 line 特許出願 4 件〜 ※出願中含む

Slide 14

Slide 14 text

©MIXI セーブデータ Webブラウザ HTMLl + WebGL Adressable Assets Resources Asset Lua scripts ① デプロイとデータデリバリー Client Cloud Strage Lua版 Developer CI / CD Python版 セーブデータ exe Python code file exe.zip ③ Scriptable Object Jsonデータfile 復元 ④ Legacy AssetBundle Python scripts extend app Python script ⑤ HTML + WebGL exe Addressable Assets Unity Cloud Build ⑥ Scriptable Object Jsonデータfile Scriptable Object Export Json データ 復元 ② Unity / Editor Script

Slide 15

Slide 15 text

©MIXI 知見

Slide 16

Slide 16 text

©MIXI 授業とゲーム制作の関係性 1. 授業とゲーム制作の近似点 a. 生徒が感じる喜び・達成感・苦痛 はゲームでユーザーが感じる感覚と同じ b. 学習して上達すると楽しめるが 難易度が「常に」適切 でなければ飽きる c. 実践で達成すると満足感が得られるが 学習が多いと集中できず離脱する d. 視覚的成果が大きいまたはより動きがあるものを好む 2. 授業とゲームの相違点 a. 不得手な生徒でも みな一律に実施し満足感・達成感を得てもらう必要がある b. PC操作の習熟度に劇的な差があるが学習の本質ではないということ c. 実施環境はさまざまであり多くの場合で 制約が多いということ(管理貸与 PCやパソコン室) d. 自治体や学校の目的との一致や十分な理解が必要ということ

Slide 17

Slide 17 text

©MIXI 【ゲーミフィケーション】ゲームの4つの特徴 ゲームの定義、共通する特徴 ○ 「ゴールとルールとフィードバックシステムと自発的な参加」 ○ ゴール ...達成すべき成果で、目的意識を与える ○ ルール ...制限を加えることで創造性を解き放ち、戦略的な思考を促す ○ フィードバック ...フィードバックが常時表示されることでゴールに必ず到達できるという気持 ちを保つ ○ 自発的な参加 ...自分の意思で参加または脱退できる事由があることはストレスが多い課 題でも安全で楽しめる活動として経験できる ○ ゲームをプレイするとは、取り組む必要のない障壁を、自発的に乗り越えようとする取り組み ○ 哲学者 バーナード・スーツ 参考文献 ● 「REALITY IS BROKEN 幸せな未来は「ゲーム」が創る」 ジェイン・マクゴニガル 2011 ● 「ポジティブ心理学の挑戦 “幸福"から“持続的幸福"へ」 マーティン・セリグマン 2014

Slide 18

Slide 18 text

©MIXI ウェルビーイング理論(持続的幸福)と5つの要素 ● ポジティブ感情 ...快の人生、主観的尺度である幸福感、満足度、今の感情 ● エンゲージメント ...充実した人生、無我夢中に没頭していたか、フロー状態にあったか、回想的過去の感情 ○ 自分の強みを見つけて頻繁に活用することでフロー状態を得る ● 意味・意義 ...有意義な人生・自分より大きなものに属す仕える、〜組織、思想、家族など ● 達成 ...達成の人生、勝つためだけに挑む /篤志家/蓄財家/有能感 ● 関係 ...笑い、喜び、誇り、目的を感じる、これらは他者がいること 【ポジティブ心理学】 参考文献 ● 「REALITY IS BROKEN 幸せな未来は「ゲーム」が創る」 ジェイン・マクゴニガル 2011 ● 「ポジティブ心理学の挑戦 “幸福"から“持続的幸福"へ」 マーティン・セリグマン 2014

Slide 19

Slide 19 text

©MIXI 課題

Slide 20

Slide 20 text

©MIXI これからの教育課題と目指すもの ● 全国的・世界的にもPBL型・探究型による自立し自発的な学習に重きを置くことが重要 視されており、より学習にとって影響力があることが示され始めている ● プログラミング学習/ICT活用の分野における小中高の理想的な水準と理解でき実施 できる水準にまだまだ乖離があり、より十分に学習ができる環境が必要 ● 民間企業からも示せる活路は、生徒たちが自発的に取り組みたくなる魅力あるコンテン ツの提案や、活用の機会をつくり出し、牽引することにある ● そしてそれは多くの人と組織による理解と連携が必要不可欠なのである

Slide 21

Slide 21 text

©MIXI 後編へ

Slide 22

Slide 22 text

©MIXI 21卒エンジニアが教材開発で習得した エンジニアリングスキル

Slide 23

Slide 23 text

©MIXI 23 藤井 瞭 akira fujii 株式会社 MIXI 開発本部CTO室 所属 2021年に株式会社ミクシィ (現 株式会社MIXI)に新卒入社。 クライアントエンジニアとして プログラミング学習カリキュラムと 教材ソフトウェアの開発に取り組んでい る。

Slide 24

Slide 24 text

©MIXI 後編の内容 1. 新規教材開発の魅力的なポイント 2. 開発を通じて身についたこと 24

Slide 25

Slide 25 text

©MIXI 新規教材開発の魅力① 取り組める内容の幅広さ ● 企画を含めた開発の全工程にチャレンジできる ○ 自分がやりたいことに挑戦できる環境 25 企画 開発 提供 ● ヒアリング ● 要件定義 ● 企画と提案 ● モック開発 ● サンプルコード開発 ● ソフト機能追加 ● 講座資料作成 ● 授業実施 ● フィードバック

Slide 26

Slide 26 text

©MIXI 新規教材開発の魅力② 継続的にリリースできる ● 小規模なソフトウェアを継続的にリリースすることで、新規開発のサイ クルを何度も経験できる ○ フィードバックが早く、さらにユーザーの生の声が聞ける ○ 振り返ったことをすぐ次の開発に活かすことができる 26

Slide 27

Slide 27 text

©MIXI 開発を通じて身についたこと

Slide 28

Slide 28 text

©MIXI ソフトウェアの機能追加で身についたこと 取り組んだこと ● 学習ソフトウェアの機能追加やバグ修正などの対応 難しかったこと ● 不具合、バグへの対処 ○ 実行環境の違いなどにより、事前に発見しきれないバグも 身につけたこと ● 変更の影響箇所を考えるようになった ○ リスクの大きさをなるべくコントロールする視点を教わった ○ 例えば色んなところから呼ばれている関数を変えるのは当然リスク ○ 保険をかけるように。操作や起動ができない状態は絶対に回避する 28

Slide 29

Slide 29 text

©MIXI サンプルプログラムの提供を通じて身についたこと 取り組んだこと ● 授業テーマに沿ったライブラリとサンプルの提供 難しかったこと ● ライブラリの機能が増えるにつれ使いにくい・読みにくい箇所が生じてくる ○ しかもライブラリに変更を加えると、サンプルにも大きく影響が出てしまう 身につけたこと ● ライブラリ自体の使いやすさを細かく検証しながら進めていくようになった ○ サンプルはミニマムに留めて並行して作っていくように ○ サンプルのみならずソフトウェア開発の効率にも影響する 29

Slide 30

Slide 30 text

©MIXI 理数科ICT教材を作って身についたこと 取り組んだこと ● プログラミング学習ソフトの機能を利用した、Lua/Pythonコードの実装だけで 提供できる理科・数学の学習ソフト開発 30 スクリプト 学習ソフトで読み込み ランタイムで Lua/Pythonコード実行

Slide 31

Slide 31 text

©MIXI 理数科ICT教材を作って身についたこと 難しかったこと ● 思っていた以上に変更があり、調整と検証のサイクルが何度か必要だった ○ 仕様が手探りな部分もあり、メンバーや教員の方に協力いただきながら形に していった ○ 教科書の情報と合わせるためのデータ修正 ○ 生徒タブレットで使いやすいインターフェースにするための改善 ■ 押し間違え対策など。PC上だけで試していると気が付かないことも。 身につけたこと ● 「変更しやすい」状態の重要性を認識し、具体的な行動を取るようになった ○ コードをいじらず、パラメータだけで出せるバリエーションをより検討 ● デプロイ自体を楽にするために自動化していく 31

Slide 32

Slide 32 text

©MIXI 「変更しやすい」改善の具体例 Unity Cloud Buildで出力されるビルドファイルには WebGLのテンプレートが反映されないため手作業で設定していた。 →Post-build scriptによってカスタムのテンプレートを自動で適用できるように。意 外とミニマムに改善できるという気づき。 32

Slide 33

Slide 33 text

©MIXI 授業を実施して身についたこと 取り組んだこと 講師またはサポートとして授業支援を行なった 生徒(=ユーザー)の姿を目にしてヒントを得ることができた 身についたこと ● 自分自身で成果物を見て改善する指標やレンズを得られた ○ 提供するコードは、生徒が編集して取り組めるように適切にパラメータが公開 されているか? ○ UIや導線は誤解や操作ミスが生じないようになっているか? ■ 失敗したときに困らないかが重要。エラーや入力ミスがあるならメッセージを表示し たり。 ● メンバー内で共通認識ができ、開発、講師、サポートがより連携できるように。 33

Slide 34

Slide 34 text

©MIXI これからも作り続けるためにありたい姿

Slide 35

Slide 35 text

©MIXI これからも作り続けるためにありたい姿 35 ● フィードバックの多さを利用して引き続き改善を進めていく ● 新しい要素を積極的に取り入れられるよう、時間的な余裕を生む仕組み を作っていく ○ 「もっと時間があれば〇〇を試せたかも...」 ○ すぐ出来るアプローチとして自動化に力を入れたい ○ ライブラリも自分で使って改善していくことで保守性が上がっていくは ず、どんどん作って恩恵を享受していきたい

Slide 36

Slide 36 text

©MIXI