陳運
摘要:人工智能時代的到來,學生計算思維的培養(yǎng)成為國家信息教育關注的重點。本文從計算思維的概念出發(fā),通過基于計算思維的Python程序設計的教學案例分析,提出了如何在高中信息技術教學中培養(yǎng)學生的計算思維,提升學生的信息素養(yǎng),幫助學生在實際生活和學習中更好地解決問題。
關鍵字:信息技術、計算思維、Python
中圖分類號:G4 文獻標識碼:A
2017 年 7 月,國務院印發(fā)的《新一代人工智能發(fā)展規(guī)劃》中指出要“實施全民智能教育項目,在中小學階段設置人工智能相關課程,逐步推廣編程教育”。而編程教育最重要的就是培養(yǎng)學生的計算思維,2017版的普通高中信息技術課程標準明確提出計算思維是信息技術學科核心素養(yǎng)的四個核心要素之一,強調信息技術教育中應貫穿計算思維培養(yǎng)。
2017版新課標將計算思維定義為“運用計算機科學領域的思想方法,在形成問題解決方案的過程中產生的一系列思維活動”。在高中信息技術教學中該如何通過編程教學培養(yǎng)學生的計算思維呢?筆者以廣東教育出版社出版的高中信息技術必修一“Python程序設計基礎”為例,設計了一節(jié)基于計算思維培養(yǎng)為導向的教學案例——Python實現(xiàn)簡單人機博弈:石頭剪刀布。本節(jié)課將計算思維的培養(yǎng)落實到以下四個階段。
(一)創(chuàng)設情境
從學生最熟悉的游戲入手,讓學生兩兩配合體驗石頭剪刀布的博弈過程,并讓學生講述游戲規(guī)則,列出甲乙雙方博弈對戰(zhàn)表,為后面學生分析問題和解決問題奠定基礎,并讓學生思考問題:你能通過Python編程實現(xiàn)人機博弈的游戲么?這一階段創(chuàng)設貼近學生生活的課堂情境,激發(fā)學生學習興趣,激活學生的計算思維,并讓學生明確問題。
(二)問題解決
1、首先讓學生分析問題,該環(huán)節(jié)的計算思維是對問題進行界定,教師提出問題:該問題能用計算機程序來解決么?如果可以,輸入、輸出、終止條件分別是什么?
2、分解問題:該環(huán)節(jié)的計算思維是問題分解,將復雜問題簡單化,我們將人機博弈的問題進行拆解,結合學生生活情境中的體驗,可以分為三個子問題:雙方出拳,雙方亮拳,判斷勝負并輸出結果。
解決問題:針對上一階段的三個子問題進行算法設計,再根據算法進行編程和調試。
A、解決子問題一:雙方出拳
該環(huán)節(jié)的計算思維是數(shù)據抽象與表達,由兩個連續(xù)的教學活動組成。
第一教師提出問題:現(xiàn)實生活中,雙方出拳是用手勢表示,那在計算機中可以怎么表示石頭剪刀布呢?學生經過討論提出可以將石頭剪刀布放入列表中供選擇,人出拳可以從列表中選擇石頭、剪刀或布,電腦出拳也可以從列表中用隨機函數(shù)生成石頭、剪刀或者布。當然還有更簡便的,用數(shù)字來替代這些手勢。
第二,教師提出疑問:如果用戶選擇的不是石頭、剪刀或者布,該如何處理?學生經過討論后提出每一輪博弈都要對人輸入的值進行判斷,當輸入有誤時,要重新輸入。
B、解決子問題二:雙方亮拳
該環(huán)節(jié)的計算思維是數(shù)據抽象與表達,由一個教學活動組成。
教師提問:人和計算機已經對自己要出的拳進行了選擇,那我們怎么知道雙方的出拳情況呢?學生經過討論提出,可以用到print函數(shù)展示出拳的結果。
C、解決子問題三:判斷勝負并輸出結果
判斷勝負是實現(xiàn)人機博弈的關鍵部分,該環(huán)節(jié)的計算思維包括數(shù)據抽象與表達、算法設計和模式匹配。教師提出問題:計算機怎么知道誰贏了呢?教師對學生進行思維引導:當滿足什么條件時,甲乙雙方是平局呢?當滿足哪些條件時,甲方才會獲勝呢?學生經過討論后提出,當雙方出拳一致時,雙方平局;甲方獲勝的情況有,甲方出石頭,乙方出剪刀或者甲方出剪刀,乙方出布或者甲方出布,乙方出石頭,滿足以上任一條件,我們就會贏,其他情況則計算機贏。由此,將現(xiàn)實問題中的勝負比較轉化為計算機可處理的問題,設計多分支選擇結構if…elif…else語句進行判斷從而解決人機博弈的問題。
D、優(yōu)化方案
該環(huán)節(jié)的計算思維是評估反思,迭代優(yōu)化。該環(huán)節(jié)教師提出問題:剛才同學們的游戲是不是只玩一次就退出了?那如何能讓游戲一直玩呢?學生經過討論后提出可以在外部加一個while循環(huán),這樣人機博弈就可以一直玩下去了,為了讓這個游戲更加人性化,還可以在末尾加入if語句進行判斷:比如輸入s鍵退出,輸入任意鍵繼續(xù)。
(三)知識遷移
在這一環(huán)節(jié),教師需要設計相似或更高級的任務作為小組合作任務,培養(yǎng)學生模式匹配的計算思維能力。用Python實現(xiàn)了最簡單的人機博弈的項目后,學以致用,將知識進行遷移,讓學生完成猜數(shù)游戲,教師引導學生找到猜數(shù)字游戲和人機博弈問題的聯(lián)系:一是人機博弈和猜數(shù)字游戲中都要引入隨機函數(shù)來解決問題;二是人機博弈和猜數(shù)字游戲都需要用到多分支結構來實現(xiàn)功能;三是人機博弈和猜數(shù)字游戲中都需要加入外部循環(huán)while循環(huán),才能重復玩游戲。
四、分享總結
分享總結也是學生知識建構的一個過程。在該環(huán)節(jié)中,各小組展示分享作品,包括實現(xiàn)的功能模塊、解決問題的思路及方案以及在解決問題的過程中遇到的新問題等,教師再對小組作品進行評價總結,組織組間互評,包括過程性評價和總結性評價。
教學有法,教無定法。對于學生計算思維的培養(yǎng),還需要我們廣大教育工作者在教學實踐中不斷摸索探究。教師只有深刻領會計算思維的內涵,積極主動將計算思維的培養(yǎng)融入到各個教學環(huán)節(jié)中,才能全面提升學生的信息技術學科核心素養(yǎng)。
參考文獻
[1] .《新一代人工智能發(fā)展規(guī)劃》[J].科技導報,2018,(第17期).
[2]中華人民共和國教育部.普通高中信息技術課程標準(2017年版)[S].北京:人民教育出版社,2018.
[3]李穎.利用游戲化編程培養(yǎng)學生的計算思維能力——以高中“算法與程序設計”教學為例[J].中小學信息技術教育,2020,(第11期).