張 莉 張 林
摘要:本文回顧了中國和美國在計算機基礎教育的發(fā)展歷史,通過調研國外高校在計算機基礎教育方面的理念和方法,對比分析了中外高校在計算機基礎教育課程設置方面的差異,對我國高校計算機基礎教育現(xiàn)存的問題提出了建議和對策。
關鍵詞:計算機基礎教育;非計算機專業(yè);教學改革
中圖分類號:G642 文獻標識碼:B
非計算機專業(yè)占全體大學生的95%以上,對這部分學生進行計算機教育是提高高等學校教學質量的重要組成部分。由于我國計算機基礎教育的發(fā)展只有短短的二十年,而且覆蓋的專業(yè)眾多,涉及的學校類型各異,因此,對計算機基礎教育中的一些問題,目前在認識上還存在著差異。
筆者前期查閱了國外特別是美國的一些計算機基礎教育文章和資料,國外的同行們在計算機基礎教育教學理念、教學內容、教學方法等方面做了很多很好的探索,很多經(jīng)驗值得我們國內高等學校學習、借鑒和推廣,本文就此闡述一些體會和感想。
1中外計算機基礎教育歷史回顧
研究計算機基礎教育的現(xiàn)狀和問題,需要首先研究計算機基礎教育的歷史。在歷史背景下重新審視中外計算機基礎教育的發(fā)展歷程,總結經(jīng)驗,尋找借鑒之處。
1.1我國計算機基礎教育發(fā)展歷程
我國高校的計算機基礎教育主要經(jīng)歷了5個階段:萌芽階段、起初階段、形成階段、發(fā)展階段和提高階段。
萌芽階段始于上個世紀七十年代末,該階段的計算機基礎教育以介紹一些計算機發(fā)展史和硬件基礎知識為主,并開設了一些算法語言課。
八十年代初,隨著PC機、操作系統(tǒng)以及BASIC語言軟件的出現(xiàn),計算機基礎教育得到了一定程度的普及,進入了初始階段。國內理工科院校紛紛為非計算機專業(yè)的大學生開設計算機課程,目的是解決科學計算和數(shù)據(jù)管理問題。在此期間,譚浩強教授等出版了《BASIC語言》,全國高等院校計算機基礎教育研究會成立,并在1985年提出了計算機基礎教育要分成4個教學層次,即計算機基礎知識與微型機系統(tǒng)的操作與使用;高級語言程序設計;軟硬件基本知識;結合各專業(yè)的計算機應用課程。
九十年代,隨著工科計算機基礎課程指導委員會和文科計算機教育指導小組的相繼成立,國家教育委員會開始面向全體大學生開展計算機基礎教育,這時計算機基礎教育進入了形成階段。1997年教育部發(fā)布的155號文件,全面提出了對大學生進行計算機基礎教育的目標、要求和內容,并提出了計算機基礎教育要分成3個層次,即計算機文化基礎、計算機技術基礎、計算機應用基礎。
計算機基礎教育的發(fā)展階段是從二十世紀末到二十一世紀初,非計算機專業(yè)的計算機基礎教育逐步開始規(guī)范,許多學校成立了計算機基礎教學部或教學研究機構,非計算機專業(yè)的計算機基礎教育內容也開始變得豐富多彩,除了計算機發(fā)展史、程序設計語言的學習外,增加了Word、Excel、PPT、網(wǎng)絡知識、網(wǎng)頁制作、電子郵件、多媒體技術等內容,有些專業(yè)開設了“C++”、“Java”、“數(shù)據(jù)庫技術”、“數(shù)據(jù)結構”等課程,形成了現(xiàn)在的計算機文化基礎的教育模式,即包括計算機基本知識、計算機操作技能、計算機程序設計和計算機應用基礎等內容。
二十一世紀以來,計算機基礎教育取得了長足的發(fā)展,進入到提高階段。教育部2004年正式頒發(fā)了“關于進一步加強高校計算機基礎教學的幾點意見”的《計算機基礎教育白皮書》,使得計算機基礎教育在高校的地位得到了明顯的提高,教學條件也有了較大的改善,教學質量有了很大的提高,同時形成了穩(wěn)定的師資隊伍和有力的研究團隊,教材建設也有了很大的發(fā)展。
1.2美國計算機基礎教育發(fā)展歷程
國外大學計算機基礎教學幾乎經(jīng)歷了和我們一樣的歷程,但是它們起步較早,發(fā)展速度快,其中美國是世界上開展計算機教育、網(wǎng)絡教育、信息技術教育最早的國家。這與其科技、經(jīng)濟、軍事、教育等方面的領先發(fā)展密切相關。
上世紀七十年代初,美國開始大范圍非計算機專業(yè)的計算機教育,并且持續(xù)到八十年代,主要課程有“程序設計”或“計算機文化基礎”以及各種工具軟件的使用。據(jù)1985年的一個調研表明:60%的大學新生有半年以上的計算機學習經(jīng)歷。其主要源于美國的中學計算機教育發(fā)展迅速。到了八十年代中后期,美國的計算機普及教育發(fā)生了思路上的轉變。其一是1989年發(fā)表在ACM的一篇文章提出,新一代的計算機文化基礎應該是一個面向原理的課程(“A principles-oriented course”),即建議計算機基礎教育應當講計算機的原理課程和代表計算靈魂的算法課程。另有思路認為,高校的計算機基礎應該講述“信息素養(yǎng)”(“information literacy”)和“信息技術通曉”(“information fluency”)課程,其目的是讓學生具有獲取和維護各種數(shù)字信息的能力。
八十年代中后期,許多大學開始為非計算機專業(yè)開設“計算機導論”課,該課程開設的總體目的是介紹計算機的工作原理和幾十年來取得的成績,最大限度理解計算機的能力和局限。其主要內容包括程序設計、軟硬件等基礎,也包括如程序時間復雜性、并行體系結構、不可計算性和人工智能等一些提高內容。學生的實踐活動主要包括編程練習、電路設計問題、匯編語言程序設計、手工仿真編譯程序、研究程序的執(zhí)行時間、并行機的程序設計、不可計算性證明和一些人工智能系統(tǒng)的手工仿真。
由于美國教育行政實行地主分權,各地都有教育自主權,教育的目標、內容、課程、教科書等因地區(qū)而異,信息技術教育也呈現(xiàn)多元化格局。為此,美國十分重視國家統(tǒng)一標準的研制工作。在信息技術教育方面,1985年,美國科學促進協(xié)會(AAAS)發(fā)起了有關教育改革長期規(guī)劃的研制工作,聘請了400位國內外著名的科學家、教授、教師、管理人員,用了近4年的時間于1989年完成并公布了題為《2061計劃:面向全體美國人的科學》。該計劃對美國信息技術教育發(fā)展的意義在于:(1)將信息科學、計算機技術、人工智能納入到科學教育體系中。(2)把提高全民的“科學素養(yǎng)”作為科學教育的首要目標和解決教育問題的主要辦法。這為“信息素養(yǎng)”概念的拓展奠定了基礎。(3)對實行地方分權制的美國教育體制而言,建立了一個學校教育改革的統(tǒng)一規(guī)劃和標準。
1998年,美國全國圖書館協(xié)會和教育傳播與技術協(xié)會制定了學生學習的九大信息素養(yǎng)標準:能有效地、高效地獲取信息;能熟練地、批判性地評價信息;能精確地、創(chuàng)造性地使用信息;能探求與個人興趣有關的信息;能欣賞作品和其他對信息創(chuàng)造性表達的內容;能力爭在信息查詢和知識創(chuàng)新中做得最好;能認識信息對民主化社會的重要性;能實施與信息和信息技術相關的符合倫理道德的行為;能積極參與小組的活動來探求和創(chuàng)建信息。
作為信息素養(yǎng)理論和標準的一種發(fā)展,1999年,美國國家研究委員會(NRC)推出了題為《信息技術通曉(Being Fluent with Information Technology)》的報告。該報告所提出的“信息技術通曉”超出了計算機基本能力的傳統(tǒng)概念,它要求人們能夠廣泛地理解信息技術,能夠在工作和日常生活中富有成效地運用信息技術。該報告將“信息技術通曉”分為暫時性技能(Contemporary Skills)、基礎性概念(Foundational Concepts)和智力性能力(Inellectual Capabilities)3個方面。
此外,2000年美國國際教育技術協(xié)會(ISTE)聯(lián)合有關團體制定了《國家教育技術標準》(National Educational Technology Standards)。其中的“全體教師的教育技術標準”和“全體學生的教育技術標準”,詳細規(guī)范了師生信息技術知識與能力的基本構成和要求,對美國信息技術教育和教育技術的發(fā)展具有重要的一體化促進作用。
無論信息素養(yǎng)還是到信息技術通曉,它們的本質都非常關注問題解決,將信息技術作為問題解決和決策的工具,不是簡單的學習,而強調其工具論,把信息技術作為處理信息的工具、問題解決的工具和交流協(xié)作的工具。
2中外高校計算機基礎教育課程設置比較
2.1國內計算機基礎教育課程設置存在的問題
基于自身的教學實踐,以及對幾所不同類型大學的調查研究,我們認識到國內高校計算機基礎教育還存在以下幾個方面的問題:
(1) 公共基礎教育內容較偏重操作技能
國內的計算機基礎教育課程“大學計算機文化基礎”,是非計算機專業(yè)本科生的第一門計算機課程,較為全面地講述計算機科學與技術學科中的一些基礎性知識和重要概念。但是,更多地是強調操作技能的掌握,沒有在更高的層次上利用計算機解決問題。
(2) 公共基礎教育課程設置存在“一刀切”現(xiàn)象
從一些大學的調查問卷中可以看出,大部分來自城市的大學新生在中學已經(jīng)接受過一些計算機基礎教育。但是,大學里計算機基礎課程的設置是從零起點開始。因此,很多學生興趣不大,感到“流于形式,收效甚微”,而來自農(nóng)村的學生又需要從零學起計算機基礎知識。因此,目前的計算機基礎課程內容還較為單一,沒有層次性,還不能完全適用。
(3) 計算機基礎教育和學生專業(yè)脫節(jié)
國內的計算機技術基礎和應用基礎課,普遍存在著統(tǒng)一由計算機學院負責安排教學計劃、教學大綱以及教學進度的情況。也就是由計算機學院的專家決定非計算機專業(yè)的學生學什么是有益的,并且據(jù)此制定相應的課程規(guī)劃。作為計算機學院的專家是無法了解各個專業(yè)能夠應用到什么樣的計算機知識,也無法針對學生的專業(yè)來安排課堂內容。所以,對于學生來講,就好像一個想學開車的人卻在學習如何造汽車和修汽車,并沒有學習到他所需要的計算機知識。
2.2國外計算機基礎教育課程設置情況
相比之下,國外的計算機基礎教育在課程設置上更側重培養(yǎng)信息素養(yǎng)的教學理念,同時更面向應用,具有很強的專業(yè)針對性;對于同樣的課程,其教授內容也更為深入。
(1) 計算機基礎教育課程
國外與“大學計算機文化基礎”相類似的基礎課程是“計算機導論”或“信息技術”。該類課程設置的目的在于讓不同專業(yè)的學生懂得計算機科學的基本原理,教給學生計算機科學中一些偉大的思想與發(fā)明,通過這些預備知識,讓學生能夠最大限度地為將來理解計算機的能力和局限性打好基礎,使之能在所從事的行業(yè)中學以致用。與此同時,教給學生很多計算機方面的實用知識,培養(yǎng)一些實用性技巧(如軟件包的操作及其在實際情況下的應用)。
例如:華盛頓大學開設的導論課程就有“信息技術通曉(Fluency in Information Technology)”,“計算機程序設計(Computer Programming I,Computer Programming II)”3門之多;美國卡內基梅隆大學的計算機導論課講述的內容包括計算機科學的發(fā)展史、如何用算法表達計算程序、數(shù)據(jù)的組織、算法設計的技巧、優(yōu)化、計算的極限、并發(fā)性、公鑰密碼學、人工智能以及計算的未來等。MIT的公開計算機基礎課程是“信息技術(information Technology)”,其主要講授計算機硬件、操作系統(tǒng)及軟件基礎、數(shù)據(jù)庫、網(wǎng)絡與通訊、分布式計算與Web技術、電子商務應用。這些課程的目的是教給學生計算機科學的原理而非編程,著重強調的是從計算角度看計算機科學中的主要貢獻,學生著重對計算能力的理解以及在計算機科學中會遇到的可能影響其他學科的問題。
(2) 計算機應用基礎教育
國外的計算機應用類課程在設置上往往更有針對性,通常是圍繞計算機科學中最讓人感興趣的應用領域或者結合學生的專業(yè)進行講授。
例如:美國哈佛大學Leitner等人就提倡應該講授計算機應用課程,目標在于讓學生學會用計算機系統(tǒng)刻畫和解決實際問題,以加強對相應計算機概念的理解與認識。他的課程內容包括光線跟蹤、動畫粒子系統(tǒng)、交互優(yōu)化、圖像增強、人臉識別以及萬維網(wǎng)上的信息檢索等學生最感興趣的話題。波蘭的Portland Community College大學開設學生感興趣的計算機游戲導論以及y游戲程序設計。
(3) 計算機編程課程
國外的計算機編程課程設置超越了計算機語言的語法講授,這些課程重點是介紹計算機學科的整體情況,讓學生明白計算機編程只是整個計算機學科的一部分。課程所要達成的目標在于向學生傳遞一種計算機“感覺”,注重培養(yǎng)學生清晰思考的能力,培養(yǎng)學生通過編程解決實際問題的能力,以及感知計算機可以解決哪類問題的直覺能力。教學中的案例都是經(jīng)過認真、仔細地挑選,向學生展示這些例子與所學知識的內在關聯(lián),教給他們將來從事科學工作的技巧。
例如:美國馬可雷斯特大學的Matlab程序設計課程中,一半用來介紹Matlab編程,包括數(shù)據(jù)類型、函數(shù)的參數(shù)傳遞、索引、讀取標準文件的操作(如文本文件、電子表格)、構造函數(shù)、條件和函數(shù);一半用來介紹理工科的實例,如聲音(音樂合成、降噪音、速度變化等)、圖像(顏色調整、圖像分片、邊緣檢測等)與數(shù)學的聯(lián)系(公式的運用)、計算機科學(Fibonacci函數(shù)、漢諾塔、最優(yōu)匹配、生物信息等)以及圖形用戶界面(識別圖像上的點)等。
(4) 課程體系
國外大學在課程體系的安排上顯得更加靈活和有彈性,因此更具有科學性。例如:劍橋大學的計算機學位課程劃分為3個部分(Part IA,Part IB和Part II),不同體系體現(xiàn)了不同的特色。前兩個部分強調在計算機科學領域的扎實基礎,而后一個部分是專門深入的學習。其第一、二年的基礎課程涵蓋了計算機科學基礎理論和實踐課程,包括:面向對象語言Java、操作系統(tǒng)、離散數(shù)學、密碼學分析、算法、數(shù)字電子學、有限自動機、軟件設計和專業(yè)實踐等,其中數(shù)字電子學包括數(shù)字組件和電路基礎。第二年的課程主要是計算機專業(yè)核心技術與理論課程,例如,實踐課程包括計算機設計、數(shù)字通訊、編譯器構造和圖形學等;理論課程包括語義學、邏輯與證明和計算復雜性等。第三年的課程主要是專業(yè)性很強的課程,學生根據(jù)興趣和需求,選擇偏向工程、理論或者應用方面的。
3借鑒
通過上述調研,我們發(fā)現(xiàn)國外的計算機課程設置上有如下幾個特點值得我們借鑒。
(1) 計算機基礎教育的教育理念。國外對于非計算機專業(yè)的基礎教育定位較為準確:計算機基礎教育是以培養(yǎng)信息素養(yǎng)為核心的一種普及教育,要求學生能夠廣泛地理解信息技術,能夠在工作和日常生活中富有成效地運用信息技術。計算機基礎教育不是僅要求學生掌握某種信息技能,而是讓學生能夠最大限度地為將來理解計算機的能力和局限性打好基礎,使之能在所從事的行業(yè)中學以致用,以及能和計算機專業(yè)人才良好溝通。
(2) 計算機基礎教育和學生的專業(yè)結合緊密,根據(jù)不同專業(yè)特色,進行課程設置以及課程內容、作業(yè)的安排。這樣,計算機就不再是一些抽象的概念,而是其熟悉領域內一個可以解決問題的工具。
(3) 計算機基礎教育體系結構設置更具有科學性。內容上豐富,靈活,具有層次性,既強調基礎理論,又重視實踐,學生可以根據(jù)自己的興趣和需求,安排自己的學習。
4對策
我們要改變傳統(tǒng)的計算機教育觀念,根據(jù)我國現(xiàn)有國情,借鑒國外先進經(jīng)驗,為此,我們針對我國計算機基礎教育提出一些相應的對策:
(1) 采用分層次教學。我國新入學的大學生計算機水平參差不齊。據(jù)有關資料顯示,大學生入學時真正已掌握大學第一門計算機課要求的占14%;已學過一些,但達不到大學第一門課要求的占36%;根本未接觸過計算機的占41%。一般大城市的高等院校中,未接觸過計算機的學生比例約在5%~30%之間;邊遠少數(shù)民族地區(qū)約占到70%。有的學生能夠熟練的使用Windows操作系統(tǒng)和進行文字編輯、上網(wǎng)以及收發(fā)郵件,而有的學生甚至沒有見過計算機,因此,高校的計算機基礎教育需要分層次進行,才能適應我國現(xiàn)有的國情。
(2) 充分面向專業(yè)。不同專業(yè)對計算機應用的要求和特點是不同的,應該針對不同專業(yè)的需求和特點,構建不同的課程體系,設置不同的課程,選擇不同的內容和教材,使學生在自己熟悉的領域為解決問題而學習使用計算機,而不是單純僅僅為了學習計算機。同時也可以采用多種方式(如競賽的形式)促進計算機專業(yè)學生和非計算機專業(yè)學生的各種合作。
(3) 改革評價體系。目前高校對計算機基礎教育的考核往往只注重關注知識點,而不注意學生的實踐能力。由于評價體系的局限,很難在教學中貫穿能力培養(yǎng)的理念,也很難讓不同專業(yè)的學生自主決定教學內容。
(4) 注重培養(yǎng)學生的信息素養(yǎng)。在課堂上采用體現(xiàn)“以學生為本”的教學方法,讓學生能夠在老師的指導下,采用諸如基于解決問題的學習,基于證據(jù)的學習和質詢式的學習等方法主動進行思考,這樣比只通過講課和課本知識能夠獲得更深層次的思考技巧,從而更有效地提高信息素養(yǎng)。有了信息素養(yǎng)學生就會有更多自主學習的機會,因為他們可以利用多樣的信息資源來擴充知識,提出好的問題,增強判斷思維以應付進一步的自主學習。在學生的本科和研究生階段,他們必須多次地查詢,評估和管理從不同來源和運用不同學科性的研究方法所收集到的信息,而這正是信息素養(yǎng)的一種體現(xiàn)。
致謝:感謝教育部理工計算機基礎課程教指委的同仁們,本文得到了他們的很多幫助,也參閱了他們提供的共享資料,尤其感謝陳立潮教授對國內計算機基礎教育發(fā)展歷史的相關調研。
參考文獻:
[1] 中國高等院校計算機基礎教育改革課題研究組. 中國高等院校計算機基礎教育課程體系CFC2006[M]. 北京:清華大學出版社,2006-7.
[2] 彭紹東. 美國信息技術教育的發(fā)展述評[EB/OL]. http://218.22.0.27/lwk/dianziban%5C200204%5C20.htm.
[3] Myers Jr J P. The new generation of computer literacy[C]. Proceedings of the twentieth SIGCSE technical symposium on Computer science education,1989. ACM New York,NY,USA,1989.
[4] 徐萬胥,劉向永. 美國當代信息技術教育思潮評介[J]. 中國電化教育,2002(11):72-74.
[5] 王利,劉祖照. 計算機基礎教育調研報告[J]. 計算機教育,2004(1):48-51.
[6] T. Cortina. An Introduction to Computer Science for Non-majors Using Principles of Cmputation[J]. In Proc. of the SIGCSE 2007,Kentucky,USA,2007:218-222.
[7] MIT斯隆管理學院[DB/OL]. 《信息技術》課程的URL:http://www. myoops.org/ cocw/mit/Sloan-School-of-Management/15- 564Spring2003/LectureNotes/index.html.
[8]L. Marks,W. Freeman,and H. Leitner. Teaching Applied Computing Without Programming: A Case-Based Introductory Course for General Education[J]. In Proc. of the SIGCSE 2001,NC,USA,2001:80-84.
[9]D. Kaplan. Teaching Computation to Undergraduate Scientists[J]. In Proc. of the SIGCSE 2004,Virginia,USA, 2004:358-362.
[10] 姬秀荔,汪婷婷. 對高等學校計算機基礎教育改革的基點思考[J]. 安陽工學學報,2005(4):135-137.
[11] 馮鈴. 海外高校非計算機專業(yè)計算機課程設置的研究與實踐經(jīng)驗[J]. 計算機教育,2007(11):41-45.
[12] 中國計算機科學與技術學科教程2002研究組. 中國計算機科學與技術學科教程2002(China Computing Curricula,簡稱CCC2002)[M]. 北京:清華大學出版社,2002.
[13] IEEE CS and ACM. Computing Curricula 2001 Computer Science Final Report(簡稱CC2001)[S]. 2001.
[14] 教育部高等學校計算機科學與技術教學指導委員會非計算機專業(yè)計算機基礎課程較學指導分委員會. 關于進一步加強高校計算機基礎教學的意見(或“計算機基礎教學白皮書”)[Z]. 2003.