程林輝
(中南民族大學計算機科學學院,湖北 武漢 430074)
C語言課程不僅是計算機專業學生的必修課程,對于電子和數學等專業學生而言也很重要。它是各專業學生進行實驗和科學驗證的一個基礎性的編程語言,是學好后續課程的一個很好的鋪墊。文章就計算機專業學生C語言課程學習的現狀進行了分析,并提出了一些新的思路,并將這些思路應用到具體的教學實踐中,取得了很好的效果。
國內創立第一個計算機系已有近60年的歷史,對于計算機語言的教學方法已有了很大的改進。但是現在很多傳統的方法仍然在教學中發揮著主導作用。首先,在理論教學中以講授語法知識為主,傳授編程思想為輔的教學方法至今仍然被許多大學采用;其次,在實踐教學中以簡單的加、減、打印和排序等基本編程為主的方式仍然是實踐環節的重心;另外,在課程設計中以小系統開發為主的方式仍然占據著主導地位;最后,期末考試以語法和簡單小程序考核為主。當然,上面所提及的傳統的教學方法也有其優勢,比如因其基礎性和簡單性,這種教學方法會適合大部分學生,幾乎每個學生都可以不用花太多的時間就可以達到課程的要求,在期末考試中取得一個好成績,增強學生學習后續課程的自信心。但是,這種傳統教學方法的弊端也是明顯的。第一、因為課程內容和考核方式的簡單,令學生在學習計算機課程的最初階段不能培養自己的攻堅能力和團隊協作能力;第二、因為編程語言基礎的薄弱,在后續課程的學習中不能得心應手;第三、通過考試容易,令學生對于考試失去了敬畏。所以對于C語言傳統教學方法而言,要取其精華,棄其糟粕,加入一些新的方法,才能夠提高教學質量。
C語言是計算機專業學生所接觸到的第一門計算機基礎課程,在計算機課程的整個教學體系中起著舉足輕重的作用,教學方法和教學效果的好壞直接影響著計算機專業學生的整個大學時期的學習,甚至影響著他們的職業生涯,所以高校老師不斷的探索和改進 C語言課程的教學方法是非常必要的。本文根據近十年C語言課程的教學經驗,針對C語言的教學方法提出了一些新的思路。
中國的大學生經過高中階段的洗禮,具有很強的學習基礎知識的能力,所以在理論教學中可以在一定程度上弱化 C語言語法等基本知識的講解,而加強編程思想和系統設計方面的講解。將這樣的思路融入C語言教學中要做到如下幾點:首先要讓學生告別填鴨式的學習方式,給他們足夠的信任和肯定,告訴他們大學的學習是一種開放性和研究性的學習;其次老師要“授學生以漁”,不要“授學生以魚”,不要用標準答案限制學生,鼓勵學生創新;另外老師要鼓勵學生自行設計大系統,若以現有的知識無法將其實現,就去查閱書本以外的資料,但是只要有思想就要給予鼓勵和認可,培養學生的攻堅精神。
C語言是一門實踐性非常強的課程,若僅僅看書,那是紙上談兵。由于中國的高中教育以應試為主,學生的動手能力普遍較差,因此在大學更應該培養學生的動手能力,尤其對于剛剛步入大學校門的大一學生,C語言的實驗課是培養他們動手能力的第一站,對他們而言尤為重要。傳統的C語言實踐課是做一些簡單功能的開發,為此本文提出兩個新的思路。第一、在實驗方面,將全班學生分成幾個研究團隊,老師將一個較大的系統分成若干個小模塊分配給每個研究團隊的成員,每個成員完成設計之后,在老師指導下把各個小模塊整合成一個大的系統,讓學生獲得成就感的同時,告別對大系統設計的恐懼感。第二、在課程設計方面,鼓勵學生不要迷信權威,要努力創新,設計出自己獨一無二的系統。要做到上述兩點,需要老師走下講臺,和學生平等的交流,需要老師付出大量的時間和精力。
傳統的教學考核是采取閉卷考試,考試主要檢驗學生基礎知識的掌握程度。其實,每個走上工作崗位并且在使用C語言的人都知道,在實際的應用中,當他們忘記個別語法知識的時候,市面上任何一本C語言書都可以幫助他們解決問題,可是設計思想的缺失是C語言書所不能給予的,所以這里提出了成績考核的新思路。第一、可以弱化基礎知識的考核,而強化編程思想和設計思想的考核;第二、增加面試環節,老師提出一個功能,令學生在很短的時間內給出設計思路和方案。這些新思路對學生的學習可以起到切實的督促作用,讓學生對考試產生應有的敬畏,令考試發揮它應有的作用。
上面所提到的新思路已經在C語言課程的教學中試用了整整兩年,取得了良好的效果。運用新思路后,在理論課學習方面,學生對于授課內容更加感興趣,對于基礎知識的學習更加主動,思維更加活躍。在實踐課學習方面,學生的動手能力有了顯著的提高,通過一個研究小組共同開發一個較大系統,學生建立了學習計算機課程的信心,具備了團隊協作能力和攻堅精神。在成績考核方面,學生一方面敬畏考試,另一方面,覺得新的考核方式的確可以檢驗他們C語言學習的真正水平,所以對于考試更加重視,考試真正的對學生起到了督促作用。事實表明,牢靠的C語言功底,對數據結構、C++、單片機等等后續課程的學習都起到了重要作用。
通過分析傳統的C語言教學方法,以及計算機專業大學一年級學生的實際情況,在理論教學、實踐教學和成績考核方面都提出了自己的一些新思路,并將這些新思路用到了實際的教學中,事實表明這些新思路可以促進教學效果的提高。
[1] 張春燕,張麗.面向能力培養的C語言程序設計教學方法研究[J].時代教育,2007:7.
[2] 譚浩強.C 語言程序設計[M].北京:清華大學出版社,2005:1-388.
[3] 滕麗,黃沙.論Visual Basic程序設計教學策略[J].遼寧警專學報,2006:88.
[4] P.J.Plauger.C 標準庫[M].北京:人民郵電出版社,2009:1-488.