999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

醫(yī)科院校Python程序設(shè)計課程教學(xué)研究

2017-09-01 15:05:00張樂平李東方
計算機(jī)教育 2017年8期

張樂平+李東方

摘 要:培養(yǎng)具有數(shù)據(jù)素養(yǎng)的生命科學(xué)復(fù)合型人才是生物醫(yī)學(xué)大數(shù)據(jù)時代的要求。文章在對C、Java、VB等傳統(tǒng)程序設(shè)計語言教學(xué)的反思基礎(chǔ)上,通過總結(jié)以Python為教學(xué)語言的醫(yī)科學(xué)生程序設(shè)計課程教學(xué)改革,提出基于計算思維關(guān)注點(diǎn)分離原則的Python數(shù)據(jù)分析程序設(shè)計教學(xué)策略,旨在讓數(shù)據(jù)素養(yǎng)成為醫(yī)科學(xué)生大數(shù)據(jù)時代的一種基礎(chǔ)能力。

關(guān)鍵詞: Python;程序設(shè)計;關(guān)注點(diǎn)分離;數(shù)據(jù)素養(yǎng)

0 引 言

作為21世紀(jì)最活躍的科學(xué)研究領(lǐng)域之一,生命科學(xué)迎來了大數(shù)據(jù)時代。無論是基礎(chǔ)研究還是臨床研究,近年來隨著高通量實驗設(shè)備的廣泛應(yīng)用和醫(yī)院診療手段的推陳出新,生物醫(yī)學(xué)數(shù)據(jù)呈現(xiàn)幾何級數(shù)的增長。海量的生物醫(yī)學(xué)數(shù)據(jù)蘊(yùn)含的生物學(xué)規(guī)律將極大地促進(jìn)人類對于生命、疾病的深刻理解[1]。借助于大數(shù)據(jù)的分析挖掘技術(shù),從基礎(chǔ)研究、藥物開發(fā)、臨床診療到健康管理,生物醫(yī)學(xué)大數(shù)據(jù)正在引發(fā)生命科學(xué)研究和醫(yī)學(xué)診療模式的巨大變革。

數(shù)據(jù)素養(yǎng)是一種通過數(shù)據(jù)分析、數(shù)據(jù)挖掘發(fā)現(xiàn)數(shù)據(jù)價值的重要技能素養(yǎng),數(shù)據(jù)素養(yǎng)培養(yǎng)現(xiàn)已成為大數(shù)據(jù)時代的教育研究熱點(diǎn)[2],但是醫(yī)科學(xué)生接受人工智能、機(jī)器學(xué)習(xí)等數(shù)據(jù)挖掘技術(shù)的學(xué)習(xí)訓(xùn)練機(jī)會很少,造成生物醫(yī)學(xué)學(xué)科人才的數(shù)據(jù)挖掘技能相對比較弱,無法滿足生物大數(shù)據(jù)發(fā)展對數(shù)據(jù)素養(yǎng)的要求。對醫(yī)科院校計算機(jī)程序設(shè)計教學(xué)來說,如何將數(shù)據(jù)素養(yǎng)培養(yǎng)嵌入課程中開展信息科學(xué)和生命科學(xué)的交叉學(xué)科教育既是挑戰(zhàn)又是機(jī)遇。

1 大數(shù)據(jù)時代背景下醫(yī)科學(xué)生程序設(shè)計課程教學(xué)的反思

1.1 醫(yī)科院校程序設(shè)計課程的現(xiàn)狀和重定位

目前,非計算機(jī)專業(yè)程序設(shè)計課程主要參照理工科院校程序設(shè)計語言教學(xué)——從20年前的C語言、后來的Java以及最近的視窗語言Visual Basic和C#。近年來,圍繞醫(yī)科學(xué)生的計算思維能力的培養(yǎng),我校成功開展了程序設(shè)計課程的翻轉(zhuǎn)課堂教學(xué)改革[3]。然而,由于生物醫(yī)學(xué)專業(yè)背景,醫(yī)科學(xué)生學(xué)習(xí)這些語言后,在算法設(shè)計和數(shù)據(jù)挖掘方面難以深入,尤其生命科學(xué)進(jìn)入大數(shù)據(jù)時代后,更難直接在大數(shù)據(jù)中應(yīng)用,因此,現(xiàn)有的程序設(shè)計課程教學(xué)與醫(yī)科學(xué)生未來的大數(shù)據(jù)分析能力之間存在巨大鴻溝(如圖1中的GAP)。

