李俊芳
[摘? ? ? ? ? ?要]? 在社會不斷發展下,更加注重應用型人才的培養,這對本科院校教學提出了新的要求。而對非計算機專業開設的Python程序設計課程,主要目的是培養復合型應用人才,通過教學幫助學生掌握程序設計的思想和方法,促使學生養成解決問題的思維習慣,并能夠運用這種思維解決工程領域的實際問題。主要分析了應用型本科院校非計算機專業Python程序設計課程面臨的問題、Python程序設計課程教學內容設計以及Python程序設計課程教學具體的實施途徑。
[關? ? 鍵? ?詞]? 應用型本科院校;非計算機專業;Python程序設計;教學模式
[中圖分類號]? G642? ? ? ? ? ? ? ? ? ?[文獻標志碼]? A? ? ? ? ? ? ? ? ? ? ? [文章編號]? 2096-0603(2020)32-0058-02
目前,新一代人工智能技術已經逐步應用起來,這也意味著要進行再一次的工業革命,而作為應用型本科院校,在這一背景下如何跟上時代腳步,是當下眾多高校教育工作者值得探究的問題。在非計算機專業開設Python程序設計課程,主要是幫助學生掌握基礎的計算機知識,具備程序設計思維和方法,可以用于解決問題。Python作為一種高級腳本語言,其融合了解釋性、編譯性、互動性等語言,受到了人工智能領域的廣泛應用。本文主要結合多年的教學經驗,對其教學在教學內容、方法、模式等相關問題進行了研究和分析。
一、應用型本科院校非計算機專業Python程序設計課程面臨的問題
從目前我國高校針對非計算機專業開設的計算機課程看,大多數都是以C語言程序設計課程為主,并且在實際教學內容安排上主要是數據類型、內存、字符操作等內容。但這些內容對于非計算機專業學生而言,學生并不具備相應的計算機體系結構相關知識,同時對專業的需求性不高,也缺乏正確認識,再加上存在諸多學習困難,綜合這些情況,C語言程序設計課程內容并不能滿足非計算機專業學生日后的學習需求[1],所以,本文采用Python語言替代非計算機專業的C語言,其原因在于:(1)Python語言代碼簡潔,與C語言相比較,其代碼行數較為簡短;(2)Python在語法上非常簡單,沒有涉及C語言中的指針、地址等,這樣有助于降低知識難度,提升非計算機專業學生的理解能力;(3)在Python中具有非常豐富的圖形庫、科學計算庫,在很大程度上可以提高學生學習程序設計的興趣;(4)Python語言中具有強大的標準庫,在其作用下,可以實現機器學習、大數據處理、網絡爬蟲等,學習這些可以幫助學生學習以后專業可以用到的知識。
但從當前實際教學情況看,仍然存在很多問題。首先,雖然在形式上Python語言成為C語言的替代品,但在實際教學內容中,對應的教學案例卻依然按照C語言形式,依然還是以編程語言為主進行教學,此種形式的教學并不能發揮出Python語言自身的優勢[2],可以說課程內容嚴重缺乏創新性。其次,在具體課程教學內容方面,教師并沒有結合不同的專業進行調整,所以導致學生并沒有認識到學習程序設計課程的重要性,也片面地認為學習該課程不會對其專業的后課程起到積極作用,所以學生在實際學習過程中只為拿到學分。最后,在教學模式上,并沒有根據實際情況對程序設計語言進行調整,呈現出以教師為主,學生為輔的教學現狀,同時,教師在實際教學過程中多采用傳統教學方式,導致學生難以產生學習興趣,所以學習成效不高。
二、Python程序設計課程教學內容設計
(一)明確課程目標,制定教學計劃
本著“思維培養、能力培養,服務專業”的教學目標,對Python程序設計課程教學內容進行設計。Python程序設計課程的開展可激發師生的興趣和創造力,提升教學質量,讓學生喜歡編程、會編程,培養學生的計算思維能力、創新能力和發現問題、分析問題和解決問題的能力。[3]此教學目標的設立突出了不同專業的特點以及需求,同時也進一步明確了對學生創新思維能力以及計算機實際應用能力的培養目標,制定相應的教學計劃,不斷探索新的教學模式、教學方法,從而有效促使學生將知識進行內化,使能力得以提升。
(二)教學內容設計
根據上述課程目標,需要對相應的教學內容進行改革,可以規劃為基礎、能力、應用三部分。其中的基礎部分,包含基礎語法、基本程序結構;能力部分則是基本算法、高級數據結構;應用部分,主要是在不同專業需求下,設計相應的應用,而后引導學生根據自身專業,進行程序設計,以此來提高學生的知識運用能力。按照此種方式設計課程,可以幫助教師梳理課程難點、重點,更好地設計實際教學內容。而這種課程內容組織形式還可以幫助非計算機專業學生理解課程的總體結構,并在由淺入深的過程中逐步提升學生的計算思維能力和系統能力。對課程中所涉及的語法知識[4],教師可以在課堂上進行簡單講解,而后通過MOOC平臺,引導學生自主學習。學生在學習中遇到問題時,可以通過反復觀看MOOC上的視頻和課件資源。積極有效地利用網絡資源,并鼓勵學生參與線上討論,進一步激發學生的學習興趣,改變學習模式。
(三)教學模式設計
對程序設計課程而言,需要通過實踐促使學生對知識的進一步掌握,可以充分利用“理論+實踐”的方式實施。教師可以將授課地點安排到機房,這樣有利于學生當堂進行實踐驗證,促使學生在思維和技能上都得到提高。
在課前導入環節中,教師可以利用前導課程RAPTOR可視化程序設計,激發學生的興趣,促進學生計算思維能力提升,可以通過構建翻轉課堂模式,搭建“RAPTOR流程圖+程序設計”教學框架、引入實例等方式,開展多元化教學模式,從而有效激發學生的學習興趣,幫助學生進一步自主學習。[5]
三、Python程序設計課程教學具體實施途徑
(一)構建翻轉課堂教學模式
翻轉課堂的實施,其目的在于要充分落實“理論教學融于實踐,實踐貫穿教學全過程”,為此,本次教學改革引入了MOOC上開設的Python程序設計課程資源,采用先精講導學,而后引導學生課外自主學習并進行自測的模式,完成理論知識教學。
首先,需要創建SPOC,在Python程序設計MOOC課程資源基礎上,建設校本SPOC,而后結合課程實際需求,建立學生學習需要用到的資源,并在學生知識認知程度基礎上合理設置課前引導問題,為學生課前學習設置方向和問題[6]。
其次,學生課前自主學習。學生結合教師布置的學習任務,借助SPOC資源和“雨課堂”教學工具開展自主學習,在學習過程中要記錄不理解的問題,并及時反饋給教師,從而讓教師可以掌握學生的學習情況,為后期講解提供參考。
再次,在實際課堂中,教師可以先讓學生自測,獲取到學生的答題情況,而后有針對性地開展實際教學,并且教師要注意,應當將更多的精力用于啟發和引導學生分析問題、解決問題中。此外,需要在Python程序設計中融入理論知識,幫助學生在課上開展編程實踐,而后教師僅需要講解難點、重點即可,有利于提升教學效率。
最后,學生自測,完成SPOC平臺中的基礎編程題目測試,進一步鞏固所需理論知識點。
(二)搭建“RAPTOR流程圖+程序設計”教學框架
為了讓學生更好地理解和掌握程序設計中的難點,可以在簽到課程RAPTOR可視化程序設計下,結合Python程序設計,這樣不僅可以幫助學生理解Python程序設計語言結構,還可以訓練學生的思維[7]。
例如,“PM2.5空氣污染指數分級問題”,學生難以理解Python的分支嵌套結構。對此,教師可以引導學生利用RAPTOR給出的解決流程圖,而后啟發其對照之前學習過的if-else結構,讓學生寫出分支嵌套結構。幫助學生理解程序設計的不同方法,促使學生對其有更加直觀的認識。
(三)靈活運用教學案例
在實際教學過程中,教師可以引入實例,從而促使學生從基本問題過渡到綜合問題,進行深入學習,發揮Python的語言優勢,提升學生的學習興趣以及計算機思維。對此,教師可以引入圖形化案例,增強學生的學習興趣,要注意案例的趣味性,能夠融合知識點,進而實現提高學生應用能力的目標。
例如,如何利用Turtle庫繪制等邊三角形,可以先引導學生使用Python庫以及程序循序結構設計,而后再講解利用其循環結構方法簡化代碼行,最后通過等邊三角形旋轉,提出高級數據結構列表的概念。以此為例,促使學生循序漸進地學習知識[8]。
四、教學效果分析
通過對學生的調查不難發現,在Python程序設計課程中開展多元化教學模式,促使教與學的方式都發生了改變,改變了非計算機專業學生對程序設計課程的固有認識,其中大約有63.86%的學生認為其對提升計算機思維具有重要幫助。47.72%的學生愿意開展SPOC課堂翻轉,可以幫助到自身學習。而對教師而言,也不再是單一的知識傳授者,更是開發者、引導者以及利用者,對提升教學質量具有重要幫助。
總之,通過本文的研究,希望對應用型本科院校非計算機專業程序設計課程教學提供幫助,促使其與專業實踐應用更好地結合,提升教學質量以及學生的程序設計實踐能力。
參考文獻:
[1]李瑞芳,劉華鎣,時貴英,等.新工科背景下非計算機專業計算機基礎課程教學改革與實踐[J].微型電腦應用,2020,36(3):122-124.
[2]馮秀娟.高校非計算機專業計算機基礎課程教學現狀分析及改革探究[J].公關世界,2020,4(2):128-129.
[3]曹鳳雪,陳艷萍,黃成.非計算機專業C語言課程的教學方法[J].福建電腦,2020,36(1):104-105.
[4]李麗,王大勇,易俗,等.基于Python程序設計的多元化逐級式教學模式[J].計算機教育,2020,56(1):177-181.
[5]牛榮,高賢強.大學計算機基礎課程教學改革研究:以塔里木大學為例[J].科技資訊,2020,18(1):135-136.
[6]周潔,張永波.慕課在非計算機專業C語言教學中的應用[J].科技資訊,2019,17(25):172,174.
[7]張玨,劉美玲,李波.非計算機專業C語言程序設計課程教學的改革研究[J].電腦知識與技術,2019,15(22):173-174.
[8]張月琴.淺談非計算機專業C程序設計課程教學改革[J].電腦知識與技術,2019,15(16):122-123.
◎編輯 馬燕萍