


[摘 要] 傳統程序設計語言C、Java等對計算機理論知識要求高、入門難,對地理學專業學生而言,在學習過程中會出現大量的語法錯誤,導致學生編程學習興趣不濃。Python作為一門易學、易用的編程語言,與地理學專業學習有機結合,具有明顯優勢并深受學生歡迎。針對教學過程中出現的問題,可運用科學合理的教學方法、注重基礎性與前沿性相結合、加強案例教學、鼓勵學生積極參加地理學相關知識競賽、充分利用網絡教學以及強化學生上機實驗能力的培養等,并在本科教學中起到良好的效果。
[關鍵詞] Python語言;地理學專業;程序設計;教學改革
[基金項目] 2020年度廣東省高等教育教學改革項目“在線教學效果評測與質量保障”(粵教高函〔2020〕20號);2018年01月—2020年12月國家重點研發計劃項目“深圳市洪澇實時調度決策支持平臺及示范”(2017YFC1502706);2019年01月—2021年12月中山大學本科教學質量工程類項目“面向地學專業的程序設計核心通識課程建設”(37000-18832606)
[作者簡介] 杜國明(1971—),男,山東安丘人,博士,中山大學地理科學與規劃學院副教授,主要從事地學專業教學研究。
[中圖分類號] G642.0? ? ?[文獻標識碼] A? ?[文章編號] 1674-9324(2021)20-0049-04? ? [收稿日期] 2021-01-12
一、引言
地理學是研究地理要素和地理綜合體的空間分異規律、時間演變過程及區域特征的學科,具有綜合性、交叉性的特點,其研究內容是地球表層人與環境相互作用的機理,研究過程需要耦合自然要素和人文要素,是一門“探索自然規律,昭示人文精華”的學科[1]。作為一種綜合性學科,地理學的應用范圍非常廣泛,常常需要處理和分析復雜地物,程序設計往往能起到事半功倍的作用。正如蘋果公司的CEO庫克說過:學習編程要比學習英語更重要。因此,程序設計是地理學專業中的一門重要課程。常見的程序設計語言有Java、C、Python等。由于Python語言功能強大且語法簡潔、易讀及可擴展性,是目前美國大學最受歡迎的程序設計語言,如麻省理工學院的計算機科學及編程導論課程就使用Python語言授課[2]。又如,斯坦福大學從2009年開設Python語言程序設計類課程,替換了之前的Java和C語言課程[3]。因此,我們面向地理學專業選用Python語言作為本科生程序設計的教學語言。
二、面向地理學專業程序設計的教學改革與課程規劃
(一)傳統程序設計語言在地理學專業教學中存在的問題
目前,針對我國地理學專業開設的程序設計語言大多為C、C++、C#、JAVA等。這些編程語言語法復雜,對計算機理論知識要求高、入門難[5]。例如,C與C++語言要求變量在使用前先定義,嚴格區分大小寫,每行語句以分號結尾,數組在使用前要先定義大小(易造成數據冗余或不足),指針和鏈表難學難用……對于編程基礎薄弱的地理學專業學生來說,程序代碼晦澀難懂,出現錯誤的時候又難以區分是運行錯誤還是邏輯錯誤,很容易挫傷學生學習程序設計的積極性。C#對計算機的配置要求較高,造成應用上的局限性。Java語言主要針對對象方法展開教學,教學內容主要是類、對象、封裝、繼承、多態、接口、多線程等,運行效率不及C或C++語言,易學性不及Python,所以與Python相比,實際教學價值不大。
上述程序設計語言都存在復雜的語法結構,對地理學專業學生而言,由于缺少計算機體系結構的相關知識,在學習程序設計過程中會出現大量的語法錯誤,因此無法與地理學專業學習有機結合起來,學生也難以得到系統的培養。學生雖然學習了編程語言,但并不能應用于實際的編程工作中,導致地理學專業學生編程學習興趣不濃,僅為了考試而學,“考完即忘”的現象普遍存在。
Python作為一種輕語法的程序設計語言,具有易學、易用的特點,降低了學生學習的難度,可以彌補上述程序設計語言的不足,非常適合地理學專業程序設計課程。
(二)Python語言用于地理學教學的優勢
Python是一門高級程序設計語言,由吉多·范羅蘇姆(Guido van Rossum)于1989年底發明,是開源、免費的,簡單、易學[4],比Matlab等商業軟件具有先天優勢,不會出現因授權而被“卡脖子”。Python的代碼書寫規則、語法簡潔,不需要在使用變量前定義。同樣輸出一段文字,三種語言分別如下所示。
C語言需要4行代碼,如下所示:
#include
int main()
{
printf("學好程序設計!");
return 0;
}
Java語言要定義一個類Main,代碼如下:
public Class Main(){
public static void main(String[] args){
System.out.println("學好程序設計!");
}
}
python語言僅需要一行即可,如下:
print("學好程序設計!")
Python的優勢顯而易見。另外,它還能夠與地理信息科學最常用的商業軟件ArcGIS有機結合在一起,為解決復雜的地理問題提供有力支持。這是因為,ArcGIS開發語言默認安裝Python,為地理學專業學生學習程序二次開發提供了極大的便利,非常適合地理學專業程序設計課程。Python的科學計算功能強大,方便數字圖像處理,提供高效的數據組織與處理功能、多種數值計算、種類豐富的圖形繪制功能。