這種尷尬處境源于掌握程序語言并不是研發(fā)計算算法的充分必要條件。C、Java、VB等高級語言僅從各自角度抽象了程序設(shè)計:早期的C語言將程序抽象為數(shù)據(jù)結(jié)構(gòu)和算法,這種面向過程的程序設(shè)計通過對指針、內(nèi)存、字符等操作實現(xiàn)代碼的高效運(yùn)行;Java語言將問題抽象為主客體對象關(guān)系,通過面向?qū)ο蠹夹g(shù)實現(xiàn)代碼的高效復(fù)用;而視窗語言Visual Basic和C#抽象了對象的交互邏輯和響應(yīng)關(guān)系,其可視化的編程模式適合非計算機(jī)專業(yè)學(xué)生掌握。通過這些語言可以實現(xiàn)復(fù)雜的數(shù)據(jù)挖掘算法,但是數(shù)據(jù)挖掘算法所基于的數(shù)理推演不是程序語言所能解決的,而數(shù)據(jù)挖掘算法中數(shù)理推演已遠(yuǎn)遠(yuǎn)超越了醫(yī)科學(xué)生的專業(yè)要求。

對于醫(yī)科學(xué)生來說,利用C語言、Java語言以及視窗語言Visual Basic和C#從頭實現(xiàn)數(shù)據(jù)挖掘算法是不可取的,而應(yīng)掌握在問題求解過程中如何調(diào)用第三方開發(fā)的算法程序,并應(yīng)超越對程序執(zhí)行性能、代碼高復(fù)用性或特定系統(tǒng)中視窗設(shè)計的關(guān)注。大數(shù)據(jù)時代背景下醫(yī)科學(xué)生程序設(shè)計課程的定位應(yīng)該是通過某一編程語言的教學(xué),學(xué)生除了掌握通用程序開發(fā)技術(shù)外,還能在程序開發(fā)過程中熟練調(diào)用通用的數(shù)據(jù)分析挖掘程序模塊,培養(yǎng)醫(yī)科學(xué)生未來大數(shù)據(jù)分析所需的數(shù)據(jù)素養(yǎng)能力。

1.2 Python是醫(yī)科學(xué)生程序設(shè)計課程的理想教學(xué)語言

據(jù)報道,云計算與大數(shù)據(jù)產(chǎn)業(yè)對專業(yè)崗位技術(shù)要求呈現(xiàn)“金字塔形”分布,而處于人才需求“金字塔”底部的是大量的操作應(yīng)用技能型人才(>70%)[4]。醫(yī)科院校的學(xué)生應(yīng)屬于大數(shù)據(jù)分析的應(yīng)用人員,因此,程序設(shè)計課程除了培養(yǎng)醫(yī)科學(xué)生的通用程序設(shè)計技能外,更應(yīng)側(cè)重講授數(shù)據(jù)分析挖掘的基本思想以及如何應(yīng)用。絕大部分醫(yī)科學(xué)生可能大學(xué)期間只修一門程序設(shè)計課程,因而編程語言的選擇是關(guān)鍵。

Python語言是目前最接近自然語言的通用編程語言[5],其“膠水語言”特性帶來了全新的程序設(shè)計體驗。和Java、C#等通用高級編程語言一樣,教學(xué)內(nèi)容主要是順序、分支、循環(huán)等基本的流程控制以及面向?qū)ο蟪绦蛟O(shè)計,但是Python可以輕松將C、Java等開發(fā)的程序模塊結(jié)合起來協(xié)同工作。Python語言抽象了問題及解決方案,相比其他程序語言可以在更高的層面更直觀地分析問題和描述方案,便于非計算機(jī)專業(yè)學(xué)生開發(fā)復(fù)雜的信息處理系統(tǒng)。Python可以完成Java的所有功能,例如窗口程序、網(wǎng)站開發(fā)和黑客攻防等,而且在人工智能、數(shù)據(jù)挖掘以及數(shù)據(jù)可視化等方面Python有不斷優(yōu)化的庫,使其成為能替代MATLAB和R等進(jìn)行數(shù)據(jù)處理的方式。因此,使用Python語言可以簡潔、優(yōu)雅地構(gòu)建以數(shù)據(jù)分析為中心的應(yīng)用程序原型。

