SCHOOL BLOG
スクールブログ
2022年3月の記事一覧

中級プログラミング授業レポート

授業レポート

子ども達が大活躍!レーシングカーゲームついに完成!

今回は、前回ご紹介した中級プログラミング “レーシングカーゲーム”作りのその後をレポートします。

前回の記事はこちらです。

前回の授業で「周りの景色が車の走行に合わせて動く」というプログラミングを学んだ子ども達。

過去に習ったプログラミングを見返しつつ真剣に取り組んでいましたが、その後の授業で無事レーシングカーゲームを完成させられたのでしょうか。

今回は、ゲームの完成までをレポートいたします。
ぜひ最後までご覧ください。

プレイヤーの動かし方を設定する

レーシングカーゲーム作りは「障害物を動かすプログラミング」の確認から始まりました。

前回の授業で分からなかったところは、中山桂子先生(以下けいこ先生)のお手本コードを見ながら解決します。

「クローン」のプログラミングを使って道路周辺にある障害物を画面上から下へと動かすことで、実際に車が走っているかのような動きを表現できるようになりました。

障害物を動かすプログラミングをしている画面
さて、今回の授業では、プレイヤーの車の動きをプログラミングしていきます。

  • 矢印キーで左右にプレイヤーの車を動かせるようにする
  • プレイヤーの車を道路からはみ出ないようにする
  • ライバルの車に触れたらゲームオーバーになるよう設定する

これらをプログラミングで実現させるのが今回の課題です。

さらに余裕がある受講生は、

  • 車を上下にも動かせるようにする
  • 効果音をつける

ということにもチャレンジしました。

矢印キーで左右にプレイヤーの車を動かせるようにして、かつ道路からはみ出ないようにするには、「道路以外の場所を除いて車を動かせる」というプログラミングを作らないといけません。

プレイヤーの動きをプログラミングしている画面
先生のヒント画面を見つつ、みんな黙々と作業に集中します。

「座標を使って物の動きを指定する」というプログラミングは普段からやっている内容ですが、「道路の範囲を指定する」という追加要素も加わったことで、苦戦している子もいる様子。

プログラミングのやり方に正解は無いので、みんな自分なりの方法で工夫して車の動きを作っていました。

ゲームオーバーの画面は、Scratchにあるデザイン機能を使ってそれぞれが自由に作成。

ライバルの車に触れた時にゲームオーバー画面が表示されるよう、「メッセージ」という機能を使ってプログラミングします。

ゲームオーバーの作り方はこれまでの授業でもすでに習っているので、これまで学んだことをアウトプットできる良い機会でした。

授業では、プレイヤーの車の動きとゲームオーバー画面をプログラミングできました。

次回の授業では、ライバルの車をプログラミングして完成を目指します。

授業終了直前まで「先生のプログラミングをもう1回見せてください!」と声が上がるなど、難しい内容にも関わらず積極的に取り組む子ども達の姿が見られました。

ライバルの車の動きを作る

車
「ライバルの車のプログラミング」では、ライバルの車の動き次第でゲームの面白さや難易度が変わってくるので、ゲーム作りにおいては大切なポイントとなります。

ライバルの車がランダムに現れるように、これまでに習ったことを思い出しながら「クローン」や「乱数」を使ってプログラミングします。

クローンで作った車を画面の下の方へ少しずつ移動するようにすると、車が道路を走っている風に見えるようになりました。

ライバルの車の出現場所がランダムになるよう、座標を使ってプログラミング。
さらに、速い車と遅い車を作るために「乱数」を使って車の速度も指定しました。

けいこ先生のお手本プログラミングを見て、子ども達は焦りを感じつつも、みんな授業内容に追いつこうと真剣です。

授業回数が進むにつれてプログラミングが少し複雑になってきてはいますが、分からないところは質問して自己解決する力もしっかりと身についてきました。

ライバルの車の動きができたら、次はライバルを追い抜かすと1点獲得できるようなプログラムを作っていきます。

「ライバルを追い抜かす」という動きを表現したい時、
プログラミングでは「プレイヤーのY座標がライバルのY座標より大きいかどうか」という風に考えます。

座標の考え方は学校教育でいうと中学校レベルですが、おうちdeプログラミングの受講生たちは、プログラミングに触れる中で感覚的に座標の概念を身につけていっています。

スコアが1点ずつ追加されるように、「大なり」や「かつ」の要素を使った少し複雑なプログラムも作りました。

大人でも頭を使わないとできないレベルの内容ですが、それを理解して作り上げようとする子ども達の集中力はすごいです。
 
オンライン授業なので無言が続く場面も多い中、みんな画面の前で黙々と課題に取り組んでいました。

集中しているこども

レーシングカーゲーム作りを終えて

前回の記事でご紹介した授業と合わせ、合計3回の授業でレーシングカーゲームが完成しました。

レーシングカーゲーム作りには「座標を使って物を動かす」「スコアの追加方法を指定する」などこれまで学んだプログラミングの考え方が詰まっていて、応用力が鍛えられる内容だったのではないかと思います。

