国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

從《C Primer Plus》看國(guó)內(nèi)外計(jì)算機(jī)專(zhuān)業(yè)C程序設(shè)計(jì)課程教學(xué)方法的區(qū)別

2020-12-17 02:34:18王艷會(huì)鐘誠(chéng)陸軍軍事交通學(xué)院鎮(zhèn)江校區(qū)
教書(shū)育人 2020年15期
關(guān)鍵詞:計(jì)算機(jī)專(zhuān)業(yè)程序設(shè)計(jì)學(xué)時(shí)

王艷會(huì) 鐘誠(chéng) (陸軍軍事交通學(xué)院鎮(zhèn)江校區(qū))

工欲善其事,必先利其器。C程序設(shè)計(jì)是計(jì)算機(jī)類(lèi)專(zhuān)業(yè)的專(zhuān)業(yè)基礎(chǔ)課,是面向?qū)ο蟪绦蛟O(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)等十余門(mén)專(zhuān)業(yè)基礎(chǔ)課和專(zhuān)業(yè)主干課的先修課程。該課程的學(xué)習(xí)效果的好壞直接影響到后續(xù)課程的學(xué)習(xí)。如果C 語(yǔ)言掌握不好,后續(xù)課程的學(xué)習(xí)難免流于形式;反之,如果在C 語(yǔ)言課程的學(xué)習(xí)中獲得了本專(zhuān)業(yè)應(yīng)有的程序設(shè)計(jì)能力,后續(xù)課程的學(xué)習(xí)將會(huì)有深刻的理解和實(shí)踐應(yīng)用能力。從這種角度看,C 語(yǔ)言程序設(shè)計(jì)課程不僅是計(jì)算機(jī)類(lèi)專(zhuān)業(yè)本科課程學(xué)習(xí)的開(kāi)始,而且也是后續(xù)課程的學(xué)習(xí)和實(shí)踐的工具。因此C 語(yǔ)言課程的教學(xué)方法研究對(duì)于計(jì)算機(jī)專(zhuān)業(yè)的教學(xué)有著不言而喻的重要性。對(duì)于一門(mén)課程,教材很大程度上是教學(xué)理念和教學(xué)方法的反映,C語(yǔ)言亦是如此。近二十余年來(lái),國(guó)內(nèi)優(yōu)秀的C 語(yǔ)言教材層出不窮,其中更是不乏影響深遠(yuǎn)的經(jīng)典教材。這些教材為國(guó)內(nèi)的C語(yǔ)言教學(xué)提供了包含豐富教學(xué)經(jīng)驗(yàn)的教學(xué)思路、教學(xué)內(nèi)容和教學(xué)理念,適合國(guó)內(nèi)學(xué)生的知識(shí)基礎(chǔ),是國(guó)內(nèi)C 語(yǔ)言教學(xué)方法的代表??v觀國(guó)外的計(jì)算機(jī)專(zhuān)業(yè)C 語(yǔ)言教學(xué)領(lǐng)域,也有很多優(yōu)秀的 C 語(yǔ)言教材,其中以《C Primer Plus》、《C and Pointer》、《The C Programming Language》等為代表,其中的講授思路和內(nèi)容和國(guó)內(nèi)卻有著諸多不同,也自然對(duì)應(yīng)著一些與國(guó)內(nèi)不同的教學(xué)方法。這些國(guó)外教材當(dāng)然是根據(jù)國(guó)外計(jì)算機(jī)專(zhuān)業(yè)學(xué)生的知識(shí)基礎(chǔ)等情況編寫(xiě),但其中某些方面亦可以作為國(guó)內(nèi)借鑒,從而進(jìn)一步提高國(guó)內(nèi)C 語(yǔ)言課程的教學(xué)效果,增強(qiáng)學(xué)生的程序設(shè)計(jì)能力。本文從國(guó)外經(jīng)典教材《C Primer Plus》出發(fā),比較國(guó)內(nèi)外教材,分析國(guó)內(nèi)外C 語(yǔ)言程序設(shè)計(jì)課程的教學(xué)內(nèi)容、教學(xué)目標(biāo)和教學(xué)思路的不同,然后根據(jù)我國(guó)計(jì)算機(jī)專(zhuān)業(yè)本科生的知識(shí)基礎(chǔ),適當(dāng)借鑒國(guó)外教學(xué)思想,提出改進(jìn)該課程教學(xué)方法的些許淺見(jiàn)。

