楊冬梅
(河南信息統(tǒng)計職業(yè)學(xué)院,河南 鄭州 450008)
“程序設(shè)計”是計算機專業(yè)重要的課程之一,也是展現(xiàn)編程思想,強調(diào)學(xué)生編程能力的重要課程。但因程序設(shè)計所包含的知識點細(xì)碎,對程序設(shè)計的實踐性要求較高,如果缺失編程興趣,則很難深入學(xué)習(xí)編程方法,更難以適應(yīng)就業(yè)崗位需要。為此,化解“程序設(shè)計”課程興趣不足難題,就需要從激趣入手,深化“程序設(shè)計”課程改革。
從“程序設(shè)計”課程專業(yè)來看,對學(xué)生的專業(yè)知識、邏輯思維、動手實踐能力等提出更高要求。但傳統(tǒng)的“程序設(shè)計”課程在教學(xué)中,以布置實踐作業(yè)為主,學(xué)生根據(jù)作業(yè)任務(wù)完成相關(guān)編程知識的學(xué)習(xí)和應(yīng)用。由于高職生源整體質(zhì)量的降低,軟件設(shè)計類課程學(xué)生對“程序設(shè)計”實踐課程興趣度不足。一方面,一些學(xué)生反映英語基礎(chǔ)差,對“程序設(shè)計”中的語言學(xué)習(xí)沒有好感。如在C語言編程設(shè)計中,如果對英語不熟悉,其在編程中的一些設(shè)置、備注、程序表達(dá)方式等缺失興趣和信心。如果英語基礎(chǔ)不好,就很難對后續(xù)程序類課程進(jìn)行良好學(xué)習(xí),也看不懂他人的程序設(shè)計思路。另一方面,一些學(xué)生存在邏輯思維欠缺問題,特別是曾經(jīng)是文科的學(xué)生,面對編程邏輯,更易產(chǎn)生抵觸情緒。通過對學(xué)生程序設(shè)計興趣不足原因的分析,可以梳理出以下主要問題:(1)學(xué)生在學(xué)習(xí)上自主性不夠,特別是受到中學(xué)被動授知教育的影響,往往缺乏應(yīng)有的學(xué)習(xí)自覺意識。(2)“程序設(shè)計”習(xí)題本身過于淺顯,與實際應(yīng)用有較大偏差,導(dǎo)致學(xué)生感覺編程難。(3)“程序設(shè)計”課程需要不斷積累編程經(jīng)驗,而非一蹴而就,很多剛學(xué)習(xí)程序設(shè)計的學(xué)生在遇到編程難題時,會喪失學(xué)習(xí)積極性。所以說,缺失編程興趣是造成“程序設(shè)計”課程教學(xué)低效的主要原因,而激趣教學(xué),就是要從興趣導(dǎo)向上,讓學(xué)生體驗編程的樂趣,挖掘?qū)W生的編程潛能,逐漸改進(jìn)學(xué)生對“程序設(shè)計”課程的學(xué)習(xí)積極性,提升學(xué)生的編程能力[1]。
在高職“程序設(shè)計”課程教學(xué)實踐中,興趣不足影響學(xué)習(xí)積極性,而趣味的激發(fā)需要突出對學(xué)生需求的滿足。當(dāng)下,很多學(xué)生喜歡玩游戲,也容易從游戲中獲得滿足感。為此,我們對比了多款虛擬機器人編程軟件,以RoboMind編程軟件最具代表性。該軟件可以滿足教學(xué)團(tuán)隊設(shè)置不同的編程游戲任務(wù),讓學(xué)生從玩游戲過程中,培養(yǎng)編程意識,鍛煉編程邏輯思維。最關(guān)鍵的是,通過編程闖關(guān)方式,能夠降低學(xué)生對編程的抵觸心理,增進(jìn)“程序設(shè)計”學(xué)習(xí)樂趣。RoboMind編程軟件是荷蘭阿姆斯特大學(xué)開發(fā)的程序設(shè)計智能化機器人軟件,編程界面主要有4部分,即菜單區(qū)、代碼編寫區(qū)、地圖和結(jié)果顯示區(qū)、運行調(diào)速區(qū)等。整體來看,編程界面新穎,操作方式簡便,游戲化風(fēng)格更易滿足高職學(xué)生的編程體驗。
從軟件功能及特點來看,RoboMind主要有三大優(yōu)勢:(1)對語言兼容性強??梢灾С种形?、英文多國語言指令,非常適宜英語基礎(chǔ)不好的學(xué)生。如利用“翻譯腳本”功能可以實現(xiàn)對語言代碼的多語種翻譯呈現(xiàn)。(2)學(xué)習(xí)門檻低。在RoboMind編程實踐中,其語法簡單,比較容易上手,且內(nèi)置多種編程概念,可以滿足查看、移動、循環(huán)、條件語句等語法功能,還能夠根據(jù)需要進(jìn)行噴繪、抓取,在“編輯區(qū)”,可以直接輸入指令,來讓機器人自動完成編程。另外,對于一些指令及方法的運用,不需要額外記憶,可以從“插入”菜單選擇需要的指令代碼。如在程序顯示器寫一個“口”字,只需要執(zhí)行代碼“畫白色,重復(fù)(4){向前1步;右轉(zhuǎn)};停止畫畫”。(3)闖關(guān)式理念讓編程更富趣味。在“程序設(shè)計”教學(xué)中,對于“程序設(shè)計”任務(wù)的布置和完成,都可以利用闖關(guān)游戲來貫穿編程知識,讓學(xué)生在闖關(guān)中內(nèi)化理解。另外,根據(jù)不同層次的學(xué)生實際,可以設(shè)置不同等級的闖關(guān)任務(wù),學(xué)生可以根據(jù)自主情況選擇編程,增強程序設(shè)計的信心和樂趣[2]。
利用RoboMind進(jìn)行編程實踐時,可以根據(jù)自身的設(shè)計任務(wù)來優(yōu)化教學(xué)內(nèi)容。首先,布置游戲任務(wù)。RoboMind具有不同難度的闖關(guān)設(shè)置,可以讓學(xué)生在規(guī)定時間、不限闖關(guān)數(shù)量完成“程序設(shè)計”實驗任務(wù),并獲得相應(yīng)的經(jīng)驗值。其次,分析游戲任務(wù)。每一個學(xué)生根據(jù)任務(wù)要求,可以進(jìn)行小組合作學(xué)習(xí)。如對于Repeat循環(huán)語句的練習(xí),可以設(shè)置迷宮中行走案例;在If語句及觀察指令學(xué)習(xí)時,可以設(shè)置尋寶案例,每行進(jìn)一次,觀察環(huán)境,確定是前進(jìn)還是轉(zhuǎn)向,當(dāng)發(fā)現(xiàn)寶貝后,拾起寶貝,完成任務(wù)。同時,利用尋寶游戲,教師要鼓勵學(xué)生將自己比作機器人,以自我的思維與行動來操控機器人指令,進(jìn)而增強思維情境,鍛煉學(xué)生邏輯思維能力。然后,開始闖關(guān)。在分析完闖關(guān)任務(wù)后,進(jìn)入闖關(guān)游戲。通常,在布置闖關(guān)任務(wù)時,學(xué)生很少能夠一次性闖關(guān)完成,都需要從多次的嘗試、失敗中查找問題,最后化解問題取得成功。如此一來,學(xué)生能夠在闖關(guān)游戲中感受程序調(diào)試的樂趣,增強面對問題、永不放棄的精神。利用闖關(guān)游戲,來強化學(xué)生的心理素質(zhì),增強學(xué)習(xí)積極性。再次,進(jìn)入闖關(guān)分享交流。每一次闖關(guān)任務(wù)的完成,我們都需要結(jié)合闖關(guān)任務(wù)進(jìn)行探討,對闖關(guān)中的問題進(jìn)行分析,對所遇到的情況,闖關(guān)過程利用抓屏軟件進(jìn)行播放,分析學(xué)生如何化解編程疑惑。事實上,每次在分享交流中,學(xué)生都能夠從他人的闖關(guān)任務(wù)中,獲得思維的拓展,特別是從解題思路上,有助于啟發(fā)學(xué)生堅定對編程課程的學(xué)習(xí)信心。最后,完成進(jìn)階。每一次闖關(guān)成功,都說明學(xué)生已經(jīng)具備相應(yīng)的闖關(guān)知識和能力,而進(jìn)入下一關(guān),難度會提升,編程知識點也會增多。利用闖關(guān)方式,讓學(xué)生從中不斷消解困難,鞏固和提升對“程序設(shè)計”課程的學(xué)習(xí)積極性,也讓學(xué)生從程序設(shè)計中鍛煉編程方法。
在挖掘“程序設(shè)計”學(xué)習(xí)趣味上,教師也可以融入多種教法,來突出編程實踐教學(xué),強化學(xué)生對“程序設(shè)計”知識點及編程技能的訓(xùn)練。
“程序設(shè)計”課程教學(xué)中,語法及邏輯等問題是基本點,也是要求學(xué)生理解并掌握的內(nèi)容。對于編程語法,很多學(xué)生需要經(jīng)過多次訓(xùn)練來掌握,如果單一設(shè)置編程訓(xùn)練,學(xué)生易感到枯燥。利用互改作業(yè)模式,可以通過察看他人程序,分析程序語法是否存在錯誤。同時,在閱讀他人程序時,也能夠從中了解程序設(shè)計的不同風(fēng)格,增強學(xué)生的編程意識和良好習(xí)慣的養(yǎng)成。另外,在編程調(diào)試中,通過對他人程序錯誤現(xiàn)象的分析,來加強自身對語法的理解和應(yīng)用。
學(xué)習(xí)編程,不能一個人學(xué)習(xí),要從大家的共同學(xué)習(xí)交流中取長補短。根據(jù)學(xué)生情況,分成若干小組,組內(nèi)成員在編程水平上具有互補性。如此一來,對于編程設(shè)計中的問題,可以讓小組成員進(jìn)行分析,查找解決方法;也可以讓學(xué)生對某設(shè)計任務(wù)進(jìn)行共同研討,梳理編程思路。小組合作與討論,有助于增強學(xué)生的編程思維,拓展程序設(shè)計視野,特別是對于某一問題的解決,可以有不同的解法和路徑,在這個交流過程中,讓學(xué)生能夠從編程實踐中增強編程能力。
對于“程序設(shè)計”課程趣味的營造,也可以導(dǎo)入項目答辯模式。針對不同的編程任務(wù),我們設(shè)置具體的項目內(nèi)容,來考查學(xué)生的編程水平。如對于基礎(chǔ)性程序設(shè)計項目,主要考查學(xué)生的編程思想、編程方法和基本操作;對于應(yīng)用性編程項目,主要考查學(xué)生在程序設(shè)計編程設(shè)計的綜合技能,包括編程項目報告、程序設(shè)計、項目答辯等內(nèi)容。利用項目答辯教學(xué)模式,更易突出學(xué)生的個性化編程能力,鍛煉學(xué)生獨立完成編程任務(wù)。
程序設(shè)計興趣的激發(fā),也可以通過競賽機制,來強化學(xué)生你追我趕的編程積極性??疾閷W(xué)生的編程技能,利用一些競賽活動,讓學(xué)生從上機實驗、課下編程學(xué)習(xí)中,解決編程問題,營造良好的學(xué)習(xí)編程的氛圍。當(dāng)然,對于競賽項目任務(wù)的設(shè)計,需要結(jié)合學(xué)生編程實際,特別是競賽題目的層次性,利用難度分級來滿足不同編程水平的學(xué)生需求。
大學(xué)生群體對現(xiàn)代移動通信網(wǎng)絡(luò)較為熟悉,我們可以利用QQ群、微信群等即時通信工具,組建程序設(shè)計問答群,讓學(xué)生在群里對學(xué)習(xí)中的問題進(jìn)行提問,發(fā)揮群體的智慧來解決疑難。同時,一些學(xué)生性格內(nèi)心,在課堂上不愿意與教師交流,課下也不愿向同學(xué)請教,這樣會帶來更多的學(xué)習(xí)疑難。通過交流群,對于一些問題,教師、學(xué)生共同參與解決,其他學(xué)生也可以參與回答,由此營造的學(xué)習(xí)環(huán)境,也有助于讓內(nèi)向的學(xué)生從中看到而獲得有益幫助,進(jìn)而逐漸形成良好的學(xué)習(xí)氛圍。
“程序設(shè)計”具有較強的實踐性、創(chuàng)新性,教師要在整合各個章節(jié)、習(xí)題、實踐內(nèi)容基礎(chǔ)上,多融入編程思想的滲透,特別是對于剛?cè)腴T學(xué)生,在算法知識、數(shù)據(jù)結(jié)構(gòu)等知識還不完善時,要側(cè)重于體驗編程過程教學(xué),以簡易的編程虛擬機器人,或者其他趣味性的編程軟件,引導(dǎo)學(xué)生認(rèn)識編程的魅力,轉(zhuǎn)變對編程的正確態(tài)度。教師在面對不同學(xué)生時,要多鼓勵,多給予積極的引導(dǎo)。對于基礎(chǔ)好的學(xué)生,嘗試以綜合性、挑戰(zhàn)性程序任務(wù)來激發(fā)其編程能力;對于基礎(chǔ)差的學(xué)生,以淺顯的、趣味性任務(wù)來增進(jìn)編程成就感,逐漸提升編程興趣。
[1]陳進(jìn).高職學(xué)生編程興趣引導(dǎo)的探索和實踐[J].教育觀察,2017(18):76-78.
[2]鄒靜.淺談大學(xué)C語言教學(xué)方法[J].現(xiàn)代職業(yè)教育,2017(1):126.