“耶!我們第一個到了!”
在洛斯阿爾託斯市洛約拉小學六年級的艾莉和勞倫,在第五節課開始前幾分鐘,衝進了希娜·維迪亞納坦的教室。這兩個女孩和她們的兩個同學威廉和布萊克之間,就誰能最早到達計算機程式設計課展開了一場持久的競爭。
兩個女孩在新購置的蘋果臺式電腦前坐下,立即開始完成維迪亞納坦佈置的任務:查詢並修復計算機程式中的錯誤。這種細緻但重要的活動佔據了專業程式設計師的大部分時間。
支援科學新聞報道
如果您喜歡這篇文章,請考慮透過以下方式支援我們屢獲殊榮的新聞報道 訂閱。透過購買訂閱,您將幫助確保有關塑造我們今天世界的發現和想法的具有影響力的故事的未來。
鈴聲響起,更多的學生湧入。維迪亞納坦是一位身材嬌小、態度熱情友好的女士,她微笑著歡迎他們。
“我們今天要做什麼,V 夫人?”一個男孩走進教室時問道。
“除錯程式,”她回答道。
“太棒了!”他驚呼一聲,衝到一臺電腦旁。
普及程式設計教學的倡導者希望看到這樣的場景在全國各地重演。這些擁護者包括渴望僱用下一代工程師和程式設計師的企業領導者,以及希望確保美國在全球經濟中競爭力的政府官員。“每個學生都應該有機會學習這項 21 世紀的基本技能,”微軟聯合創始人比爾·蓋茨在今年早些時候發推文說。蓋茨和其他人認為,程式設計是一種新的讀寫能力,與識字或數學一樣重要。2008 年,作家兼演說家馬克·普倫斯基(Marc Prensky)創造了“數字原住民”一詞,他寫道:“我相信,在所有技能中,最能區分一個有文化的人的技能是程式設計素養。”
這些倡導者指出,對計算機程式設計師的需求很高,並且該領域的晉升機會很多——他們說,這些機會將在未來幾年繼續擴大。
奧巴馬政府官員勾勒出美國計算機科學教育的宏偉願景,希望我們的學生能夠跟上其他國家的學生——他們指出,英國在 2014 年開始要求每個學生學習程式設計——並藉助全民程式設計,彌合我們自己國家白人和富裕學生與少數族裔和弱勢學生之間長期存在的成就差距。
然而,實現這一願景並非易事。向所有美國學生推廣程式設計教學面臨著巨大的後勤挑戰,從合格教師的短缺到缺乏課程材料。美國極其分散的學校系統使得全國性的改革難以推行——問問共同核心州立標準的架構師就知道了——而且大多數學校尚未更新其資訊時代的規則和標準(例如,計算機科學課程通常不計入數學或科學的畢業要求)。與此同時,來自不同種族和社會經濟背景的學生在計算機知識方面存在巨大差異;研究表明,學校往往透過向富裕的白人學生提供深入、實質性的教學,而向少數族裔和低收入學生提供膚淺的指導,從而使這些差距永久化。
此外,人們越來越認識到,程式設計技能只能構成美國學生為 21 世紀生活和工作做準備的一部分。程式設計是計算機科學的實踐,但學生也需要理論:理解計算機執行的底層原理。要使這種“計算思維”普及化,需要在校外(以課外活動和資源的形式)以及校內(透過培訓教師、修訂課程、將計算機科學融入其他學科以及改變畢業要求)進行大規模動員。
教授程式碼
維迪亞納坦擁有計算機科學碩士學位,並已教授該學科七年,她是每個學生都應該學習程式設計這一概念的早期倡導者。“我的意思是每個學生——女孩、男孩、特殊教育學生、那些不認為自己是數學或科學‘人才’的學生,”維迪亞納坦說。但與她的一些同道中人不同,她對自己的熱情保持著現實主義態度。在課間接受採訪時,她指出了一些實現這一吸引人願景的障礙。“首先,計算機科學教師的數量遠遠不足以滿足巨大的需求,”她指出。
據大學理事會(College Board)旗下的大學先修課程(AP)出版商稱,2015 年,美國只有 4,310 所高中開設了 AP 計算機科學考試——約佔 12%。此外,對該組織 2013 年資料的 2014 年分析發現,在三個州,沒有女學生參加考試;在八個州,沒有西班牙裔考生;在 11 個州,沒有一個非裔美國人考生。(在許多這些州,很少甚至沒有學生參加考試。)此外,訓練有素且準備就緒的教師隊伍根本不存在——維迪亞納坦堅持認為,學生需要的是人類教師。“如果學生正在學習有意義且具有挑戰性的材料,他們會在某個時候遇到困難,”她說。“他們需要一位瞭解他們、能夠以他們理解的方式解釋問題,並且可以利用師生關係作為動力和支援來源的老師。可汗學院的影片無法做到這一切。”
不僅計算機科學教師太少,而且還缺乏一套公認的計算機科學課程。CSTA 制定了一套針對幼兒園到 12 年級的標準,但這些標準極其籠統(六年級到九年級的學生應該“開始認識到計算的普遍性以及計算機科學促進溝通和協作的方式”),這意味著像維迪亞納坦這樣的教師在決定教什麼以及如何教學生方面是孤立無援的。在高風險的數學和閱讀測試時代,計算機科學往往被完全擱置。“學校的時間表和預算中,用於不被視為必修科目的時間越來越少,資金也越來越少,”維迪亞納坦觀察到。
在成為計算機科學教師和洛斯阿爾託斯學區的科學、技術、工程和數學(STEM)專案專家之前,維迪亞納坦曾在資訊科技巨頭 Unisys 和兩家矽谷初創公司擔任軟體工程師。她在科技行業的經驗讓她敏銳地意識到將每個學生都變成隨時可用的程式設計師的計劃中的另一個障礙:“學習程式設計基礎知識和精通程式設計以從事專業工作之間存在很大差異。”該領域新手和專家之間巨大的差距是她推動她的學區從幼兒園開始進行程式設計教學的原因。“學習程式設計就像學習外語,”維迪亞納坦解釋道。“我們不會期望學生在高中學習幾個學期的法語或西班牙語就能流利。”
尤其具有挑戰性的是將程式設計教學擴充套件到洛斯阿爾託斯等富裕、以白人和亞洲人為主的社群之外。維迪亞納坦的學生一開始就擁有幾乎無數的優勢。他們進入她的教室時,已經掌握了計算機及其工作原理的知識;他們中的一些人已經在家裡或課外輔導班開始學習程式設計。他們公立學校的程式設計課得到了一個基金會的支援,該基金會收集和分配來自該學區學生家庭的捐款。該學區的學校——本身就配備了臺式電腦和平板電腦——位於矽谷的中心地帶,他們許多學生的父母都在附近的谷歌、蘋果或 Facebook 總部工作。這些學生在他們生活中的成年人的溫和但堅定的引導下,走上了一條通往豐富機會的道路。然而,這些享有特權的學生出現在計算機課程中——以及後來在科技行業和計算機科學領域——通常被認為是基於個人天生的偏好和能力的“自然”篩選過程的產物。
簡·馬戈利斯很熟悉這種假設及其必然結果:貧困學生和有色人種學生一定不想學習程式設計。馬戈利斯是加州大學洛杉磯分校教育與資訊研究研究生院的高階研究員,她對洛杉磯三所不同公立高中如何教授計算機科學進行了深入研究。研究結果是 2008 年出版的《困在淺灘:教育、種族與計算》(Stuck in the Shallow End: Education, Race, and Computing)一書,該書令人不安地描述了馬戈利斯及其合作者所稱的“虛擬隔離”。他們發現,在富裕社群上學的學生更有可能獲得各種各樣的計算機科學課程——這些課程在學術上具有挑戰性、創造性和協作性。相比之下,貧困學生和有色人種學生通常只能獲得最基本的剪下貼上式計算機指導,而且通常使用不充分的裝置。
即使為這些學生服務的學校擁有充足的設施,用馬戈利斯及其同事的話來說,它們也可能是“技術豐富,但課程貧乏”,缺乏全面的計算機科學教育的要素:“一系列課程中的強大學習體驗”,以及“多年的深思熟慮、知情的指導和支援”。她和她的合著者認為,課程設定不能一刀切,而必須考慮到不同種族和族裔群體在獲得技術和培訓方面的不同歷史。“這些歷史差異如此之大,競爭環境如此不均,鴻溝如此之深如此之寬,以至於人們生活在兩個不同的世界,”馬戈利斯和她的合著者觀察到。富裕學生理所當然地熟悉的計算機,在他們不太富裕的同齡人中可能完全不存在。馬戈利斯告訴我,真正平等地獲得計算機科學教育是“21 世紀的民權問題”。
她說,在記錄了地面上非常不平等的情況後,“我們覺得我們必須為此做些什麼。”因此,她和她的同事建立了“探索計算機科學”(ECS),這是一個大學/K-12 合作專案,該專案為高中計算機科學專業的學生開發了入門課程。ECS 還為洛杉磯聯合學區的教師提供專業發展——現在為全國近二十幾個其他學區提供專業發展。參與的教師學習如何提供嚴謹而引人入勝的實踐計算機科學指導,他們與其他教師一起加入了一個活躍且不斷壯大的網路。雖然其他組織,包括 Black Girls Code 和 Hack the Hood,將他們的努力重點放在校外時間,例如週末工作坊和暑期訓練營,但馬戈利斯和她的團隊致力於在學校為弱勢學生服務,他們意識到經濟和後勤障礙常常阻止這些學生利用課外機會。
南希·西也認同這種承諾。她在 2013 年接受了“探索計算機科學”的培訓,此後成為 ECS“教師領袖”,幫助其他教師學習如何讓學生參與計算機科學。西在南洛杉磯的奧古斯都 F. 霍金斯高中任教,根據《美國新聞與世界報道》,在 2013-2014 學年,該校 99% 的學生是非洲裔美國人或拉丁裔,75% 的學生符合“經濟困難”的條件。西每天都近距離地看到全民程式設計運動面臨的挑戰。“我的許多學生家裡沒有電腦,”她說。“他們唯一訪問網際網路的方式是透過手機,他們用手機玩遊戲和發簡訊。”鑑於他們對技術的有限瞭解,她的學生有很多知識需要學習——不僅要了解計算機的多種功能,還要了解幕後人員設計和程式設計這些機器的現實。最令人生畏的是,西的學生必須克服關於計算機科學“適合”哪些人的刻板印象。“使用計算機,知道如何程式設計——這與他們已經形成的身份格格不入,即使他們還是高中生,”西指出。“在我的課堂上,學生和我不僅僅是在探索一個學科。我們正在面對非常強大的文化資訊,重塑他們對自己的認識。”
西翻閱著她的 12 年級學生寫的論文,她指著其中一篇論文,其中一個學生表達了希望為自己和她的孩子獲得穩定收入的願望。“在上計算機科學課之前,我從未想過我可以從事或甚至主修這個領域,”這位學生寫道。“作為一個想為我的孩子創造最好未來的單身母親,我也認為擁有一份做自己喜歡的事情並且[一份]提供經濟保障的工作會很棒。”另一位學生寫道:“經濟困難一直伴隨著我的生活。儘管如此,我拒絕讓有限的資源打倒我。相反,它們激勵我利用教育作為一條道路,引導我走向終身成功。我渴望有一天能擁有[計算機]動畫師的頭銜,平均年薪為 50,281 美元。我渴望結束我目前的經濟困境,並靠自己的力量照顧我的家人。”
事實上,擴大程式設計教學,尤其是在貧困社群,經常被引用的理由之一是,缺乏程式設計知識將使年輕人被排除在利潤豐厚的行業之外。但許多批評家認為,狹隘地關注程式設計等技術技能不是一種可持續的方法。斯坦福大學教育學榮休教授拉里·庫班指出了 20 世紀 70 年代和 80 年代美國早期計算機語言 Logo 的實驗。庫班說,在麻省理工學院教授西摩·帕珀特的領導下,教授學生 Logo 的努力興起又失敗了,因為它沒有教授他們所需的複雜技能和豐富知識。他預測,同樣的命運將降臨到全民程式設計運動身上,他認為商業領袖為了自己的底線而敦促學校開展這項運動:這是一種“薄如蟬翼的改革”,“用過一兩次後,就會被撕碎並扔掉。”
如果程式設計教學不是答案——或者至少不是全部答案——那麼答案是什麼?珍妮特·M·溫認為她知道:計算思維。溫是卡內基梅隆大學的計算機科學諮詢教授,也是微軟研究院的公司副總裁。2006 年,她在一家默默無聞的期刊上發表了一篇文章,這篇文章很快成為經典。“計算思維是每個人的基本技能,而不僅僅是計算機科學家的基本技能,”她大膽地宣稱。她接著解釋說,這種思維模式“涉及透過借鑑計算機科學的基本概念來解決問題、設計系統和理解人類行為。”
“計算思維包括抽象能力、參與邏輯和符號推理的能力、將一個大問題分解為許多小問題的能力,”溫說。“這些是每個人都可以使用的技能,無論他們是否使用計算機。”
她在文章中寫道,“除了閱讀、寫作和算術之外,我們還應該將計算思維新增到每個孩子的分析能力中。”聽到溫的呼籲的教育家之一是艾琳·歐文斯。歐文斯利用溫的想法,使計算思維成為匹茲堡郊外南費耶特鎮區學區課程的關鍵組成部分,她在那裡擔任技術和創新主管。在她看來,計算思維的教學應該儘早開始,並透過一系列循序漸進和相互關聯的專案,逐漸深入和複雜。
在南費耶特,幼兒園到二年級的學生透過使用所謂的基於積木的程式設計程式開始學習程式設計背後的概念。在該程式中,稱為 Scratch,他們拖放包含離散命令的積木:“移動 10 步”、“等待 5 秒”、“向左轉 90 度”。透過以精確的順序排列這些命令,學生們使螢幕上發生事情(卡通人物前進、暫停、向左轉)並開始更普遍地理解如何向計算機發出指令——隨著年齡的增長,指令變得越來越複雜。在三年級到五年級,學生們程式設計電機和感測器,並構建在他們控制下移動的樂高機器人。計算機輔助設計 (CAD) 在六年級到八年級教授;學生們使用 CAD 軟體設計自己的發明,並透過使用 3D 列印機制作原型。到七年級時,學生們已經從基於積木的程式設計過渡到基於文字的程式設計:使用專業程式設計師使用的更復雜但更靈活的語言編寫程式碼。
“在每個階段,目標都是搭建計算思維的腳手架,以便每個新的理解水平都建立在前一個水平的基礎上,”歐文斯解釋說。“這不僅僅是程式設計。這是關於教授可以用來解決任何領域問題的思維習慣——例如將問題分解為組成部分、進行小型實驗以檢視哪些方法失敗以及哪些方法成功,以及與其他人合作以找到並應用最佳想法。”在各種環境中使用這些策略向學生表明,計算思維在計算機世界之外也很有用。
即使是非常年幼的孩子也可以學習這種思維習慣。“我們正在教我們的孩子成為問題解決者,進行邏輯思考,進行抽象思維,尋找模式,識別替代方案,”南費耶特幼兒園到二年級的科學、技術、工程、藝術和數學 (STEAM) 教師梅麗莎·昂格爾說。“我們從諸如‘什麼是指令?你如何給出指令,以便計算機知道你想要它做什麼?’之類的問題開始。我們讓學生‘程式設計’他們的同學,透過舉起帶有箭頭的卡片來引導他們穿過迷宮。”
與洛斯阿爾託斯一樣,南費耶特也是一個富裕、受過高等教育的社群,是該地區眾多大學的教授以及在匹茲堡蓬勃發展的科技行業工作的專業人士的家園。但計算思維可以教給各種各樣的孩子,華盛頓州肯特的 Excel 公立特許學校證明了這一點。Excel 的學生群體中,37% 是非裔美國人,19% 是拉丁裔;超過一半的學生有資格獲得免費或減價午餐。儘管該校位於距亞馬遜和微軟等科技巨頭所在地西雅圖地區不到 20 英里的地方,但 Excel 的學生常常感到與計算機世界格格不入。
該校的計算思維專案經理伊萊·謝爾頓正致力於改變這種狀況。“我與教師合作,將計算思維融入他們教授的科目中,無論是英語、數學還是生物,”謝爾頓說。“因為學生在許多不同的課程中都遇到相同的思維工具,所以他們開始看到這些工具的普遍適用性,即使在校外也是如此。”謝爾頓與一位數學老師合作建立了一個課程單元,分析職業籃球比賽的運動資料,並與一位人文老師合作開發了從刑事司法系統中提取的互動案例研究。
計算思維教學的倡導者認為,它代表了純粹的程式設計教學所缺乏的所有品質:豐富而深刻的智力學科;一套可以在許多不同情況下使用的靈活的思維工具;以及一套在學校、工作場所和更廣泛的領域都具有真正和持久用處的知識和技能。
在來到 Excel 之前,謝爾頓在微軟擔任專案經理四年,在那裡他看到了計算思維在現實世界中的應用。“我一次又一次地看到工程師們運用計算思維解決極其複雜的問題,”謝爾頓回憶道。“他們非常擅長分解問題,按邏輯順序排列各個部分,一次測試一個部分,看看這個小小的變化如何影響結果。我看著他們,心想,‘每個人都應該知道如何做到這一點。’”
國家對計算機科學教育的態度仍在形成中。作為白宮科技政策辦公室學習與創新助理主任,庫馬爾·加格是指導這項工作的人員之一。他可以指出一些成功之處:“當奧巴馬總統上任時,只有 11 個州允許計算機科學課程計入畢業學分,”加格觀察到。“從那時起,發生了翻天覆地的變化:[28 個州和哥倫比亞特區] 現在允許將計算機科學課程應用於數學或科學要求。”加格還讚揚了大學理事會正在進行的 AP 計算機科學課程的“重啟”。新的課程和考試將側重於編碼和計算思維,加格認可這種方法。“學生確實需要學習計算機科學的基礎知識,但編碼是一種幫助學生了解這一切是為了什麼的方式,”他解釋道。
加格指出,在其“全民計算機科學”倡議下,奧巴馬政府已要求學區提交五年計劃,以擴大計算機科學教學的普及範圍;具有精心設計的提案的學區將獲得實施資金。當然,一些學校並沒有等待聯邦政府緩慢運轉的齒輪開始在計算教育方面進行創新,而另一些學校甚至還沒有開始著手解決這個問題——這種情況讓人想起科幻作家威廉·吉布森的一句格言,他的作品探討了人類與技術之間的互動。“未來已經到來,”據說吉布森觀察到。“只是尚未均勻分佈而已。”