一 國(guó)內(nèi)外教材的區(qū)別

(一)對(duì)語(yǔ)法的介紹

幾乎所有國(guó)內(nèi)教材習(xí)慣將語(yǔ)法劃分為多個(gè)組成部分,如數(shù)據(jù)類(lèi)型、過(guò)程控制語(yǔ)句、函數(shù)、數(shù)組以及指針,等。每部分內(nèi)容由對(duì)應(yīng)章節(jié)介紹。在每個(gè)章節(jié)中,相應(yīng)語(yǔ)法內(nèi)容會(huì)被詳盡地、徹底地介紹。學(xué)生在掌握這些語(yǔ)法后做這些語(yǔ)法的應(yīng)用練習(xí),即編寫(xiě)程序。以數(shù)組和指針為例,在數(shù)組和指針章節(jié)中,數(shù)組的定義、初始化、使用、二維數(shù)組、地址、存儲(chǔ)方式、字符串、指針、指針間接引用、二級(jí)指針、指針數(shù)組和數(shù)組指針等語(yǔ)法被全部介紹。在《C Primer Plus》中,數(shù)組的定義等基本語(yǔ)法在《循環(huán)語(yǔ)句》中附帶介紹,指針的定義等基本語(yǔ)法在《函數(shù)》中附帶介紹。國(guó)內(nèi)教材的出發(fā)點(diǎn)是首先讓學(xué)生掌握扎實(shí)的語(yǔ)法基礎(chǔ),然后進(jìn)行編程能力的鍛煉;《C Primer Plus》則是引導(dǎo)學(xué)生逐步編寫(xiě)由易到難的程序,在使用的過(guò)程中介紹需要的語(yǔ)法。簡(jiǎn)言之,國(guó)內(nèi)教材的做法是先學(xué)再做,大步推進(jìn);而國(guó)外教材的做法是在做中學(xué),小步快行。相比之下,國(guó)內(nèi)教材的做法可以使用較少學(xué)時(shí)讓學(xué)生掌握語(yǔ)法基礎(chǔ)并具備一定的程序設(shè)計(jì)能力,但學(xué)習(xí)難度較高;而國(guó)外教材的做法使學(xué)生在用中學(xué),在教的過(guò)程中引導(dǎo)學(xué)生養(yǎng)成良好的編程習(xí)慣,學(xué)習(xí)難度較低,但需要更多的學(xué)時(shí)。兩種教材的不同是由國(guó)內(nèi)外高校計(jì)算機(jī)專(zhuān)業(yè)學(xué)生、課程和學(xué)時(shí)安排的不同導(dǎo)致的。國(guó)外教材因?yàn)檎n程學(xué)時(shí)多,可以以較慢的進(jìn)度引導(dǎo)學(xué)生邊用邊學(xué),從而保證教學(xué)效果;而國(guó)內(nèi)計(jì)算機(jī)專(zhuān)業(yè)開(kāi)設(shè)課程較多,單門(mén)課程不可能安排太多學(xué)時(shí),另外學(xué)生學(xué)習(xí)更為勤奮,能夠接受少學(xué)時(shí)、大容量的課時(shí),所以國(guó)內(nèi)教材按內(nèi)容嚴(yán)格劃分為較少章節(jié),單課時(shí)內(nèi)容更為緊湊。另外,《C Primer Plus》對(duì)語(yǔ)法的介紹非常全面,而國(guó)內(nèi)教材僅介紹必需的語(yǔ)法,這也和課程教學(xué)學(xué)時(shí)的差別有關(guān)。

(二)編程環(huán)境和編譯器

