閔 源,許春冬
(江西理工大學信息工程學院,江西 贛州 341000)
21世紀,可以稱之為人工智能的時代,在此時代背景下,如何培養專業基礎扎實,創新創業能力強,綜合素質高的復合型應用型人才[1],是各大高校重點關注及不斷努力的方向。人工智能技術并非獨立存在于工科類專業之中,它與生物學、信號處理、數字通信原理等學科相互交叉、彼此融合,延伸出眾多新的研究領域。計算機編程則是將眾多學科與人工智能進行融合的必要手段。在600多種編程語言中,Python具有語法簡潔、粘性擴展、通用靈活及類庫豐富等優點,在學科交叉融合及工程計算等方面具有得天獨厚的優勢,受此影響,許多高校紛紛開設了Python相關課程。《Python程序設計》課程具有內容豐富、理論結合實際、思維發散等特點,但目前大多數開設該課程的高校依舊保留著與C++課程類似的灌輸式授課方式,這使得工科類學生在課程學習的過程中往往會感覺枯燥乏味。如何讓學生在學習該課程的過程中,同時掌握時代背景下的新技能和較高興趣地獲得乏味的基礎理論知識,是課程教學改革及培養復合型應用型人才的關鍵。
課程教學改革與實踐的目標就是夯實學生理論基礎,同時培養學生自主學習及創新能力,以及樹立正確的世界觀、人生觀、價值觀,最終培養出國家需要的復合型應用型人才。為實現這個目標,我們從教學內容、教學方式、教學實踐三個方面進行課程的改革與實踐。
(1)有目標的選取課程配套教材。工欲善其事,必先利其器,一門課程最終能讓學生獲得多少有用的知識,很大程度在于教材的選定。我們既針對培養復合型應用型人才這一目標,又為了能和國內外知名高校的Python程序設計課程實現接軌,結合江西理工大學的實際情況,從Python程序設計的眾多教材中,最終選擇北京理工大學嵩天老師的《Python語言程序設計基礎》(第2版)作為本校Python課程的使用教材。該教材具有結合實際、各類知識點描述清晰、由淺入深的特點,適用各類初學Python的學生學習,同時,可以結合各工科類專業具有差異的方面,形成不一樣的授課方式,既能夠為高校教師豐富課堂內容提供相關資料,又能夠為培養復合型應用型人才打下堅實的基礎。
(2)引導并激發學生的自主學習意識。Python程序設計是一門編程語言課程,大多數高校依然沿用C++等開設時間較為長久,且一般為教師單方面“灌輸教學”方式來教授Python程序設計,這將導致工科類學生在學習相關課程時感到乏味,無法將之與實際生活相結合,總有一種空中樓閣的感覺,最終,致使學生學習積極性不高、掌握不了理應掌握的技術。因此,教師應通過專業的獨特性與Python程序設計課程的融合來進行內容的教學,在課程基礎理論知識講述前,設置與其專業相關的問題,引導并激發學生的自主學習意識,令其帶著問題在課程中尋找答案,保持高昂的興趣進行理論基礎的學習。例如,在金融專業班級進行分支結構的內容傳授時,可以課前設置幾個問題:(1)假如某個用戶需要進行貨幣的兌換,相應的匯率是什么,可以用什么途徑來獲取相應匯率?(2)應該輸入什么樣的格式,才能讓用戶清楚了解所需要進行兌換的貨幣以及轉換后的貨幣表示方式呢?(3)怎樣才能利用查詢到的匯率,將對應的貨幣轉換成目標貨幣呢?通過理論知識講解前的問題設置,引導學生產生自主思考的意識,激發其自主學習的能力,使得學生可以帶著問題學習,結合講述的分支結構理論知識思考相應的解決方法。
(3)注重課程整體性的同時要有所取舍。所有課程都具有課時量限制,不可能將課程涉及的內容在課堂中都追根究底,因此,教師進行基礎理論知識的講授時,應保證課程的循序漸進、由易到難,也應保證課程各章之間的關聯性,可以不完全按書籍編排順序進行教學,但也不能將整本書拆得零零散散且毫無章法地進行講解。此外,還應有一定的取舍,教師講授哪些內容?哪些內容需要同學自己課后學習?通過什么方式進行學習?這些都是在課程內容確定時應該考慮的問題。以學習Python程序設計的循環結構為例,首先,在循環結構的講解階段,關于計算框圖的相關原理和具體流程是初等教育的內容,因此,可以對框圖計算的知識點進行舍棄。其次,在進行循環結構的其他理論知識講解前,可將前面章節實現的較為基礎且具有一定重復性的代碼作為鋪墊,指出這段代碼具有重復累贅的缺點,然后開始講述循環結構的遍歷循環及無限循環相關理論,接著講述循環結構的高級使用方法,再通過循環結構將前面章節具有重復性的代碼進行改寫,實現相同的功能,保證編寫的程序向更好的簡潔性與可讀性不斷靠攏。最后,布置相關作業時可以將舍棄的框圖部分加入,以達到讓學生自學的目的。注重課程整體性的同時有所取舍,不僅可以減少教師的工作量,同時也可以加強學生自學能力的鍛煉。
教學方式的改革與創新,一直是課程教學過程最為重要的環節。如何改進教學方式來實現培養復合型應用型人才的目標,也是當前時代背景下的一個重要課題。本文列舉了兩種與時俱進的教學方式:結合“思政教育”的教學和進行新型“翻轉課堂”的教學,利用這兩種教學方式更能豐富課堂內容、提高學生學習興趣和引導正確的三觀。
(1)結合“思政教育”的教學。在人工智能時代,高等教育依舊要高舉立德樹人的旗幟,只有將“德智體美勞”全面發展的理念貫徹到教學中,才能為國家與社會培養出復合型應用型人才。雖然“課程思政”[3]于2016年就在全國高校思想政治工作會議上被提出,但目前思政教育與課程融合的程度不盡理想,很多高校教師沒有經過系統的培訓,也不具備專業的政治理論素養,在思政教育方面,只能將政治理論生搬硬套至課堂之中,脫離實際,令學生反感,反而導致了負面效果,既令課程知識的傳授程度降低,又無法很好地引導學生樹立正確的三觀。因此,在將思政教育與專業課程相結合時,應做到悄無聲息和步步為營,要讓學生在接收基礎理論知識的同時,補充了相關思想政治精神食糧。在Python程序設計的傳統教學方式(如板書授課、PPT授課等方式)中應融入國際形勢、社會主義核心價值觀等思政課程的元素,實現在傳授基礎理論知識的同時,引導學生樹立正確的三觀。以Python程序設計的turtle繪圖標準庫為例,在教導學生如何編寫繪圖程序時,可以教導學生在做事情過程中,應該保持嚴謹、循序漸進的態度,將每一個步驟考慮清楚再進行編程,而在編寫程序出現問題時,可以教導學生應該發揚不畏困難、吃苦耐勞的精神,樹立他們能迎難而上、敢打敢拼的作風,此外,還可以讓學生自主尋找帶有正能量,且是自己想要繪畫的圖片,從整個利用編程語言進行繪畫的過程中,教導學生應該發揚善于觀察、善于發現美的能力。
(2)進行新型“翻轉課堂”的教學。傳統的“翻轉課堂”[3-4]通過制作課程相關的教學視頻,先讓學生進行視頻學習,將自身學習時產生的問題記錄下來,在課程中與教師和其他同學進行交流互動,在提高學生參與感與自主學習能力的同時,令學生可以更大程度了解自身存在問題,有針對性地提升自身專業素養。但傳統的“翻轉課堂”具有一定局限性,該模式要教師提前花費大量時間準備與教材配套的學習視頻,而國內高校中大部分教師都具有一定的科研壓力,所以很多教師認為這種模式極為耗費精力,令大多數高校教師都不情愿采取這種教學模式。此外,這種教學模式還要學生的積極配合,對于每個專業班級中只求應試技巧和及格分數的同學來說,這種通過課外時間進行提前預習的方式,是一個巨大的“學習負擔”,久而久之,積欠的學習任務越來越多,最終選擇不再學習,這也將導致教師對這種積極性不高的學生所接受知識的程度掌握不到位,無法及時“對癥下藥”。而新型的“翻轉課堂”模式是通過教師與學生的身份進行轉換,讓所有學生一起進行課程PPT的準備,可以極大程度上降低教師的工作量,同時可以讓學生以各自喜歡的方式來進行課程理論知識的交流,此外,教師還可以對學生有誤解部分和遺漏部分進行改正與補充,實現課程理論知識的傳授。以《Python程序設計》課程為例,新型“翻轉課堂”的教學方式,可以利用好教師與學生這二者的身份差異進行“身份轉換課堂”,因為教師的最終目標是為學生傳道授業解惑,而學生的任務也不僅僅是學習理論知識,還應該包括各種資源的獲取手段學習、辦公軟件的使用方法學習等。教師可以通過“身份轉換課堂”將學生進行隨機分組,再將每次需要講解的內容范圍提前給予對應小組的學生,讓其在預留課堂十分鐘的前提下準備好課程相關PPT,準備期間可運用自己所知道的方式,如慕課網、B站等網站的學習視頻等進行課程的準備,最后,教師利用預留時間向大家點明相關組別學生的優點與不足,以及解答其他組別學生的疑惑,如有遺漏知識,可以在課程中進行補充,最后布置課程內容相關作業,以此來檢驗學生對課程內容的掌握程度。
《Python程序設計》課程屬于編程語言類課程,本質上是利用計算思維替代數學思維或實證思維來處理復雜的事務。如果只是在課堂中講解理論知識,并不讓學生進行實踐操作,將會導致學生對課程的內容掌握不全面,且無法靈活的利用所學理論來解決實際問題,而目前大多數高校實行的實踐方式,依舊保持著為學生安排固定的實踐任務,然后集中時間讓每個學生獨立完成相關任務,這種實踐方式僅僅讓學生初步掌握基礎理論與有限情況結合的處理方式。為此,設計更加科學合理的實踐方式,對提升學生解決實際問題的能力,以及提升學生各方面綜合素質就顯得尤為重要。
(1)高校中的項目式實踐方式,顧名思義,就是將高校內實踐劃分成一個個的項目,利用項目規劃的方式完成課程規定的實踐任務。教師在實踐設計方面,可以基于所需學習的課程理論知識,結合自身所接觸的企業項目、基金項目等,按照項目驅動的模式展開教學實踐。以《Python程序設計》課程為例,首先,教師可以于課前結合當前技術熱點與時事新聞[5],給學生確定每次實踐課程的主題,如:利用網絡爬蟲分別收集全球因疫情死亡與治愈各自的人數,并設計訪問界面供用戶進行數據查詢等功能、利用turtle庫和math庫的結合,在不與原始標志重疊的前提下,為第33屆夏季奧林匹克運動會設計一個你心目中的會標等等。其次,對所有同學進行分組,每個小組選出一名小組長,成員按照小組長任務規劃完成各自的部分,結合小組所有成員最終實現的模塊,完成項目規定的功能制作,教師在批閱完所有小組的項目報告后,給出評價以及排名。最后,可以設置“身份轉換課堂”,讓作品邏輯性強、功能性全的小組作為榜樣進行思路講解,讓其他組別學習這種編程思維,進一步提升自己的編程能力,同時教師還可以指出該作品的不足,以及實現作品升級的大致方向,讓學生進一步了解想要實現性能優越的作品應該具備的元素。
(2)高校外的項目式實踐方式,即學生可以借助教師所具有的資源,進入企業進行專業相關的工作實習,以聯合培養的方式提高自身能力素養。以《Python程序設計》課程為例,教師可以在課后與專業相關的企業,如利用Python語言編寫算法進行物品檢測、自動駕駛等領域的企業進行合作,讓學生了解目前市場上流行的技術以及自身領域較為先進的技術,并且讓學生掌握好在企業工作必須具備的能力,為將來的工作夯實基礎。實習期間,讓學生完全按照企業的規章制度進行自身工作,如上班時間按時打卡、酬金分配方式為多勞多得等,令他們提前熟悉企業項目的具體生產流程,并清楚的認知到在整個企業中上級所下發的任務,自己在其中所扮演的角色是什么,以及最適合扮演的角色是什么,從而找準未來的目標,將職業生涯規劃得更加清晰,為培養復合型應用型人才的目標實現提供巨大動力。
《Python程序設計》課程的教學改革與實踐是時代交給我們的重大任務,雖然我們為了培養國家需要的復合型應用型人才這個目標做了許多努力,也取得了些許成果,但是課程的改革與實踐是一條沒有盡頭的道路,只有在遵循教學規律的前提下與時俱進,不斷突破思想的禁錮,不斷豐富課程內容,不斷提升教學技術手段,才能進一步拔高我們所培養的復合型應用型人才的各種素質,讓培養的人才在更大的舞臺上具有更強的競爭力。