葉國平 安徽師范大學(xué)附屬中學(xué)
近年來,隨著信息技術(shù)的飛速發(fā)展,信息技術(shù)教育為學(xué)生在較短時間里獲得全面、系統(tǒng)的信息技術(shù)知識提供了保障,同時也為學(xué)生帶來了信息素養(yǎng)的進(jìn)一步提升。[1]隨著教學(xué)改革的不斷推進(jìn),計算思維持續(xù)地融入信息技術(shù)教育并有效地促進(jìn)了學(xué)生綜合能力的發(fā)展,因此,計算思維能力的培養(yǎng)越來越受到國內(nèi)外研究人員和教師的重視。美國卡內(nèi)基·梅隆大學(xué)的周以真教授在2006年首次系統(tǒng)地提出了計算思維的概念。我國發(fā)布的《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)》要求將計算思維作為信息技術(shù)學(xué)科核心要素之一。[2]但計算思維本身比較抽象,所以培養(yǎng)學(xué)生的計算思維能力是一個長期的過程。在中學(xué)信息技術(shù)教育階段融入計算思維,能使教師在更新教學(xué)理念的同時創(chuàng)新教學(xué)模式,從而激發(fā)學(xué)生的興趣與積極性,進(jìn)一步提升中學(xué)信息技術(shù)教學(xué)質(zhì)量與效率,并促進(jìn)學(xué)生能力素養(yǎng)的培養(yǎng)。[3]
計算思維的本質(zhì)是解決問題的思維與能力[4],對于計算思維,各國學(xué)者的理解角度不一樣,定義內(nèi)容也不一樣,但無論從哪個角度分析,都強調(diào)了計算思維在問題解決方面的特征,強調(diào)通過抽象建模尋求問題的最佳解決方案。根據(jù)各研究成果,筆者認(rèn)為計算思維可以理解為解決問題的思維活動過程,反映了計算機科學(xué)的基本思想方法,并且它可以擴展應(yīng)用到工作、學(xué)習(xí)和生活中去解決具體的實際問題。在本研究中,計算思維能力指學(xué)生利用程序設(shè)計算法解決實際問題的思維活動。
項目式學(xué)習(xí)(Project-basedlearning)簡稱PBL,強調(diào)以學(xué)生自主探究為目的,以教師適當(dāng)引導(dǎo)為主線。同時,項目式學(xué)習(xí)注重團隊協(xié)作,以問題為導(dǎo)向,激發(fā)小組成員之間的思維碰撞,通過組內(nèi)成員的集思廣益、相互合作來完成項目任務(wù)。項目式學(xué)習(xí)的引入提升了學(xué)生的自主學(xué)習(xí)能力和動手實踐能力,與傳統(tǒng)的教學(xué)模式相比,它改變了傳統(tǒng)教學(xué)模式的單一與固化,為學(xué)生提供了更為靈活教學(xué)方式,實現(xiàn)了學(xué)生學(xué)習(xí)效率最大化。[5]
采用項目式學(xué)習(xí)培養(yǎng)計算思維可以讓學(xué)生在解決問題的過程中構(gòu)建知識、提高能力、發(fā)展思維[6],也能更好地培養(yǎng)學(xué)生發(fā)現(xiàn)問題、解決問題的能力。同時,通過學(xué)生之間的相互合作完成任務(wù)目標(biāo),可以培養(yǎng)學(xué)生的團隊合作意識,有助于發(fā)展學(xué)生的綜合素質(zhì)。除此之外,基于項目式學(xué)習(xí)培養(yǎng)計算思維打破了傳統(tǒng)的信息技術(shù)課堂的教學(xué)模式,能夠更好、更早地發(fā)展學(xué)生的思維能力,以實現(xiàn)教學(xué)模式的進(jìn)一步發(fā)展。
(1)建構(gòu)主義理論
建構(gòu)主義(Constructivism)理論強調(diào)了學(xué)習(xí)的主動建構(gòu)性、情境性,倡導(dǎo)在教師的輔助下,以學(xué)生為中心的問題式學(xué)習(xí)、協(xié)作探究性學(xué)習(xí)和情境性學(xué)習(xí)。[7]該理論認(rèn)為學(xué)習(xí)是獲取知識的過程,知識是在特定的教學(xué)情境下,學(xué)習(xí)者通過小組合作,獲得他人的幫助,使用必要的學(xué)習(xí)材料進(jìn)行意義建構(gòu)而獲得的,因此該理論提出學(xué)習(xí)環(huán)境的四大屬性:“情境”“協(xié)作”“會話”“意義建構(gòu)”。[8]基于項目式學(xué)習(xí)的計算思維培養(yǎng)模式就是基于建構(gòu)性學(xué)習(xí)模式,旨在通過創(chuàng)建真實的教學(xué)情境,使學(xué)生在項目學(xué)習(xí)的過程中不斷訓(xùn)練提升計算思維能力。
(2)“做中學(xué)”理論
“做中學(xué)”是由美國教育學(xué)家杜威提出的,該理論要求學(xué)生在實踐活動中探索、思考并解決問題,從而在解決問題的過程中學(xué)習(xí)一些直接的經(jīng)驗。[9]
在基于項目式學(xué)習(xí)的計算思維培養(yǎng)模式研究過程中可以利用該理念進(jìn)行實踐教學(xué)的探究,教師為學(xué)生創(chuàng)建特定的情境,學(xué)生在該情境中自主發(fā)現(xiàn)問題、探索問題,通過教師的輔助指導(dǎo),最終得以解決問題。在這個過程中學(xué)生不但能夠?qū)W習(xí)如何解決問題,還可以直接學(xué)習(xí)到關(guān)于類似問題的相關(guān)經(jīng)驗,進(jìn)一步提升了學(xué)生的計算思維能力。因此,“做中學(xué)”理論對基于項目式學(xué)習(xí)的計算思維培養(yǎng)模式的研究有一定的理論指導(dǎo)意義。
基于項目式學(xué)習(xí),結(jié)合計算思維在實踐層面上的可操作性等基礎(chǔ)理論,筆者構(gòu)建了如上頁圖1所示的基于項目式學(xué)習(xí)的計算思維培養(yǎng)模式。該模式以項目為主線,圍繞如何更有效培養(yǎng)學(xué)生的計算思維能力來展開。
(1)教師行為
首先,圍繞項目創(chuàng)設(shè)科學(xué)的項目問題情境,調(diào)動學(xué)生探究問題的積極性,并分析問題,將整體項目任務(wù)劃分為若干個單元任務(wù),明確項目單元任務(wù);其次,引導(dǎo)學(xué)生分析、表達(dá)、解決問題,在這個過程中,要為學(xué)生提供所需的知識講解及教學(xué)資源,并在適當(dāng)?shù)臅r候輔助學(xué)生完成項目的探究;最后,需要對學(xué)生完成的成果進(jìn)行評價總結(jié),引導(dǎo)學(xué)生將本次項目實踐中所獲得的知識推廣到其他問題中。
(2)學(xué)生行為
首先,進(jìn)入教師提出的問題情境中并理解項目問題,根據(jù)具體的問題情境,確定并分析單元問題以明確單元任務(wù)及要達(dá)成的目標(biāo);其次,自主探究,抽象問題模型,制訂自動化解決方案,并根據(jù)解決方案,利用已有的知識、工具,結(jié)合教師的引導(dǎo)完成項目的實施;最后,通過教師評價、與同學(xué)分享、交流成果的方式,不斷總結(jié)反思,以尋求更大的提升空間。
青春期的學(xué)生對很多事物產(chǎn)生好奇,因此在根據(jù)學(xué)生特點和教學(xué)目標(biāo)選定項目后,教師需要創(chuàng)設(shè)生活中的真實情境引導(dǎo)學(xué)生產(chǎn)生探索興趣,激發(fā)學(xué)生自主學(xué)習(xí)熱情。
根據(jù)學(xué)生的認(rèn)知和學(xué)習(xí)情況,本次項目探究將按照層層遞進(jìn)的方式展開,從關(guān)于數(shù)據(jù)安全的基礎(chǔ)出發(fā),圍繞“創(chuàng)建安全密碼”的任務(wù),通過體驗“暴力破解”程序,分析影響密碼破解速度的相關(guān)因素,總結(jié)創(chuàng)建安全密碼的技巧,同時通過案例分析引出密碼盜竊的其他方式以及采取相應(yīng)的防盜措施;在學(xué)習(xí)本節(jié)課的過程中,讓學(xué)生了解密碼安全防范的重要性,增強自我保護(hù)的能力,樹立信息安全的意識。然后通過“讓數(shù)據(jù)‘隱身’”項目任務(wù),引入愷撒密碼,剖析愷撒密碼的加密原理,并以流程圖、程序?qū)崿F(xiàn)加密算法,引申出加法密碼的基本原理。通過學(xué)習(xí)這一系列知識,讓學(xué)生逐步樹立數(shù)據(jù)安全意識。
①掌握編程計算中常用函數(shù)、基本結(jié)構(gòu)(分支和循環(huán))和窮舉的算法設(shè)計并學(xué)會使用Python語言完成算法設(shè)計。
②掌握密碼、密文、明文、密鑰、加解密、數(shù)據(jù)安全等基本概念以及創(chuàng)建安全密碼的一般技巧和愷撒密碼的加密算法,理解并掌握項目案例涉及的基本知識,并能夠?qū)⑵渫茝V應(yīng)用到其他項目中。
(1)項目擬定
教師創(chuàng)設(shè)情境:生活中基本上家家都有無線網(wǎng),在初次連接無線網(wǎng)時我們需要設(shè)置密碼并輸入密碼進(jìn)行網(wǎng)絡(luò)連接,但是經(jīng)常會遇到自己家無線網(wǎng)莫名其妙被別人連上,甚至?xí)霈F(xiàn)在正確密碼的情況下自己卻連接不上網(wǎng)絡(luò)的情況,這就是數(shù)據(jù)安全出現(xiàn)問題,導(dǎo)致密碼被人破解。由此可見,創(chuàng)建安全密碼對數(shù)據(jù)保護(hù)來說十分重要,如果不能采取有效的保護(hù)措施,可能會面臨來自黑客的威脅。那么,什么樣的密碼更加安全?為了確保這些數(shù)據(jù)的安全性和保密性,又該如何創(chuàng)建安全密碼來保護(hù)這些數(shù)據(jù)?如何防止密碼被破解?
(2)項目可行性分析
本次教學(xué)活動通過兩個項目構(gòu)建基于項目式學(xué)習(xí)的計算思維的培養(yǎng)模式。
①安全密碼。
本項目通過問題引導(dǎo)學(xué)生思考系統(tǒng)數(shù)據(jù)安全問題—創(chuàng)設(shè)密碼,然后通過體驗“暴力破解”程序來體現(xiàn)創(chuàng)建安全密碼的重要性,達(dá)到先體驗后總結(jié)的目的。在活動過程中,學(xué)生自主協(xié)作探究,教師適時引導(dǎo),學(xué)生將逐步掌握科學(xué)的學(xué)習(xí)方法和小組合作的技巧,同時引導(dǎo)學(xué)生聯(lián)系生活中密碼被盜問題,結(jié)合以往知識,前后貫通,提升學(xué)生計算思維和知識遷移能力,培養(yǎng)學(xué)生推理、歸納能力。
②數(shù)據(jù)隱身術(shù)。
基于以上項目,學(xué)生已了解到關(guān)于安全密碼的概念及創(chuàng)建安全密碼的一般技巧。本項目通過利用生活場景和多媒體視頻,讓學(xué)生感知數(shù)據(jù)“隱身”,體會數(shù)據(jù)安全性的增強,進(jìn)而引入數(shù)據(jù)加密。這符合人類思維發(fā)展規(guī)律—由感性到理性,最后再應(yīng)用到解決實際問題中。
(3)項目設(shè)計
①安全密碼項目:調(diào)動學(xué)生學(xué)習(xí)興趣,由淺入深進(jìn)行知識的探索,主要通過三個活動讓學(xué)生學(xué)會設(shè)置基本的安全密碼。
活動1:體驗破解密碼。
教師展示密碼定義及多種密碼樣式,進(jìn)一步提問:有了密碼就安全了嗎?引導(dǎo)學(xué)生思考并通過小組協(xié)作體驗破解他人密碼的過程。
Step1:被修改信息的學(xué)生設(shè)置系統(tǒng)密碼。
Step2:同桌協(xié)作破解系統(tǒng)密碼,思考破解密碼的方法。
Step3:嘗試完善破解純數(shù)字密碼流程圖,并記錄項目活動。
教師組織學(xué)生匯報評價,并總結(jié):如果要用計算機編程來模擬破解過程,應(yīng)采用循環(huán)程序結(jié)構(gòu)(如圖2)。

