?

項目教學在非計算機專業高級語言程序設計課程中的應用

2015-03-11 01:08曹陽張金區王興芳李慧
中國教育技術裝備 2015年2期
關鍵詞:非計算機專業項目教學

曹陽++張金區++王興芳++李慧

摘 要 針對當前非計算機專業的高級語言程序設計教學中存在的若干問題,從教學環節設計的角度闡述項目教學在實際教學中的應用方法,在培養學生學習興趣的同時,提高學生分析和解決實際問題的能力。

關鍵詞 項目教學;高級語言程序設計;非計算機專業

中圖分類號:G642.4 文獻標識碼:B

文章編號:1671-489X(2015)02-0098-03

1 引言

隨著計算機技術在各行業應用程度的加深,社會對具有各類專業背景的計算機應用人才需求不斷加大,客觀上要求各非計算機專業學生也必須掌握基本的程序設計技能[1]。目前,各大高校的許多非計算機專業也陸續開設了高級語言程序設計課程,旨在培養學生運用計算機及其相關知識解決本專業實際應用問題的能力,為未來的發展打下基礎,以適應2l世紀社會對復合型人才的要求[2-3]。

高級語言程序設計課程是一門實踐性和應用性很強的計算機課程。但是在針對非計算機專業學生的實際教學過程中,由于專業針對性不強、學生學習方法不正確等原因,學生對這門課的掌握程度并不令人滿意。目前,各高校多數選用C/C++語言作為學生入門的程序設計語言。C/C++語言功能強大,表達能力強,但其豐富的功能所帶來的繁多的數據類型和復雜的語法結構,給初學者產生不少困難[4]。而且非計算機專業的學生相對于計算機專業的學生而言,在專業特征、基礎知識等方面存在較大的差異,而且程序設計課程的教學目標和要求也有很大不同。如果在課程中只是簡單地搬用計算機專業的教學內容和教學方法,可能會造成學生在學習上的較大困難,從而導致學習效果不理想[5]。因此,根據非計算機專業學生的特點和培養目標,不斷地探討研究計算機程序設計課程的教學方法、教學模式,進行教學改革是十分必要的。

為了提高非計算機專業學生的計算機知識和編程水平,在華南師范大學非計算機專業學生的高級語言程序設計課程教學中實施項目教學法,學習活動圍繞若干個具體的項目主題展開,為學生創設真實問題情境和學習的環境,在激發學生學習興趣的同時,提高學生的分析和解決實際問題的能力。本文介紹在項目教學中的一些經驗和方法,特別是教學過程中的項目設計和教學實施的方法。

2 非計算機專業高級語言程序設計教學中存在的問題

對非計算機專業學生進行程序設計教育的目的并不是要把他們都培養成為計算機專家或專門從事計算機軟硬件系統開發的專業人員,而是以應用為目標,以計算機作為輔助工具,目的在于培養學生具備綜合運用計算機及其相關知識解決本專業實際應用問題的能力[6]。然而,在實際教學過程中,非計算機專業學生對這門課的掌握程度不能令人滿意,究其原因,主要存在以下幾點問題。

教學對象的專業特征和學習目標的不同 由于所學專業的原因,很多非計算機專業的學生沒有接觸過計算機語言,在基礎知識、專業知識等方面存在較大的差異。此外,不同專業對于課程的要求不盡相同,對于學生的實踐動手能力的要求也略有差異。同樣的教學方式對不同專業起的效果差異很大。如在“指針”的教學過程中,對于計算機專業的學生,要求他們能夠熟練掌握由指針創建鏈表的相關操作,為后續的數據結構和算法設計等計算機課程中的編程打下基礎;而對于非計算機專業的學生來說,指針內容本是學習難點,但不一定是學習重點,因為在后續的課程學習和應用中,指針的用處有限,在一知半解的情況下使用,還容易給程序造成致命錯誤。

此外,在很多高校計算機專業的教學中,高級語言程序設計的課程分在兩個學期開設,分別講授結構化程序設計方法和面向對象程序設計方法。然而,對于大多數非計算機專業的學生來說,由于學時的限制,高級語言程序設計往往只開設一學期,因此,教師和學生在面向對象程序設計的教學和學習中投入時間非常有限。

學生的學習目的不明確,學習興趣不高 作為一門公共基礎課,很多學生對此課程的重視程度不夠。有些學生認為自己今后不做程序設計工作,計算機語言課程跟自己的專業沒太大關系,學的好壞都無所謂[7]。有些學生為了在就業過程中多一個籌碼,對課程的學習主要是為了通過計算機等級考試,沒有真正認識到開設這門課程的目的與意義。因此,他們對知識總是被動地記憶,遇到問題不會理性地思考和分析,更經不起挫折,在上機實踐過程中一碰到問題就驚慌失措,急于尋求教師幫助,漸漸地就對編程產生畏懼感和排斥心理,編程能力難以提高。

