淺談計算機專業中的語言學習_第1頁
淺談計算機專業中的語言學習_第2頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGE5/NUMPAGES5淺談計算機專業中的語言學習略圖的方法和技巧,并反復練習、逐步改進,做到在教學中得心應手、運用自如。3.正確示范,講練結合。在地理教學中,教師還可以要求學生把黑板略圖畫在筆記本上。略圖簡便易畫,一般學生都可以繪畫。學生通過自己動手繪畫略圖,既可以加強對地理知識的理解和記憶,又可以培養繪制地圖的基本技能。因此,教師必須正確示范,在講述中提醒學生注意把地理知識和地理技能有機地結合起來,把教師講的內容鞏固在自己繪畫的略圖上,是學習地理知識的有效方法之一。三、啟發誘導,發展智力課堂教學中運用地理黑板略圖,不僅能幫助學生理解和鞏固地理知識,而且可以發展學生的地理想象力和思維能力。例如:在運用地球儀演示四季變化時,可在黑板上分別劃出二分二至時地球在公轉軌道上的特定位置,表示太陽光直射點的移動南北半球晝夜長短的變化、南北極圈內的極晝極夜現象和不同緯度地帶太陽高度角的大小,從而說明地面接收熱量的多少和四季的變化。這樣使學生便于觀察和分析,易于想象和理解。黑板略圖具有簡潔明了、形象鮮明、重點突出、抓住特征的優點。教師在運用黑板略圖時,要講繪結合、

繪“形”繪色、引導觀察、啟發想象,促使學生積極思考,以利形成地理觀念和概念,發展地理思維能力。實踐證明,用黑板略圖教學,對充分利用50分鐘課堂教學時間,提高學生學習興趣,理清教材知識體系,建立空間概念,解決教材中的重點、難點,加強學生的理解記憶,培養學生的智力、能力,都具有重要的意義。需要指出的是:教學有法,教無定法。黑板略圖教學僅是眾多教學方法中的一種,有其特殊作用,只有配

合其他的教學方法,才能在地理教學中互相補充、共同發展,取得最好的教學效果。

cal),再學習其他語言(例如C語言)并不困難。

2.盲目否決某種語言

計算機技術的發展速度之快令人目不暇接,程序設計語言和環境的發展速度也是這樣。有些人認為C語言和Pascal語言已經過時了,不如直接在可視化的開發環境中編程,現在是面向對象程序設計的年代,用不著結構化程序設計了,常常會聽到這樣的提問:“你認為哪一種語言最好?”其實,“誰也代替不了誰,各有所長”,不能簡單地說哪一種語言“高級”,哪一種“低級”,只能說哪一種語言適合于哪個領域哪類對象,正如馬路上有小汽車、大卡車、公共汽車、摩托車、自行車、三輪車等,各有各的用途,決不能由于有了小汽車就取締了其他車輛。因此,我們不能一看到新版本的語言就認為它“高級”。

3.急功近利

現在語言的種類非常多,而社會上常用到的語言卻是有限的幾種,如C語言、C++、VC、VB等,于是出現了這樣的現象,片面強調社會需要,認為計算機專業所學的程序設計語言在工作中派不上用場,例如早期的教學性語言Pascal與開發型的C語言之爭,這種指導思想受了“社會中心”論的影響,即當前社會上需要什么就學什么,是一種急功近利、實用主義的做法,每種語言都有其特定的價值和適用的領域,主要看自己以后將要想從事的領域,而不應該盲目追風。

4.程序設計與程序語言混為一談

有許多學生誤把程序設計的課當成了“程序語言”課,把主要精力放在了語言的語法規則和語義上。實際上,程序語言只是程序設計的載體、工具。更確切地說,程序語言只是程序設計的一個步驟,正如我國著名的科學家馬希文教授所說:“用程序語言把預定的計算方案書寫出來,這是程序設計中最有特色的一部分”。程序設計是計算學科課程中固定聯系的一部分,是每一個計算學科專業的學生應具備的能力,是計算學科核心科目的一部分,而程序語言只是學習程序設計的工具,學習程序設計的思想方法就必須學程序語言,學習時兩者不可能決然分開,學習程序設計的思想才是目的。

二、語言學習的方法及認識

(一)語言學習的方法

1.循序漸進法

按照老師的要求、課程的安排、腳踏實地學。通過練習課本的習題,多上機實踐,多思考,從中發現問題。不懂時,再查找有關的書籍、資料解決問題,從中掌握編程的思想、思維,這種方法效果雖然慢,但打下的基礎扎實,一旦掌握,則會應用自如。

2.擇優選取法

