李穎 徐秀娟
【摘 要】針對當(dāng)前信息與計算科學(xué)專業(yè)的計算機(jī)課程設(shè)置的應(yīng)用性較弱,提出以面向就業(yè)和升學(xué)的系列課程改革,并以數(shù)學(xué)方法編程課程為例,從教學(xué)內(nèi)容、教學(xué)模式和考核手段等多方面進(jìn)行闡述。經(jīng)過近四年的教學(xué)實踐驗證,此次教學(xué)改革是現(xiàn)今計算機(jī)教學(xué)中一種比較成功的培養(yǎng)模式。
【關(guān)鍵詞】教學(xué)改革;數(shù)學(xué)方法編程;項目驅(qū)動
一、背景
在應(yīng)用型本科院校的信息與計算科學(xué)專業(yè)中,計算機(jī)類課程是其重要的組成部分。但與計算機(jī)專業(yè)課程的側(cè)重點不同,信科專業(yè)的側(cè)重點在于軟件應(yīng)用。傳統(tǒng)的課程設(shè)置為C語言、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、軟件工程等。這些課程與學(xué)生的就業(yè)市場需求有差距,很多學(xué)生為此參加校外輔導(dǎo)班,花費不菲。同樣這些課程與學(xué)生的深造需求也有差距,研究生的培養(yǎng)需要學(xué)生對基礎(chǔ)理論知識進(jìn)行改進(jìn)和創(chuàng)新,而對于改進(jìn)后的算法是否有效,需要用實例檢驗,這些實例通常含有很多數(shù)據(jù),所有要求學(xué)生能夠熟練運用編程語言,對改進(jìn)后的算法進(jìn)行實現(xiàn)。
二、課程改革
對于以上的需求差距,我系對計算機(jī)類課程進(jìn)行了改革。設(shè)置了C#與數(shù)據(jù)結(jié)構(gòu),數(shù)學(xué)方法編程,C#與數(shù)學(xué)軟件混合編程,網(wǎng)絡(luò)程序設(shè)計四門課程。C#與數(shù)據(jù)結(jié)構(gòu)講授了控制臺程序和數(shù)據(jù)結(jié)構(gòu),數(shù)學(xué)方法編程課程講授winform程序和數(shù)學(xué)算法的實現(xiàn)。C#與數(shù)學(xué)軟件的混合編程講授SQL數(shù)據(jù)庫和與SPSS、MATLAB等數(shù)學(xué)軟件的鏈接。網(wǎng)絡(luò)程序設(shè)計講授網(wǎng)站編程。這些課程設(shè)置既滿足了學(xué)生的就業(yè),能夠直接用ASP.NET Web開發(fā)技術(shù)開發(fā)信息管理系統(tǒng),又滿足了學(xué)生的深造,能夠用C#語言對復(fù)雜數(shù)學(xué)算法進(jìn)行實現(xiàn)。能夠把學(xué)生培養(yǎng)成為既熟悉專業(yè)知識又掌握程序設(shè)計的復(fù)合型人才。
三、教學(xué)實踐
我系的課程改革是系列課改革,工作量較大,涉及范圍較廣。在這里以數(shù)學(xué)方法編程課程為例,談一下教學(xué)改革實踐方案。
1.教學(xué)內(nèi)容
數(shù)學(xué)方法編程課程以數(shù)學(xué)分析、高等代數(shù)和概率論與數(shù)理統(tǒng)計的典型算法為例,利用C#語言在winform環(huán)境下開發(fā)實現(xiàn)。這樣做我們既可以讓學(xué)生復(fù)習(xí)已學(xué)數(shù)學(xué)課程的算法,更加深刻理解算法及算法間的聯(lián)系,又可以讓學(xué)生練習(xí)winform編程,提升數(shù)學(xué)算法的編程能力。
比如設(shè)計一個利用梯形法計算定積分,考慮到梯形法是計算定積分的基本方法,其它方法是它的改進(jìn),我們可以把梯形法作為一個類來設(shè)計。為了使被積函數(shù)的使用范圍廣,我們仿照MATLAB程序設(shè)計界面,按五種基本函數(shù)類型設(shè)計輸入模式,這使在梯形公式中使用的被積函數(shù)是不同的,為了提高程序的可擴(kuò)展性,我們根據(jù)輸入函數(shù)類型利用委托讓被積函數(shù)指向不同的函數(shù)類型。在接下來的課程中用Romberg積分法計算函數(shù)的定積分,我們采用繼承梯形法中的基類,派生出Romberg積分法的類,這也有助于學(xué)生理解兩種積分方法的關(guān)系,為了配合Romberg積分法,我們定義了動態(tài)數(shù)組存儲中間結(jié)果,這有利于學(xué)生復(fù)習(xí)動態(tài)數(shù)組用法。
2.教學(xué)模式
為了培養(yǎng)學(xué)生的學(xué)習(xí)興趣、提升學(xué)生的自學(xué)能力,我們采用讓學(xué)生主動學(xué)習(xí)和加強復(fù)雜算法實現(xiàn)的新型教學(xué)模式。傳統(tǒng)的“教師講,學(xué)生聽”課堂灌輸式教育通常會造成學(xué)生眼高手低,缺乏學(xué)習(xí)興趣,動手能力較弱等缺點。我們可以采用發(fā)現(xiàn)/啟發(fā)式教學(xué)模式,首先觀察數(shù)學(xué)軟件的實現(xiàn)模式,然后照此設(shè)計界面和程序。教師幫助學(xué)生分析問題,提醒學(xué)生數(shù)據(jù)的存儲結(jié)構(gòu)需要改變,而具體的實現(xiàn)方法又讓學(xué)生自己選擇,以啟發(fā)式和項目驅(qū)動方式培養(yǎng)學(xué)生的自學(xué)能力和動手能力,提高學(xué)生的學(xué)習(xí)興趣。
3.教學(xué)手段
對于計算機(jī)類的課程,最有效的提高編程能力的方法就是多上機(jī)實踐。所以本課程采用在機(jī)房授課的方式,實例演示直接在編程環(huán)境中逐語句鍵盤鍵入,讓學(xué)生更全面的了解編程過程。在教學(xué)過程中更多的教授學(xué)生獲取幫助的方法,遇到問題能夠自己通過“幫助”、“調(diào)試”,“轉(zhuǎn)到定義”等路徑解決,使學(xué)生更了解C#編程的編輯環(huán)境。教師不可能把所有知識全部交給學(xué)生,但若是更多交給學(xué)生解決問題的方法,會讓學(xué)生解決實際問題的能力大幅提升。
4.考核方式
因為C#的編程環(huán)境帶有智能下拉列表,每當(dāng)鍵入類或關(guān)鍵字的時候總會有輸入提示,所以不需要編程人員記住所有的命令、屬性和方法的全稱,對于同一方法允許多種參數(shù)類型等,這些特征使得筆試和上機(jī)考試的差別較大。本課程就根據(jù)此特點采用上機(jī)考試,教師通過網(wǎng)絡(luò)把試題發(fā)給學(xué)生,學(xué)生進(jìn)行程序?qū)崿F(xiàn)后,發(fā)回源代碼作為答案。平時留作業(yè)也是發(fā)回源代碼,真正做到學(xué)生為主體,能力為本位,營造項目式驅(qū)動的學(xué)習(xí)考試環(huán)境。
四、結(jié)束語
本文針對當(dāng)前信息與計算科學(xué)專業(yè)的計算機(jī)類課程存在的問題,從課程設(shè)置、教學(xué)方法、考核手段等方面出發(fā),以數(shù)學(xué)方法編程課程為例,提出了一個應(yīng)用型為主體的教學(xué)體系,以確保學(xué)校的人才培養(yǎng)目標(biāo)與社會需求的一致。經(jīng)過近四年的培養(yǎng),學(xué)生的實際操作能力和就業(yè)率都得到了很大的提升。
參考文獻(xiàn):
[1]邱勁等,《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)改革與實踐探索,西南師范大學(xué)學(xué)報(自然科學(xué)版)[J],2013,38(1)
[2]林菁,多級項目驅(qū)動教學(xué)在數(shù)據(jù)庫系列課程中的應(yīng)用,計算機(jī)教育[J],2013(16)
作者簡介:
李穎,女,講師,研究方向為數(shù)據(jù)挖掘。
基金項目:河北聯(lián)合大學(xué)2010年度教育教學(xué)改革項目“關(guān)于數(shù)學(xué)方法編程課程的教學(xué)改革與實踐”(項目號:Q1031-06)