University of London BSc Computer Science 1年目の指南書

Posted on October 01, 2023  -  25 min read

title

UoL(University Of London) の BSc Computer Science に入学して 1 年が経ちました。 1 年目は UoL のシステムに慣れることが本筋の学習と同じくらい大事だったりします。 周りを見ていると、だいたいみなさん同じところでつまづいているように思えたので、1 年目の指南書を書いてみました。

なお、入学までに取り組んだ内容についてはこちらにまとめています。

Disclaimer


  • この記事はあくまで個人の経験に基づいたものです。公式の情報は UoL が提供している情報を参照してください。
  • 本記事は PBA(Performance Based Admission)入学者を対象に書いています。Standard Entry で入学できた方は一部、参考にならない部分があるかもしれません。PBA と Standard Entry の違いについては前回の記事にまとめているので、そちらを参照してください。

UoL でのモジュールの進め方


UoL での学習はモジュールという単位で履修が可能です。モジュールは履修科目にあたります。 一つのモジュールは 22 週間で構成されており、4 月 ~ 9 月、10 月 ~ 3 月の半年間(1 セメスター)をかけて受講します。これらのモジュールはすべてCourseraプラットフォーム上で受講することになります。卒業には 22 モジュールと Final Project(卒業研究)の合格が必要です。

モジュールの評価は主に以下の 3 つの要素で構成されています。(モジュールごとに比重は異なります)

  1. Coursera 上で行われる Assignment
  2. Mid-term Assignment
  3. Final Exam

1 は Coursera 上で行われるミニテストのようなものです。モジュールにもよりますが、だいたい 2weeks 毎にテストが行われます。テストは複数回受けることができますが、締切を過ぎると受けることができなくなるので注意が必要です。モジュールにもよりますが評価全体に対する比重はそこまで大きくないです。

2 はセメスターの中間で行われる課題です。レポート形式の課題が出されることが多いです。評価全体に対する比重は大体 20%~50%で、提出期限はおおよそ 1 ヶ月です。推奨される時間は 20 時間程度ですが、課題の内容によってはそれ以上かかることもあります。

3 は多くのモジュールで最も比重が高いです。Final Exam は専用のアセスメントツールを用いてオンライン上で行われます。

モジュールの合格には Mid-term と Final Exam の加重平均が 40%を超える必要があります。 また、Mid-term Assignment と Final Exam の両方で 35 点の足切り点が設けられています。

1 セメスターで履修するモジュールは 4 つまでです。1 年間で最大 8 つのモジュールを履修することになります。

入学から受講開始までの流れ


オリエンテーションを受ける

入学が決定すると、セメスターが開始される前に、Coursera 上でオリエンテーションを受講します。このオリエンテーションで UoL の基本的な事項について学びます。4~6 時間くらいで完走できます。

受講登録を行う

入学を許可されると専用の学生ポータルのアカウントが発行されます。 このポータルサイトから履修登録(モジュールの登録)と学費の支払いを行います。 学費はモジュールごとの支払いになります。モジュールの登録を行わない場合、学費は発生しません。

慣れるまでこのポータルサイトの使い方に戸惑うことが多いので、早めに登録を済ませておくと良いです。 なお、モジュール開始後も 14 日以内であればモジュールのキャンセルが可能です。本業との兼ね合いでどうしても履修登録をキャンセルしたい場合は、この期間内にキャンセルを行うようにしましょう。

PBA で入学した場合、はじめのセメスターでは 2 科目しか履修することができません。「Introduction to Programming I」と「Discrete Mathematics」or「Computional Mathematics」を選択します。この 2 科目の履修登録を行うこと & Mid-term Assignment でそれぞれ 50 点以上を獲得することが次の科目を履修できる条件になります。この条件は必ず満たすようにしましょう。

注意点 / Tips


RPL(Recognition of Prior Learning)を最大限活用する

UoL には RPL と呼ばれる事前学習プログラムが存在します。これは、他の大学で取得した単位や、UoL 指定の Certificate を UoL の単位として移管することができるプログラムです。RPL にはいくつかのメリットがあります

Google IT Support Professional Certificate は 1 年次に受講する「How Computer Work」の受講が免除されます。PBA の場合、はじめのセメスターで 2 科目しか履修できないため、合わせてこのプログラムを受講することをおすすめします。

IBM Data Science Professional Certificate、IBM AI Engineering Professional Certificate は 3 年次に受講する「Machine learning and neural networks」と「Data science」が免除されます。ただし、3 年次に選択するコースによっては、卒業要件にこの 2 科目が含まれていない場合があるため注意が必要です。3 年次に 「Data Science コース」、もしくは 「Machine Learning コース」を選択する場合は上記 2 科目を RPL として適用することができます。

詳細はこちらを参照してください。

Progression Rule を理解する

見落とされがちですがとても重要なルールです。 学生はすべてのモジュールを自由に選択できるわけではなく、受講できるモジュールにはある程度の制限があります。これを Progression Rule と呼びます。このルールを理解するにはいくつかの前提を抑える必要があります。

