章蓬偉 賈鈺峰 邵小青 劉生智
(新疆科技學(xué)院信息科學(xué)與工程學(xué)院,新疆 庫爾勒 841000)
Python程序設(shè)計課程是大學(xué)計算機類專業(yè)課,其目的是培養(yǎng)學(xué)生在信息化社會所必需的信息素養(yǎng),及運用信息化技術(shù)解決生產(chǎn)生活實際問題的能力。計算機信息素養(yǎng)日益成為創(chuàng)新能力不可或缺的部分。在信息技術(shù)日新月異、爆炸式發(fā)展的今天,傳統(tǒng)的Python程序設(shè)計課程重在計算機軟件或工具介紹、教授學(xué)生零散的計算機編程知識,難以幫助學(xué)生提升創(chuàng)新能力,無法有效支持計算機類專業(yè)建設(shè),更無法滿足未來大數(shù)據(jù)時代各領(lǐng)域?qū)σ杂嬎隳芰橹蔚膹?fù)合型創(chuàng)新人才的需求。因此,以能力培養(yǎng)為導(dǎo)向,確定本課程的培養(yǎng)目標是“培養(yǎng)學(xué)生的計算思維,以項目驅(qū)動教學(xué),拓寬學(xué)生的知識面,使之掌握基本編程操作技能,提高應(yīng)用能力和創(chuàng)新能力”。
Python程序設(shè)計是計算機類相關(guān)專業(yè)的專業(yè)課程,和C語言、Java相比,Python的優(yōu)勢明顯。Python是一種免費、開源、解釋型的面向?qū)ο蟮母呒墑討B(tài)編程語言。Python語言目前是最接近人類思維的編程語言,可以應(yīng)用于數(shù)據(jù)分析與統(tǒng)計、人工智能、Web開發(fā)、云計算等,能方便進行系統(tǒng)維護與管理,是最受歡迎的編程語言之一。在人工智能領(lǐng)域中機器學(xué)習(xí)、深度學(xué)習(xí)等方面Python應(yīng)用廣泛,是人工智能領(lǐng)域最火的計算機編程語言。
以培養(yǎng)學(xué)生分析問題能力為中心,通過工程實踐項目展開教學(xué)改革真正提高學(xué)生運用計算機分析、解決問題的能力,是高校教師亟須解決的問題。Python程序設(shè)計是新疆科技學(xué)院面向計算機專業(yè)一年級開設(shè)的必修課,總學(xué)時36,理論學(xué)時18,實踐學(xué)時18。
目前的Python程序設(shè)計教學(xué)仍存在一些不盡如人意的地方,主要有以下幾方面:學(xué)生編程水平差異化嚴重,學(xué)生來自全國五湖四海,對Python程序設(shè)計學(xué)習(xí)的興趣兩極分化,計算機和編程水平參差不齊,對課程實踐教學(xué)提出了極大的挑戰(zhàn)。強化理論灌輸、弱化能力培養(yǎng)、教學(xué)手段單一在教學(xué)中仍然采用理論講解—學(xué)生操作—課后練習(xí)的傳統(tǒng)教學(xué)模式,強化知識灌輸,弱化能力培養(yǎng)。沒有有效將課上與課下形成閉環(huán),教學(xué)手段單一,導(dǎo)致學(xué)生實踐環(huán)節(jié)薄弱,不能有效培養(yǎng)學(xué)生發(fā)現(xiàn)問題、分析問題、解決問題的能力。要轉(zhuǎn)變觀念從重學(xué)輕思向?qū)W思結(jié)合轉(zhuǎn)變。學(xué)生對程序設(shè)計課不能機械地記憶,需要不斷地思考創(chuàng)新,從中獲得學(xué)習(xí)的樂趣和成就感。
實踐教學(xué)環(huán)節(jié)流于形式,加之學(xué)生程序設(shè)計的基本功不扎實,久而久之對學(xué)習(xí)編程和思考問題失去興趣。從教學(xué)的角度來看,傳統(tǒng)的教育觀念不是“以學(xué)生為中心”而是“以知識為中心”,這種方法表現(xiàn)為:教師無所不知,是不變真理的化身,學(xué)生一無所知,只能等待教師的“施舍”,被動地接受知識。灌輸式教學(xué)極不利于“以學(xué)生為中心”的成長和發(fā)展,灌輸?shù)闹R越多,學(xué)生越缺乏批判意識、主體精神和創(chuàng)造性的品質(zhì),不利于學(xué)生創(chuàng)新能力培養(yǎng)的教學(xué)方式。面對這些問題,課程組經(jīng)過一年多的教學(xué)反思與總結(jié),對Python程序設(shè)計進行了有效的改革,使Python程序設(shè)計課滿足了新時代對人才培養(yǎng)的要求。
Python語言具有簡潔性、易讀性和可擴展性,只關(guān)注計算問題的解決,是進化最接近自然語言的編程語言,但傳統(tǒng)程序語言設(shè)計都是以教師為中心,學(xué)生被動地接受編程知識,并沒有和教師同頻共振,學(xué)生實踐環(huán)節(jié)不夠,課程理論與實踐的結(jié)合不夠緊密,學(xué)生缺乏主動性等。針對以上問題,經(jīng)過一年的改革與實踐,本文對教學(xué)改革進行了歸納總結(jié)。
本教學(xué)模式以項目驅(qū)動教學(xué)法為主導(dǎo),以計算思維為切入點,用項目將師生的教與學(xué)活動串聯(lián)起來,項目實施完成的過程就是整個教學(xué)過程。模式主要由教師、學(xué)生兩個主體,項目設(shè)計、項目分析、項目實施、總結(jié)評價五個教學(xué)流程構(gòu)成,通過項目串聯(lián)起來組織教學(xué)。具體模式構(gòu)建如圖1所示。
圖1 基于計算思維的項目驅(qū)動教學(xué)模式
教學(xué)內(nèi)容逐步的完成過程中,進行分段、進階式教學(xué)內(nèi)容的設(shè)計。項目驅(qū)動教學(xué)模式是將知識點貫穿到整個項目運作過程中,掌握Python基礎(chǔ),包括基本數(shù)據(jù)類型、組合數(shù)據(jù)類型、控制結(jié)構(gòu)和文件操作;掌握Python進階,能夠應(yīng)用第三方庫解決較復(fù)雜問題。項目完成過程中,學(xué)生也可以提出新的問題進行科學(xué)探究和知識的拓展,真正培養(yǎng)分析、解決問題的能力,進而達到思維能力的培養(yǎng)并切身體會創(chuàng)新實踐的樂趣。通過13個分段進階式項目教學(xué)化難為易、科學(xué)系統(tǒng)的培養(yǎng)學(xué)生計算思維的能力。高級模塊推薦給學(xué)有余力的學(xué)生,包括NumPy、Pandas和Matplotlib等,具體項目方案如表1所示。
表1 基于計算思維的項目進階教學(xué)內(nèi)容設(shè)計
MOOC一般指大型開放式網(wǎng)絡(luò)課程,極大豐富了學(xué)生課上課下的理論學(xué)習(xí)與實踐練習(xí)。Educoder(頭歌)平臺是學(xué)、練、評、測一體化實驗環(huán)境,可以將傳統(tǒng)的知識傳授和工程實戰(zhàn)一體化緊密結(jié)合。使用這兩個平臺互相配合應(yīng)用到項目驅(qū)動教學(xué)的課前、課中和課后3個環(huán)節(jié)。課前教師通過MOOC布置學(xué)生預(yù)習(xí)任務(wù),根據(jù)學(xué)生預(yù)習(xí)情況的數(shù)據(jù)調(diào)整項目驅(qū)動教學(xué)的內(nèi)容。以教學(xué)大綱為依據(jù)為學(xué)生推薦兩門MOOC資源,學(xué)生可以在課前預(yù)習(xí)、課后復(fù)習(xí)。課中教師通過項目驅(qū)動使學(xué)生做中學(xué),項目完成過程中,真正培養(yǎng)分析、解決問題的能力,進而達到思維能力的培養(yǎng)并切身體會創(chuàng)新實踐的樂趣。通過頭歌平臺布置課后實訓(xùn)作業(yè)。頭歌平臺上有實踐課程、實踐項目、課題教學(xué)、案例教學(xué)等模塊,有豐富優(yōu)質(zhì)的教學(xué)內(nèi)容和實踐項目。如國防科技大學(xué)開設(shè)的“大學(xué)計算——基于Python的計算思維與工程實踐能力訓(xùn)練”課程,學(xué)生做題前可以通過任務(wù)要求復(fù)習(xí)一遍相關(guān)知識,通過任務(wù)驅(qū)動通關(guān)式的程序上機實踐。如果過關(guān)會有相應(yīng)金幣的獎勵,則提高了學(xué)生學(xué)習(xí)的主動性和趣味性。課后教師可以通過平臺數(shù)據(jù)分析,針對學(xué)生不同階段的學(xué)習(xí)效果,局部調(diào)整項目驅(qū)動教學(xué)內(nèi)容,對學(xué)生反饋的難點進行針對性的教輔。
傳統(tǒng)應(yīng)試教育單憑期末一次性成績內(nèi)容來決定學(xué)生的成績,忽視學(xué)習(xí)過程,不利于綜合素質(zhì)的提高。過程性考核通過學(xué)生的學(xué)習(xí)情況和階段性學(xué)習(xí)效果,全面考核學(xué)生的學(xué)習(xí)能力、運用能力及創(chuàng)新能力。課程考核采用多元評價體系,最終成績由課前(10%)+課中(45%)+課后(45%)組成。具體標準如表2所示,其中大作業(yè)項目階段考核以小組形式答辯,綜合小組成員自評和對小組成員提問表現(xiàn)。按照一個班級45人的標準,根據(jù)學(xué)生的特長進行團隊劃分。將學(xué)生分成6~7個團隊,每個團隊在7~8人,然后推薦一名隊長。根據(jù)學(xué)生在分組答辯階段性大作業(yè)系統(tǒng)設(shè)計中的貢獻率和Python語言掌握情況給予客觀的綜合成績。這樣既考核學(xué)生的理論知識又考察培養(yǎng)其思維能力,并且將考核貫穿整個學(xué)期,促進了學(xué)生自主學(xué)習(xí),提高了計算思維的能力。課后階段性PTA測試能檢測學(xué)生對Python編程語言的掌握情況。學(xué)生學(xué)習(xí)成果的評價方式,不能再是以最終成績一刀切來決定,要明確學(xué)習(xí)成果的類型,強調(diào)多元過程性考評,通過這種考核方案有助于進一步提高學(xué)生學(xué)習(xí)的積極性,激發(fā)創(chuàng)新熱情,全面提升教學(xué)質(zhì)量。
表2 課程考核采用多元評價過程性考核體系
本文根據(jù)Python語言的特點,提出了Python編程與實踐課程教學(xué)模式,采用以學(xué)生為主體、教師為主導(dǎo),以計算思維為切入點項目驅(qū)動式教學(xué)、因材施教多級任務(wù)規(guī)劃的衍生進階教學(xué)、采用多元評價過程性考核體系線上線下混合教學(xué)模式。不僅激發(fā)了學(xué)生的學(xué)習(xí)興趣,同時提高了學(xué)生發(fā)現(xiàn)問題、解決問題和創(chuàng)新的能力,為高質(zhì)量的人才培養(yǎng)探索提供了有效的解決途徑。