任赟
【摘 要】目前,育人方式變革正從知識本位走向素養(yǎng)本位,從“為了知識的教育”走向“通過知識的教育”。本文通過兩個(gè)教學(xué)案例幫助學(xué)生體驗(yàn)敏捷開發(fā)思想,進(jìn)而培養(yǎng)學(xué)生的計(jì)算思維。
【關(guān)鍵詞】敏捷開發(fā);計(jì)算思維;信息技術(shù)
2017版高中信息技術(shù)新課標(biāo)提出了計(jì)算思維這一核心素養(yǎng)。計(jì)算思維是指個(gè)體運(yùn)用計(jì)算機(jī)科學(xué)領(lǐng)域的思想方法,在形成問題解決方案的過程中產(chǎn)生的一系列思維活動[1]。敏捷開發(fā)以用戶的需求進(jìn)化為核心,采用迭代、循序漸進(jìn)的方法進(jìn)行軟件開發(fā),是軟件公司常用的一種開發(fā)方法。
在高中信息技術(shù)教學(xué)中,筆者注重理論聯(lián)系實(shí)際,把學(xué)科知識置于學(xué)科真實(shí)的情境中,從而讓知識活起來,培養(yǎng)學(xué)生的計(jì)算思維。因此本文設(shè)計(jì)了兩個(gè)適用于敏捷開發(fā)思想的項(xiàng)目:密碼登錄系統(tǒng)、隨機(jī)點(diǎn)名器。
項(xiàng)目一:密碼登錄系統(tǒng)
1.項(xiàng)目學(xué)習(xí)目標(biāo)
(1)掌握if條件語句的格式及使用方法(計(jì)算思維)。
(2)掌握while循環(huán)語句的格式及使用方法(計(jì)算思維)。
(3)掌握for循環(huán)語句、break語句的格式及使用方法(計(jì)算思維)。
(4)掌握字典的創(chuàng)建、訪問、in運(yùn)算符等相關(guān)知識(計(jì)算思維)。
(5)學(xué)生能夠根據(jù)實(shí)際問題,采用計(jì)算機(jī)可以處理的方式界定問題、抽象特征、描述算法,綜合運(yùn)用Python中的基礎(chǔ)知識(信息意識、計(jì)算思維)。
2.項(xiàng)目描述
在平時(shí)的工作、生活中,需要經(jīng)常登錄一些系統(tǒng),該項(xiàng)目讓學(xué)生利用學(xué)過的Python相關(guān)知識完成一個(gè)密碼登錄系統(tǒng)開發(fā)。
3.項(xiàng)目內(nèi)容
該項(xiàng)目為一個(gè)持續(xù)Python知識教學(xué)過程中的項(xiàng)目,幫助學(xué)生體驗(yàn)敏捷開發(fā)中軟件迭代更新的過程。
以下為軟件的四次迭代更新過程涉及的知識,為Python中的if條件語句、while循環(huán)語句、for循環(huán)語句以及字典等。
請編寫一個(gè)用戶登錄系統(tǒng),用戶輸入用戶名、密碼后,若用戶名不存在提示“用戶名不存在”,若用戶名存在但密碼錯(cuò)誤提示“密碼錯(cuò)誤”,若同時(shí)正確提示“登錄成功”。
使用場景:此版本可使用多分支條件語句來完成,但是程序較冗長。借由字典這個(gè)數(shù)據(jù)結(jié)構(gòu)可簡化代碼及邏輯,因此可以作為Python中數(shù)據(jù)結(jié)構(gòu)——字典的引入案例,借此講解字典的基本操作方法。
4.項(xiàng)目反思
以上四個(gè)版本均處理用戶密碼登錄問題,只是隨著學(xué)生所學(xué)知識的增加,功能更加完善,更符合現(xiàn)實(shí)生活中的需求,借此帶領(lǐng)學(xué)生體驗(yàn)敏捷開發(fā)的思想方法,進(jìn)而培養(yǎng)學(xué)生的計(jì)算思維。
此外,本項(xiàng)目為一個(gè)連貫項(xiàng)目,還可以作為相關(guān)知識情境引入案例,幫助學(xué)生更深刻地理解相關(guān)知識。
如版本1、版本2分別用到if條件語句、while循環(huán)語句(表3),而兩條語句在格式上非常類似,借由本項(xiàng)目版本1、版本2可幫助學(xué)生深刻理解兩條語句的異同。
項(xiàng)目二:隨機(jī)點(diǎn)名器
1.項(xiàng)目學(xué)習(xí)目標(biāo)
(1)掌握random模塊中randint的使用方法,能夠根據(jù)需求確定randint的兩個(gè)參數(shù)(計(jì)算思維)。
(2)掌握列表的創(chuàng)建、訪問、刪除、獲取長度等方法(計(jì)算思維)。
(3)能夠根據(jù)需要綜合應(yīng)用if條件語句、while循環(huán)語句、break語句等(計(jì)算思維)。
(4)掌握使用Python讀取文件的方法(計(jì)算思維)。
(5)掌握字符串split函數(shù)的使用方法(計(jì)算思維)。
(6)學(xué)生能夠根據(jù)實(shí)際問題,采用計(jì)算機(jī)可以處理的方式界定問題、抽象特征、描述算法,綜合運(yùn)用Python中的基礎(chǔ)知識(信息意識、計(jì)算思維)。
2.項(xiàng)目描述
在平時(shí)課堂中教師經(jīng)常需要叫學(xué)生回答問題,該項(xiàng)目讓學(xué)生利用Python相關(guān)知識制作一個(gè)隨機(jī)點(diǎn)名器幫助教師點(diǎn)名。
3.項(xiàng)目內(nèi)容
敏捷開發(fā)思想有一個(gè)重要的內(nèi)容是“快速響應(yīng)用戶需求”,先完成核心部分,再逐步完善。該項(xiàng)目可以很好地幫助學(xué)生體驗(yàn)這一過程。
要求:為了方便所有人都可以使用該隨機(jī)點(diǎn)名程序,名字可以使用文件讀入的方式,當(dāng)點(diǎn)名的名字發(fā)生改變時(shí),只需要改變文件中的名字即可。
知識鏈接:使用open函數(shù)打開一個(gè)文件,使用read方法讀取文件內(nèi)容,使用split方法將讀取的內(nèi)容按照換行分隔返回一個(gè)姓名列表。
4.項(xiàng)目反思
以上六個(gè)版本逐步完善,從最基礎(chǔ)的只可以點(diǎn)學(xué)號,到實(shí)現(xiàn)文件讀取點(diǎn)名,功能逐步增加,不僅讓學(xué)生體驗(yàn)敏捷開發(fā)的過程,還方便學(xué)生理解并獨(dú)立完成程序,進(jìn)而在這個(gè)過程中培養(yǎng)學(xué)生的計(jì)算思維。