張遠(yuǎn)平
摘? ?要:針對(duì)程序設(shè)計(jì)課程的特點(diǎn)和教學(xué)過(guò)程中存在的問(wèn)題,在教學(xué)實(shí)踐中,文章圍繞發(fā)展學(xué)生核心素養(yǎng)這個(gè)目標(biāo),從培養(yǎng)學(xué)生的學(xué)習(xí)意識(shí)出發(fā),通過(guò)激發(fā)學(xué)習(xí)需求、提高代碼閱讀能力、培養(yǎng)分享成果意識(shí)和提升編程素養(yǎng)等方法,探索有效提高程序設(shè)計(jì)教學(xué)質(zhì)量的新模式。從實(shí)踐效果來(lái)看,通過(guò)優(yōu)化案例開發(fā)、場(chǎng)景模擬、方法對(duì)比、代碼跟蹤和實(shí)例拓展等教學(xué)環(huán)節(jié),對(duì)傳統(tǒng)教學(xué)模式進(jìn)行創(chuàng)新變革,符合信息技術(shù)學(xué)科的教學(xué)規(guī)律,能啟發(fā)學(xué)生的思維,提升學(xué)生的專業(yè)核心素養(yǎng)和提高程序設(shè)計(jì)教學(xué)的效果。
關(guān)鍵詞:核心素養(yǎng);程序設(shè)計(jì);教學(xué)模式;探索與實(shí)踐
中圖分類號(hào):G424 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1673-8454(2021)12-0080-05
一、引言
程序設(shè)計(jì)課程是計(jì)算機(jī)專業(yè)的核心課程之一。近年來(lái), 隨著信息技術(shù)和計(jì)算機(jī)語(yǔ)言的不斷發(fā)展,程序設(shè)計(jì)的相關(guān)課程也越來(lái)越受到學(xué)校和程序設(shè)計(jì)愛(ài)好者的重視。傳統(tǒng)的C++、Java、PHP等語(yǔ)言方興未艾,新興的編程語(yǔ)言也受到了追捧,如Phython語(yǔ)言以其簡(jiǎn)潔、高效、易學(xué)的優(yōu)點(diǎn)贏得了大量編程愛(ài)好者的青睞。但是從實(shí)際情況來(lái)看,程序設(shè)計(jì)課程的教學(xué)效果并不盡如人意。程序設(shè)計(jì)是一門邏輯性相對(duì)較強(qiáng)、難度相對(duì)較大的課程,對(duì)學(xué)習(xí)者的興趣和自律性要求較高,能潛下心來(lái)堅(jiān)持深度學(xué)習(xí)的學(xué)生并不多。[1]同時(shí),教學(xué)思想固化、教學(xué)模式落后也是造成當(dāng)前程序設(shè)計(jì)教學(xué)沒(méi)有達(dá)到預(yù)期效果的主要原因之一。多數(shù)教師在程序設(shè)計(jì)教學(xué)的過(guò)程中只重視知識(shí)的單向傳遞,而沒(méi)有解決提升教學(xué)效果的核心問(wèn)題,即提升學(xué)生信息技術(shù)的核心素養(yǎng),驅(qū)動(dòng)學(xué)生求知與深度學(xué)習(xí)的源動(dòng)力,從而使教學(xué)良性互動(dòng)發(fā)展。2018年1月,教育部頒布了《信息技術(shù)學(xué)科標(biāo)準(zhǔn)(2017版)》,提出以項(xiàng)目整合教學(xué)內(nèi)容,落實(shí)核心素養(yǎng)在教學(xué)中的滲透。[2]這說(shuō)明核心素養(yǎng)的研究也逐漸由理論探討轉(zhuǎn)向課堂教學(xué)研究。[3]因此,如何在實(shí)際教學(xué)中,從培養(yǎng)學(xué)生的專業(yè)核心素養(yǎng)入手,緊扣課程的特點(diǎn)、深化和創(chuàng)新教學(xué)模式、因勢(shì)利導(dǎo)地提升教學(xué)效能,是程序設(shè)計(jì)教師必須思考和解決的問(wèn)題。
二、當(dāng)前程序設(shè)計(jì)教學(xué)在核心素養(yǎng)層面上存在的問(wèn)題
1.教材編寫理念落后,課程規(guī)劃沒(méi)有兼顧學(xué)生的核心素養(yǎng)
受早期計(jì)算機(jī)教材編寫風(fēng)格的影響,計(jì)算機(jī)程序設(shè)計(jì)教材的編寫風(fēng)格大多偏向嚴(yán)謹(jǐn),注重理論性,文字表達(dá)專業(yè)性強(qiáng),但同質(zhì)化情況嚴(yán)重,表述抽象晦澀,教學(xué)內(nèi)容跟時(shí)代脫節(jié),缺乏吸引力,很難使學(xué)生對(duì)教材產(chǎn)生閱讀的興趣。[4]此外,計(jì)算機(jī)語(yǔ)言類教材的配套電子資源較少,教師備課的時(shí)間成本相對(duì)較高,同時(shí)也不利于教師和學(xué)生通過(guò)電子教學(xué)資源的應(yīng)用提高信息技術(shù)素養(yǎng)。由于核心素養(yǎng)理念經(jīng)歷了演變和不斷完善的階段,因此在課程的具體規(guī)劃方面也存在不足之處?!缎抡n程方案和課程標(biāo)準(zhǔn)》基于學(xué)科核心素養(yǎng)制定了新的質(zhì)量標(biāo)準(zhǔn)內(nèi)容,并明確學(xué)生學(xué)習(xí)該學(xué)科課程后應(yīng)達(dá)成的正確價(jià)值觀念、必備品格和關(guān)鍵能力。[5]但目前的程序設(shè)計(jì)課程的整體規(guī)劃相對(duì)滯后,往往只重視教學(xué)表層的知識(shí)傳遞,而沒(méi)有兼顧學(xué)生核心素養(yǎng)的提高。在學(xué)科思維上,還沒(méi)有從學(xué)生的身心發(fā)展和所處的生活環(huán)境出發(fā),不能體現(xiàn)對(duì)學(xué)生整體性培養(yǎng)的具體要求和內(nèi)容。例如,現(xiàn)行的課程規(guī)劃多數(shù)沒(méi)有重視程序設(shè)計(jì)知識(shí)的連貫性和關(guān)聯(lián)性,各種計(jì)算機(jī)語(yǔ)言相關(guān)的課程缺乏有機(jī)的銜接,不利于學(xué)生對(duì)編程思想融會(huì)貫通,反而產(chǎn)生相互干擾的情形,使學(xué)生學(xué)習(xí)程序設(shè)計(jì)時(shí)無(wú)所適從,導(dǎo)致編程基礎(chǔ)不扎實(shí)的后果。
2.教學(xué)模式落后,教學(xué)觀念固化,教學(xué)過(guò)程缺少提升核心素養(yǎng)的設(shè)計(jì)
發(fā)展學(xué)生的核心素養(yǎng)需要通過(guò)教學(xué)實(shí)踐使其思想和行為發(fā)生變化。但是在程序設(shè)計(jì)教學(xué)中,很多教師還沒(méi)找到轉(zhuǎn)變教學(xué)模式的立足點(diǎn),或者說(shuō)教學(xué)觀念已經(jīng)固化,缺乏創(chuàng)新思維,核心素養(yǎng)在程序設(shè)計(jì)的課堂教學(xué)中沒(méi)有得到轉(zhuǎn)化與落實(shí)。例如,教學(xué)活動(dòng)中的案例設(shè)計(jì)陳舊,不注重實(shí)用性和趣味性,使學(xué)習(xí)程序設(shè)計(jì)變成一件乏味的事情,因而大大打擊了學(xué)生的主觀能動(dòng)性。核心素養(yǎng)理念強(qiáng)調(diào)發(fā)展學(xué)生適應(yīng)社會(huì)的必備品格和關(guān)鍵能力。但是很多程序設(shè)計(jì)教師在教學(xué)過(guò)程中只重視語(yǔ)法教學(xué),不重視學(xué)習(xí)態(tài)度、思維方式和價(jià)值觀的指導(dǎo),以致學(xué)用分離,缺乏進(jìn)階學(xué)習(xí),學(xué)生的知識(shí)建構(gòu)能力只能停留在核心素養(yǎng)內(nèi)涵的“雙基”層。[6]顯然,凡此種種的教學(xué)過(guò)程沒(méi)有體現(xiàn)出計(jì)算機(jī)程序設(shè)計(jì)的學(xué)科價(jià)值,教學(xué)質(zhì)量很難達(dá)到如期的效果,更談不上全面提升學(xué)生的核心素養(yǎng)。
3.程序設(shè)計(jì)教師對(duì)核心素養(yǎng)的理解和實(shí)施能力仍有待提高
程序設(shè)計(jì)作為解決綜合問(wèn)題的專業(yè)技術(shù)類課程,是計(jì)算思維素養(yǎng)和創(chuàng)新思維素養(yǎng)培養(yǎng)的高層次需求。在學(xué)生的編程學(xué)習(xí)從入門到形成核心素養(yǎng)的轉(zhuǎn)化過(guò)程中,教師發(fā)揮著關(guān)鍵作用。[7]遺憾的是,當(dāng)前很多教師對(duì)核心素養(yǎng)的理解還存在偏差,課堂上實(shí)施核心素養(yǎng)教學(xué)的效果很有限。主要表現(xiàn)在:①缺乏把培養(yǎng)學(xué)生核心素養(yǎng)作為教學(xué)導(dǎo)向的意識(shí)。②不注重繼續(xù)學(xué)習(xí),忽視對(duì)計(jì)算機(jī)前沿技術(shù)和理念的追趕,知識(shí)結(jié)構(gòu)已經(jīng)落后于時(shí)代。③對(duì)核心素養(yǎng)背景下的課程改革準(zhǔn)備不足,教學(xué)中仍然采用老一套的辦法。這樣的教師教出來(lái)的學(xué)生最多只是行業(yè)內(nèi)的“軟件藍(lán)領(lǐng)”,而不是“能力+創(chuàng)新”型的技術(shù)人才。
三、基于核心素養(yǎng)的程序設(shè)計(jì)教學(xué)模式的創(chuàng)新策略
1.從培養(yǎng)學(xué)生的信息意識(shí)抓起,激發(fā)學(xué)生學(xué)習(xí)程序設(shè)計(jì)課程的內(nèi)在動(dòng)力
程序設(shè)計(jì)教學(xué)要注重學(xué)生個(gè)體的內(nèi)在需求和發(fā)展規(guī)律。教育心理學(xué)研究表明,興趣來(lái)源于認(rèn)識(shí)和需要。要喚醒學(xué)生的求知欲望,最根本的辦法是讓他們知道學(xué)習(xí)的知識(shí)是有用的。從當(dāng)前社會(huì)教育的情況來(lái)看,重視培養(yǎng)孩子思維能力的現(xiàn)狀凸顯了程序設(shè)計(jì)知識(shí)的優(yōu)勢(shì)和潛力。例如,少兒編程的廣泛宣傳、機(jī)器人競(jìng)賽的積極開展,都表明程序設(shè)計(jì)教學(xué)是信息技術(shù)教育的熱點(diǎn)之一。為什么要學(xué)習(xí)程序設(shè)計(jì)、學(xué)習(xí)程序設(shè)計(jì)有什么作用等等,這一系列問(wèn)題都跟信息意識(shí)有關(guān)。教師首先要讓學(xué)生明白,程序設(shè)計(jì)是一門邏輯性較強(qiáng)的學(xué)科。學(xué)習(xí)編程技術(shù),可以鍛煉學(xué)生的思維能力,促進(jìn)大腦發(fā)育,提高智商,并能解決很多實(shí)際問(wèn)題。通過(guò)計(jì)算機(jī)語(yǔ)言,我們可以與計(jì)算機(jī)對(duì)話,讓計(jì)算機(jī)更好地為人類服務(wù)。學(xué)習(xí)程序設(shè)計(jì),可以讓我們更好地探索世界、認(rèn)知世界。在引導(dǎo)學(xué)生產(chǎn)生學(xué)習(xí)興趣的過(guò)程中,教師也可以通過(guò)游戲設(shè)計(jì)、機(jī)器人與人類下棋等案例,幫助學(xué)生培養(yǎng)程序設(shè)計(jì)的興趣,激發(fā)他們學(xué)習(xí)的內(nèi)在動(dòng)力,同時(shí)也為學(xué)生樹立正確的世界觀、科學(xué)觀打下基礎(chǔ)。
2.以優(yōu)質(zhì)教學(xué)案例的設(shè)計(jì)作為發(fā)展學(xué)科素養(yǎng)的突破口,打開程序設(shè)計(jì)學(xué)習(xí)之門
當(dāng)前,程序教學(xué)中的案例多數(shù)以解決語(yǔ)法教學(xué)為主,很少案例能理論聯(lián)系實(shí)際,把學(xué)生的上機(jī)實(shí)操與具體的實(shí)踐結(jié)合起來(lái),體現(xiàn)編程教育在生活中的應(yīng)用。[8]必須明確,程序設(shè)計(jì)的目的是以計(jì)算機(jī)語(yǔ)言為工具,使用一定的算法,用自己的理念和方法去解決實(shí)際問(wèn)題。因此,要發(fā)展學(xué)生的程序設(shè)計(jì)素養(yǎng),設(shè)計(jì)以解決問(wèn)題為導(dǎo)向的案例就顯得尤為關(guān)鍵。結(jié)合傳統(tǒng)的案例教學(xué)法,優(yōu)質(zhì)的程序設(shè)計(jì)教學(xué)案例應(yīng)符合以下原則:①實(shí)用性。案例應(yīng)該是日常生活中我們可以接觸或了解到的場(chǎng)景,具備一定操作流程的體驗(yàn),學(xué)生能較快地理解問(wèn)題的實(shí)質(zhì),把握程序的需求。②趣味性。案例設(shè)計(jì)能體現(xiàn)一定的趣味性,活躍學(xué)生的思維,為學(xué)生的編程學(xué)習(xí)提供一定的創(chuàng)作空間。③可擴(kuò)展性。案例既是獨(dú)立的,又可以延伸和拓展。學(xué)生能夠在編程解決一個(gè)問(wèn)題的同時(shí),掌握解決多個(gè)問(wèn)題的方法。④可模擬性。案例是對(duì)日常事物的模擬,能調(diào)動(dòng)學(xué)生的探索精神,發(fā)揮他們的模仿能力,同時(shí)這也是學(xué)習(xí)程序設(shè)計(jì)成就感的來(lái)源之一。根據(jù)以上原則,下面表1列舉了幾個(gè)可供參考的教學(xué)案例。
3.重視提高學(xué)生對(duì)計(jì)算機(jī)程序的閱讀能力,激活學(xué)生對(duì)程序設(shè)計(jì)學(xué)科的領(lǐng)悟能力
傳統(tǒng)的計(jì)算機(jī)程序教學(xué)較為重視培養(yǎng)學(xué)生“編寫”程序的能力,而往往忽視學(xué)生“閱讀”程序的能力。實(shí)際上,程序就是運(yùn)用計(jì)算機(jī)語(yǔ)言解決問(wèn)題的過(guò)程描述,具有一定的可讀性。和語(yǔ)文教學(xué)中重視閱讀的理念一樣,計(jì)算機(jī)程序的閱讀能力也是學(xué)生核心素養(yǎng)的有效反映。隨著學(xué)生對(duì)語(yǔ)法的逐步熟練和理解能力的增強(qiáng),可以要求學(xué)生閱讀一些經(jīng)典的源代碼,理解別人解決問(wèn)題的思路,這樣既可以借鑒到各種編程思想,又可以提高調(diào)試程序的糾錯(cuò)能力,促進(jìn)學(xué)生計(jì)算思維的形成和發(fā)展。華南師范大學(xué)的鐘柏昌教授認(rèn)為,程序設(shè)計(jì)教育的重點(diǎn)不是教會(huì)學(xué)生編寫代碼,也不是學(xué)習(xí)未來(lái)成為程序員的專業(yè)性極強(qiáng)的知識(shí),而是要理解與計(jì)算機(jī)進(jìn)行交流的方式,并獲得利用計(jì)算機(jī)解決問(wèn)題的基本思維。[9]因此,教師可以為學(xué)生提供一些經(jīng)典的算法作為閱讀素材,如洗牌算法(Fisher–Yates shuffle)、分治算法(divide and conquer)等,使學(xué)生體會(huì)到經(jīng)典代碼的精妙之處,激活他們學(xué)習(xí)的悟性。
4.鼓勵(lì)學(xué)生對(duì)創(chuàng)作成果進(jìn)行分享和改進(jìn),促使學(xué)生持續(xù)深度學(xué)習(xí)
傳統(tǒng)的程序設(shè)計(jì)教學(xué)中,教師通常要求學(xué)生把完成的程序以作業(yè)的形式提交,從而作為完成任務(wù)的依據(jù)。其實(shí),計(jì)算機(jī)程序可以說(shuō)是一個(gè)“作品”或者“產(chǎn)品”,甚至可以說(shuō)是一件“藝術(shù)品”,具備應(yīng)用和可推廣的屬性。美國(guó)教育家布魯納認(rèn)為,學(xué)習(xí)就是認(rèn)知結(jié)構(gòu)的重新組織。與之類比,計(jì)算機(jī)程序就是可以迭代式發(fā)展的軟件產(chǎn)品,它可以在產(chǎn)品的更新中不斷重構(gòu),因而完成一個(gè)程序作品并不是學(xué)習(xí)過(guò)程的完結(jié)。信息技術(shù)核心素養(yǎng)中的創(chuàng)新學(xué)習(xí)理念倡導(dǎo)學(xué)生在完成學(xué)習(xí)任務(wù)的基礎(chǔ)上,通過(guò)自主學(xué)習(xí)、持續(xù)學(xué)習(xí)、協(xié)同工作實(shí)現(xiàn)知識(shí)分享與創(chuàng)新創(chuàng)造。學(xué)生在創(chuàng)造價(jià)值的過(guò)程中,必然會(huì)體會(huì)到樂(lè)趣和成就感,產(chǎn)生進(jìn)一步加強(qiáng)學(xué)習(xí)的動(dòng)力。[10]教師可以為學(xué)生建立程序作品庫(kù),并提供下載、評(píng)價(jià)和推薦等功能,使每一位學(xué)生的程序作品都能體現(xiàn)其應(yīng)用的價(jià)值。支持和鼓勵(lì)學(xué)生為他們的程序劃分版本,引導(dǎo)他們通過(guò)應(yīng)用效果帶動(dòng)深度探究的開展,這也是培養(yǎng)學(xué)生學(xué)科核心素養(yǎng)的一個(gè)有效途徑。
四、發(fā)展核心素養(yǎng)的程序設(shè)計(jì)教學(xué)實(shí)踐——以循環(huán)結(jié)構(gòu)的教學(xué)為例
循環(huán)結(jié)構(gòu)語(yǔ)句是計(jì)算機(jī)程序設(shè)計(jì)教學(xué)的難點(diǎn)之一。通常,按課程的安排,在學(xué)習(xí)了順序結(jié)構(gòu)和分支結(jié)構(gòu)之后,就會(huì)進(jìn)入循環(huán)結(jié)構(gòu)語(yǔ)句的內(nèi)容。對(duì)編程初學(xué)者來(lái)說(shuō),循環(huán)語(yǔ)句的掌握情況往往會(huì)成為學(xué)習(xí)興趣的分水嶺。一方面循環(huán)語(yǔ)句相對(duì)比較抽象,要求學(xué)生有一定的理解能力和知識(shí)遷移能力;另一方面使用循環(huán)語(yǔ)句解決的問(wèn)題也相對(duì)復(fù)雜,通常既包含順序結(jié)構(gòu),又涉及條件判斷,要求學(xué)生有解決問(wèn)題的意識(shí)和良好的思維習(xí)慣。因此,循環(huán)結(jié)構(gòu)在計(jì)算機(jī)程序教學(xué)中最能體現(xiàn)學(xué)生信息技術(shù)素養(yǎng)的水平。根據(jù)以往的經(jīng)驗(yàn),很多學(xué)生從學(xué)習(xí)循環(huán)語(yǔ)句開始,就逐漸失去了學(xué)習(xí)編程的興趣。客觀地說(shuō),學(xué)生在學(xué)習(xí)循環(huán)語(yǔ)句時(shí)容易產(chǎn)生挫折感,同時(shí)也容易產(chǎn)生倦怠的情緒。對(duì)教師而言,如何把循環(huán)語(yǔ)句的知識(shí)點(diǎn)講述清楚、讓學(xué)生順利跨過(guò)循環(huán)語(yǔ)句這道坎并且提高他們學(xué)習(xí)的積極性是教學(xué)的難點(diǎn)。這就需要教師在教學(xué)過(guò)程中加強(qiáng)雕琢,把發(fā)展學(xué)生核心素養(yǎng)的理念滲透到每一個(gè)知識(shí)點(diǎn)的講解中,賦予循環(huán)語(yǔ)句教學(xué)新的活力。[11]具體來(lái)說(shuō),就是抓住循環(huán)結(jié)構(gòu)教與學(xué)的痛點(diǎn),化解學(xué)生學(xué)習(xí)過(guò)程中的困惑、不解、無(wú)聊和放棄等情緒,使循環(huán)結(jié)構(gòu)的教學(xué)“活”起來(lái)。實(shí)踐證明,通過(guò)分析學(xué)生的特點(diǎn),融合培養(yǎng)學(xué)生核心素養(yǎng)的理念,設(shè)計(jì)以“案例引入→對(duì)比教學(xué)→代碼跟蹤→成果分享和評(píng)價(jià)→知識(shí)拓展”為主線的流程,確定符合程序設(shè)計(jì)教學(xué)規(guī)律的學(xué)習(xí)主線,能有效提高循環(huán)結(jié)構(gòu)教學(xué)的效果。其具體設(shè)計(jì)如表2所示。
1.案例引入
在程序設(shè)計(jì)教學(xué)中,案例引入是發(fā)展學(xué)生信息技術(shù)素養(yǎng)的起點(diǎn)。通過(guò)優(yōu)選案例,啟發(fā)學(xué)生的邏輯思維,引導(dǎo)學(xué)生將課程學(xué)習(xí)與實(shí)際應(yīng)用相結(jié)合,幫助學(xué)生創(chuàng)設(shè)案例場(chǎng)景。[12]循環(huán)結(jié)構(gòu)簡(jiǎn)單來(lái)說(shuō),就是重復(fù)執(zhí)行某種操作,這在日常生活和工作中并不鮮見(jiàn)。教師可以列舉學(xué)生認(rèn)知范圍內(nèi)感興趣的案例,提高他們對(duì)循環(huán)結(jié)構(gòu)的感性認(rèn)識(shí),從而形成思維遷移,加快知識(shí)建構(gòu)的進(jìn)程。例如:跳高比賽中,運(yùn)動(dòng)員在每個(gè)高度都有3次試跳的機(jī)會(huì),若3次均不成功則被淘汰。或者以青蛙跳樓梯的游戲作為例子,描述青蛙一級(jí)一級(jí)地跳上樓梯的動(dòng)作也是循環(huán)執(zhí)行的過(guò)程。這些案例,或緊扣生活,或容易想象,既淺顯,又有代入感,比起枯燥無(wú)味的語(yǔ)法陳述,更能引起學(xué)生的關(guān)注和聯(lián)想。
2.對(duì)比教學(xué)
從順序結(jié)構(gòu)進(jìn)入循環(huán)結(jié)構(gòu)的學(xué)習(xí),并不純粹是語(yǔ)法教學(xué)的進(jìn)階,還包含著思維方式的提升。循環(huán)語(yǔ)句可以使代碼更加簡(jiǎn)潔、精煉和高效,發(fā)揮計(jì)算機(jī)高速運(yùn)算的強(qiáng)大優(yōu)勢(shì)。在循環(huán)語(yǔ)句的教學(xué)中,運(yùn)用對(duì)比的教學(xué)策略,能促使學(xué)生對(duì)循環(huán)語(yǔ)句的作用有更深層次的理解。下面以使用Python語(yǔ)言編程求解“1+2+……+100”的和為例,對(duì)比順序結(jié)構(gòu)與循環(huán)結(jié)構(gòu)解決問(wèn)題的語(yǔ)法。
(1)順序結(jié)構(gòu)語(yǔ)句:
s=0
s=s+1
s=s+2
……
s=s+100;
顯然,順序結(jié)構(gòu)實(shí)現(xiàn)加法求和的效率是低下的,這不應(yīng)該成為利用計(jì)算機(jī)解決問(wèn)題的最優(yōu)方法。
(2)循環(huán)結(jié)構(gòu)語(yǔ)句:
s=0
for i in range(1,101)
s=s+i
對(duì)比(1)和(2),循環(huán)語(yǔ)句明顯比順序語(yǔ)句簡(jiǎn)潔高效,最重要的是在解決復(fù)雜問(wèn)題的時(shí)候,循環(huán)結(jié)構(gòu)往往更能發(fā)揮巨大的作用。最明顯的變化就是節(jié)省了時(shí)間和空間,凸顯循環(huán)結(jié)構(gòu)語(yǔ)法上的優(yōu)勢(shì),而對(duì)比教學(xué)最直接的影響則是使學(xué)生在循環(huán)語(yǔ)句的認(rèn)識(shí)上有更直觀的體會(huì),推動(dòng)他們進(jìn)一步學(xué)習(xí)。以上用例雖然簡(jiǎn)單,但細(xì)微之處顯真章,真正要讓核心素養(yǎng)滲透到教學(xué)之中,就要從細(xì)微處著手,使學(xué)生的探索性思維得到有效啟發(fā)。
3.代碼跟蹤
程序執(zhí)行的過(guò)程是對(duì)現(xiàn)實(shí)世界中解決問(wèn)題過(guò)程的虛擬。在教學(xué)中,通過(guò)跟蹤程序執(zhí)行的過(guò)程,建立程序與實(shí)際問(wèn)題的映射,是非常具有啟發(fā)性的一個(gè)教學(xué)環(huán)節(jié),因?yàn)槊撾x了實(shí)際問(wèn)題的代碼學(xué)習(xí)是沒(méi)有生命力的。事實(shí)證明,使用學(xué)習(xí)英語(yǔ)或語(yǔ)文的思維方式學(xué)習(xí)程序設(shè)計(jì),最終的結(jié)果是學(xué)生什么都沒(méi)學(xué)到。因?yàn)閷W(xué)生在學(xué)習(xí)過(guò)程中并沒(méi)有建立邏輯思維,靠記憶來(lái)學(xué)習(xí)程序設(shè)計(jì)的遺忘率特別高,很多學(xué)生在學(xué)習(xí)程序設(shè)計(jì)多年后對(duì)學(xué)過(guò)的內(nèi)容沒(méi)有任何印象。因此,學(xué)習(xí)程序設(shè)計(jì)需要鉆研代碼,通過(guò)跟蹤程序的執(zhí)行過(guò)程進(jìn)行深度學(xué)習(xí),使自己對(duì)代碼執(zhí)行的次序、意義有深刻的理解。一種方式是,在教學(xué)過(guò)程中,可以通過(guò)情境模擬和變量監(jiān)控來(lái)實(shí)現(xiàn)代碼跟蹤。所謂情境模擬跟蹤,是指根據(jù)問(wèn)題的內(nèi)涵,構(gòu)建場(chǎng)景式的環(huán)境,演示代碼執(zhí)行的過(guò)程。例如在上述連加求和的問(wèn)題中,可以設(shè)計(jì)一個(gè)小游戲:選一位學(xué)生繞著講臺(tái)轉(zhuǎn)圈,每次轉(zhuǎn)圈對(duì)應(yīng)一次循環(huán),當(dāng)經(jīng)過(guò)講臺(tái)時(shí)拿取相應(yīng)數(shù)量的小物件(如小棍棒),同學(xué)提示應(yīng)拿取的數(shù)量,轉(zhuǎn)圈的學(xué)生說(shuō)出已拿取物件的總數(shù),這是現(xiàn)實(shí)世界中解決問(wèn)題的思維過(guò)程,非常有直觀性。另一種方式,是在研究代碼的執(zhí)行過(guò)程時(shí),通過(guò)跟蹤程序中變量的變化,加深學(xué)生對(duì)代碼的理解。如針對(duì)上例,可以用表3的方式跟蹤循環(huán)次數(shù)及變量的變化情況。
學(xué)生在編程時(shí),可以在腦海里想象變量的變化過(guò)程,或者使用草稿紙以列表方式對(duì)變量的值進(jìn)行記錄,重點(diǎn)是監(jiān)控循環(huán)變量和結(jié)果的變化。實(shí)踐證明,通過(guò)代碼跟蹤學(xué)習(xí)程序設(shè)計(jì),能使學(xué)生更容易理解算法的思想,提高他們對(duì)具體問(wèn)題的分析能力和想象力。
4.知識(shí)擴(kuò)展
拓展延伸是學(xué)科素養(yǎng)發(fā)展的升華。程序設(shè)計(jì)課程是一門應(yīng)用性學(xué)科。培養(yǎng)學(xué)生應(yīng)用計(jì)算機(jī)語(yǔ)言解決實(shí)際問(wèn)題的能力,同時(shí)提升學(xué)生的編程素養(yǎng)是課程的核心目標(biāo)。僅僅通過(guò)課堂上的基礎(chǔ)教學(xué)來(lái)提高學(xué)生計(jì)算機(jī)語(yǔ)言的運(yùn)用能力、培養(yǎng)他們的學(xué)科素養(yǎng)是不夠的。必須注重知識(shí)的拓展延伸,以學(xué)生的認(rèn)知水平、興趣愛(ài)好、生活實(shí)際為基點(diǎn),充分挖掘豐富多彩的教學(xué)資源,把課堂教學(xué)拓展延伸到每個(gè)角落??梢詮囊韵路矫嫒胧?。
(1)鼓勵(lì)創(chuàng)新程序設(shè)計(jì)。通過(guò)改進(jìn)課堂教學(xué)實(shí)例,在教學(xué)拓展環(huán)節(jié)催生新的實(shí)例,促使學(xué)生培養(yǎng)自主探索的思維方式,提高獨(dú)立分析和解決問(wèn)題的能力。例如把上面連加求和的實(shí)例更改為實(shí)現(xiàn)“1+2+……+N”求和的問(wèn)題,使程序的功能更加靈活,有利于拓展學(xué)生的應(yīng)變思維。
(2)通過(guò)知識(shí)遷移引入新的問(wèn)題。教學(xué)中應(yīng)尊重學(xué)生的個(gè)性特點(diǎn)和認(rèn)知規(guī)律,按“認(rèn)識(shí)->實(shí)踐->遷移”的流程對(duì)循環(huán)結(jié)構(gòu)語(yǔ)句的應(yīng)用進(jìn)行拓展,利用新學(xué)到的知識(shí)解決學(xué)習(xí)和生活中遇到的實(shí)際問(wèn)題。[1]例如,有些學(xué)生在理解和掌握循環(huán)語(yǔ)句的用法后,通過(guò)編程解決數(shù)學(xué)上的雞兔同籠、數(shù)字排序等問(wèn)題,加深了具體應(yīng)用與程序設(shè)計(jì)對(duì)接的體驗(yàn)。
五、結(jié)語(yǔ)
通過(guò)教學(xué)實(shí)踐,可以明確程序設(shè)計(jì)教學(xué)的各個(gè)環(huán)節(jié)都與發(fā)展學(xué)生的學(xué)科核心素養(yǎng)密切相關(guān),在核心素養(yǎng)視域下改革程序設(shè)計(jì)的教學(xué)模式有實(shí)際的意義。以發(fā)展學(xué)生核心素養(yǎng)為目標(biāo)的程序設(shè)計(jì)教學(xué),其本質(zhì)是引導(dǎo)學(xué)生形成學(xué)科思維,使學(xué)生從學(xué)科特點(diǎn)的角度觀察世界,用學(xué)科的思維去思考問(wèn)題,以持續(xù)學(xué)習(xí)的態(tài)度去提升個(gè)人能力,從而達(dá)到提高學(xué)生核心素養(yǎng)的育人目標(biāo)。[3]教師作為課程的建構(gòu)者,要樹立正確的課程意識(shí),注重案例化、場(chǎng)景化、情感化的教學(xué)策略運(yùn)用,認(rèn)真對(duì)待每一個(gè)教學(xué)環(huán)節(jié),使學(xué)科核心素養(yǎng)真正成為核心素養(yǎng)落地的抓手,使學(xué)科核心素養(yǎng)成為核心素養(yǎng)的具體化。隨著計(jì)算機(jī)語(yǔ)言的不斷更新,程序設(shè)計(jì)的教學(xué)實(shí)踐需要與學(xué)科核心素養(yǎng)理念不斷融合。同時(shí),教師也需要積極提高自身的職業(yè)核心素養(yǎng),使核心素養(yǎng)視域下的程序設(shè)計(jì)教學(xué)能在平等、和諧、合作和發(fā)展的環(huán)境中實(shí)現(xiàn)師生共同發(fā)展,進(jìn)一步提升教學(xué)的效果。
參考文獻(xiàn):
[1]黃勝,李橋.面向?qū)ο蟪绦蛟O(shè)計(jì)教學(xué)研究與實(shí)踐[J].計(jì)算機(jī)時(shí)代,2016(1):86-87,90.
[2]趙恒斌,米珍美,高攀.基于核心素養(yǎng)的信息技術(shù)教學(xué)設(shè)計(jì)研究與應(yīng)用[J].中國(guó)教育信息化,2019(7):32-35,81.
[3]劉丹,黃紅亞.核心素養(yǎng)視域下的課堂教學(xué)[J].教育觀察,2018(11):22-23,29.
[4]孫海龍,李丹,王春艷.工程教育背景下程序設(shè)計(jì)課程O2O教學(xué)模式研究[J].計(jì)算機(jī)教育,2018(11):132-136.
[5]陳宏艷,徐國(guó)慶.職業(yè)教育學(xué)生核心素養(yǎng)體系構(gòu)建:背景與思路[J].當(dāng)代職業(yè)教育,2018(1):22-26.
[6]吳紅慶.基于計(jì)算思維培養(yǎng)的C語(yǔ)言程序設(shè)計(jì)課程教學(xué)探索[J].玉溪師范學(xué)院學(xué)報(bào),2016,32(12):63-65.
[7]黃斌,王丹妮,劉銳.核心素養(yǎng)視域下的教師專業(yè)發(fā)展研究——基于“優(yōu)課”的分析[J].中國(guó)教育信息化,2020(7):5-9.
[8]徐建軍,尹良澤,陳立前.計(jì)算機(jī)程序設(shè)計(jì)教學(xué)中問(wèn)題求解能力的培養(yǎng)探索[J].課程教育研究,2019(13):249-250.
[9]黃蔚.中小學(xué)程序設(shè)計(jì)教育的挑戰(zhàn)——訪華南師范大學(xué)教育信息技術(shù)學(xué)院鐘柏昌教授[DB/OL].http://www.jyb.cn/rmtzgjyb/201905/t20190504_230872.html.
[10]宋榮杰.興趣激勵(lì)的VB程序設(shè)計(jì)教學(xué)探索與實(shí)踐[J].教育教學(xué)論壇,2017(49):159-161.
[11]陳文文,于穎.基于核心素養(yǎng)的信息技術(shù)課程設(shè)計(jì)[J].軟件導(dǎo)刊,2019(5):212-214,218.
[12]吳紹兵,王昌梅,賈學(xué)明等.基于對(duì)分課堂的Python語(yǔ)言程序設(shè)計(jì)教學(xué)探索[J].計(jì)算機(jī)教育,2019(2):53-56.
(編輯:王天鵬)