俞慶英+陳傳明+許建東


摘要:傳統的以教師為主導的知識灌輸型教學模式難以調動學生的學習積極性,根據學習者的專業特點和認識規律,如何精選內容、分散難點、降低臺階、深入淺出地教好C程序設計課程,已成為高校計算機基礎教學教改的首要任務之一。文章對高校非計算機專業C程序設計課程整體教學模式進行探討,提出將C程序設計課程融入到學生自身專業應用中的教學新模式,使學生真正達到學以致用的目的。
關鍵詞:C程序設計;非計算機專業;專業化教學模式
1 現階段C程序設計教學中存在的問題
目前,C程序設計公共課教學過程中存在很多不盡如人意的地方,例如,教學平臺單一,沒有考慮各專業的獨特性;過分注重知識的灌輸,忽略教學對象的感受等。計算機教育新方法的探索迫在眉睫。
1.1 傳統教學方法的弊端
在內容組織上,C語言教材雖然依據邏輯思維方式進行了歸類,但難點較為集中,尤其是數組和指針等章節難度更大。教師在授課的過程中常常從自己的角度出發,采用填鴨式的教學方式,參考自己的講義,并用幻燈片在講臺上講解語法和算法思想,他們無法也無從得知學生的掌握情況。幻燈片盡管包含的信息量巨大,但學生分不清主次,只能看到做好的程序結果,無法看到程序運行中的意外錯誤,更不用說調試。常見的傳統教學方法及其弊端如下。
1)先部分后整體的方法。
這種方法首先講述預備知識,如變量、數據類型、函數等基本概念,然后把c語言分解成幾個骨干部分依次講述,注重單個知識點的順序傳授和語法規則的闡述,輔之以相應算法的講解,重點放在講解c語言語法上。其優點是循序漸進,但只對計算機專業的學生比較奏效,因為他們對基礎知識掌握的比較牢靠,對于非計算機專業的學生來說,如果把重心放在語法學習上,容易使其陷入迷茫,消磨學好C語言的意志。
2)任務驅動法。
該方法在教學過程中的流程是:提出任務一提示引導一自主思考一協作學習一解決問題一鞏固練習。該法對培養學生的學習能力有一定幫助,但是非計算機專業的學生對于公共課的重視程度有限,而且不一定在剛學習時就理解編程,可能會覺得C語言深不可測,從而產生畏難情緒,更加不想學習。
3)采用多媒體為主、板書為輔、教師或學生現場編程調試、精講多練的教學方法。
教師可以運用PPT來生動詮釋要講授的內容。教師跟學生要做好互動,這樣更容易理解、消化所學內容。
在科技迅猛發展的今天,多媒體成為教學過程中不可缺少的工具,但是過多依靠多媒體進行演示,除了增加同學們學習的負擔外別無好處。只有合理利用多媒體輔助教學才可能取得良好的教學效果。
1.2 學生的困惑和教學難點
在大學的專業環境下,非計算機專業的學生對公共計算機課程的學習缺乏動力,而傳統教學方法的基本特點是以知識的傳授為中心,過分強調了教師的作用,扼制了學生的個性和創造性,忽視了學生的主動性與潛能的發揮,不利于學生更好地掌握c語言這門課程。學生普遍覺得c語言規則很多、格式繁瑣不易掌握、老師上課枯燥,即使課本上的知識掌握了,編寫一個完整的程序還是比較困難。另外,許多學生在最初的數據結構、運算符和表達式章節就落后于教學進度,后來隨著課程的進行,越發覺得枯燥無味;下課后學生很難和老師再見面,最多是通過電子郵件進行溝通,許多程序問題很難解決。學生在上機的過程中缺乏必要的指導,當面對陌生的開發環境,程序的許多部分無法理解,出錯時自己無法調試,而學生十分渴望運行一個完整的程序,學習熱情也在這一過程中逐步消磨殆盡,久而久之,就會覺得c語言編程枯燥無味,自然產生放棄的念頭。
1.3 課程問卷調查結果
C程序設計教學的最終目的就是讓學生能針對現實應用中的具體問題分析、設計、編碼、調試、得出結論。筆者對生物科學、地理信息系統、數學、統計學等專業的400名同學(如表1所示)進行了調查,針對學生在C語言學習中存在的主要問題和困難,設計了6個常見問題(可多選),調查問卷結果如表2所示。從表2的調查結果來看,有一半的學生選擇了“感覺與專業無關,不愿意學”,在起步時就打消了學習的興趣,這樣學習的效果顯然不容樂觀。
2 “專業化”教學新模式設計
2.1 “專業化”教學新模式的意義
在當前時代背景下,隨著信息技術的高速發展,專業學科與計算機及信息技術的融合明顯提高了各學科的教學與科研水平;同時,既懂專業又懂計算機技術的專業復合型人才大量涌現。既有需求,又有條件,必然會產生變革。“專業化”教學新模式也會賦予公共課以新的涵義。
程序設計語言類課程屬于計算機公共課教育的第2個層次,即計算機技術基礎教育,一個好的教學模式對于培養自身專業與計算機專業相結合的新型專業人才至關重要。C程序設計課程“專業化”教學的過程就是將C語言的基礎內容不斷與專業相融合的過程,這個過程的表現形式很多,有基礎內容與專業內容的融合,有基礎內容基本不變,任課教師融合到各專業中,以與專業相關的項目為出發點進行基礎內容的介紹等。
2.2 正確定位課程教學目標
對非計算機專業的學生而言,只要求其掌握C語言基本語法和常用算法,具備基本的編程素養和解決本專業應用問題的能力,并以“必要、夠用”為度,避免在學習程序設計過程中陷入語言繁雜的語法和格式中。不同專業需要做出不同的教學目標定位:以應用為背景、以程序設計方法為主線、以語法和結構為基礎、以培養能力和提高學習興趣為目的,變應試為應用,讓學生從多角度、多方式了解和掌握c語言以及程序設計的精髓。例如,統計類專業重點學習算法和數值處理技術,信息系統類專業重點學習與數據庫交互處理的技術。
2.3 精心設計導課方法
第一堂課不應急于進入課程的講解,可以通過緒論的介紹讓學生了解隨著計算機技術的迅速發展,計算機學科不再是一門獨立的學科,它已逐步滲透到其他各學科中,形成交叉學科。要引導學生共同思考這樣3個問題:(1)為什么要學C語言?(2)C語言學什么?(3)怎樣學好C語言?endprint
問題(1)促使學生樹立C語言的普遍適用思想,根據各專業的不同特點,使其明白,學習C語言不但不是沒有用處,而且是大有好處。c語言雖然是一門基礎性計算機語言,但后續很多專業課程都將用到該程序設計的相關思想和技術,由此引起學生在思想上的重視。以生物專業為例,生物學數據通常都是存儲在龐大的數據庫和文本文件中,如果要手工處理和分析這些數據幾乎是不可能的,所以需要通過編制計算機程序自動完成這些過程。
問題(2)主要讓學生明確本課程的教學目標和教學內容,強調學習的主旨:除掌握c語言最基本的語法等基礎知識外,重點是要建立程序設計的思想,并能通過編程去解決一些實際問題。學生在明確目標后,在學習過程中就能做到心中有數。此外,可以引導學生了解自身專業將來主要的研究方向,并發掘c程序設計工具在自身專業應用中可能會起到的作用,以此激發學生的學習熱情。
通過問題(3)的提出,介紹一些好的C語言學習方法和經驗,學生在明確課程的性質、目標等情況后,不妨通過演示一些比較有趣的實用程序,如游戲程序、音樂程序、畫圖程序等,讓學生建立對C語言的初步認識,與此同時充分調動學生學習c語言的興趣和積極性。
2.4 針對不同專業,培養學生的實踐應用能力
2.4.1 項目驅動,在實踐中融匯理論知識
通過開發項目,引導學生創造性地運用知識和能力,自主地發現問題、研究問題和解決問題,促使其在研討中積累知識、培養能力和鍛煉思維。建立學生學習、研究小組;建立競賽式的學習機制;培養學生快樂協作、多角度看問題的能力,同時在緊張刺激中激起學生的求知欲。教師也可以在項目實踐中真正了解教與學的缺陷,推進教學模式轉變。在教學中,也可以用項目串聯程序設計的理論知識,完成“教、學、做”,同時,通過項目整合程序設計的理論知識。
2.4.2 立足學生專業應用背景,激發學習興趣
激發學生的學習興趣是學好一門課程的基礎,也是優質課堂教學質量的必要條件。只有將c語言融入到專業應用中,才可能達到提升學習興趣的效果。教師應立足于所授學生的專業背景,充分備課,精心選擇適合學生專業的項目或者大作業,進行教學設計。
選擇的項目要具備典型性、針對性、實踐性特點。例如,對于信息系統類專業,可以選用各種管理系統的項目引導課程的教學。教師可以通過系統菜單的選擇,介紹c語言選擇結構、循環結構的主要思想和應用技巧,以及通過信息的查詢、更新等操作介紹結構體使用和文件訪問的方法。對數學、統計學專業,可以將計算器的設計作為引導項目,培養學生的自主創新能力,期間介紹C程序設計中的函數、標準輸入輸出、數據類型等概念和使用方法。對生物學專業,可以選取ACM競賽中生物方面的應用題目來激發學生的求知熱情(如“腫瘤檢測”“細菌繁殖”等),在分析題目時可以介紹數組、函數等用法。
2.4.3 制訂科學合理的課程考核評價方案
基于C程序設計課程“教、學、做”的特點,現行學習評價有礙于學生動手能力的培養,對素質教育的激勵性較差。筆者認為,改變教學方法固然重要,改變大學教育模式中的考核方式也至關重要。大學考試應該改變傳統的只考書本和課件的現狀,要多結合實際應用,改為以在線競賽、實訓項目等的完成情況評價學生的學習效果,并從項目活動記錄、資料的收集整理、成果效果的展示、實訓報告的總結以及合作態度、出勤情況等全方位地評定學生成績。要注重學生的學習過程以及研究性體驗,突出能力型、素質型培養目標,淡化追求高分、及格“萬歲”的應試型學習目標,減輕學生的考試壓力。
3 實踐結果
為了檢驗“專業化”教學新模式的實用性,筆者對表2所示的400名同學再次進行了調查,以學習興趣激發、課堂教學質量、理論學習效果、分析問題能力、邏輯思維能力、實踐動手能力6個方面為評價指標,對調查結果加以統計,結果如表3所示。根據表3的分析可以看出,“專業化”新模式在“C程序設計”教學實踐中取得了較大的突破,能夠充分調動學生們的學習熱情,大大提高教學質量,學生分析問題和解決問題的能力得到了大幅度的提升。與專業結合的公共課教學新模式為非計算機專業學生學習c語言提供了一個切實可行的方法。
4 結語
實踐表明,教師采用“專業化”教學新模式后,約89%的同學在C程序設計課程的學習上取得了真正的收獲,顯著改善了過去單純強調知識掌握的教學模式,增強了非計算機專業學生學習c程序設計課程的主動性和積極性。該教學方法立足于學生專業,以項目作為驅動,強調學生主動學習和探索的過程,為學生牢固掌握知識、應用知識提供了一個很好的平臺。多個班級的教學實踐結果表明,該教學模式有針對性,課堂氣氛活躍而不失嚴肅,學生學習熱情高昂,學習效果大大改善;學生們也掌握了獨立分析問題的能力,善于動手動腦。
參考文獻:
[1]郭煒,李文新.程序設計類實習課程如何準確考查學生學習情況[J].吉林大學學報:信息科學版,2005(增刊1):99-103.
[2]湯旭慧,宋榮,唐建東.基于工學結合的高職電子類專業C語言教學新模式的探索[J].中國職業技術教育,2008(10):13-14.17.
[3]肖紅,彭潔.論高校非計算機專業計算機基礎教學的發展趨勢[J].湖南工業職業技術學院學報,2006,6(3):123-125.
[4]張競丹,江武漢,柴璐璐,等.高職院校非計算機專業程序設計課程實踐教學研究[J].教育教學論壇,2013(13):232-233.
[5]程顯林.項目教學法在高職院校程序設計課程教學中的應用[J].教育探索,2008(10):50-51.
(編輯:孫怡銘)endprint