文系パパエンジニアが放送大学等でコンピュータサイエンス・数学を学んで理系学士を取りに行く話

f:id:wbspr:20210224025427p:plain
※取りに行く話なのでまだ取ってません。

界隈ではコンピュータサイエンス(以下CS)を学ぶことが流行っていますが、これはとあるパパのとある一例です。どなたかの参考になれば。

誰?

都内某社でソフトウェアエンジニアをやっています。2児の父です。いろいろやってきましたが最近はAndroidアプリ開発を本業としています。

事の経緯

エンジニアやってると考えますよね。 自分は次、何を学ぶべきか。 キャリア、どうしていくべきか。

今やっていることをより深めるのか? 新しいフレームワークを習得するのか? 英語をやるのか? 数学をやるのか? CSを学ぶのか? マネジメントに行くのか?

モヤモヤ逡巡しながら過ごしていた一回目の緊急事態宣言前の春に読んだこのブログがキッカケでした。

働きながら米国のコンピュータサイエンスの学士号を取得する、UoPeopleという選択肢

当時界隈で結構読まれていた記事ではないかと思います。 なるほどそういう道もあるんだなと思いましたよね。 これなら家事育児労働で超絶忙しいワイでもすべてをこなしながらCSを勉強できる!(進○ゼミ&思い上がり)
そこから働きながらCS系の学士を取得する方法を模索し始めました。

いろいろな道とスタイルがあることが分かってきました。 院に行ったほうがいいのでは?という思いもそういえばこの時点で湧いてきておりました。 自分は既に学士(法学)を持っていたので、修士に行くのが効率良いのか…?等。

なぜ大学でCS・数学を学びたいのか

エンジニアをやっている中で築いてきた積年の想いがありました。

CS系学位を課す外資大企業たち

「Bachelor's degree in Computer Science or a related technical field」 グローバルな企業だと募集要項の必須条件としてこれ系の文言が鎮座していることがよくあります。 これ、最初見たときは面食らいました。 文系学部出身の自分にはつらい現実です。 そしてこれがCSへの興味の源泉でもあります。 巨大テック企業が要件として課すCSって、そんなに重要なものなのだろうか。

CSできるマンへの憧れ

働いているとたまに出くわすんですよね。CSできるマンに。 この人レベル違うな?っていう人、たいてい大学でCS系やってたりします。 (まああとは天然の技術オタクだったりするんですが…)

で、自分も独学で…!って思うじゃないですか。 ある程度はできると思います。 でも体系的にざっと幹を通すっていうのがなかなか大変です。 また、一通り独学したとして、それを証明するものがない。 証明できなくても悪くはないですが、証明できるのであればできた方がいいですよね。 これが「大学で」やりたい理由です。

立ちはだかる数学の壁

AndroidエンジニアなのでGoogleI/Oを見たりするんですが、ピチャイさんが最近AIAIしか言ってないのに数学がネックで機械学習やれないって結構辛かったんですよね。「大量データをマシンでゴリ押して何かを生み出す」のは避けられない流れだと思っていて、機械学習統計学はやっておきたかった感あります。

dynamicなものよりstaticなもの

あとAndroid開発でいうと、技術やアーキテクチャの勃興が激しく、時間制限のあるパパには最先端へついていくのが結構厳しかったりすることがあり(トライしてハマったときのリカバリーにコミットするための時間的余裕が厳しい、プライベートを削る戦い方が取れない)、そこで消耗するより、もう少し静的なものの中に身を置いて各種フレームワークに依存しない基礎土台をやっときたいという気持ちもありました。

ところで、CSって何?

コンピュータサイエンス、勉強したい! でもぶっちゃけぼんやりしていて中身がよくわからなかったので、東大、 東工大SFC、London、MIT、Stanford、UoPeople、帝京理工、放送大学といった複数大学の情報系カリキュラムをチェックしました。

