黨的“十八大”提出經濟要轉型發展,建立現代產業體系。打造升級版的中國經濟,高等教育需要提供智能支撐和服務。然而,近幾年大學生的就業危機及所表現出的結構性失調,彰顯出高等教育服務社會職能的弱化。因此,我國高等教育結構調整是促進經濟發展、增強國家競爭力的要求,是建立現代職業教育體系的需要,其路徑是應用技術大學的建立,切入點是地方高校的轉型發展。
許昌學院作為一所立足地方的普通本科院校,正深入推進政產學研合作,優化學科專業布局,強化工科類專業發展,創新應用型人才培養模式,建設應用型教師隊伍,加快學校轉型發展。計算機專業是全國高校設置最多的專業之一,也是就業問題較為突出的專業之一。軟件開發工程師作為計算機專業的一個重要的發展方向,是我校重點培養的人才之一,尤其是C++程序員格外難招聘,是社會急需的緊缺軟件開發人才。因此,該文以C++程序設計課程為例,深入研究了如何培養具有軟件開發創新能力的應用型人才,以適應社會的需要和學校轉型服務地方經濟發展的需要。
1 人才改革方案設計
本文圍繞“一個目標,兩個方面,三個階段”對培養學生軟件開發能力進行研究。一個目標是指以“培養軟件開發創新能力”為目標;“兩個方面”是指知識體系重構和教學方法改革;“三個階段”是指課前預習、課堂講授、課后實踐三個教學環節中教學方法的改革,具體的實施方案如圖1所示?!緢D1】
2 面向軟件開發創新能力培養的課程知識體系改革
通過對C++用人企業進行調查發現,多數應聘該崗位但又不滿足要求的學生都有知識體系不合理的問題。要么是需要具備的知識沒有學,要么是學了不會靈活運用。因此,重新構造C++課程的教學體系,是培養學生軟件開發創新能力的第一步。
2.1 面向軟件開發創新能力培養的C++知識體系重構
C++的用途廣泛,課程知識體系龐大,要求學生在較短的時間內將知識學習的面面俱到是不可能的。但現在的教材和教學往往都一味的追求全面,造成的結果就是學生拼命地學,但是又感覺什么都沒學好。解決這個問題的關鍵就是要從兩個方面給C++的知識體系“瘦身”。第一,C++課程的內容要以面向對象程序設計為主導,培養學生具有較強的面向對象編程的意識和基本功。
掌握了面向對象的實質,學生將來就可以自主進行擴展學習。第二,C++課程的內容,要適應市場開發主流,面向具體的應用領域。面向應用能力的知識體系可以讓學生知道學有所用,增強學習的動力?!笆萆怼笨刹扇≌{查研究與討論實踐相結合的方法。調查對象可以是開展C++課程實訓的公司,采用C++進行軟件開發的企業和科研院所等。通過調查,了解他們對教學內容和方法的建議,從而做到去粗取精,使教師和學生可以將有限的時間用在先進、前沿的重點內容上面。這樣既可以減輕學生的學習負擔,又可以提高學生的應用創新能力。
2.2 根據“瘦身”后的知識體系編寫項目驅動式教材
教材是教師實施教學和學生學習的重要工具和參考資料,但目前多數教材先講解知識點,然后舉例說明;理論性強,案例較少;知識點過于零碎和獨立,相互聯系沒有較好地體現;教材的適用對象不明確,內容顯得雜亂。由于這些問題的存在,給教師授課和學生學習帶來了不便,甚至有一些學生由于不清楚學習這門課可以干什么,而過早地失去了學習興趣。
課程組成員通過閱讀國內外大量C++的優秀教材,結合多年來積累的教學研究和開發經驗,編寫了面向軟件開發創新能力培養的,符合地方本科院校教學實際的項目驅動式教材。教材內容按程序設計方法演進發展的自然順序及C++實際編程能力形成的三個關鍵期來組織。這樣可使教學過程由淺入深、循序漸進,符合學生的認知規律和編程能力的形成規律。
教材中的案例實用、有代表性,不涉及高深數學和復雜算法分析,降低了學習的難度,有利于學生克服畏難情緒、增強學習信心。教材編寫突出“基礎性”、“案例性”的特色。在實踐教學內容安排上分為基本實驗和課程設計兩部分,更加注重培養學生的實際編程能力和創新能力。
3 基于完整教學鏈的教學方法改革
教學是由課前、課堂、課后三個階段的教學活動組成的一個教學體系,三者相輔相成,任何一個環節的缺失都會導致教學效果的打折。另外,這三個階段的教學任務不同,應采取不同的教學方法和效果評價措施,協同促進教學效果的提高。
3.1 課前預習環節的改革
教育的任務不僅是傳授知識,更重要的是讓學生掌握學習的方法,培養終身學習的能力。因此,抓好課前預習環節,不僅為保障教學效果邁出了第一步,而且可以培養學生進行自主、合作、探究性學習的能力。
課前預習環節的改革主要包括科學安排預習內容、預習方法指導、預習效果檢查等內容。預習內容的安排要做到工作量適中,可根據學生的自由時間長度進行安排。通過在課堂實施過程中提問、學生試講少部分內容等方式檢查預習效果,及時糾正發現的問題,從而解決問題。這樣經過一段時間的訓練,可以使得學生養成自主科學的預習習慣。
3.2 課堂講授中教學手段和教學方法的改革
課堂講授是教學三個階段中最為重要的一環,學生知識的獲取主要通過這一階段完成。課堂講授首先要做到吸引學生專注學習,其次要做到讓學生理解并運用所學的知識,從而達到軟件開發創新能力的培養。
首先是對教學手段進行改革。課程組從課件制作、授課方式等方面綜合考慮,制定了一套適合信息化時代的教學方式。課件制作時考慮了內容選取、內容組織、展現效果等方面。授課方式可以采取在多媒體教室板書、課件、編程演示相結合,也可以采取在機房邊講邊練的雙重強化模式。
再者是對教學方法的改革。課程組深入研究了可以在C++課程教學中采用的案例教學法、任務驅動教學法、螺旋式遞進案例教學法等方法,分析了它們的不同教學效果、應用場合和優缺點,并在實踐的基礎上,探索了一條適合軟件開發創新能力培養的C++課程教學方法。另外課程組還采取錄像、互相聽課、集中討論的方式進行改革。通過這些方式進行教學后反思,大家對教學效果進行評判,回憶并記錄教學過程中發現的問題和困難,從而研究其解決方案。
3.3 課后實踐教學環節的改革
實踐教學是檢驗和加強理論教學效果的重要環節。課程組深入研究了實踐教學環節的改革,注重培養學生的實際編程能力和創新能力。課程的實踐教學環節分為基礎實驗和課程設計兩部分。
基礎實驗注重培養學生的基本調試能力和基本編程能力?;菊{試能力是讓學生較快形成基本編程能力的前提,這一點在教學中常常被忽視。很多學生在編程遇到問題時,多是去查書籍或者問老師和同學,“程序哪個地方出錯了,正確的是什么?”。只有少部分同學會問“這個錯誤提示是什么意思,我怎么根據它找到錯誤的地方并修改過來”。這種方式培養的學生很難形成較強的編程能力,將來不能夠自主解決編程中遇到的基礎問題。因此,在基礎實驗的編寫中,題目的選擇注重培養學生的調試技能,通過調試學生不但掌握了基本語法和多種知識,而且形成了較強的編程能力。
課程設計注重培養學生的綜合編程能力。課程設計的內容力求做到綜合性、有提高,使學生通過課程設計的訓練,能夠靈活運用所學知識解決實際中的綜合問題,增強調試能力和編程能力,養成良好的程序設計風格,初步形成軟件工程化思想。另外,強化實踐教學輔導和考核,確保實踐教學質量。對必做實驗要求學生在做實驗之前要填寫自己的預習情況、實驗過程中記錄自己遇到的問題和解決方法。教師通過實驗報告的批閱,對發現的典型問題進行講評。對選做實驗和自編程序,要求每個學生至少進行一次班級講解和演示,并回答老師和同學的提問。通過加強對實驗前、中、后環節的監督和考核,保證了實踐教學的質量。
4 存在的問題和不足及下一步的改革方向
經過近幾年的深入探索,C++課程面向軟件開發能力的培養模式改革在許昌學院取得了一定的成果,學生就業質量逐年提高,用人單位滿意度也逐年提升。但是,不可否認的還存在一些不容忽視的問題。
一是在程序設計大賽中獲獎的比例和層次都有待提高。參加程序設計大賽不僅是學生學習效果的檢驗,應用創新能力的體現,也從側面反映了學校的教學水平。與部分兄弟院校相比,現有參加競賽的學生數量和獲獎數量都存在一定的差距。所以,在今后的教學改革中,要采取更加多樣的方式開拓學生的思維,對知識運用要做到能夠舉一反三,活學活用。
二是學生的創新能力還不強。雖然在大學生挑戰杯競賽、在應用軟件的開發等知識創新方面,學校有學生參與,但數量相對較少。下一步在課后實踐方面,要有意識地鼓勵和組織學生參與更多的實際項目的開發,增強學生的創新能力。
三是自主創新的教學資源還比較少,不成體系。雖然對教學課件、教材、習題庫等重要教學資源進行了建設,但還不夠完備,不能很好地滿足學生培養的需要。下一步要豐富課程網站的內容,增加演示性教學素材的數量,實現無紙化考試,建設立體化的教學資源庫,充分滿足教學的需要。
5 結束語
當前形勢下,只有加快地方性本科院校的轉型發展,才能有效激活高等教育對經濟的服務功能,充分發揮教育在提升國家競爭力中的重要作用。該文闡述了許昌學院在轉型發展中,如何改革軟件開發人才的培養模式,增強學生的應用創新能力,達到用人崗位的需求,以實現學校培養與社會需求的無縫對接?!耙粋€目標,兩個方面,三個階段”的C++課程改革方案,思路清晰,成效明顯,有一定的借鑒意義。針對存在的若干問題,下一步將繼續深化改革,培養服務地方經濟發展的應用創新型人才。
參考文獻:
[1] 孟慶國,曹曄.地方高校轉型發展:路徑選擇與內涵建設[J].職業技術教育,2013\\(18\\):68-71.
[2] 劉維富,陳建平,等.C++程序設計課程研究與教材建設[J].計算機教育,2010\\(14\\):153-157.
[3] 王進,陳建平,等.面向應用能力培養的C++課程教學實踐[J].計算機時代,2012\\(11\\):51-52.
[4] 方均斌,楊安.預習觀下的數學教學設計、實施及思考[J].數學通報,2013,52\\(7\\):12-14.
[5] 楊朝霞.以螺旋式案例實施面向對象程序設計教學的研究[J].計算機教育,2010\\(5\\):116-119.