魯世清 杜新欣 柴 磊
(新鄉(xiāng)醫(yī)學院三全學院)
生物醫(yī)學工程(Biomedical Engineering,BME)起源于20 世紀60 年代,它綜合了生物學、醫(yī)學和工程技術學的理論與方法,是多門理工類學科向生物與醫(yī)學滲透并相互交叉,從工程學的角度展開研究,以解決人體醫(yī)療的若干問題的學科。因此,生物醫(yī)學工程專業(yè)是多個學科發(fā)展到一定水平交叉產(chǎn)生的新型高技術邊緣學科。隨著IT 產(chǎn)業(yè)與醫(yī)療行業(yè)的高度融合,培養(yǎng)高層次的研究型、應用型技術人才逐漸成為生物醫(yī)學工程專業(yè)人才培養(yǎng)的主要目標。
當前,生物醫(yī)學工程專業(yè)畢業(yè)生面臨的工作需求不僅包括傳統(tǒng)的醫(yī)療設備管理、銷售、操作和維修,還包括信息化醫(yī)療設備的研究、設計、開發(fā)和生產(chǎn)等。而醫(yī)學類院校在“C 語言程序設計”教學中普遍存在著教學內容過于偏重語法基礎知識,教學案例與醫(yī)學專業(yè)結合不緊密等問題,因此,醫(yī)學院校有必要從教學、管理和實踐等方面入手,深入探索適應新型人才培養(yǎng)需求的教學模式。
“C 語言程序設計”是理工類大學生必修的專業(yè)基礎課,也是醫(yī)學類院校生物醫(yī)學工程專業(yè)必修的計算機基礎課程之一。該課程開設的目的在于使學生掌握基本的程序設計方法和技巧,為醫(yī)學生提供一個動手、動腦、獨立實踐的機會,培養(yǎng)醫(yī)學生良好的程序設計風格和嚴密的邏輯思維能力,為進一步學習計算機相關知識和醫(yī)學專業(yè)知識奠定基。各醫(yī)學類院校在“C 語言程序設計”教學中也存在以下幾個方面的問題:
一方面,目前醫(yī)學類院?!癈 語言程序設計”課程大多選用理工類非計算機專業(yè)的通用教材,而“C 語言程序設計”課程本身具有概念抽象、語法結構復雜、數(shù)據(jù)類型繁多等特點。因此,對醫(yī)學生而言,利用較少的課時學習“C 語言程序設計”課程仍然具有不小的難度。
另一方面,為使醫(yī)學生系統(tǒng)地掌握“C 語言程序設計”相關知識,教學過程中容易出現(xiàn)課堂知識容量過大的情況,這都不利于醫(yī)學生對知識的掌握。
目前,醫(yī)學類院校在“C 語言程序設計”教學中更加側重C 語言語法結構等基礎知識,對各種應用實例的開發(fā)、運行過程講解得深度不夠,學生實踐練習機會少,學習過程較為枯躁。另外,教學實例多選用教材上的小程序,雖然方便學生預習復習,但由于缺乏界面設計、模塊接口設計等實踐操作,無法與生物醫(yī)學工程專業(yè)的研究方向和實際需求相結合,導致學生學習興趣低。
當前,大部分醫(yī)學類院校生物醫(yī)學工程專業(yè)開設的計算機課程除了“C語言程序設計”之外,還包括匯編語言、數(shù)據(jù)庫基礎、微機原理與接口、電路分析、模擬電子技術、數(shù)字電子技術、信號處理技術等。各門計算機課程與醫(yī)學專業(yè)課之間是相輔相成、互相聯(lián)系的。例如,醫(yī)學類專業(yè)課“醫(yī)用傳感器”實驗中需要用匯編語言編寫程序與單片機連接進行模擬實驗。從這方面來說,計算機知識與醫(yī)工專業(yè)知識存在較高的融合度。然在,實際教學過程中,由于醫(yī)學生更加注重醫(yī)學類專業(yè)課的學習,因此容易忽視“C 語言程序設計”課程與其他專業(yè)基礎課之間的聯(lián)系,更談不上與這些學科之間的融合學習。從而導致了“C 語言程序設計”課程失去了計算機基礎課程的服務性地位,降低了計算機知識與醫(yī)學專業(yè)知識的融合度。
“C 語言程序設計”課程的融合教學是指根據(jù)生物醫(yī)學工程專業(yè)的課程結構特點,在相關專業(yè)課的教學過程中,將C 語言程序設計的思想和技巧融入生物醫(yī)學工程專業(yè)的實際需求中,統(tǒng)籌課程體系中的各要素,整體協(xié)調,相互滲透,形成基于專業(yè)、依托學校、聯(lián)合醫(yī)院和企業(yè)的“三位一體”融合式教學培養(yǎng)模式。
C 語言是一門高級程序設計語言,對于醫(yī)學生來講,C 語言的地位就相當于一門外語,是人和計算機相互交流的工具。所以,醫(yī)學生學習“C 語言程序設計”就像人學習外語一樣,主要要學習本語法、語義和認知過程。C語言的語法規(guī)則主要包括常量和變量定義方法、數(shù)據(jù)的運算規(guī)則、程序設計的三種基本結構(順序、選擇和循環(huán))、函數(shù)定義及調用方法等。C 語言的語義規(guī)則要求學生掌握三種基本結構、利用數(shù)組批量處理數(shù)據(jù)、利用函數(shù)進行模塊化程序設計以及利用指針促進程序模塊化進程的思想和方法。C 語言的認知過程,主要側重于培養(yǎng)學生養(yǎng)成良好的編碼規(guī)范。
由于生物醫(yī)學工程專業(yè)與智能醫(yī)療器械設計、批量數(shù)據(jù)處理、故障檢測等有著較為緊密的聯(lián)系,因此,在“C 語言程序設計”教學時除了要求學生掌握常用的語法和語義規(guī)則外,還要重點學習數(shù)據(jù)的批量處理技術和模塊化程序設計等知識。
根據(jù)生物醫(yī)學工程專業(yè)的課程設置,發(fā)揮“C 語言程序設計”的基礎性作用,形成以“C 語言程序設計”為核心的多學科交叉發(fā)展。例如,對于相對晦澀的匯編語言課程的學習,可以在安裝C 語言編程平臺(Microsoft -Visual C++6.0)的同時,再安裝另一調試工具軟件OllyDBG。對于調試版(Debug 編譯選項組),使用Microsoft Visual C++6.0 進行調試,將C ++源代碼反匯編;而對于發(fā)布版(Release 編譯選項組)使用OllyDBG 進行調試。
例如,某醫(yī)院“專家預約系統(tǒng)”程序實例。該醫(yī)院某科設有5 個專家診室,為保證看診質量,平均分配醫(yī)療資源,醫(yī)院規(guī)定:①每個專家每天只接待20 個患者;②患者就診診室采用循環(huán)預約的方法,即1 到5 號、6 到10 號……患者分別預約1 至5 號專家,如此重復至所有專家預約完畢。編寫“專家預約系統(tǒng)”程序,要求約診單上提示患者預約了哪位專家,應該去幾號診室就診。
分析,在Visual C++6.0 環(huán)境下,使用循序程序結構與多分支結構進行嵌套實現(xiàn)上述功能。程序命名為“專家預約系統(tǒng).cpp”,代碼如下:
程序執(zhí)行過程中,以“Enter”鍵代表“預約專家”按鈕,按其他鍵不執(zhí)行預約專家操作。在Visual C++6.0 中編譯、鏈接、執(zhí)行后,生成可執(zhí)行文件“專家預約系統(tǒng).exe”。程序運行結果(部分)如圖1所示。
運行OllyDBG,打開上例中的生成文件“專家預約系統(tǒng).exe”,得到反匯編代碼如圖2 所示。
將C 語言與匯編語言以及醫(yī)學常見現(xiàn)象進行融合教學,一方面,能夠充分發(fā)揮“C 語言程序設計”的基礎性地位,使醫(yī)學生迅速理解并掌握匯編語言程序。另一方面,通過不同編程語言之間的融會貫通,極大地調動了醫(yī)學生學習“C 語言程序設計”的積極性和主動性,提高了學習效率。
生物醫(yī)學領域獨占鰲頭的美國,大多數(shù)高校都與企業(yè)簽有聯(lián)合培養(yǎng)實習計劃。醫(yī)學生的實習多在高年級完成,因為高年級學生已經(jīng)完成了通識教育知識的學習,并且在工程、數(shù)學、生物工程設計、儀器、生物及生物材料等方面已有了足夠基礎知識和基本能力參與生物工程方面的實踐項目。聯(lián)合醫(yī)院和企業(yè),開展訂單式培養(yǎng),一方面,可以使醫(yī)學生在專業(yè)領域的聯(lián)合培養(yǎng)實踐活動中獲得實踐經(jīng)驗;另一方面,專業(yè)實踐活動又能夠很好地促進對其他專業(yè)課程的學習和理解。因此,聯(lián)合醫(yī)院和企業(yè)開展專業(yè)實習實踐活動,通過對“C 語言程序設計”課程理論知識的實踐應用,有助于促進學生將基礎理論知識與技術需求緊密結合起來,扎實學生的基本功,提高醫(yī)學生的就業(yè)競爭力。
本文建構的“三位一體”融合教學培養(yǎng)模式,能夠有效地解決生物醫(yī)學工程專業(yè)“C 語言程序設計”課程開設過程中出現(xiàn)的問題,充分發(fā)揮“C 語言程序設計”課程的基礎性地位,對提高生物醫(yī)學工程專業(yè)人才素質,提升醫(yī)學生實踐水平,都具有一定意義。
[1]宮照軍,顧寧,梅漢成.生物醫(yī)學工程的研究范圍[J].生命科學,2009,(04):212 -215.
[2]寧祿喬,王新昊,康振華.基于專業(yè)培養(yǎng)目標的C 語言教學研究與實踐[J].中國教育信息化,2012,(05):59 -60.
[3]劉芳,秦興國,王宇英.《語言程序設計》教學存在的問題及改進[J].教育理論與實踐,2012,(05):51 -52.
[4]劉志宏,劉舟荷,張雯暉.項目教學法在C 語言教學中的實踐與研究[J].中國成人教育,2010,(04):139 -140.
[5]宮照軍,顧寧,梅漢成.中美生物醫(yī)學工程專業(yè)本科教育的比較與啟示[J].現(xiàn)代教育科學,2011,(05):132 -136.
[6]譚浩強.C 程序設計教程[M].北京:清華大學出版社,2012.10.
[7]錢林松,趙海旭.C++反匯編與逆向分析技術揭秘[M].北京:機械工業(yè)出版社,2011.10.
[8]鄒慧玲,董秀珍.美國優(yōu)秀生物醫(yī)學工程教育模式探討[J].生物醫(yī)學工程雜志,2004,21(3):456 -459.