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