
摘要:根據信息與計算科學專業的培養目標,結合專業特點及學校實際,從課程整合、教材建設、教學模式和考核方式4個方面闡述計算機類課程如何進行教學改革,指出信息與計算科學專業計算機類課程教學中要充分發揮本專業的數學優勢,將數學知識和數學思維融入計算機課程,體現專業特色。
關鍵詞:課程整合;案例式教學;機房授課;項目式考核
0、引言
為使高等教育更好地適應信息社會的發展,教育部于1998年新增了一個數學類本科專業——信息與計算科學。設置該專業不僅較好地適應了新世紀以信息技術為核心的全球經濟發展格局下的數學人才的培養與專業發展,而且也對數學類專業的招生帶來了正面影響。自1999年以來,全國已有300多所高等院校注冊開辦了信息與計算科學專業。一時間,信息與計算科學專業成為各高校十分熱門的招生專業,且學校的招生規模非常驚人。從師資情況看,多數院校以數學教師為主,少數院校以計算機教師為主。
在信息與計算科學專業開辦之初,各大院校對專業培養模式大都處于探索階段,對信息與計算科學專業培養目標的定位、專業內涵、教學內容、課程設置等方面或多或少存在一些問題。有的學校把該專業辦成“數學+計算機”,有的學校辦成“計算機+數學”,有的學校干脆就辦成計算機專業,致使學生十分迷茫、不知道自己未來到底是干什么的,對自己的前途感到擔憂。河北聯合大學信息與計算科學專業自2000年開始招生,在過去的10多年里,我們不斷地摸索,本著教育部“強基礎、寬口徑、重實際、有側重、創特色”的辦學指導思想,調整課程結構,改革教學內容,改進教學方法,改變考核方式,在計算機類課程的教學中充分發揮本專業的數學優勢,培養數學類專業學生的計算機應用能力。
1、整合計算機類課程,形成一個系列課程
“課程整合”是指將原來自成體系的各門課程或各教學環節中有關的教學內容,通過新的組合方式進行整理與合并,使相關課程能夠形成內容冗余度少、結構性好、整體協調的新型課程,做到優勢集成,亮點聚合,以發揮其綜合優勢。目前,國內很多高校都在探討有關教學體系、學科結構、課程門類與內容的整合。為此,我們也從知識關聯度較強的課程入手,將信息與計算科學專業的6門計算機類課程進行有機整合,摒棄技術已經落后的內容,將最新技術補充進來,再結合該專業的特點,形成數學應用與編程基礎系列課程。課程體系調整前后的教學安排分別見表1和表2。
整合之前,雖然課程的安排也考慮了銜接順序,但是每門課程都是獨立的,由不同的教師講授,因此內容的銜接就會出現問題。例如C語言程序設計和數據結構,由于學生初學計算機語言課程,再加上學時的限制,在c語言課程的教學中,教師只能講授一些基本語法和控制結構,函數、指針、鏈表等內容根本沒時間講,而講授數據結構的教師本來教學內容就又多又難,沒有過多的時間去講C語言的內容,使得學生學習起來更加困難,也因此喪失了學習興趣。這些課程屬于計算機專業課程,不能發揮信息與計算科學專業的數學優勢。因此我們對課程進行了整合,具體思路如下:
將c語言程序設計和數據結構整合為C撐與數據結構,開設在第二、三學期;將可視化編程、面向對象編程和數學方法編程有機結合形成數學方法與編程,開設在第四、五學期;將Matlab等常用數學軟件與數據庫編程相結合形成數學軟件與混合編程,開設在第六學期;將計算機網絡和網絡安全進行整合再融入網絡編程內容形成網絡與程序設計,開設在第六、七學期。整合后,將c#程序設計基礎、可視化編程、數據庫編程和網絡編程分散到不同學期、不同課程的學習中,每門課的任課教師只需要講授和本課程內容相關的知識,使學生在有限的學時內分層次、分階段地學習C#程序設計,而且大學4年程序設計知識不斷線,由理論到應用再到實踐不斷提高。同時,從數學的角度切入計算機課程的教學,充分發揮了本專業的優勢。
2、適應專業需要,自編特色教材
目前,各院校數學類專業學生在選修計算機技術相關課程時,只能借用計算機專業教材,而計算機專業教材的教學內容并不能滿足數學類專業學生對計算機技術的教學需求,使得數學類專業學生不能很好地利用計算機工具幫助自己學習和應用數學專業知識。因此,我們編寫了《數學應用與編程基礎》系列教材,主要面向高等院校數學類專業學生。教材使用Microsoft Visual Studio 2010集成開發環境,以c#程序設計語言為主線,以數據結構、數學方法、數學軟件、數據庫、網絡編程等內容為載體,把數學知識、數學思維與軟件設計有機結合,分層次、有計劃地完成計算機程序設計語言的學習、應用與實踐,培養數學類專業學生使用計算機工具解決數學問題的能力,為信息與計算科學、應用數學等數學類專業學生提供合適的教材。
《C#與數據結構》是《數學應用與編程基礎》系列教材的第1部,包含兩部分內容,第1部分講述C#語言的基本知識,作為數據結構學習的基礎。考慮到學時的要求,本部分只講述C#的基本語法、控制結構、數組等基礎知識,以滿足數據結構的學習;第2部分講述數據結構的基本知識,包括線性表、棧和隊列、串、二叉樹、查找和圖論。相對于其他教材,本書淡化理論,重在實踐,以培養學生的動手能力。
《數學方法與編程》是《數學應用與編程基礎》系列教材的第2部,包含面向對象編程、WinForm可視化編程和數學方法編程3個部分的內容。本書以c#語言為基礎,以典型的數學算法為例講解WinForm程序開發,以提高數學類專業學生應用計算機求解數學問題的能力。
《數學軟件與混合編程》是《數學應用與編程基礎》系列教材的第3部,以軟件編程與數學思維的密切聯系為切入點,以“計算機程序設計的重要理論基礎是數學知識;軟件編程的基本思維方式是數學邏輯”的指導思想組織內容。本書分為數學軟件與混合編程兩部分,第1部分介紹Mathematica、Maple、Matlab和SPSS等常用的數學軟件及應用;第2部分以C群調用Matlab和SPSS應用技術為主線,講述了SQL Server數據庫編程技術、MATLAB創建COM組件技術、SPSS的二次編程接口技術以及Excel Link的強大數據處理功能,并給出了多個軟件間的混合編程案例,以提高學生的綜合編程能力。
《網絡與程序設計》是《數學應用與編程基礎》系列教材的第4部,包括兩部分內容。第l部分介紹計算機網絡基礎及其應用,系統講解計算機網絡的基本概念、計算機網絡體系結構以及計算機網絡安全的相關知識,介紹網絡操作系統Windows Server 2008的功能及管理;第2部分以ASENET Web開發技術為主線,以大量的案例講述使用c#2010進行Web開發的過程,向學生傳授編程經驗和技巧,培養學生的實踐創新能力。
3、改變傳統的教學模式,培養學生的實踐能力
3.1 案例式教學
案例式教學是一種運用案例進行教學的方法。在教學過程中,要求根據教學大綱規定的教學目的和要求,以實際案例為剖析對象,學生在教師的指導下,共同參與案例的分析、討論并尋求實現途徑。案例式的教學方法中,案例是主體和靈魂。在授課之前我們會根據每一章節的知識點、重點和難點設計一個典型的、貼近實際的案例。在教學過程中,首先,根據案例提出問題,闡述案例的背景,讓學生清楚地知道學完這一堂課后能夠解決怎樣的問題,學會什么技能,以吸引學生的興趣;然后,教師要與學生一起討論問題的解決,引導學生分析問題,在分析問題的過程中,講授所要用到的知識點;最后,教師為學生作榜樣,一步一步完成案例程序的開發。當然,用案例的方式組織教學,難免會遺漏一些零碎的知識點,對于這些問題,我們通過精心設計一些趣味性和實用性較強的課后作業來解決。為了完成這些作業,學生必然會主動尋求一些書籍或通過網絡尋找問題的解決方式,從而彌補教學漏洞。
案例式教學注重實例演示、動手實踐,與計算機類課程實踐性、操作性強的特點相一致。在案例的實施過程中不僅使學生掌握了知識點,還培養了學生分析問題和解決問題的能力,特別是運用計算機處理實際問題及獨立獲取新知識新技能的能力。同時,案例式教學過程中教師經常與學生溝通,互動性很強,通過與學生的問答交流,吸引學生注意力,讓學生感受到在整個講課過程中自己扮演著一個很重要的角色,從而提高了學生學習的興趣。
3.2 精講多練
信息與計算科學專業開設的計算機課程多為語言類課程,這些課程的教學目標是使學生具有開發應用程序的基本能力,能夠編寫、調試和運行實用、規范、可讀性好的程序。針對課程知識量大、學時相對較少的矛盾,為達到上述教學目的,我們采取“精講多練”的教學方式,充分鍛煉學生的實踐能力,最大限度地調動學生的主觀能動性。為此,在教學時淡化了繁瑣的語法規則,不一一羅列控件的大量屬性和方法,而以短小精悍、針對性強的實例引導出基本語法和主要的屬性、方法,從而使學生形成深刻、形象、牢固的記憶,同時能夠激發學生的學習興趣,提高學習效率。
3.3 機房授課
對于計算機類課程,傳統的授課方式是“多媒體教室授課+機房上機”。在教室上課,一般都是教師“滿堂灌”。學生只能聽著教師講,看著教師操作,基本處于一種被動的學習狀態。而且,理論教學與上機實踐不能同步,學生得不到及時訓練,不能及時鞏固所學知識,影響學生的學習興趣。鑒于傳統授課方式的種種弊端,經過與教務處和現代教育中心的協商,河北聯合大學于2010年開始將信息與計算科學專業的計算機課程全部安排在機房授課。在機房上課,每人一機,采用凌波多媒體教學系統,教師授課時使用“屏幕廣播+鎖定功能”。學生機屏幕顯示教師機授課內容,學生可以與教師同步編輯程序,程序調試成功所帶給他們的成就感和喜悅的心情,是在教室無法可比的。通過講練結合,實時輔導,及時實踐,加深學生對教學內容的理解和掌握,使學生能及時鞏固和消化所學內容,從而提高學生的學習興趣,培養學生的實踐能力。因此,機房授課的教學模式非常適合計算機類課程的教學。通過兩年的實踐,我們取得了很好的教學效果。
4、改革考試方式,注重實踐創新能力的考核
計算機類課程的操作性比較強,傳統的理論考試方式不能考核學生的動手操作能力和分析處理問題的能力。因此,我們借鑒一些學校考試改革的成功經驗,并根據具體課程的性質,在信息與計算科學專業的考試中設計了兩種改革方案。
4.1 筆試+上機
C#與數據結構、數學方法與編程兩門課程為專業基礎課,理論性較強,因此,對這兩門課程的考核我們采取筆試與上機考試相結合的方式。筆試為閉卷考試,課程結束后由教務處統一安排,題型多為選擇、填空和簡答題,體現基礎性,主要考核學生對理論內容知識點的理解和掌握情況;上機考試安排在最后一次上機實踐課進行,題型為2~3道綜合性較強的題目,要求學生在2個小時內編程實現,主要考核學生的實踐能力。
4.2 項目式考核
數學軟件混合編程和網絡程序設計兩門課程的綜合性和應用性較強,課程中涉及的都是成百上千行代碼的中型項目實例,主要訓練學生如何正確、高效地進行企業級應用軟件的設計與開發,向學生傳授大型應用軟件開發過程中用到的編程經驗、技巧和方法。上機考試由于受時間的限制,不能夠科學、全面、客觀地反映出學生的實際編程能力。因此,對這兩門課程的考核我們采取項目式考核方式。
在學期第一節課向學生宣布課程考核方式,并告知學生項目題材不限,但必須是本課程所講軟件類型,如網絡程序設計的項目必須是Web應用程序,項目的規模不能少于規定的代碼量。學生可以自由結組,3~5人為一小組,原則上是強弱組合,并設定一名編程能力較強的學生作為組長。組長在整個項目開發過程中,要負責召集組員一同研究項目選題、項目需求、設計和實現等,并依此確定人員分工。在第4--5周時,學生已經對該課程有所了解,我們要求學生上報各組要開發的項目題目,并附帶項目的簡介及用到的技術。教師要及時對這些題目進行審批,對過于簡單而導致組員工作量不夠或過于復雜而導致學生無法按時完成的題目予以駁回,并要求學生在規定時限內重新選題。題目審核通過后,學生自行安排設計和開發的時間和進度。學期的最后2~3周是考試環節,安排學生答辯,要求每個小組在此之前提交所有的文檔和程序。
項目式考核以小組為依托,為了培養學生的團隊協作能力,避免部分學生在團隊中不貢獻只共享的現象,我們將每個學生的個人成績與團隊成績和自己所做的貢獻聯系起來。具體來說,每個學生的總成績由平時成績(15%)、小組成績(35%)、學生互評成績(10%)和答辯成績(40%)4個部分組成。
(1)平時成績:教師根據出勤、作業和回答問題互動情況給出每個學生的平時成績,占總成績的15%。
(2)小組成績:教師從兩方面對小組提交的項目進行評價,并給出評價結果即小組成績。一方面考查學生撰寫技術文檔的能力,包括軟件功能文檔說明、開題報告、系統設計報告和總結PPT等;另一方面考查軟件總體完成情況,包括軟件功能的復雜性、完整性和有效性。
(3)學生互評成績:一位教師往往要面對幾十甚至上百名學生,很難對每個學生都有較準確的了解。只有學生之間、小組之間最了解彼此的真實情況。因此,我們引入了“自評互評”機制。項目完成后,每個小組成員填寫一份“自評互評調查表”,從組織協調能力、編程能力、創新能力、文檔總結能力等幾方面評價每個成員對項目開發的貢獻,給出評價結果,然后取平均分作為學生互評成績。為了防止學生間礙于情面,給小組成員中參與度不高的同學打高分,要求90分以上的人數不能超過20%,70分以下必須有1人。
(4)答辯成績:答辯考試不僅是考核過程,同時也是教學過程。在答辯的過程中,學生們可以了解其他學生所做題目的思路及使用到的技術,從而互相學習,互相借鑒,揚長補短,達到在考試中學習,在學習中考試的目的。因此,答辯時要求全體學生都參加,而且可以參與提問。每個小組答辯時間20分鐘左右,答辯內容分為學生自述和教師同學提問兩個環節,每位小組成員都要參加答辯。最后,教師根據每個學生的答辯情況給出答辯成績。
5、結語
針對信息與計算科學專業的特點,我們結合河北聯合大學的辦學思想和培養目標,整合了該專業的計算機類課程,調整了教學內容,將數學知識和數學思維融入軟件編程,體現專業特色,改革了教學模式與考核方式,并注重培養和考核學生的實踐創新能力。通過兩年的教學實踐表明,對于信息與計算科學專業計算機類課程的改革思路是行之有效的,激發了學生學習計算機類課程的興趣,開發了學生的潛能,提高了學生的編程能力和解決實際問題的能力。