级别: 初级 Gary Pollice, 实践教授, Worcester Polytechnic Institute
2007 年 11 月 15 日
最近,美国各学院和大学里注册计算机科学课程的人数程日趋减少的趋势,或许为我们敲响了警钟。从另一个角度来看,这对于计算机科学课程的制定者来说,也是一个实施改革的机会,对课程加以修补,从而反映出变化的技术和新的就业机会。
来自 The Rational Edge。
在网络疯狂的2000年左右,注册计算机科学课程的人数达到顶峰。随着网络泡沫的破灭,这个数字直线下降;并于2004年到达最低点。自那以后,注册人数开始回升,但是仍无法达到十年前的水平。许多计算机科学(CS)学院和大学对此深表忧虑,并努力寻求提高计算机科学课程兴趣的方法。雇主和老板们同样感到焦虑,他们发现高素质的软件开发人员日益紧缺。
我们来看看这一现象有利的一面:它为学术界和雇主们都创造了一个巨大的机会。我将描述两个新型的、非传统的、与计算机科学相关的项目,它们于近期在 Worcester Polytechnic Institute(伍斯特工业学院)启动。由于反映了变化的技术前景以及为不同软件开发领域的雇主培养出他们所需要的毕业生,所以这两个项目吸引了许多报名者。
让我们先来看一看计算机科学的本质。
计算机科学:新型的数学
对于计算机科学学科,我们有许多种不同的定义。相比之下,我更欣赏下面这种说法,因为它将计算机科学纳入到真正的科学领域之中:
对计算系统和计算的系统学习。本学科的主要内容包括理解计算系统和方法的理论;设计方法论、算法、以及工具;概念测试的方法;分析和验证的方法;以及知识表示和实现。
1
计算机科学的学生通过学习,所能获得的最有价值的知识就是处理和解决问题的独特方法。对于信息技术(IT)、管理信息系统(MIS)和软件工程等专业的学生来说,也是如此。实际上,这些学科的共同点是:都教授学生最少用一种语言来编写程序;都教授问题分析和系统设计的技术。学生学习如何应用技术来解决问题,如何处理新的想法和概念。这些专业的毕业生将能够很好的理解一份特定工作的特点——包括如何建造业务系统——并且推动企业业务目标的实现。
纵观国内的学院和大学,这些项目互相竞争学生和资源。尽管同二十年前相比起来,有多得多的学生进入学院和大学深造,但是与此同时,也有更多的课程在为其许诺而竞争着。这一新型的竞争环境当然向任何一个院系都提出了挑战,它们需要通过提高注册人数来获得更多的支持和预算。无论如何,我认为计算机科学在竞争中处于很好的位置。
当我临毕业的时候,大多数学院和大学的数学系都非常庞大——今天仍是如此——尽管在这些学校中从来没有过这么多数学专业的学生。原因何在呢?就是因为数学是一门核心学科。它教授学生思考和解决问题的重要方法;它是教育和智力活动的基础。
对于计算机技术的新世界来说,计算机科学就是新型的数学。它为许多其他学科领域内的进一步研究提供了重要的概念和解决问题的方法。学生懂得如何建造计算机模型,并且应用一种语言进行编程。他们能够将数据挖掘技术应用到医学和生物学领域中的大型数据库中。
在许多学校里,计算机科学已经成为许多其他学科的服务提供者。我们应该为此感到幸运。我们是校园里最大的院系之一。学习电子学和计算工程学的学生需要学习如何编程;教授那些选修软件工程课程的学生如何工作在大型的项目中。信息技术和管理信息系统专业的学生选修网络、人机交互、数据库等,以便更好地配置他们的业务系统。计算机科学为其他专业学科开设的课程数目在持续增加。这已经导致有些学生将计算机科学课程视作要求而非兴趣,但是仍然还是有许多学生对此学科抱有极大的兴趣。如同数学一样,既可以点燃人们的激情,也可以消沉人们的意志;但是无论如何,你都必须理解它。
但是你无法独立支撑至关重要的计算机科学服务。在伍斯特工学院 (WPI),我们认识到这一点,并且正在寻找真正感兴趣的学生以及关注技术世界的新变化。然后,我们探索出一条既能够吸引学生,又能够使他们能够很好的满足就业市场需要的道路。
世界在变,课程也在变
在1998年以来,Wisconsin 的 Beloit College 每年都为入学的新生出版 Mindset List。
2
对于我来说,阅读这份列表总是一件令人羞辱的经历。它总是使我认识到:剧烈变化的不仅是技术,我们所生活的这个世界同样如此。今天走进校园的学生已经对计算机技术有很深的了解。如果您想知道如何编程您的电视记录设备,只需要问一下隔壁的8年级学生即可。学生们已经再也不是十五年前的学生们了。
然而,这些变化并没有影响到我的使命。一直以来,我的工作就是帮助那些年轻人在离开校园以后,能够应付外面的世界。幸运的是,我的院系为我提供了这样的机会。我们没有沮丧于学生的流失,而是努力使我们的专业更加吸引那些具备技术能力的孩子们——一个是交互媒体和游戏专业,另一个是机器人技术工程专业。两者都是开创了全美教育的先河。
3
另外,两者都使学生们能够胜任计算机和信息技术行业的职位——使他们以计算机科学或者信息技术专业毕业生的身份获得老板的赏识。
让我们仔细探究一下原因之所在。
帮助学生为适应新的技术环境做好准备
我们对为我们开发软件的人都有着什么样的期望呢?随着越来越多的公司将其日常琐事转换为代码,我认为可以这么说,今天的企业所寻找的绝不仅仅是一个“编程人员”。他们希望开发人员能够分析问题,设计雅洁的、经济上可行的解决方案,同其他团队成员进行交流,并且快速和有效的交付产品。有些公司在寻找某一特定领域或技术的专家。尽管编程技巧非常重要,但是它仅仅是一部分而已。
大多是有经验的招聘人员只关注如何找到好的人员,而并不代以他们的专业是什么。许多我所共事过的的最优秀的软件开发专家的专业是一些非技术的学科,比如哲学、音乐、或者英语。他们的背景帮助他们从一个更宽广的视角看待问题,并且创造性的应用技术。
我们正是基于这一理念,设计了机器人技术工程以及交互媒体和游戏开发(IMGD)专业。我们的目标是使学生具备更为广阔和健康的技术视野——用坚实的基础技能武装他们,帮助他们得到不同领域雇主的青睐;用足够的信心和智力宽度丰富他们,帮助他们快速的掌握新概念,并成为领导者。
将更多的机器人带入生活中
无论您是否已经意识到,机器人都将在我们的生活中扮演很重要的角色。您的手机就是部分由机器人制造的。机器人生产并且包装我们的药品。它们不知疲倦的在我们不想做或者不能做的岗位上辛勤的劳动着,它们能够打扫我们的房间、修理我们的草坪、以及其他许多家务劳动。美国军方派遣它们执行危险的任务,比如扫雷、搜寻和营救工作、等等。然而,我们仅仅是刚刚开始发现如何有效的建造和使用机器人。
机器人形状和大小各异,但是大多数并不像迷失太空(Lost in Space) 中的 Robbie,或者 星球大战(Star Wars) 中的 R2D2。机器人可能只有一只点焊手机框架的手;或者可能是一头在复杂地形中托运东西的电驴。
4
也有人形的机器人。日本研究人员 Hiroshi Ishiguro 建造了一个完全人形的机器人,它就像从科幻小说中走出来的一样。他对新的发明创造是一个和他一摸一样的孪生子,他有时让它代替自己给学生们上课。学生们常常闹不清站在讲台上的到底是机器人还是他们的老师。
5
我们能够想象这种设备的广泛使用,包括用于为老年人或者身患衰弱疾病的人提供伙伴。
机器人是一个复杂的系统,对分析和设计有着很高的要求。我们的项目能够为进入软件开发的世界提供充分的培养么?下面我们来看看 WPI 为机器人技术工程项目所开设的课程。
-
数学:学生们至少要学习七门数学课程,包括微积分、概率、统计、离散数学和微分方程式。
-
科学:要求四门课程,包括两门物理学的课程。
-
工程学和设计:这是重头戏,要求八门课程。三门组成 Major Qualifying Project (MQP),它通常是一个由外面的公司或者非盈利机构发起的高级项目,将学生们所学的知识融合起来。另外无门功课包括:三门计算机科学的课程,包括算法和软件工程;两门电子学和计算工程学的课程,包括嵌入式系统;以及两门静力学和控制学的课程。
-
机器人技术工程学:学生必须修满机器人技术工程学专业的五门主干课程。他们要设计、建造、编程、和测试他们自己的机器人。
-
企业家能力:每一名机器人技术工程专业的学生都必须选修一门企业家能力课程。我希望这一要求扩展到更多的专业,比如计算机科学。机器人技术和其他技术领域一样,提供了大量的创造性的机会,学生们需要知道如何在这个世界上取得成功。
-
社会问题:WPI 以培养有社会责任感的技术领导者而闻名。我们机器人技术工程学的学生也将延续这一传统,他们将了解到他们的工作将如何影响社会。
这些要求同培养传统的计算机科学专业的学生相似,但是加入了更多工程学的课程。我想我们的毕业生将能够满足许多技术领域的需求。我的邻居会雇用一位机器人技术专业的毕业生填补他们公司一个系统工程学的职位么?我相信答案是肯定的。这些学生将懂得如何将软硬件结合起来共同建造一个复杂的系统。他们需要学习如何扩展他们的知识以便工作在大型系统中,但是这对于他们来说相对会容易些。他们将具备成为技术领导者的基本素质。
机器人技术工程学专业的学生同样将胜任任何一个嵌入式系统开发领域的工作。他们将懂得如何用最少的物理资源为系统开发软件,以及如何配置硬件以获得最大限度的效率。
无疑地,许多雇主还是将机器人技术工程学专业的毕业生视为软件工程师的合适人选。然而,正如机器人技术领域自身所提供的岗位多于满足条件的人员一样,其他领域的公司如果想要得到具备这些技术的人员,就必须与那些“真正的”机器人技术公司相竞争。
高举游戏的大旗
时至今日,我想每个人都已经非常清楚的看到计算机游戏对于技术世界来说,已经不仅仅是一个短暂的流行。它们已经成为文化的一个组成部分。有人沉溺纸牌或者扫雷,有人喜欢虚拟体育游戏或者多人冒险游戏。随着技术的提高,这些游戏越来越出色——并且创造了一个数十亿美元、竞争激烈的市场。
成功的游戏不仅需要出色的技术,同样需要出色的美术、音乐和故事情节。例如,一款成功的冒险游戏并不是让你漫无目的的闲逛,越多越好地杀死怪兽,越多越好的获得金钱。相反,正如一出好剧目一样,它使你沉醉于精确设置、开发特性、以及展开始终吸引你兴趣的故事主线。。它给你头晕目眩的视觉和听觉感受。让我们玩完一遍还想再玩,并且急切的等待新版本的面世。
这就是我们为我们的 IMGD 项目设计两条主线的原因,一条技术线,一条艺术线。技术线注重建造一个有效的游戏基础架构所需要的技术和技巧。艺术线关注编织一个出色的故事以及创建一个令人惊异的梦境的技巧,就像伟大的文学作品一样,是玩家着迷。每一条线都要求对另一条线有基本的理解;在学生们学习的最后,他们将成为游戏开发团队中的多面手。
撇开艺术线,我们来看看对 IMGD 专业学生的技术要求,以及他们是否会在软件职位的竞争中占有优势。我们的学生将完成以下这些功课:
-
游戏开发过程:该课程探究制作游戏时所使用的角色、行为、人工制品、和工具等——这同其他软件开发过程非常类似。
-
计算机科学:学生们必学学习计算机科学的课程,包括人机交互、软件工程、计算机体系结构、网络、图形学、以及人工智能。这些要求表现了计算机科学课程的一个很好的横截面。
-
数学和科学:学生们只需要选修一门数学和一门科学课程,尽管如此,许多人选修了更多。
尽管本专业的学生在从事大型系统工程学项目方面不及机器人技术工程学专业的学生,但是如果是建造桌面应用程序、多媒体网络应用程序、网站、或者其他类似的程序,那么 IMGD 专业的学生将非常抢手。如同机器人技术一样,游戏开发行业也正在急速的发展;供不应求。再一次指出,其它软件领域的公司,如果需要我们的学生,那么他们需要想出更好的方法来吸引这些毕业生去他们那里工作。
雇主:别把眼光局限在传统的计算机科学上
尽管统计数字显示,计算机科学专业的毕业生存在很大的需求缺口,但是雇主们不必为此感到担心。相反,他们需要扩展自己的视野。从计算机科学相关项目毕业的学生同样可以很好的满足软件开发团队关键职位的要求。如果您正在阅读来自新型专业毕业生的简历,那么请花上一小点时间,仔细看看此人到底学习了哪些课程。只需付出一小点额外的努力,您就将找到足够的与计算机科学相关的专业的毕业生,它们将能够为您的团队作出贡献,并且逐步成为领导者。
注释
1取自于 Technology for the National Infrastructure,词汇表http://www.nitrd.gov/pubs/bluebooks/1995/section.5.html
2 参见 http://www.beloit.edu/~pubaff/mindset/
3 你可以在 http://www.wpi.edu/Academics/Majors/IMGD/ and http://www.wpi.edu/Academics/Majors/RBE/ 找到有关程序的信息。
4 在运输机器人方面的领先者之一是 Boston Dynamics。可以在 http://www.bostondynamics.com/content/sec.php?section=robotics 查看他们的机器人。他们有机器人的视频。
5 有许多有关 Ishiguro 博士的文章。有一篇在 http://www.dailymail.co.uk/pages/live/articles/technology/technology.html?in_page_id=1965&in_article_id=450892
参考资料 学习
讨论
关于作者  | 
|  | Gary Pollice 是麻省 Worcester 市 Worcester Polytechnic Institute 的一名实践教授。他教授软件工程、设计、测试以及其它计算机科学的课程,同时也指导学生项目。在进入学术界之前,他从事了 35 年多的软件开发,开发过各种软件,包括商业应用到编译器和工具等等。他在行业内的最后一份工作是在 IBM Rational 软件,他是有名的“RUP 倔老头”,同时也是最早的 Rational Suite 团队成员之一。 他是《小型团队软件开发:以 RUP 为中心的方法》(Software Development for Small Teams: A RUP-Centric Approach)一书的主要作者,该书由 Addison-Wesley 于 2004 年出版。他拥有数学专业文学学士学位,以及计算机科学理学硕士学位。 |
对本文的评价
|