周倩
[摘? ? ? ? ? ?要]? 現今社會科學技術不斷進步,尤其是計算機的進步給我們的生活和工作帶來了極大的便利。計算機語言教學也要與時俱進,這樣才能夠讓學生適應新時期的要求,為國家的科學進步作貢獻。探討計算機語言教學的轉變,以微信小程序開發(fā)為例進行闡述,希望給老師提供一些參考。
[關? ? 鍵? ?詞]? 計算機語言;程序設計;思維培養(yǎng);面向過程;面向對象
[中圖分類號]? G712? ? ? ? ? ? ? ? ? ?[文獻標志碼]? A? ? ? ? ? ? ? ? ? ? ? [文章編號]? 2096-0603(2019)09-0078-02
新時期科學技術的進步改變著我們的生活,現在各行各業(yè)都在應用計算機技術并取得了飛速的發(fā)展,大家也在不斷加強計算機技術學習。高校和職業(yè)院校也開設了程序設計課程,讓學生能夠更好地學習程序設計,增強學生的計算機思維,以便更好地讓計算機來幫助大家解決實際中的問題。我們知道計算機相關知識更新?lián)Q代的速度非常快,計算機語言從機器語言、匯編語言以及高級語言等幾個階段共同發(fā)展開來。高級語言包括面向對象以及面向過程兩種具體的語言,種類多達好幾十種?,F在很多學校開設了程序設計的課程,而不同的課程依托的基礎語言不同,所以在教學的過程中,也存在一些問題。文章根據教學實踐過程中出現的問題進行了探討,提出了怎樣培養(yǎng)學生的程序思維模式的措施,希望能夠促進老師教學質量的提升,能夠讓學生與時俱進,不斷學習,提高學習的質量。
一、計算機語言教學存在問題
現在計算機相關專業(yè)的課程中,通常會有C語言、可視化程序語言設計等。根據現實社會的需要,老師給學生講解一系列的軟件開發(fā)?,F在比較流行微信,微信里面有各種各樣的小程序,教學過程中老師會面向對象語言給學生講Java程序設計。學校計算機專業(yè)還包括數值計算,學生在學習程序設計的過程中,相關的語言種類非常多,但是在調查中我們發(fā)現很多學生的編程能力僅僅是停留在語法規(guī)則上,學生雖然學了很多知識,但卻不能合理使用。同時教師也沒有根據課程知識點去有效地組織教學,這樣就導致學生雖然學習了很多計算機語言,但是對編程仍然停留在感性的認識上面,沒有形成基本的編程思維,學生計算機語言學習的深度和廣度不夠。不同的學生對計算機編程的領悟能力不同,而教學側重點也很難把握。由于課時的原因,很多老師把重點放在基礎語法的講授上,關于一些程序設計的高級應用并沒有給學生展開教學。這在根本上導致學生雖然學習了很多語言,但是出現學而不精的情況。另外,學生在學習過程中也沒有建立一個計算機語言思維方式,很多學生沒有形成計算機語言的學習框架,沒有在一定高度上把握好一門語言,學生并沒有把學到的知識融會貫通,在程序設計過程中仍然欠缺相應的思維模式,老師在教學過程中沒有合理引導學生幫助學生提升設計的思維能力。學生在學習過程中,沒有對程序設計語言有一個發(fā)展的認識。當今社會不斷進步,計算機語言也在不斷演變,現在嵌入式開發(fā)過程中C語言仍然是比較流行的一種語言,面向對象的典型語言有C++和Java。通常情況下,學生學習了C語言以后再學習高級的語言。有些學生覺得C語言容易掌握,但是面向對象的語言就掌握得不是很好了,這就導致學生在程序設計開發(fā)的過程中,會出現不知所措的情況。
二、在計算機語言教學中培養(yǎng)學生的思維
當今社會計算機知識更新變化很快,計算機硬件也在時刻更新,所以計算機硬件的更新又會觸動軟件的更新。很多優(yōu)秀的計算機語言便會應運而生,它們的出現為軟件程序的開發(fā)與更新提供了新的渠道。在這樣的情況下,老師在教學過程中要站在一定的高度,讓學生學會計算機語言的邏輯思維,掌握計算機的語言思維方式,能夠建立一個語言學習的框架體系,學會程序設計的思維模式。知識的更新?lián)Q代速度非???,而且知識也是無窮無盡的,教師應該告訴學生怎樣去學習,不斷提升學生的程序設計素養(yǎng)。
(一)學習框架式的程序設計語言的基礎知識
計算機語言學習的過程和自然語言學習的過程有些類似,這里面也會有語法詞匯以及語句組織規(guī)律等相關方面的知識,我們在編寫程序的時候就和寫文章一樣,做項目就像是編寫一本書。寫文章首先要有一個良好的構思,搭好框架以后再寫。同樣學生在學習編寫程序的時候,也要先寫一個程序的框架,站在一定的高度把握程序設計語言的特征,然后再學習語言的組織方式。把一個大問題進行分解,分解成若干個小的問題,然后再逐一解決,這也是實施逐層分解的思想。老師在教學過程中要認真研究課本,每一個章節(jié)里面都有一個小的思想,由此圍繞著一個思想展開描述。在學習C語言程序的過程中,一個項目的程序是由若干個源程序構成的,每一個源程序都是圍繞程序完成的功能來編寫的,在每一個源程序里面,都會有程序的組織模式,源程序是由很多相關函數以及說明的語句構成的。比如Java語言簡單,面向對象,適合手機游戲、手機APP的開發(fā),尤其是現在的微信小程序,其demo(樣本)就是以Java語言編寫的,便于普通人快速上手。我們使用Java語言去編寫,那么每一個源程序包括說明語句和若干類的組成。這里面的類是由函數和數據組成的,在學習計算機編程的過程中,函數是基本功,同時函數也是獨立的,到了函數這一層面上,進行程序設計的時候,包括數據的錄入以及處理和輸出這幾方面的內容。在此階段的教學過程中,要求學生掌握程序語言和詞匯,也就是說具體保留字和標識符,學會語法的規(guī)則,學會數據的表示,等等。我們學習的計算機思想大多數都是存儲程序,程序在運行的時候要調入內存,在執(zhí)行的時候要一條一條取出來,程序編寫的順序決定著程序的讀寫順序。在學校的時候,通常情況下是從上到下、從左到右,同樣寫程序的時候也是這樣的順序。寫程序也是要按照一定的順序去編寫,如果沒有順序,就會出現前言不搭后語的狀況,導致運算結果不正確。
(二)面向過程的程序設計思維
過程描述在一定情況下代表的是對問題的描述和處理,構成語言使用的是數學表達式描述,整個計算過程,人們在計算機上描述整個問題的求解過程,不用去關心計算機的內部結構。向計算機輸入一個信息,計算機會自己處理,然后輸出結果。如果輸入的信息能夠直接用編程語言提供的數據表達出來,那么計算機就會直接應用算法來處理,如果輸入的信息是分數值的信息,就要先用數據結構理論使用計算機的語言把信息表達出來,這也是說“程序=數據結構+算法”,也因此得出了程序設計的主要核心思想,是以計算為核心的。按照相應的數據處理過程去組織程序,比如說,我們在開發(fā)微信小程序的過程中,向鍵盤輸入一個三位數,得到這個三位數的逆序數。在編寫這個程序的時候,根據問題轉換成程序設計的流程,然后按從左到右的順序使用計算機語言表達出來,這也就是說我們要使用計算機能夠識別的程序表達出來。在編寫程序的過程中,我們可以看出面向過程的程序設計是線性的思維,其中數據處理是核心,大部分可以分成輸入處理和輸出這幾個過程。這也是一個順序性的信息處理模式。適合于小程序的開發(fā),不適合規(guī)模特別大的項目。
(三)面向對象的程序設計思維
面向對象的思想,根據現實的客觀世界構造相應的軟件系統(tǒng),整個系統(tǒng)的構造過程中要使用和人類思維模式一樣的方式,把一個實際的問題看成是幾個對象的組合。在面向對象的程序設計里把問題看成是對象,也就是說,客觀世界是通過對象組成的對象里面相同的數據和操作規(guī)程一類,這樣把具體的對象轉化成抽象的計算機語言,在計算機程序設計的時候,應用這類數據來進行程序處理。充分利用面向對象的多態(tài)性技術以及集成技術派生出有相似結構的對象子類,在計算機體系中表現出來的結構就是不同的類別,各個對象利用消息去進行信息的通信,所以在一定程度上,面向對象也被稱為對象和類以及繼承和消息構成的。過程中強調把操作和數據看成一個整體,這也就是面向對象封裝的思想。在較大型程序設計中要根據軟件的工程面向對象的方法把客觀世界要解決的問題轉化成問題,分成各種各樣的類。然后再進行細分形成問題的子系統(tǒng),數據庫的管理子系統(tǒng),人機交互子系統(tǒng)以及任務管理的子系統(tǒng)。這一語言反映了計算機在解決問題的過程中使用的思維方式,面向對象的程序設計也是符合人類的思維模式的,利用面向對象的技術縮小了人類大腦和電腦思維方式之間的差異,讓人們在利用計算機解決問題的過程中,不必花費主要的精力浪費在描述解決問題的過程上,重點要放在分析問題上。
(四)從面對過程到面向對象的思維轉變
從面向過程到面向對象進行程序設計需要轉變思想,這實際上也是計算機程序在數據處理過程中的一個變化。面向過程進行程序設計的時候,是以計算機為核心,程序等于數據結構加算法。在這其中程序的組織方式,按照數據處理的過程去組織代碼?,F在科學技術不斷發(fā)展,計算機的應用越來越廣泛,計算機在處理數據的過程中,會處理多種多樣的數據,不僅僅局限于數值型的數據,還有各種聲音、表格、圖像等。這時候就要提供struct技術去構造和描述復雜的事物。數據類型包括數值的取值范圍和述職的操作。struct構造器不能有效體現出數據和操作的相關性。而面向對象的技術把操作和處理的數據封裝完成以后,在計算機里面表現出一個類,體現事物的靜態(tài)和動態(tài)性質。
三、程序設計課程教學的具體方案
老師在程序設計教學過程中給學生打好基礎,讓學生掌握了算法知識以后,學會使用高級的語言,應用編程去解決實際問題。比如說,老師為學生講授微信小程序的編制,讓學生掌握了基本知識以后再學習程序設計,語言理論以及程序設計方法學等相關的課程。程序設計課程可以按照語言基礎的部分、實驗的部分、自主學習的區(qū)域、課程的設計這樣一個流程來教學。第一部分讓學生掌握基本的語言固有特征知識。第二部分給學生展開實驗教學,老師在此過程中要精心設計實驗,鞏固學生學到的語法知識。第三部分是引導學生學會自主學習,在程序設計課程中,對學生的實踐性能力要求很高,要求學生在課堂上聽了老師的講課,下課后要去練習,老師可以帶領學生學習微信小程序的開發(fā),然后利用平臺去給學生布置一些有挑戰(zhàn)性的作業(yè),讓學生獨立完成,通過實踐提高學生的綜合能力。老師再給學生講程序設計課程的綜合應用。
四、結束語
文章探討了計算機語言教學的轉變,希望能夠幫助老師站在一定的高度做好程序設計課程的教學,幫助學生樹立相關的概念,提高學生解決問題的能力。
參考文獻:
[1]周億陶.計算機語言教學方法探析[J].黑龍江省政法管理干部學院學報,2009(2):145-147.
[2]沈澤剛,鐘德春.關于計算機專業(yè)入門語言的探討[J].福建電腦,2012(1):182-187.
[3]付喜梅.《數據結構》的類比教學[J].電腦開發(fā)與應用,2013,26(10):33-35.
[4]何渝.計算機語言課程的困惑與思考[C].International Conferenceon Educationand Education Management EEM,2011.