|
本科毕业后从事编程多年,有幸来到五道口软件学院进修硕士,顺便把自己在学校的一些见闻写下来(真人真事),希望能给大家一些有用的信息。
. q% v% r+ s. @7 ~9 X关于大学学习
/ l I5 n1 O/ V1 S* W: s Z工作时一直在写软件,现在回到学校了,对实验室的项目完全没有兴趣了。什么原因呢?3 s/ l0 |% e5 H V# a7 z4 p$ r
记得96年上大学的时候,我们专业除了开“数据结构”、“编译原理”、“操作系统”、“组成原理”等等一些计算机相关的课外,还有“通信原理”、“自动控制”、“运筹学”等等专业课。当时我只对数学和编程有兴趣,所以除了计算机相关的课,其他课都只是达到了通过考试的水平。毕业后,也是一帆风顺,不禁常常想,“大学时开那么多专业有啥用呢,学会数据结构不是一样混的不错”。工作中接了十几个大大小小的项目,设计模式啊,框架啥的,用的是不亦乐乎,项目也全都完成了。5 w1 _0 n6 S1 o b4 g; t& B
去年回到学校里进修了,上了半年计算机系大牛们的课,真的不是一般的失望啊,手里动辄千万课题的博导们怎么都是那么敷衍了事呢?一个ppt从头到位的读下去,完全不投入,完全的不负责。下学期的课没办法只好去听了几门电子系和自动控制系开的课,老师都非常认真,而且讲的非常好。同样都是老师,计算机系的名气大很多,但为什么会有这样的差距呢?
; Z$ g$ L& U k, c仔细想想,前者在工作中,后者在学校里。计算机专业已经越来越工程化了。需要靠大量的非理论知识和经验来完成一个个项目。因此说,在工作中,完成一个项目需要学习很多新知识,但要注意,这些新知识可能并不深刻,并不难懂,而且是多变的,快速发展的;在课堂中,老师也没有必要把这些很浅显易懂的,大量的知识逐一深入的解释给学生。后果是什么呢?在工作中,我们被由另一些人不断创造的新技术驱赶着完成一个个似曾相识的项目;在课堂中,老师从不备课,读遍ppt,学生们也不需要懂,只要在需要的时候学学肤浅的新技术就能混毕业,混上工作了。
% m$ K0 G! ?: c8 m# t4 P从现实的角度看,这样的过程确实能够混上不错的日子,多年之后呢?总有一天你的学习能力会慢慢退化,而转行管理的机会又不是人人都能抓住。那时该怎么办?其实我现在就面临着这种困境,除了软件之外,我是不是应该学习些更加深刻的东西呢?
# l) W% r: [% |$ ?/ m, x这一年里,我开始学了“神经网络”、“模式识别”、“模糊数学”、“人工智能”、“网络安全”,所做的项目又是完全都是和硬件相关的。但是我又遇到了新的问题:“基础不行,学什么都很吃力”。
5 ]# E7 {- N# `: F) Q* P大学时期学习正是打基础的时候,千万不要为了一时的兴趣,而丢掉了更大的利益。在我现在看来,对于工科的学生:" M7 N& z3 r8 C! G6 n! K
1.数学分析是要尽量看的,同时要结合微积分的应用了解各类的应用,从实践上理解理论。比如:RLC电路。* _, ^; i& P6 L
2.线性代数和概率论必须掌握清楚,可以说薄薄的百页纸上的理论足够你使用一辈子,所有的学科几乎都用到了,太重要了。比如:模式识别,人工智能。
+ T! x' C* A- C2 Q) d) C 3.数理逻辑作为工科必须要学明白,这可不是离散数学上简要介绍的那些内容。比如:通信协议设计,安全协议安全性论证等
8 B% j: \7 u" k4 x# c 4.近世代数是一种培养人思维的学科,有空可以多看看。比如:密码设计等。
0 S; X3 Q4 P/ E9 q 5.实变/复变/常微/偏微/泛函这些可以适当了解下,到遇到具体应用问题时,再查书不迟。比如:线性系统等。 m2 W, N( B' c4 @9 D% B3 m% ?
6.数据结构是计算机专业的基础课,必须掌握。4 X. v' r3 Z. |) x4 |6 ]/ g
7.信号与系统是电子和电气的基础课,必须掌握。! b: Z( J4 {& s4 K$ w
8.自动控制是控制专业的基础课,必须掌握。
# K+ v: V- r" R" F: W$ I5 y, Z 9.运筹学是系统工程专业的基础课,必须掌握。
" F. f* ^/ x. G以上是我感觉最基础的几门课,当然,汉语是写论文的思维基础,英语是写论文和读论文的工具,更为重要。 |
评分
-
1
查看全部评分
-
|