999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

程序設計訓練課程教學方法探索

2021-01-03 07:13:14楊曉波王勇梁燕黃宏程
中國新通信 2021年20期
關鍵詞:模塊化

楊曉波 王勇 梁燕 黃宏程

【摘要】? ? 針對學生在程序設計訓練課程的學習過程中普遍存在的問題,提出在教學過程中要強化調試能力的訓練、引導學生模塊化編程、規(guī)范編程習慣、訓練閱讀代碼的能力,使學生的編程能力明顯增強。

【關鍵詞】? ? C語言? ? 程序調試? ? 模塊化? ? 規(guī)范化編程

一、程序設計訓練課程簡介

在 “軟件定義一切”的大背景下,通信與信息大類專業(yè)涉及了信息科學、計算機、數(shù)學等交叉專業(yè),其就業(yè)市場不僅要求學生掌握通信領域的專業(yè)知識,而且對學生通信軟件編程能力也提出了更高的要求[1]。鑒于此,在第一學期的下半期,為通信與信息大類學生開設了程序設計訓練這門必修課程,其先修課程是C語言程序設計。程序設計訓練課程旨在學生具有C語言基礎知識的基礎上,加強C語言編程應用能力的訓練,以助于后續(xù)更好地學習數(shù)據(jù)結構與算法等課程。

本課程以專題的形式進行內容設計,包含的5個專題都來自于生活或者通信專業(yè)涉及到的一些簡化實例,以期激發(fā)學生的編程興趣。老師授課時可選取其中2-3個專題進行訓練,注重培養(yǎng)學生的編程思維和編程方法,提高學生用計算機解決問題的能力,為后續(xù)進一步學習編程相關類課程打下必要的理論基礎。

二、存在的主要問題

該課程相對于其他應用性課程來說,實踐性很強,學生普遍反映掌握起來比較難。通過對學生的觀察,發(fā)現(xiàn)主要存在以下問題:

2.1 缺乏規(guī)范性編程習慣

很多學生在進入大學后才接觸編程學習,往往注重語言本身的學習,而忽視了規(guī)范性編程習慣的培養(yǎng)[2],導致在編程時,變量、函數(shù)、文件等的命名隨心所欲,程序段層次不清晰,缺乏注解,程序可讀性不強等等。在編寫小程序段時,這些不良習慣影響不大,但當程序段稍微復雜時,就會引起很大的問題。

2.2 缺乏代碼調試能力

