高文超 周法國
摘 要:C++是高等學校廣泛使用的教學語言,并對后續(xù)專業(yè)課程的學習起到重要的鋪墊作用。該文結合對非計算機專業(yè)講授C++課程及實驗的經驗,對目前高校非計算機專業(yè)C++課程教學中存在的主要問題進行研究和探討,并提出相應的改進措施。實踐表明這些原則和方法增強了學生的積極性,較好的提高了教學效果,值得推廣。
關鍵詞:C++語言程序設計 非計算機專業(yè) 教學方法
中圖分類號:G642 文獻標識碼:A 文章編號:1674-098X(2014)04(b)-0122-02
當今,社會信息化全面推進,各行各業(yè)都受到計算機的強烈影響,從而對人才的計算機水平和能力的要求越來越高。此時,非計算機專業(yè)的人才如果能自行開發(fā)計算機程序解決專業(yè)中的問題,將是提高自身競爭力的一個重要手段。為此,現在很多高校都已經將程序設計作為理工科非計算機專業(yè)學生的必修課程之一。該文結合筆者為數學、電氣及其自動化等非計算機專業(yè)學生講授面向對象技術與C++程序設計課程與實驗指導的經驗,針對當前高校非計算機專業(yè)面向對象程序設計(C++)教學存在的問題,從教學內容的調整、教學方法的改進和學生自學能力的培養(yǎng)等方面進行了探討。
1 理工類學校數學專業(yè)開設C++課程的必要性
1.1 培養(yǎng)交叉學科人才
計算機與數學、電氣工程、金融商務等結合,是社會發(fā)展長期積累的智慧結晶。我們認為,在高等學校中,有效的計算機及數學、電氣、金融相關學科的學習活動不能單純地分開進行,這些課程的專業(yè)知識應該相互滲透、相互融合,而在此過程中,學生要注重動手實踐、自主探索與合作交流,從而使自己的知識結構和能力水平達到最佳效果,成為多學科交叉人才[1]。
1.2 需求更多就業(yè)機會
計算機人才是當今社會急需的人才,制約計算機人才的瓶頸往往是算法、建模,但是對數學專業(yè)的學生來說,這些剛好涉及到自己的專業(yè)內容??墒窃跀祵W專業(yè)的人才培養(yǎng)模式當中計算機開發(fā)、編程的學習僅僅只是基礎,還遠遠達不到行業(yè)的入門要求[2]。所以,調整學校中非計算機專業(yè)的培養(yǎng)模式以適應社會的需求,可以為數學及其它專業(yè)的畢業(yè)生尋求更多的就業(yè)機會和更廣闊的發(fā)展空間。
2 非計算機專業(yè)C++教學中存在的問題
C++是在C語言的基礎上開發(fā)的一種集面向對象編程、泛型編程和過程化編程于一體的編程語言。C++是適應多方面需求的編程語言,在很多行業(yè)應用廣泛。相對于JAVA,.NET來說,入門較難,而高等學校非計算機專業(yè)C++教學也存在著不少的問題。
2.1 學生重視不夠,缺乏學習的主動性
由于授課對象是非計算機專業(yè)的學生,他們認為這門課程不是他們的專業(yè)范疇,自己不是學計算機專業(yè)的,不必自己編寫程序[3]。因此,學生對學習程序設計的認識不足,從思想上缺乏足夠的重視,缺乏學習的主動性。
2.2 學生主動學習的精力不夠
在總學時有限的情況下,繁多且既有難度又有深度的教學內容,導致教學過程中理論和上機實踐的時間不足,學生對知識點不能很好地掌握。同時由于自己專業(yè)本身的課業(yè)負擔致使對這門課程不能全身心投入。
2.3 學生學習方法不正確
很多學生按照學習一般文科課程一樣去學習程序設計,課前預習、按時上課、認真聽講、仔細閱讀相關教材,但是一到寫程序的時候就顯得力不從心。其實這些學生并沒有真正掌握正確的學習程序設計的方法,忽視了上機實踐過程。
2.4 教師教學方法欠缺
學習程序設計的最好方法就是去上機寫程序,只有在寫程序、編譯、調試程序的過程中,才能對程序設計有更深入的理解。但在實際的教學過程中,因為授課對象是非計算機專業(yè)的學生,許多老師很少教學生們如何利用編譯器的調試工具對程序進行排錯。很多學生一看見程序有很多編譯錯誤,就會產生畏懼感,對學習喪失了興趣[4]。
3 有效的解決方法
綜上所示,C++程序設計語言是一門既有難度又有深度的課程,非計算機專業(yè)的學生要學好它,不僅其自身的學習方法與學習態(tài)度是關鍵,教師好的教學方法同樣不可忽視。
3.1 激發(fā)學生的學習興趣,建立信心
上第一堂課時,可以對C++語言的發(fā)展追本溯源,適時穿插對C++語言的發(fā)展做出突出貢獻的一些科學家的生平趣事,這樣可以在課程伊始就吸引學生的注意力。同時,還可以演示有趣的C++語言程序,例如貪食蛇、排序算法的動畫演示等,讓學生認識到學習這門課是非常實用并且十分有趣的,激發(fā)學生學習程序設計的興趣,推動后續(xù)知識的學習。
另外,要排除學生對程序設計語言的誤解,尤其是女生,多數會覺得編程是男生的強項,這時可以給她們介紹世界上第一位程序員Ada,她就是一名女性。在開始的時候就鼓勵學生建立學習的信心,這將是整個課程學好的關鍵一步。
3.2 針對專業(yè)特點,調整教學內容
對于非計算機專業(yè)的學生來講首先要明確學習計算機語言對于本專業(yè)的重要性,然后架設一座計算機專業(yè)與其所學專業(yè)的橋梁,如果能將計算機技術靈活地運用到本專業(yè)領域里,將會對兩個專業(yè)做出貢獻[5]。
一般非計算機專業(yè)開設的高級語言程序設計課程學時都比計算機專業(yè)的學時數少,讓學生掌握所有C++語言的知識點不現實,應針對不同專業(yè)的應用背景和課程特點,舉例說明編程在其專業(yè)中的具體應用。例如數學專業(yè)主要是進行數學計算和求解,我就會在平時上課或是布置上機實驗時偏向于數學方面的應用,這樣不僅鍛煉了學生的上機實踐,也讓學生體會到計算機對自己本專業(yè)的重要作用,進一步激發(fā)他們學習C++的熱情。
3.3 程序調試能力的培養(yǎng)
很多學生因為一個小小的符號錯誤或語法錯誤就導致程序無法編譯,更不能運行顯示結果,這嚴重挫傷學生的自信心。因此,在授課過程中,必須同步提高學生的程序調試能力。同時,鼓勵學生多上機排查程序的錯誤,利用編譯器的調試功能查出問題所在。
第一節(jié)課時,我就先給學生介紹錯誤的種類,以及如何去調試程序、修改錯誤。帶領學生讀錯誤提示信息,分析錯誤產生的原因,定位錯誤,最終讓學生自己能夠根據錯誤提示進行程序修改,克服恐懼心理。
3.4 加強理論聯系實際,多上機實踐多操作
上機實踐是C++程序設計語言教學過程中十分重要的組成部分。因此,如何加強上機實踐,提高實際操作的效果,并以此進一步提高課堂教學質量顯得非常重要。要提高學生自主學習的積極性,切不能讓學生只聽不練。
我們可以增加上機實驗的學時和在最后成績中的比重,讓學生重視上機實踐過程。上機時,需要教師多花精力去精心準備實驗內容,操作內容要新穎,要有專業(yè)性,要有針對性。最后要確保每次上機學生達到預期的操作效果,并要給出客觀公正的評價。
3.5 改進教學評價體系
現在各大高校存在一個很大的弊病,就是在評價體系上注重試卷的考察,因此許多學生會采取考前背筆記、背重點的方式,這樣的課程結束后學生的收獲甚微[6]。我們對非計算機專業(yè)學生開設計算機應用的課程不僅是為了使學生掌握好課本上的知識,而更重要的是培養(yǎng)學生們對于計算機知識的應用能力和分析能力,解決實際中遇到問題的能力,因此就需要學校建立一套綜合性的多維評價體系,讓學生們真正能有所收獲。
我們可以采取削弱筆試成績,加重實際操作成績的方式來實現這一目標。比如,在課程伊始就安排幾個較大的課程設計任務讓學生們分組進行,課程結束時根據學生上交的設計報告給出相應的分數,這項任務占總成績的30%。平時的上機實驗占10%,卷面成績僅占60%。同時,在期末考試中完善試題庫,且要實現教考分離,以充分保障考試的公平性。
4 結語
C++語言的內容繁多,而非計算機專業(yè)又沒有安排很多的課時和課程設計環(huán)節(jié),因此在有限的課時內不可能也不必要面面俱到,教師們必須突出重點、難點和實用性,不要過多拘泥于細節(jié),把教學重心放到教授學生如何正確運用C++語言編寫程序上,從思想與算法上去學習面向對象編程,具體的細節(jié)可以在今后的應用中讓學生多查閱相關資料,慢慢體會。
參考文獻
[1] 王娟.各學科與計算機學科交叉融合的高校培養(yǎng)模式[J].福建電腦,2013(10):181-182.
[2] 張鳳敏,馬仲立.理工類高校數學專業(yè)畢業(yè)生就業(yè)探析[J].職業(yè)與教育,2013(14):95-97.
[3] 江波.二本院校非計算機專業(yè)C++程序設計教學方法和策略[J].中國科技信息,2013(3):144-145.
[4] 肖菁.高校非計算機專業(yè)C/C++教學的探索與實踐[J].現代計算機,2011(12): 21-22.
[5] 王坤.非計算機專業(yè)C++程序設計教學研究[J].軟件導報,2008(1):156-157.
[6] 劉恕華.高校非計算機專業(yè)應用層面的教學初探[J].網絡安全技術與應用,2014(1):161-163.