学校や学部によって結構様々でしたが、それでもやはり王道的な内容というものは存在していて、例えば線型代数微積、確率統計といった大学教養数学や、データ構造、アルゴリズム、ネットワーク、OSや情報理論などといったものもそれらのうちの一つです。 「だいたいこのあたりがCS系学部で学ぶもの」という感覚が芽生えていきました。

選択肢と選択

んじゃ実際どこなら働きながら学べるんや!と探し始めて行き当たったのがいくつかあります。数多の選択肢の中から、以下の大学(院)に絞って検討していました。

それぞれ魅力的でしたが、検討した結果別の手段を用いることになりました。以下にその理由を述べます。

なぜUoPeopleではなかったか

週次の人巻き込み課題が大変そう

UoPeopleは評価用の提出物や生徒同士の相互評価といった同期を伴う処理が、学期間中は週次であります。これがパパ的にはちょっと辛そうだなと感じていました。自分・妻の仕事へのバッティングしかり、当時はまだ下の子がかなりバブバブだったこともあり、子の体調不良対応などタスクが積まれてしまったときの負荷との兼ね合いが厳しそうだと感じました。

単位移行が可能なのか(※当時は)よくわからなかった

UoPeopleは単位移行の仕組みがあって、卒業した大学で取得した単位の一部をUoPeopleの卒業要件用単位として用いることができます。日本で言う学士編入みたいなものでしょう。が、当時はまだ誰も単位移行の実績がない状態でした。 なお今は問題なく単位移行できることがわかっています。 UoPeopleとか単位移行とかについてはえんぴつさんのブログとかを読んでくれ。

とにかく今すぐ!もうちょっと時間をかけずに学士を取りたい!と生き急いでいたせっかちマンは他の方法を模索し始めていました。

とはいえ

UoPeople、英語でCSを学ぶっていうのは怖いと同時に羨ましくもあります。

日本人UoPeople学徒の集まるSlackの第一回オフ会参加しましたが、みんなモチベーション高くてとてもよかったです!学び続ける者の輝きを感じました。道は違いますが目指すところは一緒かと思います。頑張って行きましょ!

なぜ帝京理工通信ではなかったか

同じ法学部出身の方が2年次編入されていたので、自分もそうなるのかなと思いました。
二年次編入で認定された単位数について(文系大卒)
こうなると卒業まで最低でも3年かかってしまいます。 やる気次第でドライブかけていける制度ないんか!? 方法探しは続きました。

なお、宇都宮への土日スクーリングが何度か必要なのも家庭への負担が大きく、敬遠する理由となりました。

なぜJAISTではなかったか

JAISTについて、これはもうCS学徒パパ界のスーパースターであるfushiroyamaさんのとこに全部書いてありますよね。

JAISTも大変魅力的なのですが、土日潰れてしまうのはいまの我が家のスタイルには合わなかったのはあります。

あと、調べているとどうやら院は研究しに行くところであって、CSを体系的に学ぶのであれば学部が適切らしいということがわかってきました。

研究したいもの…今は特に思いつかないので、学士を取る過程、もしくはその後にでも、研究したいものが出てきたときに進学を考えれば良いだろうと思いました。

JAIST、内容は素晴らしいみたいなので、我が家のライフサイクルと時節が合えばトライしてみたいです。

学位授与機構との出会い

僕「もおおお124単位も取りたくないよおおお大学って英語とかおじいちゃんのフランス語とか暗い先生の哲学とかの授業もあったし学士の専門性関係ない授業半分くらいあったじゃああああんそんなのやりたくないよおおお専門的な学習半分くらいやったら学士取れる仕組みだしてよおおどらえもおおおん」
狸「もーしかたないなー、学位授与機構〜〜」

単位積み上げ型の学士の学位授与制度

