# 西浦Y4选课指南

**写在前面**：ICS Y4的选课是十选六（每门5学分），除此之外还有贯穿整年的FYP（10学分）。与前三年不同的是，Y4分数的重要程度因人而异。对于申请美研的同学来说，Y4能毕业就行，可以适当划水；也有相当一部分同学大四为了达con、gap申请等等刷分。

对于要DIY申请/考语言/科研实习的同学来说，大四会非常忙，合理规划选课可以在省去一些workload的同时拿高分。大四刷分相对来说容易，ICS的一等学位也蛮多的。FYP给分大多在60-70之间，其他课考高一些也问题不大。

总的来说，建议大家根据个人兴趣和未来发展方向去选课，在此基础上适当参考课程难度和给分，毕竟不感兴趣的内容学起来很痛苦。

以下均为笔者（19级）参考自身以及身边同学的经验总结得出，仅供参考，课程难度和内容可能随年份变动，欢迎补充修改。

## Y4-S1

### **INT301 Bio-Computation**

难度：★★★★☆ (4/5)

课程收获: ★★★☆☆ (3.5/5)

#### **1. 课程概述**

**教师**： Dr. Rui Yang

这门课主要在讲人工神经网络（ANN）的概念以及在监督学习/非监督学习上的应用，例如perceptron，MLP，CNN等。这门课会和生信以及CST的同学一起上，内容和INT303、INT305稍微重合，笔者认为这门课相对硬核。老师会从最基本的什么是learning什么是label教起，比较友好，也会讲一些contemporary topics，但课程内容较多，期末抱佛脚会很辛苦。

**往届均分**：18级均分61，中位数61，比另外两门INT（均分70+）低一些。这门课高分可以很高，好好学可以85+甚至90+（参照INT202）。19级的分数还未出，出了之后会继续补充。

**整体建议**：总的来说，建议对ml和算法感兴趣的同学选，这门课的理论知识可以帮助你打好基础，不建议大四想轻松划过又同时想刷分拿一等的同学选，按照往年数据来看，低分飘过的同学比较多。

**推荐指数**：★★★☆☆ (3/5)

#### **2. 课程组成**

**授课方式**：lecture+tutorial+lab

lec主要讲概念，也有计算内容，但没有特别难，对着公式和算法一步一步算即可。只有两个ttl，讲一些计算题，其余时间的ttl讲的是lec的内容。lab会给完整的MATLAB代码，run一run代码，大概了解意思即可，不会考写代码。

**Assessments**：两个15% in-class test + 70% final exam

19级的in-class是到线下教室完成LM上的quiz，5分钟10道填空题，第二个in-class会考到MATLAB相关的题。每个人的题都不太一样，但都是概念填空（ppt原句/代码注释原句）或者非常简单的计算，ctrl+f足够。这30分约等于送分，满分的人很多。

期末考试是2h的半开卷，可以带一张A4纸的cheat sheet（可打印可手写），题量适中，计算题大约占一半，剩下的是开放性的设计题/解释题。lab占比很小（5分MATLAB题，给代码写注释）。老师出题比较灵活，不爱出原题，建议好好复习，多做past paper，保证不要算错。

Ps：连续两年考了手算back propagation，连续三年的最后一题都是20分的开放性概念解释题，都差不多，写好答案在cheat sheet上带进去基本等于白给。

#### **3. 期末佛脚指南**

这门课好好学ppt内容，上课认真听，ttl会写就足够了，past paper重中之重。Rui Yang老师的课程质量还是很高的，笔者觉得他是ics教学最好的老师之一。这门课考试基本上也是原创题，国外大学的开源课程中貌似没有内容100%重合的课，去狂学别的课程价值不是很大。如果有学不懂的地方，哪里不会google哪里。

### **INT303 Big Data Analytics**

难度：★★☆☆☆ (2/5)

课程收获: ★★☆☆☆ (2/5)

#### **1. 课程概述**

**教师**： Dr. Jia Wang, Dr. Pengfei Fan

这门课主要介绍数据科学相关的概念和应用，课程涵盖内容很广，data collection, exploration, modelling, analytics, visualization等等都有涉及，但不太深，很多地方都是点到即止。也有讲（复习）一些最基本的机器学习算法，对有基础的同学来说很简单。总的来讲topic挺有意思的，lab和assignment写的代码基础但是实用，ds也是现在的大热门学科，这门课会告诉你如何be a good storyteller。缺点是这门课体验感不是很好（个人感受），老师口语不是很好，assignment要求变来变去...复习课还教了一些前面没提到的新东西。

**往届均分**：18级均分67，中位数69。19级的分数还未出，出了之后会继续补充。

**整体建议**：选！一定要选！又轻松又考原题谁不爱呢。这门课几乎人人必选，大概是十门里面最简单的。

**推荐指数**：★★★★☆ (4.5/5)

#### **2. 课程组成**

**授课方式**：lecture+lab

这门课偏实践。前半学期lecture讲概念（也会讲python语法，考试也会考），后半学期讲比较实际的应用和算法。课程内容参考了Stanford的CS246。lab从教你安装jupyter开始，对零基础非常友好，参考了Harvard的CS109。

**Assessments**：15% data scraping + 15% data competition + 70% final exam

