見出し画像

アメリカの大学 UoPeople を卒業しました(後編)

*この記事は無料で全編を読めます。

前編では UoPeopleの概要を書きました。この記事には6年間の紆余曲折を徒然と書きます。

2017年 大学 1 年生 ( Fresh )

数十年越しの夢、念願の大学 1 年生になりました。授業はここに一覧があります。


Online Education Strategies UNIV 1001

まずは大学の学習システムを学ぶコースが始まります。課題を出す練習だったり、自己紹介したり、盗用ダメだよって言われたりします。APA Citation(引用)の仕方、大切さを死ぬほど言われます。提出する課題は日記のような感じ。なぜ盗用はダメなのか説明しなさいとか、これからどのようなやり方で勉強をしていくか書きなさい、とか。教科書は短いので楽だったような気がする。英文書くのに必死だった思い出。

Principles of Business Management
BUS 1101


内容はあまり覚えてないんですが、教科書の量がそこそこあるので朝までずっと読んでました。手抜き加減がわからないので、ここから全力投球をし続ける日が始まります。最初にやったミスは、その週に読むページ数と9週間で読むページ数を勘違いしたことです。絶望しながら先のページまで読んで挫折してました。1コースからオーバースピード。

POLS 1503 Globalization

これは面白かった!これぞ海外の大学!という。日本の大学では絶対に学べないことが早速きました。日本に住んでいる限り一生学ぶことがない授業でした。これは僕の価値観を変えました。最高だった。いきなりディスカッションで捕鯨についての課題が出たので、これはもう、日本人として絶対負けてはなりません。死ぬ気で主張を書きました。これだよこれ。海外の人、文化が全く違う人たちと意見をぶつけ合う。これだよこれ。これがしたくてこの大学に入ったんだ。ここは絶対ちゃんとした英語で書きたいので、grammarlyの添削サービスを使ってみました。$20くらいで赤ペンしてもらいましたが、簡単な訂正しかしてもらえず。もっとブロックごと入れ替えた方がいいよくらいの指摘を期待してたので、以後利用しませんでした。肝心のディスカッションは肯定の意見もたくさんもらいましたが、「長すぎ」という言葉をやんわり包んだ批判ももらい。それも学びでした。肯定の言葉には欧米のやり方に辟易していそうな空気が漂い、世界の広さを感じました。日本の大学では味わえない学習。これだよ、これ。

この頃は、とにかく教科書を読むのも英文を書くのも遅いので、朝4, 5時まで毎日徹夜してました。これは辛かった。でも楽しかった。

BUS 1102 Basic Accounting

簿記2級を持っていたので、割と楽だったと思います。そもそも仕訳を忘れてたり、英語がわからなかったりしましたがまあ、基礎があるので楽でした。転職のためにと取った資格が初めて役立ったのが大学でした。人生は面白い。(細かいことを言うと、仕事で新人の葛西くんが「それは仕掛かり中です」と言ってその場の全員がハテナになった時、「今取り掛かっているという意味ですね」と助け舟を出せたことがあります。ITにとっての簿記とは。)

BUS 1103 Microeconomics
BUS 1104 Macroeconomics

この2つは死ぬほど面白かったです。小さい観点、大きい観点の両方から始まる4年間の授業。経済の基礎だと思いますが学びの日々で、感動しまくっていました。大学最高!状態でした。

思い返すと、この頃はこういう生活をしていました。

4:00 起床、勉強
7:00 youtubeや音声読み上げで勉強しながら家事
8:00 出勤。車内で、駐車場で、喫煙所で、廊下を歩きながら、トイレで、昼休み、ずっと教科書を聞き/読みながら課題のストーリーを脳内で組み立てる。
19:30 youtubeや音声読み上げで勉強しながら家事
21:00 課題を書く
23:00 就寝

朝の教科書は30分間無双モードになることを学びます。ガンガン頭に入ってきます。生活のリズムができてきて、いい感じでした。夢の中でも、誇張抜きで 24h 勉強してました。
しかし人間、そんな生活は続かないのです。

BUS2201 Principles of Marketing

あまり覚えていない。。

AHIST 1401 Art History

一般教養で絵画の歴史を学びました。とても面白かったです。キリスト教が絵画の発展を数百年に渡って遅延させていたことを学び、ガリレオの顔が浮かびました。しかしジャンプをする前にはしゃがむもの。歴史はそういうものなんだと納得。先人に感謝。直島で夕暮れにモネの絵を見た思い出。人生いろんなとこで繋がるもんだ。

関係ないけどこの頃?のツイート

