張汶
如今,中小學(xué)計算機(jī)科學(xué)課程在美國得到越來越多的重視,計算思維、數(shù)字公民成為從聯(lián)邦、州和學(xué)校培養(yǎng)的重要目標(biāo)。筆者先后實地走訪了芝加哥203學(xué)區(qū)2所公立高中、芝加哥93學(xué)區(qū)的1所學(xué)校、芝加哥公立萊恩理工學(xué)院預(yù)科高中、芝加哥大學(xué)實驗學(xué)校、舊金山公立學(xué)區(qū)的2所高中,聽取了芝加哥公立學(xué)區(qū)computer science for all項目辦公室在課程推進(jìn)、教師培訓(xùn)方面的介紹,觀摩了5所高中計算機(jī)科學(xué)現(xiàn)場課堂教學(xué),感受美國公立學(xué)校、特許學(xué)校、磁校、私立學(xué)校形態(tài)各異的計算機(jī)課程設(shè)置和課堂教學(xué),并將此作為一個縮影,了解美國計算機(jī)科學(xué)基礎(chǔ)教育的一些實際情況。
● 生活化和專業(yè)化的學(xué)習(xí)空間布局
走進(jìn)美國高中計算機(jī)科學(xué)教室,筆者心里暗自贊嘆了教室的環(huán)境,與上海各學(xué)校計算機(jī)房中臺式機(jī)“矩陣”式排列相比,美國學(xué)校的計算機(jī)教室,像是一個工作坊,身處其中,首先感受到的是舒適。
計算機(jī)教室里計算機(jī)分成7個小組,以U形的方式環(huán)繞在教師周圍,每個小組4臺計算機(jī),學(xué)生并未坐滿,大約只有23人左右。學(xué)生或正襟危坐,或蹲坐,或半躺,或以各種姿勢編寫或調(diào)試自己的代碼,學(xué)習(xí)狀態(tài)放松、自在,但又十分專注。
教師的工作計算機(jī)放置在教室中間,講授或演示的時候教師能環(huán)顧到所有學(xué)生。教室的一角,放置了幾張工作臺;教室中間或周圍,或放置著一組沙發(fā),或散放著一些軟椅,無聲地暗示著這是一個令人放松、具有吸引力的生活化的地方。
教室的墻面利用率很高,一面墻上是兩個大屏幕投影,無論哪個角落的學(xué)生都可清楚地看到教師的演示,在另外兩面則有一些大面積的白板。墻上很難找到空白的地方,隨處可見一些便簽式提示或者標(biāo)語。例如,圖示計算思維的四個要素及其具體含義、圖示軟件開發(fā)的四個過程(理解、開發(fā)、回顧和反饋)、圖示編程的四個步驟(設(shè)計、編程、測試、調(diào)試)。教師還設(shè)計了用計算機(jī)編程語言呈現(xiàn)的趣味勵志標(biāo)語,定義了一個函數(shù),寫道“這里有一些可能的學(xué)習(xí)機(jī)會,如果你有問題,就問老師”。
又如,墻面上貼著保護(hù)視力20-20-20原則的圖示,即每使用計算機(jī)20分鐘便休息一下,向20英尺(大約6米)以外的風(fēng)景(最好是綠色)遠(yuǎn)眺至少20秒。墻面上也貼著對學(xué)生遇到困難時的鼓勵(如下圖)。
教室是教育活動的核心場所,也是學(xué)生每日生活和學(xué)習(xí)時間最長的地方。教育學(xué)家Ralph W. Tyler認(rèn)為,“教室的物理格局是影響學(xué)生學(xué)習(xí)行為與態(tài)度的最具影響力的要素”,教室中的有形元素(桌椅、沙發(fā))與無形元素(學(xué)習(xí)氛圍、教學(xué)秩序)對學(xué)生學(xué)習(xí)效果和教師教學(xué)態(tài)度具有雙重影響,認(rèn)知產(chǎn)生于一個包含大腦、身體和環(huán)境三大要素的自組織系統(tǒng)。
如果說孟子“勞其筋骨,餓其體膚”的古訓(xùn)在于告誡人們生于憂患的道理,那么這樣的學(xué)習(xí)空間則踐行了“學(xué)習(xí)者—學(xué)習(xí)環(huán)境”之“在場”關(guān)系,即物理環(huán)境(包括噪音、擁擠度、空氣質(zhì)量、溫度、建筑設(shè)計、個人空間)等對人的學(xué)習(xí)會產(chǎn)生積極或消極的影響,學(xué)習(xí)并非是“脖子以上的學(xué)習(xí)”,而是全身心參與的過程。計算機(jī)教室中令人舒適的氛圍、隨處可見的專業(yè)書籍、可獨(dú)立或合作學(xué)習(xí)的座位安排、隨處可見的學(xué)習(xí)提示、教師的微笑和熱情等,為學(xué)生全身心投入到學(xué)習(xí)中提供了支持。
● 個別指導(dǎo)是課堂最主要的教學(xué)環(huán)節(jié)
筆者與兩位上課的教師進(jìn)行了簡單的交流,學(xué)校的計算機(jī)科學(xué)課程采用了AP課程體系,課程共計開設(shè)三年,第一年是學(xué)習(xí)Python語言,第二年使用JAVA語言,第三年學(xué)習(xí)軟件工程,開展基于項目的學(xué)習(xí)。選擇計算機(jī)科學(xué)課程的學(xué)生約占學(xué)生總數(shù)的20%。學(xué)生表示,他們已經(jīng)學(xué)習(xí)了兩個月,每天一節(jié)課,至今已經(jīng)學(xué)習(xí)了40個課時。
教師均使用CANVAS系統(tǒng),管理課程框架、教學(xué)日歷、學(xué)習(xí)資源、學(xué)生作業(yè),學(xué)生可以非常方便地閱讀教師提供的學(xué)習(xí)資料,然后提交作業(yè)。值得一提的是,其中一位教師使用了在線的編程系統(tǒng),學(xué)生編寫的代碼可以在線檢測是否正確,所有學(xué)生的練習(xí)情況以“T”或“F”的形式,實時呈現(xiàn)在教師端,給教師提供及時的學(xué)習(xí)反饋。
第一節(jié)課是Python語言,教學(xué)目標(biāo)是“能識別while loops循環(huán)結(jié)構(gòu)的要素組成,能編寫while loops循環(huán)”。教師先布置了一個小任務(wù):閱讀一段代碼,并用不同的顏色標(biāo)識不同功能的語句,如紅色標(biāo)識“函數(shù)”綠色標(biāo)識“判斷條件”等。這是一個設(shè)計很精巧的課堂小練習(xí),目標(biāo)是鍛煉學(xué)生辨析循環(huán)結(jié)構(gòu)的要素和組成結(jié)構(gòu),而大部分學(xué)生能夠在很短的時間內(nèi)基本完成該練習(xí)。隨后,教師布置了新的練習(xí)題“crazy numbers”,并開始了個別指導(dǎo),由于學(xué)生在編程和調(diào)試中的問題比較多,且大多需要不斷調(diào)試,所以教師安排了學(xué)生之間一對一的互助。其間,關(guān)于課堂練習(xí)教師還進(jìn)行了非常短暫的集中教學(xué),用于分析大家遇到的問題。
第二節(jié)課是JAVA語言編程,學(xué)習(xí)的學(xué)生已有一年的學(xué)習(xí)經(jīng)驗,在編程方面顯然更加熟練。學(xué)生在visual studio code平臺上編寫和測試自己的程序。與Python語言的教學(xué)模式類似,教師布置練習(xí)后,學(xué)生開始編程和調(diào)試,教師在7個小組中往返巡視,一對一解答學(xué)生的問題,師生對話友好且有指導(dǎo)意義。教師也采用了兩位學(xué)生相互合作的方式,相互合作閱讀對方的程序,共同閱讀錯誤信息的提示,然后修改代碼并繼續(xù)調(diào)試。
上述兩位教師的教學(xué)和指導(dǎo),體現(xiàn)出較好的計算機(jī)科學(xué)的專業(yè)素養(yǎng),大部分學(xué)生的問題能得到及時的解決,一些學(xué)生遇到的問題,靠學(xué)生之間的相互協(xié)作和指導(dǎo),也有所優(yōu)化和改進(jìn)。
另外,美國的課堂教學(xué)十分重視個性化教學(xué),而個性化教學(xué)得以順利開展,離不開兩個要素:一是學(xué)習(xí)空間的設(shè)置,無論是計算機(jī)教室,還是學(xué)校其他場所的學(xué)習(xí)空間,如實驗室、走廊、圖書館等,均將學(xué)習(xí)設(shè)備、學(xué)習(xí)資源及教師講授的區(qū)域做了合理安排,座位安排適合小組合作,各小組以環(huán)形方式圍繞教師辦公桌,支持教師巡視和師生交互。二是資源獲取的便捷性,學(xué)生可隨時使用筆記本電腦訪問學(xué)習(xí)管理平臺。教師在Canvas或谷歌教室等平臺上建設(shè)課程計劃,上傳教學(xué)計劃、任務(wù)安排、學(xué)習(xí)資源、學(xué)習(xí)范例、評價要求等十分完整的資料,且綱目清晰,查找方便,學(xué)生可通過平臺了解整個學(xué)期每個學(xué)科的教學(xué)進(jìn)度和安排,有利于學(xué)生自我管理和利用資料開展學(xué)習(xí)與研究。
● 思考與啟示
1.兼顧教育公平需要良好的社會支持
(1)公立學(xué)區(qū)重視對基礎(chǔ)學(xué)習(xí)要求給予保障
芝加哥公立學(xué)區(qū)(CPS)為了推進(jìn)計算機(jī)科學(xué)課程,開展了 CS4ALL(為了每一個孩子的計算機(jī)科學(xué))項目,項目辦公室采取了一些措施,如從2016年開始將計算機(jī)科學(xué)列為必修課。這從制度上為芝加哥公立學(xué)校普及計算機(jī)科學(xué)教育提供了保障。此外,開發(fā)了《探索計算機(jī)科學(xué)》(ECS)課程教材。最后,由于計算機(jī)科學(xué)課程剛開始實施,學(xué)校缺乏具有計算機(jī)專業(yè)背景的教師來承擔(dān)這門課程的教學(xué),CS4ALL開展了教師專題培訓(xùn)項目,鼓勵其他學(xué)科的教師報名參加,通過此項培訓(xùn)的教師才能擔(dān)任課程教學(xué)任務(wù)。
從時間上看,這比上海開設(shè)高中信息科技必修課程整整晚了20年,從師資上看,芝加哥公立學(xué)區(qū)計算機(jī)科學(xué)的教師專業(yè)化培訓(xùn)還剛起步。觀摩計算機(jī)教師培訓(xùn)的現(xiàn)場,由于培訓(xùn)對象是零基礎(chǔ),他們是歷史等非計算機(jī)專業(yè)的教師,所以培訓(xùn)內(nèi)容非常簡單,如把兩片面包中間夾上果醬做一個三明治,教師把過程一一羅列下來,這是對程序概念的初步理解。這樣的教師專業(yè)化培訓(xùn),一方面令人敬佩,因為它在培訓(xùn)課程設(shè)計的生動性和參與性方面值得借鑒,另一方面也令人擔(dān)心,那就是缺少專業(yè)教育背景的教師能否勝任專業(yè)的計算機(jī)科學(xué)課程教學(xué)?
(2)私立學(xué)校注重為學(xué)生個性化發(fā)展提供條件
在私立學(xué)校、磁?;虿糠謱W(xué)區(qū),計算機(jī)科學(xué)課程在師資、課程、資源、設(shè)備等方面都有明顯的優(yōu)勢。例如,芝加哥大學(xué)實驗學(xué)校的計算機(jī)科學(xué)課程,除了修習(xí)AP課程以外,還提供了大量選修課程,如機(jī)器學(xué)習(xí)、計算機(jī)硬件結(jié)構(gòu)、人工智能、高級語言編程、軟件工程等。學(xué)生不僅可以在學(xué)校里進(jìn)行學(xué)習(xí),還可以到大學(xué)實驗室開展學(xué)習(xí)。又如,萊恩理工學(xué)院預(yù)科高中(Lane Tech College Preparatory High School)是伊利諾伊州一所公立磁校,學(xué)校計算機(jī)科學(xué)課程負(fù)責(zé)人詳細(xì)介紹了萊恩高中計算機(jī)科學(xué)課程的設(shè)置情況,目前學(xué)校有18位計算機(jī)科學(xué)教師,有的教師有豐富的行業(yè)工作經(jīng)驗。學(xué)校共開設(shè)了13門計算機(jī)課程,這一方面為學(xué)生掌握計算機(jī)科學(xué)知識打下了廣泛而扎實的基礎(chǔ),另一方面為學(xué)生提供了豐富的個性化選擇機(jī)會。學(xué)校設(shè)計了計算機(jī)科學(xué)課程的“圖譜”,并用實線和虛線表示課程之間的關(guān)系,清晰地表達(dá)學(xué)習(xí)的“路徑”。計算機(jī)課程共分四類課程:廣度大于深度的基礎(chǔ)課程、需要創(chuàng)造出物理產(chǎn)品的課程、需要創(chuàng)造出數(shù)字產(chǎn)品的課程、需要計算機(jī)科學(xué)和商業(yè)化結(jié)合的課程。這四類課程中每類課程都會按難易(0~3)程度標(biāo)識為不同級別,它們之間有一定的關(guān)聯(lián)性,但不是特別強(qiáng)相關(guān)。例如,學(xué)生A想學(xué)“Android Apps(安卓應(yīng)用)”課程,前提條件為“Prog I or AP CS A”,即必須先學(xué)習(xí)課程“Programming I”或者先學(xué)習(xí)課程“AP Computer Science A”。
(3)社會機(jī)構(gòu)提供對弱勢群體的服務(wù)
社會各界對中小學(xué)計算機(jī)科學(xué)課程的支持力度很大,成為推動教育的中堅力量,美國不僅有“編程一小時”活動,正在執(zhí)行的還有“一百萬計劃”,目前已經(jīng)成為獨(dú)立法人的“一百萬”計劃基金會,旨在為100萬名低收入水平家庭的孩子提供計算機(jī)硬件和網(wǎng)絡(luò),提高貧困家庭孩子成功的可能性,從而實現(xiàn)真正的機(jī)會均等。這項計劃也吸引了美國大學(xué)委員會、可汗學(xué)院與之進(jìn)行項目結(jié)盟,這些組織會根據(jù)參與“一百萬計劃”的孩子的表現(xiàn),為他們提供更多資助。
2.要在實踐中進(jìn)一步思考教學(xué)方法的有效性
美國計算機(jī)科學(xué)課堂,學(xué)生參與度比較高,也由于課堂布置的學(xué)習(xí)任務(wù)有相當(dāng)大的挑戰(zhàn),學(xué)生忙于編寫代碼和調(diào)試。但是這樣的教學(xué)依然帶來一些困惑。
(1)為何要學(xué)習(xí)新知,新知學(xué)習(xí)的必要性在哪里
文中談到的兩節(jié)課均為新授課,但是從實際教學(xué)的時間分配看,學(xué)生的課堂時間均在完成新的任務(wù)。如何思考新知識的價值?例如,新的知識是循環(huán)結(jié)構(gòu)中嵌套分支(在while結(jié)構(gòu)中嵌套if語句),教師通過布置任務(wù),驅(qū)動學(xué)生應(yīng)用這樣的知識。然而,這樣的結(jié)構(gòu)從何而來?為何單純的循環(huán)結(jié)構(gòu)不能解決問題?為何一定要循環(huán)嵌套分支才能解決?分支嵌套分支為何不行?這樣的結(jié)構(gòu)還能解決什么問題?還有哪些可能的嵌套方式?似乎學(xué)生沒有思考過,也未得到相關(guān)的啟發(fā)。如果只是告訴學(xué)生使用循環(huán)嵌套分支的結(jié)構(gòu)解決這個特定的問題,那么學(xué)生什么時候能有機(jī)會自主選擇?
(2)如何領(lǐng)悟新知識的價值
教師布置了學(xué)習(xí)任務(wù),學(xué)生編寫程序完成任務(wù),但是程序本身似乎僅僅為了練習(xí)技能。例如,用循環(huán)嵌套分支的結(jié)構(gòu),編寫了一個分段函數(shù),當(dāng)輸入數(shù)據(jù)介于某區(qū)間時,對數(shù)據(jù)進(jìn)行平方操作,當(dāng)輸入數(shù)據(jù)介于另外一個區(qū)間時,對數(shù)據(jù)進(jìn)行另外一個數(shù)學(xué)運(yùn)算,該程序的意義在哪里?如果把任務(wù)與真實生活聯(lián)系起來,如自動售貨機(jī)、車庫自動收費(fèi)等軟件和硬件,背后都有這樣的基本結(jié)構(gòu),循環(huán)嵌套分支結(jié)構(gòu)是非?;A(chǔ)的一種結(jié)構(gòu),可以在此基礎(chǔ)上不斷進(jìn)行疊加,從而解決非常復(fù)雜的問題,完成這樣的任務(wù),對理解新知識的價值是否會更深刻?
(3)陡峭的學(xué)習(xí)曲線是不是大量個別輔導(dǎo)的成因
盡管學(xué)習(xí)的挑戰(zhàn)性非常重要,但是無疑學(xué)習(xí)也需要支架,循序漸進(jìn)地推進(jìn)教學(xué)是一種基本的共識。盡管“漸進(jìn)”步伐的大小因人而異,“循序”的安排可以有所不同,但是如何把知識學(xué)習(xí)與學(xué)生認(rèn)知的步伐同步,是教學(xué)設(shè)計需要考慮的問題。筆者在觀察課堂教學(xué)的過程中發(fā)現(xiàn),教師從引入新知到開始解決新的問題,這個過程比較快,可以說,學(xué)習(xí)曲線比較陡峭。學(xué)生一旦上手做,就出現(xiàn)各種各樣的問題,答疑和輔導(dǎo)幾乎占據(jù)了所有的教學(xué)時間。設(shè)想一下,如果將學(xué)習(xí)曲線設(shè)計得更為平緩,先引入新知,然后模仿運(yùn)用、遷移提升,最后再去解決問題,最終學(xué)生問題解決的質(zhì)量、計算思維的培養(yǎng)是否更好?試錯是有價值的,但是否所有的試錯都有價值?如果可以找準(zhǔn)學(xué)生的普遍問題,如循環(huán)語句的“條件”與判斷語句的“條件”在學(xué)生普遍混淆的情況下,啟發(fā)性地指導(dǎo)一下,恍然大悟的喜悅是否也更能增進(jìn)學(xué)習(xí)的愉悅?如果指導(dǎo)學(xué)生使用變量跟蹤的方法,思考程序的錯誤支出,“授人以漁”能否讓學(xué)生更迅捷地解決問題?
短暫的美國高中課堂教學(xué)觀察,只能是管中窺豹,很難說能從中得到完整的判斷,亦不能急于得到確定的結(jié)論。但是,美國高中課堂教學(xué)的學(xué)習(xí)空間創(chuàng)設(shè)、教師對每一位學(xué)生問題的解答和指導(dǎo)、教師設(shè)計課程與課程資源良好的規(guī)劃性,值得每一位計算機(jī)科學(xué)教師學(xué)習(xí)。