邵仲世,邵煒世
(1.陜西師范大學(xué)計算機(jī)科學(xué)學(xué)院,陜西 西安 710119;2.南京師范大學(xué)計算機(jī)與電子信息學(xué)院/人工智能學(xué)院,江蘇 南京 210023)
在傳統(tǒng)面向非計算機(jī)專業(yè)的編程語言中,多數(shù)以C語言為主,但隨著大數(shù)據(jù)和人工智能時代的到來,大量數(shù)據(jù)需要仿真建模、分析、可視化等,C語言就不再是最佳選擇。Python作為一門跨平臺、開源、免費的編程語言,已在各領(lǐng)域有廣泛的應(yīng)用。國內(nèi)諸多高校已開設(shè)了Python程序設(shè)計,開設(shè)專業(yè)不僅包括計算機(jī)、軟件工程、人工智能等信息類專業(yè),也包括了物理、生物、食品、機(jī)械、管理等專業(yè)[1]。
實驗教學(xué)是程序設(shè)計類教學(xué)的關(guān)鍵環(huán)節(jié),目的是培養(yǎng)學(xué)生的編程思維、動手時間能力、解決實際問題和運用知識的能力。實驗課時提成編程能力的最有效的途徑。如何進(jìn)行有效的實驗教學(xué)顯得至關(guān)重要。文獻(xiàn)[2]提出結(jié)合成果導(dǎo)向、案例式教學(xué)和混合式教學(xué)的Python基礎(chǔ)課程教學(xué)實驗方法;文獻(xiàn)[3]針對Python實驗教學(xué)中存在的教學(xué)內(nèi)容分散的問題,提出以問題驅(qū)動、分散實施為理念的實驗內(nèi)容設(shè)計方案;盡管已有一些學(xué)者對Python實驗教學(xué)進(jìn)行了探討,但相關(guān)研究仍然較少。本文對Python實驗教學(xué)中存在的問題進(jìn)行了分析,并探討了相應(yīng)的解決方法。
Python程序設(shè)計以其簡潔、高效和擁有強(qiáng)大計算生態(tài)的特點,逐步成為各大高校非計算機(jī)專業(yè)首選的程序設(shè)計語言。以下從4個方面分析了Python程序設(shè)計實驗教學(xué)中的不足。
(1)實驗教學(xué)內(nèi)容分散,缺少整體性思路。目前,許多高校開展的Python程序設(shè)計實驗教學(xué)大都遵循實驗教學(xué)與教材同步,以復(fù)習(xí)、鞏固理論知識為主。通過重新實現(xiàn)課堂上的代碼來熟悉所講授的語法、函數(shù)和算法,這樣的方式有利于緊密結(jié)合課堂內(nèi)容,易于鞏固理解知識;不足在于各章節(jié)實驗聯(lián)系不夠緊密。特別是面對非計算機(jī)專業(yè)的學(xué)生,由于對計算機(jī)程序設(shè)計缺乏正確的認(rèn)識和應(yīng)有的積極性,大量知識點的堆砌以及與專業(yè)不相關(guān)的實驗內(nèi)容,使得他們逐漸失去對學(xué)習(xí)計算機(jī)程序設(shè)計的熱情和積極性。
(2)缺乏有效的實驗課程教學(xué)考核機(jī)制。許多高校的程序設(shè)計課程沒有建立完善的考核機(jī)制,幾乎都是通過最后的期末機(jī)試來完成考核,即便是實驗課在最后的綜合成績中占據(jù)一定的比例,在目前“實驗課盡量不要讓學(xué)生掛科”的普遍“共識”下,實驗課程的學(xué)習(xí)評價就變得無足輕重。當(dāng)學(xué)生沒有了考核要求,同時缺乏對課程的熱情,自然而然就成了“程序錄入員”。因此,建立合理的實驗教學(xué)考核機(jī)制就顯得尤為重要。
(3)缺乏專業(yè)相關(guān)的實驗案例。在諸多高校的編程類課程的實驗課中,仍舊采用經(jīng)典的訓(xùn)練實例,而不同語言具有不同的特點,千篇一律的訓(xùn)練內(nèi)容已不能滿足學(xué)生的要求。Python語言在數(shù)據(jù)分析和人工智能等領(lǐng)域具有廣泛的應(yīng)用,具有豐富的實驗設(shè)計案例,依據(jù)專業(yè)背景設(shè)計有效的實驗案例顯得尤為重要。特別是在實驗案例的設(shè)計過程中,應(yīng)注重基礎(chǔ)知識與專業(yè)背景問題的結(jié)合。如果實驗案例設(shè)計得過難而脫離課堂中所學(xué)的基礎(chǔ)知識,那么很難起到鞏固基礎(chǔ)知識的作用。
(4)缺少有效的實驗平臺。大部分高校所采取的紙質(zhì)或者電子版的實驗報告形式呈現(xiàn)實驗過程,學(xué)生在實驗的過程中幾乎都是在本機(jī)進(jìn)行自主編程,通過自行設(shè)計一些測試用例來驗證程序的正確性,最后撰寫實驗報告。通過這種傳統(tǒng)方式,任課教師很難在學(xué)生進(jìn)行自主編程的過程中的發(fā)現(xiàn)問題,因此,建立滿足學(xué)生編程需求同時能夠及時檢測學(xué)生實驗行為的實驗平臺是實現(xiàn)高效Python實驗教學(xué)的亟待解決問題。
(1)注重進(jìn)階式的實驗內(nèi)容?;A(chǔ)知識是培養(yǎng)編程思維的關(guān)鍵,堅實的基礎(chǔ)知識使得學(xué)生解決問題時更加游刃有余。Python程序設(shè)計的實驗內(nèi)容應(yīng)緊緊結(jié)合知識點,具有一定的進(jìn)階性。特別是非計算機(jī)專業(yè)學(xué)生在掌握了一點基礎(chǔ)知識后,應(yīng)注重知識點之間的串聯(lián),建立相應(yīng)的知識體系,以便后期進(jìn)行技能提升。具體將實驗內(nèi)容分為兩個階段:第一階段為“基礎(chǔ)”階段,主要內(nèi)容包括運算符、表達(dá)式、序列、函數(shù)、字符串、程序控制結(jié)構(gòu);第二階段為“進(jìn)階”階段,主要掌握文件和文件夾的操作、異常處理機(jī)制、復(fù)雜函數(shù)實現(xiàn),并結(jié)合相關(guān)專業(yè)問題,掌握專業(yè)第三方庫的使用,熟悉異常處理。
(2)依托專業(yè)背景,豐富實驗案例。任課教師應(yīng)從科學(xué)研究、實際生活中獲取大量的實例,從中精選指向具體專業(yè)背景的應(yīng)用,將其設(shè)計為實驗案例,以豐富實驗課內(nèi)容。具體可從以下幾方面來考慮實驗案例:①實驗案例選取應(yīng)遵循“易理解、能分析、可實現(xiàn)”的原則,根據(jù)學(xué)生的能力和知識體系設(shè)計實驗案例,防止過難而超出知識范圍,避免學(xué)生在實驗課教學(xué)中的挫折感。②實驗案例應(yīng)注重循序漸進(jìn),考慮知識點串聯(lián)。③實驗案例應(yīng)盡量與不同專業(yè)的背景相關(guān)。④實驗案例應(yīng)注重培養(yǎng)編程思維,鼓勵學(xué)生根據(jù)自己所學(xué)的專業(yè)知識結(jié)合編程語言,分析問題并設(shè)計問題的解決方案。
(3)項目驅(qū)動的非計算機(jī)專業(yè)Python程序設(shè)計實驗教學(xué)。在學(xué)生掌握了一定的基礎(chǔ)知識后,實驗課可以采用項目驅(qū)動的方式,以提升學(xué)生解決問題的能力。具體可從以下幾方面入手:①選擇貼合實際應(yīng)用的項目案例,突出專業(yè)特色,注重與課本知識點的串聯(lián)。②任課教師在實驗教學(xué)過程中應(yīng)給學(xué)生提供一個解決問題的思路或方向,讓學(xué)生自己動手去解決問題,調(diào)動學(xué)生的主動性。③將項目按模塊劃分,得到若干模塊,將每個具體模塊的實現(xiàn)安排在每次實驗課上進(jìn)行,形成一個“實驗”到“項目”的任務(wù)體系。每個模塊的解決方案應(yīng)與對應(yīng)的課堂教學(xué)內(nèi)容具有較強(qiáng)的關(guān)聯(lián)度。
(4)基于線上平臺實驗教學(xué)考核。實驗教學(xué)考核又與課堂考核有所區(qū)別,其包含了兩部分:過程和結(jié)果。過程考核重點考查學(xué)生思考、分析和解決問題的能力,引導(dǎo)學(xué)生全面提高專業(yè)素養(yǎng)和綜合素質(zhì),提高學(xué)生的學(xué)習(xí)能力;結(jié)果考核主要是對實驗內(nèi)容的完成情況進(jìn)行考核,并結(jié)合實驗報告進(jìn)行評定[4]。其中,實驗過程的考核在考核中占據(jù)主要的組成部分。如何記錄實驗過程是實驗考核的關(guān)鍵,為此可采用在線實驗教學(xué)平臺。學(xué)生在線上平臺自主進(jìn)行實驗,對每次提交的代碼進(jìn)行記錄,可通過對一些指標(biāo)的分析來評估學(xué)生在實驗過程總體的表現(xiàn)。
(5)建立Python實驗教學(xué)平臺。Python實驗教學(xué)平臺對掌握Python語言具有至關(guān)重要的作用。不僅需要滿足日常上機(jī)實驗,還要考慮實驗報告的提交形式、實驗過程的追蹤、實驗課在線教學(xué)、實驗課考核。具體可從以下幾方面來建立實驗教學(xué)平臺:①針對不同專業(yè)的學(xué)生和不同學(xué)習(xí)階段,建立實驗案例庫。②具備自動程序驗證功能,通過不同特征的測試用例來測試學(xué)生提交的代碼,并在驗證之后給出相應(yīng)的用例驗證結(jié)果,以便幫助學(xué)生進(jìn)行反思。③記錄學(xué)生每次提交代碼的驗證結(jié)果,通過后臺數(shù)據(jù)分析給出在實驗過程中存在的問題,并報告給任課教師。④基于學(xué)生實驗過程的行為和實驗報告,依托一些定量指標(biāo)對實驗過程進(jìn)行輔助評價。⑤引入輔助在線教學(xué)平臺,學(xué)生通過在線教學(xué)平臺可隨時回顧知識點,并解決實驗過程中出現(xiàn)的問題。
Python語言已成為非計算機(jī)專業(yè)程序設(shè)計類課程的首選,然而傳統(tǒng)程序設(shè)計的實驗教學(xué)方法很難滿足現(xiàn)有教學(xué)要求。因此,Python程序設(shè)計實驗教學(xué)的改革迫在眉睫。本文通過分析Python程序設(shè)計教學(xué)的現(xiàn)狀,在實驗內(nèi)容、實驗案例、實驗考核、實驗平臺等方面對實驗教學(xué)改革措施進(jìn)行了探討,力求提升Python實驗教學(xué)的質(zhì)量。