大学を通してインド英語にだいぶ慣れました。英語を使える世界中の人がインド英語で学習していると思います。どの分野も多いですが数学、ITはずば抜けていると思います。大手Tech企業にインドの方が多いのは、やはり学習のエコシステムが素晴らしいからだと思います。動画の量が全て。翻って日本語のコンテンツは質はいいですが量が圧倒的に足りていないです。しばらくは自分のことで精一杯なので老後は日本語のコンテンツを増やすお手伝いをしたい。

日本語の動画だけに視野を狭めないことが大事。


2018年 大学 2 年生

College Algebra
MATH 1201

数十年ぶりの数学の授業はめちゃくちゃ怖かったですが、思ったよりもわかって助かったという感じ。高校で習う微分積分の基礎的なやつだったと思います。おっさんになってからの数学はめちゃくちゃ辛いですが、高校時代何も学んでいなかったので、得るものはとても大きかったです。人生はやり直せる。

しかしここで初めての教授ガチャを外します。そもそも成績悪いのに評価も悪い。結果はB+。CSの学士を持って転職したい私には痛い結果だった気がします。でもまぁ、実力がそうなんだからしょうがない。


2018年 大学 1 年生 からやり直し

さて、1 年生のコースを全て終え 2 年生のコースを一つとったところで、薄給の生活が苦しすぎて本当に明日の米が買えなくなりました。転職・引越しをすることにしました。
転職活動は死ぬほど大変で、コースをドロップ→休学の中退ゴールデンコースになりました。

ここで緊張の糸が切れ、24h ずっと勉強する日々は終わりました。無理は続かない、知ってはいたけどしばらく無気力が続いて、本当にこうなるのかとさらに気分は落ちていきました。鬱を認識していました。それでも転職のために動けたのは本当に明日の米が買えないからでした。ありがとう貧乏。

ただ、ちょっと英語にも自信がついてきたので、Googleに英語で応募して何度かインドの方とリモート面接してもらえたりしました。面白かった。今思うと、大学生になったこと、英語で自分を表現できるようになったこと、これはメンタルにとても良かったことのように思います。私生活が辛い辛い日々でしたが、それがあったから乗り越えられた気がします。採用された会社の面接では、英語が話せるんだって?なんか話してみて?と言われたので適当に趣味の話をしました。何の準備もしてなかったですが、独り言を英語で言う日々を過ごしていたので何とかなったみたいです。

しかし新しい会社には全く馴染めず、終電続きで、全く復学する気になれませんでした。結局、4月から11月まで7ヶ月も休みました。それでも転職から3ヶ月後にコースを1つだけ履修しました。今思うと、ここはターニングポイントでした。あのまま退学、あったと思います。本当によく戻った、自分。

コース変更: Computer Science の道へ

Business Administrationの授業は楽しくてしょうがなかったのですが、一つ問題がありました。転職してレベルの高い IT 会社に行ったら、案の定というか、自分の知識のなさが浮き彫りになりました。開発畑からインフラにロールが変わったことも大きいのですが、同僚からの360度評価は絶望的で、何一つ武器になるものがありません。何よりも辛かったのが、彼らの包括的な基礎の力でした。基礎があるから応用もばんばん理解していきます。私の得意分野の説明をすると、あー、あれがこうだからこうなのね、と、いきなり原理を理解して話し始めます。これまで私は IT 業界で生き残るために、急いで急いで応用ばかりをやってきました。大学や専門学校でやってたような人たちに基礎は勝てない、上っ面だけでいいからなんとか会話できる水準に、それが SIer での私の生存戦略でした。それがもうからっきしダメ。というわけで、彼らが通った道を自分も通ることにしました。Computer Science に学部を変えます。人生をやり直そう。それが遅いタイミングなんてない。後悔だらけの人生ではないですが、回り道だらけの人生です。でもそういう性格で生まれてしまったんです。この年齢ならそれを受け入れていいでしょう。

学部を変える場合、まず新しいコースの授業を一つ履修すると、変更の申請を出すことができます。これまで取った単位は消えはしませんが、当然 CS に必要な単位はほとんど取ってない状態になるので、一般教養以外の credit はあまり意味がないものになります。が、学びが多かったし楽しかったからなんの後悔もないです。

Programming Fundamentals
CS 1101

プログラミングの基礎は python からでした。pythonは少し書いたことがある程度でしたが、ありがたいことに初めての Grade A をもらい、GPA 4.00 がつきました。よっしゃー、ここから頑張るぞという感じ。教科書は普段読んでる document と大体同じでなんとなくわかるし、そもそも最初から英単語で覚えてるものが多いので(変数は variables とかね) 専門分野最高という気持ちに。読める!読めるぞ!! しかし4.0はこのあと数回しか取れませんでしたさ。働きながらならそんなもんさと思ってます。

