王維利
摘要:為解決當前高職院校中《C語言》課程教學效果較差、學生學習后仍然不具備相應的程序設計能力的問題,對高職C語言教學的現(xiàn)狀及內在原因進行了深入的分析,并以基于工作過程導向的教學思想為指導,從教學內容組織、教學方式選擇、教學過程組織等方面對C語言課程的教學改革進行了一系列探索和實踐,以期提高C語言課程的教學質量。
關鍵詞:C語言;工作過程導向;教學改革;程序設計;程序測試與調試
中圖分類號:TP311.1 文獻標識碼:A 文章編號:1009-3044(2015)06-0141-02
Discussion on Teaching Reform of "C Language" in Higher Vocational Colleges
WANG Wei-li
(Shandong College of Information Technology, Weifang 261061, China)
Abstract: In order to solve the problem that the teaching effect of "C language" is quite poor in higher vocational colleges currently and the students ability of programming is still not available after the course, an in-depth analysis on the present situation of the C language teaching and the internal cause is provided. And based on the working process oriented theory, a series of exploration and practice of teaching reform in C language teaching are carried on, in the teaching content organization, teaching method choice, and teaching process organization, to improve the teaching quality of "C Language".
Key words: C Language; working process oriented; teaching reform; program design; program testing and debugging
《C語言》是高職院校計算機、軟件類專業(yè)的一門核心基礎課,在這些專業(yè)的課程體系中占有重要地位,不僅是學生學習《數據結構》、《C#程序設計》、《Java程序設計》等后續(xù)課程的基礎,而且對培養(yǎng)和提高學生將來工作崗位上所必需的編程、測試、調試能力有重要作用。但在實際教學過程中,由于諸多原因的存在,教學效果往往很不理想,大部分學生學完后仍然不能獨立編程、調試,甚至連最簡單的程序都不能正確寫出來。
針對這種現(xiàn)象,筆者進行了深入的思考,并在近幾年的教學中,進行了一些有益的改革嘗試。下面僅將筆者的一些認識和做法分享給各位讀者,如有不當之處,敬請批評指正。
1 C語言教學現(xiàn)狀分析
1.1學生學習基礎差,動力和韌勁不足
首先,高職院校的生源種類多,學生情況參差不齊,但大部分學生的文化基礎普遍較差。而C語言課程的學習,需要學生有一定的數學和英語知識作為基礎,否則就難以理解和接受解決問題的基本思想;而程序的標識符和調試環(huán)境的認識、掌握和使用也是個大問題,并且程序設計對學生的邏輯思維能力也有較高的要求,高職學生在這方面往往有較大欠缺。其次,不少學生進入高職后學習目的不明確、態(tài)度不端正,遇到問題缺乏堅持不懈、積極思考的精神,反而容易“知難而退”。這就造成有不少學生開始時想好好學,但隨著越來越多問題和困難的出現(xiàn),能堅持下去的學生越來越少,而能以良好的學習狀態(tài)堅持到最后的幾乎成了“鳳毛麟角”。
1.2學生對C語言課程學習的興趣不足
目前,絕大部分學生接觸過的計算機系統(tǒng)軟件或應用軟件都具有美觀、易用的用戶界面,而用C語言設計出的程序往往界面單調、操作繁瑣,二者對比,學生就會產生一種心理落差,不看好C語言。另一方面,C語言語法規(guī)則的掌握和應用也是學生學習的一大障礙,而程序出錯時,甚至要從整個程序的范圍內查找錯誤。這種情況下,如果教師仍然采用傳統(tǒng)的方式組織教學內容和授課,一味地講解語法,不給出一些生動有趣的實例,學生必然會對C語言逐漸失去學習興趣和信心。
1.3缺乏適合高職學生特點的教學內容組織
首先,傳統(tǒng)的C語言教材往往是以語法介紹為主、輔以例題的方式組織教學內容,這種組織方式不適合高職學生接受知識的特點,容易使學生產生畏難情緒,失去學習興趣。其次,傳統(tǒng)教材內容對涉及的部分語法知識討論得太過深入和細致,對目前的高職學生來說,既沒有實用價值,又帶來了不必要的困惑。例如,格式化輸入、輸出函數printf、scanf對學生是新事物,學生要學會其基本格式和簡單應用本來就有些難度,如果再同時加入過多的、深入的語法內容,那么就對絕大多數學生形成了一個“不可逾越”的障礙。
1.4教學方式及過程組織不利于程序設計課程的教學目標實現(xiàn)
傳統(tǒng)的C語言教學往往是先理論授課、再上機實驗,二者通常是分離的,理論授課時學生對相關內容缺乏形象、直觀的認識和理解,不便于他們接受知識。而且實驗內容的編排經常是以程序驗證為主,沒有體現(xiàn)出程序分析與設計的教學目標,不利于學生程序設計能力的培養(yǎng)和形成。
2 主要改革措施
針對教學實踐中存在的上述現(xiàn)狀和問題,筆者在近幾年的教學過程中,進行了如下幾方面的嘗試,取得了較好的教學效果。
2.1在教學內容組織上
首先,打破原有的系統(tǒng)性的知識體系,以工作過程導向為指導,創(chuàng)設一系列工作情境,并按照由易到難、由基本到綜合的原則為每個工作情境分解成幾個工作任務,并以各個工作任務為主線組織相關教學內容。這樣,借助一個個工作任務,將所用知識點有機地組織、穿插到一起,融合于一系列工作任務程序中,學生既容易理解語法規(guī)則,又能直觀、形象地掌握該如何應用。
其次,一切以使學生學會程序設計為目的,將所有知識點分類處理,編程中常用的重點介紹,用得比較少的內容以注解的形式給出,并直接舍棄編程中根本用不到的內容,以免過多、過濫的信息干擾學生的學習,導致他們在學習過程中舍本逐末,而沒有真正培養(yǎng)出必需的程序設計能力。
第三,創(chuàng)設工作情景時,要充分調動學生對本課程的學習興趣,如可創(chuàng)設計算器、成績管理系統(tǒng)、文本編輯器、貪吃蛇、俄羅斯方塊、霓虹燈等情境,計算器情境又可分解為固定運算、多種運算、混合運算的計算器,并在各個情境任務中逐步納入相關語法知識點。
2.2在教學方式及過程組織上
在教學方式上,力爭實現(xiàn)教、學、做一體化,最好的教學地點是多媒體微機室,演示、講解、討論、驗證、應用拓展融于一體,便于學生在模仿中理解和掌握知識,在模仿中提高和拓展程序設計能力。
在教學組織上,發(fā)揮學生小組學習的優(yōu)勢,并建立適當的競爭激勵機制。將全班學生合理分成若干學習小組,每組4-6人,組長負責組內討論、任務分配及簡單問題的答疑等工作,因此要求組長在學習中要走在其他同學的前面,做好預習和相關準備工作。教學過程和課程考核評價主要以小組為單位進行,如課堂提問時從每個小組找一名同學回答,討論時也是各小組派代表發(fā)言,小組與小組的表現(xiàn)情況進行評比,從而激發(fā)學生為小組榮譽而努力的學習動力。
為幫助學生循序漸進地培養(yǎng)和提高程序設計能力,實驗內容的準備分三個層次:一是給出正確的源程序,要求學生分析程序結果并上機驗證;二是只給出程序的一部分,關鍵部分由學生根據功能要求進行補充,并上機調試正確;三是只給出程序功能,要求學生自己設計算法,并寫出完整程序、上機調試正確。通過這樣的實驗內容編排,讓學生在模仿中獲取知識,在模仿中創(chuàng)新。
2.3將程序設計全面能力的培養(yǎng)貫穿于課程始終
一是注重培養(yǎng)和提高學生在解決問題過程中的算法設計能力。C語言的學習不只是語法規(guī)則的學習和應用,算法設計才是程序設計的根本。在以往教學中發(fā)現(xiàn)大部分學生不只是寫錯程序,而是根本不會寫程序,連解決問題的思路都沒有,所以要想辦法使學生從根本上解決這個難題。教學實踐中,除了舉例講解算法的描述、設計方法外,每次課結束時都會要求學生對下次課的例題進行預習、完成相關的算法思考和設計,再次上課時從中選出好的算法進行程序設計。
二是強調程序調試方法和技巧的掌握和應用。其他課程的知識,學生學習后理解、掌握得如何,往往需要教師對其完成的作業(yè)或任務進行檢查后才能得知,而程序設計課程則可以通過上機執(zhí)行程序進行驗證;如果程序中出現(xiàn)錯誤也可以通過上機調試的方法進行檢查和改錯。因此,任課教師要在教學過程中適時穿插有關程序測試、調試方法等內容的講授、訓練。
三是要求學生多動手、多動腦。學生在作業(yè)中經常出現(xiàn)一些違反語法規(guī)則的現(xiàn)象,產生這種問題的原因有兩個方面:一是學生對語法規(guī)則的理解、掌握不夠;二是學生缺少對正確程序或者說產生錯誤的感性認識。要增強學生對程序錯誤的感性認識,最好的辦法是在多媒體機房中實施教學,講練結合,教師再加以巡回指導、講解和點評。
C語言程序設計是實踐性很強的課程,學生的實踐操作能力非常重要,學生既要動手寫程序,還要親自上機運行、測試、調試程序,這樣才能形成全面的程序設計能力。
3 結束語
高職C語言教學改革是一項長期的工作,需要任課教師根據學生的實際情況,不斷在教學實踐中探索、改進、總結、提升。只要充分發(fā)揮“學生為主體,教師為主導”的積極作用,按照適合學生、課程特點的原則組織教學內容、教學過程,重視學生動手實踐環(huán)節(jié),一定可以取得良好的教學效果。
參考文獻:
[1] 丁輝. 高職C語言程序設計教學改革研究[J]. 計算機教育, 2014(3).
[2] 池云. 高職C語言程序設計教學改革的研究[J]. 遼寧行政學院學報, 2011(4).
[3] 屈喜琴,石卉,陳忠貴. 高職高?!禖語言程序設計》教學改革探索[J]. 軟件導刊, 2012(6).