東北師范大學(xué)盤龍實(shí)驗(yàn)學(xué)校 師文浩
昆明理工大學(xué)津橋?qū)W院 楊磊娜
隨著大數(shù)據(jù)、人工智能等信息技術(shù)高速發(fā)展,程序設(shè)計(jì)類課程越來越多地被納入到校本課程中,受到廣泛關(guān)注和歡迎。 2022 年9 月, 教育部辦公廳印發(fā)了《關(guān)于公布2022-2025 學(xué)年面向中小學(xué)生的全國(guó)性競(jìng)賽活動(dòng)的通知》,其中認(rèn)定了44 項(xiàng)全國(guó)性競(jìng)賽,有約四分之一的競(jìng)賽涉及程序設(shè)計(jì)技能[1]。因此,中小學(xué)校結(jié)合校本實(shí)際開發(fā)程序設(shè)計(jì)類課程能夠起到豐富課后服務(wù)內(nèi)容、培養(yǎng)學(xué)生信息科技素養(yǎng)、鼓勵(lì)和幫助學(xué)生參與競(jìng)賽等作用,具有一定的現(xiàn)實(shí)意義。
2017 年2 月,教育部辦公廳出臺(tái)《關(guān)于做好中小學(xué)生課后服務(wù)工作的指導(dǎo)意見》, 指出課后服務(wù)內(nèi)容主要是安排學(xué)生做作業(yè)、自主閱讀、體育、藝術(shù)、科普活動(dòng),以及娛樂游戲、拓展訓(xùn)練、開展社團(tuán)及興趣小組活動(dòng)、觀看適宜兒童的影片等[2]。 2021 年7 月,中共中央辦公廳、國(guó)務(wù)院辦公廳印發(fā)了《關(guān)于進(jìn)一步減輕義務(wù)教育階段學(xué)生作業(yè)負(fù)擔(dān)和校外培訓(xùn)負(fù)擔(dān)的意見》,指出要提升學(xué)校課后服務(wù)水平,滿足學(xué)生多樣化需求[3]。
要讓“雙減”政策落到實(shí)處,各中小學(xué)就要重點(diǎn)關(guān)注學(xué)生的課后服務(wù)項(xiàng)目的開設(shè),而校本課程是對(duì)活動(dòng)課和選修課的繼承、規(guī)范和發(fā)展,有些興趣小組和活動(dòng),可以直接歸入校本課程。 因此,可以采用校本課程開發(fā)的方法來設(shè)計(jì)和開展符合“雙減”政策要求的課后服務(wù)活動(dòng)。
當(dāng)前我國(guó)基礎(chǔ)教育改革的重點(diǎn)是圍繞培養(yǎng)學(xué)生的核心素養(yǎng),也就是學(xué)生所應(yīng)當(dāng)具有的必備品格和關(guān)鍵能力來展開的。 校本課程的開發(fā)需要從“知識(shí)本位”轉(zhuǎn)向“素養(yǎng)本位”,積極倡導(dǎo)實(shí)踐與探究、合作與交流、評(píng)價(jià)與反思等多樣化的活動(dòng)形式,注重知識(shí)與經(jīng)驗(yàn)的整合,將創(chuàng)新精神、實(shí)踐能力、社會(huì)責(zé)任感以及良好品質(zhì)作為校本課程的價(jià)值內(nèi)核[4]。
程序設(shè)計(jì)類課程從學(xué)科劃分來看屬于信息科技,其內(nèi)容應(yīng)當(dāng)體現(xiàn)該學(xué)科的核心素養(yǎng)培養(yǎng)需求?!读x務(wù)教育信息科技課程標(biāo)準(zhǔn)(2022 年版)》中規(guī)定了本學(xué)科的核心素養(yǎng)是信息意識(shí)、數(shù)字化學(xué)習(xí)與創(chuàng)新、計(jì)算思維、信息社會(huì)責(zé)任這四項(xiàng)。 程序設(shè)計(jì)被認(rèn)為是適合計(jì)算思維培養(yǎng)的主要方法。
“自頂向下”法的含義可以從兩個(gè)方面來理解。作為編排內(nèi)容的方法,“自頂向下” 法最早由計(jì)算機(jī)科學(xué)家James F. Kurose 應(yīng)用在他的著名教材《計(jì)算機(jī)網(wǎng)絡(luò)》中。 他認(rèn)為,傳統(tǒng)的《計(jì)算機(jī)網(wǎng)絡(luò)》課程或教材,在編排內(nèi)容的時(shí)候,往往從最下面一層(即物理層)開始講解,然后一層一層往上到達(dá)最上層(即應(yīng)用層),這種方法不利于學(xué)生理解和掌握知識(shí)點(diǎn), 因?yàn)閷W(xué)生在使用網(wǎng)絡(luò)的時(shí)候很少關(guān)注下層的內(nèi)容,都是直接進(jìn)行應(yīng)用,如果先開始講解底層,會(huì)產(chǎn)生疏離感,因此應(yīng)當(dāng)從最上層開始講解,貼近實(shí)際,逐步下沉。
作為軟件工程中的一種分析方法,“自頂向下”指的是從整體到局部進(jìn)行設(shè)計(jì)。先將一個(gè)復(fù)雜的軟件系統(tǒng)分解為多個(gè)模塊,然后對(duì)每個(gè)模塊進(jìn)行設(shè)計(jì)和開發(fā),開發(fā)每個(gè)模塊時(shí)同樣遵循逐步細(xì)化的原則。 應(yīng)該說,這種思路符合計(jì)算思維過程中的幾個(gè)關(guān)鍵步驟,即抽象、分解、設(shè)計(jì)算法、驗(yàn)證等。
在大中小學(xué)開展程序設(shè)計(jì)類課程,傳統(tǒng)的做法是先從程序語言中最小的細(xì)節(jié)部分開始, 逐步進(jìn)入程序結(jié)構(gòu);之后教授模塊化的相關(guān)內(nèi)容;最后進(jìn)行綜合設(shè)計(jì)實(shí)踐。 這種方法在起始階段較為枯燥,學(xué)生很難體會(huì)到編程的樂趣和成就感,容易過早進(jìn)入疲勞期,效果不好。采用“自頂向下”法來安排課程內(nèi)容, 可以從一個(gè)具體的應(yīng)用程序開始,逐步拆分成不同的功能模塊,再進(jìn)一步細(xì)化為實(shí)現(xiàn)模塊需要用到的技術(shù)細(xì)節(jié)。這種方法使得學(xué)生能夠沉浸在具體的情境或者任務(wù)中進(jìn)行學(xué)習(xí),采用情境教學(xué)法或者任務(wù)教學(xué)法來實(shí)施課程。
采用線上線下相結(jié)合的方法開展混合學(xué)習(xí),可以充分滿足學(xué)生的個(gè)性化需要。利用線上線下融合的方法進(jìn)行課程和教學(xué)設(shè)計(jì),要考慮學(xué)科特點(diǎn),充分發(fā)揮學(xué)科和教學(xué)的優(yōu)勢(shì)[5]。
學(xué)生對(duì)于程序設(shè)計(jì)類課程的需求是不一致的, 有些學(xué)生希望通過學(xué)習(xí)進(jìn)一步參加競(jìng)賽活動(dòng), 有些學(xué)生僅僅是因?yàn)楹闷嫘亩x擇參加課程。 采用線上線下結(jié)合的方式,可以用不同的形式來承載課程內(nèi)容,滿足不同學(xué)生的學(xué)習(xí)需要。在設(shè)計(jì)課程的過程中,需要充分考慮在不同環(huán)境下應(yīng)該呈現(xiàn)哪些課程內(nèi)容, 如何更加合理地安排課程內(nèi)容等問題。
校本課程的開發(fā)流程并非固定單一的模式,需要結(jié)合學(xué)校的實(shí)際情況來進(jìn)行。 一般的流程包括組織建立、現(xiàn)狀分析、目標(biāo)擬定、方案編制、解釋與實(shí)施、評(píng)價(jià)與修訂等。
校本課程的開發(fā),需要成立相關(guān)的開發(fā)委員會(huì)或者工作小組。涉及的人員包括學(xué)校分管領(lǐng)導(dǎo)、教務(wù)主任、任課教師、校內(nèi)外課程專家、學(xué)生代表和家長(zhǎng)代表等。
在程序設(shè)計(jì)類校本課程開發(fā)中,信息技術(shù)教師要起到關(guān)鍵作用。在開發(fā)課程的過程中,既要符合學(xué)科要求,又要有自身特色, 信息技術(shù)教師要對(duì)內(nèi)容進(jìn)行設(shè)計(jì)和取舍;其次,校本課程不能與課標(biāo)的精神相悖,要圍繞學(xué)科核心素養(yǎng)的培養(yǎng)要求。 另外,信息技術(shù)教師要擔(dān)任校本課程授課教師,就至少要具備相關(guān)的程序設(shè)計(jì)能力,如果無法勝任,則需要考慮校外機(jī)構(gòu)或人員的支持。
現(xiàn)狀分析包括對(duì)學(xué)校、教師、學(xué)生、家長(zhǎng)等多個(gè)層面。學(xué)校層面的現(xiàn)狀包括硬件設(shè)施、現(xiàn)有課程安排等。 教師層面主要考慮教師的知識(shí)技能和開課意愿等。程序設(shè)計(jì)類課程需要教師具備較強(qiáng)的專業(yè)技能, 特別是程序設(shè)計(jì)技能,需要比較深入且完備地掌握, 如果本校教師能力不足,還可以尋求校外機(jī)構(gòu)或人員的支持。對(duì)學(xué)生的現(xiàn)狀調(diào)查可以采用發(fā)放問卷的形式,了解學(xué)生是否希望參加學(xué)校的編程校本課程或是否愿意參加編程等科技競(jìng)賽。家長(zhǎng)層面的現(xiàn)狀分析主要是考慮是否理解課程實(shí)施的意義,是否支持學(xué)校開展課程,等等。
課程的總體目標(biāo)是通過課程實(shí)施,促進(jìn)學(xué)生的信息技術(shù)學(xué)科核心素養(yǎng)尤其是計(jì)算思維的培養(yǎng),拓寬學(xué)生的知識(shí)面,幫助學(xué)生了解程序設(shè)計(jì)的基本知識(shí)和技能方法,使他們能夠初步利用程序設(shè)計(jì)解決問題。
對(duì)于單純希望通過課程來學(xué)習(xí)程序設(shè)計(jì)并滿足興趣愛好的學(xué)生,能夠跟隨教師講解完成編程任務(wù),能夠理解編程的基本流程, 能夠通過對(duì)程序的簡(jiǎn)單改進(jìn)來解決問題。 對(duì)于希望進(jìn)一步參加編程競(jìng)賽的學(xué)生,能夠理解程序設(shè)計(jì)中的相關(guān)知識(shí)細(xì)節(jié), 具備一定的算法分析與設(shè)計(jì)能力,能夠基本達(dá)到參加信息學(xué)競(jìng)賽的水平。 課程方案的編制需要考慮這些不同目標(biāo)的實(shí)現(xiàn)。
通過調(diào)查, 發(fā)現(xiàn)學(xué)校有相當(dāng)一部分學(xué)生接觸過Scratch 等圖形化編程,具有一定的基礎(chǔ)。 同時(shí),初中生的思維方式正處在從形象思維向抽象思維轉(zhuǎn)變的階段,可以逐步進(jìn)入到非圖形化編程語言的學(xué)習(xí)。Python 語言是廣受歡迎的語言,有一些校本課程基于此進(jìn)行開發(fā)實(shí)施[6]。 但是, 考慮到對(duì)信息學(xué)競(jìng)賽的適配性以及廣泛應(yīng)用性,C 語言雖然比起Python 來說難度較大, 但仍是一門比較適合學(xué)習(xí)的編程語言。
課程的編排分為線上和線下兩條線,相對(duì)獨(dú)立,亦有關(guān)聯(lián)。線上課程通過對(duì)一個(gè)完整游戲項(xiàng)目“黑白棋”的分析講解,一步一步指導(dǎo)學(xué)生完成一個(gè)真實(shí)任務(wù);線下課程通過一個(gè)個(gè)專題講座,講解程序設(shè)計(jì)過程中涉及的知識(shí)和技能,幫助學(xué)生夯實(shí)技術(shù),使他們能夠達(dá)到參加信息學(xué)競(jìng)賽的水平(見圖1)。
圖1 線上線下結(jié)合的《C 程序設(shè)計(jì)》校本課程方案設(shè)置
課程開始前, 首先要讓學(xué)生理解什么是C 語言編程、搭建編程的環(huán)境,做好思想上和技術(shù)上的準(zhǔn)備。 隨后進(jìn)行分支,線上和線下可以分別獨(dú)立運(yùn)作。 線上課程內(nèi)容自頂向下地規(guī)劃“黑白棋”的實(shí)現(xiàn)過程,一開始就讓學(xué)生感受程序設(shè)計(jì)的全貌,然后分解為不同的功能和模塊。 課程的執(zhí)行主要是通過教師的演示講解和學(xué)生的跟隨實(shí)驗(yàn)來完成。課程任務(wù)分解為“繪制棋盤”“下棋狀態(tài)管理”“下棋過程實(shí)現(xiàn)”等幾個(gè)模塊,每個(gè)模塊要進(jìn)行細(xì)分。學(xué)生主要學(xué)習(xí)的是設(shè)計(jì)思想和流程,體現(xiàn)了計(jì)算思維的運(yùn)用。 經(jīng)過線上課程的學(xué)習(xí),學(xué)生可以跟隨教師實(shí)現(xiàn)自己的“黑白棋”,對(duì)于如何開發(fā)一個(gè)軟件有比較完整的理解。
線上課程不關(guān)注細(xì)節(jié),更多地向?qū)W生展示最一般的程序設(shè)計(jì)方法。 線下課程則更貼近傳統(tǒng)的課程安排,教師要帶領(lǐng)學(xué)生深入每個(gè)知識(shí)點(diǎn),掌握其中的原理,進(jìn)行相應(yīng)的專題訓(xùn)練。在線下課程中,可以先采用線上課程的資源,讓學(xué)生學(xué)習(xí)并實(shí)踐“黑白棋”案例,然后教師深入分析其中運(yùn)用到的具體程序設(shè)計(jì)知識(shí),將學(xué)習(xí)重心逐步轉(zhuǎn)移到編程技巧和細(xì)節(jié)的訓(xùn)練上,從而幫助學(xué)生培養(yǎng)參加信息學(xué)競(jìng)賽的能力。
課程的開展在課后服務(wù)時(shí)段進(jìn)行,遵循學(xué)生自愿報(bào)名參加的原則。 課程通過線上線下結(jié)合的方式進(jìn)行,可以滿足不同類型學(xué)生的學(xué)習(xí)需求。線下課程除了滿足主動(dòng)報(bào)名參加的學(xué)生以外, 還可以有針對(duì)性地邀請(qǐng)思維能力較強(qiáng)、數(shù)理邏輯清晰的學(xué)生加入[7]。僅僅是對(duì)編程感興趣,充滿好奇的學(xué)生,既可以參加線下課程,又可以學(xué)習(xí)線上課程的內(nèi)容,這樣的實(shí)施方案具備很好的靈活性。
教師實(shí)施課程的重點(diǎn)放在線下課程中關(guān)于編程細(xì)節(jié)的講解方面, 這些內(nèi)容對(duì)于參加信息學(xué)競(jìng)賽具有重要意義,其他內(nèi)容可以充分發(fā)揮學(xué)生的主觀能動(dòng)性,鼓勵(lì)他們自行完成。教師可以利用線上課程的內(nèi)容來做線下課程的案例,進(jìn)行深入分析和講解。
關(guān)于學(xué)生成就的評(píng)價(jià), 采用計(jì)算思維量表來進(jìn)行測(cè)評(píng), 采用Román-González 等人開發(fā)的量表和國(guó)內(nèi)的陳興冶等人開發(fā)的本土計(jì)算思維評(píng)價(jià)量表。還要通過知識(shí)測(cè)驗(yàn)、作品分享等方法來評(píng)價(jià)學(xué)生在課程中獲得的成就。 在課程中能夠扎實(shí)掌握編程技能的學(xué)生,要幫助和鼓勵(lì)他們?nèi)⒓有畔W(xué)競(jìng)賽等相關(guān)競(jìng)賽活動(dòng)。
對(duì)課程本身進(jìn)行評(píng)價(jià),要從學(xué)校、學(xué)生和家長(zhǎng)等方面進(jìn)行。 課程的運(yùn)作是否順利、是否促進(jìn)了“雙減”背景下課后服務(wù)的實(shí)施,需要由教務(wù)部門或者校長(zhǎng)來判定,并進(jìn)一步?jīng)Q定是否繼續(xù)實(shí)施課程。 通過問卷調(diào)查和訪談,了解學(xué)生對(duì)課程的看法,家長(zhǎng)的意見也可作為參考。
線上線下結(jié)合的課程模式,要重視線上資源的建設(shè)??梢酝ㄟ^微信公眾號(hào)、短視頻平臺(tái)等來發(fā)布資源。 線下課程重點(diǎn)講解知識(shí)細(xì)節(jié)和競(jìng)賽技巧, 可以借鑒優(yōu)秀的信息學(xué)競(jìng)賽教程。《C 程序設(shè)計(jì)》課程以項(xiàng)目為導(dǎo)向,鼓勵(lì)學(xué)生自主探究。 教師在知識(shí)方面要能夠把握重點(diǎn)、及時(shí)答疑,指導(dǎo)學(xué)生組成學(xué)習(xí)共同體,幫助他們進(jìn)行合作探究。 要教會(huì)學(xué)生利用編程來解決實(shí)際問題。 在課程的后續(xù)完善和修訂中,應(yīng)當(dāng)充分考慮跨學(xué)科的教學(xué),將其他學(xué)科中存在的真實(shí)問題作為程序設(shè)計(jì)的案例, 結(jié)合其他學(xué)科的教學(xué)需求來設(shè)計(jì)跨學(xué)科教學(xué)任務(wù), 充分調(diào)動(dòng)師生的探索積極性。