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