見出し画像

文系出身の若手SIer社員が放送大学で情報学を勉強してレベル上げした話

はじめに

この記事は、文系出身の若手SIer社員が放送大学で情報学を勉強した記録です。主に似たような境遇の方への情報共有を目的に執筆しました。こんなやり方もある、という参考になれば嬉しいです。

簡単に自己紹介

通信会社の名前が頭につくシステムインテグレータ(SIer)で、フロントエンドエンジニア兼UIUXデザイナーとして働いています。私立大学の文系学部を卒業後、研究留学を経て東京大学の学際情報学府という大学院で修士を取得し、2018卒として新卒入社して現在3年目ですそうこうしてるうちに5年目になりました。

大学院は広い意味での情報系ではあったものの、「社会情報学」と呼ばれる分野で、いわゆるコンピュータサイエンスではありませんでした(ICT4Dと呼ばれる国際開発学と情報学の合いの子のような分野の研究をしていました)。入社前には応用情報技術者試験にも合格し、何とかついていけるかなと思っていました。しかし、入社して1年間経ち、周りの(多くは情報科学/情報工学を専攻していた)優秀な社員やパートナー会社のメンバと接するうちに、情報工学方面の知識不足を痛感し、何かしらの方法で学び直したいと思うようになりました。

なぜ放送大学か

学び直しの方法として当時考えていた選択肢は3つでした。

・社内外の研修にひたすら参加してみる
 大きめの会社なので各種研修は充実しており、特に若手社員には積極的に研修を受けさせる風土から、受講しやすい環境にありました。一方で、基本的に研修は単発なので、体系立てて勉強するのにはあまり向いていないかなと思いました。

・情報系の大学院に入り直す
 院卒だったので、大学院からやり直すことも考えました。選択肢に上ったのは、産業技術大学院大学と北陸先端科学技術大学院大学でした。産技大は専門職大学院で企業推薦入試があって入りやすいこと、北陸先端は東京にサテライトがあり社会人の受け入れに積極的なこと、コンピュータサイエンスをしっかり学べることが魅力でした。ただし、学部レベルの情報理工系バックグラウンドがない人間がいきなり大学院に入ってもさほど意味のある研究活動が行えないのでは?という懸念がありました。

・いっそ学部からやり直す
 最終的な選択はこれでした。自分に必要なのは大学院の研究ではなく学部レベルの勉強であると考えました。フルタイムで働いているため夜間か通信制であることは必須で、帝京大学理工学部の通信、東京電機大学の夜間コース、放送大学あたりを候補として調べました。最終的には学費と受講方法の柔軟性、科目の幅広さなどを考慮して放送大学に決めました。

会社の制度として自己研鑽への支援金があり、相談した結果、学費の一部を肩代わりしてくれることになりました。更に試験やスクーリングで会社を休む場合には、特別休暇を付与してくれる制度もあることが分かりました。これらも決め手となり、新卒2年目になった2019年4月に放送大学教養学部情報コースへの入学を決めました。

何をやったか

放送大学の制度の詳細は他の記事に譲りますが、大まかにはセメスター開始前にテキストが送られてきて、セメスター半ばに中間試験相当の課題を提出、これが合格であればセメスター末に各都道府県にある学習センターまで出向いて単位認定試験を受験する、という流れです(このほかオンラインで完結するタイプの科目もあります)。

科目はそれなりに体系化が意識されており、情報コースであれば以下のように分野とレベルが振られています(それほどアテにならない部分もありますが)。体系的に学ぶことを意識して、履修科目案内図の下の方から攻めていきました。

大学を卒業済みの人が編入すると、3年次編入ということになり、最短2年で62単位修得すれば卒業できます。更に卒業年になると、必須ではありませんが卒業研究(6単位相当)の履修が可能となります。私はなるべく早く知識のギャップを埋めたかったのと、過去の大学(院)生活を通じてアウトプットの重要性が身に染みていたので、目標として「2年間で卒業研究を含む62単位以上を修得すること」と設定し、目標通り完了しました。

できるようになったこと/ならなかったこと