圖2 破解密碼流程圖
活動2:對比不同數(shù)位純數(shù)字密碼破解時間。
Step1:教師組織同桌合作,利用已給的“破解純數(shù)字密碼時間”程序測試數(shù)字密碼破解時間。
Step2:分別記錄測試5位、7位、9位密碼的破解時間,完成項目活動的記錄。
Step3:根據(jù)數(shù)據(jù),分析其涵蓋的信息,討論并填寫結(jié)論。
教師展示學(xué)生記錄的數(shù)據(jù),組織學(xué)生匯報評價,并總結(jié):密碼越長,破解時間越長。然后教師設(shè)置拓展延伸問題:相同位數(shù)的純數(shù)字為何測試出的破解時間不同?最后分析“破解純數(shù)字密碼時間”的算法,驗證結(jié)論。
活動3:計算破解復(fù)雜密碼的時間。
教師通過PPT圖例展示不同等級的復(fù)雜密碼,從觀察組成元素到算法分析推理其成因,總結(jié)密碼的復(fù)雜性與等級間的關(guān)系;組織同桌協(xié)作計算破解復(fù)雜密碼的時間,記錄項目活動,并總結(jié)出結(jié)論:密碼中含字符種類越多越復(fù)雜,破解時間越長。
教師組織學(xué)生匯報計算所得破解的時間和結(jié)論并分析結(jié)論背后的算法支撐—電腦編碼中的ASCII碼搜索,總結(jié)計算“數(shù)字+大寫字母”密碼、混合密碼破解時間的方法,進(jìn)一步引申出窮舉算法的概念及基本思想。
教師布置擴展任務(wù):根據(jù)所學(xué)技巧完善系統(tǒng)數(shù)據(jù)安全性,為使用的系統(tǒng)設(shè)置安全密碼。
②數(shù)據(jù)隱身術(shù):讓學(xué)生通過算法設(shè)計進(jìn)一步了解基本的加密算法,同時提升學(xué)生的分析問題和解決問題能力。其主要包含三個項目活動。
活動1:感知“隱身術(shù)”,通過觀看視頻,感知明文、密文、密鑰以及加密、解密過程。
教師引導(dǎo)學(xué)生體驗登錄系統(tǒng)時輸入的密碼暴露在外,提出問題:密碼的暴露是否妥當(dāng)?引導(dǎo)學(xué)生聯(lián)想生活中登錄網(wǎng)站和手機APP時的密碼狀態(tài),思考有沒有一種技術(shù)能讓數(shù)據(jù)“隱身”且提升數(shù)據(jù)的安全性,引入加密概念。
播放影片片段,讓學(xué)生感性認(rèn)識加密和解密過程,然后再分析相關(guān)概念。教師提問:聯(lián)系視頻,說說其中數(shù)據(jù)是如何“隱身”的,列舉電碼與字碼的對應(yīng)關(guān)系。接著引導(dǎo)學(xué)生理解加密過程中涉及的幾個名詞—明文、密鑰和密文,以及加密、解密過程中的概念,并總結(jié)。
活動2:揭秘“隱身術(shù)”,具體探究密鑰,剖析愷撒密碼的加密算法。
Step1:體驗愷撒密碼的程序,填寫表格中的密文。
Step2:推理其密碼規(guī)律,完成項目活動的記錄。
Step3:組織學(xué)生展示和分享密碼規(guī)律(如上頁圖3)。

