彭晏飛 李季 崔彩峰
[摘 要]文章針對傳統教學方式在培養學生編程能力和解決復雜工程問題方面存在的弊端,提出在程序設計類課程的理論與實驗教學過程中采用“案例驅動+自主學習+強化訓練”的教學方式,充分發揮教師的主導性和學生的主體性,完成從傳統的以教師“教”為主向以學生“學”為主的轉變,讓學生學會自主學習,強化程序設計能力的訓練,培養學生的編程思維、軟件開發能力和解決生產生活中的復雜工程問題的能力。
[關鍵詞]復雜工程問題;案例驅動;自主學習;強化訓練
[中圖分類號] G642 [文獻標識碼] A [文章編號] 2095-3437(2022)10-0045-03
復雜工程問題在工程教育認證通用標準的8項畢業要求中被提及,因此培養學生對復雜工程問題的分析與解決能力是工程教育的核心內容。計算機類專業課程體系的設計需要圍繞復雜工程問題進行改進和完善,以支持相關畢業要求的達成[1]。程序設計類課程作為計算機類專業的基礎與核心課程群體,占有相當大的比重,在復雜工程問題編程能力培養方面起著舉足輕重的作用,因此其理論授課和實踐訓練等培養模式也需要根據工程教育認證的要求進行優化和調整,以不斷提高教學質量和培養效果,進一步提高學生的編程能力和水平[2]。目前,在計算機類專業的本科教學過程中,多數教師和學生都認為程序設計類課程所涉及的概念較多,語法規則較復雜,知識點也相對較多,不易記憶與掌握,而且出錯的概率也較高,部分學生反映上課時能夠聽懂,但當自己動手編程時卻無從下手,出現課上聽得懂、課下編不出程序的現象,尤其面對復雜工程問題時,更是一籌莫展。針對這一問題,我們提出在程序設計類課程的理論與實驗教學過程中采用“案例驅動+自主學習+強化訓練”的教學方式,充分發揮教師的主導性和學生的主體性,完成從傳統的以教師“教”為主向以學生“學”為主的轉變,讓學生學會自主學習,強化程序設計能力的訓練。教學以高階性、創新性、挑戰度“兩性一度”的標準來培養學生,提高學生的程序設計能力,同時培養學生的編程思維、軟件開發能力和利用高級語言程序解決生產生活中的復雜工程問題的能力。下面以遼寧工程技術大學(以下簡稱“我校”)計算機科學與技術專業為例,介紹我們實施的程序設計類課程“教與學”模式改革。
一、程序設計類課程教學改革方案
我校從2015年開始實施教育教學質量提高工程,強調復雜工程問題能力培養,鼓勵教師在理論和實踐課程中進行“教與學”模式的改革。
(一)課程群團隊建立
參照我校教育教學質量提高工程實施方案中“每門課程多人研究和多人建設”的原則,計算機系組織成立了程序設計類課程群團隊,團隊中教師相互協作、共同參與課程建設[3]。我們對課程群中的每門課程,如C語言程序設計、面向對象程序設計、數據結構、匯編語言程序設計、Java語言程序設計和Python語言程序設計等課程都進行了“教與學”模式的改革。另外,針對每門課程,我們還成立了至少由3名教師組成的課程小組,負責該門課程的建設,由教學經驗豐富并長期教授該門課程的老教師擔任組長,小組成員在組長的帶領下進一步優化教學大綱,并完成教學內容、教學模式的制訂和編排,按照解決復雜工程問題和提高編程能力的要求,著重進行提高實驗內容的質量和數量的方案設計。
(二)“教與學”模式設計
每門課程“教與學”模式的總體設計包含以下幾個方面。
第一,案例驅動。根據優化后的課程教學大綱,每門課程設計若干具體案例用于授課。案例設計以工程性、趣味性為原則,每個案例涵蓋一個或多個知識點。教師圍繞案例展開教學,以案例引出知識點,然后又結合案例講授知識點,并理解其在案例中的應用。教學中知識點與案例互通互融、相互促進,避免了傳統的以知識點為主進行授課的枯燥,同時使學生能夠充分了解該知識點的具體應用[4],進而培養學生解決復雜工程問題的能力。
第二,自主學習。教師每次授課前都將授課電子教案和案例發給學生,學生結合教材、案例和電子教案進行課前預習。這種自主學習具有明確的目的性,提高了學生學習的積極性和自學能力,使學生聽課時能有的放矢、重點突出,教師授課過程更加輕松,教學效果事半功倍[5]。
第三,單元強化訓練。每次課后布置若干訓練題目讓學生在課后和上機實驗課中進行編程訓練,從最簡單的程序編起,循序漸進,逐步提高學生的編程能力和解決復雜工程問題的能力。教師在每個知識單元講解及訓練結束后都進行單元測驗,根據測驗結果有針對性地對每個成績不理想的學生進行一對一輔導,直至其能夠獨立解決此類問題為止。
第四,綜合訓練。按教學內容分期安排3個綜合訓練項目(典型案例),項目內容按照學習進度進行設計,遵循循序漸進、由淺入深原則,并制訂詳細的訓練內容和評價標準。每項綜合訓練項目結束后,教師都要求學生提交源程序和設計報告,并以演示、答辯的方式檢查各綜合訓練項目的完成情況,給出相應的成績,這樣能在完成考核的同時培養學生的語言表達能力和團隊合作能力。
第五,課后答疑。利用互聯網的優勢采用線上線下相結合的答疑方式,每周安排兩次固定時間和地點的面對面線下答疑,同時建立QQ群,隨時進行線上答疑。
二、程序設計類課程教學方法與實施
(一)理論教學方法與實施過程
課題組改變了傳統的“填鴨式”教學方法,采用以學生為主體的“案例講解+自主學習”教學方法,具體到課程教學的設計中,是指課前對課程的全部內容按照知識點進行歸納,并由淺入深地設計出若干個案例,即將不同的知識點隱含到不同的案例當中。為了增強學生的興趣,設計的案例要有較強的數學性、知識性、趣味性及實用性,同時加入一些復雜工程問題和相應的解決思路[6]。課前將案例所對應的授課電子教案發給學生,讓學生結合教材自主學習,這樣方便學生明確自主學習的目的性,提高了學生自主學習的積極性。教師講課過程中應注重互動交流、隨機提問,使學生能集中精力聽課。學生有問題可以隨時提出,教師應當場給予答復。教師應根據學生自主學習情況將各知識點融合到具體案例中進行演示講解,以加深學生印象,讓學生充分了解該知識點的具體應用。此方法在實施中受到了學生的普遍歡迎。
(二)實驗教學方法與實施過程
課程實驗教學是對課堂教學的有力補充,是提高學生編程能力的必要手段,所以我們著重加強實驗教學任務的設計,提高實驗內容的質量。實驗教學采用“單元強化訓練與測試+綜合項目訓練”的形式,在實驗過程中師生相互配合。教師在每個知識單元講解結束后布置若干單元訓練題給學生進行課后訓練(含上機實驗),訓練結束后進行單元測驗,根據測驗結果有針對性地對答錯題的學生進行單獨輔導,直至其能夠獨立解決此類問題為止。根據授課進度和內容,我們設計了三個綜合訓練項目供學生分階段完成,以鍛煉學生的獨立思考能力和團隊協作能力。根據項目的難易程度及學生的能力,我們采用學生獨立完成或小組共同完成的方式進行訓練。綜合訓練項目一授課內容少、涉及的知識點少,較容易完成,所以要求學生獨立完成;綜合訓練項目二和三設置在課程進行的中期和后期,涵蓋的知識點多,綜合性更強,所以采用小組形式進行,每組4~5人。訓練過程中教師引導學生一邊學一邊做,真正實現“學中做”和“做中學”,以此來達到讓學生真正掌握知識和技能的目的。小組完成的項目需要小組成員在給定的時間內分工完成各自的任務,但也強調每組學生相互協作、共同提高。學生完成綜合訓練后提交設計報告書,同時要進行項目的演示和答辯。大量的訓練培養了學生程序設計的綜合能力、研究創新能力、語言表達能力以及團隊合作能力[7]。
(三)課后答疑過程
答疑采用線上線下相結合的方式進行。教師課后每周至少安排兩次面對面線下答疑,尤其是對單元測驗成績不理想的學生,要求其在規定時間規定地點進行答疑。利用建立的QQ群,教師每天不定時地對學生提出的問題進行答疑,甚至是做到隨時提問、隨時答疑。在白天,學生課程較多、問題較少,因此多數答疑都安排在晚上進行。這種方式不但解答了學生的問題,而且讓其他學生也能看到別人的問題以及解決的方法。同時,學生之間也可以通過QQ群溝通交流、答疑解惑,相互幫助、相互學習,進而增強彼此的感情和集體榮譽感。
(四)考核方式
課程考核改變以往由期末一次性考試確定成績,從而造成評價過于片面的情況,強化質量監控機制,強調教學過程與考核結果相互制約,采用過程性考核,與期末標準化考試相結合的方式,加大過程考核比例。
1.過程性考核(50%)。根據學生出勤與課堂表現,自主學習、單元強化訓練情況、綜合項目訓練情況給出過程性考核評價分數。其中出勤與課堂表現占過程性考核的10%;自主學習考核采用課前提問與回答的形式,考核學生預習與自學情況,占過程性考核的20%;單元強化訓練考核以每次測試成績為依據給出分數,占過程性考核的30%;綜合項目訓練的考核根據每次完成的報告、項目演示與答辯以及小組成員合作情況給出相應成績,占過程性考核的40%。
2.期末標準化考試(50%)。根據學生期末標準化考試成績予以評定。
改革考核方式后,依據考核過程及結果可以及時發現教學過程中教師的教與學生的學存在的問題,為后續持續改進教學方式與方法提供參考。
三、教學模式改革學習效果
程序設計類課程“教與學”模式改革的宗旨就是提高學生的程序設計能力、解決復雜工程問題的能力以及軟件開發能力,從平時授課觀察、單元測試和綜合訓練提交的設計報告、源程序代碼以及演示和答辯的情況看,“案例驅動+自主學習+強化訓練”的教學方式對提高學生的編程能力起到了非常好的效果。從期末標準化考核情況看,從2015級學生開始,程序設計類課程期末考核取消客觀題,全部改為編程類主觀題,考核難度較之前有明顯增加,但從考核結果看,自開展“教與學”模式改革以來,每一級學生的成績都較原來有所提高,優良率升高,不及格率明顯降低。編程能力提高,學生自信心也隨之增強,近幾年來報名參加計算機類學科競賽的人數成倍增加,例如參加“藍橋杯”全國軟件和信息技術專業人才大賽、全國計算機設計大賽等比賽的人數明顯增加,競賽獲獎人數也逐年增加,獲省級和國家級獎的學生數量從原來的每年幾人增加到幾十人,呈現出倍數增長態勢,形成了以學促賽、以賽代練的良性循環。
四、結語
程序設計類課程教學改革是計算機類專業課程建設中的重要組成部分,在解決計算機領域復雜工程問題上有著舉足輕重的作用。“案例驅動+自主學習+強化訓練”教學模式是該類課程在理論和實驗教學方式、方法上進行的有效探索和實踐,充分發揮了學習過程中教師的主導性和學生的主體性作用,激發了學生的學習潛能,培養了學生的編程思維,促進了學生自主學習和深入鉆研習慣的養成,同時推動了學生團隊協作精神的形成,提高了學生的程序設計和軟件開發能力,對培養合格的、符合當今社會需求的計算機類專業技術人才有積極的現實意義。
[ 參 考 文 獻 ]
[1] 蔣宗禮.本科工程教育:聚焦學生解決復雜工程問題能力的培養[J].中國大學教學,2016(11):27-30,84.
[2] 許建秋,李鑫,孫涵.面向復雜工程問題的C++程序設計教學及實踐[J].計算機教育,2019(2):61-64,68.
[3] 王海舜,蔣巍巍,劉師少.基于程序設計能力培養的軟件設計類課程群架構[J].計算機教育,2012(3):23-26.
[4] 張新平,馮曉敏.重思案例教學的知識觀、師生觀與教學觀[J].高等教育研究,2015(11):64-68.
[5] 張昱,李金雙,徐彬,等.以自主學習能力培養為目標的大學計算機課程教學改革[J].計算機教育,2016(9): 103-105,110.
[6] 李駿揚,魏海坤.從課堂教學到項目教學的跨越:雙軌并行的程序設計教學改革探索與實踐[J].計算機教育,2018(10):113-117.
[7] 彭晏飛,沈學利,張全貴.計算機軟件系列課程實驗教學研究與實踐[J].實驗技術與管理,2012(4):173-175.
[8] 李昱,郭曉燕,梁艷春.應用型本科計算機專業程序設計類課程教學模式改革與實踐[J].計算機教育,2020(11):111-116.
[9] 李斌.程序設計教學設計與學業考核模式改革[J].大學教育,2019(12):68-70.
[責任編輯:鐘 嵐]