github octcat icon
twitter bird icon
rss icon

University of the Peopleに通い出して1年

2022-04-19

university

Photo Credit: Darya Tryfanava

University of the Peopleというアメリカのオンライン大学コンピューターサイエンスに申し込みをしてからちょうど1年ほど経ったので、振り返りを兼ねてまとめておければと思います。

以前はUOPと略していたのですが、チューターに「略称はUOPじゃなくて、UoPeopleだからもう2度と間違えるんじゃねえぞ!」って結構強めに怒られたので、皆さんも略す際には気をつけてください。後で調べたらUniversity of the Pacificというカリフォルニアの名門私立校がすでに使っている略称だったようです。日本でいうところの「俺東大!」みたいな状態かと思うと、大恥を書くところだったので早めに指摘してもらうことができて本当によかったです。

入学経緯

昨年前半に、居候させてもらっていた友人宅で友人がオンラインミーティングをしていた際に、相手がUoPeopleの話題を出していて知ったのがきっかけでした。

  • 入学金が60ドルぐらいしかかからない。
  • アメリカの大学でコンピュータサイエンスの学位を取ることができる
  • フルリモート、テキストコミュニケーションだけで完結するようになっているので仕事をしながらでも受講できる

といった要素が響き、ちょうどプログラミングの勉強をはじめて半年ほどだったのでこれから基礎を鍛えていくにはいいぞ。入学してしまえばあとに引けなくなるし。と思い当日即入学手続きをしました。

もともと、大学生の時にコンピューターサイエンスの勉強をしなかったことは後悔しており、海外に挑戦したいと考えた時にビザの面でコンピュータサイエンスの学位があるのとないのとだと移住しやすさが大きく異なると聞いていたので、大学に通い直したいなとは思っていたものの踏み切れていなかったので、このタイミングでたまたま知ることができたのは奇跡でした。

学んだこと

  • Online Education Strategies(エッセーの書き方など)
  • English Composition(英語)
  • Programming Fundamentals(Python入門)
  • Programming 1(Java入門)
  • Programming 2(Java)
  • Web Programming 1(HTML/JS)
  • Databases 1
  • Introduction to Statistics

English×2

とても面倒でした。英語の物語を読んでエッセーを書く課題をこなしていくスタイルのクラスです。

非英語ネイティブでも、英語力を証明できるものがある場合には免除が可能なので、書類が用意できる場合には手続きが面倒でも免除した方がいいと思います。

Programming×3

Programmingのクラスでは、これまでPythonとJavaを扱ってきましたが、言語そのものの仕様を学ぶというよりは、アルゴリズムやOOPといったより汎用的な知識を身につけることにフォーカスした内容になっています。Javaのクラスでは大量にSwingやJavaFXで謎UIを作る課題が出されてうんざりしましたが、その辺りは割り切って進めました。一方、Socketで簡易webサーバーを作るプログラムを書いたりした課題は楽しかったです。

あと、いつもお世話になっているstack overflowが再帰でスタックを使い尽くした際のStackOverflowからきているのか。と知ることもできました。

Web Programming & Database

Web ProgrammingとDatabaseのコースは、UoPeopleではなくSophiaというオンライン学習システムで取ったコースの単位をUoPeopleに移管したので、UoPeopleの授業は受けていません。

Sophiaは1ヶ月単位で課金してコースが取り放題になるシステムなので、余裕がある時に一気に進めて単位取得に持っていくことができるのがよかったです。UoPeopleでは良くも悪くも10週間同じペースで学習を進める必要があるので余裕がある時に一気に進めて辛い時は減らすということができないので、少なめに授業はとって余裕があったらSophiaで追加のコースを受講する。というスタイルをとってみています。

Web Programmingのコースはフロントエンドを触ったことが少しでもある人であれば秒速で完了できる難易度でしたが、Databaseのコースはそもそもボリュームが結構あり、やりごたえがあるコースでした。

Statistics

Introduction to Statisticsは、今まで統計学をまともに学んだことがない自分にとっては少し難しく、英語のテキストだけだと心許なかったのですが、統計学入門という本で分散や標準偏差の概念を掴んでからはすんなり進めていくことができました。Programmingのコースと異なりほぼ何の知識も持っていない状態からだとちょっと辛いということがわかりました。

これから学ぶ予定のこと

  • Operating System
  • Computer System(CPU/メモリ/アセンブリなど)
  • Database
  • Software Engineering(開発方法論、ソフトウェアデザインなど)
  • Data Mining and Machine Learning
  • Comparative Programming Languages
  • Discrete Mathematics
  • Algebra

やっとCSらしくなってきます。これまでとは比較にならないハードさになりそうです。。。

ただ、どのコースも普段自分で勉強しようとしてもなかなか手をつける機会がないものが多いので、これでこそ大学に入った醍醐味だなと思い楽しみつつ、頑張ってみようと思っています。

1年ほど積読になっている「CPUの創り方」「オペレーティングシステム」あたりをOSやComputer Systemを取る前に読んで予習をしておこうかと思っています。

単位について

現在72単位取得している。卒業には120単位必要なので、残り48単位。モデルコースどおり、1ターム2コース(各3単位)ずつ履修すると、8タームで卒業までいけることになるので、2年弱で卒業できる計算になります。実際には、仕事が忙しい時期などや難しいコースを履修する場合には2コース履修が厳しくなることもあるはずなので、卒業まであと2年ちょっとぐらいだろうか?29歳になる前に卒業することを目指していきたいです。

なぜ1年でこれほどの単位を取得することができたのかというと、以前通っていた大学の単位を移管できるだけ移管したためです。

単位移行の方法は犬野さんみなみさん平八郎さんなどがまとめてくださっているので参考になります。ただ、方法が地味に変わっていたりもするので、最終的にはプログラムアドバイザーに方法を確認して単位移管を行いました。UoPeopleによると学部ではマックスで90単位まで単位移管できる&単位移管した際にGPAは反映されないので、教養科目やすでに履修済みの科目を飛ばしたい場合には移管できる分全部を移管してしまうといいかと思います。

卒業後の予定

仕事は続けつつ、Georgia Tech のOMSCS(オンラインコンピュータサイエンス大学院)に通いたいと思っています。せっかく勉強し出したのでもっと深く学びたいし、3年程度で卒業することが目安みたいなのでUoPeople卒業後即入学するとタイミング的にもいいかなと考えています。 お値段も卒業まで70万ほどということで、お財布にも優しいです。

Georgia TechはGPA3.0が必須ですが、他の大学院ではGPA3.5必要なところもあったりするので、今後の進路のためにGPA3.5取得を目指してやっていきたいと思います。1回目の大学生は完全に失敗してGPAが壊滅しているので頑張りたい。。。。

学部からやり直しても、働きながらトータル7年でマスターを取ることができるのは今後数十年働くことを考えるといい投資になるのではないかと考えています。

また根本から学び直したいトピックに出会った際にも、再度大学に通う選択肢を気軽に取れるようになるのもいいポイントかと思います。

最後に

今期は職場でチームが異動になりキャッチアップに時間が必要そうだったので授業は取りませんでしたが、来期からまた頑張ろうと思います!