趙敏之,王 敏,廖清遠
(湖南商務(wù)職業(yè)技術(shù)學(xué)院 商務(wù)信息技術(shù)學(xué)院,湖南 長沙 410205)
程序設(shè)計課程是高職IT類專業(yè)必修課,課程開設(shè)目標(biāo)旨在培養(yǎng)學(xué)生求解問題的思路和方法,即算法能力。程序設(shè)計語言由一系列關(guān)鍵字和語法規(guī)則構(gòu)成,抽象的語法、語義和內(nèi)部運行機理使邏輯思維能力較弱的高職學(xué)生難以入門;傳統(tǒng)的“先上課,后上機”按部就班完成上機任務(wù)的教學(xué)模式更顯得枯燥乏味,學(xué)生長期處于“淺思考”甚至“不思考”狀態(tài),動手能力和解決問題的能力難以提升。如何通過程序設(shè)計課程教學(xué)提高學(xué)生應(yīng)用信息技術(shù)思考問題、解決問題的能力,并具有一定創(chuàng)新創(chuàng)造能力的智慧人才是高職人才培養(yǎng)的關(guān)鍵。計算思維是一種通過抽象和分解的方法,選擇合適的方式對問題進行建模,將復(fù)雜問題約簡,轉(zhuǎn)化成學(xué)生容易接受的思維模式的能力,是信息社會創(chuàng)新必須的思維方式[1]。但“思維不可見,思維難以教”卻成為培養(yǎng)的障礙。
通過構(gòu)建智慧課堂,把教學(xué)關(guān)注點從“知識”轉(zhuǎn)移到“智慧”,教會高職學(xué)生怎樣思考,從而實現(xiàn)自主探究式學(xué)習(xí),培養(yǎng)“不只會使用軟件,而是會利用軟件作為工具進行開發(fā)和創(chuàng)新”的智慧型人才是“3智慧”人才培養(yǎng)模式的內(nèi)涵。其中“3智慧”有兩層含義:一是從構(gòu)建智慧課堂到促進智慧生成,最后培養(yǎng)智慧人才的3個階段;二是“智慧人才”中的智慧包含學(xué)習(xí)智慧、協(xié)作智慧和創(chuàng)新智慧[2]。
有瀏覽器的地方就有JavaScript,全球最大求職引擎indeed.com公布的“2017年需求最高的編程語言”統(tǒng)計中JavaScript名列前三。無處不在的瀏覽器使JavaScript成為當(dāng)下最熱門的Web開發(fā)語言。相對其他編程語言,JavaScript更直觀,編輯運行更方便。JavaScript這種可視化編程的特性對高職學(xué)生而言,是一種更容易接受的編程工具。
教育部《教育信息化“十三五”規(guī)劃》提出:應(yīng)“深化信息技術(shù)與教育教學(xué)的融合發(fā)展,著力提升學(xué)生的信息素養(yǎng)、創(chuàng)新意識和創(chuàng)新能力,養(yǎng)成數(shù)字化學(xué)習(xí)習(xí)慣,促進學(xué)生的全面發(fā)展”[3]。在麥克思統(tǒng)計的2014屆畢業(yè)3年后月收入較高的主要高職高專專業(yè)中,軟件技術(shù)專業(yè)畢業(yè)生以平均月收入7 797元位居榜首。作為高職高專月收入最高的軟件技術(shù)專業(yè)對畢業(yè)生有更明確的要求——具備較強的編程能力和創(chuàng)新能力。另一方面,招收的學(xué)生與社會和企業(yè)的需求存在一定的差距。
JavaScript網(wǎng)頁編程課程是軟件技術(shù)專業(yè)第二學(xué)期開設(shè)的專業(yè)基礎(chǔ)課,是一門將抽象的編程邏輯和可視化網(wǎng)頁設(shè)計相融合的課程。第一學(xué)期已開設(shè)Java程序設(shè)計基礎(chǔ)和HTML&CSS網(wǎng)頁設(shè)計。通過前期的學(xué)習(xí),能力強的學(xué)生已較好地掌握了相關(guān)知識,但一部分學(xué)生對于JavaScript的函數(shù)、數(shù)組等邏輯性較強的知識點還不能很好地理解和應(yīng)用。
學(xué)生前期專業(yè)知識學(xué)習(xí)和學(xué)習(xí)心理的分析見表1。
課程采用“知識講解+案例實踐”的方式進行教學(xué)安排??紤]到面向?qū)ο蟮母拍顚σ荒昙墝W(xué)生來說還比較困難,且后續(xù)會有Java面向?qū)ο蟮日n程專門講解,因此略去面向?qū)ο笙嚓P(guān)內(nèi)容。講解內(nèi)置對象知識點,并調(diào)整該節(jié)案例“制作年歷”為更能調(diào)動學(xué)生興趣的“猜數(shù)小游戲”。
“猜數(shù)小游戲”利用HTML、CSS設(shè)計網(wǎng)頁內(nèi)容和樣式,根據(jù)輸入的數(shù)字利用分支結(jié)構(gòu)進行判斷,給出不同的消息框。有效地串聯(lián)了網(wǎng)頁設(shè)計和編程的知識點,入手難度相對不大,可擴充完善的空間較大。游戲由簡入難分為5關(guān),有利于學(xué)生鞏固已學(xué)知識,并能動手實踐,也有利于學(xué)有所長的學(xué)生進一步提升和拓展。
本案例要求學(xué)生綜合利用前面所學(xué)的JavaScript基本語法、函數(shù)和新知識點內(nèi)置對象完成網(wǎng)頁制作。
重點是利用內(nèi)置對象、函數(shù)實現(xiàn)網(wǎng)頁的基本功能交互,即產(chǎn)生隨機數(shù)à用戶輸入所猜的數(shù)字à判斷猜的數(shù)字與隨機數(shù)的大小à提示猜大了、猜小了或猜數(shù)正確。
難點為自主分析需求、自主設(shè)計并實現(xiàn)合理的拓展功能交互。
通過對教學(xué)對象和教學(xué)內(nèi)容的分析,確定本單元的知識與技能、過程和方法、情感與態(tài)度目標(biāo),見表2。
為了化解矛盾、突破重難點、達成目標(biāo),采用“3智慧”教學(xué)策略。
(1)呼云喚雨,構(gòu)建智慧課堂;
(2)轉(zhuǎn)知為智,促進智慧生成;
(3)以生為本,培養(yǎng)智慧人才。
(1)通過藍墨云班課、傳智播客高校學(xué)習(xí)平臺、W3School在線學(xué)習(xí)網(wǎng)站等打造時時可學(xué)、處處能學(xué)的環(huán)境,拓展學(xué)習(xí)的時間和空間;
(2)利用思維導(dǎo)圖分析需求、理清思路,利用流程圖表現(xiàn)算法,實現(xiàn)思維可視化;
(3)利用可視化開發(fā)工具HBuilder將思維轉(zhuǎn)化為網(wǎng)頁作品,利用極域電子課堂了解學(xué)習(xí)情況,進行適時的廣播分享,實現(xiàn)師生思維碰撞,讓思維可見、可教。
表1 學(xué)情分析
表2 教學(xué)目標(biāo)
以猜數(shù)小游戲為主線貫穿課前感受游戲、課中設(shè)計游戲、課后優(yōu)化游戲3個環(huán)節(jié),培養(yǎng)學(xué)生的學(xué)習(xí)智慧、學(xué)科智慧(計算思維)和協(xié)作智慧。總體教學(xué)流程圖見圖1。
1)課前感受游戲。
課前感受游戲環(huán)節(jié)包含兩個任務(wù):看游戲和析游戲。
看游戲:教師發(fā)布學(xué)習(xí)任務(wù),要求學(xué)生觀看游戲視頻。對照視頻,分析游戲需求,并繪制初步的思維導(dǎo)圖和簡單的流程圖。
析游戲:學(xué)生分析游戲中用到的知識點,查看相關(guān)學(xué)習(xí)資源,并自主在網(wǎng)上搜索相關(guān)信息。根據(jù)分析,繪制流程圖或思維導(dǎo)圖,并在云班課“答疑/討論”活動中提出疑問或參與解答;教師根據(jù)學(xué)生的反饋調(diào)整任務(wù)單和其他資源。
2)課中設(shè)計游戲。
課中設(shè)計游戲環(huán)節(jié)對照軟件開發(fā)的流程分成5關(guān),難度從低到高,學(xué)生在逐級挑戰(zhàn)的過程中充分調(diào)動原有思維經(jīng)驗與知識基礎(chǔ),經(jīng)歷分析、構(gòu)想、抉擇、發(fā)現(xiàn)、歸納,解決未知的問題。課中設(shè)計游戲環(huán)節(jié)思路和任務(wù)見表3。
第1關(guān):需求分析。
動手寫代碼之前一定要先把思路理清,需求分析、概要設(shè)計優(yōu)于編寫代碼。在強調(diào)需求分析的重要性時,有些學(xué)生還是不以為然。在教學(xué)中須通過重復(fù)的強調(diào)和訓(xùn)練,讓學(xué)生逐步養(yǎng)成軟件工程的思想。
圖1 “猜數(shù)小游戲”總體教學(xué)流程圖
表3 “課中設(shè)計游戲”環(huán)節(jié)思路與任務(wù)
本關(guān)首先講解random()隨機數(shù)函數(shù),要求學(xué)生比較round()、ceil()、floor()的用法;解答學(xué)生自主學(xué)習(xí)中的其他疑問。學(xué)生自主思考如何解決生成隨機數(shù)的問題;教師通過極域下發(fā)任務(wù)單,學(xué)生對思維導(dǎo)圖和流程圖進行細(xì)化,明確游戲需求,確定游戲的框架。
第2關(guān):完成網(wǎng)頁基本功能交互。
建構(gòu)主義認(rèn)為,學(xué)習(xí)過程中學(xué)生應(yīng)依靠已有的知識經(jīng)驗和認(rèn)知能力,通過新、舊知識之間的雙向相互作用,調(diào)整、改造原有經(jīng)驗,形成新的經(jīng)驗體系[4]。在本關(guān)中,學(xué)生寫出來的網(wǎng)頁程序可以自己玩,通過運用所學(xué)知識,在實踐過程中不斷發(fā)現(xiàn)問題,尋找解決途徑和方法。
考慮到學(xué)習(xí)基礎(chǔ)的差異性,應(yīng)先準(zhǔn)備一個簡單版和詳細(xì)版的任務(wù)單。學(xué)生如有需要,可參考詳細(xì)版中的步驟和代碼截圖,完成猜數(shù)小游戲網(wǎng)頁內(nèi)容、樣式和基本功能的交互,這是本次課的教學(xué)重點。教師通過走動觀察和極域監(jiān)控,及時發(fā)現(xiàn)問題并給予個別指導(dǎo)。第二關(guān)思維導(dǎo)圖見圖2。
第3關(guān):完成網(wǎng)頁拓展功能交互。
從知識的掌握到能力的形成是存在鴻溝的,消除鴻溝的有效方法是問題解決[5]。通過讓學(xué)生親歷發(fā)現(xiàn)問題、界定與表征問題、問題解決過程才能更好地培養(yǎng)學(xué)生的思維能力。
本關(guān)要求學(xué)生自主地、個性化地在第二關(guān)基本功能的基礎(chǔ)上實現(xiàn)擴展,可能涉及顯示猜數(shù)次數(shù)、清空猜數(shù)文本框、當(dāng)猜數(shù)次數(shù)超過指定數(shù)后能查看答案、美化頁面、擴展其他游戲功能等。教師通過走動觀察和極域監(jiān)控,鼓勵學(xué)生自主思考,在適當(dāng)情況下進行提問,予以點撥;對不同層次的學(xué)生提出差異化要求;收集并記錄學(xué)習(xí)過程中的典型問題。小組之間可適當(dāng)討論,思維碰撞,發(fā)現(xiàn)更多可拓展的功能。
第4關(guān):調(diào)試糾錯。
一個可交付的軟件產(chǎn)品一定是通過不斷出錯、不斷糾錯的過程逐步完善的。本關(guān)利用可視化工具的調(diào)試功能,讓學(xué)生從“出錯就懵”到“錯了就改”,再錯再改,不斷優(yōu)化,從而讓學(xué)生養(yǎng)成細(xì)致、精益求精等良好的編程習(xí)慣,并要求學(xué)生記錄并整理程序中出現(xiàn)的錯誤提示和錯誤情況,作為小組展示時分享的素材。
第5關(guān):歸納小結(jié)。
歸納是去情境化的過程,讓學(xué)生剝離實例學(xué)習(xí)運用的各種編程技巧和方法,通過類比的方法,將一個問題的解決方法遷移到另一個問題中,形成一種內(nèi)在的思維能力[6]。
闖過游戲前四關(guān),學(xué)生已初步形成了計算思維能力。在本環(huán)節(jié)中,要求以小組為單位匯總猜數(shù)小游戲網(wǎng)頁設(shè)計中遇到的問題,相互交流。對于集中突出的問題,教師進行簡要的點撥提示,學(xué)生課后自己查資料嘗試解決,同時選出小組最優(yōu)的作品作為周末拓展的藍本。借助歸納、實踐,強化和鞏固學(xué)生的計算思維能力和學(xué)習(xí)智慧。
3)課后優(yōu)化游戲。
課后優(yōu)化環(huán)節(jié)在藍墨云班課發(fā)布游戲PK的活動,各小組互相比拼玩游戲,找Bug并進行投票評選。學(xué)生的角色在游戲開發(fā)者和游戲玩家之間轉(zhuǎn)換,通過游戲的測試,完成游戲優(yōu)化,培養(yǎng)學(xué)生的協(xié)作能力,提高自學(xué)意識。
本次課的考核評價綜合了線上和線下、教師評價和學(xué)生評價、基本考核和附加考核。
圖2 第2關(guān)網(wǎng)頁基本功能交互思維導(dǎo)圖
學(xué)生認(rèn)真參與課前、課中、課后各環(huán)節(jié)的學(xué)習(xí)并闖過前2關(guān),可以得到本次課總成績的80%;闖關(guān)通過所有5關(guān)或自主開發(fā)了游戲的學(xué)生可以得到滿分和額外的獎勵。
根據(jù)“3智慧”的教學(xué)策略,在智慧課堂環(huán)境下,將猜數(shù)小游戲貫穿教學(xué)環(huán)節(jié),讓學(xué)生在身體力行的游戲、學(xué)習(xí)、互動中形成思維,理清思維,鞏固思維,沉淀思維,利用課前、課中、課后培養(yǎng)學(xué)生的智慧。
在智慧課堂中,以學(xué)生為主體,讓學(xué)生從課上偶爾學(xué)、課后不想學(xué)到人人皆學(xué)、時時可學(xué)、處處能學(xué);利用思維可視化,從零散的知識點學(xué)習(xí)到構(gòu)建學(xué)生個人的思維體系;將游戲貫穿于教學(xué)中,讓學(xué)生從游戲的受害者變成游戲的受益者。
在教學(xué)實施過程中,學(xué)生參與度高,學(xué)習(xí)自主性得到了提升,達到了預(yù)設(shè)的學(xué)習(xí)目標(biāo),學(xué)生對教師的教學(xué)方式也非常的認(rèn)可。
從云班課中統(tǒng)計的教學(xué)數(shù)據(jù)來看,存在學(xué)習(xí)兩極分化的問題。通過及時了解分析教學(xué)數(shù)據(jù),教師有針對性地干預(yù)和指導(dǎo);另外,智慧課堂中不同的教學(xué)平臺存在數(shù)據(jù)難以收集的問題,擬通過構(gòu)建智慧學(xué)習(xí)生態(tài)系統(tǒng)實現(xiàn)數(shù)據(jù)的整合。
愛因斯坦說:“當(dāng)你把在學(xué)校所學(xué)的東西全部忘記之后,剩下的就是教育了?!苯逃恼嬷B在于將知識轉(zhuǎn)化為智慧。在JavaScript網(wǎng)頁編程和其他程序設(shè)計類課程教學(xué)實踐中,采用“3智慧”教學(xué)策略,將教學(xué)內(nèi)容游戲化、學(xué)習(xí)思維可視化,學(xué)生學(xué)習(xí)興趣濃厚,在專業(yè)學(xué)習(xí)中獲得的成就感促進軟件技術(shù)專業(yè)學(xué)生更加積極、樂觀,具有良好的自我學(xué)習(xí)和再學(xué)習(xí)的能力,具備智慧人才的基本特征。