秦 川 甘昕艷 高 翔 唐曉年 鄧雪蓮 沈劍敏(廣西中醫藥大學,廣西 南寧 530001)
21 世紀是信息化的世紀,隨著互網+、云計算、大數據、計算機虛擬技術的飛速發展,與中醫藥學領域的融合和滲透越來越深入,中醫藥以及醫院信息化已經成為中醫藥以及醫院發展的一個重要趨勢。 因此相關用人單位對有中醫藥醫學背景同時又具有計算機信息專業知識能力的復合型人才有著較為緊迫的人才需求。 為滿足社會對該類型人才的需求,并產生良好的社會效益,不少醫學類院校紛紛開設以醫學醫藥為背景的計算機信息類專業。
但是由于醫學院校在工科類專業的專業建設上比較薄弱,在對專業中計算機信息類的專業課程教學中不論從師資力量、 實驗室硬件及軟件配備上都有諸多的不足。 同時報讀這類專業的學生,由于理工類課程基礎較差,對計算機信息類的程序設計課程,缺乏學習的熱情和主動性。 由于缺乏熱情在課堂上和課外學習個體之間缺乏必要的學習討論和橫向交流,學生在稍微遇到一點知識點上的節點和困難就會出現難以解決的情況,從而在學習心態上產生退縮以致無法很好地完成專業課程的學習。 由于班級學生人數較多,在學生遇到章節的難點以及作業和強化練習的難點時授課教師無法及時,參與干預到學生的學習過程并對其提供強有力的幫助,除非學生具有較強的持之以恒的學習精神,往往這些困難和知識的盲點就會被學生帶過。 并且在學習的過程中,學生往往是被動地接受知識,不是主動的學習相關內容而找尋各種案例的答案,這導致學過的內容往往不能熟悉和牢固, 甚至會出現課程結束后知識就丟回給老師的情況。 在畢業的時候,在需要到相關專業課知識進行畢業設計時, 又只好重新拿起學過的課程進行二次學習,這樣極大的降低學習的效率,浪費了在高校中的學習時間。
為了解決上述問題,響應新世紀教學改革的號召運用新的技術,解決新的問題。 首先考慮在課程中解決學生學習積極性的問題, 強化學生學習的主動性,使其能主動找尋章節知識點的關鍵內容,并用來解決各種布置的課程作業上。 其次充分利用虛擬互聯網和虛擬系統的現代化技術提高計算機課程的專業老師的教學效率。 通過虛擬系統高效率地提供友好的軟件學習,實驗平臺,讓學生可以從軟件環境部署、程序設計編寫各種程序語言的源代碼,建立工程文件、鏈接、最終生成可執行文件等一系列過程有一個完整的實踐流程。 以虛擬平臺為基礎,以學生為中心的教學方法為組織核心,在教學上將知識點由易到難將知識點和授課章節進行階梯化設計,同時在教學的過程中基于虛擬平臺普以各種現代化的監督和幫助鼓勵機制,使學生在學習的過程中不再感到孤單,并且有足夠的興趣和動力完成計算機信息類課程的學習。
在本研究中我們將引入以互聯網為基礎的虛擬機組成的平臺,架設一個有多個虛擬機和虛擬的局域網組成的實驗教學平臺。 作為我們以學生為中心的教學改革的硬件支撐并在此基礎上對教學方法,教學過程進行各種有益的創新和嘗試。
虛擬化平臺是指一臺或數臺并行運行的計算機上通過虛擬機系統軟件對硬件資源的分配虛擬出來具有獨立邏輯和系統的計算機。 每一臺虛擬機由于分配有完整的計算核心,主存和獨立的CMOS、硬盤和操作系統所以它和實際的計算機一樣擁有完整的軟硬件配置和功能。 在虛擬機系統軟件的管理下既可以像使用普通計算機一樣對虛擬的主機進行分區、 格式化、安裝系統和應用軟件等操作也可以由上層的虛擬機管理統一實施分區、格式化、安裝系統和應用軟件。在建立了多個虛擬機后還可以在虛擬機件建立虛擬局域網,提供更進一步的云計算和云存儲服務。
當前主流的虛擬機平臺軟件主要有VMware Workstation、Microsoft Virtual PC 和H3C CAS 虛擬化平臺。 由于“虛擬機”能夠模擬計算機的硬件操作的特點,故具有以下的優點:
實驗室中虛擬機可以給每臺學生要電腦提供虛擬桌面, 應用軟件可以在虛擬桌面服務端集中部署,虛擬機在學生端應用層面可以屏蔽硬件平臺的差異以模擬不同硬件的客戶端的使用環境實現了件平臺的異構性,支持軟件跨平臺運行。 同時軟件還可以在虛擬機中不經修改地運行, 實現隔離狀態下運行、實時遷移,以滿足實驗及軟件測試要求。
大部分虛擬機支持動態資源分配功能,可實現虛擬機資源(CPU、內存、磁盤、網卡等)在線/離線動態調整。 可以快捷的復制虛擬機方案給客戶端或學生端使用,一個單獨的虛擬硬盤文件就可以將一個系統以及安裝的應用軟件等內容封裝其中, 通過這種封裝形式,虛擬機方案可以快速地備份、安裝、復制、分發給學生客戶端。 有效地降低了軟件的管理、 配置的難度,增加了軟件部署的方便性和靈活性。
虛擬化平臺將服務器主機和虛擬機都組織到集群中,提供了清晰的分層結構視圖,直觀地展示了數據中心、主機池、集群、主機和虛擬機之間的關系,大大簡化了資源管理的工作量。 虛擬機的開機、關機、休眠,甚至虛擬硬件的添加、修改、刪除等操作都具有編程接口并可以在線操作,可以實現硬件資源的遠程管理和集中管理。
通過對上述虛擬化平臺介紹,我們在教學中以計算機組成原理這一課程為例實現以下教學方法:
使學生能迅速地進入到良好的學習狀態。 虛擬平臺能很方便地虛擬出一臺性能強大的服務器主機,在安裝了云教學軟件后,可以給教師提供強大的教學演示功能,同時虛擬平臺會虛擬出足夠數量的虛擬桌面系統,并投放到每一臺學生機上。
教師可以通過教學軟件現場演示這些虛擬桌面系統的使用方法。 學生機上的虛擬系統所獨有的可以實時調整硬件參數的功能,可以讓學生自由調整本系統的CPU 核心數,運行內存的容量,外存硬盤的容量。在調整完相關硬件參數后,可以馬上用系統自帶的硬件性能測試軟件對該硬件配置進行性能測試,由此可以看到不同的硬件配置,所能帶來的最直觀的不同的硬件性能,以便了解到不同計算機組成部件性能參數的變化,對計算機的系統在哪方面性能會有直接的影響。 為了增加測試的準確性,我們還可以在自帶的測試軟件之外,方便地通過虛擬分發的功能,提供更多第3 方,更有針對性的硬件性能測試軟件,讓同學們在對計算機各個子系統的硬件參數等相關知識有一個更全面的了解。
由于是虛擬桌面系統,每次部署的系統都可以包含每次課所需要的各種應用軟件功能。 在學習計算機組成原理的計算機硬件功能相關知識的時候,虛擬出來的學生端可以虛擬出包括磁盤分區和陣列、操作系統的安裝、 應用程序的使用和測試以及局域網的組網,模擬出基于三層交換機的網絡環境完成相關的網絡實驗。 還可以虛擬出不同架構的建設網站的網站系統,以及支持驗證網站功能的虛擬WEB 訪問局域網,提供完整的Web 程序開發學習環境。
通過這種自主的學習,觀察,自行思考后所掌握到的知識點, 遠比直接對著課本講授要生動有趣得多,也能讓學生對相關計算機硬件方面的知識,有更深刻的了解和更好的記憶。
在課程進入程序設計編寫階段, 可以讓虛擬平臺, 快速的部署出另外一臺服務器并安裝Online Judge 系統,為學生的程序編寫提供服務。 由虛擬平臺提供的Online Judge 系統可以實現在線的判題, 學生可以在線提交完成的程序作業的源代碼,(如C、C++、JAVA),系統對源代碼進行編譯和執行,并通過預先設計的測試數據來檢驗程序源代碼的正確性。 科任老師可以對每個知識點設計更多的作業案例,可以不特意指定學生該完成哪一道題,讓學生依據自己的興趣和能力來選擇。 同時也可以和其他同學合作完成。 或者可以將網上的案例導入到系統中,讓學生們自由選擇自己感興趣的案例編寫相應的程序以獲取成績積分。 通過積分來判定學生對知識的掌握程度和學習過程中的薄弱點,然后對積分較少,錯誤較多,扣分較多的程序案例所涉及的知識點,進行重點的講解和反復的輔導和答疑,以破除學生在課程學習的內容中的知識盲點。 同時我們將該OJ 系統,與其他院校的OJ 系統進行聯動,已實現各種新題型、新算法的共享,同時可以分享各種編程題的解題思路, 進行更廣泛的交流。 在交流過程中學生不但可以接觸到跟程序編寫相關的比較新的內容同時還可以對課程中已經學習的知識,進行很大程度上的驗證和鞏固。
Online Judge 系統對本課程在一定程度上, 還可以充當期末考試的考核工具。 可以將考核的編程考試內容,以ACM 競賽的方式來進行,這樣可以讓考試內容最大限度接近當前流行的程序編寫的算法及結構的發展趨勢, 讓同學們獲得更多的實踐鍛煉機會,同時也更能體現同學們對本課程的學習成果。
通過上述的學習形式可以極大地調動學生對學習編程等相關知識的積極性, 以及降低學習的困難,提高學習的興趣,自主地去完成相關知識點的學習。
在自主學習的過程中,一定會遇到學習相關知識點后完成某個作業,出現不懂的情況,和困難,如果這時碰巧科任老師無法及時輔導,將會對學生的積極性造成較大的打擊。 而虛擬平臺具有可以架設私有云存儲和本地資料庫的能力, 我們可以虛擬出一臺服務器,建立一個基于局域網的web 系統,將錄制好的課程視頻和作業案例解答視頻分配給每個同學的私有云存儲, 同學們可以通過web 系統提供的交互頁面,聯系到課程的老師進行在線解答,也可以通過頁面訪問自己私有云中共享到的課程視頻和作業案例解答視頻,由此可以讓學生在遇到學習困難時及時獲得切實有效的幫助。 使學生在完成編程作業時不再處于一種孤立無援的狀態, 可以極大地提高學生學習的信心,降低科任老師的課后輔導壓力,提高整個課程的學習效率。
通過對虛擬平臺在上述教學過程中的應用,我們可以一定程度上改變傳統的教學模式,能為學生提供更多的學習方法和教學資源,同時也一定程度上增加了教學考核的手段。 學生可以在線實時地對自己的學習成果隨時隨地的進行驗證,通過不斷的學習,不斷的自我驗證肯定的方式,可以從心理上極大增強學生們學習的信心,最終對該課程傳統教學方式的教學效果,獲得一個較大的突破。 使學生在學習計算機組成原理以及其他相關計算機信息程序設計類課程時,獲得更好的效果和更優的成績。