Python語言將是培養(yǎng)醫(yī)科學(xué)生數(shù)據(jù)素養(yǎng)的理想教學(xué)語言。Python可用來實現(xiàn)整個數(shù)據(jù)分析流程的框架,然后通過框架接口無縫集成其他語言編寫的各種計算模塊和數(shù)據(jù)可視化模塊。例如,在Python程序中調(diào)用Matplotlib庫中的plot語句可以直接繪制出如圖2所示的極坐標(biāo)圖形,而C語言、Java等語言實現(xiàn)同樣功能則需要幾十條語句。Python語言的這種輕量級的語法和高層次的語言表示使得學(xué)生把精力集中在對問題的分析和思考上,符合應(yīng)用計算機(jī)解決問題的計算思維理念。以Python語言教學(xué)為載體,將有助于推動醫(yī)科學(xué)生數(shù)據(jù)素養(yǎng)向深度和廣度發(fā)展。鑒于Python相比其他語言在培養(yǎng)醫(yī)科學(xué)生數(shù)據(jù)素養(yǎng)方面具有更高的教學(xué)價值,我校進(jìn)行了以Python語言為程序設(shè)計教學(xué)語言的課程教改。

2 Python程序設(shè)計課程教學(xué)改革

2.1 教改目標(biāo):讓數(shù)據(jù)素養(yǎng)成為醫(yī)科學(xué)生大數(shù)據(jù)時代的一種基礎(chǔ)能力

隨著生物醫(yī)學(xué)大數(shù)據(jù)時代的到來,數(shù)據(jù)素養(yǎng)必將是醫(yī)科學(xué)生信息素養(yǎng)的延伸與補(bǔ)充。國內(nèi)外學(xué)者從不同的角度對數(shù)據(jù)素養(yǎng)概念進(jìn)行了表述,而目前一般認(rèn)為數(shù)據(jù)素養(yǎng)教育包含3個模塊的內(nèi)容:培養(yǎng)數(shù)據(jù)意識、培育數(shù)據(jù)能力、樹立數(shù)據(jù)倫理[6]。數(shù)據(jù)素養(yǎng)教育涉及的學(xué)科面非常廣,其中的數(shù)據(jù)能力主要是指數(shù)據(jù)分析技能。生物大數(shù)據(jù)分析必然借助于計算機(jī)程序設(shè)計,因此,程序設(shè)計能力是醫(yī)科學(xué)生數(shù)據(jù)素養(yǎng)培養(yǎng)的重要內(nèi)容。

將數(shù)據(jù)素養(yǎng)融合到Python程序設(shè)計課程中,重點(diǎn)提高醫(yī)科學(xué)生在程序設(shè)計過程中對數(shù)據(jù)挖掘算法的應(yīng)用能力,同時學(xué)生在教師的熏陶下培養(yǎng)數(shù)據(jù)意識和樹立數(shù)據(jù)倫理。較之信息素養(yǎng)是信息社會普通大眾應(yīng)具備的能力素養(yǎng),數(shù)據(jù)素養(yǎng)則趨向于大數(shù)據(jù)時代科研人員的專業(yè)技能素養(yǎng)。醫(yī)科學(xué)生是未來的生命科學(xué)研究的主力軍,讓數(shù)據(jù)素養(yǎng)成為醫(yī)科學(xué)生的一種基礎(chǔ)能力是順應(yīng)大數(shù)據(jù)時代要求的。

2.2 教學(xué)策略:基于計算思維關(guān)注點(diǎn)分離原則的 Python數(shù)據(jù)分析程序設(shè)計

