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

可編程實驗課件的設計

2008-12-31 00:00:00程欣宇李維華
計算機教育 2008年8期

文章編號:1672-5913(2008)08-0040-02

摘要:本文總結了計算機專業類實驗教學的特點和難點,提出可編程實驗課件的思路,給出了設計原則、設計框架,給出了精確測量運算時間、控制單步運行、實現編程接口隱蔽等重要技術的實現方案,總結了應用效果及適用條件。

關鍵詞:實驗教學;可編程課件;設計;單步運行

中圖分類號:G43

文獻標識碼:B

1引言

學生們在學習如數據結構、算法設計與分析、操作系統、編譯原理等專業課程時,都需要上機編程驗證其中的重要和基本算法,以加深對理論的理解。

但實驗程序往往界面簡陋,輸入和控制不方便,輸出不直觀。或者是老師為了增強教學效果制作了精美的課件,但往往也是按既定輸入和既定流程進行演示的,沒有可編程性。

結合以上兩方面的特點,下面介紹一種針對計算機專業的可編程實驗課件的設計方法。

2設計原則

2.1弱化開發工具的特性

一般的驗證性實驗,重點是驗證某個算法在各種情況下是否正確、效率如何。并不關心使用的編程工具是Java、C#還是C++。盡量讓學生不用再考慮如何針對每次不同的實驗內容去設計一個輸入、控制和輸出的界面,從而節約了有限的實驗時間。

2.2強化輸入和輸出

一個好用的實驗課件應該能夠方便地輸入各種測試數據,比如對于大的數據,提供從文件載入的功能,學生只可以改變輸入,反復調試和驗證,而不需要反復手工輸入相同或相似的一組數據。

盡量使用可視化界面,包括文本框、單選框、復選框、數字框、下拉列表框、按鈕等待,都可以作為快速輸入參數的控件,還可以提供保存輸入狀態的功能。

盡量采用圖形化、動畫輸出,比如算法設計中的n皇后問題,可以畫出n個皇后放置在棋盤中的情況,在每次嘗試一個放置位置時,將其動起來。

不適合采用圖形動畫輸出的,需要監視狀態的數據,也可以根據其數據類型選擇控件,參考表1。

2.3內部實現要隱蔽,接口要簡單通用

簡單的編程接口能減少學生了解接口的時間,最理想的情況是隱蔽的接口,利用.NET/Java的屬性讀寫訪問器可實現這一點。

學生只需設計和填入要驗證的關鍵代碼,課件運行時即可自動觸發屬性訪問器,驅動課件底層的代碼,得到課件所提供的圖形動畫等效果。

3整體結構設計

根據以上原則,我們設計的可編程實驗課件結構如圖1所示,其中控制接口部分的設計是難點和關鍵。

圖1 可編程課件的設計結構

4單步跟蹤功能的設計

我們設計實驗驗證一個算法,往往需要關心其運行的每一步。對于可編程的實驗課件,如何提供這樣的功能,又不使程序回到開發環境的調試斷點狀態,是一個難點。我們借助多線程互斥技術和巧妙設計控制接口實現了這一點。圖2是我們做的n皇后問題的效果圖。

圖2 可編程實驗課件的單步跟蹤效果

下面講解如何實現這樣的控制:

第一步:需要開啟一個工作多線程,實驗者的實驗代碼編寫在線程函數里面。

第二步:設置一個創建一個全局的自動復位模式的互斥對象,用于阻塞工作線程;設置一個全局的工作狀態變量,用于表示當前處于連續工作模式還是單步執行模式。

第三步:分析該實驗的特點,提取出和輸出狀態對應的關鍵步驟,封裝成接口,在接口的實現中嵌入等待互斥對象復位的代碼。這樣,實驗者的算法必然調反復用這個接口,當互斥對象處于置位狀態時或者工作在連續模式時,工作線程可以繼續,否則工作線程被阻塞,處于等待狀態。

第四步:編寫單步運行按鈕的事件處理代碼,設置工作狀態為單步執行模式,啟動線程。

第五步:編寫全速運行按鈕的事件處理代碼,設置工作狀態為連續工作模式,啟動線程。

5其他經驗

5.1使用線程分控制和實驗兩個運行體

將工作線程和界面線程分離,不會因為學生的代碼死循環或耗時長導致課件無法操作。

5.2使用系統API獲取準確的運行時間

操作系統的線程管理函數都提供獲取每個線程處于系統態或用戶態的較準確的時間。通過這些API,能夠準確分析實驗者所設計的算法的運行時間。

