• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    C語(yǔ)言程序設(shè)計(jì)的模塊化教學(xué)研究

    2016-05-30 00:34:53何鈺娟
    亞太教育 2016年11期
    關(guān)鍵詞:程序設(shè)計(jì)模塊化

    何鈺娟

    摘 要:C語(yǔ)言課程包括語(yǔ)法與算法兩方面的內(nèi)容,二者密切相關(guān),對(duì)于寫(xiě)好一個(gè)C程序,缺一不可。鑒于以往教學(xué)中存在的問(wèn)題——輕算法/重語(yǔ)法,或輕語(yǔ)法/重算法,都無(wú)法很好的培養(yǎng)學(xué)生的程序設(shè)計(jì)能力。因此,我們將課程教學(xué)劃分為六個(gè)模塊,通過(guò)六個(gè)模塊的訓(xùn)練培養(yǎng)學(xué)生六個(gè)方面的能力:靈活運(yùn)用C語(yǔ)言語(yǔ)法的能力、讀程序能力、寫(xiě)程序能力、程序調(diào)試能力、程序優(yōu)化能力、規(guī)范編程能力,目的在于使學(xué)生不僅會(huì)編程序,還會(huì)編好程序。

    關(guān)鍵詞:C語(yǔ)言;模塊化;程序設(shè)計(jì)

    一、引言

    20世紀(jì)90年代以來(lái),C語(yǔ)言迅速在全世界普及推廣,至今依然是最常用、最受歡迎的編程語(yǔ)言之一。同時(shí)“C語(yǔ)言程序設(shè)計(jì)”是很多高等學(xué)校的一門(mén)基本的計(jì)算機(jī)課程。該課程在計(jì)算機(jī)教育和計(jì)算機(jī)應(yīng)用中發(fā)揮著重要的作用。

    該課程最初的教學(xué)模式為:注重語(yǔ)句、語(yǔ)法細(xì)節(jié)的講解,對(duì)如何用計(jì)算機(jī)解決問(wèn)題的方法和思路講得不夠,課程的訓(xùn)練著重于C語(yǔ)言語(yǔ)法和簡(jiǎn)單程序的閱讀,而對(duì)學(xué)生編程能力的訓(xùn)練不夠。結(jié)果導(dǎo)致學(xué)完該門(mén)課程,絕大多數(shù)學(xué)生不會(huì)編程,這樣就給后續(xù)課程留下了缺憾。針對(duì)這種情況,我們對(duì)該課程的教學(xué)進(jìn)行了改革,具體為:課堂上注重編程思路的分析和講解,對(duì)C語(yǔ)言本身只講大語(yǔ)法,例如if語(yǔ)句的功能、循環(huán)語(yǔ)句的功能等,而更細(xì)節(jié)的語(yǔ)法由學(xué)生在編程實(shí)踐中自己學(xué)習(xí)。幾年的教學(xué)實(shí)踐表明,我們的改革在提高學(xué)生的編程能力方面取得了一定的效果,但另一方面,我們發(fā)現(xiàn)由于在課程教學(xué)中側(cè)重于編程思路的講解及訓(xùn)練,C語(yǔ)法本身的講解及練習(xí)偏少,而二本院校的學(xué)生其自學(xué)能力及學(xué)習(xí)的自覺(jué)性較差,導(dǎo)致很多同學(xué)在編程時(shí)思路正確,但由于對(duì)語(yǔ)法的理解不夠深入,在編寫(xiě)程序時(shí)不能正確靈活地選用語(yǔ)句,程序出錯(cuò)時(shí)也不知如何修改,閱讀程序的能力也很差。

    “C語(yǔ)言程序設(shè)計(jì)”課程涉及到兩個(gè)內(nèi)容——C語(yǔ)言和程序設(shè)計(jì)。C語(yǔ)言是程序設(shè)計(jì)的工具,主要涉及語(yǔ)法和語(yǔ)義兩個(gè)方面;而程序設(shè)計(jì)需要掌握對(duì)問(wèn)題求解過(guò)程的理解與描述方法。兩個(gè)概念密切相關(guān)但又互不相同,如果只會(huì)用工具,無(wú)法編寫(xiě)程序;如果只會(huì)程序設(shè)計(jì)的方法,不會(huì)使用或用不好工具,也無(wú)法編寫(xiě)程序。因此,我們對(duì)以往的教學(xué)模式進(jìn)行了調(diào)整。

    二、模塊化的教學(xué)設(shè)計(jì)

    (一)本課程的教學(xué)目標(biāo)

    “C語(yǔ)言程序設(shè)計(jì)”課程的核心教學(xué)目標(biāo)就是教會(huì)學(xué)生使用C語(yǔ)言進(jìn)行設(shè)計(jì)程序,使學(xué)生掌握程序設(shè)計(jì)的基本思想和方法,具有靈活應(yīng)用這些思想和方法編寫(xiě)出C程序來(lái)解決實(shí)際問(wèn)題的能力。同時(shí),還要培養(yǎng)學(xué)生較強(qiáng)的程序調(diào)試能力和程序閱讀能力,讓學(xué)生學(xué)習(xí)基本的編程規(guī)范,養(yǎng)成良好的編程風(fēng)格,了解程序優(yōu)化的方法和原則,為將來(lái)編寫(xiě)高效的程序做準(zhǔn)備。

    (二)實(shí)施模塊化教學(xué),全方位、多角度進(jìn)行編程訓(xùn)練

    我們將課程教學(xué)劃分為C語(yǔ)言語(yǔ)法理論練習(xí)、程序閱讀、程序跟蹤調(diào)試、程序優(yōu)化、編程規(guī)范、程序設(shè)計(jì)六個(gè)模塊,通過(guò)六個(gè)模塊的訓(xùn)練培養(yǎng)學(xué)生六個(gè)方面的能力:靈活運(yùn)用C語(yǔ)言語(yǔ)法的能力、讀程序能力、寫(xiě)程序能力、程序調(diào)試能力、程序優(yōu)化能力、規(guī)范編程能力。

    1.C語(yǔ)言語(yǔ)法理論練習(xí)

    在課程的學(xué)習(xí)中,C語(yǔ)言作為編程的工具非常重要。掌握基本的語(yǔ)法規(guī)則是編程的基礎(chǔ),如果不掌握必要的語(yǔ)法規(guī)則,連最簡(jiǎn)單的程序也編不出來(lái),或者編出來(lái)的程序錯(cuò)誤百出,無(wú)法運(yùn)行。而C語(yǔ)言的語(yǔ)法知識(shí)點(diǎn)多、覆蓋面廣,因此我們創(chuàng)建了C語(yǔ)言語(yǔ)法理論練習(xí)題庫(kù),包括單項(xiàng)選擇題、多項(xiàng)選擇題、判斷題幾種題型,在每次上機(jī)課前給學(xué)生布置與本周上機(jī)內(nèi)容相關(guān)的語(yǔ)法練習(xí)題作為上機(jī)預(yù)習(xí)內(nèi)容,使學(xué)生先熟悉即將用到的語(yǔ)法,并且使用技術(shù)手段促使學(xué)生必須在上機(jī)課前完成預(yù)習(xí)內(nèi)容,以保證預(yù)習(xí)效果,為上機(jī)課做好準(zhǔn)備。

    2.程序閱讀

    一切學(xué)習(xí)都從模仿開(kāi)始,編程也一樣。編程就像寫(xiě)文章,如果想成為一名卓越的作家,在能寫(xiě)出任何拿得出手的東西之前,需要品讀其他偉大作家的文章,吸收不同的風(fēng)格,看看前輩已嘗試過(guò)的東西,從中吸取精華,自己的知識(shí)才會(huì)慢慢增長(zhǎng),自己的作品最終才會(huì)透露出些許成熟。編寫(xiě)代碼和寫(xiě)作一樣,對(duì)于程序員來(lái)說(shuō),閱讀優(yōu)秀的代碼就如同作家閱讀優(yōu)秀書(shū)籍一樣重要。

    對(duì)于初學(xué)C語(yǔ)言的學(xué)生,閱讀程序就從一本優(yōu)秀的教材開(kāi)始,要求學(xué)生將教材上的源程序代碼一個(gè)一個(gè)的輸入到電腦中,編譯運(yùn)行,并且用紙和筆記錄下程序的運(yùn)行過(guò)程,對(duì)每一個(gè)程序都認(rèn)真剖析、認(rèn)真閱讀,在輸入代碼的過(guò)程中慢慢就可以品出程序的好壞了,例如,如果發(fā)現(xiàn)自己輸入了很多重復(fù)代碼,那就可以看出至少這個(gè)程序的結(jié)構(gòu)就不好,需要改進(jìn)。除了教材,還為學(xué)生推薦一些經(jīng)典的C語(yǔ)言書(shū)籍,讓學(xué)生閱讀和剖析書(shū)上的源代碼。我們還收集了經(jīng)典的程序代碼,為學(xué)生布置閱讀程序的作業(yè),作業(yè)的形式多樣,有傳統(tǒng)的讀程序?qū)懡Y(jié)果的題型,也有自己設(shè)計(jì)的新題型,例如選程序注釋、為程序添加注釋等,選程序注釋就是給出源代碼,讓學(xué)生為指定代碼選擇已給出的注釋?zhuān)粸槌绦蛱砑幼⑨尵褪墙o出源代碼,讓學(xué)生為程序的指定行添加注釋。

    3.程序跟蹤調(diào)試

    在程序的開(kāi)發(fā)過(guò)程中,程序調(diào)試的重要性并不亞于編寫(xiě)代碼,因?yàn)橐粋€(gè)設(shè)計(jì)得再好的程序,也難免會(huì)出現(xiàn)錯(cuò)誤,這些錯(cuò)誤需要通過(guò)調(diào)試來(lái)排除,通常程序的功能越復(fù)雜,調(diào)試過(guò)程的工作量也就越大。

    編寫(xiě)程序時(shí)可能產(chǎn)生的錯(cuò)誤通??梢苑譃槿箢?lèi):語(yǔ)法錯(cuò)誤、運(yùn)行時(shí)錯(cuò)誤和邏輯錯(cuò)誤。語(yǔ)法錯(cuò)誤是程序代碼違反了C語(yǔ)言的語(yǔ)法規(guī)則而產(chǎn)生的錯(cuò)誤,語(yǔ)法錯(cuò)誤在編譯階段就會(huì)被編譯器檢查出來(lái)。

    運(yùn)行時(shí)錯(cuò)誤只有在運(yùn)行時(shí)才會(huì)體現(xiàn)出來(lái),例如,在應(yīng)用程序過(guò)程中打開(kāi)了并不存在的文件,或者使用越界的指針等等。運(yùn)行時(shí)錯(cuò)誤可以在集成調(diào)試環(huán)境下通過(guò)設(shè)置斷點(diǎn)、單步跟蹤、添加監(jiān)視等方法來(lái)查找和排除。

    邏輯錯(cuò)誤是由于程序算法不完善而產(chǎn)生的運(yùn)行結(jié)果不符合程序設(shè)計(jì)功能的問(wèn)題,這一類(lèi)錯(cuò)誤比較難以檢查,一般需要通過(guò)監(jiān)視和檢查程序中數(shù)據(jù)的變化情況,來(lái)檢查錯(cuò)誤發(fā)生的位置。

    大多數(shù)初學(xué)C語(yǔ)言的學(xué)生在面對(duì)錯(cuò)誤提示時(shí),無(wú)從下手,不知錯(cuò)在哪里,如何修改。為了培養(yǎng)學(xué)生調(diào)試程序的能力,對(duì)于不同的錯(cuò)誤類(lèi)型采用不同的方式教學(xué)。對(duì)于語(yǔ)法錯(cuò)誤,我們將常見(jiàn)的錯(cuò)誤編成一個(gè)文檔提供給學(xué)生,供學(xué)生查閱,同時(shí)要求學(xué)生上機(jī)寫(xiě)程序時(shí)每個(gè)人都帶一個(gè)小本子和一支筆,當(dāng)程序出現(xiàn)語(yǔ)法錯(cuò)誤時(shí),記下英文錯(cuò)誤提示信息和解決相應(yīng)錯(cuò)誤的方法,用于積累經(jīng)驗(yàn),避免以后編程時(shí)再犯同樣的錯(cuò)誤或犯了錯(cuò)誤知道如何修改,此外,還布置程序改錯(cuò)題對(duì)學(xué)生進(jìn)行相關(guān)訓(xùn)練。對(duì)于運(yùn)行時(shí)錯(cuò)誤和邏輯錯(cuò)誤,我們?yōu)閷W(xué)生介紹了不同的調(diào)試方法,例如使用注釋程序的方法縮小錯(cuò)誤范圍,使用增加printf函數(shù)查看程序運(yùn)行中相關(guān)變量的變化,使用調(diào)試工具監(jiān)視和檢查數(shù)據(jù)變化情況來(lái)判斷錯(cuò)誤位置。此外,還設(shè)計(jì)了程序跟蹤調(diào)試的題目訓(xùn)練學(xué)生,讓學(xué)生在實(shí)際的操作中學(xué)習(xí)和領(lǐng)會(huì)調(diào)試工具及調(diào)試方法。以下是我們?cè)O(shè)計(jì)的有關(guān)調(diào)試練習(xí)的一個(gè)題目,該類(lèi)題可以實(shí)現(xiàn)計(jì)算機(jī)自動(dòng)評(píng)閱。

    4.程序優(yōu)化

    程序優(yōu)化指的是針對(duì)同一問(wèn)題的不同程序進(jìn)行比較、調(diào)整或修改,將程序變?yōu)檎Z(yǔ)句比較少、內(nèi)存占用量比較小、運(yùn)行速度比較快的程序。每一個(gè)學(xué)習(xí)程序設(shè)計(jì)的人都應(yīng)該了解程序優(yōu)化的一些常用方法和技巧。在課程中我們?yōu)閷W(xué)生介紹了一些程序優(yōu)化的原則(主要是運(yùn)行時(shí)間的優(yōu)化),還設(shè)計(jì)了一些程序優(yōu)化的題目讓學(xué)生練習(xí),在期末考試中也要考核,目的是使學(xué)生了解程序優(yōu)化的概念,具有程序優(yōu)化的意識(shí)。

    5.編程規(guī)范

    現(xiàn)在我們用的軟件都是規(guī)模相當(dāng)大的,非常熟悉的Windows操作系統(tǒng),Office辦公軟件,各種網(wǎng)絡(luò)管理軟件等,都是需要一個(gè)龐大的研發(fā)團(tuán)隊(duì)才能完成,如果沒(méi)有規(guī)范,那開(kāi)發(fā)出來(lái)的將是一堆電子垃圾,沒(méi)有任何用處;沒(méi)有成功的規(guī)范,一定沒(méi)有成功的軟件;大型軟件的成功并不是某個(gè)人的智力決定的,它是嚴(yán)格按照規(guī)范來(lái)生成的。

    有人說(shuō),印度十個(gè)人編程,會(huì)編出一樣的東西,而中國(guó)十個(gè)人編程可能會(huì)有十種風(fēng)格。因?yàn)槲覀兒雎粤艘粋€(gè)重要問(wèn)題,即“顧客”的感受,程序的編寫(xiě)是給別人看的,而不是只給我們自己看。因此,我們參考了業(yè)界比較推崇的一些編程規(guī)范,制定了適合C語(yǔ)言初學(xué)者使用的編程規(guī)范,目的在于培養(yǎng)學(xué)生良好的編程規(guī)范和意識(shí)、素質(zhì),促進(jìn)所設(shè)計(jì)程序安全、健壯、可靠、可讀與可維護(hù)。在課上我們強(qiáng)調(diào)和要求程序的可讀性、規(guī)范性等編程規(guī)范,在平時(shí)的作業(yè)和期末考試中,一個(gè)程序的得分由程序結(jié)果和編程規(guī)范兩部分決定,計(jì)算機(jī)會(huì)對(duì)程序結(jié)果和編程規(guī)范進(jìn)行評(píng)閱,程序中如果有3個(gè)或以上的規(guī)范錯(cuò)誤,該程序計(jì)為0分。

    6.程序設(shè)計(jì)

    程序設(shè)計(jì)課程就是要培養(yǎng)學(xué)生利用計(jì)算機(jī)分析和解決問(wèn)題的能力,學(xué)習(xí)怎樣用計(jì)算機(jī)的方式去思考和解決問(wèn)題。程序設(shè)計(jì)不是聽(tīng)會(huì)的,也不是看會(huì)的,而是自己練會(huì)的。學(xué)生只有在編寫(xiě)大量程序之后,才能獲得真知灼見(jiàn),找到感覺(jué),最后能運(yùn)用自如。因此,我們給學(xué)生提供了大量的上機(jī)練習(xí)時(shí)間,上機(jī)時(shí)我們將機(jī)房設(shè)置為實(shí)驗(yàn)環(huán)境,學(xué)生在限定的時(shí)間、限定的機(jī)房?jī)?nèi)完成老師布置的程序,并由計(jì)算機(jī)自動(dòng)評(píng)分,如果發(fā)現(xiàn)有錯(cuò),還可以根據(jù)提示反復(fù)修改提交。在實(shí)驗(yàn)環(huán)境下,由于無(wú)法使用U盤(pán)等外部設(shè)備、無(wú)法使用外網(wǎng),學(xué)生之間無(wú)法互相拷貝程序,每個(gè)學(xué)生都只能自己動(dòng)手,不可能依賴其他同學(xué),無(wú)法吃大鍋飯。

    除了上機(jī)實(shí)驗(yàn)課的編程,為了讓學(xué)生鞏固所學(xué),還布置了課后編程作業(yè),也是限定時(shí)間提交,計(jì)算機(jī)自動(dòng)評(píng)分。

    期末考核也采用全機(jī)考的方式,不考死記硬背的東西,考核學(xué)生程序設(shè)計(jì)、程序調(diào)試、查閱資料等能力,計(jì)算機(jī)自動(dòng)評(píng)分,對(duì)就是對(duì),錯(cuò)就是錯(cuò)。

    通過(guò)大量的編程練習(xí),學(xué)生編寫(xiě)程序及調(diào)試程序的能力普遍有了較大提高。

    三、結(jié)語(yǔ)

    “C語(yǔ)言程序設(shè)計(jì)”是一門(mén)重要的課程,對(duì)于零編程基礎(chǔ)的學(xué)生來(lái)說(shuō),同時(shí)又是一門(mén)困難的課程,為了上好這門(mén)課程,多年來(lái)我們一直致力于該課程的教學(xué)研究和改革,經(jīng)過(guò)多年的努力,我們的教學(xué)取得了良好的效果。

    參考文獻(xiàn):

    [1]譚浩強(qiáng).C程序設(shè)計(jì)(第四版)[M].清華大學(xué)出版社,2010.

    [2]李越輝.C語(yǔ)言程序的跟蹤與調(diào)試[J].東西南北(大學(xué)生),2007,2:38-41.

    [3]馬曉娟.淺析程序的優(yōu)化[J].電子制作,2014,11:89-90.

    [4]鄭秀雷.計(jì)算機(jī)教學(xué)過(guò)程中關(guān)于編程規(guī)范的一點(diǎn)思考[J].科教文匯,2011,30:53.

    [5]吳文虎,等.程序設(shè)計(jì)基礎(chǔ)(第3版)[M].清華大學(xué)出版社,2010.

    (作者單位:成都信息工程大學(xué))

    猜你喜歡
    程序設(shè)計(jì)模塊化
    模塊化自主水下機(jī)器人開(kāi)發(fā)與應(yīng)用
    基于模塊化控制系統(tǒng)在一體化教學(xué)中的應(yīng)用
    基于Visual Studio Code的C語(yǔ)言程序設(shè)計(jì)實(shí)踐教學(xué)探索
    模塊化住宅
    從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
    電子制作(2019年9期)2019-05-30 09:42:04
    ACP100模塊化小型堆研發(fā)進(jìn)展
    從模塊化中得到的二氧化碳
    模塊化VS大型工廠
    高職高專(zhuān)院校C語(yǔ)言程序設(shè)計(jì)教學(xué)改革探索
    OBE理念下基于Greenfoot的Java程序設(shè)計(jì)課程教學(xué)改革
    斗六市| 昆山市| 清水河县| 丽水市| 江油市| 电白县| 嵩明县| 会宁县| 辽中县| 宝山区| 寿光市| 治县。| 秦安县| 都江堰市| 琼海市| 卢龙县| 洪洞县| 新巴尔虎右旗| 马鞍山市| 丰县| 巫山县| 招远市| 万载县| 五河县| 沈阳市| 广东省| 丹寨县| 炎陵县| 灌阳县| 焦作市| 成武县| 汕尾市| 洞口县| 宝丰县| 平度市| 巴林右旗| 衡南县| 峨眉山市| 华阴市| 龙泉市| 云霄县|