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

?

基于專業(yè)培養(yǎng)目標的C語言教學(xué)研究與實踐

2012-01-28 17:59寧祿喬王新昊康振華
中國教育信息化 2012年5期
關(guān)鍵詞:指針C語言培養(yǎng)目標

寧祿喬,王新昊,康振華

(山東工商學(xué)院 管理科學(xué)與工程學(xué)院,山東 煙臺 264005)

基于專業(yè)培養(yǎng)目標的C語言教學(xué)研究與實踐

寧祿喬,王新昊,康振華

(山東工商學(xué)院 管理科學(xué)與工程學(xué)院,山東 煙臺 264005)

本文首先從語法、語義和認知境界分析了C語言教學(xué)本質(zhì),然后根據(jù)信息管理與信息系統(tǒng)專業(yè)培養(yǎng)目標,結(jié)合學(xué)生實際具有的基礎(chǔ)知識和基本技能,將C語言在教學(xué)實踐中進行了結(jié)構(gòu)調(diào)整;并參照工程考核要求,實行了新的課程考核形式。

C語言;結(jié)構(gòu)調(diào)整;培養(yǎng)目標;工程考核

一、C語言在程序設(shè)計語言中的地位

C語言自從1978年被貝爾實驗室正式發(fā)布以來,30多年歷久彌新。另外從語法角度來說,C++、JAVA、C#均直接繼承于C語言語法。因此,C語言作為程序設(shè)計語言的基礎(chǔ)地位仍然無可替代。

二、C語言教學(xué)本質(zhì)分析

C語言是一種屬于機器的語言,所以對人來說,C語言就是一門新的外語。因此學(xué)習(xí)C語言與學(xué)習(xí)外語一樣,都是易學(xué)難精。相比外語學(xué)習(xí),C語言學(xué)習(xí)也是一個持續(xù)不斷的過程,可以粗略分為三個境界:[1]

1.語法境界

在這個過程中,將主要學(xué)習(xí)變量定義方法、程序設(shè)計的三種基本結(jié)構(gòu)(順序、選擇和循環(huán))、函數(shù)定義及調(diào)用方法以及良好的編碼規(guī)范等。對于語法問題,無論是誰,都只能去適應(yīng)這門語言的規(guī)則,所以學(xué)生在學(xué)習(xí)C語言語法時普遍感到枯燥是可以理解的。

2.語義境界

在這個過程中,學(xué)習(xí)使用C語言完成某個特定的任務(wù),比如“百錢買百雞”、求素數(shù)、求最大公約數(shù)、求最小公倍數(shù)等經(jīng)典編程問題。在此階段主要解決使用C語言解決實際問題的能力。

對于這些C語言應(yīng)用,學(xué)生普遍認為這些算法問題具有挑戰(zhàn)性。這些題目經(jīng)常成為C語言的考試內(nèi)容,也是被很多學(xué)生認為能夠從本門課程中學(xué)到的有用知識。

3.認知境界

在這個過程中,學(xué)習(xí)語言背后的計算機硬件、操作系統(tǒng)原理,學(xué)習(xí)與語言無關(guān)的算法設(shè)計 (包括數(shù)據(jù)結(jié)構(gòu)知識),學(xué)習(xí)軟件工程知識(比如分層體系結(jié)構(gòu)等)等。在此主要解決如何按照工程要求(比如正確性、可靠性、可維護性、性能等)解決實際問題的能力。

對于這些知識,學(xué)生在結(jié)課時認識仍然是模糊的。當然,這也不可能僅僅通過C語言一門課程就能夠讓學(xué)生達到改變認知的地步,但這是四年信息管理與信息系統(tǒng)專業(yè)本科學(xué)習(xí)的目標之一。

三、C語言教學(xué)實踐改革

因為課堂教學(xué)在本質(zhì)上是不可分割的一個整體,例如在講授“百錢買百雞”例子時完全可以同時涉及語法、算法和認知這三種境界。基于C語言教學(xué)本質(zhì)的分析,根據(jù)信息管理與信息系統(tǒng)專業(yè)培養(yǎng)目標,結(jié)合學(xué)生實際具有的基礎(chǔ)知識和基本技能,將C語言在教學(xué)實踐中從結(jié)構(gòu)方面進行如下調(diào)整:[2]

1.淡化位運算講授

作為計算機專業(yè)學(xué)生,應(yīng)該掌握位運算。因為位運算不僅是一種基本運算,而且往往可以為工程提供一種高性能解決方案。但是作為信息管理與信息系統(tǒng)專業(yè)的學(xué)生,一方面位運算與計算機硬件高度相關(guān),另一方面完全可以用其他方法來代替位運算解決方案,只是損失些性能而已。

2.弱化輸入輸出函數(shù)語法教學(xué)

雖然C語言的scanf和printf函數(shù)功能強大,但是能夠正確運用卻不是一件容易的事情,因為這里面涉及數(shù)據(jù)類型、數(shù)組、指針等眾多內(nèi)容。在輸入輸出基本通過GUI界面、數(shù)據(jù)存儲大多經(jīng)由DBMS的今天,熟練掌握scanf和printf函數(shù)已經(jīng)不再是一種必需。

3.補充適當硬件知識

