大学のデータサイエンスコースではどんな内容を学ぶの?
講座で学んだ知識・スキルが後々どんなことに役立つの?
- 海外大学のデータサイエンスコースではどんな内容を学ぶか
- 単位取得のためにどんなアサイメントがあるか
- 学びがどんなことに繋がるか
目次
データサイエンスコースの講座
データサイエンスとは、⑴ドメイン知識、⑵コンピュータサイエンス、⑶数学・統計が融合した分野です。
各大学のデータサイエンスコースは、カリキュラムが異なれど、各々の能力や目標に合わせて、データサイエンスに必要な知識・スキルを伸ばすことを目的とした講座(コース)を提供しています。
UQは、「高度な分析技術・スキル」と「特定産業における必要不可欠な知識」を学ぶことができるオーストラリアで最も包括的なデータサイエンス・マスターコースを提供しています。
直接、産業と連携し、学際的かつ実践的なデータサイエンスのスキルを身につける機会を提供する世界でも数少ないプログラムです。
UQの講座(コース)は、コースコードと呼ばれる番号で管理されています。
コースコードは「DATA」+「1234」といったように、4つの文字と数字で表記されています。文字は学問分野の略称、番号は講座の識別番号です。
1桁目の番号はその講座のレベルを表します。マスターコースの場合、1桁目の番号は7になります。
ここからはデータサイエンスコースの講座について紹介します。
CSSE1001/7030:Introduction to Software Engineering
概要
この講座では、Pythonを使ってソフトエンジニアリングの基本コンセプト(コンピュータ技術を使った計算、アルゴリズム作成、クラス設計)を学習します。
学習内容
この講座で学習する代表的なトピックの抜粋です。
- Control Structure: 制御構造
- Function: 関数
- Data Structure: データ構造
- Class & Object: クラスとオブジェクト
- GUI Programming: グラフィカルユーザーインタフェース・プログラミング
- Recursion: 再帰
学期中に学んだ知識・スキルは、
- 隔週で行なわれるプログラミングに関する小テスト
- 3つのアサイメント
- 期末試験
を通して評価されます。
どんなことに役立つか?
すでにデータサイエンスに関わるライブラリがいくつも提供されていますが、自分でコードを書かなければいけない状況もあります。
データサイエンティストにとって、プログラミングの知識・スキルは、
- 使用するアルゴリズムがどのように動いているか理解する
- データクリーニングや解析用のアルゴリズムを自身で作成する
ことに役立ちます。
GUIに関しては、データサイエンティストの立場から言えば、フロントエンドエンジニアのようなレベルのスキルの習得は必要ないですが、リストやクラスを扱うためには、いい練習です。
この学期のGUIに関するアサイメントのタスクは、Tkinterを使用し、マインスイーパーとPokemonを組み合わせたゲームの開発でした。テーマは毎回、変更されています。
この講座は1年に2回提供されています。受講した学生数は1015名で、Pythonがいかに人気なプログラミング言語であるかよく分かりました。
DATA7001:Introduction to Data Science
概要
この講座では、チームプロジェクトを通じて、データサイエンスのプロジェクトにおける基本的なプロセスと解析手法を学習します。
学習内容
この講座で学習する代表的なトピックの抜粋です。
- Design Thinking: デザインシンキング
- Big Data: ビッグデータ
- Data Type: データの種類
- Sampling: サンプリング
- Data Anomanyzation: データの匿名化
- Data Explornation/Transformation/Cleaning: データ探索・変換・クリーニング
- Statistica & Analysis: 統計・分析手法の特徴
- Data Visualization: データの可視化
- Gestalt Principle: ゲシュタルトの法則
知識・技能評価のため、
- デザインシンキングに関するレポートが1つ
- データ抽出・前処理・解析・可視化といった技能に関するアサイメントが5つ
- 中間試験
- チームプロジェクト(発表、レポート提出)、
が実施されます。
どんなことに役立つか?
実際に1度プロジェクトをまわしてみることで、データサイエンスの課題と伸ばす必要がある知識・スキルに気づく機会が得られます。この講座での経験は、データサイエンティストとしての基礎を学ぶだけでなく、今後のキャリアプランや次セメスターで選択する講座の検討にも役立ちます。
確かに初心者の段階で一度プロジェクトを担当してみるっていうのは、色々と発見がありそうですね。
INFS7901:Database Principle
概要
この講座では、データベースを取り扱うための知識・スキル(リレーショナルデータベース、データへのアクセス方法、インデックス、クエリプロセンシング)を身につけます。
学習内容
この講座で学習する代表的なトピックの抜粋です。
- ER Diagram: ERダイアグラム
- Relational Model: リレーショナルモデル
- Functional Dependency & Normal Form: 関数従属性と正規形
- SQL
- Asymptotic Analysis: 漸近解析
- Sorting: ソート
- Binary Search Trees: バイナリーサーチツリー
- Hash Function: ハッシュ関数
- Indexing: インデックス
- Relational Algebra & Query Processing and Optimization: 関係代数とクエリプロセシング・最適化
学期中に学習した知識は、
- アサイメント3つ
- 中間試験
- 期末試験
から評価されます。
技能は、個人ワークプロジェクトを通して評価されます。講義で学んだ知識を活かして実際にデータベースを開発し、それをGUIへ接続、稼働します。プロジェクトでは、計3回のレポート、GUIのソースコード、使用したデータを提出する必要があります。データは仮想データを使用します。
具体的には、データベースの設計図(ERダイアグラム)を書き、リレーショナルデータベース(RDB)を作ってみます。その後、RDBとGUIを連携します。GUIの開発にはPythonの「Flask」を使用します。
GUIからデータが登録・編集・削除されると、RDBのデータも反映されます。(図はプロジェクトでボツになったものを使用しています)
この講座を受講して、日常で何気なく使用しているアプリからデータがどのように蓄積されているかがよく分かりました。
どんなことに役立つか?
データサイエンスと言えば、解析や数学・統計の知識・スキルが注目されがちですが、大規模なデータを取り扱うためにデータベースに関する知識・スキルも欠かせません。
この講座から学ぶ内容は、データサイエンティストとして、目的のデータを様々なデータソースからいかに効率的に抽出するか検討する力に役立ちます。
最近のデータサイエンティストの企業面接では、データベースに関する簡単な質問もされている話も聞きます。
残念ながら、ソートの説明ができなかったために、不採用になった方もいるので、最低限の知識は身につける必要があります。
MATH7232:Operations Research & Mathematical Planning
概要
この講座では、オペレーションズ・リサーチについて学びます。オペレーションズ・リサーチとは、意思決定のサポートを目的に、1)現実の複雑な問題を数理モデルに置き換え、2)アルゴリズムを使って解析する、科学的技法です。
学習内容
この講座で学習する内容を抜粋します。
- 線形計画法
- 整数計画法
- 動的計画法
- 3つのアサイメント
- 期末試験
の結果から評価されます。
アサイメントは、物流、生産、エネルギー、金融といった分野の顧客から、実際に現場で起こりうる問題が与えられます。その問題に対し、解析を行い、解決策を提案します。アサイメントは、数理モデル、アルゴリズム、顧客へのレポート、プレゼン資料を提出します。
この講座での線形計画法、整数計画法に関しては「Gurobi Optimizer」を使用します。
どんなことに役立つか?
オペレーションズ・リサーチは、生産、物流、金融、通信ネットワーク、交通、環境、人材教育、マーケティング、マネジメント、など、幅広い分野で応用されます。今後、データ量の拡大、計算機のパワーアップにより、オペレーションズ・リサーチの活用は、ますます期待されます。
また、実社会の様々な問題を数学的な視点で捉える、というのは、良い訓練になります。1)数理モデルを構築しアルゴリズムへの変換する、2)解析結果からインサイトを特定する、3)顧客へ原因と具体的な解決策を提案する、といった一連の流れは、データサイエンティストとしての分析スキルとプレゼン力を鍛える機会にも繋がります。
オペレーションズ・リサーチってワードを私は耳にしたことはありませんでしたが、なんだか実用的な印象で、学ぶと面白そうですね。
まとめ
今回は4つの講座を紹介しました。それぞれの講座の特徴や学べる内容がイメージできたでしょうか。
最後に今回の記事をまとめます。
- Introduction to Software Engineering:Pythonを使ってソフトエンジニアリングの基本コンセプトを学習
- Introduction to Data Science:チームプロジェクトを通じて、データサイエンスの基本的なプロセスと解析手法を学習
- Database Principle:データ抽出に必要なデータベースに関する知識(リレーショナルデータベース、データへのアクセス方法、インデックス、クエリプロセス)を学習
- Operations Research & Mathematical Planning:現実の複雑な問題を数理モデルに置き換え、アルゴリズムを使って解析する方法を学習
すでに統計・数学、あるいはコンピュータサイエンスの基礎を学部で履修している場合、1.5年で卒業することも可能です。
最後まで読んでいただき、ありがとうございました!
参考
1)“Master of Data Science Course List- University of Queensland” (2/15/2021アクセス)
2)“Welcome to Flask” (2/15/2021アクセス)
3)“Globi Optimizer” (2/15/2021アクセス)
この記事では、クイーンズランド大学(UQ)のデータサイエンス・マスターコースが提供する講座から学べる知識・スキルを紹介します。今回は、私が1年目のSemester1で受講した4つの講義をまとめます。
*「年度」「コースコーディネーター」の変更に伴い、講座の内容も変わることがあります。