初級講座の時と比べて操作に関する質問が減り、どの回でも子ども達がそれぞれ黙々とプログラミングに取り組んでいたことがとても印象的でした。

運営スタッフからのメッセージ

次回からは、子ども達はオリジナル作品を設計から挑戦します。

計画的に作品を作っていくために、「作品を使って欲しい人」や「何のための作品にするか」といったことをシートに書き込んで明確にします。

思いつきをどんどん実現するのも良いですが、作品の目的やイメージを初めから練っておくことで、「計画的にプログラミング作品を作る」という過程そのものも良い学びになると思います。

次回は、「オリジナル作品中間発表会」についてレポートします。

子ども達が考えた作品やアイデアは一体どんなカタチになるのでしょうか。
ぜひ今後の連載にもご注目ください!

※今回ご紹介した中級プログラミングは、「おうちdeプログラミング」に継続参加していた方のみご受講いただけます。プログラミング講座に興味のある方は、「おうちdeプログラミング」からご受講をお願いいたします。

「おうちdeプログラミング」開講案内・講座スケジュールはこちら

この記事を書いた人
【ママワークス在宅ライター Chiho Nagata】
暮らしが好きなフリーライター。2児の母。WEBメディアや企業ブログを中心に執筆しています。
育児・教育・不動産・ライフスタイル関連が多めです。子育て経験を生かし、記事を通してスクールとお子さまの魅力をお伝えできたら嬉しいです。
中級プログラミング授業レポート

授業レポート

小学校低学年の子ども達がScratchを使って本格ゲーム作りに挑戦!

オンラインdeキッズスクール「中級プログラミング(第2期)」講座ではScratch(プログラミング言語)を使った様々なゲーム作りに挑戦しています。

今回、子ども達が挑戦する“レーシングカーゲーム”作りは、学校教育でいうところの中学生レベルに相当します。

そんな中、第2期生のほとんどが年長さん〜小学校低学年というから驚きです!

開講当初は「文字入力や座標の概念などが小学校低学年のお子さまには難しいかも…」という不安もありましたが、受講生は本格ゲーム作りに挑戦できています。

いったいどんな授業を行っているのでしょうか?

その授業内容とゲーム作りをする受講生の様子、そして中山桂子先生(以下けいこ先生)の驚きの指導法についてもレポートします。
ぜひ最後までご覧ください。

レーシングカーゲーム作り授業のポイントとは?


レーシングカーゲーム作りは、1回目がプレイヤーのコード作り。
2回目以降は、ライバルの車のコード作りから、スコア判定の仕組み作り、車が走る様子を表現する仕組み作りへとカリキュラムを進めていきます。

今回の授業では、背景に配置した木やコーンなどを動かして、景色が動いて見えるようにしていきます。背景が動くことで、車が走る様子をリアルに表現する仕組みです。

背景を動かすプログラミングは過去の講座でも習ったことがあるので、それを応用できるかが今回のポイントになります。

障害物を動かして、走る車を表現しよう

授業開始。Scrachを立ち上げて、ゲームに使う素材をScrachにアップロードします。

中級講座スタートから3ヶ月、初級から受けている子だと9ヶ月経っているので、パソコン操作に慣れてきた子も多い様子です。

つまずいてしまった受講生には先生が個別で対応してくれるため、みんなそれぞれのペースで進められます。

アップロードした素材を背景の道路に合わせてセットできたら、いよいよ今回のプログラミングがスタート!

けいこ先生からのお題は、「周りの景色が車の走行に合わせて動く」というプログラミングを考えること。

レーシングゲームで車が走っているように見せるには、車の走行に合わせて背景を動かすことが大切なポイントです。

今回は、画面の端にセットした木など3つの障害物を動くようにプログラミングして、車が走る様子をよりリアルに表現していきます。


実は、背景を動かすプログラミングは「中級プログラミング」“空を飛ぼう”の授業でも習っているのですが、子ども達はそのノウハウを今回のゲームに応用できるでしょうか?

「(障害物が)1回だけじゃなくて、クローンを使って何回か出るように」
「ずっと一緒の動きをするんじゃなくて、バラバラの動きにして!」

という先生からのアドバイスやリクエストもあり、みな真剣な表情でプログラミングに取り組みます。

しかしこの間、先生はコーディングしません。

まずは渡してあるテキストをもとに、子ども達自身がトライすることを重視しながら教えているため、ただコードを写すような授業は行っていないのです。

子ども達が黙々とプログラミングしている間、けいこ先生はTfabTileというシステムを使って、子ども達の制作画面を常にチェックしています。

「分からないところがあったら、昔作ったプログラミングを見返すと良いよ~」
という先生からのアドバイスで、自分の過去の作品を参考にしながら取り組む子もいました。

X座標・Y座標といった中学レベルの概念も出てくるのですが、低学年の子ども達でもそういった概念を感覚的に使いこなしている。このことに感心します。

先生のお手本と質問タイム

子ども達は10分ほど黙々と作業を続け、少しずつ子ども達のプログラミングが出来てきたところで、

