摘要:在計算機專業應用型人才的培養過程中,程序設計能力是衡量學生專業水平的一個關鍵因素,是影響計算機專業學生就業率的一個重要因素。通過對課程群建設的理論分析,結合我校的實際情況,針對計算機專業的程序設計課程群建設進行規劃,切實培養學生程序設計的學習興趣,促進計算機專業應用型人才的培養。
關鍵詞:程序設計;課程群;計算機專業;應用型人才
中圖分類號:G40文獻標識碼:A文章編號:1009-3044(2010)05-1276-03
Strengthening Program Designing Curriculums Group Construct to Cultivate Computer Applicative Talents
LEI Hong-Yan, ZOU Han-Bin
(School of Computer Sciences and Technology, Hu'nan University of Arts and Science, Changde 415000, China)
Abstract: The program design capacity is a key factor of measuring the students professional standards, and an important factor of affecting the employment rate for computer science students in the computer science applicative talents cultivation process.Through the theoretical analysis of the curriculum group construction, in this paper planned computer science programming courses Group Construction, combined with the actual situation of our school, to effectively develop students interes tof program designed, and to promote computer science applied talents clutivate.
Key words: program designing; curriculums group; computer major; applicative talents
目前雖然國內許多高校在開展課程建設、課程體系建設的同時也在開展課程群建設研究,但由于我國開展課程群建設時間較短,對課程群建設尚缺少完善的理論支持。我校以課題立項的方式正在開展課程群建設的研究工作,將深入研究課程群建設理論、課程群建設的實施方法和課程群建設績效的評估等幾個方面的內容。本文以計算機專業的程序設計課程群為研究對象,分析了我國課程群建設的現狀,對課程群的建設理論進行分析,并對課程設計課程群進行規劃設計,切實培養學生程序設計的學習興趣,促進計算機專業應用型人才的培養。
1 課程群建設的實際情況簡析
至今為止國內許多高校以多門課程組合的形式進行課程群建設。1990年,北京理工大學在基于“在課程建設中應當以教學計劃的整體優化為目標”中提出了要注重課程群的建設與研究后,許多高校陸續以課題立項的方式開展了相同或相似的課程群建設的實踐工作[1-2]。但在課程群的建設過程中有許多的實際問題并不是課程群的研究者所能左右的,如教學計劃的修訂、教學知識點的分解與融合、師資力量的分配、課時數的確定等。一般的學校在教育部的本科合格評估中對這些問題都有嚴格的界定,一般的研究者不可能隨意更改,所有現在許多與課程群相關的改革研究工作只停留在理論研究甚至是理論設想的階段。這樣問題的解決實際上需要學校有一套行之有效的管理辦法,可以使課程群建設的研究者在提出方案后能進行必要的探討、論證,并能進行實施。
我們學校對于學科建設作了大量的工作,如確定了學科發展方向、確定了學科帶頭人、建立了與學科發展相關的精品課程等。對于課程群的建設才剛剛起步,現在正以課題立項的方式對課程群建設的理論進行分析和探討,并準備以計算機專業課程群設置為例,提出課程群設置的有效方案、實施辦法和評價標準,為進一步實施課程群建設和課程群教學改革提供依據。
2 課程群建設的原則
課程群是以現代教育思想和理論為指導,對教學計劃中具有相互影響、密切聯系、互動有序的相關課程進行重新規劃設計和整合構建的課程集合,它一般從屬于某個學科門類,有著整體的教學要求,具有模塊化的教學內容,群內各課程之間能較好地體現出有機滲透性和整合性,有利于發揮群體優勢[1]。課程群是基于知識體系構筑的有機的課程體系模塊,是課程群師資的優化與整合,是承擔人才培養重任的主體,也是承載課程群建設的實體。因此,課程組設置的原則是在整合課程資源、構建新課程體系的前提下,堅持個人自愿與系部統籌相結合的原則,在全院范圍內將所有教學的專職教學科研人員進行重組,并按不同課程模塊來整合師資構建課程組。筆者根據文獻的分析并結合教學的實際情況認為課程群建設應該遵循如下幾個原則:
1) 核心課程地位突出原則。一個課程群中的核心課程應該是為實現專業培養目標,對學生掌握專業知識和培養核心能力,對提高該專業核心競爭能力起決定作用的課程[3]。課程群中的其它課程課程是作為該課程的基礎并為該課程服務的課程。在課程群的建設過程,知識點的分解與融合、教學內容的銜接、師資力量的分配、課時量的均衡等方面要充分突出核心課程的地位,都要圍繞核心課程展開。核心課程體現了課程群在專業發展中的地位,體現了專業的分支方向。
2) 課程相關性原則。課程群不是幾門課程簡單的組合、疊加,而是基于知識體系構筑建立有機的課程體系模塊。課程群是由教學內容相互聯系、邏輯和結構上可以規劃整合并形成有機整體的相關課程組成[4]。從內容上看,各門課程相互之間有內在的聯系與傳承關系。課程群建設弱化了課程的獨立性,強化了課程之間的相關性,凸顯它們為共同培養目標的服務特征,突出各課程所蘊含的技能定位,把圍繞一個技能培養目標的、含有若干課程中的技能點抽象出來,在一個更高層次上連貫起來,使該技能的培養隨課程教學的推進而不斷遞進、加深和拓展。課程群在形式上與課程教學模塊相似, 但它注重技能培養,弱化課程個性概念, 強化課程內容之間的融合、交叉和關聯,圍繞技能培養目標強調課程教學內容的取舍和改革,打破課程間壁壘,優化課程體系,整合更新教學內容和教學方法等的過程。這就要求我們在進行課程群建設時,充分考慮課程群內諸課程在結構、內容、教學學時數及時間分配等方面的相互關系,以提高教學效率和教學質量。
3) 目的確定原則。程群的建設,要有利于疏通專業知識、專業技能、課程、教材之間的關系,便于學生學習、理解和掌握[5]。課程群的建設,要便于專業教學計劃的組織與實施。專業主干課程群的設置有助于教學計劃的合理和優化, 專業課程群的建設有助于構建新型的課程體系,對其它課程起到示范、輻射作用,同時有助于推行以技術應用能力為目標的教學法和教學手段的改革和實施。課程群建設的根本目的是深化課程改革、整合課程教學內容,提高教學質量。課程群建設要有效實現專業建設的規模效益,刪除課程間內容重復的部分,增加了新的有利于提高學生競爭力、提高教學質量、提高辦學特色的新內容。對課程內容整合,制定完善的課程教學標準和課程教學內容結構,提高教學效率,進而提高教學質量。課程群建設要有利于學生專業技能的培養,專業素養的養成和團隊精神的形成。課程群建設要有利于師資隊伍的建設,師資隊伍建設是課程群建設的主要內容之一,能否形成一支教學能力強、專業技術扎實、素質高的教師隊伍是衡量課程群建設成果的重要標準。
4) 資源整合原則。課程群的建設工作的關鍵之一就是課程群如何融合和分解,它是對課程的再設計。課程的再設計應有利于教育目的的實現,有利于學校培養目標的實現和課程的有效實施。課程群的各門課程從內容上看,相互之間的內容縱向有傳承關系、橫向有內在聯系,但又自成體系。為此課程群建設必須立足整個課程群體,對課程群的所有內容進行整合,減少課程內容的重復,增加新的有利于提高學生競爭力、提高教學質量、提高辦學特色的新內容,使課程功能更完善,從而實現課程結構、課程體系和功能的優化。課程群建設是課程組合知識體系的重組,包括課程內容、課程結構、理論教學模塊、實踐教學模塊等,是對教學大綱和教學計劃的再設計。課程群建設與單一課程建設顯著區別就是將相關的幾門課程結合在一起進行整合。為了刪除繁瑣、重復和過時內容并增加新的內容,必須跳出單門課程建設中過于強調課程內容系統性的框框。要立足于大課程建設,即將幾門課程融合為一門大課程,并對這一大課程進行系統的內部結構調整及內容的重組。
5) 學科發展原則。在課程群的建設中要緊密結合學科發展方向,應該除掉過時的且與學科發展不相關的教學內容,增加一些與學科發展相關的研究熱點和研究難點,激發學生的學習興趣,培養學生認識新知識,探索新問題的能力,為學生畢業后從事專業工作打下良好的基礎。高等教育中學科發展中知識的更新速度是非??斓?,在學校不可能把所有與學科相關的知識全部介紹,但有必要在課程的建設過程中涉及到與課程群相關的知識,可以使學生了解所學的知識的發展狀況,使學生認識到所學知識的必要性,使學生理解所學知識的本質作用,為學生畢業走向工作崗位,適應新的環境,學習新的知識打下基礎。
3 程序設計課程群建設規劃
1976年瑞士計算機科學家Niklaus Wirth提出了一個著名的公式:算法+數據結構=程序。他認為程序技術在數據某些特定表示方式和結構的基礎上對抽象算法的具體表述。在此,程序設計課程課程群可以確定由高級程序設計語言、離散數學、數據結構、算法分析四門課程組成。對該課程群的建設從如下幾個方面進行規劃:
1) 知識點的分解與融合。屬于同一課程群的課程之間在知識點上有一定的相關性,知識點有重復的情況,對知識點進行分解和融合可以使課程之間的關系更加清晰,層次分明,使學生在學習的時候能了解所學知識的遞進關系[6]。高級程序設計語言包含的內容為:數據類型、函數、數組、指針、構造類型、文件;數據結構的內容為:線性表、樹和二叉樹、圖、查找、排序;離散數學的內容為:數理邏輯、函數和關系、樹和圖、代數系統;算法分析與設計包含:遞歸與分治法、動態規劃、貪心算法、回溯法、分支限法、概率算法、線性規劃和網絡流、完全性理論與近似算法。數據結構與離散數學是數據結構的先修基礎課程。數據結構的樹與二叉樹、圖與離散數學中的圖論雖然描述方式不同、側重點不同,但實際內容一直,存在重復。從數學課程的教學特點出發,在圖論中以圖的基本概念為主,重點突出幾種特殊圖的特點與應用;在數據結構中有關圖的內容可以作為閱讀內容,重點介紹圖的存儲結構、圖的表示與實現以及與圖相關的算法。
在數據結構的學習中,許多學生覺得自己的高級程序設計語言知識掌握得不牢固,學習吃力,主要原因有個方面:一是在程序設計語言的教學過程課時少,在開始的時候老師為了使學生入門,講得認真仔細,花費了一定的教學時間,在后面講指針、構造類型的時候由于時間的關系,速度快、內容進行精簡,學生以為不重要,沒有很好的掌握。但這部分內容在數據結構的學習中基本上每章都會使用。在課程群的建設過程,應該考慮到出現的問題,對教學計劃根據實際情況進行調整,使學生在學習一們課程的時候,即能掌握本課程的基本內容,又能了解該課程相對于后繼課程的重要性。
算法分析的一些內容實際在數據結構中也有體現,如算法分析、遞歸、回溯法。在數據結構的學習過程可以把這部分知識加強,而在算法分析中這部分內容可以不講,可以作為學生自學部分。這樣可以避免前面講了學生不清楚,而后面再講,學生認為前面學了,不重視。
2) 實驗教學內容的整合。實驗教學在程序設計課程群的教學過程是非常重要的。程序的實現是學習的最終目標,在程序的編譯調試中可以進一步加強學生對知識的理解。但在實驗教學中,老師不像理論課那樣講,主要以學生上機調試程序,解答問題為主。實驗教學內容可以根據理論教學內容、分階段進行整合。程序設計的實驗主要以驗證實驗為主,包含簡單程序設計、分支程序、循環程序、函數的使用、數組的使用、構造類型的定義與使用。
離散數學大部分學校都沒開設實驗課,主要以理論講述為主。但實驗課的開設可以讓學生進一步加深對所學知識的理解,可以推進數學知識的應用,如電子科技大學就在理論數學課程中開設了實驗。數據結構的實驗內容主要以應用為主,在教學過程中除了重視數據的存儲結構與基本操作的實現外,在實驗中要整和與高級程序設計語言相關的內容,如指針、結構體等的。
算法分析與設計的實驗內容在驗證與應用的基礎上,可以對算法的時間、空間復雜度分析的基礎上進行算法性能的改進,再使用高級語言編程進行驗證。
在課程群的實驗教學過程中,都是以高級程序設計語言作為編程工具,所以高級程序設計語言的實驗教學應該明確每堂課的任務和目標,老師對實驗內容進行講解、學生課前準備,實驗中老師答疑問這樣一個步驟來完成。在內容的整和上主要是根據內容的約束關系進行整和,打破課程、實驗、師資等方面的壁壘。根據培養目標,從邏輯上和結構上加強各門實驗課程的聯系和綜合,使教學資源實現共享配置以提高整體辦學效益。
3) 綜合課程設計的構建。課程設計可以讓學生掌握課程內容的綜合運用,為畢業設計作準備。根據教學計劃,高級程序設計語言、數據結構都開設了課程設計。但大部分課程設計的選題都是在重復實驗的內容,由于在實驗環節沒有過關,課程設計成了上網下載調試,最后學生為了應付完成任務就相互之間復制課程設計報告。課程設計課題的選擇,設計內容的要求要能整和該課程的部分內容,使學生了解課程的應用范圍,掌握任何進行應用的方法。對于提高學生的編程能力,構建綜合課程設計具有重要的意義。
綜合課程設計按照一個完成的項目要求設計,具有一個完整的功能,具有實際意義,以實際數據進行驗證。綜合課程設計可以在課程群所包含的所有理論課程學習結束后開始,在時間的安排上不能像課程設計那樣安排一周、二周的時間,而是分段集中講解、答疑、跨學期進行。在題目的論證、文獻的閱讀、資料獲取、設計、編程過程中時間上沒有嚴格的限制,讓課程設計不成為學生的負擔,使學生在課程設計過程找到學習的方法與學習的樂趣。
4) 理論與實踐教學的規范。按照教學管理的要求,任何課程的理論和實踐教學都要嚴格的時間限制,但由于師資水平和學生能力的差異,使不同班級不同老師講授的同一們課程進度不同一,內容也課程存在增減。為了達到課程群在知識點融合、分解過程中取得整體優化的功效,規范理論與實踐教學的內容尤顯重要。
理論課程的教學內容可以按照章節進行規范,每章老師要講述的知識點、重點和難點都要有明確的要求,根據實際情況可以在課時上有一定活動范圍,但要講的一定不能減,否則學生考試的時候是通過了,但在后繼課程的學習過程中會因為前面課程的基礎不扎實而學習困難。規范過程可以在相關責任人組織課程群建設的相關老師在集體討論分析的過程中完成。
實驗教學是程序設計課程群建設的關鍵,因為它與學生動手能力的培養密切相關。實驗課時相比課程理論課時少,基本上是一次課一次實驗?,F在一般學校的實驗課是上課的時候老師布置任務,學生就開始編程,但實際上由于學生能力和時間的限制,很多學生在規定的時間根本完成不了實驗,有的同學可能根本無法動手做,因此實驗教學內容應該進行規范。實驗教學首先要規范教學順序,其教學順序是:老師布置實驗內容,學生課前準備的內容,老師講述實驗的具體內容,學生實驗完成的內容。教學內容也要嚴格規范,使學生一次實驗就能掌握一個知識點。
5) 基礎理論與熱點理論的關聯。計算機科學發展速度非常快,而課堂教學的教材服務教學的時間較長,一些與學科相關的新理論在教材中并沒有體現,但學生畢業后涉及這些新理論的概率非常大,因此在課堂教學過程中增加一些與教學內容相關的新知識,對于教學質量的提高和課程群建設的質量都具有重要的意義。
計算機的熱點理論包含的內容非常多,包含人工智能、模式識別、圖像處理、數據挖掘、智能計算、網格等多方面,這些問題實際都涉及到算法,這些問題的研究都是在研究算法、提高效率、提高算法執行結果的質量以便更好的應用到實際應用領域中。在程序設計課程群的建設過程中,適當引入與此相關的一些問題,可以使學生了解學科發展的方向,明白學習內容的作用,增強學生的學習積極性。
4 結束語
課程群建設從邏輯上和結構上可以加強各門課程的聯系和綜合,使教學資源實現共享配置以提高整體辦學效益,建設的目的是提高人才培養質量、提高課程群建設水平、實現課程群建設的規模效應、提高課程群建設效益等。通過對課程群建設實際情況和理論分析,結合我校計算機專業的實際情況,針對的程序設計課程群的建設進行規劃。程序設計課程群的建議可以解決一些在實際教學過程中出現的一些問題,增強學生程序設計的學習興趣,促進計算機專業應用型人才的培養。
參考文獻:
[1] 陸為群.高師院校課程群建設的原則和策略[J].黑龍江高教研究,2007(11):110-112.
[2] 郭必裕. 課程群建設與課程體系建設的對比分析[J].現代教育科學,2005(4):114-116.
[3] 范守信.試析高校課程群建設[J].揚州大學學報:高教研究版,2003(3):25-27.
[4] 胡恩明.人才培養模式改革整體設計研究與實踐[M].北京:高等教育出版社,2004:2-16.
[5] 李林.數學系列課程改革研究與實踐報告[M].北京:高等教育出版社,2004:62-80.
[6] 劉全利,黃賢英,張光建.計算機組成與設計課程的綜合性改革[J].重慶工學院學報,2007(9):154-156.