BSc Computer Science は 22 モジュールと卒業研究に合格することで卒業が可能です。 この 22 モジュールは以下のようにレベル分けされています。

Level4: 8 modules
Level5: 8 modules
Level6: 6 modules
Final Project

また、前述した通り、RPL を活用することで、Level4 に属するモジュールを 1 つ(How Computer Work)、Level6 に属するモジュールを 2 つ(Machine learning and neural networks, Data Science)免除することができます。

Progression Rule では以下の事項が定められています。 以下に特に重要なルールを抜粋します。

  1. PBA 入学の場合、初めのセメスターでは Level4 にあたる「Introduction Programming I」と「Discrete Mathematics」or 「Computional Mathematics」のどちらかを履修する必要がある。PBA で入学した学生が、他の Level4 の科目を履修するには、この 2 科目を履修登録すること & Mid-term Assignment でそれぞれ 50 点以上を取得する必要がある。(前述した通り)
  2. 正式な学生として認められるには、「Introduction Programming I」と「Discrete Mathematics」「Computional Mathematics」の 3 科目に合格する必要がある。
  3. Level5 の科目を受講するには、PBA の最初のセメスターで登録した科目への合格と「Introduction Programming II」の科目を受講登録する必要がある。
  4. Level6 の科目を受講するには、Level5 の科目を 3 科目以上合格している必要があり、かつ「Software Design and Development」「Object Oriented Programming」のうちのどちらかに合格している必要がある
  5. Final Project に参加するには、Level5 の科目の全てに合格している必要がある

また、もう一つ理解すべき重要な事項として、前セメスターの合否が確定するのは次のセメスターの履修登録後になる点があります。 例えば、ルール 4 の「Level6 の科目を受講するには、Level5 の科目を 3 科目以上合格している必要がある」の条件を満たすためには、Level6 の受講を開始する 2 つ前のセメスターで Level5 の科目を 3 科目以上受講している必要があります。これは、次のセメスターの履修登録の段階で前セメスターで受験した Final Exam の結果がまだ確定していないためです。このルールは万が一単位を落としてしまった場合(再履修が必要になった場合)にも大きく影響します。

例えば、2023.4~2023.9 月に履修した科目が不合格になった場合、その結果が確定されるのは 2023.10 の履修登録が終わった後なので、この科目を再履修するには、2024.4 のセメスター開始を待つ必要があります。次の Level への進級条件となっている科目が不合格になった場合、卒業までに 1 年間の遅れが生じることになります。

どの順番でモジュールを履修するか

Progression Rule により進級の条件が細かく定められているため、最短で卒業するための順番はほぼ固定されます。最短卒業を目指さない場合でも、進級条件になっている科目(*)は優先的に取るようにしましょう。 以下、最短で卒業するための履修順序の例です。※ Machine Learning コースを選択した場合

1st セメスター:

  • Introduction Programming I (Level4) ※
  • Discrete Mathematics (Level4) ※
  • Google IT Support Professional Certificate (RPL)

2nd セメスター:

  • Introduction to Programming II (Level4) ※
  • Computational Mathematics (Level4)
  • Fundamentals of Computer Science (Level4)
  • Algorithms and Data Structures I (Level4) ※

3rd セメスター:

  • Web Development (Level4)
  • Object Oriented Programming (Level5) ※
  • Algorithms and Data Structures II (Level5)
  • Graphics Programming (Level5)

4th セメスター:

  • Software Design and Development (Level5) ※
  • Databases, Networks and the Web (Level5)
  • Programming with Data (Level5)
  • Computer Security (Level5)
  • IBM Data Science Professional Certificate (RPL)
  • IBM AI Engineering Professional Certificate (RPL)

5th セメスター:

  • Agile Software Projects (Level5)
  • Databases and advanced data techniques (Level6)
  • Artificial intelligence (Level6)
  • Natural language processing (Level6)

6th セメスター:

  • Intelligent signal processing (Level6)
    (このタイミングでは Level5 の科目全ての合格が確定していないため、Final Project に参加することはできない)

7th セメスター:

  • Final Project

PBA で入学した場合、最短でも卒業に 3.5 年かかる

Standard Entry の場合最短で 3 年での卒業が可能ですが、PBA 入学の場合 7th セメスター(3.5 年)を必要とします。

その他、個人的なアドバイス


難易度をばらつかせる

難易度の高いモジュールを一つのセメスターに詰め込むと、そのセメスターが非常に辛くなります。 非公式ではありますが、各モジュールの難易度表が有志により公開されています。 この難易度表は自分の肌感とも合致しているので、参考にしてみてください。 また、モジュールによっては特定のプログラミング言語が指定されている場合があります。1 つのセメスターで異なるプログラミング言語を学ぶことは学習コストが高くなるため、なるべく同じプログラミング言語のモジュールを同じセメスターに詰め込むようにしましょう。(大学側も同じセメスターに同じプログラミング言語のモジュールを履修することを推奨しています)

※ 先ほどの履修順序の例では、可能な限り難易度が平準化されるようにしています。

モジュール開始前に過去問に目を通す