在之前計算思維教改中,我校提出了在“讓思維具有計算特征”的教學(xué)中培養(yǎng)醫(yī)科學(xué)生的計算思維能力,引導(dǎo)學(xué)生按照計算思維的關(guān)注點(diǎn)分離原則思考如何解決復(fù)雜問題[7]。一個具體的數(shù)據(jù)分析流程可以分為數(shù)據(jù)清洗、數(shù)據(jù)集成、數(shù)據(jù)預(yù)處理、數(shù)據(jù)挖掘和知識呈現(xiàn)等基本模塊(如圖3所示),而模塊化是關(guān)注點(diǎn)分離的最有代表性的具體設(shè)計原則之一,因此在數(shù)據(jù)分析項目的模塊化過程中,計算思維關(guān)注點(diǎn)分離原則的應(yīng)用將是自然而然的。

Python語言擁有大量優(yōu)秀的第三方數(shù)據(jù)挖掘算法程序包,可以被數(shù)據(jù)分析程序的各模塊無縫調(diào)用。在Python語言數(shù)據(jù)處理過程中,首先將獲取的數(shù)據(jù)轉(zhuǎn)換成適合Python分析的數(shù)據(jù)結(jié)構(gòu),然后用Python提供的工具模塊進(jìn)行數(shù)據(jù)分析和處理,最后提取數(shù)據(jù)特征并用合適的圖形圖表呈現(xiàn)出來。在數(shù)據(jù)預(yù)處理、分析和特征提取等模塊的教學(xué)過程中,教師講授如何調(diào)用Python數(shù)據(jù)分析模塊以實現(xiàn)相應(yīng)的功能,而學(xué)生體驗在將數(shù)據(jù)分析模塊整合成分析流程過程中數(shù)據(jù)處理的藝術(shù)性。

采用關(guān)注點(diǎn)分離進(jìn)行Python數(shù)據(jù)分析程序設(shè)計時,學(xué)生可以超越對抽象的數(shù)據(jù)挖掘理論與繁冗的算法實現(xiàn)的關(guān)注,從而集中注意力在更高層面上分析問題和處理問題,并在解釋結(jié)果時感受將學(xué)科專業(yè)知識融入其中的快樂,在潛移默化中數(shù)據(jù)素養(yǎng)也得到了提升。

2.3 教學(xué)內(nèi)容:兼顧通用編程技術(shù)和數(shù)據(jù)分析技術(shù)

為了循序漸進(jìn)培育醫(yī)科學(xué)生的數(shù)據(jù)處理能力,Python教學(xué)內(nèi)容分成基礎(chǔ)和高級兩大模塊?;A(chǔ)模塊圍繞通用編程技術(shù)設(shè)置教學(xué)內(nèi)容,包括基本語法(數(shù)據(jù)類型、表達(dá)式和系統(tǒng)函數(shù)等)、基本流程控制(順序、選擇、循環(huán))、函數(shù)的定義和調(diào)用以及面向?qū)ο蟪绦蛟O(shè)計。高級模塊按照圖3所示的數(shù)據(jù)分析流程的基本模塊設(shè)置教學(xué)內(nèi)容,重點(diǎn)講授Python科學(xué)計算的基礎(chǔ)包NumPy、多維結(jié)構(gòu)化數(shù)據(jù)集分析包pandas和繪制數(shù)據(jù)圖表的數(shù)據(jù)可視化庫Matplotlib等。我校程序設(shè)計課程共60學(xué)時,基礎(chǔ)模塊和高級模塊的教學(xué)各30學(xué)時,并要求在高級模塊學(xué)習(xí)階段繼續(xù)深化程序設(shè)計基本技能,例如數(shù)據(jù)的預(yù)處理中會介紹文件處理和序列化,在應(yīng)用數(shù)據(jù)挖掘算法進(jìn)行分析時會講授程序異常處理。

2.4 教學(xué)實施:所見即所得的翻轉(zhuǎn)課堂教學(xué)

