亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        可編程實(shí)驗(yàn)課件的設(shè)計(jì)

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

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

        摘要:本文總結(jié)了計(jì)算機(jī)專(zhuān)業(yè)類(lèi)實(shí)驗(yàn)教學(xué)的特點(diǎn)和難點(diǎn),提出可編程實(shí)驗(yàn)課件的思路,給出了設(shè)計(jì)原則、設(shè)計(jì)框架,給出了精確測(cè)量運(yùn)算時(shí)間、控制單步運(yùn)行、實(shí)現(xiàn)編程接口隱蔽等重要技術(shù)的實(shí)現(xiàn)方案,總結(jié)了應(yīng)用效果及適用條件。

        關(guān)鍵詞:實(shí)驗(yàn)教學(xué);可編程課件;設(shè)計(jì);單步運(yùn)行

        中圖分類(lèi)號(hào):G43

        文獻(xiàn)標(biāo)識(shí)碼:B

        1引言

        學(xué)生們?cè)趯W(xué)習(xí)如數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計(jì)與分析、操作系統(tǒng)、編譯原理等專(zhuān)業(yè)課程時(shí),都需要上機(jī)編程驗(yàn)證其中的重要和基本算法,以加深對(duì)理論的理解。

        但實(shí)驗(yàn)程序往往界面簡(jiǎn)陋,輸入和控制不方便,輸出不直觀?;蛘呤抢蠋煘榱嗽鰪?qiáng)教學(xué)效果制作了精美的課件,但往往也是按既定輸入和既定流程進(jìn)行演示的,沒(méi)有可編程性。

        結(jié)合以上兩方面的特點(diǎn),下面介紹一種針對(duì)計(jì)算機(jī)專(zhuān)業(yè)的可編程實(shí)驗(yàn)課件的設(shè)計(jì)方法。

        2設(shè)計(jì)原則

        2.1弱化開(kāi)發(fā)工具的特性

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

        2.2強(qiáng)化輸入和輸出

        一個(gè)好用的實(shí)驗(yàn)課件應(yīng)該能夠方便地輸入各種測(cè)試數(shù)據(jù),比如對(duì)于大的數(shù)據(jù),提供從文件載入的功能,學(xué)生只可以改變輸入,反復(fù)調(diào)試和驗(yàn)證,而不需要反復(fù)手工輸入相同或相似的一組數(shù)據(jù)。

        盡量使用可視化界面,包括文本框、單選框、復(fù)選框、數(shù)字框、下拉列表框、按鈕等待,都可以作為快速輸入?yún)?shù)的控件,還可以提供保存輸入狀態(tài)的功能。

        盡量采用圖形化、動(dòng)畫(huà)輸出,比如算法設(shè)計(jì)中的n皇后問(wèn)題,可以畫(huà)出n個(gè)皇后放置在棋盤(pán)中的情況,在每次嘗試一個(gè)放置位置時(shí),將其動(dòng)起來(lái)。

        不適合采用圖形動(dòng)畫(huà)輸出的,需要監(jiān)視狀態(tài)的數(shù)據(jù),也可以根據(jù)其數(shù)據(jù)類(lèi)型選擇控件,參考表1。

        2.3內(nèi)部實(shí)現(xiàn)要隱蔽,接口要簡(jiǎn)單通用

        簡(jiǎn)單的編程接口能減少學(xué)生了解接口的時(shí)間,最理想的情況是隱蔽的接口,利用.NET/Java的屬性讀寫(xiě)訪(fǎng)問(wèn)器可實(shí)現(xiàn)這一點(diǎn)。

        學(xué)生只需設(shè)計(jì)和填入要驗(yàn)證的關(guān)鍵代碼,課件運(yùn)行時(shí)即可自動(dòng)觸發(fā)屬性訪(fǎng)問(wèn)器,驅(qū)動(dòng)課件底層的代碼,得到課件所提供的圖形動(dòng)畫(huà)等效果。

        3整體結(jié)構(gòu)設(shè)計(jì)

        根據(jù)以上原則,我們?cè)O(shè)計(jì)的可編程實(shí)驗(yàn)課件結(jié)構(gòu)如圖1所示,其中控制接口部分的設(shè)計(jì)是難點(diǎn)和關(guān)鍵。

        圖1 可編程課件的設(shè)計(jì)結(jié)構(gòu)

        4單步跟蹤功能的設(shè)計(jì)

        我們?cè)O(shè)計(jì)實(shí)驗(yàn)驗(yàn)證一個(gè)算法,往往需要關(guān)心其運(yùn)行的每一步。對(duì)于可編程的實(shí)驗(yàn)課件,如何提供這樣的功能,又不使程序回到開(kāi)發(fā)環(huán)境的調(diào)試斷點(diǎn)狀態(tài),是一個(gè)難點(diǎn)。我們借助多線(xiàn)程互斥技術(shù)和巧妙設(shè)計(jì)控制接口實(shí)現(xiàn)了這一點(diǎn)。圖2是我們做的n皇后問(wèn)題的效果圖。

        圖2 可編程實(shí)驗(yàn)課件的單步跟蹤效果

        下面講解如何實(shí)現(xiàn)這樣的控制:

        第一步:需要開(kāi)啟一個(gè)工作多線(xiàn)程,實(shí)驗(yàn)者的實(shí)驗(yàn)代碼編寫(xiě)在線(xiàn)程函數(shù)里面。

        第二步:設(shè)置一個(gè)創(chuàng)建一個(gè)全局的自動(dòng)復(fù)位模式的互斥對(duì)象,用于阻塞工作線(xiàn)程;設(shè)置一個(gè)全局的工作狀態(tài)變量,用于表示當(dāng)前處于連續(xù)工作模式還是單步執(zhí)行模式。

        第三步:分析該實(shí)驗(yàn)的特點(diǎn),提取出和輸出狀態(tài)對(duì)應(yīng)的關(guān)鍵步驟,封裝成接口,在接口的實(shí)現(xiàn)中嵌入等待互斥對(duì)象復(fù)位的代碼。這樣,實(shí)驗(yàn)者的算法必然調(diào)反復(fù)用這個(gè)接口,當(dāng)互斥對(duì)象處于置位狀態(tài)時(shí)或者工作在連續(xù)模式時(shí),工作線(xiàn)程可以繼續(xù),否則工作線(xiàn)程被阻塞,處于等待狀態(tài)。

        第四步:編寫(xiě)單步運(yùn)行按鈕的事件處理代碼,設(shè)置工作狀態(tài)為單步執(zhí)行模式,啟動(dòng)線(xiàn)程。

        第五步:編寫(xiě)全速運(yùn)行按鈕的事件處理代碼,設(shè)置工作狀態(tài)為連續(xù)工作模式,啟動(dòng)線(xiàn)程。

        5其他經(jīng)驗(yàn)

        5.1使用線(xiàn)程分控制和實(shí)驗(yàn)兩個(gè)運(yùn)行體

        將工作線(xiàn)程和界面線(xiàn)程分離,不會(huì)因?yàn)閷W(xué)生的代碼死循環(huán)或耗時(shí)長(zhǎng)導(dǎo)致課件無(wú)法操作。

        5.2使用系統(tǒng)API獲取準(zhǔn)確的運(yùn)行時(shí)間

        操作系統(tǒng)的線(xiàn)程管理函數(shù)都提供獲取每個(gè)線(xiàn)程處于系統(tǒng)態(tài)或用戶(hù)態(tài)的較準(zhǔn)確的時(shí)間。通過(guò)這些API,能夠準(zhǔn)確分析實(shí)驗(yàn)者所設(shè)計(jì)的算法的運(yùn)行時(shí)間。

        5.3通過(guò)訪(fǎng)問(wèn)器來(lái)實(shí)現(xiàn)最隱蔽的接口封裝

        Java和.NET都在語(yǔ)法上提供屬性的訪(fǎng)問(wèn)器,利用這個(gè)特點(diǎn),我們可以做到讓實(shí)驗(yàn)者感覺(jué)不到在什么地方調(diào)用了接口,而自動(dòng)獲得輸出演示能力。如在n后問(wèn)題中,教科書(shū)上定義x[k]表示第k行Queen的位置,我們就可以添加x[]的讀寫(xiě)訪(fǎng)問(wèn)器,這樣每當(dāng)學(xué)生的代碼更改x[k]時(shí),如x[k]++,自然就調(diào)用到了我們的寫(xiě)訪(fǎng)問(wèn)器,課件設(shè)計(jì)者在里面好的更新第k行Queen顯示的代碼就會(huì)執(zhí)行,對(duì)于學(xué)生來(lái)說(shuō)非常自然。

        5.4使用面向?qū)ο蟮脑O(shè)計(jì)模式來(lái)分離設(shè)計(jì)者和實(shí)驗(yàn)者的代碼

        在上面的設(shè)計(jì)方案中,實(shí)驗(yàn)設(shè)計(jì)者的代碼和學(xué)生的代碼是混雜的,學(xué)生在瀏覽時(shí)難免分心,如果有知識(shí)產(chǎn)權(quán)要求,也不容易保護(hù)。如果使用的是面向?qū)ο蟮恼Z(yǔ)言,可以將實(shí)驗(yàn)設(shè)計(jì)者的代碼封裝在基類(lèi)中,學(xué)生通過(guò)重載工作線(xiàn)程函數(shù),只編寫(xiě)和看到自己的實(shí)驗(yàn)代碼。

        6結(jié)束語(yǔ)

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

        參考文獻(xiàn)

        [1] 趙秀英,王平軍. 高校實(shí)驗(yàn)教學(xué)的開(kāi)放模式探討[J]. 實(shí)驗(yàn)室科學(xué),2006,(6):44-46.

        [2] 湯艷麗. 論多媒體在教學(xué)中的應(yīng)用[J]. 實(shí)驗(yàn)教學(xué)與儀器,2006,(3):37.

        [3] 嚴(yán)雋薇. 電子信息類(lèi)本科實(shí)驗(yàn)教學(xué)機(jī)構(gòu)改革初探[J]. 電子高等教育學(xué)會(huì)2004年學(xué)術(shù)年會(huì)[C]. 北京:機(jī)械工業(yè)出版社,2004:142-145.

        亚洲AV日韩Av无码久久| 国产一区二区三区不卡视频| 一区二区三区日本美女视频| 亚洲成a人一区二区三区久久| 婷婷四虎东京热无码群交双飞视频| 国产亚洲精品久久久闺蜜| 欧洲日本一线二线三线区本庄铃| 五月婷一本到五月天| 国产在亚洲线视频观看| 一区二区三区在线观看视频| 国产精品亚洲综合久久系列| 亚洲一区二区二区视频| 成人内射国产免费观看| 成人国内精品久久久久一区| 成熟丰满熟妇高潮xxxxx| 999精品全免费观看视频| 欧美亚洲h在线一区二区| 国产中文色婷婷久久久精品| 放荡的少妇2欧美版| 少妇极品熟妇人妻无码| 加勒比黑人在线| 亚洲第一页综合av免费在线观看| 中文字幕av素人专区| 中文字幕人妻熟女人妻| 国产一卡2卡3卡四卡国色天香 | a级国产乱理论片在线观看| 日韩在线免费| 国产91熟女高潮一曲区| 国产一区二区三区成人| 国产精品一区二区三区播放| 亚洲中文字幕无码爆乳app| av人摸人人人澡人人超碰妓女| 亚洲男人第一av网站| 国产在线一区二区视频免费观看 | 亚洲综合一区中文字幕| 久久久无码人妻精品一区| 国产精品天天看大片特色视频 | 亚洲国产一区二区三区在观看 | 国产午夜福利久久精品| 国产成人综合亚洲精品| 午夜无码熟熟妇丰满人妻|