機構では,短期大学及び高等専門学校の卒業者など,高等教育機関において一定の学習を修め,その「まとまりのある学修」の成果をもとに,さらに大学の科目等履修生制度の利用や機構が認定した専攻科(認定専攻科)などにおいて所定の単位を修得し,かつ機構が行う審査の結果,大学卒業者と同等以上の学力を有すると認められた方に対して,学士の学位を授与しています。 この制度のもとでは,各人の興味・関心に応じて複数の大学で単位を修得すること,在学年限の制約を受けることなく自らのペースで単位修得を行うこと等,学習者ひとりひとりのニーズに応じた多様な学習の積み重ねの成果を学士の学位取得へとつなぐことができます。このように,大学に学部学生として在籍することなく,単位修得の積み重ねによって学位取得を可能にする制度を「単位累積加算制度」と呼んでいます。機構の制度は,この「単位累積加算制度」の考え方に基づき,より多くの方々に学位取得の機会を開く「新しい学士への途」なのです。

ありました。求めていたものが。

新しい学士への途(単位累積加算制度)とは

f:id:wbspr:20210223143754p:plain (新しい学士への途 学位授与申請案内 令和2年度版 p3より抜粋)
新しい学士への途、申請書類等

学位取得までの流れ

  1. 基礎資格を有する者の確認
  2. 単位の習得
  3. 学修成果の作成
  4. 申請
  5. 試験
  6. 機構での審査
  7. 合格後、学位取得

基礎資格を有する者が、要件に沿って単位を集め(複数大学利用可)、学修成果レポート(A4、10〜17ページ)を作成し、試験(小論文)を受け、審査に合格すれば学位取得となります。

大学にぼんやり在籍しているだけでもらえる学士より、興味ある分野の学修を主体的に進めて取得する学士の方が健全だと思うのは私だけでしょうか()
例えば社会人が専攻を変えて学び直すのに非常に適しているのではないでしょうか。

取得できる学士一覧 f:id:wbspr:20210223145900p:plain (新しい学士への途 学位授与申請案内 令和2年度版 p6より抜粋)

情報系の学士としては「工学(情報工学)」が該当しそうです。

以下が学位授与機構から工学(情報工学)を授かるために必要な単位の表です。

f:id:wbspr:20210224024418p:plain

前述した各大学の情報系学部のカリキュラムと大体合致しているかなという印象でした。 この要件を満たすように単位を習得すれば、ある程度体系的に学べるようになっているのではないかと思います。

また、各企業の募集要項「Bachelor's degree in Computer Science or a related technical field」にも該当するのかなと思います。(該当しなかったら悲しい、教えて偉い人!)

いずれ院に行くなら、ここで身につける内容はそのまま役立つし、院に行かずともCS系学士を募集要項にあげる企業の対策にもなるので、取っといて損はないと思いました。 繰り返しになりますが、独学でもCSと数学の学習はそこそこできると思います。 ただ、独学でやったとして、それを証明するものがありません。せっかく学ぶのだったら、何かしら証明になるものが欲しいなあとパパは思います。時間が限られているので。 この制度を利用すれば、その学習過程を「学士」という形で、いわば一石二鳥で可視化することができます。これは価値のあることだと考えました。

また、この制度では単位を積み上げることが出来ます。 学習中に興味がなくなってしまった場合、子育てでトラブルが生じて学習の継続が難しくなった場合など、中断してしまったとしても、学習した結果を都度単位で溜めておくことが出来、再開の機運が訪れればまた単位を積み上げ始めることができます。ここも大変魅力に感じた制度でした。

そして単位集めへ・・

情報工学の要件を満たすように単位を集めていきます。 私はそれをメイン:放送大学、サブ:帝京理工通信でやることにしました。

なぜ放送大学

  • 同期を伴う処理が学期中頃の通信指導と期末の単位認定試験のみ
  • 入学すれば履修状況に関わらず全コースの全授業の動画が見られる
  • スクーリングなどが不要

上記のような特徴があり、自分のペースを作りやすいと考えたからです。 「時間のあるときに先に一気に進めてしまう」や「急な育児の割り込みが来ても対応しやすい」点に非常に魅力を感じました。

