第一章-第五题(你所在的学校有计算机科学专业和软件工程专业么?相关专业的教学计划和毕业出路有什么不一样?阅读有关软件工程和计算机科学的区别的文章,谈谈你的见解。)--By 侯伟婷

  我所在的本科学校和研究生学校都有计算机科学专业和软件工程专业。具体的教学计划无从获得,因此此状况无从对比,可是我从本科教务处网站找到了计算机科学专业和软件工程专业有关专业方面的课程,现列表以下。算法

             表格1 计算机科学和软件工程专业与专业相关课程数据库

计算机科学专业编程

软件工程专业设计模式

程序设计基础(C语言)安全

计算机编程引论(C语言)服务器

计算机导论网络

Java程序设计数据结构

面向对象程序设计(C++)框架

逻辑与数字系统编程语言

数据结构

VB.NET程序设计

电路原理

面向对象程序设计

计算理论

计算机组成原理

汇编语言程序设计

C++程序设计

电子技术

用户界面设计与评测

算法设计与分析

计算机网络

可视化程序设计技术基础(双语)

HTML与JavaScript技术

接口技术

操做系统

编译原理

数据结构

计算机网络

数据库原理

数字系统设计

数学建模

计算机组成原理

软件创新方法与实例

Java语言及程序设计

通讯概论

计算机图形学

Linux操做系统

数字系统设计

移动互联导论

信息安全基础

软件体系结构与设计模式

计算机体系结构

编译方法

软件工程

软件工程

人工智能

主机系统导论

操做系统

算法分析与设计

嵌入式系统及其应用

分布式系统导论

文本智能处理技术

Java框架与组件技术

软件建模技术

软件需求分析与设计

信息安全基础

分布式组件与Web服务

计算机体系结构

混沌分形导论

网络编程技术

COBOL语言程序设计

多媒体技术

语义Web导论

Linux操做系统分析

主机CICS交易系统

智能数据与知识工程

嵌入式软件开发技术

 

人工智能导论

 

云计算核心技术

 

分布式组件与Web服务

 

移动应用开发技术

 

软件测试技术

 

高性能计算导论

 

企业级服务器系统导论

 

服务工程方法论

 

软件服务与云计算案例分析

 

信息检索

 

新技术讲座

 

服务工程方法论

 

电信行业市场营销管理

 

主机数据库管理系统

 

图像与多媒体新技术

 

传感技术与应用

 

合同法与知识产权法

 

软件过程改进与项目管理

 

  从表格中能够看出软件工程的课程不少,可是因为具体的教学计划没法获得,因此不能具体说明,可是从我本人了解获得其中涉及到了不少专业选修课程和不少方向性课程,因此不免数量会多出不少。可是比较一下学院给同窗设置的预期选修课程和学院鼓励同窗走向的专业道路上,仍是能够看出些许不一样的。计算机科学专业和软件工程专业中教学计划中包含了不少相同的计算机基础的课程,如操做系统、计算机网络等。可是也存在不少不一样,如计算机科学专业设置的课程中有软件工程专业涉及较少的硬件方面的课程,如电路原理、电子技术等,而后也在不少方面更加注重了“技术”的教学。而从软件工程专业来讲,首先是编程语言和计算机基础课程的教授,使得学生有必定的编程基础和能力,可是教学方向侧重的确是与“人”、“对象”有关的内容。

  这两个专业毕业后的出路基本可分为出国、读研和工做,可是出国和读研的话,这两个专业就可能要针对具体状况具体来讲了,由于和研究方向、导师状况都有很大的关系。而我了解到的有关计算机科学专业的工做方面的内容也不太多,就我身边软件工程专业的人来讲,毕业以后工做的进入的都是一些软件公司,如蘑菇街、网易、完美世界等,进行技术部编程或者成为产品经理等。计算机科学专业的话,可能会相对而言对于算法等的了解程度相对较深,程序部门也会十分欢迎此专业的人才,可是因为他们专业也教授到了硬件课程,因此之后的就业面在硬件和编程相结合的公司应该也会是他们的选择之一。

 

  提到计算机科学和软件工程的区别,坦白来讲,其实我本身尚未思考过这个问题,在本科的时候以为可能也就是名字不太同样,毕业以后应该也都是差很少的程序猿,读过此篇文章以后,我才了解到,原来二者之间仍是有很大区别的,下面讲述一下个人见解,极可能会不够全面,观点肤浅,还望见谅。

  单单看待名字的话,计算机科学重点是在“科学”,软件工程重点是在“工程”,正如那篇文章的做者提到的,The field is wonderfully clean, with each concept clearly defined, and each result building on earlier proofs1,计算机科学方面的特色就是干净,每个方面都被清楚地定义,每个结果都是创建在早期的证实,是具备很轻的逻辑性和很清楚的因果关系的。然而软件工程确实一门常常用“一般”、“通常来讲”这些不肯定性的字眼来描述内容。

  其次,计算机科学的关注点更多的在算法、复杂程度、以及各类理论性、科学性的问题,而这些问题是不受人为因素的影响的。软件工程有不少方面是会考虑到“人”的因素的,如与软件工程相关的可用性,这个方面并非说有什么标准,而是依靠用户的使用结果,用户认为可用性不佳,则结果可能就会不理想,可能就须要从新设计。

  这些就是我暂时能想到的有关计算机科学和软件工程的区别,可是我以为他们两个相对于区别来讲,相互间的紧密联系则是更加剧要的,计算机科学的快速发展能够知足软件工程中不少的技术问题,而软件工程中遇到的困难也为了计算机科学提供了新的课题,也是计算机科学不断发展,不断进步的动力,二者不断进步,才能够为咱们创造出一个更加便捷温馨的生活。

 

 

 

  参考文献:

  1. Software Engineering ≠ Computer Science. http://www.drdobbs.com/architectureand-design/software-engineering-computer-science/217701907
相关文章
相关标签/搜索