閆 麗
(黑龍江八一農墾大學信息技術學院,黑龍江 大慶163319)
課程設計是一個多義詞,可以指“為掌握某一課程內容所進行的設計”,稱作“課程實習”[1-2],大學的計算機專業學生開設《C#程序設計》的課程設計要求學生獨立完成一項涉及本課程主要內容的綜合性、應用性的計算機程序開發題目;課程設計的另一個含義是有目的、有計劃、有結構的產生教學計劃、教學大綱以及教科書等系統化活動,也稱作“課程開發”[3]。C#編程語言的教學目標要求理論與實踐相結合,各高校為這門課程安排實踐環節(包括課程實驗和課程設計),以鞏固理論課程的教學成果,并進一步培養學生的創新能力[4-5]。根據各自學校的目標學生層次和課程特點,每個學校都有自己的成功經驗[6-7]。
目前,結合我校學生的實際情況,及計算機編程語言課程的學習要點,選擇難度適中的設計內容,在鞏固現有的知識結構的基礎上,也為學生提供了自主學習的空間及時間,合理安排課程設計的時間,選擇科學公正的考核評價方式。
C#是一種面向對象的編程語言,為.NET平臺程序開發提供快速解決方案,C#可支持開發控制臺應用程序,Windows應用程序和Web應用程序。學生的學習能力與學習興趣、主動性直接關聯,通過前期理論課程的教學,已經對大部分學生的學習情況、學習興趣有了一定的了解,有些學生喜歡生動有趣、畫面豐富的內容,例如,基于B/S結構的.net網站設計;有的學生更善于掌握有規則的內容,例如,基于C/S結構的管理信息系統;也有一部分同學對嵌入式系統開發有興趣,開發上位機軟件一方面接收、顯示硬件采集的數據,同時編程反過來控制硬件設備。
《C#程序設計》內容涉及范圍廣泛,選題應立足于課程實踐,兼顧學生的興趣、社會的需要和知識體系,以解決實際問題為指向。對于學生來說,不應要求學生全面掌握所有內容,可結合學生的學習興趣,設計一些與學習內容相關又具有實際意義的題目,供學生自主選擇。課程設計的題目在內容上一定要豐富、新穎,特別注意難度適中,不能讓學生可以輕易在網上直接查找到完整的源代碼,然而也不能難度過大,讓學生覺得束手無策,一點可學習、借鑒的知識都查不到。因此,選題來源上,主要采用以下兩種方式。
方式一:匯集指導教師主持或參與過的橫、縱向課題作為選題,我校具有農業背景,為現代化農業服務,橫向課題以各個農場的實際項目為主,為農場高效生產、科學管理搭建信息化平臺,例如,溫室大棚監控、黨建管理系統、田間灌溉系統等,縱向課題包括廳局級科研項目,省、國家級自然基金項目,例如,奶制品溯源管理、育秧棚植株苗間監控、母豬發情行為采集系統等;
方式二:來自往年大學生創新項目,如智能牛舍監控系統、仔豬飲水量管理系統等。
選題時一定注意控制設計的工作量,明確訓練的核心內容,并將題目及時下發。
能力培養是一個長期漫長的、漸進的過程,利用課程設計一、兩周時間,培養學生的創新能力幾乎是不可能實現的事情,這里只將C#課程設計視為其中一個環節,作為對創新能力培養的一次嘗試和探索。不同的需求,設計出的程序具有不同的表現形式,需要學生展現其創造力,學生可以設計出賞心悅目的界面、實用的功能按鈕、功能封裝的自定義函數,編寫數據庫操作的觸發器和存儲過程,及下位機的讀寫命令等等。凡是學生想要做的,就鼓勵其大膽嘗試,并配以指導教師,解決技術上的瓶頸問題,即使嘗試失敗了,也要求學生自己找出問題,總結教訓,失敗是為下次成功做最好的積累。
課程設計的時間通常安排在理論課程之后,將理論與實踐相結合,有助于學生理解和掌握。課程設計的題目多源自于實際項目,學生對于實際項目的需求和設計目標缺乏感性認識,盲目開始設計,會多走彎路,影響設計的時間進度。因此,在課程設計正式開始前,學生需要必要的準備工作,包括基礎知識儲備和項目需求儲備。基礎知識儲備在《C#程序設計》的理論課程及其前續課程中已講授;對學生而言,大部分實際項目已經超出了他們的眼界,因此,花費時間,深入了解整個實際項目流程非常必要,步驟為:首先,為學生提供每個項目負責教師的聯系方式,要求學生自己主動溝通,了解課題的實際需求;其次,在指導教師的監督下,已了解需求的學生向其它學生表述項目需求的核心內容,通過學生的表述及其他學生的理解情況,評估每位學生的理解能力、溝通能力及語言表達能力;最后,要求學生在開展設計前提交項目的總體設計方案。前期準備就緒,正式進入實際操作環節,指導教師在該環節中,應多聽少講,主要負責科學評價和必要的技術指導。
實踐環節的考核,其方式和評分方法要實現公平、公開和公正是相當有難度的。通常在掌握學生基本編程能力的基礎上,對其系統功能的實現進行考量,額外增加其創新部分的獎勵。目前采用的考核為“三道基礎問題的上機操作+系統匯報”結合的方式,盡管這種做法,教師和學生都需要付出更多的時間和精力。
此方法已在我校《C#程序設計》課程設計中連續實驗了4輪,每個學期選擇一個實驗班和參照班,學生人數和層次大致相近,共8個班級的學生成績。從成績分析,實驗班學生的平均成績為80.71比參照班的平均成績高5分,其中優秀等級(90~100)的總人數多于參照班,課程設計的題目類型覆蓋面廣,學生按照自己的興趣及需要選擇題目,并且在掌握了需求的基礎上開始設計,因此成績相對理想。實驗總體效果表明,對學生學習和能力培養具有一定的促進作用。
本文利用計算機專業課程設計結合農業特色背景,從選題出發,對創新能力培養、時間安排和考核方式方面進行了調整,并開展了多輪實踐,從成績比較結果表明,此方法有助于培養學生的學習興趣,選題模擬實際項目,學生掌握實際編程能力,有益于縮短參與企業項目的對接時間。
[1]于海波,孟凡麗.課程設計研究20年:回顧與前瞻[J].基礎教育研究,2002(Z2):10-13.
[2]陸正球.基于建構主義理論的C課程設計教學研究[J].中小企業管理與科技,2010(2):149-150.
[3]姜大源.論高等職業教育課程的系統化設計:關于工作過程系統化課程開發的解讀[J].中國高教研究,2009(4):66-70.
[4]余秋明,陳瓅.C#課程教學探討[J].電腦知識與技術,2012,8(29):7051-7052,7058.
[5]李俊.CDIO教學模式下C#課程教學模式的研究[J].牡丹江大學學報,2012,21(12):170,173.
[6]鄧建新.C#課程一體化多層次問題引導式教學方法[J].計算機教育,2014(11):68-71.
[7]謝霞冰,陳曉峰,袁紅春,等.NET版本演變引起的C#課程教學問題與對策[J].計算機教育,2012(1):92-93,104.