摘 要:高職專業程序設計課程培養學生掌握正確的程序設計思想和方法,提高學生在工作中應用程序設計方法解決實際問題的能力,文章從分析學生學習過程中信息加工的微觀層面入手,試圖解決學生程序設計能力較難提升的問題。
關鍵詞:程序設計;信息加工;高職
程序設計課程在高職專業中也是普遍開設的必修課程,其教學目的是使學生掌握程序設計的基本思想和方法,能在相應的專業領域運用程序方法分析解決遇到的問題,強調的是問題求解能力。然而實際情況往往是,教學安排中有多門程序設計課程,學生考試成績也不差,但應用程序設計的思想和方法來解決實際問題的能力卻往往很難達到預期,本文試圖從信息加工的角度來分析和解決這個問題。
一、程序設計能力不足的幾個表現
在教學中發現,由于多方面的因素,使得學生通過編寫程序的方法解決具體問題的能力不足,這主要表現在:
(1)語法知識點能記住,寫程序時還犯錯。平時通過選擇,判斷,填空等題型對學生進行考查,從考查的結果看,絕大多數的語法知識還是能夠理解和掌握的,但是在寫程序中,在已知的知識點上還是要犯錯誤,比如標識符錯誤,表達式書寫錯誤,語句格式或參數使用錯誤等。學生習慣于傳統記憶為主的學習方法和知識再現的考試方式,“重記憶,輕理解”,“重知識,輕應用”,自學時對知識點應用練習少,知識點之間的關聯性思考不夠。
(2)能看懂例題程序,拋開書本卻寫不出程序。在教學中,一般都會從例題程序開始講起,逐句解釋,強調關鍵點,應該說例題是講明白了,也聽懂了,學生自己閱讀也能理解,然后,安排學生獨立從頭做一遍原例題,大多數學生往往拋不開課本,習慣照著抄錄,還常常出錯,這時老師又要重復講解已經講過的內容,浪費了教學時間。如果是與例題類似的題目,擴展一下思路是可以完成的,可是,多數學生沒有辦法下手,舉一反三的能力不足,難以有突破,教學無法向縱深推進。
(3)不能把具體問題轉換為程序設計的問題,即使面對一道習題,也是不知從何處下手,有想法,但不能準確表達自己的設計意圖,情緒上要么表現為急于求成,要么表現為害怕失敗,不愿嘗試。
從高職教學的知識性和技能性目標看,學生應達到遷移應用水平和熟練操作水平,具體的說,就是要能夠總結規律和原理,把學到的概念、方法應用到新的問題情境中,根據需要評價、選擇并熟練操作工具。因此,程序設計能力的培養是要學生具備一定創造性的信息加工能力,下面就從信息加工的角度來分析程序設計能力不足的原因。
二、學習程序設計過程中的信息加工
根據現代信息加工心理學的研究,學習過程是一個信息加工過程,從時序上劃分,有信息的輸入、處理和輸出三個最基本的階段。當教師指導學生用程序設計方法來解決一個問題時,起始信息是學生目前的狀態,而要輸出的信息就是學生要達到目標狀態,即信息處理的結果,從學生現在狀態到達問題解決的目標狀態的轉換過程中所遇到的障礙就是我們關注的核心,即在目標確定的情況下,不明確達到目標的途徑或手段,這個不確定需要通過學生的學習過程來消除。
從程序設計課程整體上的學習來說,輸入環節是學生獲得程序設計活動起始信息的環節,是教師需要學生了解、知道基礎知識的環節,這個環節在我們的傳統教學方式中,占大部分比重;處理環節是學生對輸入環節獲得的起始信息進行檢索,歸類,排序,重組等方面的加工,達到理解和掌握學習信息的環節,因此也是教學中的重要一環,在傳統教學中主要是通過教師的引導來完成;輸出環節是信息處理結果的狀態呈現,這一環節是學生輸出學習效果的階段,是傳統程序設計教學考核的重心所在,是對教與學活動評價的關鍵,如果信息處理結果正確,就獲得了這樣一個認識:前兩個環節中學生不僅接收到了正確的初始信息,而且還進行了正確的處理,由此判斷教與學的活動是成功的;反之,如果信息處理結果不正確,則說明在前面的環節學生沒有順利獲取起始信息,沒有進行正確的信息處理,因此,整個教學活動對于輸出環節即處理結果階段非常關注。
多數情況下,都是由老師向學生傳遞知識和經驗,即起始信息由教師提供,這樣學生獲取起始信息的能力就沒有得到充分的鍛煉,大部分學生由此養成等待教師傳送的習慣,另外,信息輸出結果主要作正確與否的判斷,很少有深層次的向前關聯分析,學生識別信息意義的能力也沒有得到培養,這些都使得學生創造性信息處理能力不足,如果布置的任務、操作不是那么具體明確,他們就無法開展學習,前面所列的那幾種表現就會在教學過程中出現。
三、提升措施
由上面的分析,我們發現,解決問題的關鍵是找到信息加工過程中阻礙信息從起始狀態轉化為目標狀態時的障礙發生點及其性質,這些障礙點存在于信息加工的各個階段,同時,學習過程各個階段也都存在培養解決這些障礙能力的機會,提升學生程序設計能力就要從這個關鍵入手。我們把學生的程序設計能力細化為四類:問題情景呈現,描述起始狀態,根據需要處理信息轉變狀態的能力,問題解答與否的檢驗,應該采取有利于上述能力鍛煉的措施。
首先,做好問題導向的程序設計教學內容重組。程序設計課程的開設已經有很長一段時期了,有著自己獨立成熟的知識體系。但我們不能否認,我們面對的學生是具體的,他們分別學習不同的專業,可能在高中學習的是理科或者文科,將來從事的行業也會不同,從而他們擅長或者關注的領域存在較大差異,如果教學內容側重于語法本身的傳授,缺少專業能力分析,講解通用性的技術內容,如果是多門程序設計課程的話,還會出現大量內容重復講解,結果每個都是蜻蜓點水,沒有一門精通,既浪費教學時間,又不能滿足專業培養的要求。
因此需要以問題為導向,重組知識點,以點帶面,精講理論,按照程序設計具體工作過程來組織教學,重心放在對問題情景呈現等細化能力的培養上,改變傳統理論教學占用時間較多,實驗成為理論驗證活動的狀況。
第二,加大鍛煉的強度和實用性。從算法的描述入手,強調學生讀程序時不要光用眼睛看,還要把程序在自己的腦子里運行一遍,邊思考,邊畫圖,既要明白每個語句的作用,更要從整體上掌握程序的結構,這樣就通過引導學生經歷問題解決的過程而學會解決問題的方法。
增強問題求解的實用性和針對性。實踐證明,一個程序設計的實際任務更能調動學生的積極性,更能有效提高學生的實際能力。實用性還可以表現為與后續課程的某種關聯,程序設計的能力在后續課程中得到持續應用,必然會得到進一步提高。
第三,強化形成性過程的監督考核,建立既符合教學內容要求和管理實際,又與學生認知水平同步的過程性考核方式,改變只有單一終結性的考試方式。強調重在過程的理念,在教學過程中,教師采取任務驅動,探究式學習等多種教學方法引導學生積極思考,樹立學生的主動地位,使學生能夠較好地領會程序設計在具體業務中的應用,鼓勵學生進行課外實踐,擺脫教材內容的束縛,自覺鍛煉獨立分析問題、解決問題的能力。
四、結語
綜上所述,高職程序設計課程教學目標不是只停留在教什么語言,學生會什么語言的層次上,應該圍繞提高學生解決實際問題能力這個中心,采取適當措施,提升學生程序設計能力,為實現專業培養目標服務。
參考文獻:
[1]安德森著,秦裕林譯.認知心理學及其啟示(第7版)[M].人民郵電出版社,2012.
[2]楊茜玲.以培養學生職業技能為目標的《C#高級程序設計》教學研究與實踐[J].科技資訊,2013(04).
[3]孫慧然,劉剛,孫靜波.程序設計基礎課理論與實驗教學的改革與實踐[J].實驗技術與管理,2012(04).
[4]楊鋒英.程序設計基礎課程教學探索[J].計算機教育,2013(08).
作者簡介:魏小龍(1973-),男,漢族,講師,碩士,方向:企業信息管理。