• 第一章-第五题(你所在的学校有计算机科学专业和软件工程专业么?相关专业的教学计划和毕业出路有什么不同?阅读有关软件工程和计算机科学的区别的文章,谈谈你的看法。)--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
  • 相关阅读:
    14、流程分析法
    13、场景法
    SPL之Iterator(迭代器)接口
    MySQL的自动补全和语法高亮工具MyCli
    如何在mmseg3添加词库
    sphinx 配置文件全解析
    配置samba 服务器 共享Linux目录
    Centos7 下coreseek的安装
    机器学习常用的降维方法
    mysql 分类
  • 原文地址:https://www.cnblogs.com/ghll/p/5855957.html
Copyright © 2020-2023  润新知