<できるようになったこと>
・情報学の基本的な考え方は獲得できたように思います。例えば情報量/計算量/符号化の考え方、データ構造やアルゴリズムの良しあしの判断、データ分析手法の選択、ネットワーク周りの諸概念などは理解できるようになりました。特にOS周りなど低レイヤな部分については、仕事ではほぼ触れることがないので勉強になりました。

・卒業研究で機械学習を扱いましたが、数学をかなりみっちり勉強したおかげもあり、最新の論文もある程度理論まで踏み込んで読めるようになりました。例えば、実データを前処理して提案されている手法で分析してみる、というようなことができるようになりました。

・技術特化している社員やパートナー会社のメンバと、ある程度話が通じるようになりました。抽象的ですが、これは私にとってかなり大きなインパクトでした。こちらがある程度理解している前提で話をしてもらえるので、解像度が全く違います。最大の効果はこれかもしれません。

<ならなかったこと>
・演習科目が圧倒的に少ないので、放送大学だけでは(プログラミングであれネットワーク/データベースであれ)実装能力はさほど身に付きません。ここは別途努力が必要だと思います。私はあえて卒業研究というアウトプットの場を作ることで、実装への圧力を自分に課しました。

・残念ながら、突然年収1000万円になったりはしませんでした。

放送大学に向いていそうな人/向いていなそうな人

放送大学を自己研鑽の場に使うにあたって、明らかに向き不向きがあると思いました。放送大学は誰でも入れるものの「卒業は難しい」と一般的に言われています。ただこれは各科目の単位認定試験の採点が厳しい(一部厳しい科目もあるみたいですが)のではなく、モチベーション維持や勉強方法の問題だと思いました。

・ある程度自律的に目標意識を持って取り組める人は向いていると思います。通信制大学は基本的に孤独です。一人でも当初の目的を見失わずに継続できることが必須だろうと思います。逆にさぼろうと思えばいくらでもさぼれてしまうので、外圧がないと動けないタイプの人は厳しいかもしれません。

・過去に別の大学に在学したことがあるなどして、大学での勉強の仕方(例えば章末の参考文献を辿って理解を深めるとか)をある程度分かっている方は、すんなり入り込めると思います。一方で、そういった経験がないと、最初の滑り出しがなかなかうまくいかず、どうやって勉強したらいいのかわからないまま時間が過ぎてしまう、ということがあり得そうです。

----- ----- -----

ここから先は、具体的に私がどんな科目で何を勉強したのかを記載しています。関心があれば読み進めてください。

(追記)各科目の詳細については以下の別記事にまとめました。

概論系

上のリンクを見てもらえれば分かりますが、放送大学の科目区分には「基盤科目」というものがあり、入学したらまず履修を推奨されています。これが侮るなかれ、という感じで、受講生が多いことを見込んでか結構しっかり作りこまれています。私も勉強のリハビリの意味も込めてここから始めることにしました。以下のような科目です。
※科目名と共に大まかな内容やコメントを()で記載しています。

・情報学へのとびら(情報コースの総論)
・自然科学はじめの一歩(情報コースに隣接する自然と環境コースの総論)

数学系

情報(科/工)学は数学に依拠する部分が大きいです。大学院の研究で重回帰分析や構造方程式モデリングを多少触っていましたが、その裏にある数学的な手続きについてはほとんど頭に入っていませんでした。特に最近流行りの機械学習やら深層学習やらという分野に少しでも首を突っ込もうとするとそれなりの数学は避けて通れず、この機会に徹底的に勉強することを決意しました。幸いなことに、放送大学はこうした領域で頻出する微分積分と線形代数の講義は充実しており、無理なく修得していくことができました。以下のような科目を履修しました。

<数学>
・初歩からの数学(高校数学までの学び直し+α)
・入門線型代数(行列から対角化まで)
・入門微分積分(1変数関数の微積。試験が難しい)
・線型代数学(複素ベクトルと2次形式)
・解析入門(2変数関数と複素数の微積)
・微分方程式(変数分離形から積分変換まで)
・非ユークリッド幾何と時空(双曲空間上で実施する機械学習の手法があると聞いて最後に履修しましたが、難解でした)
・数学の歴史(これは半分趣味でしたがなかなか良科目でした)

