摘要:結(jié)合非計(jì)算機(jī)專業(yè)對(duì)C語(yǔ)言程序設(shè)計(jì)課程學(xué)習(xí)的要求,針對(duì)教師與學(xué)生普遍認(rèn)為C語(yǔ)言難教難學(xué)的現(xiàn)狀,提出新的教學(xué)目的和教學(xué)方法。
關(guān)鍵詞:C語(yǔ)言程序設(shè)計(jì);教學(xué)目的;教學(xué)方法;多課程教學(xué)結(jié)合
基金項(xiàng)目:山西省教育科學(xué)“十一五”規(guī)劃課題“地方高校計(jì)算機(jī)應(yīng)用型創(chuàng)新人才培養(yǎng)模式研究”(GH—09223)。
作者簡(jiǎn)介:李建華,女,講師,研究方向?yàn)槿斯ぶ悄堋?br/>
當(dāng)前在高等學(xué)校的本科教育中,從計(jì)算機(jī)科學(xué)到電子信息類專業(yè),乃至理工科院校的所有非計(jì)算機(jī)專業(yè),“C語(yǔ)言程序設(shè)計(jì)”幾乎成了必開課程。有的是專業(yè)基礎(chǔ)課,有的是公共必修基礎(chǔ)課,有的是“非計(jì)算機(jī)專業(yè)的計(jì)算機(jī)基礎(chǔ)課”。教學(xué)目的根據(jù)專業(yè)有所不同,有的是專業(yè)基礎(chǔ)知識(shí);有的只是為了掌握簡(jiǎn)單的編程;還有的是為了計(jì)算機(jī)等級(jí)考試。教學(xué)方法多遵循語(yǔ)言類授課方式,重點(diǎn)放在語(yǔ)法掌握上。C語(yǔ)言程序設(shè)計(jì)課程本身對(duì)教學(xué)要求比較高,學(xué)生不僅僅學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì)的語(yǔ)法知識(shí),更重要的是掌握程序設(shè)計(jì)方法。在以往的教學(xué)實(shí)踐中,我們發(fā)現(xiàn)很多學(xué)生認(rèn)為C語(yǔ)言程序設(shè)計(jì)課程是一門比較難學(xué)的課程。事實(shí)上除了計(jì)算機(jī)專業(yè)學(xué)生在后續(xù)課程或工作中要用到它外,其他專業(yè)學(xué)生在課程結(jié)束后幾乎不再接觸此知識(shí)。那么我們開課的目的不應(yīng)該只停在學(xué)習(xí)編程上,明確新的教學(xué)目的,結(jié)合新的教學(xué)方法讓學(xué)生對(duì)此有新的認(rèn)識(shí),這樣學(xué)生學(xué)起來(lái)就會(huì)感到輕松,興趣。
1明確新的教學(xué)目的
教與學(xué)的目的應(yīng)該是一致的,如果學(xué)生將來(lái)不用編程,而是想通過(guò)學(xué)習(xí)這一門課程來(lái)提高其他方面的能力,如邏輯思維能力、研究能力、自學(xué)能力等,那么我們也應(yīng)該改變教學(xué)目的。
1.1對(duì)邏輯思維能力的培養(yǎng)
教師可以開門見山地告訴學(xué)生,這門課程不僅是為了學(xué)編程,更重要的是培養(yǎng)更強(qiáng)的邏輯思維能力。這個(gè)能力在以后干任何工作都可以用上。編程時(shí)的算法跟每個(gè)人的想法一樣,各有不同,可是編程的語(yǔ)法是固定的,機(jī)器不會(huì)去理解人,所以,寫程序一定得有強(qiáng)的邏輯思維才能讓機(jī)器幫你執(zhí)行出想要的結(jié)果。這就要求學(xué)生們?cè)诰幊虝r(shí)一定要思路清晰,思維縝密。如在循環(huán)嵌套時(shí),就要分清內(nèi)外層循環(huán),比較簡(jiǎn)單的像二維數(shù)組的是行大還是列大,大的在外層,小的在內(nèi)層,外層循環(huán)慢,內(nèi)層循環(huán)快;稍復(fù)雜一點(diǎn)的,如求1~100之內(nèi)的素?cái)?shù),用定義求,表示循環(huán)的語(yǔ)句如下:[1]
For(n=1;n<=100;n++)
For(i=2;i
外層For(n=1;n<=100;n++)表示1~100的數(shù),F(xiàn)or(i=2;i
For(i=2;i
這里的For(i=2;i
1.2對(duì)研究能力的培養(yǎng)
現(xiàn)在許多學(xué)生適應(yīng)了在中學(xué)時(shí)期的強(qiáng)制性學(xué)習(xí)和應(yīng)試教育,導(dǎo)致自學(xué)能力減弱,也就更沒有獨(dú)立思考的能力和研究能力,我們現(xiàn)在大學(xué)的學(xué)習(xí)目的主要是培養(yǎng)研究型學(xué)生。通過(guò)學(xué)C程序設(shè)計(jì),可以培養(yǎng)自學(xué)能力、研究能力。
學(xué)習(xí)是為了解決實(shí)際生活中的問題,這樣就需要對(duì)生活中的問題進(jìn)行數(shù)學(xué)建模,而建好的模型是需要用機(jī)器來(lái)解的。這一系列過(guò)程需要大力思考。生活中的問題抽取什么樣的量來(lái)設(shè)為變量,這些變量又有著怎樣的關(guān)系,如何建立表達(dá)式,建好的表達(dá)式又怎樣用程序算法來(lái)實(shí)現(xiàn)。例如,在沒有學(xué)習(xí)數(shù)組時(shí),我們需要求大量的數(shù)據(jù),設(shè)許多個(gè)變量這是不可取的辦法,需要我們用更巧妙的方法來(lái)解決。如解決古典數(shù)學(xué)問題兔子繁殖問題,這個(gè)問題的數(shù)學(xué)模型是Fibonacci數(shù)列。求出這個(gè)數(shù)列的前40個(gè)數(shù)。程序段如下:
F