摘 "要 "計(jì)算思維作為高中信息技術(shù)課程的四大核心素養(yǎng)之一,在本次課程改革中被重點(diǎn)關(guān)注。在高中信息技術(shù)教學(xué)中,側(cè)重從軟件的選擇、算法的描述、教學(xué)的策略與實(shí)施以及開設(shè)社團(tuán)活動(dòng)等多個(gè)方面,進(jìn)行初步研究和探索,以此來幫助學(xué)生逐步養(yǎng)成學(xué)科算法思維,并增強(qiáng)利用編程技術(shù)解決問題的能力。
關(guān)鍵詞 "高中信息技術(shù);核心素養(yǎng);計(jì)算思維;算法思維;算法與程序設(shè)計(jì);畫程
中圖分類號(hào):G633.67 " "文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1671-489X(2022)01-0101-03
0 "引言
《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)》中明確了要加強(qiáng)課程四大核心素養(yǎng)的培養(yǎng),進(jìn)而全面提升全體高中學(xué)生的信息素養(yǎng)。計(jì)算思維成為其中的四大核心素養(yǎng)之一,標(biāo)志著人工智能及大數(shù)據(jù)的分析與應(yīng)用已經(jīng)開始滲透到人們的學(xué)習(xí)、工作及生活的各個(gè)角落,未來,人們只有深入理解并能積極運(yùn)用這些技術(shù)工具,才能更好地適應(yīng)信息時(shí)代的變革。
算法思維主要是指通過定義明確的解決問題的步驟,設(shè)計(jì)一套指令或規(guī)則的思維能力。不少教師提及計(jì)算思維,就狹隘地把算法及編程能力的培養(yǎng)等同于計(jì)算思維的培養(yǎng)。研究表明,計(jì)算思維可分解為分解、模式識(shí)別、抽象、算法思維、評估、遷移等思維活動(dòng)。可見,算法思維與計(jì)算思維密切相關(guān),但不能直接畫等號(hào)。在計(jì)算思維的眾多培養(yǎng)方式中,算法與編程因其較適合用來培養(yǎng)學(xué)生的邏輯思維與創(chuàng)新能力,被業(yè)界認(rèn)為是一種能有效提升學(xué)生計(jì)算思維能力的途徑。
在高中新教材正式啟用的情況下,教師也發(fā)現(xiàn)算法思維的培養(yǎng)尤其是“算法與程序設(shè)計(jì)”在高中信息技術(shù)教材中的分量比重加大。教師只有在日常教學(xué)中堅(jiān)持以學(xué)生的興趣為出發(fā)點(diǎn)、積極引導(dǎo)學(xué)生主動(dòng)探究、加強(qiáng)合作學(xué)習(xí)與探究實(shí)踐等原則,才能使學(xué)生逐漸根據(jù)具體的需求來靈活運(yùn)用這些工具解決學(xué)習(xí)與生活中遇到的各類問題,進(jìn)而達(dá)到培養(yǎng)學(xué)生計(jì)算思維的目的。筆者以“畫程”軟件入手,在高一年級學(xué)生中開展近一個(gè)月的教學(xué)實(shí)踐,為后面更好地開展算法與程序設(shè)計(jì)教學(xué)提供一些實(shí)踐經(jīng)驗(yàn)與啟發(fā)。
1 "算法思維的入門與培養(yǎng)
1.1 "精選軟件:由易到難巧入門
“良好的開端是成功的一半?!备咧卸螌W(xué)生雖然在小學(xué)階段學(xué)過LOGO語言,但是一進(jìn)入高中就開始系統(tǒng)學(xué)習(xí)算法與程序設(shè)計(jì),尤其是直接進(jìn)入Python或C++語言學(xué)習(xí)的話,總認(rèn)為難度較大,再加上知識(shí)點(diǎn)多且分散,大多學(xué)生反饋學(xué)習(xí)比較吃力,內(nèi)容較為枯燥,提不起學(xué)習(xí)興趣,學(xué)習(xí)效率不高等。
針對該問題,結(jié)合常熟市教研室教師的指導(dǎo)意見,筆者進(jìn)行“算法與程序設(shè)計(jì)”教學(xué)時(shí),嘗試在算法教學(xué)入門階段使用畫程軟件來指導(dǎo)教學(xué),效果良好。畫程軟件采用流程線自適應(yīng)圖標(biāo)的設(shè)計(jì),用流程圖來描述算法如同搭積木,最終實(shí)現(xiàn)人畫圖(流程圖)、機(jī)生碼(機(jī)器生成對應(yīng)代碼)的可視化編程。軟件以畫圖的方式來編程,降低了很多學(xué)生一開始學(xué)習(xí)算法的門檻,一些零基礎(chǔ)的學(xué)生也可以輕而易舉地上手來繪制程序框圖。系統(tǒng)自動(dòng)生成程序代碼并編譯運(yùn)行,學(xué)生在學(xué)習(xí)過程中都能輕松入門,逐漸克服畏難情緒,也能從中感受到信息技術(shù)課程中算法描述環(huán)節(jié)的較多樂趣。
1.2 "主題入手:主動(dòng)學(xué)習(xí)有興趣
沒有精心的課堂預(yù)設(shè)就沒有高質(zhì)量的課堂教學(xué)。筆者在引導(dǎo)學(xué)生入門學(xué)習(xí)時(shí),每一節(jié)的教學(xué)內(nèi)容設(shè)計(jì)上都從貼合學(xué)生自身的生活及學(xué)習(xí)實(shí)例出發(fā),努力消除學(xué)生學(xué)習(xí)過程中的游離感,提升他們的課堂學(xué)習(xí)興趣,以此來提升課堂的教學(xué)效率。下面以算法描述中的“選擇分支”一課為例,談?wù)劸唧w的實(shí)施過程。
首先,筆者圍繞身體質(zhì)量指數(shù)(BMI,Body Mass
Index),引導(dǎo)學(xué)生對國際上常用的衡量人體胖瘦程度以及是否健康的標(biāo)準(zhǔn)進(jìn)行討論,進(jìn)而嘗試得到一個(gè)成人的BMI數(shù)值評價(jià)標(biāo)準(zhǔn),即:過輕,低于18.5;正常,18.5~24;偏胖,24~28;肥
胖,28~32;非常肥胖,高于32。在學(xué)生興趣高漲的過程中,布置任務(wù):通過自主學(xué)習(xí)相關(guān)選擇分支的材料,嘗試完成流程圖的繪制,給自己及同學(xué)測算身體指數(shù)是否健康。絕大部分學(xué)生能通過思考與實(shí)踐,在畫程中完成流程圖的繪制與調(diào)試運(yùn)行,并根據(jù)多位同學(xué)不同的解法開展討論。
1.3 "妙講算法:游戲教學(xué)引樂趣
興趣是激發(fā)學(xué)生有效學(xué)習(xí)的內(nèi)在動(dòng)機(jī)。盡管高中學(xué)生已經(jīng)能夠利用計(jì)算機(jī)解決一些基本問題(如文章編輯、繪畫和簡單的多媒體處理),但對利用計(jì)算機(jī)解決問題的完整過程了解還不夠,多數(shù)學(xué)生對解決問題的算法知之甚少,少數(shù)學(xué)生甚至產(chǎn)生較大的畏難心理。如何消除學(xué)生的這種畏難心理,提高學(xué)生的邏輯思維能力?筆者嘗試采用形式多樣的游戲來啟發(fā)學(xué)生,讓學(xué)生在玩中體會(huì)算法的實(shí)現(xiàn),取得不錯(cuò)的效果。
例如:使用“狼羊菜過河Flash游戲”,讓學(xué)生在多次的失敗經(jīng)驗(yàn)中吸取教訓(xùn)并最終成功找到方法與策略,從而對分步解決問題的算法概念印象深刻;在遇到“比較三個(gè)數(shù)的大小”的問題時(shí),先請兩位學(xué)生分別拿著教師提前打印好的寫有A與B的紙張,請其他學(xué)生比較他們的身高,個(gè)子矮一點(diǎn)兒的先坐下,然后請第三位學(xué)生手持C參與并繼續(xù)比較,直至分出高低,引導(dǎo)學(xué)生在游戲中自我體會(huì)并由此嘗試寫出這個(gè)問題的算法表達(dá)。
1.4 "巧用支架:循序漸進(jìn)助提升
“授人以魚,不如授人以漁?!苯處熃Y(jié)合教學(xué)實(shí)際,采用科學(xué)合理的教學(xué)方式,會(huì)使自己的課堂更加高效。在信息技術(shù)課堂中,學(xué)生主動(dòng)參與學(xué)習(xí)的欲望大都出自自己對學(xué)習(xí)的熱愛及通過自我探究后獲得成功的喜悅感。教師應(yīng)在教學(xué)過程中適時(shí)地為學(xué)生提供相關(guān)支架,為學(xué)生學(xué)習(xí)提供有力的保障條件。
在教學(xué)循環(huán)體的內(nèi)容時(shí),教師在課程預(yù)設(shè)中將各環(huán)節(jié)學(xué)生需要掌握的知識(shí)點(diǎn)與任務(wù)制成導(dǎo)學(xué)案,效率會(huì)更高。如在畫程中用循環(huán)體來解決1~1 000
的自然數(shù)累加時(shí),針對循環(huán)結(jié)構(gòu)的作用與意義、基本格式、需要哪些變量的提示與思考(循環(huán)變量、求和變量等),寫出第一步的學(xué)習(xí)指導(dǎo);在學(xué)生完成任務(wù)后又提供第二步的學(xué)習(xí)指導(dǎo),并拋出“能否根據(jù)現(xiàn)有的流程圖表達(dá)來解決1+1/2+1/3+...+1/1 000以及1+3+5+...+999”這一類問題,直到提供最后一個(gè)問題的學(xué)習(xí)指導(dǎo):能否結(jié)合分支結(jié)構(gòu)來解決1+2-3+4-5+...+1 000。學(xué)生利用支架自主學(xué)習(xí),結(jié)合實(shí)踐層層遞進(jìn),解決任務(wù)的積極性得到激發(fā),同時(shí)在實(shí)踐中體會(huì)到代碼復(fù)用帶來的益處。
2 "算法思維的提升與運(yùn)用
2.1 "學(xué)科競賽:專項(xiàng)發(fā)展助提升
信息學(xué)奧賽一直以來都是信息技術(shù)學(xué)科教師教學(xué)之外的另一個(gè)核心。讓學(xué)生學(xué)編程,不僅是為了學(xué)習(xí)一門新的技術(shù),也不是為了今后只朝程序員這一個(gè)職業(yè)方向發(fā)展,重要的是對學(xué)生思維模式的訓(xùn)練與養(yǎng)成。信息學(xué)奧賽涉及內(nèi)容較為豐富,包括計(jì)算機(jī)基礎(chǔ)知識(shí)、計(jì)算機(jī)軟件知識(shí)、程序設(shè)計(jì)知識(shí)、組合數(shù)學(xué)和運(yùn)籌學(xué)的知識(shí)、人工智能初步知識(shí)以及計(jì)算機(jī)應(yīng)用知識(shí)等。針對信息學(xué)奧賽的這一特點(diǎn),筆者在教研組內(nèi)建立奧賽輔導(dǎo)教師三人組,三人分工明確,分別負(fù)責(zé)學(xué)生的自主學(xué)習(xí)材料、課上輔導(dǎo)材料及解題分析材料的整理與收集,教學(xué)方式采用自主學(xué)習(xí)與專題輔導(dǎo)的模式。受限于生源的因素影響,學(xué)校編程社的學(xué)生迄今最優(yōu)成績?yōu)槭〖壎泉?jiǎng),大部分學(xué)生的最終成績可能并不出色。但是“Lear-ning to code isn't enough”,學(xué)編程不是唯一的目的,改變學(xué)生的思維方式,提升他們的綜合素質(zhì),才是開展教育的最終目的。
2.2 "學(xué)科融合:學(xué)以致用展風(fēng)采
在STEM教育正火熱的當(dāng)下,筆者也嘗試在高中信息技術(shù)課堂中開展學(xué)科融合的教學(xué)實(shí)踐。以其他學(xué)科的內(nèi)容作為學(xué)生算法思維培養(yǎng)的載體開展教學(xué),運(yùn)用多種手段或方式來實(shí)現(xiàn)問題或方案的求解,均是促進(jìn)學(xué)生計(jì)算思維能力發(fā)展的途徑。
如在STEM創(chuàng)意設(shè)計(jì)項(xiàng)目社團(tuán)活動(dòng)中,學(xué)生除了需要團(tuán)隊(duì)合作精神之外,在作品創(chuàng)意設(shè)計(jì)、作品搭建、任務(wù)挑戰(zhàn)、作品展示及團(tuán)隊(duì)演講等一系列環(huán)節(jié)中,綜合能力得到充分鍛煉。在該項(xiàng)目實(shí)施過程中,其核心挑戰(zhàn)在于各小組需要綜合各項(xiàng)影響因素,順利完成作品小車的循跡與避障兩大任務(wù)的程序?qū)崿F(xiàn)與調(diào)試。團(tuán)隊(duì)中需要有成員具備良好的算法基礎(chǔ)和編程能力,結(jié)合現(xiàn)場的綜合因素對程序進(jìn)行深入研究并反復(fù)測試,從而實(shí)現(xiàn)最終設(shè)定的任務(wù)??梢姡_展融合教學(xué),既可以鞏固相關(guān)學(xué)科的理論知識(shí),鍛煉實(shí)踐能力,也對學(xué)生算法思維的培養(yǎng)起到一定的提升作用。
2.3 "社團(tuán)活動(dòng):深入探究出成效
學(xué)校作為省級科學(xué)教育綜合示范學(xué)校,學(xué)生在信息技術(shù)課程學(xué)習(xí)中掌握了一定的編程知識(shí),為開展相關(guān)的學(xué)生科技社團(tuán)活動(dòng)提供了有力的保障條件,也為部分在算法與編程方面有興趣、有能力的學(xué)生搭建了展示自我的舞臺(tái)。
學(xué)??萍忌鐖F(tuán)包括機(jī)器人社團(tuán)、STEM社團(tuán)、無人機(jī)社團(tuán)、電子百拼社團(tuán)等。例如:在環(huán)保機(jī)器人社團(tuán)活動(dòng)中,學(xué)生面對一張包含固定與隨機(jī)部分的網(wǎng)狀地圖,以及隨時(shí)變化的任務(wù)和出發(fā)點(diǎn),考驗(yàn)的是臨場編程策略與程序調(diào)試環(huán)節(jié)的綜合能力;在足球機(jī)器人活動(dòng)中,學(xué)生一方面增進(jìn)對各類傳感器的認(rèn)知,另一方面需要在現(xiàn)場程序的調(diào)試過程中經(jīng)受考驗(yàn)。
在開展社團(tuán)活動(dòng)及學(xué)生競賽實(shí)踐過程中,筆者發(fā)現(xiàn)有一定算法基礎(chǔ)的學(xué)生在面對不同編程平臺(tái)、面對不同程序設(shè)計(jì)語言時(shí),表現(xiàn)出的兼容性更強(qiáng),在對各任務(wù)的理解和實(shí)施過程中動(dòng)手能力與協(xié)作能力也更高,可以在團(tuán)隊(duì)活動(dòng)中起到引領(lǐng)作用,在省市級青少年科技競賽中為個(gè)人、團(tuán)隊(duì)、學(xué)校爭得不少榮譽(yù)。
3 "結(jié)束語
在物聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等應(yīng)用日益影響人們生活、學(xué)習(xí)的今天,高中階段的信息技術(shù)課堂也在發(fā)生變革。在高中信息技術(shù)教學(xué)中,要有效地培養(yǎng)學(xué)生的算法思維,激發(fā)學(xué)生對生活、學(xué)習(xí)等方面的思考與關(guān)注,以識(shí)為技,解決真實(shí)的生活問題,從而達(dá)到提升信息素養(yǎng)之目的。