包淑芳
【摘要】:計(jì)算機(jī)信息技術(shù)現(xiàn)在已經(jīng)被廣泛的應(yīng)用到各個(gè)領(lǐng)域,在生產(chǎn)生活中起到的作用也越來(lái)越重要,這樣就使得計(jì)算機(jī)技術(shù)在大學(xué)課程中的重要性得到了提升。其中C程序設(shè)計(jì)為計(jì)算機(jī)課程的基礎(chǔ)部分,同時(shí)也是計(jì)算機(jī)考級(jí)的要點(diǎn),對(duì)培養(yǎng)學(xué)生專(zhuān)業(yè)能力具有重要意義。本文淺析C程序設(shè)計(jì)課程教學(xué)。
【關(guān)鍵詞】:C程序設(shè)計(jì);多模式教學(xué)法
【引言】:C程序設(shè)計(jì)課程是計(jì)算機(jī)專(zhuān)業(yè)本科的核心課程,它的培養(yǎng)目標(biāo)是使學(xué)生掌握正確的程序設(shè)計(jì)方法、具備良好的計(jì)算思維能力。通過(guò)對(duì)該課程的學(xué)習(xí),學(xué)生不僅要掌握高級(jí)語(yǔ)言程序設(shè)計(jì)中數(shù)據(jù)類(lèi)型、句法、語(yǔ)法等基礎(chǔ)知識(shí),還要掌握在實(shí)踐中如何運(yùn)用這些基礎(chǔ)知識(shí)的思想和方法,進(jìn)而養(yǎng)成獨(dú)立思考的習(xí)慣和利用計(jì)算機(jī)解決實(shí)際問(wèn)題的計(jì)算思維能力,進(jìn)而為后續(xù)計(jì)算機(jī)課程,如數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、算法設(shè)計(jì)等打下良好的基礎(chǔ)。
1建立科學(xué)完整的課程內(nèi)容體系
1.1理論教學(xué)環(huán)節(jié)
本課程的教學(xué)內(nèi)容包括“語(yǔ)法知識(shí)”和“程序設(shè)計(jì)”兩條主線,兩者并重。第一條主線———“語(yǔ)法知識(shí)”:以程序設(shè)計(jì)語(yǔ)言必須具備的功能(數(shù)據(jù)類(lèi)型和流程控制)為重點(diǎn),旨在使學(xué)生熟練掌握基本語(yǔ)法知識(shí),具備扎實(shí)的理論功底。第二條主線———“程序設(shè)計(jì)”:包括問(wèn)題分析、建立數(shù)學(xué)模型、算法設(shè)計(jì)和編碼、測(cè)試等方面,重點(diǎn)講授程序設(shè)計(jì)的思想和方法以及程序設(shè)計(jì)風(fēng)格,使學(xué)生能從更高的角度認(rèn)識(shí)該課程的學(xué)習(xí)目的,不局限于對(duì)語(yǔ)言本身的學(xué)習(xí)和編程技巧的掌握,更看重對(duì)語(yǔ)言應(yīng)用能力的培養(yǎng),并在課程中引入軟件工程的思想,指導(dǎo)學(xué)生編寫(xiě)規(guī)范的程序。具體內(nèi)容及學(xué)時(shí)分配如表1所示。
1.2實(shí)踐教學(xué)環(huán)節(jié)
為了分層次培養(yǎng)學(xué)生的編程能力,我們?cè)趯?shí)踐教學(xué)環(huán)節(jié)中設(shè)計(jì)了3個(gè)層次的題目供學(xué)生練習(xí),即基礎(chǔ)性題目、設(shè)計(jì)性題目和綜合性題目。這些練習(xí)題目可以幫助學(xué)生分別從知識(shí)點(diǎn)掌握、簡(jiǎn)單程序編寫(xiě)和大型程序設(shè)計(jì)三個(gè)層次上掌握語(yǔ)言知識(shí)、逐步提升程序設(shè)計(jì)能力。根據(jù)知識(shí)點(diǎn)布置的基礎(chǔ)性題目,偏重基本知識(shí)的熟練掌握,學(xué)生在自動(dòng)評(píng)判上機(jī)測(cè)試系統(tǒng)上完成;具有一定難度的設(shè)計(jì)性題目,要求學(xué)生能將1~3個(gè)知識(shí)點(diǎn)綜合運(yùn)用并落實(shí)到具體程序的編寫(xiě)、調(diào)試中去;綜合性題目是為優(yōu)秀學(xué)生設(shè)計(jì)的,要求應(yīng)用軟件工程的思想和方法編寫(xiě)大型程序,解決實(shí)際問(wèn)題。在實(shí)踐教學(xué)中,考慮多樣性和靈活性,為學(xué)生提供選擇的余地,鼓勵(lì)自主學(xué)習(xí)?;A(chǔ)性題目題庫(kù)10套,必做6套,其余選做;設(shè)計(jì)性題目,每一類(lèi)包括6題,必做3題,選做3題;綜合性題目8題,規(guī)模在1000代碼行以上,全部選做,提交作業(yè)形式是程序和相關(guān)文檔。
2 C程序設(shè)計(jì)課程教學(xué)優(yōu)化措施
2.1教學(xué)模式調(diào)整
以提高C程序設(shè)計(jì)課程教學(xué)質(zhì)量為目的,對(duì)傳統(tǒng)教學(xué)模式進(jìn)行更新。就現(xiàn)狀來(lái)看,很多C程序設(shè)計(jì)課程將重點(diǎn)放在C語(yǔ)言,并不符合學(xué)習(xí)規(guī)律要求,這樣就需要將教學(xué)重點(diǎn)調(diào)整到C程序設(shè)計(jì)本身上來(lái),包括程序設(shè)計(jì)思想、方法與算法,重視學(xué)生形象思維訓(xùn)練,培養(yǎng)學(xué)生C程序設(shè)計(jì)專(zhuān)業(yè)能力。例如,將全班30名同學(xué)身高輸入,輸出最大值。對(duì)于此問(wèn)題的解決要點(diǎn)是選擇合理的算法,即以結(jié)構(gòu)化程序設(shè)計(jì)目的為依據(jù),確定任務(wù)內(nèi)容后,對(duì)任務(wù)進(jìn)行向下逐層分解、逐步細(xì)化,直到滿足一個(gè)要求為止。為使得學(xué)生體會(huì)和理解這一思維方式,更直觀的了解程序設(shè)計(jì)過(guò)程,教師不能向以往一樣直接進(jìn)行講解,而是要引導(dǎo)學(xué)生從問(wèn)題分析入手,促使學(xué)生自己逐步找出各個(gè)求解步驟算法,并用N-S流圖描述,最終完成程序編寫(xiě)。對(duì)于實(shí)例問(wèn)題,通過(guò)初步分析可知求解過(guò)程可分為三步,得到第一層N-S流圖,然后對(duì)各部分進(jìn)行求精,且對(duì)某部分進(jìn)行求精時(shí),可以忽略對(duì)其他部分的要求。求精步驟1:輸入30個(gè)學(xué)生身高信息,定義一個(gè)一維數(shù)組h,并用一個(gè)循環(huán)來(lái)控制輸入,N-S流圖如圖1所示:
求精步驟2:求30個(gè)學(xué)生身高最大值,選取第一個(gè)數(shù)值,將其設(shè)置為最大值max,然后逐一與剩余數(shù)值進(jìn)行大小比較,N-S流圖如圖2所示:
步驟3:僅需要一個(gè)輸出語(yǔ)句,無(wú)需進(jìn)行求精,完成最大值問(wèn)題的算法求精工作。將所有步驟N-S流圖綜合整理在一起,便可得到最終綜合算法N-S流圖,如圖3所示,根據(jù)此N-S流圖便可完成程序的直接編寫(xiě)。
應(yīng)用此教學(xué)方法進(jìn)行教授專(zhuān)業(yè)內(nèi)容,教師并不是單純的對(duì)語(yǔ)法細(xì)節(jié)、解釋程序和運(yùn)行結(jié)果進(jìn)行講解,而是通過(guò)一個(gè)問(wèn)題解決的全過(guò)程來(lái)向?qū)W生說(shuō)明,并且在整個(gè)過(guò)程中學(xué)生也可以參與進(jìn)去,激發(fā)學(xué)生的學(xué)習(xí)興趣。應(yīng)用靈活的模式進(jìn)行教學(xué),不僅可以讓學(xué)生更好的掌握C語(yǔ)言規(guī)范,同時(shí)還可以完成實(shí)際問(wèn)題的處理,培養(yǎng)學(xué)生C程序設(shè)計(jì)思想,掌握程序方法與算法。這樣在學(xué)生在后期遇到編程問(wèn)題時(shí),便可以靈活的運(yùn)用,具有可以解決實(shí)際問(wèn)題的編程能力,而不是單純的C語(yǔ)言。
2.2提高教學(xué)靈活性
對(duì)于C程序設(shè)計(jì)課程教學(xué)內(nèi)容,因?yàn)閺?fù)雜程度比較高,想要提高學(xué)生對(duì)專(zhuān)業(yè)內(nèi)容的掌握效果,需要保證其對(duì)學(xué)科具有較高的興趣,可以在學(xué)習(xí)過(guò)程中發(fā)現(xiàn)問(wèn)題,并積極解決問(wèn)題,成為整個(gè)教學(xué)活動(dòng)中的主導(dǎo)者,改變以往以教學(xué)為中心的教學(xué)模式。因此,教師應(yīng)提高教學(xué)的靈活性,增多問(wèn)題數(shù)量,引導(dǎo)學(xué)生在解決問(wèn)題過(guò)程中學(xué)習(xí),提出問(wèn)題后由學(xué)生自主進(jìn)行思考、討論與解決,經(jīng)過(guò)分析后可以更深入的掌握學(xué)科內(nèi)容。例如C語(yǔ)言數(shù)據(jù)類(lèi)型概念的教學(xué),為保證學(xué)生可以切實(shí)體會(huì)到一般整型數(shù)據(jù)、長(zhǎng)整型數(shù)據(jù)、單精度數(shù)據(jù)以及順高精度數(shù)據(jù)所能保存范圍的差異,可以使學(xué)生模仿求1到100間所有自然數(shù)之和方法來(lái)計(jì)算5,且將求階乘變量s定義為短整型,學(xué)生可以短時(shí)間內(nèi)得出正確結(jié)果。然后改為計(jì)算8,學(xué)生能夠快速將循環(huán)變量終值更改為8,得到正確結(jié)果。而一個(gè)負(fù)數(shù)-25216,結(jié)果表示出現(xiàn)了“數(shù)據(jù)溢出”現(xiàn)象。這時(shí)學(xué)生便遇到了問(wèn)題,教師便可提醒學(xué)生對(duì)程序進(jìn)行部分修改,將求階乘變量s變?yōu)殚L(zhǎng)整型,計(jì)算得到正確結(jié)果。并按照此中方法,依次將程序修改為20和40,通過(guò)發(fā)現(xiàn)問(wèn)題、解決問(wèn)題過(guò)程,確定一般整型數(shù)據(jù)、長(zhǎng)整型數(shù)據(jù)、單精度數(shù)據(jù)以及順高精度數(shù)據(jù)所能保存范圍的不同。
結(jié)語(yǔ)
計(jì)算機(jī)基礎(chǔ)課程的教學(xué)尤其是程序設(shè)計(jì)語(yǔ)言的教學(xué)是一個(gè)系統(tǒng)工程,教學(xué)方法也應(yīng)豐富多樣,不能單純地認(rèn)為哪一種方法優(yōu),哪一種方法劣,應(yīng)當(dāng)采用多種教學(xué)方法的優(yōu)化組合。在程序設(shè)計(jì)語(yǔ)言的教學(xué)實(shí)踐中,我們還要不斷探索新思路、新方法,為提高學(xué)生的計(jì)算機(jī)應(yīng)用能力和創(chuàng)新能力而努力.
參考文獻(xiàn)
[1] 黃靜,高延英,楊宇姝.基于計(jì)算思維的程序設(shè)計(jì)課程教學(xué)模式研究[J].計(jì)算機(jī)教育,2017,05:51-54.
[2] 劉在英,楊平,張麗曉.程序設(shè)計(jì)課程實(shí)踐教學(xué)模式的探討[J].實(shí)驗(yàn)室研究與探索,2016,10:156-159.