C語言提供的豐富數(shù)據(jù)類型讓初學(xué)者有時難以理解:有必要如此區(qū)分整數(shù)和小數(shù)嗎?不都是可以做四則運算嗎?在不同數(shù)據(jù)類型統(tǒng)一運算時,因為自動類型轉(zhuǎn)換得到的異常結(jié)果經(jīng)常讓初學(xué)者困惑不已。這個問題在編程語言層次上很難解釋清楚,但是從硬件層次上卻容易說明,因為其背后的硬件機理不同。

4.示范良好編碼規(guī)范

在教學(xué)和上機實踐中,始終貫穿并示范良好的編碼規(guī)范。比如無論在循環(huán)中還是在分支中,堅持為程序塊加上完整的塊標志。在運算符的優(yōu)先級講述中,強調(diào)小括號可以改變并明晰計算的優(yōu)先級,如此講授不僅可以減少語法的講授時間,同時也可以提高程序設(shè)計質(zhì)量。在教學(xué)中有意識地示范如何在關(guān)鍵位置處加上調(diào)試輸出語句,部分代替單步跟蹤,提高程序調(diào)試效率。

5.強化程序設(shè)計方法教學(xué)

函數(shù)作為一個基礎(chǔ)的程序設(shè)計工具,在實踐中的地位非常重要,是軟件工程、各種軟件設(shè)計方法的實現(xiàn)基礎(chǔ)。另外,在函數(shù)層次編程,可以鍛煉一個人的問題抽象能力和模塊劃分意識。在教學(xué)中,有意識強化函數(shù)應(yīng)用,比如要求以函數(shù)方式對問題進行設(shè)計,并且在上機實驗中安排大作業(yè),要求兩個人協(xié)作完成,從而培養(yǎng)學(xué)生模塊化問題解決意識和編程習(xí)慣。

6.側(cè)重符合機器思維的算法講授

在講授如何求解最大公約數(shù)例子時,雖然輾轉(zhuǎn)相除法效率很高,但是窮舉法更容易理解和實現(xiàn),而且也更加符合算法設(shè)計思維。輾轉(zhuǎn)相除法對于專業(yè)軟件來說意味著效率,但是對于初學(xué)者來說則意味著很高的門檻。對于常見的“數(shù)組越界”問題,采用的對策是讓學(xué)生適應(yīng)計算機從0開始的編址方案,盡管在初期學(xué)習(xí)中可能帶來一些困難,但是如此堅持可以保證學(xué)生對計算機原理的理解上具有完整性和一致性。這樣,采用一套理論就可以很好解決指針與多維數(shù)組的地址計算關(guān)系。

7.調(diào)整指針教學(xué)側(cè)重點

為方便與后續(xù)課程的銜接(包括數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫原理),重點講授與一維、二維數(shù)組、結(jié)構(gòu)體、鏈表相關(guān)的指針應(yīng)用。而對于其他的指針應(yīng)用(如函數(shù)指針、雙重指針等),則概括性提及,讓學(xué)生了解C語言指針的強大和靈活,從而更全面理解C語言指針的本質(zhì),以及由此帶來的程序調(diào)試挑戰(zhàn)。

四、C語言教學(xué)考核

在課程考核中,參照工程要求,拋棄以往的那種單純考核語法的題目(尤其是那些不常用的語法),代之以符合良好工程編程規(guī)范的程序閱讀題和程序設(shè)計題,分別通過筆試和機試進行。經(jīng)過兩年實踐,發(fā)現(xiàn)此種考核方法更有利于反映出學(xué)生的真實水平,但是由此產(chǎn)生的問題是經(jīng)常無法滿足對考核成績的正態(tài)分布要求,呈明顯的階梯狀分布。☉

[1]孔垂柳,田地.基于程序設(shè)計思想的C語言教學(xué)方案[J].吉林大學(xué)學(xué)報(信息科學(xué)版),2005,8(23):5-6.

[2]葉幼林.對計算機C語言教學(xué)的探討與研究[J].中南民族大學(xué)學(xué)報(人文社會科學(xué)版),2004,4(24):189-190.

[3]譚浩強.C程序設(shè)計[M].北京:清華大學(xué)出版社,2010.6.

(編輯:楊馥紅)

G434

B

1673-8454(2012)05-0059-02

猜你喜歡
指針C語言培養(yǎng)目標
素質(zhì)培養(yǎng)目標下經(jīng)管“專業(yè)課程鏈”構(gòu)建研究
垂懸指針檢測與防御方法*
基于Visual Studio Code的C語言程序設(shè)計實踐教學(xué)探索
論博物館學(xué)教育的名實關(guān)系與培養(yǎng)目標
51單片機C語言入門方法
基于C語言的計算機軟件編程
為什么表的指針都按照順時針方向轉(zhuǎn)動
高職高專院校C語言程序設(shè)計教學(xué)改革探索
小學(xué)美術(shù)教學(xué)中如何培養(yǎng)學(xué)生的動手能力
老年服務(wù)與管理專業(yè)高端技能型人才培養(yǎng)體系研究
兴文县| 闽清县| 同心县| 嘉荫县| 右玉县| 库尔勒市| 邯郸县| 刚察县| 荥阳市| 农安县| 黑水县| 建平县| 南宁市| 娄烦县| 长岭县| 江永县| 沙田区| 青海省| 米泉市| 车险| 于都县| 石门县| 聂拉木县| 乐东| 都匀市| 疏勒县| 华池县| 凤冈县| 奉节县| 德兴市| 康平县| 本溪| 嘉鱼县| 多伦县| 宾阳县| 革吉县| 全南县| 驻马店市| 水城县| 吴忠市| 杭州市|