「先生は(プログラミングを)こうしてみました~」

というクローンを使ったお手本を先生が見せてくれました。

先生のプログラミング

「同じプログラミングを作るのにも色々な作り方ができるので、先生のプログラミングはあくまで一例ですからね~」
と伝え、子ども達のアイデアも生かすよう、指導していきます。

その後は質問タイムなのですが、今回の授業のすごいところは、子ども達からの基本的な操作に対する質問がほぼなくなったということ。

初級クラスの頃は先生の見本コードを写すのにも、半角・全角が違っていたり使うコードを間違えたりしていた子ども達でしたが、中級クラスも回を重ね、第6回を迎えた今、そういった基本的な質問はほとんど聞かれなくなってきました。

自分たちで工夫を重ねて黙々とプログラミングする子ども達の姿には、講師や指導員の先生方も驚くばかりです。

集中して作業が続く中、1人の参加者から
「木が増えすぎちゃったんだけど、どうやって消したらいいですか?」という質問。
クローンで増やしたオブジェクトの消し方が分からないようです。

こんな時も、けいこ先生は考えるヒントをあげるのみ。
答えを与えるのは簡単ですが、答えを与えてしまうのではなく「あとは自分で考えてね」と子どもに考えさせるのは、「おうちdeプログラミング」の先生の基本姿勢です。

今回の質問でも、先生とやり取りするうちに、子ども自身の力で解決方法を見つけることができました。

ひらめいたこども

こんな風に自分の頭で考え、「自分でできた!」という成功体験を積み重ねていくことは、プログラミングに限らず学びの中で大切なプロセスとなります。

授業の最後には、「次回までに障害物の動かし方を試行錯誤してほしいです」と先生からアドバイス。

動く速さ・出てくる間隔・障害物の数など、個々に“こだわるポイント“や”創作アイデア“をたくさん盛り込めます。

授業時間内には他にもいろんな質問が出ましたが、子ども達はお母さんや指導員のお兄さんと解決したり、自分の力だけで解決したりと、それぞれ自分なりの解決法を上手に見つけていけました。

授業を終えて

今回の授業では、子ども達が自分の力で黙々とプログラミングに取り組む姿が印象的でした。

先生に質問する際に、どこが分からないのかを自分の言葉で的確に説明できていたこと、先生のヒントを元に自分で考えて解決できたことも素晴らしいと思います。

学齢や年齢で学びの幅やスケールを大人が決めてしまいがちですが、この授業に参加する子ども達の様子をみる限り、可能性は無限大に感じます。

運営スタッフからのメッセージ

講座で印象深い光景は、受講する子ども達が無言でプログラミング作業をする姿です。
これは、高い集中力を維持する強い興味と関心を持って臨んでいたからだと思います。

また、子ども達が、先生の提案以上のやりたいことを自ら構想し、わからない場合は具体的にやりたいことを説明しながら質問して、色々なコードを試行錯誤し、工夫を積み重ね、論理的に自分のイメージを実現し問題解決して行く姿に、一人ひとりの成長を感じました。

きっと、この講座で培った自分で一から作り上げて行くものづくりの経験が、受講する子ども達の人生にとってかけがえのない体験となると感じました。

2020年より、小学校でプログラミング教育が必修化され、プログラミング教育に関する関心が高まりました。

さらに1人1台のタブレットを持つ時代になり、子ども達をとりまく環境は日々変化し続けています。しかし、学校ではプログラミングやIT教育に対し、まだ抵抗感がある様子が伝わります。

”学ぶ環境があれば、子ども達は自らすすんで学ぶ。”

中級プログラミング受講者から、そんなメッセージが伝わってきます。
子どもの可能性は無限大です。

オンラインdeキッズスクールで、子ども達の可能性を見つけてみて下さい。皆様のご受講をお待ちしています!

次回は、いよいよレーシングカーゲームが完成します。ぜひ完成の様子もご覧ください。

※今回ご紹介した中級プログラミングは、「おうちdeプログラミング」に継続参加していた方のみご受講いただけます。プログラミング講座に興味のある方は、「おうちdeプログラミング」からご受講をお願いいたします。

「おうちdeプログラミング」開講案内・講座スケジュールはこちら

この記事を書いた人
【ママワークス在宅ライター Chiho Nagata】
暮らしが好きなフリーライター。2児の母。WEBメディアや企業ブログを中心に執筆しています。
育児・教育・不動産・ライフスタイル関連が多めです。子育て経験を生かし、記事を通してスクールとお子さまの魅力をお伝えできたら嬉しいです。

CONTACT
お問い合わせはこちら

オンラインdeキッズスクールに関するご質問やご相談、講座の詳細につきましては、こちらからお願いします。

株式会社アイドマ・ホールディングスは、ママワーカーの働く機会創出に貢献する活動に取り組んでいます。ママワーカーにとって安心して働ける仕組みやサポートは欠かせません。サステイナビリティ活動・社会貢献活動(CSR活動)としてお子さまの教育サポートに取り組み「オンラインdeキッズスクール」を運営しています。