情報工学を学びなおしたいエンジニアに勧める、放送大学の通信授業

こんにちは。 新規プロダクト開発のテックリードとして働いている島田 (@curryisdrink)です。

これまでバックエンドからフロントエンドの開発にDevOps環境の構築、チームリードといった仕事を一通りさせて頂いたところで、「今後も技術者として数十年やっていくために今自分は何をするべきなのだろうか」と考えるようになりました。
その結果、仕事に直接関わるものの大学で専攻していなかった情報工学をしっかり学び直すべきだと考え、半年ほど前から放送大学の情報コースに在籍し、これまでと変わらずフルタイムで働きながら勉強を続けています。

より詳しい背景や最終的な目標等は別途noteに投稿した記事をご覧頂ければと思うのですが、この記事では実際に情報工学の勉強を始めたことで得られた、当初想像していた以上の成果についての話や、働きながら勉強を続けての所感を書いていきます。

この半年やったこと

時系列順に放送大学でやってきたことを見ていきます。

授業の選択

まず実施する必要があったのは (当たり前ですが) 入学手続きと、その際に提出する受講希望の授業の選択でした。

可能な限り現在行っている業務にすぐ役立つようなものを選びたかったので、シラバスを一通り見た結果『データベース(’17)』を受講することに決めました。詳しい内容は別の項で見ていきます。
働きながら勉強をすすめるので、自分が抱えきれない量の授業は取れないという制約があるのですが、授業あたりどのぐらいの負荷がかかるのか未知数だったのこの学期では取る授業はひとつだけにしておきました。

ちなみにどのような授業があるのかはこちらから確認できます。

学習と受験

一部の例外を除き、放送大学の授業は好きなタイミングで進める事ができます。
主な教材はインターネットで閲覧できる各授業のビデオになるのですが、これは既に配信済のものであれば、学期中はもちろん夏期・冬期休暇中含めいつでもどの回でも閲覧することが出来ます。その気になれば学期が始まる前に全て視聴して学習を進めてしまい、学期中はテストを受けるだけといったことも可能ではあります。
また、ビデオと同じ内容がまとまっている教科書も非常に学習の助けになりますので、復習の際等によく活用していました。ひとつの授業あたりどれぐらいのボリュームになるかの参考になるかと思うので、写真を載せておきます。

自分の場合は学習効率を考えて、基本的には毎週講義を一回分進めるようにしていました。通信制でない大学での授業の進め方とほぼ同じです。
ただ、大学で学ぶのは初めてとはいえ仕事でずっとコンピューターを使ってきたので、回によってはほとんど既知の内容で終わってしまう時もあります。そういった時は一度に二回分以上授業を進めるといったこともありました。

『データベース(’17)』の場合、通信指導と呼ばれる中間テストのようなものと、単位認定試験と呼ばれる期末テストのようなものを決まった期間に受ける必要があります。
個人的に、合格点を超えるだけなら勉強せずとも業務で得た知識だけでもなんとか出来てしまうので、必ず一番いい評価を取る (正答率90%を超える必要があると言われているのでそれを満たす) ことを目標に勉強をしていました。今期は無事目標を達成出来たので、この調子で来期以降も同じ成績をキープ出来るようにやっていきます。

冬休み期間に行う予習

この記事の執筆中は冬休み期間中なのですが、上記の通り授業のビデオはいつでも視聴出来るので、試しに学期が始まる前から学習を始めてみています。
教科書が無いのは若干不便ですが結構長い休暇期間の間学習を止めたくないので試験的に実施しています。

学習成果

実際に一学期勉強してみてどうだったか、受講した授業の内容とそれが与えた影響をそれぞれ見ていきます。

受けた授業: 放送授業【教養学部】データベース(’17)

この授業の名前は英語で『Introduction to Database』となっているのですが、その名の通りデータベースの基礎知識を体系的に得ていくことを目標としたような内容となっていました。

まずは歴史的な背景として、スプートニクショックを受けたアメリカが技術発展の必要性に迫られていた当時にデータベースの原型となったもの、つまり電子的なデータを一箇所で集中管理するための仕組みが生まれたというところから学習が始まります。
その後現場で求められる様々な要件を満たすために次々と改良版が生まれ、遂には現状最もポピュラーなRDBMSが出現したというところまで歴史をなぞると、その後はリレーショナル代数の定義や正規化の手順を学び、その上でSQLの書き方を学ぶといったようにステップアップしていきます。
更には実際の現場での使われ方を著名なエンジニアの方を講師として呼んで解説してもらったり、近年の動きとしてNoSQLというものが出てきていて、RDBMSだけでなく、扱うデータによって使用するものを変えていく必要があるといった所まで学ぶことになります。

有効なリンクが貼れないのですがシラバスに詳細があるので、興味がある方はこちらから授業名 "データベース" で検索して詳細を見てみてください (その後更新されたのか授業名に含まれる年度が変わっているので '17 の部分等は入れないようにご注意ください)。

業務への好影響

上記の内容を学んでいくことを通して、これまで頭の中で別個に記憶されていたデータベースに関する知識の多くがキレイにまとまりました。
これによってアーキテクチャ選定時に、よりスムーズに状況に合ったデータベースの選択が出来るようになりました。コミュニケーションにおいても、例えばレビュー担当の同僚により明確に説明が出来るようになって話が早く進むようになり、さらに深い議論が出来るようになったと感じます。

また、頭の中にある知識が体系的になったことで関連分野の情報収集や学習をより早く効率的に行えるようになりました。
この授業を受けた後に、分散システムにおけるデータ処理に関して名著と呼ばれる『データ志向アプリケーションデザイン』を購入したのですが、授業で学んだ範囲と地続きだったこともあって足りない知識を途中で調べたりする機会が減り、内容がスルスルと頭に入ってきました。受講前にこれを読んでいたらもっと苦戦していたのは間違いありません。

今後の展望

前期にひとつだけ授業を取ってみて要領が掴めたので、来期からは授業数を増やしていきます。
授業に関しては変わらず、可能な限り現在行っている業務にすぐ役立つようなものを受講するようにし、全ての授業で最高成績を取ることを目指して頑張っていきます。

尚受講予定の授業は以下の4つとなります:

  • データ構造とプログラミング(’18)
  • Webのしくみと応用(’19)
  • 情報セキュリティの理論と基盤(’23)
  • 情報セキュリティの現状と展望(’23)

有効なリンクが貼れないので、興味がある方はこちらから検索して詳細を見てみてください。

最後に

総じて放送大学は学習環境として非常に優れていると感じますので、どこかのタイミングで情報工学を勉強してみたいと考えていた方は是非入学先候補として考えてみてください🎓