邊楚女
惑與同行交流時(shí),大家經(jīng)常討論一個(gè)問題:現(xiàn)在都主張課堂要變革,要改變傳統(tǒng)“滿堂灌、滿堂講、滿堂問”的教學(xué)模式,讓學(xué)生的學(xué)習(xí)方式從傳統(tǒng)的接受學(xué)習(xí)轉(zhuǎn)向主動(dòng)學(xué)習(xí)、自主學(xué)習(xí)和探究學(xué)習(xí)等,創(chuàng)建以“學(xué)為中心”的生本課堂。大家都明白其中的道理,也能理解“學(xué)為中心”的理念,但落實(shí)到具體的課堂,落地到一個(gè)個(gè)教學(xué)行為時(shí),卻感覺很難,不知道如何把準(zhǔn)方向,也吃不準(zhǔn)自己的課堂是否真正做到了“以學(xué)生為中心”。
能這樣討論思考和自我質(zhì)詢的教師,值得充分肯定,因?yàn)樗麄冎辽僭诶碚撋习盐樟俗罡镜慕逃軐W(xué)——教為學(xué)而存在。但坐而論道,不如起而行之。行有所得,則需要付出持久的實(shí)踐探索。
作為這條探索路上的同行者,我試圖尋找一個(gè)教學(xué)的切入點(diǎn)和平衡點(diǎn),找到教學(xué)相互促進(jìn)、交融共生的良性發(fā)展生態(tài)。在這個(gè)過程中,我深切地感受到:教師的教只是一種“助產(chǎn)術(shù)”,一切的教都是為了讓學(xué)生實(shí)質(zhì)性地參與教學(xué)過程,讓學(xué)習(xí)真實(shí)地在我們課堂中發(fā)生,讓學(xué)生在我們的課堂中自主、自覺“生長(zhǎng)”。
那怎樣才能讓學(xué)生在我們的課堂中自主、自覺“生長(zhǎng)”呢?下面我以《VB順序結(jié)構(gòu)》一課為例,闡述具體的教學(xué)行為和實(shí)施理念。
在教授本課之前,學(xué)生已經(jīng)學(xué)了兩課時(shí)VB基礎(chǔ)知識(shí),初步了解了解決問題的一般步驟、算法基礎(chǔ)知識(shí),以及VB創(chuàng)建界面、設(shè)置屬性的方法,也依照范本編寫了非常簡(jiǎn)單的程序代碼,但還沒有涉及賦值和程序結(jié)構(gòu)的內(nèi)容,也沒有較獨(dú)立地編過程序。基于這些前置知識(shí),也為了結(jié)構(gòu)化、螺旋漸進(jìn)式地學(xué)習(xí)VB程序設(shè)計(jì),我設(shè)定這節(jié)課的主要教學(xué)目標(biāo)為深刻理解賦值概念和順序結(jié)構(gòu)思想;進(jìn)一步鞏固VB編程三步曲和代碼編寫基本結(jié)構(gòu)思想,培養(yǎng)讀簡(jiǎn)單程序的能力;通過遞進(jìn)的三個(gè)任務(wù)培養(yǎng)自主學(xué)習(xí)、探究學(xué)習(xí)意識(shí);通過編程實(shí)踐培養(yǎng)嚴(yán)謹(jǐn)?shù)倪壿嬎枷牒托〕绦虼笏枷氲膬r(jià)值理念。
● 課堂教學(xué)
1.讓學(xué)生玩一玩
上課前,我發(fā)了七個(gè)VB可執(zhí)行程序(如圖1)給學(xué)生,讓他們“玩一玩”。這些程序有游戲、QQ登錄程序、計(jì)算器、數(shù)學(xué)問題等,我還特別強(qiáng)調(diào)了這些程序都是學(xué)長(zhǎng)們編的。
教學(xué)闡析:當(dāng)聽到這些程序是學(xué)長(zhǎng)們編寫的,學(xué)生們的表情變得很豐富。我猜想他們內(nèi)心應(yīng)該會(huì)產(chǎn)生各種想法,對(duì)接下來的學(xué)習(xí)也會(huì)有一些期待。讓學(xué)生親身去感受程序,而不是由教師來演示程序;讓學(xué)生感受學(xué)長(zhǎng)們的程序,而不是其他人編的程序,是讓學(xué)生真實(shí)了解VB模塊學(xué)習(xí)可以達(dá)到的廣度和深度,同時(shí)也讓學(xué)生產(chǎn)生一種自我對(duì)比的要求。
2.讓學(xué)生變一變(2分鐘)
上課伊始,我說:“剛才你們‘玩’了學(xué)長(zhǎng)們?cè)O(shè)計(jì)的VB程序,我想每位同學(xué)肯定會(huì)有一些觸動(dòng)。不知你們是否想過,在‘玩’的過程中你是什么身份呢?”隨即,我引導(dǎo)學(xué)生產(chǎn)生對(duì)兩個(gè)身份的認(rèn)知:一個(gè)是用戶(User),另一個(gè)是程序設(shè)計(jì)員(Programmer)。我繼續(xù)跟進(jìn):“從用戶轉(zhuǎn)變到程序設(shè)計(jì)員,中間需要一個(gè)持續(xù)學(xué)習(xí)、不斷探究的過程。從今天開始,同學(xué)們要轉(zhuǎn)變角色,去實(shí)踐體驗(yàn)程序設(shè)計(jì)員的身份,祝大家好運(yùn)!”
教學(xué)闡析:從用戶(User)到程序設(shè)計(jì)員(Programmer),這個(gè)角色的轉(zhuǎn)變一下子讓學(xué)生對(duì)自我的定位提升到一個(gè)高大上的檔位,由此學(xué)生內(nèi)心升騰起一種神圣感和探索未知的欲望。
3.讓學(xué)生說一說(4分鐘)
我布置了今天課堂的第一個(gè)任務(wù):兩個(gè)瓶子分別裝了醋和醬油,現(xiàn)在需要把醋和醬油交換,請(qǐng)用自然語言闡述解決該問題的算法。我讓學(xué)生先和同桌相互交流解決這個(gè)問題的算法,并讓他們注意語言表述要步驟清晰,語意明確。然后我請(qǐng)1~2位學(xué)生公開陳述他們的算法。
教學(xué)闡析:有人會(huì)認(rèn)為這個(gè)問題很簡(jiǎn)單,沒必要讓學(xué)生說。錯(cuò)!從實(shí)際教學(xué)來看很有必要!看似很簡(jiǎn)單的問題,學(xué)生卻會(huì)反饋各種各樣的答案。有些學(xué)生說,把瓶子的標(biāo)簽撕下來交換一下;個(gè)別學(xué)生甚至不明白這個(gè)問題的思路,想當(dāng)然地說把兩個(gè)瓶子相互倒一下就可以了;有些學(xué)生覺得問題很簡(jiǎn)單,不屑一說,卻在具體表述時(shí)語序顛倒、語義混亂。這時(shí),教師要引導(dǎo)學(xué)生進(jìn)入到科學(xué)的思路上,同時(shí)也要總結(jié)學(xué)生答案中的亮點(diǎn),鼓勵(lì)學(xué)生的發(fā)散性思維。然后讓學(xué)生非常清晰地感知問題解決的三個(gè)步驟——Step1:拿一個(gè)空瓶子,把醋倒入空瓶子中。Step2:把醬油倒入原來裝醋的瓶子。Step3:把原來的空瓶子裝的醋倒入原來裝醬油的瓶子。當(dāng)然,如果三個(gè)瓶子用字母來代替,描述則更清晰。這個(gè)過程也是讓學(xué)生通過主動(dòng)表達(dá)厘清思路、感知算法的形成過程。
4.讓學(xué)生想一想(3分鐘)
如果把以上的交換問題數(shù)學(xué)化,可以把它變成交換兩個(gè)數(shù)的問題;如果把這個(gè)問題計(jì)算機(jī)語言化,應(yīng)該怎樣表達(dá)呢?這里,我會(huì)讓學(xué)生思考半分鐘,然后按照VB的語法規(guī)則,告訴學(xué)生具體的表達(dá):m=a:a=b:b=m。同時(shí),著重強(qiáng)調(diào)這三個(gè)語句中的等號(hào)區(qū)別于數(shù)學(xué)中的等號(hào),它的意思是賦值,是把右邊(表達(dá)式)的值賦給左邊的變量。
教學(xué)闡析:“賦值”這個(gè)概念是這節(jié)課重要的核心知識(shí)。這個(gè)知識(shí)需要教師告訴學(xué)生,但為什么還讓學(xué)生思考一會(huì)兒再說呢?讓學(xué)生先思考,教師再給出解析,會(huì)讓學(xué)生產(chǎn)生認(rèn)知沖突后的對(duì)比,即使學(xué)生對(duì)賦值語句沒有任何概念,這樣的留白思考也有助于學(xué)生在后續(xù)學(xué)習(xí)中主動(dòng)改變和超越已有經(jīng)驗(yàn),實(shí)現(xiàn)更好的意義建構(gòu),同時(shí)也會(huì)激活學(xué)生的問題或疑惑。有些學(xué)生會(huì)“質(zhì)疑”:交換問題的意義在哪里?我告訴學(xué)生:小問題有大價(jià)值,以后學(xué)到排序算法時(shí),無處不在的交換會(huì)給你答案。
5.讓學(xué)生做一做(4分鐘)
明晰“=”號(hào)是賦值的含義后,一定要讓學(xué)生鞏固這個(gè)重要的知識(shí)點(diǎn)。我布置了三個(gè)程序段(如上頁圖2)讓學(xué)生練習(xí),同時(shí)提醒學(xué)生:在計(jì)算機(jī)中,這些語句都是一句句依次執(zhí)行,不會(huì)回頭。
教學(xué)闡析:第一個(gè)程序段讓學(xué)生明晰程序執(zhí)行規(guī)則和賦值含義。第二、三個(gè)程序段除了進(jìn)一步鞏固認(rèn)知外,還對(duì)今后的循環(huán)語句引入起到鋪墊作用。
6.讓學(xué)生編一編(15分鐘)
明確了交換問題的算法,接下來要把它用程序編出來。編程是一個(gè)系統(tǒng)工程,但我們面對(duì)的畢竟不是信息學(xué)競(jìng)賽的學(xué)生,所以在打基礎(chǔ)時(shí)不宜太快,要讓學(xué)生形成系統(tǒng)的邏輯認(rèn)知。這個(gè)環(huán)節(jié)分成兩步:①鞏固VB編程三步曲——?jiǎng)?chuàng)建界面、設(shè)置屬性、編寫代碼。學(xué)生在上節(jié)課對(duì)創(chuàng)建界面和設(shè)置屬性略有接觸,但還不熟練,所以我會(huì)做關(guān)鍵點(diǎn)的演示和提醒,但更多的還是交給學(xué)生自己操作。②提出編程思路。編寫代碼時(shí)要讓學(xué)生建立VB編程主要思路:定義變量、接收數(shù)據(jù)、數(shù)據(jù)處理和輸出結(jié)果(如上頁圖3)。我對(duì)這四個(gè)環(huán)節(jié)做了關(guān)鍵點(diǎn)的講解演示后,再讓學(xué)生一步步去實(shí)踐。
教學(xué)闡析:有些新知,如果沒有教師的引領(lǐng),學(xué)生是無法自主探究的,但教師也無須面面俱到,給予一定的方法支持和關(guān)鍵點(diǎn)指導(dǎo)后,就要放手讓學(xué)生去實(shí)踐體驗(yàn)。這個(gè)環(huán)節(jié),為了培養(yǎng)學(xué)生自主編程習(xí)慣,我只把可執(zhí)行文件發(fā)給學(xué)生,等學(xué)生的代碼編寫好時(shí),再發(fā)送程序代碼截圖供其對(duì)照分析。
7.讓學(xué)生改一改(7分鐘)
第二個(gè)任務(wù)是“Mini加法器”。我反其道而行之,只提供程序代碼,讓學(xué)生讀懂代碼后再創(chuàng)建VB界面(如上頁圖4),同時(shí),讓學(xué)生思考:如果把它改為減法等其他程序時(shí),應(yīng)該怎么改動(dòng)界面和程序?
教學(xué)闡析:這個(gè)任務(wù)有三個(gè)設(shè)計(jì)意圖:一是在第一個(gè)任務(wù)鋪墊下,進(jìn)一步培養(yǎng)讀程序能力;二是對(duì)照程序來設(shè)計(jì)界面,鞏固VB基礎(chǔ)知識(shí);三是根據(jù)學(xué)生自身需求自主改動(dòng)、拓展程序和界面,賦予學(xué)生更多的思考空間和選擇權(quán)。
8.讓學(xué)生探一探(8分鐘)
第三個(gè)任務(wù)是“計(jì)算圓的周長(zhǎng)和面積”,我提供窗體界面和留白程序(如圖5),讓學(xué)生補(bǔ)充程序。當(dāng)學(xué)生編寫好程序進(jìn)行調(diào)試時(shí),發(fā)現(xiàn)程序出錯(cuò)了(如圖6),沒錯(cuò),這也是我設(shè)置的一個(gè)小陷阱!
教學(xué)闡析:這個(gè)任務(wù)有兩個(gè)設(shè)計(jì)意圖:一是讓學(xué)生獨(dú)立地補(bǔ)充程序關(guān)鍵語句,以進(jìn)一步夯實(shí)編程基礎(chǔ);二是設(shè)置錯(cuò)誤障礙,讓學(xué)生自主探究問題根源,培養(yǎng)對(duì)程序的敏感性。
9.讓學(xué)生悟一悟(2分鐘)
三個(gè)任務(wù)完成后,課堂也接近尾聲。我說:“今天大家實(shí)踐體驗(yàn)了三個(gè)程序,當(dāng)我們回首,會(huì)感受到三段程序‘顏值’都差不多,執(zhí)行的規(guī)律也是每個(gè)語句依次執(zhí)行,不猶豫,不回頭,一直到輸出結(jié)果。這種依次執(zhí)行的程序結(jié)構(gòu)有一個(gè)大家都能理解的名字——順序結(jié)構(gòu)。你能接受嗎?”
教學(xué)闡析:“順序結(jié)構(gòu)”四個(gè)字到課堂的最后一刻才跳出來。親愛的教師們,這是為什么呢?
● 課堂綜述
對(duì)于這節(jié)課,我想回答兩個(gè)問題。
一是為何選擇《VB順序結(jié)構(gòu)》這一課來闡述我的實(shí)施理念?原因是很多教師認(rèn)為這一課很簡(jiǎn)單,幾句話帶過即可。單純從知識(shí)難度值來說,這種說法沒錯(cuò)。但是如果考慮VB程序設(shè)計(jì)這一模塊教學(xué)的整體性,考慮課與課之間的關(guān)聯(lián)度和知識(shí)鞏固需要,以順序結(jié)構(gòu)為載體,實(shí)則可以生發(fā)出很多內(nèi)容。所以,我們的教學(xué)目的不是為了教順序結(jié)構(gòu),而是通過順序結(jié)構(gòu)的內(nèi)涵來推動(dòng)學(xué)生的充分實(shí)踐,讓學(xué)生的知識(shí)和技能承上接下,支持后續(xù)學(xué)習(xí)。
二是為何到最后才點(diǎn)明課題?關(guān)鍵詞——順序結(jié)構(gòu)到最后一刻才低調(diào)登臺(tái),我實(shí)非刻意,而是不經(jīng)意間有了這樣的編排。我認(rèn)為,順序結(jié)構(gòu)的含義無須一開頭就花時(shí)間闡析,相反,設(shè)計(jì)有意義的體現(xiàn)順序結(jié)構(gòu)內(nèi)涵的任務(wù)讓學(xué)生實(shí)踐體驗(yàn),經(jīng)歷層層推進(jìn)、環(huán)環(huán)促進(jìn)的一個(gè)學(xué)習(xí)過程才是課堂的最終目的。因?yàn)?,?dāng)所有任務(wù)都完成時(shí),當(dāng)學(xué)生的認(rèn)知能力提升后,順序結(jié)構(gòu)的內(nèi)涵就自然融入到學(xué)生的意義建構(gòu)中,而“順序結(jié)構(gòu)”這個(gè)提法本身,已然不重要了。
● 觀點(diǎn)總結(jié)
“教育是生命生長(zhǎng),而不是加工、制造。教育的過程是把人類生命的精神能量,通過教與學(xué)的活動(dòng),在師生之間、學(xué)生之間實(shí)現(xiàn)轉(zhuǎn)換和新的精神能量的生成過程”。我們所做的一切是為了激活學(xué)生內(nèi)在的學(xué)習(xí)需要,讓學(xué)生個(gè)體生命潛能得以彰顯。所以,請(qǐng)摒棄形式主義的教學(xué)設(shè)計(jì),多一些順應(yīng)學(xué)生的教學(xué)考量;跳出拘泥于教材編排的固化思維和“形而上”的條條框框,多從課程目標(biāo)和學(xué)情出發(fā)設(shè)計(jì)學(xué)習(xí)任務(wù);去除過度包裝、華而不實(shí)的情境堆砌,多一些樸素的引導(dǎo)和點(diǎn)撥;少一些對(duì)課堂的“權(quán)威”控制和干涉,多釋放思考空間和學(xué)習(xí)時(shí)間。這些都是我們要回歸真課堂的教學(xué)行為。
讓學(xué)生實(shí)質(zhì)性地參與教學(xué)過程,讓學(xué)習(xí)真實(shí)地在我們課堂中發(fā)生,這是課堂生活的正常生態(tài)底線,是每位教師應(yīng)有的堅(jiān)守。教師只有把“學(xué)為中心”理念落到具體的教學(xué)行為中,并轉(zhuǎn)化為教學(xué)常態(tài),才能真正實(shí)現(xiàn)學(xué)生的知識(shí)增長(zhǎng)、情感滋長(zhǎng)和生命的自主、自覺生長(zhǎng)。
教師們,請(qǐng)自我叩問:我的課堂中,能聽到生命拔節(jié)生長(zhǎng)的回音嗎?