5.3通過訪問器來實現最隱蔽的接口封裝

Java和.NET都在語法上提供屬性的訪問器,利用這個特點,我們可以做到讓實驗者感覺不到在什么地方調用了接口,而自動獲得輸出演示能力。如在n后問題中,教科書上定義x[k]表示第k行Queen的位置,我們就可以添加x[]的讀寫訪問器,這樣每當學生的代碼更改x[k]時,如x[k]++,自然就調用到了我們的寫訪問器,課件設計者在里面好的更新第k行Queen顯示的代碼就會執行,對于學生來說非常自然。

5.4使用面向對象的設計模式來分離設計者和實驗者的代碼

在上面的設計方案中,實驗設計者的代碼和學生的代碼是混雜的,學生在瀏覽時難免分心,如果有知識產權要求,也不容易保護。如果使用的是面向對象的語言,可以將實驗設計者的代碼封裝在基類中,學生通過重載工作線程函數,只編寫和看到自己的實驗代碼。

6結束語

作者在計算機專業的實驗課程實踐中,嘗試了使用該方法的效果,大大加快了學生實驗速度,特別提高了學生實驗和分析算法的能力。比如在算法設計與分析的回溯這章的實驗課時,可以在一次課內,要求學生完成迭代回溯和遞歸回溯兩個版本,比較分析性能,讓學生得到充分鍛煉和理解。

參考文獻

[1] 趙秀英,王平軍. 高校實驗教學的開放模式探討[J]. 實驗室科學,2006,(6):44-46.

[2] 湯艷麗. 論多媒體在教學中的應用[J]. 實驗教學與儀器,2006,(3):37.

[3] 嚴雋薇. 電子信息類本科實驗教學機構改革初探[J]. 電子高等教育學會2004年學術年會[C]. 北京:機械工業出版社,2004:142-145.

主站蜘蛛池模板: 亚洲第一视频网站| 国产在线啪| 一级福利视频| 成人在线视频一区| 亚洲日产2021三区在线| 久久婷婷六月| 91系列在线观看| 自拍欧美亚洲| 国产美女视频黄a视频全免费网站| 二级毛片免费观看全程| 亚洲性网站| 精品国产中文一级毛片在线看| 无码精品国产VA在线观看DVD| 成年人午夜免费视频| 成人午夜亚洲影视在线观看| 国产综合网站| 午夜丁香婷婷| 全部免费毛片免费播放| 亚洲欧美另类色图| 女同久久精品国产99国| 99这里只有精品在线| 亚洲另类色| 国产成人av一区二区三区| 高潮爽到爆的喷水女主播视频| 亚洲综合精品香蕉久久网| 免费一级毛片在线观看| 国产一级毛片yw| 女人爽到高潮免费视频大全| av午夜福利一片免费看| 99热这里只有成人精品国产| 91精品啪在线观看国产60岁 | 日韩无码一二三区| 国产精品一线天| 国产视频入口| 亚洲婷婷六月| 国产亚洲视频中文字幕视频| 日韩午夜片| 亚洲无码电影| 日本www在线视频| 久久久91人妻无码精品蜜桃HD | 91精品免费久久久| 日本高清在线看免费观看| 日本精品αv中文字幕| 综合五月天网| 国内黄色精品| 一区二区三区在线不卡免费 | 狠狠综合久久久久综| 国产十八禁在线观看免费| 免费大黄网站在线观看| 国产成人精品亚洲77美色| 欧美天堂在线| 99久久精品免费视频| 国产一二三区在线| 久久久久久尹人网香蕉| 91小视频在线| 国产在线第二页| 国产欧美在线观看精品一区污| 国产欧美日韩免费| 久久精品中文无码资源站| 98超碰在线观看| 国产成年无码AⅤ片在线| 久久毛片基地| 韩国自拍偷自拍亚洲精品| 久久精品国产精品青草app| 国产精品视频猛进猛出| 又粗又大又爽又紧免费视频| 中文字幕在线播放不卡| 99精品热视频这里只有精品7 | 国产高清无码第一十页在线观看| 55夜色66夜色国产精品视频| 一区二区三区四区精品视频 | 日本a级免费| 欧美一区二区三区不卡免费| 一本大道视频精品人妻| 综合色88| 亚洲精品无码不卡在线播放| 国产日韩欧美一区二区三区在线| 天堂成人在线| 国产精品主播| 国产又粗又爽视频| 免费亚洲成人| 久久国产黑丝袜视频|