引言
高等學(xué)校的計(jì)算機(jī)教育,特別是廣大非計(jì)算機(jī)專業(yè)的計(jì)算機(jī)基礎(chǔ)教育,在很大程度上決定著未來社會(huì)人們應(yīng)用計(jì)算機(jī)和信息化技術(shù),解決來自自身領(lǐng)域問題的能力高低,所以計(jì)算機(jī)基礎(chǔ)教學(xué)備受社會(huì)各方面的關(guān)注。本文結(jié)合作者在海外數(shù)所著名院校執(zhí)教十年的工作經(jīng)歷,介紹海外高校關(guān)于非計(jì)算機(jī)專業(yè)計(jì)算機(jī)課程設(shè)置的研究與實(shí)踐經(jīng)驗(yàn)。
1非計(jì)算機(jī)專業(yè)學(xué)生對(duì)計(jì)算機(jī)課程的需求特點(diǎn)
在學(xué)習(xí)計(jì)算機(jī)知識(shí)的過程中,非計(jì)算機(jī)專業(yè)學(xué)生的思維方式不同于計(jì)算機(jī)專業(yè)的學(xué)生。非計(jì)算機(jī)專業(yè)學(xué)生對(duì)計(jì)算機(jī)課程學(xué)習(xí)有其自身的需求,我們必須根據(jù)現(xiàn)代教育思想和教學(xué)理論,針對(duì)非計(jì)算機(jī)專業(yè)學(xué)生對(duì)計(jì)算機(jī)課程的需求特點(diǎn),選擇正確的教學(xué)內(nèi)容,設(shè)立相應(yīng)的課程體系,運(yùn)用恰當(dāng)?shù)慕虒W(xué)模式與方法,將理論與實(shí)踐緊密結(jié)合,以提高非計(jì)算機(jī)專業(yè)計(jì)算機(jī)基礎(chǔ)教學(xué)的效果和質(zhì)量。
通過與計(jì)算機(jī)專業(yè)學(xué)生的需求對(duì)比,Kapland就非計(jì)算機(jī)專業(yè)對(duì)計(jì)算機(jī)課程的需求特點(diǎn)作出如下歸納總結(jié)[1]:
1)(1) 非計(jì)算機(jī)專業(yè)學(xué)生通常與諸如信號(hào)、圖像、方程、表格等實(shí)體打交道比較多。為了能夠?qū)Ψ怯?jì)算機(jī)專業(yè)的學(xué)生有所幫助,計(jì)算機(jī)基礎(chǔ)課程須教會(huì)他們?nèi)绾伪硎具@些工作中會(huì)用到的數(shù)據(jù),以及如何操作這些數(shù)據(jù),而對(duì)學(xué)生不太會(huì)感興趣的,諸如AVL樹和B樹之類的復(fù)雜數(shù)據(jù),則可以略去不講。
2)(2) 非計(jì)算機(jī)專業(yè)學(xué)生往往將計(jì)算機(jī)看成是一種工具而非自身的興趣所在,更非其職業(yè)追求的目標(biāo)。他們通常對(duì)計(jì)算機(jī)已有所接觸,能夠在家里輕松自如地使用計(jì)算機(jī)進(jìn)行一些圖像編輯、音樂合成等簡(jiǎn)單的操作。一旦轉(zhuǎn)到課堂,讓他們學(xué)習(xí)如何打印從1到10的數(shù)時(shí),計(jì)算機(jī)知識(shí)則變得復(fù)雜得多。強(qiáng)烈的對(duì)比很容易讓他們產(chǎn)生一種錯(cuò)覺:大學(xué)的計(jì)算機(jī)課程過時(shí)了,沒有實(shí)際應(yīng)用價(jià)值。
3)(3) 非計(jì)算機(jī)專業(yè)學(xué)生有著不同的專業(yè)背景,將來也會(huì)從事各行各業(yè)不同種類的工作。課堂上引用的例子必須是不同專業(yè)的學(xué)生都可通過直覺所接受的。
4)(4) 非計(jì)算機(jī)專業(yè)學(xué)生的導(dǎo)師往往自身也不具備很強(qiáng)的計(jì)算機(jī)使用能力,不可能去很好地幫助學(xué)生改善其計(jì)算機(jī)使用能力。學(xué)生從導(dǎo)師那里得到的幫助十分有限。
5)(5) 非計(jì)算機(jī)專業(yè)學(xué)生用在計(jì)算機(jī)課程上的學(xué)習(xí)時(shí)間十分有限,他們不太可能系統(tǒng)地學(xué)習(xí)計(jì)算機(jī)課程。有相關(guān)統(tǒng)計(jì)數(shù)據(jù)表明,一個(gè)計(jì)算機(jī)專業(yè)的學(xué)生在計(jì)算機(jī)課程上所花的時(shí)間通常是非計(jì)算機(jī)專業(yè)學(xué)生的十倍。
6)(6) 非計(jì)算機(jī)專業(yè)學(xué)生會(huì)頻繁地使用各類標(biāo)準(zhǔn)的圖表,如點(diǎn)線圖、直方圖、散點(diǎn)圖、輪廓圖、投影圖,等,即便是在一個(gè)很初級(jí)的階段也是如此。
7)(7) 非計(jì)算機(jī)專業(yè)學(xué)生大都不常寫軟件包,但是會(huì)經(jīng)常使用它們。他們寫程序往往是為某一特定用途,而不是寫給別人使用。
8)(8) 非計(jì)算機(jī)專業(yè)學(xué)生通常不用設(shè)計(jì)二進(jìn)制格式的文件,而是直接采用現(xiàn)成的電子表格、圖像、聲音等形式來進(jìn)行操作。他們迫切需要知道如何組織和操作存儲(chǔ)在各類表格和數(shù)據(jù)庫(kù)中的數(shù)據(jù),但可惜的是,這些知識(shí)在大多數(shù)計(jì)算機(jī)基礎(chǔ)課程中并未涉及。課堂上,教師們常常教給他們線性表、棧、隊(duì)列、樹、集合和圖,但并沒有教會(huì)他們?nèi)绾芜M(jìn)行數(shù)據(jù)庫(kù)的選擇、投影和連接等典型操作。
9)(9) 如今用于科學(xué)計(jì)算的軟件包非常多。我們很難預(yù)測(cè)非計(jì)算機(jī)專業(yè)學(xué)生在將來的科研工作中會(huì)需要哪些具體的計(jì)算機(jī)知識(shí)。與此相反,計(jì)算機(jī)專業(yè)的學(xué)生會(huì)非常確定地使用計(jì)算機(jī)程序語(yǔ)言,如C++和Java。
2非計(jì)算機(jī)專業(yè)計(jì)算機(jī)課程的典型設(shè)置
應(yīng)非計(jì)算機(jī)專業(yè)對(duì)計(jì)算機(jī)基礎(chǔ)知識(shí)的迫切需求,當(dāng)前,海內(nèi)外高校為非計(jì)算機(jī)專業(yè)開設(shè)了多種不同類型的課程,大體上可分為三種:(1)計(jì)算機(jī)導(dǎo)論課程 (著重計(jì)算機(jī)文化基礎(chǔ));(2)計(jì)算機(jī)應(yīng)用課程 (著重案例解答);(3)計(jì)算機(jī)編程課程 (著重程序語(yǔ)言與軟件包使用技巧)。具體講授方式也依照學(xué)校規(guī)模、教師隊(duì)伍與學(xué)生分布的不同而各具特色,總體上有如下三種授課方式:(1)同時(shí)面向計(jì)算機(jī)專業(yè)和非計(jì)算機(jī)專業(yè),統(tǒng)一授課;(2)計(jì)算機(jī)專業(yè)和非計(jì)算機(jī)專業(yè)分開授課;(3)面向某一特定的非計(jì)算機(jī)專業(yè)(如醫(yī)學(xué)),專一授課。這樣,可根據(jù)不同專業(yè)需要的側(cè)重點(diǎn)不同,傳授相應(yīng)的計(jì)算機(jī)基礎(chǔ)知識(shí)。下面,我們通過具體的案例,分別就海外非計(jì)算機(jī)專業(yè)計(jì)算機(jī)課程的設(shè)置經(jīng)驗(yàn)作進(jìn)一步介紹。
案例一:荷蘭蒂爾堡大學(xué)(University van Tilburg, the Netherlands)
筆者曾經(jīng)在荷蘭蒂爾堡大學(xué)信息系統(tǒng)與管理系任教3年。蒂爾堡大學(xué)為非綜合性院校,共設(shè)置有五個(gè)學(xué)院——經(jīng)濟(jì)商學(xué)院、法律學(xué)院、社會(huì)與行為科學(xué)學(xué)院、人文(藝術(shù)、哲學(xué)、神學(xué)、宗教學(xué))學(xué)院和天主教神學(xué)院。該校的經(jīng)濟(jì)商學(xué)院是最早、最大的學(xué)院,其經(jīng)濟(jì)學(xué)科居世界前列。信息系統(tǒng)與管理系附屬于經(jīng)濟(jì)商學(xué)院,所開設(shè)的課程面向本系信息管理專業(yè)的學(xué)生,同時(shí)對(duì)校其他專業(yè)的學(xué)生開放,屬上述統(tǒng)一授課類型。該系開設(shè)的主要課程包括商業(yè)工程(Business Engineering)、計(jì)算機(jī)與因特網(wǎng)技術(shù)、計(jì)算邏輯、計(jì)算機(jī)體系機(jī)構(gòu)、數(shù)據(jù)庫(kù)、e-商業(yè)(e-Business)、電子商務(wù)、信息技術(shù)、商務(wù)信息技術(shù)、計(jì)算與通信技術(shù)、經(jīng)濟(jì)與計(jì)算通信技術(shù)、運(yùn)籌學(xué)與計(jì)算通信技術(shù)、信息管理、信息系統(tǒng)的質(zhì)量管理、Linux、面向?qū)ο蟪绦蛟O(shè)計(jì)、面向?qū)ο竽P?、信息技術(shù)講座、軟件工程、系統(tǒng)與程序開發(fā)、網(wǎng)絡(luò)資訊,等。
2.1計(jì)算機(jī)導(dǎo)論課程的設(shè)置
該類課程的目的在于讓不同系科的學(xué)生懂得計(jì)算機(jī)科學(xué)的基本原理,教給學(xué)生計(jì)算機(jī)科學(xué)中一些偉大的思想與發(fā)明,通過這些預(yù)備知識(shí),讓學(xué)生能夠最大限度地為將來理解計(jì)算機(jī)的能力和局限性打好基礎(chǔ),使之能在所從事的行業(yè)中學(xué)以致用。與此同時(shí),在不要求學(xué)生今后從事計(jì)算機(jī)方面工作的前提下,教給學(xué)生很多計(jì)算機(jī)方面實(shí)用的知識(shí),培養(yǎng)一些實(shí)用性技巧(如軟件包的操作及其在實(shí)際情況下的應(yīng)用)。那種只有通過學(xué)院式計(jì)算機(jī)課程的學(xué)習(xí)才達(dá)到的對(duì)計(jì)算機(jī)科學(xué)的深入理解并不是此類課程的目的。根據(jù)參考文獻(xiàn)[3],對(duì)計(jì)算的深刻理解是可以通過非編程的教育手段獲得的。
案例二:美國(guó)卡耐基梅隆大學(xué)(Carnegie Mellon University, USA)
美國(guó)卡耐基梅隆大學(xué)的Cortina認(rèn)為現(xiàn)在的非計(jì)算機(jī)專業(yè)計(jì)算機(jī)課程為了讓學(xué)生能寫出正確的程序,過分強(qiáng)調(diào)了程序設(shè)計(jì)中的細(xì)節(jié)及其嚴(yán)謹(jǐn)性。很多時(shí)候,學(xué)生修這類課程并不是因?yàn)樗麄冊(cè)趯?shí)際工作中會(huì)用到編程,而是因?yàn)檫@是必修課 [2]。為此,他提出計(jì)算機(jī)導(dǎo)論課應(yīng)教給學(xué)生計(jì)算機(jī)科學(xué)的原理而非編程,課程應(yīng)著重強(qiáng)調(diào)從計(jì)算角度看計(jì)算機(jī)科學(xué)中的主要貢獻(xiàn),學(xué)生著重對(duì)計(jì)算能力的理解以及在計(jì)算機(jī)科學(xué)中會(huì)遇到的可能影響其他學(xué)科的問題。在設(shè)計(jì)課程的過程中,教師不應(yīng)該通過某一門程序設(shè)計(jì)語(yǔ)言或者某一個(gè)特定的應(yīng)用領(lǐng)域貫穿始終地講授,而應(yīng)該從計(jì)算的角度,講述計(jì)算機(jī)科學(xué)的主要貢獻(xiàn)和事件。學(xué)生學(xué)習(xí)算法以及建立計(jì)算機(jī)科學(xué)的思維方式,可以通過使用流程圖、模擬器來演示一些簡(jiǎn)短算法的流程,使得能夠在不涉及程序設(shè)計(jì)語(yǔ)言語(yǔ)法的情況下,就可寫出一個(gè)簡(jiǎn)單的小游戲。Cortina在其所講授的計(jì)算機(jī)導(dǎo)論課程里,覆蓋了如下幾方面的內(nèi)容[2]:
(1) 計(jì)算機(jī)科學(xué)的發(fā)展史。例如:早期的設(shè)備,歐洲中世紀(jì)計(jì)算機(jī)科學(xué)的緩慢發(fā)展進(jìn)程,Babbage 和Hollerith在19世紀(jì)的貢獻(xiàn),以及戰(zhàn)爭(zhēng)(二戰(zhàn)、冷戰(zhàn))對(duì)計(jì)算機(jī)科學(xué)飛速發(fā)展的影響和促進(jìn),等。
(2) 用算法表達(dá)計(jì)算程序。例如:采用偽代碼表示算法,用Raptor工具模擬計(jì)算過程可視化流程圖,等。
(3) 數(shù)據(jù)的組織。例如:基本數(shù)據(jù)結(jié)構(gòu)(數(shù)組、鏈表、棧、隊(duì)列、樹和圖)、數(shù)據(jù)庫(kù)和算法的典型構(gòu)成(賦值、條件語(yǔ)句、循環(huán)和子過程,等)。
(4) 用計(jì)算機(jī)可執(zhí)行的程序表達(dá)算法(即計(jì)算自動(dòng)化)。例如:程序設(shè)計(jì)泛型(命令式、面向?qū)ο笫?、函?shù)式和邏輯式)、編譯器與解釋器。
(5) 算法設(shè)計(jì)的技巧。包括遞歸、分而治之(如歸并排序、漢諾塔)、貪心算法(如Huffman編碼、最小生成樹)和動(dòng)態(tài)規(guī)劃(如Fibonacci函數(shù)、所有頂點(diǎn)的最短路徑)。
(6) 優(yōu)化,讓計(jì)算更完美。包括正確性(常量的使用,用數(shù)學(xué)歸納法證明算法的正確性)以及有效性(算法復(fù)雜度)。
(7) 計(jì)算的極限。例如:難解性、不可判定性和通用計(jì)算模型(圖靈機(jī)和計(jì)數(shù)器程序)。
(8) 并發(fā)性。包括多處理器(同步、最大加速比和負(fù)載)、流水線技術(shù)和多任務(wù)(操作系統(tǒng)、死鎖與餓死)。
(9) 應(yīng)用。例如公鑰密碼學(xué)、人工智能(圖靈測(cè)試和博弈樹),等。
(10) 計(jì)算的未來。包括量子計(jì)算、納米科技等客座講座。
2007學(xué)年,共65人選修該課,分別來自人文與社會(huì)學(xué)院、商學(xué)院、工程學(xué)院、計(jì)算機(jī)學(xué)院和理學(xué)院。根據(jù)學(xué)生的反饋[2],80%的學(xué)生贊同客座講座,55%的學(xué)生期望繼續(xù)啟用但應(yīng)使用更多的圖例進(jìn)行講解,85%的學(xué)生會(huì)將這門課推薦給朋友。
案例三:香港理工大學(xué)(Hong Kong Polytechnic University, China)
考慮到醫(yī)務(wù)人員通常需要使用計(jì)算機(jī)工作者開發(fā)的遠(yuǎn)程臨床設(shè)備。很多時(shí)候,這些臨床設(shè)備啟用了一段時(shí)間,但使用者卻經(jīng)常因?yàn)榛A(chǔ)電腦知識(shí)的缺乏而遇到各式各樣的問題。為解決此問題,香港理工大學(xué)計(jì)算機(jī)系專門為醫(yī)務(wù)工作者開設(shè)了一門名為“計(jì)算機(jī)開明”(computer literacy)的課程,聽課者包括醫(yī)生、管理人員、市場(chǎng)銷售人員以及經(jīng)理,等。課程教案幾經(jīng)修改,每次修改均安排在實(shí)戰(zhàn)訓(xùn)練課程后或者研討會(huì)之后進(jìn)行。該課程旨在概述計(jì)算機(jī)的基本運(yùn)作、資訊科技在醫(yī)療系統(tǒng)中的應(yīng)用,以及計(jì)算機(jī)的基本操作常識(shí)。授課內(nèi)容包括:
1)(1) 計(jì)算機(jī)系統(tǒng)導(dǎo)論,包括計(jì)算機(jī)系統(tǒng)的基本組成(CPU、存儲(chǔ)設(shè)備、媒體和I/O設(shè)備)和工作原理。
2)(2) 系統(tǒng)軟件,包括系統(tǒng)軟件的功能和操作,MS Windows的基本特點(diǎn)和命令,等。
3)(3) 漢字的輸入方法。
4)(4) 數(shù)據(jù)庫(kù),包括數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu),數(shù)據(jù)庫(kù)系統(tǒng)的操作,等。
5)(5) 資訊科技的應(yīng)用,根據(jù)計(jì)算機(jī)組織結(jié)構(gòu),介紹計(jì)算機(jī)的應(yīng)用。
案例四:美國(guó)波士頓大學(xué)(Boston College, USA)
美國(guó)波士頓大學(xué)Parker and Schneider認(rèn)為非計(jì)算機(jī)專業(yè)課程應(yīng)該超越計(jì)算機(jī)語(yǔ)言的語(yǔ)法講授,重點(diǎn)介紹計(jì)算機(jī)學(xué)科的整體情況,讓學(xué)生明白計(jì)算機(jī)編程只是整個(gè)計(jì)算機(jī)學(xué)科的一部分。課程所要達(dá)成的目標(biāo)在于向?qū)W生傳遞一種計(jì)算機(jī)“感覺”,在講解計(jì)算機(jī)的一些主要概念及其相互聯(lián)系的同時(shí),讓學(xué)生真正地在實(shí)驗(yàn)室里操作實(shí)踐[4]。他們所設(shè)計(jì)的課程內(nèi)容涵蓋了計(jì)算機(jī)理論、硬件與邏輯設(shè)計(jì)、計(jì)算機(jī)組成、算法與數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計(jì)語(yǔ)言、操作系統(tǒng)與虛擬機(jī)、應(yīng)用以及社會(huì)等諸方面。其教學(xué)風(fēng)格是在每一個(gè)層次上,介紹重要的原理并引出在這個(gè)層次上學(xué)習(xí)的關(guān)鍵問題,然后,邁向下一個(gè)層次在一個(gè)新的抽象層次上對(duì)新問題展開討論,同時(shí)和前一個(gè)層次的內(nèi)容相結(jié)合。
2.2計(jì)算機(jī)應(yīng)用課程的設(shè)置
由于上述計(jì)算機(jī)導(dǎo)論課程依然著重于計(jì)算機(jī)系統(tǒng)本身而非計(jì)算機(jī)應(yīng)用,或多或少地強(qiáng)調(diào)計(jì)算機(jī)編程,就好像教一個(gè)想學(xué)開車的孩子如何修汽車,因而,那些受好奇心驅(qū)動(dòng)的非計(jì)算機(jī)專業(yè)學(xué)生往往覺得此類計(jì)算機(jī)導(dǎo)論課程困難且乏味。為解決此問題,另一大類偏重于實(shí)際應(yīng)用的計(jì)算機(jī)基礎(chǔ)課程孕育而生,即計(jì)算機(jī)應(yīng)用課程。
案例五:美國(guó)哈佛大學(xué)(Harvard University, USA)
美國(guó)哈佛大學(xué)Leitner等人提倡在非計(jì)算機(jī)專業(yè)的計(jì)算機(jī)基礎(chǔ)教學(xué)中,講授計(jì)算機(jī)應(yīng)用而非計(jì)算機(jī)本身,強(qiáng)調(diào)計(jì)算機(jī)應(yīng)用程序的使用而不是單調(diào)的程序設(shè)計(jì)練習(xí)[5]。課程的目標(biāo)在于讓學(xué)生學(xué)會(huì)用軟件系統(tǒng)刻畫和解決實(shí)際問題,以加強(qiáng)對(duì)相應(yīng)計(jì)算機(jī)概念的理解與認(rèn)識(shí)。課程設(shè)計(jì)應(yīng)圍繞計(jì)算機(jī)科學(xué)中最讓人感興趣的應(yīng)用領(lǐng)域(如人工智能、計(jì)算機(jī)圖形學(xué)、計(jì)算機(jī)視覺、信息檢索、人機(jī)交互,等)來組織。在授課的過程中,每一種應(yīng)用可從兩方面來講授:首先,給出計(jì)算機(jī)科學(xué)概念的一個(gè)直覺性概觀;其次,強(qiáng)調(diào)應(yīng)用的特定細(xì)節(jié),務(wù)必每一個(gè)實(shí)例都和一個(gè)特定的軟件系統(tǒng)聯(lián)系在一起。學(xué)生不需要程序設(shè)計(jì)的基礎(chǔ),在課堂上也不講授程序設(shè)計(jì)。在選擇具體的應(yīng)用案例時(shí),注意選題必須覆蓋計(jì)算機(jī)應(yīng)用的關(guān)鍵領(lǐng)域并提供這些領(lǐng)域特點(diǎn)概念的代表性舉例;需用到的軟件必須易學(xué)、易用、易引起學(xué)生的興趣,適合新手使用和實(shí)驗(yàn),需假定學(xué)生除了用過Word或?yàn)g覽器這類的基礎(chǔ)軟件之外沒用過其他軟件。這些系統(tǒng)既可以是商業(yè)軟件、自由軟件,也可以是自己開發(fā)的。參考文獻(xiàn)[5]中給出了幾個(gè)案例及其分析說明。
(1) 光線跟蹤。運(yùn)用計(jì)算機(jī)圖形學(xué)原理(幾何建模和光線傳輸與反射)、計(jì)算幾何(計(jì)算交叉、幾何搜索)等計(jì)算機(jī)知識(shí)。
(2) 動(dòng)畫粒子系統(tǒng)。涉及離散時(shí)間系統(tǒng)驅(qū)動(dòng)(隨機(jī)數(shù))、數(shù)值方法(數(shù)值積分)等計(jì)算知識(shí)。
(3) 交互優(yōu)化。涉及計(jì)算復(fù)雜性(算法與問題的復(fù)雜度、旅行商問題和NP完全)、人工智能(啟發(fā)式搜索和優(yōu)化)、概率論和統(tǒng)計(jì)(算法的經(jīng)驗(yàn)分析)、人機(jī)交互(協(xié)同用戶界面的設(shè)計(jì))等計(jì)算技術(shù)。
(4) 圖像增強(qiáng)。涉及電子成像(圖像感知與表示)、圖像處理(點(diǎn)操作、圖像過濾、噪音去除)等計(jì)算技術(shù)。
(5) 人臉識(shí)別。涉及計(jì)算機(jī)視覺(形狀識(shí)別、圖形跟蹤和運(yùn)動(dòng)分析)、人機(jī)交互(基于照相設(shè)備的界面)等計(jì)算技術(shù)。
(6) 萬(wàn)維網(wǎng)上的信息檢索。涉及經(jīng)典數(shù)據(jù)處理(關(guān)系數(shù)據(jù)庫(kù)和有效排序和查找)、信息檢索(名詞集合的向量空間模型、倒排索引、鏈接分析法、語(yǔ)義網(wǎng)和協(xié)同過濾)等計(jì)算技術(shù)。
案例六:美國(guó)坦普大學(xué)(Temple University, USA)
美國(guó)坦普大學(xué)Aiken等人為非計(jì)算機(jī)專業(yè)學(xué)生設(shè)計(jì)了一門計(jì)算機(jī)案例課程,期望通過具體案例,結(jié)合特定領(lǐng)域的知識(shí)和邏輯,運(yùn)用解決科學(xué)問題的一般性計(jì)算和數(shù)學(xué)方法,借助信息工具,引導(dǎo)學(xué)生解決關(guān)鍵的科學(xué)問題,達(dá)到讓學(xué)生了解不同領(lǐng)域?qū)<胰绾问褂眯畔⒓夹g(shù)解決問題的目的[6]。在選擇案例時(shí),所考慮的依據(jù)為:①案例所表述的問題必須能激發(fā)不同專業(yè)學(xué)生的興趣;②案例必須是一些實(shí)際工作中可能會(huì)遇到的;③通過案例閱讀和分析,學(xué)生能迅速把精力集中到解決問題的策略和信息技術(shù)上,而不會(huì)被其他一些困難所牽制;④案例所表達(dá)的問題必須涉及計(jì)算機(jī)科學(xué)的主要概念和相關(guān)工具。參考文獻(xiàn)[6]中詳細(xì)地繪出了案例分析的模板,包括如下八個(gè)組成部分:
1)(1) 任務(wù)描述。包括問題陳述、動(dòng)機(jī)、背景、研究與驗(yàn)證所采用的模型、邊界條件、作為一般性問題解決策略的解題過程、學(xué)習(xí)目標(biāo)、陷阱與失敗的范例,等。每一個(gè)案例應(yīng)代表某一類問題以及與其相關(guān)的解決方案。
2)(2) 課程計(jì)劃和講義。包括課程內(nèi)容、特定目標(biāo)、講解與實(shí)驗(yàn)、獨(dú)立活動(dòng)、討論專題和小組活動(dòng),等。
3)(3) 試驗(yàn)計(jì)劃、活動(dòng)與講稿。描述學(xué)生在實(shí)驗(yàn)前應(yīng)該作哪些思考、應(yīng)該在實(shí)驗(yàn)室里做些什么工作以及這些工作的目的。
4)(4) 作業(yè)、課程項(xiàng)目、考試題和討論問題。應(yīng)留有足夠的各類問題,用于自我評(píng)估并可供學(xué)生進(jìn)一步自學(xué)。
5)(5) 數(shù)據(jù)。應(yīng)有與案例分析相關(guān)的數(shù)據(jù)(如文件、數(shù)據(jù)庫(kù)、圖像、動(dòng)畫和演示)。
6)(6) 程序與工具。在案例分析中所用到的每一個(gè)程序和工具,在網(wǎng)上都應(yīng)該有足夠的文檔,以及為什么選擇這種工具的陳述。
7)(7) 額外的資源,供進(jìn)一步學(xué)習(xí)之用。包括參考文獻(xiàn)、信息網(wǎng)站、相關(guān)項(xiàng)目,以及項(xiàng)目完善的建議。
8)(8) 評(píng)價(jià)體系。對(duì)于案例分析中的每一種活動(dòng),指出學(xué)生應(yīng)達(dá)到的程度。
參考文獻(xiàn)[6]給出了如下幾個(gè)案例供參考。①模擬時(shí)空下人類的行為,通過GIS模擬,跟蹤2000年前到9000年前巴拿馬中部熱帶森林里農(nóng)民的擴(kuò)張和隨之而來的巴拿馬森林的減少。②工業(yè)發(fā)展對(duì)職業(yè)年齡等造成的一系列影響,自1980到現(xiàn)在,審查、評(píng)價(jià)和解釋美國(guó)職業(yè)分布的變化。③用計(jì)算方法探秘有機(jī)分子的結(jié)構(gòu),教給學(xué)生簡(jiǎn)單有機(jī)分子的物理性質(zhì)和結(jié)構(gòu)之間的關(guān)系,讓學(xué)生利用物理定律和特定的計(jì)算方法預(yù)測(cè)簡(jiǎn)單分子的結(jié)構(gòu)和性質(zhì)。
2.3計(jì)算機(jī)編程課程的設(shè)置
在鼓勵(lì)向非計(jì)算機(jī)專業(yè)開設(shè)計(jì)算機(jī)導(dǎo)論課和計(jì)算機(jī)應(yīng)用課的同時(shí),當(dāng)前仍然有很多高校認(rèn)同計(jì)算機(jī)程序設(shè)計(jì)課程的必需性。這是因?yàn)榭茖W(xué)計(jì)算普遍存在于當(dāng)今絕大多數(shù)的科學(xué)領(lǐng)域中,科學(xué)家們傾向于使用應(yīng)用軟件包而非程序開發(fā)環(huán)境。掌握基本的計(jì)算機(jī)程序設(shè)計(jì)概念、學(xué)習(xí)一般性程序設(shè)計(jì)技巧對(duì)使用這些軟件包非常有幫助。如今,越來越多的科學(xué)軟件包采用腳本語(yǔ)言、或更為完善的程序設(shè)計(jì)語(yǔ)言(如Matlab,Mathematica,等)。另外,教給學(xué)生一門程序設(shè)計(jì)語(yǔ)言對(duì)于將來想從事計(jì)算機(jī)科學(xué)工作的學(xué)生也是有用的。
一般意義上,計(jì)算機(jī)編程課的目的在于培養(yǎng)學(xué)生清晰思考的能力、通過編程解決實(shí)際問題的能力、以及感知計(jì)算機(jī)可以解決哪類問題的直覺能力(如計(jì)算機(jī)的最大能力以及計(jì)算的極限)。程序設(shè)計(jì)課程的講授一般需遵循下列準(zhǔn)則:①因時(shí)間有限,所講授的程序設(shè)計(jì)語(yǔ)言必須容易學(xué)習(xí)和掌握;②程序設(shè)計(jì)語(yǔ)言必須能清晰反映計(jì)算機(jī)編程概念;③程序設(shè)計(jì)語(yǔ)言必須提供科學(xué)工作者常用的基本運(yùn)算,例如將程序設(shè)計(jì)語(yǔ)言與圖形集成在一起,學(xué)生就可以較為容易地學(xué)會(huì)畫統(tǒng)計(jì)圖表;④程序設(shè)計(jì)語(yǔ)言必須具有一般性,可以通過程序設(shè)計(jì)語(yǔ)言來解釋計(jì)算機(jī)科學(xué)中遇到的重要概念,如語(yǔ)言必須可以用自然而簡(jiǎn)單的形式去表達(dá)樹,也可以支持遞歸;⑤應(yīng)用程序和例子必須經(jīng)過認(rèn)真、仔細(xì)地挑選,向?qū)W生展示這些例子與所學(xué)知識(shí)的內(nèi)在關(guān)聯(lián),教給他們將來從事科學(xué)工作的技巧,且所選應(yīng)用對(duì)于每個(gè)理工科學(xué)生來說都應(yīng)是有趣、易掌握的。
案例七:美國(guó)杜克大學(xué)(Duke University, USA)
美國(guó)杜克大學(xué)Biermann在講授計(jì)算機(jī)編程課程時(shí),兼顧了兩大部分的內(nèi)容:計(jì)算機(jī)硬件/軟件部分和高級(jí)專題部分[7]。計(jì)算機(jī)硬件/軟件部分著重讓學(xué)生理解計(jì)算是一個(gè)機(jī)械的過程,從開關(guān)電路和機(jī)器基本部件的連接開始,講授晶體管和超大規(guī)模集成電路技術(shù),以及如何將大規(guī)模電路集成到小芯片上,然后展示一個(gè)典型的機(jī)器系統(tǒng)結(jié)構(gòu),機(jī)器的運(yùn)轉(zhuǎn)以及如何用它編程,最后,解釋一個(gè)小的編譯器如何把高級(jí)語(yǔ)言翻譯成機(jī)器可以執(zhí)行的語(yǔ)言。在高級(jí)專題方面,主要介紹一些當(dāng)今熱門研究問題,讓學(xué)生認(rèn)識(shí)到計(jì)算機(jī)科學(xué)的局限性,包括計(jì)算機(jī)程序的時(shí)間復(fù)雜度、并行結(jié)構(gòu)、不可計(jì)算性和人工智能,等。
案例八:美國(guó)馬可雷斯特大學(xué)(Macalester College, USA)
美國(guó)馬可雷斯特大學(xué)Kaplan 在講授Matlab 程序設(shè)計(jì)課程中,一半用來介紹Matlab編程,包括數(shù)據(jù)類型、函數(shù)的參數(shù)傳遞、索引、讀取標(biāo)準(zhǔn)文件的操作(如文本文件,電子表格)、構(gòu)造函數(shù)、條件和函數(shù);一半用來介紹理工科的實(shí)例,如聲音(音樂合成、降噪音、速度變化,等)、圖像(顏色調(diào)整、圖像分片、邊緣檢測(cè),等)、與數(shù)學(xué)的聯(lián)系(公式的運(yùn)用)、計(jì)算機(jī)科學(xué)(Fibonacci函數(shù)、漢諾塔、最優(yōu)匹配、生物信息,等),以及圖形用戶界面(識(shí)別圖像上的點(diǎn)),等[1]。
3結(jié)束語(yǔ)
一門優(yōu)秀的非計(jì)算機(jī)專業(yè)計(jì)算機(jī)課程帶給學(xué)生的影響與作用力將超過一個(gè)學(xué)期??v觀海外各大高校關(guān)于非計(jì)算機(jī)專業(yè)計(jì)算機(jī)課程的研究與實(shí)踐經(jīng)歷,我們認(rèn)為在設(shè)計(jì)一門非計(jì)算機(jī)專業(yè)計(jì)算機(jī)課程時(shí),應(yīng)遵循如下五大方面的設(shè)計(jì)準(zhǔn)則:
1)(1) 設(shè)定目標(biāo)。根據(jù)學(xué)校教學(xué)大綱的要求,同時(shí)參考ACM推薦的課程(http://www.acm.org/sigcse/cc2001),達(dá)到以下的目標(biāo)。
目標(biāo)1:讓課程內(nèi)容更相關(guān),所有課程內(nèi)容和作業(yè)都和學(xué)生的職業(yè)目標(biāo)相關(guān);
目標(biāo)2:為啟發(fā)學(xué)生的創(chuàng)造力提供機(jī)會(huì),提供機(jī)會(huì)引導(dǎo)學(xué)生把計(jì)算看作是有趣而又富有創(chuàng)造性的活動(dòng);
目標(biāo)3:讓理論更為實(shí)踐化,讓學(xué)生把計(jì)算機(jī)科學(xué)看作是一項(xiàng)社會(huì)活動(dòng),而不是把它看作一項(xiàng)如進(jìn)行黑客活動(dòng)一樣的非社會(huì)活動(dòng)。
(2) 選擇上下文。許多有力證據(jù)表明,如果不講授一些抽象的概念,如某一具體領(lǐng)域內(nèi)的程序設(shè)計(jì),學(xué)生根本學(xué)不會(huì)。因此選擇特定上下文是改進(jìn)學(xué)習(xí)的一個(gè)關(guān)鍵點(diǎn)。如果以深度代替廣度,我們可以教授更多的可轉(zhuǎn)化的知識(shí),同時(shí),使得學(xué)生在某門課程結(jié)束后仍然可以應(yīng)用這門課程所學(xué)到的知識(shí)。最好的方法就是在某些可以實(shí)際應(yīng)用的特定環(huán)境中教他們編程。
(3) 設(shè)定反饋渠道。不僅從授課教師中取得反饋,而且也應(yīng)通過多種論壇渠道,獲取學(xué)生的反饋。
(4) 制定課程的基本結(jié)構(gòu)。選擇語(yǔ)言和編程環(huán)境是關(guān)鍵的問題,甚至在有些時(shí)候是非常謹(jǐn)慎的問題。對(duì)非專業(yè)課程中所使用語(yǔ)言的選擇過程,與社會(huì)、文化極其相關(guān),這種相關(guān)性甚至不亞于教法的相關(guān)性。
(5) 定義課程。確定課程講授內(nèi)容、作業(yè)和實(shí)踐操練的詳細(xì)內(nèi)容。
參考文獻(xiàn)
[1] D. Kaplan. Teaching Computation to Undergraduate Scientists. In Proc. of the SIGCSE 2004, Virginia, USA, 2004, PP 358-362.
[2] T. Cortina. An Introduction to Computer Science for Non-majors Using Principles of Cmputation. In Proc. of the SIGCSE 2007, Kentucky, USA, 2007, PP 218-222.
[3] Mark Urban-Lurain and Donald J. Weinshank, “Is there a role for programming in non-major CS courses?”, Michigan State University, USA, in Proc. ofFrontiers in Education Conference, 2000.
[4] J. Parker andG. Schneider. Problems with and Proposals for Service Courses in Computer Science. In Proc. of the SIGCSE 1987, MO, USA, 1987, PP 423-427.
[5] L. Marks, W. Freeman, and H. Leitner. Teaching Applied Computing Without Programming: A Case-Based Introductory Course for General Education. In Proc. of the SIGCSE 2001, NC, USA, 2001, PP 80-84.
[6] R. Aiken, N. Kock, and M. Mandviwalla. Fluency in Information Technology: S Second Course for non-CIS Majors. In Proc. of the SIGCSE 2000, TX, USA, 2000, PP 280-284.
[7] A. Biermann. An Overview Course in Academic Computer Science: A New Approach for Teaching Nonmajors. In P roc. of the SIGCSE 1990, Washington, DC, USA,1990, PP 236-239.