ただ、放送大学だけでは情報工学の要件を満たせる自信がなかったため、帝京理工通信も科目など履修生として利用することにしました。

なお、放送大学だけで学士を取ろうとすると、取れるのは「教養」の学士のみとなります。

これまでにとった科目一覧

  • 放送大学
    • 計算の科学と手引き
    • アルゴリズムとプログラミング
    • 入門微分積分
    • 入門線型代数
    • Webのしくみと応用
    • データ構造とプログラミング
    • 身近な統計
    • 情報理論とデジタル表現
    • 演習微分積分
    • 情報ネットワークセキュリティ
    • 初歩からの数学
    • コンピュータの動作と管理
    • 情報学へのとびら
    • 演習初歩からの数学
    • 情報ネットワーク

来学期

長くなってしまったので、放送大学情報コースで学べる内容についてはlumpsuckerさんの神noteを御覧ください。

なお、CSは深淵なので、CSとして学ぶべきだけど放送大学や帝京理工通信では履修できない、というカリキュラムも結構ありそうです。 そこは諦め、独学するとか、院でやるとか、何かしらできればいいなと思っています。 なにかいい案がありましたら教えて下さい(人任せ)

1年やってみて

勉強時間は

21時半くらい〜翌朝6時半くらいまでの間で、睡眠と相談しながら勉強時間を割り当てています。
休日はあんまりチャンスありません。運良く子がお昼寝してくれたらチャンス到来です。
それ以外はもう隙を見てやるしかないです。
魔法(YouTubeKidsやアマプラ)を使うこともあります。

「学期」や「試験」という縛りがあることの尊さ

人間にはこういうのが大事なんだってことがよくわかります()

数学どうだった?

壁は取り去った

みんなこんなの大学の時やってたんだ・・つら・・っていう気持ちになります。
高校数学(文系なのでⅡBまで)は割と得意だったのですが、それももう5億年も前の話。一年前は高校数学にも恐れをなしていたくらいですが、そのあたりの抵抗はすっかり解消されました。 「初歩からの数学」「入門微分積分」「入門線型代数」「身近な統計」などの科目で学ぶとともに、以下のような書籍も使用しました。

数学ガールの秘密ノートシリーズは高校数学のリハビリ的な感じで気軽に読み始められて大変おすすめです。「すうがくのこころ」みたいなのが宿ってきます。数学への抵抗感が一気に減って楽しくなります。

長岡先生の教科書、これは完全に自分の拠り所となりました。体系的であることの尊さ。上級の概念で躓いたらいつでもここへ立ち返ってこようと思います。

あと、YouTubeの先生方にも大変助けられています。現代人、ラッキーです。学びが加速してます。以下、特に猛烈に助けられた2チャンネルです。

大学数学はまだ入り口程度

線型代数固有値や対角化まで、微積は一変数微積まで、確率統計も広範囲をさらっただけなので、次学期以降でも引き続きやっていきます。 証明や式変形は追っていると時間が溶けることが稀によくあります()
「入門」とか「身近」とか易しそうですけど全然易しくないです(大学の学問あるある)
感想としては以下です。
「昔の俺、数ⅢCやっとけ」

CSどうだった?

実務経験があるからこその強い興味

みんなこんなの大学の時やってたんだ・・つら・・っていう気持ちになります。
学部でCSを学んでいる人は羨ましいですが、今からでも全然よくねという気持ちでした。実務がバックボーンとしてあるので一つ一つの科目の学習に強い興味を持って望むことが出来ます。「果たして昔の自分がCSの学部に行ってたとして今ぐらいの興味を持ってやってただろうか?いややれてないのでは」と感じます。大学は一回社会に出て学びたいと思った時に行くのが最適とすら思えてきます。社会人学生もっと流行るべき、日本も変わっていくべき、新しい学士への途みたいなルートももっと活発になるべきと筆者は考えます。

