王強 張仕霞
摘要:針對《IT實用技術》公共課中比較抽象的概念和知識點,筆者探索采用對初學者友好的Python 語言及其IDLE環境作為學習、體驗和練習的環境,收到了較好的教學效果。本文列舉了在教學實踐中關于數的進制、ASCII 及Unicode編碼以及高級程序設計的幾個實例。
關鍵詞:云教學;計算思維;高等教育;Python
本學期筆者承擔了西南財經大學天府學院藝術設計學院網絡與新媒體專業的《IT實用技術》公共課。該課程是在抗疫條件下的云教學環境下進行,老師和同學們無法面對面,而課程中的有關章節涉及到二進制、八進制、十六進制、ASCII 編碼、Unicode編碼、高級程序設計等比較抽象的概念和知識點,因此形象直觀的教學手段和工具顯得尤為重要。我探索把這些教學內容與學習入門相對容易、對初學者友好的Python 語言相結合,同學們能夠在自己電腦上安裝好的Python IDE環境下練習和體驗以上的學習內容,眼見為實。Python語言是在八十年代末、九十年代初,由Guido van Rossum 在荷蘭國家數學和計算機科學研究所設計,由諸多其它語言發展而來的一門非常強大的編程語言, 其開源、簡潔、優雅以及對文字的強處理能力使得它目前已成為人工智能和大數據分析的主力語言。Python是初學者友好的語言,對初級程序員而言,它是一種偉大的語言,支持廣泛的應用程序開發,包括簡單的文字處理、Web 瀏覽器、到電子工程和游戲。Python是一種解釋型語言,意味著開發過程中沒有了編譯這個環節,類似于PHP和Perl語言。Python是交互式語言,意味著學生在一個Python提示符下直接互動執行和編寫程序。Python是面向對象的語言,支持面向對象的風格或代碼封裝在對象的編程技術。
點擊并拖拽以移動在第一章《計算機的誕生與發展》中,講述數值數據的進制時,我們可以利用Python對二進制、八進制、十六進制的表示方法讓同學們更直觀地去學習和理解。例如,把0b1011 , 0o712 , 0x1ac 這些數值敲入到 Python交互式shell環境下,對應的十進制的值就能馬上顯示出來,在這里,0b、0o、0x 分別表示二進制、八進制、十六進制數(b、o、x也可以是大寫的B、O、X)。
同樣在第一章“字符的編碼”一節中,我們可以用Python中互逆的2個函數ord()和chr()來說明ASCII編碼的使用,也可以用"\u"+ Unicode來說明Unicode編碼的使用。
點擊并拖拽以移動在教學中可以讓同學們先訪問 https://home.unicode.org/,得到 ‘@’的Unicode編碼是 FF20(4位16進制數),‘π’的 Unicode編碼是 03c0,然后用 ‘\u’轉義字符調用print( )函數輸出。
在講授課程的下半部分《計算思維基礎》時,由于Python語言具有的入門容易、語法簡潔、優雅、高效的特點,在教學計劃中我把原來教材第9章《程序設計》中采用的描述語言C++ 和Visual Basic替換成Python語言。因為,對于文科學生來說,C++語言過于艱深,而Visual Basic語言在蓬勃發展的高級程序設計語言中又逐漸落伍。比如我們熟知的漢諾塔(Tower of Hanoi )問題采用Python編程來實現,僅僅 12行程序,該程序將輸出n層的漢諾塔從 A柱移到C柱的步驟,并統計出移動的步驟數(應該是 -1次)。
本例中,采用了遞歸函數,老師在課堂教學中可以借助遞歸函數的思想清晰地闡述問題求解的算法思路。
i=0;
def hanoi(n,a,b,c):
global i
if n== 1:
print(a,'-->',c)
else:
hanoi(n-1,a,c,b)
print(a,'-->',c)
hanoi(n-1,b,a,c)
i=i+1
hanoi(6,'A','B','C')
print("Totally {0} moves".format(i))
在老師的指導下,同學們大都安裝好了來自Python官網(www.python.org)的IDE環境,并利用該環境來學習和實踐課程中的一些抽象概念和知識點,從教學實踐和效果來看,這個探索證明是有效的。由于Python是開源的,擁有豐富的開發就緒的第三方庫,筆者準備就本課程的其它教學內容例如“計算機網絡”進一步探索挖掘一些可應用到教學上的資源庫以積累更多的教學用例。
參考文獻:
[1]史巧碩 柴欣《大學計算機基礎與計算思維》(第2版)人民郵電出版社 2015年
[2] 徐光俠 常光輝 謝紹詞 黃德玲 《Python 程序設計案例教程》人民郵電出版社 2017年
[3] [美] Richard Blum,ChristineBresnanhan陳曉明 馬立新 譯《樹莓派Python編程入門與實戰(第二版)》人民郵電出版社 2017年
[4] [美] Wesley Chun《Python 核心編程》(第3版)英文版人民郵電出版社 2016年
作者簡介:王強,1967年,男,四川成都,西南交通大學,碩士,主要研究方向為計算機軟件編程、人工智能。