在Python程序設(shè)計課程教學(xué)中,繼續(xù)推行教改實踐檢驗過的翻轉(zhuǎn)課堂教學(xué)模式。課下,為基礎(chǔ)模塊和高級模塊分別推薦了中國大學(xué)MOOC課程[8],如北京理工大學(xué)的“Python語言程序設(shè)計”和南京大學(xué)的“用Python玩轉(zhuǎn)數(shù)據(jù)”,學(xué)生根據(jù)編程任務(wù)有針對性學(xué)習(xí)MOOC課程中的相關(guān)教學(xué)內(nèi)容。課堂上,師生互動,答疑解惑:基礎(chǔ)模塊階段探究如何用Python語言描述通用算法,分享各種程序設(shè)計技巧,學(xué)生在協(xié)作交流中提升程序設(shè)計能力;高級模塊階段教師講授實現(xiàn)的思維而非實現(xiàn)的細(xì)節(jié),也就是說,教師主要講授Python數(shù)據(jù)分析庫中所涉及的機(jī)器學(xué)習(xí)算法的基本思想、機(jī)器學(xué)習(xí)程序模塊的調(diào)用以及結(jié)合問題對計算結(jié)果的解釋。

機(jī)器學(xué)習(xí)算法講授是翻轉(zhuǎn)課堂教學(xué)的難點(diǎn),為此采用所見即所得的動態(tài)交互模式。傳統(tǒng)的板書和PPT課件只能靜態(tài)展示機(jī)器學(xué)習(xí)的概念和原理,難以調(diào)動醫(yī)科學(xué)生對算法中深奧的數(shù)理知識的學(xué)習(xí)興趣和思考積極性。動態(tài)交互模式是Python語言的重要特點(diǎn),翻轉(zhuǎn)課堂采用實時動態(tài)代碼操作,其所見即所得的演示效果使抽象的機(jī)器學(xué)習(xí)算法思想簡單明了。面對眾多的機(jī)器學(xué)習(xí)算法,合適的算法的選擇最終歸結(jié)為模型選擇和超參數(shù)調(diào)節(jié)。Python語言的交互模式適合反復(fù)試驗不同參數(shù)下的每一個算法模型,便于學(xué)生通過直接比較結(jié)果的方式快速把握某種機(jī)器學(xué)習(xí)算法的優(yōu)勢和局限性。

3 結(jié) 語

我校以必修課的形式面向生物技術(shù)專業(yè)進(jìn)行了“Python程序設(shè)計”教改試點(diǎn)。通過課程學(xué)習(xí),90%以上學(xué)生能夠掌握Python語言構(gòu)建數(shù)據(jù)分析應(yīng)用程序的一般方法,而同學(xué)們的反映是“Python的數(shù)據(jù)挖掘功能強(qiáng)大且易用”“圍繞生物數(shù)據(jù)分析的程序設(shè)計拉近了程序設(shè)計與生物醫(yī)學(xué)的距離”,但是,由于生命系統(tǒng)自身的復(fù)雜性,生物醫(yī)學(xué)大數(shù)據(jù)分析需要在生物學(xué)假說驅(qū)動下選擇并應(yīng)用各種數(shù)據(jù)挖掘技術(shù),程序設(shè)計課程教師因而倍感壓力和挑戰(zhàn),因此提升程序設(shè)計課程教師的生物醫(yī)學(xué)素養(yǎng)是當(dāng)務(wù)之急。

基于Python的醫(yī)科學(xué)生數(shù)據(jù)素養(yǎng)的教學(xué)改革在醫(yī)科院校尚處于探索階段,我們的教學(xué)實踐表明,Python語言程序設(shè)計課程是培養(yǎng)醫(yī)科學(xué)生數(shù)據(jù)素養(yǎng)的較理想的課程載體,可以為醫(yī)科學(xué)生后續(xù)的“生物信息學(xué)”大數(shù)據(jù)分析打下良好的基礎(chǔ)。用Python語言替代傳統(tǒng)語言是程序設(shè)計課程發(fā)展中的一個重要契機(jī),這種教學(xué)內(nèi)容的變化將在十年甚至更長的時間尺度上對醫(yī)科學(xué)生計算思維和數(shù)據(jù)素養(yǎng)的培養(yǎng)產(chǎn)生重要影響。

參考文獻(xiàn):

[1] 寧康, 陳挺. 生物醫(yī)學(xué)大數(shù)據(jù)的現(xiàn)狀與展望[J]. 科學(xué)通報, 2015, 60(5/6): 534-546.

