黃麗華
當今世界提高學生的核心素養(yǎng)已成為教育界的共識,如何發(fā)展學生的學科核心素養(yǎng),是教師迫切需要解決的問題。教育部頒布的《普通高中信息技術(shù)課程標準(2017年版)》明確了高中信息技術(shù)學科核心素養(yǎng)是由信息意識、計算思維、數(shù)字化學習與創(chuàng)新、信息社會責任等組成。筆者結(jié)合自身的教學實踐,以《循環(huán)結(jié)構(gòu)的綜合應用》一課為例,探究如何在高中信息技術(shù)課堂教學中培養(yǎng)學生的學科核心素養(yǎng)。
教師展示這段時間所完成的比較有代表性的探究任務。
(1)100~999間符合條件的水仙花數(shù)。
(2)實現(xiàn)了百錢買百雞的經(jīng)典數(shù)學問題。
(3)逐行逐列地繪制了規(guī)則的圖案。
(4)優(yōu)美的數(shù)學函數(shù)圖像的動態(tài)繪制。
復習循環(huán)的基本語法結(jié)構(gòu)及for循環(huán)與do loop循環(huán)在實現(xiàn)上的異同,體驗程序設計的基本過程和基本方法及相關的拓展應用。
信息技術(shù)學科核心素養(yǎng)的培養(yǎng)對知識點的要求不再是一味要求學生掌握某一種固定的操作方式、某一些簡單的語法格式,而是強調(diào)利用信息技術(shù)解決一系列問題。這就要求教師在教學中不但要讓學生系統(tǒng)掌握所學知識,還要讓學生把知識靈活地運用到一類問題當中,會遷移,會舉一反三。
教師展示“誰是冠軍”的問題描述。
探究任務一:“誰是冠軍”。
在2018年底我校第四屆教職工冬季趣味運動會的女子甲組“滾鐵環(huán)”項目中只有五位女教師報名參加,為了增加趣味性,當時在賽前就有人讓他們預測比賽結(jié)果。
A選手說:“B第二,我第三。”
B選手說:“我第二,E第四。”
C選手說:“我第一,D第二?!?/p>
D選手說:“C最后,我第三?!?/p>
E選手說:“我第四,A第一。”
比賽結(jié)束后,每位選手都說對了一半,無并列名次,請編程確定比賽的名次。
(1)正確描述問題,引導學生思考,合理組織數(shù)據(jù),強化信息意識。首先要強化學生信息意識,提高信息敏感度,引導學生能夠根據(jù)解決問題的需要,自覺尋求合適的方式對已有的復雜的信息進行處理,能夠準確地描述問題,獲取有價值的信息,并將選手名次問題邏輯地分解為若干求解步驟。每一位選手都是1至5的名次中的某一個名次,因此每個選手的名次需要枚舉1至5,共五位選手,所以需要五重for循環(huán)來實現(xiàn)枚舉。
(2)抽象數(shù)據(jù)類型,表達復雜邏輯關系,尋找自動化方案,啟迪計算思維。著名心理學家魯賓斯指出:“任何思維,不論它是多么抽象的和多么理論的,都是從觀察分析經(jīng)驗材料開始?!毙畔o所不在,關鍵是需要學會觀察和判斷。描述材料中五位選手比賽,每位選手說了兩句話,但只有一句是對的,因此“每位選手要么前句對要么后句對”。
例如,A選手說:“B第二,我第三?!?/p>
若前句是對的,后句就不對:(B= 2 And A <> 3)
或者前句不對,后句對:(B <> 2 And A=3)
因此A選手的邏輯表達可以是:(B=2 And A <> 3) Or (B <> 2 And A=3)
同理,其他選手的邏輯表達可以相應構(gòu)建,他們之間是邏輯與(and)的關系。
通過對“誰是冠軍”提取問題的基本特征,借助題目邏輯推理的分析,抽象數(shù)據(jù),數(shù)字化,進而建立相應的模型,學生將所學知識遷移到真實生活情境中進行分析,有助于培養(yǎng)解決問題的能力,提高邏輯思維能力。
(3)引導學生挖掘程序設計中隱含的約束條件,提升計算思維。
A、B、C、D、E五位選手必是1至5的五個名次當中的一個,不重復,那么1至5的5個數(shù)字中與A、B、C、D、E五位選手必然存在某種一一對應的關系,所以有A*B*C*D*E=120這樣一個隱性條件或表達為A+B+C+D+E=15。
在學生求解問題遇到瓶頸時,教師要引導學生分解細節(jié),把握數(shù)據(jù)間內(nèi)部關系,抓住關鍵問題,挖掘出數(shù)據(jù)中的深層含義。類似選手名次這樣的邏輯推理題,題面復雜,我們要讓學生學會從復雜的題面中抽取有價值的信息,細致地分析,挖掘信息中隱性的約束條件,形成可行的解決方案并用計算機語言表達出來,就可以實現(xiàn)問題的解決。這樣的解決問題的思路,讓學生逐漸地明確信息技術(shù)學科要推理嚴謹和計算精確,進一步提高學生的知識積累與知識遷移能力,讓學生不斷在實踐中強化,靈活地將課堂所學應用到生活中,逐步形成穩(wěn)定的思維方式,并把這種意識、思維和習慣遷移到其他課程的學習中乃至生活的方方面面,將使其終身受益。
教師展示“n階乘末尾0的個數(shù)”的問題描述。
探究任務二:n階乘末尾0的個數(shù)。
(1)算法1分析。
a).求1*2*3*…*n的值,即n階乘存放到s中。
b).求s的末尾有幾個0。
算法1,學生完成后發(fā)現(xiàn)當n=13時溢出了,超出了long的最大取值范圍。當前算法有其局限性,這時就應該及時鼓勵學生思考更好的算法,以解決更大數(shù)值范圍n階乘末尾0的問題,引導學生自主探究本題的更優(yōu)算法。
(2)算法2分析。
引導學生思考0產(chǎn)生的原因,要使其末尾有0,必然是2*5=10,而1~n中2的因子已然足夠多,我們就只需要找5的因子個數(shù)即可。1~n之間每個數(shù)包含了多少個5的因子,則n階乘末尾就有幾個0。而能被因子5整除的數(shù)必然是5的倍數(shù),所以問題又可優(yōu)化為只需要枚舉小于等于n范圍內(nèi)的i (5,10,15,20,…)的每一個數(shù)中,當前的每一個i能被多少個5整除即可。該算法的時間復雜度為O(nlog5 n)。