邰非
摘 要:隨著當前國家信息化進程的不斷推進深化,社會對跨專業(yè)從事計算機編程人才的需求也越來越多,C++作為基礎(chǔ)語言,在很多領(lǐng)域都有廣泛的應(yīng)用,這也給高校轉(zhuǎn)型改革提供了指導(dǎo)方向。就工科院校非計算機系專業(yè)的學(xué)生而言,如何能快速全面掌握C++語言對滿足社會需求起到很大的作用。文章針對非計算機專業(yè)C++課程課時少、任務(wù)重的特點,從培養(yǎng)學(xué)生動手能力與實踐能力角度出發(fā),提出一種互動式教學(xué)模式,最大程度上激發(fā)學(xué)生學(xué)習(xí)語言的熱情,從而為高校、社會培養(yǎng)更多的合格編程人才。
關(guān)鍵詞:C++;互動式教學(xué)模式;建立
中圖分類號:G642 文獻標志碼:A 文章編號:2096-000X(2017)08-0127-02
Abstract: With the continuous deepening of informatization process, the society needs more and more talents to engage in computer programming. As a basic language, C++ has a wide range of applications in many fields, which also provides a direction for the transformation of universities. As for the non-computer majors in engineering colleges, how to master the C++ language quickly and effectively plays an important role in meeting the needs of society. According to the characteristics of C++ course for non-computer majors, such as less classes and heavy tasks, starting from the cultivation of students' manipulative and practical ability, this paper puts forward a kind of interactive teaching mode. This mode can inspire students' language learning enthusiasm, so as to cultivate more qualified programming talents for universities and society.
Keywords: C++; interactive teaching mode; establish
隨著社會信息化進程的快速推進,對跨專業(yè)領(lǐng)域的計算機人才需求日益增大,尤其是與專業(yè)相關(guān)的工科類復(fù)合人才。C++作為計算機專業(yè)的必修課,也成為工科非計算機專業(yè)重要選修課程。C++作為面向?qū)ο蟮氖走x編程語言,其實用性、強大性在整個軟件領(lǐng)域都是認可的。但由于其難度及復(fù)雜性,高校中的教學(xué)效果并不理想。這與以往的C++教學(xué)模式及現(xiàn)行的教育體制不無關(guān)系。教育體制的改變是個長期的工程,但如何在這種漫長的改變中通過對教學(xué)模式的革新來提高教學(xué)效果則是一種捷徑,這種模式將會幫助高校為社會提供合格的編程人才。
一、C++教學(xué)存在的問題
(一)C++教學(xué)目標不明
目前高校中對C++語言的教學(xué)安排,主要涉及語法概念及相關(guān)應(yīng)用,另外非計算機專業(yè)設(shè)置的C++課時相對較少,在內(nèi)容上沒有考慮面向?qū)ο缶幊痰膹?fù)雜性和重要性,往往讓人感覺開設(shè)這門課只是為了應(yīng)付信息化建設(shè)的要求。其根本原因是高校對C++課程定位不準確造成的。因此學(xué)生對學(xué)習(xí)C++語言的積極性不高。即便是學(xué)習(xí),仍然像學(xué)習(xí)其它學(xué)科一樣,對概念進行死記硬背。
(二)C++實踐教學(xué)不足
C++語言屬于實踐性非常強的一門課,原則上理論課與上機課要以1:1的時間進行配置,以此培養(yǎng)學(xué)生實際編程能力,課堂上的概念講解過多過細,容易造成學(xué)生能動性不足。當然作為高校教師在教學(xué)之余,除了提高自身的理論知識,也要積極去與企業(yè)合作,一方面可及時掌握軟件市場新動向,另一方面又可以將企業(yè)遇到的難題轉(zhuǎn)換成課題,帶領(lǐng)學(xué)生去攻關(guān)。
二、C++教學(xué)內(nèi)容的選擇原則
(一)選擇合適的教材
國內(nèi)教材偏重于基礎(chǔ)語法、語義,所提供的習(xí)題也多是這方面的。學(xué)生在學(xué)完后,不知道這種語言究竟能做什么,國外教材在這方面做的比國內(nèi)好,我們可以選擇比較經(jīng)典的國外教材,對于基礎(chǔ)好的工科學(xué)生,甚至可以選擇國外原版教材。這樣會有一舉兩得的效果。另外教材的更新也要與時俱進,例如現(xiàn)在國內(nèi)的C++教材基本上是按照C++98標準來編寫的,極少數(shù)引入了還沒有標準化的C++0x標準。至于2013年IOS就正式推出C++11標準,則國內(nèi)沒有任何教材內(nèi)容能跟上。該標準在語言層面上做了很大的改動,這些改動也是順應(yīng)時代的變化。
(二)選擇合適的教學(xué)內(nèi)容
在選擇合適的教材后,以非計算機專業(yè)工科C++課程教學(xué)要求為基礎(chǔ),結(jié)合不同的專業(yè)培養(yǎng)目標設(shè)置課程的重點,同時把難點抽取出來形成小專題,形成著力于提升基礎(chǔ)性、應(yīng)用性的教學(xué)大綱。在教學(xué)的過程中結(jié)合社會需求不斷地進行內(nèi)容調(diào)整。
除了C++語言層面的教學(xué)外,也要引入編譯環(huán)境的學(xué)習(xí)與使用,比如微軟的VS IDE集成編譯環(huán)境的使用,底層采用GCC的輕量級編譯環(huán)境MinGW或集成了MinGW的EditPlus等等。
三、基于實踐的互動式教學(xué)模式構(gòu)建
(一)創(chuàng)建實踐性強的小工程題庫
除了課本上概念性強的題目外,有必要在長期的教學(xué)與實踐過程中創(chuàng)建小工程題庫,這對教授C++語言的教師也提出了要求,教師在空余時間可以去軟件公司承擔實際項目,在實際項目中抽取重用性較高且與工程相關(guān)的小工程項目,將其轉(zhuǎn)化成操作性強的小課題,這些小課題與實踐緊密結(jié)合,容易引起學(xué)生的學(xué)習(xí)熱情。筆者曾在一家金融軟件公司承擔項目,在開發(fā)過程中,將金融POS機具打印中的格式化輸出所遇到的問題抽象,形成小課題并給學(xué)生做,出乎意料,學(xué)生用非常好的算法完美解決。后又從曾經(jīng)承擔過的流媒體項目中抽取幾十個小工程形成完整的涵蓋整個C++教學(xué)內(nèi)容的題庫供教學(xué)使用。
(二)互動教學(xué)模式的構(gòu)建與有效實施
基于工科院校C++課時少及上機時間不足的特點,結(jié)合前面準備的具有較強實踐性小工程的基礎(chǔ)上,對書中的例題做一些改進,即純粹的理論概念類型題目轉(zhuǎn)化為與現(xiàn)實相結(jié)合的題目??紤]到激發(fā)學(xué)生的動手熱情和培養(yǎng)團隊協(xié)作精神,可將班級分成若干小組,在概念理論講解完后,以小組的形式上講臺把前面改進的例題當場編輯、編譯、調(diào)試、運行。小組成員必須在規(guī)定的時間內(nèi)完成程序的運行。在這期間可以查閱資料,相互討論,甚至可以求助于其它小組成員。另外這些例題還做了特殊處理,里面設(shè)置了各種語法錯誤、算法錯誤,甚至還包括不合理的架構(gòu)用法。當學(xué)生順利完成后,根據(jù)情況可對例題提出新的需求,如果學(xué)生在規(guī)定的時間內(nèi)沒有完成,則讓另一組同學(xué)上臺繼續(xù)。在編輯代碼的過程中要求學(xué)生嚴格按照編碼規(guī)范來書寫程序,以培養(yǎng)出學(xué)生良好的書寫程序習(xí)慣。教學(xué)過程提倡人人動手、人人參與,學(xué)生在訓(xùn)練的過程中從被動逐漸轉(zhuǎn)變?yōu)橹鲃?,學(xué)習(xí)效率大大提高。
(三)課外互動平臺資源的利用
作為課外的補充交流,建立QQ交流群,及時回答學(xué)生上課沒聽懂或看書中遇到的問題,就相關(guān)問題展開討論。也可以將一些與工程相關(guān)的疑難有待解決的問題在群內(nèi)公布。始終用實踐去引導(dǎo)學(xué)生的興趣。另外還可以邀請一些已工作并從事軟件開發(fā)的學(xué)長,在群內(nèi)講述自己的工作經(jīng)歷。在這種互動交流中提高學(xué)生學(xué)習(xí)C++語言的興趣,形成一個良好學(xué)習(xí)氛圍。
(四)社會實踐互動資源的利用
除了校內(nèi)活動外,還可以積極鼓勵學(xué)生參加社會團體組織,比如:中國計算機學(xué)會。學(xué)生可以選擇其中感興趣的方向,了解所需要的知識,在教師的幫助下制定一套行之有效的學(xué)習(xí)計劃,并持之以恒地執(zhí)行,為將來的發(fā)展打好基礎(chǔ),有條件的可以參加學(xué)會舉辦的研討會。特別優(yōu)秀的學(xué)生,還可以發(fā)表文章。另外還可以組織學(xué)生參加一些省、市地區(qū)級的計算機知識競賽和計算機等級考試,以此提高C++語言學(xué)習(xí)的實效性。作為實踐的補充,可以為學(xué)生安排去軟件公司短期實習(xí),把自己所學(xué)的與真實的市場項目結(jié)合。
四、結(jié)束語
以基于實踐的互動模式C++教學(xué)方法,經(jīng)過多屆教學(xué)的實踐檢驗,表明能讓學(xué)生快速掌握基礎(chǔ)知識,在實際動手編程能力方面比普通教學(xué)方法效果要好,學(xué)生在學(xué)習(xí)的過程中對C++語言的興趣不斷提高,主觀能動性增強。因此該方法適用于高校為社會信息化培養(yǎng)合格的人才。
參考文獻
[1]孫庚.項目教學(xué)法在“C++程序設(shè)計”課程教學(xué)中的實踐[J]. 計算機教育,2008(2)CHENSONG-QING,SHEN.
[2]那一沙,吳子?xùn)|,杜修平.基于建構(gòu)主義的面向?qū)ο蟪绦蛟O(shè)計C++教學(xué)[J].現(xiàn)代遠距離教育,2008(4).
[3]肖明.案例教學(xué)法在“C++語言程序設(shè)計”教學(xué)中的應(yīng)用[J]. 計算機教育,2010(6).
[4]李駿楊,陳漢武.工科專業(yè)C++語言教學(xué)目標與方法的探討[J].計算機教育,2007(08X).
[5]王金娟,彭浩.設(shè)計模式之狀態(tài)模式在C++教學(xué)中的運用[J]. 計算機時代,2016(10).
[6]吳舜歆,梁寶蘭.Online Judge在C++程序設(shè)計課程實踐教學(xué)中的應(yīng)用[J].高教學(xué)刊,2016(9).