王旭卿 陳凱
陳凱:看了本刊2021年第6期中的幾位老師關(guān)于國(guó)產(chǎn)操作系統(tǒng)的對(duì)話,很有感觸,甚至有一種埋藏已久的熱情被再次點(diǎn)燃的感覺(jué)。對(duì)話中,梁森山老師提到,在高科技領(lǐng)域,我國(guó)存在著繞不開的痛點(diǎn),既缺少芯片,又缺少操作系統(tǒng)。謝作如老師提到,應(yīng)該在教育中推廣開源操作系統(tǒng)的應(yīng)用,這會(huì)在兩方面為將來(lái)國(guó)產(chǎn)操作系統(tǒng)進(jìn)入基礎(chǔ)教育做好準(zhǔn)備,一是讓學(xué)生們養(yǎng)成開源系統(tǒng)下的用戶習(xí)慣,為建立良好的軟硬件生態(tài)環(huán)境做好準(zhǔn)備,二是能讓學(xué)生通過(guò)接觸到更多操作系統(tǒng)底層知識(shí),從而對(duì)探究計(jì)算機(jī)原理產(chǎn)生動(dòng)力。那么,就有必要討論一下,推動(dòng)開源系統(tǒng)進(jìn)入基礎(chǔ)教育,理由是否充分?當(dāng)下使用開源系統(tǒng)開展信息技術(shù)教育的進(jìn)展又大致如何呢?
王旭卿:這里先大致將開源系統(tǒng)分為開源的硬件系統(tǒng)和開源的軟件系統(tǒng)。在軟件系統(tǒng)中進(jìn)一步細(xì)分,可以包含開源的操作系統(tǒng)、數(shù)據(jù)庫(kù)、程序開發(fā)語(yǔ)言、應(yīng)用軟件等,甚至可以更寬泛一些,像開源的各類文檔、作品,都可以納入到廣義的開源系統(tǒng)的范疇中??傊?,這些開源的資源在發(fā)布時(shí),都根據(jù)具體情況設(shè)定了不同程度的開源許可協(xié)議,我認(rèn)為,這在很大程度上提高了資源利用和建設(shè)的效率,同時(shí),也加強(qiáng)了對(duì)核心技術(shù)的可控性,對(duì)于打破技術(shù)壁壘有著很重要的意義。
一方面,目前開源硬件的內(nèi)容已經(jīng)進(jìn)入到《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)》,所以說(shuō),開源硬件的內(nèi)容進(jìn)入基礎(chǔ)教育是一個(gè)進(jìn)行時(shí)態(tài)的事情,相信中學(xué)信息技術(shù)教師對(duì)Arduino、掌控板、樹莓派、虛谷號(hào)等開源硬件的名稱,起碼知曉其中一二,而且我注意到,已經(jīng)有很多教師都開始嘗試進(jìn)行有關(guān)開源硬件的教學(xué)實(shí)踐了。至于開源軟件,概覽教材中涉及的應(yīng)用軟件和系統(tǒng)軟件,大部分是開源或免費(fèi)的,尤其是Python編程語(yǔ)言環(huán)境,不僅其本身具有開源屬性,而且在數(shù)據(jù)結(jié)構(gòu)和人工智能教學(xué)模塊中用到的Python庫(kù)也大多是開源的。至于開源的操作系統(tǒng),如Linux系統(tǒng),據(jù)我了解,目前還很少有學(xué)校將其安裝到機(jī)房中的每一臺(tái)學(xué)生機(jī)上,在一般學(xué)校,使用Linux系統(tǒng)作為服務(wù)器的情況也并不是特別多,并且,一線教師中對(duì)Linux系統(tǒng)比較熟悉的也不多。所以我想,關(guān)于開源系統(tǒng)進(jìn)基礎(chǔ)教育的問(wèn)題,如果從形式上要普遍推廣開源操作系統(tǒng)的應(yīng)用,要讓學(xué)生在開源操作系統(tǒng)上進(jìn)行信息技術(shù)的學(xué)習(xí),就普通學(xué)校的狀況而言,是需要非常大的努力才能達(dá)成目標(biāo)的。
但另一方面,不能說(shuō)因?yàn)槔щy就不作為。站在國(guó)家人才發(fā)展戰(zhàn)略的視角看,培養(yǎng)學(xué)生技術(shù)自信、自主創(chuàng)新意識(shí)和能力,是越來(lái)越重要的事。在課程中使用國(guó)產(chǎn)的開源軟硬件,這是樹立學(xué)生民族自信心的途徑之一,開源系統(tǒng)是學(xué)科育人價(jià)值培養(yǎng)的良好平臺(tái)。關(guān)于開源系統(tǒng)進(jìn)教育,是要討論怎么做,而不是討論是否做的問(wèn)題。
陳凱:作為一線的信息技術(shù)教師,我覺(jué)得自己在這方面比較有發(fā)言權(quán)。一方面,學(xué)校計(jì)算機(jī)操作系統(tǒng)的架設(shè)是一項(xiàng)龐大煩瑣的工作,也是一項(xiàng)牽扯到方方面面的基礎(chǔ)設(shè)施建設(shè)工作,如無(wú)十分必要,一般不會(huì)去調(diào)整;另一方面,如今的學(xué)生作為數(shù)字原住民,對(duì)Windows、安卓、iOS這些圖形界面操作系統(tǒng)的使用都已經(jīng)十分熟悉了,甚至可以說(shuō)到了人機(jī)一體的境界。而對(duì)于Linux或FreeBSD這樣的開源操作系統(tǒng),必須承認(rèn),至今為止,它們的圖形界面的軟件生態(tài)環(huán)境還是不太完備的,而這些系統(tǒng)的命令行界面的操作方式,和一般學(xué)生的操作習(xí)慣是相當(dāng)不兼容的。但這里必須指出,一個(gè)開源的系統(tǒng)是由非常多的子系統(tǒng)組成的,集成了眾多腦力勞動(dòng)者的成果,就目前看來(lái),使不同的軟件或函數(shù)庫(kù)能更便捷地在本地或者通過(guò)網(wǎng)絡(luò)相互調(diào)用和實(shí)現(xiàn)數(shù)據(jù)傳輸,命令行界面的指令操作是效率比較高的方式。那么,當(dāng)我們的美好理想因?yàn)楝F(xiàn)實(shí)情況遭遇困難和阻礙的時(shí)候,應(yīng)該采用怎樣的策略克服困難、取得進(jìn)步?或者說(shuō),應(yīng)該試著在哪方面去重點(diǎn)突破呢?
王旭卿:開源系統(tǒng)進(jìn)中小學(xué)值得嘗試,但毫無(wú)疑問(wèn)會(huì)面臨許多問(wèn)題,其中有師資的問(wèn)題,有學(xué)生認(rèn)知基礎(chǔ)的問(wèn)題,有開源系統(tǒng)本身生態(tài)的問(wèn)題,并且還要在完整的教育發(fā)展背景下思考社會(huì)的需求以及各方面的約束。我建議采取謹(jǐn)慎的態(tài)度,小步子向前邁進(jìn),在研究和推進(jìn)過(guò)程中可以爭(zhēng)取企業(yè)在設(shè)備和技術(shù)上的支持。在中小學(xué),有能力、有興趣的教師可以積極探索,給學(xué)生提供接觸開源系統(tǒng)的機(jī)會(huì),可以帶領(lǐng)有潛力的學(xué)生開展深入的應(yīng)用和研究。說(shuō)到開源操作系統(tǒng)的用戶習(xí)慣,謝作如老師在上一期對(duì)話中提到,希望鴻蒙在進(jìn)入中小學(xué)時(shí),能和安卓一樣上手容易,無(wú)縫移植,這一點(diǎn)我也十分贊同。雖然說(shuō),對(duì)操作系統(tǒng)底層的了解,能夠培養(yǎng)學(xué)生核心的、關(guān)鍵的學(xué)科知識(shí),但這里的底層,并不是指在過(guò)程上要從完全基礎(chǔ)的環(huán)境安裝、系統(tǒng)配置開始學(xué)習(xí),而是指要凸顯計(jì)算機(jī)實(shí)現(xiàn)某個(gè)功能的核心思想方法。信息技術(shù)學(xué)科涵蓋的范圍太大,在面向全體學(xué)生進(jìn)行教育時(shí),需要在經(jīng)典內(nèi)容和時(shí)代發(fā)展要素之間取得平衡,在面向?qū)W有余力的學(xué)生時(shí),可以從當(dāng)前熟悉的環(huán)境出發(fā),引導(dǎo)他們?cè)谏疃群蛷V度上展開探索。
選擇哪一個(gè)系統(tǒng)用于信息技術(shù)教學(xué),其實(shí)也不能僅考慮情感上或版權(quán)上的問(wèn)題,還要考慮到這個(gè)系統(tǒng)是否有助于學(xué)科核心素養(yǎng)的培養(yǎng)。新的課程不再將信息技術(shù)教學(xué)內(nèi)容綁定至某一具體的軟件,或規(guī)定使用怎樣的操作系統(tǒng),如教師以Windows系統(tǒng)為基礎(chǔ)安裝軟件來(lái)教授人工智能,或以Linux系統(tǒng)為基礎(chǔ)安裝軟件來(lái)教授人工智能,這都是可以的。但考慮到這樣一個(gè)學(xué)習(xí)項(xiàng)目,它需要從周圍環(huán)境采集數(shù)據(jù),然后利用人工智能庫(kù)來(lái)對(duì)數(shù)據(jù)進(jìn)行分析處理,最后將處理結(jié)果轉(zhuǎn)化為某個(gè)外部的機(jī)械動(dòng)作,那么,在Windows系統(tǒng)平臺(tái)上實(shí)現(xiàn)整個(gè)系統(tǒng)就比Linux系統(tǒng)要困難,因?yàn)長(zhǎng)inux系統(tǒng)中提供了更多種可開放使用的模塊和腳本,可比較容易地實(shí)現(xiàn)網(wǎng)絡(luò)通信、物聯(lián)網(wǎng)通信、多用戶遠(yuǎn)程登錄等功能。對(duì)于學(xué)生來(lái)說(shuō),他們所面對(duì)的這樣的開源系統(tǒng),就不再是一個(gè)面向普通用戶的系統(tǒng)了,而是一個(gè)可以自頂向下進(jìn)行設(shè)計(jì)和開發(fā)、可以逐層分解成模塊的具有很強(qiáng)定制、改造和擴(kuò)展能力的系統(tǒng)。那么在項(xiàng)目學(xué)習(xí)中,和計(jì)算思維有關(guān)的系統(tǒng)化、模塊化的思想,就自然而然地體現(xiàn)出來(lái)了。
中小學(xué)生學(xué)習(xí)開源系統(tǒng)可以有不同的切入角度,如可以面向真實(shí)問(wèn)題和需求,去設(shè)計(jì)和制作某種人機(jī)交互裝置,從信息系統(tǒng)的消費(fèi)者轉(zhuǎn)型為信息系統(tǒng)的設(shè)計(jì)者、開發(fā)者,在人——包括開發(fā)者和使用者、信息系統(tǒng)、信息社會(huì)多重互動(dòng)的環(huán)境下理解當(dāng)下的生存環(huán)境。在這個(gè)過(guò)程中,教師可以為學(xué)生提供封裝程度不一的軟硬件模塊,讓不同認(rèn)知水平的學(xué)生體驗(yàn)不同的學(xué)習(xí)經(jīng)歷,獲得不同的收獲。需要注意的是,不要僅僅將思路自我設(shè)限在開源系統(tǒng)上,要從宏觀整體上看待問(wèn)題,在一個(gè)面向真實(shí)問(wèn)題的任務(wù)實(shí)施過(guò)程中,要培養(yǎng)學(xué)生按需求評(píng)估、選擇、測(cè)試、使用、評(píng)價(jià)軟硬件的能力,無(wú)論是正版商業(yè)軟件還是自由軟件、免費(fèi)軟件,這些都可以是學(xué)習(xí)考察的對(duì)象。
陳凱:我覺(jué)得王老師您剛才提到的例子,實(shí)際上和學(xué)科核心素養(yǎng)的其他幾個(gè)要素都有關(guān)系,如數(shù)字化學(xué)習(xí)、信息意識(shí)的培養(yǎng)等。在項(xiàng)目學(xué)習(xí)中,為了實(shí)現(xiàn)某個(gè)特定的任務(wù),我們不能閉門造車,而是要先了解其他人已經(jīng)做了什么,哪些是直接能調(diào)用的,哪些是需要改造的,怎么將已有的模塊用到自己的項(xiàng)目中,怎樣發(fā)布自己的成果等等,這和開源軟硬件的開發(fā)理念是相符合的。與此同時(shí),我們?cè)陂_源的系統(tǒng)上教學(xué),也是有意識(shí)地讓學(xué)生們知道,他們將來(lái)不應(yīng)該僅僅是某個(gè)工業(yè)和商業(yè)產(chǎn)品的消費(fèi)者,還應(yīng)該是推動(dòng)社會(huì)發(fā)展的開發(fā)者和建設(shè)者。
王老師提到了面向真實(shí)問(wèn)題的任務(wù),這里就不得不提到一個(gè)問(wèn)題,說(shuō)到在項(xiàng)目學(xué)習(xí)中體驗(yàn)系統(tǒng)的開發(fā),很多學(xué)校會(huì)開設(shè)諸如機(jī)器人、無(wú)人機(jī)這樣一些看上去高大上的課程,但實(shí)際上,在這些機(jī)器人和無(wú)人機(jī)里調(diào)用某個(gè)人工智能的庫(kù),或者網(wǎng)絡(luò)上已有的某個(gè)功能接口——事實(shí)上有很多開源的模塊可供調(diào)用,學(xué)生們很快就能做出某種“智能”的設(shè)備了。也有很多公司看到了商機(jī),直接就把各種函數(shù)庫(kù)封裝到硬件設(shè)備里,做成一個(gè)小盒子,教師和學(xué)生都能輕松調(diào)用,但函數(shù)庫(kù)里到底做了什么,卻不再去深究了,于是,開源系統(tǒng)之源,反而可能被忽視了。那么不妨問(wèn)一下,學(xué)生在學(xué)習(xí)中,是不是滿足于組裝拼接就可以了?如果答案是否定的,那么就又帶來(lái)了另一個(gè)問(wèn)題,對(duì)于“盒子”的拆解應(yīng)該達(dá)到怎樣的程度才是合理的?畢竟,雖然我們知道“源”在那里,但以一般的學(xué)生的水平,要讓他們?cè)谧陨砟芰脱b備還不齊全的情況下,在溯源的路徑上采集知識(shí)財(cái)富,確實(shí)很有難度。
王旭卿:這個(gè)問(wèn)題其實(shí)還是和基礎(chǔ)的知識(shí)技能的教學(xué)有關(guān),從信息技術(shù)學(xué)科本身來(lái)看,讓學(xué)生理解核心原理是不能被忽略的事情,雖然基礎(chǔ)性的知識(shí)學(xué)習(xí)肯定是比較枯燥的,并且也常常不能被整合到某個(gè)項(xiàng)目學(xué)習(xí)活動(dòng)中去,但若沒(méi)有對(duì)這些基礎(chǔ)原理的理解和掌握,只滿足于外在功能的調(diào)用和組裝,是不能夠培養(yǎng)出有深度思維能力的學(xué)生的。另外我也認(rèn)為,要警惕泛項(xiàng)目學(xué)習(xí)化的傾向。我記得陳老師您說(shuō)過(guò),一個(gè)理論越是深入到底層,可能離教師初始設(shè)定的生活情境就越遠(yuǎn)。我認(rèn)為,一個(gè)課程中可以設(shè)定幾個(gè)項(xiàng)目活動(dòng),在活動(dòng)過(guò)程中關(guān)聯(lián)起知識(shí),但這不是說(shuō)每節(jié)課都要弄成項(xiàng)目活動(dòng),有很多知識(shí)的獲得和技能的達(dá)成還是需要基礎(chǔ)性的記憶和訓(xùn)練的。
陳老師您提到“小盒子”的問(wèn)題,我是這樣看的,對(duì)于小學(xué)和初中生來(lái)說(shuō),這種不透明的黑盒的存在,能激發(fā)學(xué)習(xí)興趣、簡(jiǎn)化創(chuàng)造環(huán)境,便于對(duì)接整體系統(tǒng)功能,是有一定的存在必要的。當(dāng)然,教師可以引導(dǎo)學(xué)生對(duì)黑盒內(nèi)部的構(gòu)造產(chǎn)生探索的欲望,或者稍稍打開盒子,看一下半透明的環(huán)境。有了這樣的應(yīng)用場(chǎng)景的支撐和行為習(xí)慣的培養(yǎng),到了高中和大學(xué),對(duì)進(jìn)一步打開盒子、深入盒子內(nèi)部進(jìn)行探索就有了一定準(zhǔn)備。這就是說(shuō),要在簡(jiǎn)單的學(xué)習(xí)和操作環(huán)境中讓學(xué)生的關(guān)注有一個(gè)集中的聚焦點(diǎn),接下來(lái),就可以在此基礎(chǔ)上,根據(jù)不同的側(cè)重點(diǎn)進(jìn)行迭代。從這個(gè)角度看,開源系統(tǒng)比商業(yè)化的封閉系統(tǒng)無(wú)疑具有更大的優(yōu)勢(shì)。剛才陳老師問(wèn)到對(duì)盒子的拆解應(yīng)該達(dá)到怎樣的程度,我認(rèn)為,只要牢牢把握住本學(xué)科中培養(yǎng)學(xué)生核心素養(yǎng)這個(gè)目標(biāo),同時(shí)兼顧學(xué)生的心理思維發(fā)展水平以及當(dāng)下知識(shí)技能儲(chǔ)備,就不會(huì)有太大偏差。例如,讓學(xué)生們用盒子、拆盒子,拆出來(lái)后盡管很多地方看不懂,但教師可以從中選出少數(shù)基礎(chǔ)性的組件,介紹它們?cè)谶\(yùn)行中的核心思想,這樣也就可以了。當(dāng)然,具體怎么做,做到什么程度,無(wú)疑需要一線教師去探索、實(shí)踐、反思和完善。
陳凱:王老師提到了一個(gè)非常好的詞語(yǔ)“迭代”,這給了我一個(gè)啟發(fā),要讓學(xué)生多了解系統(tǒng)底層知識(shí),并不是說(shuō)教學(xué)的過(guò)程一定是從底層開始的。這就好像我們?cè)诶L制分形的科赫曲線時(shí),先簡(jiǎn)單畫一個(gè)三角形,然后再在這個(gè)三角形的每條邊上畫出小三角形,使之成為一個(gè)六芒星,然后不停地迭代,最終呈現(xiàn)出雪花的圖樣。在這個(gè)過(guò)程中,可以說(shuō)是先有了對(duì)三角形的認(rèn)知,然后再深入到每一個(gè)線段變化的更“底層”,去發(fā)現(xiàn)每個(gè)線段上那些小三角形的存在。假設(shè)我們要在樹莓派或虛谷號(hào)的Linux系統(tǒng)上實(shí)現(xiàn)某個(gè)圖像識(shí)別功能,一種方法是直接調(diào)用現(xiàn)成的函數(shù)庫(kù),另一種方法是自己寫一個(gè)機(jī)器學(xué)習(xí)算法。從學(xué)習(xí)人工智能的角度看,這兩種實(shí)現(xiàn)方式都是有價(jià)值的,前者是了解一個(gè)系統(tǒng)的全貌,而后者則在更底層體驗(yàn)機(jī)器學(xué)習(xí)的運(yùn)作方式。之所以說(shuō)“更底層”而不是直接說(shuō)“底層”,是因?yàn)槲覀冎肋@個(gè)機(jī)器學(xué)習(xí)算法本身也是建立在更底層的學(xué)科知識(shí)基礎(chǔ)上的,如很多機(jī)器學(xué)習(xí)算法需要用到數(shù)學(xué)上的工具,在信息技術(shù)教學(xué)中,我們更多的是把那些數(shù)學(xué)工具當(dāng)作黑盒子來(lái)使用。
但我總還是有這樣的希望,如果學(xué)生真的能從底層開始,親自經(jīng)歷一層一層搭積木直到實(shí)現(xiàn)完整的頂層——如某個(gè)機(jī)器學(xué)習(xí)算法的功能模塊——的過(guò)程,這將會(huì)是十分美好的圖景,但在有限的教學(xué)時(shí)間內(nèi),實(shí)現(xiàn)起來(lái)是頗有困難的。
王旭卿:以中學(xué)生的水平,理解某些算法,如機(jī)器學(xué)習(xí)中的一些算法,確實(shí)是有比較大的困難。我從兩個(gè)方面來(lái)看這個(gè)問(wèn)題:一方面,這也恰恰說(shuō)明,算法與程序設(shè)計(jì)的基礎(chǔ)教學(xué)是非常重要的;另一方面,這讓我想到,現(xiàn)有的功能模塊,正是因?yàn)槠渫暾?,才造成了其?shí)現(xiàn)過(guò)程的復(fù)雜性,因?yàn)檫@些功能模塊并不是專為教育而開發(fā)的。當(dāng)前,已經(jīng)有不少教師都在思考,如何盡可能以中學(xué)生的知識(shí)水平與思維方式,來(lái)教授那些較為艱深的算法。我注意到《中國(guó)信息技術(shù)教育》雜志已經(jīng)連續(xù)很多期刊登了北京大學(xué)李曉明教授和南京大學(xué)陳道蓄教授的關(guān)于算法的文章,可以認(rèn)真消化一下。高校教授的很多設(shè)想,非常需要中學(xué)一線教師在反復(fù)的具體教學(xué)實(shí)踐中,使之逐漸成為有效的、成系統(tǒng)的教學(xué)活動(dòng)方案,在實(shí)踐中涌現(xiàn)出的新的想法可以再一次進(jìn)行反饋。如果能夠?qū)⒛切┧惴ǖ木杼釤挸鰜?lái),針對(duì)基礎(chǔ)教育的目標(biāo),封裝成雖然功能完備性有限但足以說(shuō)明運(yùn)行原理的模塊,然后將這些面向教育應(yīng)用的功能模塊以開源的形式發(fā)布,那將是很有意義的工作。在這里,我就鼓勵(lì)有興趣的老師們?cè)囈辉嚕惱蠋熡X(jué)得如何?
陳凱:這真是一個(gè)極有挑戰(zhàn)性的任務(wù)??!
王旭卿:我們的世界在相互競(jìng)爭(zhēng)和協(xié)作中發(fā)展,許多工作不是依靠一個(gè)人或幾個(gè)人的力量能夠完成的。陳老師不妨說(shuō)說(shuō)看,對(duì)于開源系統(tǒng)進(jìn)入基礎(chǔ)的信息技術(shù)教育,在具體的實(shí)施過(guò)程方面有哪些想法?或者說(shuō),有哪些任務(wù)是可以大家一起來(lái)協(xié)作進(jìn)行的?
陳凱:我覺(jué)得有以下一些工作等待完成,首先,從基礎(chǔ)設(shè)施的建設(shè)來(lái)看,可以針對(duì)新的課程,整理出一份用于日常信息技術(shù)教學(xué)的開源軟、硬件工具的清單,然后試著架設(shè)開源的服務(wù)器系統(tǒng),學(xué)生只要遠(yuǎn)程登錄到這個(gè)服務(wù)器上,就可以將其中的軟件和工具用于學(xué)習(xí)了。其次,可以基于Linux內(nèi)核,為信息技術(shù)教學(xué),或?qū)槿斯ぶ悄芙虒W(xué),或者電子電路乃至集成電路設(shè)計(jì)的教學(xué)的目的制訂一個(gè)特別的Linux開發(fā)板。據(jù)我所知,基于Linux內(nèi)核的開發(fā)板類型很多,有專用于網(wǎng)絡(luò)路由器的,有面向家庭娛樂(lè)的,有用于幼兒教育的,但專門用于信息技術(shù)教學(xué)的開發(fā)板不多,面向人工智能教學(xué)或電子電路方面教學(xué)的就更少了。我想,如果在獲得某個(gè)開源硬件的時(shí)候,系統(tǒng)中已經(jīng)配置好了一些主要的機(jī)器學(xué)習(xí)或神經(jīng)網(wǎng)絡(luò)方面的庫(kù),那么就可以大大減輕教師和學(xué)生在安裝和配置上的負(fù)擔(dān)。但這個(gè)工作需要有人工智能相關(guān)廠商的技術(shù)支持,靠我個(gè)人是難以做到的。
另外,我也會(huì)重點(diǎn)關(guān)注,怎么將開源思想、開源工具和日常的信息技術(shù)教學(xué)融合起來(lái)。例如,在講到位圖時(shí),一般都是用BMP格式的圖像作為例子,但其實(shí)可以使用開源的XPixMap圖像格式,這種格式的圖像文件的優(yōu)點(diǎn)是,用記事本就可以直接看到圖像格式文件中的各類標(biāo)記,以及怎樣用不同的符號(hào)來(lái)代表點(diǎn)陣上的顏色。又如,在讓學(xué)生討論知識(shí)產(chǎn)權(quán)問(wèn)題的時(shí)候,可以引導(dǎo)他們多關(guān)注創(chuàng)作共用版權(quán)協(xié)議,鼓勵(lì)學(xué)生們將自己創(chuàng)作的作品,以不同類型的創(chuàng)作共用版權(quán)協(xié)議發(fā)布到網(wǎng)絡(luò)上。我有一個(gè)小小的愿望,希望每一屆學(xué)生都能在項(xiàng)目學(xué)習(xí)活動(dòng)中留下一些以開源協(xié)議發(fā)布的小作品,然后,下一屆學(xué)生就可以基于這些作品,做進(jìn)一步的改造和擴(kuò)充,這樣,一方面是把開源的理念真正落實(shí)到行動(dòng)中,另一方面,也能讓學(xué)生體驗(yàn)到在數(shù)碼時(shí)代所特有的跨時(shí)間、跨空間的協(xié)作創(chuàng)造方式。
王旭卿:可以看出,陳老師想要研究的內(nèi)容很多。剛才您所說(shuō)的重點(diǎn)在于開源的軟硬件基礎(chǔ)設(shè)施的假設(shè)和開源理念的建立,我想,其實(shí)還有更多值得研究的方向。我個(gè)人對(duì)開源硬件的關(guān)注比較多,在開源硬件的學(xué)習(xí)中,我們可能會(huì)從簡(jiǎn)單的積木塊式的編程入手,讓學(xué)生先熟悉積木塊的流程和硬件設(shè)備的關(guān)系,然后一步一步增加流程的復(fù)雜性,最后,為了構(gòu)建復(fù)雜的任務(wù),再轉(zhuǎn)向用命令行操作和全程序代碼來(lái)實(shí)現(xiàn)任務(wù)。這個(gè)過(guò)程,實(shí)際是考慮到人在把握一項(xiàng)新的知識(shí)和技能的時(shí)候,有一個(gè)從直觀形象,逐漸轉(zhuǎn)向抽象化、符號(hào)化的過(guò)程。那么,對(duì)于像Linux這樣的開源操作系統(tǒng)的學(xué)習(xí),其實(shí)也可以借鑒類似的路徑。首先是了解圖形化界面下能夠做些什么;然后是揭示在圖形化的操作過(guò)程中,幕后的指令究竟做了一些什么,其中,還可以研究圖形界面對(duì)用戶的顯現(xiàn)和后臺(tái)配置文件之間的關(guān)系是怎樣的;最后,引導(dǎo)學(xué)生處于設(shè)計(jì)者、開發(fā)者的角度,思考普通用戶的需求和行為習(xí)慣,研究應(yīng)該如何借助指令和代碼,結(jié)合已有的工具,解決一個(gè)真實(shí)情境中的問(wèn)題。
陳凱:王老師所說(shuō)的,讓我聯(lián)想到教學(xué)中Python的登場(chǎng)和VB程序設(shè)計(jì)環(huán)境的逐漸隱退。必須說(shuō),VB是開發(fā)圖形界面的一個(gè)很方便的工具,開發(fā)者只要用鼠標(biāo)拖拽就可以對(duì)不同控件進(jìn)行布局,通過(guò)填表格的方式就可以輕松定義空間的屬性和行為,但對(duì)于Python,或者是Linux系統(tǒng)下的其他腳本語(yǔ)言來(lái)說(shuō),要實(shí)現(xiàn)圖形界面的程序代碼就要復(fù)雜許多。我總是在想,如果在Linux系統(tǒng)下,有一個(gè)類似于VB那樣容易操作的圖形界面設(shè)計(jì)工具就好了——雖然VB作為一個(gè)程序設(shè)計(jì)語(yǔ)言,在許多地方都存在不足,但換一個(gè)角度看問(wèn)題,使用VB這樣的工具,與其說(shuō)是在設(shè)計(jì)圖形界面,倒不如說(shuō)是在一個(gè)高度成熟的圖形環(huán)境中實(shí)施定制和配置工作。相對(duì)而言,在Linux系統(tǒng)中,是能夠用比較方便的形式,將代碼指令和最終呈現(xiàn)給用戶的圖形界面上的元素直接對(duì)應(yīng)起來(lái)的,這就能讓學(xué)生體驗(yàn)到由抽象符號(hào)構(gòu)建虛擬的數(shù)碼物的過(guò)程,對(duì)于學(xué)生理解計(jì)算機(jī)學(xué)科中的思想方法,比如數(shù)據(jù)和計(jì)算之間的關(guān)系、數(shù)據(jù)和顯現(xiàn)之間的關(guān)系等,是十分有益的。
對(duì)于為什么一個(gè)設(shè)計(jì)者不能沉溺于圖形界面開發(fā)的舒適區(qū),這里我想到一個(gè)例子,就是在開發(fā)集成電路時(shí),必須使用硬件描述語(yǔ)言,然后由硬件描述語(yǔ)言生成原理圖并進(jìn)行功能仿真。那么為什么不直接用拖一拖、畫一畫的方式來(lái)設(shè)計(jì)集成電路的原理圖呢?因?yàn)閷?duì)于一個(gè)太過(guò)于龐大的系統(tǒng),人的頭腦是無(wú)法以圖形化的方式來(lái)描繪、跟蹤不同模塊之間的關(guān)系和相互行為的,所以,集成電路EDA軟件中往往需要程序代碼來(lái)支持進(jìn)行設(shè)計(jì)。所以,當(dāng)我們指導(dǎo)學(xué)生在Linux服務(wù)器上寫出一個(gè)XML文檔然后觀察文檔數(shù)據(jù)在瀏覽器中的表現(xiàn),或者用Logo語(yǔ)言畫出某個(gè)有規(guī)律的圖形,或者用pygame庫(kù)模擬出一個(gè)動(dòng)畫效果的時(shí)候,其實(shí)就已經(jīng)在思維模式上,為學(xué)生們將來(lái)構(gòu)建比較大型、復(fù)雜的系統(tǒng)做一定的鋪墊了。
王旭卿:從我們剛才的討論中,其實(shí)可以歸納出兩種不同的思維過(guò)程,一是由直觀的現(xiàn)象到抽象的符號(hào)化、形式化、自動(dòng)化,學(xué)生們應(yīng)該有逐步熟悉、了解的過(guò)程,二是在熟悉和了解的基礎(chǔ)上,還應(yīng)該有主動(dòng)進(jìn)行構(gòu)建、模擬和仿真的過(guò)程。通過(guò)這兩個(gè)過(guò)程,將某個(gè)情境中問(wèn)題解決過(guò)程中的“數(shù)據(jù)—計(jì)算—顯現(xiàn)”的對(duì)應(yīng)關(guān)系呈現(xiàn)出來(lái)。我忽然發(fā)現(xiàn),這與新教材中“數(shù)據(jù)與計(jì)算”模塊中的內(nèi)容有比較多的結(jié)合點(diǎn),可以作為項(xiàng)目學(xué)習(xí)活動(dòng)的設(shè)計(jì)思路。
陳凱:這還真是一個(gè)不錯(cuò)的研究方向。我們?cè)噲D引導(dǎo)學(xué)生處于設(shè)計(jì)者、開發(fā)者的角度,思考普通用戶的需求和行為習(xí)慣,研究應(yīng)該如何借助指令和代碼,結(jié)合已有的工具,解決一個(gè)真實(shí)情境中的問(wèn)題,這樣的方向是確定的。關(guān)于如何結(jié)合“數(shù)據(jù)與計(jì)算”模塊的教學(xué)內(nèi)容,借助開源系統(tǒng)將“數(shù)據(jù)—計(jì)算—顯現(xiàn)”的關(guān)系呈現(xiàn)出來(lái),這是一個(gè)有價(jià)值的研究方向。
Linux等開源操作系統(tǒng)既是一個(gè)高效的開發(fā)平臺(tái),又是一個(gè)完整的研究對(duì)象,但和開源硬件不同的是,它們大多不是為基礎(chǔ)教育的教學(xué)目標(biāo)量身定制的,將開源系統(tǒng)用于基礎(chǔ)的信息技術(shù)教育,探索期和磨合期都會(huì)比較長(zhǎng)。如王老師前面所說(shuō),讓學(xué)生在開源操作系統(tǒng)上進(jìn)行信息技術(shù)的學(xué)習(xí),就一般學(xué)校的狀況而言,是需要非常大的努力才能達(dá)成目標(biāo)的。雖然道路是漫長(zhǎng)的,但我們也不應(yīng)畏懼艱難,要堅(jiān)定自己的前行目標(biāo)。
王旭卿:是的,在當(dāng)前中國(guó)高科技的發(fā)展因?yàn)槿鄙僮灾鳟a(chǎn)權(quán)的芯片和操作系統(tǒng)而受到制約的現(xiàn)實(shí)情況下,我們前行的步子必須更加快一點(diǎn)才行。
王旭卿
教育學(xué)博士?,F(xiàn)為上海師范大學(xué)信息與機(jī)電工程學(xué)院計(jì)算機(jī)系副教授,教育技術(shù)專業(yè)碩士生導(dǎo)師。擔(dān)任上??萍冀逃霭嫔绯霭娴?019版《普通高中信息技術(shù)必修2:信息系統(tǒng)與社會(huì)》教材的分冊(cè)主編和主要編寫人員。2016-2020年,承擔(dān)上海市教委“立德樹人”信息科技教育基地項(xiàng)目中多個(gè)子課題研究。近年來(lái)重點(diǎn)關(guān)注創(chuàng)意編程+、計(jì)算思維、創(chuàng)客教育和STEAM教育等相關(guān)主題的教學(xué)與研究。已發(fā)表核心期刊論文20余篇,主編、參編和翻譯著作、教材10余本。
陳 凱
上海市位育中學(xué)信息技術(shù)高級(jí)教師,上海市徐匯區(qū)學(xué)科帶頭人,當(dāng)前研究重點(diǎn)為信息技術(shù)學(xué)科項(xiàng)目學(xué)習(xí)活動(dòng)方案設(shè)計(jì)、計(jì)算思維的可視化與評(píng)價(jià)、開源軟件系統(tǒng)在基礎(chǔ)教育中的應(yīng)用等,發(fā)表多篇論文,參編多冊(cè)信息技術(shù)教材。