计算机科学与技术这个一级学科是中国特有的,国际上通常只有计算机科学。大部分学校的计算机科学主要来源于数学学科,而软件工程学科是源于计算机科学的(可以类比材料科学源于物理学),一直是计算机科学的一个二级子学科。从国际学科发展看,计算学科包括了计算机科学、计算机工程、软件工程、信息系统、信息技术五个子学科。在中国,软件工程是新兴学科,软件工程开始和计算机科学与技术并列为一级学科。
由于中国大学科研和学位授予和国家的学科划分以及教育政策紧密相关,所以各大学才会有计算机科学与技术以及软件工程的分别招生。
计算机科学教育历史非常悠久,而单独的软件工程教育时间并不长。
计算机科学与技术,有很多原理性的课程,比如计算机组成原理、操作系统、数电等,能让你更好的理解计算机的方方面面的东西。当然它也学软件工程。软件工程,更偏重软件开发、工程能力等。两者有交叉。两个专业都是为今后从业计算机技术领域做知识储备,但储备的出发点不同。
软件工程偏向于应用已有的技术,程序设计语言,偏向于将它们应用于计算机工程项目中以达到最好的结果。
计算机科学技术的出发点是那些奠定计算机科学的发展至今的基础理论。这些基础也分不同的类别。软件开发只是其中的一部分(当然,一些大学为了学生就业比较务实地在计算机科学的课程中过分花了时间在软件开发上)。计算机科学会将理论作为重点,能吃透理论的话今后应用起来潜力很大。计算机科学与技术的就业方向
举个例子,软件开发依赖于计算机语言,计算机语言的设计和优化又很大依赖于操作系统的原理和计算机不同部件运行的机制,这些不同部件的机制又取决于计算机的体系结构和不同部件的设计局限性。这些部件的设计的取舍也都有很大的渊源。计算机科学会包含整个知识链,好好学的话不光可以灵活应用计算机语言(因为你知道为什么语言会如此设计)甚至可以发挥自己的创造力到不同的方法去弥补语言存在的不足。当然,除了计算机语言方面,计算机科学还涵盖很多其它知识,比如分布式系统,并行计算。。。。就不一一列举了。
在选择以上专业的时候建议考虑一下自己的性格和兴趣。计算机科学比较适合技术好奇心很强,凡事很想钻为什么,并且有耐心去挖掘凡事背后的理论基础的人。软件工程比较适合有
工程师梦想的人,严谨地作为工程师添砖加瓦不稀罕自虐多想的人。
从职业前景上看,计算机科学毕业的同学工作更需要挑剔一些,尤其在初期,工作内容需要和理论能有联系(否则傻干一两年估计连微积分矩阵并行计算等等啥都忘了,沦为普通码农甚至测试工程师就可惜了)。如果机会适当,在其中一领域钻得比较深,几年后潜力大大的,因为这些理论不是谁随便就能掌握的。软件工程毕业的同学只要个技术环境稍好的工作开始编代码就好了,慢慢把目前时髦的技术和管理方法摸透以后估计也晋升成小经理了,无论是发展还是银子都不亏。但需要小心这些时髦的技术和管理方法发展很快,需要不停学习,不像那些计算机科学基础理论一但掌握能吃一辈子。
我建议根据自己的性格和兴趣来选择,两门专业无论选哪个只要认真学出来的都有前途,反而因为兴趣不足混出来的最郁闷。
发布评论