前言:想要寫出一篇引人入勝的文章?我們特意為您整理了培養學生程序設計創新能力研究范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:如何提高學生的程序設計與實踐能力以及系統分析開發應用能力,滿足社會對計算機專業學生的需求是高校需要重點解決的一個問題。該文通過改革《C程序設計》教學,培養學生利用C語言編寫各種應用程序的能力,在《數據結構》、《算法設計與分析》、《編譯原理》等專業課教學中,重視培養學生的算法設計與分析能力,加強關鍵環節程序設計能力、實踐與創新能力的培養,完善各類項目、競賽、實驗實踐教學,培養大學生的實踐與創新能力,將理論與實踐緊密結合,有效提升了學生的編程能力,以及分析和解決實際問題的能力。
關鍵詞:程序設計能力;算法設計能力;軟件工程師;實驗實踐教學;因材施教
1引言
從十三五規劃來看,未來五年哪些職業最有“錢途”?《中共中央關于制定國民經濟和社會發展第十三個五年規劃的建議》明確指出,未來五年,軟件工程師愈發“走俏”。一直以來,學生的程序設計能力、實踐與創新能力是評判一個學生是否是一名合格的計算機專業學生的重要指標。
2存在的主要問題
專家預言,未來10年中國的IT界每年需要100萬人,其中計算機類人才需求超過40萬人,這是一個保守的說法。最近幾年來,有不少企事業單位反映計算機類畢業生實際應用知識、動手能力與應用能力不夠、程序設計開發經驗嚴重不足,尤其是程序設計能力、算法設計與分析能力無法達到用人單位的要求。這不僅對學生就業是一個嚴重的考驗,更阻礙了其進一步發展與提升。造成以上情況的主要原因如下:一是學生在學完與程序設計、算法有關的課程后,對于這些知識僅僅只是停留在了解的基礎上,并未達到理解、融會貫通的境界,更沒有利用這些知識解決實際遇到的問題。二是教師在講解程序設計、算法設計與分析的相關知識時,并沒有將理論與實際有機結合。三是在實際教學過程中并未對學生進行真正的軟件項目開發訓練。雖然目前各本科院校的程序設計類課程都有課程設計這一環節,但是大多數都是止于形式,并未予以真實的軟件項目支撐,因而收效甚微。四是對第一門程序設計課程的教學不夠重視。盡管計算機類專業所開設的課程中很多都含有與編程相關的內容,但作為入門級的程序設計語言課程,其重要性不亞于任何一門專業課。由于當前對第一門程序設計語言課程重視程度不夠和教學時數不足,導致了相當一部分學生在學完第一門程序設計課程后,仍然無法獨立完成一個簡單的程序開發。一個計算機專業大學生出來找工作,連一個程序都寫不好,可以說我們的高等教育出了很大的問題,編程能力是計算機類專業學生最基本的能力。為適應十三五規劃對計算機專業學生的新要求,我們應該改革《C程序設計》教學,培養學生利用C語言編寫各種應用程序的能力,在《數據結構》、《算法設計與分析》、《編譯原理》等專業課教學中,重視培養學生的算法設計與分析能力,加強關鍵環節程序設計能力、實踐與創新能力的培養,完善各類項目、競賽、實驗實踐教學,培養大學生的實踐與創新能力。提高學生的綜合素質,提高人才培養質量,努力培養服務國家和首都社會與經濟發展的社會主義優秀人才。
3培養學生程序設計能力、實踐與創新能力的具體措施
教育教學工作應該以學生為主體,同時充分發揮教師的引領、指導作用,二者有機結合,相互配合,這樣才能充分調動學生的學習積極性和主動性,從而達到最佳的教學效果。因此本文以“學生為主體,教師為主導”這一思想為指導,建立一套具有我校特色的教學模式,以及培養學生程序設計能力、實踐與創新能力的關鍵環節實踐教學體系,有效提升學生分析和解決實際問題的能力。
3.1改革《C程序設計》課程的教學方法,培養學生的程序設計能力
《C程序設計》是我校計算機專業的第一門程序設計課程,為保證課堂質量,改變以前大班授課方式,采用小班上課;在教師安排上,充分考慮教師的教學經驗、工作責任感,以及實際項目的開發經歷;改革《C程序設計》課程的教學方法,將教學內容分解為必須掌握的內容和提高內容,采用小班上機實驗,按照學生的不同層次,給出不同的實驗內容,對于層次高的學生,給學生另外布置一些趣味程序設計題目、競賽題目,以及目前計算機一些前沿問題;該課程的考核成績由期末機考成績和平時成績兩部分組成,各占50%。在平時成績中,階段考試占30%,提交實驗程序占45%,實驗報告占5%,作業成績占15%,考勤占5%,進一步完善考試環境和考試方法,加強學生編程上機的能力訓練。
3.2在專業課教學中,重視培養學生的算法設計與分析能力
采用不同的編程語言實現同樣一個問題,效率是完全不一樣的。對算法的研究被公認為是計算機科學的基石。在專業課教學中,如《數據結構》、《算法設計與分析》、《操作系統》、《編譯原理》等專業課教學中,使學生掌握算法設計的常用方法,以便能夠運用這些方法獨立地設計解決計算機應用中的實際問題的有效算法,并能夠利用已有算法解決實際問題。此外還要使學生學會分析算法,估計算法的時空復雜性,從而對算法進行評價,評定算法優劣的標準要看它的時間復雜性、空間復雜性和人工復雜性,其中時間復雜性最為重要,通常是用時間復雜性來衡量某個算法的“好”或“壞”。
3.3加強關鍵環節程序設計能力、實踐與創新能力的培養
許多課程都有上機編程實驗內容,如《C程序設計》、《面向對象程序設計》、《數據結構》、《算法設計與分析》、《Java程序設計》、《操作系統》、《匯編語言程序設計》、《數據庫原理》、《編譯原理》、《軟件工程》、《計算機網絡》、《軟件測試技術》等課程,都要求學生完成一定數量的設計性、驗證性實驗。還設立了工程與學術實踐、計算機硬件課程設計、軟件課程設計、獨立實驗課程以及畢業設計等實訓科目,堅持編程實踐四年不間斷。培養方案中提供了軟件工程、計算機網絡、嵌入式技術三個方向的選修課程模塊,學生可根據自己的興趣和學習情況有目標地選擇學習,達到了因材施教的目的。例如軟件課程設計“實驗室設備管理系統”首先要求學生進行基本的分析,例如:這個系統要具有什么功能、可以抽象為哪幾類對象、要應用哪些算法、采用哪種數據結構等。之后,學生根據分析好的內容進行編程,編程中要考慮到諸如:代碼邏輯、異常處理、可擴展性等問題。完成一定代碼后要進行單元測試,通過單元測試后,要對整個軟件進行測試,例如,功能測試、回歸測試等,保證軟件的正確運行。最后,教師進行軟件驗收,驗收達標后要完成相應的課程設計實驗報告等。這一系列的開發流程使學生掌握了一個軟件的真正開發過程,提高了學生的綜合編程能力,如:需求分析能力、算法設計與分析能力、數據抽象能力、編程實現能力、軟件測試能力,有效提高了學生的程序設計能力,以及實踐與創新能力。一些學生在畢業設計中利用沒有學過的計算機語言和開發工具進行軟件開發,充分體現了學生具備了自主學習其他語言和開發工具的能力。
3.4完善各類項目、競賽、實驗實踐教學,培養大學生的實踐與創新能力
鼓勵高年級學生參與由教師指導的ACM國際大學生程序設計大賽的華北地區選拔賽、北京市大學生科學研究與創業行動計劃、北方工業大學“科園杯”大學生科技活動項目或教師負責的國家基金、科技支撐計劃、橫向科研等課題,在教師的指導下完成需求分析、算法設計、算法分析、實驗結果及分析等環節,最后提交打印版書面報告或論文,提高大學生的動手能力、解決實際問題的能力。積極組織學生參加“挑戰杯”全國大學生課外科技活動、“全國大學生電子設計競賽”等各類競賽,鍛煉學生團隊協作能力、實踐與創新能力。將專利、論文、科技競賽活動等以學分納入考核,對取得突出成績或有特殊成就的學生,在推免研究生、獎學金評定等方面予以優先考慮,激發創新動機,提升創新意識和創新能力。完善實驗實踐教學,實驗人員做好實驗課程輔導,穩定豐富課內實驗環節。積極拓展有工程背景的企業導師參與實踐環節,與Oracle、文思海輝等知名企業建立校企合作關系,試點推出校企合作實踐環節課程,如與Oracle合作《項目管理實踐》課程,與文思海輝合作《企業實訓》課程。
4結論
在“十三五”規劃課題研究中,“信息經濟”首次被列入,這也意味著信息產業有望成為“十三五”規劃中的新增亮點。本文分析了高等學校培養計算機專業人才程序設計能力、實踐與創新能力存在的主要問題,給出了改革和建設措施,有助于提高學生的編程能力、實踐能力和創新能力,有利于培養經濟社會發展急需的信息產業人才。
參考文獻:
[1]葛亮,朱慶生,王茜.計算機程序設計課程自動化教學評價平臺研究[J].計算機教育,2013,18:91-94.
[2]唐志軍,吳笑峰,席在芳.面向實踐創新能力的工科研究生培養模式探討[J].山西科技,2015,30(5):91-93.
[3]馬丹,喬興,姜明明.大學生綜合素質的評價方法與應用[J].數學的實踐與認識,2014,44(9):295-300.
[4]田立勇,于寧,張蘭芬.大學生科技創新實踐能力綜合評價[J].遼寧工程技術大學學報(社會科學版),2010,12(6):650-652.
[5]馬禮,張永梅,宋麗華.培養計算機類專業學生硬件方向創新能力的研究與實踐[J].計算機教育,2010(2):1-4.
[6]王銳.改革計算機實驗課,提高計算機教學水平[J].科技與教育,2008(5):197-198.
[7]曹曉蘭,彭佳紅,彭劍.計算機本科生編程能力與軟件能力的培養研究[J].計算機教育,2014(4):72-75.
[8]耿國華.程序設計能力培養模式的探索與實踐[J].中國大學,2009(3):30-32.
作者:張永梅 馬禮 孫晶 何麗 單位:北方工業大學計算機學院