陳英
在AI時代,智慧、創(chuàng)新是核心?!笆谥詽O”是課堂教學改革和人才培養(yǎng)的主旋律。本文從三層教學目標模型出發(fā),從知識開始探討關聯思維的發(fā)生,給出了三種不同類型的關聯思維并思考它們的意義。所得認識為:感性關聯與理性關聯激發(fā)解決問題能力的提升;模糊關聯與精準關聯催生知識點本質探究智慧的提升;物理關聯與數學關聯培養(yǎng)借鑒智慧能力的提升。
● 辨析:智慧溯源——知識
知識是雙目看到的世界的“像”,智慧是看世界的雙目。知識是智慧的源頭和基礎,智慧是知識的抽象和升華。
第一,知識是對物的研究,智慧是對人的研究。知識是對物的研究,通常是邏輯的、無矛盾的;智慧是關于人的,表現為面對客觀世界中錯綜復雜的矛盾的能力。
第二,知識通常用語言表達,并能夠直接習得,智慧本質則反之。事實性知識、概念性知識是可以通過語言描述并習得,原理性知識、程序性知識則可通過體驗習得。智慧本身,無法直接習得,智慧是一種觀察和體驗能力、一種關聯的能力,需要在實踐中觀察和體驗,它源于知識,又高于知識,是對知識的靈活運用和升華。
第三,知識有學科屬性,智慧無學科束縛。一般說來,我們通常先學習知識,然后再運用,在運用中發(fā)現知識的價值并思考如何靈活運用,這就獲得了局部智慧。為了本領域(本學科)更好的發(fā)展,我們可能會去了解其他領域的進展,在別的領域(其他學科)中發(fā)現新思想、新方法,并為自己所用,這時就更接近整體智慧。
● 解密:智慧密碼——關聯
南京師范大學李藝教授團隊提出的核心素養(yǎng)三層目標為:最底層——“學科知識層”指向基礎知識、基本技能。中間層——“問題解決層”指向解決問題過程中發(fā)生的認知沖突及解決。最頂層——“學科思維層”指向在系統的學科學習中通過體驗、內化等過程,逐步形成的相對穩(wěn)定的思考問題、解決問題的思維方法和價值觀。該模型為探究知識學習與智慧生成提供了可操作的模型。
學科知識層為我們提供智慧生成的基礎——“知識”,問題解決層為我們提供智慧生成的舞臺——“體驗”,學科思維層為我們提供智慧生成的載體——“關聯”。
關聯是從一個事物聯想到另一個事物的思維,是大腦運行的基本方式。在學習過程中,我們能從原有知識點聯想到新知識點,這就是關聯在起作用。關聯思維,就是找到你已經熟悉掌握的舊知識、原經驗,通過關聯,把新舊知識鏈接上,最終形成新的認知系統。要達成關聯,可從以下方面入手:明確關聯事物、尋找內在邏輯、明確關聯性質。
● 實踐:智慧之花——綻放
“用遞歸法解決問題”是高中選修教材《算法與程序設計》(教科版)第三章《算法的程序實現》第五小節(jié)的內容。在本課學習之前,學生已經學會了用循環(huán)的方法來解決問題,但循環(huán)的方法往往并不會那么清晰地描述解決問題的步驟,遞歸法則可以非常直白地描述一個問題的求解過程,因此遞歸法也是最容易被想到和實現的算法。遞歸的基本思想是把規(guī)模大的問題轉化為規(guī)模小的相似的子問題來解決。在函數實現時,因為解決大問題的方法和解決小問題的方法往往是同一個方法,所以就產生了調用它自身的情況。遞歸是利用系統的堆棧保存函數當中的局部變量來解決問題的,因為函數調用的開銷,遞歸常常會帶來效率問題。本節(jié)課不僅要學會用遞歸法解決問題,更重要的是領會遞歸思想的精髓。遞歸思想是計算機學科中的核心技術思想之一,其本質反映的是一種將復雜問題簡單化的思維方法。因此,在本課的教學中,要充分考慮和利用學生的舊知識和原經驗,通過感官、體驗等喚醒學生原經驗、舊知識,運用關聯手段,打通新舊知識間的邏輯鏈路,使學習自然發(fā)生。下面,筆者以本節(jié)內容為例,給出三種不同類型的思維關聯,分享思維關聯教學片段。
1.感性關聯與理性關聯激發(fā)解決問題能力智慧的提升
基于感性的關聯相對容易發(fā)生,而且,理性關聯必然以感性關聯為基礎,因此,從感性關聯入手并使之過渡到理性關聯,完成理性知識的學習,是一種可取的辦法。遞歸算法對于學生來說,是一種全新的事物,沒有任何學科經驗儲備,如果直接給出遞歸的定義,學生不容易理解,因此,在導入環(huán)節(jié),必須運用“關聯”,讓學生通過看、聽等感官刺激,對遞歸有初步體驗。
教學片段1:導入——謝爾斯賓三角形。
圖形是最好的感官素材,學生通過觀察含有遞歸思想的謝爾斯賓三角形,對遞歸有了最初步的感性認識。
師:同學們,在學習本課內容之前,先請大家來欣賞幾幅圖(如圖1),圖中的第一幅圖是著名的謝爾斯賓三角形,大家看看這三張圖之間有何奧秘?
生:謝爾斯賓三角形中,第二張可以由第一張得到,第三張可以由第二張得到。
師:這位同學觀察得很仔細,的確是這樣,如果把這幅圖倒著看,就會發(fā)現:要畫出第三張圖,必須能畫出第二張圖,要畫出第二張圖,必須能畫出第一張圖,從第三張圖到第一張圖,問題的復雜度降低了,化繁為簡了。其實在生活中有很多這樣的實例,這其中也蘊含了一種思想方法:把規(guī)模大的問題轉化為規(guī)模小的相似的子問題來解決,這就是本課要學習的一種重要算法——遞歸。
在形成了初步感性的認識后,再引導學生遞歸思想解決生活中的代數問題,從感性關聯過渡到理性關聯。
師:下面,來看生活中一個有趣的問題——簽到送金幣。規(guī)則如下:第1天,1個金幣,第2天,1個金幣,第3天,2個金幣,第4天,3個金幣……請問第15天能收獲多少金幣?同學們可以在紙上畫一畫,找一找送金幣的規(guī)律,也可以試著寫一寫函數表達式。
f(n)=? ________n=1或n=2
________ n>2
生:第1天或第2天都是1個,第3天開始是前兩天之和。
師:假設第n天的金幣數是f(n),請問前兩天的金幣數如何表示?
生:f(n-1)和f(n-2)。
師:非常好,大家一定要有這樣一個概念,f()是一個模塊,它能幫我們計算某天的金幣數,f(n)就是第n天的金幣數,f(n-1)代表的是第n-1天的金幣數。這樣,送金幣的函數表達式就能輕松表示出來了。
其實這個問題有兩種解法,一種是遞推法,可以利用循環(huán)遞推來解決,另一種是遞歸法。下面,我們一起來試一試,同學們寫遞推法的代碼,老師寫遞歸法的代碼,我們比一比哪種方法好(如圖2)。
生:從代碼量上看,遞歸法更加簡潔,也更容易理解。
師:那我們再比較一下兩者的運行速度。從下表的對比可以發(fā)現,在問題規(guī)模比中較小的情況下,兩者運行速度大體相當,但是當問題規(guī)模較大時,遞歸運行效率很低,這是為什么呢?下面,我們一起來解密遞歸的運行機制。
2.模糊關聯與清晰關聯催生知識點本質探究智慧的提升
在SOLO模型中所說的關聯思維,應該是清晰而精準的關聯,錯誤的關聯不僅不能起到好的學習效果,反而會使學習者陷入誤區(qū)。但是,清晰的關聯可以從相對比較容易得到的模糊關聯開始,再經過教師的引導,走向正確的清晰關聯,也是一種很好的辦法。還是以遞歸為例,至此,學生對遞歸有了初步的認識,知道遞歸是函數或過程的自我調用,但是計算機具體是如何實現的?自我調用的過程如何?要學好遞歸算法,這是必須過的一個坎,必須要求學生對遞歸的本質有比較深入的認識。此處,帶著對遞歸思想的初步認識,讓學生參與游戲,模擬遞歸過程。
教學片段2:游戲體驗遞推過程。
師:我們來做一個數學容積游戲——一個容器里有8升水,如何用一個3升和一個5升的容器將水分成相等的兩份?
生:裝滿3升桶→倒進5升桶里,裝滿3升桶→倒進5升桶里→3升桶里最后會留1升,倒干凈5升桶,把3升桶里的1升水倒進5升桶里,再裝滿3升桶→倒進5升桶里→共4升。
師:下面,我們再看下一個游戲!假設我們在一個漆黑一片的電影院中,我不知道我是第幾排,請問能不能用遞歸的思想獲得答案?
生:可以不斷地往前排追問,最終能找到第1排,然后再回頭告訴后一排當前排數,這樣最后一個就能得到答案了。
師:遞歸=遞推+回歸,遞推是為了縮小問題規(guī)模,直到最簡單的情況有確定解,再通過回歸得到最終解。那么,這兩個游戲哪個是遞歸呢?
生:第二個游戲更像遞歸!
師:大家能夠畫出電影院排數題遞歸法的求解過程圖嗎(通過雙向箭頭問題解決過程圖形化描述,遞歸過程逐漸從模糊到清晰)?下面,老師從數據結構的角度給大家來解釋一下遞歸的執(zhí)行機制,并一起來探究為什么遞歸執(zhí)行速度要比遞推慢。計算機執(zhí)行遞歸時,是通過堆棧來實現的(黑板畫圖)。在遞歸開始時,系統建立一個堆棧,入棧,保存現場,在遞歸結束后,把運算值出棧,恢復現場。這就是遞歸算法在計算機內部的運行機制,現在大家能夠理解為什么遞歸執(zhí)行效率比較低了嗎?
生:明白了,因為計算機需要不停地出入棧,會占用很多資源,也很費時間。
3.物理關聯與數學關聯培養(yǎng)借鑒智慧能力的提升
我們對物理對象的嚴格把握,是通過對其建立數學模型來實現的,這種情況,是所有自然科學學科中的普遍現象,因此,讓學習者對所學知識最終建立數學意義上的關聯才是根本目標。但在嚴格的數學關聯關系建立之前,可以有物理的或表象的關聯關系先予建立,學習者可以在此基礎上進一步走向數學關聯,這是就所學知識建立關聯關系的一個有效途徑。
教學片段3:生活中的遞歸。
師:經過前面的活動,我們對遞歸有了初步了解,下面動手來實踐一下,用遞歸解決生活中的問題。大家請看梵塔問題。要解決這個問題需要不斷減小問題規(guī)模,最簡單的情況是1個盤子,只要會移動1個盤子,就會移動2個……符合遞歸思想。梵塔問題是一個只能用遞歸法求解的經典問題,在學習遞歸算法后,看到類似梵塔模型(如走臺階問題),就能聯想到遞歸法。數學的本質是一門語言,是結構和關系的描述。物理和數學的研究對象都是結構,其中物理的結構是客觀存在,而數學的結構則是抽象邏輯映射。下面,讓我們走進數學,欣賞代數之美——歐幾里德算法(求最大公約數)(如圖3)。
最后,我們一起來總結一下遞歸算法:遞歸是一種化繁為簡的思想方法,相鄰兩項之間必須有確定的遞推關系,必須有遞歸出口。遞歸算法用簡單模式解決復雜問題的思想廣泛地存在于程序設計乃至其學科中。
● 結束語
本課通過三種不同類型的思維關聯舉例,分析了關聯思維在算法教學中的運用,并得到以下幾點體會:第一,對于抽象度高的知識點,教師必須充分利用學生已有的知識儲備和生活經驗,在教學導入環(huán)節(jié)通過各種方式來喚醒原概念。第二,要在新舊知識點之間產生聯系,“關聯”是最好的激發(fā)方式,從關聯對象維度出發(fā),進行生活關聯、學科內關聯、學科間關聯等。從關聯方式角度看,有感性關聯與理性關聯、模糊關聯與清晰關聯、物理關聯與數學關聯等。