Learning Journal for a BS CS

Soon to be a Degree Seeking Student

UoPeople で3学期目が終わった振り返り

みなさん、あけましておめでとうございます。もとまちです。 本年もよろしくお願いします。

昨年は子供の保育園通いが始まったり、引っ越したり、転職したり、色々変化があった一年でした。 今年は、そうした変化に適応して生活の基礎を固めつつ、コツコツ積み上げていく年にしたいと思います。

さて掲題の通り、UoPeople での3学期目(AY2022-T2)を終えたので、その振り返りを書いておこうと思います。

まだ本科生じゃなかった

一つ前の記事で「本科生になりました」と書きましたが、実は嘘でした😇

記事執筆時点では要件を満たしていた認識だったのですが、入学のための書類取り交わしが実際は期限に間に合っておらず、結果この学期は Foundation Student 扱いのままとなりました。Foundation Student のままだと、取得単位は卒業単位に算入してもらえるものの、成績は GPA に含まれないという状態になります。この辺りの確認は Program Advisor とやりとりしていて、その流れでしょげた気持ちを表明するメールを送ったところ、落ち込まないで!と励まされました。あ、そこは励ましてくれるんだというのが率直な感想でした。

CS1102: Programming 1

今期は試しに2科目履修してみたのですが、そのうちの一つ目がこちら。

my.uopeople.edu

Java で Object-Oriented Programming と Graphical User Interface Programming を学ぶことが主眼に置かれています。

教科書はこちら:http://math.hws.edu/javanotes/

英語でプログラミングを学ぶ意味

過去に職場で Android アプリ開発をかじった経験があるため、学ぶことはさほど多くないかなと思っていたのですが、それでもやはり英語でプログラミング・CSを学ぶ価値は大きいと感じさせられた科目でした。

日本語でOOPについて学ぶと、のっけから”オブジェクト指向”とカタカナ語になり、言葉の定義が曖昧になって迷子になりがちな印象があるのですが、英語で学ぶことで語彙の用法がスーッと澄んで見通しが良くなる感覚がありました。例えば、 A sub-class extends a super class. The sub-class inherits some variables and methods from the super class. など。これらの例を日本語で簡潔に言い表すと、拡張や継承となりますが、そうした言葉を使うときに英語的な目的語を意識できていなかったなぁと振り返って思います。

OOP に限らず、GUI についても基礎をしっかりやる感じなので、自分の中で理論的な地図が構築されていく感覚を得ることができました。

Programming Assignments

シラバスにあるように、 hands-on experience として実際にプログラムを組みます。GUI 実装のために JavaFX を使えるようにする必要があるのですが、そこがハマりどこでした。

JavaFX のインストールに成功した後も、意識低く最低限の課題をこなすに留まりましたが、独自カスタマイズの余地もあり楽しむことができました。

Discussion Assignments

お題は、OOPGUIの鍵となる概念について、実装例を交えつつ説明するといったものが中心でした。既述の通り、抽象的なお題になりがちなので、そもそも問いを取り違えているクラスメートが多く見られました。その中で、小慣れたコードで鮮やかに回答していくクラスメートもいて、刺激になりました。クラスメイトにも恵まれ、議論を深めることができました。

学習時間

いつものやつですが、馬鹿正直に毎回70-100ページほどの教科書の指定範囲を読み込もうとしていたため、やたら時間がかかっていました。

f:id:motomachi17:20220114001737p:plain
1週間だけ外れ値っぽいものの、平均7-8h/week くらい学習した

MATH1280: Introduction to Statistics

続いて2科目めはこちらの、統計学入門。

my.uopeople.edu

記述統計から確率・各種分布・確率変数などをカバーして、MATH1281に控える統計推論の前提を学ぶ構成になっています。

教科書はこちら

体調を崩したり、業務負荷が上がったり、諸々の皺寄せを一身に受けた結果、こちらの科目は B で着地しました。悔しいです。

Final exam は持込可

この科目、監視員付き試験の科目なのですが、シラバスを見ると、教科書と参考ノート(いずれもPDF)を持ち込み可能と書いてありました(2022/1月 現在)。

Open book: Students can read the course textbook and PDF notes for the class, which contain examples of R commands.

配布されている参考ノートには、教科書の理解が難しい箇所を噛み砕き、学生の理解を容易にする目的があると思われます。そこで試験対策としては、豊富な問題演習を可能な限り解き、出来なかったところを教科書や参考ノートで理解し直す、というサイクルを回すことに集中しました。教科書もUoPeople向けに執筆されているものとはいえ、かなり行間を読まなければいけない部分があり、参考ノートの存在にもっと早くから気づいておきたかったというのが正直なところでした。期中に体調を崩して寝込んだ週があり、そこから仕事も忙しくなって腰を据えて勉強できなかった(≒しなかった)のが悔やまれます。

参考ノートは教科書理解に必須

一つ前の項と重複するのですが、抽象概念が数多く登場する統計学を学ぶにあたっては、当たり前ですが具体と抽象の往復が理解を深めるための鍵となります。で、教科書が当然ながらそこそこ抽象的に書かれているところ、Moodle 上で参考ノートが複数提供されているため、必ず併せて目を通すことをお勧めします。もしもう1回同じ科目を受けられるならば、実際に教科書の章末問題や Slef Quiz を解いて、不正解だった部分の原因追求の中で参考ノートにも目を通すと思います。

Unit5 での体調不良;バッファは大切

この科目、教科書通読を通じて理解しようと躍起になっていたところに、体調不良でのダウンがあり、期中で張り詰めていた糸が切れてしまったようになってしまいました。課題の提出状況をまとめた以下の表では、未提出を赤で表現しています。

f:id:motomachi17:20220113235056p:plain
Unit5 以降、課題やらないサボ学生に
ちょうど年末に仕事で関わっているプロダクトの初期リリースを迎えたのと時期的に重なったこともあり、かなりパフォーマンスが下がってしまいました。振り返ると、体調を崩す Unit5 以前も、Unit の後半になると睡眠時間を削って課題をこなす日々が続いていたので、自覚はなかったものの大分無理をしていたようでした。

当たり前のことなのですが、可処分時間は動かしようがないので、その中で無理せず学ぼう、という結論に至りました。

あらためて、手を動かすべし

期末試験の項で触れた通りなのですが、とにかく演習あるのみと思います。

f:id:motomachi17:20220114001326p:plain
平均勉強時間は 6h/week ほど
定量的に振り返ると、そもそも2科目履修の結果として学習時間が取れていないですね。これが低パフォーマンスの原因と言えそうです。

まとめ

  • まだ本科生じゃなかった(次の学期からは本科生のはず!)
  • 無事に2科目履修して単位は取れた模様
  • 今期のパフォーマンス低下の反省から、今後は学期あたり1科目で進行予定

おまけ

okayu さんのブログ記事で紹介されていた「データ分析のための統計学入門」の元サイトで見つけた動画を紹介します。

リンク先では、統計学が実世界で使われているかを知れる動画の一つとして紹介されており、その中でも先進的な事例と言える、NBA で働くデータサイエンティストの紹介動画です。Bloomberg 版のプロフェッショナル仕事の流儀、という感じで、引き込まれました。

youtu.be

大学バスケットボール一部リーグ奨学金をもらって活躍しつつも、プロバスケ選手志望から、数学の Ph.D. にキャリア転換。女性のデータサイエンティストが少ない中で躊躇があったものの、蓋を開けてみれば、バスケットボールへの深い理解と数学の両方を兼ね備えた人材は貴重だという雇用側コメント。痺れます。

それでは、また。