多數(shù)國(guó)內(nèi)教材會(huì)指定一種編程軟件,常見(jiàn)的有Turbo C(TC)和 Visual C++(VC);《C Primer Plus》沒(méi)有采用特定的編程軟件。指定編程工具的好處是可以讓學(xué)生盡快進(jìn)入編程環(huán)節(jié),省去了摸索編程軟件使用方法的過(guò)程。但是指定編程軟件也導(dǎo)致不能介紹沒(méi)有被特定編譯器采用的語(yǔ)法,從而導(dǎo)致介紹語(yǔ)法不全面,甚至導(dǎo)致介紹的語(yǔ)法陳舊。如Visual C++的所有版本僅支持 ANSI C 1989 的語(yǔ)法,ISO C 1999 和 ISO C 2011 中的語(yǔ)法就不能介紹;而Turbo C 甚至連最初的ANSI C 1989 都不支持。這樣指定特定編程軟件的做法會(huì)導(dǎo)致所介紹的C 語(yǔ)言語(yǔ)法或者太舊,或者僅是某一種編譯器的“方言”。而《C Primer Plus》沒(méi)有指定任何一種編程軟件,因此可以毫無(wú)顧忌地介紹全面的語(yǔ)法,但這樣需要學(xué)生自己尋找編程軟件,而且需要自己摸索使用方法,如果該過(guò)程不順利,可能影響學(xué)生的學(xué)習(xí)心理,失去興趣,而且很多編程軟件是英文版的,對(duì)部分英語(yǔ)水平欠佳的中國(guó)學(xué)生來(lái)說(shuō)也是一個(gè)與C 語(yǔ)言?xún)?nèi)容本不相關(guān)的障礙。

(三)例題和習(xí)題

國(guó)內(nèi)教材例題多有較深數(shù)學(xué)背景,如方程求根二分法,級(jí)數(shù)逼近,等。這類(lèi)題目需要考慮的情況較少,但往往有較復(fù)雜的流程控制,有利于鍛煉學(xué)生的分析問(wèn)題、整理編程思路的能力,但對(duì)于全面考慮問(wèn)題的習(xí)慣養(yǎng)成幫助不大。《C Primer Plus》的例題多為與生活相關(guān)的、與數(shù)學(xué)不相關(guān)或數(shù)學(xué)基礎(chǔ)淺顯的例題,如銀行本息計(jì)算、電費(fèi)計(jì)算、整數(shù)方冪計(jì)算,等。這類(lèi)題目的過(guò)程控制較為簡(jiǎn)單,但可能出現(xiàn)的情況較多,對(duì)于分析問(wèn)題、整理編程思路的能力的鍛煉促進(jìn)作用較小,但可以引導(dǎo)學(xué)生考慮到可能發(fā)生的各種情況,編寫(xiě)出健康的程序。簡(jiǎn)言之,即國(guó)內(nèi)教材所選例題注重培養(yǎng)學(xué)生堅(jiān)韌的分析解決較難問(wèn)題的能力,而國(guó)外教材所選例題偏重培養(yǎng)學(xué)生全面考慮問(wèn)題的習(xí)慣。二者各有所長(zhǎng)。國(guó)內(nèi)教材之所以能夠選擇數(shù)學(xué)理論較深的例題,一個(gè)很大的原因是國(guó)內(nèi)多數(shù)學(xué)生有著扎實(shí)的數(shù)學(xué)基礎(chǔ),能夠理解例題所解決的問(wèn)題,而正是學(xué)生的這種基礎(chǔ),讓國(guó)內(nèi)教材有了培養(yǎng)學(xué)生刻苦分析編寫(xiě)較復(fù)雜控制過(guò)程程序的條件,所培養(yǎng)出的學(xué)生中確實(shí)有較大比例人數(shù)擅長(zhǎng)這種復(fù)雜程序的編寫(xiě),但這也恰恰將少數(shù)數(shù)學(xué)基礎(chǔ)不夠好的學(xué)生擋在了C 語(yǔ)言的大門(mén)之外。

