115-1 Course Review

This semester, I took four courses, each worth four credits. For an exchange student, there is an upper limit of 5 courses and lower limit 3 courses. Detailed reviews of each course are available below. Overall, I received two A’s and two A+’s.

這學期我一共修了四門課,每門課都是 4 學分,對於交換生的選課下限是3堂課,上限是5堂課。每門課的詳細心得可看下面,整體成績是 兩門 A、兩門 A+。

I’m not entirely sure about the exact grading criteria. It’s commonly said that grades are based on a bell curve, but the cutoff points are not publicly disclosed. Personally, I didn’t find the courses in Singapore to be significantly harder. In fact, some of them felt relatively manageable. There are usually around two weeks of break before midterms and finals, and the exam scope is reasonable and not overwhelming.

老實說我並不清楚實際的評分標準,只知道成績是依照 bell curve 給分,但實際的 cutoff 並不公開。就我自己的感受而言,新加坡的課程並沒有特別困難,甚至有幾門算是相對好應付。期中考和期末考前通常都會有大約兩週的準備時間,考試範圍也不會太誇張,整體負擔算是可以接受。

NUS requires 160 credits for graduation. Compared to NTU where most courses are worth about 3 credits, the number of courses required is similar—around 40 courses. However, I find NUS courses are not significantly more demanding. Excluding midterms, finals, and the week before exams, there are 13 weeks of instruction. Each course has about 2 hours of lecture plus 1 hour of tutorial, which seems comparable to NTU. In reality, lectures don’t run the full 2 hours; instructors typically leave about 30 minutes for students to move between classrooms, so the actual lecture time is roughly 1.5 hours. Tutorials are similar to NTU lab sessions—mostly led by teaching assistants covering problem sets or activities without advancing new material. Overall, I don’t think the workload in Singapore is particularly heavy.

NUS 的畢業學分是160,與台大每堂課大約3學分來說,畢業前要修的課程數量差不多,大約都是40堂課。但其實我覺得 NUS 的課程沒有那麼硬,扣掉期中考、期末考和考前一週的假期,總共是13週,每堂課大約是2小時的講課加上1小時的實習課,看起來和台大差不多,但實際上老師不會講滿兩個小時,大約會留將近30分鐘的時間給學生移動到下一堂課的教室,所以實際講課時間只有約一個半小時。至於實習課就和台大差不多,多數由助教帶一些題目或活動,不會教進度。所以我覺得在課程負擔來說,新加坡不算大。

One thing worth mentioning is the class scheduling. It seems there is no fixed lunch break, so I have multiple classes starting at noon. I usually grab lunch at 11 AM to avoid the peak hour at 12 PM.

另外一點值得提的是上課時間,他們這邊好像沒有固定的午餐時間,所以我有多堂課都是從12點開始,我會11點就去吃午餐,也能避開12點的尖峰時間。

CS2113 SOFTWARE ENGINEERING & OBJECT-ORIENTED PROGRAMMING

  • grade: A
  • load: 7/10
  • hardness: 6/10

This course covers Java programming, including naming conventions, method extraction, and test case writing. It also introduces teamwork skills such as GitHub workflows, documentation writing, and collaborative development.

這門課主要教 Java,從基本的命名規則、method refactoring,到寫測試案例都有涵蓋。另外也會教團隊合作相關的內容,例如 GitHub workflow、文件撰寫,以及多人協作的流程。

Overall, the course covers a wide range of topics but the workload is not excessively heavy. Lecture videos are posted on Canvas, and class time is mainly used to highlight key concepts. One thing I found confusing was the large number of platforms used: one website for the textbook, another for online coding assignments, another for anwering in-class questions, another for peer evaluation, anonymous feedback, and so on. It took some time to get used to navigating between them.

整體來說內容很多元,但負擔不算太重。教學影片會放在 Canvas 上,實體課程則是帶過重點,比較讓我困惑的是,課程使用的平台實在太多了,例如:教材一個網站、線上作業一個網站、課中回答問題、組員互評與匿名回饋又是不同的系統,一開始需要花點時間適應。