<情報数理>
・計算の科学と手引き(数とは?計算とは?アルゴリズムとは?)
・情報理論とデジタル表現(情報量、エントロピー、符号化など)
・問題解決の数理(数理最適化法。ゲーム理論、待ち行列理論、状態空間モデルなど)
・数値の処理と数値解析(各種数値解析手法の考え方と実装。難しい)
・グラフ理論入門(面接授業)

入門微分積分と入門線型代数程度の知識は、下記の他科目でもときたま要求されるので、そこまでは早めに履修しておくのが吉です。私は1年目に終わらせました。

データ分析系

放送大学は統計系の講義が充実しています。また、放送大学エキスパート制度(特定の科目群を履修すると証明がもらえる制度。https://www.ouj.ac.jp/hp/gakubu/expert/)でも「データサイエンス」を新設するなど、力を入れている印象があります。

・統計学(統計検定2級相当)
・社会統計学入門(対象は社会調査データだが、内容はほぼ普通の統計学)
・心理統計法(という名のベイズ統計入門)
・データの分析と知識発見(Rによるデータ分析。ヒストグラムからニューラルネットワークまで)
・データサイエンス演習(面接授業)

心理統計法は2020年度で閉講になってしまいました。ベイズ統計を学べる貴重な科目だったので残念です。また、「統計学」履修直後に統計検定2級を受験してそれなりに余裕をもって合格したので、結構良い教材な気がします。ついでにPython 3 エンジニア認定データ分析試験も受けてみたらこちらも受かりました。

ソフトウェア・インフラ系

実際にITサービス/システムとして動かす部分に関する科目群です。曲がりなりにもSIerのエンジニアなので、比較的学びやすい科目が多かったです。コンピュータとソフトウェアは総論として良い科目でした。

・コンピュータとソフトウェア(以下の科目の総論的な位置づけ)
・コンピュータの動作と管理(OS論)
・情報セキュリティと情報倫理(要素技術というより情報化社会論寄り)
・アルゴリズムとプログラミング(C言語)
・データ構造とプログラミング(これもC言語)
・Webのしくみと応用(HTTP、HTML)
・コンピュータ通信概論(通信路、変調、電波など。結構難しい)
・データベース
・情報ネットワーク(主にTCP/IP通信プロトコル関連)
・AIシステムと人・社会との関係(AIの歴史・仕組み・事例)

「データベース」履修後にデータベーススペシャリスト試験を受けたら受かり、「コンピュータの動作と管理」「コンピュータ通信概論」「コンピュータとソフトウェア」履修後にエンベデッドシステムスペシャリスト試験を受けたら受かりました(それ以外にも勉強はしてましたが)。ついでに「AIシステム」の後に受けたG検定も受かりました。とっかかりとしては非常に良い科目が揃っているのではないかと思います。ただし電気電子含め、完全にハードウェア系の科目はないので注意が必要です。

マルチメディア情報処理系

画像や音楽、自然言語といった高次の表現を処理するための科目群です。とはいえ、コンピュータの内部処理をのぞき込む科目と比較すると日常生活でも接点がある分だけなじみやすく、内容の難易度は低めな印象でした。

・日常生活のデジタルメディア
・博物館情報・メディア論
・デジタル情報の処理と認識(以下3科目の総論的な科目)
・CGと画像合成の基礎(カメラの仕組み、レンダリングなど)
・映像コンテンツの制作技術(動画の原理からポスプロまで)
・自然言語処理(これも良い科目でした。自然言語処理をこれだけ体系的に整理してくれるのはありがたかったです)

自然言語処理はのちのち卒業研究にも役立ちました。

その他

上記のカテゴリからあぶれる雑多な履修科目です。私はUIUXデザイナーもやっていたので、少し欲を出してデザインに関連する科目も履修しました。

(追記)(後から細かい内容を個別に書いているのでリンクばかりで恐縮ですが)UIUXデザインに関して別記事を起こしました。

<デザイン>
・コンピュータと人間の接点(UI/UX論)
・情報社会のユニバーサルデザイン
・ユーザ調査法(いわゆる「デザイン思考」に使われるユーザリサーチ。良い科目で、一部会社で主催した研修にも使わせてもらったくらいです)
・色と形を探求する(「色」について多角的に学ぶ。試験が異様に細かい)
・知覚・認知心理学(人間の感覚・注意・記憶の仕組み)
・錯覚の科学
・生活環境と情報認知
・生理心理学(ほぼ生理学というか脳科学でした)
・比較認知科学(動物の認知とは)
・交通心理学(注意、リスクテイキング、エラーの理論)

だんだんかけ離れていっている感じもしますが・・・
また、後述する卒業研究で、研究の意味付けのために経営的な視点を導入したので、経営系の科目も若干履修しました。

<組織・経営>
・経営情報学入門(組織における情報処理について)
・技術経営の考え方(イノベーションシステム、意思決定)
・産業・組織心理学(組織文化、コミュニケーション)
・新しい時代の技術者倫理
・マーケティング論

加えて在学期間中に参加した環境系のハッカソンのために環境センシング的なところ、あとは技術関連法にも少しだけ手を出してみました。

<環境>
・環境の可視化(リモートセンシング等の環境データについて)
・都市・建築の環境とエネルギー
・地域と都市の防災
・現代人文地理学
・生活における地理空間情報の活用

<技術関連法>
・技術マネジメントの法システム
・著作権法

科目履修の縛りがほぼないこともあり、手軽に幅出しができるのも放送大学のいいところだと思います。

卒業研究

結構いいペースで単位が集まり、2年で卒業できる見込みが立ったため、2年目に卒業研究を履修することにしました。とはいえ手続き的には1年目の2セメスターから始まるので、意思決定は早めに行う必要があります。

指導教員は基本的に放送大学の専任教員になります。テーマはせっかくなので自分の仕事とある程度結びつくものがいいと考えました。結果としてはSIerでのソフトウェア開発に対して機械学習による補助を行うというテーマを選定し、ソフトウェア工学分野の教授に指導を依頼したところ、許可が頂けました。

卒業研究は卒業年の11月が提出になります。4月から11月までの7か月の勝負です。私の研究室は隔週でゼミを行い、進捗と方針について院生含むメンバで議論して進めていく形を取りました。ちょうど新型コロナウイルスによる緊急事態宣言が出始めた時期でもあり、ゼミは全てリモート開催でした。

最終的には無事提出が完了し、口頭試問を経て合格となりました。また、卒業研究の内容について加筆修正を行い外部の学会に発表することとなり、現在鋭意準備中です。2021年3月に電子情報通信学会という学会で発表しました。

(追記)卒業研究とAI周りの詳細はこちらの記事にまとめました。関心があればこちらもどうぞ。

(追記)そして学位申請へ

2022年8月、独立行政法人 大学改革支援・学位授与機構から工学の学位(専攻の区分:情報工学)を授与されました。学位授与申請にあたって必要となる「学習成果レポート」は、上記卒業研究を改稿したものです。

学士(工学)の学位記

放送大学で学位を取る場合、どのコースでも一律学士(教養)となってしまい、工学の学位が欲しい!とか心理学の学位が欲しい!というように特定分野の学位が必要な場合、卒業後に改めて大学改革支援・学位授与機構の「積み上げ単位による学位申請」を行う必要があります。

詳細は別記事を立てようと思いますが、これまで情報工学の学位では「情報工学に関する演習・実験・実習科目(6単位)」が放送大学で充足できるのか?というのが不明な状態にありました。今回該当区分の単位を放送大学の単位で申請して合格が出たため、ひとつの事例ではありますが「充足できうる」という答えを得られた形です。

(追記の追記)学位授与機構関連の経緯についても別記事にまとめましたのでよろしければこちらもご一読ください。

おわりに

IT技術者が自己研鑽を行うとなった場合、資格試験の受験や研修の受講は一般的ですが、大学に再入学して学び直すという選択肢はまだあまり一般的ではないように思います。しかし、自分に合った形でうまく活用することができれば、放送大学を含む高等教育機関は能力向上に大きく貢献できそうです。私の事例がみなさまの参考になれば嬉しいです。

この記事が気に入ったらサポートをしてみませんか?