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

應用型高校計算機相關專業(yè)C 語言教改研究

2020-08-21 01:01:24張連堂林樹青
現(xiàn)代計算機 2020年20期
關鍵詞:程序計算機語言

張連堂,林樹青

(廣州商學院,廣州511363)

0 引言

信息技術飛速發(fā)展,計算機語言層出不窮,但是C語言的地位一直無法撼動,它非常接近于機器語言,編譯質量、運行效率很高,任何其他高級語言無法比擬,所以不管用其他任何高級語言開發(fā)軟件,在核心的地方都會想到嫁接C 來“幫忙”。在大部分高等院校計算機相關專業(yè)的課程體系中,C 語言的身影一直存在。C語言的教學效果也一直備受關注,為了能使得剛剛踏入大學的學生對C 語言的學習取得更好的收獲,我們嘗試打破教科書的束縛,采取項目驅動教學法,具體做法如下。

1 語言與程序

作為大學第一門計算機語言課程,講授伊始,必須首先讓學生理解語言和程序的本質。好比導演引導演員入戲一樣,教師必須引導學生盡快進入“計算機語言”。

1.1 語言

語言是不同客體之間信息交流的工具。自然語言是人與人之間的交流工具;計算機語言是人和計算機之間的交流工具。一切語言的共性是傳遞信息,讓對方了解自己的意圖,不同語言的區(qū)別僅在于:單詞、語法、句型不同而已。由單詞按照一定的語法、句型所寫成的文章,用于處理實際問題的具體策略、方法步驟、實現(xiàn)過程等,實則程序,如表1 所示。

表1 自然語言和計算機語言對照表

不難看出,其實計算機語言并沒有什么新奇之處,自然語言的文章中每個段落講述一層意思,計算機語言的程序中每個函數(shù)實現(xiàn)一個運算、描述處理一個具體問題的方法步驟;一篇文章完成一個整體問題的描述,一個計算機語言程序完成解決一個工程問題的全部描述。

1.2 算法和運算

理解了語言和程序,接下來要讓學生學會在程序中如何處理實際問題。

(1)算法:一個程序實現(xiàn)的工程中涉及到很多具體的子工程,不能像寫繼續(xù)文一樣全部混合在一起設計,為了糾錯、維護(調試)方便,為了參與開發(fā)設計人員的分工、合作方便,很自然地把整個工程分解成為若干個具體問題,分而治之,程序員設計出的處理每一個具體問題的方法步驟叫做算法。

在此,要讓學生清晰的認識到算法已經不再是一個數(shù)學表達式,而是處理實際問題的方法步驟。不同的程序員面對同一個實際問題,所構思的算法可能截然不同,要讓學生認識到,日后的學習過程,以及未來工作中對算法的學習研究是非常重要的。

(2)運算:必須向學生闡明,運算已經不再狹義的指加減乘除等,對實際問題的每一步處理或者每一個操作,例如數(shù)據(jù)輸入、輸出、修改、插入、刪除、排序、查找等,都叫運算。同時,講授過程中必須澄清“運算”和“算法”的本質不同,運算是對數(shù)據(jù)的操作,算法是實現(xiàn)運算的方法步驟。

1.3 學習C語言的目的

C 語言作為大學計算機相關專業(yè)的入門語言,教學實踐告訴我們,其重要目的不在于讓學生學會用C語言設計一些簡單的程序。而是借助于C 語言的學習,教會學生學會編寫程序的方法和技巧。讓學生明確,所有計算機語言編寫程序的方法完全相同,只是語法、標識符存在差異,寫程序的策略不同。例如面向過程的程序設計語言和面向對象的程序設計語言。

同時,通過C 語言的教學過程,要教會學生如何觸類別通、舉一反三,對比C 語言,自己學習其他計算機語言。

實踐告訴我們,只要學過一門計算機語言,掌握了計算機的本質和程序設計的方法,其他語言就不必在專門研究。工程上,面對所開發(fā)軟件的特點,選定恰當?shù)恼Z言,研究該語言的基本功能和特點,即可在計算機上用該語言進行編程,遇到問題,在相關資料上去查解決辦法,這樣邊用邊學,很快就能對新的語言運用自如。

2 C語言的項目驅動法教學

2.1 方案構架

為了能真正實現(xiàn)通過C 語言教學,教會學生程序設計的方法,作者建議嘗試用項目驅動法組織教學,具體做法是:

