李傳珍
人工智能時代的程序設(shè)計課程教學(xué)改革探索與實踐*
李傳珍
(中國傳媒大學(xué) 信息與通信工程學(xué)院,北京 100024)
在人工智能大發(fā)展的時代背景下,針對“C/C++語言程序設(shè)計”課程傳統(tǒng)教學(xué)中存在的問題,對照“兩性一度”的中國金課建設(shè)標準,針對課程設(shè)置、教學(xué)理念進行了改革,并且在各教學(xué)環(huán)節(jié)中積極引入線上線下混合教學(xué),探索了“闖關(guān)”學(xué)習(xí)模式在實踐練習(xí)中的應(yīng)用,提高了學(xué)生解決實際問題的能力和自主學(xué)習(xí)能力。
金課;程序設(shè)計;教學(xué)改革;線上線下混合教學(xué)
人工智能正深刻改變著人類的科技發(fā)展和社會生活。國務(wù)院印發(fā)的《新一代人工智能發(fā)展規(guī)劃》,將人工智能上升到國家戰(zhàn)略。在這樣的背景下,國內(nèi)外各高校逐步將人工智能相關(guān)課程納入到課程體系中[1]。典型的人工智能應(yīng)用,如數(shù)據(jù)挖掘、自然語言處理、計算機視覺等,均離不開機器學(xué)習(xí)、深度學(xué)習(xí)的支撐,而機器學(xué)習(xí)和深度學(xué)習(xí)是以數(shù)據(jù)結(jié)構(gòu)和算法為支撐的,數(shù)據(jù)結(jié)構(gòu)與算法又以程序設(shè)計及數(shù)學(xué)基礎(chǔ)作為重要的基礎(chǔ)。因此,程序設(shè)計能力的培養(yǎng)近年來成為各階段教育追逐的重要目標之一。與此同時,越來越多的教育者發(fā)現(xiàn),程序設(shè)計是鍛煉創(chuàng)新能力和培養(yǎng)思考方式最好的方式之一,可以有效地提高學(xué)生思維的邏輯性和完整性,幫助學(xué)生提高邏輯思維和算法思維的能力,這將讓學(xué)生在后續(xù)課程學(xué)習(xí)以及未來工作中終身受益。
與此同時,隨著人工智能技術(shù)的興起,C/C++語言被廣泛應(yīng)用于構(gòu)建各類人工智能技術(shù)框架之中,成為了人工智能技術(shù)浪潮的核心語言之一,著名的TensorFlow、Caffe等的底層架構(gòu)全都由C/C++寫就;許多著名的互聯(lián)網(wǎng)企業(yè)在招聘大數(shù)據(jù)工程師和AI工程師時,也仍然把C/C++語言作為重要的可選的編程工具。
在這樣的時代背景下,本校“C/C++語言程序設(shè)計”課程組在課程設(shè)置、考查方式、教學(xué)理念、教學(xué)方法與手段上進行了積極探索與改革實踐。
“C/C++語言程序設(shè)計”課程的目標是幫助學(xué)生掌握程序設(shè)計的基本概念,掌握程序設(shè)計方法和技能;幫助學(xué)生學(xué)會針對不同應(yīng)用場景選擇和使用面向過程的編程方法和面向?qū)ο蟮木幊谭椒?;建立編寫符合?guī)范和性能良好程序的觀念,提升用C/C++語言解決實際問題的能力,為后續(xù)課程的程序開發(fā)打基礎(chǔ)。
反觀近些年的教學(xué)現(xiàn)狀,本校的程序設(shè)計課程存在如下問題:①實踐課時不足,鍛煉學(xué)生實際動手能力的機會不多,導(dǎo)致對編程思維的訓(xùn)練不足;②對所有學(xué)生授課的內(nèi)容趨同,缺乏個性化學(xué)習(xí)內(nèi)容,部分學(xué)生存在“吃不飽”現(xiàn)象;③課程評價標準落后,以筆試為主的終結(jié)性評價測試忽略了程序設(shè)計課程中非常重要的過程性實踐環(huán)節(jié)和實踐能力考察,極其不利于學(xué)生實踐創(chuàng)新能力的培養(yǎng)。
針對以上問題,對照“兩性一度”的中國金課建設(shè)標 準[2],“C/C++語言程序設(shè)計”課程的改革著力于提高課程的高階性、創(chuàng)新性、挑戰(zhàn)度:①大刀闊斧地進行了課程學(xué)時學(xué)分、考查方式及課程理念改革;在增加實踐環(huán)節(jié)的基礎(chǔ)上,轉(zhuǎn)變?yōu)橐浴皩W(xué)生”為主體的模式,循序漸進地引導(dǎo)學(xué)生學(xué)習(xí),逐步培養(yǎng)學(xué)生解決復(fù)雜問題的綜合能力及高級思維。②積極探索線上線下混合教學(xué),以此增強課程互動,有效提高學(xué)生學(xué)習(xí)效率;并且在自主學(xué)習(xí)和練習(xí)中積極引入“闖關(guān)”模式,激發(fā)學(xué)生編程興趣,促進學(xué)生的個性化學(xué)習(xí)。
傳統(tǒng)教學(xué)中,本?!癈語言程序設(shè)計”和“C++語言程序設(shè)計”以兩門課程形式存在,分屬兩個學(xué)期進行教學(xué)。兩門課程的課時分配方式均為理論課32學(xué)時、實驗課16學(xué)時,學(xué)分為2.5學(xué)分?!癈語言程序設(shè)計”側(cè)重于C語言及面向過程思想教學(xué),“C++語言程序設(shè)計”則側(cè)重于C++語言及面向?qū)ο笏枷虢虒W(xué)。從課時分配上,兩門課的實驗課課時均遠低于實際所需實踐學(xué)時,學(xué)生的實際動手能力鍛煉不足,導(dǎo)致對編程思維的培養(yǎng)不足。自2019級起,本校對程序設(shè)計課程進行了重大改變,將上述兩門課程合并為“C/C++語言程序設(shè)計”,分配到兩個學(xué)期進行教學(xué),課時分配方式修訂為理論課32學(xué)時、實驗課64學(xué)時,學(xué)分為4學(xué)分?!癈/C++語言程序設(shè)計”側(cè)重培養(yǎng)學(xué)生面向過程的編程思想和面向?qū)ο蟮木幊趟枷?,在面向過程階段同時講授C語言和C++語言的語法。
“C語言程序設(shè)計”和“C++語言程序設(shè)計”采用以期末考試為主的考查方式,其中平時成績占10%,作業(yè)占10%,實驗成績占20%,期末考試占60%。這種終結(jié)性評價僅看重最后分數(shù),忽略了過程性實踐環(huán)節(jié),極其不利于學(xué)生實踐能力、創(chuàng)新能力及學(xué)習(xí)積極性的培養(yǎng)。改革后,“C/C++語言程序設(shè)計”改用過程性考查方式,其中平時成績占20%,作業(yè)成績占30%,實驗成績占25%,期末考試占25%。這種過程性考核鼓勵學(xué)生積極主動完成作業(yè)練習(xí),加強對日常教學(xué)環(huán)節(jié)和實驗環(huán)節(jié)的考查,更能綜合體現(xiàn)學(xué)生的學(xué)習(xí)態(tài)度、自主探究能力及創(chuàng)新能力。
以前的教學(xué)中,受限于實踐學(xué)時過少,教師往往通過大量的理論課程向?qū)W生“灌輸”C/C++的理論知識及概念。改革后,在“C/C++語言程序設(shè)計”課程中嘗試將以“教師”為中心的“教”轉(zhuǎn)變?yōu)橐浴皩W(xué)生”為主體的“學(xué)”。具體地,在實際教學(xué)中,鼓勵教師以課程中的核心概念為立足點,提出問題并布置難度適中的實際任務(wù),鼓勵學(xué)生嘗試解決具體問題。當(dāng)學(xué)生在解決問題的過程中遇到困難時,由教師指導(dǎo)學(xué)生查閱資料,幫助學(xué)生獲得知識和解決問題的思路,構(gòu)建與知識點及相關(guān)問題有關(guān)的計算思維。
為了有效地提升學(xué)生的實踐能力和創(chuàng)新能力,課程組在課前、課上、實驗、課后四個環(huán)節(jié)進行了大量的混合教學(xué)方式的探索和嘗試。
課前利用雨課堂推送課前預(yù)習(xí)資料。教師將課前預(yù)習(xí)資料(視頻、練習(xí)、音頻、網(wǎng)頁、PPT等)通過雨課堂推送到學(xué)生微信[3]。預(yù)習(xí)資料以課前引導(dǎo)為主,輔以少量的簡單的習(xí)題,幫助學(xué)生消化理解。
課上利用雨課堂實時把握學(xué)習(xí)情況。教師在上課過程中開啟雨課堂授課,即可將教學(xué)PPT依照講授進度逐頁發(fā)送到學(xué)生的微信;在教學(xué)過程中通過限時練習(xí)方便掌握學(xué)生的理解情況;還可以通過彈幕和討論等功能實現(xiàn)學(xué)生隨時提 問[3],便于教師掌握學(xué)生難于理解的知識點。發(fā)送至雨課堂的課件也有利于課后復(fù)習(xí)使用。
實驗過程中利用POJ平臺強化編程練習(xí)。實驗學(xué)時內(nèi),將實驗練習(xí)轉(zhuǎn)移到POJ平臺[4]上,學(xué)生可以獲得在線測試平臺的即時反饋;教師可以通過查看學(xué)生提交的作品,隨時看到每位學(xué)生的代碼特點和編程習(xí)慣。
課后利用POJ平臺進行自主練習(xí)和挑戰(zhàn)練習(xí)。課程還將大量課后實踐練習(xí)轉(zhuǎn)移到POJ平臺上,通過大量的課下練習(xí)補充課內(nèi)練習(xí)的不足,并按級別給出練習(xí)要求,提高個性化練習(xí)的挑戰(zhàn)度。
通過四個環(huán)節(jié)的改革探索,課程實現(xiàn)了教學(xué)手段綜合化和教學(xué)資源立體化。通過綜合化教學(xué)手段實現(xiàn)了各種教學(xué)資源、考勤考核、教學(xué)評價等信息化和網(wǎng)絡(luò)化,尤其是實踐教學(xué)的網(wǎng)絡(luò)化,打破時間和空間的限制,提高了實訓(xùn)的效率和質(zhì)量;并且實現(xiàn)了自主學(xué)習(xí)、課程上機練習(xí)、指導(dǎo)答疑、考試的類現(xiàn)場化。教學(xué)資源立體化則體現(xiàn)在充分利用了紙質(zhì)教材、信息化即時答疑、網(wǎng)絡(luò)學(xué)習(xí)平臺、個性化實踐平臺等手段,呈現(xiàn)一個多元立體的教學(xué)資源體系。
在實際教學(xué)中,本課程組教師發(fā)現(xiàn),教學(xué)形式越具先進性和互動性,學(xué)習(xí)結(jié)果越具探究性和個性化,越能夠激發(fā)學(xué)生編程興趣,越能有效提高學(xué)生學(xué)習(xí)效率。因此,為了適應(yīng)當(dāng)代大學(xué)生富有激情和挑戰(zhàn)的特點,課程組在課后練習(xí)環(huán)節(jié)探索性的應(yīng)用了“闖關(guān)式”的實踐練習(xí)方式。
通過梳理里程碑式知識點,設(shè)計相應(yīng)的題庫,在POJ平臺完成題庫的建設(shè)[5]。利用html5設(shè)計頁面,呈現(xiàn)各知識點的過關(guān)難度等級,以類似做題游戲的互動形式使學(xué)生獲得闖關(guān)的交互體驗,如圖1所示。這種實踐練習(xí)方法便于學(xué)生掌握自己的學(xué)習(xí)進度和學(xué)習(xí)程度,也能夠有效地增強互動,增強個性化學(xué)習(xí),更契合當(dāng)代大學(xué)生的學(xué)習(xí)習(xí)慣。
圖1 “闖關(guān)式”實踐練習(xí)示意圖
將上述教學(xué)改革探索環(huán)節(jié)在不同班級進行對比實驗,發(fā)現(xiàn)在“C/C++語言程序設(shè)計(上)”中采用混合式教學(xué)和闖關(guān)學(xué)習(xí)模式的班級,在“C/C++語言程序設(shè)計(下)”和“數(shù)據(jù)結(jié)構(gòu)與算法”課程的平均分大大高于傳統(tǒng)教學(xué)班級的平均分。這說明了本次教學(xué)改革效果達到了預(yù)期目標。
“C/C++語言程序設(shè)計”課程一直以來備受各高校的重視,在人工智能時代更是如此。本文在分析了本?!癈/C++語言程序設(shè)計”課程教學(xué)現(xiàn)狀和問題的基礎(chǔ)上,及時轉(zhuǎn)變教學(xué)理念,對課程基本設(shè)置進行了重大改革,在課前、課上、實驗、課后四個環(huán)節(jié)進行了大量的混合教學(xué)方式的嘗試,并且在課后練習(xí)環(huán)節(jié)探索性應(yīng)用了“闖關(guān)式”的實踐練習(xí)方式。上述改革措施緊隨時代發(fā)展,鍛煉了學(xué)生的實踐能力、創(chuàng)新能力和自主學(xué)習(xí)能力。
[1]楊冬.人工智能時代的大學(xué)教學(xué)變革[J].高等理科教育,2020(3):79-81,94.
[2]劉晉.基于“兩性一度”的“金課”建設(shè)[J].山東教育(高教),2019(5):24-25.
[3]孫斌,薛建春,左匡天,等.基于雨課堂的混合式教學(xué)改革與實踐——以面向?qū)ο蟪绦蛟O(shè)計課程為例[J].高教學(xué)刊,2020(16):127-129,132.
[4]朱鴻鵬,袁赟.程序設(shè)計類課程教學(xué)改革實踐研究——基于數(shù)字資源共享共建視域[J].黑龍江科學(xué),2019,10(19):12-13.
[5]張榮博,許莉,叢麗暉,等.基于OBE理念的程序設(shè)計基礎(chǔ)課程教學(xué)改革實踐[J].計算機教育,2020(7):148-151.
G642
A
10.15913/j.cnki.kjycx.2021.01.036
2095-6835(2021)01-0099-02
中國傳媒大學(xué)2019年教學(xué)改革研究項目(編號:JG20058)
李傳珍(1980—),女,北京人,博士,副教授,碩士生導(dǎo)師,中國傳媒大學(xué)信息與通信工程學(xué)院“C/C++語言程序設(shè)計”課程負責(zé)人,研究方向為媒體數(shù)據(jù)分析、多媒體信息處理等。
〔編輯:嚴麗琴〕