このページの本文へ移動

受講生の声 - 加藤 晴喜 さん

加藤 晴喜 さん

薬学部 薬学科 2年(2023年度)
2年前期 プログラミング発展B
”課題を通じて習得できるプログラミングスキルはその全般が役に立つ ”

授業を受ける前の印象

中学や高校の授業で、所謂「ブロックプログラミング」には触れていましたが、より実践的なことが学べるのかなー、という期待を持っていました(実際にどうだったかは後述)。私の場合は、授業を受けるにあたって準備したことなどは特になかったです。強いて言うなら「プログラミング基礎」と同「発展A」を履修したぐらいです。ただやはり、HTMLかJavaScript(特にHTML!)について、事前にネット上の解説サイトなどで雰囲気をつかんでおくだけでも、大分心理面で楽にはなると思います。本当に何もかも初めて、という人は、『Paizaラーニング』などのサイトで少しでも予習をしておくことをおすすめします。

授業を受けるきっかけや動機

私は元々高校生の頃からWebサイトやアプリの自作に挑戦したいと考えていましたが、高校でも大学でもメインの学習に時間を割かなければならなかったことなどがあり、自学ではとても難しかったので、大学の授業の中で学びたいと考えこの科目を履修するに至りました。結果として、イチからの自学では難しく感じていたことがすぐにできるようになり、今後も継続的に学ぶためのモチベーションアップのきっかけとなったため、今でも受けて良かったなと思っています。

授業で体験したこと

この授業では、プログラミングの実用的な部分であるコーディングのやり方を、毎回出題される課題(指定の動作をするプログラムを書く問題)に挑戦する形で学んでいきます。特に、課題では求められている要件を忠実に再現することが求められ、相違がある場合は容赦なく減点の対象になります。厳しそうに感じる人もいるかもしれませんが、とにかくひたすら実践を重ねる方式となるので、最後までやり続けられればとても実用的なチカラになります。途中でどうすればいいかわからない部分が出てきたとしても、プロの講師の方々の手厚く充実したサポートが自信を後押ししてくれます。
基礎課題と任意提出の発展課題があり、発展課題は少し難易度高めですが、積極的に挑戦すればその分高く評価してもらえます。頑張った分だけ明確に点数になるのも嬉しかったポイントです。全7週ある授業の後半2週では「ミニプロジェクト」と称し、前半で身につけた基礎知識を活かして、自分だけのWebアプリをアイデアから自作しました。最終的には成果物として発表をして、クラスメイトにも遊んでもらい、評価やコメントをもらいました。

授業を受けてみて、驚いたことや印象に残ったこと

予想はしていましたが、取り組む内容が想像以上に本格的なところに驚きました。特に、コーディング補助ツールの導入方法などの指南まで丁寧に整っており、より深く実践的な内容に取り組めるところが「中学・高校ではなく、大学だからこそできる学びだな」と感じました。
また、授業はオンライン会議ツール「Remo」を使用し、少人数のクラスメイトでグループを組んで、そこにサポートしてくれる講師の方が入ってくれる形式となっています。不明点があればすぐに、既に先に進んでいる人や先生に聞ける環境が整っているのが良く、最後までとても取り組みやすい空気だったことが印象に残っています。

授業を受けてみて、一番苦労したことや努力したこと

一番苦労したことと努力したこと、ともに最後のミニプロジェクトへの取り組みでした。課題が与えられた当初は、本当にギリギリまでテーマに思い悩んでいて、最初の提出物であるスライド1枚の企画書は、締め切り直前まで時間をかけて仕上げて提出した思い出があります(図1)。正直今思い返してもなんで間に合ったんだ…って思うくらいアイデアが出なかった辛い記憶があります(笑)。
そして本題の制作に入ると、細部にすごくこだわり始めてしまった結果、想像以上に作業量が多く大変だったり、コーディングにはつきものであるバグや想定外の挙動も多く発生して、そのリカバリーに追われたり…と作業は難航しました。必要な挙動を実現するために、聞いたことも無い関数を苦戦しながら取り入れたこともありましたが、何一つとして無駄な学びはなかったと思っています。
難しかった一方で、「20名弱の学生がいるこのクラス内で、もっとも手の込んだ成果物を作る」という目標を自分に課し、それをモチベーションに時間をかけ、結果としてそれなりに納得のいくものができたことに満足しています。以下の画像1、2が実際に作ったブラウザ上で動くゲームの実物になりますが、授業内のみでの成果としておくのはもったいないし、より実用的なものに仕上げてWeb上で公開することを考えています(現在準備中)。

(図1)ミニプロジェクトの企画書

(画像1)実際に作成した「元素神経衰弱ゲーム!」

(画像2)原子番号のカードと元素記号のカードを対応させるゲーム

将来これは役に立ちそうだと思ったこと

授業を通じて将来役立つと感じたことは数多くありますが、特に挙げるなら、課題を通じて習得できるプログラミングスキルはその全般が役に立つと感じています。皆さんは、多岐にわたる将来を見据えて学校で勉強されていると思いますが、どの分野に進むにせよ、プログラミングの知識は習得して損をすることはないと思います。
特に「発展B」で学ぶHTML、JavaScriptはWebサイト・Webアプリケーションの実現に直結しています。極論を言えばこの授業を最後までやり切るだけで「私、Webページ作れます!」という、「ExcelやPowerPoint使えます!」よりも一段階上のアピールが可能になります。「AI副専攻」のカリキュラム全体に言えることですが、将来、仕事の形態が変化する中でデジタル技術が基幹となることは確かであり、その技術を使いこなせる人材は重宝されるでしょう。この流れに対応するために、プログラミングの習得は非常に価値のある経験だと感じました。

授業で学んだことを所属学科での学びにどのように活かすか

私は薬学科に所属し、将来的には薬剤師の資格取得を目指し日々専門分野を学んでいます。ここ最近は、薬剤師の総数が余剰傾向になるとも言われており、各個人に「+α」が求められる時代だと言われています。そこで、私はその+αを、AI副専攻を通じて習得した人工知能をはじめとするデジタルなツールを扱う技術をもって補いたい、と考えています。大学を卒業し薬剤師となってからは、現在の薬剤師業界や医療業界における課題を見つけ、それを解決するためのアプリケーション開発等にも携わっていきたい思いがあり、現在学修中です。

これから授業を受ける方へ

主専攻を持ちながらも、一流の先生からプログラミングの知識を学べる貴重な機会です。大学でしかできない経験だと思いますので、少しでも興味がある方は積極的にチャレンジしてみてください。「難しそう」「ヤバそう」というイメージを持っている人もいるかもしれませんが、基礎的な部分しかやりませんし、プロのエンジニアのような高いレベルが求められることはありません。難しいと感じても、そこも含めて優しい先生方が教えてくれます。大船に乗ったつもりで挑戦してみてください。「プログラミング基礎」でも利用する「Microsoft MakeCode」や、「Scratch」のようなブロックプログラミングの経験がある方は、その内容を思い出しておくと良いでしょう。初めは授業内容とのギャップに驚くかもしれませんが、実際に取り組む中で「アレで学んだ内容は凄くわかりやすい基本だったんだな」ということを実感できると思います。この記事の内容を見て、皆さんがAI副専攻やプログラミング系科目に少しでも興味を持っていただけたなら嬉しいです。そして、是非、皆さんが作ったアプリを遊んでみたいです!
チャレンジする皆さんのことを、心より応援しています。