緊扣C 語言教學內容,以結構式程序設計方法為框架,設計出幾個功能基本齊全、容易實現(xiàn)的模擬項目課題,如《學籍管理》、《圖書管理》、《車票訂購系統(tǒng)》等。并且寫出詳盡的“項目指導書”,包括項目的意義、實施方法、過程、目的、最終達到的目標效果等;可劃分為項目的需求分析、可行性分析,可操作性強的實施方案、實施日歷、項目效果評估等部分。實施方案部分是其重點,應由淺入深、由易到繁,清晰的分解出與C 語言程序設計知識內容體系逐步深入相對應的程序模塊。例如可按照功能分解為“輸入”、“輸出”、“修改”、“插入”、“刪除”、“查找”、“排序”等模塊。詳盡的寫出每一個模塊所對應的C 語言知識內容,對應用到的程序設計方法,實現(xiàn)技巧等。該“項目指導書”可作為學生們在學習C 語言知識的同時,實驗、實踐內容的指導性材料。講授課程之前先讓學生分組自主選擇“項目指導書”中所列項目中的任一個,形成多個項目開發(fā)實踐學習小組,伴隨C 語言知識的學習,以其作為實踐標的設計程序,課程結束,所做項目程序設計完畢,以期達到預期學習效果。

2.2 教學內容與驅動項目的對接

為了讓教學內容與項目程序設計的進度同步推進,我們把C 語言的教學內容分解成如下幾個部分。

(1)C 語言程序設計的基本知識

基本知識的講課,絕對不能在語法和規(guī)則上浪費時間,要明確的告知學生,絕對不能死記硬背語法規(guī)則,不能只在書本上研究計算機語言,要在計算機上邊實踐邊學習,最好的方法是,整個教學過程離開講臺在計算機旁進行。讓學生明白:計算機語言不是讀書學會的,是在編程實踐中練會的,書本知識參考資料,是在編程序過程中備查的,不是用來研學的。只讀書、不實踐,理論知識倒背如流亦不會寫程序,這一點正是目前不少學生學始終學不會編程的根本問題。只有在計算機上的實際編程、調試、糾錯、修改、升級等一系列的實戰(zhàn)訓練。才能真正領悟用計算語言編寫程序的方法。才能做到在編程過程中面對實際問題,靈活運用計算機語言,寫出相應的處理程序段。

課程伊始,主要概述C 語言的總體內容,以及C 語言的特點、C 語言程序設計的最基本的方法等[1]。同時對照、結合“項目指導書”向學生闡明如何結合C 語言知識的學習過程逐步完成項目的軟件開發(fā)。

接下來在講授“順序結構”、“分支結構”、“循環(huán)結構”等基本程序設計方法的過程中,每講授一部分內容,就讓學生以小組為單位對其所選項目由淺入深的進行編程實踐。例如,學完當前知識,就可用少量模擬數(shù)據(jù)實現(xiàn)所選項目中的“輸入”、“輸出”、“修改”、“插入”、“刪除”等簡單功能。

(2)數(shù)組和字符串

前面的教學和實踐,明顯發(fā)現(xiàn)所處理的數(shù)據(jù)量極其有限,明確告訴學生,面對大批量數(shù)據(jù),設計變量一一對應極不現(xiàn)實,力不從心,繼而引入數(shù)組的概念,結合循環(huán)結構用數(shù)組作為數(shù)據(jù)的宿主,輕松實現(xiàn)批量數(shù)據(jù)的處理;至此,學生們很快就能把先前所設計的程序擴展為批量數(shù)據(jù)處理。同時,順理成章的可讓學生設計相應的算法完成對應項目程序中的“查找”、“排序”功能。

這部分內容,要讓學生理解數(shù)組的本質是順序存儲結構,邏輯上相鄰的數(shù)據(jù)元素(例如學籍表中不同學生同一門課的成績),在計算機內存儲器中的存放位置也是相鄰的,先后關系由數(shù)組的下標來決定,只要給定一個下標位置,就能很容易的找到對應的數(shù)據(jù)。優(yōu)點是查找、輸入輸出方便,缺點是插入、刪除時需要移動數(shù)據(jù),安全性差。字符串實質上是元素都是字符的特殊的數(shù)組,學生接受很容易,在此不再贅述。

(3)函數(shù)

函數(shù)是包括C 語言在內所有語言學習的重中之重。結合課題項目,從結構上剖析前面所設計程序的缺點:實現(xiàn)方法簡單、不能分解問題、思路不清晰。繼而引入,可以用函數(shù)的方法,把復雜問題分解成一個個小的具體過程,每一個過程寫成一個函數(shù),由主函數(shù)統(tǒng)一調度協(xié)調,實現(xiàn)結構化程序設計,讓后續(xù)的維護變得輕松而容易。

