牟學鵬
(承德石油高等專科學校,河北 承德 067000)
高職院校計算機專業開設的計算機入門語言課,是計算機專業學生學習的第一門計算機語言,入門語言重點講授程序設計的基本概念與方法,通過入門語言的學習,要將學生引入程序設計的大門,為今后進一步深入學習程序設計打下良好的基礎,如果第一門計算機語言學習不好,將直接影響學生后續課程的學習,使得學生很難在專業上有進一步的發展。當前,隨著高職院校計算機專業學生就業新形勢的出現和計算機軟件新技術的出現,使得高職計算機專業入門語言應根據新形勢的需要進行適當的改革,以適應新形勢的發展需要。
C語言是最具代表性的面向過程的程序設計語言,其功能強大,語法靈活,一直深受程序員的喜愛。正因為如此,多少年來幾乎各類高等院校都將C語言作為高校學生的入門語言,這也成就了譚浩強先生的經典教材《C語言程序設計》800萬冊銷量的奇跡。然而,當前隨著新形勢的出現,應該用C++語言取代C語言作為學生的新的入門語言。由三點原因決定了對這種課程設置改革的必要性。
1.“2+1”人才培養模式要求我們在課程設置上要更加緊湊,在銜接上要更加緊密。
當前高職計算機專業為了提高學生的職業技能,采用以頂崗實習為突出特征的“2+1”人才培養模式,即前兩年的理論學習加第三年的頂崗實習。因此學生在校實際學習理論課程的時間只有兩年,在校學習時間的縮短,要求計算機語言課程銜接更加緊密。
2.C++是在C語言的基礎上發展而來的,它完全兼容于C語言,傳統的課程設置方式開設完C語言一年后再開設C++,就要花費20學時的時間來講C的內容,講授的內容完全相同,這其實是課程設置的一種重疊。
3.當前C++語言體現“面向對象”技術是軟件行業的主流技術,與其先向學生灌輸C語言的“面向過程”的編程思想,將來再讓他們去轉變這種已經深入內心的思想,不如一開始就把最先進的程序設計思想傳授給學生。
C++作為一種高級計算機語言,有自身的特點,C++語言的設計者之一斯坦·利普曼先生曾在《C++Primer》一書中指出“C++是最為難學的高級程序設計語言之一”,因為C++牽涉概念繁多,語法比較復雜,體系結構的龐大,很多概念非常抽象,將其作為入門語言,學生學習的過程中,會遇到很多困難。在這種情況下如果再語言單一,枯燥地講解各種晦澀的語法知識,會使課堂沉悶,大大降低學生的學習興趣。所以講授C++程序設計時要做到語言豐富、生動、通俗易懂,用一些經典的例子和恰當的比喻貫穿始終,營造出和諧愉快的課堂氛圍,這樣才能讓學生體會到在輕松的環境中獲取知識的樂趣。其中選擇經典的例子和恰當的比喻非常重要,它們不但可以使抽象的知識容易理解,還可以提高學生的興趣,提高學習效率。比如,多態性是面向對象思想中的重要特征,但其概念描述為不同的對象接受了相同的命令產生不同的行為卻非常抽象,不易理解。為了理解這一概念,可以利用上課鈴聲響起這一同樣命令被教師和學生兩種不同對象接收后,產生了教師走上講臺準備授課,學生安靜坐好準備聽課這兩種不同的行為,這就是現實世界中多態性的實例。利用這樣的現實例子,會很容易地理解類似的抽象概念。
考核是教學活動中十分重要的環節,通過考核可以檢驗學生的學習成果。傳統的程序設計課程的考試都采用期末筆試答卷的方式進行。然而以期末筆試的考核方式有兩點明顯的不足:第一,學習程序設計的最終目的是使用計算機進行編寫程序來解決實際問題,而筆試只能考察理論知識掌握的水平,無法衡量知識的運用能力,單靠筆試的方式衡量學生計算機語言的運用水平本身就不準確。第二,一學期的學習,單靠最后一次期末考試考核學生的成績,導致平時相當數目的學生對學習投入不夠,以考前突擊的方式應對考試。因為各方面能力的培養都需要一個過程,短時間的突擊不但導致所學知識不夠扎實,更對學生的知識運用能力與素質能力的培養毫無幫助,這也是以期末考試考核學生的成績的最大弊端。
過程化考核是一種新型的考核方式,它是在學習的過程中對學生進行多次的分階段,多種形式的測驗,得到最終的學習成績,這種考察方式不但較為客觀地衡量出學生對知識的掌握與運用水平,還通過多次的考核時時激勵學生,在學習的過程中始終懷著嚴謹的態度和飽滿的熱情,獲得最佳的學習效果。《C++程序設計》課程的過程化考核采用筆試與上機相結合的方式進行,兩次筆試重點考察學生的理論的掌握水平,四次上機考核重點衡量學生的知識實際運用水平,六次考核都在理論課與實驗課的課堂完成。這種多次的階段性考核措施保證了學生的學習熱情與投入程度,在實際使用中取得了很好的教學效果。
學習情境是指為學生提供一個完整、真實的問題背景,以此為支撐物啟動教學。一個恰當的教學情境,是激勵學生主動參與學習的根本保證,學習情境的創設是教學設計中的一個重要環節。在C++程序設計這門課程中主要可以創設兩種學習情境:
1.模擬現實實例的學習情境:作為第一次接觸的程序設計語言,學生會覺得非常抽象,以現實中的實例作學習情境不但可以加深對語言本身的理解,更可以提高學習興趣,取得良好的教學效果。例如C++的結構體部分可以以手機電話簿管理程序為學習情境,模擬手機電話簿對好友及其電話號碼進行管理,能夠錄入新的人名與電話,能修改人名與電話號碼,可以進行刪除操作,可以查詢特定人的電話號碼,可以輸出所有電話簿中的電話號碼,主要交互菜單的設計美觀友好。學生對手機電話簿管理程序非常熟悉,學生將懷著極大的興趣在這種“情境”中探索實踐,從而加深對問題的理解。
2.用有趣味的故事來創設學習情境:趣味的故事可以調動起學生學習的興趣,使學生興趣盎然,把需要解決的例題有意識地、巧妙地寓于韓信點兵、菲波那契數列等古今中外的故事之中,可以充分調動學生的學習熱情,激發起學生的求知欲望。
[1]譚浩強.C++程序設計.[M].北京:清華大學出版社,2006.
[2]袁梅冷.高職軟件專業多層次項目驅動教學模式探討與實踐[J].職業教育研究,2008,(2).
[3]楊長虹.淺談高職院校計算機軟件專業教學[J].益陽職業技術學院學報,2007,(1).