情報系の大学に通うとプログラミングができるようになるか?【4つのポイントを情報系大学生が語る】 の絵文字

情報系の大学に通うとプログラミングができるようになるか?【4つのポイントを情報系大学生が語る】

2022-10-29

2022-10-29

はじめに

こんにちは、こふです。

情報系の大学に通うとプログラミングができるようになるか?を現役学生が真面目に述べます。

実例が僕なので、僕のプロフィールページを見て判断してください、ということがひとことでの回答になります。


また、自分よりできる人もいれば、出来ない人もいるのは事実なので、あくまで参考程度にしてください。

当然、競技プログラミングが超強い人も世の中にはたくさんいて、彼らには圧倒的に負けていますが、そうした彼らの数は決して多くはありません、実際のところは。

情報系の大学に通うとプログラミングができるようになるか?

僕は大学 2 年生からプログラムを授業で始めました。

現在は、研究(卒論)やアルバイト、たまに個人でもプログラムを書いており、学生の中ではどちらかというとプログラミングができる部類に入るのでは?と思っています。

つまり、情報系の大学に通ったことでプログラミングできるようになったと言えるかも知れません。断言はできません。

しかし、実際のところは大学に通うだけではプログラミングができるようになりません、これは断言できます。

そもそも・・・

そもそも論です。

プログラムは手段である

プログラムは手段であること、数学・物理の理論が分かっていなければ答えが出せないことを分かっておく必要があります。

当然、書くプログラミング言語も特定のものだけでなく、手段ですので、適宜使い分ける必要があることにも注意です。

科学系であれば Matlab、高速化する必要がある場合は C++、機械学習なら Python がライブラリの面で充実しており使うなど。

プログラミングができる、の基準

曖昧な話でありますが、僕の思うプログラミングができる、を答えます。

それは、必要に応じて自分の力で目的を達成するためのプログラムを書ける、です。

目的とは、授業の実験や個人での Web・モバイルアプリ開発、ゲーム開発などですが、基本的に授業で習いません。


余談です。

おそらく偏差値が割と高めな大学ほど、より実践的なことはやらないと思います。基礎基本のプログラムがかければ、実勢的なことはできることが多いからだと思います。

ポイント 1:授業・課題は意外となんとかなるが、できるようになるとは限らない

数学の授業で課題を解くことと同じで、課題としてはプログラムを書ける人が多数だと思います。

しかし、実験などでサンプルのコードも与えられず、この授業で扱った理論、公式を元に数値を求めたグラフを描画して提出してください、となると、出来ない人が一気に増えます。当然、友達に教えてもらうこともあるでしょうが。


課題提出は正直に言うと「求められる答えをとりあえず出力できれば」単位が来ることが多いです。自由課題の場合は「最低限」動作確認ができれば合格になります。

提出出来ない人もいるかもしれないんじゃ?というのは置いておいて、課題提出は焦りからもなんとかなりますし、最悪正解できなくても教員次第、謝罪次第では通ることもあるかも?しれません。

とりあえず、授業を通して課題ベースでは出来たとしても、あくまで課題ができたに過ぎず、他のことは出来ない可能性が高いです。

というのも、個人的に本を読んでプログラムを書く、作りたいゲームを作ってみるなどを通して、僕は力がついたと実感したからです。そうしたことがなければ、教科書に従って書くことしかできませんでした。

ポイント 2:会社で求められるプログラミングは出来ない

命名規則、テストコード、DRY 原則など、授業では基本的にやりません。当然、専門学校や Web アプリ開発に強い講師がいたら、そういった部分も習えるかも知れません。が、一般的な国公立大学ではそういったことは教わりづらいと思います。

つまり、授業としてのプログラムは書けても、アルバイトをできる力がついているとは限らないです(実体験)

当然、普段から可読性を意識して授業に臨んでいる人もいると思いますし、繰り返し同じ処理をするなら関数を書こう、と習い始めてすぐに気づく猛者もいるかもしれません。そういった方々はセンスがあると思うので、その道に向いていそうです。

ポイント 2:プログラムを書いて何をするか次第だから、そもそも書ける必要はない

ポイント 1 として「授業・課題は意外となんとかなるが、できるようになるとは限らない」と言いましたが、授業以外で書かないなら、そもそも書ける必要はありません。

個人でゲーム開発をするなら、おそらく授業で扱っていない C#を扱う必要がありますし、Web アプリケーションを作りたいなら複数のプログラミング言語だけでなく Web 技術全般を学習する必要もあります。

そのため、授業のプログラムが書けたからと言って何も作れません。

授業外でプログラムを書くしかありません。実際のところ、授業外でプログラムを書いている人はごく少数だと思ったほうが良くて、書くことで力が付くとしたら他の人との差は付けられますが、その分普通の大学生のようにエンジョイできない側への招待になります・・・

ポイント 4:書けないと卒論・修論で詰む可能性があるため、やはり書けるようになるべき

卒業研究で何をするかは研究室によりますが、情報系であればプログラムを使うことがはほぼ確実だと思います。物理系、数学系であったとしても、シミュレーションはプログラムを書いて動かすことが多いはず。

特殊な GUI のソフトウェアをポチポチして数値入れ替えでなんとかなる場合もあるので、万人に対してとは限らないですが。


何度も書いていますが、プログラムを書くことは手段でしかありません。しかし、手段だからといって舐めるのではなく、ないと詰むということに気づく必要があります。一般的な実験として、データを取ってグラフにして数値分析をする、ということがあるでしょう。

こうした場合に「データをプログラムで加工する」「描画のプログラムを書いて動的にグラフを生成する」「分析に機械学習のライブラリを使う」ということが考えられます。

目的は、取ったデータからある未確認の事実を求めることだとしても、プログラムが書けなければ目的が達成できませんし、本来使うべき考察・検証の時間を削ってプログラムを書くことになるため、合理的とは言えません。


そのため授業や課題から乖離したプログラミングのスキルは必須であり、できるようになるか?ではなく、できるようにならないと詰む、と考えると普段からプログラミングに真面目に向き合えるかもしれませんね。

おわりに

100%、絶対、ということは言えないことが多く、曖昧なことを記してしまったかもしれません。

それほど、万人ができるようになるか、できる必要があるか、バラバラであり、それは手段だからです。服を着られないのであれば困りますが、発展的なプログラミングをする必要がないのにプログラミングができるようになるか?を考えることに意味はありません。

最後までお読みいただきありがとうございました。

参考

  • 自分の 2 年半に及ぶプログラミング経験

評価、感想をお願いします!

いただいたご意見を参考に記事を改善しますので、お気軽に入力ください!




共有する