摘 要 從高職程序設計類課程教學存在的問題入手,分析全國軟件和信息技術專業人才大賽對高職學生知識應用能力,發現問題、分析問題以及解決問題的能力的要求,結合學生在程序設計大賽中表現出來的實際情況,提出高職院校在進行學生能力培養方面存在的問題,有針對性地對高職院校程序課程設計進行改革,以促進教學質量的提升。
關鍵詞 高職;程序設計;教學改革
中圖分類號:G712 文獻標識碼:B
文章編號:1671-489X(2015)13-0003-02
“藍橋杯”全國軟件和信息技術專業人才大賽是由教育部高校學生司指導,工業和信息化部人才交流中心、教育部全國高等學校學生信息咨詢與就業指導中心聯合主辦,中國軟件行業協會等多家單位協辦,面向全國高校在校大學生舉辦的年度賽事[1]。大賽分為軟件類和電子類兩大類別。其中軟件類個人賽包括C/C++程序設計和Java軟件開發兩個比賽項目,每個項目又分成大學A組、大學B組、大學C組(說明:985、211本科生只能報大學A組,所有院校研究生只能報大學A組,其他院校本科生可自行選擇報大學A組或大學B組,高職高專院校可報大學C組或自行選擇報任意組別)[2]。程序設計大賽以推動我國軟件和信息產業發展,促進專業人才培養,向軟件行業和信息產業輸送具有創新能力和實踐能力的高端人才為宗旨。除此之外,程序設計大賽提高了高校畢業生的就業競爭力,推動了我國高校專業人才的培養。截至目前,“藍橋杯”大賽已經舉辦了五屆,引起了教育部、工業和信息化部有關領導的高度重視,得到國家教育相關部門的大力支持,更得到參賽師生的廣泛好評,參賽學校超過1200所,參賽規模已過五萬人次,取得良好的社會效果。
陜西工商職業學院2013年首次參賽,選拔兩名學生參賽,獲第四屆“藍橋杯”全國軟件和信息技術專業人才大賽(陜西賽區)個人賽高職高專組C/C++程序設計比賽一等獎兩名并取得決賽資格,在全國總決賽中獲得優秀獎兩名;2014年四名學生參賽,獲第五屆“藍橋杯”全國軟件和信息技術專業人才大賽(陜西賽區)個人賽高職高專組C/C++程序設計比賽一等獎一名并取得決賽資格、三等獎兩名、優秀獎一名,獲得決賽資格學生在全國總決賽中獲得三等獎。
1 高職院校程序設計課程存在的問題
在高職院校計算機相關專業的課程設置中,程序設計屬于專業基礎課程。在程序設計科目的選擇上,陜西工商職業學院有選擇地開設了C語言程序設計、Java程序設計兩門課程。這兩門課程可以幫助學生打下扎實的編程基礎和編程習慣,培養學生良好的邏輯思維能力以及發現問題、分析問題、解決問題的能力。除此之外,學生的創新意識和實踐能力也得到良好的提升。
近年來,不斷深化課程教學改革,針對程序設計類課程,先后嘗試了案例教學法、項目驅動教學法等多種方法。程序設計課程是理論與實踐兼具的課程,提高學生的實踐能力必須以扎實的理論知識為基礎。因此,在進行系統學習的過程中必須從最基本的概念和最基本的語法出發,在教學活動中結合具體案例進行實踐教學活動。但是,在教學活動中這些案例的使用也存在一定的局限性,這些簡單的教學案例的使用并不能在真正的意義上將所學知識有機地構成一個整體。程序設計課程在理論知識之后,需要安排實訓周,在實訓周引入的實訓項目仍不能滿足教學的需求。其原因在于:學生在進行基礎知識的學習過程中,對理論知識的學習感到枯燥乏味,學習缺乏積極性;應用知識雖然能夠引起學生足夠的學習興趣,但是由于缺乏必要的理論知識,導致學生在完成程序設計時存在嚴重的困難。通過深入地思考和總結,分析全國軟件和信息技術專業人才大賽對程序設計能力的要求,提出一系列行之有效的措施,提高了程序設計類課程教學質量。
2 大賽對程序設計能力的要求
實踐創新能力 全國軟件和信息技術大賽的題目來自于微軟、IBM等知名IT公司,公司的專家學者根部企業的實際應用進行命題,主要考查學生利用已有知識進行實踐創新的能力。為了參加比賽,指導教師必須根據比賽舉辦方提供的比賽大綱和練習系統,總結歸納出所涉及的編程知識,并在短暫的集訓過程中讓參加賽事的學生查閱大量的相關文獻,在進行集訓的過程中要積極發揮每一個學生的積極性和主動性,通過不斷的訓練來掌握理論知識,提升實踐水平。從參加過大賽的學生的情況可以看出,經歷過大賽的學生的實踐動手能力和創造性思維方面的能力都得到了巨大的提升。
獨立分析解決問題能力 高職院校在進行人才培養的過程中應該以全國軟件和信息技術專業人才大賽為契機,在進行集訓的過程中有意識地培養學生獨立分析問題以及解決問題的能力。在這個過程中不斷激發參賽學生的積極性和主動性。高職院校學生在基礎教育階段習慣了對教師的依賴,導致學生在高等教育的學習過程中對教師的依賴性也比較高。在參與全國大賽的學生的帶動下,通過學生之間的相互交流、查閱相關資料,逐步通過自己的努力來解決學習中遇到的難題。在進行比賽集訓中,指導教師要根據學生在學習過程中遇到的具體的實際問題,指導學生查閱相關資料或者通過網絡媒體尋求解決的方法。在進行集訓的過程中,教師要充分認識到“授之以魚,不如授之以漁”,要注重鍛煉學生分析問題、解決問題的能力。
良好的心理承受能力 學生在參加全國大賽時,競爭十分激烈,參加比賽并不一定能夠取得良好的名次。因此,需要對參賽的學生提前做好心理工作,要讓學生認識到競爭的激烈。在集訓的過程中必須使學生保持嚴謹的態度以及良好的心理素質,在比賽中和日常訓練中都要張弛有度,進行合理的調節。
3 大賽對程序設計類課程的促進
教學內容 全國大賽對學生綜合素質及能力的要求,也對教師在今后的教學過程中對教學過程的組織以及教學內容的選擇有一定的啟發作用。在教學過程中應該認識到傳統的教學模式會使學生失去學習的積極性和主動性,進而導致學生的學習興趣和學習動力不高。傳統的教學內容和教學方法已經不再適合當代的大學生。當然通過全國大賽也應該充分認識到,進行C語言教學的重中之重在于使學生擁有最基本的編程能力。眾所周知,包括C語言本身在內的所有的計算機語言主要包括算法設計和數據結構設計兩方面。算法設計主要指從分析問題到解決問題的全過程,并對每一個步驟進行明確的定義;數據結構設計是指在具體的問題求解過程中,計算機處理的數據以及數據之間聯系的表示方法[3-4]。就此而言,算法以及數據結構設計應該作為程序設計類課程的重點和難點。
教學模式 在教學模式的設計上應該轉變傳統的灌輸式教學,根據時代發展的特點,及時改進教學模式,在教學過程中通過引導式、啟發式、討論式、案例式等教學模式來對傳統的教學模式進行改造。例如,高職院校在進行遞歸算法的教學過程中,可以采用典型案例進行組織教學。如上樓梯問題:一個人想登上n級樓梯,那么他上樓梯的過程有很多種方法,可以選擇一步一級,也可以選擇一步多級。將枯燥的理論教學以貼近學生生活的方式講授出來,教學效果更佳。
人類的一切知識都源于實踐,又要經過實踐的檢驗。在教學過程中,精心的案例設計可以開發學生的積極思維,挖掘學生的潛力,寓教于樂。同時,在教學活動過程中,教師要有意識地培養學生自主學習、自主鉆研的能力。
課程實訓 在高職院校程序設計的傳統課程教學中一般分為兩個部分,一部分是理論教學,另外一部分是實訓教學。實訓教學的絕大部分教學內容是根據課本的實訓教學題目進行的,這類實訓題目又以描述類為主。如在學習類的概念時,對應的實驗題目往往就是編寫一個程序描述學生類。這類實訓教學雖然貼近學生的日常生活,卻不能引起學生的學習興趣。但是,全國大賽的程序設計題目都有十分深厚的生活背景,生動活潑,并且實用性十分強。這些程序設計題目很多屬于交叉學科,涉及多個領域。如每年學工部要對學生進行獎、助學金發放,主要依據學生成績和綜合表現,可以讓學生開發一個學生成績管理系統。把這樣的題目引入教學活動過程中,一方面可以引起學生的注意和興趣,另外一方面可以將理論與實踐結合起來,提高學生的編程水平。
考核方式 傳統的程序設計類課程的考查以理論知識的考查作為核心,能力考核為輔助。轉變傳統的考核方式,就是將能力作為考查學生能力的標準,減輕理論考核在考查工作中的比重。為了適應全國大賽的要求,在考核方式上要以機考的形式代替傳統的試卷考試,增設客觀題、程序設計題目。進行高職院校程序設計類考核方式的改革,可以提高對知識的實際應用能力和實際應用水平,有利于學生實踐能力的培養。除此之外,加強考核方式的改革對于推動教師實現教學方法的改革也起到巨大的促進作用。
4 結語
通過參加“藍橋杯”全國軟件和信息技術專業人才大賽,對陜西工商職業學院程序設計類課程教學起到積極促進作用,一方面培養了學生良好的編程能力、實踐創新能力、獨立分析解決問題能力;另一方面促進教學內容、教學模式、課程實訓、考核方式的改革,激發了學生的學習興趣,提高了教學質量。
參考文獻
[1]嚴蔚敏,吳偉民.數據結構:C語言版[M].北京:清華大學出版社,2000:1-10.
[2]楊亞會,張友兵,張吳波.C語言程序設計課程教學改革研究[J].十堰職業技術學院學報,2011(12).
[3]劉維富,陳建平,王春明.C程序設計教程(理論與實踐)[M].2版.北京:清華大學出版社,2011.
[4]李桂玲.Java程序設計教程(項目式)[M].北京:人民郵電出版社,2011.
*基金項目:本文系陜西工商職業學院2013—2014年度科研重點課題“高等職業教育實踐技能培養模式研究——以計算機應用技術專業為例”階段性成果(課題編號:13G-08-A04。課題負責人:張耀民);陜西工商職業學院2013年度教學改革研究項目“計算機應用技術專業職業技能競賽研究與探索”階段性成果(項目編號:GJ1331。項目負責人:張耀民)。
作者:張耀民,陜西工商職業學院計算機與信息管理系高級工程師,主要研究方向為數據庫、軟件工程(710119)。