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