計(jì)算機(jī)程序設(shè)計(jì)實(shí)踐教改與革新思索
時(shí)間:2022-06-04 04:21:00
導(dǎo)語:計(jì)算機(jī)程序設(shè)計(jì)實(shí)踐教改與革新思索一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
由于軟件編程技術(shù)及方法的日新月異和社會對高校計(jì)算機(jī)相關(guān)專業(yè)學(xué)生的軟件能力要求的不斷提高,高校的程序設(shè)計(jì)類課程的門類越來越多,僅面向?qū)ο蟪绦蛟O(shè)計(jì)類課程就有VisualC++,VisualBasic,net編程,Java程序設(shè)計(jì)等。但長期的教學(xué)經(jīng)驗(yàn)說明,當(dāng)學(xué)生學(xué)習(xí)了一大堆編程語言后,解決實(shí)際問題的能力并沒有明顯提高,動手能力和創(chuàng)新能力不強(qiáng),不能較快適應(yīng)社會對軟件開發(fā)人才的需求。鑒于此,從程序設(shè)計(jì)類課程實(shí)踐教學(xué)計(jì)劃的制定、實(shí)踐教學(xué)質(zhì)量保障、拓展實(shí)驗(yàn)實(shí)踐教學(xué)時(shí)間和空間、實(shí)踐教學(xué)項(xiàng)目設(shè)計(jì)與監(jiān)督等方面提出一系列改革和創(chuàng)新的思路和方法。
1制定合理的編程類實(shí)踐課程教學(xué)計(jì)劃
實(shí)踐教學(xué)大綱是實(shí)踐課程開設(shè)質(zhì)量的重要保證,同時(shí),實(shí)踐教學(xué)計(jì)劃是整個教學(xué)計(jì)劃的重要組成部分。在制定實(shí)踐教學(xué)計(jì)劃時(shí),要充分考慮自己學(xué)校的特色、學(xué)生的實(shí)際情況和社會實(shí)際需求,以《中國計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科教程2002(CCC2002)》和《高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)實(shí)踐教學(xué)體系與規(guī)范》等為指導(dǎo),以對所培養(yǎng)學(xué)生的目標(biāo)定位為歸宿,制定和不斷修訂實(shí)踐教學(xué)計(jì)劃。制定系列化的編程類課程體系和編程類課程群[1-2],以Java程序設(shè)計(jì)實(shí)踐課程的開設(shè)為例,可以分階段開設(shè),按完整的Java技術(shù)路線組織,如在低年級開設(shè)“JavaSE程序設(shè)計(jì)和應(yīng)用”課程及其實(shí)踐課程,在較高年級開設(shè)“JavaEE程序設(shè)計(jì)和應(yīng)用”和“JavaME程序設(shè)計(jì)和應(yīng)用”課程及其實(shí)踐課程。這樣,可以有效避免學(xué)生在學(xué)習(xí)了一門編程語言基礎(chǔ)后,出現(xiàn)繼續(xù)深入的困難和技術(shù)“斷線”現(xiàn)象,如只學(xué)完了JavaSE部分的知識,不知道進(jìn)一步的Java學(xué)習(xí)方向等[3]。目前,大多數(shù)院校開設(shè)的程序設(shè)計(jì)類課程是以專業(yè)選修課程的形式進(jìn)行的,因此,指導(dǎo)學(xué)生有針對性地進(jìn)行選課非常重要,如:學(xué)生選修了“Java程序設(shè)計(jì)”的先修課,在高年級時(shí)可以建議其去選修“JavaWeb編程”課程;若學(xué)生選修了“VB程序設(shè)計(jì)”的先修課,在高年級時(shí)可以建議其去選修“ASP(ASP.net)Web編程”課程等。在選課系統(tǒng)中增設(shè)關(guān)于每門課程的內(nèi)容簡介和授課教師的介紹,這樣做有以下好處:一是在課程名稱字面上就可以看出授課的重點(diǎn),可以回避學(xué)生從一個籠統(tǒng)的“XX程序設(shè)計(jì)”名稱上產(chǎn)生誤會,認(rèn)為這門課可以將該編程語言的所有技術(shù)都包含進(jìn)去;二是通過課程內(nèi)容簡介,讓學(xué)生更加透明地了解每門不同程序設(shè)計(jì)課程的授課重點(diǎn),從而根據(jù)自己的知識需求和興趣有目的地選擇課程。所有代程序設(shè)計(jì)課程的教師共同參與,集思廣益地制定實(shí)踐教學(xué)計(jì)劃。這樣做,一方面可以保證實(shí)踐教學(xué)計(jì)劃的完整和系統(tǒng),避免低層次的重復(fù)和課程沖突;另一方面,可以讓教師從更高高度把握實(shí)踐教學(xué)規(guī)劃,而不僅是只關(guān)注自己所教授的那門編程課程。將實(shí)踐教學(xué)系統(tǒng)地規(guī)劃到理論教學(xué)、實(shí)驗(yàn)課、課程設(shè)計(jì)、學(xué)年和畢業(yè)設(shè)計(jì)以及創(chuàng)新實(shí)踐等各個不同階段和各部分中,逐步落實(shí),如圖1所示。
2以實(shí)際問題為出發(fā)點(diǎn),以社會需求為歸宿
為了切實(shí)培養(yǎng)學(xué)生發(fā)現(xiàn)問題、解決問題、實(shí)際動手、交流和表達(dá)、持續(xù)學(xué)習(xí)、適應(yīng)和協(xié)調(diào)、組織能力等綜合能力[4],需要從以下幾個方面入手。
2.1實(shí)踐項(xiàng)目的設(shè)計(jì)應(yīng)以實(shí)際應(yīng)用為背景
任何的應(yīng)用和創(chuàng)新都是源于現(xiàn)實(shí)的需求,再小的實(shí)踐項(xiàng)目,都需要有調(diào)研與需求分析過程。引導(dǎo)學(xué)生在編程實(shí)踐時(shí)學(xué)會思考“某一種編程方法會運(yùn)用在哪些實(shí)際項(xiàng)目中”、“哪些是通用的軟件模塊”、“接口方法如何”、“如何將不同成員開發(fā)的模塊集成在一起,怎樣測試”、“在單臺計(jì)算機(jī)上開發(fā)并測試的項(xiàng)目如何到網(wǎng)絡(luò)環(huán)境下”、“能用嗎”、“如何改進(jìn)”等問題,是鍛煉和提高學(xué)生獨(dú)立思考能力的重要途徑。教師自身要研究社會對計(jì)算機(jī)軟件人才的具體要求、研究如何培養(yǎng)學(xué)生,以發(fā)展的眼光注重培養(yǎng)學(xué)生獨(dú)立思考、分析和解決實(shí)際應(yīng)用問題的能力。
2.2明確畢業(yè)走向,提高學(xué)生實(shí)踐能力
經(jīng)驗(yàn)表明,計(jì)算機(jī)軟件相關(guān)專業(yè)學(xué)生在畢業(yè)后,大體有以下幾種走向:考研深造、直接進(jìn)公司從事計(jì)算機(jī)軟件開發(fā)、通過考公務(wù)員等方式進(jìn)入事業(yè)型單位從事技術(shù)性或文職型工作崗位等。因此,在高年級階段,應(yīng)引導(dǎo)學(xué)生明確就業(yè)意向,進(jìn)而有針對性地強(qiáng)化其專業(yè)技能。
2.2.1加強(qiáng)基本編程思維和方法的訓(xùn)練編程思維和方法的訓(xùn)練對程序設(shè)計(jì)能力的培養(yǎng)具有決定性作用。對學(xué)生要進(jìn)行面向過程和面向?qū)ο缶幊趟枷牒推鋵?yīng)的基本編程方法的引導(dǎo),達(dá)到讓學(xué)生由此及彼、觸類旁通地學(xué)習(xí)其他編程語言和技術(shù)。若沒有培養(yǎng)起學(xué)生基本編程思想和能力,即便學(xué)生學(xué)習(xí)了再多門類的編程語言,仍不能提高能力,有時(shí)反而還會導(dǎo)致學(xué)生在各種編程語言和技術(shù)中徘徊不定,遇到問題不能快速進(jìn)行編程和技術(shù)選型。
2.2.2培養(yǎng)科研型、技術(shù)工程型人才在學(xué)生具備了基本編程思維和技能的基礎(chǔ)上,可以考慮引導(dǎo)學(xué)生在高年級階段根據(jù)自己的畢業(yè)走向有針對性地強(qiáng)化編程訓(xùn)練,以快速適應(yīng)即將面臨的新環(huán)境和新挑戰(zhàn)。對于準(zhǔn)備考研深造的學(xué)生,可以將他們吸收到教師科研隊(duì)伍中。這樣,可以潛移默化地讓學(xué)生盡早熟悉科研工作,掌握正確的科研方法,提高科研意識,鍛煉分析問題、解決問題的能力,培養(yǎng)嚴(yán)謹(jǐn)求實(shí)的科研作風(fēng)[5]。舉例來說,教師可以在自己運(yùn)用Matlab進(jìn)行科學(xué)計(jì)算、數(shù)字圖像處理、Simulink仿真、遺傳算法與神經(jīng)網(wǎng)絡(luò)等智能算法研究時(shí),通過帶動學(xué)生參與其中,讓學(xué)生不僅奠定一定科研基礎(chǔ),還會熟悉Matlab及其相關(guān)編程方法、運(yùn)用Multisim進(jìn)行電路系統(tǒng)的設(shè)計(jì)和仿真[6]等。對于將自己畢業(yè)走向確定為軟件項(xiàng)目開發(fā)等的學(xué)生,可以將其吸納到教師軟件項(xiàng)目開發(fā)小組中來,或吸納到由指導(dǎo)教師牽頭并組建的學(xué)生軟件項(xiàng)目開發(fā)小組中,讓學(xué)生熟悉實(shí)際軟件項(xiàng)目的開發(fā)流程和方法。在實(shí)際項(xiàng)目開發(fā)過程中,更進(jìn)一步明確自己的技術(shù)選型,在社會需求量較大的眾多軟件技術(shù)如VisualC++、.Net技術(shù)、Java技術(shù)等中鎖定一種,進(jìn)而鍛煉和培養(yǎng)學(xué)生進(jìn)行實(shí)際項(xiàng)目開發(fā)的能力。
2.3鼓勵學(xué)生通過專業(yè)資格認(rèn)證
對于所有學(xué)生,首先都應(yīng)鼓勵他們通過專業(yè)資格認(rèn)證,如參加全國計(jì)算機(jī)等級考試四級中的四級網(wǎng)絡(luò)工程師、四級數(shù)據(jù)庫工程師、四級軟件測試工程師方向考試,軟件工程師、系統(tǒng)架構(gòu)師資格認(rèn)證考試,SUN公司的Java技術(shù)認(rèn)證,Cisco公司的網(wǎng)絡(luò)技術(shù)認(rèn)證等。通過這些專業(yè)資格認(rèn)證的考試的準(zhǔn)備和資格獲得,可以幫助學(xué)生明確自己的專業(yè)方向,而且對該方向產(chǎn)生更大興趣和信心。其次,要鼓勵學(xué)生積極參與各級各類的專業(yè)程序設(shè)計(jì)競賽,如ACM競賽、ITAT競賽以及其他競賽。通過參與競賽,拔高學(xué)生的編程高度、拓展編程視野、培養(yǎng)創(chuàng)新精神和能力。
3拓展實(shí)踐教學(xué)的時(shí)間和空間
通常,實(shí)踐教學(xué)被納入正常的教學(xué)學(xué)時(shí)中,學(xué)時(shí)有限、實(shí)驗(yàn)室固定,這對于綜合性、創(chuàng)新性實(shí)驗(yàn)的開展很不利。
3.1充分利用優(yōu)質(zhì)資源,拓展實(shí)驗(yàn)平臺
以利用北京大學(xué)的“北京大學(xué)程序在線評測系統(tǒng)(POJ)”為例,該系統(tǒng)具有可以運(yùn)用各類編程語言進(jìn)行在線程序編寫和即時(shí)評測的強(qiáng)大功能,其上的題目具有實(shí)用性、趣味性和很高的創(chuàng)新性,可以充分地幫助學(xué)生提高通過編程解決反映工作和生活實(shí)際問題的能力[7],從而充分調(diào)動學(xué)生的主動性、積極性和創(chuàng)造性,激發(fā)學(xué)生的創(chuàng)新思維和創(chuàng)新意識,逐漸掌握獨(dú)立思考問題、解決問題的方法,提高其創(chuàng)新實(shí)踐的能力。引進(jìn)或自行研制開發(fā)基于Web工作流的程序設(shè)計(jì)綜合管理系統(tǒng)[8-9]。通過該系統(tǒng),由教師在課前提交實(shí)踐項(xiàng)目的目的、要求、內(nèi)容等,讓學(xué)生在實(shí)踐課前通過該平臺預(yù)習(xí)實(shí)踐內(nèi)容、查閱資料,進(jìn)行相關(guān)的設(shè)計(jì)和初步實(shí)現(xiàn),課后書寫實(shí)踐報(bào)告并通過該平臺提交。教師評閱完畢后,學(xué)生可以看到批閱結(jié)果,根據(jù)批閱意見,繼續(xù)完善實(shí)踐項(xiàng)目。同時(shí),教師可以將自己積累多年的程序設(shè)計(jì)項(xiàng)目、程序設(shè)計(jì)方法、歷屆優(yōu)秀學(xué)生的程序設(shè)計(jì)作品和實(shí)用開發(fā)工具等在該平臺上,以供學(xué)生共享。開通師生用于交流程序設(shè)計(jì)經(jīng)驗(yàn)的論壇和即時(shí)答疑空間。
3.2軟件創(chuàng)新實(shí)驗(yàn)室建設(shè)
成立計(jì)算機(jī)軟件創(chuàng)新實(shí)驗(yàn)室的最終目的,是培養(yǎng)學(xué)生獨(dú)立承攬實(shí)際軟件工程項(xiàng)目的能力,和進(jìn)行計(jì)算機(jī)軟件相關(guān)科研能力的培養(yǎng),使學(xué)生具有快速適應(yīng)社會需求或深造發(fā)展的需求能力。
3.2.1軟件創(chuàng)新實(shí)踐開展流程和制度建設(shè)
實(shí)際軟件項(xiàng)目的開發(fā)應(yīng)具有嚴(yán)格的流程,在指導(dǎo)教師的帶領(lǐng)下,由學(xué)生組成創(chuàng)新實(shí)驗(yàn)小組,創(chuàng)新實(shí)驗(yàn)項(xiàng)目由指導(dǎo)教師規(guī)劃和安排,進(jìn)入創(chuàng)新實(shí)驗(yàn)室時(shí)應(yīng)向計(jì)算機(jī)科學(xué)學(xué)院報(bào)送創(chuàng)新實(shí)驗(yàn)項(xiàng)目安排表或軟件項(xiàng)目投標(biāo)書等。完成創(chuàng)新實(shí)驗(yàn)和實(shí)際軟件項(xiàng)目開發(fā)時(shí),在條件允許的情況下應(yīng)將相關(guān)資料和成果歸檔保存。軟件創(chuàng)新實(shí)踐項(xiàng)目和軟件項(xiàng)目開發(fā)一定要以“系統(tǒng)觀點(diǎn)”進(jìn)行,即問題或大或小,都要通盤考慮,按照系統(tǒng)科學(xué)方法[10]和軟件工程方法進(jìn)行,如圖2所示。組織項(xiàng)目開發(fā)人員,首先,進(jìn)行角色劃分,如項(xiàng)目負(fù)責(zé)人、系統(tǒng)分析和設(shè)計(jì)人員、編碼和美工設(shè)計(jì)人員等,然后,當(dāng)系統(tǒng)設(shè)計(jì)完成后,就要明確分配任務(wù),形成任務(wù)分解表并落實(shí)到個人。由于學(xué)生進(jìn)行實(shí)際項(xiàng)目開發(fā)的經(jīng)驗(yàn)不足,可由指導(dǎo)教師擔(dān)任項(xiàng)目的總負(fù)責(zé)人,定期督促和檢查項(xiàng)目進(jìn)度和估算項(xiàng)目成本等[11]。在創(chuàng)新實(shí)驗(yàn)室日常管理環(huán)節(jié)上,可以建立在指導(dǎo)教師的監(jiān)督下,讓全體參與創(chuàng)新實(shí)踐的學(xué)生形成排班和輪流值日的管理制度[12]。
3.2.2軟件創(chuàng)新實(shí)驗(yàn)實(shí)施方案
由指導(dǎo)教師牽頭,引導(dǎo)學(xué)生創(chuàng)新小組進(jìn)行課題研究、承攬軟件開發(fā)項(xiàng)目和創(chuàng)新實(shí)踐探索研究[13]。課題研究一般是由教師吸收學(xué)生參與到研究的課題中,共同完成大型的實(shí)踐項(xiàng)目。指導(dǎo)教師帶領(lǐng)學(xué)生創(chuàng)新團(tuán)隊(duì)承攬學(xué)校及校外的應(yīng)用開發(fā)項(xiàng)目,進(jìn)行項(xiàng)目開發(fā)。由主持實(shí)踐教學(xué)改革項(xiàng)目的教師帶領(lǐng)其他教師和學(xué)生進(jìn)入創(chuàng)新實(shí)驗(yàn)室,組織實(shí)施和完成“以應(yīng)用為核心”、“以本科學(xué)生為主體”的創(chuàng)新性實(shí)踐教學(xué)改革項(xiàng)目。
4實(shí)踐項(xiàng)目的設(shè)計(jì)與監(jiān)督
4.1實(shí)踐項(xiàng)目的原創(chuàng)性和創(chuàng)新性
實(shí)踐項(xiàng)目設(shè)計(jì)的原創(chuàng)性和創(chuàng)新性在很大程度上決定著實(shí)踐教學(xué)的質(zhì)量。在長期程序設(shè)計(jì)教學(xué)過程中,發(fā)現(xiàn)學(xué)生在平時(shí)實(shí)踐、學(xué)年論文(設(shè)計(jì))、畢業(yè)論文(設(shè)計(jì))以及實(shí)際項(xiàng)目開發(fā)過程中原創(chuàng)性差和缺乏創(chuàng)新性等問題,究其原因有:
(1)為了與程序設(shè)計(jì)理論教學(xué)配套,平時(shí)的程序設(shè)計(jì)實(shí)踐項(xiàng)目中“驗(yàn)證性”項(xiàng)目和沒有實(shí)際應(yīng)用背景的“示例性”項(xiàng)目比重較大。
(2)一些通用性的程序設(shè)計(jì)實(shí)踐項(xiàng)目,諸如“XX管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)”、“XX網(wǎng)站的開發(fā)與實(shí)現(xiàn)”等的相關(guān)開放資源非常多,其整個軟件的設(shè)計(jì)開發(fā)背景和需求、分析和設(shè)計(jì)過程,以及實(shí)現(xiàn)的全部源碼都是有現(xiàn)成可參考的。若實(shí)踐項(xiàng)目如此命題,則導(dǎo)致部分學(xué)生將查閱參考資料變成了“復(fù)制—粘貼”,這樣,不僅沒有達(dá)到良好的實(shí)踐效果,反而還讓一些學(xué)生養(yǎng)成了不勞而獲、抄襲剽竊的壞習(xí)氣。
(3)虛擬和籠統(tǒng)的實(shí)踐項(xiàng)目較多,比如對系統(tǒng)的設(shè)計(jì)和開發(fā)背景是自定的而不是源于實(shí)際用戶的開發(fā)需求等。學(xué)生在完成過程中,沒有經(jīng)歷分析和解決實(shí)際應(yīng)用問題的磨礪過程。因此,在引導(dǎo)學(xué)生進(jìn)行項(xiàng)目實(shí)踐的過程中,在對其進(jìn)行各階段指導(dǎo)和檢查時(shí),必須嚴(yán)格把關(guān),對實(shí)踐項(xiàng)目題目的設(shè)計(jì)本身應(yīng)具有很強(qiáng)的針對性、原創(chuàng)性和創(chuàng)新性。不斷引導(dǎo)學(xué)生從身邊做起,積極主動地發(fā)現(xiàn)需求,比如:在歷屆的全國計(jì)算機(jī)等級考試中,發(fā)現(xiàn)有個別考生攜帶U盤等電子介質(zhì)作弊的問題,教師應(yīng)引導(dǎo)學(xué)生去探究和開發(fā)一種能夠監(jiān)控和防止利用電子介質(zhì)作弊的軟件;學(xué)校的各機(jī)關(guān)部門和學(xué)院都有開發(fā)和維護(hù)各自部門網(wǎng)站、開發(fā)學(xué)生管理系統(tǒng)、財(cái)務(wù)管理系統(tǒng)等需求,這些需求往往很具體,具有特殊要求和差異性,教師可以引導(dǎo)學(xué)生項(xiàng)目開發(fā)團(tuán)隊(duì)承攬和開發(fā)這些項(xiàng)目;教師面臨缺乏專有的與學(xué)生進(jìn)行在線溝通和交流的系統(tǒng)和在線收發(fā)、批閱作業(yè)的系統(tǒng),可以將這樣的需求作為學(xué)生畢業(yè)設(shè)計(jì)的題目等。
4.2加強(qiáng)對學(xué)生實(shí)踐效果的檢驗(yàn)和監(jiān)督
要注重從貫穿整個本科實(shí)踐教學(xué)的各個環(huán)節(jié),諸如各項(xiàng)編程類基礎(chǔ)實(shí)踐項(xiàng)目、創(chuàng)新性和研究性實(shí)踐項(xiàng)目、各級各類的專業(yè)程序設(shè)計(jì)競賽、本科學(xué)年設(shè)計(jì)、本科畢業(yè)設(shè)計(jì)等具體環(huán)節(jié)入手,全程監(jiān)督和檢查學(xué)生的實(shí)踐能力。改革對學(xué)生程序設(shè)計(jì)課程考核的機(jī)制,加大實(shí)踐考核在成績、能力評價(jià)中的比重;教師通過對學(xué)生所做的實(shí)踐項(xiàng)目進(jìn)行提問、討論、答辯等方式,了解每個學(xué)生在實(shí)踐中存在的問題和實(shí)踐效果,發(fā)現(xiàn)不足,進(jìn)而有的放矢地改善程序設(shè)計(jì)實(shí)踐效果。
5結(jié)束語
計(jì)算機(jī)程序設(shè)計(jì)類課程實(shí)踐教學(xué)的改革和創(chuàng)新是一項(xiàng)系統(tǒng)工程,涉及到實(shí)踐教學(xué)計(jì)劃的合理制定、實(shí)踐教學(xué)的目標(biāo)定位,以及改革和實(shí)施創(chuàng)新實(shí)踐教學(xué)方法等方面,逐步落實(shí)、層層推進(jìn)這些措施,才可能為應(yīng)用型、創(chuàng)新性、復(fù)合型計(jì)算機(jī)軟件人才培養(yǎng)做出應(yīng)有的貢獻(xiàn)。