我的 UBC 课程总结
简要总结下本科课程
First Year
大一,可以说就是把国内高中的东西拿英文重新上一遍,压力很小,几乎每天都有时间健身。两个工程导论课还算有意思,小组讨论的形式很锻炼口语。
APSC 100/101
工程学导论,主要介绍工程项目的设计流程和方法,以及与环境和经济的关系。有教授 SolidWorks 的基本用法和 3D 打印技术的简单介绍。两个动手的项目,分别是 Term1 的纸板椅子和 Term2 的 Arduino 夹子。我们纸板椅的设计以折叠为主,用 SW 钣金功能极大简化了设计难度。实测 75kg 的人直接屁股坐上去不成问题。不过最后测试时重量是压在两只鞋上,导致只有部分结构在实际承重。Arduino 夹子没啥好说的,编程部分就是个超声波和舵机,非常简单,更多在动手剪铝板压铆钉上。
课程里几个印象深刻的点:
-
Design Process
核心在于,将问题分解为多个维度的评价标准 (evaluation criteria), 并对头脑风暴出来的众多方案中可行的几个打分。
-
C-Sketch
非常有趣的头脑风暴方案,避免了 “某人看起来很专业所以听他的就好了” 这种事发生。做法是每个人 10 分钟画一张画表达自己的想法,期间不许语言交流。画完后传给下个人,下个人继续用 5 分钟把他对这个方案的理解补充上去,以此循环,直至轮转完一圈。如果说完全没有绘画技巧,那理解起来就比较抽象了。最好学一下基本的透视,方块和曲线的画法。
关于设计流程的部分其实来自某教授的一本书,虽然内容不错但也太贵了吧…后面 MECH2 还会再提到。
APSC 160
少儿编程难度的 C 语言,当然人家正式名称叫做编程在工程中的应用… 考试是手写代码。平时的 lab 很有意思,有一套 daq 系统和外界交互,需要 Visual Studio,因为 daq 以及模拟器的库是 Windows 平台的 dll… 当时对编译过程一窍不通的我试图用 mingw gcc 未果,不过理论上应当是可以的。
推荐教材是本没听说过的书 Programming in C, 虽然课并没按教材讲,而且只覆盖了 1/3 不到的内容,但我在暑假把整本书看完了。难度很低,没有算法,没有任何宏之类的奇技淫巧,可以说是很好的 C 语言入门材料了。说来也怪,我靠学 C 把当初看廖雪峰 Python 没看懂的 OO 搞明白了。看到结构体和函数指针,立马手撸了个多态; 结构体套结构体,也算实现了继承; 至于封装…不知道该怎么实现,毕竟结构体的声明里一定暴露了所有成员呀…
PHYS 157/158
普高难度的物理,只是用英文讲,没啥好说的
PHYS 170
力学初步,极坐标柱坐标转换什么的有点烧脑,不过背公式就完了。考试非常简单。
CHEM 154
普高难度的化学,加上一些定性的东西需要背一下,电子轨道理论高中没学,需要补补。难度基本在背单词
ENGL 112
英语课,学术写作,讲一些用词行文以及引用参考文献的规范。说实话听不太懂,final 直接让写一篇 400 词文章。我托福都没写过这么多…
MATH 100/101
微积分,国内大先那套 $\epsilon-\delta$ 语言真的是上吐了,这里不讲推导所以简单很多,毕竟工科嘛,会用就行。作业题感觉很简单但不知道为啥 final 分不高…
MATH 152
线性代数入门。到特征值特征向量以及特征值法解微分方程就结束了,难度不大。我的 Prof Yuexian Li 是个中国人,以前看过简历,似乎是中科大的本科,然后 80 年代中科院的研究生!课上的非常好,以至于后来我去看大家吹的 3B1B 只觉得无感,当然线代这玩意儿入门真就是会者不难。有 Lab 会教你 MATLAB 的基本使用。总的来说很实用,体验很好的一门课。
FREN 100
Summer 赶上疫情,上的网课。用英语讲的法语课。以敢开口为主,气氛比较欢乐,当然单词肯定是得背。考试有口语和笔试两场。感叹一下加拿大同学确实很多都有法语基础呀… 和我一组的一个同学是歌剧系的,唱过法语歌词。另外她家在 Newfoundland,当时每天顶着时差上课…
LING 101
一样的网课,上课就像听故事。主要讲了国际音标以及从音位推断一些语言的关系。因为本身对这方面很有兴趣所以上起来很舒服,刷知乎看到方言还有古汉语等等话题总算能看懂一些了。
MECH2
大二,因为疫情回国全程网课。机械系大二比较特殊,全年级上同一套课表,没得选。而且 Term1 分成三段:机械制图和 Arduino,几门正课 和 工程导论。Term 2 也是分了两段,正课和最后的小项目。对于我们这些在另一个半球的学生,系里很贴心的准备了所有课的录播,lab session, tutorial, weekly quiz 也都有两个时区。Final 也选在了对大部分学生都合适的时间。相比其他专业的同学不得不上夜校,真的要吹爆 MECH.
另外,考试被安排在了大部分同学都合适的时区。而且由于网课,Symbolab 什么的全凭自觉,但我用 Python 写几个求解器应该不过分吧。
大二总算有那么一点点大学的样子了,大一上得太舒服,都快忘记学习的感觉了。
MECH 230
Arduino
玩 Autodesk 出的一个模拟器, 极其简单。
机械制图
上这课时我在隔离酒店…要用的图纸却寄到家里去了…只好拜托防疫人员帮忙打印…体验极差。内容主要是三视图,剖面图和尺寸标注。但相贯线之类的却只要求画个大概就行… ANSI 和 ISO 两套标准都讲了,但考试还是 ANSI.
MECH 232/233
继续工程导论,在 APSC 100/101 的基础上继续扩展。强制买某教授的书确实有点恶心,还没法寄国内,不过还好有热心同学拍照分享。
232 直接虚空设计,算算就完事儿了。233 要求做个爬绳器,因为疫情,最后性能就比个乐,不算分。既然在中国那自然淘宝铝板定制走起。轴承什么的更是想选啥买啥。可惜发货都在深圳,早知道让寄深圳那个同学那边去好了。还省得我组装了
MECH 221/222
所谓正课,倍速大屏看录播真的不要太爽。
MATH
常微分方程,雅可比矩阵 和 多元微积分,以及拉普拉斯变换,挺基础的内容,有配套 MATLAB lab. 还是,不讲推导所以难度不大。
Dynamics
刚体动力学。坐标变换,角动量,阻尼振动什么的。概念不难,本质上还是牛顿定律,但算起来有些复杂。
Solid Mechanics
固体力学入门。拉压应力/应变,剪应力/应变的计算,莫尔圆/应力圆,轴上的扭矩,梁的弯矩。内容其实没多少,后面 MECH360 两节课就把这些全带过了。教授也是个中国人,但她讲得实在是太太太慢了…我开两倍速都嫌慢…
Statistics
统…计?内容很少的一节课,很快就上完了。写这总结的时候甚至想不起来上了啥… 中位数,均值,众数,简单讲了下最小二乘和置信区间。
Circuit Analysis
电路分析。电流源和电压源的两种等效电路,电容电感,交流电的复数表示和 RLC 电路。
Material
材料学导论。晶体结构,塑性脆性,蠕变,金相。很多定性的东西。已经忘得差不多了。
Fluid Mechanics
流体力学入门。介绍一些基本概念和量纲分析,主要围绕雷诺数,还有管内的流动分析以及水泵。教授声音软软的,但讲课废话有点多…而且还有额外的视频要课前预习…这几乎双倍工作量了吧?
Thermal Dynamics
热力学入门。理想气体状态方程,焓,熵,相变,几种热力学过程和它们的 TS 图。没啥,算就完事儿了。
MECH 226
技术写作。由一个 89 年已经在乌克兰毕业,95 年又来加拿大读博的英语文学专业乌克兰老太太念 ppt. 这门课贯穿整个大二。内容是怎么在公司里写汇报 233. 对于非母语者确实有难度,也确实很实用。但是吧,至少我,这辈子应该达不到这门课能拿 A 的水平了…毕竟语言这东西,尤其是写作,母语者真的一眼就能看出别扭的地方。
Mechatronics Year 3
机械电子方向大三分两年:Year 3 和 Year 3.5. 大学上到这时候终于算是学了点实用的东西。
MECH 306
概率统计和实验设计。标准差,均值标准差,正态分布,学生 T 分布,假设检验,F 检验,(配对)T 检验,中心极限定理,贝叶斯定理,泊松分布,指数分布,二项分布,加权平均,拟合,机器学习简介,滤波器,主元分析. 哗哗列了一大堆,感觉都是挺重要的主题,但教授上课和课程内容设计实在太差. 要不是我高中上过概率论与数理统计先修,真的不知道这课在讲什么。概率论上来不讲符号直接放公式,排列组合维恩图什么的直接跳过。统计也一样,上来连随机变量定义都不讲,一个概率密度直接把大家全搞懵。公式推导一概不讲,背住就完事儿。
实验部分也只能算差强人意。三个安排好的实验要从学校拿材料自己在家做,其中流体和热力学实验偏差实在太大,硬件问题也基本无法解决。最后一个自己设计的实验还算勉强,但其实绝大部分组都是搞点数据然后 T 检验或者 F 检验再画个图完事儿,半定量甚至纯定性的分析为主,仔细想想也没有任何成就感可言。
考试体验也极差,期中上课一嘴带过的二项分布做了一整道大题。期末因为每年讲课内容还不一样,历年考题完全不能参考,复习都无从下手。总之是非常让人迷惑的一门课。
MECH 360
材料力学。梁的弯矩,柱屈曲,能量分析,静不稳定梁的分析,不对称弯曲,剪力中心等等。相当友善的一门课。内容不多,难度不大,所以教授讲得比较慢 习题课 TA 也是. 公式也都很好理解。作业判得比较严,甚至多算了一些东西也要扣分。
MECH 375
传热基础。传导,对流和辐射,热交换器。教授讲得略微有些奇怪,一上来听着会有些迷惑,但上到最后发现本质其实就是热传导方程 + NS 方程。平时作业题来自某参考书,和讲课内容基本不搭,TA 直接念标答。不过考试还好,因为基本只能参考经验公式,并不会考手解微分方程,按计算器就完事儿了,还有一部分概念简答题。
ELEC 302
模电。二极管,PN 结,运放,三极管和 MOS 管。内容多但难度不大,教授语速极快,上课容易跟不上,不过回看 PPT 基本都能看懂。PN 结物理原理有点迷惑,不过明白了也就是一层窗户纸。考试允许带 4 页双面笔记,相当友善。
Lab 部分挫败感极强,四个 LAB 我们两个都没做出来…应该是器材的原因。Lab TA 几乎没有任何作用。
ELEC 343
电机入门。三相电,电感,磁链,变压器,直流,步进,同步,无刷,感应电机的基本原理和简单分析。内容有相当的广度和深度,这学期投入最多的一门课。教授讲得也很好。尤其学到磁链,电感,交流,qd 坐标系等等需要数学的地方,能切实感受到数学在工科中的美妙应用。直流和无刷电机还给出了 SimuLink 模型,我也顺带入了个 SimuLink 的门。Lab 工作量相当大,有大量的计算。有时发现数据和理论不符,怀疑是误差,但仔细分析发现还是自己理解不到位,理论值算的有问题。Lab 后面几个问题也相当有深度。摆烂了一个 Lab 实在是很抱歉。
习题和实验课的时间安排有些迷惑,经常上课还没讲就需要做实验做题…因为这个还导致我们某个 Lab 没做出来…还好有去年疫情期间录好的的视频可以抄数据参考。
CPEN 312
数电和 8051 汇编。如果看过 Code: The Hidden Language of Computer Hardware and Software 这本书,那这门课可以秒杀之。课程分为独立的两段:期中前数电,主要是布尔代数,锁存器,触发器,同步异步计数器,状态机和多路选择器。布尔代数虽然不讲数学证明,但会考 K-Map 化简和纯 NAND 搭任意逻辑等等,虽然之前有过一点了解,但真正学起来还是有些难度。Lab 用 FPGA 做。期中后就是 8051 汇编。讲课内容对新手不太友好,最好有一些计组基础或者单片机 (非 arduino) 经验。除了基本的汇编指令,寄存器,栈和 51 内存结构,还讲了:
- 数学计算
- 负数的补码表示
- Binary <–> BCD
- 大于 8 位的无符号加减法
- 大于 8 位的无符号乘除法 (简单介绍)
- 中断和定时器
不考但其他年份讲过所以只放出 PPT 的内容:
- 串口:RS232
- SPI
对我而言很轻松的一门课,从此无惧汇编,了解了许多底层细节。老教授这门课教了 20 多年了,FPGA 的 51 软核,汇编器,调试器和 IDE 都是他自己写的。PPT 后面的练习题虽然不讲,但值得一看,比如 51 的栈传参。FPGA 板子是 Intel University Program 的 Altera Cyclone V,优惠价 99 美刀,但还是很贵啊…强制买还是有点肉疼。
Year 3.5
可以说浪费生命的一学期。
MECH 325
机械零件设计。其实是挺复杂的课,但受限于本科,变成了纯查书找公式。
MECH 328
纸上谈兵的吹牛项目课,没啥意思。
MECH 366 / MANU 386
工业自动化。唯一有价值的地方在于开了个传递函数的头。剩下的就是告诉你一些事实,没有工业界经验的话听了也白听,有经验的也不需要听。
MECH 392
纯考试的制造工艺。上课讲点皮毛,考试现查公式表即可。2 学分的水课。
MECH 463
机械振动。可以很难,但讲得很浅,就是时域的微分方程,一点点频域都没有。讲了下模态但完全不讲数学证明。
CPSC 259
小学生级别的数据结构和(几乎没有的)算法。99 秒了。
MECH 468
现代控制理论,本科的研一的一起上。一边 coop 一边上这唯一的一门,倒也轻松。
怎么说呢,这东西本来就不是一门课能讲清楚的。状态空间,反馈控制,观测器,LQR,卡尔曼滤波器,都是简简单单入个门,告诉你大概是啥就得了。
学完之后就一个感觉,控制真就是数学呀!本来对控制还挺有兴趣,学完之后只有绝望。