受講生の声 - 新川 大海 さん

新川 大海 さん
グローバル学部 日本語コミュニケーション学科 2年(2022年度)
2年前期 プログラミング発展B
”先生とのやり取りが考え方を広げてくれた”
「受講のきっかけ」
小さい頃から自分で何かを制作することが大好きで、プログラミングの経験がありました。JavaScriptにもずっと興味があったのですが、独学では限界がありました。そこで、プログラミングも含め様々な制作の参考になる話が聞けたり、困ったときに相談できたりする環境が大学の授業を通して欲しいと思い、受講しました。
授業を受ける前は、Webアプリを作る基礎を身につけられると期待していました。HTMLには普段から触れていたので、JavaScriptを学んで今までできなかったことがどこまでできるようになるか、想像しながら受講しました。その結果、早い段階から最終課題であるミニプロジェクトの内容を考えることができました。
授業での学び「先生とのやり取りが考え方を広げてくれた」
授業では、ミニプロジェクトに向けてHTMLとJavaScriptの基礎的な記述方法や機能を学びました。学びながら、「これらの機能を組み合わせたらどんな面白い物が作れるだろう」とワクワクしながら受講していました。
授業を実施する先生方も、実際にプログラミングの現場で働いているなどレベルが高く驚きました。例えば、プログラミングをする際に、まず自分が考えた処理を先生に説明したのですが、それとは別の案を教えていただきました。これを繰り返すことで知識や考え方の幅を広げることができました。他にも、プログラミングの現場での実例も交えた、役立つお話が聞けました。「話の内容を応用すると何ができるか」という発想につながったので、答えを教わるような授業よりも身になると感じました。
難しかったのはJavaScriptの“オブジェクト指向”という考え方です。授業ではあまり触れていなかったのですが、 JavaScriptはオブジェクト指向型の言語なので、ある程度理解していないと出来ることの幅が狭まってしまいます。ちゃんと理解できないまま終わってしまったので、今後も学んでいきたいです。
最終的にミニプロジェクトでは俯瞰型2Dパズルアクションという新感覚のゲーム作りにチャレンジしました。ゲームは以下のURLで公開していますので、よければ遊んでみて下さい。
http://nismin.my-style.in/wiselyavoider/

図:授業の最終課題で制作したゲーム

図:授業の最終課題で制作したゲーム
(制作において工夫した点)
縦方向へのスクロールは、 Webページに動きを付けられるJavaScriptのDOM(Document Object Model)を活用し擬似的に表現しました。キャラクターと障害物の接触などのイベントは、条件分岐による切り分けで発生させています。他にも、プレイヤーを飽きないようにするため、ゲームの進行度を保存できるGETパラメータを利用して、通常より難しいエクストラモードを実装したり、獲得した点数をツイートできる機能を搭載して、フォロワーとスコアを競って楽しめるようにしました。
「これから授業を受ける方へ」
この授業は能動的に受けられるかどうかで学びの質と量が大きく変わる授業です。私も授業が始まった頃は先生方をうまく頼れませんでした。この授業を受ける方は、ぜひ貪欲に授業を受けてみてください。少しでも自分に役立つヒントが得られるよう、課題に対して常に「これを学んで何になるんだろう?」と考え、疑問を感じたらすぐ確認するなど、自分の中で「この授業で学んだことはこうやって活用できる!」というビジョンをもって授業を受けることが大切だと思います。すると、自ずと何か作りたくなり、質問が生まれ、先生に質問しに行くことで知見が広がり、授業にのめりこんでいけるでしょう。
日本語コミュニケーション学科では、学生がワークショップをデザインし、互いにフィードバックする授業があります。このワークショップをより楽しく・効率よく運営する手段としてWebアプリの活用をよく思い付きます。この授業で学んだHTMLやJavaScriptを活用したいです。