曹陽+李慧+張金區(qū)+王興芳
摘 要:針對教學目標和學生特點,介紹如何設計根據(jù)作業(yè)要求、數(shù)量和時間分層的編程類作業(yè)以及開放性、創(chuàng)造性的主題性作業(yè),并針對不同類型的作業(yè)提出多元化的形成性評價方法;具體介紹在高級語言程序設計和移動應用開發(fā)課程中進行基于形成性評價的作業(yè)設計實踐,并說明教學效果。
關鍵詞:形成性評價;程序開發(fā);作業(yè)設計
0 引 言
形成性評價,又稱過程評價,是一種典型的反映學習過程的評價方式[1]1。教師可以通過有效運用形成性評價教學策略,從學生的活動中收集“以評價為根據(jù)的證據(jù)”,并參考這些證據(jù)做出適當決策,即時調(diào)整教學[2]。程序開發(fā)課程的教學是一種導向性的教學行為,在教學過程中重視形成性評價的運用,可以將學習的目標、過程和本質(zhì)視為一個整體來考慮,從而達到提高學生編程能力的目的。
從教學評價的角度看,教師在教學過程的各個時段,針對教學目標與學習過程布置的各類學生作業(yè),既是教學過程的重要環(huán)節(jié),也是形成性評價的具體操作方式[1]1。通過把程序開發(fā)作業(yè)作為形成性評價的工具加以利用,教師結合課程教學目標,優(yōu)化作業(yè)設計,可以充分發(fā)揮形成性評價的效能,有效實現(xiàn)教學目標。
1 程序開發(fā)作業(yè)的設計原則
形成性評價理論指導下的程序開發(fā)作業(yè)設計是指根據(jù)課程教學目標和學生特點,對作業(yè)內(nèi)容進行篩選和編制,設計作業(yè)的形式和評價反饋方案。為了提高作業(yè)效果、實現(xiàn)教學目標,程序開發(fā)作業(yè)的設計應該遵循以下幾個原則。
(1)增強作業(yè)設計的目標針對性和作業(yè)內(nèi)容的關聯(lián)度。教師應該根據(jù)教學目標,確定作業(yè)涉及的知識點、重點和難點,作業(yè)內(nèi)容實現(xiàn)與課堂教學進度關聯(lián),幫助學生鞏固課堂上所學的知識。作業(yè)設計應該充分考慮學生已有的知識水平和能力,讓不同學習水平的學生都能參與作業(yè)活動,體驗學習成功的快樂。
(2)處理好作業(yè)的難度與數(shù)量,設計多種形式的作業(yè)。作業(yè)設計盡量結合現(xiàn)實問題,由易到難、由淺入深,既要有針對性又要層次分明、體現(xiàn)梯度。通過設計形式不同、內(nèi)容豐富的作業(yè),提高作業(yè)的吸引力,激發(fā)學生的學習興趣,形成良好的學習動機。
(3)優(yōu)化作業(yè)評價方式,形成深層次反饋循環(huán)模式。形成性評價是一種關注學生學習過程的持續(xù)性評價。通過改進作業(yè)評價方式來全面關注學生,幫助教師及時發(fā)現(xiàn)學生作業(yè)中的亮點和問題,便于教師改進教學策略,提高教學效果。此外,通過作業(yè)講評和反饋活動也可以幫助學生監(jiān)控自己的學習,改進學習過程,營造一種積極向上的學習氛圍。
2 作業(yè)類型的設計
2.1 分層的編程類作業(yè)
施良方教授在《教學理論:課堂教學的原理、策略與研究》一書中明確指出:對于不同的學生要求設計有差異的課外作業(yè)[3]。分層作業(yè)有利于因材施教,促進不同層次學生的提高和發(fā)展。在程序開發(fā)課程中,筆者主要針對日常課后的編程類作業(yè)進行作業(yè)要求、數(shù)量和上交時間方面的分層設計。
1)作業(yè)要求分層。
根據(jù)課程知識點的要求和不同學生的學習能力,教師對同一個編程題目設計不同的作業(yè)要求。例如高級語言程序設計課程中的“判定素數(shù)”編程作業(yè),基礎性要求是使用循環(huán)和試除法判斷一個整數(shù)是否為素數(shù);擴展性要求是通過遞歸實現(xiàn)素數(shù)的判定算法;創(chuàng)新性要求是求解n以內(nèi)素數(shù),當n的數(shù)量級很大時,如何改進算法提高編程效率。移動應用開發(fā)課程中的“利用ListView組件實現(xiàn)多個文本組件滾屏顯示”的作業(yè),基礎性要求是結合ArrayAdapter和ListView實現(xiàn)文本列表;擴展性要求是使用SimpleAdapter實現(xiàn)帶圖片的列表;創(chuàng)新性要求是自定義適配器實現(xiàn)對列表選項中按鈕的響應。
對于學習困難的學生,讓他們完成基礎性、模仿性的作業(yè),能夠通過練習掌握課程要求的基礎知識點,為下一步學習做好鋪墊。對于學有余力、善于探索的學生,通過擴展性和創(chuàng)新性的作業(yè)要求,引導他們努力完成更高層次的編程任務,在加深知識的理解和運用的同時,培養(yǎng)他們的創(chuàng)新精神和探究意識。
2)作業(yè)數(shù)量分層。
在布置作業(yè)時,適當減少學習困難學生的作業(yè)量,尤其是降低難度大的作業(yè)量,但夯實基礎、提升編程基本技能的作業(yè)是不能減少的。因此,教師在布置編程作業(yè)時,往往分必做題和選做題兩種。學有余力的學生可以自由選擇完成拓展性的選做題,例如,高級語言程序設計中的選做題“猜數(shù)游戲”“求兩個矩陣的乘積”“在屏幕上動畫顯示一個數(shù)字式時鐘”等;移動應用開發(fā)課程中的選做題“背景音樂播放器”“來電歸屬地查詢軟件”“貪吃蛇游戲”等。這些選做題可以提高學生的學習興趣,在加深基礎知識的理解和應用的基礎上,開拓學生的思路,提高創(chuàng)新能力。
3)上交作業(yè)時間分層。
由于學生對知識的掌握程度不一樣,在作業(yè)完成的時間上也會有所不同。教師可根據(jù)具體情況寬限部分學生提交作業(yè)的時間,允許一些學習困難的學生晚交作業(yè),但時間上要有一定的限制,并要求學生保質(zhì)保量地完成作業(yè)。這種方式有利于形成良性的循環(huán),鼓勵學生通過作業(yè)鞏固所學知識。
2.2 開放的主題性作業(yè)
編程類作業(yè)主要保障學生對基礎知識點的掌握以及課后的深化學習,而主題性作業(yè)重在培養(yǎng)學生綜合運用編程方法解決實際問題的能力。
主題性作業(yè)就是把作業(yè)活動與研究、解決實際問題結合在一起,并要求學生在一定的情境中完成[4]39。開放的主題性作業(yè)則讓學生在“多種方案”或“多種信息”中靈活運用所學知識思考問題和解決問題。這種類型的程序開發(fā)作業(yè)可以充分發(fā)揮學生的主動性,引導學生積極思維,探究解決問題的方案,切實體會一個完整系統(tǒng)的開發(fā)過程。
針對不同內(nèi)容和層次的程序開發(fā)課程,可以給出相應的主題性作業(yè)設計。例如高級語言程序設計課程的主題性作業(yè)“學生通訊錄管理系統(tǒng)”,實現(xiàn)的數(shù)據(jù)結構可以是數(shù)組或鏈表,采用單文件結構或多文件結構,運用基于過程或面向?qū)ο蟮某绦蛟O計方法等。移動應用開發(fā)課程的主題性作業(yè)由教師提供可選題目,例如運動健康類APP、移動定位服務類APP等。學生也可以根據(jù)自己的興趣,自己設計項目題目和內(nèi)容,但是技術難度和工作量要與主題性作業(yè)的要求相匹配,并得到教師的認可和批準。
主題性作業(yè)一般采用小組合作的方式,作業(yè)成果由學生合作展示,這樣可以促進學生間的交流,培養(yǎng)團隊合作能力。由于學生在課堂上的知識儲備有限,為了完成主題性作業(yè),需要廣泛查閱資料,從而激發(fā)學習興趣,拓展知識面和視野。
3 作業(yè)評價方法的設計
作業(yè)評價是形成性評價的主要手段。如何更好地運用多元化的作業(yè)評價方式,在全面評價學生的同時,更好地促進學生發(fā)展是作業(yè)評價的根本目的[4]11。在教學過程中,針對不同類型的作業(yè),形成性評價的方法也不盡相同。下面針對上述分層作業(yè)和主題性作業(yè),介紹相應的評價方法,強調(diào)評價信息的及時反饋,注重對學習過程的指導和改進。
3.1 分層作業(yè)的批改
作業(yè)評價不是用來鑒別好壞的篩子,而是激勵學生思維的“泵”[5]。分層作業(yè)的評價應該以鼓勵為主,根據(jù)學生的不同層次水平采用不同的評價標準,從而使尖子生能夠在高標準、高要求下追求更高層次的目標,而學習困難的學生也有被認同和贊許的機會。
參照教學設計理論中的良構與劣構問題理論[6],編程類作業(yè)以劣構型作業(yè)為主,即布置類似于標準化測驗中的主觀題,學生對這類作業(yè)的解答通常是比較自由且富有個性和創(chuàng)造性。即便是正確的程序,有的簡潔高效,有的冗長繁雜,所以需要區(qū)別化對待,有針對性、深入地反饋教師的批改意見。對于學習基礎較弱的學生,編程類作業(yè)評價的重點在于學生對語法知識與編程技能的掌握程度,對于錯誤的作業(yè)要分析錯誤產(chǎn)生的原因,提出修改意見,并在課堂上呈現(xiàn)修改示范。對于學習優(yōu)異的學生,作業(yè)評價反饋的重點在于指導和培養(yǎng)學生優(yōu)秀的編程風格和創(chuàng)造性的解題思路。通過因人而異的作業(yè)評價方案設計,教師對學生不同時間內(nèi)的學習情況實施形成性評價,讓學生對習得情況有自我了解,也讓教師對自己的教學方案進行整理反思。
課堂上的作業(yè)代碼講評是形成性評價中深層反饋的重要環(huán)節(jié)。在課堂上,采用輕量級代碼評審方法講解學生的作業(yè)代碼,引導學生發(fā)現(xiàn)問題并提出改進意見,同時強調(diào)編程風格和計算思維的培養(yǎng),對不同層次的學生都有促進作用,可以激勵學生不斷改進,培養(yǎng)編寫高質(zhì)量代碼的能力。
3.2 主題性作業(yè)的分階段答辯和評審
主題性程序開發(fā)作業(yè)是圍繞一個項目主題設計的系列性開發(fā)作業(yè)。學生在完成作業(yè)的過程中,既要查閱資料,又要設計編程,作業(yè)完成周期相對較長,有的作業(yè)甚至跨越半個或整個學期。因此,主題性作業(yè)的實施劃分為前期計劃、階段實施、過程評價、中間反饋和成果展示5個階段,作業(yè)的評價方式主要采用項目的分階段答辯和評審。
在主題性作業(yè)的前期計劃中,教師將根據(jù)教學進度和課時對開發(fā)任務進行分割,設定不同階段評審的時間節(jié)點。在每個階段結束后,教師組織學生進行階段答辯和評審。學生對本組已經(jīng)完成的工作進行介紹講解,同時回答教師和其他小組學生的提問,由教師和學生對各小組的階段性成果進行評價和打分,最后由教師進行項目講評。講評的內(nèi)容包括各小組的主要成績、存在的主要問題、改進意見和建議等。
采用分階段答辯和評審的方式可以讓教師隨時了解各項目組的開發(fā)進度,及時糾正學生在開發(fā)過程中出現(xiàn)的錯誤和偏差,避免問題的積累和擴大,同時增加學生對項目開發(fā)的積極性和參與程度,讓學生能夠了解其他小組在開發(fā)中存在的各種問題,增加項目開發(fā)的經(jīng)驗和能力。
對學生各階段的表現(xiàn)進行評價,涉及多個方面的考核指標,例如學生的開發(fā)能力、技術水平、項目參與程度、團隊合作能力等。因此,設計合理的考核指標和評價標準是全面、客觀地評價學生學習情況的前提和基礎。表1給出移動應用開發(fā)課程的分階段任務和答辯評分標準的示例。
4 教學實踐和效果
2015—2016學年,筆者在計算機專業(yè)的高級語言程序設計和移動應用開發(fā)課程中進行了基于形成性評價的程序開發(fā)作業(yè)實踐,取得了較好的效果。
分層的編程類作業(yè)方面,高級語言程序設計課程中基礎性要求的作業(yè)完成率達到100%,而擴展性要求的作業(yè)完成率達到40%以上。通過課堂上的作業(yè)講評和代碼評審,學生認識到易犯的編程錯誤,例如整除歸零、數(shù)值溢出、指針出界等問題,學習了良好的編程風格,例如代碼縮進、命名約定、指針初始化等。移動應用開發(fā)課程的實驗課中,約1/3的學生可以在課堂上完成教師布置的開發(fā)任務,剩余的學生也可以在課后規(guī)定的時間內(nèi)提交作業(yè)。課堂上的作業(yè)講評和代碼評審也進一步強調(diào)了開發(fā)中需要注意的問題和解決方案,例如 Android 6.0版本以上的運行時權限處理問題等。
開放的主題性作業(yè)方面,高級語言程序設計課程中,15個小組完成了“學生通訊錄管理系統(tǒng)”的項目開發(fā),其中部分小組實現(xiàn)了Windows的窗口界面和雙語言版本的系統(tǒng);有6個小組完成了選做項目“排序動畫程序”開發(fā)任務。移動應用開發(fā)課程中,學生完成了“健康報時”“課堂速簽”“快遞偵探”“暢行”等26份優(yōu)秀作品,其中幾個項目還參加了2016年的校園杯軟件設計大賽和課外科研立項。通過開放性的作業(yè)和評價方式的創(chuàng)新,學生在項目開發(fā)過程中存在的問題得到了及時解決,學生的創(chuàng)造性也得到了更大的發(fā)揮。
5 結 語
在程序開發(fā)課程的教學中,基于形成性評價的作業(yè)及時反映了教與學的情況,有利于教師對教學效果進行及時檢驗,了解學生學習過程中存在的問題,并相應地調(diào)整教學內(nèi)容和進度。學生通過形成性評價,可以自我檢測對編程方法和技術的掌握程度,發(fā)揮學習的主動性。這種有效的調(diào)節(jié),有利于形成“自我檢測修定體系”,提高教學效果和質(zhì)量。
參考文獻:
[1] 劉占紅. 形成性評價視野下的科學作業(yè)設計策略研究[D]. 寧波: 寧波大學, 2014.
[2] 孫立坤. 提升高中數(shù)學教師形成性評價教學技能的設計研究[D]. 上海: 華東師范大學, 2014.
[3] 施良方, 崔允漷. 教學理論: 課堂教學的原理、策略與研究[M]. 上海: 華東師范大學出版社, 1998: 1-443.
[4] 高茜. 基于形成性評價的小學英語作業(yè)設計研究[D]. 天津: 天津師范大學, 2013.
[5] 劉冬喬. 高二化學形成性作業(yè)的設計與評價反饋研究[D]. 桂林: 廣西師范大學, 2014.
[6] 張雪莉, 張會會, 馬蓉, 等. 運用基于SCIT的形成性評價改進劣構型作業(yè)批改績效的個案研究[J]. 電化教育研究, 2016(4): 49-54, 61.
(編輯:孫怡銘)