陳江麗

摘 要 “C語言程序設計”課程作為計算機專業的一門基礎和核心課程,其教學質量直接影響計算機專業的培養目標。因此,為了更好地適應新形勢下計算機專業的發展,需要改革傳統的“C語言程序設計”教學方法和實施策略。文中闡述了筆者從“C語言程序設計”課程的教學體會中總結的一些教學改革方面的觀點。
關鍵詞 “C語言程序設計” 教學組織 教學方法
中圖分類號:G424 文獻標識碼:A DOI:10.16400/j.cnki.kjdks.2016.03.041
Abstract As a fundamental and central course of computer profession, the C programming language directly affect training goal of computer profession. Therefore, Adapting to the development of Computer profession in new situation, the traditional C language programming teaching method and implementation strategy need to reform. In this paper, the author summarize some views on the teaching reform from the teaching experience of C programming language course.
Key words C programming Language; teaching organization; teaching method
“C語言程序設計”課程是計算機專業學生的一門程序設計入門課,是培養學生程序設計思想和能力的技術基礎課,同時也為后續的專業課程奠定了堅實的基礎。其中專業核心課程“數據結構”一般以“C語言程序設計”為輔助教學工具,學生在具備了“C語言程序設計”的基本程序設計思想和方法以及數據結構的基礎知識后,才能進一步學習Visual Basic、Java等高級語言程序設計。因此,必須將“C語言程序設計”課程的教學作為計算機專業培養的核心任務。
1 “C語言程序設計”教學現狀分析
目前,計算機專業“C語言程序設計”課程的教學大多還停留在傳統的教學模式上,主要以教師的“教”為主,教師根據教學內容的組織講授基本的概念、講解例題、布置作業給學生進行上機練習,學生在教師的指導下完成編程練習。在教學的過程中,學生完全處于被動接受的狀態,無法發揮學習的積極性和主動性,以至于大部分學生普遍反映“C語言程序設計”枯燥、難學,缺乏學習興趣,學生普遍的編程能力較差。
由于新生入校后已有的計算機專業基礎知識薄弱,學習方法欠佳,以至于學生在初次接觸“C語言程序設計”這樣抽象難學的程序設計課程時,都會難于正確把握課程的學習方法。因此,任課教師應該準確地分析學生的學習現狀,深究原因,找到解決方法,能夠最大限度地激發學生的學習興趣,引導學生合理有效地學習,并且培養學生分析和解決問題的能力。
2 “C語言程序設計”教學改革
依據培養目標的定位,教師應以培養學生基礎能力和提高學習興趣為原則,合理地開展“C語言程序設計”課程的教學改革。為此,筆者結合“C語言程序設計”的教學體會,提出如下的觀點。
2.1修訂“C語言程序設計”的教學大綱,編寫和選用適合計算機專業的教材
首先,教師應準確定位課程的教學目標和任務,“C語言程序設計”課程的教學目標主要體現在知識、技能和素質三個方面。其知識目標要求學生較好地掌握“C語言程序設計”的基本語法、語句、控制結構以及結構化程序設計的基本思想,這是學習本門課程的核心要求。課程的技能目標體現在使學生認識到算法、良好的程序設計方法及上機實踐的重要性,并且掌握算法設計和結構化程序設計的方法。另外,在素質目標方面要求培養學生利用“C語言程序設計”分析和解決實際問題的能力。其次,教師應結合教學目標和任務合理組織教學大綱。鑒于“C語言程序設計”課程實踐性較強的特點,教師還應根據教學大綱的要求,制定合理有效的實踐教學大綱,制定實踐教學內容和實施方案。實踐教學內容應緊密聯系實際應用,并強調充分調動學生的積極性、主動性和一定的團隊協作能力,另外還應注重培養學生分析和解決實際問題的能力。
依據教學大綱中教學內容的組織和實踐教學的設計,教師應合理地編寫和選用課程的教材。目前,“C語言程序設計”方面的教材甚多,以清華大學譚浩強教授編寫的《C語言程序設計程序設計》一書為代表的一系列優秀教材為課程的教學提供了較好的導向作用。但根據計算機專業的培養目標和課程的定位,教師應對教材的內容進行適當的調整。
另外,在教學過程中教師應嚴格按照程序設計的規范和方法分析和解決應用問題,應培養學生規范的程序設計方法和嚴謹的編程習慣。例如要求學生在日常程序設計練習中按照“問題定義—問題分析—算法設計—編寫程序—上機調試運行”的流程實施,并且在算法設計環節使用規范的程序流程圖描述算法。這樣一系列的措施有助于培養學生良好的編程風格和習慣,為后續其它的程序設計語言的學習夯實基礎。
2.2改革教學組織和實施策略,優化教學結構
由于“C語言程序設計”課程的實踐操作性較強,學生在上機實踐的過程中,不僅可以消化和鞏固課堂所學知識,還可激發和提高學習興趣、鍛煉邏輯思維能力。教師應注重將課本上的理論知識和實際應用問題進行有機結合,提高學生的程序設計能力,進一步培養學生分析問題和解決問題的能力。因此,課程的教學組織主要分為理論教學、上機實踐教學和課程設計教學三個環節。
其中,理論教學主要遵照教學內容的要求, 采用多媒體教學與傳統板書教學有機結合的方式,實施理論與實踐一體化的多媒體教學環境,實現交互式教學。其次,教學中應重視“興趣引導”,激發學生學習熱情,引導學生主動學習。另外,應注重以模擬實踐教學為主線,提高課堂教學的教學效果。
上機實踐教學以課堂理論教學為前導,內容設計應以鞏固和綜合運用主要知識點為主線,內容具備實用性,以循序漸進的任務驅動方式指導學生從簡單的程序設計開始逐漸擴展到完成綜合的程序設計,以由淺入深、由單一到綜合的過程展開,符合學生的認知習慣和知識的拓展,使學生利用所學知識解決實際的問題,培養程序設計的能力。
結合課程的特點,課程設計環節應利用“C語言程序設計”的基礎理論和上機實踐課中學到的編程知識和編程技巧,通過布置具有一定難度、一定編程量的課程設計任務,使學生通過課程設計掌握高級編程語言的知識和編程技術,具備分析問題和解決問題的能力。
2.3秉承合理有效的教學理念,改革傳統的教學方法
傳統的“C語言程序設計”教學方法一般采用灌輸式的單向教學法,學生被動地接收知識,并且教學知識點零散,建構系統的知識體系,另外理論教學和實踐脫節,學生只會紙上談兵,動手實作能力較差,不能利用所學的知識解決實際問題。因此,在教學過程中應重視教學方法的改革。“C語言程序設計”教學主要采用“任務驅動”、“案例教學”、“講練結合”的教學方法,三種方法有機結合,合理地組織課程的教學。
“任務驅動”教學法要求按照教學目標的要求,圍繞教學內容,合理地安排一個任務。其主要分為三個基本環節,首先提出任務,例如設計判定學生成績等級的程序;進一步分析任務,提出問題的解決方法,主要設計程序的算法;最后解決任務,講授解決任務運用的知識點,例中主要的知識點為選擇控制結構的語法及應用。
“案例教學法”以綜合的“C語言程序設計”程序案例為主線,貫穿所有章節的知識,課程教學具有系統性和連貫性。例如,提出“學生成績管理系統”案例,實現成績的錄入、添加、修改、刪除、查詢、統計和排序等功能。通過分析案例,明確系統的基礎知識和各個功能模塊的相關知識點,如表1所示。
另外,“講練結合”的教學方法主要應用于上機實踐教學環境中,采取邊講邊練的教學互動形式,完成程序設計實例。教師先講解和演示與本次實踐任務相關的應用問題和注意事項,學生按照要求動手完成實踐任務,教師及時了解學生在實踐中出現的問題,加以正確的啟發和指導。最后教師對本次實踐任務的完成情況進行總結,集中反饋出現的問題并提出解決方法。
2.4完善課程的考核方案,合理評價學生的學習成果
鑒于“C語言程序設計”課程理論和實踐并重的特點,課程考核應主要分為理論考核和實踐考核兩大方面。其中理論考核以筆試為主,考試內容應遵照教學大綱和考試的要求,突出課程的主要知識點;實踐考核主要以上機實踐教學環節制定的任務和課程設計為考查對象,客觀地反映學生掌握知識和運用知識的能力。
“C語言程序設計”的課程設計考核應采用學生答辯的形式,從學生運用知識的能力、分析和解決問題的能力、創新能力等方面進行綜合考核。
3 結束語
計算機專業的“C語言程序設計”教學改革是一個不斷深入的過程,應該結合教學實際,制定出一套符合學生學習特點和需要,同時又遵循專業培養目標的特色化教學模式,切實提高學生的專業素養和實踐動手能力。
參考文獻
[1] 陳卉娥.項目化教學在高職C語言程序設計教學改革實踐中的探索[J].福建電腦,2008.12:211-211.
[2] 葉健華,黎峰.“項目驅動+案例教學”模式在C語言程序設計教學中的應用[J].濟南職業學院學報,2009.3:18-23.
[3] 葉建龍.任務驅動法在C語言程序設計教學中的應用[J].廊坊師范學院學報,2010.3:132-133.
[4] 莊煥.案例教學法在高職C語言程序設計教學中的應用[J].電腦學習,2009.8:94-95.
[5] 李冶,姜巖. C語言程序設計課程教學探索[J]. 電腦知識與技術,2010.12:10426-10427.
[6] 任華.案例教學法在計算機C語言程序設計教學中的作用探究[J].信息科技,2011.3:183-184.
[7] 高雁翔.高職C語言程序設計教學探討與研究[J].南昌教育學院學報,2010.11:71-71.