王精明陳立鋼李君燕
(1滁州學院,安徽 滁州 239000)
(2巢湖學院,安徽 巢湖 238000)
基于PDCA理論的《程序設計基礎》實踐教學的探索和實踐
王精明1陳立鋼2李君燕1
(1滁州學院,安徽 滁州 239000)
(2巢湖學院,安徽 巢湖 238000)
《程序設計基礎》是計算機科學與技術、網絡工程、物聯網工程專業的一門專業基礎課程,是培養學生程序設計基本方法和技能的一門課程,在專業人才培養方案中占有極其重要的地位,其教學質量的好壞直接影響學生對專業的興趣和后續專業課程的學習。為達到地方高校應用型人才的培養目標,在分析實踐教學過程中存在的主要問題的基礎上,將PDCA循環理論應用于本課程的實踐教學過程中,鍛煉和提高了學生自主學習的能力、團隊協作的能力和創新能力。兩年的教學改革實踐和教學結果表明,該教學方式在應用型人才培養上取得了良好的教學效果,也為今后程序設計等軟件開發類課程的教學提供了一種可以借鑒的參考。
PDCA循環理論;實踐教學;程序設計;教學效果
《程序設計基礎》是軟件工程、計算機科學與技術、物聯網工程、網絡工程等專業一門核心專業基礎課,是程序設計的重要理論和實踐基礎。主要包括程序與程序設計語言、數據類型與基本操作、分支結構、循環結構、函數、數組、指針和結構體和文件程序設計,培養學生問題求解和語言應用的能力、實踐編程能力和閱讀程序能力,為學習后續數據結構、算法設計與分析等課程奠定堅實的基礎。因此,《程序設計基礎》在專業課程體系中具有重要的作用,《程序設計基礎》課程的教學效果的好壞對專業的學生的專業學習影響深遠[1-2]。
通過分析《程序設計基礎》實踐教學過程,收集同行教師、學生座談會和相關課程授課教師的建議和意見,發現學生在學習《程序設計基礎》課程的過程中存在以下較為普遍問題,這些問題困擾著學生,極大地影響了該課程的教學和學習效果,造成不能達到該課程預期教學目標的結果。
1.1 編寫程序解決問題信心不夠
通過觀察發現不少學生在在解決實際問題,尤其是編寫程序解決實際問題時缺乏獨立解決問題的能力和勇氣。一種情況是學生在程序編譯過程中一旦看到幾個甚至幾十個語法錯誤時,立即變得無所適從、不知所措,完全被錯誤的數量嚇倒,產生畏難情緒。實際情況是這類語法錯誤只要學生稍微有點耐心和基本英語知識,結合編程開發環境給出的提示是完全可以獨立解決的,但是學生絕大多數情況是立即求助于輔導教師,是缺乏信心的直接表現。另一種情況是邏輯錯誤,部分學生程序編譯沒有錯誤,順利通過,但是運行結果不對,這就是程序出現邏輯錯誤,但是學生對這樣的錯誤完全沒有信心去調試和排除,要么不了了之,要么立即求助于輔導老師,潛意識里認為自己沒有能力解決該邏輯問題。
1.2 課程內容靈活度大
《程序設計基礎》課程概念內容多,理論性強,靈活度很大。由于學生大多數高中階段沒有接觸過程序設計方面的知識,不能也不易理解從計算機的角度去思考和處理問題。面對《程序設計基礎》課程中涉及到的眾多概念、枯燥代碼,相當一部分學生的體會是該課程枯燥沒有趣味,難以跟上授課教師的思維和推理分析過程,導致學習該課程的主動性、積極性和創造性很差,沒有成就感[3]。
1.3 學習過程檢查和考核不足
該課程傳統的檢查考核學習效果的方式主要是期末理論考試,平時對學生學習過程的檢查和考核很少。雖然課程教學中有布置作業和課程實驗,但是大學新生由于剛剛入學,對相對于高中寬松的大學環境心理容易放松,疏于進行自我檢查和考核,期末只能是突擊考試,憑記憶課本知識,不能真正牢固掌握知識點。只要考試題目稍微變化,就無從下手,實際動手能力和學習效果很差,對學習的積極性和后續課程的學習造成很大影響。
2.1 “PDCA”循環
“PDCA”循環理論是美國戴明博士提出的一種實施全面質量管理所應遵循的工作方法,也稱之為戴明環[4-5]。“PDCA”是英語單詞Plan、Do、Check和Action的首字母縮寫而成,分別是計劃、實施、檢查和處理。“PDCA”循環是按照計劃(P)→實施(D)→檢查(C)→處理(A)順序來對質量進行管理,并且循環不斷地往下進行,上一個循環過程中未解決或新產生的問題會進入下一個循環。如此循環往復,使得每次循環達到一個新的臺階和水平,直到最終達到目標,如圖1所示。

