软件工程和计算机科学专业应该分开吗?[关闭]


19

几十年来,成为计算机开发人员的公认程度是“计算机科学”。关于该学位是否真的为学生开发软件做好了准备,
我们已经有几个 问题

在过去的八年左右的时间里,一些学校开始提供编程方面的多个不同专业。使用我学校的课程:

  • 计算机科学,从第一年的一些入门编程课程开始,然后侧重于理论计算机科学,算法和一些OS知识。大多数班级都涉及几个较小的项目和作业,这些作业和作业都是单独或成对完成的。
  • 软件工程从相同的入门编程课程开始,进行了几类理论,然后涉及软件开发实践(测试,过程方法,软件度量,需求收集)和软件设计(分布式系统设计,信息系统设计) ,实时/嵌入式设计,子系统设计等)

不同的学校做的方式不同,因此以上只是我所熟悉的真实示例。我要问的是:是否需要编程方面的专业?


1
并不是的。学习这些技能的方法不是讲授这些课程,而是给他们实际的项目工作
Casebash 2010年

是什么让您认为它们不是?RIT提供两种学位。
安迪

安迪:我知道-我去了RIT并获得了SE学位。我在问他们是否应该分开,而不是目前是否分开。:)
Fishtoaster

Answers:


28

是的,应该如此。

计算机科学与软件工程之间的关系与物理学与机械工程之间的关系相同。一种提供了理论背景,而另一种则提供了这些理论以及良好的工程原理,并将其应用于软件的设计和实现。

为了生产新的更好的软件,您需要同时使用。良好的计算机科学教育会训练人们产生新的更好的算法,数据结构,编程语言和范例,编译器以及许多其他可用于增强软件系统的东西。另一方面,良好的软件工程教育会训练您掌握通过计算科学研究获得的这些工具和知识,以及有关软件开发生命周期和过程模型的知识,以实际构建客户所需和需要的系统。


2
物理/工程类比是我经常使用的类比。我们不雇用物理学家来设计和建造桥梁,为什么我们雇用计算机科学家来设计和建造程序?
HerbN 2010年

1
因为计算机科学程序比典型的物理程序教给了更多有关如何构建程序的知识;)
Wayne Werner

2
@WayneWerner:不,他们真的,真的不是。
DeadMG 2012年

3

众所周知,一门典型的CS课程并没有为行业准备一门课程,反而没有您想要准备的那么多。因此,是的,需要有一个软件工程专业,而且两者应该是截然不同的,尽管绝对是同一名教师。


1

它们应该是不同的学科,但不能在本科层次上。我只是看不到他们如何在大学学位上束缚软件工程所需的一切。就像以同样的方式,我们看不到系统工程专业的本科学位(人们在获得EE,CE,机械工程或CS学位后获得硕士学位)一样,在软件工程领域也是如此。

它是一种基于计算机科学和/或MIS的多学科方法。在追求高级课程工作和/或该领域的工作经验之后,人们才能真正地在实践中成为软件工程师(不仅仅是标题),条件是后者要在进行软件工程的环境中进行。

大多数人都拥有软件工程的头衔,但并没有真正超越编码。这不是对他们的伤害,而是一种观察-他们没有充分地接触过可以帮助他们积累编码以外的工作经验的工作类型。更糟糕的是,大多数工作和组织都经营不善,无法进行适当的软件工程。

此外,无需任何工作或学业成熟度,软件工程材料就可以飞过大多数本科生的脑海。


如果您想知道他们是如何“在大学获得学位的,则需要进行软件工程的所有内容”,请看一下美国的第一个本科SE课程:se.rit.edu
Thomas Owens

除非我缺少任何东西,否则他们不会抽筋。他们只是创建了192学分的扩展课程。这超出了您在CS和MIS中找到的典型的60-80学分的本科课程-这里有更多的课程在进行,足以使其与攻读双专业(或获得本科和研究生学位)相当。我确实喜欢大四那年的流程和其他工程学科的整合。这是一个可以遵循的完美课程。但这只是证明了我的观点,即仅凭典型的本科课程学习负荷就无法获得SE。
luis.espinal,2010年

我要在这里看到的一个告诫是,您花费了很多精力,而只是获得了一个学位课程的学位(相对于完成类似的课程工作来获得双专业或本科生和研究生学位的工作而言。)不幸的是,羊皮很重要。也许,一旦这样的SE学位变得更加普遍,这种担忧就不再那么重要了。
luis.espinal,2010年

这是一个四分之一系统,这意味着它的工作量与同一所大学的CS学位(或任何其他本科学位)完全相同。最后,这是4年的课程(10周的课程,每季度1周的考试,每年3个季度),一年的合作学习。
Thomas Owens

并不是的。在工作负载方面,这并不等同。我目前正在WPI攻读第二个硕士课程(CE + EE),该课程采用类似的格式(3个季度,10个星期的课程+1个星期的考试)。从经验来看,像这样的程序比典型的60-80度大学学位更为严格,涵盖范围也更大。请注意,这不是对该程序的批评。我认为有必要真正涵盖本科生水平的软件工程。而类似的方法也应该是必要的CS(因为典型的CS不再覆盖足够的动手,多学科的实习时下。)
luis.espinal
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.