摘要:隨著信息技術(shù)的快速發(fā)展,計(jì)算思維培養(yǎng)的重要性日益凸顯。Python語言因其簡潔性和易學(xué)性成為眾多高校公共計(jì)算機(jī)課程的首選編程語言。傳統(tǒng)的Python教學(xué)方法往往注重語法和編程技巧,而忽視了學(xué)生的計(jì)算思維培養(yǎng)。文章從教學(xué)內(nèi)容、教學(xué)方法和評價(jià)體系三個(gè)方面,提出了以計(jì)算思維培養(yǎng)為導(dǎo)向的Python課程教學(xué)改革方案,旨在提高學(xué)生的計(jì)算思維能力、問題解決能力和創(chuàng)新能力。
關(guān)鍵詞:計(jì)算思維;案例教學(xué);問題驅(qū)動(dòng);翻轉(zhuǎn)課堂
中圖分類號:G642" " " 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2025)16-0167-03
開放科學(xué)(資源服務(wù)) 標(biāo)識碼(OSID)
0 引言
隨著計(jì)算機(jī)技術(shù)和人工智能技術(shù)的快速發(fā)展,計(jì)算思維作為信息時(shí)代的一種重要思維方式,受到越來越多的關(guān)注。計(jì)算思維最早由卡內(nèi)基梅隆大學(xué)周以真教授于2006年提出,是指“運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問題求解、系統(tǒng)設(shè)計(jì)以及理解人類行為等一系列的思維活動(dòng)”[1]。計(jì)算思維的本質(zhì)是抽象與自動(dòng)化,是將具體的實(shí)際問題抽象為可計(jì)算化的問題,然后進(jìn)行問題建模并設(shè)計(jì)出解決方案和步驟,再進(jìn)一步編碼轉(zhuǎn)換為計(jì)算程序,最后解決問題。這種思維方式不僅提高了解決問題的效率,還培養(yǎng)了人們的創(chuàng)新思維和評判性思維能力。
在公共計(jì)算機(jī)課程中,計(jì)算思維的培養(yǎng)至關(guān)重要。首先,公共計(jì)算機(jī)課程作為大學(xué)生必修的基礎(chǔ)課程,旨在提高學(xué)生的信息素養(yǎng)和計(jì)算機(jī)應(yīng)用能力,同時(shí)培養(yǎng)學(xué)生的計(jì)算思維,讓學(xué)生學(xué)會(huì)用計(jì)算思維去思考問題和解決問題,為今后專業(yè)領(lǐng)域的學(xué)習(xí)奠定基礎(chǔ)。其次,計(jì)算思維有助于培養(yǎng)學(xué)生的創(chuàng)新思維。在計(jì)算思維培養(yǎng)的過程中,學(xué)生需要不斷嘗試新的方法、新的思路來解決問題,這些正是創(chuàng)新思維的重要來源。因此,在授課過程中可以通過案例分析和項(xiàng)目實(shí)踐,讓學(xué)生體驗(yàn)如何利用計(jì)算思維解決問題,從而激發(fā)他們的創(chuàng)新熱情,培養(yǎng)他們的創(chuàng)新意識和創(chuàng)新能力。
1 目前Python課程教學(xué)現(xiàn)狀
由于Python語言語法簡潔,非常適合初學(xué)者學(xué)習(xí),而且其對于程序邏輯設(shè)計(jì)較為純粹,這樣能更好地訓(xùn)練學(xué)生抽象問題和設(shè)計(jì)算法的能力,這也正是計(jì)算思維培養(yǎng)的核心[2]。雖然 Python 語言簡潔易學(xué),有利于計(jì)算思維的培養(yǎng),但目前的 Python 課程教學(xué)仍存在一些問題。
1) 忽視計(jì)算思維的培養(yǎng)。Python課程是一門理論和實(shí)踐緊密結(jié)合的課程,理論基礎(chǔ)知識點(diǎn)較多,對于非計(jì)算機(jī)專業(yè)的學(xué)生來說難以理解,需要勤思考多實(shí)踐。但在Python課程的實(shí)際教學(xué)過程中,很多教師將課堂的重點(diǎn)放在語法知識的講授上,而忽視了計(jì)算思維的培養(yǎng)。同時(shí),教師教學(xué)內(nèi)容設(shè)計(jì)上沒有很好地融入計(jì)算思維培養(yǎng)的核心。這些不僅不利于學(xué)生計(jì)算思維能力的培養(yǎng),還會(huì)導(dǎo)致學(xué)生學(xué)習(xí)興趣的不斷下降,影響教學(xué)質(zhì)量和效果。
2) 缺乏對計(jì)算思維培養(yǎng)的完整體系[3]。在授課過程中許多教師對計(jì)算思維的理解不夠深入,缺乏明確的教學(xué)目標(biāo),教學(xué)模式較為單一,大多數(shù)仍以灌輸式的知識教學(xué)為主,無法引導(dǎo)學(xué)生進(jìn)行深層次的思考,不利于培養(yǎng)學(xué)生的計(jì)算思維能力和解決問題能力。其次,在課程設(shè)置上缺乏連貫性和系統(tǒng)性,導(dǎo)致學(xué)生難以形成完整的計(jì)算思維框架。
3) 缺乏科學(xué)合理的評價(jià)系統(tǒng)。目前,Python課程的評價(jià)方式主要是通過期末考試和全國計(jì)算機(jī)等級考試,重點(diǎn)考查學(xué)生知識點(diǎn)的掌握以及編程技巧和能力,這種單一的評價(jià)方式忽略了學(xué)生在學(xué)習(xí)過程中的創(chuàng)新思維、團(tuán)隊(duì)協(xié)作等方面的表現(xiàn),無法全面反映學(xué)生的綜合素養(yǎng)。此外,現(xiàn)有的評價(jià)系統(tǒng)缺乏有效的反饋機(jī)制,使得教師不能及時(shí)了解學(xué)生的學(xué)習(xí)情況和需求,無法制定具有針對性的教學(xué)方案和評價(jià)標(biāo)準(zhǔn)。
2 Python課程中計(jì)算思維的培養(yǎng)方法
如何有效地將計(jì)算思維融入課程的實(shí)際教學(xué)中,提高學(xué)生計(jì)算思維能力和解決問題的能力,一直以來都是計(jì)算機(jī)教育界極為關(guān)心的熱點(diǎn)問題。計(jì)算思維的概念對于非計(jì)算機(jī)專業(yè)的學(xué)生來說比較抽象,計(jì)算思維的培養(yǎng)不僅是培養(yǎng)學(xué)生編寫程序的思維,更重要的是培養(yǎng)學(xué)生分析解決綜合問題的能力,而這種能力的培養(yǎng)需要真實(shí)的問題情境以及行之有效的教學(xué)方法[4]。因此,將計(jì)算思維融入 Python 課程教學(xué),關(guān)鍵在于結(jié)合實(shí)際案例和系統(tǒng)訓(xùn)練。
在Python程序設(shè)計(jì)課程中有很多內(nèi)容都能很好地詮釋計(jì)算思維,可以利用這些生動(dòng)形象的案例有效地培養(yǎng)學(xué)生的計(jì)算思維能力。首先,引入實(shí)際案例,激發(fā)學(xué)生興趣。在教學(xué)過程中,教師可以引入數(shù)據(jù)分析、Web開發(fā)等案例,讓學(xué)生看到Python編程的實(shí)用性,理解計(jì)算思維在實(shí)際應(yīng)用中的價(jià)值,從而增強(qiáng)學(xué)習(xí)動(dòng)力。其次,通過實(shí)際的知識點(diǎn)所涉及的內(nèi)容來系統(tǒng)學(xué)習(xí)和反復(fù)訓(xùn)練,以最終獲得計(jì)算思維的能力。在這個(gè)過程中,教師需要對知識點(diǎn)進(jìn)行深入剖析,并結(jié)合實(shí)際案例,設(shè)計(jì)訓(xùn)練內(nèi)容,幫助學(xué)生在理論學(xué)習(xí)和實(shí)踐之間建立有效聯(lián)系,使其真正掌握并靈活運(yùn)用計(jì)算思維。學(xué)生通過系統(tǒng)學(xué)習(xí)知識點(diǎn),逐步構(gòu)建計(jì)算思維的理論框架,并通過大量實(shí)踐訓(xùn)練,以此獲得計(jì)算思維能力。
3 以計(jì)算思維為導(dǎo)向的Python課程教學(xué)改革實(shí)踐
3.1 優(yōu)化教學(xué)內(nèi)容,突出計(jì)算思維的核心要素
計(jì)算思維的要素分為抽象歸納、結(jié)構(gòu)分層、算法設(shè)計(jì)、調(diào)試優(yōu)化、模式識別、泛化遷移6個(gè)方面,從行為角度來看,利用計(jì)算思維解決問題分為確定問題、設(shè)計(jì)步驟、步驟實(shí)施、評估迭代、泛化推廣這5個(gè)步驟。在教學(xué)過程中,教學(xué)內(nèi)容可以圍繞計(jì)算思維的6個(gè)要素展開,通過計(jì)算思維解決問題的5個(gè)步驟引導(dǎo)學(xué)生獨(dú)立思考,逐漸培養(yǎng)學(xué)生分析和解決問題的能力。
在教學(xué)內(nèi)容的優(yōu)化過程中,必須精心設(shè)計(jì)教學(xué)策略,確保計(jì)算思維的核心要素能夠有效融入教學(xué)實(shí)踐中。在課程設(shè)計(jì)上,應(yīng)增加與計(jì)算思維直接相關(guān)的案例分析,這里以Python中常見的遞歸算法為例。遞歸算法是一種直接或間接調(diào)用自身函數(shù)的算法,將問題不斷分解為規(guī)模較小的子問題,然后遞歸調(diào)用方法來表示問題的解。遞歸算法可以簡化代碼,解決復(fù)雜問題,能很好詮釋計(jì)算思維中的分解、抽象以及自動(dòng)化的核心概念[5]。
猴子吃桃問題:猴子第1天摘了若干個(gè)桃子,當(dāng)即吃了一半,還不過癮,又多吃了一個(gè)。第2天又將剩下的桃子吃掉一半,又多吃了一個(gè)。以后每天都吃了前一天剩下的一半另加一個(gè)。到第10天想再吃時(shí),就只剩下一個(gè)桃子了。求第1天共摘了多少個(gè)桃子?
1) 分析問題。由題意可知,每天剩余桃子的總數(shù),都是之后一天桃子的總數(shù)。比如今天吃的桃子總數(shù),是前一天吃剩的桃子,前一天的桃子數(shù)量,是吃剩的桃子數(shù)量加1后乘以2。因此,第10天還沒吃,就剩1個(gè),假設(shè)第9天還沒吃之前有s個(gè)桃子,可得s/2-1=1,即s=(1+1)×2=4,得出第9天的桃子數(shù)量為4,以此類推,即可算出第一天摘了多少桃子。
2) 設(shè)計(jì)方案。定義i為吃過桃子的天數(shù),s為桃子總數(shù),利用while循環(huán),當(dāng)滿足igt;0時(shí)執(zhí)行循環(huán)語句,運(yùn)用計(jì)算思維的遞歸思維,可得到s=2(s+1),每往前推一天,所用時(shí)間減少一天,即i=i-1,直到ilt;=0時(shí),退出循環(huán),輸出s。
3) 代碼實(shí)現(xiàn)。
def f(n):" " " #求第n天的桃子數(shù)量
if n==10:
return 1
return (f(n+1)+1)*2
print(f(1))
4) 泛化遷移。在此類問題的基礎(chǔ)上,鼓勵(lì)學(xué)生發(fā)現(xiàn)新問題,培養(yǎng)學(xué)生知識泛化遷移的能力,根據(jù)遞歸算法,學(xué)生可自主完成斐波那契數(shù)列的輸出問題。
3.2 改進(jìn)教學(xué)方法,實(shí)現(xiàn)知識教學(xué)與思維教學(xué)的轉(zhuǎn)變
傳統(tǒng)的教學(xué)方式往往側(cè)重知識灌輸,忽略了學(xué)生思維能力的培養(yǎng)。本研究采用線上線下相結(jié)合的“四課一中心”混合式教學(xué)模式,具體流程如圖1所示。課前教師發(fā)布學(xué)習(xí)資源,學(xué)生自主學(xué)習(xí)并完成預(yù)習(xí)作業(yè);課上精講重難點(diǎn),并結(jié)合翻轉(zhuǎn)課堂,讓學(xué)生由被動(dòng)學(xué)習(xí)變?yōu)橹鲃?dòng)學(xué)習(xí),使知識能夠得到內(nèi)化和提升。課后進(jìn)行在線練習(xí)和測試,并加強(qiáng)實(shí)踐教學(xué),以培養(yǎng)學(xué)生的計(jì)算思維能力。對于Python課程的語言基礎(chǔ)內(nèi)容可通過線上教學(xué),有效彌補(bǔ)教學(xué)課時(shí)的不足,讓學(xué)生有更多的時(shí)間進(jìn)行實(shí)驗(yàn)編程,這樣不僅有助于提高學(xué)生的動(dòng)手能力,還有利于培養(yǎng)學(xué)生的計(jì)算思維能力。
在線下教學(xué)過程中,教師采用案例式教學(xué)和問題驅(qū)動(dòng)式教學(xué)方式。 案例式教學(xué)是教師根據(jù)教學(xué)內(nèi)容,同時(shí)結(jié)合學(xué)生專業(yè)特點(diǎn),設(shè)計(jì)一系列有趣且貼近真實(shí)生活的案例,通過這些案例將學(xué)生引入一個(gè)真實(shí)情境中,啟發(fā)學(xué)生思考,讓他們更容易理解和掌握知識點(diǎn)。例如編程實(shí)現(xiàn)簡易購物系統(tǒng),從中可以向?qū)W生介紹列表的基本操作、程序的循環(huán)結(jié)構(gòu)和選擇結(jié)構(gòu)等,讓學(xué)生了解到學(xué)習(xí)編程的實(shí)用性,可大大增加他們學(xué)習(xí)的積極性和主動(dòng)性;利用turtle庫繪制絢麗多彩的星光夜空,吸引學(xué)生的注意力,再向?qū)W生介紹turtle庫函數(shù)的基本使用方法、隨機(jī)函數(shù)的使用、函數(shù)調(diào)用等,讓學(xué)生了解到編程的趣味性,激發(fā)了他們的學(xué)習(xí)興趣。由此可見,案例教學(xué)法將理論知識和實(shí)際操作緊密結(jié)合,不僅提高了課程教學(xué)效率,還提升了學(xué)生分析問題和解決問題的能力[6]。
在授課過程中,教師采用問題驅(qū)動(dòng)并結(jié)合翻轉(zhuǎn)課堂的形式進(jìn)行教學(xué)。上課前劃分好學(xué)習(xí)小組,每組5~6人,要求學(xué)生完成課前的慕課學(xué)習(xí)和預(yù)習(xí)測試題,并以小組為單位進(jìn)行問題收集[7]。課堂教學(xué)中,教師發(fā)布討論主題及相關(guān)練習(xí)內(nèi)容,并提出討論的具體要求,學(xué)生以小組的形式進(jìn)行討論。討論過程中,如果是共性問題,教師進(jìn)行講解,是個(gè)別針對性問題,教師可單獨(dú)指導(dǎo)。課堂以學(xué)生為中心,學(xué)生在討論過程中理解知識,學(xué)習(xí)中遇到的問題也可以在課堂上與老師和同學(xué)討論解決。討論完成后,各小組代表做主題陳述,教師進(jìn)行總結(jié),點(diǎn)評其優(yōu)點(diǎn)和不足,提供完善建議并拓展問題,讓學(xué)生深入思考。這種混合式的教學(xué)模式,通過引導(dǎo)學(xué)生討論,激發(fā)學(xué)生對問題的思考和探究,有利于培養(yǎng)學(xué)生計(jì)算思維能力。同時(shí),還能有效的增強(qiáng)教師與學(xué)生之間、學(xué)生與學(xué)生之間的互動(dòng)性。
加強(qiáng)實(shí)踐教學(xué)是培養(yǎng)計(jì)算思維的重要環(huán)節(jié)。通過線上教學(xué)可適當(dāng)縮短理論教學(xué)的課時(shí),從而加大實(shí)驗(yàn)教學(xué)課時(shí)。在實(shí)驗(yàn)教學(xué)過程中教師可提前在學(xué)習(xí)通里布置實(shí)驗(yàn)內(nèi)容,對于復(fù)雜的實(shí)驗(yàn),可分小組完成。通過實(shí)驗(yàn)學(xué)生能更好地理解和吸收理論知識,并且能夠主動(dòng)地發(fā)現(xiàn)問題、分析問題和解決問題。對于綜合性的實(shí)踐項(xiàng)目,學(xué)生可以從中學(xué)習(xí)到算法的選擇和優(yōu)化、代碼的編寫和調(diào)試,以及系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)等知識,這些都是計(jì)算思維的重要組成部分。
3.3 完善評價(jià)體系
課程考核評價(jià)體系是評判教學(xué)效果的衡量標(biāo)準(zhǔn),是對教學(xué)實(shí)踐的總結(jié),也是學(xué)生學(xué)習(xí)成果的評價(jià)反饋[8]。以期末考試作為課程考核的評價(jià)標(biāo)準(zhǔn),過于單一,不利于計(jì)算思維的培養(yǎng),因此,完善評價(jià)體系,將計(jì)算思維納入評價(jià)范圍,全面評估學(xué)生的學(xué)習(xí)成果。課程的評價(jià)方式分為過程性考核和期末考核,具體考核標(biāo)準(zhǔn)如表1所示。
過程性考核更側(cè)重學(xué)生學(xué)習(xí)過程,及時(shí)反饋學(xué)生的學(xué)習(xí)情況,在計(jì)算思維培養(yǎng)中發(fā)揮著重要作用。過程性考核內(nèi)容包括上機(jī)實(shí)踐、作業(yè)、課堂表現(xiàn)和出勤。上機(jī)實(shí)踐主要考查學(xué)生分析問題和解決問題的能力,占過程性考核的40%,教師根據(jù)學(xué)生完成實(shí)驗(yàn)情況評分,學(xué)生成績乘以上機(jī)實(shí)踐的權(quán)重值得到實(shí)驗(yàn)的最終考核成績。作業(yè)主要是圍繞每章節(jié)的重難點(diǎn)布置,結(jié)合線上一些拓展性的相關(guān)習(xí)題,以此考查學(xué)生的知識應(yīng)用和遷移能力,占過程性考核的30%。課堂表現(xiàn)主要是課上學(xué)生的發(fā)言和提問情況,主要考查學(xué)生思維能力和知識遷移能力,占過程性考核的20%,每個(gè)學(xué)生每學(xué)期至少一次課堂表現(xiàn)的機(jī)會(huì)。出勤主要考查學(xué)生學(xué)習(xí)的主動(dòng)性和積極性,占過程性考核的5%。過程性考核的最終成績由各部分加權(quán)求和得到。期末考核是綜合性考核,主要考查學(xué)生知識的綜合應(yīng)用能力,考核內(nèi)容主要考查基本概念和基本理論,重點(diǎn)考查學(xué)生程序閱讀和編程實(shí)踐能力,題型包括單選題、填空題、程序閱讀題和編程題。最后,通過過程性考核和期末考核量化分值加權(quán)求和得到學(xué)生的綜合測評結(jié)果。因此,這種基于計(jì)算思維的Python課程評價(jià)體系能有效提升學(xué)生的編程能力和計(jì)算思維水平。
4 結(jié)束語
培養(yǎng)學(xué)生的計(jì)算思維能力對于信息時(shí)代至關(guān)重要。本文探討了以計(jì)算思維為導(dǎo)向的Python課程教學(xué)改革,在分析教學(xué)現(xiàn)狀的基礎(chǔ)上,提出了Python課程中計(jì)算思維培養(yǎng)的方法,以及教學(xué)改革的實(shí)施方案。未來研究將進(jìn)一步探索創(chuàng)新教學(xué)模式和評價(jià)機(jī)制,以更好地滿足學(xué)生需求,促進(jìn)計(jì)算思維的全面發(fā)展。
參考文獻(xiàn):
[1] 鄭彩俠,葛瑩瑩,石艷嬌,等.面向計(jì)算思維培養(yǎng)的PBL教學(xué)模式設(shè)計(jì):以模式識別課程為例[J].軟件導(dǎo)刊,2022,21(6):225-229.
[2] 曹蕾,段建顥,王丹丹,等.基于計(jì)算思維能力培養(yǎng)的醫(yī)學(xué)生Python課程設(shè)計(jì)及實(shí)踐[J].計(jì)算機(jī)教育,2020(9):159-162,167.
[3] 王凱麗,陳雪.以計(jì)算思維培養(yǎng)為導(dǎo)向的計(jì)算機(jī)基礎(chǔ)課程教學(xué)模式研究[J].電腦知識與技術(shù),2021,17(13):152-154.
[4] 寧礦鳳,彭浩.基于《大學(xué)計(jì)算機(jī)基礎(chǔ)》課程的計(jì)算思維教學(xué)設(shè)計(jì)[J].產(chǎn)業(yè)與科技論壇,2022,21(14):184-185.
[5] 翟哲,武秀美.計(jì)算思維培養(yǎng)視角下PBOPPSS教學(xué)模式在計(jì)算機(jī)應(yīng)用基礎(chǔ)課程中的應(yīng)用[J].計(jì)算機(jī)教育,2023(9):159-165.
[6] 張樂.案例教學(xué)法在Python語言程序設(shè)計(jì)教學(xué)中的應(yīng)用[J].計(jì)算機(jī)時(shí)代,2021(4):72-75.
[7] 谷長龍,羅娟,李小英.基于混合式教學(xué)的程序設(shè)計(jì)基礎(chǔ)課程改革[J].軟件導(dǎo)刊,2021,20(4):8-12.
[8] 周旭.混合式教學(xué)模式下的“Python程序設(shè)計(jì)基礎(chǔ)” 課程教學(xué)改革探索[J].教育教學(xué)論壇,2023(18):49-52.
【通聯(lián)編輯:王 力】