王春枝 嚴(yán)靈毓 徐慧
摘 要:程序設(shè)計(jì)能力培養(yǎng)是計(jì)算機(jī)專業(yè)教育的重要組成部分。為提高學(xué)生程序設(shè)計(jì)能力,增強(qiáng)計(jì)算機(jī)專業(yè)學(xué)生就業(yè)競爭力,提出改進(jìn)的程序設(shè)計(jì)能力培養(yǎng)模式。分析了當(dāng)前培養(yǎng)模式存在的問題,結(jié)合教學(xué)實(shí)際,提出課程整合和強(qiáng)化實(shí)踐等一系列方法與措施,用以改進(jìn)程序設(shè)計(jì)能力培養(yǎng)模式,為培養(yǎng)學(xué)生的程序設(shè)計(jì)能力提供思路,促進(jìn)計(jì)算機(jī)專業(yè)人才培養(yǎng)目標(biāo)實(shí)現(xiàn)。實(shí)踐表明,新的教學(xué)模式對培養(yǎng)學(xué)生的程序設(shè)計(jì)能力有積極作用。
關(guān)鍵詞:程序設(shè)計(jì);課程整合;強(qiáng)化實(shí)踐;校企合作
DOI:10. 11907/rjdk. 182357
中圖分類號:G433 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-7800(2019)005-0197-03
Abstract:Cultivation of programming ability is an important part of computer professional education. To improve the programming ability of students, enhance the employment competitiveness of computer majors, we propose an improved training mode of programming ability. In this paper, we first analyze the existing problems in the existing cultivation model for programming ability, then propose two methods to improve the cultivation model for programming ability, including integration of course group in teaching system and project driven teaching model, aiming to improve the training mode of programming ability. The two methods provide new idea for programming ability cultivation, promoting the achievement of the goal of training computer professionals. Practice shows that the new teaching mode plays a positive role in developing students' programming ability.
Key Words:programming; integration of course group in teaching system; practice intensification;corporation between university and enterprise
0 引言
隨著計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科快速發(fā)展,學(xué)科知識組織結(jié)構(gòu)和核心專業(yè)基礎(chǔ)知識變得越來越龐大[1],學(xué)校和學(xué)生面臨難于作出準(zhǔn)確選擇的局面,學(xué)科教學(xué)內(nèi)容與課程體系的外延發(fā)展模式已經(jīng)不能適應(yīng)學(xué)科發(fā)展需要。要將學(xué)科教學(xué)內(nèi)容與課程體系的外延發(fā)展模式轉(zhuǎn)變?yōu)閮?nèi)涵發(fā)展模式,必須運(yùn)用科學(xué)的方法對學(xué)科知識體系實(shí)施改革才能達(dá)到期望的培養(yǎng)目標(biāo)。因此,計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)人才培養(yǎng)模式必須突破原有教學(xué)計(jì)劃和課程體系,實(shí)行微而精的培養(yǎng)模式,才能有利于學(xué)科發(fā)展,有利于計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)人才培養(yǎng)[2]。
縱觀短暫的計(jì)算機(jī)發(fā)展史,算法和數(shù)據(jù)結(jié)構(gòu)這兩個(gè)主要方面一直保持不變,它們的相互作用推動了程序設(shè)計(jì)的發(fā)展。計(jì)算機(jī)科學(xué)以程序?yàn)榛A(chǔ),而且始于程序,終于程序。因此,程序設(shè)計(jì)能力在計(jì)算機(jī)學(xué)科知識體系中具有核心地位,對計(jì)算機(jī)專業(yè)的學(xué)生來說不僅是專業(yè)能力的培養(yǎng),還體現(xiàn)著創(chuàng)造性思維的信息素質(zhì)培養(yǎng)過程[3-6]。程序設(shè)計(jì)正是有形表達(dá)抽象思維的方法,在程序設(shè)計(jì)過程中貫穿閱讀判斷、分析思考、工具利用、抽象表達(dá)、綜合創(chuàng)造等多項(xiàng)技能,對計(jì)算機(jī)專業(yè)人才素質(zhì)的培養(yǎng)至關(guān)重要[7-9]。
1 主要問題
程序設(shè)計(jì)能力培養(yǎng)的研究主要圍繞數(shù)據(jù)結(jié)構(gòu)和算法進(jìn)行。美國科學(xué)院院士薩尼在其經(jīng)典教材《數(shù)據(jù)結(jié)構(gòu)、算法與應(yīng)用(C++語言描述)》(2015年第2版)中指出,程序設(shè)計(jì)類第一門課程介紹數(shù)據(jù)結(jié)構(gòu)和算法的基礎(chǔ)知識,第二門課程介紹數(shù)據(jù)結(jié)構(gòu)和算法的系統(tǒng)知識,然后還需要一門或兩門課程,對數(shù)據(jù)結(jié)構(gòu)和算法進(jìn)行深入研究。然而,目前國內(nèi)許多高校因?yàn)楸究茖I(yè)課程過多已經(jīng)進(jìn)行了程序設(shè)計(jì)類課程的整合。薩尼的教材實(shí)際上是C++與數(shù)據(jù)結(jié)構(gòu)及算法的整合,也有用Java與數(shù)據(jù)結(jié)構(gòu)及算法整合的,如在弗羅里達(dá)大學(xué),先開設(shè)一學(xué)期的Java程序,再開設(shè)一學(xué)期的數(shù)據(jù)結(jié)構(gòu)和算法。這是一種壓縮的“語言+數(shù)據(jù)結(jié)構(gòu)及算法”的課程模式。
目前,國內(nèi)程序設(shè)計(jì)類課程存在的主要問題有:
(1)內(nèi)容松散,學(xué)生難以自主學(xué)習(xí)。語言的學(xué)習(xí)模式是“語法+練習(xí)”,枯燥無味、實(shí)踐課時(shí)嚴(yán)重不足、學(xué)生積極性不高,僅用一個(gè)學(xué)期掌握C++或Java很困難。數(shù)據(jù)結(jié)構(gòu)和算法的學(xué)習(xí)模式是“概念+設(shè)計(jì)”,因?yàn)檎Z言能力不足,常常迷失在抽象的概念中,很難有效落實(shí)到程序。
(2)課程擁擠,顧此失彼。目前,大部分高校在開設(shè)程序設(shè)計(jì)類課程的同時(shí),還開設(shè)了高等數(shù)學(xué)和大學(xué)英語等重要的公共必修課程,導(dǎo)致學(xué)生精力不足以應(yīng)對程序設(shè)計(jì)類課程學(xué)習(xí)。
(3)學(xué)習(xí)程序設(shè)計(jì)語言時(shí)沒有導(dǎo)向,學(xué)生不知道為何而學(xué)。由于程序設(shè)計(jì)類課程大多側(cè)重于基礎(chǔ)知識,學(xué)生在學(xué)習(xí)時(shí)往往無法建立起宏觀的工程項(xiàng)目整體感知。
2 改進(jìn)措施
針對目前程序設(shè)計(jì)能力培養(yǎng)現(xiàn)狀,當(dāng)前的程序設(shè)計(jì)能力培養(yǎng)模式亟需改進(jìn)。
2.1 更新教學(xué)理念,重視新技術(shù)應(yīng)用
首先,緊跟當(dāng)今科技發(fā)展對計(jì)算機(jī)軟件的需要和國內(nèi)外教學(xué)改革發(fā)展動向,重視教學(xué)思想的學(xué)習(xí)研究,不斷更新教學(xué)理念。不是從概念出發(fā)而是從算法的實(shí)際需要出發(fā),如將程序設(shè)計(jì)過程轉(zhuǎn)化為解決問題的過程,每個(gè)問題都是程序設(shè)計(jì)中的問題,每個(gè)問題的解決都產(chǎn)生新的程序,并概括為新的概念。因此,從C到C++再到C++標(biāo)準(zhǔn)模板庫,其概念都是沿著必然的發(fā)展過程,以一個(gè)擴(kuò)展一個(gè)的方式呈現(xiàn)給學(xué)生。
同時(shí),合理利用模擬演示、電子教案、多媒體網(wǎng)絡(luò)課件、視頻錄像等多種現(xiàn)代化教學(xué)手段,在程序設(shè)計(jì)能力教學(xué)中采用模擬演示、案例分析等方式,通過建設(shè)豐富的數(shù)字化、網(wǎng)絡(luò)化學(xué)習(xí)資源,搭建開放的網(wǎng)絡(luò)學(xué)習(xí)平臺,為學(xué)生提供視音頻、圖片、動畫、文本等多媒體資源,供學(xué)生自主學(xué)習(xí)使用。在網(wǎng)絡(luò)化學(xué)習(xí)環(huán)境中,通過學(xué)生自主學(xué)習(xí)或師生互動,有效拓展程序設(shè)計(jì)能力培養(yǎng)的空間和深度,提升計(jì)算機(jī)專業(yè)學(xué)生的程序設(shè)計(jì)能力。
此外,還要重視慕課[10]、微課[11]、SPOC(small private online course)[12]、翻轉(zhuǎn)課堂[13-15]等新型教學(xué)技術(shù)在課程教學(xué)中的應(yīng)用,構(gòu)建將課堂討論的互動優(yōu)勢與線上學(xué)習(xí)的靈活性相結(jié)合的混合式教學(xué)方式[16]。在學(xué)生基礎(chǔ)知識掌握較好的時(shí)機(jī)實(shí)現(xiàn)課堂翻轉(zhuǎn),培養(yǎng)學(xué)生自學(xué)能力、組織能力和表達(dá)能力。
2.2 分層次模塊化課程設(shè)計(jì)
把具有相關(guān)性或一定目的的不同課程編排到一起,進(jìn)行系統(tǒng)學(xué)習(xí)和講授,從而保證學(xué)科知識體系的完整性與連續(xù)性。按3個(gè)層次依次遞進(jìn)設(shè)計(jì)計(jì)算機(jī)軟件系列課程模塊化方案,如圖1所示。
(1)程序設(shè)計(jì)基礎(chǔ)系列模塊。通過《編程導(dǎo)論》讓學(xué)生掌握編程的總體基礎(chǔ),目標(biāo)是培養(yǎng)學(xué)生的編程能力。
(2)程序設(shè)計(jì)系列模塊。通過《C和C++的語言編程基礎(chǔ)》和《數(shù)據(jù)結(jié)構(gòu)的算法設(shè)計(jì)》課程,讓學(xué)生掌握程序設(shè)計(jì)知識,目標(biāo)是培養(yǎng)學(xué)生的系統(tǒng)設(shè)計(jì)能力。
(3)軟件開發(fā)系列模塊。通過項(xiàng)目應(yīng)用實(shí)例讓學(xué)生掌握軟件開發(fā)知識,目標(biāo)是培養(yǎng)學(xué)生的應(yīng)用系統(tǒng)開發(fā)能力。
三大模塊循序漸進(jìn),無縫連接。通過三大模塊構(gòu)建,建立從C到C++的平滑過渡模型,解決C++標(biāo)準(zhǔn)模板庫和數(shù)據(jù)結(jié)構(gòu)互為先修課的矛盾。從C到C++,再從C++標(biāo)準(zhǔn)模板庫到數(shù)據(jù)結(jié)構(gòu)及算法,從項(xiàng)目應(yīng)用案例開發(fā)到IT職業(yè)角色轉(zhuǎn)換,一路直達(dá)。
2.3 強(qiáng)化實(shí)踐環(huán)節(jié)
目前高校課程繁多,要科學(xué)合理地安排課程銜接,強(qiáng)化實(shí)踐環(huán)節(jié)。筆者學(xué)校湖北工業(yè)大學(xué)利用寒暑假設(shè)置短學(xué)期,強(qiáng)化實(shí)踐教育,力圖培養(yǎng)學(xué)生創(chuàng)新精神與實(shí)踐能力,提高學(xué)生發(fā)現(xiàn)問題、分析問題、解決問題、交流溝通等能力。為讓學(xué)生有足夠的精力應(yīng)對多門課程,還能夠連貫地學(xué)習(xí)和強(qiáng)化程序設(shè)計(jì)能力,可在學(xué)期前半段安排《編程導(dǎo)論》課程教學(xué),在學(xué)期后半段和短學(xué)期期間安排《C語言程序設(shè)計(jì)》集中教學(xué)和實(shí)踐,避免碎片化的程序設(shè)計(jì)學(xué)習(xí),解決程序設(shè)計(jì)學(xué)習(xí)連續(xù)性以及與高數(shù)和英語等基礎(chǔ)課程學(xué)習(xí)時(shí)間分配的問題。
構(gòu)建課程群一體化的實(shí)踐教學(xué)模式。首先,優(yōu)化課程實(shí)驗(yàn)中的基本型、綜合設(shè)計(jì)型、研究創(chuàng)新型實(shí)驗(yàn)項(xiàng)目配比結(jié)構(gòu),探究將課程實(shí)驗(yàn)聯(lián)合在一起完成同一項(xiàng)目的教學(xué)經(jīng)驗(yàn)與方法。其次,嘗試將合作企業(yè)的商業(yè)項(xiàng)目、教師承擔(dān)的科研與工程項(xiàng)目、各級各類競賽項(xiàng)目等合理轉(zhuǎn)化為實(shí)驗(yàn)實(shí)踐項(xiàng)目,實(shí)現(xiàn)程序設(shè)計(jì)類實(shí)驗(yàn)課程與行業(yè)實(shí)踐相結(jié)合、實(shí)驗(yàn)教學(xué)與科學(xué)研究相結(jié)合,激發(fā)學(xué)生的編程興趣,培養(yǎng)學(xué)生創(chuàng)新意識和實(shí)踐能力。在可能的情況下,為學(xué)生參與科研打好基礎(chǔ),為優(yōu)選本科學(xué)生中的科研人才提供依據(jù)。圖2為一個(gè)項(xiàng)目驅(qū)動教學(xué)模式的過程示例。
以項(xiàng)目為主線、教師為引導(dǎo)、學(xué)生為主體的項(xiàng)目驅(qū)動式教學(xué)模式[17-20],改變了以往“教師講,學(xué)生聽”的被動教學(xué)模式,創(chuàng)造學(xué)生主動參與、自主協(xié)作、探索創(chuàng)新的新型教學(xué)模式。項(xiàng)目驅(qū)動式教學(xué)模式在國外已廣泛使用,取得了很大成效,積累了許多經(jīng)驗(yàn)。在一些國家的課程教學(xué)中,教師都要求學(xué)生結(jié)合課堂教學(xué),分小組或獨(dú)立承擔(dān)一兩個(gè)小型研究項(xiàng)目。學(xué)生通過調(diào)研、查閱文獻(xiàn)、收集資料、分析研究、撰寫論文等,將學(xué)到的理論知識和現(xiàn)實(shí)生活中的實(shí)際問題結(jié)合,得到訓(xùn)練和提高。學(xué)生還在課程上介紹自己的研究情況,相互交流。采用項(xiàng)目引入的教學(xué)方式,以教育部產(chǎn)學(xué)合作項(xiàng)目為契機(jī),一方面鍛煉學(xué)生的程序設(shè)計(jì)能力,在項(xiàng)目代碼撰寫過程中學(xué)習(xí)概念,突出代碼編寫能力;另一方面引導(dǎo)學(xué)生參與科研工作,為后續(xù)深造提供基礎(chǔ)。
此外,采用高年級學(xué)生中選拔優(yōu)秀學(xué)生作為低年級學(xué)生程序?qū)W習(xí)輔導(dǎo),既能增強(qiáng)上機(jī)輔導(dǎo)力度,又能形成溝通的橋梁。考試采用項(xiàng)目演示方式,學(xué)生自己評分,教師共同評判,增強(qiáng)學(xué)生的參與意識。
2.4 校企合作
校企合作是教育人才培養(yǎng)質(zhì)量提升的重要方式[21-22],筆者學(xué)院充分利用湖北省軟件服務(wù)外包人才培養(yǎng)基地的優(yōu)勢,結(jié)合學(xué)科特點(diǎn)和計(jì)算機(jī)大類需求,探索一條實(shí)踐教學(xué)體系。通過軟件外包平臺和企業(yè)合作,采用實(shí)際項(xiàng)目開發(fā)實(shí)訓(xùn)方式,鞏固和提高學(xué)生的程序能力。
項(xiàng)目開發(fā)實(shí)訓(xùn)主要有兩種形式:①邀請企業(yè)資深工程師到校內(nèi)實(shí)訓(xùn)基地,將當(dāng)前計(jì)算機(jī)行業(yè)的新興知識和市場需求介紹給學(xué)生,讓學(xué)生有針對性地學(xué)習(xí)知識,鍛煉編程能力。這種實(shí)訓(xùn)方式通常安排在大一到大三學(xué)期末的寒暑假;②將學(xué)生輸出到校外對口企業(yè)的實(shí)訓(xùn)基地,根據(jù)專業(yè)方向和興趣的不同,到校外參加對應(yīng)的實(shí)訓(xùn),實(shí)訓(xùn)時(shí)間為20-30天,由校內(nèi)和校外教師共同負(fù)責(zé)。如2018年暑期,筆者學(xué)院學(xué)生分赴北京和成都兩地,參加了“基于HTML5的Web前端開發(fā)實(shí)訓(xùn)”、“紐約出租車BI大數(shù)據(jù)分析實(shí)訓(xùn)”、“JAVAWeb物流管理系統(tǒng)實(shí)訓(xùn)”等。
3 結(jié)語
隨著信息時(shí)代的發(fā)展,IT企業(yè)對高校畢業(yè)生的程序設(shè)計(jì)能力要求也逐漸提高,通過改進(jìn)程序設(shè)計(jì)能力培養(yǎng)模式,一方面讓學(xué)生和教師成為共同學(xué)習(xí)的關(guān)系,充分調(diào)動學(xué)生的學(xué)習(xí)積極性,另一方面優(yōu)化課程設(shè)置,強(qiáng)化實(shí)踐環(huán)節(jié),增強(qiáng)學(xué)生的就業(yè)競爭力。在程序設(shè)計(jì)能力培養(yǎng)模式的改進(jìn)過程中,學(xué)生的程序設(shè)計(jì)能力顯著提升,在ACM等程序設(shè)計(jì)競賽上取得了優(yōu)異成績,學(xué)生就業(yè)情況也有很大改觀,不少學(xué)生進(jìn)入騰訊等大型軟件公司就業(yè)。
今后將把科學(xué)研究能力的培養(yǎng)納入程序設(shè)計(jì)能力培養(yǎng)模式范疇,著重培養(yǎng)一批具有一定科研能力的本科生,挖掘本科生的科研潛力,增加科研有生力量,組織科研后備軍,為培養(yǎng)高層次科研人才奠定基礎(chǔ)。
參考文獻(xiàn):
[1] 王育堅(jiān),馬楠,牛選龍. 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)應(yīng)用型人才培養(yǎng)模式改革[J]. 計(jì)算機(jī)教育,2015(23):61-65.
[2] 呂俊,陸淑娟. 以計(jì)算思維培養(yǎng)為導(dǎo)向的《C語言程序設(shè)計(jì)》課程教學(xué)改革[J]. 軟件導(dǎo)刊,2016(8):213-215.
[3] 林健. 卓越工程師培養(yǎng)質(zhì)量保障:基于工程教育認(rèn)證的視角[M]. 北京:清華大學(xué)出版社,2016:183-190.
[4] 史曉楠,賈澍濤,羅曉霞. 計(jì)算機(jī)專業(yè)學(xué)生創(chuàng)新能力培養(yǎng)研究——以西安科技大學(xué)為例[J]. 軟件導(dǎo)刊:教育技術(shù),2015(11):30-32.
[5] 楊杰,劉小兵. 基于計(jì)算思維的《C語言程序設(shè)計(jì)》課程實(shí)踐教學(xué)研究[J]. 時(shí)代教育,2016(15):14-17.
[6] 史曉楠,秦昳. 融入計(jì)算思維能力培養(yǎng)的Java程序設(shè)計(jì)課程教學(xué)實(shí)踐[J]. 軟件導(dǎo)刊:教育技術(shù),2017(16):72-74.
[7] 劉遠(yuǎn)軍,黃同成,謝兵,等. 程序設(shè)計(jì)課程教學(xué)中計(jì)算思維能力的培養(yǎng)[J]. 計(jì)算機(jī)教育,2014(3):18-19.
[8] 申天恩. 基于成果導(dǎo)向教育理念的人才培養(yǎng)方案設(shè)計(jì)[J]. 高等理科教育,2016(6):38-43.
[9] 周鋼, 郭福奇. 基于計(jì)算思維的大學(xué)計(jì)算機(jī)基礎(chǔ)課程混合教學(xué)改革實(shí)踐[J]. 計(jì)算機(jī)教育,2017(1): 23-26.
[10] 郝丹. 國內(nèi)MOOC研究現(xiàn)狀的文獻(xiàn)分析[J]. 中國遠(yuǎn)程教育, 2013(11):42-50.
[11] 盧行偉,田茂毅,李慶. 基于微課和雨課堂的大學(xué)計(jì)算機(jī)混合實(shí)驗(yàn)教學(xué)模式[J]. 實(shí)驗(yàn)技術(shù)與管理,2018,35(6):203-206.
[12] 陳然,楊成. SPOC混合學(xué)習(xí)模式設(shè)計(jì)研究[J]. 中國遠(yuǎn)程教育,2015(5):42-47.
[13] 張金磊,王穎,張寶輝. 翻轉(zhuǎn)課堂教學(xué)模式研究[J]. 遠(yuǎn)程教育雜志,2012(4): 46-51.
[14] 賴紹聰. 如何做好課程教學(xué)設(shè)計(jì)[J]. 中國大學(xué)教學(xué),2016(10): 14-18.
[15] 劉堅(jiān)強(qiáng). 翻轉(zhuǎn)課堂在計(jì)算機(jī)基礎(chǔ)課程中的應(yīng)用[J]. 信息與電腦:理論版,2018(7):215-216.
[16] 李媛媛,艾賢明. 與傳統(tǒng)課堂結(jié)合的混合式學(xué)習(xí)模式探究[J]. 軟件導(dǎo)刊,2014(11):80-81.
[17] 劉波. 高校計(jì)算機(jī)項(xiàng)目驅(qū)動式教學(xué)模式探索[J]. 計(jì)算機(jī)教育,2011(4):82-85.
[18] 李新成. 基于項(xiàng)目驅(qū)動模式的電子技術(shù)課程教學(xué)探索[J]. 信息化服務(wù),2018(4);73-76.
[19] 李龍森. 高校計(jì)算機(jī)項(xiàng)目驅(qū)動式教學(xué)模式探索[J]. 信息化建設(shè),2016(5):173-174.
[20] 李軍偉,姜學(xué)東. 項(xiàng)目驅(qū)動式教學(xué)模式在高校計(jì)算機(jī)教學(xué)改革中的問題分析[J]. 無線互聯(lián)科技,2017(11):86-87.
[21] 劉君. “互聯(lián)網(wǎng)+”背景下職業(yè)教育校企合作人才培養(yǎng)模式變革的可行性調(diào)查研究[J]. 中國職業(yè)技術(shù)教育,2018(8):40-46.
[22] 王文娟,袁紅春,葛艷. 校企合作提升學(xué)生實(shí)踐應(yīng)用能力的探索[J]. 實(shí)驗(yàn)技術(shù)與管理,2018(35):189-192.
(責(zé)任編輯:杜能鋼)