- 相關(guān)推薦
探析程序設計競賽在軟件工程專(zhuān)業(yè)中的應用
引導語(yǔ):軟件行業(yè)為了滿(mǎn)足市場(chǎng)需求和軟件產(chǎn)品開(kāi)發(fā)需要,軟件技術(shù)也在日新月異地更新?lián)Q代。以下是YJBYS的小編為大家找到的探析程序設計競賽在軟件工程專(zhuān)業(yè)中的應用。希望能幫助大家!
摘要:軟件工程專(zhuān)業(yè)的主要職責是培養高質(zhì)量的軟件工程師,文章從當前高校軟件工程專(zhuān)業(yè)課程現狀出發(fā),提出將程序設計競賽引入軟件工程的編程語(yǔ)言類(lèi)與專(zhuān)業(yè)基礎課教學(xué)的策略,并以哈爾濱理工大學(xué)軟件學(xué)院為例,分析其實(shí)施成效。
關(guān)鍵詞:程序設計競賽;高校;軟件工程
目前,我國信息產(chǎn)業(yè)處在飛速發(fā)展的階段,市場(chǎng)對于軟件的需求變化較快,各種軟件產(chǎn)品更新較快。軟件行業(yè)為了滿(mǎn)足市場(chǎng)需求和軟件產(chǎn)品開(kāi)發(fā)需要,軟件技術(shù)也在日新月異地更新?lián)Q代。針對此情況,高校的軟件工程專(zhuān)業(yè)對于人才的培養也一直要通過(guò)教學(xué)大綱、教學(xué)內容、教材選擇等途徑的調整,緊跟軟件行業(yè)的步伐,培養出適應行業(yè)需要的高質(zhì)量的軟件人才。
一、軟件工程課程現狀
國內多數高校軟件工程專(zhuān)業(yè)針對大一、大二學(xué)生開(kāi)設的編程語(yǔ)言類(lèi)課程(如:“C/C++語(yǔ)言程序設計”、“面向對象程序設計Java”等)、專(zhuān)業(yè)基礎類(lèi)課程(“數據結構與算法”、“離散數學(xué)”等),仍存在以下一些問(wèn)題。(1)人才培養:側重專(zhuān)業(yè)知識點(diǎn)的傳授,保證了所講授內容理論知識結構的科學(xué)完備,但是忽視了學(xué)生“學(xué)以致用”的能力培養,存在“學(xué)霸”不會(huì )編程的現象。(2)教學(xué)內容:主要側重專(zhuān)業(yè)理論知識的講解,學(xué)生只停留在專(zhuān)業(yè)知識的識記上,不會(huì )運用知識解決問(wèn)題,學(xué)生只停留在敲書(shū)上的示例代碼的階段。(3)教材選擇:選擇的教材主要側重編程語(yǔ)言語(yǔ)法的介紹,書(shū)中的案例很多是關(guān)于數值計算的,缺少實(shí)踐應用價(jià)值案例程序。(4)缺少能力培養的平臺:在整個(gè)教與學(xué)的過(guò)程中,缺少培養學(xué)生分析問(wèn)題,解決問(wèn)題的能力,以及創(chuàng )新能力的平臺。(5)考核方式:知識的學(xué)習過(guò)程包括“了解―熟悉―記憶―理解―運用”,多數學(xué)生還停留在熟記階段,所以考核方式也多側重“死記硬背”,沒(méi)有檢驗學(xué)生理解和運用的程度。(6)缺少素質(zhì)培養:軟件工程專(zhuān)業(yè)的特點(diǎn)就是不斷更新,而多數學(xué)生只是被動(dòng)掌握了書(shū)上的專(zhuān)業(yè)理論知識,缺乏主動(dòng)學(xué)習的意識,不知道進(jìn)一步拓展學(xué)習,沒(méi)有深層次領(lǐng)悟背后的專(zhuān)業(yè)內行,導致缺少通過(guò)解決問(wèn)題來(lái)驅動(dòng)學(xué)習知識的專(zhuān)業(yè)素質(zhì)。同時(shí),在團隊合作、資源共享、英語(yǔ)閱讀以及搜索目標答案等素質(zhì)方面也需要加強培養[1]。
二、程序設計競賽平臺的構建
為了豐富軟件工程專(zhuān)業(yè)的學(xué)生專(zhuān)業(yè)知識學(xué)習的氛圍,以及提高學(xué)生的分析問(wèn)題、解決問(wèn)題、編程能力、邏輯思維能力以及創(chuàng )新能力,為學(xué)生建立程序設計競賽平臺。該平臺主要側重算法研究與程序設計,為學(xué)生營(yíng)造一個(gè)算法和程序設計學(xué)習與交流的平臺,增強學(xué)生們對算法的認識,對程序設計競賽的認識,重視學(xué)生的能力素質(zhì)培養,為學(xué)生開(kāi)發(fā)項目夯實(shí)專(zhuān)業(yè)基本功。
(一)科學(xué)的組織運作
由專(zhuān)業(yè)內部有程序設計經(jīng)驗的教師根據方向(如:C/C++語(yǔ)言、Java語(yǔ)言等)形成指導團隊,引導學(xué)生在程序設計競賽平臺上發(fā)展和提升自我,為平臺科學(xué)高效地運作制訂計劃,包括:選拔計劃、培訓計劃、訓練計劃以及參賽計劃。選拔學(xué)生成立算法研究與程序設計的協(xié)會(huì ),包括:會(huì )長(cháng)、副會(huì )長(cháng)、實(shí)驗室管理組長(cháng)(出勤、衛生、會(huì )費、資金等)、宣傳組長(cháng)(招新、海報制作等)、技術(shù)組長(cháng)(組織競賽)、講座組長(cháng)(算法培訓)以及日志管理組長(cháng)等。各負責人職責明確,正式會(huì )員常年參加訓練,包括寒暑假,全體會(huì )員服從指導教師和會(huì )長(cháng)安排,并形成自我管理的團結和睦的氣氛。協(xié)會(huì )日常訓練和管理工作組織有序,紀律嚴格,采取分級訓練方式。
(二)軟硬件環(huán)境及網(wǎng)絡(luò )平臺的建設
指導教師及協(xié)會(huì )成員建立程序設計基本的軟硬件環(huán)境。為加入協(xié)會(huì )的學(xué)生建立網(wǎng)絡(luò )交流平臺,及時(shí)解答大家的問(wèn)題,并共享電子資料(書(shū)籍、課件、視頻等),以及進(jìn)行各種競賽信息的通知。同時(shí),建立基于B/S(瀏覽器/服務(wù)器)結構的網(wǎng)絡(luò )練習平臺,主要針對各種問(wèn)題進(jìn)行分析解決,能夠讓學(xué)生實(shí)時(shí)提交程序設計代碼,并能夠實(shí)時(shí)反饋對錯。
(三)主要工作的開(kāi)展
1.進(jìn)入平臺的選拔工作。新生入學(xué)時(shí),指導教師及協(xié)會(huì )負責人進(jìn)行宣講,主要介紹程序設計競賽平臺的具體學(xué)習方式,以及學(xué)生可以獲得的收益。參加學(xué)生必須具備良好的品德,誠實(shí)守信,遵守紀律,熱愛(ài)程序設計以及樂(lè )于助人,經(jīng)本人申請,填寫(xiě)基本情況調查表。同時(shí),能夠完成基本編程題目數目的學(xué)生可以加入,并注冊成為正式的協(xié)會(huì )會(huì )員。
2.新生指導。指導教師及協(xié)會(huì )負責人會(huì )組織老會(huì )員指導新生,給新生進(jìn)行答疑輔導,形成良性的學(xué)習機制,引導新生更快地進(jìn)入專(zhuān)業(yè)學(xué)習。
3.制訂計劃:指導教師和協(xié)會(huì )相關(guān)負責人會(huì )幫助每個(gè)隊員制訂訓練計劃。
4.算法培訓:面向協(xié)會(huì )會(huì )員定期提供算法培訓課程,講解相關(guān)程序設計競賽中的題目,豐富學(xué)生的編程知識,培養更縝密的邏輯思維能力,提高學(xué)生的解題能力、臨場(chǎng)競賽能力,增強學(xué)生參加校級省級,或省級以上程序設計競賽的實(shí)力。
5.訓練:定期組織訓練賽,檢驗學(xué)習成果,提高會(huì )員的程序設計的實(shí)戰能力。
6.競賽:組織參加國家級、省級、校級及院級的程序設計競賽以及企業(yè)組織的競賽。通過(guò)相關(guān)程序設計競賽,豐富學(xué)習生活的同時(shí),增加學(xué)生學(xué)習算法的熱情,為學(xué)院程序設計提供良好的氛圍。
7.考核:指導學(xué)生建立會(huì )員競爭機制,實(shí)行淘汰機制,提高協(xié)會(huì )會(huì )員參與各項活動(dòng)的積極性。
三、程序設計競賽在軟件工程教學(xué)中的應用策略
(一)通過(guò)網(wǎng)絡(luò )平臺提高編程能力
根據講授的內容,布置網(wǎng)絡(luò )練習平臺上的相關(guān)題目,讓學(xué)生練習。學(xué)生通過(guò)完整的對問(wèn)題的分析、解決方法的設計以及編碼、測試,真正體會(huì )軟件工程的過(guò)程,并將學(xué)到的知識點(diǎn)應用到具體題目的解決上,達到“學(xué)以致用”的目的,也提高其分析分析、解決問(wèn)題的能力以及創(chuàng )新思維、邏輯思維能力。如:教師講授C語(yǔ)言程序設計這門(mén)課程,可以根據所講授的知識點(diǎn),將練習題目歸類(lèi)布置,包括:入門(mén)題、輸入/輸出、基本運算、條件及循環(huán)、數組、字符串、結構體等。
(二)上機考核
組織學(xué)生通過(guò)網(wǎng)絡(luò )練習平臺進(jìn)行上機考核,可以有效檢驗學(xué)生的程序設計能力和知識運用能力,提高考核的效率和有效性。同時(shí),為了保證考核的公平性,鄰近考生所做試題是不同套,但難度一樣。
(三)算法培訓
主要針對編程語(yǔ)言類(lèi)課程(如:“C/C++語(yǔ)言程序設計”、“面向對象程序設計Java”等),這些課程側重語(yǔ)法的講解,算法培訓可以讓學(xué)生掌握解決問(wèn)題的方法,提高其邏輯思維能力。
(四)練習賽與相關(guān)競賽
通過(guò)協(xié)會(huì )組織的練習賽,鼓勵授課對象積極參加。為了進(jìn)一步提升學(xué)生的程序設計能力及創(chuàng )新能力,鼓勵學(xué)生參加學(xué)院、學(xué)校級程序設計競賽,行業(yè)協(xié)會(huì )組織的賽事,如:美國計算機協(xié)會(huì )組織的ACM-ICPC大學(xué)生程序設計競賽(省級、東北賽以及亞洲杯)、工業(yè)和信息化部人才交流中心組織的藍橋杯全國軟件和信息技術(shù)人才大賽以及中國計算機學(xué)會(huì )(CCF)組織的CCF計算機軟件能力認證(CSP)等;企業(yè)組織的賽事,如:Oralce公司組織的“甲骨文杯”全國 Java 程序設計大賽,百度公司組織的“百度之星”程序設計大賽,以及谷歌公司組織的“Google編程挑戰賽”等。通過(guò)“以賽促學(xué)”的實(shí)戰平臺,切實(shí)提高學(xué)生的編碼能力,一方面讓相關(guān)課程的教學(xué)效果落到實(shí)處,另一方面通過(guò)競賽獲獎增加學(xué)生的就業(yè)砝碼。
四、教學(xué)效果分析
哈爾濱理工大學(xué)軟件學(xué)院在過(guò)去的5年里,堅持讓學(xué)生“做中學(xué)”和“以賽促學(xué)”,在相關(guān)程序設計競賽中獲得國家級獎項25項,省級獎項144項,通過(guò)程序設計競賽平臺有效地激發(fā)學(xué)生編程的動(dòng)力,明確了學(xué)習的目標,讓學(xué)生能夠主動(dòng)參與到學(xué)習過(guò)程中,課堂上教師有更多的時(shí)間講解對應知識點(diǎn)的應用以及程序設計競賽中出現的題目,實(shí)現了課堂翻轉,學(xué)生程序設計能力得到極大提高。并且,獲獎學(xué)生積極帶動(dòng)周?chē)鷮W(xué)生編程,形成了“以點(diǎn)帶面”的良好的專(zhuān)業(yè)學(xué)風(fēng)。
通過(guò)程序設計競賽平臺顯著(zhù)提高學(xué)生成績(jì),圖1中,平滑折線(xiàn)代表給2011級學(xué)生采用傳統教學(xué)模式學(xué)生的“數據結構與算法”課程的成績(jì)(67人,平均值=53.4),點(diǎn)劃線(xiàn)代表給2012級學(xué)生引入程序設計競賽平臺后數據結構課程的成績(jì)(65人,平均值=66.6)?梢悦黠@看出在教學(xué)中引入程序設計競賽平臺后,學(xué)生整體成績(jì)有大幅度的提高。
另外,通過(guò)鼓勵2013級、2014級學(xué)生通過(guò)學(xué)院、學(xué)校的在線(xiàn)程序設計評判系統做題,以及按照程序設計競賽的方式進(jìn)行上機訓練、考核,學(xué)生在大一階段的C/C++語(yǔ)言程序設計的成績(jì)得到了顯著(zhù)提高,并且學(xué)生的練習時(shí)間、完成題目的數量與最終的成績(jì)是成正比的。
本文提出程序設計競賽平臺引入軟件工程專(zhuān)業(yè)的教學(xué)環(huán)節,尤其是編程類(lèi)課程、專(zhuān)業(yè)基礎類(lèi)課程中,并詳細闡述了怎樣建立程序設計競賽平臺,以及將其應用到軟件工程專(zhuān)業(yè)的教學(xué)中的具體實(shí)施措施。通過(guò)實(shí)例分析,證明了在軟件工程專(zhuān)業(yè)引入程序設計競賽平臺的確可以激發(fā)學(xué)生專(zhuān)業(yè)課程學(xué)習的動(dòng)力,提高學(xué)生的程序設計能力、綜合的軟件工程素質(zhì),使學(xué)生形成了扎實(shí)的專(zhuān)業(yè)“內功”,以不變應對萬(wàn)變。該方法還可以推廣到相關(guān)學(xué)習編程類(lèi)課程的專(zhuān)業(yè)中,讓學(xué)生擁有實(shí)踐動(dòng)手的平臺。
參考文獻:
[1]于波,郭紅,李鵬.CDIO工程教育模式在數據結構與算 法教學(xué)中的應用[J].黑龍江教育:高教研究與評估, 2014,(12).
【探析程序設計競賽在軟件工程專(zhuān)業(yè)中的應用】相關(guān)文章:
探析知識管理在企業(yè)中的應用03-21
探析膠原蛋白在造紙中的應用03-18
知識管理在企業(yè)中的應用探析03-27
探析軟巖中掘進(jìn)支護的應用03-20
探析代理記賬中商品軟件的應用03-17
探析歷史教學(xué)中電教媒體的應用03-20
探析緊急氣管插管在急救中的應用03-19
探析PowerPoint在英語(yǔ)教學(xué)中的應用03-20
探析英語(yǔ)介詞在翻譯中的靈活應用12-03