郭文平,吳高標,陳金飚,胡永良,應國良
(臺州學院 數學與信息工程學院,浙江 臨海317000)
自世界上第一臺電腦ENIAC誕生至今,計算機及其相關技術對人類社會發展產生了深遠影響。從20世紀60年代起,美國計算機學會聯合其他專業學會陸續發布了Computing Curricula。Computing Curricula代表了國際計算機教育的先進理念,研究Computing Curricula,對于科學設置計算機專業課程、提高計算機專業人才培養質量很有益處。
美國計算機學會 (Association for Computing Machinery,ACM)于1968年和1978 年發布了計算機科學(Computer Science, CS)教程Curriculum 68和Curriculum 78,并于1972年發布了信息系統(Information Systems)教程IS1972。1985年,信息技術職業學會(Association for Information Technology Professionals, AITP)發布了IS1985。
1991年,ACM和國際電氣與電子工程協會計算機分會(Computer Society of the Institute for Electrical and Electronic Engineers, IEEECS)設立聯合工作組發布了著名的Computing Curricula1991(CC1991)。1997年,信息系統學會(Association for Information Systems, AIS)聯合ACM和AITP發布了IS1997。
2001年,ACM和 IEEE-CS在 CC1991的基礎上,把計算機課程劃分為計算機科學(Computer Science,CS)、計算機工程(Computer Engineering,CE)、軟件工程(Software Engineering,SE)和信息系統(Information System,IS)4個方向,最終形成了Computing Curricula 2001(CC2001)。作為對CC2001模型的響應,ACM、AIS和AITP合作發布了IS2002,IEEE-CS和ACM合作發布了SE2004和CE2004。
隨著分報告的逐步完成,2005年ACM、AIS和IEEE-CS聯合工作組召集各個方向的專家代表一起撰寫了計算機教程總體報告Computing Curricula 2005(CC2005),將它們聯系到一起。CC2005之后,各個方向的課程規范發布進程加快,ACM和IEEE-CS發布了IT2008、CS2008和CS2013,ACM和AIS發布了MSIS2006和IS2010,IEEE-CS和ACM發布了GSwE2009和SE2014,ACM和IEEE-CS發布了CE2016。
為方便中國計算機相關專業的院系和教師及時了解、學習國外計算機類專業本科培養方案與課程設置的最新成果,ACM翻譯出版了CS2013中文版(計算機科學課程體系規劃2013[1])和CE2016中文版(計算機工程課程體系指南2016[2])。截至2017年5月,整個Computing Curricula結構如圖1所示。

圖1 Computing Curricula結構
從圖1可以看出,整個Computing Curricula的核心還是計算機科學,因此本文重點分析計算機科學教程的發展及其變化。
從Curriculm 68到CS2013,計算機科學教程共有7個版本,其中CC2005是總體報告,CS2008是對CC2001的中期評估版本。2000年之前,基本按每10年更新,2000年之后,基本按每5年更新,這和計算機科學日新月異的變化以及在各個方向上的快速擴充相適應。
Curriculm 68和Curriculm 78對知識體系的組織是以課程為導向的。從CC1991開始用知識領域來組織教程,目的是要適應最新的技術發展并具有廣泛的適用性,一個知識領域由多個知識單元組成,一個知識單元由多個知識點組成。
CC2001工作組更新了CC1991的知識領域,從9個擴大到14個,同時意識到學生要掌握所有的知識點是不可能的,因此把每一個知識點又劃分為核心和選修,既保證了知識的深度,同時兼顧了廣度。
由于計算機領域知識的不斷增長并趨于多樣化,CS2013重新思考了計算機科學的基本要素,進而對整個計算機科學的知識體系做了重新定義,用層次化的形式對知識體系進行布局,每一知識單元形成核心一級、核心二級和選修3個層次。所有的計算機科學課程體系都應該包含核心一級內的內容,但可以靈活選擇核心二級內的知識點。
整個計算機科學教程的知識體系組織演化過程如圖2所示。

圖2 計算機科學教程知識體系組織演化過程
知識體系核心學時數(Lecture time, 指的是授課時間,不包括與講課相關的其他任務的時間)的設計一向具有很強的挑戰性。工作組需要很強的平衡技巧才能顧及計算機領域知識增長對內容的擴展要求,從而建立起切實可行的本科課程體系。4個版本的核心學時數比較見表1。
CS2013的核心一級學時數加上核心二級的學時數略高于前幾個版本課程規范的核心學時數,但CS2013層次化的結構為院系從核心二級選擇知識點(至少包含80%)明顯提供了靈活性。

表1 核心學時數比較
從Curriculm68到CS2013,教學目標經歷了從以教師為中心到以學生為中心的轉變,見表2。
CC2001工作組為了不同的教育機構能更好地使用教程,采用“定制課程”的方法來引導,將其定義的所有知識領域設計到6個課程體系模板和47門示范課中,但通過對CC2001和CS2008的使用情況調研來看,這樣的定制課程在各大教育機構實踐中沒有起到太大的作用。
CS2013采用了一個不同的方法:收集已經取得成功的課程及課程體系,用它們來描繪各相關知識單元是怎樣貫穿在實際教學中的。CS2013提供了不同大學和學院的課程案例84門,這些課程從不同側面體現了知識領域中各個知識單元組合成課程的不同方式:一門課程可能包含有多個知識領域中的知識單元,涵蓋某個知識領域也可能需要多門課程。CS2013 也提供了4所不同層次的大學(Bluegrass Community and Technical College、Grinnell College、Stanford University、Williams College)計算機專業不同學位(即培養目標不同)的核心課程設置案例,這些案例展示了如何將人才培養目標所需的知識體系分解到一系列核心課程中,充分體現不同大學的教育理念。

