廖俊國 梁偉 韓雪 龔波



摘? 要:Python語言程序設計課程是高校廣泛開設的公共通識課程。該文以財務管理專業學生為施教對象,分析該課程教學面臨的困難,探討項目驅動式教學方法。通過梳理教學內容和知識點,構建知識圖譜,結合專業背景設計應用項目,把知識點的教學貫穿于應用項目的開發中,同步遞進,把理論與實踐有機融合,傳授Python語言程序設計基礎知識的同時,培養學生解決問題的能力,達到學以致用的目的。
關鍵詞:Python語言;知識圖譜;項目驅動;財務管理專業;教學方法
中圖分類號:G642? ? ? ? 文獻標志碼:A? ? ? ? ? 文章編號:2096-000X(2024)04-0058-05
Abstract: Python Language Programming is a public general education course which is widely offered by colleges and universities. In this paper, the difficulties of the course teaching for Financial Management major are analyzed, and the project-driven teaching method is investigated. By discovering the relation between course content and knowledge points, the knowledge graph for the course is established. Combined with financial management major, the application project is designed. The teaching of knowledge points is carried out in the development of application project. The theory and practice are fully integrated. While the knowledge about Python Language Programming is teaching, the ability to solve problems is cultivated. The goal of learning for practice is reached.
Keywords: python language; knowledge graph; project-driven; Financial Management; teaching method
Python語言是一種開源的腳本語言,也是一種生態語言,具有簡潔、高效和擁有強大計算生態等特點,成為目前最熱門的計算機程序設計語言之一。當下全國高校廣泛開設Python語言程序設計課程,不僅計算機專業開設該課程,而且也是非計算機專業開設語言類課程的首選[1]。Python語言程序設計是一門公共通識課程,文科、理科和工科專業均可開設該課程。對文科學生而言,Python語言是令人愛恨交織的課程。一方面,它滿足了廣大學生在大數據、人工智能時代對編程應用的預期;另一方面,受限于邏輯分析、計算思維和動手操作能力的不足,很多文科學生的學習效果并不盡如人意[2]。因此,文科專業的Python語言程序設計課程教學存在以下主要問題:①學習目標不明確,缺乏學習動力,學習興趣不大;②由于缺乏計算機相關知識和計算思維能力,學生對程序設計類課程有畏難心理[3]。
針對文科專業Python語言程序設計課程教學存在的問題,以財務管理專業學生為施教對象,探討學以致用的項目驅動式教學方法,設計與財務管理相關的應用項目,梳理教學內容和知識點,構建知識圖譜,把所有知識點的教學貫穿于應用項目的開發之中,采用滾雪球的方式逐步遞增知識點,分階段、階梯式地完成應用項目的各項任務,培養學生分析問題和解決問題的能力,提升教學質量和教學效果。
一? 課程教學目標定位
由于Python語言程序設計課程是廣泛開設的公共通識課程,施教對象包括文科、理科和工科專業學生。因此,應根據該課程的內涵和性質,結合施教對象所學專業的特色,準確定位該課程的教學目標。
(一)? 正確領悟課程內涵
Python語言程序設計課程名稱顧名思義:程序設計是根本,是落腳點[4];Python語言是程序設計的工具。猶如英語演講課程一樣,演講是關鍵和重點,英語只是演講使用的語言。因此,Python語言程序設計的內涵是用Python語言進行程序設計,要求學生不僅要掌握Python語言的基礎知識,而且還應掌握程序設計的基本原理和方法[5]。
(二)? 準確把握課程特點
湖南科技大學財務管理專業Python語言程序設計課程在大學一年級第二學期開設,而且該課程之前沒有開設計算機基礎相關課程,所以,該專業學生計算機基礎薄弱、缺乏相關知識,不具有計算思維模式。財務管理專業屬于文科,所以該專業學生邏輯分析能力較弱。
(三)? 明確課程教學目標
根據Python語言程序設計課程的內涵,結合財務管理專業學生的特點,準確定位該課程的教學目標:掌握程序設計的基本理論、方法,提高程序設計水平和計算機應用能力;培養學生計算思維能力、創新能力、發現問題、分析問題和解決問題的能力[6];掌握Python語言的基礎知識及編程應用。
二? 激發學生的學習興趣
財務管理專業在Python語言程序設計課程之前沒有開設計算機基礎相關課程,且該專業屬于文科。顯而易見,財務管理專業學生在學習該課程時既缺乏計算機基礎知識,又不具備計算思維能力。因此,財務管理專業學生學習該課程會覺得很難,學習興趣不大,學習積極性不高。俗話說:興趣是最好的老師。所以,只有提高學生的學習興趣,激發學生的學習熱情,讓學生主動學習,才能學好該課程。
首先,讓學生明白為什么要學習該課程,領悟學習該課程的必要性和重要性。從表面上看,該課程與財務管理專業沒有什么關聯,是否開設無關緊要。但是,在信息時代,任何人都離不開計算機,計算思維是每個人必須具備的思維模式。蘋果公司創始人斯蒂夫·喬布斯(Steve Jobs)曾經說過:“在工作中是否要編程,未必那么重要,但你可以把它當成一面鏡子,一面你思考的鏡子。我認為學習思考是最有價值的。這個國家的每個人都應該學習如何編寫程序,因為它教會你如何思考。正如人們學習法律未必要當上律師,但學習法律可以告訴你如何從法律的角度思考問題。同樣地,編程是一種稍微不同的思考方法。因此,我認為計算機科學是一門基礎學科。每個人應該在一生中花費一年的時間學習如何編程”[7]。
然后,讓學生明白為什么要選擇Python語言。Python語言的創始人吉多·范羅蘇姆(Guido van Rossum)有一句名言:“Life is short, you need Python”[8]。目前,Python語言在TIOBE排行榜(世界上最權威的編程語言排行榜單)排名第一位[9],已經成為世界上最受歡迎的程序設計語言,不僅功能強大,而且易于學習。
最后,通過演示Python程序,讓學生直觀感受其作用。結合專業背景,財務管理的數據報表往往涉及商業秘密或個人隱私,需要進行保密。因此,設計并實現一個薪資報表加解密的Python程序,運行該程序,實現對薪資報表的保密功能,讓學生認識到自己可以編寫Python程序去做一些與所學專業相關的事情。
三? 設計學以致用的應用項目
(一)? 梳理教學內容和知識點
在思考和設計學以致用的應用項目之前,對Python語言程序設計課程的教學內容和知識點進行梳理,理清知識點之間的邏輯關系,為應用項目的設計及知識圖譜的構建提供依據。為了實現該課程的教學目標,該課程的教學內容應包含兩部分:一部分是程序設計知識,主要包括算法、程序設計步驟和方法等知識點;另一部分是Python語言知識,主要包括數據類型(數值、字符串、列表、元組、字典和集合等)、流程控制(順序結構、選擇結構、循環結構)、輸入/輸出、文件和異常處理等知識點。算法是程序設計的基礎,是解決問題的方法描述;程序設計步驟是程序設計過程的具體操作及其先后順序。數據類型按由簡單到復雜的順序組織不同數據類型知識點。流程控制的三種結構可以相互嵌套,從而構建功能復雜的程序。輸入/輸出是程序的基本功能,用于程序與外界的交互。文件為數據的永久存儲提供方法和途徑,異常處理為程序的穩定性和健壯性提供支持。
(二)? 設計應用項目
1? 應用項目的設計原則
由于應用項目的好壞直接影響教學效果,因此,應高度重視應用項目的設計[10]。應用項目的設計應考慮以下因素:①專業性強,應用項目應屬于施教學生所學專業領域的相關問題;②綜合性強,應用項目應涵蓋課程所有的知識點;③實用性強,應用項目應能夠解決專業領域的某個具體應用問題,達到學以致用的教學目標。
2? 應用項目的實例
對于財務管理專業,薪酬發放是一個單位最常見的工作之一,薪酬發放之前需根據相關信息和規則生成月薪資報表。因此,選擇“月薪資報表的自動生成”作為驅動教學的應用項目,該應用項目主要包括以下功能:設置基本工資級別和崗位等級、錄入員工基本信息、錄入績效獎勵和其他補貼、計算五險一金、計算個人所得稅、生成月薪資報表和保存文件等功能。員工基本信息包括員工號、姓名、年齡、性別、職稱/職務、基本工資級別、崗位和崗位等級等信息,月薪資報表包括員工號、姓名、基本工資、崗位津貼、績效獎勵、其他補貼、應得薪資、基本養老保險、基本醫療保險、失業保險、工傷保險、生育保險、住房公積金、個人所得稅和實發薪資等信息。
(三)? 厘清應用項目與知識點的關系
“月薪資報表的自動生成”應用項目的開發包含了Python語言程序設計課程的教學內容,基本涵蓋了所有知識點,該應用項目功能模塊與課程知識點之間的涵蓋關系見表1。
(四)? 構建與應用項目關聯的知識圖譜
根據Python語言程序設計課程的教學內容,梳理所有知識點,并把每個知識點應用到“月薪資報表的自動生成”應用項目的開發中,構建與應用項目關聯的知識圖譜,如圖1所示,圓圈表示知識點,單向箭頭表示知識點之間的包含關系,矩形表示知識點應用于應用項目的示例(說明:受圖幅限制僅列舉一個示例),雙向箭頭表示知識點和應用項目示例之間的關聯關系。在圖1中,以“數據”為中心層層展開,體現了知識點之間的內在關系,脈絡清晰。在第一層,圍繞“數據”的知識點是“類型”“輸入/輸出”和“處理”;在第二層,圍繞“類型”的知識點是“數值”“字符串”“列表”“元組”“字典”和“集合”,圍繞“輸入/輸出”的知識點是“終端”和“文件”,圍繞“處理”的知識點是“流程控制”“函數”和“異?!?;在第三層,圍繞“數值”的知識點是“整數”“實數”“復數”和“布爾數”,圍繞“流程控制”的知識點是“順序結構”“選擇結構”和“循環結構”。最后一層的知識點關聯應用項目示例,把知識點與應用項目開發有機結合起來,讓學生直觀地感受到學以致用的效果,培養學生綜合運用所學知識解決實際問題的創新能力和實踐能力。
四? 因地制宜的項目驅動式教學方法
(一)? 項目驅動的滾雪球式施教過程
為了達到學以致用的教學目標,以結合專業背景設計的應用項目“月薪資報表的自動生成”的開發為主線,以堆積木方式對應用項目的各個功能模塊逐個開發,對各個功能模塊開發所涉及的知識點進行詳細講解。隨著應用項目的開發,知識點像滾雪球一樣逐步遞增,直至所有知識點均被講解,構成完整的知識體系。
(二)? 形式多樣的因地制宜教學手段
由于施教對象財務管理專業學生缺乏計算機基礎知識和計算思維能力。因此,在教學過程需要根據實際情況采用形式多樣的教學方式,因材施教,因地制宜。
1? 比喻式
由于計算機的概念比較抽象,學生難于理解和想象,常常感到迷茫和困惑。為了幫助學生理解抽象的概念,往往需要借助學生熟悉的生活實例作比喻,不僅讓學生易于理解概念,而且讓教學生動有趣,提高學生的學習興趣。
2? 手把手式
由于施教對象財務管理專業學生第一次學習計算機程序設計語言,沒有編寫過計算機程序。因此,剛開始時,學生很難用所學的語言獨立編寫計算機程序。在此種情況下,為了培養學生的信心和興趣,必須選擇一些具有代表性的經典案例,分析如何編寫程序去解決問題,手把手地教學生逐行編寫代碼,并進行詳細講解,讓學生緊跟著老師的思維,沉浸式感受編寫程序的整個過程,逐漸培養學生的計算思維能力和編寫程序的實踐能力。
3? 啟發自主式
通過手把手式教學生編寫具有代表性的程序,啟發式引導學生舉一反三,鼓勵學生嘗試自己獨立編寫類似的程序,體會編寫程序的樂趣,掌握編寫程序的知識和技巧,積累編寫程序的經驗。日積月累之后,學生就能運用所學的程序設計語言編寫程序去解決實際問題,達到學以致用的教學目標。
五? 教學效果評價
Python語言程序設計課程的考試分為設計和實驗兩部分,均采用機考方式。湖南科技大學2022級財務管理專業共有學生98人,96名學生參加考試,2名學生申請緩考,課程考試成績分布見表2。由表2可知,參加考試的96名學生中,只有2名學生沒有通過設計考試,通過率達到97.9%,設計考試平均分78.27,80分以上學生人數46人,占比47.9%;3名學生沒有通過實驗考試,通過率達到96.9%,實驗考試平均分81.68,80分以上學生人數62人,占比64.6%。
表2表明,絕大部分學生掌握了Python語言程序設計的基礎知識,具備了使用Python語言編寫程序去解決問題的實踐能力。而且,由表2可知,學生的實驗成績比設計成績更好,說明學生解決實際問題的編程能力更強。由此可見,學以致用的項目驅動式教學方法培養了學生分析問題和解決問題的能力,提高了學生的實踐能力,提升了教學質量和教學效果,達到了預期的學以致用教學目標。
參考文獻:
[1] 段韶鵬,賈博文.基于成果導向理論的Python課程教學改革與實踐[J].計算機教學與教育信息化,2020,16(20):120-121.
[2] 王曉靜,索菲,張楊.面向新文科Python語言程序設計的課程思政教育融入式教學研究[J].遼寧大學學報(自然科學版),2021,48(3):283-288.
[3] 王偉.“課程思政”背景下Python語言程序設計教學改革探究[J].電腦知識與技術,2021,17(28):243-244,249.
[4] 龔俊,吳福英,柯勝男,等.工程教育專業認證下的程序設計課程群教學改革[J].計算機教育,2023(6):109-115.
[5] 楊蕊.以OBE為導向的Python語言程序設計實踐教學體系建設與研究[J].信息與電腦,2022(4):242-244.
[6] 賀國平.Python語言程序設計課程中的OBE模式應用[J].電子技術,2022,51(2):140-141.
[7] 喬布斯.遺失的訪談(1995)[EB/OL].http://open.163.com/movie/2013/5/N/R/M8TBJIK7D_M8TBLIINR.html.
[8] 趙璐.Python語言程序設計教程[M].上海:上海交通大學出版社,2021:5.
[9] Tiobe Index for May 2023[EB/OL].https://www.tiobe.com/tiobe-index/.
[10] 佟強,蔣玉茹,趙淳,等.課程設計項目驅動的“C語言程序設計”教學方法探索[J].教育教學論壇,2021(51):138-141.
基金項目:湖南省高校教學改革項目“新工科背景下《Python程序設計》課程思政教學研究”(HNJG-2022-0792);湖南省高校教學改革項目“基于能力導向的Java Web課程實驗教學改革”(HNJG-2022-1410);湖南省學位與研究生教學改革研究項目“‘IPD+QM’融合方式下計算機類非全日制研究生的培養改革與探索”(2022JGYB130)
第一作者簡介:廖俊國(1972-),男,漢族,湖南衡陽人,博士,教授,博士研究生導師。研究方向為信息安全、計算機應用。