このページの本文へ移動

受講生の声 - 槇本 瑛太 さん

槇本 瑛太 さん

データサイエンス学部 データサイエンス学科 2年(2023年度)
2年前期 プログラミング発展A
”自分の可能性を広げるためにも、ぜひ受講することをお勧めします”

授業を受ける前の印象

プログラミングと聞くと少し苦手意識があり、授業に最後までついていけるのか不安な部分がありました。
しかしこの授業で利用するPythonという言語は、今最も注目されている言語のひとつであり、最近話題のAIなどもこの言語で構成されていることが多いそうです。そのためこの科目については、プログラミングという難しい面もありますが、これから先のIT社会において学んでおくべき重要な要素があるという印象を持っていました。
私は授業を受けるにあたり、まず自分がこれから学ぶプログラミングにはどのようなことができるのか授業はどのように展開されているのかを知るため、シラバスをよく読みました。またオンラインの授業であったため、事前にマイクの確認や画面を共有することができるのかはよく確認しました。対面の授業と違い機材トラブルが授業そのものの参加不可と直結するため、機材の万全な状態を心掛けていました。

授業を受けてみようと思った動機「自分の苦手意識を克服したい」

私がこの授業を受講した理由としては、プログラミングの初歩的で基礎の部分をもう一度学び直したいと考えたからです。
私は以前よりプログラミングを学習していましたが、コーディングをすることに苦手意識がありました。その原因は初歩的な部分で忘れている部分がある事や、プログラミング特有の変数やライブラリといわれる要素があまり理解できていないためでした。ですが、これらの要素はプログラミングを学習していく上でよく出るものであり、プログラミングで何かを作りたいと考えると必ず身につけなければいけないスキルになります。しかし私はデータサイエンス学部の2年となり、自らプログラミングで何かを作る機会が増えていくにつれて、その箇所でつまずくことが多くなっていました。そこでもう一度初歩的な部分を学習し直し自分の苦手意識を克服したいと考え、この授業を受講する事を決めました。

授業で体験したこと「学んだことをすぐ実装できる楽しさと難しさ」

プログラミングの初歩的な部分をサンプルコードを元に理解し、それらを元に特定の実行が可能となるプログラムを作成する方式でスキルを身につけていきました。授業は座学で終了するだけではなく、各回にかならず自分で手を動かして実践的に行う箇所があるため、学んだことをすぐ実装できる楽しさと難しさが両方あります。私はその勉強方法としてプログラムの流れを自分でたどり、なぜその処理を行うのか、ということを意識していました。プログラミングの処理は順次行われ、そこには流れがあります。私は以前よりその流れ、特に変数や配列に格納されるオブジェクト類が苦手でした。そのためどのような処理があって、どういう理由でそこに格納されたのかということを理解するために何度も処理の流れをたどり、その1行1行のコードにどんな意味があるのかを考えていました。また授業の最終課題のミニプロジェクトでは、少数で相手に当たる命中率が高い大砲と、多数で命中率が低い大砲同士が打ち合ったら、どちらが有利かということをシミュレーションで分析する課題に取り組みました。この課題ではどうなったら有利な状態であるかを自ら設定し、それについて分析するプログラムを作ることになります。いままでの演習課題とは異なり、自ら処理を考える必要があるため、あらかじめ自分が実行したいプログラムの流れを考えた上でそれに合う処理が可能なコードを書いていきました。どうやったら思い通りの処理ができるのかを実装するのは難しかったですが、授業を通して意識していたプログラムの流れをたどり処理の意味を考えるという事がとても役に立ち、自分の満足のいく分析をすることができると共に、確実にスキルが身についていることが実感できました。

授業を受けてみて驚いたこと

一番印象に残ったことは、プログラミングのひとまとまりを部品として捉えそれを組み合わせることで大きなプログラムを作っていくことです。この授業で利用するPython言語では、ひとまとまりの処理を「def」で定義し、それを関数化することで、オリジナルの処理を一つの関数として実行することができます。これにより長いコードを簡潔に記述できるようになると共に、複雑な処理をするプログラムでも全体を分割することで、一つ一つの単純なプログラムにすることが可能です。私はいままで複雑なプログラムでも「def」での関数定義を行わず記述していたため、エラーが起こっても発生個所を見つけるのに苦労していました。しかしこのプログラムを単純な部品にわけ、それを組み合わせることで完成を目指すような「def」を多用したプログラミングを学んだことで、エラーの原因を早急に突き止め、効率よくプログラミングができるようになりました。処理の一部をひとまとまりの部品のようにする。とても簡単な事ですが、私にとっては衝撃的でスキルを向上させることができたため、とても印象に残っています。

