0%

十年后重学核心课程

十年

公元2009年8月29日,也就是十年前的今天,我赶往学校报到,成了名大学新生。十年后,我成了大学教师,过几天就要给学生们上课。本想专门写篇文章纪念这重要的十年,但所思所想不足以成文。所以在本文的开头借用一点篇幅,感慨这丰富多彩的十年,这沧桑巨变的十年!

我本科和硕士都是自动化专业,由于工作期间基本只关注特定的方向,几门专业课长期没有接触,比较生疏。我要重新把这些知识捡起来,这样在讲台上会有更好的发挥。所以,我准备“十年后重学核心课程”,在本文中分享一些学习材料和经验。其实自动化、电子、通信、测控、电气等专业在本科阶段学的课程很相似,本文对这些专业的学生都有参考意义。

我本着认真负责的态度书写本文,拒绝道听途说的信息,所有提到的材料和经验本人都亲身经历过。我把所有重要的课程分为三类:数理基础、计算机基础和专业核心。

数理基础

微积分

微积分没学好,学习后续的专业课程会寸步难行。工科专业的学生没必要花太多时间钻研晦涩难懂的实数理论和\(\epsilon-\delta\)语言,理解核心概念,能熟练计算就够了。国内高等数学课普遍使用同济大学版的教材,我读过『微积分与解析几何』这本书,内容比同济的教材浅显易懂,省略了很多复杂的证明,应用部分的篇幅挺大,对深刻理解知识很有帮助,可以作为学习的参考书目。

如果对严密的数学有执念,可以尝试数学专业的『数学分析』课。我十年前学的就是这门课,用的华东师大版的教材,我觉得这套教材还不错。菲赫金哥尔茨的『微积分学教程』被誉为是经典分析学的巅峰之作,几个月前我尝试了一下,读完了实数理论、数列极限和函数极限这几章,非常喜欢。实数理论那一章用分划来定义无理数,非常巧妙和深刻,也使得确界原理的证明比华东师大版的证明简洁很多,令我印象深刻。这套书一共有三本,篇幅大且难度高,全套读下来要耗费大量时间。所以我计划只阅读这本书最核心的部分,计算的内容扫一扫其他的教材就够了。

线性代数

线性代数也非常重要,专业课程中很多理论都用线性代数的语言描述。强烈推荐MIT的线性代数公开课,我读研究生的时候才看的这个公开课,要是早点接触这个课程,当年就不会学得那么不明不白了。教材可以用授课老师Gilbert Strang著的Linear Algebra and Its Application。需要注意的是,这门课注重理解和计算,基本上不做证明,想学习更严密的代数可以找本数学专业的教材,比如丘维声的『高等代数』

计算机基础

C语言

C语言应该是本专业最重要的编程语言。由于接近计算机底层硬件,学好了C语言就相当于把计算机基础打牢了,后面再学其它的编程语言也很快。

对经常使用C语言的人来说,K&R的『C程序设计语言』是必读的。两个作者都是贝尔实验室的核心成员,其中一位还是C语言的发明人,他们的技术功底非常深厚。这本书被誉为是技术写作的典范,是经典中的经典。但因为其难度大,并不适合初学者,可以作为学习C语言的第二本书。

我强烈建议电子工程专业的学生学完C语言之后,马上去学习单片机编程。买一款最便宜的51单片机开发板,参考郭天祥的视频学习,甚至都不需要电路、单片机等基础知识,因为视频里把需要的知识讲得很清楚。提早接触单片机C语言编程有什么好处呢?首先,学完C语言后马上应用,熟练之后就不容易遗忘,免得一两年后又要重学一遍C语言;其次,能够理解软件和硬件的关系,知道市面上那些简单的电子产品是怎么做出来的,可以激发学习兴趣。

数据结构与算法

很多人在遇到比较复杂的功能时,无法用代码实现,这就是编程能力的不足,而学习基础算法是编程能力提高的必由之路。非计算机专业的本科生如果时间精力有限,算法不需要学太深,了解链表、队列、栈、二叉树、排序算法等基础内容就足以应付日常开发和求职面试。我推荐『数据结构与算法分析(C语言描述)』这本书,大部分内容都覆盖到了,篇幅合适,而且书中没有用伪代码,给出的C代码可以实际运行。

写代码其实也类似于一门手艺活,提高需要大量的练习。我自己有亲身体会,读研时做软件和算法,写了不少代码,还专门学习了算法,刷了不少OJ上的题目(详见刷leetcode有感)。那段时间深切地感受到了编程能力的突飞猛进,以前觉得很难的代码也能信手拈来,大部分功能需求都不在话下。

专业核心

电路分析

我目前在读『电路分析导论』,这本书中有大量的实用知识。电阻器的颜色编码、常用仪表的原理与使用方法这类的知识就不说了。像真实电容器的实际模型(有电阻和电感成分)以及它的频率阻抗曲线这类知识太有用了,但国内的教材基本没有提及。本科刚进实验室做电子设计比赛时,发现电路板上用到好多电容,只知道电容有滤波、去耦等作用,对一些细节问题模棱两可,比如:

  • 滤波电容、去耦电容、旁路电容分别是什么意思?
  • 为什么稳压芯片输入输出端并联的电容大小不一样?
  • 为什么有很多小电容并联,而不是用一个大电容去替代?
  • 为什么电感同样作为储能元件,应用没有电容那么广泛?

如果不知道电容的实际模型,很难从理论上解释上面的问题。这本书真正是理论与实际相结合,做教材和参考书都非常好。但是这本书没有提及电流、电压的参考方向,这是个不小的缺陷,所以建议主要用国内的教材学习,这本书作为辅助。

模拟电路

我当前在读Microelectronic Circuits这本教材,内容相当丰富,例题和习题也很有代表性。这本教材在台湾省的几所高校里地位非常高,台湾交通大学有一门电子学课程,用的就是这本教材。主讲老师陈振芳讲得很详细,甚至有点啰嗦,就怕你听不懂,视频在B站上就可以找到。大陆没有这本书最新版的译本,台湾有,但是价格比较贵,购买起来也不方便,我一时脑热买了,一定要认真读,不然对不起白花花的银子。详见另一篇文章:谈谈『Smith的电子学』

数字电路

数字电路相比模拟电路要容易好多,用国内主流的教材即可。

自动控制原理

这门课是自动化专业的核心课,难度比较大。2020年春这个学期,我带了『自动控制系统与仿真』这门课,算是基本掌握了这门难啃的课程。内容最全的教材莫过于胡寿松编的『自动控制原理』,它是重要的考研参考书。该书的优点和缺点都在于,讲得实在是太细了,细致得让人望而生畏。所以我大部分时间是读的另外一本『现代控制工程』,详略得当,把工科学生需要掌握的知识点用适当的篇幅讲清楚了。

微机原理与单片机

待补充。

信号与系统

待补充。