オンラインでComputer Science修士 – アリゾナ州立大学(ASU)

本稿ではオンラインでコンピューターサイエンス修士号の学位がとれるArizona State University(ASU)の”Online Master of Computer Science (MS CS)“プログラムをご紹介いたします。学費は総額$15,000で、私が調査した限りでは米国でComputer Scienceの修士号がとれる2番目に安価のコースです。最も安いのはジョージア工科大ですが、アリゾナ州立大学のMS CSでは下記のような社会人が学びやすい(入りやすい)入学前の仕組が整えられています。詳細は本稿の後段 – 入学要件の緩和でご紹介します。その他、すぐに大学院への進学を考えていないけれども将来に備えたい方は、本稿の最終章「コンピューターサイエンスの基礎を習得する方法」を参考になさってみてください。

  1. モバイルでも学べるCourseraのプラットフォームを使用
  2. 学部のGPAが3.0に足りなくても、補える仕組み(MCS Pathway)がある
  3. 学部で指定の情報系科目の履修がなくても、補える仕組みがある
  4. 入学前に最大9-12credit hoursの単位が取得可(学費総額は不変、良心的)
  5. TOEFLは90点を要求されるも、4の成績で免除される
  6. 推薦書が任意

アリゾナ州立大学(ASU) の概要とランキング

本コースはオンラインなのでキャンパスに行くことはありませんが、アリゾナ州立大学はアリゾナ州の州都フェニックスにキャンパスがあります。Humanities(人文学)、Law(法学)からEngineering & Technologies(工学)まで設置する総合大学で、生徒数も多く約15万人の生徒がいます(うち、約4万人がオンラインの生徒)(2022年4月現在)。

世界ランキング

世界の大学ランキングには様々なものがありますが、英国THE(Times Higher Education)が毎年発表する World University Ranking 2022によれば、ASUは世界で132位です。日本では東大が35位、京大が61位、東北大が201-250位、東工大が301-350位、慶応大学が601-800位、早稲田大学が801-1,000位ですので、アリゾナ州立大学はかなり上位の大学と言えそうです。

卒業の要件 – カリキュラム

私の経験では社会人(働きながら学ぶ場合)は入学より卒業の方がずっと大変なので、また、本校もそのような設計のように思いますので、卒業の要件を先にご紹介します。まず、本プログラムはモバイルにも対応したCourseraのプラットフォームで、100%オンラインで完結します。1コース3単位(3 credit hours)のコースを10コース修め(30 credit hours)、かつDegree Projectを提出すると卒業できます。コースは全部で18あり、Foundations(基礎), System(システム), Application(応用), Effectives(最新テーマ)に分かれます。基礎から1科目、システムから1科目、Applicationから1科目とれば、残りの7科目はどのコースをとっても構いません(順番も任意)。18のコースは、具体的には次節の表の通りです。エンジニア志向であればSystemを中心に、データサイエンス及び機械学習を学ぶのであれば、Applicationを中心に構成するということだと思います。1週間の学習量としては、ホームページ上で毎週15-20時間の学習が目安とされています(土日は全部潰れ、かつ平日も一定の時間を割く必要あり)。

卒業までには最短で18ヶ月、最長で30ヶ月とされています。退学の要件は明示されておりませんが、通常は存在します。私の通った別の米国のオンライン大学院ではいずれかのコースを2回落とすと退学、また、GPAで一定水準を維持できないと退学でした。アリゾナ州立大のMS CSの場合は、最長可能在籍期間が30ヶ月に設定されている可能性もありそうです。

10のコース(30 credit hours)

Foundations(基礎)は下記の2科目が指定され、いずれか1科目が選択必修です。エンジニアであれば前者、データサイエンス及び機械学習をされる方は後者と、わかりやすい(学生には有難い)構成をしています。


CSE 551 Foundations of Algorithmsアルゴリズムの基礎
CSE 579 Knowledge Representation and Reasoning知識表現と推論

System(システム)では下記の7科目が指定され、いずれか1科目が選択必修です。大学院では情報系の学部を卒業しているが同等の知識を有することが前提ですので、基礎的な科目はなさそうです。また、サイバーセキュリティーに関するコースが多いのも特徴的です。


