?

多語并行的程序設計教學

2009-09-02 06:43郭美云
科教新報·教育研究 2009年5期
關鍵詞:程序設計

郭美云

[摘要]:計算機操作不能代替程序設計,程序設計課不是簡單的程序設計語言課,也不同數據結構課,程序設計課必須強調思維過程,特別是剛接觸程序設計的層次,宜采用分期多語言并行教學方法,使學生真正懂得編程方法和技巧。

關鍵詞:程序設計、程序設計語言、多語言、并行教學

一、 前言

現在計算機相關專業的教學計劃中一般都開設了“程序設計”課程,有的為了增強編程能力,先后開設了多種面向過程的程序設計語言,如:QBASIC、FOXPRO、C語言,接著又開設了多種面向對象的程序設計語言,如:VB、VF、VC語言。這種教學安排對教師來說可利用市場上現成的教材,對學生來說最大的好處就是當學生畢業時求職表上可以多幾門課的成績,也就似乎多了幾種能力,找到工作的可能性似乎就大,其實90%的同學根本就不敢去找編程的工作。[1]每門課長期沿用這樣的教學模式:過于注重語句、語法和一些細節,基本上是以程序設計語言自身的體系為脈絡展開,學生每學習一種語言就要學一遍諸如常量、變量、運算符、表達式、程序結構、函數過程等程序設計語言所涉及的概念;沒有把邏輯與編程解題思路放在主體地位上,對如何分析和解決問題講得不夠,對學生編程的能力和上機解題的能力訓練不夠。許多學生在學習程序設計語言的課程時覺得枯燥難學,學過之后不能用來解決實際問題。在這樣的教學模式培養之下,學生雖然學習了一定量的程序設計知識,但缺乏對知識的整體把握,動手編程的能力較差,甚至部分學生遇到實際問題就無從下手。所以系統化程序設計思維培養模式的研究已經迫在眉睫。

二、 國內外現狀

1) 成功地解決了計算機文化基礎的入門,但未解決程序設計的入門問題。

90年代,計算機文化基礎課進行了一場大的改變,就是由以計算機操作入門代替了程序設計語言入門,事實證明這場改革是正確的,在計算機的普及教育中起了重要作用。這種改革表面上是改了入門的內容,而實質是拋開了程序設計這個讓人頭痛的課程。這一點無疑是正確的,因為非計算機專業,一般情況下沒有必要編程。但是這種改革并沒有從根本上改變計算機專業的狀況(特別是軟件專業),因為程序設計類課程不僅是計算機專業學生的必修課程,也是其他理工科學生的必修課程。一名計算機專業的本科生要學習五至八門程序設計課程,一名其他理工類的學生也要學習三門以上的程序設計課程,那么如何通過這些課程的學習培養學生的系統化程序設計思維就顯得尤為重要。

2) 大部分教材是為設計師門介紹新語言的,但不適宜初學者。

介紹一門新程序設計語言,當然是指為已有程序設計基礎的設計師門介紹新語言的,重點是介紹語句的格式和功能,是一本操作說明手冊。而對剛入校的學生來說就不能用這種方法了。因為程序設計思想,是一種邏輯思維,是必須有一個過程才能培養起來的。就像學英語一樣,不是教完單詞和語法,學生就能寫出好作文。市場上的程序設計課教材,基本上即是入門教材也是進修教材,給入門者用太難,給進修者又提供不了多少幫助。所以必須全面刷新程序設計課教材的體系。

3) 部分教材涉及前導課程太多,使初學者望而生畏。

近幾年,市場出現的《程序設計》高職教材涉及前導課程太多使初學者望而生畏,經常聽教師說學生基礎太差,學不好。說實在的,由于大學擴展,高職層次生源質量有所下降,前導課程學得不好的比較多,所以應盡量去掉一些非必須的高等數學、邏輯推理、咬文嚼字等方面的內容。所以最好只涉及計算機文化基礎課及中學前語文、數學課。

三、 程序設計語言與程序設計是有區別的

隨著程序設計學科的發展,程序設計思想經歷了從簡單的順序計算到結構化的程序設計,再到面向對象的程序設計的發展過程,形成了一整套的思想理論和思維方法。程序設計過程本身就是系統化的過程,首先要對解決的問題有一個系統化的認識,從整個系統的觀點出發,設計出整體模型,進行功能模塊的劃分,然后在整體的程序設計風格的基礎之上編寫程序代碼。

我認為程序設計語言課與程序設計課是有很大的差異的,程序設計語言是介紹語句的格式和功能,重點注意一些不同點就可以了。程序設計語言課是為已有程序設計基礎的設計師門介紹新語言的做法,而對剛入校的學生來說就不能用這種方法了。因為程序設計思想,是一種邏輯思維,是必須有一個過程才能培養起來的。就像學英語一樣,不是教完單詞和語法,學生就能寫出好作文。

四、 傳統的課程體系及教學效果

