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

?

自動化專業(yè)“C語言程序設計”教學思考

2013-03-24 09:56:04吳云潔
電氣電子教學學報 2013年6期
關鍵詞:C語言程序設計C語言計算機專業(yè)

鄭 征,吳云潔

(北京航空航天大學自動化科學與電氣工程學院,北京100191)

C語言功能豐富、表達能力強,而且使用靈活方便。目前,“C語言程序設計”課程已經(jīng)成為自動化專業(yè)的必修課。然而,如何將C語言程序設計的教學原則和方法有效地融入自動化專業(yè)相關背景和問題中,進而對“C語言程序設計”課程教學進行改革是迫切需要研究和實踐的。

在自動化專業(yè)中開設“C語言程序設計”課程和在計算機專業(yè)中開設相比,有以下特點:①學生此前沒有學過其它程序語言;②在“C語言程序設計”課程結(jié)束之后,后續(xù)課程通常不開設“數(shù)據(jù)結(jié)構”和“算法理論”等;③和計算機專業(yè)學生相比,本專業(yè)學生參加程序設計和編碼等實際項目的機會較少。

1 教學工作中遇到的問題

在自動化專業(yè)中開設“C語言程序設計”課程,由于教材編寫、課程自身特點、教學培養(yǎng)體系和學生知識結(jié)構等原因,目前教學工作面臨如下諸多問題。

1.1 學生對課程背景的認識問題

很多學生誤認為C語言是一種老語言,以后根本用不上。然而,有的學生在學習后發(fā)現(xiàn),在實際環(huán)節(jié)中對于常用的C++,C#等編程語言還未掌握,對于新的編程環(huán)境(例如Visual Studio 2010等)仍然不會使用。學生平時在使用電腦時面對的都是成熟的商用程序,看著教材中及自己在實驗中編寫的簡陋的命令行程序,缺乏成就感。

1.2 課程內(nèi)容設置問題

(1)部分課程內(nèi)容脫離實際。C語言教學中語法知識非常多,課本上的實例講解和上機實驗也都是在驗證一些語法知識,不能使學生認識C語言的實用性。

(2)對于實際程序編寫中一些重要的內(nèi)容缺乏講授。例如,較少講授正確的編程風格和思想。比如:保持代碼的可讀性(自解釋的變量名、縮進、注釋和不過分依賴運算優(yōu)先級等)、模塊化思想及代碼重用等等。另外,對于編碼中最重要的調(diào)試過程也僅作一般性介紹。

(3)缺乏對經(jīng)典的算法和數(shù)據(jù)結(jié)構的介紹,導致學生在了解了基本的語法之后,面對實際問題往往不能取得較好解決方案。

1.3 教材與課件編寫問題

現(xiàn)有的“C語言程序設計”教材沒有區(qū)分不同專業(yè)的特點和需求。大多是為計算機專業(yè)設計的,導致非計算機專業(yè)學生在學習過程中產(chǎn)生很多問題。因為自動化專業(yè)中沒有設置“數(shù)據(jù)結(jié)構”、“算法設計”和“編譯原理”等課程。而目前C語言教材中對于編譯和鏈接等過程沒有提及或僅做簡單介紹,因此讓學生對于程序的產(chǎn)生過程比較模糊。特別是當編程鏈接過程出錯時,學生不知道如何修改程序來解決。

1.4 教學計劃安排問題

在非計算機專業(yè)中對于“C語言程序設計”計劃的學時相對較少,內(nèi)容多和實驗環(huán)節(jié)要求高等矛盾比較突出。

除此之外,目前的考試更關注于在紙上寫代碼或者考察語法知識,對于調(diào)試、測試以及缺陷檢測等實踐中更重要的內(nèi)容缺乏檢查,而實際上很難寫出可以運行的程序。

2 遵循的原則和采取的措施

2.1 深入剖析課程內(nèi)容

C語言中的定義和語法比較多,學生難以理解和記憶。因此,教師在備課中要注意由這些定義和語法所構筑的知識體系結(jié)構性,在授課過程中隨時引導學生關注它們的核心概念和基本構建思路。同時,通過查閱不同版本教材中對同一定義的不同敘述方式,找出一種最能使學生接受的定義方式。對于一些比較難且未來使用較少的知識,例如進制轉(zhuǎn)換、補碼表示和指針運算等,建議省略。