The first half of the course focuses on individual assignments, while the second half is a team project with four members. At the end, there is a final exam conducted on Examplify with access to an e-textbook. Although it is technically open-book, the e-textbook is slow to load and not very user-friendly, which can be frustrating during the exam.

前半段是個人作業,後半段則是四人一組的團隊專題。期末有一場在 Examplify 上進行的考試,可以使用電子課本,理論上是 open book,但實際上電子課本載入很慢,考試時其實不太好用。

The team project includes an interesting part – finding bugs in another team’s project and assigning severity to these bugs. After the process, the owner of the project can choose to downgrade the severity. If you have the correct severity, you can receive a bonus. I found that most people tend to assign a higher severity tag at first and then downgrade it, so they cannot get the extra points. Maybe it is a good strategy to assign a low severity and try to earn the bonus points.

這個團隊專案有一個有趣的部分——找出另一個團隊專案中的錯誤並給這些錯誤分配嚴重性。在這個過程之後,專案的擁有者可以選擇降低嚴重性,如果你給出的嚴重性是正確的,你可以獲得加分,我發現大多數人一開始傾向於給出較高的嚴重性標籤,然後再降低,因此無法獲得額外的分數。也許給出低嚴重性並試圖獲得獎金是一個不錯的策略。

CS3235 COMPUTER SECURITY

  • grade: A+
  • load: 6/10
  • hardness: 7/10

This course is taught by two professors. The first half focuses on computer security topics such as timing and space side-channel attacks, while the second half focuses on cryptography. Besides, the course was well recorded and available on Canvas website.

這門課由兩位教授共同授課。前半段著重在電腦安全相關議題,例如 timing attack 和 space side-channel attack;後半段則是密碼學。

Each part has its own assignments and a relatively simple final test. The assignment in the first half involves Rust programming and can be quite time-consuming. That said, the overall difficulty is reasonable. I found the second half more straightforward and scored full marks (20/20) on its final exam.

每一部分都有作業和一次小型期末考。前半段的作業需要用 Rust 寫程式,花的時間比較多,但整體難度不算太高。後半段相對輕鬆,我在該部分的期末考拿到滿分(20/20)。

CS4236 CRYPTOGRAPHY THEORY AND PRACTICE

  • grade: A
  • load: 7/10
  • hardness: 8/10

This is a theory-heavy course with no programming assignments. All homework is written and focuses on cryptographic concepts and proofs. There is one assignment every week, usually due the following week, and it can be quite time-consuming if you are not already familiar with the material. Besides, the course was well recorded and available on Canvas website.

這是一門非常偏理論的課,所有作業都是書面作業,沒有任何 coding。每週都會有一份作業,通常下週繳交,如果對內容不熟會花不少時間。

There is no midterm exam. Homework accounts for 60% of the final grade: ten assignments worth 6% each, with the lowest two dropped. The final exam accounts for the remaining 40%. I scored 33 out of 40 on the final.

這門課沒有期中考,作業佔總成績的 60%,總共有 10 次,每次 6%,其中最低的兩次會被捨棄。期末考佔 40%,我在期末考拿到 33/40。

ST3239 SURVEY METHODOLOGY

  • grade: A+
  • load: 5/10
  • hardness: 5/10

The professor is very dedicated and explains the rationale behind each survey method clearly, often using real-world examples. However, the course places less emphasis on mathematical derivations and calculations. Sometimes formulas are shown without detailed explanations of how they are derived.

老師教學非常用心,會用很多實際例子解釋各種調查方法為什麼要這樣設計。不過課程比較不強調數學推導,有時候只會帶過公式,並不會深入說明計算過程。

There is one midterm and one final exam, both of which are not very difficult. I received full marks on the midterm, though the final exam score was not released. Overall, this course is good for gaining a high-level understanding of different survey methods and their pros and cons. However, if you are specifically interested in the mathematical details—such as how to compute estimators under different sampling schemes—this may not be the right course for you.

這門課有期中考和期末考,兩次考試都不算難。我期中考是滿分,但期末考成績沒有公布。整體來說,這門課很適合想要了解各種抽樣方法及其優缺點的人;但如果你是對統計計算本身(例如不同抽樣法下如何計算估計量)特別有興趣,這門課可能就不太符合期待。