王勤
計算思維的概念一經提出就引起了國內外科學界和教育界的廣泛關注。美國從幼兒階段就開始注重計算思維的培養,而我國直到2010年才在上海交通大學和南方科技大學開展計算思維的課程實踐,在基礎教育領域也一直沒有引起足夠的重視。在2015年之前,無論是江蘇省信息技術教材還是南京市信息技術教材,均將最具計算思維培養的“VB程序設計”內容安排在初中信息技術的選修部分,而大部分初中學校卻未開設信息技術選修課。新課程實施后,兼顧理論與實踐的“VB程序設計”內容被調整到初中八年級信息技術教材的必修部分,突破了信息技術課只教工具軟件的局限。于是,筆者嘗試在“VB程序設計”教學中,融入計算思維培養理念,努力探索新的教學模式,為同類學校開展“VB程序設計”教學提供一個有價值的參考方案。筆者在具體教學實踐中,主要探索運用了“項目教學、實驗報告、合作教學”的教學模式。
項目教學:生成計算思維全過程
項目教學是目前在高中常用的一種教學形式,筆者在觀摩幾節高中項目教學的公開課后,覺得它在初中“VB程序設計”教學中也可以借鑒。在假期,筆者認真研讀了南京市教研成果叢書——《項目教學——高中信息技術》,對項目教學有了更深刻的理解和全新的認識后,開始著手準備項目教學方案。在日常教學實踐中,筆者發現初二學生的邏輯思維能力處于逐漸形成階段,如果直接給他們灌輸算法、程序代碼,會顯得生硬、枯燥、難懂,學生理解起來很吃力。于是,筆者在明確了“VB程序設計”的核心目標和教材內容的基礎上,對問題進行化簡,將教材目標設計為系列的“項目”內容,再圍繞各個目標設計出學生感興趣和具有創造空間的小項目。與直接教授知識點相比,該方法看似增加了解決問題的復雜度,但卻能突破難點,這就是計算思維中非常典型的分治法,將復雜的問題分而治之。學生在完成各項目的同時,實現了解決問題和知識的獲取,計算思維能力也得到了提高。在設計學習項目主題時,筆者認為以下三點對項目學習成功與否起著決定性作用。
1.主題內容要“貼生活”
項目學習的主題應是生活中學生感興趣的、有用的。例如,筆者設計的是開發“超市收銀軟件”主題項目,先讓學生到超市去觀察,了解超市收銀軟件的界面和收銀過程。學生會得出不同的超市使用的收銀軟件界面和功能不一樣的結論。那么,什么樣的界面是自己喜歡又符合收銀要求的呢?筆者讓學生自己做決定,這就激發了學生的學習興趣和內在動力。這種分析了解問題需求,由抽象的收銀需求到進行具體的收銀軟件設計的思維過程,就是培養學生利用計算機科學的概念進行問題解決的計算思維。
從簡單的“收銀計算器”經過五次升級到功能強大的“收銀軟件”,隨著問題復雜度的逐步提升,涉及的知識點不斷增加,這樣學生在掌握如何采用抽象和分解來控制龐雜的任務或進行巨大復雜系統設計的方法時,也就知道了解決問題的方法。這些思想方法和思維能力是一通百通的,也是如今計算機基礎教學中真正希望學生掌握的。
這種源于生活的項目學習,最終還能讓學習成果應用于生活。超市收銀軟件設計的成功,對學生今后的生活有兩個影響:作為未來的創業者,他們可以設計自己公司的活動方案;同時,作為消費者,面對琳瑯滿目的消費廣告,學生可以運用自己所學的知識,幫助自己和家人做出理性的選擇。
2.主題內容要“可創新”
初中生具有較強的自主性,愿意表達自己的觀點,在選擇與設計項目學習主題時,教師要留給學生創新的空間,讓他們的個性、特長得以在項目學習中發揮,增強自信心和自豪感。例如,學生在設計軟件界面時,要根據功能使用工具控件,這時教師介紹控件工具箱給學生,這比先講授再操作效果要好。尤其是通過屬性窗口對界面進行“裝飾”時,學生的審美和想象力都迸發出來了。有了這樣的鋪墊,學生再學習算法和編程程序代碼時就積極多了。將具體問題抽象化后由計算機實現,學生再從各自的程序執行效率中判斷出算法,這就在活動中體現了計算思維的抽象化和自動化。
3.主題結果要“可分享”
筆者在教學中明顯感覺到,只要有看得見的“作品”產生(作品不見得要“高大上”,更不必“完美無瑕”),學生的學習動力就很容易挖掘出來。超市收銀軟件設計成功后,學生們比誰的界面吸眼球,比誰的功能更實用、強大,面對有形的作品,學生相互之間進行分享、交流,取長補短,這就會有更完美的作品生成。項目學習成果的交流展示不僅是對學生付出和能力的肯定,也是對他們學習過程的考核。這種交流合作不僅增加了學生之間的友誼,而且使他們將這種合作意識延伸到平時的學習和生活中。
實驗報告:運用計算思維解決問題
實驗報告是大學實驗課普遍采用的方式,它能夠很好地幫助學生梳理知識點,記載思維過程。在教學中,教師經常發現這樣一種現象:學生認為有了課件、學件,就不用帶書和筆了。而“VB程序設計”的核心是算法,是思維,需要筆和紙去記載。因此,教師可以把實驗報告作為學生運用計算思維解決問題的載體,通常實驗報告由以下四個部分組成。
1.復習預習
復習:內容是前一節課知識的歸納總結,并完成簡單的書面作業,目的是幫助學生拾起上節課的思維,鞏固所學知識。
預習:本節課的知識點。
例如,在第2課時,復習如下內容:
①賦值語句
x=2
x=x+2
程序執行后,x的值是----------
②請完成下面連線:
預習內容:round(x,n)函數的功能:將x保留n位小數,四舍五入。
round(3.1415,2)=----------
round(3.1415,3)=----------
2.新知
運行上節課的軟件,學生會發現新問題,這時教師引入新知識,引導學生結合實驗報告進行自主探究,找出解決問題的方法并記錄(運用計算機科學的概念進行問題求解)。endprint
以第2課時為例,①假如需要購買10件相同物品,能不能只輸入1次價格呢?請修改界面。增加——————控件,——————屬性值是——————; ——————控件,——————屬性值是——————;②結賬時,怎么精確到角呢?引入了round()函數,讓學生運行round()函數軟件,再與自己的預習結果進行比較;修改“結算”按鈕程序,在實驗報告上記錄,并運行。
3.實驗結果
針對實驗結果,通常的做法是:學生完成任務后,把作品上傳給教師,教師播放優秀作品,再讓學生修改補充。教師批閱時并不知道學生在實踐過程中遇到的問題,一周后反饋給學生時,學生的疑惑也早已忘記。將實驗結果設計在實驗報告中,教師就能很直觀地看出結果正確與否,再看學生完成操作時記下的算法和程序代碼,就能掌握學情,再有針對性地設計下節課實驗報告的復習內容。實驗報告的應用使學生的自學和反思有了真正的落腳點。
4.總結歸納
課堂總結在教學中具有非常重要的作用。學生在回顧解決問題的過程中,將遇到的問題、采用的方法等,在實驗報告中記錄下來,就能將所學知識有機地連貫起來。對于比較難的知識點,教師還可以采用填空式總結,讓學生填寫關鍵詞和詞組,加深其印象和理解。
合作教學:突破傳統授課模式
“VB程序設計”課程的理論性和實踐操作性都很強,教師在指導學生實踐時,無法顧及到全體學生,要讓學生真正掌握好“VB程序設計”,關鍵是要及時引導學生形成解決問題的思維方法。因此,筆者采取兩位教師合作教學的授課方式應對一位教師所不能解決的難題,并獲得了較好的教學效果。
1.合作備課——思維方式融合
不同的教師(尤其是不同年齡段的教師)在知識結構、思維方式以及認知風格等方面是不同的,他們在教授同一課題時,在教學內容的處理與教學方法的選擇上會存在差異,這種思維與思維的碰撞就是計算思維的體現,是一種寶貴的教學資源。教師應將這種差異有效地融合在一起,找到最貼切的教學方法,教會學生將拓展的計算思維應用到解決問題當中。
例如,在設計計數循環語句時,一位教師采用的是教材上的例子:計算1+2+…+100的值,重在培養學生運用數學思維解決數學問題;而另一位教師設計的例子是:計算1到100之間偶數的和,教師商量之后設置兩個命令按鈕的學習任務讓學生實現。所教內容相互啟發,互有補充,使學生的思維得到了鍛煉和培養。
2.協同施教——即興思維互補
有人說“授課永遠是一門遺憾的藝術”,每位教師都有這種切身體會,而協同授課可以彌補這種遺憾。每節課都對教師進行角色劃分,授課教師負責組織教學,指導教師負責觀察、巡視,指導學生用恰當的方法將知識點消化。當指導教師發現學生對新知有困惑時,可以提醒授課教師換一種思維方式進行補充講解。例如,在講授賦值語句時,語句“x=2”,意思是將2賦給變量x,不能讀成“x等于2”。指導教師發現學生似懂非懂時,就及時進行了補充講解:數學上“x=x+2”是不成立的,而“x=x+2”作為VB語句是成立的。這句話的意思是“將x的值加上2后再賦給變量x”,在command1中編寫程序代碼如下:
x=2
x=x+2
Print “x=”;x
運行后x的值是多少?
這樣解釋后,學生就會感覺茅塞頓開。
3.共同反思——促進思維發展
每節課后,筆者都會根據教學任務的完成情況,進行反思,把不合理的地方調整到引導學生解決問題的方法上,在此基礎上,合作教師再互換角色上課,完成第二次實踐。實踐證明,這種超越自我利益的合作教學,最大限度地挖掘出教師的潛力,產生了“一加一大于二”的效果。
結束語
大數據時代的到來,必要的編程知識已經成為人們更好地理解新技術、新服務和新商業模式的第三只眼睛,改變著人們解決問題的方式。通過各種形式探究培養學生計算思維的方法,應該是教師們共同努力的方向!endprint