吳國強 張白 潘俊濤
摘 要 C語言程序設計是理工科大部分非計算機專業的一門重要基礎性課程。分析C語言程序設計教學現狀,針對教學中存在的問題,提出基于項目驅動的理論與實踐一體化教學方法,目的是提高學生學習興趣和培養學生實際程序設計能力。通過實際教學實踐,得到比較好的教學效果。
關鍵詞 非計算機專業;C語言程序設計;項目驅動;慕課
中圖分類號:G642 文獻標識碼:B
文章編號:1671-489X(2018)12-0134-03
1 前言
C語言是一種高級計算機語言,是很多相關程序設計的基礎,如面向對象的C++、JAVA等計算機語言課程;也是很多系統軟件開發和應用軟件開發的重要工具,如辦公軟件WPS和嵌入式軟件等;還是全國計算機等級考試必須掌握的一門語言。因此,全國各高校除計算機專業開設C語言課程外,非計算機專業也開設這門課程。
傳統的C語言程序設計教學采用以教材目錄為主線的教學模式,上課重語法,上機實驗驗證性多,導致學生能聽懂,但獨立編程能力較差,缺乏程序設計的能力[1]。對于非計算機專業的學生,C語言的學習要求不高,也是導致學生編程能力低的一個因素[2]。對此,很多學者在研究過程中提出翻轉課堂、慕課等新的教學方法[3],增加實踐教學比例,但實踐教學驗證性實驗居多[4],不利于提高學生編程能力。筆者提出以項目驅動的C語言理論與實踐一體化教學方式,結合慕課教學方法,增加設計性實驗和改變考核方式,進行實踐教學。
2 C語言程序設計教學模式
對高校非計算機理工科專業的學生,第一學期安排學習大學計算機基礎課程,在此基礎上,第二學期安排學習C語言程序設計課程。教學過程中一般采用理論教學和實踐教學相互獨立的教學模式,可能存在以下問題。
1)大一第一學期,開設計算機基礎課,是對計算機的基本介紹和軟硬件的了解,用計算機編程的思維很難形成。采用此種教學模式,很難培養學生進行計算機程序設計的能力,面對眾多的語法知識,學生學習興趣不高。
2)運用此種教學模式,在理論課上存在教師“滿堂灌”的現象,采用PPT進行多媒體教學,教學進度加快,學生只是被動接受。同時,授課內容偏重于語法,上機驗證性實驗多,不利于針對實際問題進行獨立編程能力的提高,導致學生學習C語言編程的主動性和積極性不高。
3)C語言程序設計的教學內容以教材目錄的形式展開,開始學生學習的積極性還比較高,但隨著課程內容的深入,需要記憶和思考的內容增多,難度增大,學生學習興趣降低。加之各章節知識點零散和先語法后實例的教學抽象生澀,脫離了具體的語句[5],雖然部分學生能夠很好地掌握基本語法知識,但對于實際問題編寫不出正確的程序。
4)C語言程序設計主要以筆試的形式進行考核,考核內容偏重于語法,忽略了學生應用C語言的編程能力,導致學生平時注重語法知識的死記硬背,以及考前的突擊復習,雖然考試能夠通過,但沒有達到培養學生用計算機思維來解決實際問題的能力。
3 項目驅動的理論與實踐一體化教學實踐
針對以上問題,經過近幾年的教學實踐,筆者通過與學生溝通交流,發現他們在學習過程中比較突出的幾個問題:一是上課能聽懂教師所講內容,但是到具體上機操作,編寫程序和調試過程中的實踐能力不足;二是實踐相對理論要滯后,即上完理論課不能馬上實踐,而是要等到實踐課才能上機操作,在中間這一段時間,由于平時課業繁重,學生所學知識比較容易遺忘,上機時感覺無從下手。基于這樣一種現象,筆者提出基于任務驅動的理論與實踐一體化教學模式,具體教學探索如下。
理論與實踐交互式一體化教學平臺 采用凌波多媒體教學系統,圖1所示為教師端截面圖,包括屏幕廣播、遠程遙控、屏幕監視、多人會話、網上討論、鎖定電腦、發布消息、發布文件、收取文件、點名簽到、班級模型文件等多種教學功能,通過一人一臺計算機,可以實現理論與實踐交互式一體化教學,理論教學過程中就可以隨時上機實踐。
項目驅動的理論與實踐一體化教學 項目驅動是基于理論與實踐相互結合的教學過程,通過一個具體的項目案例展開理論知識學習和不斷深入的過程,并通過上機實踐實現程序設計,不僅有利于保持教學內容的連續性,而且有利于提高學生對實際問題的分析能力和解決能力。主要方案如下。
1)慕課在線教育平臺教學模式。通過學校慕課在線教學平臺上傳教學視頻,學生可以課前學習,學習內容和傳統課堂教學內容相同;不同之處在于學生自主學習和做課后習題,能夠發現存在的疑難問題,通過平臺反饋給教師,教師針對學生的問題,整理出課堂的主要教學內容,設計討論環節,讓學生解答疑難問題,作為平時表現進行考核。在一人一機的情況下,學生可以隨時通過實際動手操作,更直觀地理解抽象的理論知識,有利于問題的解決。
同時,通過慕課平臺將難易程度適中并符合教學目標和涵蓋本章節知識點的典型項目案例布置給學生,作為作業要求學生課前分析和寫出算法;課堂上將學生分組,對案例進行討論和完善,然后在計算機上編寫程序,進行調試和運行;課后形成實驗報告,通過實驗管理系統提交。實驗內容包括客觀題和主觀題,客觀題主要是知識點的測試,主觀題就是本項目案例求解的過程和內容。對客觀題,系統可以自動批改打分,主觀題由教師批改打分。實驗報告的內容還包括心得體會,教師可以從中掌握學生對本章節知識的掌握程度。
一個項目通過作業設計、上機調試和提交實驗報告三個過程,不僅使學生掌握本節的知識點,最重要的是有利于培養學生解決實際問題的能力,從能讀懂程序轉變為能寫程序。
2)項目的設計。少一些對理論知識演示性和驗證性的上機操作,增加設計性的項目,針對學生所學專業選擇難度適中的項目,使學生意識到學習C語言是有用的,難度適中的項目有利于學生在設計過程中得到獲得感和成就感,有利于提高學生學習的積極性和興趣。在課程不斷推進深入的過程中,保持項目的連續性和關聯性,將零散的知識點不斷地加進項目中,通過項目將知識點整合到一起。在這個循序漸進的過程中,項目內容不斷充實,前面學習過的內容在后面章節重復出現。
通過項目的進行,有利于學生對學過的知識點的不斷鞏固,也有利于對新的知識點的學習,知識體系不斷完善,形成一個整體。通過項目驅動培養學生程序設計的思維,提高解決實際問題的分析能力和動手能力,提高實踐應用能力和不斷創新的能力。
3)學習形式。初期經過“示范—模仿—實驗”三個過程的教學組織形式,在這個過程中使學生學會使用和掌握計算編程,形成“個體—小組—教師”三個組成機制,即以個體的自主學習為主,小組互幫互助學習,教師指導為輔。借助凌波多媒體一體化教學系統,在一人一機的條件下,個體、小組和教師又是一個整體,通過在線實時互動和實踐,有機地將理論與實踐緊密結合在一起,通過項目驅動推進知識點的學習。
教學評價和教學效果 加強過程教學和實踐教學考評比例。圖2是舊的考評方式,主要分為平時考勤(10%)、平時作業(10%)、上機實訓(20%)和筆試(60%)。與圖2對比可以看出,圖3所示新的考評方式增加了上機考試,分值占20%;同時,筆試所占分值下降到50%,上機實訓所占分值下降到10%。這樣做的目的是提高學生解決實際問題的動手能力和應用能力,真正做到學以致用。
針對2016級電氣工程及其自動化專業學生采用新的考評方式,并和2015級電氣工程及其自動化專業學生采用舊的考評方式的教學效果進行比較,比較的內容有期末成績及格率、程序設計能力(上機實訓和考試)、考勤與作業三個方面。如圖4所示,可以看出,采用新的考評方式,2016級學生各方面的成績均有一定提升。
4 結語
C語言程序設計是實踐性很強的課程,也是很多高校理工科非計算機專業的基礎課程。因此,以項目驅動的C語言理論與實踐一體化教學為手段,課前讓學生進行慕課學習,課上一人一機理論與實踐融合,通過親自上機操作解決課前學習遇到的疑惑。學生以小組為單位,根據項目要求對設計的程序進行修改和完善,在教師的指導下通過上機實踐和總結,達到學習的目的。通過項目增加設計性綜合實驗,完善考核方式,有利于提高學生學習的積極性,有利于培養學生的程序設計思維能力和應用所學知識解決實際問題的動手能力。
參考文獻
[1]金東萍.C語言程序設計課程實踐教學改革探討[J].遼寧科技學院學報,2015(3):75-76.
[2]游子毅.非計算機專業“C語言”教改方案的探討與實踐[J].科技創新導報,2015(10):106-107.
[3]韋萍萍,崔忠偉.C語言程序設計課程教學思考[J].計算機時代,2017(9):64-66.
[4]儲岳中,秦鋒,劉宏申.“C語言程序設計”理論與實踐一體化教學的幾點實踐[J].計算機教育,2012,168(12):22-25.
[5]吳燕鳳.C語言教學的現狀與改革探析[J].大眾科技,2012(7):216-217.