圖1PDCA循環理論示意圖
2.2 《程序設計基礎》實踐教學的計劃(P)階段
《程序設計基礎》實踐教學的計劃(P)階段主要任務是制定實驗教學大綱。實驗教學大綱需要明確各實驗項目的實驗名稱、實驗目的、實驗內容、實驗環境、實驗步驟和課后實驗等。一個好的《程序設計基礎》實驗教學大綱不僅是教師的實踐教學的指導性文件,而且應有利于學生建立起程序設計的信心,并真正感受到逐漸解決問題與不斷進步的成就感,循序漸進地培養學生程序設計的能力。
《程序設計基礎》實驗教學使用的是自編的實驗講義和資料,將實驗分為驗證性、設計性和綜合性實驗,其難度系數和對所學知識的綜合應用程度逐漸遞增。其中,驗證性實驗主要目的是訓練學生對主教材理論內容的理解,程序開發和設計能力和工具的運用;設計性和綜合性實驗主要訓練學生項目開發能力、團隊合作能力和協作精神以及基本的軟件工程思想。
2.3 《程序設計基礎》實踐教學的實施(D)階段
對于驗證性實驗,在《程序設計基礎》實驗教學的組織上要求每生一組獨立編程完成。過程主要分為三階段:①在理論課講解緒論部時,其僅涉及基本概念和術語,沒有對程序設計內容本身進行實質講解,因此該階段的實驗內容以熟悉VC++編程環境為主;②每周兩學時的實驗課主要用于學生將主教材中的重要例題、課后習題和自編實驗講義預留作業進行編程實現,并引導學生對編寫的代碼進行單元測試,主要考察學生基本知識的掌握程度和基本編程能力;③在完成經過單元測試的程序后,撰寫實驗報告。驗證性實驗內容主要包括順序程序設計、分支程序設計、循環程序設計、數組程序設計、指針程序設計和文件的基本操作。
對于設計性和綜合性實驗,在《程序設計基礎》實驗教學的組織上主要由教師事先精心設計好實驗選題,由學生自由組建團隊,3-4人為一組,團隊合作完成設計性和綜合性實驗程序設計、實現、文檔撰寫和匯報等工作。設計性和綜合性實驗選題一般具有一定的實用性,如學生信息管理系統、圖書管理信息系統等。
2.4 《程序設計基礎》教學的檢查(C)階段
《程序設計基礎》考核傳統方式主偏理論測試,對實驗教學的監管和考核重視程度不夠,導致動手能力沒有得到有效鍛煉和提高,因此一套好的切實可行的實踐檢查和考核方法和標準值得探索和研究。
我校對于驗證性實驗的考核主要考核環節為程序演示、程序改進和實驗報告三個環節。程序演示環節由學生演示自己的程序,教師檢查學生程序是否達到預期要求;程序改進環節教師根據學生的程序運行狀況向學生提出改進措施,學生按照要求完成對程序的改進;實驗報告主要觀測學生實驗報告是否認真,對本次實驗的心得、體會以及實驗過程中出現的問題等。《程序設計基礎》課程一般以班級為單位組織教學,由于學生人數一般超過50人,一般安排兩名實驗指導教師同時指導實驗,從而保證實驗教學質量。
對于設計性和綜合性實驗,主要考核的措施為學生首先進行自評;教師組織小組之間進行互評、打分;教師根據學生的程序實現質量,文檔的撰寫質量,單元測試完成質量和團隊合作水平綜合考核評分。最后設計性和綜合性實驗按照三個考核分數進行加權計算總評實驗成績。
2.5 《程序設計基礎》實驗教學的處理(A)階段
《程序設計基礎》實驗教學處理(A)階段的主要任務是對實驗教學進行總結和反饋。首先,學生總結在驗證性實驗過程中教師給出的考核結果和評價,改進自己程序設計過程中的不足,將成功的經驗和錯誤的教訓納入到設計性、綜合性實驗或者下一次“PDCA”循環中;其次,學生通過總結設計性實驗和綜合性實驗中的經驗和教訓(主要是小組評議結論和指導教師的評價),提高自己的團隊協作意識、文檔撰寫質量、算法分析和設計能力和解決實際問題的能力。圖2為《程序設計基礎》實踐教學PDCA循環圖。
隨著“PDCA”循環的結束,每個學生自身能力和水平都得到了提高,為后續課程教學奠定了良好的基礎,也為后續內容實驗的“PDCA”循環教學更完善、更全面提供了基礎和保障[6-7]。
PDCA循環理論連續三屆應用于專業學生進行《程序設計基礎》的實踐教學改革和實踐。通過開展學生座談會和調查問卷,學生對實施教學改革后的教學效果評價明顯比使用傳統教學方法要好,對比分析如下。
3.1 畏難情緒有效降低
由于PDCA循環理論采取循序漸進的實踐教學設計,適量和難度系數較小的驗證性實驗選題極大地刺激了學生的學習興趣,絕大部分題目每個學生基本能夠通過個人努力獨立完成,有效地降低了學生的畏難情緒,提高了學生學習主動性和積極性。
3.2 團隊協作能力增強
學生通過循序漸進的驗證性實驗的經驗積累和知識儲備,克服了畏難情緒,對于實踐教學設計的設計性和綜合性實驗,均能夠積極組建或融入團隊,相互間協同合作,主動完成任務,學習效果良好。
3.3 實踐動手能力增強
實驗強調真正意義上的動手能力的培養,容易將所學的理論和實際項目開發相結合。也有學生提出這種學習方式占用時間較多了,但是能切實提高自己的實踐動手能力,最大的收獲就是編程的積極性得到極大提高,不再畏懼編程。
實踐證明,采用應用PDCA循環理論的教學方法,學生編程能力和綜合成績得到很大提升,表1是近三屆學生《程序設計基礎》課程的成績對比表和跟蹤學生參加大學期間省級以上程序設計大賽人數統計表。通過對比,學生程序設計的能力均有較大幅度提升,不及格學生的比例逐步下降,敢于參加程序設計大賽的人數比例在增加,說明新的教學方式在應用型人才培養上取得了良好的教學效果,也為今后《程序設計基礎》等軟件開發類課程的教學提供了一種可以借鑒的參考。