表2 教學目標轉變
ACM、IEEE-CS及其他專業協會推出的計算機系列教程對全世界的計算機教育發展產生了巨大的推動作用,國內有不少學者開始分析相關教程[3-6]。筆者展示了整個Computing Curricula的演化,重點分析了計算機科學教程的發展及變化,得出以下幾點啟示。
我國絕大多數本科高校均開設了“計算機科學與技術”專業,計算機類專業布點總數為2 481個,這些專業大量分布在地方高校[6]。各高校計算機類專業的師資隊伍、學生素質、辦學條件等方面差異較大,在制定人才培養方案時,要及時跟蹤信息技術的發展趨勢,結合各自學校的辦學定位,制定特色明顯的計算機專業人才培養方案,這是辦好一個專業的基礎。
在借鑒CC2001的基礎上,教育部高等學校計算機科學與技術教學指導委員會2006 年發布了《高等學校計算機科學與技術專業發展戰略研究報告暨專業規范(試行)》[7]。2015年ACM中國教育委員會與中國教育部計算機類專業教學指導委員會合作翻譯了CS2013中文版。考慮到中美兩國在信息技術產業結構、人才需求、教學理念、培養要求、學生素質等方面的差異,教育部計算機類教學指導委員會應及時成立工作組,頒布新的專業規范,以適應不同高校計算機專業的人才培養需求。
CS2013的知識體系規定了哪些內容應該包含在計算機科學的本科培養方案中,但一個機構的課程體系既不是從CS2013中簡單選取知識點,也不是從課程到知識領域的一一映射,而是在平衡社會需求、學生素質、教學目標、師資力量、支撐條件的基礎上,將知識點整合成為一個獨特的、切實可行的課程體系來支撐人才培養目標的實現,如圖3所示。

圖3 課程體系設計要點
我國計算機專業教材來源大致有兩種:一是國外原版或翻譯的經典教材,二是國內高校教師編寫的教材。現有的計算機專業教材在組織知識體系和評估學生學習成果方面還無法適應CS2013的知識體系,因此需要精心組織和統籌規劃,開發一批與CS2013知識體系配套的核心課程教材。
CS2013 提供了不同類型大學和學院的成功案例課程和不同層次大學的核心課程設置案例,借用這種方式,我們需要及時從國內計算機類專業本科辦學經驗豐富、培養學生質量較好的高等學校中,遴選一批典型核心課程案例,發揮其示范作用。
擁有足夠經驗豐富的師資隊伍是辦好計算機科學專業的必要條件。為了應對計算機領域的快速變化,學校必須建立終身學習機制(如脫產攻讀博士學位、到國內外高校做訪問學者等),讓教師有機會了解新知識,與新技術的發展同步,改進教學內容和方法。
計算機科學是一個理論與應用并重的專業,其課程的實驗部分對計算機軟硬件的需求往往超出一般高校計算機實驗室的配置條件,特別是在大數據時代,需要提供專用的實驗平臺來提高學生的軟件開發和工程能力,因此需要投入大量人、財、物去提升實驗室的計算機資源,以滿足學生的實驗教學需求。
盡管計算機類課程是以技術問題為中心的,但技術問題并不構成該領域教育計劃的全部。學生還必須了解更大的社會環境,以培養對相關社會、倫理、法律和專業問題的理解。這實際上是通識教育問題,我們應當借助中國加入《華盛頓協議》的契機,大力推進工程教育認證,促進通識教育的普及。
Computing Curricula系列代表了國際計算機教育的先進理念,這種理念下培養出的學生,支撐了世界上最發達的信息技術產業。作為計算機專業的教育工作者,應該研究和借鑒Computing Curricula系列思想,制定合理的人才培養目標,科學設置計算機專業課程,關注學生的產出并持續改進,最終提高我國的計算機專業人才培養質量。
[1] ACM、IEEE-CS、ACM中國教育委員會、教育部計算機類專業教學指導委員會. 計算機科學課程體系規劃2013[EB/OL].[2017-12-10]. http://www.acm.org/binaries/content/assets/education/cs2013_chinese.pdf.
[2] ACM、IEEE-CS、ACM中國教育委員會、教育部計算機類專業教學指導委員會. 計算機工程課程體系指南2016[EB/OL].[2017-12-10]. http://www.acm.org/binaries/content/assets/education/ce2016-final-report-chinese.pdf.
[3] 趙一鳴. ACM/IEEE-CS2001與計算機專業課程設置[J]. 高等理科教育, 2002(1): 43-47.
[4] 胡永良.“CC2005教程”的分析與思考[J]. 臺州學院學報, 2008(6): 61-65.
[5] 李曉靜, 王昊鵬, 潘彤.“計算機科學教程2013”概況分析、啟示與思考[J]. 計算機教育, 2014(16): 31-34.
[6] 古天龍, 周婭. CS2013對本科計算機類應用型人才培養的啟示[J]. 中國大學教學, 2015(7): 90-93.
[7] 教育部高等學校計算機科學與技術教學指導委員會. 高等學校計算機科學與技術專業發展戰略研究報告暨專業規范(試行)[M]. 北京: 高等教育出版社, 2006.