文章編號:1672-5913(2015)07-0087-03
中圖分類號:G642
摘要:針對北京林業大學計算機基礎系列課程教學模式存在的問題,以C語言課程為例,分析“計算思維”在創新人才培養中的重要性以及課程的教學現狀、教學定位和教學要求,提出基于“計算思維”的大學計算機基礎課程教學改革方案。
關鍵詞:大學計算機基礎課程;C語言;計算思維;算法;實踐教學
0 引 言
近10年來,計算機科學與技術已經成為新興技術發展所必需的手段和方法,新技術的創造和發展源于先進的工具、先進的技術和先進的方法,計算思維與各個學科交叉和融合的趨勢非常明顯。
但是現在很多高校,包括北京林業大學,仍將大學的計算機基礎課程停留在計算機工具應用教育的層面上,課程的內容和教學還未能深刻地反映思維和能力的培養,與計算機科學發展日新月異的現實不相適應,距離當前計算機已經廣泛滲透到各個領域的現狀有很大差距。因此,在大學的計算機基礎教學中,應該將原來的大學計算機基礎教學中的計算機工具應用教育轉化為以“計算思維”能力培養為核心的計算機科學的通識教育,使之成為大學生科學素質培養的重要組成部分,這也是當前大學計算機基礎課程改革的重要任務之一。
1 “計算思維”在創新人才中的作用早在2005年11月,美國卡內基梅隆大學計算機系主任周以真教授在第七屆“二十一世紀的計算”大型學術研討會就表達過這樣的觀點:“計算思維”是每一個人應該擁有的基本技能,它不僅僅只屬于計算機方面的科學家。當我們在求解一個給定的問題時,首先會判斷:這個問題的難度如何?它的最佳解決方案是什么?計算機科學憑借堅實的理論基礎準確地回答這些問題。“計算思維”利用啟發式推理來尋求解答,采用抽象和分解去處理龐大復雜的任務或者設計巨大復雜的系統。總之,“計算思維”是運用計算機科學的理論知識進行問題求解、系統設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。
“計算思維”不僅是計算機學科的思維方式,在其他學科領域也具有深遠影響。在生物學領域,生物學家用“計算思維”發展了計算生物學;在化學領域,化學家的思考方式受到納米計算的影響;在經濟學領域,經濟學家用計算博弈理論進行經濟分析;在物理領域,物理學家用量子計算建構新的物理模型。“計算思維”能力培養是創新人才培養中通識教育的重要組成部分,計算機科學教育的目的,除了要為各個學科提供解決問題的有效手段和方法之外,還要培養人擁有一種有效地解決問題的思維方式。在大學計算機基礎教育中,對各種專業的學生進行計算思維能力的培養將有助于他們更好地進行專業知識的學習和理解,改變學生的創新思維過程與能力,并在今后的個人發展和從事行業的科學研究中產生潛移默化的影響。
C語言課程是大學計算機基礎系列課程之一,其教學目的是培養學生自覺運用計算機技術和方法去解決問題的能力。在編程能力、邏輯思維能力和獨立解決問題能力的培養和提高上,C語言課程對學生來說有著不可替代的重要意義,在專業知識的學習和使用上,也能對學生起到很好的輔助作用。
2 基于“計算思維”的C語言教學改革
2.1 C語言課程的傳統教學模式
在C語言課程以往的教學過程中,教師授課基本上以語法教學為主,授課內容主要是C語言的語法和語義。課程結束后,對學生掌握語法和語義情況進行考核,考核方式一般采用閉卷筆試的形式。
以往的C語言課程教學雖然無論是課堂授課還是考核都易于操作,但教學效果不理想。比如說,單向的教與學的過程使得課堂上氣氛沉悶、缺乏趣味,學生往往覺得枯燥,不能主動參與到課程中去;除此之外,學生雖然對語法和語義掌握得還不錯,示例程序也能模仿,可是獨立思考能力卻嚴重不足,總體來說編程能力依然缺乏,不能解決實際問題。由此可見,基于語法的教學模式不能很好地培養學生的“計算思維”能力和編寫程序解決問題的能力。
2.2 C語言課程教學模式改革的嘗試
在長期的教學實踐中,我們與學生反復溝通,在教學過程中深入思考、大膽嘗試,對教學效果認真驗證,得出這樣的結論:基于語法的單向傳授的教學模式不適應目前計算科學發展的現實,應該把基于“計算思維”的教學模式貫穿到C語言教學中,用新的理念和方法幫助學生提高能力。
2.2.1 內容上強調實踐
以往的C語言課程內容強調語法,改革后,我們把“計算思維”引入課堂。基于“計算思維”的教學模式不再偏重語法,而是強調動手實踐,重點放在思路上,課堂上以問題求解為核心,幫助學生解決問題,構建出數學模型后,引導學生得出算法并編程實現。
2.2.2 課堂上突出互動
多強調課堂實踐,將使得我們轉變傳統的教師為中心的教學觀念。改革后,課堂上以學生為中心,將學生視為教學的主體,鼓勵學生探索、研究和創新,并運用“計算思維”的教學模式引導學生求解問題、研究算法與編程。
在課上,教師的授課重點放在問題求解思路、算法和程序實現上,細枝末節不講。實驗課上,學生每人一臺電腦上機解題。教師先提出問題,由學生自行思考如何設計算法,在學生遇到困難時,教師給予引導,學生最終編寫程序并解決問題。在整個過程中,學生居于主動地位。教師實時了解學生的答題進程,在合適的時機給予引導,最后由學生自主完成任務。由于學生在課堂上充分展示了自己的能力,因此,教師能充分了解學生的學習進度,得到反饋信息后及時修訂教學內容和難度。學生在實踐的過程中得到了鍛煉,學習由被動轉為了主動。這種教學互動、學生編程答題與教師精講加上答疑相結合的教學方式不僅能通過編程訓練提高學生使用計算機解決問題的能力,還使得學生為了在課堂上表現好,不得不提前預習,課后不斷練習,自主學習能力也得到提高。
2.2.3 考核上改為機試
以往的C語言課程考試同其他傳統科目考試方式相同,均為閉卷考試,在題型設計上主要包括選擇、填空、判斷和程序題等。我們認為,C語言課程是強調實際操作能力的,而以往的考核方式卻不能真正考查學生的實操能力,更多考查書本知識掌握情況。有的學生雖然在閉卷考試中拿了優秀,語法掌握得很好,可是獨立設計算法和動手編程能力卻并不強,在上機解決實際問題時依然舉步維艱。
因此我們用上機考試取代了閉卷筆試。無論是期中還是期末考試,我們都把考場安排在了機房。根據之前的學習內容,事先在考試系統上出好題目。學生需要在實際操作中,按規定的考試時間提交完整的程序,測試通過即為合格。如果測試未通過,教師會通過查看代碼,判斷學生答題情況,給出適當的成績。機試是對實際問題的解決,學生通過測試會有較強的成就感,對學生有更多的激勵。能在機試中取得好成績的學生,實際編程能力也必然是比較優秀的。
2.3 實施改革的成效
這種基于“計算思維”的大學計算機基礎課程教學改革,在北京林業大學2013級的C語言課程教學中得以實施,并取得了一些成效。從改革實踐來看,學生對C語言課程的學習興趣越來越濃厚,編程能力越來越強,獨立解決問題的能力也有所提高。統計結果表明,對于同樣難度的一份試卷,教改后,學生的平均成績提高了大約10分。
3 基于“計算思維”的教學改革和展望針對C語言課程教學中以往存在的問題,我們以“計算思維”的理念為主導,進行了改革嘗試,在內容上由強調語法改為強調實踐,在課堂上由單向傳授改為教學互動,在考核上把傳統的筆試改為上機考試。實踐證明,這種由問題設計算法、由算法引導程序,強調算法設計、淡化語法細節,重視實驗課并使用考試系統的教學模式更有利于培養學生的思考能力以及編程能力。
除了C語言課程之外,北京林業大學計算機基礎系列課程還包括計算機應用基礎課程、VB語言課程和數據庫課程等。對這一系列課程我們都進行了改革,挖掘“計算思維”的潛在影響,打破計算機僅是一種工具和技術的局限,在課程中培養學生的“計算思維”能力,使計算機基礎課程在釋放創新能力與創新思維中發揮了應有的作用,也進一步提高了大學計算機基礎教學的質量和水平。
我們雖然已經初步取得了一些成果,但基于“計算思維”的大學計算機基礎課程的改革并未結束。在未來幾年,我們將在教學硬件環境發展的基礎上對大學計算機基礎課程做進一步改革。比如,可以把諸如C語言這樣的程序設計課程改為在機房上課,這樣能更好地實現教師和學生的互動,也能使學生更大程度地得到練習。再比如,我們可以在課程學習、實驗和考試時引入在線評測系統或者和“計蒜客”網站合作,這樣不僅能有效督促學生以提高學生的學習積極性,還能通過自動批改作業和試卷,大大節省教師的精力。總之,這些改革能更好地貫徹“計算思維”的思想,最終在大學計算機基礎教學中達到“普及計算機文化,培養專業應用能力,訓練計算思維能力”的總目標。