計算機軟件基礎教學的相關論文(2)
計算機軟件基礎教學的相關論文
計算機軟件基礎教學的相關論文篇二
《計算機軟件技術基礎課程的案例建設》
摘要:案例教學能有效提高學生分析問題和解決問題的能力,是現(xiàn)代教育的常用教學方法之一。文章分析案例教學中的案例特征,以實際工程項目的一個子系統(tǒng)為背景,設計實時仿真監(jiān)視系統(tǒng)案例并介紹案例的具體建設情況,指出該案例對提高學生的學習興趣以及分析問題和解決問題的能力具有明顯的效果。
關鍵詞:軟件技術基礎;案例教學;案例建設;實時仿真;監(jiān)視系統(tǒng)
1、計算機軟件技術基礎課程中案例教學的必要性
計算機軟件技術基礎是仿真工程與自動化專業(yè)的核心課程之一,是一門應用性很強的專業(yè)基礎課。該課程是整合課程,主要包括c++面向?qū)ο蟪绦蛟O計、算法與數(shù)據(jù)結構、操作系統(tǒng)、軟件工程等方面的內(nèi)容,知識龐雜且難以掌握。學生在學習該課程之后常常感到困惑:所學知識有什么用,怎樣運用所學知識?一些學生雖然能夠在考試中考出高分,卻不知道怎樣解決實際問題。如何使學生認識所學知識的用途,融會貫通并靈活運用,是這門課應重點考慮的問題。目前,案例教學在法律類和管理類課程教學中的地位和作用已在教育界達成共識。教育部高等學校計算機科學與技術教學指導委員會于2006年6月發(fā)布了《關于進一步加強高等學校計算機基礎教學的意見暨計算機基礎課程教學基本要求(試行)》白皮書,明確指出在教學方法和手段上運用案例教學的必要性,因此,將案例教學作為一種教學方法引入工科類課程的教學,具有可行性和必要性。
2、認識案例
案例教學法就是在教師的指導下,根據(jù)教學目的和要求,以案例為基本素材,把學生帶人特定的教學情境中進行思考,以此加深學生對基本原理和概念的理解,進而培養(yǎng)并提高學生運用理論知識分析問題和鋸決問題能力的一種教學方法。
案例是案例教學的基礎,離開了案例,案例教學就無從談起。案例與一般教學中的例題有著本質(zhì)區(qū)別,案例教學中的案例是將多個知識點融人一個整體來解決實際問題,涉及的知識面廣,知識間具有連貫性和系統(tǒng)性,涵蓋的知識具有綜合性的特點,知識和原理蘊藏于案例之中。一般教學中的例題往往是配合某一章節(jié)或某一知識點,從某個角度、某個方面或某個層次反映所學理論和方法,起著驗證和說明作用,常常帶有為講知識而杜撰例子的痕跡,各個例題之間相對獨立,涵蓋的知識單一,知識和原理孤立地呈現(xiàn)在學生面前。一般說來,工科類課程的案例應具有以下基本特征。
1)真實性。
客觀真實性是案例的基本特征。教學案例應源于真實,取材于工程實際或科研課題,但是又要高于真實。為了突出主題,可以對真實做一定的刪減處理。
2)綜合性。
案例應是綜合知識的載體,既要以學生已掌握的知識為依據(jù)輻射足夠多的知識點,又要在匹配教學內(nèi)容的基礎上對知識有一定程度的擴展。
3)完整性。
案例是完整過程的載體,涉及了解背景、查詢資料、分析信息、發(fā)現(xiàn)問題、探求方法、采取行動、解決問題的全過程。
4)啟發(fā)性。
案例教學著眼于能力的培養(yǎng),希望得到的不是案例的標準答案,而是解決問題的思維方法和能力。案例中,解決問題的方式是開放性的,可以留給學生想象的空間和發(fā)揮的余地。
5)實踐性。
學生可以對案例進行復現(xiàn)、改進和完善,也可以按照自己的思考去實現(xiàn),增強理論應用于實際的能力,實現(xiàn)從理論到實踐的轉化。
3、案例建設
案例教學的前提是高質(zhì)量的案例,高質(zhì)量的案例既要覆蓋足夠的知識,又要控制合適的規(guī)模。規(guī)模過小,則不能溶入足夠的知識,也不能提供足夠的研討與思維空間;規(guī)模過大,則在短時間內(nèi)難以被學生接受,不能得到預期的教學效果。筆者以實際工程項目衛(wèi)星實時仿真系統(tǒng)的一個子系統(tǒng)為案例背景,在突出主題的前提下,進行了適當?shù)脑斅约皠h減處理,形成了“實時仿真監(jiān)視系統(tǒng)”案例。
3.1 案例背景簡介
衛(wèi)星實時仿真系統(tǒng)能夠?qū)πl(wèi)星的方案、設計、集成、測試和運行各個階段進行仿真驗證,是提高衛(wèi)星總體設計水平的重要手段,其網(wǎng)絡關系連接如圖1所示。在此系統(tǒng)中,仿真模型解算、物理設備接口等苛刻實時約束的節(jié)點通過反射內(nèi)存互聯(lián),構成實時內(nèi)環(huán),外環(huán)則通過普通網(wǎng)絡互聯(lián),將人機交互、可視化、數(shù)據(jù)處理等實時約束弱的節(jié)點互聯(lián),內(nèi)、外環(huán)都可以根據(jù)需要擴充且內(nèi)環(huán)不受外環(huán)影響,苛刻實時得到保障。轉發(fā)計算機完成內(nèi)存數(shù)據(jù)的提取并轉發(fā)外環(huán),仿真管理計算機則同時管理內(nèi)、外環(huán)系統(tǒng)。衛(wèi)星仿真監(jiān)控是衛(wèi)星實時仿真過程中的重要一環(huán),它將抽象的仿真活動形象化,并及時將信號數(shù)據(jù)以各種方式反饋給用戶,以利于用戶分析、理解和決策。衛(wèi)星實時仿真監(jiān)控系統(tǒng),能夠模擬通過控制、監(jiān)視和測量星上設備的工作狀態(tài)實現(xiàn)實時連續(xù)地記錄工作過程、測試數(shù)據(jù)和描繪曲線。圖1中,人機交互計算機、曲線顯示計算機和三維顯示等外環(huán)計算機共同實現(xiàn)仿真監(jiān)視功能。我們將人機交互計算機和曲線顯示計算機的功能提取出來,要求系統(tǒng)具有一定的通用性,能夠適應不同監(jiān)視任務和不同數(shù)據(jù)類型,形成“實時仿真監(jiān)視系統(tǒng)”案例。
3.2 實時仿真監(jiān)視系統(tǒng)案例
實時仿真監(jiān)視系統(tǒng)的工作原理為:轉發(fā)計算機完成內(nèi)存數(shù)據(jù)的提取并轉發(fā)外環(huán),外環(huán)上的實時仿真監(jiān)視系統(tǒng)首先進行初始化,隨后自動生成系統(tǒng)主界面。系統(tǒng)支持兩種運行模式:監(jiān)視模式和回放模式。在監(jiān)視模式下,系統(tǒng)既要處理主界面信息,又要處理網(wǎng)絡數(shù)據(jù)。主界面信息的處理包括響應用戶交互消息、更新實時監(jiān)視界面、實時繪制曲線;網(wǎng)絡數(shù)據(jù)的處理包接監(jiān)聽網(wǎng)絡端口,接收、解析和保存數(shù)據(jù)包,將有效數(shù)據(jù)寫入共享數(shù)據(jù)結構,供給系統(tǒng)繪制曲線。在回放模式下,不再需要對網(wǎng)絡進行監(jiān)聽,直接讀取監(jiān)視模式下保存的原始數(shù)據(jù)文件,然后進行相應處理即可。
為實現(xiàn)上述目的,使系統(tǒng)具有一定的通用性,我們設計了如下方案:
(1)在軟件工程思想指導下,進行需求分析、總體設計、詳細設計、編碼實現(xiàn)以及綜合測試。通過該案例,讓學生對軟件工程思想指導下的軟件開發(fā)全過程有一個感性認識;
(2)采用多線程技術實現(xiàn)監(jiān)視模式下的主界面信息處理和網(wǎng)絡數(shù)據(jù)處理,僅用單線程實現(xiàn)回放模式;
(3)設計一個數(shù)據(jù)包發(fā)送測試程序,模擬轉發(fā)計算機的功能。
為此,我們結合本課程的基本知識點將系統(tǒng)的主要功能模塊劃分為界面管理和數(shù)據(jù)處理兩大部分,界面管理部分主要承擔主界面信息的處理,數(shù)據(jù)處理部分則主要負責數(shù)據(jù)的處理。
3.2.1 界面管理
系統(tǒng)運行過程中始終需要對系統(tǒng)主界面進行管理。從運行初期的生成主界面,到運行中的監(jiān)視過程的顯示,再到最終的系統(tǒng)結束,都需要對主界面進行即時的調(diào)整。為了提高通用性,系統(tǒng)采用基于配置文件的方式,通過用戶提供的配置文件,動態(tài)改變系統(tǒng)監(jiān)視任務,也就是說,系統(tǒng)能夠改變每次運行時的任務,主界面顯示的內(nèi)容具有不確定性。
1)讀取配置文件,獲取初始化信息。
系統(tǒng)運行之前,需要進行初始化,這就需要系統(tǒng)讀取配置文件,包括全部信號、實時顯示信號、數(shù)據(jù)包類型等配置文件。用戶必須按照約定的正確格式提供配置文件,否則系統(tǒng)有可能無法正確識別相關信息。從軟件工程的角度,配置文件的設計與確定應在總體設計階段完成。配置文件的類型、組織方式以及數(shù)據(jù)正確性的檢驗,都是學生可以自由發(fā)揮和擴展的內(nèi)容。
2)自動生成實時監(jiān)視界面。
監(jiān)視對象的不確定性使得系統(tǒng)的監(jiān)視界面無法固定,然而,不能將界面的生成工作完全交給用戶完成,這就需要設計一種適用于不同監(jiān)視任務的界面生成算法,使系統(tǒng)將界面生成工作承擔下來。另外,系統(tǒng)界面的尺寸等信息是用戶所不知道的,因此被監(jiān)視的信號在系統(tǒng)主界面中的顯示位置無法由用戶設定,這就需要系統(tǒng)自己完成界面的排布任務。因此,要求設計一個具有較強通用性的監(jiān)視界面自適應生成算法,這部分涉及算法設計和計算機系統(tǒng)配置的獲取等基礎知識,算法設計是學生能夠自由發(fā)揮并出彩的部分。
3)定時更新監(jiān)視界面。
為了實現(xiàn)實時監(jiān)視功能,系統(tǒng)需要對監(jiān)視界面進行定時更新,以顯示當前被監(jiān)視信號的實時數(shù)據(jù)。為了滿足用戶的不同需求,系統(tǒng)提供0.5s、1s、2s三種刷新頻率。系統(tǒng)可以根據(jù)用戶選擇的刷新頻率對主界面進行更新。這部分主要涉及定時器的使用。
4)處理用戶交互消息。
系統(tǒng)需要對用戶的交互消息進行處理,主要為鼠標消息,包括運行模式的切換、仿真的開始與結束、加載歷史數(shù)據(jù)包文件等。這部分涉及所選編程環(huán)境下的消息響應機制問題。
3.2.2 數(shù)據(jù)處理
系統(tǒng)在運行過程中,需要對數(shù)據(jù)包進行接收、解析和存儲,還要為曲線繪制提供原始數(shù)據(jù),因此需要設計一個專用的數(shù)據(jù)結構。
1)接收網(wǎng)絡數(shù)據(jù)包。
在監(jiān)控模式下,系統(tǒng)既要處理主界面信息,又要通過網(wǎng)絡接收數(shù)據(jù)包。為了避免“漏掉”數(shù)據(jù)包,系統(tǒng)必須對網(wǎng)絡持續(xù)進行監(jiān)聽。如果主線程將大量時間用在網(wǎng)絡監(jiān)聽上,勢必無法對用戶的交互做出及時響應。因此,需要將數(shù)據(jù)包的接收放在一個單獨的線程中。這涉及操作系統(tǒng)進程管理的相關概念,是多線程程序設計技術的典型應用;也涉及網(wǎng)絡通信技術,需要了解網(wǎng)絡通信協(xié)議等相關知識。
2)解析數(shù)據(jù)包。
在接收到數(shù)據(jù)包后,需要將數(shù)據(jù)包內(nèi)的數(shù)據(jù)進行解析,獲得數(shù)據(jù)包內(nèi)的數(shù)據(jù),將最新的數(shù)據(jù)更新至系統(tǒng)對應的變量中,以供實時顯示。解析數(shù)據(jù)包涉及網(wǎng)絡通信程序設計技術。
3)保存原始數(shù)據(jù)包。
系統(tǒng)要求有回放功能,因此需要將接收到的數(shù)據(jù)包寫入文件,進行永久保存。數(shù)據(jù)包的保存有兩種方式:解析后按段保存和作為整體進行二進制保存。第一種方法耗時,需較大工作量。第二種方法簡便,工作量小。顯然第二種方法更適合本系統(tǒng)。由于系統(tǒng)必須適應兩種類型的數(shù)據(jù)包,因此,進行數(shù)據(jù)保存時,采用以形參類型為區(qū)別的方式進行同名函數(shù)的重載,實現(xiàn)兩種類型數(shù)據(jù)包文件的存儲。這部分功能涉及C++面向?qū)ο蟪绦蛟O計中的重載技術以及文件操作技術。
4)讀取數(shù)據(jù)文件,獲取數(shù)據(jù)包。
在回放模式下,系統(tǒng)不再對網(wǎng)絡進行監(jiān)聽,不進行數(shù)據(jù)包的接收,需要通過讀取之前保存的原始數(shù)據(jù)包文件獲得數(shù)據(jù)包。原始數(shù)據(jù)包文件保存的是二進制形式的數(shù)據(jù)包,系統(tǒng)每次讀取之后需要對數(shù)據(jù)包進行解析,這與接收到數(shù)據(jù)包的過程是一樣的,不同之處在于回放過程不再需要將數(shù)據(jù)包進行保存。這涉及C++面向?qū)ο蟪绦蛟O計中的文件操作,同時,通過監(jiān)視模式下的多線程程序設計與回放模式下的單線程程序設計的對比,使學生真切感受并理解多線程程序設計技術及其應用場合等。
5)共享數(shù)據(jù)。
系統(tǒng)嵌套了曲線繪制模塊,因此,數(shù)據(jù)處理與曲線繪制之間需要有一塊共享數(shù)據(jù)內(nèi)存。在收到數(shù)據(jù)包并解析后,馬上將有用的信息寫入該共享內(nèi)存。寫入操作由數(shù)據(jù)包接收線程處理,讀取操作由主線程內(nèi)的曲線繪制模塊完成,因此,需要對兩個線程進行同步。這涉及數(shù)據(jù)結構的設計和操作系統(tǒng)的同步與互斥。
6)快速查找。
系統(tǒng)支持大數(shù)據(jù)量下的仿真監(jiān)視,對數(shù)據(jù)的快速查找有較高的需求,因此,需要設計支持快速查找的哈希表數(shù)據(jù)結構,包括哈希函數(shù)的確定、沖突的解決等,這涉及數(shù)據(jù)結構的哈希表技術。
4、結語
“實時仿真監(jiān)視系統(tǒng)”案例,涵蓋了軟件工程、c++面向?qū)ο蟪绦蛟O計、算法與數(shù)據(jù)結構、操作系統(tǒng)和網(wǎng)絡通信等計算機軟件技術基礎課程及其先導與后繼課程的知識點,是一個與學生所學專業(yè)密切相關的實際應用系統(tǒng),容易引起學生的興趣,也容易被學生理解和接受。這樣的案例既與教學目標相吻合,又便于教師駕馭和把握。
從學生反饋的情況看,學生普遍認為,案例教學法方式新穎,實時仿真監(jiān)視系統(tǒng)案例與專業(yè)基礎結合緊密;能引導學生積極思考,提高學生的學習興趣以及分析問題和解決問題的能力。該案例在教學過程中取得了明顯的教學效果。
為了更好地開展案例教學,我們必須把建設高質(zhì)量的案例作為重點來抓,選擇合適的案例背景,制定合理的案例建設計劃。實踐證明,只有經(jīng)過長時間的積累、認真的思考、精心的選擇和多次教學實踐,才能獲得高質(zhì)量的教學案例;只有經(jīng)過團隊的長期努力,才能建設高質(zhì)量的教學案例庫。
計算機軟件基礎教學的相關論文相關文章: