摘要:分析了高校計算機課程群的實訓課程現狀,對普遍存在的程序設計能力不強的問題進行了分析,提出了在程序設計類課程群實訓環節進行教學改革的一些建議,總結了為提升學生編程能力所做的一些實踐。
關鍵詞:編程能力;教學改革;計算機
作者簡介:侯春明(1979-),男,白族,湖南吉首人,吉首大學信息科學與工程學院,講師。(湖南 吉首 416000)
基金項目:本文系吉首大學校級教改課題“計算機課程群教學中技能培養的教學改革與實踐”的研究成果。
中圖分類號:G642.45 文獻標識碼:A 文章編號:1007-0079(2013)28-0163-02
高校信息類專業(如計算機科學與技術、網絡工程、電子信息工程、通信工程、物聯網工程等)課程體系中,程序設計類的課程占有相當的比重。常見的專業課有“C語言程序設計”、“Visual Foxpro程序設計”、“面向對象程序設計”、“匯編語言程序設計”、“網絡程序設計”等。由于信息類專業的應用領域非常強調技術實現,普通高校學生必須具備較強的編程能力,才能滿足社會對人才的要求。據統計,普通二本高校信息類畢業生,除了小部分繼續攻讀碩士博士學位外,絕大部分都在畢業后直接從事專業技術工作。[1]雖然不同專業對計算機編程能力的要求和應用領域各有不同,比如電子信息工程和物聯網工程更側重對硬件的控制和嵌入式方向,而計算機科學與技術和網絡工程等專業更側重系統軟件開發和應用軟件的開發。但是從整體上看,這些信息類專業都對學生的編程能力提出了較高要求。為了達到相應的培養目標,相關課程群應該在課程實訓環節進行改進,以求提高學生的程序設計能力,進而全面提升學生的專業水平和動手能力,為國家和社會培養合格的人才,這是需要深入研究的課題。[2]
一、計算機課程群實訓課的特點與不足
計算機課程群的實訓課程是連接理論課程與編程能力的橋梁,程序設計類課程群對編程能力的培養尤為重要。但是在教學實踐過程中,要達到全面提升學生動手編程能力的狀態,面臨諸多困難。
1.課時不足
隨著高校課程體系的全面改進,為了寬口徑的培養學生,以便學生將來能有更廣闊的就業領域,信息類的各個專業被加入了越來越多的課程,程序設計類課程也面臨著課時緊縮的問題。一方面要保證理論課的講授與教學,另一方面要保證學生動手編程能力的提高。這樣理論課程的時間顯得非常緊張,必須在有限的時間內盡可能的把該語言中的各種各樣的知識點傳授給學生,還要保證他們能有足夠的課時在實訓課環節完成相關的實訓內容,為此在時間和教學上就要合理安排。
2.技術的快速發展
信息類專業發展速度迅猛,很多技術在過去的幾年快速的誕生和崛起。傳統的程序設計類課程主要是側重對基本語法的掌握和中小規模問題的分析與解決。比如運用一些經典的算法解決某些數學問題,并編程實現。這樣的培養模式的結果是畢業生的動手實踐能力無法滿足社會上IT企業對人才的要求。
3.師資力量不足
高校教師的教學負擔很重,除了要完成各種教學和科研任務外,還要負責學生管理工作。從全局來看,高校的信息類專業是新興專業,很多高校的該專業教師以中青年為主,部分教師還需要進一步進行深造,比如攻讀博士、博士后、做訪問學者、參與各種學術交流等。因此,在計算機程序設計類的實訓課中,很多時候都是一個教師輔導數十人學生。師資力量不足也是制約學生的計算機程序設計能力全面提高的重要因素。
二、計算機課程群實訓課的教學改革建議
1.針對不同專業進行有重點的課程設計
為了提高計算機專業畢業生的職業素養與編程能力,學校應該加強學生的實訓教學環節。[3]雖然信息類的不同專業都會開設各種程序設計課程,但是不同的專業側重點明顯不同,比如電子信息、電子科技、物聯網等專業,從專業培養目標上看更接近對硬件的控制。在實訓課的綜合訓練項目以及相應的課程設計的培養環節上,可以考慮做單片機、嵌入式系統中的項目。將編程能力訓練放到具體的硬件控制項目中,既符合相關專業的專業培養目標,又能幫助學生有效的將程序設計課程與硬件類課程群進行融合,既提高了編程能力,又提高了綜合的專業知識的應用能力。比如C語言程序設計,如果只是反復的訓練經典的算法和習題,編程能力的提高還是有限。但是如果學生完成一個軟硬件相結合的系統設計,對C語言在單片機控制或嵌入式中的應用開發能力就會快速增強。當然,對于計算機科學與技術或網絡工程這樣的專業,其專業培養目標更偏向于上層應用,也可以選擇相關的實用性的軟件開發項目(如數據庫系統等)來訓練學生的動手編程能力。在完成項目的同時,學生一方面加深了對相應專業課的認識,另一方面也加強了編程能力。
2.充分調動不同學生群體的學習積極性
在高校的專業人才培養模式中,不能按照一個固定的模式要求所有的學生,必須考慮到學生自身的實際情況,調動不同學生群體的積極性,才能最大限度的提升學生的程序設計能力。比如現在很多高校都將計算機等級考試和學位證掛鉤,非計算機專業的學生必須通過計算機等級考試,才能順利獲得學位證。針對這一學生群體,應該將針對等級考試的訓練合理的放入到實訓環節,同時鼓勵學生積極主動的多做等級考試的習題,并在上機實訓的過程中多做題庫中的題。一方面可以提升編程能力和動手能力,另一方面也能提高通過等級考試的概率。
最近幾年,高校程序設計比賽以及其他的一些設計類比賽越來越受到高校和學生的重視。對于有志于參加全校、全省、全國甚至世界級比賽的學生,在實訓環節中可以積極引導他們進行相關的訓練。比如參加ACM程序設計大賽的學生,可以鼓勵他們在實訓環節中,在完成正常學習任務的基礎上,充分調動主觀能動性,多練習ACM題庫中的習題,由淺入深,步步推進。而立志參加嵌入式系統設計的學生,也可以主動去編寫一些嵌入式環境中的程序。使學生群體在提高自身編程水平的同時,也能更加接近相應大賽的要求,收到一箭雙雕的效果。還有一些學生,立志于從事應用系統的開發,比如網站系統設計、數據庫系統設計、電子商務系統、智能手機應用系統、物聯網應用系統等。該學生群體對學習的實用性比較看重,更愿意在畢業前就找到專業領域的一個主攻方向,孜孜不倦地鉆研該方向,往實用的方向發展。結合這些學生的興趣和愛好,應該在相關的實訓訓練和課程設計中鼓勵他們多動手寫程序,進而力爭做出對社會有實用價值的應用系統。在提升了編程能力的同時,也能更多的為社會作出貢獻。
3.加強對編程能力的考核
傳統的教學模式注重對知識的考察,計算機類課程群也不例外。一門專業課學習完成后,最常見的考核方式就是閉卷考試。這種方式可以很好地檢查學生對該課程知識體系的掌握程度,但是對編程類的課程群來說,閉卷考試很難全面考核學生的編程能力。在教學實踐中,經常遇到書本知識掌握良好但上機編程能力較差的學生。為了促使學生參與編程能力訓練,應該加強對編程能力的考核。比如組織上機考試,將考試成績納入到整體的考核成績中;也可以鼓勵學生提交應用軟件系統。但是上機考試在實踐中也存在一定的困難,如普通考試,一個班級只要2個監考教師即可,但為了避免學生作弊,計算機上機考試需要大量的教師參與監考。另外,如果是固定的幾個習題,在機房的環境中不便于監考,而如果是從海量題庫中隨機抽題,又很難做到絕對的公平,因為有的學生可能抽到較為容易的題目,而有的學生則可能抽到較困難的題目。但是從發展趨勢上看,為了提高信息類專業學生的編程能力,加強對編程能力的考核還是非常有必要的。
4.在校企合作中加強編程能力的培養
信息類專業學生的一個主要就業領域是IT企業,如何培養適應現代IT企業的合格畢業生,一直是高校信息類專業教師研究的重要課題。外部社會和技術變化越來越快,高校中的很多課程和教學變化往往不能及時和外部接軌。為了解決這個問題,可以考慮廣泛開展校企合作,選擇一些專業對口的大企業,以實習的方式組織學生去企業學習,在實踐中提高學生的程序設計能力。高校的程序設計類課程更多的是注重學生知識體系的建立和基本編程能力的培養,而各類IT公司更看重的是學生的實際研發能力。高校應該盡量和IT企業開展合作,一方面鼓勵學生積極參與到企業的實際項目研發中,另一方面也可以擴寬學生的就業渠道,全面提升學生的編程能力。但是實現起來也有諸多困難,比如:高校的課程安排緊湊,學生要擠出較長的時間參與企業的軟件研發,時間上比較困難;有的高校位于經濟不發達地區,高校所在城市很難找到能提供相應機會的企業;低年級學生沒有技術實力參與到企業的研發中,而高年級學生尤其是大四學生,又面臨找工作的就業壓力,到處參加面試也會給相關的實訓和實習工作造成影響。
三、在提高學生編程能力上的一些實踐
作為二本高校的計算機教師,在教學過程作了一些有益的教學改革嘗試,初步取得了一些效果。作為班主任,在自己管理的班級中對學生進行分類,鉆研應用技術的學生,鼓勵他們組成興趣小組(比如嵌入開發小組、電子設計小組、信息安全技術小組、數據庫應用技術小組等),在實際項目的研發中提高編程能力。這些學生畢業后大部分成長為國內一些IT企業的技術骨干,而將來選擇從事IT領域非研發方向(如管理、市場、技術支持類工作崗位)的學生,則鼓勵他們學好基礎知識,擴寬知識面,同時積極參加計算機等級考試和其他的一些技術類證書考試。為他們收集大量的考試資料,調動相關學生的學習興趣,鼓勵他們多通過相應考試。對于立志參加各類學科競賽的學生,則鼓勵他們更多的將精力放到比賽的訓練和準備上來,并指導部分學生獲得了較好的競賽成績。
四、結論
針對高等院校尤其是二本高校計算機課程群的實訓課程的現狀進行了分析,特別是針對程序設計能力不強的現狀進行了分析,給出了在程序設計類課程群的實訓環節進行教學改革的一些建議,并總結了為提升學生編程能力所積累的一些工作經驗,以期為廣大的工作在教學崗位的計算機教師提供參考。
參考文獻:
[1]朱建凱.普通高校計算機專業實訓教改探索[J].長沙大學學報,2009,(5):112-113.
[2]曹蕾.大學計算機基礎課程教學改革的調查與設想[J].計算機教育,2007,(12):51-52.
[3]張海林.計算機專業中的C語言教改方案探討[J].中國校外教育,2010,(4):168.
(責任編輯:孫晴)