再帰関数を仕事でも使えるようになったのはこの授業のおかげだった気がします。


Programming 1
CS 1102

初めてJavaに触れました。GUI作るところが、めちゃくちゃ難しくてめげました。使う予定もないし・・という気持ちでいっぱいでした。この授業だったか忘れましたが、同じ関数名でも引数が違うと違う関数になるという引っ掛けに相当苦しみました。通りで動かないわけだわ・・・。

Javaの基礎を学んでた時の記事

クラスメイトは高校出たばかりの人もいるわけで、初めてプログラミングする人が多いことに気づいたツイート


Introduction to Statistics
MATH 1280

数学、確率の授業だったと思います。高校レベルかな。思い出すの大変でめっちゃむずかった。

日本語の本を買って勉強するも数学力のなさを思い知り、ここでGAFAMみたいな会社に行くのは無理だと思い知りました。

Computer Systems
CS 1104

この授業は革命でした。CSやって良かった!!と心から思いました。なんと、ロジックゲートから始まるんですよ。シミュレータを使ってAND gate, OR gateを作ってみます。XORを作るのが難しいのなんのって。4bit, 8bit?? 気が遠くなります。コンピュータがなぜ動くのか、まさにその世界です。太古のコンピュータのメモリの勉強があったり、アセンブリもあったと思います。もう、まさに「エンジニア」という世界を学びます。これは面白かった。そして何とここで学んだことが、4年後に AI の授業でそのまま役に立つとはこの時は思いもよらなかったのでした。もちろん OS の授業にもつながりますし、全てに繋がる基礎の基礎。大学のカリキュラムがものすごくよくできていると思うのは、この授業が1年生のここにあったからに他なりません。もう一回受けたい。

それにしてもアセンブラの実行順を答えるのは難しかった。わかりやすくアニメーションにしてくれたクラスメイトの回答が絶賛されていて、教授が今後の授業で使っていいか聞いてた。私はそれを見ても全然理解できなかった。

Databases 1, 2
CS 2203
CS 3306

テーブルやカラムなどの基礎的な内容でした。B-treeの話とか、込み入ったことはあまり出てこなかったような・・流して取れたような感じであまり覚えてません。

Calculus
MATH 1211

高校レベルの微分積分でした。死にました。


Communications and Networking
CS 2204

OSI/TCPの基礎でした。IPAの試験やってれば余裕です。英語の動画でアセプトネデブを逆から覚える語呂合わせを見た思い出。この頃にこの記事を書いてるので、こんな基礎も出たのかもしれない。

めちゃくちゃ難しかったですが、Nagle algorythem / TCP_NODELAY どちらの単語も実務で何度も目にすることになりました。CS基礎、まじで尊い。

TCPの基礎を学び直すのもとても良かったです。TCPのstate transitionを深く理解したことがきっかけで、実務の設計でも state transition を書くようになりました。基礎しかやってないのにどんどん応用できる。授業が尊い。


Discrete Mathematics
MATH 1302

数学の授業です。三角関数とかだったと思う。当然苦手ですが色々学べて良かった。こういうこともあった。


Web Programming 1, 2
CS 2205, 3305

web開発のめちゃめちゃ基礎です。htmlレベル。簡単なphp。xmlも書かされたりしました。ここら辺は死ぬほど手を抜いてやっていけたので睡眠バッチリでした。

CS3305 はどちらかというとアプリ構成の話があったみたいで、見返すとCDNやload balancer, apacheなどmiddlewareの話もしていました。C10k problemの課題があったのがこの授業だったかもしれない。ちょうどこの頃、nginxとapacheの違いをドヤ顔で説明する(トンデモな)書き込みを見かけてニヤける事案がありました。なるほど大学で基礎を学んでいれば誰もが知っている知識だったわけで、今まで上っ面の知識で知ったかぶりをしていた自分が周りからどう思われていたのかを思い知ることができました。ここら辺から、技術話に対する目線がアカデミックな方向に変わったんだと思います。python使えればok、のレベルがpythonはなぜ動くか理解している、のレベルに変わったような感じでしょうか。

Operating Systems 1 , 2
CS 2301, CS 3307

OSの基礎で、これは面白かったです。この授業を皮切りとして、例えばCPU schedulerやvirtual memoryなどOSに欠かせない基礎の基礎を学んでいきます。これはインフラにいる私としては知ってて当たり前の知識だった、かつ、ろくに勉強したことない分野だったので最も楽しみにしていましたし、実際役に立っています。OSの基礎はアプリ開発する時にも役立つ。まじ。 
CS3307ではparallel computing/threading や syscall などより深い基礎へ。逃げ続けてきた世界なので本当に勉強になりました。ただ大変だったのは間違いないです。

