一般入試で合格しました。当時は、典型的な「やりたいことがない大学生」でした。堀元プログラミングやりてえなあぐらいのぼんやりした気持ちはありました。どこにでもいる、ザッカーバーグになりたい気持ちだけあるヤツです。今は慶應理工学部の受験制度がどうなってるのか分かりませんが、当時の受験制度における【学門5】という形態で入学しました。入学時点では学科は決まっておらず、2年生進級時にいくつかの学科から進学先を選べるという仕組みでした。あたりがメインの進学先でした。(成績さえよければ、これ以外でも全ての学科を選べます)で、僕は色々見て回った結果、情報工学科を選択しました。「人工知能」だの「VR・AR」だの「ロボット」だの、引きがある言葉が多くて一番面白そうだったからです。このように、テキトウに流されて生きてきましたで、情報工学科に入り、情報工学を学びました。学問としての情報工学は非常に面白く、結構マジメに学びました。成績も悪くはなかったです。大学院に推薦で入れる程度の成績はキープしておりました。研究室は「人工知能とロボット」の研究室にしました。何か面白そうだったからです。言っても、研究室配属後は研究に面白さを見いだせず、卒論はめっちゃテキトウに書きました。僕は卒論を3日間で書き上げて、大学をギリギリ卒業しました大学院修士課程への進学は推薦をもらっていましたが、研究に興味がなさすぎて途中で進学を辞退しました。以下、そんな一情報工学徒として書いていきます。情報工学とは何か?まず、”情報工学”とは何なのかということをまとめておきます。Wikipediaの解説文はこちら。情報工学とは「情報」を工学的に利用するための学問分野である[1]。ソフトウェア工学)を扱う総合的な工学分野といえるWikipedia「情報工学」より引用むだそくんって言われてもよく分からん...!という方が多いと思います。具体的に情報工学科でやったこと-0と1を書きまくる僕が具体的に情報工学でやったことをご紹介します。「計算機基礎」という科目がありました。この計算機基礎、内容の1つとして、ひたすら0と1の羅列を書いていくという脅威の内容があります。聞いたことがあると思いますが、コンピュータの中の全てのプログラムは最終的にはこの「0と1の羅列」になります。言っても、人間はこの「0と1の羅列」を普通は書けないし読めないので、代わりにプログラミング言語を使うワケです。いうヤツどうですか?これなら読めそうだし書けそうでしょ?一旦このプログラミング言語を書き、それを翻訳してくれるソフト(コンパイラ)に翻訳してもらうという流れが一般的です。出典:http://gihyo.jp/dev/serial/01/c-programming-introduction/0001便利でしょ?コンパイラという便利なソフトがあるから、0と1の羅列を書かなくていいワケですね。ところが、僕ら情報工学徒は、0と1の羅列を書くことを要求されます。人間が書いたり読んだりしなくていいものをあえて書いたり読んだりします。「計算機基礎」の講義では、手が痛くなるほど0と1を書きまくりました。イメージなぜそんなことをするのか、という話なのですが、仕組みを理解するためです。コンピュータの仕組みを理解するためには、内部で何が起こっているかを理解しなければなりません。結局のところ、情報工学科の勉強は「コンピュータはなぜ動くのか」ということにつきます。「コンピュータの動かし方」ではなく、「コンピュータはなぜ動くのか」です。プログラミング言語が書ければ十分プログラムは動くのに、情報工学科ではあえて0と1を書くところまでやります。動作原理を理解しなければならないからです。「動かし方」と「なぜ動くのか」は全く次元が違う話です。どちらを習得する必要があるのかはやりたい仕事によって異なります。タクシードライバーになりたい人は車の「動かし方」を理解していれば十分で、「なぜ動くのか」は理解している必要はないです。車の整備工になる人、あるいは、全く新しい車を設計する人は、「なぜ動くのか」を理解していなければならない。この2つは完全に分離できません。タクシードライバーだって車の最低限の整備知識は必要ですし、部品なんかについての知識もあるに越したことはないでしょう。学ぶべきは「動かし方」です。コンピュータの場合も、車の例と同じです。やりたいことが「ゲームを作る」なら、学ぶべきことは「動かし方」であるはずです。情報工学科で学ぶことは「なぜ動くのか」です。ここに大いなるギャップがあります。タクシードライバーは必ずしもエンジンの構造を熟知している必要はない、ということが分かっている方なら、ゲームを作るために情報工学科に行く必要はないということを認識して頂けると思います。情報工学は有益であり、面白い。万人には必要ない僕は情報工学を学ぶこと自体はとても好きでした。大学2年生で学科に分かれてからの大学生活はまあまあ楽しかったです。コンピュータの中身はどうなっているのか?アルゴリズムとは何か?UNIXの基本的な知識と操作......そんな専門の内容は知らないことばかりかつ刺激的で、学びがいがあります。学科に分かれる前、大学1年生の一般教養過程は退屈な物理と数学だらけでしたからね。あの時期は何度「大学やめようかな」と思ったか分からない。大学2年、そこそこに遊びながら、大学の勉強もマジメに楽しくやりました。1500ページくらいある「アルゴリズムとデータ構造」を読むのが楽しくて全部読んだ日のことをよく覚えています。僕はこの専門課程での学びは面白かったですし、情報工学を学んだことは後悔していません。シャノンの情報理論を、未だにあちこちで引用しています。学問として有益でもあります。新しい技術を生むためには、情報工学をしっかり学ぶことが必要です。「ゲームを作りたい」と言っている人が学ぶ必要があるかと言われたら大いに謎が残ります。それを学ぶために大学受験に多大なリソースを割く必要は全くないと思います。プログラマーになりたいならまずコードを書けこれはよく知られた大原則なのですが、プログラマーになりたいならプログラム(コード)を書かなければなりません。参考書を一冊読んで、読み終わったらいざ実践!という手順ではダメなのです。参考書の最初の数ページを読んで、実際にやってみて、色々苦戦しながら成功し、次の数ページに進む......という段階を踏まなければいけません。書いたコードの分だけ、潰したバグの分だけ、プログラマーは成長します。コードを書きましょう。「大学で学んでからゲームを作る」という発想が、そもそもピントがズレた発想なのです。大学で学ぶことは「使い方」ではなく「なぜ動くのか」です。学ぶべきことでないことを学ぶために、コードを書くのを後回しにしてはいけません。高校時代から頑張ったエンジニアなら、働き口に困ったりしない最後に一点だけ、批判に回答しておきますむだそくん将来のために学歴はあった方がいいのでは!?これ、学歴必要論と不要論というネットでは太古の昔から繰り広げられている議論なのですが、ことエンジニアに関しては要らないということで良いと思います。エンジニアは実力主義だからです。今エンジニアなんて全然足りてないですからね。ゲームが作りたくて、高校時代から自分で色々アプリを作ってました!なんていう、ガッツがあり、技術もあるヤツは引く手あまたです。実際僕の友人には大学一年生で中退して、色んな企業のCTOを渡り歩いている男もいます。彼は高卒ですが、毎日のようにあちこちからオファーが来ていて楽しそうです。ビザの問題が絡んでくると別かもしれませんね。そのノリで大学に行かなかったり途中で辞めたりすると、いつか海外でエンジニアとして就職したいとか思ったら間違いなく技術がどうこうの前にビザの問題でシリコンバレーでは就職できない確率が高いので一応情報工学の学位は大人しくとっておくと長い目で見るといいかもです。2018シリコンバレーに行きたい人は違うのかもしれません。まとめ以上、「ゲームプログラマーになりたいなら受験勉強する前に、1つでも多くのゲームを作りなよ」という内容でした。現代は非常に便利な時代でして、独学&独力でゲームアプリを作って売ることまでできるようになっています。そんな時代に大学受験してる場合じゃないですよ。壁にぶつかったら自分で学ぶ。いうスタンスが最強です。あなたがやるべきこととやるべきでないことをしっかり見分けて、正しい進路選択をできること、お祈りしております。情報工学科に行かずにプログラミングスクールに行くという選択があります。プログラミングスクールに行くのは情報工学科に行くよりは全然ありだと思います。その際の選び方のコツとしては短期間であるもの(長々と学費を払い続けるべきではない。基礎だけスクールで習得して、あとは自分の作りたいものを勝手に作ってスキルアップせよ)実践的であること(プログラミングスクールでもダラダラ学問をやられる場合がある。いのは避ける)終了後のスキルアップにつながるもの(一ヶ月終わって放り出されるのではなく、その後にスキルアップできる環境があることが望ましい)上記のコツをふまえて考えると、「ICTEアカデミー」はコンセプトがイケてるなと思いますのでリンクを貼っておきます。このくらい明確なコンセプトのところに通うのはいいですね。こちらは無料相談を承っていますので、まずは無料相談に行ってみてはいかがでしょうか。雰囲気を見て自分に合うかどうか確認するのが一番良いです。追記「情報工学の基礎は必要」についてこちらの意見を頂きました。これに関しては完全に同意しかねる。情報工学の基礎的な所を知らないといずれ技術を理解できず詰むことになる。2018情報工学の基礎的な所を知らないといずれ技術を理解できず詰むことになる。技術やりたいなら基礎大事。こちら、本当におっしゃる通りです。僕の元の言説に抜けていたポイントですね。ご指摘ありがとうございます。僕がこの部分についてどう考えているかと申し上げますと、「壁にぶつかったら学んだらええやん」ということです。タクシードライバーが、「お客様がより快適に眠れる運転をしよう」と心がけて運転した結果、「もっとも良いブレーキの踏み方は何か」→「ブレーキの特性を把握したい」→「ブレーキの原理・部品を調べよう」となり、車の構造について詳しくなっていく、そういう感じですね。プログラマも同じで、何かを作っている内に「学ぶ必要があるな」と感じたらその都度情報工学を学んでいけばいいのです。そのほうが学びの効率が圧倒的にいい。今はやりのブロックチェーンをしっかり理解しようと思ったら、「データ構造とは何か?」という議論は避けては通れないでしょう。その時に初めてデータ構造をしっかり学べばいいのです。「情報工学の基礎を学ぶ必要性はあるかもしれないけど、それはその都度やればいいじゃん」という話です。「魔のプログラミング演習」と言われる地獄の講義で得た学びについて。僕は卒論を3日間で書き上げて、大学をギリギリ卒業しましたロボットの首をテープで止めたりしながら卒論を3日で書き上げた話。薄っぺらい褒め言葉は気持ち悪い-悪口投稿サービスkenasuを作った理由と発見Webサービスを10日で作ってリリースした話。変なイベントをやったり変なWEBサイトを作ったりしながら生計を立てています。好きなものはトンカツとインターネット。(性格が)悪そうなヤツはだいたい友達。フォローしたり褒めたり仕事回したりしてください。詳しいプロフィールはこちら。お仕事依頼はお問い合わせからどうぞ。普通に書くと怒られることは、有料でこっそり書いてます!YouTubeも、適当にやってます。