KCS AdventCalendar2020 5日目の記事です。
前日の記事を優秀な後輩が書いてくれた(Kaggle入門したくなってきた)。
KCS3年、班無所属のやぱったーです。
アドベントカレンダーが空いていたので急遽こんな記事を書きます。
まずこれは情報工学科に進学したい1年、もしくは情報工学科2、3年向けの記事です。
情報工学科と聞くと取り敢えずプログラミングを連想する方が多いと思うので、後輩に自分が目標とするプログラミングレベルでそれぞれ何をやっておくといいか記載していきたいと思います。
つよつよは勝手に勉強してくれると思うのでそれ以外を対象としています。
プログラミングをガチりたい人向け
偉いですね。応援したくなります。
そのような人は独学でプログラミングを勉強する時間を多めに取る。技術系イベント(Seccampとか、LT大会とか)、インターン、コンテストなどに参加しまくると良さそうです。
外部にどんどん広がっていくことで新しい知見、気づき、モチベーションが得られます。
もちろん授業以外の何かしらに参加すると相対的に課題をこなす時間が減ると思います。しかし実力がつけば課題に必要な時間も減るので安心して良さそうです。
実務経験で実力が伸びるみたいな幻想、課題で手一杯の人には無理だぞ
— Yosuke Onoue (@_likr) 2020年12月3日
と某大学のパンダのTwitterアイコンの准教授もおっしゃっていました。これは厳しいコメントですが、逆に言えば課題+αを自然とこなせるようになると力もどんどんついていくと思います。
また虚無な課題があったとしても、自分で縛りを作ることで新しい技術を学ぶことも可能です。
例えば、悪名高い某基礎実験がありますが、そのレポートをLaTexで書くことでLaTexの使い方を覚える、ExcelではなくPandasやMatPlotlibを使うことでPythonの使い方も学ぶみたいなことも可能だと思います。
向き合い方によって大分学べるものも変わる気がします(虚無なことには変わりないですが...)。
そこそこプログラミングをやりたい人向け
普段プログラミングをやる時間が多く取れなくても、長期休暇にインターンに参加する、定期的にコンテスト(AtCoderとか)に参加するなどをやることで周りと十分差をつけられることは可能だと思います。
しかしいきなりインターンに参加するというのもハードルが高いと思うので、事前にGitHubのアカウントを作成して何かしらのコードを書けることを示した上でインターンに参加するといい気がします。
人数が少ないベンチャー企業など猫の手も借りたいところも多く採用してくれるところが多い気がします。
実際自分もRailsチュートリアルで作れるTwitterもどきを少しCSSで編集したアプリを作った経験しかない、AtCoder灰色という状況で初回のインターンに申し込んで、そこで採用してもらいました。
実際に経験を積むうちに覚えられますし、あまり心配しなくていい気がします。
取り敢えず突っ込んでみることは案外大事かもしれません。
プログラミングを全くやりたくない人向け
プログラミングがやりたくないが何故か情報工学科に入ってしまった方向けです。
学問2とかだと管理に落ちて情報工学科に進む学生が少しはいるらしいです。
プログラミングが嫌いでも情報工学科を卒業できます。意外とプログラミングの授業は少ないのです。結局は自分でやることなので。
なので如何にプログラミングという名前がつかない授業を取るかを腐心して、結局必修以外プログラミングに全く触れずに進級し続ける猛者になることも十分可能です。
しかし、プログラミングをどうしてもやりたくなくても、必修でコードを書かないといけないプログラミング第一演習/第二演習、アルゴリズム第一などが存在します。
このような場合、学科内にプログラミングができる友人を持つと強いです、美味しいご飯でも奢ってあげましょう。たとえ今コロナで外食できなくても、プログラミング以外の課題を手伝ってあげましょう。さらに実験レポートや他の過去レポなどをあげるとすごく喜ぶと思います。
うまくお互いに助け合うことでプログラミングの課題を手伝ってくれると思います。
どちらか一方的な関係になることはどうにかして避けましょう。
終わりに
それぞれモチベーションが違った状態で情報工学科を志望/進学すると思いますが、いざ真面目に勉強してみると案外面白いことが多かったりします(最初自分もネットワークを食わず嫌いしていた)。
食わず嫌いせずに楽しんでみると、案外自分に向いているかもってことが結構あるので、バイアスを持たずに楽しく学んでくだされば幸いです〜。