この頃に書いた記事。教科書に書いてあることを試してみて理解を深めました。Linux前提ではない文脈もあるし、kernelのバージョンはどんどん上がるしで再現が難しいものが多かったですが、周りが低レイヤーのプロばかり && 低レイヤー嫌いな自分を克服していくのはとても充足した時間でした。

後々ですが、この知識を持っていくつかの本に名前を載せていただくチャンスももらえました。本当に稚拙なところしか指摘できませんでしたが、機会を与えていただいた両著者に感謝します。


Software Engineering 1
CS 2401

システムの設計手法やマネジメントを学ぶような授業でした。今となってはあまり興味がなかったので結構つまらなかった・・けど、工数の見積もり方法なんかは興味深かったので早速会社で使ってみた覚えがあります。コーディングとか技術よりも文系っぽい話なので、教科書がやたら長くてえぐかったです。。

Data Structures (Proctored course)
CS 3303

2年生まではとりあえずコード書いてみよ、みたいな内容もありますが、Computer scienceは基礎の基礎なのでアルゴリズムやデータ構造の勉強が本質になります。3年生から本格的に始まります。DFS, BFSなんかも学びます。sortもやったのかな。アリのフェロモンを使ったアルゴリズムの話も出たような気がする。面白かった。この知識は実務でずっと生きてます。本当に役に立つ。
勝手な想像ですが、こういった基礎は今すぐプログラミングができるようにする専門学校などではあまり教えないと思います。しかしとても重要で、本当に習って良かったものです。

circular linked list なんかはめちゃくちゃ感動しました。

Analysis of Algorithms
CS 3304

Data Structuresで習ったアルゴリズムをより深く理解するため、計算量を学びます。O(1) とか O(n^2)みたいなやつです。知らない記号がつらかった。

前の授業からちゃんと繋がってるので何を学んでいるのかわかりやすい。カリキュラム素晴らしい。ハノイの塔の話もありましたね。この計算量の理解がその後の授業にまた繋がっていきます。

閑話休題

この頃、学期間の休みを利用してC言語の勉強を始めます。OSの授業で全然わからなかったのと、opensslの実装を確認しようとしたらコードが全く読めなかったので、、途中で放り投げたままですがやって良かったです。ちなみにopensslはその後Rustを導入し始め、もっとわからなくなりました。

Information Retrieval
CS 3308

TF-IDFによる頻度解析など、高速なデータ検索/分析を可能にする基礎を学びます。ちょうど elasticsearch の本を読んでた頃だったので、めちゃくちゃ面白かったです。no sql databaseがどうやってindexを作っているのかなど、めちゃくちゃ勉強になりました。これもまた、AIの授業につながる内容だった気がします。コンピュータがどうやって文字列を解析するのかがわかるとelasticsearchのanalyzer/tokenizerなどが理解できるようになりました。これが、「analyzer切り替えられます」と「なぜ動くのかわかります」の違いなんだなと。僕は その analyzerを使ったことはないけど、中でどういうことをしているかがわかるので、軽い説明やoptionの候補を見ただけで動作が予測できるのです。それらのプログラムを作った人も英語のアカデミックを経験した人たちなので、大学で習った言葉と、プログラムの説明に使われる用語が一緒なのです。これは英語で学習する大きなメリットだと思いました。

Comparative Programming Languages
CS 4402

これはさすが大学という感じで、プログラミング言語の歴史を学びます。とても古い言語を使ってみたり、なぜ現代の言語が今のような形になったのかなどを学びます。結果的に、本質は何も変わっていなくて、太古の言語から何も変わってないじゃん、みたいな気持ちにさせてくれる面白さがありました。

これは私が書いた課題を日本語に訳したものです。これくらいの内容を書くとだいたい満点すぎると思っていいです。

関数型言語の意味もここで初めて知りました。以前エムスリーの方に今年は関数型言語(確かScalaだったような)を学ぶつもり、と言われた私は、何でそんなものをと返答してしまいました。今では全身から火が出るほど恥ずかしいです。ごめんなさい。

教科書の表が多すぎて理解できなかったので色々工夫しようと頑張ってました


Software Engineering 2
CS 4403

プロジェクトマネジメントの授業。それより業界用語を英語で学ぶ時間だったような。


Big Data
CS 3440

この授業だったとおもいますが hadoop ecosystem を習いました。会社でよく目にするものの使う機会がなく、気になっていたので様々なソフトを試して楽しかったです。

