摘 要 程序設計類課程是工科專業重要的基礎課程,介紹了本課程小組依托我院本科實驗室平臺,提升程序設計系列課程質量的一些探索改革的方法及經驗。
關鍵詞 程序設計課程 實驗室 實驗教學
中圖分類號:G642.0 文獻標識碼:A
Research on Improve Quality of Programming Serial Courses Based on Undergraduate Laboratory Platform
YANG Zheng[1], CHENG Zhijun[1], ZHANG Jiandong[2]
([1] Institute of Information Systems and Management, National Defense University, Changsha, Hu'nan 410073;
[2] Training Department, National Defense University, Changsha, Hu'nan 410073)
AbstractProgramming serial courses is important foundation courses for engineering course student, some methods and experiences on the reform of improve quality of programming serial courses based on undergraduate laboratory platform are introduced.
Key wordsprogramming serial courses; laboratory; experiment teaching
程序設計系列課程是工科專業基礎課程的重要組成部分,提升程序設計系列課程質量對于培養學員采用計算思維分析問題和解決問題能力、提高學員程序設計能力,為后續課程學習和科研工作奠定基礎起著非常重要的作用。①目前各高校都在不斷完善實驗室條件建設,軟硬件環境支持實驗教學能力也不斷提升,因此如何利用實驗室教學平臺,提升程序設計系列課程的教學質量是一個值得研究的課題。
本文首先分析程序設計課程在以往教學中存在的一些問題,針對分析的問題,重點圍繞如何利用實驗室平臺開展實驗教學,介紹一下我們在教學實踐中的一些探索,然后分析一下所取得的教學效果。最后,給出幾點我們在課程體系建設和實驗室建設方面的思考建議。
1 問題分析
程序設計系列課程的教學目標設定為希望學員通過這一系列課程的學習掌握面向對象程序設計的基本思想、基本知識和基本技能,掌握軟件開發的基本過程和調試程序的基本方法,初步具備一定的采用計算思維分析問題、并編寫程序解決問題的能力。
從課程目標出發,要求我們在教學過程中緊緊把握兩條主線:編程思想的培養和實際動手能力的鍛煉,突出理論聯系實際的特點,特別注重實踐動手能力的培養。②
然而,在以往教學中卻存在著與上述指導思想不符的諸多問題,我們把問題歸納為以下三個方面:第一,重講授輕實踐,這個問題的原因有兩個方面,一方面是在以教師為中心的教學思想指導下,確立的教員講學員聽的教學模式,另一方面是由于實驗教學條件的缺乏。在我們前幾年的教學過程中,學員的作業和最后的考試都是書面完成的,學員上機實驗很少。第二個問題是學員的學習興趣與挫敗感均很強,程序設計課程對于剛入學不久的大一學員來講應該說具有非常強的吸引力,但在學習過程中,學員反映老師講課聽得懂,代碼也看得懂,就是不會自己寫代碼,挫敗感也很強。時間長了,學員對課程的興趣也逐漸下降。第三個問題就是訓練缺乏系統性,從目前我們院本科專業的課程體系的課程設置和學員的學習實際來看,學員在大一學年學習完程序設計基礎課程之后,在后續的學習中卻很少用到,學員自己也很少主動去加強訓練,久而久之,到了真正要用的時候,也都快忘得差不多了。
針對上述三個問題,我們認為在程序設計系列課程中應該重點思考和解決以下三個方面的問題:一是如何提高學員的學習積極性;二是如何提高課堂教學效果;三是如何鞏固學習成果。我們認為這三個問題可以歸納成一點,就是要加強實踐,包括課堂內的實踐和課堂外的實踐,從學的角度來講加強實踐就是學員只有真正動手編程,才能把程序設計課程學好,從教的角度來看就是要求教員加強實驗教學的組織與設計。
2 實驗教學探索
我們認為,對于實踐性很強的程序設計課程,在教學設計方面應該把握以下幾點,第一就是要精講多練,精講基本概念和原理,通過多練來加深學員對概念和原理的理解與認識;第二就是要邊講邊練,教員在講解一些重要概念的時候,讓學員同步跟著練習,既提高學員的學習興趣,又能幫助學員更好地理解概念。第三,應該給學員提供開放式學習環境,程序設計課程僅靠課堂的練習是遠遠不夠的,因此,應該給學員提供一個可以自主學習的環境,方便查閱課程教學資源,自主的檢查學習情況等;第四就是要給學有余力的學員提供項目式學習的條件,通過項目式的學習,進一步鞏固課堂學習成果,掌握程序調試和軟件開發的基本過程。總結以上幾點,其核心就是把課堂搬進實驗室,讓實驗室不僅提供實踐環境,而且提供學習環境,讓實驗室支撐學員學習的全過程。
在教學實踐中,我們依托本科實驗室的教學平臺,也就是局域網絡、投影等教學設備,在此基礎上引入了多媒體網絡教學系統和課程管理系統,利用這兩個系統可以實現精講多練,邊講邊練,提高學員的學習積極性,提高課堂的教學效果;同時也為學員提供了一個開放式的學習環境,鼓勵學員根據自己的學習情況,自主的安排學習進程,持續性的學習和實踐;依托本科實驗室對課外科技活動的支持,課程小組也一直積極指導學員參加課外科技活動,鞏固課堂的學習成果,真正掌握程序設計思想,提高實踐動手能力。
2.1 多媒體網絡教學
為了支持我們前面講的邊講邊練,精講多練,在教學過程中我們用到了多媒體網絡教學系統,這個系統在支持實驗教學方面功能非常強大,我們主要用到的功能主要有:(1)屏幕廣播、多教室、多教員;(2)屏幕監控;(3)投影儀局部放大。
通過這些教學手段的使用,應該說對課程教學效果起到了很好的作用,一方面便于控制學員課堂狀態,另一方面也便于交互。
2.2 Moodle課程管理系統
我們覺得要提高學生的動手能力,首先要讓他們愿意到實驗室來。所以實驗室應該有一個良好的學習環境。首先應該有一個完善的在線學習與教學平臺,基于這一點考慮,我們在2009年秋季學期首先引入了Moodle課程管理平臺,③Moodle是模塊化面向對象的動態學習環境的縮寫。這個系統是由澳大利亞教師Martin Dougiamas基于建構主義教育理論而開發的課程管理系統。
Moodle系統能夠為學員營造一個良好的自主學習氛圍,體現在兩個方面:一個是其具有內容管理的功能:可以管理各種教學資源,包括課件、參考資料、教學視頻、輔助軟件等,供學員在線或者下載離線學習;另一方面是其具有過程管理的功能,包括學習過程、作業和考試過程的管理。
目前系列課程均已利用Moodle建立了課程管理平臺,累計發布作業120余道作業題,發布了包括課件、輔助軟件、教學視頻、參考資料在內的各類文檔。
2.3 課外科技活動
前面提到了以往的程序設計教學過程中,存在訓練不系統的問題,我們也分析了這一問題的原因,為了更好地鞏固課程學習效果,課程小組多年來一直積極開展學員課外科技活動指導,我們希望通過指導學員參加課外科技創新活動,培養學員自主性學習、研究性學習、創新性學習,體現以學員為主體的教學理念,學員在老師的指導下選取課題,培養學員協作分析問題、解決問題和進行科學探索的創新能力。④
這一過程中,學員通過問題分析、總體設計、詳細設計、編碼、編譯與調試、測試,從而更好地掌握程序設計思想,掌握程序編譯調試的基本方法與技巧,掌握軟件開發的一般過程。
課程小組近三年來指導本科課外活動8組,共計30余人次。其中2009和2010年各有一組學員獲得湖南省大學生研究性學習和創新性實驗計劃項目資助,多組學員獲得學院、學校各類課外科技活動競賽獎項,代表學校參加省、市各類科技創新競賽,2011和2010年分別獲得湖南省挑戰杯一、二等獎各一次。
3 教學效果分析
前面重點介紹了我們在利用實驗室教學平臺,探索提升程序設計系列課程質量所做的一些工作,下面我們簡要分析一下教學效果。
總的來說,通過充分利用實驗室教學平臺,引入課程管理系統和多媒體網絡教學系統,加強程序設計課程實驗教學,我們認為取得了以下幾個方面的教學效果,第一,提高了學員的程序設計課程的學習興趣和積極性;第二,培養了學員運用程序設計思維分析問題和解決問題的能力;第三,在動手能力方面,提高了學員程序設計、編碼、調試能力;第四,通過指導學員參加課外科技活動,培養了學員的創新能力和初步的科研能力。
4 思考建議
首先,對于課程體系建設,我們認為程序設計課程并不是孤立的“某門”課程而是一個整體。程序設計類課程的發展方向必然是從“單一”走向“系列”,應該建立完善的課程體系,發揮其整體優勢。因此,我們建議將程序設計基礎課程與后續的《數據結構》、《數據庫原理與應用》、《軟件開發技術》等課程統籌考慮,進一步完善程序設計類課程體系。
其次,程序設計類課程作業量大,前面我們提到了,我們通過Moodle系統發布了100多道題,每一屆學員人數是100多人,作業量非常之大,盡管我們配備了兩名輔導教員和四名研究生,但是要批改這么大量的作業,工作量還是非常大的。因此,我們建議建設或引進在線考試與判卷系統,一方面減少教員作業批改工作量,另一方面也可以讓學員自己隨時練習隨時檢測。
注釋
①石晶瑜,劉東升,張麗萍.“課程體系-實驗-課外科技活動”三位一體提升程序設計類課程質量[J].計算機教育,2010(7):98-100.
②黃荔,龐雄文,徐永廣,司徒錫康.強基礎、重實踐——程序設計實驗課教學的改革與探索[J].計算機教育,2010(2):147-150.
③杜炫杰,沈云云.基于Moodle的大學計算機基礎課程的混合式學習設計與實踐研究[J].計算機教育,2010(10):61-65.
④王春生.大學計算機基礎課程教學改革關鍵環節的創新設計與實踐[J].高等教學研究學報,2010.33(3):99-101.