非計算機專業的學生普遍存在程序設計能力不足以及缺乏必要的程序調試能力 因為各方面的原因,非計算機專業的學生學習程序設計會遇到許多困難,有些即使是課堂上聽懂了,但自己做習題時常常無從入手。實驗時,許多學生往往是把書上的例題照原樣輸入,運行出結果就算大功告成,不愿意去思考,不能舉一反三。當程序運行出現了錯誤信息時總感到毫無頭緒、無處下手,不會進行基本的調試操作,遇到問題不會理性地思考和分析[8]。

針對上述問題,本文探討在非計算機專業學生的高級語言程序設計課程中采用項目化的教學方法,希望能夠充分調動學生主動學習的積極性,引導學生開動腦筋,思考、研究所學知識,達到增強教學效果的目的。

3 項目教學法的設計

項目教學法是以項目主題為中心,學生在教師的指導下完成一系列學習活動的方法[9]。學習過程中圍繞幾個具體的學習項目,用實踐項目進行新知識的引入,激發學生學習的原動力,讓學生學有所用。在非計算機專業學生的高級語言程序設計課程中實施項目教學,是在激發學生主動學習熱情的同時,培養學生“探究性”學習的能力,使學生在發現問題、解決問題的過程中對所學知識加以深化理解、融會貫通,從而培養非計算機專業學生綜合運用計算機技術和編程工具解決本專業實際問題的能力。

課程項目設計 課程項目的設計是項目教學的關鍵環節,項目設計的好壞直接影響教學效果。在教學實踐中,課程項目設計的整體思路是:以一個完整的項目貫穿整個課程教學,同時由多個與所學知識點密切相關的小型項目來驅動整個教學過程。endprint

1)在教學實踐中以一個完整的項目貫穿整個教學過程,并根據教學知識點推進設計項目的子任務。如采用“學生成績管理系統”作為貫穿整個課程的項目任務,在授課初期,先告知學生這門課需要完成的綜合性設計項目是一個具備成績統計和查詢功能的學生成績管理系統;然后在授課過程中,根據教學任務逐步給出設計項目的子任務要求。

例如:在學習程序設計初步的“順序、選擇、循環”結構時,提出的任務要求是通過三個基本結構,實現從鍵盤上循環輸入學生成績,并通過格式判斷,對輸入有效的成績進行總分和平均分計算;在講授“函數”知識點的時候,要求學生用函數的形式對學生成績輸入、格式判斷和成績統計的功能進行封裝;在講授“數組”知識點的時候,要求學生將成績用數組的形式進行存儲,并實現成績的排序功能;在講授“結構體”知識點的時候,要求將學生的學號、姓名和成績等信息存儲在結構體變量中,采用結構體數組的形式實現按照姓名或學號查詢成績的功能;在講授“文件操作”知識點的時候,要求學生將成績以一定格式存儲在文件中,并實現查詢和修改的功能。依此類推,可以根據課程的教學內容,對綜合性項目的功能提出各種新的要求。

最后,到課程結束之前預留一段時間,要求學生選擇最佳的數據結構和編程方法實現整個學生成績管理系統的所有功能,這就需要學生具體分析、認真比較,選擇一種最佳方案來實現系統。

除此之外,教師還可以根據學生的學習能力和編程水平,提出項目的擴展性要求。如針對非計算機專業的理工科學生,根據他們的專業特點和后續的學習任務,要求他們設計并實現一個具有查詢和統計功能的數據分析系統。這類項目任務可以給予學生更加廣闊的創造空間,有利于學生舉一反三的能力和創新意識的培養。

2)在課程學習的過程中,根據教學的知識點設計不同教學階段的小型項目,使學生在真實的項目情境下應用舊知識,探索新知識,加深對所學知識的理解、鞏固和遷移。例如:“順序結構程序設計”的學習中要求實現“從鍵盤輸入一大寫字母,要求改用小寫字母輸出”;在“選擇結構程序設計”的學習中要求實現“輸入一個百分制成績,要求輸出成績的等級‘A‘B‘C‘D‘E”;在“循環結構程序設計”的學習中要求實現一個猜數字游戲,并根據猜數循環的次數計算積分;在“數組”的學習中要求實現“用選擇法對10個整數排序”;在“函數”的學習中要求實現“用遞歸法將一個整數轉換成字符串”;等等。

這些項目的實施可以較好地調動學生的學習興趣,讓學生在實踐過程中理解和把握課程要求的知識和技能。最終,通過項目教學改革,使得學生從被動學習轉變為自主學習,變“我會做”為“我能做”“我愿做”,達到增強教學效果的目的。

項目教學的實施方法 根據課程項目設計和學生的特點,在教學實踐中主要采用以下幾種方法開展項目教學。

1)分層次的教學要求。非計算機專業的學生來自不同的專業,不同專業對于程序設計類課程的要求不盡相同,而且不同學生的知識基礎、智力水平和學習能力也各有差異。因此,在項目教學的設計中,劃分三個層次的教學要求,以增強教學的針對性,做到因材施教。

