王玉 范冬林 姜建武
桂林理工大學測繪地理信息學院 廣西桂林 541004
Python語言作為一種高級的、面向?qū)ο蟮?、解釋型的、通用的和開源的語言,簡單易懂,可提供豐富的數(shù)據(jù)庫,具有可擴展性、可移植性和可嵌入性[1]。隨著機器學習和人工智能等技術(shù)的不斷發(fā)展,Python語言成為實現(xiàn)這些技術(shù)的最適合語言之一,致使Python程序設計語言也迅速躍居編程語言排行榜前列[2]。2021年年度IEEE Spectrum編程語言排行榜中,Python、Java、C、C++和JavaScript位居排行榜前五名,Python語言已連續(xù)五年奪冠。而Python語言不僅在IEEE Spectrum編程語言排行榜中名列前茅,在TIOBE排名上,Python語言也在排行榜的前列。目前,Python語言已成為最受歡迎的編程語言之一。為了讓遙感科學與技術(shù)專業(yè)本科學生能更好地融入社會、更好地利用專業(yè)知識服務社會,在本專業(yè)人才培養(yǎng)方案中,將Python程序設計作為其中一門基礎(chǔ)課。Python程序設計這門課程主要講述Python基本概念、變成思想和程序設計等相關(guān)知識。通過Python程序設計這門課程的學習,學生可以熟練運用Python函數(shù)與模塊、序列數(shù)據(jù)列表,了解Python程序設計規(guī)范,掌握Python程序語言編程,綜合應用面向?qū)ο蟮乃枷雭斫鉀Q遙感圖像處理編程問題,以提高程序設計水平和計算機應用能力,為今后教學任務、企業(yè)軟件研發(fā)奠定理論與技術(shù)基礎(chǔ)。
Python語言之所以能快速發(fā)展并被廣泛應有,不僅得益于國家對人工智能的重視和Python語言在人工智能領(lǐng)域的杰出表現(xiàn),還源于該語言學習難度較低、功能強大等特點[3]。目前,Python語言已成為遙感專業(yè)領(lǐng)域中最常用編程語言之一,因此,遙感科學與技術(shù)本科專業(yè)存在開設Python程序設計這門課程的必要性,具體如下。
從本質(zhì)上來講,Python程序設計是一門編程基礎(chǔ)課,掌握好該語言有益于后續(xù)遙感數(shù)據(jù)處理及算法實現(xiàn)的學習。因此,在教學的過程中,需讓學生們了解到該門課程本身的重要性及Python語言在遙感領(lǐng)域的必要性,以打好Python語言編程的基礎(chǔ)。
隨著機器學習和人工智能技術(shù)的不斷發(fā)展,這些技術(shù)在遙感專業(yè)領(lǐng)域應用越來越廣泛,而Python語言在這些技術(shù)實現(xiàn)的應用決定了Python語言在未來的遙感技術(shù)和產(chǎn)業(yè)升級中扮演著至關(guān)重要的角色。在教學的過程中,需讓學生們了解到該門課程在專業(yè)領(lǐng)域的前瞻性。因此,掌握并靈活運用Python程序設計對于遙感科學與技術(shù)的學生是適應未來發(fā)展的必要條件。
Python程序設計是一門具有一定的理論基礎(chǔ),但需側(cè)重實踐的課程。無論是在Python程序設計理論基礎(chǔ)(如Python語言程序基礎(chǔ)和程序語句),還是在Python語言的算法設計等,都需進行代碼實現(xiàn)。因此,在教學的過程中,需要著重強調(diào)實踐能力的培養(yǎng),通過具體的關(guān)于遙感圖像處理相關(guān)案例、隨堂測驗等方式,提高學生的Python語言編程能力以及自身的遙感工程能力。
本課程教學內(nèi)容包括:Python程序基礎(chǔ)、Python程序語句、Python函數(shù)與模塊、Python序列數(shù)據(jù)和Python面向?qū)ο?。通過Python程序設計的相關(guān)理論教學和實踐,學生可以掌握Python語言的字符串、列表、元組和字典等基本數(shù)據(jù)類型,了解Python語言的條件、循環(huán)等語句,掌握Python語言的編程模式及方法。重點培養(yǎng)學生的邏輯和編程思維,使其具備Python程序設計能力。同時,深化學生對新時代黨的創(chuàng)新理論的理解和掌握,培養(yǎng)學生獨立思考、分析和解決簡單的遙感圖像處理問題的能力。但本課程的教學內(nèi)容僅針對無Python語言編程基礎(chǔ)的本科生設計,重點講解了Python程序設計的基礎(chǔ)知識和方法,并將其應用到簡單的遙感圖像處理問題(如圖像讀取、圖像格式轉(zhuǎn)換等)中,與遙感科學與技術(shù)本科專業(yè)知識結(jié)合的內(nèi)容和實踐較少。
本課程主要采取線下上機教學,以機房內(nèi)多媒體教學和上機實踐為主。課前,要求學生通過網(wǎng)上資料、文獻閱讀及多媒體課件等完成課程預習。課堂上,通過講授法、演示法、案例驅(qū)動法、參與式教學法和實驗法相結(jié)合的方式,講解Python程序設計的理論和方法,并完成Python語言編程實踐。其中,Python語言程序基礎(chǔ)和程序語句主要采取講授法、演示法、案例驅(qū)動法和實驗法來實現(xiàn)其相關(guān)知識的記憶、理解和應用;Python函數(shù)與模塊采用演示法、實驗法、參與式教學方法相結(jié)合來實現(xiàn)其相關(guān)知識的記憶、理解和應用;Python序列數(shù)據(jù)和面向?qū)ο髣t結(jié)合參與式教學法,通過啟發(fā)、探討把相關(guān)理論知識融入案例中,以案例驅(qū)動法實現(xiàn)Python語言的分析、綜合和評價,提高學生的Python程序設計邏輯思維,培養(yǎng)其獨立思考和編程能力。課后,學生可與老師進行線下或線上交流討論,以加深學生對Python程序設計所學知識的理解和掌握,提高學生的Python程序設計能力。但本門課在講授過程中部分學生存在精神不集中、不積極參與課堂討論和怯于向老師請教等問題,導致學生對于某些難度較高的知識點無法理解掌握,不能舉一反三、融會貫通,進而無法完成相應的Python語言程序設計和實踐。
課程思政是指以構(gòu)建全員、全程、全課程育人格局的形式,將各類課程與思想政治理論課同向同行,形成協(xié)同效應,把“立德樹人”作為教育根本任務的一種綜合教育理念[4]。本課程首先挖掘課程內(nèi)容的思政元素,然后通過情景設定、實踐體驗和熱點啟發(fā)等方式將思政元素與Python程序設計的理論知識點相關(guān)聯(lián),以完成Python程序設計課程講授,進而引導學生利用該課程的理論知識解決人生、社會問題,激發(fā)學生科技報國的家國情懷和使命擔當。但Python程序設計這門課程僅采用思政融入點方式實現(xiàn)課程思政教學,方式較為單一。
本課程采取平時+期末的考核方式,以避免期末考試對記憶性知識點考查大于程序設計能力考查的問題。本課程的總成績包括平時考核成績(占40%)和期末考核成績(占60%)。其中,平時考核成績包括實驗報告(50%)、作業(yè)(占30%)、課堂口頭回答交流(占10%)和參與教學活動(占10%),期末考核以閉卷的形式完成考試。實驗報告和作業(yè)突出培養(yǎng)學生Python程序設計的能力及解決遙感工程問題的能力;課堂口頭回答交流是指學生課堂上的提問和回答問題情況;參與教學活動指學生在課程期間完成某一Python程序設計的展示。2021年下半學期選擇Python程序設計這門課的學生共75人,其中,最高分93分,最低分為46分,優(yōu)秀率達22.67%,而不及格率為1.33%,下圖為成績分布直方圖。Python程序設計的最終目的是學生能提高自己的程序設計能力及利用Python語言解決遙感工程問題的能力,而課程考核中平時考核更能突顯程序設計能力,其僅占總成績的40%,存在平時和期末考核成績比例分配不合理的問題。另外,在平時考核成績中,參與教學活動的比例需提高。
成績分布直方圖
針對Python程序設計教學內(nèi)容單一的問題,在Python語言基礎(chǔ)講授過程中,增加遙感圖像處理的相關(guān)案例,將專業(yè)知識與Python程序設計的理論知識點相結(jié)合,以加強Python語言的適用性。如在Python程序基礎(chǔ)中加入圖像輸入、輸出和格式轉(zhuǎn)換等案例實踐;在Python程序語句中增加利用條件、循環(huán)等語句實現(xiàn)圖像最大(小)灰度值獲取、圖像灰度值歸一化操作、像素四鄰域和八鄰域搜索等;在Python函數(shù)與模塊中加入圖像增強、圖像濾波、圖像去噪、圖像分割和特征提取等操作。通過對教學內(nèi)容的改革與實踐,學生可以更好地利用Python語言解決遙感科學與技術(shù)專業(yè)的相關(guān)問題,從而提高學生利用Python程序設計課程涵蓋的理論知識服務于遙感行業(yè)和信息行業(yè)的能力。
采取線上線下混合式教學。隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,越來越多的線上應用進入人們?nèi)粘I钪校€上教學得到了充分關(guān)注與發(fā)展[5]。課前,學生通過課程PPT、網(wǎng)上資料及文獻閱讀等完成課程內(nèi)容的預習,對其有一個整體了解,并將不懂的知識點和問題記錄下來,在課堂學習中更加有側(cè)重點,同時,教師布置相關(guān)問題來提高學生預習質(zhì)量。不同于線下教學,線上教學沒有固定模式,靈活性更強。因此,老師可選擇合適內(nèi)容在慕課、QQ或騰訊會議等平臺上進行線上授課。在講授過程中,著重強調(diào)Python程序設計的基礎(chǔ)理論,通過聊天窗口和彈幕方式與學生積極互動,布置線上隨堂作業(yè),通過查看隨堂作業(yè)答題及時了解學生學習狀態(tài)、掌握情況,并及時對教學內(nèi)容做出調(diào)整。另外,在授課過程中,學生可錄屏,課程結(jié)束后可反復觀看授課視頻以鞏固課程知識點,解決學生上課不集中、對某些知識點掌握不牢靠等問題[5]。在線下教學中,教師重點講授課程重難點知識,并結(jié)合知識點的相關(guān)案例進行上機實踐。課后,除布置相關(guān)作業(yè)外,教師還可給學生一些遙感圖像處理常用方法的錯誤代碼,讓學生們找錯并完成程序的改錯與實現(xiàn),以鞏固學生們對Python程序設計基礎(chǔ)知識的掌握。另外,還可以分小組讓學生完成相應的基于遙感圖像處理的Python程序設計,讓學生們練習并在課堂上進行展示,以提高學生們利用Python程序設計技術(shù)解決遙感工程問題的能力。在此基礎(chǔ)上,在課外,也可通過一定的Python語言實踐與應用鞏固其理論知識,體現(xiàn)Python程序設計的價值;還可組織學生參加與Python程序設計相關(guān)的比賽,以加強學生Python程序設計技術(shù)的知識運用。
針對課程思政方式較為單一的問題,在授課過程中,結(jié)合關(guān)鍵詞、關(guān)聯(lián)知識點、思政融入點、案例摘要和詳細案例素材來提供Python程序設計課程思政素材[6]。其中,關(guān)鍵詞可呈現(xiàn)出思政素材所蘊含的道路自信、理論自信、制度自信、文化自信等思政點,通過關(guān)聯(lián)知識點將課程思政案例與知識點相關(guān)聯(lián),思政融入點是將挖掘的思政元素與知識點相關(guān)聯(lián),案例摘要是摘要性描述案例,而詳細案例素材則是對思政素材的全部細節(jié)進行描述。通過對課程思政的改革與實踐,引導學生開拓創(chuàng)新,勇攀科學高峰,引導學生成長成才,踐行社會主義核心價值觀,成為擔當民族復興大任的時代新人。
本課程依然采取平時考核+期末考核的方式,其中,平時考核成績和期末考核成績各占50%。平時考核成績中,實驗報告占40%,作業(yè)占20%,課堂口頭回答交流占10%,參與教學活動占30%;期末考核以閉卷的形式完成考試。其中,實驗報告和作業(yè)著重于Python程序基礎(chǔ)設計及基于遙感圖像處理的Python程序設計,以提高學生Python程序設計的能力及利用Python語言解決遙感工程問題的能力;課堂口頭回答交流主要是針對Python程序設計的基本理論與遙感圖像處理專業(yè)知識的結(jié)合進行討論交流;參與教學活動主要請學生展示自己小組關(guān)于某一遙感圖像處理的Python程序設計作品。
為了提高Python程序設計的教學質(zhì)量,結(jié)合遙感科學與技術(shù)本科專業(yè)本課程需要培養(yǎng)學生程序設計能力的具體實際,從課程內(nèi)容、教學方法、課程思政和課程考核四方面存在問題進行探討,并對其進行改革,使學生更好地掌握Python程序設計的理論知識和實踐,并能在今后的學習、工作中靈活運用Python語言,并培養(yǎng)學生分析及解決遙感工程問題的能力。同時,引導學生樹立堅定的理想信念,不忘初心,認真踐行社會主義核心價值觀,養(yǎng)成優(yōu)良品質(zhì)和良好心智。