圖3 愷撒密碼規(guī)律
Step4:利用動畫形象表達(dá)密碼規(guī)律,促進(jìn)學(xué)生理解。
活動3:設(shè)計愷撒密碼加密算法流程圖。
Step1:帶領(lǐng)學(xué)生分析愷撒加密算法中“加密部分”基本流程(特別針對明文位置i上字符的加密過程)(如圖4)。

圖4 愷撒加密算法基本流程
Step2:引導(dǎo)學(xué)生分析流程圖中的選擇結(jié)構(gòu)層次,根據(jù)密碼規(guī)律的分類情況(如圖5)確定需要幾個條件判斷。

圖5 密碼規(guī)律分類情況
Step3:引導(dǎo)學(xué)生填寫圖5中空白位置,確定判斷條件和處理過程—A.根據(jù)分類情況和最右側(cè)處理框內(nèi)容填寫選擇結(jié)構(gòu)判斷條件2。B.填寫條件1成立時的處理框。C.填寫條件1不成立,但條件2成立時的處理框。
Step4:以動畫形式完成愷撒加密算法整體流程圖(如圖6)。

圖6 密碼規(guī)律分類情況流程圖
活動4:利用Python編程實現(xiàn)愷撒加密算法。
Step1:參照項目活動3補充并完成程序代碼調(diào)試運行,觀察運行結(jié)果(如下頁圖7)。