函數(shù)的講授重點在于參數(shù)的本質意義,及其數(shù)據(jù)傳遞方式方法,只有讓學生真正掌握“形式參數(shù)”、“實在參數(shù)”、“數(shù)值引用”、“地址引用”等概念[2],才能恰當選用參數(shù)、自如的設計函數(shù),讓程序中函數(shù)間的數(shù)據(jù)傳遞有條不紊,最大限度的減少數(shù)據(jù)冗余、減少程序代碼冗余,設計出時間效率和空間效率雙優(yōu)的程序。

任何函數(shù)都只有的“數(shù)值引用形式參數(shù)”、“地址引用形式參數(shù)”兩類,是函數(shù)內部與外部數(shù)據(jù)傳遞的接口,在語言的學習中,它顯得很抽象,可以用實例形象講授:一個函數(shù)“首部”好比一個公司的“大門”,參數(shù)表的變量如同“門衛(wèi)”人員,公司可設置了兩類“門衛(wèi)”,一類“門衛(wèi)”等候接受外來的材料(數(shù)據(jù)),材料可以是外人送來的,也可以是沒人送而郵寄來的,“門衛(wèi)”人員帶上外部材料進入公司內參與處理,哇哎不即使有人來業(yè)拿不走內部材料,這些數(shù)據(jù)“有來無回”,這就是參數(shù)表中的“數(shù)值引用形式參數(shù)”;另一類“門衛(wèi)”不是真正守候在此的“人員”,只是把“工作服”放在那里,等候“外來人員”穿上這些工作服,進入公司內部參與各種活動,最后他們走時自然可以把內部數(shù)據(jù)帶走,數(shù)據(jù)“有來有回”,這類“門衛(wèi)”等同于函數(shù)的“地址引用形式參數(shù)”。這樣的比喻可讓學生非常輕松的掌握抽象的“參數(shù)”概念。

學完函數(shù),鼓勵學生徹底修改自己所做的項目程序,把每一個功能模塊寫成一個獨立的函數(shù),讓學生自然而然的學會結構化程序設計的方法。

(4)指針、結構體和共同體

在設計程序的過程中,學生們一定非常困惑一個數(shù)組中的數(shù)據(jù)必須是同構的,很難實現(xiàn)對于學籍表、圖書信息,等工程實踐中的數(shù)據(jù)。因為,每個數(shù)據(jù)中的各個成分不是同構的,諸如姓名、編號、日期等等,迫切的想學會解決方法,結構體的學習讓學生們眼前一亮。

講授指針,要讓學生清晰的了解,指針變量保存的是存儲器的地址,通過記憶地址,能夠讓邏輯上相鄰的數(shù)據(jù)元素在計算機內存儲器中位置任意,數(shù)據(jù)元素之間的關系由直接先驅數(shù)據(jù)記憶其直接后繼的地址來確定。不僅僅可以克服用數(shù)組順序存儲批量數(shù)據(jù)時,插入、刪除運算移動數(shù)據(jù),效率低、安全性差的缺陷。同時,通過指針實現(xiàn)的數(shù)據(jù)動態(tài)存儲還能自然達到數(shù)據(jù)加密的效果。

需要強調的是,對于結構體和指針的教授絕對不能輕描淡寫,要結合計算機硬件,從物理意義上講授;結合項目課題從實際意義上講授,讓學生真正掌握其本質,在實踐中靈活運用。同時為后繼知識的學習打下扎實的理論基礎。例如,學不會指針和結構體,諸如數(shù)據(jù)結構之類課程的教學就寸步難行[3]。

至此,借助于C 語言面向過程的結構化程序設計知識已經基本學完,可綜合起來,讓學生對自己所設計項目程序中的數(shù)據(jù)用結構體和指針進行完善定義,逐步改進其功能。

(5)位運算和文件

不少人認為,位運算以及文件都可以省略不講,我們認為不盡然。對于偏硬的計算機相關專業(yè),文件部分可以省略,但是必須讓學生學會位運算,因為用C 語言代替匯編語言對芯片編程時,位運算極其重要。對于偏軟的計算機相關專業(yè),位運算可以省略,但是文件不能不講,例如,我們項目驅動教學法中的程序設計,如果不把數(shù)據(jù)通過文件保存到外存中,所有處理都是無效的,因為離開文件,所有對數(shù)據(jù)的處理都是在內存中進行的,程序之行結束,一切數(shù)據(jù)全部消失,這一點必須向學生明確闡述。

我們建議,文件部分著重講授二進制文件和文本文件的處理方法,其他可以略去,其一,無論什么性質的文件都是以二進制形式正在外存中保存;其二,很多便于閱讀的數(shù)據(jù)都是以文本文件格式實現(xiàn)的。

