陳頌麗

關鍵詞:新文科;Python;項目;任務式
1引言
“新文科”以多學科知識的深度融合為核心理念,打破現有學科專業(yè)間的壁壘,基于解決“真實世界復雜問題”的需要來整合各種學科與“非學科”知識[1]。隨著大數據和人工智能在社會各方面的應用,“新文科”課程體系的建設要求必須把信息技術融人其中。Python語言開放、開源,生態(tài)良好,擁有大量功能豐富且強大的標準庫和第三方庫,幾乎覆蓋所有領域,可用于高效地解決各學科領域的問題[2]。Python成為“新文科”專業(yè)首選的編程語言。
2“新文科”背景下Python課程的教學目標
新文科專業(yè)開設“Python程序設計”課程的教學目標必須服務于新文科人才培養(yǎng)體系,具體有:(1)提升學生信息素養(yǎng),培養(yǎng)學生收集、處理、分析數據的能力,發(fā)揮數據的最大價值,這是大數據時代人才必備的能力;(2)培養(yǎng)學生的計算思維,具有計算思維能力是未來社會對人才的要求,也是“新文科”人才培養(yǎng)的目標之一;(3)幫助學生建構更為完整的專業(yè)知識體系,解決“真實世界復雜問題”;(4)培養(yǎng)學生職業(yè)能力,提升學生應用計算機技術進行專業(yè)系統(tǒng)設計、探究與求解問題的能力,提升學生跨學科創(chuàng)作與研究的能力。
3當前Python教學面臨的問題與困境
廣州商學院于2019年9月面向經濟學院大二學生開設“Python程序設計”課程,主要教學方式是教師講解Python理論知識、演示程序,學生上機編寫程序。課程考核包括平時成績和期末第三方測試,由教師主導考核過程。在開課初期,教學團隊通過觀察學生的學習行為、面對面訪談、分析學習成績等,發(fā)現傳統(tǒng)的教學方式能夠基本實現Python教學目標,但是仍然存在以下問題。
3.1學生普遍對Python認知不足
經過與學生面對面訪談,發(fā)現文科學生普遍對Python認知不足,具體情況如表1所列。
3.2學習興趣和積極性不高
Python理論課以教師講授程序語法知識為主,學生難免會覺得枯燥難懂。課堂教學方式單一,學生較少參與課堂,無法調動學生的學習積極性。教師做什么,學生跟著做什么,缺少獨立的研究和修改程序的想法。同時,Python課程總學時為48學時,對于非計算機專業(yè)的學生來說是較少的,學習任務重且難度大,從而降低了學習興趣。
3.3忽視了“新文科”人才培養(yǎng)的核心理念
傳統(tǒng)的教學方法,教師強調書本內容,只能保證學生掌握一定量的理論知識,學生獨立編寫程序的實踐能力比較弱,更不能將所學的Python與學科專業(yè)知識整合用于解決專業(yè)領域問題。這也將進一步強化學生對Python無用的認知,影響學生的學習興趣和積極性。
3.4忽視計算思維的培養(yǎng)
計算思維既不是數學計算能力,也不是計算機操作能力,而是認知和思考的重要思維方式,將具體問題之間抽象的交互關系設計成可以利用計算機求解的可行性方案[3]。在傳統(tǒng)的Python教學中,缺乏對Python編程實踐的科學設計與實施,學生按照參考程序機械地輸入運行,解決一些簡單的脫離專業(yè)實際的問題,完全沒有根據計算機的功能特點去思考為什么要這樣寫程序,不能深入了解并掌握與計算機溝通的方法,不能熟練應用計算機語言解決現實生活中的問題,也就達不到對學生計算思維和獨立思考能力的培養(yǎng)。
3.5忽視了Python“輕語法,重應用”的特點
傳統(tǒng)的計算機程序設計語言的教學,如C語言,主要是講授語法知識、程序結構和算法,幫助學生理解抽象概念。Python作為輕語法的程序設計語言,有著豐富的內置函數、標準庫和第三方庫,其教學必須有別于C語言,應“輕語法,重應用”,引導學生分析問題,并以Python為工具,對專業(yè)領域問題進行求解[4]。目前的Python教學更多的是沿用傳統(tǒng)的計算機程序設計語言的教學方式,教師花較多的精力講解理論知識,忽視了Python“輕語法,重應用”的特點。
4基于項目任務式的Python教學改革的提出
基于以上Python教學實踐中出現的問題,廣州商學院的Python教學團隊提出開展基于項目任務式的課程教學改革,探索如何解決問題和走出困境的方法。
4.1關于項目式學習
在項目式學習中,教學目標以培養(yǎng)學生的職業(yè)能力為本位,讓學生學習必要的理論知識且掌握必備的專業(yè)技能,突出職業(yè)能力的建構;教學項目來源于真實的業(yè)務活動或具體的服務場景,既負載專業(yè)理論知識,也涵蓋職業(yè)崗位群能力,實現理論與實踐教學的一體化。教學過程以工作實踐為主線,按照工作過程系統(tǒng)化的思路開展,學生置身于真實的或模擬的職業(yè)情境中,開展知識準備、項目任務領取、角色轉換、問題分析、計劃制定、方案選擇、實施行動、結果驗證到成果評價等各個環(huán)節(jié)的學習活動,最終達成教學目標,提高專業(yè)知識與技術能力的學習質量[5]。
4.2Python教學項目的設計與開發(fā)
Python教學項目的設計與開發(fā)是關鍵的一個環(huán)節(jié),教學項目的好壞直接影響項目式教學的成敗。通過對該環(huán)節(jié)的實踐與研究,認為設計與開發(fā)Python教學項目可從以下幾個方面著手。
4.3Python教學項目要服務于課程教學目標
“新文科”專業(yè)開設“Python程序設計”課程旨在培養(yǎng)學生使用Python語言編寫程序、調試程序的能力;培養(yǎng)學生具有一定的計算思維、提升學生信息素養(yǎng);加強對學生分析問題、解決問題能力的培養(yǎng),能夠使用計算機技術創(chuàng)造性地解決專業(yè)領域的問題。同時,促進學生合作能力、溝通能力和自主學習能力的提升。Python教學項目作為教與學的載體,必須服務于課程教學目標,其設計與開發(fā)都要分析教學目標、依據教學目標、圍繞教學目標,從而保證教學目標的實現。
4.4Python教學項目要服務于學生課程知識體系的建構
結合課程教學目標、文科專業(yè)學生的學習特點與Python語言的內容體系,將Python課程知識體系劃分為3個層次。
第一層次:Python語言基礎,包含Python語法基礎知識、基礎數據類型和復合數據類型、程序基本控制結構、簡單程序代碼的編寫與調試。
第二層次:Python語言進階學習,包含函數與模塊、文件讀寫、標準庫( math,random,datetime)、面向對象編程等。
第三層次:Python語言高級應用,包含海龜繪圖、文本分析、網絡數據爬取、簡單數據分析與處理等。
教師梳理課程知識體系后,將知識點裝進教學項目,同時將教學項目打造為知識點呈現和應用的場景。學生在項目任務驅動下學習Python知識,并應用理論知識解決問題,完成項目任務。
每個Python教學項目都有一定的應用背景,涵蓋多個知識點,增強知識的系統(tǒng)性、整體性,側重于知識點的綜合應用,幫助學生將零散的知識點串聯(lián)起來,使之形成一個有機統(tǒng)一的整體。科學、合理地設置項目任務的遞進關系和開展順序,使學生在項目任務式的教學活動中建構完整的Python課程知識體系。
4.5Python教學項目來源于真實的職業(yè)情境
文科專業(yè)學生學習程序設計的目的并不是去做開發(fā)、跟計算機專業(yè)學生比拼編程能力,而是應用計算機科學的基礎概念進行問題求解、系統(tǒng)設計以及人類行為理解等一系列思維活動[6]。在Python教學中,學生要對哪些問題求解?要設計什么樣的系統(tǒng)?解決此類問題應該著眼于學生的學科專業(yè)領域,著眼于學生職業(yè)能力的培養(yǎng)。
Python教學項目應該來源于真實的職業(yè)情境,將企業(yè)崗位需求、專業(yè)領域問題等層層分解,模擬真實的業(yè)務活動或服務場景,提出學生在未來職業(yè)生涯中可能面臨的問題,將學科知識和學生所處的真實世界聯(lián)系在一起,整合Python理論知識與專業(yè)實踐。例如,“止盈與止損系統(tǒng)”教學項目模擬交易員崗位工作情境,擬解決止盈與止損自動化的問題;“投資者個人信息管理”教學項目模擬投資機構客戶管理情境,擬解決客戶信息錄入、保存及賬號安全管理的問題。
4.6Python教學項目應該是跨學科融合的產物
Python教學項目以模擬解決職業(yè)情境中的實際問題為主要內容。解決“真實世界復雜問題”是單一學科所不能完全做到的,需要整合各種學科與“非學科”知識。因此,Python教學項目應打破現有學科專業(yè)間的壁壘,與不同專業(yè)或不同學科進行有效結合。例如,在“貨幣兌換”項目中將Python基礎語法知識與金融學相結合:在“模擬選股池選股”項目中將Python組合數據類型與證券投資分析相結合;在“蘋果股票數據分析”項目中將網絡數據爬取、分析與金融證券量化投資相結合。通過此類項目的學習,學生獲得新知識的同時深刻理解、應用已學的專業(yè)知識,建構更為完整的專業(yè)知識體系,形成開闊的專業(yè)視野,培養(yǎng)能夠融合多學科知識解決“真實世界復雜問題”的新型文科人才。
4.7Python教學項目要與時俱進,具有趣味性和挑戰(zhàn)性
在這個科技突飛猛進、社會事件層出不窮的時代,大學教育應當引導學生關注社會熱點、關注科技發(fā)展、關心民生,培養(yǎng)大學生的社會責任感。因此,Python教學項目不能與時代脫鉤,要不斷跟蹤新知識、新技術、新熱點,進行教學項目的動態(tài)更新。在與時俱進的同時,也賦予Python教學項目一定的趣味性。
教學的趣味性在于調動學生學習的積極性,使學生由此產生內在動力來完成學習任務。在學turtle庫時,開展“我的中國心”項目任務式學習,學生編寫Python程序表達一片愛國赤子心。在學習jieba庫和wordcloud庫時,開展“《紅樓夢》文本分析”項目任務式學習,學生對熟悉的經典小說中文文本進行分詞與詞頻分析,并制作樹形、蝶形或者心形的詞云,將科技與中國古典文學相結合,感受中國古典名著的唯美意境。在學習random庫日寸,開展“隨機紅包”項目任務式學習.學生分析隨機紅包功能,討論并確定實現隨機紅包的方案,編寫Python程序實現隨機紅包。“隨機紅包”項目以一個大眾化的、貼近生活的項目主題增加了學習的趣味性,也增強學生對Python實用性的認識。
Python教學項目的設計與開發(fā)還要依據學生的學情。初學計算機程序設計的文科學生,樂于接受挑戰(zhàn),但計算思維尚未形成,編程能力基本零起步,所以教學項目可以具有一定的挑戰(zhàn)性,但不應該難度太高,避免打擊學生的學習積極性。Python教學項目應具有適當的難度,讓學生站在已有的知識平臺上,敢于利用新的課程知識,逐步解決新的實際的問題:讓優(yōu)秀學生有可進階的學習空間,以獲得學習的樂趣:讓暫時有困難的學生能及時獲得幫助,攻克難關,以獲得學習的成就感。
4.8Python教學項目應內容完整、清晰,資源豐富
在實施基于項目任務式的教學活動前,教學團隊應初步完成Python教學項目的設計與開發(fā)工作,形成科學、完整的教學項目內容,清晰、可行的實施步驟,客觀有效、公平公正的評價工具,形式多樣、易獲取的配套學習資源。
Python教學項目文檔應包括但不限于以下內容:項目背景描述、項目子任務,子任務知識準備、子任務實現思路、子任務教學過程設計、效果及參考代碼、任務拓展、項目能力進階、項目及能力評價。項目子任務應具有清晰的任務說明,并由淺人深,以遞進的關系呈現,先引導學生完成簡單的任務,再鼓勵學生嘗試完成復雜的、有難度的任務。在子任務實現思路和教學過程設計部分,對項目的實施步驟一定要有清晰的描述,控制好教師講解的時間,多向學生拋出啟發(fā)式的問題,引導學生發(fā)散思考和討論,將大部分時間留給學生,讓學生自主探索并提出解決問題的思路,獨立編寫Python程序。子任務及項目應具有可拓展的空間,滿足不同層次學生的需求,讓學有余力的學生盡情發(fā)揮創(chuàng)造力,解決更高難度的問題。對項目的最終成果、學生的能力應該有明確而具體的評價指標,注重過程性評價,評價主體是教師、學生,評價客體是學習者及其作品,甚至可以是教學項目。
5結束語
如何提高文科學生學習Python的積極性、主動性是當前亟待解決的問題。未來將繼續(xù)對基于項目任務式的Python教學改革實施過程進行深入研究,創(chuàng)設以學生為中心,有利于學生沉浸和發(fā)揮潛能的職業(yè)情境,培養(yǎng)能夠整合各種學科與“非學科”知識解決“真實世界復雜問題”的新型文科人才。