編譯系統(tǒng)主要是語法上的檢查,無法檢查代碼邏輯上的錯誤,而這些邏輯上的錯誤往往可以通過調試來發(fā)現(xiàn)。因此代碼調試能力是編程能力的重要體現(xiàn)?!罢{試”功能需要在建立工程的環(huán)境下才能實現(xiàn)。但學生在先修課程C語言課程上,由于平時編程練習的是一個個只具有簡單功能的小程序,普遍采用建立單個源文件的方式編寫代碼,很少采用建立“工程”的方式進行項目開發(fā),因此無法進行代碼調試。本課程中的每個專題都有較多需求,需要實現(xiàn)多個功能,代碼量相對較大。當遇到編譯通過而程序邏輯功能有問題時,不會調試代碼的學生就會感覺茫然無措。

2.3 過分依賴指導書,學習自主思考不足

該課程配備的實驗指導書為每個專題都附上全部源碼,希望學生掌握代碼分析和閱讀的方法,并掌握通過修改程序實現(xiàn)既定目標的方法。但學生在實際的學習過程中,雖然也讀懂了代碼,也能畫出程序框架,但往往受限于指導書而寫不出自己的代碼。因此需要老師采取有效的措施引導學生利用好指導書。

三、采取的措施

在程序設計訓練課程的教學過程中,老師要特別注重引導學生進一步理解編程思想,培養(yǎng)良好的編程習慣,提高運用計算機分析問題和解決問題的能力。

3.1 強化程序調試和排錯能力的訓練

將第一次課程用來訓練學生的程序調試和排錯能力,讓學生熟悉項目結構以及文件布局,掌握通過調試工具跟蹤程序運行并進行代碼分析、Bug排除等技能。例如,在第一次課上,老師要求學生在新建的目錄下創(chuàng)建一個新的C代碼空工程,并將老師編寫好的1個C文件和兩個. h文件分別拷到在該工程目錄下新創(chuàng)建的src、include文件夾下,同時將這3個文件添加到新創(chuàng)建的工程中,然后進行編譯。由于老師在代碼中故意設置了錯誤,編譯無法完成。這時老師就引導學生怎樣通過閱讀系統(tǒng)提示進行代碼的修改。當代碼調試通過后,再要求學生采用單步、斷點等調試手段,配合Debug? windows下的Watches和Memory Dump查看變量和內存值。

此外,在后續(xù)的編程過程中,要求學生遇到編譯方面的錯誤,首先自己設法排除;遇到邏輯方面的問題,先自己通過單步/斷點等調試手段看能不能解決。通過這一系列的訓練,學生的調試能力和排錯能力得到了明顯提高。此外,通過這一過程,學生對怎樣進行文件布局有了一個初步認識,為后續(xù)進行多文件編程打下基礎。

3.2采用模塊化思想,循序漸進引導學生進行項目開發(fā)

這部分是課程教學中最重要的內容,下面以“通信錄的開發(fā)”專題為例進行闡述。本專題的需求是用C語言設計并開發(fā)一個簡單的通訊錄管理程序,要求能夠實現(xiàn)通訊錄的增加、刪除、修改、查詢、存儲和導入等功能。

本專題涉及程序設計框架、程序模塊劃分、跨文件函數(shù)調用、輸出/輸入、文件操作、字符串操作、數(shù)組、結構體、指針等多項知識。本專題任務量較大,需要老師采取有效的引導方法,用好指導書,讓學生形成良好的編程習慣,從而增強編程能力。

1.首先引導學生進行需求分析,把需求細化出來;之后指導學生進行程序代碼框架的設計,建立框架的概念,引導學生進行主界面的設計。在這一階段,只需要設計出“通信錄”的框架,通過編寫空殼函數(shù)(例如寫一個最簡單的輸出語句),調試系統(tǒng)邏輯功能是否能實現(xiàn)。在這一過程中,要讓學生明白,在進行代碼設計時,主函數(shù)要干凈,功能用子函數(shù)操作,重復的功能要用函數(shù)實現(xiàn)。

2.然后再對模塊逐個突破、先易后難。首先設計添加和刪除、查詢模塊,掌握數(shù)組、循環(huán)等操作;導入通信錄和保存通訊錄模塊涉及文件的讀寫操作,這部分知識學生還未學習,這時可以給學生布置預習作業(yè),自學文件相關基礎內容,并完成幾個基本的文件讀寫編程練習?;氐秸n堂后,老師對關鍵內容進行講解和分析,這時學生就具備了基本的文件讀寫能力,可以選擇一種適合的文件讀寫方法完成上述模塊的編寫。

3.改寫代碼,用“多文件編程”方式實現(xiàn)。當學生已經(jīng)把“通信錄”功能基本實現(xiàn)后,會發(fā)現(xiàn)所有的代碼都寫在同一個源文件中,代碼很長,不利于調試并發(fā)現(xiàn)問題。這時,老師以第一次課程中的示例文件為例,引出“模塊化多文件編程”的思想,并要求學生改寫代碼,采用“多文件編程”方式實現(xiàn)。通過改寫代碼的過程,學生會深刻體會到通過多文件編程,程序脈絡結構會更加清楚,也更易于維護,同時也利于代碼的重復利用,從而提高編程效率[3]。

3.3規(guī)范編程習慣

從進入第一次課開始,老師就要給學生建立規(guī)范編程的意識。在第一次課上,給學生講解基本的編程規(guī)范,例如怎樣給變量和文件命名、怎樣進行注解、怎樣合理使用各種變量、怎樣使用預編譯方式等,并將規(guī)范編程的要求貫穿整個課程。老師可以采用案例教學的方式,參考企業(yè)編程規(guī)范,逐步培養(yǎng)學生良好的編程素養(yǎng)。例如,定義文件名、函數(shù)名和變量名時,要見其名知其意,不要用毫無意義的a、b、c之類的定義,要用英文,不要用拼音[2];盡量不要用全局變量;要注意include的路徑問題;應學會函數(shù)之間傳參數(shù)等。編程初學者特別要注意的一個問題是盡量不要用goto語句。在授課過程中發(fā)現(xiàn)很多學生喜歡用goto語句,覺得簡單、方便,甚至嵌套、穿插使用,在代碼中隨意跳躍,整個代碼邏輯非?;靵y,可讀性很差,甚至出現(xiàn)死循環(huán)。這實際體現(xiàn)了學生未形成良好的編程思維,不能對代碼進行清晰的流程控制。老師一定要進行糾正,指導學生修改語句,例如用條件或循環(huán)語句、用break、continue或return等,來清晰地聲明代碼執(zhí)行到此處的后續(xù)行為。老師可以在教學過程中逐步積累不規(guī)范的編程案例,通過案例分析的方式對學生的編程習慣進行指導。

3.4訓練學生閱讀代碼的能力,然后借鑒并提高

在教學過程中,不要求學生一開始就去讀代碼,而是首先設計出整體框架,再對每個模塊進行具體設計。同時,在進行整體框架設計和每個模塊具體設計過程中,引導學生分析設計需求,建立設計思路,并引導學生嘗試用已有的知識自己寫出代碼后再參考指導書,這樣學生就能有的放矢地分析參考代碼的優(yōu)劣,并吸收可取之處。此外,還要注重學習借鑒優(yōu)秀的程序架構設計。同時,對于借鑒的代碼不是簡單的搬過來,一定要消化。例如,對于借鑒的程序中一些不理解的地方,要深鉆細研,最好能在調試中進行閱讀,并舉一反三,從而達到理解并能進一步靈活應用的目的。

四、結束語

在程序設計訓練課程的教學過程中,老師注重對學生編程思想、編程習慣的培養(yǎng),訓練學生模塊化的設計方法,培養(yǎng)學生利用調試工具跟蹤程序的動態(tài)變化并分析程序邏輯的能力,有助于使學生具備一定的規(guī)范編程的習慣,也通過項目的實現(xiàn),讓學生增加成就感,提高編程學習的興趣。同時,通過指導學生如何學生閱讀代碼、查詢資料、參考別人的代碼,培養(yǎng)學生的代碼閱讀能力和分析能力。此外,本專題中涉及的部分知識,在C語言課程中可能還未涉及或即使學習也沒有進行強化練習。學生在本課程中通過大量的預習和自學,養(yǎng)成了一定的自主學習的習慣,這也是一個編程人員非常重要的素質。在老師的有效引導下,學生通過該課程的學習,可以明顯增強C語言編程能力,并為后續(xù)的軟件課程打下堅實的基礎。

參? 考? 文? 獻

[1]王勇,楊曉波,楊小龍,等.淺談新工科背景下通信軟件課程教學改革[J].當代教育實踐與教學研究.2020(15):337-338.

[2] 尹波.“非計算機”理工科專業(yè)C++程序設計教學研究[J].科教文匯.2020(16):89-90

[3]華玉明.51單片機C語言模塊化多文件編程方法探討[J].吉林廣播電視大學學報.2014(10):11-12.

[4]曾帥,王中瑩.提升通信軟件基礎課程學生編程創(chuàng)新能力的研究[J].現(xiàn)代計算機.2016(18):39-41.

[5]王娟,孔宇彥,黃培泉,等.程序設計基礎課程混合式教學模式改革的研究與實踐[J].現(xiàn)代計算機.2021(20):113-117

[6]匡春臨,蔣勝利.引入計算思維的“C程序設計”教學研究與實踐[J].教育教學論壇.2020(24):363-364.

[7]元澤懷,李麗芳.單片機工程項目C語言編程規(guī)范實踐教學研究[J].肇慶學院學報.2020(2):32-36.

[8]黃曉峰.論單片機課程教學中C語言編程的規(guī)范性[J].科教導刊. 2015(23):127-128.

猜你喜歡
模塊化
模塊化自主水下機器人開發(fā)與應用
基于模塊化控制系統(tǒng)在一體化教學中的應用
模塊化住宅
馬勒推出新型模塊化混動系統(tǒng)
考慮模塊化和退貨率的供應鏈大規(guī)模定制模型
ACP100模塊化小型堆研發(fā)進展
中國核電(2017年2期)2017-08-11 08:00:56
從模塊化中得到的二氧化碳
模塊化VS大型工廠
非模塊化設計四合一爐對流室的模塊化吊裝
機械制造技術模塊化教學改革研究
主站蜘蛛池模板: 欧美国产视频| 欧美笫一页| 波多野结衣一区二区三视频 | 亚洲AV无码不卡无码| 免费毛片a| 欧美精品亚洲精品日韩专| 成人久久精品一区二区三区| 久久精品国产在热久久2019| 爱色欧美亚洲综合图区| 另类专区亚洲| 永久免费精品视频| 国产麻豆91网在线看| 成人毛片免费观看| 国产精品免费福利久久播放| 免费人成视网站在线不卡| 国产人成网线在线播放va| 色综合中文| 永久成人无码激情视频免费| 久久这里只有精品2| 亚洲激情99| 国产在线小视频| 欧美精品1区2区| 一区二区三区在线不卡免费| 久久婷婷国产综合尤物精品| 国产精品刺激对白在线| yy6080理论大片一级久久| 夜夜爽免费视频| 日本免费福利视频| 精品国产乱码久久久久久一区二区| a毛片免费观看| 67194成是人免费无码| 国产精品漂亮美女在线观看| 又大又硬又爽免费视频| 国内精品伊人久久久久7777人| 成人一级黄色毛片| 亚洲成人免费在线| 天天综合网亚洲网站| 免费一级毛片不卡在线播放| 久草性视频| 亚亚洲乱码一二三四区| 成人免费视频一区二区三区| 欧美亚洲日韩中文| 九九线精品视频在线观看| 久久国产高潮流白浆免费观看| 国产幂在线无码精品| 无码AV动漫| 国产午夜在线观看视频| 五月婷婷伊人网| 欧美无遮挡国产欧美另类| 99免费视频观看| 精品一区二区三区波多野结衣| 天天视频在线91频| 一级成人a做片免费| 精品视频福利| 亚洲另类色| av在线人妻熟妇| 欧美精品在线看| 五月天久久综合国产一区二区| 午夜电影在线观看国产1区| 久久综合亚洲鲁鲁九月天| 国产爽妇精品| 国产精品入口麻豆| 91精品国产一区自在线拍| 青青青国产免费线在| 国产精品一区二区在线播放| 亚洲AⅤ永久无码精品毛片| 国产亚洲欧美日韩在线观看一区二区 | h网址在线观看| 欧美国产菊爆免费观看| 亚洲制服丝袜第一页| 亚洲成肉网| 宅男噜噜噜66国产在线观看| 欧美一道本| 精品国产自在在线在线观看| 视频国产精品丝袜第一页| 国产黑丝一区| 婷婷色婷婷| 国产成人凹凸视频在线| 国产最新无码专区在线| 2021国产v亚洲v天堂无码| 亚洲欧美h| 亚洲美女一级毛片|