3 課程的考核

基于項目驅動法的特點,學生在學習C 語言程序設計知識的過程中,步步實踐,課程結束,項目程序也相繼完成。第一,讓學生在平時設計程序的過程中,寫出每一環(huán)節(jié)的開發(fā)文檔,期末以其所設計項目程序的水平和所寫開發(fā)文檔的質量作為考核內容給出恰當?shù)脑u價,遠比閉卷書面考試為主的考核方法更為有效。

4 結語

項目驅動法組織C 語言教學,變實驗為實踐,有的放矢,學生們的學習目標明確,每學完一部分語言知識,立即結合項目程序的設計進行應用體驗,成就感會使他們受到極大地鼓舞,可最大限度的調動其學習的積極性和主動性,很容易把剛進大學的新生引入程序設計的“趣味天堂”,使他們深深體會到學習程序設計的樂趣和重要性。徹底克服以往C 語言的教學中,講完理論,做驗證性實驗,學生學無目的、迷茫,教學效果很不理想。以至于不少學生剛進大學,就因為C 語言的學習混沌,喪失對程序設計的信心。

筆者認為,C 程序設計課程在整個計算機相關專業(yè)教學過程中,起著關鍵性作用。它的成敗,很大程度上影響到學生的學業(yè)成敗,這就叫“成也蕭何敗也蕭何”。這就是我們探究徹底改革其教學方法的目的所在。

猜你喜歡
程序計算機語言
計算機操作系統(tǒng)
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
基于計算機自然語言處理的機器翻譯技術應用與簡介
科技傳播(2019年22期)2020-01-14 03:06:34
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
讓語言描寫搖曳多姿
信息系統(tǒng)審計中計算機審計的應用
消費導刊(2017年20期)2018-01-03 06:26:40
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
累積動態(tài)分析下的同聲傳譯語言壓縮
創(chuàng)衛(wèi)暗訪程序有待改進
主站蜘蛛池模板: 亚洲一区免费看| www.91在线播放| 农村乱人伦一区二区| 国产91视频免费观看| 国产激情影院| 亚洲无码高清视频在线观看| 亚洲精品成人福利在线电影| 一级爆乳无码av| 波多野结衣无码中文字幕在线观看一区二区 | 久久久精品无码一区二区三区| 午夜国产大片免费观看| 91精品专区国产盗摄| 国禁国产you女视频网站| 亚洲精品中文字幕无乱码| 国产精品久久久久无码网站| 午夜在线不卡| 欧美成人精品在线| 1769国产精品视频免费观看| 精品一区二区三区视频免费观看| 午夜无码一区二区三区| 毛片网站观看| 无码福利日韩神码福利片| 美女毛片在线| 欧美激情视频一区| 日日噜噜夜夜狠狠视频| 国产亚洲视频播放9000| 欧美精品成人一区二区视频一| 日韩毛片在线视频| 国产精品无码制服丝袜| 波多野吉衣一区二区三区av| 国产尤物视频在线| 国产精品开放后亚洲| 91在线精品免费免费播放| 欧美丝袜高跟鞋一区二区| 国产精品免费久久久久影院无码| 欧美亚洲一二三区| 性视频久久| 伊人网址在线| 中文字幕av无码不卡免费| 无码一区二区三区视频在线播放| 久久人体视频| 露脸国产精品自产在线播| 香蕉99国内自产自拍视频| 亚洲视频影院| 亚洲伊人久久精品影院| 亚洲最新网址| 99er这里只有精品| 波多野结衣中文字幕一区二区| 精品一区二区三区无码视频无码| 国产精品视频观看裸模| 国产精品无码AⅤ在线观看播放| 黄色污网站在线观看| 精品国产91爱| 欧洲精品视频在线观看| 天堂亚洲网| 国产成人精品一区二区三区| 欧美成人精品高清在线下载| 欧美国产综合视频| 国产在线啪| 日韩高清一区 | 四虎AV麻豆| 中文字幕永久在线观看| 91在线无码精品秘九色APP| 色悠久久综合| 久久这里只有精品23| 国产在线视频福利资源站| 亚洲乱伦视频| 亚洲色图综合在线| 乱人伦中文视频在线观看免费| 激情无码字幕综合| 在线免费观看a视频| 97视频免费看| 婷五月综合| 国产毛片高清一级国语| 亚洲精品国产成人7777| 色哟哟国产精品一区二区| 国产美女久久久久不卡| 国产性猛交XXXX免费看| 国产精品女熟高潮视频| 高清乱码精品福利在线视频| 国产欧美日韩一区二区视频在线| 亚洲国产第一区二区香蕉|