

摘要:課程考核是一個困擾跨學科程序設計類課程教學的難題。針對該類課程考核中存在的問題,本文提出平時考核與期末大作業相結合的綜合測評方式,并重點介紹期末大作業考核的具體實施過程及實施效果。實踐證明,該考核方式明顯提高了學生的實踐操作能力、綜合應用能力。
關鍵詞:跨學科教學;課程考核;大作業
文章編號:1672-5913(2012)23-0077-03
中圖分類號:G642
0 引言
隨著計算機技術的快速普及、學生就業條件的日趨苛刻,不同學科的學生需要具有利用計算機解決本專業領域中問題的能力。對于非計算機專業的學生來說,程序設計類課程是一門非常重要的課程,它主要包括Visual Basic、Visual C++、C語言、Access數據庫應用技術、Java程序設計等課程。通過程序設計類課程的學習,可以提高學生的邏輯思維能力及分析問題和解決問題的應用能力。在跨學科程序設計類教學過程中,選修學生數量比較多,為了體現考核的公平性與一致性,多采用筆試或上機的方式進行期末考核,但是,這種單一的考試形式無法全面考核出學生對程序設計的實際掌握情況和運用語言進行編程的具體實踐能力。對于程序設計類課程的考試,既要注重學生在整個教學活動中的參與程度、探究程度,還要注重學生的學習能力和實踐能力。所以,面向不同學科的學生,任課老師如何有效地評價、考核學生利用計算機分析和解決實際問題的能力日益成為一個亟須解決的難題。
1 傳統考試方式及其存在的問題
前幾年,大多數高校多以“平時成績+期末筆試”的形式進行課程考核,近幾年也使用了不同的上機考試系統。在一定程度上,上機考試系統既滿足了理論知識的考核,又滿足了一定實踐能力的考核。但是,上機考試系統很多是考查學生對基本理論知識和常用算法的掌握,不能有效地考查學生學以致用的創新能力及解決實際問題的能力。概括起來,目前的考試方式主要存在以下幾個問題。
1)考試內容有失合理性。
考試內容局限于教材或課堂筆記,命題重復率高。考前教師劃范圍,定重點,助長了部分學生的惰性,平時不重視,考前搞突擊,學生成績優劣劃分不明顯,考試7mJgx8WVY2s2YM8Q0quOSIsvJofHjRYUn9iE3lSI+aQ=成績與學生平日的付出基本沒有關系,結果引起一些優秀學生的心理不平衡,這將嚴重傷害平時認真學習的學生的積極性。
2)考試方式單一。
考試存在五多五少現象,即閉卷多,開卷少;筆試多,口試、答辯方式少;理論考試多,操作、實踐能力考查少;一個任課老師定優劣多,多個教師參與考核少;一次考試定成敗多,數次考試綜合評價少。
3)考試題型不盡合理。
客觀性題型占的比例大,而綜合性思考題、分析論述題少。即使是每年國家教育部考試中心在全國范圍內組織的兩次計算機等級考試,為了便于計算機自動閱卷,采用的筆試題型仍主要是標準化的考題。而標準化考試存在著對學生的分析和創造能力的考核效果較差、部分試題憑猜測也能過關的不足,這是顯而易見的。
4)考核內容與專業領域的聯系不緊密。
在實際的考核中,筆試主要考核的是學生的理論知識的掌握程度,上機考試往往是考核學生基本編程操作能力。因此不管使用什么考核方式,最后都會讓學生覺得該門課程的學習與本專業領域的應用沒什么關聯,不能達到預期的教學效果。
以上弊端如不克服,勢必影響人才培養的質量。在充分重視應用型人才培養的今天,過去采用的重知識輕能力、重記憶輕創新、重理論輕操作的課程考核方式亟待改革。
2 改革方案
自2006年以來,魯東大學對不同學科的學生開設了不同的程序設計類課程,如對文科(體育學院、藝術學院等)學生開設“Access數據庫應用技術”課程,對理科(地理學院、管理學院等)學生開設“Visual Basic程序設計”課程,對工科(土木學院、電子工程學院等)學生開設“C語言程序設計”課程。自2009年以來,陸續對“Visual Basic程序設計”、“Access數據庫應用技術”、“C語言程序設計”3門課程進行了考試改革,采取了綜合測評的考核方式,其中包括平時考核和期末大作業考核兩部分,并分別占30%、70%的比例。平時考核主要包括學生上課提問、平時作業、上機操作等多種形式,旨在考核學生的理論水平,這與傳統的平時考核方式區別不大。而“大作業”則主要檢查學生的實踐能力和創新能力,這是考試改革的重點之處。
下面,以“C語言程序設計”課程為例來說明大作業考核的具體實施過程。
2.1明確考核方式和考核內容
由于大部分學生已經習慣了閉卷考試方式,對于大作業考核方式不甚了解,因此在學期第一節課就講明程序設計類課程的考核方式,讓學生清楚地知道在學習過程中不但要掌握書本知識還要學以致用,重視上機實踐。同時在“C語言程序設計”課程中設置了如下7個方面作為考核內容:文件操作、選擇結構、循環結構、自定義函數、數組、指針的定義與引用、結構體類型的定義與使用,基本覆蓋了教材的知識面,因此要求學生的期末大作業中必須包含其相關知識點的應用,這是評定大作業質量的重要指標之一。
2.2制定詳盡的設計要求
期末大作業的設計既要體現期末考核的規范性和統一性,又要體現其嚴肅性和重要性。為此,不但在格式上制作了統一的作業模板,在內容上也作了統一的設計要求。內容設計具體包括題目名稱、功能分析、算法分析、流程設計、界面設計、代碼設計。作為題目,要求聯系專業特點,解決實際問題,題目名稱要準確,不宜過大;功能分析要詳盡細致,明確主功能與子功能的關系,闡述清楚、準確;算法分析要在實現功能的前提下,盡量減少時間復雜度,有效地進行模塊設計及調用;流程設計要求邏輯合理且符合所學的N-S流程圖的要求;人機界面設計友好,操作方便;代碼設計要求風格嚴謹一致,可讀性強,并且在重要或關鍵代碼處標注相應的知識點。
通過內容設計讓同學們運用并體會到了“軟件工程”中的部分理念,這是閉卷考試所難以達到的效果,為以后解決實際問題打下了良好的實踐基礎。
2.3執行嚴格的考核環節
期末大作業的考核主要包括作業選題、作業撰寫、現場答辯和作業提交4個環節,并要求學生在期末的最后2周時間內完成。各具體環節解釋如下。
第一環節:作業選題。聯系專業特點或日常需求,選取意義明顯、實踐性強的課題,題目可以由老師指定或學生自選。
第二環節:作業撰寫。根據所選題目,進行大作業的撰寫。具體包括代碼編寫和文檔編寫,即首先編寫代碼解決實際問題,然后根據作業設計模板完成文檔其余內容的編寫。
第三環節:現場答辯。每3位任課老師組成一個答辯小組,學生口述功能、演示效果、回答提問;評委老師依據評分標準并結合學生答辯情況給出相應的評定等級。對于“C語言程序設計”而言,采用表1所示的評定標準。
第四環節:作業提交。每位同學在答辯之后要及時提交自己大作業的紙質版、電子版及完整的源代碼。
3 實踐效果
首先,在2009級理科類學生中實施“Visual Basic程序設計”課程考核方式的改革,任課老師在每一個授課班級(100人左右)出10個大題目,同學分成10組,每人完成其中的一個子模塊,最后組合完成一個大的作業,如圖1(a)所示是其中的一個大作業的界面效果(限于版面,這里沒有給出子模塊的界面)。可以看出學生能夠運用所學知識,通過個人努力以及團隊合作,達到了預期的教學效果,通過大作業考核可以有效地考查同學們對知識的掌握和運用情況。
在“Visual Basic程序設計”課程考核改革的基礎上,總結經驗,循序漸進地在2010年文科類學生中開展了“Access數據庫應用技術”課程的大作業考核并取得了良好效果,如圖1(b)所示是其中一個大作業的界面。通過大作業考核,可以看出學生能夠學以致用,解決日常問題,具有較好的教學效果。
由于Visual Basic或Access具有界面設計靈活、美觀的優點,而對于初學者利用C語言設計如此漂亮的外觀有些困難,因此在“C語言程序設計”課程的大作業考核中,學生可以自主選題,也可以由老師指定題目,重點考核每個學生對2.1節中7個方面的掌握情況。通過對2011級工科類學生進行“C語言程序設計”課程的大作業考核方式改革可以看出,學生選題更加自主、個性,遇到了一些課堂上沒有講到的知識點(如鏈表)能夠通過請教老師、同學互助、網絡求助等方式解決,達到了“不會就解決”的目的,這是傳統的“不會就無法做”的閉卷考試難以達到的效果。學生普遍認為這種考核方式能真正檢驗自己的編程水平,切實提高自己動手編程解決實際問題的能力,如圖1(c)所示是其中的一個“C語言程序設計”課程大作業的界面效果。
4 結語
3年來,在利用平時考核檢查學生對基本理論知識掌握的前提下,按照上述大作業考核方式,魯東大學相繼對“Access數據庫應用技術”、“Visual Basic程序設計”和“C語言程序設計”3門課程進行了期末跨學科考核方式的改革,明顯提高了學生的實踐操作能力,在培養學生的創新能力和綜合應用能力上獲得了良好的效果,有效抑制了“死讀書”現象的存在。
(見習編輯:劉麗麗;編輯:宋文婷)