現在流行的語言很多,有VisualBasic、VisualC++、JAVA、Delphi等,同時新語言層出不窮。任何一個人都不可能掌握所有的語言,怎么辦?最好只選擇一門語言,集中精力鉆研、精通它。沒有一門語言是萬能的,有算法和精通的那門語言做基礎,學一門新的語言是件輕松的事。比如C語言,凡是學過它的朋友都有這樣一種感覺,那就是“讓我歡喜讓我憂”。歡喜的是C語言功能非常強大、應用廣泛,一旦掌握了后,就可以理直氣壯地對他人說:“我是電腦高手!”而且以后若是再自學其他語言就顯得輕而易舉了。憂慮的是C語言猶如“少林武功”一般博大精深,太難學了。其實,筆者認為C語言并非是“difficult(困難)”的,只要能理清思路,掌握它的精髓,那么自學C語言是一件非常容易且又其樂無窮的事。學習C這種中級語言,特別是有指針這種可以直

接操縱內存的數據結構,一定要學習一些數據結構、操作系統基礎知識、系統結構、匯編知識,如果對計算機原理比較熟悉的話,學習起來就會事半功倍。

3.歸類學習法

某些語言之間有共同的特點,如C++和C語言都是面向過程的語言,VisualC++和Java語言都是面向對象的語言,都有類和對象等,我們學習時應注意對比、歸類,做到觸類旁通。

4.因材施教法

所謂“因材施教”,就是因不同的目的而采用不同的方法。對于對程序設計充滿好奇心的人來說,VB也許是一個能夠滿足這份好奇心的有效手段。不可否認,VB也能寫出很好的程序,但是很難想象用VB進行算法分析,構造復雜的系統模型。所以,我們應選擇合適的語言來設計不同的應用程序。

首先,應當熟練掌握一門程序設計語言。每個開發環境都是建立在一定的語言基礎上的。Delphi的基礎是ObjectPascal,VC的基礎是ANSIC++withMi-crosoftExtension。不過,反觀市場上的大多數教材,它們往往在如何應用開發環境上作了很多介紹,而對這些基礎的語言往往只是大致地講述一下,這樣的結果是很多人能夠設計華麗的用戶界面,但是沒有能力構造復雜的數據描述,難以開發大型的應用程序。所以,作為程序設計的基礎,我們應當對開發環境使用的語言做一個完全的了解。

其次,應當對自己工作的平臺有深入認識,雖然現在的開發環境都對底層代碼進行了一定的封裝,但是,如果想要達到更高的境界,還是需要對系統的工作原理做一個深入的了解的,至少應該對純粹的API程序設計有一定的經驗。

再次,應當知道自己手中的開發工具是如何工作的。這并不是要理解VC開發環境的全部,而是要知道MFC是一個什么樣的體系,是如何將一個C++程序“翻譯”成基本的Windows程序結構。

最后,要了解如何進行一個完整的程序設計工作。程序設計不僅僅是寫代碼,而且是一個系統工程項目。這就是軟件工程學誕生的目的。

(二)語言學習的認識

以我們所學過的匯編語言為例來談談對它的認識:匯編語言設計程序,主要是面向過程,整個程序就跟一個流水線似的,從頭執行到尾,中間有些判斷,跳轉指令,實現循環。所以,看匯編源程序的時候,從頭看到尾就行,編程序的時候人們的思路也很單一,需要等待用戶輸入,就做一個循環,不停檢測鍵盤輸入,如果沒輸入,程序就停到那里,也沒有多線程之說。匯編語言給我們帶來的唯一困難就是,需要對計算機硬件有很深刻的了解,得知道什么是中斷向量,什么是寄存器,什么是堆棧、CPU執行語句的過程、各個中斷的功能、端口如何讀寫、如何操作顯示緩存、內存管理方式、磁盤讀寫原理等等一大堆跟系統硬件有關的知識??梢哉f,只要匯編語言學好,那么計算機在我們的眼里就是微不足道的,可隨意擺弄。匯編語言的強大,讓人們愛不釋手。但它的艱苦學習過程卻讓人們很頭痛。

匯編語言由于其本身過于接近計算機硬件,并且難以理解,所以不適合一般初學者學習。經典的C語言被普遍認為是除匯編語言外程序設計語言的始祖,學習C語言是了解程序設計語言的必經之路,是學習程序設計很好的入門捷徑。但是學習C語言是一個漫長的過程,它是基礎,在很長的時期內不會被淘汰。把C

125

··

