ドイツ留学への道:② プログラミングって?
1. プログラミングって何をすればいいのか
こんにちは。しゃるくです。
今回は、留学を決めてプログラミングの勉強が一番やらないといけないことだと気づいて勉強をしてきている話です。
21年12月に自衛隊をやめてすぐにしたことがプログラミングスクールに通ったことだった。オンラインにしたんだけどね。
そして、大学院受験を失敗して42東京(後で説明します。)受けて、受かって勉強をするという話です。
2. とりあえずやってみよう
2-1 自衛隊時代にやっていたこと
実は、土日や休みのには自衛隊の時にもプログラミングを勉強していたのだ。データ分析するのにはPythonが必要ということで勉強を始めて、独学で本を漁りながらやるわけ。
うまく行くはずもない。世の中にあるサイトや本に書いてあるのって多分、今から思うとすごく抽象的というか一部の部分に特化した内容なんだと思う。
Udemyで講座をとって見よう見まねでもやってみた。でもif文for文とかはわかるよ。その先は全くわからないよね。何クラスって。こんなの一人じゃ無理よ。何か大きいものが足りていない気がする。
ということでやめた後に一番最初にやったことがオンラインスクールで勉強したこと。
2-2 オンラインスクールで学んだこと
1月〜半年ほど、オンラインスクールで学んだ。
Python基本
AI概論
データ分析
この3種類をそれぞれ2か月ずつ学んだ。当時はカリキュラムが解けていたので、めちゃくちゃできるようになっていると思い込んでいた。
しかし、いわゆるコピペ職人の領域を出ないなぁというレベルにとどまっていた。というのも、奥底で何が起きているのかわからず、こうしたらできるよと言われたことをそのまま鵜呑みしてやっていたのが、自分の中でうまく処理できなかったから。
もう一つは終わった後にいろんな知識ついたけど、全然副業どころか、本業にしてもできてないよなぁと思った。
そして、9月にドイツの大学院の受験に落ちて、いよいよどうしようとなった時に42Tokyoというコミュニティを見つけたのだ。
2-3 42Tokyo受験
42Tokyoでは試験に受かりさえすれば、無料でカリキュラムを勧められるし同じような志をもった友達もできる。そして、先生がいなくて教え合うというスタイルも面白いと感じたのだった。
そこでオンラインのゲームテストを受験してすぐに合格したのがわかった。
42の試験はまず1次試験がゲームテストでいろんな問題が出てくるのでそれを解いていくようなものだった。そして2次試験は約3−4週間にわたって課題をどこまでクリアできるを問われる試験がある。(課題がどこまでできたか合否に関係があるとは言い切れない=合否の基準が明らかになっていないからわからないのだ)
10月から2次試験のPiscineを受験した。
受験してすぐにわかったが、知識を問われる問題ではないのだ。これは新しい知識を勉強して課題を解いていくものだ。友達を作って、どれだけ楽しくプログラミングを勉強できるのかを試されているような感覚だった。
実際、c言語を習ったこともなかったので、
まずはわかる人を探して→その人に聞いて→理解→課題を解く→できない→きく→解くを延々にやる。
かなり面白かったし、この時期はバイトを1か月休みにして勉強を頑張った。
朝から晩までコードを書くことに専念し、おいていかれないように必死に本やネットを探しまくった。
11月中盤くらいにPiscineでできた友達とPiscine慰安会(飲み会)を計画した。その前日くらいに結果はわかり4人とも受かって、慰安会は合格を祝う会へと変わったのだ。
1月から我々は学生として死ぬほど勉強ができるんだ。その権利を手に入れたんだ。それが嬉しかった。
2-4 42Tokyo本科学生
1月10日から始める本科学生を楽しみに23年を迎え、ついに入学した。
最初のBlackHoleの期日が3月末だった。
BlackHoleとは学習できる残日数のことである
→課題を解くとポイントがもらえ、BlackHoleが伸びて延命される
→学生は皆、定期的に課題を解いて延命しながら勉強を進めるのである。
→BlackHole期日までに基礎課程なるものを修了しなければならないのだ。
→BlackHole期日には例外なくシステムで弾かれる。だから、ほんとあと少しだけ待ってとかはない。終わりは終わりなのだ。
そんなBlack Holeに怯えていた。上の写真が学習サークルなのだが、緑色になっているのが最初の課題である。課題をクリアすると一つ外側のサークルに行くことができて、そのサークル内の課題に挑戦することができる。
最初の課題は、関数をひたすらにつくっていくものだった。めちゃくちゃ量が多く、提出まで2ヶ月しかないので、ここで挫折する人が多い。
私がどれくらい怯えていたかというと、毎日、仕事が18時に終わったら、すぐ校舎に向かった。電車の中でもPCを開いてコードのテストをしたり、解いたりしていた。最初の課題はC言語のスタンダードライブラリに入っているような関数群の再実装だった。理解のしていない人間にとっては文字列とは何かから理解する必要があった。
そして、順番に課題をクリアしていきながら、BlackHoleを大幅に伸ばし、余裕が出てきたら、休む日や遊びも入れつつ勉強した。
今はC言語を卒業してなんとC++の課題を解いている。
ここまで課題を解いてくるとやっとわかったことがある。私が知りたかったのは、CS(コンピューターサイエンス)の知識だったのだ。パソコンとはなんぞやの答えを一つ一つ回収する日々に満足している。
3. 終わりに
以上で私のプログラミングの苦悩の日々と楽しさに気づいた42の話。
今後は留学が8月から始まるので、それまでにどこまで進められるかわからないが、やれることを進め、データ分析の手法や技術の復習・習得をして楽しい留学にしたいと思う。
今の一番の悩みはどうやったら実務と同じことができるのかだ。データ分析関連でもAI関連の業務でもいいけど、形に残るようなものを残しながら技術を磨いていきた。
みなさん何かアドバイスあったら教えてください。Kaggleとかやってみようかなとは思っているけど、他にも副業するならここまでできるといいよーとかいろんなアドバイスお待ちしてます。
この記事が気に入ったらサポートをしてみませんか?