摘 要:針對非計算機專業(yè)C語言程序設計課程的學生認知特點,結合C語言知識點多、雜、抽象等教學中遇到的問題,提出采用科學有效的教學方法調動學生學習積極性,重點論述案例驅動理論及實驗教學、全方位立體化教學手段的應用及科學考核體系等幾個方面的問題。
關鍵詞:高等學校;非計算機專業(yè);C語言;實例遞進式教學
高等學校非計算機專業(yè)計算機程序設計課程是國家高等教育發(fā)展規(guī)劃的必修課程,計算機程序設計的教學對于提高非計算機專業(yè)學生的計算機綜合應用能力有著至關重要的作用。在計算機程序設計中,以C語言教學最為基礎。C語言的知識結構體系合理、教法靈活,實用性強,這些特點都使其成為高等學校選擇的課程之一。面向非計算機專業(yè)的C語言教學過程要充分發(fā)揮教師組織課程、授課方法、精品實踐的積極作用,為非計算機專業(yè)學生學習C語言,培養(yǎng)程序設計的基本思想提供優(yōu)良的方法指導,使其建立良好的程序設計習慣。
筆者以近10年的面向非計算機專業(yè)的C語言教育教學為基礎,總結非計算機專業(yè)學習C語言程序設計的特點,并提出行之有效的教學方法,從而提高非計算機專業(yè)C語言教學的教學質量。
1 講好第一堂課
許多老師都認為第一堂課最好講,講講概述、講講課程安排,然后,開始講課程內容。其實不然,第一堂課非常重要,它決定你是否能夠與學生建立起相互信任,是否能夠達成學習目標的共識,它直接決定教學質量的高低。因此,在第一節(jié)課我們要解決如下問題:第一,為什么要學習C語言?第二,C語言能教會大家什么?第三,如何學習C語言。正是這三個問題,要求任課老師精心組織好教學內容,深入了解授課對象的能力基礎,做到有的放矢、準確定位。如果教師能夠把每一堂課都當成第一堂課,認真組織備課,仔細琢磨實例,詳細調查學生掌握情況,那么,C語言的教學環(huán)節(jié)一定會取得不錯的成績。
2 培養(yǎng)興趣是第一要務
興趣是最好的老師,尤其是面向非計算機專業(yè)的C語言教學,學生的興趣是決定教學質量的關鍵。
C語言是一門成熟的、在國內外廣泛使用的計算機語言。自20世紀90年代以來,C語言在我國迅速普及。作為計算機基礎教育的重要課程,C語言已經形成完整的理論體系結構。但是,如果刻板地按照傳統(tǒng)理論體系進行授課,那么,學生很難理解和接受多余知識點的教授內容,因為,學生接觸到的都是一些抽象的概念、術語。大量晦澀的概念和理論會使學生失去對這門課程興趣。因此,科學地改進教師的教學方法,從而提高學生對C語言課程的學習興趣就成為C語言課程教學中至關重要的問題。筆者總結多年的教學經驗,總結了以下3種教學方法,以便幫助學生更好的接受教學知識點,從而調動學生的學習興趣和積極性。
第一,抽象的概念,形象地說。教師要認真研究授課對象的認知規(guī)律,采用學生容易理解的方法,深入淺出、通俗易懂地講解基本概念[1]。例如,解釋變量這一重要概念時,可以將變量比喻成一個盒
基金項目:遼寧省教育廳項目(2009A085);大連工業(yè)大學校級重點教學改革項目(JGLX1003)。
作者簡介:房媛,女,講師,研究方向為計算機科學、無線通信與網(wǎng)絡。
子。至于這個盒子的形狀和大小是由數(shù)據(jù)類型決定的,即可以存放什么數(shù)據(jù)、占用多大空間,放在什么區(qū)域是由存儲類型決定的。每個盒子只可以存放一個數(shù)據(jù),這樣如果需要N個數(shù)據(jù),則需要N個盒子。配合課件的動態(tài)演示,則能夠起到是事半功倍的效果。
第二,難懂的內容,簡單地說。非計算機專業(yè)的C語言的教學過程中,一定要重點突出,難點易化。教師要善于把復雜的問題簡單化。例如,指針問題是本課程學習的重點和難點??梢院唵蔚刂v述:指針也是變量,里面只能存放地址。并且在具體的應用實例中不斷地重復這一概念,逐步加深指針概念的理解。圖形化、分層次描述問題難點也是一種十分有效的教學方法。例如,循環(huán)這部分內容,是比較抽象難于理解的內容,如for循環(huán)的執(zhí)行過程,如果是for循環(huán)的嵌套就更難理解了。在教學過程中,筆者使用了非常簡潔的圖形化方法,如下。
一重循環(huán)圖示如圖1,而雙重循環(huán)如圖2所示,學生很容易記憶并理解,解決了原有的傳統(tǒng)教學時學生對于流程圖的記憶和理解不是十分深刻的問題。
圖1 一重for循環(huán)圖示 圖2 雙重for循環(huán)圖示
第三,零散的理論,系統(tǒng)地說。教師要根據(jù)應用的需要,合理取舍,精選內容。讓零散的知識點歸納整理成“塊”。例如,常量分為整型常量,實型常量和字符型常量。這部分內容的講述最好是放在一起,不要分開。再例如,C語言中的運算符,要盡可能的歸類講授,比較介紹各運算符的個性和通性。這樣可以讓學生有一個完整的、系統(tǒng)的知識體系,便于理解和記憶。
3 實例引導教學,任務驅動實踐
1) 實例引導教學。
學生最關心的是學完C語言以后可以做什么實際的應用,這就要求教師在教學內容的設計上要精煉、要重點突出。不能只講解這是什么,還需要講解這能做什么,應重點培養(yǎng)學生利用計算機編寫程序的能力和方法,而不是只注重這是數(shù)組那是指針等語法的問題。當然,如果沒有一個好的C語言語法的積累,會使學生對編寫程序,實現(xiàn)算法缺失信心,這時,教師要鼓勵學生記住該記住的內容,并且在課堂上有針對性的進行強化復習與訓練。
例如,在講述printf函數(shù)的使用問題時,筆者使用了如下的實例層次遞進表來控制教學內容的講授。
表1 實例遞進層次表
層次目標主要程序代碼主要知識點
1打印
一排*printf(“*******”);printf函數(shù)的基本使用
2打印兩排*printf(“*******”);
printf(“*******”);printf語句不因為語句條數(shù)而對內容進行分行顯示,那么應該怎么辦?引出轉義字符\的用法,以及其他轉義字符的使用。
3打印
兩排*printf(“*******\”);
printf(“*******\”);提出新問題,能否用一個printf語句表示呢?回答可以。
4打印
兩排*printf(“*******\*******”);下一個問題,打印平行四邊形。
通過循序漸進的實例引導,將教學的內容逐漸深入,在不斷鞏固基礎知識的同時,也通過新的問題的提出、思考、解答來引入新的知識點。這樣的教學環(huán)節(jié)設計,不僅課堂氣氛活躍,學生能夠積極參與,而且也使得這些被逐漸引入的新的知識點深刻烙印在學生的記憶中。逐漸的,這種模式就會被學生接受并喜歡,提高學生學習的積極性,從而能夠提升非計算機專業(yè)對計算機程序課程的基本認識,并在這個過程中鍛煉了學生勤于思考,主動解決問題的能力。當然,最重要的是給學生逐步的建立信心,逐步建立知識層次結構,讓學生喜歡上計算及程序設計。
2) 任務驅動實踐[3] 。
在實踐課程的內容選擇上,要精而準,切忌多而雜。實驗課上,教師首先要明確實驗目的,并根據(jù)實驗目的要求設計出科學有效的實驗任務,每節(jié)實驗課都必須給出具體的任務、目標、驗收標準等。學生在具體任務的驅動下,能夠最大限度地利用上機實踐時間,高效地完成任務。在不斷完成任務的過程中,學生可以積累信心與興趣,更重要的是積累知識與能力。
4 全方位多角度的課堂教學手段
教育教學信息化的時代已經來臨,很多優(yōu)秀的多媒體課件也在教學過程中起到非常重要的作用。但是在C語言的教學過程中,筆者認為,多媒體課件+程序窗口+板書+課堂提問+網(wǎng)絡討論+課后趣味題或專業(yè)小工具的設計,這種全方位多角度的課堂教學手段更實用、更高效。多媒體課件呈現(xiàn)主要的理論知識點,程序窗口主要是驗證手段,也是非常重要的互動手段,而板書是教師和學生共同的思考過程。這三者綜合在一起,學生能夠從視覺、聽
覺、感覺上得到共鳴,使學習的內容不易遺忘。
5 科學合理的考核體系
目前,大多數(shù)高校都已經使用了不同的上機考試系統(tǒng)。上機考試系統(tǒng)即滿足了理論知識的考核又滿足了實踐能力的考核,對于本門課程的教學質量的提高有著重要的推動作用。但是,我們又不能完全依賴上機考試系統(tǒng)。在平時的教學過程中,應輔以課堂提問、布置作業(yè)和抓好上機實踐等多種教學檢測手動,不斷地在平時的考核中發(fā)現(xiàn)學生存在的問題并及時解決。
6 結語
多年的教學實踐,使我們認識到C語言程序設計是一種知識點多、雜的計算機程序設計語言,晦澀難懂,但它又是學習計算機編程的基礎。鑒于這門課程對非計算機專業(yè)的學生來說,學習起來有一定的難度,我們更需要在C語言教學過程中不斷改進教學方法來應對教學過程中出現(xiàn)的問題,降低非計算機專業(yè)學生學習的難度,培養(yǎng)學生的學習興趣。通過實施教學改革,我們已在這方面取得了良好的教學效果與教學質量。
參考文獻:
[1] 譚浩強. C程序設計教程[M]. 北京:清華大學