こんにちは!iTeen和歌山駅前校です。
私たちは日頃から「あそびが まなびに変わる」瞬間を大切にしていますが、先日、その「学びの深さ」に私たち自身が驚かされる、非常に嬉しい出来事がありました。
スクールの上級テストをクリアしたK君が、「自分自身で」そのテスト内容と攻略のポイントを分析し、紹介資料(動画)まで作成してくれました!
今回は、その素晴らしい成果をご紹介します。
「レベルアップテスト上級編」とは?
まず、K君が挑戦したのは、当スクールのカリキュラム「レベルアップテスト」の上級編(14〜17)です。
※現在は全てクリア!
これは、「プラットフォームゲーム(横スクロールのアクションゲーム)」のベースを開発するもので、Scratchの機能の中でも特に高度なロジックを要求されます。
重力(加速度) の実装 変数を使った「ジャンプ回数」 の管理(ダブルジャンプなど)キーを押す長さでジャンプの高さを変える**「可変ジャンプ」**リスト(配列) を使ったデータの並び替え(ソートアルゴリズムの基礎)
ただクリアするだけでも大変な、まさに「上級編」の名にふさわしい内容です。
K君自身による「思考の分析」がすごい!
このテストをクリアしたK君は、単に「できた!」で終わらせませんでした。
「自分がどこでつまずき、どう考えてその問題を乗り越えたか」
を、自分の言葉で振り返り、見事に分析・資料化してくれました!
K君の分析①(上級14:重力)
「(キャラクターが)床につくと(落ちる)判定をなくす方法を作るのが難しかった」
【ポイント】
これは、ゲーム開発における「状態管理」という非常に重要な概念です。
キャラクターが「空中にいる状態」なのか「地面にいる状態」なのかを正しく判定し、処理を切り替える必要があります。
「なぜバグが起きるのか?」その原因が「状態の判定」にあると、K君自身が本質を突いていることに驚かされます。
K君の分析②(上級15:ダブルジャンプ)
「(ロジックを)一つにまとめると途中でひっかかってしまうから、わざと2つに分けた」
【ポイント】
これこそが、プログラミングにおける「デバッグ(問題解決)」そのものです!
複雑な処理が一度にうまくいかない時、機能を分割して一つひとつ検証・整理する。これは実際のプログラマーが日常的に行う高度な思考プロセスです。
「なんとなく動いた」ではなく、「ひっかかる」という原因を特定し、「分ける」という解決策を導き出せたことが素晴らしいです。
K君の分析③(上級17:リストの並び替え)
「(2つの数字を)いきなり入れ替えると片方の数字が消えてしまうから、一つひとつ保護した」
【ポイント】
これは、データの入れ替え(スワップ)というアルゴリズムの基本を、完璧に理解している証拠です。
AとBのコップの中身を入れ替えるには、一時的に避難させるCのコップが必要になります。
この「一時的に保護する場所(プログラミングでは『一時変数』と呼びます)」の必要性を、丸暗記ではなく「データが消えてしまうから」という理由から自分で導き出しています。
「メタ認知」こそが、本物の学びの証拠
今回、私が感動したのは、K君が「メタ認知」の力を発揮してくれたことです。
メタ認知とは、「自分が何を理解していて、何を理解していないか」を客観的に把握する力です。
幼いころからプログラミングを学ぶ本当の目的は、コードの書き方を覚えることではありません。
論理的に考える力(どうすれば動くか) 問題を解決する力(なぜ動かないのか、どうすれば直せるか) そして、学んだことを整理し、他者に伝える力(言語化・プレゼン能力)
これら「本質的な力」を育てることです。
テストをクリアするだけでなく、そのプロセスを自分で振り返り、分析し、発表資料まで作ってくれたK君。
素晴らしい分析と資料を、ありがとう!