この頃のmemo


Mobile Applications
CS 4405

これは地獄でした。ものすごい量の課題が出され、Android/iOS 両方のアプリをひたすら毎週作らされます。どっちかじゃないですよ。両方です。レイアウト組んでくださいレベルじゃないです。OS API叩きまくるやつです。いきなりとんでもないレベルのものを求められます。地獄です。Xcodeが重すぎてみんな挫折してきます。Swiftの知見はまだまだネットには少ないです。Swift Playgroundは嫌になる出来です。マジで地獄です。地獄でしかありませんでした。久々に徹夜しました。

Introduction to Environmental Sciences
ENVS 1301

一般教養も取らないと卒業できません。これは環境という名の化学の授業で、一度dropしたことがあります。教科書が意味不明で地獄でしかありませんでした。原子も分子も何もわからないんだもの。化合物はCompound、protainは飲み物ではなくタンパク質。

教科書を読むのは諦めて、日本語で勉強してました。無理だった。


Computer Graphics
CS 4406

Blendarでも使ってほのぼの3DCGだろうなー、との予想を大きく覆し、JSでWebGLをする授業でした。WebGL特有の記述がなかなかきつかったですが楽しかったです。ライブラリのバージョン違いがなかなかきつくて、そろそろ課題のコードを新しくしてくれーーーと思ってました。場合によっては勝手にupgradeして使ってました。

CSの授業がメインで気が抜けすぎた結果、ここら辺で英語力が地に落ちて取り戻せなくなります


Data Mining and Machine Learning
CS 4407
Artificial Intelligence (Proctored course)
CS 4408

待ちに待ってない、AIの授業でした。震えていましたが、基礎の基礎から教えてくれるので結果的にめちゃくちゃ楽しかっただけでなく、4年間の学びの集大成としてこれ以上ない内容でした。1年生で習ったロジックゲートからデータ構造、アルゴリズム、計算量、全ての知識が走馬灯のように駆け巡り狂ったようにニューラルネットワークのシミュレータの設定を変えてはピカピカするその数字を眺めていました。すごい、こうなってたのか。ニューラルネットワーク、マジでこんなに単純な作りだったのか。そして3次元を超えた n 次元の解析とはこういうことだったのか。何もかもが学びでした。ものすごい満足感と共に、私の5年間の大学生活は終わりました。と思ったら、一般教養が足りてませんでした。

この頃はもうTOEICの点数も伸びず「英語学ぶ!」という目標を諦めてるので、日本語でもよく調べてました。

sigmoid function今となっては懐かしい。step functionと違って微分できることが利点なので、やはり3年生で微分を習っていることが生きてくる。カリキュラム尊い。微分を無視してAIの基礎は学べなかった。

Advanced Networking and Data Security

最近なのにごめん何も覚えていない。


Introduction to Philosophy
PHIL 1402

最後に一般教養を2つ取って卒業の単位をクリアしました。Philosophyの授業は2年前に一度dropしたことがあります。地獄です。同じ教科書で2度挫折してました。

2年前のツイート

2年後のツイート

しかし ChatGPT の登場で学習はだいぶ助けられました。AとBの違いは?が秒でわかるのは神。今から大学生を始める人は全く違う世界を生きることになる。

Greek and Roman Civilization
HIST 1421

古代ギリシャの歴史、面白かったです。特にアテネで民主主義が始まった件がすごく勉強になった。権力は腐敗し続ける理由も分かった。これが一般教養の面白さ。CS以外も学ぶために大学にいるんです。本当にここで学んで良かった。


卒業しました

単位が貯まると卒業を申請でき、卒業証書がアメリカから送られてきます。フォントが読めないと噂のやつです。

ついに大卒になりました!! 嬉しい!!!

終わりに

以上が私の大学卒業してみた記事です。総評は本当に楽しかった、ためになった、それ以外ありません。応援してくれた家族や会社には感謝しかありません。もし大学に憧れている方がいたら、おすすめです。ぜひ新しいカレッジライフを送ってみましょう。いつからでも、遅くはありません!

今後はこのまま UoPeopleで Master's degree(修士)を取る予定です。

MSIT(Master of Science in Information Technology)

何年かかるかわかりませんが、ここでやめたら一生知識のupdateをしなそうなのでやるだけやってみます。応援してください。

おわり

この後の有料部分は空っぽで何も書かれていません。買っても追加の文章はありません。参考になったと投げ銭してくださる方、ぜひお願いします。ここまで読んでいただきありがとうございました!

ここから先は

26字

¥ 500

この記事が気に入ったらチップで応援してみませんか?