2.2 加深對C語言的認識

“C語言程序設計”的教學目的是使學生掌握C語言的基本語法、語句、控制結(jié)構以及結(jié)構化程序設計的基本思想和方法,使學生認識到算法、良好的程序設計風格以及實踐在本課程學習中的重要性,培養(yǎng)學生熟練使用高級語言分析和解決問題的能力。更重要的是通過它作為嚴謹?shù)剡\用公理系統(tǒng)進行演繹思維訓練與普通數(shù)學相平行的另外一種思維方法的訓練,這能從根本上提高學生解決問題的能力。

2.3 加強教學平臺建設

“C語言程序設計”課程內(nèi)容抽象,多樣化教學方式非常重要。雖然目前針對C語言的教學平臺有很多[1-3],但大多局限于教學管理、試題庫和講義庫等層面,難以實質(zhì)上提高教學效果。

國外對于類似計算機語言教學平臺的建設頗為有效。美國斯坦福大學有一個基于Java的教學平臺,用于講授“編程方法學”[4]。這個平臺里,有一個叫Karel的機器人。學生可以給機器人編寫Forward和Right等命令,控制機器人在地圖上的行動,整個行動過程由一個窗口顯示出來。在地圖上,設有各種各樣的障礙。在編程過程中,教師帶領著學生,用if,for,while等語句,加上基本的移動命令,可以幫助機器人克服障礙到達終點。這樣,學生不僅從一個較高的層次展示了編程的魅力,而且還順便學會了各種分支語句。

我們也計劃建立一個類似的教學平臺,展露出一些高層的應用程序編程接口(API),在課堂上進行調(diào)用,和學生互動解決一些問題。這樣一個平臺能暫時掩蓋底層那些繁瑣的細節(jié)(如繪制窗口等),關注于編程思想本身。

2.4 培養(yǎng)學生學習主動性

為了培養(yǎng)學生的學習主動性和學習興趣,很重要的一條是讓學生知道所學到的知識怎么應用。因此,教師在課程的講授過程中應該穿插一些相關知識,例如軟件開發(fā)的基本過程、用計算機求解實際問題的基本過程、常見的數(shù)據(jù)結(jié)構以及算法的概念和描述方法等。除此之外,要注重讓學生掌握結(jié)構化程序設計的基本思想和方法,而不需要過多的注重具體的語法。

我們認為在“C語言程序設計”課程的教學過程中,在講解分析語法的基礎上結(jié)合本學科應用非常重要的,適當穿插介紹一些知識點在自動化專業(yè)中的應用,讓學生充分認識到C語言程序設計與自動化科學的密切關系。例如在部分章節(jié)的講述中,通過比較引入對Matlab及其相關語言的介紹。同時,適時地將最新研究成果引入教學過程(例如機載軟件自動化調(diào)試技術),將授課內(nèi)容與實際的科研項目緊密聯(lián)系,既可以使授課內(nèi)容更加全面。

2.5 采用啟發(fā)式和多樣化教學

“C語言程序設計”課程中有很多定義、語法以及程序片段,對學生而言,很容易產(chǎn)生畏難情緒。因此在講課時,我們要用啟發(fā)式教學,要多使用例子來講解和分析復雜多樣的概念和規(guī)則,從計算機存儲或者編譯等角度來解釋為何需要這樣的語法格式。同時,通過課堂和課后練習讓學生漸進地掌握這些概念和規(guī)則,領會它們與所學專業(yè)的關系。

我們在課堂上,對于抽象的東西應該形象、直觀地進行講解,對于關系復雜的內(nèi)容應注意其條理性,對于易于混淆的內(nèi)容宜盡量采用對比法加于區(qū)別,作到化難為易。例如,在主流的程序語言中僅需要利用分支語句、循環(huán)語句和函數(shù)調(diào)用再輔以結(jié)構體就可以解決大部分問題。因此,這些基本內(nèi)容應當作為重點來介紹語法規(guī)則和設計思想,而對運算符的優(yōu)先級等細節(jié)問題應當盡量縮減課時。