現在計算機相關專業的教學計劃中一般都開設了“程序設計”課程,有的為了增強編程能力,先后開設了多種面向過程的程序設計語言,如:QBASIC、FOXPRO、C語言,接著又開設了多種面向對象的程序設計語言,如:VB、VF、VC語言,這種一門接一門的開設,暫且稱為單語言串行教學體系。各學校開設情況有所不同,有的開6門,也有的開4門,還有的只有2門,我們在此不來評說該開幾門語言課或該開哪幾門好一些。這種教學安排對教師來說可利用市場上現成的教材,對學生來說最大的好處就是當學生畢業時求職表上可以多幾門課的成績,也就似乎多了幾種能力,找到工作的可能性似乎就大,其實90%的同學根本就不敢去找編程的工作。[2]每門課長期沿用這樣的教學模式:過于注重語句、語法和一些細節,基本上是以程序設計語言自身的體系為脈絡展開,學生每學習一種語言就要學一遍諸如常量、變量、運算符、表達式、程序結構、函數過程等程序設計語言所涉及的概念;沒有把邏輯與編程解題思路放在主體地位上,對如何分析和解決問題講得不夠,對學生編程的能力和上機解題的能力訓練不夠。許多學生在學習程序設計語言的課程時覺得枯燥難學,學過之后不能用來解決實際問題。在這樣的教學模式培養之下,學生雖然學習了一定量的程序設計知識,但缺乏對知識的整體把握,動手編程的能力較差,甚至部分學生遇到實際問題就無從下手。所以系統化程序設計思維培養模式的研究已經迫在眉睫。[3]如果我們在開課門數和總課時數上不變的條件下,我認為計算機有關專業,特別是高職學院的程序設計課應采用分期多語言并行教學,即要求教師同時用多種程序設計語言教學,同樣要求學生同時用幾門語言書寫和調試程序,如果按這種方法進行一下課程體系調整,就能使學生畢業時既學了多門程序設計語言、又能有較強的編程能力、求職時真正能達到專業對口、并且很快地參與到軟件開發課題中。

五、 多語言并行教學的可行性

多語言并行教學最大的疑惑是學生是否受得了?效果是否有改進?我們以小學生六年的部分學習課程來考察,列出如下表,設共有6年,每年均開六門課(數學、語文、英語、體育、音樂、政治),則開課的順序是按行順序:A行→B行→C行→D行→E行→F行(即第一年只開數學),還是按列順序:1列→2列→3列→4列→5列→6列(即6門課同時開),不言而喻按列順序好。若按行順序,即單門串行方式,在學三年級數學時大多會出現語文跟不上的現象,導致許多學生放棄學業,這時數學也就是三年級水平,而語文及其它課程均未入門。如果真是這樣開課每年不知要新添多少文盲。若是按列順序,即多門并行方式,即使學三年級數學時遇到困難,放棄學業,這時的數學是三年級水平,而其它課程也同樣也是三年級水平,況且這種現象很少會出現,80%的學生都能小學畢業。這時他們的各門課的能力基本上是均衡發展的。

若將QBASIC、FOXPRO、C、VB、VF、VC++語言比作數學、語文、英語、體育、音樂、政治六門課。每一門課都分為一到六章。

從上表分析得到:按列順序1列→2列→3列→4列→5列→6列,開課效果好,并且由于程序設計語言是大同小異,同一序號章節的內容基本相同,正是因為這一點,也許會有人說,一個學期開一章是不是太少?這樣教師才會有大量的時間講程序設計的思想,就能由小到大的講應用。學生也會有大量的時間練習和思考,當然可根據難易程度也可多章合并。象數學課一樣,邏輯思維能力逐步加強,是最能體現高職特色的一種教學體系。根據各校情況不一樣,可將各學期開設的內容分別稱為“程序設計入門”、“初級程序設計”、“中級程序設計”、“高級程序設計”、“面向對象程序設計”、“軟件開發技術”。

六、 多語言并行教學安排

其中的課時數應根據學校準備開設的語言門數進行適當的增減。建議一般開六門語言用64課時;4門語言用48課時;2門語言用32課時;即可分周完成,也可分期完成。

七、 目前存在的問題

多語言并行的安排,學生不但學會了多門語言,更重要的是學會了程序設計的思想,學生不再害怕程序設計了,他們中當然也會有編程高手和低手之分,但應該說有95%的學生能進行簡單程序設計;有80%的學生能進行較復雜的程序設計;有70%的學生能進行軟件開發。但目前存在的問題是教材;目前,市場上的程序設計課教材,基本上即是入門教材也是進修教材,給入門者用太難,給進修者又提供不了多少幫助。因此說程序設計課采用多語言并行教學,首先必須全面刷新程序設計課教材的體系。信息的發展呼喚優質計算機教材,我想按照上述思想將可出一系列新教材供程序設計課使用。

猜你喜歡
程序設計
基于OBE的Java程序設計個性化教學研究
“雙高”建設背景下程序設計類課程教學改革研究
基于Electron.js的風向玫瑰圖繪制程序設計與實現
計算機程序設計課程的線上教學實踐探索
課程思政視域下《高級語言程序設計》的教學探索
項目化教學在Python程序設計課程中的應用
C++程序設計課程教學改革研究
醫學專業“Python程序設計”課程教學改革總結與思考
“C語言程序設計”課程混合教學探索
Raptor可視化軟件與程序設計計算思維的協同運用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合