時間:2022-03-12 07:36:01
導語:在操作系統(tǒng)實驗報告的撰寫旅程中,學習并吸收他人佳作的精髓是一條寶貴的路徑,好期刊匯集了九篇優(yōu)秀范文,愿這些內(nèi)容能夠啟發(fā)您的創(chuàng)作靈感,引領(lǐng)您探索更多的創(chuàng)作可能。
實驗名稱
要用最簡練的語言反映實驗的內(nèi)容。如驗證某程序、定律、算法,可寫成“驗證×××”;分析×××。
學生姓名、學號、及合作者
實驗日期和地點(年、月、日)
實驗目的
目的要明確,在理論上驗證定理、公式、算法,并使實驗者獲得深刻和系統(tǒng)的理解,在實踐上,掌握使用實驗設備的技能技巧和程序的調(diào)試方法。一般需說明是驗證型實驗還是設計型實驗,是創(chuàng)新型實驗還是綜合型實驗。
實驗原理
在此闡述實驗相關(guān)的主要原理。
實驗內(nèi)容
這是實驗報告極其重要的內(nèi)容。要抓住重點,可以從理論和實踐兩個方面考慮。這部分要寫明依據(jù)何種原理、定律算法、或操作方法進行實驗。詳細理論計算過程。
實驗步驟
只寫主要操作步驟,不要照抄實習指導,要簡明扼要。還應該畫出實驗流程圖(實驗裝置的結(jié)構(gòu)示意圖),再配以相應的文字說明,這樣既可以節(jié)省許多文字說明,又能使實驗報告簡明扼要,清楚明白。
實驗結(jié)果
實驗現(xiàn)象的描述,實驗數(shù)據(jù)的處理等。原始資料應附在本次實驗主要操作者的實驗報告上,同組的合作者要復制原始資料。
對于實驗結(jié)果的表述,一般有三種方法:
1. 文字敘述: 根據(jù)實驗目的將原始資料系統(tǒng)化、條理化,用準確的專業(yè)術(shù)語客觀地描述實驗現(xiàn)象和結(jié)果,要有時間順序以及各項指標在時間上的關(guān)系。
2. 圖表: 用表格或坐標圖的方式使實驗結(jié)果突出、清晰,便于相互比較,尤其適合于分組較多,且各組觀察指標一致的實驗,使組間異同一目了然。每一圖表應有表目和計量單位,應說明一定的中心問題。
3. 曲線圖
在實驗報告中,可任選其中一種或幾種方法并用,以獲得效果。
討論
根據(jù)相關(guān)的理論知識對所得到的實驗結(jié)果進行解釋和分析。如果所得到的實驗結(jié)果和預期的結(jié)果一致,那么它可以驗證什么理論?實驗結(jié)果有什么意義?說明了什么問題?這些是實驗報告應該討論的。但是,不能用已知的理論或生活經(jīng)驗硬套在實驗結(jié)果上;更不能由于所得到的實驗結(jié)果與預期的結(jié)果或理論不符而隨意取舍甚至修改實驗結(jié)果,這時應該分析其異常的可能原因。如果本次實驗失敗了,應找出失敗的原因及以后實驗應注意的事項。不要簡單地復述課本上的理論而缺乏自己主動思考的內(nèi)容。
另外,也可以寫一些本次實驗的心得以及提出一些問題或建議等。
結(jié)論
結(jié)論不是具體實驗結(jié)果的再次羅列,也不是對今后研究的展望,而是針對這一實驗所能驗證的概念、原則或理論的簡明總結(jié),是從實驗結(jié)果中歸納出的一般性、概括性的判斷,要簡練、準確、嚴謹、客觀。
20xx實驗報告范文
一、實驗目的及要求:
本實例是要創(chuàng)建邊框為1像素的表格。
二、儀器用具
1、生均一臺多媒體電腦,組建內(nèi)部局域網(wǎng),并且接入國際互聯(lián)網(wǎng)。
2、安裝windows xp操作系統(tǒng);建立iis服務器環(huán)境,支持asp。
3、安裝網(wǎng)頁三劍客(dreamweaver mx;flash mx;fireworks mx)等網(wǎng)頁設計軟件;
4、安裝acdsee、photoshop等圖形處理與制作軟件;
5、其他一些動畫與圖形處理或制作軟件。
三、實驗原理
創(chuàng)建邊框為1像素的表格。
四、實驗方法與步驟
1) 在文檔中,單擊表格“”按鈕,在對話框中將“單元格間距”設置為“1”。
2) 選中插入的表格,將“背景顏色”設置為“黑色”(#0000000)。
3) 在表格中選中所有的單元格,在“屬性”面版中將“背景顏色”設置為“白色”(#ffffff)。
4) 設置完畢,保存頁面,按下“f12”鍵預覽。
五、實驗結(jié)果
關(guān)鍵詞:操作系統(tǒng);教學改革;多元化方法;多元化評價
中圖分類號:G642 文獻標識碼:B 論文編號:1674-2117(2015)10-0093-03
操作系統(tǒng)是計算機中最大的系統(tǒng)軟件,管理著計算機系統(tǒng)中的所有硬件和軟件,內(nèi)容龐雜,涉及面廣?!安僮飨到y(tǒng)”課程主要介紹操作系統(tǒng)的基本原理和實現(xiàn)技術(shù),涉及計算機硬件、程序設計語言、數(shù)據(jù)結(jié)構(gòu)和計算方法等領(lǐng)域和內(nèi)容。該課程同時是計算機及相關(guān)學科的核心課程,亦是考研的專業(yè)課之一,其重要性毋庸置疑。
“操作系統(tǒng)”課程的特點是理論性較強,內(nèi)容抽象,課堂上所講的原理和實際中使用的操作系統(tǒng)并不一致,學生學習的積極性往往不高。課程實施中傳統(tǒng)的教學方法是以課堂講授為主,內(nèi)容比較陳舊,實驗學時偏少。上述情況明顯影響了以往課程實施的效果和質(zhì)量。基于上述問題,筆者在“操作系統(tǒng)”課程教學中從分析教學現(xiàn)狀入手,通過多元化的教學方法、教學手段、實踐教學以及評價方式等對課程教學進行探索和改進,以期取得良好的教學效果。
以往教學中存在的問題
1.課程理論性強,學生學習興趣不高
由于操作系統(tǒng)原理的自身特點,課程教學中概念抽象,應用性不強。學習效果不像高級語言或應用軟件學習那樣立竿見影,部分學生感覺學習操作系統(tǒng)沒有實際用處。學生學完課程只是掌握了操作系統(tǒng)的一些概念和原理,這些原理沒有和現(xiàn)實使用的操作系統(tǒng)聯(lián)系起來。
2.課程內(nèi)容陳舊,教學手段單一
“操作系統(tǒng)”課程以介紹操作系統(tǒng)原理為主,內(nèi)容遠落后于該領(lǐng)域最新的研究成果,教材內(nèi)容也沒有與時俱進。雖然近年來也出版了不少操作系統(tǒng)教材,但是大部分仍然側(cè)重理論講解和知識點描述,忽視與實際操作系統(tǒng)的結(jié)合。理論與實踐明顯脫節(jié)。隨著多媒體教學的普及,每節(jié)課的信息量增多了,但是教學過程仍然是以教師為主,教師以填鴨的方式灌輸理論知識,教學過程中缺乏與學生的互動和討論。課堂氣氛沉悶,教學質(zhì)量大打折扣。
3.實踐環(huán)節(jié)薄弱,學業(yè)評價方式單一
“操作系統(tǒng)”課程理論性較強,實踐課時自然成為“操作系統(tǒng)”課程教學的重要組成部分。但是在以往的課程實施中,實踐課時明顯偏少。對于學生而言,往往Linux系統(tǒng)剛剛熟悉不久,實踐課也就接近了尾聲,教學效果不盡如人意。另外,以往的課程評價方式較為單一,期末成績占很大的比重,部分學生平時不努力,考前搞突擊,嚴重影響了教學效果。
課程教學改革的方法與措施
1.優(yōu)化教學內(nèi)容
鑒于有限的課時,在課程實施中適當刪減教材中的內(nèi)容,增加主要內(nèi)容和重點內(nèi)容的實例分析,如目前流行的操作系統(tǒng)相對應的功能是如何實現(xiàn)的。操作系統(tǒng)是計算機的管理者,要站在管理者的角度去理解操作系統(tǒng)。要緊跟操作系統(tǒng)發(fā)展趨勢,與時俱進地介紹與操作系統(tǒng)相關(guān)的新技術(shù),激發(fā)學生的學習熱情。同時,可以借助課件制作的軟件,將一些算法和流程以動畫的形式呈現(xiàn),讓學生更加直觀地理解相關(guān)知識點。
2.采用多元化的教學方法,激發(fā)學生的學習熱情
在教學過程中堅持“以教師為主導,以學生為主體”的教學理念,將類比教學、啟發(fā)教學、情境教學等教法融入到教學過程中,以有效提升課程教學效果。
①類比教學法。將生活中常見的現(xiàn)象引入到教學過程中進行類比分析,使枯燥的理論變得生動有趣。比如,在講解進程和線程區(qū)別時,將進程和線程比作上戰(zhàn)場的士兵,以幫助學生理解。相當于進程的士兵攜帶了很多物品,所以他擁有的資源多、負擔重;相當于線程的士兵只攜帶了必要的防護工具和武器,輕裝上陣,所以線程負擔小,切換速度快。
②情境教學法。在課程教學中,結(jié)合內(nèi)容創(chuàng)設特定的情境,引導學生學習和理解。如在講解和尚打水問題時,請一部分學生將自己想象成是小和尚,另外一部分學生將自己想象成是老和尚,引導學生思考自己所扮演的角色應該按順序做哪些動作。通過這樣的情境思維體驗,學生對于PV原語及對應的程序就不難理解了。
③啟發(fā)式教學法。在課程教學中充分調(diào)動學生的主觀能動性,將知識點分解設計成一系列問題,引導啟發(fā)學生主動思考,自主尋求答案。例如,在講解文件管理時,首先提出問題:我們在計算機中找到某一文件的圖標,雙擊該圖標后,操作系統(tǒng)做了哪些事情?我們的文件存放在什么設備上,操作系統(tǒng)是如何找到它的,設備驅(qū)動器做了哪些事情?如此一步步地引導學生去思考,激發(fā)學生的興趣,從而引出并完成教學內(nèi)容。
3.運用多元化的教學手段
①分組協(xié)作學習。為了激發(fā)學生自主學習的積極性,學生可以在教師給定的范圍內(nèi)選題,3~4人一組,利用網(wǎng)絡資源和各種參考資料開展自主學習。根據(jù)設計,要求學生將學習成果提煉成PPT,教師隨機從每組中選擇一名學生上講臺演示和分享小組的學習成果,同時由十名評委同學打分,計算平均得分并賦予小組每個成員。教師則做好記錄,并對每組學生的匯報進行點評。經(jīng)過實踐證明,這種分組協(xié)作學習的方式激發(fā)了學生自主學習的熱情,鍛煉了學生的語言表達能力和團隊合作精神,課堂氣氛活躍,效果良好。
②讀書報告――擴展學生視野。組織引導學生追蹤操作系統(tǒng)最新發(fā)展動向。在教師給定關(guān)鍵詞和選題范圍內(nèi),學生自擬讀書報告題目,然后通過查閱參考書和科技文獻撰寫讀書報告,并要求一個學期提交兩份讀書報告。通過閱讀大量文獻和資料,可以提高學生相關(guān)知識點的閱讀量,并有效擴展專業(yè)視野。
③隨堂測試重要知識點。重要的知識點在講解完畢后,布置題目給學生做測試。通過測試情況,了解學生對該知識點的掌握程度。
④改革完善實踐教學。在實踐課程教學中,采用VMware虛擬化軟件作為新平臺模式,將多個操作系統(tǒng)集于一身,給學生提供一個靈活的操作平臺,方便學生了解和使用各種系統(tǒng),充分發(fā)揮學生學習的主動性。 Linux是開源的操作系統(tǒng),在Linux系統(tǒng)下做操作系統(tǒng)實驗更加直觀,更利于學生的理解。例如,筆者在實驗教學中,根據(jù)本校學生的情況自編實踐課程指導書(基于Linux環(huán)境),內(nèi)容涵蓋進程的創(chuàng)建和撤銷、進程同步和互斥、進程的通信、存儲管理、設備管理和文件管理。由于實踐課學時少,部分學生此前從未接觸過Linux操作系統(tǒng),課程初期就布置一些Linux操作系統(tǒng)的安裝及基礎知識的學習任務,以便實驗正式開始時,學生可以盡快上手。實驗輔導根據(jù)學生掌握的情況進行,對于普遍存在的問題,進行講解和討論。具體實踐中,將實驗分為驗證性實驗、設計性實驗和綜合性實驗三種,每次實驗需要提交實驗報告和實驗代碼。
⑤采用多元化的課程評價體系。在“操作系統(tǒng)”課程中,采用過程評價和終結(jié)性評價相結(jié)合的多元化課程評價體系,克服以期末考試成績?yōu)橹鞯慕K結(jié)性評價體系的弊端。課程的總評成績由以下四部分加權(quán)組成:平時成績25%(包括作業(yè)成績、讀書報告成績、隨堂測成績)、實驗成績25%(包括實驗報告、實驗代碼)、討論課成績10%、期末成績40%。首次上課時,即向?qū)W生公布本課程成績評價方式和標準,讓學生有心理準備和努力的方向。多元化課程評價體系可以讓學生真正參與到課程的教與學的過程中,客觀地評價學生的學習認真程度和知識點的掌握程度,提高學生自主學習的積極性,鍛煉學生的學習能力、團隊合作能力及語言表達能力等。基于上述的教學評價設計,筆者將其運用到自己的課程教學中,經(jīng)過三個學期的實踐探索,切實獲得了較好的效果。
結(jié)束語
為了提高學生學習的主動性和積極性,筆者結(jié)合多年來“操作系統(tǒng)”課程的教學經(jīng)驗,從教學方法和手段、實踐教學以及多元化的課程評價體系等角度,探討和實踐了一系列改革措施,以使枯燥的理論變得生動有趣,讓學生參與到整個教學過程和評價中,激發(fā)了學生自主學習的積極性,收到了良好的教學效果。
“操作系統(tǒng)”課程改革是一項復雜的系統(tǒng)工程。為了提高操作系統(tǒng)課程教學質(zhì)量,我們將繼續(xù)探索和努力實踐。
參考文獻:
[1]符琦,李潤求,黃力.操作系統(tǒng)課程教學內(nèi)容和方法的探討[J].當代教育理論與實踐,2011(2):58-60.
[2]趙俊生,壽永熙,馬志強,秦俊平.“操作系統(tǒng)”課程改革與建設的研究與實踐[J].內(nèi)蒙古農(nóng)業(yè)大學學報(社會科學版),2010(3):165-167.
[3]李艷,王金環(huán).操作系統(tǒng)課程教學改革的探索與實踐[J].教育探索,2013(22):164-165.
[4]左萬歷,趙東范,閆昭.操作系統(tǒng)課程的多角度教學模式探索[J].計算機教育,2011(12):103-106.
[5]童幸生,劉義.地方高校教師教學評價多元化探索[J].教育探索,2011(7):89-90.
1 問題的提出
操作系統(tǒng)課程是計算機科學與技術(shù)專業(yè)的核心必修課程之一,隨著計算機技術(shù)的應用越來越廣泛和深入,其他相關(guān)專業(yè)也相繼把操作系統(tǒng)作為必修課程或選修課程[1]。由于操作系統(tǒng)課程涉及的知識點多且雜、概念抽象、理論性和實踐性都很強[2],因此,學生在學習這門課程的過程中感覺十分困難,老師在教授的過程中也容易側(cè)重于操作系統(tǒng)的理論教學,很難協(xié)調(diào)好理論教學和實踐教學之間的關(guān)系,教學效果往往不太理想??偟膩碚f,當前操作系統(tǒng)課程教學中存在的問題和不足有:(1)理論教學與實踐教學聯(lián)系不緊密。這是該門課程教學中普遍存在的一個問題。由于操作系統(tǒng)課程所涉及的基礎性和原理性內(nèi)容很多,學生理解起來會很困難,消化起來需要花費較長時間,所以目前大部分高校把大量的課時分配給了理論教學。而每個學期的總學時是有限的,這樣導致分配給實踐教學的課時會明顯不足,很多知識點無法提供相應的實驗。這種重理論講解,忽視學生的動手實踐能力培養(yǎng)的教學方法,導致該門課程理論教學和實踐教學聯(lián)系很不緊密,學生學習起來會覺得很枯燥,實驗任務很難完成,期末考試結(jié)束之后,會出現(xiàn)立馬將所學知識還給老師的現(xiàn)象;(2)忽略了與其他課程之間的聯(lián)系。操作系統(tǒng)屬于系統(tǒng)軟件,但它又離計算機硬件最近,所以該門課程內(nèi)容既涉及計算機硬件方面的知識,又涉及軟件方面的課程,如:高級程序語言設計、數(shù)據(jù)結(jié)構(gòu)、算法設計及計算機組成原理等。而教授該門課程的老師所熟悉和精通的課程數(shù)量是有限的,這樣導致教師在教學的過程中,很難做到利用其他課程內(nèi)容來進行觸類旁通的教學,進而忽視該課程與其他課程之間的聯(lián)系;(3)操作系統(tǒng)的最新發(fā)展未被及時反映。早期的操作系統(tǒng)由于受到當時硬件和軟件技術(shù)的限制,很多設計理念和實現(xiàn)方法和現(xiàn)代操作系統(tǒng)相比,顯得過時和不合理。而操作系統(tǒng)技術(shù)和硬件的發(fā)展十分迅猛,現(xiàn)代操作系統(tǒng)中用到的一些新的技術(shù)和方法,如觸摸屏技術(shù)、語音控制技術(shù)等,這些新的內(nèi)容往往在目前大部分操作系統(tǒng)教材中沒有及時地反映出來;(4)沒有真正理解操作系統(tǒng)課程的教學目的。操作系統(tǒng)課程和計算機專業(yè)的其他課程不太一樣,其教學目的不單純是讓學生簡單理解操作系統(tǒng)的工作原理,也不是為了讓學生學會編寫一個操作系統(tǒng),而是要讓學生掌握操作系統(tǒng)管理計算機資源的方法,更重要的是學習一種思維能力[3]:一種分析問題、解決問題、評價問題解決方案優(yōu)劣,并能提出更優(yōu)解決方案的能力。而這種思維能力的培養(yǎng)在實際的教學過程中往往被忽略,抑或根本沒有被意識到,從而導致大家沒有真正地理解該門課程的教學目的。
通過以上分析可知,我們迫切需要一種新的科學有效的教學方法來改變這種現(xiàn)狀。為此,本文提出了一種基于計算思維的操作系統(tǒng)課程教學方法:該方法將計算思維這種新型的思維方式貫穿于操作系統(tǒng)課程的理論教學和實踐教學兩個方面中,讓學生學會并習慣用計算機科學的思路和方法來發(fā)現(xiàn)問題、分析問題和求解問題,培養(yǎng)學生自主實踐及創(chuàng)新的能力,實現(xiàn)操作系統(tǒng)課程教學的真正目的。
2 基于計算思維的操作系統(tǒng)課程教學方法
2.1 計算思維
2006年,美國卡內(nèi)基?梅隆大學周以真教授在美國計算機權(quán)威期刊Communications of the ACM上首次提出了“計算思維”的概念[4]。她指出:計算思維就是運用計算機科學的基礎概念進行問題求解、系統(tǒng)設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。為了更好的理解,周教授又將計算思維解釋為幾種具體的思維方法:約簡、嵌入、轉(zhuǎn)化、仿真、保護、冗余、容錯、糾錯和恢復,利用啟發(fā)式推理來尋求解決方案,在不確定情況下進行規(guī)劃、學習和調(diào)度等[5]。計算思維的本質(zhì)是抽象和自動化,周教授將其基本特征總結(jié)為以下幾點:(1)計算思維是概念化,不是程序化。計算機科學不單指計算機編程,更重要的是要像計算機科學家那樣去思維,且能在抽象的多個層次上思維;(2)計算思維是人的,不是計算機的思維。計算思維是人類求解問題的一種途徑,人們可以利用計算機工具和自己的智慧去解決那些計算機時代之前不敢嘗試的問題;(3)計算思維是思想,更重要的是計算的概念。這種概念可以用于人們進行問題求解及日常生活的管理;(4)計算思維是根本的,不是刻板的、機械的技能。根本的技能是指每個人為了在社會中發(fā)揮其職能而必須掌握的技能,刻板的技能則指機械的、重復的技能;(5)計算思維是數(shù)學思維和工程思維的互補和融合。計算機科學的本質(zhì)來源于數(shù)學思維,而計算機科學又從本質(zhì)上源自工程思維。我們的目的是建造能與現(xiàn)實世界互動的系統(tǒng),而基本計算設備的限制則迫使計算機科學家必須計算性的思考。
同時,周教授認為,計算思維和人類應具備的3R(Reading,wRiting and aRithmetic)能力,即閱讀、寫作和算術(shù)能力一樣,同樣屬于每個人應該掌握的基本技能,而不僅僅屬于計算機科學家,對于我們計算機專業(yè)的學生來說,更是如此。下面本文以操作系統(tǒng)課程為載體,分別從理論教學和實踐教學兩個方面詳細討論如何將計算思維貫穿到操作系統(tǒng)課程的日常教學過程中,以改善該門課程的教學效果。
2.2 理論教學
操作系統(tǒng)是一門綜合軟件和硬件應用的課程,其理論課涉及的基本原理、思想和知識點很多。為了把這些紛繁復雜的知識點講解得深入且全面,我們在組織教學內(nèi)容時,始終堅持一個原則:緊緊圍繞操作系統(tǒng)的四大基本功能――處理機管理、存儲管理、設備管理和文件管理展開教學,注重基礎性和先進性相結(jié)合,同時注意與時俱進,及時給學生補充時下最新的軟、硬件技術(shù)及其發(fā)展趨勢。在設計教學方法時,我們將計算思維這種新的教學思路引入到課堂教學中,引導學生積極參與知識發(fā)現(xiàn)的過程,讓學生弄清楚問題的起源、發(fā)展、解決過程和實現(xiàn)方法,以及將后來還需要有怎樣的改進等。通過這種教學方式,讓學生的被動學習變?yōu)橹鲃訉W習,讓原本枯燥的理論課變得生動有趣,讓學生明白那些難以理解的思想和原理其實就是人類認識問題、解決問題的正常的思維過程。
以操作系統(tǒng)的發(fā)展經(jīng)歷為例,我們可以這樣給學生講述:人們在進行科學實驗和社會實踐中總會有大量問題需要求解,在解決這些問題時,人們正常的思維是先分析所研究的對象,提出對問題的形式化定義,即數(shù)學建模;然后給出求解方法的形式化描述,即確定算法;最后是尋找實現(xiàn)算法的工具或設施。在計算機時代之前,這些工具或設施經(jīng)歷了古代的算盤、近代的加法器和計算器,其計算過程都需要手工進行干預,并未實現(xiàn)計算自動化。直到現(xiàn)代計算機出現(xiàn)之后,才使計算實現(xiàn)了真正意義上的自動化。早期的計算機由于受當時硬件功能的限制,其解題過程只能采用手工操作方式,故稱之為手工操作系統(tǒng)階段,即無操作系統(tǒng)階段。隨著硬件技術(shù)和功能的不斷提高,計算機的運算速度也隨著迅速提高,這樣使得手工操作的慢速度和計算機運算的高速度之間形成了一種所謂的“人-機矛盾”,而且這種矛盾隨著計算機速度的不斷提高,變得越來越嚴重,為了解決這個矛盾,人們只有設法去掉人工干預,讓機器自己來控制計算過程,于是就出現(xiàn)了“操作系統(tǒng)”這個角色,它是用一種軟件方法實現(xiàn)運算控制全程自動化的技術(shù),即用軟件程序來代替人工干預的過程。
當我們把這段經(jīng)歷給學生說明之后,學生就會立馬恍然大悟,原來操作系統(tǒng)是由于人們的客觀需求出現(xiàn)的,是和人們的生活實踐息息相關(guān)的。然后我們按此方法接著給學生講述每一個發(fā)展階段里所出現(xiàn)的新的問題或矛盾,人們又是如何想辦法解決這些問題和矛盾的。通過這種方法,一步一步地將操作系統(tǒng)的發(fā)展經(jīng)歷引導出來。采用這種分析前因后果,側(cè)重事物之間的內(nèi)在聯(lián)系的方法進行教學,學生不但不會覺得枯燥,而且記憶深刻。這就是將計算思維融入到該門課程教學中的優(yōu)勢,作為教師,我們要時刻記住培養(yǎng)和訓練學生這種新的科學素養(yǎng)。
2.3 實踐教學
操作系統(tǒng)是一門理論和實踐融為一體的課程。理論教學中涉及的基本原理、技術(shù)和算法需要通過實驗課來驗證、理解和吸收。對于操作系統(tǒng)實驗內(nèi)容的設計,結(jié)合我校實際情況,采用了“驗證性”和“設計性”兩種性質(zhì)的實驗。驗證性質(zhì)的實驗主要是要求學生從用戶或應用軟件開發(fā)人員的角度去體會和驗證操作系統(tǒng)提供的功能。設計性質(zhì)的實驗要求學生在理解操作系統(tǒng)中所用算法和技術(shù)的基礎上,能嘗試自己提出算法改進意見或設計出不同效果的算法??紤]到學時限制及學生的總體水平,兩種性質(zhì)的實驗數(shù)量比例控制在7:3左右。除此之外,我們還在下一學期安排了操作系統(tǒng)課程設計實驗課程,要求學生能夠綜合運用本課程及相關(guān)課程知識解決實際問題,為將后來開發(fā)較大規(guī)模的軟件奠定基礎。在實驗教學方法的設計上,我們將計算思維的觀點引入到日常的實驗教學中,要求學生帶著問題去開始每一次的實驗。在弄清楚實驗要求和目的的基礎上,積極尋找解決問題的方法,理順思路,確定最終解決方案,然后著手開始上機驗證,并詳細記錄驗證過程中碰到的困難和問題以及相應的解決方法。最后,要求學生認真完成書面實驗報告,并上交老師審閱。通過采用這種發(fā)現(xiàn)問題、分析問題、構(gòu)建解決問題的模型并找出相應問題解決算法的思維方式來完成每一次的實驗任務,能很好地提高學生上機的熱情,較好地完成上機作業(yè),并加深學生對理論知識的理解和感性認識。在考核方面,我們嚴格檢查學生的實驗設計報告,加大平時考勤及上機實驗成績在總評成績中的比例。要求學生積極參加課堂討論,按時完成實驗作業(yè),高質(zhì)量完成實驗報告,這樣才能在最后的總評成績中得到較高分數(shù)。
關(guān)鍵詞:應用型院校;操作系統(tǒng);實驗教學
中圖分類號:G642文獻標識碼:A文章編號:1009-3044(2011)13-3216-02
Design of Experimental Teaching of Operating System
LIN Yin, SU Bing
(Changzhou University, Information Science and Engineering Institute, Changzhou 213164, China)
Abstract: Since different of types of education are, training goals and requirements, the teaching and the content and form of the experiment should be different. In this paper it is analyzed that how to design the experimental teaching methods and how to locate experimental content of operating system course in the institutions of applied, Content and method of experimental items are discussed and the implementation of the results were assessed.
key words: institution of applied; operating system; experimental teaching
當前,重視實驗和實踐教學是各國高等教育界的發(fā)展潮流,我國與國外教育工作的主要差距也主要表現(xiàn)在實踐教學環(huán)節(jié)上。近年來,教育部也將其作為對高等院校教學工作評估的關(guān)鍵性指標。2005年1月,在教育部下發(fā)的《關(guān)于進一步加強高等學校本科教學工作的若干意見》中明確要求:“高等學校要強化實驗育人的意識,區(qū)別不同學科對實踐教學的要求,合理制定實踐教學方案,完善實踐教學體系?!薄耙粩喔母飳嵺`教學內(nèi)容,改進實踐教學方法” [1]。操作系統(tǒng)是計算機系統(tǒng)的資源管理軟件,操作系統(tǒng)原理(許多場合只稱“操作系統(tǒng)”)課幫助學生理解操作系統(tǒng)的工作原理和技術(shù),課程本身具有理論抽象性和鮮明的應用性[2],決定了必須充分重視課程的時間環(huán)節(jié),以實驗教學來促進理論知識的學習。為了配合該課程開展實踐教學,多年來,我院課題組潛心研究,不斷進行教學改革探索和實踐,在實驗教學設計、教學內(nèi)容、實施方法等方面形成了切實可行的體系,愿與大家切磋。
1 實驗教學設計
本科的操作系統(tǒng)課程主要講授操作系統(tǒng)基本原理,由于課時的原因,教授的內(nèi)容非常有限。課程的安排通常是在操作系統(tǒng)的發(fā)展概述后基于操作系統(tǒng)的資源管理功能展開后續(xù)內(nèi)容,依次為進程管理、進程調(diào)度、存儲器管理、設備管理、文件管理和系統(tǒng)安全性等,基本上沒有時間著力研究某個具體的操作系統(tǒng)的工作原理和技術(shù),通常將其嵌在前期相關(guān)章節(jié)內(nèi),網(wǎng)絡操作系統(tǒng)、分布式操作系統(tǒng)、實時操作系統(tǒng)等更是只能作為課外自學內(nèi)容。因此,為了理解課程理論,掌握某種具體的操作系統(tǒng)的功能實現(xiàn),必須借助于實驗教學的良好實施。
1.1 實驗教學方式設計
操作系統(tǒng)原理課程的內(nèi)容多且散且雜,但是該課程的實踐可以內(nèi)容明確,線條清晰。實驗教學可以隨著課程教授的各章內(nèi)容同步展開,也可以獨立開設。同步展開時可將實驗教學融入理論教學:先講原理,然后介紹基于某種操作系統(tǒng)的實現(xiàn),自然而然引出可實施的實踐內(nèi)容。這樣做的好處是實驗教學與理論教學結(jié)合緊密,實驗的內(nèi)容一定是理論上的某種功能在某種技術(shù)上的實現(xiàn)和延伸,可以擺脫純理論的抽象和枯燥,引發(fā)學生的學習興趣和探索興趣,但難免只見樹木不見森林,失卻操作系統(tǒng)本身的特色和完整。如果獨立開設實驗教學,可以遵循學習新知識的規(guī)律,先會用系統(tǒng),從文件系統(tǒng)的功能實現(xiàn)開始,然后是設備管理,構(gòu)建對操作系統(tǒng)提供給用戶使用和管理的直觀認識,然后了解進程管理、進程調(diào)度和存儲器管理這些比較抽象和深奧的理論,但需要更多的學時,和課程的講授順序也不一致,會降低實驗的效果。據(jù)調(diào)查,現(xiàn)行的學校多數(shù)采用前一種方式,即實驗與教學同步,作為課程的一部分,而不獨立開設實驗課程。
1.2 實驗內(nèi)容的定位
正確的定位才能有正確的目標,一些重點院校以自行設計一個操作系統(tǒng)作為實驗內(nèi)容的做法并不適合于普通的應用型院校,難度多大的實踐項目不能達到幫助課程學習的目的反而會使學生因為畏難喪失對這門課的興趣。幾年來,通過參考大量書籍[2-6],結(jié)合教學實踐和學生的反饋,我院課題組組織了該課程實驗的內(nèi)容。我們這樣定位:
1) 對應用型院校的計算機專業(yè)的學生來講,應該把操作系統(tǒng)原理的學習和應用定位在理解、熟悉和能夠靈活應用,來解釋計算機運行的現(xiàn)象和開發(fā)更好的應用程序等[2],對深層次的理論和特定操作系統(tǒng)的功能和操作的了解和掌握可放在高年級的專業(yè)方向課或選修課當中。
2) 操作系統(tǒng)實驗基于操作系統(tǒng)原理課開設,學時有限,理論教學與實驗教學比例為5:1,通常必做的實驗涉及通用的操作系統(tǒng)基本功能實現(xiàn)的了解和掌握。
3) 盡管計算機系統(tǒng)中操作系統(tǒng)眾多,但學校用于教學的機器基本安裝的是Windows系列(以Windows XP居多)的操作系統(tǒng),開源軟件首推Linux操作系統(tǒng),因此實驗教學的內(nèi)容以研究Windows系列的操作系統(tǒng)(后面簡稱為Windows系統(tǒng))和Linux操作系統(tǒng)(后面簡稱為Linux系統(tǒng))為主,廣譜適用的理論不限制操作系統(tǒng),在實驗中通常以算法模擬的方法來實現(xiàn)。
4) 為適應學生的不同需求和能力的差異,實驗分必做和選做兩類,選作設不同層次。實驗以掌握課程相關(guān)的理論和技術(shù)為目的,不嚴格區(qū)分哪個實驗是驗證性、設計性或者綜合性,通過實驗任務的不同要求以達到不同的層次。
2 實驗實施
一套完整的實驗體系包括實驗設備、實驗環(huán)境構(gòu)建、實驗任務書、實驗過程和考核。可用的實驗設備和環(huán)境是保障,實驗任務書明確了實踐的內(nèi)容和目標,認真的實驗過程才能保證目標的實現(xiàn),合理的實驗考核方式可以鼓舞甚至激發(fā)學生研究的熱情。
2.1 實驗設備和環(huán)境
基于操作系統(tǒng)在計算機應用上的最底層性和基礎性,它的實驗設備要求并不高,就目前的計算機基本配置,一人一微機足矣。軟件環(huán)境的需求是:
1) 可以運行Windows系統(tǒng)和Linux系統(tǒng)。簡單的方式是專門配備一臺Linux服務器,學生機僅安裝Windows系統(tǒng),通過遠程登錄使用Linux系統(tǒng),但由于遠程登錄的權(quán)限受到限制,完成Linux部分的實驗時,僅管理員可以實施的操作項目不便完成;另一種方式是一臺機器上同時安裝Windows系統(tǒng)和Linux系統(tǒng),給予學生管理員的權(quán)限,由此帶來的問題是操作系統(tǒng)會由于學生無意的誤操作或故意地惡意操作造成系統(tǒng)的破壞,給后續(xù)的和其它的課程實驗帶來麻煩。
2) 可以進行操作系統(tǒng)程序設計。Windows系統(tǒng)下通常使用Visual C++6.0專業(yè)版或企業(yè)版,Linux系統(tǒng)下使用vi編輯器編寫源程序,使用GCC編譯源程序。
2.2 實驗項目和要求
由于課時的緣故,完成一套完整的操作系統(tǒng)課程實踐(參見參考文獻中相關(guān)資料)在實際的教學中并不可行。有限的課時需要對實驗的項目精挑細選,原則是:
1) 能夠幫助學生更好地使用操作系統(tǒng)。
2) 能夠反映操作系統(tǒng)在此項功能上的重要作用。
3) 難度適中,需要的時間適中。學生在實驗課上通常不能完成實驗規(guī)定的所有任務,需要課外另找時間完成,遺留給課外的任務不能過多過難。
經(jīng)過幾年的摸索和反饋,實驗的內(nèi)容安排如表1。
2.3 實驗項目的實施
操作系統(tǒng)原理課程內(nèi)容豐富,知識點眾多。學生的興趣不同,能力也有很大差異,因此可以有差異地實現(xiàn)的層次設計。
1) 實驗都對應于相應的原理內(nèi)容進行設置。由于內(nèi)容眾多,每個實驗都安排多個實驗項目,每個項目反映不同的知識點。
2) 每個實驗包括一至兩個必做的項目,一至兩個選做的項目。選做項目分成選做一、選作二、選做三三個層次,不同的層次將對應不同的評分標準。
3) 每個實驗的必做部分反映對應原理的重要知識點。針對具體的操作系統(tǒng)操作和分析時選用Linux系統(tǒng),程序設計項目不限具體的操作系統(tǒng),學生可以使用windows系統(tǒng)、Linux系統(tǒng)或別的操作系統(tǒng)。
4) 選做一是選做部分的首選項目,通常是windows系統(tǒng)相關(guān)內(nèi)容,與必做內(nèi)容的Linux系統(tǒng)部分屬于同類知識點,列為選作主要是基于課時方面的考慮,此部分內(nèi)容的掌握將是學生能夠更好地管理和使用計算機。
5) 選做二通常是程序設計項目。操作系統(tǒng)的各個功能通常有不同的實現(xiàn)算法,某個具體的操作系統(tǒng)只會選擇其中的一種或兩種作為處理方法。實驗時,可以通過模擬各種實現(xiàn)算法,然后對結(jié)果進行分析和比較,從而了解實際系統(tǒng)的選用理由,掌握相關(guān)的原理。
6) 選作三包括“安裝Linux操作系統(tǒng)”和“遠程登錄Linux系統(tǒng)”兩個內(nèi)容,是實驗室已經(jīng)提供的環(huán)境。如果實施,需要學生在自己的計算機上完成。在學習操作系統(tǒng)課程之前,不少同學連Windows都沒有安裝過,對分區(qū)、引導、文件卷、加載等這樣的術(shù)語非常陌生,在理解的基礎上完成這兩個實驗的難度比較大,可以開始就布置,在課程的學習期間明白安裝和使用過程中種種設置的含義從而真正認識一個實際的系統(tǒng),最后作為獨立的實驗內(nèi)容在課程結(jié)束前寫成報告。
3 實驗效果和評分
3.1 實驗效果
每門課的效果都不能達到完全的滿意,操作系統(tǒng)課程的實驗也是這樣,然而依照上表的實驗設計和實施的確帶來了很好的效果。有同學由此對操作系統(tǒng)產(chǎn)生極大的興趣,在專業(yè)課中有意識地選擇了嵌入式系統(tǒng)方向。課程的最后請完成選作三實驗的同學和大家交流自己的報告,同學們踴躍參與:除了在C盤安裝Windows XP系統(tǒng),獨立分區(qū)安裝Fedora 11和FreeBSD,還利用虛擬機技術(shù)在Windows系統(tǒng)中安裝了Ubuntu 9.04,openSUSE和Debian,最后一個展示的系統(tǒng)是Google Chrome OS,令師生們大開眼界;有同學現(xiàn)場解答了同學安裝和使用操作系統(tǒng)中遇到的問題。師生們共同的努力找到了該課程結(jié)束繼續(xù)學習的方向和空間。
3.2 實驗評分
評分不是目的,是鼓勵學生的一種手段。評分可以在每次實驗的報告提交后就進行,評分的結(jié)果會鼓勵學生后續(xù)的實驗更好地完成,并同時給完成不好的學生以鞭策。實驗的評分實時地在網(wǎng)絡課堂中展示,實驗報告在課堂上點評,極大地鼓舞了學生的學習熱情,提高了學生的完成選做實驗的參與度。對學生來說,一方面可以提高課程的成績,更大的好處是促進了課程的理解和掌握。
近年來,不但在操作系統(tǒng),課題組還在其他計算機課程的教學實踐中,也積極嘗試將實踐環(huán)節(jié)與理論環(huán)節(jié)相融合,通過實踐教學來促進理論知識學習的教學方法,有效地激發(fā)了學生的學習興趣和參與。如果能引導更多同學愿意用更多的時間投入到課程的實踐,一定能提高應用型高等教育背景下的教學效果和教學質(zhì)量。
參考文獻:
[1] 教育部.關(guān)于進一步加強高等學校本科教學工作的若干意見[R].教高[2005]1號.
[2] 周蘇,金海溶.操作系統(tǒng)原理實驗(修訂版)[M].北京:科學出版社.2008.1.
[3] 顏彬.計算機操作系統(tǒng)[M].北京:清華大學出版社.2009.
[4] 徐虹,何嘉,張鐘澍.操作系統(tǒng)實驗指導――基于Linux內(nèi)核[M].北京:清華大學出版社,2008.
[5] 孟靜.操作系統(tǒng)教程題解與實驗指導[M].北京:高等教育出版社.2004.
關(guān)鍵詞:網(wǎng)絡工程專業(yè);網(wǎng)絡程序設計課程;教學內(nèi)容
截至2008年,我國已經(jīng)有143所高等學校開設了網(wǎng)絡工程本科專業(yè),其中大學類高校89所,“211”大學21所,學院類高校54所,高校所在地覆蓋全國26個省和直轄市[1]。網(wǎng)絡工程專業(yè)培養(yǎng)的是具有良好科學素養(yǎng),系統(tǒng)地掌握網(wǎng)絡工程技術(shù)的基本理論、方法與應用,有較強的獲取新知識的能力、創(chuàng)新能力和實踐能力,能從事網(wǎng)絡工程及相關(guān)領(lǐng)域中的系統(tǒng)研究、設計、運行、維護和管理的高級工程技術(shù)人才。因此,該專業(yè)不僅要求學生掌握與網(wǎng)絡工程相關(guān)的基礎知識與理論,以及各種網(wǎng)絡系統(tǒng)設計、建設與維護技術(shù),如網(wǎng)絡協(xié)議體系、網(wǎng)絡互連技術(shù)、網(wǎng)絡服務、信息安全、組網(wǎng)實踐、網(wǎng)絡測試與管理等相關(guān)知識,也要求學生掌握基本的網(wǎng)絡應用軟件與系統(tǒng)開發(fā)知識與技術(shù),滿足畢業(yè)生在今后的工作與學習過程中的多元需要。
為了讓網(wǎng)絡工程專業(yè)的學生掌握一定的網(wǎng)絡應用軟件與系統(tǒng)開發(fā)知識,很多高校都開設了網(wǎng)絡程序設計或網(wǎng)絡編程課程。然而,由于網(wǎng)絡工程專業(yè)在大多數(shù)高校的開設時間不長,相關(guān)任課教師對網(wǎng)絡程序設計課程的教學還缺乏足夠的經(jīng)驗,因此對教學活動中的一些基本問題,如課程內(nèi)容設置與學時分配、實踐環(huán)節(jié)內(nèi)容與安排等還缺乏統(tǒng)一的認識[2-3]。本文依據(jù)網(wǎng)絡工程專業(yè)的培養(yǎng)目標,結(jié)合我們在教學過程中
的體會,對該課程教學活動中的基本問題進行了初步探討,闡述了作者對這些問題的理解和認識。希望本文能引起更多同行對網(wǎng)絡程序設計課程的關(guān)注,從而盡快提高該課程的建設水平。
1教學目標與特點
1.1教學目標
根據(jù)網(wǎng)絡工程專業(yè)的培養(yǎng)目標,我們認為網(wǎng)絡程序設計課程的教學目標是讓學習者了解網(wǎng)絡程序設計的基本概念和常用的網(wǎng)絡編程接口,理解網(wǎng)絡程序設計的基本原理,掌握基本的網(wǎng)絡程序設計模型,同時具備進一步學習新的網(wǎng)絡編程知識與技術(shù)的能力。網(wǎng)絡工程專業(yè)的網(wǎng)絡程序設計課程應重點教授基于網(wǎng)絡編程接口的網(wǎng)絡程序設計基礎知識,為后續(xù)使用和開發(fā)網(wǎng)絡應用系統(tǒng)打下基礎。有別于信息管理類專業(yè)面向Web的網(wǎng)絡程序設計,本課程的中心內(nèi)容是基于操作系統(tǒng)套接口的客戶/服務器程序開發(fā)技術(shù)。
1.2課程特點
程序設計課程對計算機類專業(yè)的學生來說并不陌生,但其多針對具體的程序設計語言,以學習某種程序設計語言的基本語法和用法為主。網(wǎng)絡編程接口在本質(zhì)上與編程語言無關(guān),因此網(wǎng)絡程序設計與以前
作者簡介:紀其進(1974-),男,講師,工學博士,研究方向為計算機網(wǎng)絡與多媒體通信;朱艷琴 (1964-),女,教授,工學博士,副院長,研究方向為計算機網(wǎng)絡與信息安全。
的程序設計課程并不相同。網(wǎng)絡應用程序具有以下兩方面的主要特點:
1) 程序結(jié)構(gòu)較為復雜。網(wǎng)絡程序至少涉及客戶端與服務器兩方面,且需要雙方協(xié)同配合,因此程序的結(jié)構(gòu)和邏輯都比較復雜。
2) 網(wǎng)絡程序設計對操作系統(tǒng)知識和網(wǎng)絡知識的依賴性很強。比如,多線程技術(shù)是避免程序在交互過程中發(fā)生阻塞的基本手段,因此開發(fā)者至少需理解操作系統(tǒng)的進程與線程的概念及多線程程序設計技術(shù)。再如消息驅(qū)動是Windows系統(tǒng)的基本機制,Windows網(wǎng)絡應用程序開發(fā)也需要理解消息驅(qū)動機制。利用網(wǎng)絡接口編程需要理解底層網(wǎng)絡協(xié)議,特別是與網(wǎng)絡接口直接相關(guān)的運輸層協(xié)議知識。
2內(nèi)容設置與學時分配
運輸層以下的網(wǎng)絡協(xié)議功能在操作系統(tǒng)內(nèi)核中實現(xiàn),或利用系統(tǒng)應用編程接口(API),通過專業(yè)的函數(shù)庫實現(xiàn)[4]。盡管IEEE已經(jīng)制定了網(wǎng)絡編程的接口標準,各操作系統(tǒng)通常也支持標準接口,但一般會結(jié)合系統(tǒng)自身特點,對標準接口進行修改或擴展。因此,實際網(wǎng)絡編程接口實現(xiàn)與操作系統(tǒng)密切相關(guān)。當前,Windows系統(tǒng)占據(jù)了工作站(含臺式機)與小型服務器市場的主要份額,Unix系統(tǒng)(含Linux)則在服務器特別是大型服務器市場中仍然占據(jù)主導地位??紤]到學生畢業(yè)后的實際工作情況,接觸Windows系統(tǒng)的機會應該更多。因此,教學內(nèi)容選擇的指導思想是以Windows平臺網(wǎng)絡編程接口為主,同時兼顧標準網(wǎng)絡編程接口。
網(wǎng)絡程序設計是網(wǎng)絡工程專業(yè)的一門骨干專業(yè)課程,教學內(nèi)容較豐富,實踐性要求高。根據(jù)網(wǎng)絡程序設計課程的教學目標和特點,我們?yōu)樵撜n程安排了以下課堂教學內(nèi)容:
第1章 網(wǎng)絡程序設計基礎知識。本章介紹網(wǎng)絡編程相關(guān)的基本概念和知識,內(nèi)容包括網(wǎng)絡程序設計概念、進程與線程的基本概念、TCP/IP協(xié)議及其在操作系統(tǒng)中的實現(xiàn)、基于客戶/服務器模式的網(wǎng)絡應用程序模型等。
第2章 基于Berkley套接口的網(wǎng)絡程序設計。Berkley套接口是事實上網(wǎng)絡編程接口標準,它出自于Unix系統(tǒng),Windows系統(tǒng)也盡可能地與之兼容。本章重點闡述Berkley套接口的基本用法,包括套接口編程的基本概念、面向連接的套接口編程、無連接的套接口編程及原始套接口編程等。
第3章 Windows程序設計基礎。在Windows平臺上進行網(wǎng)絡程序設計離不開Windows系統(tǒng)編程知識。本章介紹Windows編程的基礎知識,包括Windows操作系統(tǒng)的基本原理、Windows API的實現(xiàn)機制與調(diào)用方法及Windows消息機制。
第4章 Winsock網(wǎng)絡編程接口規(guī)范。Winsock是Windows系統(tǒng)中的套接口實現(xiàn),經(jīng)歷了Winsock1.1到Winsock2.2版本的發(fā)展。本章在第3章的基礎上全面介紹Winsock網(wǎng)絡接口規(guī)范及其使用,包括Winsock1.1及Winsock2.2的擴展能力。
第5章 基于MFC 套接口類的程序設計。MFC利用面向?qū)ο蠹夹g(shù),對基本的Windows API進行了封裝。Winsock編程接口的主要功能被封裝成為CAsyncSocket和CSocket兩個類。本章將通過實例說明這兩個類的用法。
第6章 Windows多線程網(wǎng)絡編程技術(shù)。多線程可以避免網(wǎng)絡應用程序被某個調(diào)用阻塞。本章介紹多線程技術(shù)的必要性、Windows系統(tǒng)的多線程機制、MFC對多線程的支持及多線程機制在網(wǎng)絡編程中的應用等。
第7章 Winsock編程接口I/O模型。支持異步網(wǎng)絡程序開發(fā)是Windows系統(tǒng)的特色,為此Winsock引入了5種I/O模型實現(xiàn)非阻塞的套接口工作模式。本章分別介紹5種異步I/O模型的原理與使用。
第8章 Winsock編程接口選項與I/O控制命令。套接口選項和I/O控制命令是在套接口建立以后對其各種屬性進行操作。本章介紹Winsock編程接口的基本選項及主要I/O控制命令的用法。
第9章 網(wǎng)絡程序設計實例。網(wǎng)絡編程技術(shù)具有很強的實踐性,學習與分析實例可以更好地理解基本知識與技術(shù)。本章通過講解分析實例中的各種網(wǎng)絡編程技術(shù)鞏固前面所學的知識,為以后的綜合應用打下基礎。
本課程重在教授網(wǎng)絡編程的基礎知識與技能,內(nèi)容選擇主要是為了滿足教學需要,而非求全求深。因此,部分網(wǎng)絡編程相關(guān)知識沒有在課程中出現(xiàn),如Winsock對網(wǎng)絡服務質(zhì)量的支持、IPv6版本套接口等。
本課程的重點內(nèi)容在第3~6章。其中第3章是整個網(wǎng)絡編程的基礎部分,而第4章和第5章則包括了Windows平臺下網(wǎng)絡程序設計的基本知識,第6章的多線程技術(shù)是無阻塞同步網(wǎng)絡編程的基本技術(shù)。第7、8兩章內(nèi)容與操作系統(tǒng)關(guān)系較密切且較抽象,是課程的難點。我校為該課程安排64 學時,其中理論講授48學時,實驗教學16 學時。根據(jù)重點難點內(nèi)容分析結(jié)果,我們按表1分配課堂教學學時。
3課程實踐環(huán)節(jié)
3.1實踐環(huán)節(jié)的必要性
傳統(tǒng)的網(wǎng)絡課程教學方法多以講授計算機網(wǎng)絡基礎理論為主、少量的驗證性實驗為輔。網(wǎng)絡程序設計本身是一門實踐性非常強的課程,對引導學生掌握最新的網(wǎng)絡編程技術(shù),培養(yǎng)學生的動手能力、協(xié)作精神和創(chuàng)新能力都具有重要作用。在學生學習過程中,如不注重理論和實踐緊密結(jié)合,則不僅所學基本知識難以得到深入理解和鞏固,更不能將其靈活運用于解決新的問題。因此,教師在系統(tǒng)講述網(wǎng)絡編程基礎知識的同時,要充分調(diào)動學生的主動性,認真完成網(wǎng)絡編程實驗的教學。
3.2教學組織與學時分配
實驗是基本的實踐教學手段。通過實驗教學,學生可以更快地實現(xiàn)從概念理解到實際編程能力的轉(zhuǎn)變。每次實驗前,教師首先講解實驗的設計目標、要求和所需的編程技術(shù),要求學生做好充分的準備工作,進行初步的需求分析和程序設計。在實驗過程中,教師通過解答學生提出的需求分析、設計與實現(xiàn)問題,為學生提供幫助。實驗結(jié)束后,學生需按一定的格式規(guī)范按時提交實驗報告;教師通過實驗報告檢查和評價學生的實驗質(zhì)量。如有條件,可組織學生對實驗結(jié)果進行簡短的討論,讓學生總結(jié)和分析自己的實驗體會。
我們根據(jù)網(wǎng)絡程序設計課程的教學大綱和實驗大綱制定了實驗計劃。實驗包括驗證型、設計型和綜合型實驗三種。驗證型實驗主要讓學生理解所學的網(wǎng)絡編程知識,通過重復課堂示例掌握某一項網(wǎng)絡編程技術(shù)。設計型實驗需要學生利用某一項網(wǎng)絡編程技術(shù),根據(jù)具體問題要求設計并實現(xiàn)一個網(wǎng)絡應用程序。綜合性實驗需設計并實現(xiàn)一個相對復雜的網(wǎng)絡應用程序,其中需用到多種網(wǎng)絡編程知識和技術(shù)。全部實驗內(nèi)容包括Berkley套接口編程實驗,Winsock套接口編程實驗,利用原始套接口進行PING 程序的設計及實現(xiàn),基于MFC套接口類的網(wǎng)絡編程,電子郵件程序的設計與實現(xiàn)(SMTP客戶端、POP3 客戶端程序)或FTP客戶端實現(xiàn)及聊天室軟件的設計及實現(xiàn)。實驗報告與其他課程基本類似,有相應的實驗題目、實驗目的與要求、實驗步驟和實驗結(jié)果等內(nèi)容。實驗結(jié)果要包括實驗過程中的問題分析、解決方式及心得。表2總結(jié)了實驗的內(nèi)容與學時分配計劃。
有條件的學校還可以集中1周左右的時間進行課程設計。課程設計以課程教學內(nèi)容為基礎,實現(xiàn)一個具有一定規(guī)模和實用價值的網(wǎng)絡應用系統(tǒng)。課程設計對所學的理論知識及實驗中所學的各種方法與技巧進行綜合性應用,對培養(yǎng)學生綜合分析能力、編程動手能力具有重要作用。課程設計報告包括系統(tǒng)需求分析、功能設計及各模塊詳細設計等,類似于計算機類畢業(yè)設計論文格式。
4結(jié)語
網(wǎng)絡工程專業(yè)是近年來為滿足社會信息化需求而出現(xiàn)的相對較新的專業(yè)。該專業(yè)目前還沒有一個明確的規(guī)范,開設該專業(yè)的各個院校對某些課程的教學尚缺乏統(tǒng)一的認識。本文以該專業(yè)的培養(yǎng)目標為依
據(jù),結(jié)合個人教學過程中的體會,探討了網(wǎng)絡工程專業(yè)網(wǎng)絡程序設計課程的基本問題。文中討論了該課程的教學目標與特點,給出了具體的課程內(nèi)容設置和實踐環(huán)節(jié)安排建議,希望對完善網(wǎng)絡工程專業(yè)以及網(wǎng)絡程序設計課程建設具有一定的借鑒意義。
參考文獻[ 規(guī)范格式]:
[1] 劉悅,張遠,賈忠田. 高等學校網(wǎng)絡工程本科專業(yè)的科學規(guī)范探討[J]. 計算機教育,2008(4):120-121.
[2] 王一飛,吳素芹. 網(wǎng)絡編程技術(shù)課程教學研究與探索[J]. 科技信息,2008(34):20.
[3] 馮健昭,肖德琴. 網(wǎng)絡編程教學改革探索[J]. 現(xiàn)代計算機,2009(8):69-70.
[4] 葉樹華. 網(wǎng)絡編程實用教程[M]. 2版. 北京:人民郵電出版社,2010.
Discussion on Network Program Design for Students Majoring in Network Engineering
JI Qi-jin, ZHU Yan-qin
(School of Computer Science and Technology, Soochow University, Suzhou 215006, China)
關(guān)鍵詞:數(shù)據(jù)庫;性能調(diào)優(yōu);課程;教學;實驗
數(shù)據(jù)庫系統(tǒng)原理課程是計算機學科本科教學的一門非常重要的專業(yè)基礎課,數(shù)據(jù)庫系統(tǒng)不僅是最重要的系統(tǒng)軟件之一,而且是應用信息系統(tǒng)開發(fā)的基石,它在計算機學科體系中占據(jù)重要地位。課程的教學目的是讓學生對數(shù)據(jù)庫系統(tǒng)的基本概念和原理有較全面的了解,同時具備使用數(shù)據(jù)庫管理系統(tǒng)軟件和開發(fā)數(shù)據(jù)庫應用系統(tǒng)的能力。
數(shù)據(jù)庫系統(tǒng)原理課程的教學內(nèi)容主要包含關(guān)系數(shù)據(jù)模型、SQL語言、數(shù)據(jù)庫設計、XML、數(shù)據(jù)存儲、查詢處理和事務管理等,是一門實踐性很強的課程[1]。實驗教學是數(shù)據(jù)庫課程的重要組成部分,實驗內(nèi)容一般包括小型數(shù)據(jù)庫管理系統(tǒng)實現(xiàn)、應用系統(tǒng)開發(fā)、SQL查詢等,這些實驗對于加深數(shù)據(jù)庫基本概念和原理的理解,提高數(shù)據(jù)庫應用開發(fā)能力具有重要的作用。
數(shù)據(jù)庫性能調(diào)優(yōu)是在實際應用開發(fā)中必然要遇到的一項工作,這項工作要求開發(fā)者既要具有廣泛而深入的數(shù)據(jù)庫原理和系統(tǒng)實現(xiàn)知識,又要有扎實的應用設計能力,熟悉操作系統(tǒng)和有關(guān)軟硬件環(huán)境[2]。把性能調(diào)優(yōu)作為數(shù)據(jù)庫系統(tǒng)原理課程的一項綜合性實驗,可以幫助學生加深了解數(shù)據(jù)庫基本原理,學會分析問題、解決問題的方法,提高計算機綜合實踐能力。
1性能調(diào)優(yōu)實驗的重要性
1) 性能調(diào)優(yōu)實驗符合數(shù)據(jù)庫課程的實驗要求。數(shù)據(jù)庫系統(tǒng)原理課程內(nèi)容豐富,只有通過動手實踐才能真正深入地理解和運用這些概念和原理。課程實驗的要求,一方面是深化對課程內(nèi)容的理解,另一方面是提高綜合運用并解決實際問題的能力。性能調(diào)優(yōu)實驗涉及到課程的各個方面,包括SQL語言、數(shù)據(jù)庫設計、數(shù)據(jù)存儲、查詢處理和事務管理等,可以針對具體問題設計非常多的實驗素材,結(jié)合知識點學習進度合理選擇具體實驗內(nèi)容,在進度安排上也非常容易。另外,性能調(diào)優(yōu)實驗有難有易,可以根據(jù)不同的學生層次進行選擇,一個學期中可以安排1個或若干個實驗。 2) 性能調(diào)優(yōu)是數(shù)據(jù)庫學習的重要內(nèi)容。性能調(diào)優(yōu)本身是數(shù)據(jù)庫應用開發(fā)的一項重要工作,它可以使數(shù)據(jù)庫應用運行得更快更好,達到更高的吞吐量或更短的響應時間。數(shù)據(jù)庫性能調(diào)優(yōu)遠不是按照有關(guān)指南通過短短幾步就可以達到的,它需要扎實的理論基礎和高超的問題處理技巧,要想獲得滿意的結(jié)果,調(diào)優(yōu)者需要綜合考慮緩沖池大小、數(shù)據(jù)結(jié)構(gòu)、鎖爭用、應用程序需求等因素之間的復雜關(guān)聯(lián),另外到操作系統(tǒng)的配置甚至硬件,進行綜合判斷,涉及到數(shù)據(jù)庫技術(shù)的方方面面。
3) 有利于提高學習的興趣和動力。采用的性能調(diào)優(yōu)實驗都來自于實際應用開發(fā),具有實踐性強的特點,與實際應用相結(jié)合的實驗過程可以讓學生真正地投入到其中,感覺就像是自己動手解決一個實際問題,而不僅僅是為了應付課程作業(yè),這種身臨其境的體驗可以極大地促進學生的學習興趣,可以有效地促進探究型教學的開展。反過來,通過實驗又可以讓學生了解應用開發(fā)中所要解決的問題,從而更主動地學習課程內(nèi)容。
4) 有利于培養(yǎng)學生獨立的科研和工程能力,在教學改革中實現(xiàn)探究型教學。性能調(diào)優(yōu)實驗的過程是由教師提出問題并引導學生如何利用學到的知識來解決問題,學生通過自主地建立實驗環(huán)境、測試運行、收集數(shù)據(jù)、綜合分析、推導結(jié)論等環(huán)節(jié)來實現(xiàn),實驗的結(jié)果因人而異,并沒有一個標準答案。在這個過程中,學生可以充分地體驗到自主探索的樂趣,這是一種典型的探究型教學方法,可以讓學生初步了解如何獨立開展研究,解決實際問題。
2實驗設計
2.1實驗過程和要求
實驗過程包括教師和學生兩部分,如圖1所示,教師部分以雙線框表示,學生部分以單線框表示,整個過程分為實驗內(nèi)容選擇、任務分配、實驗方案設計、實驗環(huán)境建立、測試運行、數(shù)據(jù)收集、分析總結(jié)、演示答辯、評價反饋、實驗報告撰寫、對提交的報告評分等環(huán)節(jié)。
實驗的總體要求是學生按照教師給出的問題敘述,利用課程學習到的知識,在教師指導下自主完成實驗方案設計和運行測試,提交的成果是綜合實驗報告,報告內(nèi)容包括背景說明、方案設計、實驗環(huán)境、測試過程、數(shù)據(jù)分析、實驗結(jié)論、體會和收獲等。實驗一般要求利用常見的大型關(guān)系數(shù)據(jù)庫,通過開發(fā)實現(xiàn)測試程序,調(diào)整參數(shù),測試相關(guān)因素對數(shù)據(jù)庫性能的影響。除了綜合實驗報告外,還可以要求學生提交詳細的測試程序代碼和文檔。
2.2實驗內(nèi)容設計
以下給出幾個具體的性能調(diào)優(yōu)實驗內(nèi)容,進一步說明實驗的要求,當然這樣的實驗有很多,可以結(jié)合具體的教學內(nèi)容進行選擇。
1) 緩沖區(qū)大小對數(shù)據(jù)庫性能的影響。
數(shù)據(jù)緩沖區(qū)是在內(nèi)存中設置的一塊區(qū)域,為事務處理提供共享數(shù)據(jù),引入緩沖區(qū)希望達到的一個主要目標就是減少對磁盤等二級存儲的物理存取,事務在內(nèi)存中讀取數(shù)據(jù)的命中率很大程度上取決于緩沖區(qū)的大小,所以緩沖區(qū)大小是數(shù)據(jù)庫系統(tǒng)的一個重要參數(shù),是需要在應用系統(tǒng)運行中重點考慮的因素之一。在數(shù)據(jù)庫實例運行的不同時期,數(shù)據(jù)緩沖區(qū)對物理內(nèi)存的需求是不同的,當工作負載較大時,較小的數(shù)據(jù)緩沖區(qū)會造成頻繁的I/O換頁操作;當工作負載較小時,較大的數(shù)據(jù)緩沖區(qū)會造成物理內(nèi)存的閑置,因此合理設置緩沖區(qū)大小,對數(shù)據(jù)庫性能有較大影響。這個實驗的目的是讓學生充分理解緩沖區(qū)的概念和原理,并學會如何在實際應用中選擇合理的緩沖區(qū)大小。
要求設計多組數(shù)據(jù)庫應用,分別模擬高、低負載等多種情況,測試這些應用在不同大小緩沖區(qū)下的性能變化,性能指標可以選取吞吐量和響應時間。最好的策略是不斷增加緩沖區(qū)大小,直到性能不再隨緩沖區(qū)的增大而提高,從而找出最佳的緩沖區(qū)大小。實驗可以采用Oracle、SQL Server或MySQL等數(shù)據(jù)庫管理系統(tǒng),這些數(shù)據(jù)庫都提供了調(diào)整緩沖區(qū)大小的功能。
2) 規(guī)范化對查詢性能的影響。
在數(shù)據(jù)庫表設計中,要綜合考慮應用需求、規(guī)范化、存儲空間、事務處理性能等因素,一個良好的設計是多種因素的平衡。在表設計中規(guī)范化的要求一般是要達到3NF或BCNF,但有時逆規(guī)范化會帶來性能的提升,例如以下兩種表設計(表來自于TPC-C基準測試,做適當簡化),設計1符合BCNF要求,占用存儲空間少,但對于“查詢在某城市購買的所有零件”,設計2在性能上要優(yōu)于設計1。
模式設計1:
Customer(C_ID, C_NAME, C_CITY)
Order(O_ID, C_ID, O_DATE)
Order_Line(O_ID, ITEM_NAME, ITEM_QUANTITY, ITEM_AMOUT)
模式設計2:
Customer_Order(C_ID, C_NAME, C_CITY, O_ID, O_DATE, ITEM_NAME, ITEM_QUANTITY, ITEM_AMOUT)
實驗的要求是針對不同的表設計,包括采用逆規(guī)范化、垂直劃分等方法,考察在不同應用需求環(huán)境下,存儲空間、性能等的差別,并在實踐基礎上總結(jié)出應用開發(fā)中表設計應該遵循的一些基本原則和方法。
3) 索引對查詢性能的影響。
索引是提升數(shù)據(jù)庫查詢性能的重要手段。實驗中,要求學生設計多種不同的索引場景來研究索引對數(shù)據(jù)庫查詢性能的影響:(1)沒有索引的場景;(2)在查詢屬性上建立單屬性索引的場景;(3)在查詢語句涉及的多個屬性上建立復合屬性索引的場景。
學生可以通過數(shù)據(jù)庫管理系統(tǒng)工具,考察在不同索引場景中的查詢執(zhí)行計劃,并探究針對某個特定查詢的優(yōu)化索引方案。
3討論分析
我們在數(shù)據(jù)庫系統(tǒng)原理課程教學中進行了性能調(diào)優(yōu)實驗的實踐,學生反映普遍很好,取得了預期的效果。根據(jù)在具體教學過程中反饋的意見,選擇性能調(diào)優(yōu)實驗還需注意以下一些問題:
1) 性能調(diào)優(yōu)實驗較適合于計算機相關(guān)專業(yè)的本科生,尤其是開展探究型教學改革的課程。性能調(diào)優(yōu)是數(shù)據(jù)庫系統(tǒng)的一項復雜工作,涉及到多方面的知識,學生除掌握數(shù)據(jù)庫基礎知識外,還需對操作系統(tǒng)、硬件等有一定的了解,另外還要求學生有較高的實驗方案設計能力,綜合的計算機實踐能力,不適合初學者。
2) 要結(jié)合學生的具體情況設計合適的性能優(yōu)化實驗,這需要教師對性能調(diào)優(yōu)實驗的難易程度有較高的掌控,充分了解學生的實際情況,包括已學習過的其他課程情況。性能調(diào)優(yōu)實驗有難有易,可以針對不同的學習層次和要求進行選擇,做到循序漸進,既不能讓學生感到問題太難而無所適從,又要有一定的難度,讓學生通過實際操作提高計算機實踐能力。
3) 教師在進行實驗評分時要根據(jù)實驗小組內(nèi)每個成員的情況區(qū)分對待。由于性能調(diào)優(yōu)實驗需要發(fā)揮學生的綜合能力,比較適合于2~4人的小組協(xié)作完成,同時還可以培養(yǎng)團隊精神,但在評分時也要考慮到一個小組內(nèi)不同人的貢獻是不一樣的,甚至還會出現(xiàn)有些小組的成員完全不出力的情況,防止這種情況的比較好的方法是教師在實驗過程中要與學生密切溝通,了解真實情況。另外在實驗過程中還要設置演示答辯環(huán)節(jié),每個小組進行20分鐘的匯報,講解設計方案和結(jié)論,匯報分工和合作情況,教師進行質(zhì)詢和點評等,可以指定小組內(nèi)某個成員回答,這樣一方面通過反饋意見促進學生進一步完善實驗成果,另一方面也減少抄襲、出工不出力的情況。
4結(jié)語
以前的數(shù)據(jù)庫系統(tǒng)原理實驗中,都較多地采用小型數(shù)據(jù)庫管理系統(tǒng)實現(xiàn)、應用開發(fā)、SQL語言等實驗,我們采用性能調(diào)優(yōu)作為數(shù)據(jù)庫課程實驗,結(jié)合探究型教學方法,在實驗過程中,學生在教師的指導下,獨立設計實驗方案,自主分析和解決問題,有效地提高了學生的綜合動手能力,在實踐教學中取得了很好的效果。進一步的工作包括優(yōu)化實驗過程、設計更多更完善的實驗素材等。
參考文獻:
[1] 王珊. 數(shù)據(jù)庫課程教學改革:面向21世紀課程教材與國家精品課程[J]. 中國大學教學,2006(4):14-17.
[2] Dennis Shasha,Philippe Bonnet. Database Tuning Principles, Experiments, and Troubleshooting Techniques[M]. San Fransisco:Morgan Kaufmann Publishers Inc.,2002:1-8.
Design and Practice of Performance Tuning Experiments in the
Course of Database System Principles
LIN Huai-zhong, SUN Jian-ling, ZHOU Bo, CHEN ling
(College of Computer Science and Technology, Zhejiang University, Hangzhou 310027, China)
嚴格管理和方便應用是矛盾的兩個方面,在機房管理上,絕大部分職業(yè)學校采用主板按裝硬盤還原卡,BIOS設置了密碼,安裝管理軟件屏蔽了控制面板、禁止USB口使用等維護和管理機房;這樣嚴格管理,學生上機實驗時受到限制,嚴重阻礙到學生從實踐中真正體驗真實的實驗環(huán)境,學生無法練習操作系統(tǒng)的相關(guān)設置,好多實驗無法完成。而如果放開管理,學生上機實驗中,刪除系統(tǒng)文件、非法調(diào)用系統(tǒng)參數(shù)等錯誤操作時,整個操作系統(tǒng)便會陷入一種癱瘓的狀態(tài)之中?;謴碗y度增大的同時,也給管理員造成極大的負擔,還會影響接下來的實驗課程。硬盤還原卡也有其不足之處,不支持Linux系統(tǒng),占用較多的磁盤空間,系統(tǒng)還原的速度也比較慢等[1]。
2計算機實踐教學實驗內(nèi)容受限
(1)計算機的某些系統(tǒng)維護實驗,要對磁盤進行破壞性實驗,擔心損壞硬件設備,教師一般采取課堂演示或以講代練的方式進行教學,無法讓學生很好地動手操作。(2)Windows系統(tǒng)下RAID技術(shù)實驗,教師只能從理論上去分析講解,無法在課堂上演示,學生也無法通過實驗加深理解。(3)計算機局域網(wǎng)的組建、網(wǎng)絡配置、Telnet、FTP、IIS等各種網(wǎng)絡服務的配置、遠程訪問和路由的設置等,需要用到多臺計算機和多臺HUB,而現(xiàn)在的教學條件有限,學生學完課程卻無法解決實際問題[2]。(4)網(wǎng)絡安全實驗,計算機面臨著網(wǎng)絡病毒的危害越來越嚴重,維護計算機的網(wǎng)絡安全就顯的非常重要。教師只能在課堂上口述網(wǎng)絡病毒的性質(zhì)和危害,學生似懂非懂[3]。
3計算機實驗教學管理新模式
3.1實驗室建設上實施(1)加大實驗室建設經(jīng)費投入;(2)整合、重組現(xiàn)有的設備,改變其交叉分散重復設置;(3)通過校企合作,產(chǎn)、學、研的途徑,改善實驗環(huán)境;(4)聯(lián)合辦學,資源共享等[4]。
3.2運用虛擬技術(shù)的構(gòu)建虛擬實驗環(huán)境(1)虛擬化技術(shù)是指將一個物理單元虛擬成多個邏輯單,供多個應用一起使用。通過安裝虛擬機軟件,在實驗室原有的計算機硬件設備配置基礎上,創(chuàng)建虛擬計算機和網(wǎng)絡設備等,構(gòu)建虛擬計算機實驗環(huán)境這樣做的主要目的,是為了提高資源的使用效率并方便管理各種資源[5]。(2)實現(xiàn)了在Windows系統(tǒng)平臺上對虛擬機系統(tǒng)VMwareWorkstation的部署,并在虛擬機系統(tǒng)中搭建了WindowsServer2003平臺。(3)使用虛擬技術(shù)解決了某些目前在高校實驗室管理建設上的難題,實現(xiàn)了對Windows和Linux系統(tǒng)平臺的虛擬化教學,也可應用于某些具有破壞性課程,如:①網(wǎng)絡安全實驗。有了虛擬機后,教師可以在虛擬機系統(tǒng)上植入病毒文件,開展網(wǎng)絡病毒攻擊計算機的模擬實驗,同時進行計算機針對網(wǎng)絡病毒的安全防御操作,這樣一來,可以讓學生更加直觀清楚地了解和掌握網(wǎng)絡病毒以及安全防御的相關(guān)知識[6]。②系統(tǒng)維護實驗。CMOS設置、硬盤格式化、操作系統(tǒng)的安裝和調(diào)試等。
3.3實行開放式實驗教學實現(xiàn)時間、空間、內(nèi)容和形式的全部開放,提供開放式的實驗指導。開放實驗教學以學生為本,從時間、空間、內(nèi)容和形式上全部向?qū)W生開放。時間上可以按自己的節(jié)奏預約,不受課程表的制約;空間上實驗室全部面向?qū)W生開放,自由選擇儀器設備;內(nèi)容上憑興趣、愛好選擇實驗項目。這樣突顯了學生的個性,刺激了學生創(chuàng)造性的發(fā)揮。
摘要 本文從實驗課計劃和提綱、實驗前的準備工作、實驗課的實施和總結(jié)幾個方面介紹了怎樣上好計算機課程的實驗課。
關(guān)鍵詞 計算機課程 實驗課
計算機科學的課程不但有較強的理論性,也有較強的實踐性,理論和實踐是緊密相關(guān)、相輔相成,理論指導實踐,實踐加強對理論的理解,特別是以職業(yè)教育為主的大專院校,計算機課程的實驗課在教學計劃中所占的比重是相當大的,例如,我系計算機專業(yè)教學計劃中FoxPro程序設計的總課時數(shù)是80,其中講課44課時,實驗36課時,由此可見,計算機課程的實驗課是計算機教學不可缺少的重要環(huán)節(jié),有著舉足輕重的作用。
在計算機課程的教學中開設實驗課,就是給學生一個理論和實際相結(jié)合的機會,學生在實驗中必須親自動手操作,來加深對計算機理論知識的理解,掌握計算機是怎樣操作、如何運行的。通過上機實驗讓學生演示和操作軟件的各種功能,了解它的特點和作用,逐步熟悉和掌握軟件的功能及使用。尤其是《數(shù)據(jù)結(jié)構(gòu)》,《高級語言程序設計》,《數(shù)據(jù)庫程序設計》等課程,學生在實驗中要自己編寫程序,在計算機上進行編輯處理,程序調(diào)試和運行,從中可以發(fā)現(xiàn)問題,改正錯誤,學習編程的經(jīng)驗,最終獲得所需的結(jié)果。因此,如何開好計算機實驗課,對促進學生掌握理論知識,提高實踐動手能力有積極的作用。下面我們從幾個方面來討論怎樣上好計算機課程的實驗課。
1.完善的實驗課計劃和提綱
上機實驗計劃是實驗課的總體安排。包括實驗題目、時間、地點、課時分配、實驗次數(shù),硬件和軟件環(huán)境等內(nèi)容。以便任課老師和實驗室管理人員之間能夠很好的配合,提前安排上機實驗的有關(guān)事項。每一次上機實驗都要有實驗提綱。實驗提綱格式為:
(一)實驗題目
(二)實驗目的
(三)實驗要求
(四)實驗內(nèi)容
(五)實驗步驟及注意事項
(六)實驗思考題
實驗提綱必須和實驗計劃一起編制,兩者協(xié)調(diào)一致,實驗提綱是實驗計劃的具體內(nèi)容和實施細則。由系或者教研組組織有經(jīng)驗的教學效果比較好的專業(yè)課教師,對每一門計算機課程的實驗計劃和提綱進行精心策劃,統(tǒng)一編制,在教學中不管是那個老師上這門課,都要按照統(tǒng)一的實驗計劃和提綱進行實驗,學生在實驗提綱的指導和安排下上機,完成實驗課程,根據(jù)實驗提綱執(zhí)行情況書寫實驗報告。教師也是按實驗提綱的要求來檢查實驗結(jié)果,評定學生成績。因此,教師在進行實驗提綱編制時對每門課程的每一次實驗課都要有周密的安排,進行精心的設計。
2.計算機實驗課程的準備工作
計算機實驗課程的準備工作是非常繁瑣同樣也是非常重要的,通常包括以下幾個方面的工作:
(1)硬件環(huán)境
實驗室內(nèi)學生上機所需的計算機及有關(guān)外部設備都要能正常運行,功能完好,適合學生上機實驗,學生所用的磁盤要合理分配,集中管理,一些輔助教學設備(如投影儀、無塵黑板等)都要能滿足上機實驗的要求。
(2)軟件環(huán)境
實驗室管理人員要根據(jù)實驗計劃,選擇好所需的操作系統(tǒng)軟件、高級語言環(huán)境、應用系統(tǒng)和輔助教學軟件,預先把這些軟件裝入計算機內(nèi)并調(diào)試好隨時可供調(diào)用。若有網(wǎng)絡環(huán)境,管理員要為每一個上機的班級設置各自的帳號,根據(jù)實驗計劃分配所需的軟件和必要的權(quán)限。另外,版本新、功能強的殺毒軟件也是必不可少的,管理人員要隨時用它來清除計算機系統(tǒng)內(nèi)的病毒。
(3)組織和管理
計算機的使用要嚴格管理,要保持良好的秩序、嚴令學生遵守實驗室各項規(guī)章制度,有條件的實驗室要實行學生上機自動管理(學生上機之前用上機證劃卡,系統(tǒng)自動為學生分配一個機號,該生即可在這臺計算機上上機,否則該生不能上機),該系統(tǒng)還可以自動記錄學生的上機時間,我們曾經(jīng)根據(jù)這個功能破獲了學生盜竊計算機內(nèi)存芯片的案件。如果實驗學生的人數(shù)超過計算機臺數(shù),最好是分組進行實驗,使每個學生都有上機的機會,同時也便于管理和輔導。管理人員要嚴格控制學生使用外來磁盤,預防計算機病毒帶入實驗室。
(4)教師和學生
教師要對實驗課的全過程進行周密的思考,要避免出現(xiàn)漏洞和疏忽;而學生要按實驗提綱作好實驗課前的準備工作,特別要學生自己編程上機時,學生一定要在上機前準備好程序,實驗時主要是編輯輸入程序和調(diào)試程序。
3.實驗課的實施
計算機實驗課是計算機課堂教學的繼續(xù),也是教學效果的初步體現(xiàn)。為了上好計算機實驗課還必須做好以下工作。
實驗課開始時,老師要重申本次實驗課的目的和要求,指明實驗要點和要注意的事項,對實驗中的疑難之處和可能出現(xiàn)的問題要給予必要的提示和說明。在實驗過程中學生初次使用的應用軟件或生疏命令,教師要首先進行演示和講解。
在實驗中要盡可能發(fā)揮計算機的優(yōu)勢,充分利用計算機輔助教學軟件和多媒體教學手段,特別是學生進行程序設計的實驗時,教師可以先演示和講解自己在科研工作中開發(fā)的一些應用軟件,將一些程序設計的經(jīng)驗傳授給學生,使學生有了一些感性認識以后能盡快動手進行程序設計。另外,教師要根據(jù)教學內(nèi)容選擇一些效果比較好的輔助教學軟件,例如,《數(shù)據(jù)結(jié)構(gòu)》課程的實驗課,可選擇集編輯、編譯、調(diào)試為一體的Pascal可視集成環(huán)境VP1和算法與數(shù)據(jù)結(jié)構(gòu)的作業(yè)系統(tǒng)AD1,Pascal源程序可以在VP1上可視執(zhí)行,能同步演示程序和數(shù)據(jù)的動態(tài)視圖,為學生理解算法、學習編程,調(diào)試程序提供了便利的環(huán)境,AD1可對數(shù)據(jù)結(jié)構(gòu)的程序設計作業(yè)進行測試評分,可以大大提高軟件基礎課的教學效果和質(zhì)量。
最后一點,對學生的基本技能的訓練要有高標準嚴要求,學生在操作計算機時一定要按規(guī)范和標準進行,如,開機、關(guān)機、入網(wǎng)、退網(wǎng)等要按正確的步驟,鍵盤打字的姿勢要正確,特別是學生在編程時要訓練學生養(yǎng)成良好的編程習慣和風格。要注意培訓學生在計算機使用中的應用能力和應變能力,為學生今后獨立操作和使用計算機打好基礎。
4.實驗課的總結(jié)
通過上機實驗,學生對老師講授的計算機理論知識、技術(shù)和有關(guān)算法都有了較為深刻的體會和認識,每個學生都會有不同程度的收獲。此時,教師要及時督促學生總結(jié)上機實驗中的收獲,鞏固所學的知識。為此,要求學生寫好實驗報告。
實驗報告直接體現(xiàn)了學生上機操作的情況,是對實驗過程進行概括和總結(jié),具體內(nèi)容如下:
(一)班級、學號、姓名、實驗時間及課時數(shù)
(二)實驗題目
(三)實驗目的
(四)實驗要求
(五)實驗過程
關(guān)鍵詞:案例教學;網(wǎng)絡程序設計;評價體系;實踐教學
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2015)28-0276-03
一、背景
隨著計算機和網(wǎng)絡的普及,在我們身邊,隨時隨地都在利用各種應用程序?qū)崿F(xiàn)用戶之間的交互。打開瀏覽器,打開各種各樣的聊天和通信工具,我們隨時接觸到的是網(wǎng)絡。未來的IT產(chǎn)業(yè),計算機網(wǎng)絡相關(guān)的應用將成為核心。高性能的服務器設計、分布式程序的管理、數(shù)據(jù)的高效傳輸以及數(shù)據(jù)傳輸過程中的安全控制等,都是網(wǎng)絡程序設計者要考慮的問題。“網(wǎng)絡程序設計”作為“計算機網(wǎng)絡”的后續(xù)課程,是計算機相關(guān)專業(yè)的一門重要課程,該課程將計算機網(wǎng)絡技術(shù)及實踐應用有機地結(jié)合,對學生加深理解和運用計算機系統(tǒng)、計算機網(wǎng)絡的基本原理及程序設計能力的提高等,都起到至關(guān)重要的作用。無論學生將來是從事軟件工程、網(wǎng)絡工程項目的設計與開發(fā),還是計算機網(wǎng)絡相關(guān)的科研和管理工作,都極有可能需要進行網(wǎng)絡程序設計,因此這門課程在教學中占有重要地位。但在實際教學過程中,我們發(fā)現(xiàn)不少學生存在程序設計能力不強、操作系統(tǒng)及計算機網(wǎng)絡基礎知識不扎實等問題,主要體現(xiàn)在以下幾方面。
1.學生編程能力差,不能熟練運用VC開發(fā)工具。目前的一些高級開發(fā)工具,如VC、Java、VB、.NET、Delphi等,都可以實現(xiàn)基于網(wǎng)絡協(xié)議棧的編程,但是除了VC以外,其他開發(fā)工具都是在一個較高抽象層次上進行面向?qū)ο蟮拈_發(fā),利用這些工具學生無法深入理解操作系統(tǒng)網(wǎng)絡通信的底層接口,而VC環(huán)境提供了底層的網(wǎng)絡編程接口,因此通常是作為“網(wǎng)絡程序設計”開發(fā)環(huán)境的首選。但由于VC環(huán)境中的MFC基礎類庫非常龐大,系統(tǒng)結(jié)構(gòu)復雜,應用程序設計接口難于掌握,因此盡管學生在此之前已經(jīng)學習了“C語言程序設計”及“面向?qū)ο蟪绦蛟O計”等基礎課程,也很難在短時間內(nèi)熟練理解和運用VC開發(fā)工具。
2.一些前期的專業(yè)基礎課掌握不扎實。本課程會大量涉及到“計算機網(wǎng)絡”和“操作系統(tǒng)”兩門課程的基本內(nèi)容,如線程、進程、同步、互斥等概念;網(wǎng)絡協(xié)議模型中各層次的地位及工作原理;等等。而這些課程只偏重理論的教學,沒有將一些原理應用到實踐上,導致學生理解困難,沒有辦法靈活運用。
3.現(xiàn)有的“網(wǎng)絡程序設計”教材內(nèi)容難易程度往往出現(xiàn)兩極分化,有的過于注重基礎,只講授簡單的套接字接口、應用層的FTP、HTTP和POP3協(xié)議等方面的編程,沒有涉及到與身邊密切相關(guān)的一些網(wǎng)絡程序,如廣播、多播技術(shù)、ARP欺騙技術(shù)、P2P數(shù)據(jù)交換技術(shù)等,學生只能學到一些簡單的應用,和工作的需求相距較遠。有的教材偏難,甚至涉及到底層協(xié)議的開發(fā),這樣的教材也不適合應用型本科層次的學生。
針對以上問題,本文根據(jù)多年的“網(wǎng)絡程序設計”課程的教學經(jīng)驗,對該課程的理論教學及實驗教學內(nèi)容進行了探索,提出了教學改革設想,針對理論和實踐教學內(nèi)容、教學方法和教學評價過程進行了研究,提出了適合于應用型本科計算機專業(yè)“網(wǎng)絡程序設計”課程的改革方案,并在教學過程中進行了實踐,實踐結(jié)果表明新方案在培養(yǎng)學生學習興趣、鞏固基礎知識及提高實踐能力等方面有一定的積極作用。
二、課程的改革措施
1.教學內(nèi)容的選取。作為應用型的本科院校,課程教學內(nèi)容的選擇要難易適中,同時符合社會對人才的需求,注重學生能力的培養(yǎng),本課程偏重于學生的網(wǎng)絡編程能力,對操作系統(tǒng)原理、計算機網(wǎng)絡知識的理解和運用能力、工程駕馭能力等方面的培養(yǎng)。教學內(nèi)容既要注重基礎,也要注重實際應用的需要,強調(diào)課程的工程化和實用性等特點。為了便于學生理解相關(guān)的原理,我們針對每一部分教學內(nèi)容都設計了相關(guān)案例,通過案例教學,將操作系統(tǒng)、計算機網(wǎng)絡的基本原理、網(wǎng)絡協(xié)議、一些經(jīng)典的網(wǎng)絡編程技術(shù)和實際應用案例等內(nèi)容有機整合。在理論教學中,我們選擇了8個方面的內(nèi)容進行講授,并設計了一一對應的教學案例,如表1所示。
在所涉及到的教學內(nèi)容中,第1部分對過往知識的簡單回顧,包括所涉及到的計算機網(wǎng)絡、操作系統(tǒng)等方面的知識,并以一些常用的網(wǎng)絡程序為例,簡單介紹其工作原理;第2部分是考慮到學生沒有VC的編程經(jīng)驗,通過對話框應用程序和單文檔應用程序,簡要介紹MFC的基本框架以及用VC程序的架構(gòu)、代碼的執(zhí)行過程等;第3部分是對傳輸層之上的套接字編程接口進行介紹,同時通過設計一個應答的聊天程序,讓學生理解套接字的工作過程;第4部分介紹了一個典型的應用層協(xié)議FTP的軟件開發(fā),其他的如POP3協(xié)議、HTTP協(xié)議等與FTP協(xié)議的開發(fā)過程異曲同工,因此沒有介紹;第5部分通過多線程方式實現(xiàn)FTP文件的上傳和下載,讓學生掌握多線程技術(shù);第6~7部分選擇的是一些與身邊密切相關(guān)的網(wǎng)絡應用,包括廣播和多播、網(wǎng)絡掃描和檢測技術(shù)及點對點(P2P)通訊技術(shù)等。
2.實驗內(nèi)容的設計。實踐教學環(huán)節(jié)是對課堂教學環(huán)節(jié)有益的補充,也是提高學生自身能力的關(guān)鍵環(huán)節(jié)。考慮到學生自身水平參差不齊,我們根據(jù)課堂講授的內(nèi)容以及知識點的內(nèi)在聯(lián)系,設計由淺入深、由易到難的實驗,盡可能選擇身邊應用比較廣泛的案例貫穿實驗環(huán)節(jié),課堂上所講的案例可以作為學生上機的DEMO,學生在此基礎之上補充和完善。根據(jù)難易程度,我們將實驗教學所涉及的知識結(jié)構(gòu)分成三個層次:第一層是基礎實驗,強調(diào)學生熟悉VC開發(fā)平臺和利用套接字接口實現(xiàn)基本網(wǎng)絡通訊程序;第二層是高級實驗,它在基礎實驗之上,實現(xiàn)應用層FTP協(xié)議的編程、多線程編程、ARP欺騙及打洞編程等;第三層是我們設計了兩個綜合實驗,將綜合運用所學的網(wǎng)絡知識和編程知識,實現(xiàn)一個較大的程序,學生在完成高級實驗時,也可以自己選擇題目,但要求選擇的題目必須能夠體現(xiàn)知識的充分應用。前兩層實驗要求學生必須在指定的時間內(nèi)完成,第三層綜合性實驗要求學生利用課外時間或課程實訓時間完成,然后統(tǒng)一在實驗室演示和考核。
由于網(wǎng)絡程序都涉及到客戶端和服務器端的通訊,單獨一個學生很難在有限的時間內(nèi)完成每個實驗,因此要求學生進行合理分組,每組2~3人,共同協(xié)作,完成實驗內(nèi)容,這也有利于培養(yǎng)學生的項目協(xié)同能力。每次實驗結(jié)束后,要求每個小組提交實驗報告,按照軟件工程的思想編寫報告內(nèi)容,涉及到問題的描述及定義、問題的解決方案、問題的設計思路與規(guī)劃、概要及詳細設計、編程體會等。實驗報告是對每個案例的總結(jié)與回顧,可以加深學生對案例及相關(guān)理論知識的理解和掌握,鍛煉學生的文檔編寫能力。
3.教學方法的設計。在課程教學過程中,根據(jù)其工程性、實用性等特點,我們采用了經(jīng)典的案例教學法,采用經(jīng)典案例貫穿整個教學過程,選擇的案例盡量保證知識點之間的連貫性,比如在講多線程編程技術(shù)時,可以在已開發(fā)的FTP客戶端程序基礎之上完善完成多線程的上傳和下載功能;在講到打洞技術(shù)時,可以在第3部分已經(jīng)設計的簡單聊天程序之上,實現(xiàn)不同局域網(wǎng)之間的通信;等等。在教學時由淺入深、循序漸進,改變傳統(tǒng)的“填鴨式”教學模式,從以教師教為主向以學生學為主的方向轉(zhuǎn)移,盡量讓學生積極參與到教學過程中。由于該課程有較強的實踐性,通過案例教學和實踐,很容易激發(fā)學生的自主學習興趣,提高學生的創(chuàng)造性思維。
4.構(gòu)建合理的學生評價體系。在對學生考核評價體系的改革方向上,力求過程評價與結(jié)果性評價、形成性考核與終結(jié)性考試、精確性評價與模糊性評價相結(jié)合;考核內(nèi)容應以課程標準為依據(jù),倡導靈活多樣的考核原則,考慮學生差異,注重學習和發(fā)展過程評價??己朔椒ú辉賰H以傳統(tǒng)的卷面考試方式來評判,實驗過程的評價占有較大的比重,根據(jù)學生在小組中承擔的工作量及小組的完成情況,給出每個學生的成績,這樣可使一些動手能力強但考試成績不理想的學生獲得滿意的評價結(jié)果。
三、結(jié)語
通過對“網(wǎng)絡程序設計”課程的教學改革,我們設計了符合應用型本科人才教學的課程教學內(nèi)容,根據(jù)課程工程性、實用性的特點,將教學理論與實踐應用緊密地結(jié)合,構(gòu)建案例教學的模式,促進學生構(gòu)建良好的知識體系。在上機實踐環(huán)節(jié),我們采用了分組的方式,充分發(fā)揮了每個學生的優(yōu)勢,增強了學生的動手能力、寫作能力。實踐表明,改革后的教學方法有效地解決了以往教學中存在的學時少、學生動手能力差、理論與實踐脫節(jié)、知識理解和掌握不牢固等問題,取得了良好的教學效果,對其他課程的教學和實踐具有重要的指導意義。
參考文獻:
[1]蔣崢崢,陳曉紅,王進,等.網(wǎng)絡工程專業(yè)“網(wǎng)絡程序設計”課程的案例教學實踐[J].計算機教育,2013,(2):27-31.
[2]劉琰,常斌,羅軍勇,等.面向能力培養(yǎng)的網(wǎng)絡編程技術(shù)課程教學方法探討[J].計算機教育,2010,(18):52-55.
[3]王云兒.新建應用型本科院校以能力為導向的學生學業(yè)三維評價模式探析[J].教育研究,2011,(6):102-106.