表1 近三屆《程序設計基礎》成績對比表
[1]吳蕾,欽明皖,楊勇.基于計算思維能力培養的程序設計基礎課程教學新模式[J].計算機教育,2015,(7):1-3.
[2]郭艷燕,童向榮,孫雪姣,等.程序設計基礎與數據結構兩門課程的教學銜接[J].計算機教育,2014,(10):47-50.
[3]丁長松,馬華.程序設計基礎課程實驗教學的改革與實踐[J].高教學刊,2016,(5):237-239.
[4]鄧德學,徐新瑞.PDCA視角下工程造價專業應用型人才培養模式的研究[J].科技管理研究,2010,(21):146-147.
[5]廖春華,馬驍,李永強.本科人才培養質量標準研制路徑探析——基于PDCA循環理論的視角[J].教育發展研究,2014,(21):23-29.
[6]劉雪蘭,徐冬寅.PDCA循環理論在農業物聯網人才能力培養中的應用[J].農村發展,2015,(12):16-19.
[7]吳海瑛.“PDCA”工程造價專業人才培養質量評價體系研究[J].價值工程,2014,(1):266-267.
AN EXPLORATION AND PRACTICE ON THE PRACTICAL TEACHING OF FUNDAMENTALS OF PROGRAMMING BASED ON PDCA THEORY
WANG Jing-ming1CHEN Li-gang2LI Jun-yan1
(1 Chuzhou University,Chuzhou Anhui 239000)
(2 Chaohu College,Chaohu Anhui 238000)
As one of the important professional courses in computer science and technology major,network engineering major, and internet of things major,Fundamentals of Programming is a course cultivating students’ basic methods and skills of programming and playing a very important role in talents cultivation plan.Its teaching quality directly affects the students' interest and the study of the following courses.In order to achieve the teaching goal of applied talents in college,the PDCA cycle principle is applied in practical teaching of the curriculum to improve the students' autonomous learning ability,team cooperation ability and innovation ability on the basis of the analysis of the problems existing in the practical teaching of Fundamentals of Programming.Through two years’practice of teaching reform,the teaching results shows that the teaching method has a good effect on the cultivation of applied talents and provides a reference for future teaching like programming and other software development courses.
PDCA Cycle Principle;Experimental Teaching;Programming;Teaching effect
G642.0
A
1672-2868(2016)06-0115-04
責任編輯、校對:李 曉
2016-10-05
安徽省高校教學研究重點項目(項目編號:2015jyxm358);滁州學院教學研究重點項目(項目編號:2015jyz001);巢湖學院校級教學研究項目(項目編號:ch13kcjgxm06)
王精明(1979-),男,安徽岳西人。滁州學院計算機與信息工程學院,副教授,博士。研究領域:計算機應用技術。