黃天羽+嵩天
摘 要:針對(duì)目前程序設(shè)計(jì)課程的教學(xué)狀況,分析學(xué)生在程序設(shè)計(jì)課程入門(mén)學(xué)習(xí)中的困惑,探討將現(xiàn)有程序設(shè)計(jì)課程案例與圖形相結(jié)合,提出“圖形牽引興趣,開(kāi)展Python案例教學(xué)”的觀點(diǎn),并給出圖形化入門(mén)程序案例、圖形化程序結(jié)構(gòu)案例、圖形化數(shù)據(jù)結(jié)構(gòu)案例、實(shí)際問(wèn)題應(yīng)用等,在程序設(shè)計(jì)入門(mén)教學(xué)過(guò)程中通過(guò)圖形實(shí)現(xiàn)計(jì)算問(wèn)題求解過(guò)程或結(jié)果呈現(xiàn)的多樣化、可視化,以達(dá)到提高學(xué)生程序設(shè)計(jì)學(xué)習(xí)興趣和培養(yǎng)現(xiàn)代計(jì)算思維的目的。
關(guān)鍵詞: Python程序設(shè)計(jì);圖形教學(xué);興趣牽引;案例教學(xué)
0 引 言
Python語(yǔ)言是目前最接近自然語(yǔ)言的通用編程語(yǔ)言,它是程序設(shè)計(jì)課程教學(xué)改革的理想選擇,是理解計(jì)算思維時(shí)代性的重要體現(xiàn)[1]。程序設(shè)計(jì)課程教學(xué)改革不僅僅是選擇一種語(yǔ)言,更應(yīng)該是建立一種易于理解、提升興趣的教學(xué)形式。在教學(xué)方法層次上,教師應(yīng)重視圖形的作用[2]。我們生活在一個(gè)豐富多彩的圖形世界里,學(xué)會(huì)利用圖形分析和解決問(wèn)題,既是現(xiàn)實(shí)生活的需要,又是圖形編程的重要內(nèi)容。在教學(xué)中,用圖形的可視化手段輔助解決計(jì)算問(wèn)題,在提升學(xué)生學(xué)習(xí)興趣的同時(shí),又有助于解決學(xué)習(xí)、生活及生產(chǎn)中的問(wèn)題。
計(jì)算機(jī)顯示技術(shù)給人們的生活帶來(lái)了巨大改變。計(jì)算機(jī)用戶(hù)接口的人機(jī)方式由最初穿孔紙帶,經(jīng)歷了字符顯示、文字顯示、圖形/圖像、視頻/多媒體,發(fā)展到今天全方位感知的虛擬現(xiàn)實(shí)技術(shù)。與此形成鮮明對(duì)比的是,當(dāng)前程序設(shè)計(jì)語(yǔ)言教學(xué)案例依然沿用基于字符的人機(jī)接口。
Python語(yǔ)言提供了豐富的圖形計(jì)算生態(tài)環(huán)境,借助第三方庫(kù)可以方便地實(shí)現(xiàn)圖形繪制、數(shù)據(jù)可視化、用戶(hù)界面以及復(fù)雜的圖形應(yīng)用[3]。在Python教學(xué)中引入圖形化手段[4],實(shí)現(xiàn)計(jì)算問(wèn)題求解過(guò)程或結(jié)果呈現(xiàn)的多樣化、可視化,可以達(dá)到增強(qiáng)學(xué)生程序設(shè)計(jì)學(xué)習(xí)興趣、引導(dǎo)學(xué)生建立學(xué)習(xí)自信、培養(yǎng)學(xué)生現(xiàn)代計(jì)算思維的目的。
1 當(dāng)前程序設(shè)計(jì)語(yǔ)言教學(xué)現(xiàn)狀
自程序設(shè)計(jì)語(yǔ)言課程在我國(guó)高校開(kāi)設(shè)以來(lái),一直沿用以求解數(shù)學(xué)類(lèi)問(wèn)題為主的教學(xué)案例主線,典型例子如下。
(1)星號(hào)問(wèn)題。編寫(xiě)程序,輸出由星號(hào)(*)組成的菱形。
(2)溫度轉(zhuǎn)換問(wèn)題。編寫(xiě)程序,轉(zhuǎn)換攝氏溫度為華氏溫度,轉(zhuǎn)換公式為C=(5/9)(F-32),其中,C表示攝氏溫度,F(xiàn)表示華氏溫度。
求解這些問(wèn)題的共同點(diǎn)是對(duì)簡(jiǎn)單數(shù)學(xué)公式進(jìn)行編程并計(jì)算結(jié)果。翻譯成程序設(shè)計(jì)語(yǔ)言即通過(guò)定義合適的數(shù)學(xué)變量,建立數(shù)學(xué)表達(dá)式,將結(jié)果賦值給變量,最終輸出計(jì)算結(jié)果。對(duì)于剛剛接觸程序設(shè)計(jì)的學(xué)生來(lái)說(shuō),程序設(shè)計(jì)語(yǔ)言是一種全新的思維訓(xùn)練,也是計(jì)算思維習(xí)慣的培養(yǎng)過(guò)程。然而,枯燥的程序設(shè)計(jì)語(yǔ)言語(yǔ)法學(xué)習(xí)和單一形式的問(wèn)題求解實(shí)踐降低了學(xué)生的學(xué)習(xí)興趣,并使得他們對(duì)程序設(shè)計(jì)產(chǎn)生了理想和現(xiàn)實(shí)差距的困惑。這些困惑反映了當(dāng)前程序設(shè)計(jì)教學(xué)案例已經(jīng)遠(yuǎn)離學(xué)生實(shí)際生活的事實(shí)。
2 以圖形牽引興趣
圖形讓現(xiàn)實(shí)生活變得豐富多彩。在教學(xué)中,用圖形的可視化手段輔助解決計(jì)算問(wèn)題,在提高學(xué)生學(xué)習(xí)興趣的同時(shí),又有助于解決學(xué)習(xí)、生活及生產(chǎn)中的問(wèn)題。
2.1 教學(xué)案例的字符化與圖形化對(duì)比
針對(duì)前文中的典型程序問(wèn)題,在Python語(yǔ)言教學(xué)過(guò)程中,可以通過(guò)圖形化設(shè)計(jì)將計(jì)算過(guò)程和結(jié)果以直觀的可視化形式展示出來(lái),其設(shè)計(jì)結(jié)果如圖1和圖2所示。將其與傳統(tǒng)教學(xué)的輸入輸出設(shè)計(jì)相比,圖形化的輸入輸出具有更好的理解性和直觀性,同時(shí)對(duì)學(xué)生的學(xué)習(xí)興趣也起到有益的引導(dǎo)作用。
在圖1所示的星號(hào)問(wèn)題案例中,主要考查學(xué)生對(duì)循環(huán)結(jié)構(gòu)的理解以及輸入邊界條件的驗(yàn)證。雖然以星號(hào)排列組成的求解結(jié)果形式屬于圖形化的范疇,如圖1(a)所示,但黑白顏色和“*”字符輸出會(huì)讓學(xué)生對(duì)圖形理解產(chǎn)生障礙;而圖1(b)所示的結(jié)果不僅在顏色上有豐富的變化,同時(shí)能更直觀、更形象地幫助學(xué)生理解通過(guò)輸入n值獲得3~n邊形的循環(huán)結(jié)構(gòu)問(wèn)題。
在圖2所示的溫度轉(zhuǎn)換問(wèn)題案例中,需要讓學(xué)生實(shí)踐C=(5/9)(F-32)數(shù)學(xué)公式的計(jì)算。圖2(a)展示了以英文句子作為提示的輸入方式;圖2(b)給出了基于對(duì)話框的用戶(hù)交互界面,在輸入框中輸入攝氏溫度C值,在對(duì)話框中輸出數(shù)值型華氏溫度F值,同時(shí)對(duì)話框背景色根據(jù)當(dāng)前溫度的高低給出不同顏色暗示,第1張圖表示溫度越低,第3張圖表示溫度越高。圖2(b)的圖形化結(jié)果較圖2(a)更加直觀且考核了分支結(jié)構(gòu)。這種運(yùn)用色彩的方式使學(xué)生自身能產(chǎn)生與顏色值類(lèi)似的感受,更貼近生活實(shí)際,與學(xué)生“學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言,解決身邊計(jì)算問(wèn)題”的初衷一致。
2.2 Python的圖形計(jì)算生態(tài)
Python語(yǔ)言具有開(kāi)源、跨平臺(tái)、腳本執(zhí)行、通用等若干特點(diǎn),1991年正式發(fā)布至今26年,迅速發(fā)展且得到普及和廣泛應(yīng)用。Python語(yǔ)言的開(kāi)源思想深入發(fā)展,已構(gòu)建了龐大的計(jì)算生態(tài)。目前,Pyton語(yǔ)言形成了約10萬(wàn)多個(gè)以開(kāi)源項(xiàng)目為代表的第三方庫(kù),在圖形和可視化領(lǐng)域也形成了龐大的生態(tài)社區(qū),如Enthought公司提供了豐富的第三方圖形庫(kù),Enthought社區(qū)也成為典型的圖形計(jì)算生態(tài)圈。
Python語(yǔ)言的第三方圖形庫(kù)可以分為簡(jiǎn)單平面繪圖庫(kù)、GUI圖形用戶(hù)界面庫(kù)、數(shù)據(jù)可視化庫(kù)、圖形/圖像/多媒體庫(kù)等幾類(lèi),見(jiàn)表1。
2.3 教學(xué)案例的圖形化設(shè)計(jì)
程序設(shè)計(jì)語(yǔ)言教學(xué)案例的圖形設(shè)計(jì)不僅需要考慮程序設(shè)計(jì)結(jié)構(gòu)的展示,還需要在求解問(wèn)題的過(guò)程中引入圖形化設(shè)計(jì)方法,輔助問(wèn)題求解,更大限度地提高學(xué)生學(xué)習(xí)興趣。圖形化設(shè)計(jì)可考慮從以下4個(gè)方面展開(kāi)。
1)計(jì)算問(wèn)題求解結(jié)果呈現(xiàn)的多樣化、可視化。
2.1節(jié)分別針對(duì)星號(hào)問(wèn)題和溫度轉(zhuǎn)換問(wèn)題開(kāi)展了求解結(jié)果的圖形化設(shè)計(jì),求解結(jié)果直觀生動(dòng)、形式多樣化。對(duì)于傳統(tǒng)程序設(shè)計(jì)案例,可以通過(guò)Python語(yǔ)言第三方庫(kù)改造,實(shí)現(xiàn)可視化展現(xiàn)。Python語(yǔ)言第三方庫(kù)使用簡(jiǎn)單,案例中不應(yīng)回避圖形繪制,應(yīng)盡可能利用圖形化手段豐富求解結(jié)果的呈現(xiàn)效果。
2)程序設(shè)計(jì)教學(xué)與圖形的結(jié)合。
程序設(shè)計(jì)語(yǔ)言的語(yǔ)法和程序結(jié)構(gòu)是程序設(shè)計(jì)入門(mén)課程的學(xué)習(xí)重點(diǎn)。Python語(yǔ)言是一種重問(wèn)題求解、輕語(yǔ)法的程序設(shè)計(jì)語(yǔ)言,其初衷是將程序員的主要精力放在問(wèn)題求解上,因此,為了實(shí)現(xiàn)圖形牽引興趣的Python學(xué)習(xí),應(yīng)將程序設(shè)計(jì)教學(xué)的全部?jī)?nèi)容與圖形相結(jié)合,包括程序設(shè)計(jì)結(jié)構(gòu)、程序數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計(jì)等。
3)引入圖形用以直觀展示問(wèn)題的求解過(guò)程。
很多實(shí)際問(wèn)題在抽象成計(jì)算問(wèn)題的過(guò)程中,會(huì)逐漸丟失直觀的信息成分。通常數(shù)學(xué)問(wèn)題的求解都是以理論推導(dǎo)為基礎(chǔ),相對(duì)于可視化而言,其求解過(guò)程枯燥、非直觀,如遞歸類(lèi)問(wèn)題。通過(guò)引入圖形手段,可以直觀展示遞歸嵌套的逐級(jí)求解過(guò)程,這將幫助學(xué)生直觀理解遞歸原理和具體運(yùn)行過(guò)程。
4)實(shí)際問(wèn)題應(yīng)用的豐富多彩。
在個(gè)人計(jì)算機(jī)上運(yùn)行的90%應(yīng)用程序都具有豐富的可視化形象,一方面,體現(xiàn)在絕大多數(shù)應(yīng)用軟件都有美觀的圖形用戶(hù)接口GUI,即軟件界面;另一方面,很多實(shí)際問(wèn)題的應(yīng)用是基于計(jì)算機(jī)圖形技術(shù)生成的,如圖形藝術(shù)、圖像處理、游戲設(shè)計(jì)開(kāi)發(fā)、3D應(yīng)用等。在信息類(lèi)相關(guān)專(zhuān)業(yè)開(kāi)展程序設(shè)計(jì)高級(jí)進(jìn)階課程教學(xué)時(shí),應(yīng)及時(shí)引入圖形化編程,以完善程序設(shè)計(jì)的知識(shí)體系。
3 程序設(shè)計(jì)課程入門(mén)實(shí)例
3.1 開(kāi)展圖形教學(xué)可能產(chǎn)生的困惑
改變傳統(tǒng)的程序設(shè)計(jì)教學(xué)案例,開(kāi)展基于圖形的程序設(shè)計(jì)案例教學(xué),可能會(huì)給教師和學(xué)生帶來(lái)以下困惑。
(1)初學(xué)程序設(shè)計(jì)的學(xué)生是否真的理解圖形概念?調(diào)查表明,學(xué)生認(rèn)為圖形的人機(jī)交互方式遠(yuǎn)比命令行方式更好理解,因此圖形將成為程序設(shè)計(jì)學(xué)習(xí)的輔助工具。
(2)使用Pyhon圖形庫(kù)需要多少程序設(shè)計(jì)功底?能否在入門(mén)課程中使用?Python語(yǔ)言的圖形計(jì)算生態(tài)不僅提供了專(zhuān)業(yè)的第三方圖形庫(kù),還提供了適用于入門(mén)學(xué)習(xí)者的第三方圖形庫(kù),這使得編寫(xiě)Python圖形程序非常簡(jiǎn)單,對(duì)于零基礎(chǔ)入門(mén)學(xué)習(xí)者來(lái)說(shuō)并不存在障礙。
(3)圖形是Python可選的教學(xué)內(nèi)容,還是必選的教學(xué)內(nèi)容?沒(méi)有圖形支持的程序只能基于數(shù)字或字符,在計(jì)算機(jī)圖形學(xué)和顯示效果十分發(fā)達(dá)的今天,這種學(xué)習(xí)體驗(yàn)非常不利于學(xué)生保持學(xué)習(xí)興趣。對(duì)于初學(xué)者來(lái)說(shuō),圖形不僅是Python語(yǔ)言必選的教學(xué)內(nèi)容,還是必不可少的教學(xué)手段。
3.2 第一個(gè)圖形入門(mén)程序設(shè)計(jì)
我們通過(guò)引入第一個(gè)圖形入門(mén)程序設(shè)計(jì)案例,分析圖形對(duì)入門(mén)者的學(xué)習(xí)興趣牽引作用。通常,程序設(shè)計(jì)語(yǔ)言教學(xué)的第一個(gè)入門(mén)案例都為“Hello World”,該案例通過(guò)執(zhí)行輸出語(yǔ)句,可以實(shí)現(xiàn)一個(gè)簡(jiǎn)單的計(jì)算機(jī)程序。然而,在調(diào)查中發(fā)現(xiàn),完成這樣的程序編寫(xiě)并不能給初學(xué)者帶來(lái)成就感和學(xué)習(xí)信心,或者說(shuō)從入門(mén)學(xué)習(xí)的興趣牽引角度上來(lái)說(shuō),效果并不明顯。
在教學(xué)實(shí)踐中,設(shè)計(jì)了以Python(英文釋義蟒蛇)為主題的小蛇繪制案例snake.py。該案例基于Python內(nèi)嵌的Turtle庫(kù),在圖形窗口中繪制了一條彎曲的蟒蛇,程序繪制結(jié)果如圖3所示。Python的程序代碼如下:
#snake.py
import turtle #引入turtle庫(kù)
def drawSnake(rad, angle, len, neckrad): #繪制小蛇函數(shù)
for i in range(len): #繪制小蛇身體彎曲的周期數(shù)
turtle.circle(rad, angle) #繪制正半圓
turtle.circle(-rad, angle) #繪制負(fù)半圓
turtle.circle(rad, angle/2) #繪制小蛇的脖子
turtle.fd(rad)
turtle.circle(neckrad+1, 180)
turtle.fd(rad*2/3)
turtle.setup(1300, 800, 0, 0) #建立窗框
pythonsize = 30 #設(shè)置畫(huà)筆變量
turtle.pensize(pythonsize) #設(shè)置畫(huà)筆粗細(xì)
turtle.pencolor("blue") #設(shè)置畫(huà)筆顏色
turtle.seth(-40) #設(shè)置前進(jìn)的朝向
drawSnake(40, 80, 5, pythonsize/2) #調(diào)用小蛇繪制函數(shù)
snake程序案例體現(xiàn)了較多程序設(shè)計(jì)元素,如第三方庫(kù)的引用、變量定義、表達(dá)式、函數(shù)定義、循環(huán)結(jié)構(gòu)等;同時(shí),該程序還包含Python Turtle庫(kù)的若干函數(shù)。在實(shí)踐中,初學(xué)者并沒(méi)有因?yàn)槌瓕?xiě)15行陌生代碼而退縮,正是由于Python語(yǔ)言重問(wèn)題求解、輕語(yǔ)法的特點(diǎn),學(xué)生更關(guān)注如何繪制出一條小蛇,而非每一個(gè)語(yǔ)句的語(yǔ)法。在完成代碼抄寫(xiě)并成功運(yùn)行程序的情況下,95%以上的學(xué)生認(rèn)為通過(guò)編寫(xiě)代碼繪制出一條生動(dòng)的小蛇“有趣”“有成就感”,78%以上的學(xué)生認(rèn)為自己對(duì)學(xué)好程序設(shè)計(jì)語(yǔ)言課程“有信心”。
在該程序中引入的Turtle庫(kù)是一個(gè)適用于初學(xué)者的繪圖庫(kù),通過(guò)模擬烏龜爬行釋義實(shí)現(xiàn)圖形的繪制,如turtle.fd()是沿著當(dāng)前方向爬行/繪制一定長(zhǎng)度的直線,trutle.pensize()是設(shè)置爬行/繪制路徑的寬度。
4 開(kāi)展Python圖形案例教學(xué)
為了進(jìn)一步探討圖形與程序設(shè)計(jì)語(yǔ)言教學(xué)的結(jié)合,我們針對(duì)程序設(shè)計(jì)結(jié)構(gòu)、文件、字典和遞歸開(kāi)展Python圖形案例教學(xué)的設(shè)計(jì)。由于Turtle圖形庫(kù)易于理解,本節(jié)案例均基于Turtle庫(kù)實(shí)現(xiàn)圖形可視化,源程序可參考中國(guó)大學(xué)MOOC“Python語(yǔ)言程序設(shè)計(jì)”課程在線資源[5]。
4.1 圖形與程序設(shè)計(jì)結(jié)構(gòu)
程序設(shè)計(jì)的基本結(jié)構(gòu)是程序設(shè)計(jì)語(yǔ)言教學(xué)的重要內(nèi)容。結(jié)構(gòu)化的程序設(shè)計(jì)提出了程序的3種基本結(jié)構(gòu),即順序、循環(huán)和選擇,它們控制了算法一系列操作的執(zhí)行次序。在圖形化程序設(shè)計(jì)結(jié)構(gòu)中,教師可設(shè)計(jì)這樣的案例:“編寫(xiě)程序,應(yīng)用順序、循環(huán)和選擇3種程序基本結(jié)構(gòu),實(shí)現(xiàn)多邊形繪制”。順序、循環(huán)和選擇3種結(jié)構(gòu)的程序主要代碼片段如下:
在程序?qū)崿F(xiàn)上,通過(guò)順序調(diào)用Turtle庫(kù)中函數(shù)penup()、goto()、pendown()、circle()依次實(shí)現(xiàn)多邊形的繪制,程序執(zhí)行效果如圖4(a)所示;通過(guò)循環(huán)結(jié)構(gòu),設(shè)置goto()和circle()函數(shù)的參數(shù)為循環(huán)變量,實(shí)現(xiàn)多邊形的循環(huán)繪制;通過(guò)選擇結(jié)構(gòu),根據(jù)輸入的選擇參數(shù)shape,有選擇地進(jìn)入不同的分支語(yǔ)句,執(zhí)行多邊形繪制。進(jìn)一步,通過(guò)設(shè)置turtle的begin_fill()、pencolor()、end_fill()函數(shù),可以為繪制的多邊形填充顏色,程序執(zhí)行效果如圖4(b)所示,可使得圖形結(jié)果更加生動(dòng)、鮮明。該案例的設(shè)計(jì)可以讓學(xué)生直觀理解3種程序結(jié)構(gòu)。
4.2 圖形與文件
文件操作是程序設(shè)計(jì)入門(mén)課程的重要內(nèi)容之一。圖形化文件操作實(shí)例設(shè)計(jì)如下:讀取文件data.txt數(shù)據(jù),繪制數(shù)據(jù)形成的圖形路徑。圖5(a)給出了文件data.txt示意,文件中第1行第1列數(shù)據(jù)300表示向當(dāng)前方向前進(jìn)300個(gè)像素,第2列數(shù)據(jù)0表示向左轉(zhuǎn),1則表示向右轉(zhuǎn),第3列數(shù)據(jù)144表示轉(zhuǎn)動(dòng)的144度角,第4、5、6列數(shù)據(jù)(1,0,0)表示當(dāng)前繪制路徑的顏色RGB值。根據(jù)該數(shù)據(jù)文件,可以動(dòng)態(tài)地繪制出路徑圖形,如圖5(b)所示。這是典型的基于文件數(shù)據(jù)驅(qū)動(dòng)應(yīng)用案例,是工程數(shù)據(jù)可視化、視頻文件播放器等應(yīng)用的極簡(jiǎn)設(shè)計(jì)。該案例不僅可以讓學(xué)生練習(xí)文件讀取操作,還有助于學(xué)生理解基于數(shù)據(jù)驅(qū)動(dòng)應(yīng)用的實(shí)現(xiàn)原理。
4.3 圖形與遞歸
遞歸是程序算法教學(xué)中重要的知識(shí)點(diǎn),對(duì)程序入門(mén)學(xué)習(xí)者來(lái)說(shuō),遞歸概念抽象不好理解,采用可視化手段,求解過(guò)程就變得直觀易懂。例如,遞歸案例“編寫(xiě)程序,運(yùn)用遞歸方法繪制一棵樹(shù)”,其程序執(zhí)行結(jié)果如圖6所示,利用Turtle的動(dòng)態(tài)繪制機(jī)制,遞歸調(diào)用過(guò)程一目了然。
4.4 圖形與字典
字典是Python語(yǔ)言特有的高級(jí)數(shù)據(jù)結(jié)構(gòu),是非序列集合而提供的一種數(shù)據(jù)類(lèi)型。字典學(xué)習(xí)的經(jīng)典程序案例是詞頻統(tǒng)計(jì),通過(guò)圖形化設(shè)計(jì)改造,教學(xué)案例設(shè)計(jì)為“讀取一篇英文文章,統(tǒng)計(jì)文章中每個(gè)單詞的出現(xiàn)頻率,并以柱狀圖輸出出現(xiàn)次數(shù)最多的10個(gè)英文單詞”。程序執(zhí)行結(jié)果如圖7所示,與文字輸出的結(jié)果形式相比,該圖呈現(xiàn)效果更為直觀。
4.5 豐富多彩的Python庫(kù)解決實(shí)際問(wèn)題
應(yīng)用Python第三方圖形庫(kù)可以解決諸多實(shí)際問(wèn)題,如圖像處理、數(shù)據(jù)分析與展示、科學(xué)計(jì)算三維可視化、三維掃描數(shù)據(jù)處理、物理光照和全局光照、真實(shí)感圖形繪制、視景仿真、及時(shí)戰(zhàn)略游戲、FPS游戲、軍事仿真應(yīng)用等。
5 結(jié) 語(yǔ)
基于Python圖形計(jì)算生態(tài),我們提出了“圖形牽引興趣,開(kāi)展Python案例教學(xué)”的教學(xué)觀點(diǎn),通過(guò)實(shí)現(xiàn)計(jì)算問(wèn)題求解過(guò)程和結(jié)果呈現(xiàn)的多樣化、可視化,將圖形化教學(xué)案例設(shè)計(jì)思想引入第一門(mén)程序設(shè)計(jì)課程。實(shí)踐表明,經(jīng)該方法改造后的案例可以有效提升并使學(xué)生保持較高的學(xué)習(xí)熱情、建立學(xué)習(xí)自信,達(dá)到進(jìn)一步培養(yǎng)計(jì)算思維的目的。上述教學(xué)理念在北京理工大學(xué)7次課堂教學(xué)實(shí)踐和中國(guó)大學(xué)MOOC多次在線課程教學(xué)實(shí)踐中運(yùn)用,取得了良好的教學(xué)效果。
參考文獻(xiàn):
[1] 嵩天, 黃天羽, 禮欣. Python語(yǔ)言: 程序設(shè)計(jì)課程教學(xué)改革的理想選擇[J]. 中國(guó)大學(xué)教學(xué), 2016(2): 42-47.
[2] 百度文庫(kù). 重視圖形的作用[EB/OL]. (2014-12-22)[2017-06-20]. https://wenku.baidu.com/view/6e69ae188e9951e79b89278d.html.
[3] 中國(guó)大學(xué)MOOC. Python科學(xué)計(jì)算三維可視化[EB/OL]. [2017-06-20]. http://www.icourse163.org/course/BIT-1001871001.
[4] 嵩天, 禮欣, 黃天羽. Python語(yǔ)言程序設(shè)計(jì)基礎(chǔ)[M]. 2版. 北京: 高等教育出版社, 2017: 46-55.
[5] 中國(guó)大學(xué)MOOC. Python語(yǔ)言程序設(shè)計(jì)[EB/OL]. [2017-06-20]. http://www.icourse163.org/course/BIT-268001.
[6] Mayavi. 3D scientific data visualization and plotting in Python[EB/OL]. [2017-06-20]. http://docs.enthought.com/mayavi/mayavi/.
(編輯:宋文婷)