摘要:案例教學法作為一種新的教學方法,被廣泛用于多種教學領域。本文主要介紹了在《C語言程序設計》課程中,以編程應用為驅動,通過案例引入內容的教學方法。并且用基于AHP的教學效果評價算法對此教學方法進行評價。
關鍵詞:問題驅動;案例教學;AHP算法
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)28-0160-03
Application and Discussion about the Teaching Reform on the C Language Programming
XU Ping1, GONG Li-hua2
(1.Department of Information Science and Technology, Taishan University, Tai'an 271021, China; 2. Further Reeducation College, Taishan University, Tai'an 271021, China)
Abstract: Case teaching, as a new approach, is widely used in various teaching fields. The paper mainly introduces this kind of teaching approach, which is inspired by the programming and leads in the contents by specific cases in the course of C Language Programming and makes evaluation to the approach by teaching effect evaluation method on the basis of AHP algorithm.
Key words: question inspiration; Case Teaching; AHP algorithm
1 引言
《C語言程序設計》是一門實踐性很強的課程,該課程的學習有其自身的特點。學習者必須通過大量的編程練習,在實踐中掌握語言知識,培養程序設計的基本能力,并逐步理解和掌握程序設計的思想和方法。因此,《C語言程序設計》課程的教學重點是培養學生的實踐編程能力。
在傳統的教學方法中,采用“點—線—面”的教學模式,即先介紹變量定義,再介紹指令的語法規則,最后例子講解。這種教學模式不利于將知識轉化為能力。為此,筆者從理論和實踐上探索了《C語言程序設計》這門課程新的教學方法,并收到了良好的教學效果。
2 問題驅動,案例教學
案例教學法最早于1870年在哈佛法學院創立。后來,案例教學法為哈佛商學院所采納,被引用在工商管理教育中。經過近百年的積累和發展,案例教學法已成為西方國家工商管理教育的重要手段之一。所謂案例教學法是在教師的指導下,對案例提出的問題,運用所學的理論知識進行分析研究,提出自己的見解,做出判斷和決策,達到提高學生分析問題、解決問題能力的一種理論聯系實際的啟發式教學方法。
案例教學法的教學過程包括案例引入、案例學習、案例總結三個階段。在《C語言程序設計》課程的教學過程中,以編程應用為驅動,通過案例引入內容,重點講解算法設計,并穿插介紹相關的語言知識。
2.1 案例引入
在講C語言基本語法時,如果從數據類型、變量、常量、表達式開始,學生覺得特別抽象,不好理解。而我們用案例教學法,首先引入案例,并給出程序源代碼,讓學生進行編輯并調試。
案例:求攝氏溫度40℃對應的華氏溫度。計算公式如下:
f=9c/5+32
式中:f表示華氏溫度,c表示攝氏溫度。
源程序:
/* 將攝氏溫度轉換為華氏溫度 */
# include
int main(void)
{
int c, f;
c=40;
printf(\"c=%d, f=%d \\", c,f);
Return 0;
}
運行結果:c=40, f=104
2.2 案例學習
通過案例提出問題:在案例中使用了哪些數據?它們的類型是什么?
講解相關知識:在C語言中,數據有常量和變量之分。在程序運行過程中,其值不能改變的量稱為常量,其值可以改變的量稱為變量。在案例中,整數40是常量,c和f是變量。
常量和變量都有類型,常量的類型通常由書寫格式決定。例如,40是整型常量,40.12是實型常量。而變量的類型在定義時指定。
變量定義的一般形式:類型名 變量表;
例如:
int c, f;/* 定義兩個整型變量c和f,用于存放整數*/
char a;/* 定義一個字符型變量a,用于存放字符型數據*/
C語言中常用的數據類型包括int(整型)、char(字符型)、float(單精度浮點型)、double(雙精度浮點型)。其中,float和double都是浮點型(實型),用于存放浮點數(實數),區別在于double型數據占用空間更大,精度更高,取值范圍更大。
2.3 案例總結
通過案例學習,讓學生很輕松的掌握了數據類型,以及常量、變量的使用方法。并且提出幾點注意的問題:
1) C語言中變量的含義和數學中變量的含義不同。C語言中的變量代表保存數據的存儲單元,而數學中的變量代表未知數;
2) C語言區分大小寫字母,它認為Ca和ca是不一樣的;
3) 算法是程序的靈魂,良好的算法設計,不僅可以提高程序的執行效率,起到事半功倍的效果,而且可以以算法設計為基礎,通過尋求不同問題存在的相互聯系,從計算機角度對不同問題的共性進行算法設計,實現程序編寫的舉一反三。
根據案例提出:
思考題1:求攝氏溫度30℃對應的華氏溫度。
思考題2:求華氏溫度100℃對應的攝氏溫度。
3 課程教學改革效果的評價
在課程改革實踐中,如何評價課程教學改革的效果至關重要。同時,教學效果的評價結果在實踐過程中可以指導課程改革。本文參考AHP算法,從學生評教、教師評學兩個因素建立教學效果評價指標體系和多級模糊評判模型,實現課程教學效果的多指標評價。
3.1 基于AHP的教學效果評價算法
AHP算法是一種有效地處理那些難以抽象為解析形式數學模型的問題(即非結構化問題)或難以完全用定量方法來分析的復雜問題的手段,其主要思想是將一個復雜的多因素評價問題分解為具有遞階結構的評價指標和評價對象。二級模糊層次分析決策模型的步驟如下:
1) 根據實際需要建立評價指標因素集U={u1,u2,…un},將U分成若干組U={u1,u2,…,uk},使得■,稱U={u1,u2,…,uk}為第一級因素集。■ (i=1,1,…k),其中nl+n2+…+nk=■稱為第二級因素集。
2) 選擇模糊評判集V={v1,v2,…,vm},其中vj(1<=j<=m)表示參與教學效果評價的教學年度j,然后對第二級因素集■的ni個因素進行單因素評判,即建立模糊映射fi:Ui→Γ(v),得單因素評判矩陣為:
■
設■的權重為■,求得綜合評判為■。
3) 再對第一級因素集U={u1,u2,…,uk}作綜合評判,設U={u1,u2,…,uk}的權重為A=(al,a2,…,ak),總評判矩陣為:
■
得一級模型的綜合評判為A·R=B∈Γ(v)。最后,根據評判結果B進行排序,確定該教學年度的教學效果,其值越大,教學效果越好。
3.2 教學效果評價指標體系的構建
由于評價對象的某些評價因素往往帶有一定程度的模糊性,即具有非線性特征,所以進行教學效果評價時采用了模糊綜合評判模型。調查問卷中除需要給出各評價項目的權重外,還需給出各評價項目的得分。結合教學改革的實際情況,我們給出如下的評價準則,包括學生評教、教師評學兩個一級指標,并建立相應的二級評價指標(如圖1)。我們在構建教學改革效果評價指標體系時,著重考慮的是通過《C語言程序設計》課程的教學改革,是否能達到改革的目標。
3.3 教學效果評價
我們從2006年開始對本學院計算機系C語言程序設計課程進行教學改革。在課程結束后采用問卷調查的方式隨機抽取部分學生進行學生評教,并由任課教師完成教師評學(如表1)。
表1 教學改革效果評價表
■
利用本文提出的基于AHP的教學效果評價算法,得綜合評判為:B=A×R=(82.375,86.625)。數據表明,在2006、2007級學生《C語言程序設計》課程的教學效果評價中,2007級學生的評價值最高。
4 結束語
由此可見,隨著教學改革和課程建設的深入,《C語言程序設計》課程的教學效果得到了顯著提高,也增加了學生學習《C語言程序設計》課程的興趣。并且培養了學生可以用C語言很好的解決實際問題的能力,為以后進一步學習其它高難度的編程語言打下了良好的基礎。
參考文獻:
[1] 譚浩強. C程序設計[M]. 第二版. 清華大學出版社,1999.
[2] 吳敏. 任務驅動教學法在《網頁制作》課程中的應用[J]. 福建電腦,2006,(7):183-198,198.