[2] 高淑蓮. 大數(shù)據(jù)背景下國外數(shù)據(jù)素養(yǎng)教育及啟示[J]. 圖書館研究, 2015, 45(6): 108-111.

[3] 張樂平, 張勁柏, 張偉信, 等. 借鑒翻轉(zhuǎn)課堂的醫(yī)科院校程序設(shè)計課程教改[J]. 計算機(jī)教育, 2015(4): 19-22.

[4] 謝志明,王鵬, 李俊杰, 等. 基于CDIO的云計算與大數(shù)據(jù)課程體系建設(shè)[J]. 計算機(jī)教育, 2017(1): 47-52.

[5] 嵩天, 黃天羽, 禮欣. Python語言: 程序設(shè)計課程教學(xué)改革的理想選擇[J]. 中國大學(xué)教學(xué), 2016(2): 42-47.

[6] 黃如花, 李白楊. 數(shù)據(jù)素養(yǎng)教育: 大數(shù)據(jù)時代信息素養(yǎng)教育的拓展[J]. 圖書情報知識, 2016(1): 21-29.

[7] 張樂平, 馮紅玲, 宋茂海, 等. 生物信息學(xué)教學(xué)與醫(yī)科學(xué)生計算思維培養(yǎng)[J]. 計算機(jī)教育, 2012(19): 12-16.

[8] 中國大學(xué)精品開放MOOC課程[EB/OL]. [2017-03-20]. http://www.icourses.cn.

(見習(xí)編輯:景貴英)

主站蜘蛛池模板: 欧美国产成人在线| 91小视频版在线观看www| 国产色婷婷| 国产精品开放后亚洲| 亚洲欧洲国产成人综合不卡| 欧美无专区| 无码一区中文字幕| 欧美成人日韩| 国产精品三级av及在线观看| 欧美成人精品一区二区| 亚洲免费三区| 粗大猛烈进出高潮视频无码| 国产成人亚洲综合A∨在线播放| av在线无码浏览| 亚洲精品久综合蜜| 操国产美女| 亚洲国产成人久久77| 色欲国产一区二区日韩欧美| 在线欧美a| 玖玖精品在线| 制服丝袜一区| 国产精品国产三级国产专业不| 国产情侣一区| 国产99热| 国产成人精品日本亚洲| 国产特级毛片| 国产精品亚洲片在线va| 国产性爱网站| 国产女人在线视频| 日韩精品毛片| 国产不卡在线看| 日本在线免费网站| 女人18毛片久久| 欧洲极品无码一区二区三区| 日本中文字幕久久网站| 亚洲欧美精品一中文字幕| 狠狠五月天中文字幕| 这里只有精品在线| 亚洲欧洲免费视频| 亚洲中文字幕久久精品无码一区| 日韩国产黄色网站| 激情综合激情| 香蕉eeww99国产在线观看| 日本一本在线视频| 99久久精品无码专区免费| 她的性爱视频| 日本免费精品| 国产又色又爽又黄| 欧美精品黑人粗大| 91精品人妻互换| 亚洲无码不卡网| 青青草久久伊人| 亚洲精品少妇熟女| 国产成人高清在线精品| 午夜a级毛片| 欧美亚洲中文精品三区| 在线另类稀缺国产呦| a级毛片免费网站| 天堂久久久久久中文字幕| 日本中文字幕久久网站| 国产精品私拍99pans大尺度 | 日韩精品免费一线在线观看| 波多野一区| 欧美中日韩在线| 91免费片| 亚洲精品视频免费看| 992tv国产人成在线观看| 亚洲精品视频网| 欧美亚洲激情| 色悠久久久| 麻豆精品视频在线原创| 2020精品极品国产色在线观看 | 欧美高清国产| 亚洲欧洲天堂色AV| 99国产在线视频| 欧美亚洲国产精品久久蜜芽| 欧美黄色网站在线看| 亚洲AV人人澡人人双人| 无码久看视频| 午夜影院a级片| 91丝袜美腿高跟国产极品老师| 国产成人a毛片在线|