在課后習(xí)題方面,國(guó)內(nèi)教材常常給出包括選擇題、填空題、程序分析題和程序設(shè)計(jì)題等的較全面的題型,對(duì)概念性?xún)?nèi)容有著比重較大的涉及。《C Primer Plus》課后習(xí)題類(lèi)型僅有程序分析題和程序設(shè)計(jì)題,僅鍛煉學(xué)生讀程序和編程序的能力,對(duì)概念性的語(yǔ)法涉及較少。

綜上所述,在語(yǔ)法方面,國(guó)內(nèi)教材以語(yǔ)法的介紹為思路,且大多只介紹必需的語(yǔ)法,并通過(guò)習(xí)題強(qiáng)化對(duì)這些語(yǔ)法的掌握,然后開(kāi)始對(duì)編程思維的訓(xùn)練;國(guó)外教材以編寫(xiě)程序所涉及語(yǔ)法的逐層拓展為思路,但對(duì)語(yǔ)法的介紹極為全面,這些語(yǔ)法在習(xí)題部分卻沒(méi)有很全面地覆蓋,也就是說(shuō),國(guó)外教材對(duì)語(yǔ)法的介紹雖然全面,但其中很大的部分屬于了解性質(zhì)。從學(xué)習(xí)難度分析,國(guó)內(nèi)教材先語(yǔ)法后編程,是走了一道“陡坡”,學(xué)習(xí)難度較高,但若學(xué)生能夠堅(jiān)持,則可以在較短時(shí)間內(nèi)取得明顯效果;而國(guó)外教材隨著編程的拓展臨時(shí)介紹需要的語(yǔ)法,讓語(yǔ)法圍著學(xué)生轉(zhuǎn),降低了學(xué)生的學(xué)習(xí)難度,是一道“緩坡”,但需要相對(duì)較長(zhǎng)的學(xué)時(shí)。從培養(yǎng)效果分析,國(guó)內(nèi)教材強(qiáng)調(diào)學(xué)生應(yīng)該能夠編寫(xiě)思路較復(fù)雜程序的能力,而國(guó)外教材的程序復(fù)雜程度有限,重點(diǎn)突出考慮問(wèn)題的全面性方面的引導(dǎo)。在這些方面,國(guó)內(nèi)外的教材各有所長(zhǎng)。從語(yǔ)法標(biāo)準(zhǔn)角度分析,國(guó)內(nèi)教材普遍標(biāo)準(zhǔn)陳舊,絕大部分教材還在采用ANSI C1989 作為語(yǔ)法標(biāo)準(zhǔn),而國(guó)外教材普遍采用ISO C1999 或ISO C2011 標(biāo)準(zhǔn)。標(biāo)準(zhǔn)的陳舊是有編譯器的陳舊導(dǎo)致的。很多教材采用了不支持C99標(biāo)準(zhǔn)語(yǔ)法的Visual C++和只有在Windows98、2000、XP 等老舊系統(tǒng)下才能運(yùn)行的Turbo C。在這方面,國(guó)內(nèi)部分教材略顯不足。

二 改進(jìn)建議

第一,國(guó)內(nèi)教材僅介紹必需的語(yǔ)法,更適合中國(guó)計(jì)算機(jī)專(zhuān)業(yè)本科生的計(jì)算機(jī)基礎(chǔ),也更有利于將有限的學(xué)時(shí)用到程序設(shè)計(jì)思維的鍛煉上,但是在語(yǔ)法介紹過(guò)程中以語(yǔ)法內(nèi)容劃分章節(jié),雖然所需學(xué)時(shí)較少,但是學(xué)習(xí)難度相對(duì)較高。因此在基本語(yǔ)法的講授環(huán)節(jié),可以以學(xué)習(xí)過(guò)程中學(xué)生所編寫(xiě)的程序的規(guī)模的進(jìn)展調(diào)整語(yǔ)法的講授順序,介紹當(dāng)時(shí)需要的語(yǔ)法,如介紹循環(huán)語(yǔ)句時(shí)可先簡(jiǎn)要介紹數(shù)組的基本語(yǔ)法,無(wú)須涉及地址以及存儲(chǔ)方式等較深內(nèi)容,讓學(xué)生先用起來(lái)。如果因此導(dǎo)致所需學(xué)時(shí)增加,可以減少字符串輸入輸出和格式輸入輸出函數(shù)等不重要內(nèi)容的學(xué)時(shí)。

