如果你對布里斯托大學(University of Bristol)的CS課程有興趣,可以看看。
本文是申請英國大學CS Conversion課程的系列文之二,第一篇是英國CS Conversion(轉專業)碩士申請。布里斯托大學是我最後決定就讀的學校,這裡會詳細介紹我在2020~2021所參與的課程心得與課程評價。英國碩士班的學制分為三學期,如果你打開課程規畫網站,會發現Teching Block 1、2,表示該課程是在第一學期和第二學期開設。
請特別注意:我所提供的課程資訊可能已過時,個人是分享2020/2021的資訊。
我比較了最新年度的課程資訊,發現原本的Software Engineering and Group Project變成Overview of Software Engineering、多了Summer Team Project。應該是原本必修的團隊專案被獨立出來,作為60學分的大專案,可以讓學生在個人專案(MSc Project Computer Science)和團隊專案做選擇。
這門課主要是讓我們更了解電腦科學的一些領域,也是給大家了解60學分的大專案可以怎麼做。我們那時候是分組進行,每一組由一個老師來帶領,他會給幾篇歷屆學長姊的論文,請大家每個人選一篇來寫摘要、並且報告給整組的同學聽。畢竟是只有10學分的課,並不困難,我覺得確實藉由閱讀論文和聽同學報告有更認識這門學科,而且這份報告也可視為之後要寫論文的暖身,試試自己的英文寫作(還有報告會用到口說)在老師眼中有沒有太大的問題。
整個課程中唯一一門30學分的課,算是很硬。課程可以分成兩部分,前半部介紹C語言的基本語法,其中pointer的概念是比較困難的,尤其是第一次接觸的學生,會不太容易理解;後半部分,著重在介紹資料結構,我們會實際用C語言去做各種資料結構,例如:linked list、hash table、graph等等,也會有一些演算法,但比例比較少。這門課以作業的成績為主,也會有很多作業,雖然每個禮拜都在為寫作業苦惱,但我覺得很紮實。老師教學的方式和課程安排,我覺得是所有課程中最好的。我現在工作,有時候還會把上課的講義拿出來讀,很紮實又實用的一門課。我會建議確定入學的學生可以先去上哈佛大學開的CS50課程,他們也是教C語言,可以幫助你熟悉C語言。我也有保留當時老師上課的所有錄影,如有需要的同學,可以寫信向我詢問。
我發現這門課的老師和我這屆已經不同了,但課程大綱差不多。這門課比較困難的是後面在上assembly language的部分。我們那時候有學怎麼寫簡單的assembly language,考試也有考。比較可惜的是,這門課和C語言一起開在第一學期,原本立意應該是可以透過C語言去了解系統,兩者相輔相成,但老師並沒有給我們這樣的訓練。我自己參考了大學部的Imperative and Functional Programming,前半部的C語言部份比較有提到和系統間的關係。我也有大學部這門課程的資料,需要的同學一樣可以寫信向我詢問。
作為第二學期最主要的程式課,我給它偏差的評價。這門課在我們這屆幾乎是自學的方式進行,老師給的課程錄影很顯然是從大學部的課堂上擷取出來的,所以連貫性很差。課程進行的方式,像是利用每周的作業讓大家去自學,雖有每周和老師討論的時間可以提問,但在沒有足夠基礎下,也很難問出問題。看授課老師到現在還是同一位,只希望他有吸取我們的教學回饋並有所改善。我那時候自己花很多時間讀Java的書,根本沒什麼在看老師提供的錄影,就當成是自學完利用每周作業去練習。大學部的Java課Object-Oriented Programming and Algorithms I看起來就很有規劃,到MSc就被魔改。我也有大學部這門課的資料,有需要的同學自行與我詢問。
這門課前半部份主要介紹一些工具,例如:Git、Shell Scripting、不同語言的Build Tools,還有SQL語法,我覺得算蠻實用的;後半部介紹網路開發的御三家:HTML、CSS、JavaScript,這部分個人覺得實用性比較低,算是師父領進門,畢竟像JavaScript本身就能當作一門課來學,這一點點的介紹只是讓大家有個基本概念。因為我們第二學期有另一門團隊共同開發的課,是以開發網路應用程式為主,所以這些基本的網路開發工具能提供基礎,但實際上要完成小組開發專案,還是要靠個人深入去了解相關技術。對於課程有興趣的同學也可以先上課程網站瀏覽內容。
最後要介紹的課程是個人的專題(案),也就是在第三個學期開始,個人要完成的論文。我記得大概在第二學期中半段開始,大家就要選擇論文的指導老師和決定你要做的題目,也可以自己想題目,看看有沒有老師對你的題目有興趣,主動指導你。簡單來說,過程是雙向開放的,你可以選擇有興趣的老師和題目,也可以提出自己的計畫、讓老師主動來媒合。雖然說一直是到第二學期才決定論文題目,但就我們這屆的經驗,很多熱門的題目或老師(特別是金融科技相關的題目)很早就有同學去預訂了,所以有想法的同學可以在第一學期或甚至入學之前,就認真的規畫自己的專案,盡早去找相關領域的老師,詢問指導的意願。這個論文大概會寫15000字左右,但字數不是重點,重點是能不能將自己的專案呈現好。原本應該是有口頭報告自己的專案,但我們那年因為疫情就沒有安排了,我自己覺得很可惜,無法了解大家的成果。
布里斯托大學的CS課程很紮實也蠻硬的,有許多的作業和考試、也會有一些要分組和別人討論、實作的課程。尤其是第一學期大家普遍都念的蠻辛苦的,所以我會建議有餘力的同學可以在課程開始之前先找C語言的資源自修。我另外會給將來的學弟妹三個建議:
上述三點的優先順序應該是由上而下,先顧好課程內容,評估自己的能力和時間,再向外學習。當然大家都來英國一趟了,整天關起門來念書也有些浪費了,出門走走、旅遊也很重要。如果大家關於課程內容還有什麼問題,歡迎寫信給我。
comments powered by Disqus