あるくテック

「分かる」をつくりたい。

プログラミングの授業例 Webゲームその1

Webゲーム制作の授業、今回はその1初回授業についてです。

科目概要

Webページを見るためのブラウザ(Google Chrome、Safari、Edge、Internet Explorerなど)があれば遊べるゲームのことを、Webゲームまたはブラウザゲームと呼びます。このWebゲームの制作を学ぶ科目です。

arukutech.hatenablog.com

はじめてのWebゲームづくり

授業ではenchant.jsというライブラリ(プログラムのパーツ)を使って、効率よくプログラミングを行うことで、体験重視の授業になるよう工夫していました。


初回授業で配布したプリントは次のようなものです。

 

enchant.jsでのクラスのコーディング、時間制御を体験する

Mission

0.code.9leap.netのユーザー登録を各自で行う。


1.文字を表示するために、「使用するクラスの名前」と「プログラムの書きかた」が説明できる。

 

<<演習問題例>>

1)準備
code.9leap.netのログインする。(Chrome推奨)

2)http://code.9leap.net/codes/show/203 にアクセス

3)画面左上「Fork」ボタンからプログラムのコピーを作る

4)画面右上「Run」ボタンでプログラムを実行すると、画面左下に課題が表示される

 

課題1
hello.xを10以外に変化させてみよう!
hello.x=50;
書き換えたら「Run」を押そう!

 

5)課題3までやってみる。

 

授業の冒頭10分程度で説明を行った後は、全員が達成できることを目指して、学生が自由に課題に取り組みます。教室内の立ち歩きも相談も自由です。学生が自主的に教室のホワイトボードを使って、ミニ授業をおこなっても構いません。
全員が達成するためには協働が求められます。様々なコミュニケーションスキルを学ぶ機会にもなります。

またプリント中の演習問題例は、Missionを達成するための作業として私から例示していたもので、学生自身で例題を考えて授業に取り組んでも構いません。つまりMissionが達成できるのであれば、例題を解かないことを選べます。

クラス全体としての達成度については授業の最後で確認をします。

プログラミングと協働学習

どんなことでもある程度の基礎知識がないと活動ができません。そのためプログラミングを学ぶときには、新しい考え方や用語がたくさん登場するため困惑する学生も少なくありませんでした。

とはいえ、一斉授業だけを行っていきながらクラス全員の基礎知識のレベルが上がるのを待つことは時間がもったいないと考えています。新しい知識は一度聞いただけでは分かったような気分になっただけで、使える知識まで理解できてないことがほとんどですので、結局授業が終わっても「とりあえずやってみた」だけに留まってしまいます。

プログラミングの授業では、Slackなどのツールも生かして、意見やデータのやりとりが極力スムーズに行えるようにしていました。

授業の中で学生同士で話ができる時間をできるかぎりつくることで、分からないことがすぐ誰かに聞くことができる(先生に聞くタイミングを待たなくてよい)、誰かに教えることでより理解が深まる、といったメリットを学生自身が実感していたようでした。