CSE 531 Distributed & Multiprocessor OS分散型OS
CSE 539 Applied Cryptography応用暗号
CSE 543 Information Assurance and Security情報セキュリティー
CSE 545 Software Securityソフトウェアセキュリティー
CSE 548 Advanced Computer Network Securityネットワークセキュリティー
CSE 565 Software Verification, Validation, and Testingソフトウェアテスト
CSE 566 Software Project, Process, and Quality Managementプロセスマネジメント

Application(応用)は次の6コースです。System同様、うち1科目が選択必修です。大学には確認をしていませんが、応用暗号はSystemと重複しているので、応用暗号を履修すると、両方の選択必修要件を満たせるのかもしれません。


CSE 511 Data Processing at Scale大容量データ処理
CSE 539 Applied Cryptography応用暗号
CSE 571 Artificial Intelligence人工知能
CSE 572 Data Miningデータマイニング
CSE 575 Statistical Machine Learning機械学習
CSE 578 Data Visualizationデータ表現

Effectives(最新テーマ)には4つのコースがあり、選択必修はありません。ブロックチェーンが学べるのはいいですね。


CSE 466 Computer Systems Securityコンピューターシステムセキュリティー
CSE 598 Engineering Blockchain Applicationsブロックチェーン応用
CSE 598 Intro to Deep Learning in Visual Computingディープラーニング(画像)
CSE 598 Advanced Software Analysis and Designソフトウェア分析とデザイン

全てのコースに共通ではありませんが、テストに加えて、なんらかのプロジェクト(レポート)があります。また一人で進めるものだけでなく、他の学生と共同するPeer Collaborationも設定されています。一部のコースにはZoomのLive講義もあります(参加できない場合は録画の提供あり)。

学費は一括払いではなく、1コースを履修する都度1,500ドルを支払います(ドロップアウトの場合も金銭的な傷は浅い)。

Degree Project(卒業研究)

いわゆるCapStone Projectと呼ばれるものです。ホームページには、下記のようなプロジェクトの例示があり、いずれも修士論文と比較すると容易に思えます。修士論文は指導教官の負担もかなり重いので、このような形になっていると推測されます。学会やジャーナルで論文を発表してアカデミアに進みたい方には向かないプログラムですが、Computer ScienceのMaster Degreeだけが目的であれば良心的かもしれません。

  1. Design a Visual Analytics System: Explore and reason with data by designing and building a visual analytics system for analyzing visitor data to a fictional theme park.
  2. Build a Deep Learning Architecture: Design and build a deep neural network of many layers, creating a network that can recognize image categories from a given dataset.
  3. Build a Movie Database: Demonstrate your ability to design and build a seven-table movie database from scratch; you’ll also create applications to work on top of the database.
  4. Implement a K-Means Algorithm and Its Variants: Create and build a clustering algorithm that can group the input collection of documents into a desired number of clusters.

入学の要件 – Admissions