“C語言程序設計”課程內(nèi)容抽象,在教學過程中,多樣化教學方式非常重要。部分授課內(nèi)容可以編寫實際運行的程序,有助于知識的消化和理解。此外,要注意圖示化方法在教學過程中的使用。

2.6 重視實踐環(huán)節(jié)

學習“C語言程序設計”的目的是為了讓學生遇到實際問題時具有良好的程序設計和編碼能力。因此,在C語言程序設計課程的部分章節(jié)中,應該由項目引出教學內(nèi)容,在學習基礎理論知識的同時,講解項目實施過程。

2.7 注意新知識的引入

雖然C,C++和C#三種語言語法基本上是一樣的,不過具體的內(nèi)容差別較大。此外還有很多像Python和Perl等高級的腳本語言,其本質(zhì)內(nèi)容和C語言也是一致的,所不同的是語法規(guī)則上的細微差異以及語言自身所實現(xiàn)的基本庫不同。因此,在授課過程中,我們應該注意介紹這些新的知識及將其和C語言進行比較。此外,還要培養(yǎng)學生養(yǎng)成查找手冊和幫助的習慣與能力,從而更好地適應當前編程語言迅速發(fā)展的要求。

3 結(jié)語

教師要把自動化專業(yè)的“C語言程序設計”這一門課教好,就要結(jié)合本專業(yè)特點不斷研究新的教學方法,認真掌握教學規(guī)律,并借助于現(xiàn)代化教學手段,提倡啟發(fā)式教學。我們只要具有扎實的理論功底,并具有對學生高度負責的精神,就一定能夠找到較好的方法調(diào)動學生的學習積極性,從而達到良好的教學效果.

[1] 盧峰,高春穎.基于網(wǎng)絡化教學平臺的C語言實踐教學[J] ,廣州:現(xiàn)代計算機,2011,3:71-73。

[2] 梁志劍.計算機語言類課程網(wǎng)絡教學平臺的建設[J] .北京:中國電力教育,2009,4:74-75。

[3] 彭金蓮.基于WEB的C語言程序設計網(wǎng)絡教學平臺的實現(xiàn)[J] ,儋州:華南熱帶農(nóng)業(yè)大學學報,2004,10:56-60。

[4] 斯坦福大學公開課:編程方法學,http://v.163.com/special/sp/programming.html

猜你喜歡
C語言程序設計C語言計算機專業(yè)
“以賽促學,以賽促教”促進計算機專業(yè)教學理念創(chuàng)新與實踐研究
基于Visual Studio Code的C語言程序設計實踐教學探索
計算機教育(2020年5期)2020-07-24 08:52:56
基于C語言的計算機軟件編程
電子制作(2018年16期)2018-09-26 03:27:08
高職高專院校C語言程序設計教學改革探索
以“學生為中心”的《C語言程序設計》教學設計探究
基于翻轉(zhuǎn)課堂的《C語言程序設計》課程教學系統(tǒng)的實現(xiàn)與研究
軟件工程(2016年8期)2016-10-25 16:02:07
淺談《C語言程序設計》課程的教學改革
《C語言程序設計》課程的教學改革與實踐
科技視界(2016年22期)2016-10-18 16:12:24
職業(yè)高中計算機專業(yè)教學改革淺析
論子函數(shù)在C語言數(shù)據(jù)格式輸出中的應用
梁河县| 外汇| 濮阳县| 建湖县| 思茅市| 甘德县| 乾安县| 新沂市| 西贡区| 汕头市| 堆龙德庆县| 简阳市| 渑池县| 鄂托克前旗| 东城区| 耒阳市| 定西市| 兰溪市| 黔江区| 庆阳市| 天水市| 兴隆县| 奉新县| 茌平县| 永新县| 綦江县| 洛阳市| 河西区| 郁南县| 临沂市| 丽水市| 阿瓦提县| 乌什县| 福泉市| 孙吴县| 宁夏| 临武县| 金阳县| 定襄县| 福泉市| 赤水市|