広がる視野

「今まではしごがかかってなかったとこに新しくはしごがかかって行ける範囲が増えるやつ」は感じてます。 これはCSだけでなく数学に関しても同じことが言えるかと思います。前は無意識のうちに避けていたものが見えてくると思われます。

以前はあまり気が進まなかったような分野についても興味が出てきました。 音声・画像の扱いやネットワークまわり等を学習した後だったので、以前の自分より2、3歩深くまで理解できたように感じます。

育ちつつある体系の幹

これが大学で体系だてて学ぶ良さかと思います。 具体例で言うと、恥ずかしながら以前は「情報理論」という言葉すら知りませんでした。今はその下に広大で芳醇な概念が広がっていることがわかります。どこに何がどれくらい置いてある、という地図ができるだけでも価値があり、深化へのとっかかりとなれると思います。 そして学べば学ぶほどわからないことが増大していきます。 わからないことが増えていくことについてはこちら。


【5分ください】無駄に勉強モチベを下げないために

これからやっていきたいこと

何個かあります。

CS、数学

引き続きやっていきます。 ある程度体系ができてきたら後は必要になったときの都度独学でもいいかなと思っています。

AtCoderなどのプログラミングコンテスト参加

せっかくデータ構造とアルゴリズムを座学したので、実践していきたいです。 AtCoderは子持ちに優しくないので時間に融通の効くものがあればそちらを。

近しい分野の資格取得

応用情報、統計検定、E資格など、学士取得の課程でやってきたこととマッチするものをついで感覚で取っておきたいお気持ちです。

英語

CS、数学と並んでやりたかったことの一つです。 CSと数学がやれているので次はこれかなと感じています。 3億年くらい前にTOEIC770点をとって時が止まっています。 バイリンガルニュースを配信できるくらいになりたいです(無謀)

機械学習

数学の壁を取り去ったので、挑戦したいです。

大学院

JAISTかもしれないし、海外のオンライン大学院かもしれない。耳寄り情報あったらください(人任せ)

子持ちの生存戦略(ポエム)

子持ち、時間ないですよね。自由に使える時間は微々たるものです。勉強、したくても強制的に時間をぶった切られます。無限の時間を諦め、与えられた有限の時間を受け入れた上でどうやっていくか。これが子持ちのめちゃくちゃ大きな課題です。

仕事やスキルアップに時間をかけたいのはパートナーも同じ、自分だけが家事育児の時間を減らすのは平等じゃありません。時間に自由ある人にはどうやったって勝てません。そうは言ってもやらないと何も始まりません。わからなすぎて時間溶けるつれーって思うことも多いです。でも戦う相手は自分です。昨日の自分に勝ち続ければOKです。ホンダさんも成長に囚われろとおっしゃってます。成長で喜ばんとダメなんです。成長の先に成功があるんです。積分も細かい帯を無限に足していけば面積になるじゃないですか。そういう感じです。しらんけど。

あと、自分だけの成長に拘りすぎなくてもOKです。家族全体として成長していればOK。家族の成長に囚われろ。

まあ、子持ちに限らんです。家庭、収入、精神の状態、体の状態、家族、親、目指すところ、人生観、人それぞれです。それぞれの人が、それぞれの制限を持って生きています。その制限の中で何を目指し、何を諦め、どう立ち回るか、無限通りです。各自やれる中でできるだけ効率いい方法を選択して肉体的、精神的に負担になりすぎない状態で、フルパワーで取り組めればハッピーです。

積み上げ学士、自分にとってはハッピーな方法になりそうです。

だから言ったじゃないですか、ポエムだって。

まとめ

  • 積み上げ方式、最高やん?
  • 放送大学、最高やん?
  • CS数学、やっぱ楽しいやん?

はい、バッチリまとまりました。

最後に

長い期間の話をまとめるのはめちゃくちゃ大変なのでブログはもっと短いスパンで書くべきだなって思いました(大並感)