晏 华
在中国国家留学基金委(CSC)以及电子科技大学软件学院的资助下,我于2005年8月至2006年8月在美国佐治亚理工计算机学院研修。佐治亚理工位于美国佐治亚州的州府亚特兰大市,是美国顶尖的研究大学,美国三大理工学院之一(另外两所分别是麻省理工和加州理工)。近年来,佐治亚理工在全美大学的综合排名在37位,是前十名的公立大学之一。佐治亚理工校园占地400英亩,全职教员约900人,在校的本科和研究生超过16000人,主要的学院包括:建筑学院,计算机学院,工程学院(航空工程,生物医学工程,化学与生物分子工程,城市与环境工程,电子与计算机工程,工业与系统工程,材料科学与工程,机械工程等),文学与艺术学院(经济,历史,公共政策,国际关系等),管理学院,科学学院(生理学,物理,数学,地球与大气科学和心理学)。我所在的计算机学院近年来在全美的排名也呈上升趋势,2006年计算机专业的全美排名为11。计算机学院主要有五个大的研究中心,分别是:1)计算机系统实验研究中心 (CERCS) ;2) 佐治亚理工信息安全中心 (GTISC) ;3)图形、可视化和可用性工程中心(GVU) ;4)模型与仿真研究与教育(MSRE) ;5)机器人与智能机器中心。在五大中心下面有若干由教授、博士生组成的研究小组和实验室。在美的一年,我主要在指导教授Dr. Ling Liu组建的DISL实验室(Distributed Data Intensive Systems Lab)研究和工作。
在佐治亚理工的这一年中,除了作研究,我每学期旁听一至二门专业课,除了提高自身的教学水平,还有一个目的是考察佐治亚理工计算机学院计算机人才培养的先进思路和方法。为了实现因材施教的教育目标,自2006年秋季开始,计算机学院本科课程体系将完全采用新的ThreadsTM培养方案。下面就ThreadsTM培养方案作一个介绍,希望读者能从中找出值得借鉴的思路和方法。
一、ThreadsTM基本概念
面对日益增加的经济全球化带来的挑战和信息技术人力的竞争,ThreadsTM培养方案的基本目标是增加计算机科学本科学位的价值,以培养社会急需的人才以及保证毕业生在整个职业生涯中持续地贡献社会。ThreadsTM给予学生以专业方向、计算工具以及能判断出自己最适合做哪一类计算的机会。ThreadsTM的目标是吸引更广泛的本科学生人群和培养出终生学习、自我调整适应未来全球化竞争经济的毕业生。
ThreadsTM包含两个主要的构件:(1)线程,即学生的计算身份。由体系中两个交织的线程定义;(2)角色,即学生的计算轨道,由学生的计算身份变换为学生想要成为的角色。ThreadsTM有8组线程,学生修完两个交织的线程就可获得学位,也就是:Thread1× Thread2 → B.S. degree from Georgia Tech,共计有28个可能的两线程组合。线程之间有很多核心内容的重叠,因此学生可以在所有的线程中得到健壮的技术技巧和计算机编程语言。
1. 计算的身份:Threads线程
线程的实质是学校提供的课程子集。一个线程提供直觉的、灵活的和交互强化的课程组,允许学生构建自己在某一计算领域独特的技能。目前计算机学院定义了8个线程,分别是:
●计算建模Computational Modeling
计算建模线程是计算和描述世界交汇的地方,它培养学生具备表达、具体化、理解、创建和利用计算模型表示认知和物理过程的相关知识和技能,为不同的领域如人工智能、机器学习、感知、认知科学和图形预备基础知识和技能。例如:如果与媒体线程结合,可为图形领域的相关职业作准备。
●表现Embodiment
表现线程是计算与真实世界交汇的地方。表现线程考虑的是在可能严峻的物理约束下的计算。通过表现线程,学生学习如何创造和评估嵌入在物理对象和物理世界的交互中的计算技巧。学生可以将表现线程与平台线程组合去构造小的、强大的且CPU限制的设备,或者与计算模型线程结合构建自治机器人,或者与人线程结合研究人机交互。
●基础Foundations
基础线程是计算自身的地方。基础线程教学生计算机学科相关的理论的和数学的基础。如果与表现线程组合,则可提供机器人算法的性能边界,或者与平台结合变成编程语言的研究者。
●信息网络Information Internetworks
信息网络线程是计算与数据的交汇。以信息为中心的计算培养学生信息管理能力,帮助学生安全和有效地捕捉、表达、组织、变换、管理和表示信息。信息网络线程与计算模型线程结合可以用于研究文本提取和分类,或者与人线程结合研究数据可视化。
●智能Intelligence
智能线程是计算与智能建立模型交汇的地方。智能考虑的是至顶向下的智能计算模型并强调展现智能各种级别的设计和实现技巧。学生获得表达、具体化、理解、创建和利用计算模型表达认知过程的必备技术知识和技巧。该线程的学生面向广泛的领域,如人工智能、机器学习、感知和认知科学,以及从这些领域获益的应用领域。智能线程如果与表现线程结合,则学生能变成机器人专家,或者与人线程结合构建自适应界面。
●媒体Media
媒体线程是计算与设计交汇的地方。媒体线程帮助学生理解技术和系统的计算能力。如果与计算模型线程结合,学生可以研究动画,或者与信息网络结合研究高性能数据库系统,或者与人结合探究宽带数据流的可视化化。
●人People
人线程是计算与用户交互的地方。人线程帮助学生理解以人为中心的设计、构造和评估系统的理论与计算的基础。如果与表现线程结合可以研究人-机交互,或者平台线程结合探究普适计算。
●平台Platforms
平台线程是学习很多计算的实际技巧的地方。如同基础线程,平台线程存在与计算的中心,帮助学生创建和评估计算机的体系结构、系统和语言交叉的大量范例和方案。如果与基础线程结合可研究分布式高性能算法,或者与信息网络线程结合研究实时数据提取系统,或者与人线程结合研究开发编程环境。
线程为学生提供几乎无限制的计算领域组合,下列组合列出了最相关线程的组合:
●自适应娱乐(智能线程 × 媒体线程)
●自适应界面(人线程 × 计算模型线程)
●动画 (媒体线程×计算模型线程)
●计算机安全 (人线程× 信息网络线程)
●数据可视化 (人线程 × 信息网络线程)
●手持设备游戏开发 (媒体线程 × 表现线程)
●编程环境开发 (人线程× 平台线程)
●分布式高性能算法 (平台线程 × 基础线程)
●图形 (媒体线程 × 计算模型线程)
●高性能数据库系统 (媒体线程 × 信息网络线程)
●人机交互 (人线程 × 表现线程)
●机器规划算法的性能边界 (表现线程× 基础线程)
●编程语言 (平台线程 × 基础线程)
●实时数据提取系统 (平台线程 × 信息网络线程)
●机器人 (智能线程 × 表现线程)
●文本提取 (计算模型线程 × 信息网络)
●普适计算 (人线程 × 平台线程)
●高带宽数据流可视化 (人线程× 媒体线程)
2.计算的轨道:角色
如前所述,两个交织的线程构成学生的计算身份。完成这些线程的计算轨道存在于一个信息技术快速变化的环境,被定义为角色。角色集成到计算经验的各个方面,正交于线程。线程是关于学生攻读学位的内容而角色是学生如何将学位应用到现实世界的。
在佐治亚理工,所有的学生有着不同的目标。一些学生想获得一个机械工程的学位,一些学生想成为心理学家,一些学生想成为软件工程师,甚至想成为机器人专家的学生也有不同的理想。例如,一些学生想坐在地板上自己搭建智能机器人,而另一些学生想开始创建自己的公司设计和销售小型家用机器人。一些学生可能想最终获得一个律师学位并开发军用机器人的民用指导手册。
计算机学院目前定义了四种角色,分别是:实践者、企业家、发明家和交流者。与选择线程类似,学生选择一个或多个角色获得学分,这些角色帮助学生进行课程选择并指导他们选择学院提供的课外活动。下面简单描述四种角色:
●实践者(Master Practitioner)
编程专家,拥有独自或在大项目组中设计、构建和校验基于计算机的系统的技术与经验。大师级实践者显而易见就是程序员,但不是黑客或代码怪物,而是能应用抽象的东西到任何实际问题并且能以任一一种编程语言和风格实现设计方案。他们对练习和掌握技巧感兴趣并且有可能成为公司雇员。
●企业家(Entrepreneur)
新事业的创建者和领导并将技术以新产品和服务的形式带给公众。
●改革家(Innovator)
发现新知识和根本解决问题的方案。典型的改革家是学术或工业界的研究科学家。他们的发现将最终给社会带来影响,但根据调查并不保证产生实际效果。
●交流者(Communicator)
擅长与技术人员或外行进行技术沟通的个人。交流者本身具备相应的技术并努力练习将他们的知识与有兴趣但缺乏专业知识的听众分享。
通过角色,本科学生利用可能的计算轨迹获得学分。一个对成为实践者的学生可能选择真实世界实验室课程,因为该课程允许学生组建开发小组并为一个实际的客户解决实际问题。或者也可以选择新架构工作室的课程,因为该课程提供密集的实践技术。一个想成为企业家的学生可以在管理学院修一个或多个学分并且通过参与新的计算项目中的本科商业机会获得学分。通过该项目,形成计算机学院和管理学院的跨学科小组。该小组学习如何为计算事业开发商业计划并在竞争启动资本的时候证明想法。一个对计算研究感兴趣并成为改革家的学生通过几种机制获得与计算机教授共同工作的本科研究机会,包括为获得学分的独立研究项目,参与计算项目的本科研究机会,或者通过暑期实习在一个教授的实验室工作。一个对成为交流家感兴趣的学生可以在一门或多门课程做教学助理,或者在学校的信息技术办公室实习,写一些技术文档或用户手册。当然学生可能想定义超过一种的角色,例如结合企业家和实践者两种角色。
二、ThreadsTM具体内容
1.基础课程需求
需要强调的是无论学生选择哪一个线程,都需要修一些基础课程,包括数学、人文、社会科学,实验室科学以及伦理道德。这些课程需求通常以小时计,例如社会科学需要修12小时并且学院指定社会科学的课程。此外,各线程也有自己对基础课的一些需求。例如表现线程需要你的一个社会科学课程必须是心理学。下面是对基础课程的具体要求:
人文类:
ENG 1101 英语写作I
ENG 1102 英语写作II
LCC 3401 技术交流
必须辅修两个人文课程
数学类:
MATH 1501微积分I
MATH 1502微积分II
MATH 2605微积分 III (计算机科学)
MATH 3012应用组合数学
MATH 3215 概率与统计
实验室科学:
至少从下列课程中选择3个实验室学科:PHYS 2211, PHYS 2212, EAS 1600, EAS 1601, EAS 2600, CHEM 1310, CHEM 1311/12, BIO 1510, BIO 1520。
PHYS 2211必选, 且必须按顺序选择两门,例如PHYS 2211 & 2212 或 BIO 1510 & 1520。
社会科学:
HIST 2111 or 2112, POL 1101, PUBP 3000, or INTA 1200
至少辅修3个社会科学课程
综合:
HPS 1040 Wellness
CS 4001 计算机与社会或CS 4002 机器人与社会
CS 4980 研究项目或 CS 4911 工作室项目
2.各线程的具体目标
此节我们列出各线程的具体目标,如表1所示。
表1 各线程具体目标
此外,计算机学院还为28种线程组合指定了详细的课程计划,参见http://www.cc.gatech.edu/content/view/692/446/1/2/。
三、 总结
ThreadsTM培养方案的提出解决了长期困扰计算机本科教育的一个问题,即现行的本科计算机科学课程设置已经变得僵化,太不灵活而不能满足学生的需求或满足个人竞争的需求。现行的课程设置只善于培养一种人才,远远不及新方案为未来培养的领导型人才。而且计算和计算机科学的广度还远远没有体现在课程设置中。在某种程度上,培养的大多数学生预备成为专业的软件开发人员,其实学生们的职业可能性是很多的。
ThreadsTM在计算机本科教育与新的全球经济竞争环境之间建立的联系。此前很多课程改革试图创建新的计算机核心课程或采用CS+x的模式去解决此问题。然而这些方法仅仅是解决问题的第一步,远远不能动态地增加本科生的价值或者仅仅是一个短期的反映潮流的折中方案。
现行的计算机学院课程计划缺乏灵活性与透明性,而ThreadsTM代表了一种新的组织本科教育的方法,代表了一种远离垂直方向的课程计划的趋势,垂直方向的课程计划的目标是培养具有固定技能和知识的学生。ThreadsTM废除了单一的核心课程加一池子的选修课程的模式。计算机科学作为一门学科正变得越来越广泛,ThreadsTM赋予学生在广泛的领域中选择的能力以及展望如何将个人的课程计划融入到大的竞争的全球经济环境中。