王鵬 郭秋艷
摘 要:該研究通過對生物信息學專業程序設計語言課程的教學現狀進行分析,發現程序設計語言課程在教學中存在的問題,探索適合于生物信息學專業特點的本科生程序設計語言課程的教學方法。
關鍵詞:生物信息學 程序設計 算法實現 課程凝練
中圖分類號:Q811.4 文獻標識碼:A 文章編號:1674-098X(2016)05(b)-0126-02
隨著基因組學研究的不斷深入,生物醫學研究領域迎來了一個嶄新的“大數據”時代。新一代測序、高通量的基因芯片等生物檢測技術產生了大量的生物數據。計算機程序設計語言成為了生物信息學領域處理海量生物醫學數據關鍵技術[1]。例如:使用JAVA語言建立網絡平臺進行數據發布;利用Perl語言識別數據中關鍵信息;利用R語言統計分析方法提取差異表達基因等。在近年來具有高應用價值的藥物信息組研究中,也采用計算機編程手段預測新的藥物靶點、藥物重置及藥物副作用和藥物毒性。因此,程序設計語言理論和實踐課程的學習對生物信息學專業學生有著重要的應用價值[2]。程序設計語言課程通常在生物信息學專業的本科階段開設,對該課程的掌握有助于學生的本科畢業設計的開展、工作所需實用知識的積累。然而,目前生物信息學專業程序設計語言課程的教材和教學方法也存在不足之處。生物信息學的學科交叉性,使該課程的教學應根據生物信息學專業的特點,采用適合于專業自身特點的教學方法和更實用的教學內容。通過程序設計語言課程的教學實踐和總結,對生物信息學專業程序設計語言課程的教學現狀和存在問題進行仔細分析,并提出具有針對性的解決方案,這將為該課程教學的探索提供幫助。
1 程序設計語言課程教學存在的問題
1.1 程序設計語言課程難度高
程序設計語言涉及到多門計算機課程,并且在程序設計語言實驗課教學中實現的多種數據分析方法來自于不同課程的數據分析理論。例如:數據庫技術、統計學的抽樣、多線程計算、信息論、優化方法、模式識別、數據挖掘、人工智能等。這些技術每一個都形成了一門學科,可單獨作為一門課程講授。程序設計語言課程所需的多門基礎課程在很大程度上增加了教學難度。以該校為例,生物信息學專業本科生需要大量精力學習生物學基礎課程,沒有充足的時間來系統地學習程序設計語言所需的各種知識。學生們即使學習了這些課程,也很難將這些內容融會貫通,導致在基礎知識向計算機編程的生物學應用轉化過程中出現困難。
1.2 課程教材內容滯后
生物信息學研究領域,仍然處于快速發展和不斷完善的過程,也不斷有新的重要應用價值的數據分析方法和理論加入到該領域的研究中。由于生物信息學領域的快速發展和內容更新快,程序設計語言的課程內容,尤其是算法設計方面,往往出現滯后嚴重現象。例如:雖然在大部分教材中都包含了聚類分析方法。但許多方法在生物學研究領域已很少使用。而在生物學數據分析中重要的蛋白質網絡聚類方法卻很少在程序設計語言教材中發現。此外,在多年授課過程中缺乏專為生物信息學專業編寫的教材,這導致授課過程中計算機語言應用方面的生物學案例非常少。例如:大部分教材沒有關聯分析算法在生物學中的應用案例。即使在生物信息學研究中常用的組合分類器方法,也很少有教材有生物學案例。另外,生物信息學領域的高速發展給生物信息學程序設計語言課程的內容設置帶來巨大挑戰。怎樣將計算機編程思想、算法設計等知識在生物中應用的重要方法傳授給學生,成為教學中需要迫切解決的關鍵問題。
2 教學思考與探索
2.1 通過與該專業相關應用相結合精簡授課內容
程序設計語言課程的內容過多是造成該課程教學困難的一大原因。應適當縮減課程的內容,在有限的學時內提高程序設計語言課程教學質量。在多年的教學和科研實踐中逐漸掌握了生物信息學專業必備的程序設計語言相關內容。通過與該專業的教授、授課教師及科研一線的博士生、碩士生進行深入研究,評估課程中各個部分對于學生的理論價值、應用價值,去除教材中與該專業應用相關度不大、陳舊的且非課程核心的內容。去除簡化數學證明、統計和計算機硬件理論等內容過重而在實際應用較少的內容。例如:在聚類分析算法實現部分,結合實際適當地去除生物數據分析中很少使用的方法。通過如上的內容簡化處理,課程內容過多、理論知識過難的問題在很大程度上得到了改善。對于課程基礎所需的基礎內容以及具有應用價值的重點內容,應適當的增加學時數,并增加與該專業應用直接相關的案例,采用案例式的教學方式進行重點講解。例如:決策森林算法實現的教學內容對于該專業非常重要。首先收集各種應用案例和調查該專業科研人員應用該方法的情況;其次結合學生的背景知識、學習能力設計應用案例。授課時講授基本的原理、方法后,利用案例來深入講解該方法并分析這些方法的性能和使用途徑。對于十分重要的方法,用多個案例來反復加深理解,整個授課過程中注重內容的深入淺出、避繁就簡。
2.2 結合生物醫學研究案例培養學生學習的積極性
通過對該學院生物技術、生物信息學專業學生的調查,總結了學生的興趣和愛好。發現大部分學生對程序設計語言課程的實用性具有足夠的認識,但大部分學生反應程序設計語言課程的應用案例過少,部分案例也過于陳舊。生物信息學專業學生更感興趣生物信息學有關的最新研究及該領域最新進展,這也符合生物信息學前沿性特點。生物信息學發展速度快,領域知識更新也快,學生在基礎課階段時已感覺到了這一領域的特點。而現有的國內教材幾乎沒有適合于生物信息學專業的程序設計語言類教材。為此,試著設計方案,把與程序設計語言知識在生物信息學中的應用及最新案例逐步引入到教學當中。根據從教授、科研人員和教師那里收集來的最新研究進展,獲得程序設計語言在生物信息學的最新應用和未來需求。例如:通過結直腸癌基因表達譜訓練最近鄰分類器預測結直腸癌患病傾向;對蛋白質網絡進行網絡聚類,挖掘前列腺癌轉移相關功能模塊。此外,還進一步開發實際的案例程序,并編寫與之配套的理論知識電子版講義。將最新的案例和教師整理的講義發送給學生。這樣,學生帶著興趣學習知識,他們的學習積極性必然得到提高。在這一過程中,注重選擇內容新穎性強且方法簡單、需要較少背景知識的案例。例如:基于網絡Hub節點的蛋白質功能模塊挖掘方法,僅僅需要幾個步驟的實現就能夠獲得功能模塊的結果。該方法具有生物學應用廣泛性、生物學含義直接性和算法容易實現性等特點。對案例方法的教學使用講、學、練密切結合的教學模式,漸進式地培養學生的學習興趣。在課堂上進行方法講解時,使用計算機編程手段實現數據挖掘程序,演示數據挖掘算法的運行過程。例如:在蛋白質網絡聚類方法的程序演示,利用聚類方法發現和預測蛋白質功能模塊。這樣的例子使學生對聚類方法的應用有了直觀的認識,明顯增加他們的學習興趣。這幾年的教學實踐顯示,這種方法非常有助于提升學生的學習興趣。學生在課堂上對理論知識的熟悉程度較好,加之實際算法實現和應用的演示,能夠進一步增強了學生的知識掌握程度和興趣。
3 結語
自從該教學方法實施以來,從學生的教學反饋中顯示出的教學方法大大改進了學生學習的效果。在生物信息學專業的程序設計語言課程的教授過程中,結合生物信息學專業的應用案例和編程實例,精簡課程內容,明顯提高了學生的學習積極性。這也進一步增強了對教學改革的興趣和信心。將不斷地總結教學經驗,摸索新的教學方法、不斷創新思維,以促進該課程教學水平的提高。
參考文獻
[1] Hogeweg P. The roots of bioinformatics in theoretical bioloby[J].PLoS Comput Biol, 2011,7(3):1002021.
[2] 劉燕,鄒賽德.對醫學生計算機教育的思考[J].中國高等醫學教育,2006(4):5-6.