張茉莉 張明川 白秀玲
【摘要】針對(duì)C語(yǔ)言程序設(shè)計(jì)的教學(xué)現(xiàn)狀,對(duì)傳統(tǒng)的教學(xué)方法進(jìn)行改革,采用“以問(wèn)題為導(dǎo)向”教學(xué)方法。文章以“數(shù)組”教學(xué)為例進(jìn)行教學(xué)設(shè)計(jì),在提出問(wèn)題后,經(jīng)過(guò)學(xué)生討論及問(wèn)題的不斷深入,引出知識(shí)點(diǎn),針對(duì)問(wèn)題展開(kāi)相關(guān)知識(shí)的講解,最終解決問(wèn)題。該方法不僅達(dá)成相關(guān)教學(xué)目標(biāo),還激發(fā)了學(xué)生的學(xué)習(xí)興趣和解決復(fù)雜工程問(wèn)題的能力。
【關(guān)鍵詞】問(wèn)題導(dǎo)向;C語(yǔ)言;教學(xué)設(shè)計(jì);數(shù)組
【基金項(xiàng)目】河南省新工科研究與實(shí)踐項(xiàng)目:面向國(guó)家一流計(jì)算機(jī)本科專(zhuān)業(yè)的雙創(chuàng)實(shí)踐能力培養(yǎng)模式改革[2020JGLX026;河南科技大學(xué)教學(xué)改革重點(diǎn)課題:雙萬(wàn)計(jì)劃背景下信息類(lèi)專(zhuān)業(yè)雙創(chuàng)實(shí)踐能力培養(yǎng)模式改革[2019YBZD-004];河南科技大學(xué)教學(xué)改革項(xiàng)目:以問(wèn)題為導(dǎo)向的C語(yǔ)言程序設(shè)計(jì)課程改革與實(shí)踐[2019YB-024]
中圖分類(lèi)號(hào):G223? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? ? ? ? ? ? ? ? ? ? DOI:10.12246/j.issn.1673-0348.2021.022.084
《C語(yǔ)言程序設(shè)計(jì)》是計(jì)算機(jī)專(zhuān)業(yè)的基礎(chǔ)課和部分理工科專(zhuān)業(yè)的重要公共課。一直以來(lái),該課程教材多以語(yǔ)法點(diǎn)為單位進(jìn)行內(nèi)容的組織,而傳統(tǒng)教學(xué)模式也多以全面的語(yǔ)法講解為主,由于課時(shí)受限,導(dǎo)致授課內(nèi)容繁雜,面面俱到,課堂上留給學(xué)生的思考和參與的時(shí)間過(guò)少,不能很好地激發(fā)學(xué)生的學(xué)習(xí)興趣。另外,隨著網(wǎng)絡(luò)教學(xué)資源的日益豐富,如今的學(xué)生已不再只是通過(guò)課堂學(xué)習(xí)獲取知識(shí)。
基于上述分析,迫切需要一種新的教學(xué)模式取代傳統(tǒng)的“教師講-學(xué)生聽(tīng)-課后練”模式,經(jīng)過(guò)課題組成員的不斷討論和各種教學(xué)方法的學(xué)習(xí),發(fā)現(xiàn)“以問(wèn)題為導(dǎo)向”的教學(xué)方法可以很好地將以教師教為主體轉(zhuǎn)變?yōu)橐詫W(xué)生討論思考為主體,并充分調(diào)動(dòng)學(xué)生的積極性和課堂參與度。
1. 以問(wèn)題為導(dǎo)向的教學(xué)設(shè)計(jì)
以問(wèn)題為導(dǎo)向的教學(xué)模式,是指以問(wèn)題為教學(xué)的出發(fā)點(diǎn),并將問(wèn)題貫穿整個(gè)授課過(guò)程。首先提出問(wèn)題,然后組織學(xué)生討論,在討論的過(guò)程中進(jìn)一步深化問(wèn)題,從而一步步引出知識(shí)點(diǎn),最后展開(kāi)相關(guān)教學(xué)活動(dòng),最終運(yùn)用知識(shí)點(diǎn)解決最初提出的問(wèn)題。整個(gè)教學(xué)設(shè)計(jì)方案如圖1所示。
2. 教學(xué)設(shè)計(jì)具體實(shí)施
2.1 問(wèn)題提出
在實(shí)際編程過(guò)程中,經(jīng)常需要對(duì)大批量數(shù)據(jù)進(jìn)行處理,比如在教學(xué)管理系統(tǒng)中經(jīng)常需要計(jì)算課程的平均成績(jī),圖2所示就是一個(gè)對(duì)批量數(shù)據(jù)進(jìn)行處理的程序段,它可計(jì)算30名學(xué)生某門(mén)課程的平均成績(jī),并輸出低于平均分的成績(jī)。
問(wèn)題1:若學(xué)生人數(shù)增至100,1000甚至更多時(shí),應(yīng)如何編寫(xiě)程序完成平均成績(jī)的統(tǒng)計(jì)及低于平均分的成績(jī)的輸出?
2.2 學(xué)生討論及問(wèn)題深入
學(xué)生們會(huì)立刻想到增加循環(huán)次數(shù),即將圖2所示程序中的第4行和第11行的30改為新的學(xué)生人數(shù)。但很快就會(huì)有學(xué)生發(fā)現(xiàn),雖然通過(guò)這種方法可以對(duì)任意多個(gè)學(xué)生成績(jī)進(jìn)行處理,但在程序運(yùn)行過(guò)程中,需要用戶重復(fù)輸入兩遍學(xué)生成績(jī),當(dāng)學(xué)生人數(shù)較多時(shí),這一過(guò)程太過(guò)繁瑣還浪費(fèi)時(shí)間,必須對(duì)該程序進(jìn)行優(yōu)化。
問(wèn)題2:為什么在程序運(yùn)行過(guò)程中需要重復(fù)輸入兩遍學(xué)生成績(jī)?(組織學(xué)生進(jìn)行小組討論)
之所以需要重復(fù)輸入,是因?yàn)樯鲜龀绦蛑袃H用一個(gè)變量以循環(huán)的方式依次存放成批的成績(jī),待第一遍輸入結(jié)束后,只有最后一個(gè)成績(jī)被保存在系統(tǒng)中,前面所輸入的成績(jī)均被隨后輸入的成績(jī)覆蓋掉。如果能夠?qū)⑺休斎氲某煽?jī)都保存下來(lái),就可解決重復(fù)輸入的問(wèn)題。
問(wèn)題3:如何將所有成績(jī)都保存在系統(tǒng)中?
討論結(jié)果:定義多個(gè)變量,即每個(gè)成績(jī)都對(duì)應(yīng)一個(gè)變量。
問(wèn)題4:若有100個(gè)成績(jī),如何定義100個(gè)變量,具體的定義形式是什么?
討論結(jié)果:借用數(shù)學(xué)語(yǔ)言中省略號(hào)的形式進(jìn)行定義。
如:int x1,x2,x3,…,x100;顯然,這種方式不符合C語(yǔ)言的語(yǔ)法規(guī)則。因此,運(yùn)用現(xiàn)有知識(shí)無(wú)法解決這些問(wèn)題。
2.3 引出知識(shí)點(diǎn)
為了更好的解決同類(lèi)型大批量數(shù)據(jù)的存儲(chǔ)和處理,C語(yǔ)言中引入了“數(shù)組”的概念。數(shù)組是一組同類(lèi)型數(shù)據(jù)的有序集合,將數(shù)組與循環(huán)結(jié)合起來(lái),就可以簡(jiǎn)潔有效地處理大批量的數(shù)據(jù)。下文僅簡(jiǎn)要列出與上述幾個(gè)問(wèn)題相關(guān)的內(nèi)容。
數(shù)組的定義
定義形式:類(lèi)型說(shuō)明符數(shù)組名[常量表達(dá)式]
其中,類(lèi)型說(shuō)明符表明該數(shù)組中存放成批數(shù)據(jù)的類(lèi)型;常量表達(dá)式代表數(shù)組的長(zhǎng)度,即該數(shù)組可存放同類(lèi)型數(shù)據(jù)的總個(gè)數(shù)。
例如:int? ?a[100];
通過(guò)該定義,就在內(nèi)存中開(kāi)辟了一段連續(xù)的存儲(chǔ)空間,可以存放100個(gè)整型數(shù)據(jù),其中的每個(gè)數(shù)據(jù)稱為數(shù)組元素,其使用方法等同于同類(lèi)型的普通變量。
數(shù)組元素的引用
引用方式:數(shù)組名[下標(biāo)]
其中,下標(biāo)可以是整型常量、變量或表達(dá)式,其范圍為0-輸出長(zhǎng)度-1
例如:若通過(guò)語(yǔ)句int? a[100];定義一個(gè)整型數(shù)組a后,該數(shù)組就包含100個(gè)數(shù)組元素,可以存放100個(gè)整型量,用形如a[0],a[99],a[i],a[m+n]等方式就可以引用這些數(shù)組元素。
2.4 問(wèn)題解決
通過(guò)數(shù)組的定義及數(shù)組元素的引用,就可以很好地解決問(wèn)題3和問(wèn)題4,即通過(guò)數(shù)組就可以解決大批量同類(lèi)型數(shù)據(jù)的變量定義及存儲(chǔ)問(wèn)題,進(jìn)而高效的完成批量數(shù)據(jù)的處理。上述問(wèn)題1可通過(guò)圖3所示程序進(jìn)行解決。
因?yàn)槎x了一個(gè)長(zhǎng)度為100的整型數(shù)組,因此在程序在執(zhí)行過(guò)程僅需輸入一遍成績(jī)即可。
3 . 結(jié)束語(yǔ)
在“以問(wèn)題為導(dǎo)向”的教學(xué)設(shè)計(jì)中,始終圍繞問(wèn)題開(kāi)展教學(xué)活動(dòng)。從最初提出問(wèn)題開(kāi)始,由學(xué)生討論解決方案,在討論得出的解決方案中,不斷進(jìn)行問(wèn)題的深入,進(jìn)一步提出新的問(wèn)題,經(jīng)過(guò)多次“問(wèn)題提出-學(xué)生討論-問(wèn)題深入”直至最后引出知識(shí)點(diǎn),最終通過(guò)簡(jiǎn)短時(shí)間的知識(shí)點(diǎn)講解,重新回到最初的問(wèn)題,運(yùn)用新知識(shí)點(diǎn)解決最初的問(wèn)題。在整個(gè)過(guò)程中,學(xué)生深度參與,既討論已有問(wèn)題又主動(dòng)提出新的問(wèn)題,極大地激發(fā)了學(xué)生的學(xué)習(xí)興趣,提高了學(xué)生的學(xué)習(xí)積極性,培養(yǎng)了學(xué)生分析并解決復(fù)雜工程問(wèn)題的能力。
參考文獻(xiàn):
[1]黃鳳英.以問(wèn)題為導(dǎo)向的教學(xué)模式的嘗試與探討-以《線性代數(shù)》的教學(xué)為例[J].大學(xué)教育,2012,1(9):117,121
[2]張奇.以問(wèn)題為導(dǎo)向的點(diǎn)-面式教學(xué)法在藥劑學(xué)教學(xué)中的應(yīng)用-以“手性”知識(shí)的教學(xué)為例[J].化學(xué)教育(中英文),2019,40(14):74-78
[3]譚浩強(qiáng).C程序設(shè)計(jì)(第五版)[M]北京:清華大學(xué)出版社,2017
作者簡(jiǎn)介:張茉莉,河南省洛陽(yáng)市,講師,碩士,主要研究方向?yàn)榍度胧较到y(tǒng);張明川,河南平頂山人,副教授,博士,主要研究方向?yàn)榫W(wǎng)絡(luò)安全;白秀玲,河南省洛陽(yáng)市,副教授,碩士,主要研究方向?yàn)閿?shù)據(jù)挖掘