前言:想要寫(xiě)出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇c語(yǔ)言程序范文,相信會(huì)為您的寫(xiě)作帶來(lái)幫助,發(fā)現(xiàn)更多的寫(xiě)作思路和靈感。
關(guān)鍵詞:考試系統(tǒng);多媒體技術(shù);數(shù)據(jù)源;連接數(shù)據(jù)庫(kù)
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2007)03-10854-03
1 課題研究的意義和目的
1.1研究意義
現(xiàn)在,多媒體技術(shù)日趨成熟,多媒體系統(tǒng)以其能輸出精彩的圖形和圖像、美妙的聲音、動(dòng)感的畫(huà)面贏得了用戶和社會(huì)各界廣泛的關(guān)注和應(yīng)用。如果把按傳統(tǒng)考試方式同現(xiàn)代化的多媒體技術(shù)相結(jié)合,并且用多媒體著作工具及其它多媒體技術(shù),編制一套符合高校考試需求的系統(tǒng)及其配套的多媒體教學(xué)軟件,利用多媒體技術(shù)生動(dòng)、直觀、形象展示信息的特點(diǎn),輔助教師授課和學(xué)生進(jìn)行考試,尤其對(duì)部分有限制性的實(shí)驗(yàn)環(huán)節(jié),可利用活動(dòng)視頻技術(shù)進(jìn)行展示,這將會(huì)解決一系列目前存在的問(wèn)題??傊?,該課題是在計(jì)算機(jī)輔助教學(xué)及考試上進(jìn)行的一次積極有意義的嘗試,為其他實(shí)踐性較強(qiáng)的課程進(jìn)行多媒體輔助教學(xué)開(kāi)辟一條新的路子,具有一定的理論和現(xiàn)實(shí)意義。
1.2目的
傳統(tǒng)的考試手段主要依靠有紙?jiān)嚲?,幾乎沒(méi)有可重用性。本課題將實(shí)現(xiàn):用計(jì)算機(jī)輔助考試系統(tǒng),把多媒體生動(dòng)、直觀的顯示出來(lái),使學(xué)生不再將考試視為一種枯燥無(wú)味的東西,提高了考試效果,使學(xué)生在一種愉悅的心情中進(jìn)行考試,把枯燥的重復(fù)變?yōu)槌錆M樂(lè)趣、具有啟發(fā)性的考試過(guò)程,使學(xué)生能比較全面的學(xué)習(xí)知識(shí),掌握技能,達(dá)到素質(zhì)教育的要求。
2 系統(tǒng)流程圖設(shè)計(jì)
2.1初始化流程設(shè)計(jì)
在使用Authorware創(chuàng)建任何多媒體項(xiàng)目的時(shí)候,都應(yīng)該先設(shè)置當(dāng)前項(xiàng)目文件的窗口大小,將其設(shè)置為“800×600”,然后選擇“演示居中屏幕”,同時(shí)取消對(duì)“顯示標(biāo)題欄”和“顯示菜單欄”復(fù)選框的選擇。
2.2主界面的設(shè)計(jì)
本界面采用了Photoshop7.0圖形圖像處理軟件來(lái)繪制。為了避免界面的單調(diào)和呆板,用蒙版和濾鏡技術(shù)加以美化。該界面把Photoshop中的圖層技術(shù)、圖層蒙版技術(shù)、文字效果及濾鏡等功能完美的結(jié)合了起來(lái)。并且在底部設(shè)置了一個(gè)Flas,增加視覺(jué)效果。
2.3背景音樂(lè)的交互控制
該多媒體教學(xué)以MIDI作為背景音樂(lè),背景音樂(lè)的交互控制包括背景音樂(lè)的隨機(jī)選曲播放、停止等功能,另外當(dāng)該教學(xué)程序處于活動(dòng)狀態(tài)時(shí),能夠隨時(shí)調(diào)整背景音樂(lè)和講解聲音的大小及比例,讓使用者在一種輕松悅耳的環(huán)境中考試(調(diào)出WINDOWS的音量控制實(shí)現(xiàn)),還能夠暫停背景音樂(lè),當(dāng)再次進(jìn)入活動(dòng)狀態(tài)時(shí)則能重新播放背景音樂(lè)。
為了充分考慮用戶計(jì)算機(jī)的不同配置情況,首先利用BUDAPI.U32的BASOUNDCARD函數(shù)判斷用戶機(jī)器是否已經(jīng)安裝了聲卡,如果已經(jīng)安裝則執(zhí)行背景音樂(lè)播放,否則不允許播放任何背景音樂(lè)操作.程序如下:
IF BASOUNDCARD() THEN
MIDI:=1
TEST(MIDI,MIDILOOP (FILELOCATION^”MUSIC\\MUSIC-”^RANDOM(1,5,1)^”.MID”),STOPMIDI())
END IF
軟件中的背景音樂(lè)交互控制是通過(guò)交互響應(yīng)來(lái)實(shí)現(xiàn)的。在程序執(zhí)行過(guò)程中,用戶始終可以通過(guò)按鈕控制背景音樂(lè)的播放與暫停。在計(jì)算圖標(biāo)“播放音樂(lè)”后添加一交互圖標(biāo)并命名為“音樂(lè)控制”,并在交互圖標(biāo)右邊添加三個(gè)計(jì)算分支。設(shè)置“STOP/PLAY”分支為按鈕響應(yīng)交互,其功能是實(shí)現(xiàn)對(duì)背景音樂(lè)的控制。由于在整個(gè)程序執(zhí)行過(guò)程中它都是有效的,因此須設(shè)置其為永久按鈕,即選擇“PERPETUAL”屬性選項(xiàng),同時(shí)設(shè)置“ACTIVE IF”條件為:BASOUNDCARD(),即檢測(cè)到用戶沒(méi)有安裝聲卡的情況下該按鈕及響應(yīng)分支無(wú)效。
2.4內(nèi)容的導(dǎo)航設(shè)計(jì)
該多媒體教學(xué)涉及內(nèi)容繁多,不僅包括文本、圖片、聲音和動(dòng)畫(huà),而且還有其它多媒體工具與Authorware 配合,同時(shí),還把視頻文件導(dǎo)入,以增加實(shí)用性。為使用戶操作簡(jiǎn)單方便,設(shè)計(jì)了合理的教學(xué)內(nèi)容導(dǎo)航。主文件與各章節(jié)之間的導(dǎo)航設(shè)計(jì)根據(jù)結(jié)構(gòu)規(guī)劃中的該章節(jié)內(nèi)容的欄目劃分,在流程設(shè)計(jì)中為這些欄目設(shè)計(jì)了導(dǎo)航,如圖1為主程序內(nèi)容導(dǎo)航的設(shè)計(jì)流程圖。
這樣的流程設(shè)計(jì)使整個(gè)主程序結(jié)構(gòu)清晰,可讀性強(qiáng)。由于該文件結(jié)構(gòu)是主-分結(jié)構(gòu),即主文件調(diào)用各章節(jié)模塊文件的方式,因此在主文件的章節(jié)內(nèi)容中實(shí)際存放的是一個(gè)起鏈接橋梁作用的調(diào)用腳本,而具體的考試試題題型內(nèi)容則放在各章節(jié)的模塊文件內(nèi)。
2.5各模塊的內(nèi)容流程設(shè)計(jì)
圖中的考試模式、練習(xí)模式、教學(xué)模式及退出系統(tǒng)這四部分主要程序流程圖如下圖2、圖3、圖4、圖5所示。
第五部分的原理演示則是通過(guò)熱區(qū)交互以及調(diào)入用VC6.0制作的演示內(nèi)容的庫(kù)文件,抽象的工作原理形象化,具體化。在打包的過(guò)程中采用了分步打包,首先對(duì)每部分進(jìn)行打包。通過(guò)主文件調(diào)用其它各部分,這樣避免了主文件過(guò)大,影響運(yùn)行速度。
3 以完成單選題為例來(lái)看具體實(shí)現(xiàn)過(guò)程
從單選題的數(shù)據(jù)庫(kù)題庫(kù)中隨機(jī)抽取相應(yīng)題數(shù)的問(wèn)題;每一題只能選擇一個(gè)答案;用戶可以按次序做答,可跳過(guò)不答,在回答過(guò)程中,可以隨時(shí)返回已做過(guò)的題目進(jìn)行修改;交卷后會(huì)給出完成情況可以查看每題的回答情況.最后回到選題主界面,并把學(xué)生所做的答案成績(jī)保存到數(shù)據(jù)庫(kù)中。
當(dāng)用戶在主界面中,選擇了“考試模式”后,系統(tǒng)就會(huì)進(jìn)入到登錄界面系統(tǒng)會(huì)提示輸入用戶名和密碼,當(dāng)輸入后,點(diǎn)擊“確定”后,系統(tǒng)將會(huì)進(jìn)入到題型選擇界面。在提示框中輸入用戶名和密碼,我們點(diǎn)擊“確定”后,就會(huì)進(jìn)入到正式的單選題型界面中,選擇“單選題”單擊。
C語(yǔ)言程序設(shè)計(jì)考試系統(tǒng)的選擇題從數(shù)據(jù)庫(kù)中取出選擇題,在一個(gè)界面上顯示。利用三個(gè)熱區(qū)域交互按鈕“上一題”“下一題,”“完成”,按鈕和四個(gè)熱區(qū)域設(shè)置計(jì)算圖標(biāo)用來(lái)記錄學(xué)生所選擇的答案。在學(xué)生選擇“完成”后,彈出學(xué)生做題的情況界面,然后回到選題主界面,并把學(xué)生所做的答案成績(jī)保存到數(shù)據(jù)庫(kù)中。
3.1“未命名”用來(lái)擦除以前的圖像
(1) 打開(kāi)“未命名”的屬性,進(jìn)入“未命名”的屬性窗口。
(2)在“屬性窗口”中單擊擦除標(biāo)簽在設(shè)置過(guò)渡效果進(jìn)行設(shè)置。
(3)單擊“確定”按鈕
3.2 設(shè)置“單選界面”插入一個(gè)圖像
(1)雙擊“單選界面”圖標(biāo)進(jìn)入顯示圖標(biāo)窗口
(2)單擊繪圖工具箱 圖標(biāo)進(jìn)行繪制一個(gè)和窗口矩形一樣大的矩形
(3)設(shè)置矩形的顏色為“綠色”
(4)單擊顯示圖標(biāo)窗口的關(guān)閉按鈕,關(guān)閉保存對(duì)“單選界面”的設(shè)置。
3.3 設(shè)置交互“進(jìn)入”
(1)在交互圖標(biāo)的右邊拖放一個(gè)群組“單選”。
(2)設(shè)置單選的熱區(qū)為“按鈕”。
(3)單擊確定后,雙擊“選擇”。
3.3.1“未命名”用來(lái)擦除上次運(yùn)行的圖形
3.3.2 在“打開(kāi)數(shù)據(jù)庫(kù)”的輸入如下源程序:
hint0:="您的數(shù)據(jù)庫(kù)沒(méi)有連接上......"
--顯示連接數(shù)據(jù)庫(kù)的信息
title:="數(shù)據(jù)庫(kù)連接...."
ODBChandle:=ODBCOpen(WindowHandle,"","database","","")
--得到數(shù)據(jù)源
getrecord:="select count(sequence) from erigister"
--得到記錄的個(gè)數(shù)
record:=ODBCExecute(ODBChandle,getrecord)
if ODBChandle=0 then--測(cè)試連接數(shù)據(jù)庫(kù)是否連接成功
MessageBox(WindowHandle,hint0,title,17)
end if
ODBCClose(ODBChandle)
ODBChandle:=ODBCOpen(WindowHandle,"","database","","")
if ODBChandle=0 then
MessageBox(WindowHandle,hint0,title,17)
end if
sqlstring1:="select ssdb from erigister where sequence="^record^"" -從表中選擇單選庫(kù)表題
ssdatabase:=ODBCExecute(ODBChandle,sqlstring1)
getrecord:="select count(sequence) from "^ssdatabase^""
record:=ODBCExecute(ODBChandle,getrecord)
--ssdb數(shù)據(jù)庫(kù)的記錄個(gè)數(shù),以便產(chǎn)生隨機(jī)數(shù)
sssum:=0
number1:=1
sui:=[]
sui[1]:=Random(1,record,1)
--下面程序用來(lái)產(chǎn)生一個(gè)隨機(jī)數(shù)不能出現(xiàn)相同的題目
i:=2
repeat while i
flag:=0
repeat while flag=0
sui[i]:=Random(1,record,1)
flag1:=0
repeat with p:=1 to i-1
if sui[i]=sui[p] then flag1:=1
end repeat
if flag1=0 then flag:=1
end repeat
i:=i+1
end repeat
3.3.3 在“做選擇的背景”顯示圖標(biāo)中設(shè)計(jì)單選題的界面如上圖5.4
3.3.4 在“數(shù)據(jù)庫(kù)的操作”中輸入如下代碼:在這里,我們就要實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的隨機(jī)讀取和跟蹤答案的長(zhǎng)短來(lái)選擇界面
x:=0
ran:=sui[number1]
result:=""
record1:=Number(record)
record:=record1--得到記錄的個(gè)數(shù)
sqlstring1:="select topic from "^ssdatabase^" where sequence="^ran^""分別得到選擇題各項(xiàng)
sqlstring2:="select a from "^ssdatabase^" where sequence="^ran^""
sqlstring3:="select b from "^ssdatabase^" where sequence="^ran^""
sqlstring4:="select c from "^ssdatabase^" where sequence="^ran^""
sqlstring5:="select d from "^ssdatabase^" where sequence="^ran^""
sqlstring6:="select result from "^ssdatabase^" where sequence="^ran^""
get1:=ODBCExecute(ODBChandle,sqlstring1)
--get1得到選擇題目?jī)?nèi)容
get2:=ODBCExecute(ODBChandle,sqlstring2)
--get2得到選擇項(xiàng)A內(nèi)容
get3:=ODBCExecute(ODBChandle,sqlstring3)
--get3得到選擇項(xiàng)B內(nèi)容
get4:=ODBCExecute(ODBChandle,sqlstring4)
--get4得到選擇項(xiàng)C內(nèi)容
get5:=ODBCExecute(ODBChandle,sqlstring5)
--get5得到選擇項(xiàng)D內(nèi)容
get6:=ODBCExecute(ODBChandle,sqlstring6)
--get6得到選擇題的答案
inputa:=1 --用來(lái)設(shè)置熱區(qū)域的激活條件
3.3.5空“操作”用來(lái)設(shè)置跳轉(zhuǎn)標(biāo)志
3.3.6在交互圖標(biāo)右邊拖入四個(gè)熱區(qū)域
在計(jì)算圖標(biāo)中從左到右的四個(gè)計(jì)算圖標(biāo)中輸入: result:="A" result:="b" result:="c" result:="d"在交互屬性中設(shè)置激活條件為inputa=1: ,鼠標(biāo)指針設(shè)置為標(biāo)準(zhǔn)鼠標(biāo)指針,其它的為默認(rèn)設(shè)置.其中result變量用來(lái)記錄用戶所選的答案.
3.3.7拖一個(gè)交互圖標(biāo)“未命名”在它的右邊拖兩個(gè)計(jì)算圖標(biāo)為“上一題”和“下一題”,再拖一個(gè)群組“完成”放在“下一題”右邊 ,設(shè)置熱區(qū)為按鈕。在“上一題”的激活條件中輸入number1>1,鼠標(biāo)指針設(shè)置為:標(biāo)準(zhǔn)的鼠標(biāo)指針。在“下一題”的激活條件中輸入:number1
4 結(jié)束語(yǔ)
根據(jù)對(duì)教師上課時(shí)課堂練習(xí)的分析,開(kāi)發(fā)出該考試系統(tǒng),主要是能夠方便課堂練習(xí),同時(shí)還可用于期中期末測(cè)試,該系統(tǒng)主要是針對(duì)《C語(yǔ)言程序設(shè)計(jì)》課程來(lái)設(shè)計(jì)的。對(duì)該系統(tǒng)做簡(jiǎn)單修改,即可用于其它課程。
參考文獻(xiàn):
[1]王嘉寧,朱雋.Photoshop7.0中文版新概念百例[M].中國(guó)水利水電出版社,2004,4.
[2]龔祥國(guó).主編.Photoshop圖像處理實(shí)用教程[M].科學(xué)出版社,2002,2.
[3]王龍,金海.主編.Flash MX實(shí)戰(zhàn)入門(mén)新概念[M].中國(guó)水利水電出版社,2005,5.
[4]李恒.Authorware 6.0多媒體實(shí)例大制作》[M] 冶金工業(yè)出版社,2002,4.
[5]袁海東.Authorware 7.0教程[M].電子工業(yè)出版社,2004,9.
關(guān)鍵詞:C語(yǔ)言;程序設(shè)計(jì);學(xué)習(xí)方法;學(xué)習(xí)興趣
中圖分類號(hào):TP312.1-4
《C語(yǔ)言程序設(shè)計(jì)》是計(jì)算機(jī)專業(yè)的一門(mén)核心專業(yè)基礎(chǔ)課程,是專升本、考研和等級(jí)水平考試的必考科目,也是學(xué)生學(xué)習(xí)中感到比較吃力的一門(mén)課。那么,如何學(xué)習(xí)《C語(yǔ)言程序設(shè)計(jì)》這門(mén)課程呢?現(xiàn)根據(jù)自己多年在教學(xué)中的體會(huì),談一些粗淺的認(rèn)識(shí)。
1 為什么要學(xué)習(xí)《C語(yǔ)言程序設(shè)計(jì)》
《C語(yǔ)言程序設(shè)計(jì)》是用C語(yǔ)言來(lái)編寫(xiě)程序的,每個(gè)程序員在他們的編程生涯中都應(yīng)該學(xué)習(xí)C語(yǔ)言,因?yàn)樗刑嚯y以忽視的好處了。除了它會(huì)給你提供更多的工作機(jī)會(huì)之外,C語(yǔ)言還會(huì)教給你更多的關(guān)于計(jì)算機(jī)的知識(shí)。它的好處如下:
1.1 C語(yǔ)言是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言
它既具有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn),既可以用來(lái)編寫(xiě)系統(tǒng)軟件,又可以用來(lái)編寫(xiě)應(yīng)用軟件。它不僅具有繪圖能力強(qiáng),還具備很強(qiáng)的數(shù)據(jù)處理能力,因此也適于編寫(xiě)三維,二維圖形和動(dòng)畫(huà)。
1.2 C語(yǔ)言具有功能強(qiáng)大、使用靈活、豐富的數(shù)據(jù)類型和運(yùn)算符、結(jié)構(gòu)化的控制語(yǔ)句、目標(biāo)代碼運(yùn)行效率高、適用范圍大、可移植性好等優(yōu)點(diǎn)。
1.3 C語(yǔ)言是各大操作系統(tǒng)的基礎(chǔ),Unix、Linux、Windows其內(nèi)核都清一色是C語(yǔ)言開(kāi)發(fā)的,(某些地方是和匯編語(yǔ)言混合開(kāi)發(fā)的),還有各種語(yǔ)言的編譯器,包括java虛擬機(jī),各種嵌入式設(shè)備,如手機(jī)、PDA等都是C語(yǔ)言開(kāi)發(fā)的。
1.4 C語(yǔ)言是基礎(chǔ),如果你學(xué)習(xí)過(guò)C語(yǔ)言,你就能學(xué)習(xí)現(xiàn)在任何的高級(jí)編程語(yǔ)言
因?yàn)樗械母呒?jí)語(yǔ)言都是以C語(yǔ)言為基礎(chǔ)的(像JAVA,C++,C#等等)。C語(yǔ)言學(xué)好了,將來(lái)想學(xué)其他的語(yǔ)言,就比較好入門(mén)了。
2 如何學(xué)習(xí)《C語(yǔ)言程序設(shè)計(jì)》
2.1 克服畏難心理,充滿自信的學(xué)習(xí)《C語(yǔ)言程序設(shè)計(jì)》
大多數(shù)學(xué)生一看到《C語(yǔ)言程序設(shè)計(jì)》課程的教材,就有畏難的情緒,覺(jué)得C語(yǔ)言難學(xué),學(xué)不會(huì),因?yàn)樗麄儗?duì)計(jì)算機(jī)語(yǔ)言不了解,另外有些英語(yǔ)差的同學(xué),看到計(jì)算機(jī)編程是用英語(yǔ)編寫(xiě)的,就未學(xué)先棄了。其實(shí)學(xué)習(xí)語(yǔ)言并沒(méi)有他們想象的那么難,英語(yǔ)差也對(duì)學(xué)習(xí)計(jì)算機(jī)語(yǔ)言影響不大,比如學(xué)C語(yǔ)言,真正要記的關(guān)鍵字不多,語(yǔ)法也不復(fù)雜,只要大家不帶著畏難的心理,充滿自信,一定能學(xué)好的。
2.2 要明確《C語(yǔ)言程序設(shè)計(jì)》的學(xué)習(xí)目的
通過(guò)《C語(yǔ)言程序設(shè)計(jì)》課程的學(xué)習(xí),掌握C語(yǔ)言基本知識(shí),掌握程序設(shè)計(jì)的基本方法并逐步形成正確的程序設(shè)計(jì)思想,能夠熟練運(yùn)用基本程序結(jié)構(gòu)解決簡(jiǎn)單問(wèn)題,理解模塊化程序設(shè)計(jì)原則并能熟練使用C語(yǔ)言進(jìn)行程序設(shè)計(jì),具備調(diào)試程序的能力,為后繼課程及其他程序設(shè)計(jì)課程的學(xué)習(xí)和應(yīng)用打下基礎(chǔ)。
2.3 要明白《C語(yǔ)言程序設(shè)計(jì)》與一般的計(jì)算機(jī)操作課程有所不同
《C語(yǔ)言程序設(shè)計(jì)》是計(jì)算機(jī)的一門(mén)軟件編程課程,是用C語(yǔ)言來(lái)編寫(xiě)程序的,它具有難度性、抽象性、連續(xù)性和邏輯嚴(yán)密性。如果你第一次課來(lái)聽(tīng)了,第二次課沒(méi)來(lái),第三次課很可能就聽(tīng)不懂了。比如,第一次課講的是數(shù)字1,2,3,4……,第二次課講的是運(yùn)算符號(hào)+,-,*,/,第三次課老師讓你算1+2=?,如果你前兩次課都來(lái)聽(tīng)了,那么你就能算出它的結(jié)果,否則你就算不出它的結(jié)果。因此,如果要想學(xué)好《C語(yǔ)言程序設(shè)計(jì)》,必須堅(jiān)持每次課都來(lái),如果那天確實(shí)不能來(lái),就應(yīng)在家自學(xué),不懂的地方應(yīng)及時(shí)向老師請(qǐng)教,一定不能落課。
2.4 要整體把握《C語(yǔ)言程序設(shè)計(jì)》
C語(yǔ)言是一種通用的程序設(shè)計(jì)語(yǔ)言,在開(kāi)發(fā)系統(tǒng)軟件和應(yīng)用軟件中得到廣泛的應(yīng)用,已成為當(dāng)今計(jì)算機(jī)世界最流行的語(yǔ)言之一。C語(yǔ)言是一個(gè)整體,各個(gè)方面是有機(jī)聯(lián)系的,要從總體上把握它,不要把它割裂成互不關(guān)聯(lián)的部件。它包括C語(yǔ)言概述、數(shù)據(jù)類型(整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等)、運(yùn)算符和表達(dá)式、流程控制語(yǔ)句、函數(shù)、數(shù)組、字符與字符串、指針、結(jié)構(gòu)體、文件等。通過(guò)《C語(yǔ)言程序設(shè)計(jì)》的學(xué)習(xí),掌握程序設(shè)計(jì)的基本概念、基本思想、基本方法和基本技能,進(jìn)而學(xué)會(huì)利用C語(yǔ)言解決實(shí)際問(wèn)題,培養(yǎng)計(jì)算機(jī)程序設(shè)計(jì)的能力和素質(zhì),以及思維方法,為以后學(xué)習(xí)其它計(jì)算機(jī)程序語(yǔ)言和后續(xù)的專業(yè)課程打下基礎(chǔ)。
簡(jiǎn)單的C程序是由主函數(shù)和函數(shù)體兩大部分組成。它的基本框架如下:
main()
{
}
其中main表示“主函數(shù)”。每一個(gè)C程序都必須有一個(gè)main函數(shù),而且只能有一個(gè)main函數(shù),它表示程序從這里開(kāi)始執(zhí)行。由花括號(hào)“{ }”括起的部分是函數(shù)體。其中函數(shù)體又包括定義變量、變量賦值、函數(shù)調(diào)用、輸出打印等。
例:一個(gè)簡(jiǎn)單的求和程序
main() /*主函數(shù)*/
{
int a,b,sum; /*定義變量*/
a=123;b=456; /*變量賦值*/
sum=a+b; /*求兩數(shù)之和*/
printf(“sum is %d\n”,sum); /*輸出和值*/
}
這是一個(gè)簡(jiǎn)單的求和程序。/*...*/表示注釋部分,只給人看的,對(duì)編譯和運(yùn)行不起作用。第3行是聲明部分,定義變量a、b、sum,指定a、b、sum為整型(int)變量。第4行是兩個(gè)賦值語(yǔ)句,使a和b的值分別為123和456。第5行使sum的值為a+b,第6行中“%d”是輸入輸出的“格式字符串”,用來(lái)指定輸入輸出時(shí)的數(shù)據(jù)類型和格式,“%d”表示“以十進(jìn)制整數(shù)形式輸出”。Printf函數(shù)中括弧內(nèi)最右端sum是要輸出的變量,現(xiàn)在它的值為579(即123+456之值)。因此輸出一行信息為:
sum is 579
從這個(gè)例子可以看出,想要把《C語(yǔ)言程序設(shè)計(jì)》這門(mén)課學(xué)好,不僅要知道《C語(yǔ)言程序設(shè)計(jì)》的基本框架,還要學(xué)好函數(shù)體中的內(nèi)容(變量類型、定義變量、變量賦值、輸入輸出格式字符串、輸入輸出函數(shù)格式、調(diào)用函數(shù)等)。另外還要學(xué)好C語(yǔ)言的運(yùn)算符、運(yùn)算順序 、四種程序結(jié)構(gòu)(順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、模塊化程序結(jié)構(gòu) )、掌握一些簡(jiǎn)單的算法等。
2.5 熟練C程序的上機(jī)步驟
在編好一個(gè)C源程序后,如何上機(jī)運(yùn)行呢?要經(jīng)過(guò)編輯、編譯、連接和運(yùn)行四個(gè)步驟。
(1)編輯源文件。在編輯(Edit)狀態(tài)下輸入或修改源程序。
(2)編譯源程序。選擇“C編譯”菜單并選擇“編譯到OBJ”,進(jìn)行編譯,得到一個(gè)后綴為.obj的目標(biāo)程序。
(3)然后再選擇菜單“L連接EXE文件”,進(jìn)行連接操作,可得到一個(gè)后綴為.exe的可執(zhí)行文件。
(4) 運(yùn)行程序。在“RUN”菜單中選擇“R運(yùn)行程序”項(xiàng),或直接按Ctr+F9鍵,系統(tǒng)就會(huì)運(yùn)行已編譯好的可執(zhí)行目標(biāo)文件。此時(shí),TC集成環(huán)境窗口消失,屏幕上顯示出程序運(yùn)行的結(jié)果。如果程序需要輸入數(shù)據(jù),則應(yīng)在此時(shí),從鍵盤(pán)輸入所需數(shù)據(jù),然后程序會(huì)接著執(zhí)行,輸出結(jié)果。
2.6 要加強(qiáng)編程訓(xùn)練
《C語(yǔ)言程序設(shè)計(jì)》是實(shí)踐性非常強(qiáng)的課程,要求學(xué)員要理論聯(lián)系實(shí)際,在掌握C語(yǔ)言的基本語(yǔ)法和基本知識(shí)后,重點(diǎn)應(yīng)放在提高編程能力的訓(xùn)練上。根據(jù)學(xué)生學(xué)習(xí)的認(rèn)知特點(diǎn),我認(rèn)為主要應(yīng)從以下幾個(gè)方面進(jìn)行強(qiáng)化訓(xùn)練:
(1)吃透課本例子。每學(xué)完一次新課,讓學(xué)生對(duì)課本例子先分析任務(wù)、再仔細(xì)閱讀程序,然后按書(shū)上的源代碼敲出來(lái),編譯執(zhí)行輸出結(jié)果,如果結(jié)果跟書(shū)上一致就算完成,如果不一致,就要仔細(xì)找原因。再后不看書(shū)自己編寫(xiě)代碼與課本對(duì)照,找出自己的不足,然后改進(jìn)。最后在此例的基礎(chǔ)上自己加以改造,舉一反三,變?yōu)槠渌睦樱绱朔磸?fù)練習(xí),不僅培養(yǎng)了學(xué)生動(dòng)腦思考的習(xí)慣,而且養(yǎng)成了遇事三思、認(rèn)真、周密的作風(fēng)。
(2)精選上機(jī)題目,要求調(diào)試通過(guò)。每章找出一個(gè)或兩個(gè)綜合性的具有代表性的應(yīng)用題目,如編寫(xiě)一個(gè)程序,計(jì)算一個(gè)整數(shù)的名位數(shù)字之和;用選擇法對(duì)數(shù)組中10個(gè)整數(shù),按由小到大的順序進(jìn)行排序等,要求用C語(yǔ)言編寫(xiě)可執(zhí)行的源程序,上機(jī)調(diào)試。這樣不僅鍛煉了學(xué)生解決實(shí)際問(wèn)題的能力,更重要的是激發(fā)了學(xué)生學(xué)習(xí)課程的興趣,抽象變具體 ,理論變實(shí)踐,對(duì)這門(mén)課有了更深的認(rèn)識(shí)。
(3)閱讀填空法。找一些經(jīng)典程序,配上必要的說(shuō)明,適當(dāng)去掉語(yǔ)句或表達(dá)式,讓學(xué)生通過(guò)閱讀填補(bǔ)空白,訓(xùn)練學(xué)生的程序設(shè)計(jì)能力。例編寫(xiě)一個(gè)程序,輸入月份號(hào),輸出月的英文月名,還有求和、排序、報(bào)號(hào)等。
(4)準(zhǔn)備一個(gè)經(jīng)驗(yàn)本,記下C語(yǔ)言重要的語(yǔ)法和知識(shí)點(diǎn),還有自己出錯(cuò)的解決方法及老師講解的其他同學(xué)出現(xiàn)的常見(jiàn)錯(cuò)誤,抽空常翻看,逐步積累經(jīng)驗(yàn),加深印象,使以后避免。
(5)帶著作業(yè)去上機(jī)。每次理論課結(jié)束后,老師都會(huì)給學(xué)生布置一些作業(yè)(如習(xí)題)讓學(xué)生做,那么學(xué)生一定要認(rèn)認(rèn)真真的把作業(yè)完成好,先把程序編寫(xiě)在作業(yè)本上,上機(jī)時(shí)再把這些程序敲到計(jì)算機(jī)上,進(jìn)行修改、調(diào)試、運(yùn)行,最后輸出結(jié)果。如果學(xué)生不帶作業(yè)去上機(jī),第一次老師警告下次一定帶作業(yè)上機(jī),如果第二次還沒(méi)帶作業(yè),不準(zhǔn)學(xué)生進(jìn)機(jī)房,讓學(xué)生到教室把作業(yè)做完后再到機(jī)房上機(jī)調(diào)試。有人說(shuō)學(xué)生可以直接在機(jī)器上編寫(xiě)程序,固然沒(méi)錯(cuò),但對(duì)于初學(xué)者來(lái)說(shuō),如果在機(jī)器上邊思考邊編寫(xiě),也就是說(shuō)想一句編一句,再想一句再編一句,這樣太浪費(fèi)時(shí)間,一節(jié)課說(shuō)不定連一個(gè)程序都編不好,所以老師一定要求學(xué)生在課下把程序編好,上機(jī)只需把程序敲出來(lái)進(jìn)行修改、調(diào)試、運(yùn)行,這樣能節(jié)約大量的時(shí)間,學(xué)生上機(jī)時(shí)間本身都是有限的。
上述方法在教學(xué)實(shí)踐中證明是行之有效的,學(xué)生對(duì)問(wèn)題分析、程序設(shè)計(jì)的自覺(jué)性和能動(dòng)性得到提高,動(dòng)手能力加強(qiáng),對(duì)后繼課如《C++》、《面向?qū)ο蟪绦蛟O(shè)計(jì)》等,學(xué)習(xí)起來(lái)倍感輕松,較好地完成了該門(mén)課程的學(xué)習(xí)目標(biāo)??傊?,實(shí)踐出真知,多學(xué)、多練、多思、多交流,勤奮好學(xué)才能學(xué)成。
參考文獻(xiàn):
[1]嚴(yán)桂蘭.C語(yǔ)言程序設(shè)計(jì)與應(yīng)用教程[M].福建:廈門(mén)大學(xué)出版社,2001.
[2]譚浩強(qiáng).C程序設(shè)計(jì)(第三版)[M].北京:清華大學(xué)出版社,2005.
[3]陳東.計(jì)算機(jī)多媒體教學(xué)改革的一些嘗試[J].福建師范大學(xué)學(xué)報(bào)(自然版),2004,20(3):98.
[4]王蘭.學(xué)好《C程序設(shè)計(jì)》的幾點(diǎn)建議[J].科技信息,2007(9).
程序設(shè)計(jì)對(duì)于各個(gè)計(jì)算機(jī)類高校而言,都是非常重要的一類課程,尤其是理工類院校的必修課。而要進(jìn)行程序設(shè)計(jì),必須掌握一門(mén)計(jì)算機(jī)語(yǔ)言來(lái)做為編程工具。目前,很多計(jì)算機(jī)類高校都把C語(yǔ)言作為程序設(shè)計(jì)的入門(mén)課程來(lái)教學(xué)。我們知道可供選擇的計(jì)算機(jī)語(yǔ)言是非常多的,如C++,C#,java等等,之所以選擇C語(yǔ)言是由于C語(yǔ)言功能豐富,表達(dá)能力強(qiáng),使用靈活方便,應(yīng)用面廣,目標(biāo)程序效率高,可移植性好,它既有高級(jí)語(yǔ)言的優(yōu)點(diǎn),又有低級(jí)語(yǔ)言的許多特點(diǎn)。可以說(shuō),學(xué)好C語(yǔ)言對(duì)打好程序設(shè) 計(jì)基礎(chǔ)起到至關(guān)重要的作用。
由于很多高校在學(xué)生進(jìn)入大學(xué)學(xué)習(xí)的第一學(xué)期就開(kāi)設(shè)C語(yǔ)言課程,大多數(shù)學(xué)生在高中時(shí)因?yàn)楦呖嫉膲毫Χ鴽](méi)有接觸過(guò)計(jì)算機(jī),對(duì)計(jì)算機(jī)的基本操作并不了解。這就導(dǎo)致了學(xué)生在學(xué)習(xí)C語(yǔ)言的過(guò)程中,感覺(jué)C語(yǔ)言語(yǔ)法枯燥,難以掌握;對(duì)基本概念能夠理解,但是當(dāng)實(shí)際應(yīng)用到程序編寫(xiě)的時(shí)候又感覺(jué)無(wú)從下手;學(xué)生沒(méi)有養(yǎng)成良好的程序編寫(xiě)習(xí)慣,使寫(xiě)出來(lái)的程序漏洞百出……等等這些問(wèn)題都跟教師的教學(xué)方法、學(xué)生的學(xué)習(xí)方法有很大的關(guān)系。針對(duì)學(xué)習(xí)C語(yǔ)言中的種種問(wèn)題,根據(jù)筆者多年的C語(yǔ)言教學(xué)經(jīng)驗(yàn),下面提出C語(yǔ)言教學(xué)中的一些新思路供大家共同探討。
1 掌握基本要求,打好學(xué)習(xí)基礎(chǔ)
在學(xué)生階段,C語(yǔ)言的學(xué)習(xí)主要是學(xué)習(xí)程序設(shè)計(jì)的方法,訓(xùn)練程序設(shè)計(jì)的思維,為以后進(jìn)一步的學(xué)習(xí)和應(yīng)用打下良好的基礎(chǔ)。但在實(shí)際教學(xué)當(dāng)中,很多學(xué)生改變不了高中時(shí)期的學(xué)習(xí)方法,對(duì)課本上的概念和程序死記硬背,總以為把書(shū)背熟了就能夠?qū)W好C語(yǔ)言,而沒(méi)有把精力放在最基礎(chǔ)、最常用的內(nèi)容上,以至于基礎(chǔ)薄弱,在程序的編寫(xiě)時(shí)經(jīng)常會(huì)出現(xiàn)一些不應(yīng)有的錯(cuò)誤。筆者在教學(xué)中發(fā)現(xiàn)學(xué)生經(jīng)常會(huì)出現(xiàn)以下一些問(wèn)題。
(1)編寫(xiě)程序時(shí)不區(qū)分標(biāo)示符的大小寫(xiě)。例如,int myname和int MyName就是完全不同的兩個(gè)變量。在C語(yǔ)言里面,對(duì)標(biāo)示符大小寫(xiě)敏感,但是很多同學(xué)就是會(huì)忽略這最基本的要求,造成程序出錯(cuò)。
(2)對(duì)“=”和“==”混淆使用?!?”是C語(yǔ)言里的賦值符號(hào),把右邊的值賦給左邊的變量;而“==”是關(guān)系運(yùn)算符,它的作用是判斷“==”兩邊的值是否相等,返回的結(jié)果是一個(gè)邏輯值,即“真”或“假”。例如:a=1,是把1這個(gè)數(shù)據(jù)放在變量a里面,而a==1,表示a變量的值是否跟1相等,如果相等返回“真”,如果不相等就返回“假”。
(3)顛倒printf()函數(shù)值的輸出順序。直接看個(gè)例子:
輸出的正確值應(yīng)該分別為10,11,10,10。
很多學(xué)生出現(xiàn)錯(cuò)誤是因?yàn)椴焕斫鈖rintf()函數(shù)執(zhí)行的順序,printf()函數(shù)在執(zhí)行時(shí)是從右到左,而輸出時(shí)是從左到右。
從以上3個(gè)學(xué)生容易出錯(cuò)的例子我們可以看出,正是由于學(xué)生對(duì)基礎(chǔ)知識(shí)掌握的不理想,導(dǎo)致這些極其簡(jiǎn)單錯(cuò)誤的出現(xiàn)。在我們的教學(xué)當(dāng)中,教師也必須把最基礎(chǔ)的知識(shí)跟學(xué)生講透,讓學(xué)生改變學(xué)習(xí)觀念,對(duì)學(xué)生加以引導(dǎo),懂得學(xué)習(xí)C語(yǔ)言并不是一朝一夕就能夠一下子變成編程高手,而應(yīng)該腳踏實(shí)地,實(shí)事求是地打好基礎(chǔ)。
2 重視算法的學(xué)習(xí)
算法是程序的靈魂,沒(méi)有好的算法,就編寫(xiě)不出好的計(jì)算機(jī)程序。在C語(yǔ)言教學(xué)中,教師在很多時(shí)候都不注重算法的教學(xué),導(dǎo)致學(xué)生上課時(shí)候能聽(tīng)得懂,看得懂課本上的程序例題,但是當(dāng)布置作業(yè)讓學(xué)生自己去完成程序編寫(xiě)的時(shí)候,學(xué)生又感覺(jué)無(wú)從下手。這些都是由于學(xué)生只注重去背課本上的程序例題,而不注重程序的算法思想照成的。教師在教學(xué)中要注意對(duì)學(xué)生算法邏輯思維的培養(yǎng),在講解程序時(shí),應(yīng)該首先分析程序中所需要用到的算法,要把重點(diǎn)放在例題的解題思路上,一步一步地引導(dǎo)學(xué)生,讓學(xué)生知道程序?yàn)槭裁匆@樣編寫(xiě)。在授課階段初期,我們也可以給學(xué)生舉一些簡(jiǎn)單的、有生活氣息的例題來(lái)引發(fā)學(xué)生對(duì)算法的興趣。例如,我們可以舉這樣的一些例子。
(1)家里有個(gè)微波爐可以同時(shí)燒烤2份牛排,每份牛排有兩面,每面需要燒烤2分鐘才可以食用,問(wèn)用微波爐燒烤3份可以食用的牛排需要多少時(shí)間?這個(gè)問(wèn)題用算法來(lái)解答的話,我們可以有2種方案。第1種,先把第1份牛排和第2份牛排放進(jìn)去燒烤2分鐘,然后再把這2份牛排翻一面過(guò)來(lái)再燒烤2分鐘,接下來(lái)把第3份牛排放進(jìn)去,燒烤兩面共花去4分鐘,由此可知整個(gè)過(guò)程一共要用掉8分鐘。第2種,同樣的把第1份牛排和第2份牛排放進(jìn)去燒烤2分鐘,然后把第2份牛排先取出來(lái),把第1份牛排翻一面過(guò)來(lái)跟第3份牛排一起放進(jìn)去燒烤2分鐘,最后把第3份牛排翻一面過(guò)來(lái)跟第2份牛排的另一面一起燒烤2分鐘,這樣3份牛排就都烤好了,這種方法,我們只需要6分鐘。很顯然,用這樣一個(gè)簡(jiǎn)單的例子,可以讓學(xué)生知道算法的重要性,好的算法可以節(jié)省程序大量的執(zhí)行時(shí)間。
(2)有甲乙兩人,甲現(xiàn)在26歲,乙現(xiàn)在8歲,求多少年之后甲的年齡是乙年齡的兩倍?對(duì)于這個(gè)問(wèn)題,我們可以引導(dǎo)學(xué)生使用循環(huán)體來(lái)解答。我們知道年齡是逐年增長(zhǎng)的,假設(shè)甲為變量m,乙為變量n,則循環(huán)體就是m++、n++的一個(gè)過(guò)程,當(dāng)甲和乙的年齡相差兩倍時(shí),循環(huán)結(jié)束。所以我們?cè)O(shè)定循環(huán)體的執(zhí)行條件應(yīng)該是m!=2*n。最后當(dāng)循環(huán)體結(jié)束時(shí)輸出m和n的值。通過(guò)這樣的一個(gè)分析過(guò)程,相信學(xué)生很快就能夠?qū)懗鲞@個(gè)問(wèn)題的程序。
由此可見(jiàn),通過(guò)一些例子的算法講解,一方面能夠讓學(xué)生理解解題的過(guò)程,一方面還可以鍛煉學(xué)生的算法思維,讓學(xué)生感受到算法的重要性。
3 上好實(shí)驗(yàn)課
上機(jī)實(shí)驗(yàn)也是C語(yǔ)言教學(xué)中的一個(gè)重要環(huán)節(jié),學(xué)生僅僅聽(tīng)課是學(xué)不好C語(yǔ)言的。學(xué)生不僅要能夠掌握基礎(chǔ)的概念,還要自己動(dòng)手編寫(xiě)程序,最后要親自上機(jī)調(diào)試程序的運(yùn)行并對(duì)程序進(jìn)行修改。所以,如何上好C語(yǔ)言課程的實(shí)驗(yàn)課,也是教師要思考的一個(gè)問(wèn)題。在筆者平時(shí)的教學(xué)中遇到這樣的一些問(wèn)題,如很多學(xué)生在上實(shí)驗(yàn)課時(shí),沒(méi)有把精力放在學(xué)習(xí)上,而是在玩游戲看小說(shuō);還有些學(xué)生上實(shí)驗(yàn)課前沒(méi)有很好的預(yù)習(xí),浪費(fèi)了大量時(shí)間在知識(shí)的復(fù)習(xí)上;在實(shí)驗(yàn)過(guò)程中,學(xué)生一遇到問(wèn)題就會(huì)向老師提問(wèn),以至于老師疲于解答甚至由于問(wèn)的人數(shù)過(guò)多而無(wú)法一一進(jìn)行解答。這些問(wèn)題都影響到實(shí)驗(yàn)課的效果,甚至?xí)绊懙讲糠謱W(xué)生的學(xué)習(xí)積極性。如何改變這種狀況,筆者采用以下幾種方法。
(1)在上實(shí)驗(yàn)課之前就把實(shí)驗(yàn)題目布置給學(xué)生,學(xué)生在上課之前就需要提交給教師一份預(yù)習(xí)報(bào)告,這份報(bào)告里面應(yīng)該包含學(xué)生對(duì)實(shí)驗(yàn)題目的解題思路及初步的解題程序。然后讓學(xué)生帶著這份報(bào)告上機(jī)調(diào)試程序。這樣就可以避免學(xué)生在上實(shí)驗(yàn)課時(shí)無(wú)所事事的情況。
(2)對(duì)于有條件的學(xué)校可以配置多名實(shí)驗(yàn)指導(dǎo)教師。學(xué)生在實(shí)驗(yàn)中經(jīng)常會(huì)遇到一些問(wèn)題需要教師幫助解決,當(dāng)問(wèn)的人比較多的時(shí)候,教師就沒(méi)有辦法一一解答,而部分學(xué)生由于得不到解答而會(huì)停止程序的調(diào)試轉(zhuǎn)做其他事情,如果一直得不到幫助的話,就會(huì)影響他們的積極性,所以配置一到多名指導(dǎo)教師是很有必要的。如果沒(méi)有足夠教師的話,我們可以讓班級(jí)里面學(xué)習(xí)比較好的同學(xué),組成一個(gè)學(xué)習(xí)興趣小組。讓這些學(xué)生在實(shí)驗(yàn)課時(shí)對(duì)一些有問(wèn)題的同學(xué)進(jìn)行幫助,這樣既能夠增進(jìn)學(xué)生之間的友誼,又能夠完成教師布置的實(shí)驗(yàn)任務(wù)。
(3)改變實(shí)驗(yàn)的考核方式。很多教師一般都是在下課的時(shí)候讓學(xué)生提交作業(yè),這樣可能會(huì)讓一些學(xué)生鉆空子,拷貝別人的作業(yè)提交。所以建議在課堂上當(dāng)場(chǎng)對(duì)學(xué)生的作業(yè)進(jìn)行評(píng)分,遇到有雷同的作業(yè),要求學(xué)生重做。在期末的時(shí)候,也必須要強(qiáng)調(diào)平時(shí)的成績(jī),不能把期末成績(jī)作為衡量學(xué)生成績(jī)的唯一指標(biāo)。
通過(guò)以上的一些措施,可以有效地促進(jìn)學(xué)生對(duì)C語(yǔ)言的學(xué)習(xí)效果,對(duì)鞏固C語(yǔ)言的課堂教學(xué)起到了巨大的作用。
關(guān)鍵詞關(guān)鍵詞:C++;程序設(shè)計(jì); 教學(xué)方法;教學(xué)改革
中圖分類號(hào):G433
文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):16727800(2014)002018902
0引言
C++語(yǔ)言廣泛應(yīng)用于基礎(chǔ)軟件、桌面系統(tǒng)、網(wǎng)絡(luò)通信、音頻視頻、游戲娛樂(lè)等諸多領(lǐng)域,是世界上使用最廣泛的編程語(yǔ)言之一。隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,C/C++技術(shù)在3G網(wǎng)絡(luò)通信、多媒體處理、智能識(shí)別等領(lǐng)域得到了進(jìn)一步的推動(dòng)和發(fā)展。但人才短缺依然制約著行業(yè)的發(fā)展,很多高校都認(rèn)識(shí)到這一點(diǎn),相繼開(kāi)設(shè)《C++語(yǔ)言程序設(shè)計(jì)》課程,目的在于讓計(jì)算機(jī)專業(yè)的學(xué)生多學(xué)會(huì)一門(mén)編程語(yǔ)言,進(jìn)一步培養(yǎng)學(xué)生獨(dú)立思考、分析和解決問(wèn)題的能力,增加就業(yè)砝碼。然而《C++語(yǔ)言程序設(shè)計(jì)》這門(mén)課程學(xué)起來(lái)并不容易,不僅有很強(qiáng)的理論性,更具有實(shí)用性,課堂理論教學(xué)和代碼編寫(xiě)缺一不可。在傳統(tǒng)教學(xué)過(guò)程中,由于教學(xué)目標(biāo)不清晰,部分學(xué)生會(huì)質(zhì)疑開(kāi)設(shè)這門(mén)課程的必要性,并且教學(xué)內(nèi)容或教學(xué)方法上的不足,也使得學(xué)生學(xué)起來(lái)枯燥,逐漸產(chǎn)生畏難心理。因此,高校《C++語(yǔ)言程序設(shè)計(jì)課程》的教學(xué)改革勢(shì)在必行。本文根據(jù)多年來(lái)的實(shí)際教學(xué)情況和C++培訓(xùn)市場(chǎng)調(diào)研分析,從該課程的教學(xué)目標(biāo)、教學(xué)內(nèi)容以及教學(xué)實(shí)施方法等方面進(jìn)行探索性的改革。
1教學(xué)中存在的普遍問(wèn)題
1.1學(xué)生無(wú)法明確教學(xué)目標(biāo)
以武漢東湖學(xué)院的《計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)》課程為例,4年的時(shí)間依次開(kāi)設(shè)了《高級(jí)語(yǔ)言程序設(shè)計(jì)——C》、《面向?qū)ο蟪绦蛟O(shè)計(jì)——Java》、《C++語(yǔ)言程序設(shè)計(jì)》《.net 程序設(shè)計(jì)》4門(mén)課程。學(xué)校的出發(fā)點(diǎn)是全面培養(yǎng)學(xué)生的軟件開(kāi)發(fā)編程能力,不斷提高學(xué)生獨(dú)立思考、分析和解決問(wèn)題的能力,從而增加學(xué)生就業(yè)砝碼。4門(mén)課程跨越不同的教學(xué)學(xué)期,由不同的教師授課,教師如果只關(guān)注自己所授課程,沒(méi)能從全局比較分析,學(xué)生很可能無(wú)法明確教學(xué)目標(biāo)。
C++語(yǔ)言比較難學(xué),課程教學(xué)中牽涉到的概念比較復(fù)雜、規(guī)則繁多;C++使用靈活、容易出錯(cuò),不少學(xué)生感到學(xué)習(xí)困難;同時(shí)C++是面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,但又不是純面向?qū)ο笳Z(yǔ)言,它在過(guò)程語(yǔ)言中增加了面向?qū)ο蟮慕Y(jié)構(gòu)。這種特性使得C++語(yǔ)言能夠保持與C語(yǔ)言的兼容。在教學(xué)初期,學(xué)生會(huì)覺(jué)得C++很親切,許多C語(yǔ)言代碼不經(jīng)修改就可以為C++語(yǔ)言使用[1]。此時(shí)如果不讓學(xué)生明確學(xué)習(xí)的目標(biāo)和意義,學(xué)生很容易誤解甚至?xí)靡桑簩W(xué)了C為什么還要學(xué)C++,既然不是純面向?qū)ο笳Z(yǔ)言,用Java替代C++不就可以了嗎?這樣,C++語(yǔ)言教學(xué)自然不會(huì)有良好的教學(xué)效果。
1.2教學(xué)內(nèi)容注重語(yǔ)法,課后延伸不多
教學(xué)內(nèi)容更多關(guān)注語(yǔ)法。C++語(yǔ)言同所有算法語(yǔ)言一樣都由自己特定語(yǔ)句組成,每條語(yǔ)句又有自己的一些特定使用規(guī)則[2]。在傳統(tǒng)的《C++語(yǔ)言程序設(shè)計(jì)》課程教學(xué)中,無(wú)論是教材還是教師授課,都是先介紹概念,再介紹規(guī)則,最后講解例子。有關(guān)概念規(guī)則的內(nèi)容相對(duì)來(lái)說(shuō)較為枯燥難記,在講授過(guò)程中,難以引起學(xué)生的興趣。雖然最后有例子講解,但通常都是彼此孤立的、按章節(jié)對(duì)應(yīng)教學(xué)內(nèi)容的一些小數(shù)學(xué)問(wèn)題[2],學(xué)生還是很難從中感受到實(shí)際應(yīng)用價(jià)值。
受課程學(xué)時(shí)所限,課程教學(xué)內(nèi)容大多也只能以基本的語(yǔ)法、規(guī)則、小案例形式來(lái)呈現(xiàn)。如果課后不加以延伸或適當(dāng)學(xué)習(xí),學(xué)生對(duì)C++的學(xué)習(xí)就只能停留在皮毛。
1.3教學(xué)方法與企業(yè)實(shí)際脫節(jié)
學(xué)生在學(xué)習(xí)《C++語(yǔ)言程序設(shè)計(jì)》課程時(shí),往往有種“只見(jiàn)樹(shù)木,不見(jiàn)森林”的感覺(jué)。因?yàn)閭鹘y(tǒng)教學(xué)往往都是簡(jiǎn)單地按照教材順序循序漸進(jìn)地進(jìn)行,每節(jié)課都會(huì)讓學(xué)生學(xué)習(xí)并記住許多概念和規(guī)則,但他們并不知如何綜合起來(lái)解決問(wèn)題[3]。即使安排大量實(shí)驗(yàn)課,也多是圍繞每個(gè)章節(jié)分散地進(jìn)行相關(guān)概念或者規(guī)則的實(shí)踐。一段時(shí)間后學(xué)生往往對(duì)這門(mén)課感到厭倦,學(xué)到的知識(shí)也不足以駕馭實(shí)際項(xiàng)目開(kāi)發(fā)。
2教學(xué)改革策略
針對(duì)上述現(xiàn)象,本文從以下幾方面探討了對(duì)課程的教學(xué)改革,實(shí)際運(yùn)用中也取得了良好的教學(xué)效果。
2.1明確學(xué)習(xí)目的,激發(fā)學(xué)生的內(nèi)在動(dòng)力
教育心理學(xué)指出,學(xué)習(xí)動(dòng)機(jī)是學(xué)習(xí)活動(dòng)得以發(fā)生、維持進(jìn)行,直到完成的內(nèi)在動(dòng)力?,F(xiàn)代大學(xué)生對(duì)自己的學(xué)習(xí)活動(dòng)、學(xué)習(xí)內(nèi)容以及其對(duì)未來(lái)的就業(yè)和發(fā)展十分關(guān)注,如能在課堂教學(xué)初期講清課程的開(kāi)設(shè)目標(biāo)以及相關(guān)就業(yè)前景,充分重視學(xué)生的這種學(xué)習(xí)動(dòng)機(jī),學(xué)習(xí)效果自然會(huì)提高。例如,在講授《C++語(yǔ)言程序設(shè)計(jì)》課程前,可以收集一些招聘C++語(yǔ)言編程人員的就業(yè)信息及畢業(yè)生從事C++語(yǔ)言編程工作的收入、工作崗位發(fā)展趨勢(shì)等學(xué)生十分關(guān)注的重要信息。到了教學(xué)初期,在講授“什么是C++”時(shí),可穿插著介紹這些信息,并讓學(xué)生知道“C++語(yǔ)言廣泛應(yīng)用于基礎(chǔ)軟件、桌面系統(tǒng)、網(wǎng)絡(luò)通信、音頻視頻、游戲娛樂(lè)等諸多領(lǐng)域。目前,企業(yè)招牌C++軟件開(kāi)發(fā)工程的數(shù)量占軟件開(kāi)發(fā)工程師總量的1/3左右,薪水居高不下。要盡快使每個(gè)學(xué)生明確即將學(xué)習(xí)的知識(shí)與社會(huì)的關(guān)系,因人而異地幫助學(xué)生找到各自的學(xué)習(xí)目標(biāo),激發(fā)學(xué)生的內(nèi)在動(dòng)力。
2.2教學(xué)內(nèi)容注重從整體到具體,再?gòu)木唧w到整體
雖然教材的編排大都按照先概念、再規(guī)則、最后舉例這一順序,但由于其間知識(shí)的分散性,彼此缺乏聯(lián)系,使學(xué)生不能體會(huì)一個(gè)完整的編程過(guò)程。在教學(xué)中,應(yīng)注重教學(xué)內(nèi)容從整體到具體,再?gòu)木唧w到整體,使學(xué)生通過(guò)一個(gè)完整案例先快速了解C++語(yǔ)言程序設(shè)計(jì)的全過(guò)程,然后增添程序設(shè)計(jì)的教學(xué)內(nèi)容,具體分析實(shí)現(xiàn)步驟中的各個(gè)知識(shí)點(diǎn),學(xué)習(xí)更高標(biāo)準(zhǔn)和要求的程序,最后學(xué)生在學(xué)完所有知識(shí)點(diǎn)后完成一個(gè)完整的設(shè)計(jì)。這種思路特別適合程序設(shè)計(jì)類的其它課程。
2.3教學(xué)方法注重同中求異、異中求同
這樣可使學(xué)生學(xué)會(huì)抓住事物的本質(zhì)特點(diǎn),加深對(duì)事物的理解,有利于培養(yǎng)學(xué)生的創(chuàng)造性思維。為了能使學(xué)生的學(xué)習(xí)更深入,采用對(duì)比的方法進(jìn)行教學(xué),可以達(dá)到很好的教學(xué)效果。例如,學(xué)生在學(xué)習(xí)C++語(yǔ)言時(shí)可以拿它與C語(yǔ)言作比較,C++程序語(yǔ)言與C語(yǔ)言在程序設(shè)計(jì)思路上存在著不同:一個(gè)是面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,將數(shù)據(jù)與數(shù)據(jù)方法捆綁在一起;一個(gè)是面向過(guò)程的程序設(shè)計(jì)語(yǔ)言,由上至下,采用分模塊方式。但兩者之間的共同之處也比較多,C++語(yǔ)言是對(duì)C語(yǔ)言的改進(jìn)與擴(kuò)充,是C語(yǔ)言的一個(gè)超集,它保持了對(duì)C語(yǔ)言的兼容,也即在C語(yǔ)言中使用的命令,可以直接在C++中使用。通過(guò)比較,學(xué)生更能體會(huì)到教學(xué)的目的性。
2.4校企聯(lián)合,模擬職前培訓(xùn)
計(jì)算機(jī)專業(yè)的畢業(yè)生為了快速就業(yè),有時(shí)會(huì)選擇到培訓(xùn)機(jī)構(gòu)進(jìn)行職前培訓(xùn)。培訓(xùn)并不意味著一定就業(yè)或高薪,關(guān)鍵還是看學(xué)生。高校進(jìn)行《C++語(yǔ)言程序設(shè)計(jì)》課程教學(xué)時(shí),如能實(shí)現(xiàn)校企聯(lián)合,在后期的實(shí)踐環(huán)節(jié)注入培訓(xùn)機(jī)構(gòu)的授課法,即通過(guò)多個(gè)項(xiàng)目讓學(xué)生掌握C++的軟件開(kāi)發(fā)技能,將大量的開(kāi)發(fā)經(jīng)驗(yàn)融入教學(xué);并且,每學(xué)完一個(gè)專題就配一個(gè)項(xiàng)目實(shí)戰(zhàn),最后完成一個(gè)即時(shí)通信或多媒體音/視頻項(xiàng)目,積累開(kāi)發(fā)經(jīng)驗(yàn),模擬職前培訓(xùn),對(duì)學(xué)生能力的提高大有益處。
3結(jié)語(yǔ)
本文提出了《C++語(yǔ)言程序設(shè)計(jì)》課程的教學(xué)改革思路,即通過(guò)改善教學(xué)方法,調(diào)整教學(xué)內(nèi)容,真正以激發(fā)學(xué)生學(xué)習(xí)興趣為導(dǎo)向,校企聯(lián)合或者注入培訓(xùn)機(jī)構(gòu)的授課法模擬職前培訓(xùn),讓學(xué)生積累開(kāi)發(fā)經(jīng)驗(yàn)。教學(xué)實(shí)踐證明,這些教學(xué)改革舉措在一定程度上能夠提高教學(xué)效果,同時(shí)其非常適用于其它編程語(yǔ)言課程的學(xué)習(xí)。
參考文獻(xiàn):
[1]楊庚.面向?qū)ο蟪绦蛟O(shè)計(jì)與C++語(yǔ)言[M].北京:人民郵電出版社,2006.
關(guān)鍵詞:c語(yǔ)言程序設(shè)計(jì);研究型教學(xué);評(píng)價(jià)體系;協(xié)同學(xué)習(xí)
文章編號(hào):1672-5913(2010)08-0115-03
中圖分類號(hào):G642
文獻(xiàn)標(biāo)識(shí)碼:B
c語(yǔ)言程序設(shè)計(jì)是計(jì)算機(jī)科學(xué)與技術(shù)以及相關(guān)專業(yè)的重要專業(yè)基礎(chǔ)課程。c語(yǔ)言程序設(shè)計(jì)課程的開(kāi)設(shè)對(duì)提高學(xué)生分析問(wèn)題和解決問(wèn)題的能力,提高邏輯思維的嚴(yán)謹(jǐn)性,培養(yǎng)學(xué)生從問(wèn)題空間到計(jì)算機(jī)程序空間的轉(zhuǎn)變起到了重要的作用。但長(zhǎng)期以來(lái),教師感到c語(yǔ)言難教,學(xué)生反映c語(yǔ)言難學(xué),教和學(xué)的效果都不盡人意。具體地說(shuō),C語(yǔ)言教學(xué)中存在以下問(wèn)題:一是在教學(xué)中沒(méi)有發(fā)揮學(xué)生的主體地位,一直以教師講學(xué)生聽(tīng)的模式進(jìn)行教學(xué)。二是強(qiáng)調(diào)語(yǔ)言語(yǔ)法知識(shí)的傳授,忽視學(xué)生思維能力的培養(yǎng)。三是對(duì)學(xué)生成績(jī)的評(píng)價(jià)不合理,以一張?jiān)嚲頉Q定學(xué)生的成績(jī)。四是忽視了對(duì)學(xué)生工程觀念的培養(yǎng),學(xué)生只會(huì)編寫(xiě)一些簡(jiǎn)單的程序,而缺少綜合開(kāi)發(fā)能力。
為解決這些問(wèn)題,我們學(xué)院對(duì)c語(yǔ)言程序設(shè)計(jì)的教學(xué)模式進(jìn)行探索,在以“學(xué)生中心,教師主導(dǎo),因材施教,案例教學(xué),團(tuán)隊(duì)協(xié)作,評(píng)價(jià)合理”的教學(xué)思想指導(dǎo)下,從教學(xué)觀念、教學(xué)內(nèi)容、實(shí)驗(yàn)方法、輔導(dǎo)方式、評(píng)價(jià)手段和教學(xué)手段等方面進(jìn)行了探索性研究,著力推進(jìn)研究性教學(xué)。主要體現(xiàn)在以下幾個(gè)方面。
1 以研究促進(jìn)教學(xué),通過(guò)高水平的研究帶動(dòng)高質(zhì)量的教學(xué)
以教研室為單位,建立學(xué)術(shù)研究群體,緊密結(jié)合專業(yè)建設(shè)與課程建設(shè),成立c語(yǔ)言課程研究小組,了解課程知識(shí)體系的發(fā)展動(dòng)態(tài),把研究成果融入課堂教學(xué)中。在教學(xué)中實(shí)施創(chuàng)新型教學(xué),創(chuàng)新型教學(xué)是創(chuàng)新人才培養(yǎng)的基礎(chǔ),不同于傳統(tǒng)教學(xué)模式,它具有目標(biāo)性原則、因材施教原則、教學(xué)相長(zhǎng)原則、合作競(jìng)爭(zhēng)原則、綜合評(píng)價(jià)原則等特征。創(chuàng)新型教學(xué)以學(xué)生為主體,以學(xué)生的能力培養(yǎng)為教學(xué)核心,強(qiáng)調(diào)師師、師生、生生全方位交流,以師生共同參與的多元化增量式評(píng)價(jià)為基準(zhǔn),培養(yǎng)出知識(shí)、能力、素質(zhì)協(xié)調(diào)發(fā)展的、與社會(huì)需求接軌的應(yīng)用型人才。
2 轉(zhuǎn)變教學(xué)觀念和教學(xué)模式,著力提高教學(xué)效果
在“教”的方面,要由傳統(tǒng)的只重視知識(shí)和技能的淺層教學(xué),轉(zhuǎn)變?yōu)榫C合培養(yǎng)學(xué)生的興趣、動(dòng)機(jī)、態(tài)度、信念、思維判斷能力和表達(dá)能力的深層教學(xué)。在“學(xué)”的方面,要由應(yīng)試教育下的被動(dòng)接受、考試投機(jī)取巧的被動(dòng)學(xué)習(xí),轉(zhuǎn)變?yōu)樽灾魈骄?、合作學(xué)習(xí)、善于思考、積極進(jìn)取的主動(dòng)學(xué)習(xí)。要重新界定教師的教學(xué)活動(dòng)中的地位,教師在教學(xué)中的地位表現(xiàn)在:①課程的設(shè)計(jì)者。要求老師構(gòu)建出理論教學(xué)中要搭建的知識(shí)框架,設(shè)計(jì)出課程討論題目或?qū)嶋H操作項(xiàng)目,由學(xué)生通過(guò)合作學(xué)習(xí)來(lái)填充,從而完成知識(shí)體系的構(gòu)建。在c語(yǔ)言教學(xué)中,教師合理構(gòu)建案例,通過(guò)案例教學(xué),培養(yǎng)學(xué)生的邏輯思維能力和解決實(shí)際問(wèn)題的能力,為學(xué)生架構(gòu)完整的知識(shí)體系結(jié)構(gòu)。②合作學(xué)習(xí)的組織者。要求教師在教學(xué)中應(yīng)扮演合作學(xué)習(xí)情景的創(chuàng)設(shè)者、良好人際關(guān)系氛圍的協(xié)調(diào)者的角色,積極地對(duì)合作學(xué)習(xí)過(guò)程進(jìn)行有效的組織和調(diào)控。在c言語(yǔ)教學(xué)中,通過(guò)異質(zhì)學(xué)習(xí)小組的建立,給他們創(chuàng)建實(shí)際的應(yīng)用場(chǎng)景,使學(xué)生了解C的學(xué)習(xí)的作用和意思。目標(biāo)性原則是學(xué)習(xí)動(dòng)力產(chǎn)生的動(dòng)因。如果學(xué)生根本不知道這門(mén)課程的作用,就會(huì)感到迷茫,這是大部分高校學(xué)習(xí)的學(xué)習(xí)計(jì)算機(jī)相關(guān)專業(yè)中遇到的問(wèn)題。在這種情況下,學(xué)生不可能產(chǎn)生強(qiáng)烈的學(xué)生興趣。③合作學(xué)習(xí)的伙伴。教師是學(xué)生合作學(xué)習(xí)的同伴,解決問(wèn)題,因材施教,由于不同學(xué)生在思維方式上的差異,他們的興趣點(diǎn)和興奮點(diǎn)是不同的,因此,在c語(yǔ)言的教學(xué)中要充分發(fā)揮學(xué)生的特長(zhǎng),不可一刀切,給不同群體設(shè)計(jì)不同的學(xué)習(xí)目標(biāo)。以“跳一下能觸摸”為原則,不能過(guò)分超出學(xué)生的承受能力,否則會(huì)扼殺學(xué)生的學(xué)生興趣。④教學(xué)反思的實(shí)踐者。教師要對(duì)自己的教育觀、學(xué)生觀、學(xué)習(xí)觀進(jìn)行反思,對(duì)教學(xué)知識(shí)、教學(xué)實(shí)踐中的不足進(jìn)行反思,總結(jié)經(jīng)驗(yàn),不斷進(jìn)步,以提升自己的教學(xué)能力與素質(zhì)。c語(yǔ)言教學(xué)經(jīng)歷了許多年,不同學(xué)校、不同教師也經(jīng)歷了各種改革,應(yīng)該對(duì)改革的內(nèi)容進(jìn)行不斷反饋,保留成功的,改革不足的,去除不適的。
3 構(gòu)建異質(zhì)學(xué)生小組,實(shí)施協(xié)同學(xué)習(xí)與合作研究方式。發(fā)揮群體力量
信息技術(shù)發(fā)展迅速,而個(gè)人獲取知識(shí)的能力有限。在課程教學(xué)開(kāi)始,讓學(xué)生明確課程學(xué)習(xí)的目標(biāo)與考核要求,建立目標(biāo)式學(xué)習(xí)方式。在課程教學(xué)過(guò)程中,推行小組式學(xué)習(xí)方式,充分發(fā)揮群體智慧,互相學(xué)習(xí),互相啟發(fā),達(dá)到共同提高的學(xué)習(xí)目的。根據(jù)學(xué)生的學(xué)業(yè)水平、能力傾向、個(gè)性特征、性別等的差異合理構(gòu)建異質(zhì)學(xué)生小組。創(chuàng)設(shè)一種只有當(dāng)小組成功時(shí)小組成員才能達(dá)到個(gè)人目標(biāo)的情境,即小組成員不僅要努力爭(zhēng)取個(gè)人目標(biāo)的實(shí)現(xiàn),更要幫助小組同伴實(shí)現(xiàn)目標(biāo)。他們?yōu)榱死斫夂驼莆找粋€(gè)知識(shí)點(diǎn)以及最后完成全組的學(xué)習(xí)任務(wù)相互幫助、相互學(xué)習(xí)、共同討論問(wèn)題、傾聽(tīng)他人意見(jiàn)、從他人那里學(xué)習(xí)到自己不懂的內(nèi)容、向他人闡述自己的觀點(diǎn)、同他人辯論填補(bǔ)相互間在理解方面的不足。在c語(yǔ)言教學(xué)中,通過(guò)教師對(duì)實(shí)訓(xùn)項(xiàng)目的合理設(shè)計(jì),由組長(zhǎng)實(shí)施對(duì)項(xiàng)目的分工,在分工過(guò)程中要根據(jù)學(xué)生的能力水平和個(gè)性差異,合理分配模塊,同時(shí)注意對(duì)學(xué)生編程過(guò)程的引導(dǎo),從而達(dá)到總體目標(biāo)。
4 改變傳統(tǒng)教學(xué)內(nèi)容,編寫(xiě)符合學(xué)生思維規(guī)律的講義
以往的c語(yǔ)言教學(xué)一直偏重語(yǔ)法,教材的知識(shí)組織是根據(jù)其語(yǔ)法的難易程度來(lái)編排的,不適合培養(yǎng)學(xué)生的程序設(shè)計(jì)能力和邏輯思維能力。從而導(dǎo)致學(xué)生能聽(tīng)懂,但不能解決實(shí)際應(yīng)用問(wèn)題。我們將c語(yǔ)言課程分為兩學(xué)期開(kāi)設(shè),第一學(xué)期通過(guò)若干案例使學(xué)生熟悉c語(yǔ)言的基本語(yǔ)法、積累基本算法、培養(yǎng)邏輯思維能力。第二學(xué)期為C語(yǔ)言項(xiàng)目實(shí)訓(xùn)。實(shí)訓(xùn)項(xiàng)目為數(shù)據(jù)文件的增、刪、改、查。內(nèi)容涉及排序算法、遞歸算法、指針運(yùn)用、結(jié)構(gòu)體運(yùn)用、文件讀寫(xiě)、鏈表操作等。訓(xùn)練的能力有需求說(shuō)明書(shū)撰寫(xiě)能力、溝通能力、自主學(xué)習(xí)能力和編碼測(cè)試能力等。同時(shí)培養(yǎng)學(xué)生的綜合開(kāi)發(fā)能力和團(tuán)隊(duì)協(xié)作意識(shí),培養(yǎng)學(xué)生的程序員職業(yè)素養(yǎng)。講義的編寫(xiě)由四個(gè)教研室主任牽頭,精心選擇案例,從以傳統(tǒng)的語(yǔ)法講解為主的教學(xué)模式轉(zhuǎn)變?yōu)榘咐虒W(xué)模式,讓學(xué)生通過(guò)案例的學(xué)習(xí)自然加深對(duì)語(yǔ)法的理解。這種教學(xué)模式符合學(xué)生的思維習(xí)慣和認(rèn)知規(guī)律,從而激發(fā)了學(xué)生的學(xué)習(xí)興趣,也使學(xué)生真正理解學(xué)習(xí)語(yǔ)言的作用是用來(lái)解決實(shí)際問(wèn)題的。
5 建立多元評(píng)價(jià)體系,培養(yǎng)學(xué)生綜合素質(zhì)與創(chuàng)新能力
擯棄一張?jiān)嚲砼c一次考試的學(xué)生評(píng)價(jià)模式,注重對(duì)學(xué)生平時(shí)表現(xiàn)的記載和在最終成績(jī)中所占的比例。學(xué)生的成績(jī)由作業(yè)成績(jī)、課堂表現(xiàn)、小組答辯成績(jī)、創(chuàng)新程度和期末考試成績(jī)綜合評(píng)定。第一學(xué)期的考核方式為考試,考試形式為開(kāi)卷,分理論考試和上 機(jī)考試兩部分,成績(jī)?cè)u(píng)定方式為:平時(shí)占30%,理論占20%,機(jī)考占50%。突出對(duì)學(xué)生實(shí)踐能力的考核。采用開(kāi)卷考試有利于學(xué)生從純粹的語(yǔ)法認(rèn)知,轉(zhuǎn)變?yōu)閷?duì)算法的積累和理解,有利于邏輯編程能力的培養(yǎng)。第二學(xué)期的考核方式為考查,成績(jī)?cè)u(píng)定方式為:平時(shí)占30%,期末占70%。期末考核采用小組答辯的形式。根據(jù)小組答辯情況給出組的總體成績(jī),再根據(jù)每位學(xué)生的自身表現(xiàn)和在項(xiàng)目中的貢獻(xiàn),最終給出每位同學(xué)的成績(jī)。這樣的考核方式有利于培養(yǎng)學(xué)生的團(tuán)隊(duì)協(xié)作能力和溝通能力,貫徹公平性原則。有助于學(xué)生改變學(xué)習(xí)方式和學(xué)習(xí)側(cè)重點(diǎn),將更多的精力集中于實(shí)踐能力的培養(yǎng)。
6 豐富教學(xué)方法和教學(xué)手段,提高教學(xué)效果
聯(lián)系課程實(shí)際和學(xué)生現(xiàn)狀,采用多種教學(xué)方法進(jìn)行教學(xué),改變教師講、學(xué)生聽(tīng)的老模式,組織觀摩,推廣教學(xué)名師的成功經(jīng)驗(yàn)。在教學(xué)過(guò)程中依托多媒體和網(wǎng)絡(luò)技術(shù),運(yùn)用現(xiàn)代化教學(xué)手段,提高授課質(zhì)量。特別是對(duì)于難于理解的知識(shí)點(diǎn)通過(guò)Flas進(jìn)行展示,主要涉及函數(shù)調(diào)用、遞歸方法、指針概念、鏈表建立等。特別注重教師教學(xué)的邏輯性和嚴(yán)密性。將項(xiàng)目實(shí)訓(xùn)完全移至實(shí)驗(yàn)室,通過(guò)教師的分模塊提示,引導(dǎo)學(xué)生逐步完成程序的編寫(xiě)。請(qǐng)軟件協(xié)會(huì)的優(yōu)秀學(xué)生參與c語(yǔ)言實(shí)踐教學(xué)的輔導(dǎo)。一方面提高了實(shí)踐教學(xué)的效果,另一方面也培養(yǎng)了軟件協(xié)會(huì)學(xué)生的實(shí)踐能力和表達(dá)能力。
7 加強(qiáng)校企合作,進(jìn)一步明確學(xué)習(xí)目的
不少學(xué)生反映,c語(yǔ)言已經(jīng)過(guò)時(shí),現(xiàn)在已進(jìn)入面向?qū)ο髸r(shí)代,C語(yǔ)言的作用己不大,對(duì)學(xué)習(xí)本門(mén)語(yǔ)言的目的不夠明確。為此,我們邀請(qǐng)企業(yè)資深的工程師,為學(xué)生做講座,探討c語(yǔ)言的相關(guān)領(lǐng)域的應(yīng)用背景,以及企業(yè)對(duì)c語(yǔ)言人才的需求與學(xué)校C語(yǔ)言教學(xué)之間的差異,為學(xué)生對(duì)c語(yǔ)言的進(jìn)一步學(xué)習(xí)指明了目標(biāo)。如我院與昆山中創(chuàng)集團(tuán)和花橋安博集團(tuán)建立良好的合作關(guān)系,就程序代碼編寫(xiě)規(guī)范以及C言語(yǔ)實(shí)訓(xùn)等內(nèi)容進(jìn)行了廣泛的交流合作。我院引進(jìn)了企業(yè)項(xiàng)目的基本流程,使學(xué)生所學(xué)知識(shí)更符合社會(huì)的需求。
8 構(gòu)建協(xié)同學(xué)習(xí)情境,建立C語(yǔ)言研究型教學(xué)實(shí)驗(yàn)區(qū)
我院對(duì)兩個(gè)專業(yè)機(jī)房進(jìn)行了改造,建立c語(yǔ)言研究型教學(xué)實(shí)驗(yàn)區(qū)。將整個(gè)機(jī)房分成六個(gè)小組,每組兩臺(tái)計(jì)算機(jī),每組六名同學(xué),為每位同學(xué)設(shè)立了桌卡,選舉組長(zhǎng)一名,每組配備黑板一塊,并為整個(gè)實(shí)驗(yàn)室配備了資料柜,存放c語(yǔ)言的相關(guān)學(xué)習(xí)材料。從而為同學(xué)之間的協(xié)同學(xué)習(xí)構(gòu)建了良好的環(huán)境。