重慶文理學院電子電氣工程學院 李 杰 楊文耀 曾令剛 夏繼宏
針對當前電類專業學生學習《C語言程序設計》存在的問題,提出采用“理論夠用”原則精選教學內容,增加電路知識相關的編程實例,并且在教學中與51單片機編程相結合,讓學生學習C語言后對單片機進行簡單控制。通過該教學改革,可以提高學生學習C語言的興趣,促進學生理解C語言在本專業中的應用,為后續課程的學習打下基礎。
《C語言程序設計》課程是大多數理工科專業的一門專業基礎必修課,它 在整個編程語言體系中的基礎性,決定了它在教學中的重要地位(江進.基于CDIO的高職C語言教學模式探索與實踐[J].現代計算機,2014(17):32-35)。同時,C語言是世界上應用最廣泛的計算機語言之一,學好C語言可以為后續的JAVA,C++,VB,VF,C#等語言的學習打下堅實的基礎(楊呈永,黎秋艷.基于混合式C語言程序設計實驗教學實踐與研究[J].電子世界,2016(4):37-39)。因此C語言的教學,在高校培養具有較強技術思維能力和擅長技術應用的應用型人才中具有重要作用(孫澤平,漆新貴,何萬國.應用型人才培養體系構建的實踐與探索——以重慶文理學院為例[J].重慶高教研究,2013,1(1):54-58)。
對于電子信息科學與技術,微電子科學與工程,電氣工程及其自動化等電類專業,《C語言程序設計》課程也是一門重要的專業基礎必修課,這些專業往往在大一上期便開設了該門課程。通過該課程的學習,可以使學生初步了解計算機編程語言,建立起程序設計的概念,通過編寫程序,初步掌握程序設計方法,養成良好的程序設計風格。為《微機原理與接口技術》、《單片機》、《可編程控制技術》等后繼課程的學習奠定基礎。
以我院為例,對于電子信息科學與技術,微電子科學與工程,電氣工程及其自動化等電類專業,今后工作的方向主要是偏硬件設計,學習C語言,主要是為后續單片機及嵌入式系統的編程打下基礎。當前學生在學習《C語言程序設計》這門課程時,存在如下問題。
(1)課程知識點多,枯燥難學
《C語言程序設計》目前開設在大一上期,理實一體化教學,總共64個學時。在以往的教學過程中,學生普遍反映C語言語法知識點多、概念復雜、枯燥難學,容易出錯。學生的畏學、厭學情緒使得教學過程困難重重,嚴重影響了教學質量,達不到預期的教學效果(楊文耀,陳文波,李杰."理實一體化"在應用型本科院校C語言教學中的應用探討[J].信息與電腦(理論版),2017(13):223-224)。
(2)對C語言在專業領域的應用把握不準
由于《C語言程序設計》課程開設在大一,學生還未開始系統學習專業知識,而教材上的例題多是利用C語言進行一些簡單的數學運算或者是對數據的排序等處理,學生在學習后不能明白C語言在電類專業中有何用途。雖然上課時專業老師會強調C語言在本專業中的重要性,但是大多數學生還是對其在專業領域的應用把握不準。
(3)與后續課程的連續性不強
在電類專業中,需要利用C語言的課程主要是單片機,而單片機的學習是在大三。兩門課程中間相隔兩年,存在連續性不強的問題。而將C語言課程延后或者將單片機課程提前都不合適,如果將C語言課程延后,將會延誤學生的計算機等級考試。因為大多數學生在學完C語言以后,會投入到計算機二級C語言考試的準備中,越早開始學習C語言課程,學生的準備時間越長,考試機會越多,通過計算機等級考試的機率越大。而且學生在大一的時候學習了C語言,可以在大二的時候利用C語言參加一些比賽。單片機課程的系統學習,是以電路分析、數電、模電、微機原理等課程作為先導課程,只有先掌握相應的電路知識,才能更好地學習單片機,所以將單片機課程的學習提前也不合適。
綜上所述,在電類專業中研究一套能增強學生學習興趣、準確把握課程定位、與后續課程較好銜接的C語言教學方法十分有必要。
針對傳統教學模式中存在的問題,提出以下解決方法。
(1)堅持“理論夠用”原則
由于C語言語法知識點多、概念復雜、在有限的課堂時間內學生難以全部掌握。而編程語言往往是只需要掌握其30%的語法,就可以編寫70%以上的程序。C語言也不例外。在C語言教學過程中堅持“理論夠用”原則,即只需要在課堂上傳授給學生“必需”和“夠用”的語法知識。所以需要設置先進合理的課程教學目標,精選教學內容,使學生對必須掌握的知識點學精學透。
(2)精選上機編程實例
由于目前所有C語言的教材都是針對各個專業通用的,里面的實例基本都是一些簡單的數學運算或者是對數據的排序等處理,因此在教學過程中,可以根據電類專業特點,準備一些電路方面的運算實例,比如讓學生編程計算電路中的電壓電流等,讓學生在學習C語言編程的同時,又熟悉了電路知識。
(3)與51單片機編程相結合
針對與后續課程的連續性不強的問題,采用51單片機編程與《C語言程序設計》相結合的教學方法進行改進。
可以在《C語言程序設計》的數組這一章以后, 添加51單片機的C語言編程一章,讓學生趁熱打鐵,編寫C語言程序以控制51單片機實現簡單功能。這樣有三大好處:第一,可以將C語言的語法知識學以致用;第二,可以讓學生更加明白C語言在本專業中的應用以及重要性;第三,學生提前接觸單片機的相關知識,為部分想提前學習單片機編程的同學打下基礎,也為學生利用單片機設計作品,參加各種電子設計大賽打下基礎。
但是在《C語言程序設計》課程中學習單片機編程,并不能替代大三時學習單片機的課程,主要是單片機課程內容也較多,很多知識是學生需要學習了電路、數電、微機原理等課程才能夠深入理解。因此在《C語言程序設計》的數組這一章以后添加51單片機的C語言編程一章,內容必須精挑細選,一方面要簡單易懂,讓大一的學生能夠在幾個課時內理解單片機的基本原理,另一方面也要學生會編寫程序,對單片機實現簡單控制。
在電類專業的C語言程序設計教學中,首先根據“理論夠用”原則精選教學內容,即對傳統的教學內容進行壓縮。然后在教學過程中根據電類專業的特點,精選與電路知識相關的編程實例,讓學生上機練習。最后在數組后插入51單片機的C語言編程一章,在這一章里簡單介紹單片機的知識以及51單片機的C語言編程,讓學生學會利用C語言編程控制51單片機實現簡單功能。通過該教學改革,可以提高學生學習C語言的興趣,促進學生理解C語言在本專業中應用,為后續課程的學習打下基礎。