计算机学院和软件学院
现在计算机专业是最热门的专业,基本上是各个学校的最高分。报考的时候,有的考生会问,计算机科学与技术和软件工程有什么区别?因为软件工程、计算机科学与技术在院校志愿申请中是分开的。
在教育部的专业目录中,除了计算机科学与技术、软件工程,还有网络工程、信息安全等专业。但这些专业基本都和计算机科学与技术在同一个计算机学院或计算机系,只是分专业。
软件工程一般在软件学院。软件工程本来就属于计算机科学,为什么要单独分离出来?主要是因为清华的孙院士等一批院士认为软件工程非常重要,强调实践。教学不同于普通的计算机学科,需要单独安排课程和设置学院。特别是软件工程需要实习和实训经费,所以软件学院的学费比计算机学院高。本科四年,软件学院前两年学费和其他学院一样,但最后两年是计算机学院的两倍多。2001年,国家首批开设了35所示范性软件学院。
现在,信息安全也是趋势。国家认为信息安全非常重要。没有互联网时代,讲的是领海空。现在有一个互联网的职位。对于个人和公司来说,信息安全也是人身安全和财产安全的重要组成部分。所以现在,高校里独立的信息安全学院越来越多。比如武大,华科大都有信息安全学院。
两个专业有什么区别?两者有什么区别?
计算机科学与技术
天河二号看专业名称,里面有“科学”“技术”两个字。在专业名称中,“科学”一般指理论,“技术”一般指应用实践。计算机科学与技术是与计算机相关的科学理论和应用实践,包括计算机硬件和软件。实际上,软件工程和信息安全都包含在计算机科学与技术中。
计算机相关的理论有数学、信息论、控制论等等。这些都可以展开。像数学,有数理逻辑,组合数学,概率论,图论,拓扑学。因为现在的智能化,连续数学的内容很多,比如傅立叶分析,小波分析,泛函等等。在信息安全方面,数学需要更多的数论知识...
计算机硬件知识包括计算机结构、计算机网络等。包括计算机编译原理、操作系统、数据结构、数据库理论、程序设计等。
总之,计算机科学与技术是一个大筐,和计算机有关的东西都可以装在里面。4年肯定学不了那么多,所以本科学习要么学得不够深,要么选个方向。
具体课程,我以清华大学计算机系的课程为例。专业基础课和专业课是:
高级语言程序设计、离散数学、数据结构、信号处理原理、系统分析与控制、数字逻辑、人工智能导论、微型计算机技术、操作系统、汇编语言程序设计、计算机原理、计算机系统结构、编译原理、计算机网络等。
软件工程
软件工程是计算机科学与技术的一个分支,主要用于以工程化的方式构建和维护软件。现在的软件除了少部分,大部分都是大规模的。几十人、几百人甚至几千人都要开发一个软件。除了懂语言和算法,每个人都需要一定的组织和规范。就像成千上万的人造房子一样,需要分工、协调、质检。
因此,学习软件工程就是学习软件开发的全过程,包括需求分析、设计、实现、测试和维护。当然,软件工程要熟悉不同的软件开发语言,不同的开发环境,不同类型的软件。
具体课程,我还是以清华大学软件学院的课程为例。从后面的课程来看,和计算机系的课程差别不大,专业课也就一两门。
清华软件学院专业课程节目编排者
所以从课程设置上看,软件工程比计算机科学与技术多一两门软件开发方面的课程。但是这些课程能让这两个专业的学生有本质区别吗?不可能的。一般公司从不区分这两个专业的学生。只要通过公司的考核,这两个专业的学生没有区别。
这两个专业就更不用说了,我认识很多物理专业的同学,也转了程序员,现在都是资深专家了。能不能成为程序员,不能只靠学校里的这门课,而是要靠自己不断的学习和实践,才能成为一名优秀的程序员。