語言學好了,其他的語言如:C++、C#、JAVA、VC、VC++、VB、DELPHI……這些學起來就會比那些C語言基礎不扎實的人要輕松得多。想學C語言并不只是學語法那么簡單,重要的是編程思想,難的是它在不同環境下的應用。這是一個漫長的過程,需要經驗的積累。當然,并不是說死死抓住C不放,但如果你目前還不知該怎樣編程,建議在你有一種游刃有余的感覺之前,還是不要去碰什么C++、Java之類,那樣你遇到的困難會更大。當你學到不自覺地使用這門語言時,建議暫時不要看高級編程,多寫代碼、多看代碼、培養風格、熟悉語法,最關鍵的是把握思想。如果自己獨立寫完一個程序(無論大?。?,并看到他它正常運行時便會有一種成就感。不斷培養這種成就感,進步是自然的事情了。一門語言最本質的東西就是其類型系統,任何語言都有自己獨特的類型系統,而且人們獲取知識的最好方法莫過于充分利用已有的知識,通過對比進行學習。比如C語言和VisualBasic,一種是面向過程的語言,一種是面向對象的語言,我們通過對比進行學習,下面是實現簡單計算器的兩種程序:

我們看到C語言的界面不太美觀,要求對其過程的執行非常清楚,但它代碼短、執行效率高、運算速度快;而VB具有可視化界面,每個按鈕的功效非常清晰,容易操作,且VB程序是由許多小程序組成,具有模塊化、事件化、邏輯性強等特點,但它實現代碼較長。所以兩種語言各有所長、各有所短,不能簡單地說哪種好、哪種不好。

每種經受住時間檢驗、得到廣泛使用的程序設計語言,都有自己的特長和不足。BASIC的特點決定了它是很理想的初學者語言;而建筑具有良好可移植性的系統,又是C語言的拿手好戲。對于編程入門人員,可以先借助VB這個可視化環境大致了解可視化編程的特點,并且可開發與系統無關的綜合應用程序。VC在網絡開發和多媒體開發中都具有不俗的表現,一旦掌握了它,就可以在網絡、系統底層、多媒體開發等領域自由馳騁,但VC的入門比較難,要使用VC,必須對它的MFC庫非常熟悉,所以我們學習時要有一定的耐心。Java應用程序能夠自由地打開和訪問網絡上的對象,具有建立在公共密匙基礎上的確認技術,大多數病毒無法破壞其數據,可以構造出無病毒、安全的系統。Java語言在除了開發系統軟件、大規模的圖像處理外的領域都可以使用。

三、語言學習與有關課程的結合

在語言學習過程中,除了對方法應注重以外,還應注重和其他課程結合起來,從計算機程序設計語言方面考察,語言的理論基礎是形式語言、自動機與形式語義學。而形式語言、自動機和形式語義學所采用的主要研究思想和方法來源于數理邏輯和代數。程序設計語言中的許多機制和方法,如子程序調用中的參數代換、賦值等都出自數理邏輯的方法。此外,在語言的語義研究中,四種語義方法最終可歸結為代數和邏輯的方法。這就是說,數理邏輯和代數為語言學提供了方法論的基礎,瑞士著名計算機科學家尼可萊·沃思在1976年曾提出這樣一個公式:

算法+數據結構=程序

由此看來,算法和數據結構是計算機程序的兩個最基本的概念。算法是程序的核心,它在程序編制、軟件開發,乃至在整個計算機學科中都占據重要地位。因此,很多課程對語言學習起輔助作用。

1.與計算方法的結合

程序設計解決某一個問題的思想來自于算法,而算法又來自于計算方法,數值計算是電子計算機處理實際問題的一種關鍵手段,計算方法的基本思想是:它也要面向計算機及程序設計,要求算法具有遞推性、簡潔性及必要的準確性。

2.與數據結構的結合

“數據結構”是計算機程序設計的重要理論技術基礎,如果說高級語言程序設計課程對學生進行了結構化程序設計的初步訓練的話,那么數據結構課程就是要培養他們的數據抽象能力。采用類C語言作為數據結構和算法的描述語言,既不拘泥于C語言的細節,又容易轉換成能上機執行的C++程序。

3.借助CAI輔助語言學習

CAI在我國高等教育界起步不久,方興未艾。計算機科學與技術的許多課程的教學都借助了它,由于計算機語言中各種成分的語法、語義規定條款較多,需要記憶,可借助CAI來增強它們在腦中的印象,這樣也有助于我們對程序設計語言語法的掌握。

四、未來編程語言的著重點

(一)易用性

這一直是計算機編程語言的主要發展趨勢,從機器語言——

—符號語言——

—高級語言這個發展過程就可

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論