吳暾華 王萍 白寶鋼
摘 要:面向醫學的計算機基礎教學不應拘泥于編程技術細節,而應在“授人以漁”的方向下將計算思維自然地融入教學內容,使學生掌握利用計算機分析和解決實際問題的能力。為此提出了一個全新的教學方案。首先通過建立計算思維案例庫闡明計算機對醫學的促進作用,進而揭示計算思維的內涵。同時注重與純數學或實驗思維的對比并依此引導學生轉變思路。最后引入軟計算思維,指明智能醫療的發展前景和途徑。實踐結果表明所提出的教學方案是有效的。
關鍵詞:計算思維;數學思維;醫學;軟計算
中圖分類號:G642 文獻標識碼:A 文章編號:2096-000X(2017)17-0131-04
Abstract: Basic computer education towards medical science should not rigidly adhere to the technical or operational details of the programming language, but should naturally merge computational thinking into teaching content so that students can master the ability to use computer analysis and solve practical problems. To this end, a new teaching scheme was put forward. First of all, through the establishment of computational thinking case database, the important role of computer knowledge and programming technology promoting medicine was clarified, and then the content of computational thinking was revealed. At the same time, the comparison to pure mathematics or experimental thinking was conducted, which may guide students to change thinking pattern and increase the method for solving new problems. Finally, the introduction of soft computing thinking can indicate the development of intelligent medical prospects and ways. The results of the practice show that the proposed teaching program is effective.
Keywords: computational thinking; mathematical thinking; medical science; soft computing
一、概述
計算思維是指運用計算機科學的基礎概念進行問題求解、系統設計以及人類行為理解的一系列思維活動[1,2]。計算思維與數學建模的思想非常相似,即遇到實際科學或工程問題,首先應該類似于程序設計第一步——需求分析,對問題進行抽象、轉化,并給出各種假設或定義;然后,根據各種數學方法結合計算機科學特有的、無法用公式精確、完整描述的算法設計出可計算模型;最后得到模型的近似解。非計算機專業人員只需大概清楚計算機算法能夠做什么、怎么結合,而具體的實現過程可交由計算機專業人員完成。
自計算思維被提出后,國內外眾多研究者對其進行了廣泛而深入的研究,明確了計算機不僅是一種工具,而且還是一種獨特的分析問題和解決問題的思維方式,而計算機基礎教學是培養大學生基本的計算機應用能力和計算思維能力的重要基礎教學環節。國內很多高校的教師已經紛紛基于計算思維的培養對相關課程進行改革和研究,目前也取得了一系列的教學成果[2-5]。
雖然計算思維的培養已經成為大學計算機基礎教育的共識,并且強調計算思維是人類應該具有的三種思維能力之一[1,2],但是從目前來看,對計算思維的研究主要還是在理工科領域,原因主要有以下幾個方面:
1. 醫學類計算機課程的課時分配較少,一般只要求掌握基本知識和應用技能,而很少開展基于計算機的創造性思維培養。
2. 計算思維起源于計算機科學研究,目前國內外計算思維研究的主導者主要來自計算機科學專業,所以目前提出的計算思維課程改革模式主要面向理工科[6,7]。
3. 受計算思維研究者的專業背景所限以及與醫學專業之間的鴻溝,計算機專業的教師較難理解醫學專業的特點,因此提出的改革模式并不十分適應醫學計算機教育的需求。
但是對醫科類學生進行計算思維的培養十分必要,一是因為計算科學不僅在材料、化學和生物等理工科領域有重要應用,在醫藥領域同樣具有重要作用;二是雖然醫科學生將來不一定直接從事計算機科學工作,但卻常常需要跟計算機科學工作者或其他專業人員合作,有時還要進行重要任務的決策,因此其計算思維的意識和運用顯得尤為重要。而隨著信息技術的發展,醫科學生可以接觸到的計算機科學知識越來越多,計算機應用能力也有了大幅度的增強,伴隨著邏輯能力也有所增強,這使醫科學生較好地理解和掌握計算思維能力成為了可能。
為了讓醫科類專業學生更好地理解和掌握計算思維,不能將計算思維的概念直接灌輸給他們,而需要找到更適合醫科專業特點的方式方法。為此,我們提出以計算機在醫科專業中的應用為落腳點,在醫科類計算機基礎教學課程中進行計算思維的培養模式。
二、教學方案設計
本教學方案面向醫學等非計算機專業,相比傳統教學方案更重視興趣的培養和思維方法的引導,通過與具體專業相關案例緊密結合,將計算思維具體化、實用化,以此激發學生的創造力、提高他們運用計算機進行學術探索和創新的能力。本方案的主要模塊如下:
(一)建立能體現計算思維獨特性的案例庫(尤其是醫學相關案例),不刻板介紹計算思維的概念
首先解釋計算機能做什么、能解決什么問題,結合醫療信息系統、醫學影像系統、醫學專家系統等與醫學專業密切相關的例子闡明計算機知識與編程技術對醫學的促進作用,理清計算機專業人員和非計算機專業研究人員之間的關聯,進而揭示計算思維的內涵。例如,根據本人在基于幾何活動輪廓模型的醫學圖像分割方面的研究,先綜合分析物體輪廓提取所涉及的輪廓長度、輪廓內面積、輪廓內外灰度或顏色的一致性等不同影響因素,設計出與輪廓提取有關的能量模型,然后最小化該模型得到可計算的、隨時間演化的曲線方程。這個例子說明計算思維與數學建模的思想非常相似,即遇到實際科學或工程問題,首先應該類似于程序設計第一步——需求分析,對問題進行抽象、轉化,并給出各種假設或定義;然后,根據各種數學方法結合計算機科學特有的、無法用公式完整描述的算法設計出可計算模型;最后得到模型的近似解。非計算機專業人員只需大概清楚計算機算法能夠做什么、怎么結合,而具體的實現過程可交由計算機專業人員完成。通過上述案例,學生將更加明確程序設計的角色和重要性,掌握軟件開發的基本方法。
(二)注重與純數學或實踐思維的對比,對現有例題庫進行清理,發現有代表性的反映思維差別的例子
計算思維既不同于純實踐思維,也不同于純數學抽象推理分析,而是類似于數學建模,既要有歸納、抽象問題本質、轉化為可計算的能力,也要有建立基于計算機技術的解決思路,充分利用計算機快速、非線性、自動化等優點得出令人滿意但可能只是近似最優的結果。
假設有a只雞,b只兔子,滿足:動物總數為m(由用戶輸入),動物腿的總數為n(也由用戶輸入),求a和b。
1. 按照純數學思維可得唯一解
3. 分析
不難發現,采用計算思維中的遍歷搜索法(類似于湊答案的最原始想法),看似很簡單但具有較強的適應性和拓展性,對于具有相似性的問題有很好的重現性,其算法往往無法用公式直接表達。而純數學思維解題思路往往較為復雜,根據定義、定理、推理、公理得到精確解,其算法須嚴密地通過數學公式表達,例如上述例子中采用了線性代數中的求解方法,對于沒有學過線性代數的人來說上述問題將變得難以解決,且計算復雜度隨著變量的增加顯著增大。
因此,計算思維對算法的表述與數學思維往往具有較大的差別,有時是近似解與精確解的差別,計算思維無法用公式表達的算法[8,9]。遇到實際應用問題時,數學思維和計算思維互為補充、相輔相成:首先利用數學思維對問題進行抽象、歸納,進而利用某些物理特性構造數學物理方程,然后求解得到連續解;接著,利用計算思維將連續解離散化,利用遞推、迭代方法得到一定精度的近似解。因此,數學思維是計算思維的前奏、基礎。
(三)引入軟計算、非線性思維拓展視野,指明智能醫療的發展前景和途徑
目前所有醫療設備、軟件都將走向智能化,由此必將帶來產業的大升級、大變革[10]。智能醫學專家系統可更客觀、更準確地獲取診斷特征并自動給出診斷結論以輔助醫師確診。利用人工智能技術還可從海量臨床數據中自動抽取出有價值的規律,從而建立非線性的疾病預測模型,提高診斷的準確性。此外,智能化的人機接口技術有助于提高康復醫療水平,如通過腦機接口、聲控、眼控技術幫助漸凍人或其他殘疾人使用電腦與外界溝通,提高生存質量??偠灾?,現代醫學的發展趨勢是智能化,而且必將帶來巨大的效益。因此,教學內容中少量增加將人工神經網絡、遺傳算法等經典軟計算方法的關鍵思想,簡要介紹應用范圍,對于醫學專業學生開展非線性數據分析與智能診斷研究將具有一定的指導作用。
(四)運用“化繁為簡”、“抽象歸納”思想將編程設計的重要知識點貫穿起來
具體體現在:1.循環,如計算1到100的整數和,需要101條順序執行的語句來實現,因此采用循環表達規律,解決了繁瑣的規律性問題;2.數組的定義,若要存儲班上所有同學的數學成績,需要定義120個變量,因此想到將類型和作用相同的變量歸并為一個有序集合統一存儲和處理,便于循環處理;3.模塊化設計思想,類似于微軟提供的標準內部函數,也可將具有公共作用、通用價值的代碼抽象、歸納為自定義函數或過程,然后將工程范圍內公共函數或過程移入公共場所——標準模塊,方便各模塊共享;4.框架控件,將類型和作用相同的控件對象放入其中,將對象分類管理,以Caption標題標識該組對象的作用,使得界面清晰化;5.列表框和組合框,如界面上提供選擇的選項太多,采用復選框或單選按鈕顯得繁雜,因此可將所有選項集合到統一的對象中,即列表框或組合框,而組合框相比列表框更加簡潔——所有選項疊加為一行;6.控件數組:可將界面上類型和作用相同的控件對象合并為一個數組,如此可將代碼中高度相似的、處理過程幾乎相同的事件響應過程合并為一個事件響應過程,即實現處理的統一化、代碼簡潔化,采用控件數組后冗余的事件響應過程將被剔除。
三、實踐效果及分析
項目組成員已連續兩年面向本校臨床專業新生開展了基于計算思維的《計算機程序設計基礎》教學改革探索并取得了良好的教學效果。
(一)實踐方法設計
1. 對比數據中“試點班”指的是采用計算思維教學方案的臨床專業班級。而“普通班”指的是未采用計算思維教學方案的其它專業班級。
2. “試點班”和“普通班”學生入學成績相當(普通班來自眼視光七年制、眼視光五年制、口腔、檢驗醫學),被隨機抽取的班級數量相同,均為8個教學班(30人/班)。
3. 遵循本校規定,期末考卷成績等級劃分標準為:百分制85分以上為“優秀”,不低于75且低于85分為“良好”,不低于65且低于75分為“中等”,不低于60且低于65分為“及格”,低于60分為“不及格”。
4. 采用的期末考卷相同,試卷采用統考、統改,計分標準相同。
5. 分別抽取2014年秋季和2015年秋季的期末考成績進行對比。
(二)實踐結果分析
由于采用的期末考試卷相同、學生入學成績相當、任課教師組成相似,基于計算思維的試點班與普通班具有較高的可比性。從圖1和圖2可見,經過兩年實踐,試點班的平均分顯著高于普通班(約5%),尤其當試卷難度提高時(2015年的試卷難度高于2014年),優勢更加明顯。同樣地,試點班的成績分布顯著優于普通班,優秀比例明顯高于普通班(約12%)而不及格率明顯低于普通班,特別是當試卷難度提高時,優勢同樣更加明顯。因此,從實踐結果可見這篇文章提出的面向醫科大學的基于計算思維培養的計算機基礎教學方案是有效的,有助于提高學生分析、解決問題的能力。
當然,這里所提出的教學方案也存在不足。眾所周知,慕課、翻轉教學是近年教育發展的新動向,如果能讓學生自主地圍繞這某個與計算思維和醫學相關的主題開展學習報告,學習效果將會有更大的提升[11]。
四、結束語
通過分離、提取科研或學科競賽中的成功案例具體地將計算思維呈現給醫科類學生,使得計算思維不再抽象刻板,而是具有實用性。非計算機專業學生只需大概清楚計算機算法能夠做什么、怎么結合,而具體的實現過程可交由計算機專業人員完成。有助于提高了學生的學習興趣,激發學習計算機技術的熱情,更加明確程序設計的方法論,同時提高他們運用計算機進行學術探索和創新的能力。實踐結果表明所提出的教學方案顯著提高了學習成績、優化了成績分布,該方案是有效的。接下來將著重研究如何將該方案與慕課、翻轉教學結合,以及如何更加合理地調控教學內容的比例和進度。
參考文獻:
[1]Jeannette M. Wing. Computational Thinking[J]. Communications of the ACM,2006,49(3):33-35.
[2]戰德臣,聶蘭順,徐曉飛.“大學計算機”——所有大學生都應學習的一門計算思維基礎教育課程[J].中國大學教學,2011(4):15-20.
[3]陳國良,董榮勝.計算思維與大學計算機基礎教育[J].中國大學教學,2011(1):7-11.
[4]譚浩強.面向計算機應用與科學思維能力培養——關于計算機基礎教育深化改革的思考[J].計算機教育,2014(7):4-8.
[5]袁同山,陽小華,白寶鋼.醫學計算機應用(第5版)[M].北京:人民衛生出版社,2013.
[6]劉志敏,唐大仕,錢麗艷,等.北京大學文科計算機基礎課程改革的新進展[J].計算機教育,2013(17):130-132.
[7]吳旭,牛少彰,頡夏青.計算思維與理科專業“大學計算機基礎”實踐教學研究[J].北京郵電大學學報(社會科學版),2015,17(1):88-93.
[8]徐奕奕,唐培和,唐新來.計算文化視角下“大學計算機基礎”課程改革初探[J].高教探索,2016(8):71-74.
[9]鄭麗坤,關紹云,郭丹.計算思維引導的高校計算機基礎教學實踐研究[J].黑龍江高教研究,2016(2):174-176.
[10]李廉.方法論視野下的計算思維[J].中國大學教學,2016(7):16-21.
[11]魯強.計算思維導引新生研討課的實施與認識[J].計算機教育,2016(10):133-135.