入学の要件は以下の通りで、GPA及び履修は学部におけるものです。冒頭ご紹介したように1, 3, 4はバイパスが可能です(次節)。2は緩和要件がないので、学部で数学を履修していない方は難しそうです。いわゆる院試はアリゾナ州立大のMS CSにはございません。

  1. GPA3.0以上(3.2以上推奨)(4年生大学の後半60単位にて計算
  2. 数学を履修(Calculus1 と Calculus2、それに離散数学に関わる科目で2 semesters)
  3. 下記4科目を履修
    1. Computer Organization and Assembly Language Programming
    2. Data Structures and Algorithms
    3. Operating Systems
    4. Principles of Programming Language、又は、
    5. Introduction to Theoretical Computer Science
  4. TOEFL90点(575点)、IELTS(Academic version)7、又はPTE6
  5. 1-3を証明するための学部のOfficial Transcipts
  6. Statement of Purpose、又は履歴書(両方を提出することも可)
  7. 推薦書(任意)

合格率(Acceptance rate)には様々な情報があり、私が確認した限りでは20%, 60%, 80%, 90%の4つがありました。院試がなく、後述幾つかの緩和策(Pathway)も用意されていることも勘案すると、入学時には学生は広く受け入れる一方で、卒業率(Graduate rate)は低いと推察されます。

入学要件の緩和 – 1 – MCS Pathway

アリゾナ州立大のCSが提供する学部レベルの4コースを修了することで、学部でコンピューターサイエンス(計算機科学)を専攻していなくとも、入学要件のうち3を満たすことができます。自動的にApplicationとは紐づかず、4つのコースの修了で得られるそれぞれのCertificateをApplicationの過程にあるフォームで提出する必要があります(こちらの下段に記載あり)。価格は全て59ドルと比較的良心的です。シラバスによれば、それぞれ30時間 – 50時間の学習時間を要し、最終テストは必ずあり、小テストがあるものもあります。

Computer Science prerequisites and deficiency exams for ASU - Arizona State University "Online Master of Computer Science (MS CS)":Operating Systems, Principles of Programming Languages, Computer Organization and Assembly Language Programming, Data Structures and Algorithms

入学要件の緩和 – 2 – MasterTrack Certificate

Courseraにアリゾナ州立大が提供する4つのMasterTrack Certificateがあります。それぞれがアリゾナ州立大のMS CSの3-4コース分(9-12 credit hours)の内容で、こられ(いずれか)を80%以上に相当するB以上の成績で修了させると、入学要件のうち、GPA要件と英語要件が緩和・免除されます。加えて入学後に、9 – 12 credit hoursがそのまま大学院の単位として認定されます。費用はいずれも$4,500です。

Arizona State University (ASU)  Online Master of Computer Science - MasterTrack Certificate

留意点は4点ございます。1点目、こちらには”on the first attempt”とあるので初回の挑戦で80%以上の成績を収める必要があります。2点目、それぞれに4コース分の内容があるのですが、アリゾナ州立大のMS CSのホームページ上での説明では30コース中、9 credit hoursが充足されるという説明と、12 credit hoursが充足されるという2つの説明が混在しています。実際にApplyされる前に確認をした方がよさそうです。なお、12 credit hoursの認定が受けられるとするとMasterTrack Certificateの費用は9 credit hoursに相当する$4,500ですので、総額が安くなります。3点目、ホームページ上に”To apply for the Coursera MasterTrack™ Certificate or general pathway, begin your application here.”とあるので、このPathWayの適用を受けるにはMS CS本体のApplyを並行させる必要があるかもしれません。4点目、同ホームページ上に、”if admitted within three years of completing courses”とあるので、いずれかのMasterTrack Certificateの修了後、3年以内に入学する(合格する)必要がありそうです。

必要な前提知識 – 実質的なPrerequisite Knowledge

入学のための形式的な要件については前述の通りです。以下は、アリゾナ州立大のMS CSで単位をとって卒業するための実質的に必要と思われる知識、各コースで設定されているPrerequisite Knowledgeです。詳細については、アリゾナ州立大のこちらのpdfに記載されております。ざっと下記の3つに分類できそうです。

1.学部レベルのコンピューターサイエンス基礎
コンピュータの基礎、OSの基礎、アルゴリズムとデータ構造、ネットワークの基礎

2.学部レベルの数学
統計、確率、Caculus、Alegebra、Linear Algebra(行列)

3.プログラミング言語
高水準言語(C, C++, Java)とスクリプト言語(Python)、それぞれから1つ。後者はPythonを強く推奨。

4.(当然の前提とされている)英語

本稿をご覧になっている方は理系の学部又は院を卒業した現役のエンジニアの方が多いと思いますので3はいいと思います。また、1についても業務の知識に加えて、前述のMCS Pathwayの4つのコースをクリアすれば十分と思われるので、入学前に準備を要するのは2と4でしょうか。2については、ASUから特段のガイダンスがないので、私の卒業した大学院が入学前の受講を推奨しているコース一覧をご紹介します。私はMIT Calculus 1A: Derivativesと、MIT edX: Introduction to Probability Part IMIT edX: Introduction to Probability Part IIの3つを入学前に修了させました(Linear Algebraは得意でしたので特段の準備せず)。いずれもedXというプラットフォームを利用しています。また、MIT Mathematics Courseは入学後のキャッチアップに利用しました(数学は結果的にMIT頼み)。

Mathematics – Calculus
MIT Mathematics Course
Varsity Tutors Mathematics Practice Tests
MIT Calculus 1A: Derivatives

Statistics
Harvard edX: Data Science Probability
Harvard edX: Statistical Inference and Modeling
Harvard edX: Statistics and R
MIT edX: Introduction to Probability Part I
MIT edX: Introduction to Probability Part II
Columbia edX: Statistical Thinking for Data Science and Analytics
Varsity Tutors Statistics Practice Tests
US San Diego: Python for Data Science

英語については、私の別の記事「社会人の英語勉強法」を参考になさってみてください。

その他必要な準備・インフラ

PC
ASUのホームページを読む限り、WindowsでもOS Xでも問題なさそうですが、一部の科目でLinuxを要求しています(Linuxサーバを借りる必要が生じる可能性あり)。また、エンジニアの皆様は慣れているとは言え、仕事中も含めて一日中液晶を見続けるのは疲れます。テキスト等を印刷できる一定の性能のプリンターもあった方がいいように思います。私は半業務用のブラザーのプリンターを使いました。

論文データベース
大学院からなんらかの論文データベースへのアクセスを付与されると思いますが、足りないこともあります。指定教科書はないと公表していますが、各コース毎に多数の推薦図書はあると思われ、それらは往々にして高額です。様々な教科書・論文等の共有サービスが海外にありますが、私は有料のScribdを使用しておりました。

Latex
前述の通り、各コースではなんらかのプロジェクトと、その結果をまとめたレポート課題の提出を求めらると思いますが、Wordでの数字の表現にはかなり無理があるので入学前にLataxを習得されることを強く推奨いたします。私は大学院の在学中にはオンラインのOverleafを使っておりました。Overleafを使うと、共同作業(Peer Collaboration)も容易でした。

仕事をやめないこと
オンライン大学(大学院)は想像以上に疲弊します。とくに独身の専業学生の場合、孤独に一日中に家に籠ることになるので、学業と両立が可能なブラックではない会社で日中は働くことを推奨いたします。働きながらの学業はかなりハードですが、精神的には健康的だと思います。私の通ったオンライン大学院でも同期の皆様働いていました。

コンピューターサイエンスの基礎を習得する方法

前述のMCS Pathwayに設定された4つのコースを修了すると、入学要件の3を充足させつつ、学部レベルのコンピューターサイエンスが十分に身に付きますが、本稿をご覧になっている方の中には、アリゾナ州立大やジョージア工科大のMS CSは将来的な選択肢ではあるけれどもすぐには考えていないという方も多いと思います。

そのような方が、事前準備として学部レベルのCSの基礎を学ぶには、CourseraのGoogle IT Professional Certificateも大変有用です。このコースはGoogleによって作成され実務的であると同時に、ロンドン大学のコンピューターサイエンス学部でも”How Computers Work”の単位として認められているので、アカデミックな質的担保もあります。カリキュラムは次の通りです。

  1. Technical Support Fundamentals
  2. The Bits and Bytes of Computer Networking
  3. Operating Systems and You: Becoming a Power User
  4. System Administration and IT Infrastructure Services
  5. IT Security: Defense against the digital dark arts

Data Structure and Algotirhms(アルゴリズムの基礎とデータ構造)と、Principles of Programming Languages(プログラミング言語の原理)は含まれていないので他で補う必要がありそうですが、他の基礎的な内容は網羅されています。加えて本コースは全て英語ですので、大学院への進学あるいはキャリアップに備えた英語の勉強をすることもできます。



また、本コースの修了証(Certificate)を得るとGoogle Career Certificates Employer ConsortiumというGoogleが運営する就職・転職のプラットフォームに参加することができます。料金は月額¥4,780でホームページ上では期間6カ月が修了の目途とされます(総額3万円弱)。今日も最後まで読んで頂きありがとうございました。