孫新杰 李惠 龍尚銀 孫國營



摘要:計算思維的培養對于現代大學生至關重要,Python作為非計算機專業的學生踏入計算機編程行業的一個敲門磚顯得非常適合,該文分別從數學和美術兩個非計算機專業為入口,介紹了Python教學的課程設計及教學方法,通過實踐驗證該方式得到了良好的效果,為非計算機專業的計算思維教學改革提供參考。
關鍵詞:計算思維;Python;非計算機專業;課程設計
中圖分類號:G642? ? ? ?文獻標識碼:A
文章編號:1009-3044(2021)28-0234-03
開放科學(資源服務)標識碼(OSID):
1 引言
隨著人工智能行業及大數據分析的熱度不斷攀升,Python語言作為一種功能強大的計算機語言也迎來了它的春天。高校也在不斷地修訂自己的人才培養模式,無論哪種專業的學生適當地進行計算思維的培養都有利于該專業學生更好地適應未來的發展[1]。
Python語言本身的天然優勢,使它能夠快速融入其他行業,不僅是計算機專業人員能夠快速的學會Python,非計算機專業的學生對Python也是能夠很快上手,并且快速地在本專業進行應用。六盤水師范學院非計算機專業大學計算機基礎實驗課程中加入部分Python語言的教學,取得了學生的高度認可,不僅使學生學習計算機基礎的實用性大大得到提升,更使得學生能夠通過Python的學習掌握本專業與計算機融合的一個切入點。本文就數學和美術兩個非計算機專業來探討將Python融入課程的教學設計。
2 Python教學課程設計與教學方法
2.1 Python教學基礎課程設計
Python語言本身包羅萬象,針對不同行業有它特殊的函數庫支撐,可以這樣說,Python是一門萬金油,可以在任何行業發光發熱[2]。作為一門通用性很高的語言,要想完全掌握Python的全部技能是萬萬做不到的,也是不可能同時也是沒必要實現的,針對不同行業除了掌握基礎的Python技巧之外,就是研究和本專業相關的一些函數的使用,即可快速上手達到專業融合。但是無論哪些行業使用Python來和自己的專業進行融合,一些Python基礎技巧是必須掌握的,下面就Python一些基礎核心內容進行介紹。
Python使用的基礎性要求有:掌握Python軟件的安裝與環境的配置,本文推薦使用Anaconda軟件進行一些常用環境的配置,簡單高效;基本數據結構、列表、容器、集合、控制語句以及循環的簡單應用。
2.2 Python課程教學的教學方法
無論是針對計算機專業學生還是非計算機專業的學生,學習計算機語言都應該是以應用為首要目的,著重培養學生使用計算機語言解決實際問題的能力[3]。
隨著國家實力的不斷提升,大學的硬件基礎也得到了很大的改善,針對六盤水師范學院的學生來說無論是計算機專業學生還是非計算機專業學生都能夠保證學習計算機類課程的時候一生一機,這樣能夠很大的改觀一些傳統的計算機語言教學模式即“教”“練”分開,現在完全可以做到“教”“練”一體,老師邊講解,學生邊練習,達到及時的所見即所得的效果。同時建議在進行Python教學的同時放棄傳統的PPT授課模式,使用Anaconda中的jupyter notebook進行授課,該軟件可以達到很好的“教”“練”融合,如圖1所示。
另外常用的計算機語言采用的教學方法多為講授法,并且大部分都在講解計算機語言中的語法。對于課時量不是很充足的大學計算機基礎實驗中引入部分和專業相關的Python內容進行教學,該方法顯得不切合實際,需要從教學方法上面進行一些改進。通過對兩個專業的實踐來看,改進的案例教學法是最適合非計算機專業學生學習計算機語言的最好方法。
改進之后的案例教學不能只講案例,由于大部分非計算機專業學生對于計算機語言都是零基礎,需要在選擇好的案例上面引入基礎的計算機語法并結合該專業的應用場景加以講解。比如在對數學專業進行授課的時候,根據數學專業的對于函數的理解比較深入,這里通過講解和決策相關的一些算法,分別從參數、基礎數據結構、循環以及輸出等方面進行了案例的介紹,并且通過逐步實現該案例穿插講解了各種針對數學與計算機結合需要掌握的一些基礎語法;再比如在對美術專業進行授課的過程中,由于藝術類學生對于計算機語言更加不敏感,他們對計算機輔助美術也沒有很深入的認識,更多的時候是使用計算機進行PS的設計功能,如何能夠讓這些藝術類的學生產生一些興趣,本文結合實踐經驗發現讓美術專業的學生使用Python里面的畫圖案列,可以很快地和他們的專業相結合,并能夠最大程度地激發他們的學習興趣。
除了課堂上面的案例教學以外,還需要針對課堂教學進行對應的課后練習案例升級教學。針對數學專業的課后練習可以是經典算法的計算機編程實現,如累加和算法,排序算法,階乘算法等。對于美術專業的課后練習可以使用計算機編程實現正方體、玫瑰花等常見圖形的畫法。
2.3 Python輔助數學專業的教學課程設計
數學專業的學生有著其他專業沒有的數學思維能力,算法能力等,但是隨著社會的發展,特別是互聯網行業在國內取得了舉足輕重的地位,傳統數學一些模式也受到了沖擊,大部分學生可以針對某個問題進行算法的設計,但是不能夠通過數據驗證該算法的合理性與正確性,特別是大數據行業的興起,更是對算法提出了需要落地使用的要求。通過在大學計算機基礎實驗課程中加入部分和算法相關的Python知識,同學們都能夠快速地掌握語言的特點并能夠把算法進行計算機語言化,Python融入數學專業的課程設計如圖2所示,主要涉及Python基礎、Python數學函數庫的講解、Python基本數據結構的講解便于存儲數據,Python算法思維的講解便于學生從宏觀的算法到計算機語言實現的鴻溝跨越。
通過設計合適的針對數學專業的個性化教學內容,能夠使得學生快速掌握Python的技巧,以及使用Python解決自己專業的問題。通過對數學專業學生的不同案例訓練,最終所有學生都能夠很好地完成如公式1到公式5這種復雜的算法思想的計算機程序化,使得同學們無論在以后的專業學習過程中,還是可能從事的科研工作,都能起到積極的作用。
1.設[a=[al,au]],[b=[bl,bu]],稱
[d(a,b)=ε1a1-bl1+al-bl+ε2au-bu1+au-bu]? ? ? ? (1)
2.權重公式編寫
[ρa,b=α-alal+bllog2alal+bl+-blal+bllog2blal+bl]
[+β -a?la?l+b?llog2a?la?l+b?l+-b?la?l+b?llog2b?la?l+b?l]
[+γ-a?ua?u+b?ulog2a?ua?u+b?u+-b?ua?u+b?ulog2b?ua?u+b?u]
[+δ -auau+bulog2auau+bu+-buau+bulog2buau+bu]
[Hj=β-1log2mi=1ma?liji=1ma?lijlog2a?liji=1ma?lij][+γ-1log2mi=1ma?uiji=1ma?uijlog2a?uiji=1ma?uij]
[+1-β-γ -1log2mi=1msiji=1msijlog2siji=1msij],[j=1,2,…,n]? ? ? ? ? ? ? ?(2)
其中:
[ρd+ij=α -rlijrlij+rl+ijlog2rlijrlij+rl+ij+-rl+ijrlij+rl+ijlog2rl+ijrlij+rl+ij]
[+β -r?lijr?lij+r?l+ijlog2r?lijr?lij+r?l+ij+-r?l+ijr?lij+r?l+ijlog2r?l+ijr?lij+r?l+ij]
[+γ -r?uijr?uij+r?u+ijlog2r?uijr?uij+r?u+ij+-r?u+ijr?uij+r?u+ijlog2r?u+ijr?uij+r?u+ij]
[+δ -ruijruij+ru+ijlog2ruijruij+ru+ij+-ru+ijruij+ru+ijlog2ru+ijruij+ru+ij]? ? ? ? ? ? (3)
負理想方案的距離熵
[ρ-i=j=1nωjρd-ij]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (4)
其中:
[ρd-ij=α -rlijrlij+rl-ijlog2rlijrlij+rl-ij+-rl-ijrlij+rl-ijlog2rl-ijrlij+rl-ij]
[+β -r?lijr?lij+r?l-ijlog2r?lijr?lij+r?l-ij+-r?l-ijr?lij+r?l-ijlog2r?l-ijr?lij+r?l-ij]
[+γ -r?uijr?uij+r?-ijlog2r?uijr?uij+r?u-ij+-r?u+ijr?uij+r?u-ijlog2r?u+ijr?uij+r?u-ij]
[+δ -ruijruij+ru-ijlog2ruijruij+ru-ij+-ru-ijruij+ru-ijlog2ru-ijruij+ru-ij]? ? ? (5)
2.4 Python輔助美術專業的課程設計
美術專業的學生對于理科思維模式特別是計算思維本身就具有很大的排斥,如何讓美術專業的學生感受到學習Python對于自己的專業及以后可能從事的專業有幫助顯得更加困難。對于該專業的學生來說,通過實踐發現選擇更具有針對性的Python畫圖對于他們的興趣提升起到很大的作用。通過講授畫圖發現,美術專業的學生對畫圖方式創造能力遠遠高于從事計算機專業的老師,學生只要掌握了基礎的Python語言繪圖方法,再加上自身美術專業的功底,學生很快就能夠畫出各式各樣的栩栩如生的圖片或動畫,并且同一張圖實現的方式多姿多彩,這樣大大提升了學生的能力,為以后即將從事的行業與計算機的交匯打下一個基礎。Python融入美術專業的課堂內容設計如圖3所示,主要涉及Python基礎、Python turtle海龜畫圖庫的相關函數使用方法講解、Python中關于顏色的設置與調整方式講解。
通過設計合適的針對美術專業的個性化教學內容,能夠使得學生快速掌握Python的技巧,以及使用Python解決自己專業的問題。通過對美術專業學生的不同案例訓練,最終所有學生都能夠很好地完成圖形的設計,而且實現的Python代碼都很簡單,如代碼2.1所示,簡短幾句代碼就實現了太陽花的繪制。
復雜一點的櫻花的繪制如圖4,同學們也能夠通過幾次練習之后輕松掌握。
3 Python課堂教學評價設計
Python課程評價是Python課程教學的重要環節,應該以培養學生計算思維模式下的應用為主要目標,對于課堂效果的評價應該主要基于這一點開展。評價方法應該采用多種方式,如同行評價、教師自我評價、學生評價。評價的內容可以從Python基礎掌握情況,興趣度,專業相關度,Python專業函數庫學習掌握情況等展開。總之針對不同專業設置具有針對性的評價方式及內容,最終達到以計算思維的培養為導向,以案例教學為基礎,通過非計算機專業計算機基礎實驗課程的編程為基本原理,通過課后案例習題強化專業與計算機的結合,著力提高學生的計算機輔助專業的目的。
4 結語
對于數學專業的學生來說,除了掌握C語言以外,在大學計算機基礎實驗這門課中適當地掌握Python語言,可以更高效地把數學思維用計算機語言展示,更好地為以后專業學習打下堅實的基礎。對于美術專業的學生來說,通過使用一些精挑的海龜畫圖案例使他們快速的上手,并能夠實現用計算機的“紙筆”進行繪圖,對自己的繪圖及以后專業發展都起到積極的作用。
通過實踐發現,針對不同專業的學生,根據各自的專業特點,選擇不同的Python知識及方法,這樣既能夠最大的發揮Python語言的優勢,也利于學生更好的學習自己的專業課,并能夠起到計算機對自己專業的輔助作用,繼而提升各專業學生解決實際問題的能力。
參考文獻:
[1] 蔣衛祥.探析高校計算機教育改革思路[J].教育現代化,2019,6(47):37-38.
[2] 劉紹翰,楊群.“新工科”背景下Python語言教學案例設計——以“Python語言程序設計與問題求解”課程為例[J].工業和信息化教育,2018(9):47-49.
[3] 嵩天,黃天羽.Python語言程序設計教學案例新思維[J].計算機教育,2017(12):11-14,19.
【通聯編輯:梁書】