魯世清 杜新欣 柴 磊
(新鄉醫學院三全學院)
生物醫學工程(Biomedical Engineering,BME)起源于20 世紀60 年代,它綜合了生物學、醫學和工程技術學的理論與方法,是多門理工類學科向生物與醫學滲透并相互交叉,從工程學的角度展開研究,以解決人體醫療的若干問題的學科。因此,生物醫學工程專業是多個學科發展到一定水平交叉產生的新型高技術邊緣學科。隨著IT 產業與醫療行業的高度融合,培養高層次的研究型、應用型技術人才逐漸成為生物醫學工程專業人才培養的主要目標。
當前,生物醫學工程專業畢業生面臨的工作需求不僅包括傳統的醫療設備管理、銷售、操作和維修,還包括信息化醫療設備的研究、設計、開發和生產等。而醫學類院校在“C 語言程序設計”教學中普遍存在著教學內容過于偏重語法基礎知識,教學案例與醫學專業結合不緊密等問題,因此,醫學院校有必要從教學、管理和實踐等方面入手,深入探索適應新型人才培養需求的教學模式。
“C 語言程序設計”是理工類大學生必修的專業基礎課,也是醫學類院校生物醫學工程專業必修的計算機基礎課程之一。該課程開設的目的在于使學生掌握基本的程序設計方法和技巧,為醫學生提供一個動手、動腦、獨立實踐的機會,培養醫學生良好的程序設計風格和嚴密的邏輯思維能力,為進一步學習計算機相關知識和醫學專業知識奠定基。各醫學類院校在“C 語言程序設計”教學中也存在以下幾個方面的問題:
一方面,目前醫學類院校“C 語言程序設計”課程大多選用理工類非計算機專業的通用教材,而“C 語言程序設計”課程本身具有概念抽象、語法結構復雜、數據類型繁多等特點。因此,對醫學生而言,利用較少的課時學習“C 語言程序設計”課程仍然具有不小的難度。
另一方面,為使醫學生系統地掌握“C 語言程序設計”相關知識,教學過程中容易出現課堂知識容量過大的情況,這都不利于醫學生對知識的掌握。
目前,醫學類院校在“C 語言程序設計”教學中更加側重C 語言語法結構等基礎知識,對各種應用實例的開發、運行過程講解得深度不夠,學生實踐練習機會少,學習過程較為枯躁。另外,教學實例多選用教材上的小程序,雖然方便學生預習復習,但由于缺乏界面設計、模塊接口設計等實踐操作,無法與生物醫學工程專業的研究方向和實際需求相結合,導致學生學習興趣低。
當前,大部分醫學類院校生物醫學工程專業開設的計算機課程除了“C語言程序設計”之外,還包括匯編語言、數據庫基礎、微機原理與接口、電路分析、模擬電子技術、數字電子技術、信號處理技術等。各門計算機課程與醫學專業課之間是相輔相成、互相聯系的。例如,醫學類專業課“醫用傳感器”實驗中需要用匯編語言編寫程序與單片機連接進行模擬實驗。從這方面來說,計算機知識與醫工專業知識存在較高的融合度。然在,實際教學過程中,由于醫學生更加注重醫學類專業課的學習,因此容易忽視“C 語言程序設計”課程與其他專業基礎課之間的聯系,更談不上與這些學科之間的融合學習。從而導致了“C 語言程序設計”課程失去了計算機基礎課程的服務性地位,降低了計算機知識與醫學專業知識的融合度。
“C 語言程序設計”課程的融合教學是指根據生物醫學工程專業的課程結構特點,在相關專業課的教學過程中,將C 語言程序設計的思想和技巧融入生物醫學工程專業的實際需求中,統籌課程體系中的各要素,整體協調,相互滲透,形成基于專業、依托學校、聯合醫院和企業的“三位一體”融合式教學培養模式。
C 語言是一門高級程序設計語言,對于醫學生來講,C 語言的地位就相當于一門外語,是人和計算機相互交流的工具。所以,醫學生學習“C 語言程序設計”就像人學習外語一樣,主要要學習本語法、語義和認知過程。C語言的語法規則主要包括常量和變量定義方法、數據的運算規則、程序設計的三種基本結構(順序、選擇和循環)、函數定義及調用方法等。C 語言的語義規則要求學生掌握三種基本結構、利用數組批量處理數據、利用函數進行模塊化程序設計以及利用指針促進程序模塊化進程的思想和方法。C 語言的認知過程,主要側重于培養學生養成良好的編碼規范。
由于生物醫學工程專業與智能醫療器械設計、批量數據處理、故障檢測等有著較為緊密的聯系,因此,在“C 語言程序設計”教學時除了要求學生掌握常用的語法和語義規則外,還要重點學習數據的批量處理技術和模塊化程序設計等知識。
根據生物醫學工程專業的課程設置,發揮“C 語言程序設計”的基礎性作用,形成以“C 語言程序設計”為核心的多學科交叉發展。例如,對于相對晦澀的匯編語言課程的學習,可以在安裝C 語言編程平臺(Microsoft -Visual C++6.0)的同時,再安裝另一調試工具軟件OllyDBG。對于調試版(Debug 編譯選項組),使用Microsoft Visual C++6.0 進行調試,將C ++源代碼反匯編;而對于發布版(Release 編譯選項組)使用OllyDBG 進行調試。
例如,某醫院“專家預約系統”程序實例。該醫院某科設有5 個專家診室,為保證看診質量,平均分配醫療資源,醫院規定:①每個專家每天只接待20 個患者;②患者就診診室采用循環預約的方法,即1 到5 號、6 到10 號……患者分別預約1 至5 號專家,如此重復至所有專家預約完畢。編寫“專家預約系統”程序,要求約診單上提示患者預約了哪位專家,應該去幾號診室就診。
分析,在Visual C++6.0 環境下,使用循序程序結構與多分支結構進行嵌套實現上述功能。程序命名為“專家預約系統.cpp”,代碼如下:


