黃麗麗 萬梅芬
江西環(huán)境工程職業(yè)學(xué)院,江西 贛州 341000
?
基于計(jì)算機(jī)思維的C語言教學(xué)內(nèi)容改革
黃麗麗*萬梅芬*
江西環(huán)境工程職業(yè)學(xué)院,江西 贛州 341000
隨著互聯(lián)網(wǎng)+時(shí)代的到來,熟練使用計(jì)算機(jī)已成為各個(gè)專業(yè)大學(xué)生的必備技能,程序設(shè)計(jì)課也作為了大學(xué)生的一門基礎(chǔ)必修課。計(jì)算機(jī)解決問題的過程與方法是可以通過學(xué)習(xí)編程來了解的,這樣既訓(xùn)練了同學(xué)們的邏輯思維能力又提升了大家的信息素質(zhì)。作為程序設(shè)計(jì)的入門語言——C語言集邏輯性、實(shí)踐性、抽象性于一身,是學(xué)習(xí)過程中理論與實(shí)踐性都很強(qiáng)的課程。初學(xué)者一定要把握C語言的本質(zhì),理解程序設(shè)計(jì)的精髓,否則興趣闌珊,學(xué)習(xí)效果大打折扣,導(dǎo)致學(xué)生普遍覺得C語言學(xué)起來比較困難。
c語言;教學(xué);改革
現(xiàn)在市面上的C語言程序設(shè)計(jì)教材基本上都是“填鴨式”教學(xué)內(nèi)容,只是讓學(xué)生記結(jié)論而沒有啟發(fā)引導(dǎo)學(xué)生去思考。近兩年來,我們一直就C語言“教什么和怎樣教”進(jìn)行探討與研究,教學(xué)效果有了不少提高與改進(jìn)。
注重實(shí)踐教學(xué),讓學(xué)生的實(shí)際動(dòng)手能力得到更多的培養(yǎng),這樣的教學(xué)效果也不錯(cuò)。但是片面強(qiáng)調(diào)以練促學(xué)本身也又掉進(jìn)另一種形式“滿堂灌”、“填鴨式”教學(xué)的誤區(qū)。我們都知道理論來源于實(shí)踐,脫離“理論”指導(dǎo)的“實(shí)踐”,學(xué)生很難更深層次的去思考所學(xué)知識(shí)。教師在教學(xué)中必須把理論(講)與實(shí)踐(練)的關(guān)系辯證地理解。同學(xué)們了解了相關(guān)的理論知識(shí),就能更主動(dòng)地參與到實(shí)踐操作中去,這時(shí)的實(shí)踐也才有了更大的價(jià)值與意義?,F(xiàn)在的C語言程序設(shè)計(jì)教學(xué)太不注重理論教學(xué)了,我們需要加強(qiáng)“理論”指導(dǎo),同學(xué)們?cè)趯W(xué)習(xí)C語言時(shí)才不會(huì)那么迷茫,動(dòng)手實(shí)踐時(shí)也能更有目的性與效率。
(一)選擇教什么和不教什么
我們來看看計(jì)算機(jī)是如何完成求用戶輸入的兩個(gè)任意整數(shù)的和?計(jì)算機(jī)的工作步驟又會(huì)是怎樣的呢?根據(jù)計(jì)算機(jī)的組成部件,可以引導(dǎo)同學(xué)們來設(shè)計(jì)算法。首先,在顯示器上提示用戶輸入兩個(gè)任意整數(shù);然后計(jì)算機(jī)獲得用戶輸入的兩個(gè)任意整數(shù),并把這個(gè)兩個(gè)任意整數(shù)存儲(chǔ)到內(nèi)存中去;接著控制器從內(nèi)存中調(diào)用出數(shù)據(jù)在運(yùn)算器上求和,并把計(jì)算結(jié)果又轉(zhuǎn)存到內(nèi)存中;最后在顯示器上輸出計(jì)算結(jié)果。這樣的一個(gè)設(shè)計(jì)步驟其實(shí)就是計(jì)算機(jī)部件的工作流程,了解計(jì)算機(jī)部件及工作步驟的同學(xué)基本可以順利完成,有的同學(xué)或多或少會(huì)碰到這樣那樣的困難。但只要同學(xué)們能夠主動(dòng)地參與到問題的解決過程中來,即使沒能完整的設(shè)計(jì)出算法,也會(huì)開拓思路,加深對(duì)C語言程序設(shè)計(jì)知識(shí)與計(jì)算機(jī)的理解,并且培養(yǎng)分析解決問題的各種能力,獲益良多。
計(jì)算機(jī)的五大部件都一一對(duì)應(yīng)著C語言的特定部分。輸入設(shè)備對(duì)應(yīng)著scanf函數(shù),內(nèi)存對(duì)應(yīng)著變量,控制器對(duì)應(yīng)著語句的順序,運(yùn)算器對(duì)應(yīng)著表達(dá)式,輸出設(shè)備對(duì)應(yīng)著printf函數(shù),所以把算法中的步驟翻譯成C語言程序是很容易的,程序員憑借C語言的命令也就可以輕易地指揮計(jì)算機(jī)如何工作了。第一步只需用printf函數(shù)來控制計(jì)算機(jī)在顯示器上輸出信息;第二步只需用scanf函數(shù)來獲得用戶輸入的數(shù)據(jù);第三步求和時(shí),只需用+號(hào);最后再次用printf函數(shù)輸出計(jì)算結(jié)果即可。
在C語言程序設(shè)計(jì)的教學(xué)實(shí)踐中,絕大多數(shù)的同學(xué)都能在第一堂課上理解本門課程的核心問題即什么是編程,并且大致掌握計(jì)算機(jī)與C語言的相關(guān)關(guān)系。C語言教學(xué)內(nèi)容與過程是具有很強(qiáng)的邏輯性與直觀性,所以,能吸引大部分同學(xué)主動(dòng)地參與到教學(xué)過程中來積極的進(jìn)行學(xué)習(xí)、質(zhì)疑和討論,使得C語言的教學(xué)課堂真正展現(xiàn)出了深入交流探討的師生良性互動(dòng)的局面。
(二)啟發(fā)學(xué)生思考為什么
現(xiàn)在市面上大多數(shù)C語言程序設(shè)計(jì)教材根本沒在科學(xué)的教學(xué)理念指導(dǎo)下組織編輯教學(xué)內(nèi)容,甚至有些知識(shí)點(diǎn)的分析描述都不準(zhǔn)確,使得學(xué)生只好死記硬背書上的知識(shí)點(diǎn)來學(xué)習(xí)相關(guān)內(nèi)容。表達(dá)式的求值規(guī)則最為典型,C語言表達(dá)式在求值時(shí)第一考慮序列點(diǎn),第二考慮優(yōu)先級(jí),最后才考慮結(jié)合性的。現(xiàn)有的C語言程序設(shè)計(jì)教材中幾乎不涉及序列點(diǎn),碰到有序列點(diǎn)的表達(dá)式時(shí)就讓學(xué)生死記硬背求值規(guī)則,學(xué)生對(duì)表達(dá)式求值規(guī)則的了解是不全面的,導(dǎo)致學(xué)生對(duì)整個(gè)C語言課程知識(shí)的認(rèn)知也不完整,很大程度的影響了學(xué)生自主學(xué)習(xí)的積極性。
(三)引導(dǎo)學(xué)生歸納知識(shí)點(diǎn)
在教學(xué)過程中教師還要引導(dǎo)學(xué)生歸納總結(jié)各個(gè)知識(shí)點(diǎn)的用法,加深C語言知識(shí)的記憶。以指針變量的用法為例。指針變量的使用分為兩個(gè)步驟:首先,讓指針指向某存儲(chǔ)單元即指針變量賦值;然后,用間接引用的方式使用指針變量所指向的存儲(chǔ)單元。有int i = 5,*pi;可以這樣使用整型指針變量pi:先對(duì)指針變量賦值pi = &i;讓它指向整型變量i;然后在程序中以*pi的形式使用指針變量pi指向的存儲(chǔ)單元,即變量i與*pi標(biāo)識(shí)了同一個(gè)存儲(chǔ)單元,變量i與*pi一般在程序中可交換。pi是一個(gè)整型指針變量;*pi是個(gè)整型變量,它標(biāo)識(shí)了pi指向的整型存儲(chǔ)單元。
在教學(xué)內(nèi)容的改革活動(dòng)中,我們要以科學(xué)的教學(xué)理念為指導(dǎo),從全新的視角分析探討了C語言程序設(shè)計(jì)的教學(xué)內(nèi)容,就C語言應(yīng)該“教什么與怎樣教”進(jìn)行了積極的討論,很好的提高了學(xué)生的學(xué)習(xí)熱情,激發(fā)他們自主學(xué)習(xí)的積極性,學(xué)生編寫、調(diào)試程序的能力和編程解決實(shí)際問題的能力也得到大幅度提升,并且培養(yǎng)了學(xué)生邏輯思維能力與團(tuán)隊(duì)合作精神,教學(xué)效果好。
[1]曾慶尚,高慧,梁振軍.C語言程序設(shè)計(jì)的實(shí)踐教學(xué)改革與探索[J].大學(xué)教育,2014(6):116-117.
[2]查建中.工程教育改革戰(zhàn)略“CDIO”與產(chǎn)學(xué)合作和國際化[J].中國大學(xué)教學(xué),2008(5):16-19.
[3]周二強(qiáng).C語言內(nèi)涵教程[M].中國鐵道出版社,2013.
黃麗麗(1983-),女,江西贛州人,工程碩士,江西環(huán)境工程職業(yè)學(xué)院,教師,講師,研究方向:信息管理;萬梅芬(1983-),女,江西贛州人,工程碩士,江西環(huán)境工程職業(yè)學(xué)院,教師,講師,研究方向:計(jì)算機(jī)技術(shù)。
G642;TP
A
1006-0049-(2017)15-0182-01