第二,Turbo C 和Visual C++僅支持C89,語(yǔ)法標(biāo)準(zhǔn)較陳舊,而且現(xiàn)在廣泛使用的Windows 7 和Windows8 操作系統(tǒng)對(duì)這兩種編程環(huán)境的支持并不好。另外,從保護(hù)知識(shí)產(chǎn)權(quán)和節(jié)省費(fèi)用的角度考慮,也應(yīng)盡量選擇開(kāi)源軟件。Dev Cpp 對(duì)上述要求均能很好地滿(mǎn)足。另外,Dev Cpp 是大部分國(guó)際和國(guó)內(nèi)程序設(shè)計(jì)比賽的指定編程環(huán)境,使用它也有利于學(xué)生參加各類(lèi)相關(guān)比賽;而且Dev Cpp 可采用MinGW 編譯器,是Linux 操作系統(tǒng)GNU 的Windows 版本,這也有利于學(xué)生以后在Linux 操作系統(tǒng)中從事嵌入式開(kāi)發(fā)。

第三,課堂習(xí)題盡量不涉及較深?yuàn)W的數(shù)學(xué)原理。如果涉及,應(yīng)先將所涉及的數(shù)學(xué)背景以通俗的方式講解明白,避免部分?jǐn)?shù)學(xué)基礎(chǔ)不好的學(xué)生因?yàn)閷?duì)數(shù)學(xué)的恐懼而失去對(duì)C 語(yǔ)言的興趣。在C 語(yǔ)言課程后期,可以將數(shù)獨(dú)、彩票等簡(jiǎn)單數(shù)字游戲或現(xiàn)實(shí)生活中的問(wèn)題作為本課程的綜合練習(xí)項(xiàng)目。

猜你喜歡
計(jì)算機(jī)專(zhuān)業(yè)程序設(shè)計(jì)學(xué)時(shí)
《詩(shī)詞寫(xiě)作》課程教學(xué)大綱(節(jié)選)
學(xué)時(shí)壓縮下有機(jī)化學(xué)教學(xué)方法探討
云南化工(2021年9期)2021-12-21 07:44:20
教學(xué)大綱國(guó)畫(huà)(工筆花鳥(niǎo))
“以賽促學(xué),以賽促教”促進(jìn)計(jì)算機(jī)專(zhuān)業(yè)教學(xué)理念創(chuàng)新與實(shí)踐研究
探索學(xué)時(shí)積分制 構(gòu)建階梯式成長(zhǎng)激勵(lì)體系
基于Visual Studio Code的C語(yǔ)言程序設(shè)計(jì)實(shí)踐教學(xué)探索
從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
電子制作(2019年9期)2019-05-30 09:42:04
高職高專(zhuān)院校C語(yǔ)言程序設(shè)計(jì)教學(xué)改革探索
職業(yè)高中計(jì)算機(jī)專(zhuān)業(yè)教學(xué)改革淺析
PLC梯形圖程序設(shè)計(jì)技巧及應(yīng)用
宣恩县| 富宁县| 洪洞县| 伊金霍洛旗| 西乌珠穆沁旗| 蚌埠市| 庄浪县| 密山市| 西华县| 佛学| 安达市| 永州市| 潮州市| 隆子县| 秀山| 平谷区| 静海县| 西乌| 大新县| 桦甸市| 龙井市| 绥棱县| 革吉县| 长汀县| 琼结县| 浦城县| 玛沁县| 莆田市| 美姑县| 乌恰县| 宁波市| 洪江市| 巫山县| 桃园市| 英山县| 子洲县| 景东| 平陆县| 英吉沙县| 玛沁县| 潜江市|