錢 進 吳 劍
(遼寧省沈陽市東北大學 110819)
《C++程序設計》作為數(shù)學系學生的一門專業(yè)基礎課程,其內(nèi)容包括類、構造函數(shù)、拷貝構造函數(shù)、繼承與多態(tài)性、操作符重載和模板,是后續(xù)程序開發(fā)的基礎.該課程目標是使學生理解并掌握面向?qū)ο蟮母拍钆c思想,知道與C語言之間的不同和聯(lián)系,并熟練編寫程序.
傳統(tǒng)的課堂教學,學生只是聽教師授課,注重知識點的講解,忽略編程實踐,不能激發(fā)學生主動性學習.學生學到知識后,不能靈活運用知識,只是記住了概念,這并不是我們想培養(yǎng)學生編程的目的.只有通過上機訓練,學生才能明白自己知識的不足,才能有的放矢,更加深刻地理解知識點.
在2017-2018第二學期,我對數(shù)學三個專業(yè)的學生實施了《C++程序設計》課程教學改革,改革的方式采用從實際問題出發(fā),2到3個人為一組,自行選題.老師同意選題后,給2周時間進行編程.由于程序較大,采用模塊多人協(xié)作的形式,編寫一個工程包含多個文件,來共同完成.完成后,每人15分鐘進行報告并展示程序.老師進行提問,并依據(jù)學生完成的情況,給予點評.
拿一組學生的選題為例: 利用模擬退火算法對學費尋優(yōu)模型的建立與求解.
基于對高等教育學費的計算和合理度評價,考慮對現(xiàn)有的學費選擇模型進行優(yōu)化,從而達到更合理的水平.
一個最佳的學費標準應該是既能顧及學生、學校、政府的利益,又能考慮到近期的利益和遠期的利益.于是我們主要考慮以下幾個因素:
目標一:學生近期利益最大
目標二:學校近期利益最大
目標三:政府近期利益最大
目標四:個人遠期收益率最大
目標五:社會遠期收益率最大
(1)目標一:學生近期利益最大
(2)目標二:學校近期利益最大
學校所能得到的總學費作為學校近期利益的體現(xiàn),由前面的研究有:f0=f×N.
(3)目標三:社會近期利益最大
(4)目標四:個人遠期收益率最大
(5)目標五:社會遠期收益率最大
下面考慮約束條件:
(1)約束條件1:學生支付能力約束
所謂學生支付能力,就是指學生交學費的能力,我們認為該能力與該學生的家庭純收入,國家生均撥款,還有學生獲得的獎學金有關,于是得到如下約束:f≤W+A+J(其中,W為學生的家庭年純收入,A為國家生均撥款,J為獎學金).
(2)約束條件2:學校教育經(jīng)費需求約束
政府財政撥款可以認為是前文中定義的A×N,定義學校自籌費用為Z1, 社會捐贈費用為Z2,事業(yè)收入的非學費收入部分為Z3,學費收入為f×N,則有如下約束:A×N+Z1+Z2+Z3+f×N≥F(其中,F(xiàn)為高校一年的教育經(jīng)費).
綜上,解決該問題的模型轉(zhuǎn)化為:
該組學生通過本題的練習, 熟悉了C++的一些重要性質(zhì),利用封裝、繼承、虛函數(shù)和多態(tài)性等特性,實驗學習如何對各類圖元的屬性和方法進行合理的封裝.
這種實踐教學的方式,不僅能激發(fā)學生的學習興趣,而且能夠使學生真正意義上編寫程序解決實際問題.學生通過這樣的訓練過程,能更好地理解書本上的知識,學以致用!
通過這次《C++程序設計》教學改革,學生的反響很不錯,對于編程不再膽怯.能熟練地掌握知識點,靈活運用編程技巧,解決問題,對以后的計算機等級考試,也打下了一個良好的基礎.