張昱++陳娟++肖勝剛++張銘
摘 要:介紹第48屆ACM計算機科學教育大會,重點針對本屆大會的環節設置、特邀報告以及豐富多彩的教育科研成果展示進行說明,分析目前中國信息教育的現狀,最后指出有待進一步重視和加強的環節。
關鍵詞:SIGCSE;ACM計算機科學教育大會;計算機科學教育
0 引 言
第48 屆ACM 計算機科學教育大會(the 48th ACM Technical Symposium on Computer Science Education, SIGCSE 2017)于2017 年3 月8—11 日在美國西雅圖召開。會議主題是“Inspire, Innovate, Improve!”,旨在激勵計算機教育工作者創新教學策略,通過自省和評估進行改進,以便提供最好的學習成果。ACM 計算機科學教育大會是ACM SIGCSE 的旗艦會議,今年吸引了1 500 多人參會。
本屆會議設置并行的多個環節探討K-12、低年級和高年級本科課程、開源軟件、外聯和教育研究等方面的計算機科學教育工作,包括105 篇正式論文、48 篇墻報、16 個圓桌會議、12 個特殊分會、24 個專題討論會、10 個演示、12個小型講座、36 個興趣小組研討會(Birds of a Feather, BoF)以及ACM SIGCSE 學生研究競賽。谷歌、IBM、英特爾、微軟、Vocareum、zyBooks、甲骨文、樂高教育、Github 等公司還進行了產品展示。
1 特邀報告
本次會議邀請“計算思維”提出者周以真(Jeannette Wing)作題為《擁抱不確定性》(Embracing Uncertainty)的開幕演講。她舉例說明在當今“數據驅動發現”的世界中到處存在不確定的計算。這種不確定要求計算機科學專業的學生要具有概率和統計的基礎;需要向學生(不只是計算機專業)提供機器學習或數據科學等本科課程;而傳統的程序設計、軟件工程和數據庫等課則需增加引導學生認識數據的狀態,理解數據分布對算法、數據結構和模塊設計的重要性;未來還需創建概率程序設計課程。
閉幕演講則請到麻省理工學院(MIT)媒體實驗室教授米切爾·雷斯尼克(Mitchel Resnick)作題為《實現佩珀特 的夢想:讓所有人都熟練地使用計算機》(Fulfilling Paperts Dream: Computational Fluency for All)的報告。他介紹了MIT 媒體實驗室為實現“把編程作為讓所有孩子探索、試驗和表達自己的一種新途徑”的夢想而研發的Scratch 等少兒編程工具,以及在提升少兒學習興趣和教育方面的多種策略和看法。他指出,用獎勵來激勵學習在短期內有效,但會削弱人們長期學習的動力;在教學方法上要改變枯燥的說教,設計出好的寓教于樂的產品十分重要。
2 信息教育科研成果
本屆會議首次從錄用論文中選出具有高質量、新穎性、廣泛性的前25% 的文章作為示范論文。論文主題涵蓋K-12、初學者和CS1 的教育,計算思維,教學及評估方法,以及算法、軟件工程、數據科學、機器人和可穿戴系統、結對編程、塊編程等。
2.1 數據科學課程開設的研究
最佳CS 教育研究論文[1]介紹了弗吉尼亞理工大學為便于教師將數據科學引入到計算導論課而研發的CORGIS 項目。該項目受美國國家科學基金會(NSF)資助,已持續4 年,提供從真實數據中收集并清洗得到的40 多個數據集,提供簡單的Java、Python 等編程庫支持集成新數據集,方便初學者編程處理真實數據;還提供基于Web 的工具,使學生不用編程也可以研究數據并進行可視化分析。印度Aspiring Minds 公司介紹了將數據科學引入到中學的做法[2]。中密歇根大學介紹了開設的“大數據和云計算”課程所面臨的問題[3]。他們認為,用物理集群能更真實地讓學生感受云計算中諸如對變化響應的靈活性和可控性等許多重要因素,不應忽視對物理集群的使用。
2.2 教學大數據對教育的促進
英國肯特大學2013 年6 月啟動Blackbox 項目,從Java 初學者使用的BlueJ IDE 中收集編程行為數據。利用兩年收集到的90 多萬用戶的近億條編譯事件和對76 個教師的調查,分析得出初學者常犯的錯誤以及教師能否精確估計哪些錯誤是最普遍的。文獻[4—5]指出不同教師的估計之間、估計與收集的數據之間均有偏差,并進而分析結果的隱含關系。洪堡州立大學和華盛頓州立大學的老師[6]用自制的Visual Studio 插件OSBIDE 收集了7個編程作業的278萬多個事件,識別出學生完成編程作業而產生的2 萬多個不同的編程狀態序列。分析發現,不同得分等級的學生有不同的編程狀態序列,表明學生的成績與其完成作業的行動相關,并指出這種差異是可以自動檢測的。賓夕法尼亞約克學院等學校的教師針對教學實踐中大量產生的編程快照數據,開發出一種結構化的數據模型和歸檔數據格式Progsnap[7],解決數據來源潛在的格式不一致問題。
2.3 教學評估方法及相關工具
最佳新方案論文[8]介紹萊特州立大學建立的評估基礎框架,用來評估計算機科學和計算機工程本科課程體系(如CS2013、CEG2016)對學生培養的效果。在核心課教師的參與下,他們建立了課程、知識點之間的映射關系,進而設計出9 門核心課程的評估測試問卷用于在線評估。在開課初期,在線評估工具通過標準的課程管理系統,如Blackboard 或D2L,將問卷發布給學生進行測試,評估學生已掌握的知識水平;通過生成單個課程、跨課程的綜合評估等報告,及時向師生反饋,并對培養方案的健康度進行長期評估,大大減輕了評估負擔,為師生及課程規劃組提供了最直接的反饋。加州大學圣迭戈分校通過互助小組測試來評估學習的效果[9]。還有幾篇論文將靜態分析技術用于代碼評測。例如,伊利諾伊大學厄巴納- 香檳分校(UIUC)的研究者研發的代碼抄襲檢測工具Algae[10],用它分析、檢測了6個學期的學生作業,并發現大多數學生只抄襲簡單的作業,作業越復雜,抄襲率越低。美國倫斯勒理工學院研發的Submitty 評分系統[11]可以快速對學生提交的代碼進行評分反饋,已在8門不同的課程中使用,收效良好。endprint
2.4 重視溝通能力的培養
良好的口頭溝通能力對職場成功至關重要。瑪麗華盛頓大學將溝通技能的指導和實踐貫穿于計算機專業課程體系中[12],以期在培養學生技術技能的同時培養口頭溝通能力。該校在大一開設研討課,通過小組討論和演講來培養學生基本的研究、寫作和口頭溝通能力,學校語言中心提供在線訓練模塊可對學生進行課余指導。在大二的面向對象課程中,用半學期讓學生開展小組項目,每組3~4人,訓練組內溝通能力,學期末每組在課堂做30分鐘的演講,介紹小組的工作和軟件設計等。大三階段則一方面引入計算機倫理學、計算機信息系統等以演講為主的課程,另一方面通過其他課程的分組實踐來訓練組內溝通能力。大四通過軟件工程課程進一步訓練口頭溝通能力,并且要求學生與非技術客戶進行合作。
2.5 實踐課程的探索
最佳實踐報告論文[13]介紹了猶他大學面向非計算機專業本科生開設的一門為期15周的、以項目實踐為基礎的本科課程“制造聲音:聲音藝術和數字媒體”。課程教材為尼古拉斯·柯林斯(Nicolas Collins)編著的Handmade Electronic Music: The Art of Hardware Hacking。學生通過實踐,學習和掌握電子音樂以及電子與編程相關的計算機科學與工程技術,循序漸進地了解聲音原理,使用開源硬件Arduino、結合CdS光傳感器和揚聲器編程,學習施密特觸發器振蕩電路等內容,使學生最終制作出與聲音藝術相關的綜合作品。該課程以聲音藝術為載體,探索培養學生的“技術流暢度”,以提升學生的創意設計思維和解決工程問題的能力。
3 其他環節
在圓桌會議中,ACM SIGCSE 中國分會的9名參會者參加了主題為“CC2020: A Vision on Computing Curricula”的討論。美國海軍軍官學校教授艾倫·帕里斯(Allen Parrish)介紹了美國網絡安全的教學情況,介紹了CSEC2017 課程體系的進展;荷蘭阿姆斯特丹自由大學教授格里特·范德爾維爾(Gerrit Van Der Veer)介紹了人機交互及其在歐洲的教育情況;北京大學教授張銘圍繞信息技術及其在中國的情況,介紹了中國的教學情況和IT2017 課程體系的建設進展。
興趣小組研討會BoF是SIGCSE 會議的特色。今年有36個BoF 活動,涉及的主題面很廣。在計算機課程方面,BoF討論跨學科的數據科學與計算機教育之間的關系、計算機教學的課程指導、Alice(一種3D 編程環境)課程的技巧與方法、殘疾學生的計算機教育問題、編程日志數據的共享和使用問題等。在教學方法方面,討論主動學習法、過程導向學習法、類比法,如何使計算機CS1/CS2 概念變得易懂,老師如何指導開放的項目等。在師資培訓及服務方面,討論高校計算機教師認證相關的標準、評估和認證考試等。
4 中國信息教育科研亟待加強
SIGCSE 每年參會的代表以及論文成果以美國本土的計算機教育工作者為主體,這是因為美國高度重視計算機教育研究和人才培養。相比于計算機專業其他方向的SIG 系列會議,SIGCSE 上罕見來自中國大陸的論文,這反映了我國在計算機教育研究項目和經費投入的嚴重不足。
美國高度重視信息技術領域的人才培養。2016年1 月,美國撥款40 億美元推出“全民計算機科學行動計劃(Computer Science for all Initiative)”,旨在普及計算機科學教育,著力推動青少年編程教育。美國NSF 也撥款12 億美元設立了相關項目,支持信息技術教育的研究與實踐。
美國NSF每年支持十多個大于百萬美元的計算機教育項目,還有不少幾十萬美元的中小型項目,每年支持的計算機教育研究項目超過1 億美元。例如,美國加州大學伯克利分校的丹·加西亞(Dan Garcia)領導的Beauty and Joy of Computing 項目不僅得到NSF 650 多萬美元資助(2011—2018年),還獲得了紐約市政府1 000 多萬美元的配套支持。而中國教授獨立申請的大多數計算機教育立項的資助金額一般只有幾萬元人民幣。計算機學科發展迅猛,人才需求旺盛,對計算機教育研究的科研立項和經費投入不夠,必將嚴重影響到下一代中國人在信息領域的國際競爭力。
為了更多、更快、更好地培養我國信息技術領域人才,建議教育部和國家自然科學基金委員會聯合,長期支持一批信息技術教育研究項目,以利于為國家培養大量信息技術人才。
參考文獻:
[1] Bart A C, Whitcomb R, Kafura D, et al. Computing with CORGIS: Diverse, real-world datasets for introductory computing[C]//Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education. Seattle, Washington, USA: ACM, 2017: 57-62.
[2] Srikant S, Aggarwal V. Introducing data science to school kids[C]//Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education. Seattle, Washington, USA: ACM, 2017: 561-566.
[3] Eickholt J, Shrestha S. Teaching big data and cloud computing with a physical cluster[C]//Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education. Seattle, Washington, USA: ACM, 2017: 177-181.endprint
[4] Brown N C C, Altadmri A. Novice Java programming mistakes: Large-scale data vs. educator beliefs[J]. ACM Transactions on Computing Education (TOCE), 2017, 17(2): 7.
[5] K?lling M, McKay F. Heuristic evaluation for novice programming systems[J]. ACM Transactions on Computing Education (TOCE), 2016, 16(3): 12.
[6] Carter A S, Hundhausen C D. Using programming process data to detect differences in students' patterns of programming[C]//Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education. Seattle, Washington, USA: ACM, 2017: 105-110.
[7] Hovemeyer D, Hellas A, Petersen A, et al. Progsnap: Sharing programming snapshots for research (abstract only)[C]//Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education. Seattle, Washington, USA: ACM, 2017: 709.
[8] Timmerman K, Doom T. Infrastructure for continuous assessment of retained relevant knowledge[C]//Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education. Seattle, Washington, USA: ACM, 2017: 579-584.
[9] Cao Y J, Porter L. Evaluating student learning from collaborative group tests in introductory computing[C]//Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education. Seattle, Washington, USA: ACM, 2017: 99-104.
[10] Pierce J, Zilles C. Investigating student plagiarism patterns and correlations to grades[C]//Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education. Seattle, Washington, USA: ACM, 2017: 471-476.
[11] Breese S, Milanova A, Cutler B. Using static analysis for automated assignment grading in introductory programming classes (abstract only)[C]//Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education. Seattle, Washington, USA: ACM, 2017: 704.
[12] Anewalt K, Polack J. A curriculum model featuring oral communication instruction and practice[C]//Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education. Seattle, Washington, USA: ACM, 2017: 33-37.
[13] Brunvand E, McCurdy N. Making noise: Using sound-art to explore technological fluency[C]//Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education. Seattle, Washington, USA: ACM, 2017: 87-92.
(編輯:彭遠紅)endprint