Assignments很有意思，分别是写爬虫和参加一个内部的kaggle，自己写会比较考验代码能力，但这些都可以在github和kaggle上找到（懂得都懂），都比较实际而且有趣，是以后从事ds方面工作的必备技能。

期末考试是2h的闭卷，题量适中，不太难，同样有计算题以及开放性的设计题/解释题。会有一题lab内容，考最基本的pandas和numpy语法，其余全是ppt/课本/别的学校试卷的原题。计算题都很简单，都是之前讲过演示过的，一定不能丢分。

#### **3. 期末佛脚指南**

如前所述，question-oriented learning and solution-oriented learning。 第一节课老师就说考试会考ppt上的原题，甚至贴心到把ppt的题目都给标了“Questions”，考前的复习课会把所有考点和题目都讲一遍，不乏考试原题，背一遍标准过程和答案基本等于白给（谢谢老师）。从18级这门课换老师开始，这两年的期末都有大量参考Stanford CS246的期末卷子（2013和2019的），ppt questions也基本上是参考的国外大学其他开源课程，甚至用的是原题的截图，建议善用搜索引擎。

**押题小tips**：如果你复习完了想找题目做，建议google老师参考题目和课本的那几门课，做做附近几年考点范围内类似past paper和sample questions的题目，考试的时候你会发现惊喜 -- 最后拿来考试的题一个字也没改。笔者看到期末卷子的那一刻差点笑死（还好戴口罩了）。

### **INT305 Machine Learning**

难度：★★★☆☆ (3/5)

课程收获: ★★★☆☆ (3/5)

#### **1. 课程概述**

**教师**： Dr. Jimin Xiao

这门课主要讲机器学习理论和算法，从最基础的分类和回归问题、损失和激活函数讲到概率模型，讲得很细，适合以后想走ml方向的同学巩固基础。这门课老师很强调数学推导，这也是考试的重点。这门课内容比INT303难一些，也小小重合了一部分，深入理解需要一些微积分线代以及概率统计的知识，但最后考试也考原题，所以功利点来说难不难没差，收获看个人。老师是做cv的，科研水平很高。

**往届均分**：18级均分73，中位数76，是大四上学期均分最高的（因为又开卷又出原题）。19级的分数还未出，出了之后会继续补充。

**整体建议**：选！非常适合懂一些ml基础并且想划水的同学，可以放心大胆划。没啥基础的同学也不用慌，老师上课会告诉你，有些地方听不懂也没事，因为不会考（乐）。

**推荐指数**：★★★★☆ (4/5)

#### **2. 课程组成**

**授课方式**：lecture+lab

lec讲的就是机器学习最基础的那些，网上有一大堆，如果ppt里面有什么地方不懂的话可以参考Stanford的CS230 CS231和Toronto的CSC311 CSC411，那些课的讲义更仔细而且有很多题目。印象里只有一节lab，讲的是assignment2要怎么写。

**Assessments**：两个15% assignment + 70% final exam

Assignments很中规中矩。第一个是手推逻辑回归和softmax多分类的gradient以及比较svm loss和softmax loss，课件和网上都有，建议用latex写，分比较高。第二个是用cnn跑mnist，baseline都给了调参就行，只需要写一点点代码，以及找一些sota的网络结构来提高accuracy（打开paperwithcode搜论文和代码然后paraphrase）。Assignments的评分很看report格式，身边同学普遍80+或90+。

期末考试是3h的开卷（健忘症狂喜），题量不大，很多人1h出头就交卷了。考试只考前十周的内容，同样也考原题，只要打印足够多的材料就能高分。这也是为什么305比303难，分却比303高。全卷只有一道非常简单的cnn计算题是原创，其余都是原题，甚至两年考了一样的题目，变成了大型抄书现场。对数学的要求：会加减乘除，会求导。最难的那一道概率模型题是原题so你不需要很懂，不要抄错就好。

#### **3. 期末佛脚指南**

一样地，question-oriented learning and solution-oriented learning。 这门课甚至不用背题，因为是开卷。也不用怕时间不够，本身题量就少，翻翻资料再抄抄答案用不了多久。这两年的期末都有大量参考Toronto CSC311 CSC411的期末卷子以及平时习题，都打印下来就没错。如果你实在没时间复习的话，把你能打印的东西都打印出来，考试的时候慢慢找，来得及。

以下是笔者带进考场的资料，仅供参考：lecture ppt，第一个assigment的答案（gradient的推导），past paper的答案，chain rule以及各种求导的cheat sheet，cnn计算公式cheat sheet，各种国外大学课程的试卷以及习题。

**押题小tips**：同INT303，如果你复习完了想找题目做，建议google老师参考题目和课本的那几门课，做做附近几年考点范围内类似past paper和sample questions的题目，考试的时候你会发现惊喜 -- 最后拿来考试的题一个字也没改。笔者考303的时候已经笑过一回了，看到原题也不太意外，毕竟是大四，只要不是交白卷老师就不会挂你。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://survive-xjtlu-cs.gitbook.io/survivexjtlumanual/zi-jiu-pian/ics-ke-cheng-jing-yan-fen-xiang/xi-pu-y4-xuan-ke-zhi-nan.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