授業で苦労したこと

私がこの授業で最も苦労したことは、プログラミングもそうなのですが、最終課題のプレゼン時でどのように私の成果を他の受講生にわかりやすく伝えることができるのかを考えた、グラフづくりでした。私は最終課題で、少数で相手に当たる命中率が高い「大砲1」と多数で命中率が低い「大砲2」で、先行攻撃と後攻攻撃、また同時攻撃で、どのパターンが大砲1にとって有利であるかを比較しました。実験では大砲2を相手にして、大砲1の先行攻撃と同時攻撃時の比較、後攻攻撃と同時攻撃時の比較、先行攻撃、後攻攻撃、同時攻撃での比較を大砲1の台数を1台から20台まで変化させて、勝率の推移をグラフで可視化しました。
この可視化というのが分析をする上で、重要でグラフを読む人に分かりやすく、かつ自分の考えを伝えられなくえてはいけません。この点でどのように結果を図にしたらよいのかを時間をかけて考えました。また図を作成する際は、Excelなどを利用せずにプログラミングで行わなければいけません。頭の中で形にできても、実際にそれを、プログラミングで図にした際に、想像したグラフとは違うことや、エラーが発生してしまうという事もあり非常に苦労しました。実際のプレゼンでは、先行後攻攻撃と同時攻撃全てのグラフの色を分けて一つのグラフにすることで多くの人が見ても納得できるようなグラフを作成できたと思います。

「将来これは役に立ちそうだ」と思ったこと「わかりやすいデータの可視化」

私が最もこの授業で「将来これは役に立ちそうだ」と感じたのは、わかりやすいデータの可視化です。この授業では、プログラミングの初歩的な部分を身につけられる上に、実際にプログラミングをすることで出したシミュレーション結果可視化を行います。様々なデータが数値などとして記録されている現代において、ただ煩雑に置かれたデータからその内容を読み取ることは非常に難しいです。しかしその中にはこれから先、社会を発展させる情報や、まだ見えていない需要やそこに含まれる要素などが隠れていると、私は思います。そのためデータ群から新しい価値を見出すためには、まずデータを分かりやすいようにグラフにするということは非常に重要なことです。そしてそれを自分のみが理解できるのではなく、多くの人に理解してもらうために工夫することは、データがあふれている社会に生きていく上で必要なスキルになってくるのではないでしょうか。
今回の授業で触れた箇所はまだ初歩的な部分であったと考えられますがこれからの将来で必ず必要になってくるスキルを少しでも身につけられたと私は感じます。

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

今回での授業の学びは、データサイエンス学科に所属する私にとって大きな糧となりました。私の学科ではプログラミングを利用する機会が多く、その中にはとても複雑な処理を行っているプログラムを扱うため、今回学んだように、プログラムの一部を部品のようにとらえ、ひとつひとつ単純化していくというプロセスは非常に役に立つと考えられます。長いコード、複雑な処理を見ても、授業で意識したように一つ一つのコードがどのような意味を持ちそれらが構成され、どのような働きをしているのかをこれから先もよく考えていきたいと思います。また今回の授業で苦労した、データをプログラムでグラフ化して可視化することとも活用していきたいと考えています。可視化を行うことで、数値はより分かりやすいものになる。これは、そこから得られる新しい発見は、新たな考察を生むことができるとともに、より深く課題に取り組むことにつながるはずです。

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

私はこの授業を是非、いつか社会人となる多くの人に受けて欲しいと考えています。ITが発展し、重要な産業としてITサービスが確立され、膨大なデータが大きな意味を持った現代社会において、プログラミンで何かを作成できることやデータを読み解くことができる能力は、自らの可能性を広げる意味でも必須な能力になっているといっても過誤ではありません。医療や運動、商業から運搬まであらゆる業界でIT化が進む中プログラミングスキルはその需要が急速に高まっていっています。さらに深く考えれば、最近よく耳にするビックデータやAIなどは、これから社会が発展する可能性の塊です。そしてこれを解析、作成するためには、今回の授業で触れたPythonなどでのプログラミングスキルと、データの可視化スキルが不可欠です。最初はプログラミングと聞くと難しいものであると考えがちですが、この授業から入れば複数人の講師の実践的かつ丁寧な指導のもと、必ず初歩的な部分を身につけられると共に、それから先への発展の足掛かりを見つけることができます。またこの授業で行った内容だけであっても、プログラミングからデータの可視化までの知識やスキルを、所属する学科で活かすことができると思います。
自分の可能性を広げるためにも、ぜひ受講することをお勧めします。