朱 煒,鄭長征,李 慶,劉 斌,劉永紅
(西安工程大學 環境與化學工程學院,陜西 西安 710048)
化學工程與工藝專業在本科生能力培養方面包含兩個與"計算"相關的能力:
(1)掌握化工裝置工藝與設備設計方法,掌握化工過程模擬優化方法;(2)具有對新產品、新工藝、新技術和新設備進行研究、開發和設計的初步能力。同時我校又是"卓越工程師"培養高校,其旨在培養造就創新能力強、適應經濟社會發展需要的高質量各類型工程技術人才,當然培養良好的計算能力也是必不可缺的。
在我校化工專業本科生的教學和培養過程中發現,大多數學生對于專業課程中的基礎理論通過老師的反復講解和自己的刻苦學習都能很好的理解和掌握。但在對所學的原理和理論進行具體應用時卻會遇到極大的困難,輕則會出現作業、習題做不了或耗費時間極長的現象,重則打擊繼續學習專業課的積極性,甚至出現自動放棄學習的心理。
深究其背后原因,發現不是學生的專業課理論和方法沒學會,而是化工專業課程的計算時會涉及大量復雜的非線性方程,積分方程,微分方程和常微分方程的求解。如果采用傳統的手工或計算器計算,幾乎是不可能完成的任務,必須得采用計算機才能解決問題。即使現在大多數學生已經擁有自己的筆記本電腦,但由于缺乏必要的編程基礎,而且教授計算機計算的《數值分析》課程在本科階段又是沒有開設,所以幾乎所有的學生到頭來對于計算問題都顯的力不從心或者束手無策。
為了解決上述教學中所遇到的難題,筆者希望通過在本科生的授課過程中融入數值分析課程和計算機編程知識的講解,從而使學生學習理解各種化工課程計算所需的數值分析理論,并掌握用計算機來求解化工專業問題的方法。具體則采用"教、學、用"三位一體的實施方式。
(1)編寫適用于本科化工專業的《數值分析》講義。本講義的目的在于靈活應用各種算法,所以編寫中會盡量減少晦澀難懂的理論部分,而更加側重于每種算法的應用實例,而且我們只選擇最常用的,最容易接受的算法。
(2)使學生掌握至少一門計算機語言。計算機語言可以是C、Visual Basic、Java、C++、Matlab、Fortran中的任意一種。但最核心的是掌握該語言的基本數據類型,算數運算符與算數表達式,關系運算符與關系表達式,邏輯運算符和邏輯表達式,程序的輸入與輸出,流程控制語句,函數,數組,文件操作。
(3) 教授可用于數值分析的計算軟件。該做法主要針對計算機水平太差的學生。很多的計算軟件都提供了一個函數接口,因此只要知道該算法的函數接口,然后輸入初始參數,軟件就會自動給出計算結果,類似于進行"黑箱"操作。
(1)使學生掌握相關數值分析的基本原理和應用方法。與本科化工專業相關的數值分析包括:函數的插值、離散數據的擬合、微分與積分、線性與非線性方程、矩陣特征值問題、微分方程等。學習時不但要注意掌握每種數值方法的基本原理和思想,還要與計算機的結合,通過例子,學習使用各種數值方法解決實際計算問題,熟悉數值方法的計算過程。
(2)讓編程基礎好的學生用一種計算機語言實現每種算法的源代碼。若開始無法上手可以多閱讀,分析別人的源代碼。閱讀別人是學習編程語言時最好的學習方法,同時還可以積累編程經驗。
(3)讓編程基礎差的學生掌握可用于數值分析的專業軟件。如:Excel對于一些不太復雜的非線性方程,可在單元格中通過構造合適的表達式進行求解;Origin對于許多的離散數據可以進行簡單的擬合計算,包括多項式擬合、線性擬合和非線性擬合等;Matlab則可通過調用該軟件的中自帶的函數庫,進行非常廣泛的數值分析。
(1)利用互聯網技術最大程度的給學生共享代碼和軟件。將編程資料、講義和編寫的計算軟件,作為學習資料掛載在學院的網站上,方便學生和專業課老師的下載、學習和使用,這樣可以及時獲取學生的反饋,了解學生的學習和使用情況。
(2)在課堂中講一些可用數值分析代碼或軟件解決的例題。通過給學生們做示范的方式,告訴他們所編寫的源代碼到底怎么用,或者計算軟件到底如何應用,讓學生有一種身臨其境的感覺,激起他們熱愛程序,使用程序,深究程序的積極性。
(3)在課后布置一些可用數值分析代碼或軟件解決的習題。一則使學生搞清楚計算程序的使用或調用方法;二則讓他們明白數值計算的重要性;三則激起學生學習數值計算的熱情;四則減輕學生做課后題的壓力,節約寶貴的時間。
(4)在畢業設計中應用數值分析代碼或軟件解決設計問題。說到化工專業畢業設計中的工藝設計,就必須牽扯到化工計算,因此少不了數值分析。使用源代碼和計算軟件進行計算,不但可以極大的提高他們的設計效率,也能讓他們享受到那種“學有所用”的樂趣和滿足感。
(5)在學生的設計大賽中使用數值分析方法解決問題。如全國化工設計大賽,各個級別的創新創業大賽,各個級別的挑戰杯大賽等,讓學生在競賽中使用源代碼和計算軟件,可以提高他們參賽作品的質量,獲得更好的比賽成績。
本文提出了“教、學、用”三位一體的模式,通過在本科生的授課過程中融入《數值分析》課程和計算機編程知識,使學生理解專業課程計算時所需的各種《數值分析》理論,掌握用計算機來求解化工專業問題的技能,打掉學習過程中的攔路虎,恢復、調動和增加學生學習化工專業課程的信心,使得他們能徹底做到“學以致用”。