各モジュールの過去問はGithub上に公開されています。 過去問を活用することで各モジュールの最終到達点のイメージが明確になるので、モジュールの開始時から参考することをお勧めします。

日本語の文献にも目を通す(英語苦手な人向け)

Final Exam は英語で行われるため、最終的には英語で学んだことを英語でアウトプットできる必要があります。 ただし、私のように英語が苦手な人は先にある程度日本語でインプットしておいた方が英語での理解力が上がると思います。

以下、私が参考にした日本語の文献です。(Level4)

マグロウヒル大学演習 離散数学(改訂 2 版): コンピュータサイエンスの基礎数学 Discrete Mathematics, Computational Mathematics, Fundamentals of Computer Science は大体この本一冊でカバーできます。離散数学の本はいくつか手を出しましたが、この本が一番良かったです。

計算理論の基礎 [原著第 3 版] 1.オートマトンと言語
計算理論の基礎 [原著第 3 版] 2.計算可能性の理論 Fundamentals of Computer Science の主要テーマである「オートマトン」「チューリングマシン」の領域を上記の書籍より広くカバーしています。モジュールの内容より幾分か発展的な内容ではありますが、より理解が深まるのでお勧めです。

学ぶ深さに濃淡をつける(すでにエンジニアのキャリアがある人向け)

すでに IT エンジニアとしてのキャリアがある人にとっては、Introduction Programming や Algorithm and Data Structure などのモジュールは少々物足りないかもしれません。すでに十分な知識がある分野については、1 ヶ月くらいですべてのカリキュラムを終えてしまって、他のモジュールに時間を割く方が良いかもしれません。自分の場合、Introduction ProgrammingI,II や Algorithm and Data Structure, Computional Mathematics に関しては特に新しく学ぶことはなく、退屈を通り越してイライラすることが多かったです。。一方で、Discrete Mathematics, Fundamentals of Computer Science は非常に興味深く、新しく学ぶ概念も多かったためこちらを重点的に学習しました。

Final Exam に使用されるツールに慣れる

Final Exam は自宅で受験することができます。この試験には UoL から提供される専用のツールを使用します。

このツールは試験中に画面共有、Web カメラ、マイクによる監視を行います。また、試験中には他のアプリケーションを起動することができません。 カンニングや、許可されていない電子デバイスの使用、その他不正と疑われる動きが検知されると不正行為として Flag が立てられます。(Flag を建てられると即アウトではなく、実際に不正が行われたかどうかは後から人間の目によって確認されます) 試験は 4 時間と長時間になるため、トイレ休憩や飲食は許可されています。

試験開始の 1 ヶ月前にはこのツールを使用した Mock Test を受けることができるので、試験開始前にこのツールに慣れておくと良いです。 ※ 2023.10 時点での情報です。今後変更される可能性があります。

Q&A


Q. 働きながらでもやっていける?

A. 最短卒業を目指すのであればそれなりに大変。過去問をうまく活用する等効率よく学習することが重要になると思う。すでにエンジニアとしてのキャリアがある人は、少なくとも Level4 はそこまで大変ではないかもしれない。(数学は別)

Q. 英語が苦手でもやっていける?

A. 講義動画には英語のスクリプトが付いているので、最悪 DeepL に突っ込めば日本語でも読めるのでなんとでもなる。 ただし、Final Exam は Translater を使えないので、最終的には英語で学んだことを英語でアウトプットできる必要がある。 たまに問題文の英語が理解できないことがあった。導入過程を英語で説明しないといけない問題も出るので、そういった問題に対してはいくつか自分の中での定型文を作っておくと良い。

他のメンバーと一緒に協力して作品を作るモジュールもあるので、そういった場合は英語でコミュニケーションを取る必要がある。

Team Project があるモジュール

  • Web Development (Level4)
  • Agile Software Projects (Level5)

※ 特に Agile Software Projects は口頭ベースの議論が多く日本人は苦労するようだ・・

Q. 学費はどれくらいかかる?

A.2023.10 に 4 モジュール履修した時は、634,700 円だった。卒業までに 350 万円くらいかかると思う。円安辛い・・

Q. 週何時間くらい勉強してる?

A.モジュール、人による。講義を聞くだけなら 1 モジュールあたり 2 時間/週くらい。加えて、Mid-term Assignment は 10~15 時間くらい。Final Exam は 1 モジュールあたり 20 時間くらいだった。おそらく Level5 になるともっと時間がかかると思う。

Q. 楽しい?

A.楽しい。自分は次のセメスターから Level5 の科目を履修できるので楽しみ。

Q. 大学に入って感じたデメリットは?

A. 英語や、業務に関係する勉強の時間が取りにくくなった。何をしてても頭の片隅に常に締め切りがちらつく。円安で学費が辛い。

まとめ

大体みなさん同じようなところでつまづいているように思えたので、1 年目の指南書を書いてみました。 この記事が少しでも参考になれば幸いです。

何か質問があれば Twitter 等 で DM いただければお手伝いできると思います。 もし本記事の内容で間違いがあれば、ご連絡いただけると助かります。 > UoL 在籍のみなさん