徐濟(jì)惠 顏晨陽(yáng)
摘 要 C語(yǔ)言是高職計(jì)算機(jī)類(lèi)專(zhuān)業(yè)的一門(mén)重要的專(zhuān)業(yè)基礎(chǔ)課程,課程學(xué)習(xí)的好壞,對(duì)后續(xù)課程的學(xué)習(xí)起到位至關(guān)重要的作用?;诙嗄杲虒W(xué)經(jīng)驗(yàn),提出了“教學(xué)中思考、思考中教學(xué)”的C語(yǔ)言程序設(shè)計(jì)課程教學(xué)方法,目的是讓學(xué)生能夠“學(xué)得會(huì),有興趣的學(xué)、并且學(xué)有所成”。
關(guān)鍵詞 教學(xué)方法 C語(yǔ)言 計(jì)算機(jī)課程 高職教學(xué)
中圖分類(lèi)號(hào):G424 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A ? ?DOI:10.16400/j.cnki.kjdkx.2020.09.049
Abstract C language is an important professional basic course for computer majors in higher vocational colleges. The quality of course learning plays an important role in the follow-up course learning. Based on many years of teaching experience, this paper puts forward the teaching method of "thinking in teaching and teaching in thinking" in C language programming course. The purpose is to enable students to "learn well, learn with interest, and achieve what they have learned".
Keywords teaching methods; C language; computer course; higher vocational teaching
1 簡(jiǎn)介
C語(yǔ)言是一門(mén)面向過(guò)程的計(jì)算機(jī)語(yǔ)言,囊括了程序設(shè)計(jì)的基本概念,是計(jì)算機(jī)類(lèi)專(zhuān)業(yè)的一門(mén)重要的專(zhuān)業(yè)基礎(chǔ)課程,其目的是培養(yǎng)學(xué)生的程序設(shè)計(jì)理念,掌握程序設(shè)計(jì)的基本方法,為后繼課程(數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο蟪绦蛟O(shè)計(jì)、操作系統(tǒng)、編譯原理和軟件工程等)打下堅(jiān)實(shí)的基礎(chǔ)。C語(yǔ)言對(duì)一般初學(xué)者來(lái)說(shuō),規(guī)則較多,使用太靈活,不易掌握,學(xué)習(xí)會(huì)有一定的困難。因此,單純地講一些語(yǔ)法、規(guī)則,就顯得比較抽象、枯燥、難學(xué),讓學(xué)生望而生畏。在現(xiàn)在的各大高校計(jì)算機(jī)類(lèi)專(zhuān)業(yè)中,一般情況下,它是大一新生接觸到的第一門(mén)專(zhuān)業(yè)課,因此本課程的教學(xué)效果好比一把雙刃劍,學(xué)得好,能鍛煉學(xué)生的邏輯思維能力,培養(yǎng)學(xué)生的學(xué)習(xí)興趣,為后續(xù)課程打下扎實(shí)的基礎(chǔ)。學(xué)得不好,將影響后續(xù)課程的學(xué)習(xí),更會(huì)使學(xué)生對(duì)未來(lái)的學(xué)習(xí)喪失信心,自暴自棄。因此,作為專(zhuān)任老師,在教學(xué)中應(yīng)該學(xué)會(huì)思考,如何上好C語(yǔ)言這門(mén)課程,讓學(xué)生能夠“學(xué)得會(huì),有興趣的學(xué)、并且學(xué)有所成”。通過(guò)思考,將一些好的教學(xué)方法和手段應(yīng)用于教學(xué),最終達(dá)到我們的教學(xué)目標(biāo)。
2 教學(xué)內(nèi)容
“C語(yǔ)言程序設(shè)計(jì)”課程的主要目的是使學(xué)生能夠初步掌握計(jì)算機(jī)程序設(shè)計(jì)的基本思想和方法,培養(yǎng)學(xué)生分析和解決問(wèn)題的能力,提高學(xué)生的學(xué)習(xí)和編程興趣,為后續(xù)課程的學(xué)習(xí)打下扎實(shí)的基礎(chǔ)。所以在課程內(nèi)容的設(shè)計(jì)上,不應(yīng)過(guò)分注重于語(yǔ)法知識(shí)(抽象),而應(yīng)重點(diǎn)強(qiáng)調(diào)程序設(shè)計(jì)的基本方法。因此,在教學(xué)內(nèi)容的選取上,采用“有所取、有所不取”的策略,對(duì)于那些與程序設(shè)計(jì)方法關(guān)系不大,也不常用的部分,根本不選取;對(duì)哪些不太重要的,在遇到程序舉例時(shí)簡(jiǎn)單介紹;對(duì)哪些常用的語(yǔ)法成份,則穿插在程序設(shè)計(jì)中詳細(xì)介紹。另外,“C語(yǔ)言程序設(shè)計(jì)”課程的重點(diǎn)是訓(xùn)練學(xué)生的邏輯思維能力,其中掌握常用的算法是關(guān)鍵,如:計(jì)數(shù)、累加、累乘、排序、分類(lèi)等。為學(xué)生以后編寫(xiě)程序、軟件設(shè)計(jì)打下基礎(chǔ)。同時(shí)典型算法的學(xué)習(xí)掌握,也可以增強(qiáng)學(xué)生的信心和學(xué)習(xí)的興趣。因此在課程的教學(xué)中,就應(yīng)想辦法讓學(xué)生將這些算法必須全部掌握,讓學(xué)生感到學(xué)有所成。
3 教學(xué)方法
3.1 運(yùn)用實(shí)例,變抽象為具體
在C語(yǔ)言的教學(xué)中,一開(kāi)始就要學(xué)習(xí)基本數(shù)據(jù)類(lèi)型及運(yùn)算符,格式化輸入函數(shù)scanf()和格式化輸出函數(shù)printf(),如果單一地介紹數(shù)據(jù)分為整型、實(shí)型、字符型,對(duì)應(yīng)的格式為%d、%f、%c等,學(xué)生就會(huì)感到枯燥乏味。如果這時(shí)我們能夠選擇一些實(shí)際的例題,提出通過(guò)我們學(xué)習(xí),利用相應(yīng)的數(shù)據(jù)類(lèi)型,就可以編程,如:要求學(xué)習(xí)者給幼兒生成一道加法題“25+67=”,可用下面4種方法實(shí)現(xiàn)(圖1)。
通過(guò)類(lèi)似于這四種方法的變化,使學(xué)生在學(xué)習(xí)%d、%f等格式符和格式化輸入函數(shù)scanf()、格式化輸出函數(shù)printf()的時(shí)候,做到不抽象,而變得生動(dòng)起來(lái)。
3.2 層層遞進(jìn),激發(fā)學(xué)習(xí)興趣
C語(yǔ)言中,在語(yǔ)句結(jié)構(gòu)的學(xué)習(xí)中,就會(huì)講到條件語(yǔ)句if,循環(huán)語(yǔ)句等,這時(shí)我們可以繼續(xù)引用前面的例子,進(jìn)行進(jìn)一步的深化。這樣可以做到環(huán)環(huán)緊扣、層層遞進(jìn),相互聯(lián)系。前面出的題,在幼兒在答題時(shí),不知道題是否答對(duì),現(xiàn)在利用if語(yǔ)句,就可以生成一道題,具有及時(shí)告知幼兒答題情況的功能:
if (x+y==z) printf(“恭喜你答對(duì)了!”);
else printf(“不對(duì),請(qǐng)繼續(xù)努力,加油!”);
這樣我們每次只能出1道題,如果需要學(xué)生一次性生成10道加法題,如何解決?這樣我們可以進(jìn)一步提出循環(huán)的概念,利用循環(huán)解決問(wèn)題。讓學(xué)習(xí)者感到有一定的成就感,引發(fā)學(xué)習(xí)者對(duì)編寫(xiě)程序?qū)W習(xí)的興趣。
3.3 探究性學(xué)習(xí),提高教學(xué)質(zhì)量
在學(xué)生有了一定的興趣后,我們可以向?qū)W習(xí)者提出更高的要求。通過(guò)對(duì)知識(shí)的擴(kuò)展,讓學(xué)生感覺(jué)到只要通過(guò)努力,進(jìn)行一定的深入思考,可以達(dá)到更高的水平。針對(duì)上面例題,我們提出是否可以讓計(jì)算機(jī)自動(dòng)生成2位數(shù)加數(shù)和被加數(shù),這時(shí)我們提出隨機(jī)數(shù)rand()的產(chǎn)生,并且可以統(tǒng)計(jì)出答題對(duì)錯(cuò)情況。在這個(gè)基礎(chǔ)上我們教師可以進(jìn)一步思考,可以繼續(xù)提出一些問(wèn)題,完成讓小學(xué)生進(jìn)行“加、減、乘、除”運(yùn)算,以菜單的顯示方式供學(xué)生進(jìn)行選擇(圖2)。這樣看似提高了難度,實(shí)際上就是在原來(lái)的基礎(chǔ)上,將加法程序相似地改成“減、乘、除”,同時(shí)可以介紹swith()語(yǔ)句的功能和使用。讓學(xué)生感覺(jué)到以前做不到的,通過(guò)學(xué)習(xí)現(xiàn)在做到了,有了一定的成就感,更加激發(fā)了他們的學(xué)習(xí)興趣。同時(shí)也讓他們堅(jiān)定一定的信念,只要通過(guò)有效的學(xué)習(xí),他們也可以編寫(xiě)出有效的代碼程序。
3.4 融入課程思政,提升學(xué)生素質(zhì)
在程序設(shè)計(jì)的教學(xué)過(guò)程中,我們不僅要教會(huì)學(xué)生編程的方法和技巧,而且更應(yīng)該通過(guò)課程的教學(xué),教會(huì)學(xué)生踏實(shí)的工作作風(fēng),提升分析問(wèn)題的能力以及團(tuán)隊(duì)合作的精神等方面的內(nèi)容。首先是樹(shù)立踏實(shí)細(xì)致的工作作風(fēng)。編寫(xiě)程序,我們必須有編譯、調(diào)試改錯(cuò)的環(huán)節(jié),這時(shí),我們就應(yīng)該教導(dǎo)學(xué)生養(yǎng)成“獨(dú)立、細(xì)致、耐心”的工作作風(fēng),只有這樣才能達(dá)到成功的彼岸。其次是提升分析問(wèn)題的能力。通過(guò)具體實(shí)例,教導(dǎo)學(xué)生“處理任何復(fù)雜的問(wèn)題,應(yīng)做到先分析、再處理,將復(fù)雜問(wèn)題分步處理”。提高學(xué)生的邏輯思維能力和今后處理工作問(wèn)題的能力。最后是培養(yǎng)學(xué)生團(tuán)隊(duì)合作的精神。在教學(xué)的過(guò)程中,灌輸學(xué)生團(tuán)隊(duì)合作的重要性,對(duì)于一個(gè)大型的軟件,現(xiàn)有的軟件公司都是組成一個(gè)團(tuán)隊(duì)進(jìn)行分工合作、共同開(kāi)發(fā),需要進(jìn)行相互的溝通、配合才能完成最終軟件開(kāi)發(fā)。因此我們?cè)谄綍r(shí)的教學(xué)中也應(yīng)該有意識(shí)的安排一些合作完成的項(xiàng)目,培養(yǎng)學(xué)生的團(tuán)隊(duì)精神。
4 結(jié)論
這樣,我們通過(guò)一道小學(xué)生的加法題入手,通過(guò)精心的設(shè)計(jì),由淺入深,層層推進(jìn),貫穿始終,讓學(xué)生在不知不覺(jué)中學(xué)到了相關(guān)的知識(shí)點(diǎn),同時(shí)提高了編程的興趣和能力,讓學(xué)生感覺(jué)到編程既不神秘也不是太難,同時(shí)也激發(fā)他們要進(jìn)一步學(xué)習(xí)和深入研究的動(dòng)力。同時(shí)在教學(xué)中進(jìn)行適當(dāng)?shù)耐卣购脱由欤囵B(yǎng)學(xué)生今后進(jìn)入工作崗位所需要的職業(yè)素質(zhì)。這就需要我們教師在教學(xué)過(guò)程中必須不斷探討適合學(xué)生的教學(xué)方法和手段,激發(fā)學(xué)生的學(xué)習(xí)興趣,更新教學(xué)理念,精心研課磨課,努力提高課程的教學(xué)質(zhì)量。真正做到“教學(xué)中思考、思考中教學(xué)”。
參考文獻(xiàn)
[1] 孫雪巖.C++程序設(shè)計(jì)基礎(chǔ)教學(xué)方法改革研究探索[J].新教育時(shí)代電子雜志(教師版),2018 (022):237.
[2] 彭穎,梁俊斌.以CDIO教育理念為引導(dǎo)的程序設(shè)計(jì)基礎(chǔ)教學(xué)改革研究[J].大學(xué)教育,2016(1):27-28.
[3] 楊梅,王楊.以計(jì)算思維為導(dǎo)向的程序設(shè)計(jì)基礎(chǔ)課程教學(xué)研究[J].計(jì)算機(jī)教育,2015(16):98-101.
[4] 馬曉娟.校企合作下的《程序設(shè)計(jì)基礎(chǔ)》教學(xué)模式研究[J].軟件導(dǎo)刊.教育技術(shù),2014(7):13-14.
[5] 鐘娟,章曙光,程遠(yuǎn),等.程序設(shè)計(jì)基礎(chǔ)課程多元化教學(xué)體系的研究[J].電腦知識(shí)與技術(shù),2018.014(022):92-94.