基本要求:要求學生獨立完成根據教學知識點設計的難度適中的各個小型項目,培養獨立編寫、運行、調試簡單程序的實踐動手能力。

提高要求:要求學生在掌握教材知識點的基礎上完成難度較大的項目任務,并能夠把所學的知識點組合起來,完成綜合性項目(如前述的“學生成績管理系統”)的實踐要求,進而提高學生對編程的興趣和實際動手能力。

擴展性要求:根據專業特點,要求學生在力所能及的情況下完成擴展性的實踐項目(如前述的“數據分析系統”)。

這就需要學生在牢固掌握程序設計方法的基礎上閱資料,補充學習相關知識后方能完成項目,進而培養學生的自學能力和創新意識。

2)個人任務型和小組合作型相結合的項目組織模式。個人任務型項目主要是指為不同教學知識點設計的小型項目。這類項目的組織模式要求學生個人獨立編寫、運行和調試程序,掌握程序的運行原理和程序編寫的步驟,從而鍛煉學生的邏輯思維能力和實際動手能力。

小組合作型項目主要是指難度較大的綜合性項目。這類項目的完成以小組為單位,每組3~4人,在組長的帶領下進行討論,并在教師的指導下查閱資料。各小組根據組員特長分工,最終完成任務,并進行成果展示和分組評比。教師在整個過程中的主要作用是為學生提供適當的組織、協助與點評。通過項目實踐和團隊合作,有助于學生樹立自信心,培養團隊意識。

3)課堂教學與課外自學相結合的教學策略。由于學時的限制,在理論課上向學生講授所有的知識點是不現實,而且實驗課中可以讓學生用于完成項目的時間也非常有限。因此,引導學生在課外時間自學,自主完成課程項目的任務,是完成教學任務、增強教學效果的關鍵。在課堂上,教師在講授課本知識點的同時,為學生提供參考文獻和網絡資源,將一些知識點(如指針和面向對象編程)的學習從課堂延伸到課外,積極鼓勵學生課后利用圖書館和互聯網進行自主學習。在項目實施的過程中,教師將項目內容階段化、任務化,引導學生開展學習和實踐活動。實驗課的時間主要用于項目任務的講解、實踐指導、答疑和檢查。學生有明確的任務目標后,利用課余時間尋找和學習相關知識,完成項目的設計和編程。此外,作為高級語言程序設計課程的外延,教師還可以鼓勵學生積極參加各種實訓和競賽,如“ACM 程序設計大賽”“機器人挑戰賽”“挑戰杯”“大學生創新創業計劃”等。通過參與這些創新性的訓練,可以進一步提升學生的計算機應用能力和信息素養。

4 結論

在非計算機專業學生的高級語言程序設計教學中,傳統的教學方法教學效果不夠理想。而項目教學法符合計算機編程語言實踐性較強的特點,有利于提高學生學習積極性,培養分析和解決實際問題的能力。在非計算機專業高級語言程序設計課程的教學實踐中,探索出一套有針對性的、行之有效的改革辦法,通過基于項目的教學活動開展,為學生創設真實問題情境和協作學習的環境,在激發學生學習興趣的同時,提升學生的計算機綜合應用能力,對非計算機專業計算機類課程教學有一定的參考和借鑒意義。

參考文獻

[1]陳兆學.非計算機專業C++面向對象程序設計課程“混合式”雙語教學的研究與實踐[J].計算機教育,2011(10):

81-83.

[2]潘麗麗,鐘少宏,姜瑜.非計算機專業C語言程序設計實驗教學模式[J].計算機教育,2011(18):81-83.

[3]李軍莉.大學計算機語言教學方法的研究[J].教育教學論壇,2014(2):54-55.

[4]張建珍.C語言教學方法探究[J].計算機教育,2007(18):

12-13.

[5]陳偉宏,何建新,習勝豐.高校非計算機專業C語言教學改革探討與實踐[J].中國電力教育,2013(34):101-102.

[6]聶林娣,楊慧.高校非計算機專業計算機基礎教學改革的研究與實踐[J].電腦知識與技術,2006(29):192-193.

[7]肖何,鄧利平.關于提高非計算機專業《C語言程序設計》教學效果的研究[J].電腦知識與技術,2013(17):4064-4066.

[8]林山.高校非計算機專業的計算機語言教學方法改革探討[J].硅谷,2008(23):146.

[9]徐銘洋,王文華.探析項目教學法[J].電子世界,

2013(10):203-204.endprint

猜你喜歡
非計算機專業項目教學
非計算機專業計算機基礎教學的總結與思考
高校非計算機專業計算機網絡基礎教學改革探究
以就業為導向,高職教育中《兒童常見病護理》課程教法的實踐與研究
程序設計課程中計算思維和應用能力培養問題研究
基于多元智能理論的高職項目教學分組學習探討
基于項目教學的人才培養模式改革
非計算機專業VF課程優化教學研究
河南高校非計算機專業學生計算機能力模型研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合