晏 華

在中國國家留學基金委(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賦予學生在廣泛的領域中選擇的能力以及展望如何將個人的課程計劃融入到大的競爭的全球經濟環境中。