程序執行過程中,以“Enter”鍵代表“預約專家”按鈕,按其他鍵不執行預約專家操作。在Visual C++6.0 中編譯、鏈接、執行后,生成可執行文件“專家預約系統.exe”。程序運行結果(部分)如圖1所示。

運行OllyDBG,打開上例中的生成文件“專家預約系統.exe”,得到反匯編代碼如圖2 所示。

將C 語言與匯編語言以及醫學常見現象進行融合教學,一方面,能夠充分發揮“C 語言程序設計”的基礎性地位,使醫學生迅速理解并掌握匯編語言程序。另一方面,通過不同編程語言之間的融會貫通,極大地調動了醫學生學習“C 語言程序設計”的積極性和主動性,提高了學習效率。
生物醫學領域獨占鰲頭的美國,大多數高校都與企業簽有聯合培養實習計劃。醫學生的實習多在高年級完成,因為高年級學生已經完成了通識教育知識的學習,并且在工程、數學、生物工程設計、儀器、生物及生物材料等方面已有了足夠基礎知識和基本能力參與生物工程方面的實踐項目。聯合醫院和企業,開展訂單式培養,一方面,可以使醫學生在專業領域的聯合培養實踐活動中獲得實踐經驗;另一方面,專業實踐活動又能夠很好地促進對其他專業課程的學習和理解。因此,聯合醫院和企業開展專業實習實踐活動,通過對“C 語言程序設計”課程理論知識的實踐應用,有助于促進學生將基礎理論知識與技術需求緊密結合起來,扎實學生的基本功,提高醫學生的就業競爭力。
本文建構的“三位一體”融合教學培養模式,能夠有效地解決生物醫學工程專業“C 語言程序設計”課程開設過程中出現的問題,充分發揮“C 語言程序設計”課程的基礎性地位,對提高生物醫學工程專業人才素質,提升醫學生實踐水平,都具有一定意義。
[1]宮照軍,顧寧,梅漢成.生物醫學工程的研究范圍[J].生命科學,2009,(04):212 -215.
[2]寧祿喬,王新昊,康振華.基于專業培養目標的C 語言教學研究與實踐[J].中國教育信息化,2012,(05):59 -60.
[3]劉芳,秦興國,王宇英.《語言程序設計》教學存在的問題及改進[J].教育理論與實踐,2012,(05):51 -52.
[4]劉志宏,劉舟荷,張雯暉.項目教學法在C 語言教學中的實踐與研究[J].中國成人教育,2010,(04):139 -140.
[5]宮照軍,顧寧,梅漢成.中美生物醫學工程專業本科教育的比較與啟示[J].現代教育科學,2011,(05):132 -136.
[6]譚浩強.C 程序設計教程[M].北京:清華大學出版社,2012.10.
[7]錢林松,趙海旭.C++反匯編與逆向分析技術揭秘[M].北京:機械工業出版社,2011.10.
[8]鄒慧玲,董秀珍.美國優秀生物醫學工程教育模式探討[J].生物醫學工程雜志,2004,21(3):456 -459.