圖7 愷撒密碼待完成程序代碼
Step2:展示幾位學(xué)生完成的語句,提示問題根源,提供學(xué)習(xí)資源幫助學(xué)生自主學(xué)習(xí)轉(zhuǎn)換函數(shù)。
Step3:總結(jié)利用chr()和ord()轉(zhuǎn)換函數(shù)實現(xiàn)移位(如下頁圖8)。

圖8 利用轉(zhuǎn)換函數(shù)實現(xiàn)移位
(4)項目實施
教師為學(xué)生提供所需的基本學(xué)習(xí)資源和操作軟件、項目活動手冊、小組分工表等,學(xué)生按照教師設(shè)計的項目任務(wù),借助軟件登錄系統(tǒng)以及Python編程語言平臺實施項目活動,最后在小組合作和教師的輔助下完成項目任務(wù)的編寫、運行和調(diào)試。
(5)項目評價反思
教師組織學(xué)生展示各自的項目作品并進(jìn)行小組內(nèi)交流與互評,集中匯報評價以及根據(jù)項目分析和實施過程中學(xué)生的課堂表現(xiàn)等來綜合評價學(xué)生的計算思維能力的變化,最后教師對整個項目的實施過程進(jìn)行總結(jié)反思,讓學(xué)生進(jìn)一步明確該項目所獲得的知識和能力,同時這樣也能夠使教師在今后的教學(xué)活動中更好地指導(dǎo)學(xué)生學(xué)習(xí),發(fā)展計算思維能力。
小組交流互評:小組內(nèi)的成員相互展示作品并評議交流,根據(jù)自己的認(rèn)識提出改進(jìn)意見或建議,匯總改進(jìn)意見或建議并針對存在的問題制訂改進(jìn)方案,進(jìn)一步完善項目。
集中匯報評價:在教師的引導(dǎo)下,小組推薦一個優(yōu)秀項目,選擇代表針對該項目在班級進(jìn)行集中匯報展示;教師組織項目評審組共同制訂評審標(biāo)準(zhǔn),對各個匯報小組進(jìn)行評價分析,并公布最終結(jié)果。
本研究在項目式學(xué)習(xí)和計算思維的相關(guān)理論基礎(chǔ)上進(jìn)行了教學(xué)模式的探究,從計算思維在實踐層面上的可操作性出發(fā)構(gòu)建了基于項目式學(xué)習(xí)的計算思維培養(yǎng)模式。該模式將計算思維過程化,利用項目式學(xué)習(xí)的教學(xué)方式全面培養(yǎng)學(xué)生的計算思維能力,通過項目的引入、分析、設(shè)計、實施、評價引導(dǎo)學(xué)生發(fā)現(xiàn)問題、解決問題、歸納問題,既培養(yǎng)了學(xué)生解決實際問題的能力,也提高了學(xué)生的團結(jié)合作能力,并且在探究過程中更加注重學(xué)生計算思維發(fā)展的過程性評價,更好地完善了教學(xué)。