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

軟件技術基礎教學方法研究

2008-12-31 00:00:00郭秀清
計算機教育 2008年14期

摘要:本文針對“軟件技術基礎”課程的特點和要求,總結筆者多年來的教學實踐經驗,提出了基于案例驅動的軟件技術基礎教學方法、基于抽象模型的軟件技術基礎教學方法以及實際課堂教學與虛擬課堂教學相結合的軟件技術基礎教學方法等。實踐結果表明這些教學方法可操作性強,且行之有效。

關鍵詞:應用案例;案例庫;案例驅動;抽象模型;虛擬課堂

中圖分類號:G642文獻標識碼:A

“軟件技術基礎”是同濟大學電子與信息工程學院的公共平臺課程,它面向非計算機專業本科生,旨在介紹有關軟件方面的一些基礎知識。本課程的特點:(1)內容多,涉及面廣。它主要包括數據結構、操作系統、數據庫技術及軟件工程等內容,對于計算機專業的本科生來說,這里的每一個知識點都單獨開設一門課程,且四部分內容缺乏內在聯系。(2)軟件開發技術和開發平臺更新快。(3)面向的對象來自不同專業,有關計算機方面的基礎知識差異較大。(4)課時較少,周學時為2。從2004級開始,該課程被列入學院公共平臺課程,因為它面向的是非計算機專業的本科生,它不屬于主干專業課程,所以其課時也由原來的周學時3縮減為2。上述因素給該課程的教與學工作帶來很大困難和問題。如,(1)部分同學感到內容繁多,難以抓住重點。(2)有些概念或理念建立不起來,如算法概念,算法和程序總是混淆。(3)面臨實際問題感到無從下手,理論和實際脫節。另一方面,傳統的教學方法所產生的矛盾也更加突出:重算法,輕案例;重理論,輕實驗;考試方法也存在著片面性,有的學生可能考試成績優良,但遇到實際問題不知所措,有“紙上談兵”之弊。鑒于此,本文基于筆者長期對教學方法的探索和教學經驗的積累,提出了基于案例驅動的、基于抽象模型的以及與虛擬課堂相結合等幾種軟件技術基礎課程教學方法。

1基于案例驅動的教學方法

案例驅動的教學方法筆者之前已經有所探索[1],但當時僅限于提出了一種教學理念和教學方法實施框架,其可操作性和有效性還存在嚴重不足。其原因是:(1)應用案例過于復雜,且與相關知識點的對應性不強。(2)應用案例少,不足以構成豐富的、系統的、組織結構合理以及便于檢索的案例庫。在近兩年多的時間里,筆者重點研究了如下問

題:(1)案例的設計與實現。設計的應用案例力求難易適中、針對性強和對本課程的覆蓋面廣,以便于基于案例驅動的教學方法可以貫穿本課程教學的全過程。(2)設計并建立了案例庫。研究了案例庫中案例的組織、存儲和檢索方法,使所提出的教學方法具有可操作性。

1.1案例庫及其三要素

所謂基于案例驅動的教學方法是指針對該課程教學大綱內容,首先設計并實現若干個典型應用案例,每個案例都對應一個或多個相關知識點,并對這些案例進行合理組織和存放,以便于檢索和查找。由這些案例組成該課程的案例庫。在教學活動中,當教授到某個知識點時,通過一定的檢索方法在案例庫中查找相關案例,如按知識點關鍵字檢索。然后,教師通過演示案例(包括演示案例實現過程-Flash程序和案例實現結果-Visual C++程序)使學生對該知識點有了感性認識,同時使相應的抽象概念或理念具體化和形象化。更進一步,教師通過分析案例的設計步驟:需求分析、概念設計,詳細設計和代碼實現,引導學生掌握面臨實際問題時,如何應用學過的理論知識,去分析問題和解決問題的能力。

基于案例驅動的教學方法成功實施的關鍵要素是案例庫。一個成功的案例庫必須滿足如下三個要素:(1)案例具有代表性和針對性。只有案例庫中的應用案例設計合理,且具有代表性和針對性,才能對相關知識點的學習起到輔助功能。(2)案例具有多樣性。只有案例庫中有豐富多樣的案例,才能覆蓋該課程的絕大部分知識點,使關鍵知識點都有案例可以演示。否則,如果庫中案例太少,那么基于案例驅動的教學方法的效果將大打折扣,最多只是一種教學理念而已。(3)案例組織結構合理性。隨著案例庫中案例的不斷積s累,對案例的組織和存放形式必須合理規劃,以便于檢索、查找和鏈接。

1.2案例設計與實現

依據相關知識點的學習,精心設計一些典型應用案例,幫助學生掌握相關理論知識的學習,提高學生理論聯系實際、分析問題和解決問題的能力。經過前期教學積累和2006年校教改項目的實施,目前為止,我們案例庫中已設計并實現了十幾個典型應用案例。主要包括三類:(1)針對算法概念的案例,目的是幫助學生區分算法、程序和計算方法,使學生能由之前的程序概念提升到算法設計理念。(2)針對數據結構知識點的案例,目的是讓學生理解數據作為軟件處理的主要對象,其數據結構的設計在軟件設計中的重要性。同時讓學生區分數據的邏輯結構和物理結構,以及掌握數據物理結構的實現方法等。(3)針對數據庫技術知識點的案例,目的是幫助學生了解數據庫相關技術、數據庫應用程序的設計和實現方法。

1.2.1基于算法知識點的案例設計與實現

講解數據結構的切入點是算法。首先要讓學生掌握算法概念,理解算法和程序以及計算方法的區別,培養學生面臨實際問題時先設計算法而不是直接編寫代碼的習慣,這樣在設計前期無需考慮許多與方法和分析無關的細節問題,把主要精力放在算法設計上,以便于設計出更優的算法。除此之外,該知識點還要讓學生熟悉并應用常用的幾種算法設計方法:列舉法、回溯法、歸納法和遞推法等。目前,我們已經開發了兩個案例分別對應列舉法和回溯法:百雞問題和皇后問題。限于篇幅,下面僅對皇后問題的設計與實現給出簡單說明。

問題描述:由n×n個方格排成具有n行和n列的正方形,稱為“n元棋盤”。如果兩個皇后位于棋盤上的同一行、同一列或同一對角線上,則稱她們為互相攻擊。要求找出n個皇后在n元棋盤上互不攻擊的所有布局。

實現方法:n個皇后在n元棋盤上有n2種布局,如果用列舉法,則需在n2種布局中剔除相互攻擊的布局。那么,當問題尺度n較大時,該算法的時間開銷(時間復雜度)將會急劇增加,這也不符合算法設計的初衷。所以我們采用了回溯法,也稱試探法。即分析實際問題,找出一種解決問題的路徑。然后,沿著這個路徑逐步試探。對于每一步的試探,如試探成功,則繼續,直到求得問題的解。如試探不成功,則原路逐步返回,換另外路徑試探。如果所有路徑都試探不成功,則問題無解。在布局第i(i=1…n)個皇后時假設前面i-1個皇后已經布好,尋找第i個皇后與前i-1個皇后互不攻擊的布局,若找不到,則沿原路逐步返回,撤消第i-1個皇后的布局,重新尋找新的布點,以此類推。實現結果如圖1所示。

1.2.2數據結構知識點的案例設計與實現

數據結構知識點是軟件技術基礎的重要組成部分,它占用了相對多的篇幅和課時,是該課程的重點和難點。傳統的教學方法是占用大量課時講解各種偽碼描述的算法,而教學效果不盡人意,學生僅僅限于理解了偽碼描述的算法思想,但遇到實際問題時對數據的邏輯結構和物理結構的設計,尤其是物理結構的實現往往感到無從下手。

數據結構是指同一數據對象中各數據元素之間的關系。數據結構可分為4類:(1)集合-數據元素之間除了“同屬于一個集合”外,再無其他關系;(2)線性結構-元素之間存在一對一(1:1)的關系;(3)樹型結構-元素之間存在一對多(1:n)的關系;(4)圖狀結構-元素之間存在多對多(m:n)的關系。我們設計并實現了如下三個應用案例對應上述第2~4種數據結構,以輔助相關知識點的教與學。限于篇幅,下文所有案例僅就其設計目的以及它們與相關知識點的對應關系進行論述,同時部分案例給出實現結果。至于設計與實現的過程和方法不是此文的關鍵,故不贅述。

(1) 學生信息管理系統:該案例實現學生信息查找、修改、插入、刪除和顯示等功能。它對應線性鏈表知識點。通過設計、實現和運行該案例,使學生加深理解并掌握線性表、線性表的鏈式存儲結構以及線性鏈表的各種基本運算(查找、修改、插入、刪除、排序及顯示等功能)[2]。

(2) 哈夫曼編碼與譯碼:該案例實現哈夫曼樹構造(哈夫曼編碼)與哈夫曼譯碼功能。它對應樹結構。通過該案例的設計和實現步驟,學生對樹及其同構型多重鏈表存儲結構的理解更加具體化,并通過演示Flash程序,幫助學生掌握哈夫曼樹生成和哈夫曼譯碼的算法實現思想。目前該案例經過功能完善和技術優化,很好地解決了葉結點輸入方式(實現了鍵盤輸入、文件導入和文章字符統計三種輸入方式。)、哈夫曼樹的顯示模式以及大問題規模尺度(問題尺度可達100)等難點問題[3]。實現結果如圖2所示。

(3) 旅行商(TSP: Traveling Salesman Problem)問題:該案例也稱為交通咨詢系統,它可以解答旅客提出的各種問題,如:從A城市到B城市,選擇一條途中中轉次數最少的路徑(假設城市交通網絡圖中的每一站都需要換乘);從A城市到B城市,選擇一條交通費用最少的路徑;從A城市到B城市,選擇一條旅行時間最短的路徑等。該案例旨在幫助學生理解并掌握圖形結構(有向網)、圖的物理存儲結構(鄰接表和鄰接矩陣)、圖的遍歷以及圖的應用(單源最短路徑)等相關知識點。

1.2.3數據庫技術知識點的案例設計與實現

數據庫技術是研究數據的分類、組織、儲存、檢索及維護等功能的一門計算技術,是發展最快的領域之一,也是應用最廣的技術之一。圖書管理系統[4]、企業設備管理系統[5]和客戶關系管理系統[6]都屬于數據庫應用系統,它們都包含一個小型數據庫系統,是一種以處理為中心的應用系統。這些案例的目標是通過完成從用戶需求分析、數據庫設計到上機編程及應用等全過程,進一步理解和掌握數據庫技術、面向對象方法(OO)以及軟件工程方法等相關理論知識的學習。下面對企業設備管理系統作一簡單介紹,其他案例見相應參考文獻。

對于一個企業來說,要想在激烈的市場競爭中成為最后的贏家,就必須不斷地改善管理和經營水平。企業的財產和物品只有最大地發揮它們的用處才能有效地減少折舊成本,提高經濟效益。尤其是設備比較多的生產性企業,如果采購回來的設備堆放在庫房里不聞不問,借出和歸還也沒有詳細記錄,這樣的無序使用和低水平管理將極大地影響企業的正常運營。因此,對企業設備進行庫存管理是十分必要的。本文的設備管理系統就是為滿足該需求而設計的,它面向的對象是汽車租賃公司,它能夠保證設備(汽車)借出和歸還有序,進而指導企業合理地配置設備,提高設備利用率。該案例的主要執行界面如圖3所示。

2基于抽象模型的教學方法

操作系統部分是軟件技術基礎課程的重點,也是難點。對于非計算機專業本科生而言,學習操作系統的目的,并不是為了開發、編制操作系統,主要是了解操作系統的功能、組成部分、工作原理及體系結構,以便能更合理、有效地使用操作系統。顯然,前面所述的案例驅動的教學方法并不適用非計算機專業本科生學習操作系統。筆者認為基于抽象模型的教學方法是一種通用性好,且行之有效的教學方法。

操作系統結構龐大、模塊眾多,且模塊之間的聯系也很復雜。同時,隨著計算機技術的發展和用戶對計算機使用的要求不斷提高,多道程序設計技術成為操作系統的核心技術之一,目的是提高計算機系統的資源利用率,因而出現了與多道程序有關的概念,如并發性、共享性、虛擬性和不確定性等,由此產生的多道程序并發運行時的同步、互斥和死鎖等問題,是操作系統部分的重點和難點[7]。

操作系統文化中有許多被廣為討論和分析的有趣問題,最經典的四個同步、互斥問題為:生產者-消費者問題、哲學家進餐問題、理發師在空閑中的睡眠問題及讀者—作者問題,深入地分析和理解這些問題,對于全面掌握同步、互斥問題大有益處。限于篇幅,下面僅闡述基于生產者-消費者抽象模型解決同步與互斥問題的方法。

解決進程間的同步和互斥有多種方法,可以用硬件方法,也可以用軟件方法。最普遍的方法是用P-V操作實現。P-V操作實現進程的同步與互斥通常是教學中的重點,也是難點。重點是因為它是多道程序并發運行的一個重要的、不可避免的問題;難點具體表現在:學生不能掌握P-V操作中信號量的物理內涵,因此,當面對具體問題時,對如下問題往往感到不知所措:信號量所代表的具體物理含義是什么;如何確定信號量,即設置幾個信號量;各信號量的初值又是多少等。

生產者—消費者問題可作為并發進程的同步和互斥問題的一個抽象模型。因為,計算機系統中,每個進程都申請使用和釋放各種不同類型的資源,其中把使用某一類資源的進程稱為該類資源的消費者,而把釋放該類資源的進程稱為生產者。

模型描述:

設有n個生產者進程P1,P2,…Pn,m個消費者進程C1,C2, …Cm,它們通過一個容量為L的有界緩沖池聯系。只要緩沖池未滿,生產者就可把產品放入緩沖池;同樣,只要緩沖池不空,消費者就可從緩沖池取走產品消費;另不允許生產者和消費者同時訪問緩沖池,即緩存池對應一種計算機系統的臨界資源。其模型如圖4所示。

解題思路:

生產者-消費者問題既是一個同步問題,又是一個互斥問題。原因如下:

消費者想要取產品消費時,有界緩沖池中至少有一個單元有產品;

生產者想要放入產品時,有界緩沖池中至少有一個單元是空的;

有界緩沖池是臨界資源,生產者和消費者必須互斥地執行。

對應上述分析,設置兩個同步信號量:empty、full,一個互斥信號量mutex,分別表示有界緩沖池是否空、是否滿以及互斥使用有界緩沖池,則由問題的初始狀態可知三個信號量的初值為:empty=L、full=0、 mutex=1。

當面臨實際問題時,基于上述抽象模型,只要對應回答如下問題:哪些(個)進程是生產者,哪些(個)進程是消費者,哪種資源需放入緩存池互斥使用?即可解決信號量的設置及初始值的確定等問題。使學生有章可尋,有方法可依,同時使抽象的P-V操作具體化,取得很好的教學效果。

3與虛擬課堂相結合的教學方法[8]

為了彌補課堂教學的不足(課時少、互動交流少等),我們還建立了軟件技術基礎課程教學網站,并鏈接在電信學院網站上,使學生、教師等有關人員可以遠程訪問該網站。

該網站主要包括:(1)信息公告模塊,主要用來發布提交作業、考試以及實驗等通知。(2)教學資源模塊,教學資源包括教學進度表、教學大綱、課件、相關教學論文、典型應用案例、優秀作業以及優秀實驗報告等,學生可按需瀏覽和下載。(3)你問我答模塊,為教師和學生、以及學生之間提供了一個交互平臺,可以實現質疑、答疑及交流學習方法等。主要網頁如圖5所示。有關課程網站的設計與實現詳見文獻[8]。

4結論

本文總結了筆者多年的教學經驗和研究成果,提出了基于案例驅動的、基于抽象模型的及與虛擬課堂相結合的三種軟件技術基礎教學方法。配合2007年教育部對同濟大學本科教學水平的評估工作,我們分析了“軟件技術基礎”2005~2006學年(2)學期和2007~2008學年(1)學期的期終試卷(非計算機專業本科),如表1所示。其中的一個指標—試卷平均得分能充分說明教學方法改進后所取得的教學效果。今后的工作是繼續探討和實踐其他教學方法,如基于算法執行的方法等,待完善后再續。

參考文獻

[1] 郭秀清. 基于案例組織的軟件技術基礎教學方法研究[J]. 電氣電子教學學報,2006,28(5):23-26.

[2] 楊玉峰,郭秀清. 學生信息管理系統設計與實現[D]. 上海:同濟大學本科畢業設計論文,2006.

[3] 任峰,郭秀清. 哈夫曼編碼與譯碼實現[D]. 上海:同濟大學本科畢業設計論文,2008.

[4] 魏偉,郭秀清. 圖書管理系統設計與實現[D]. 上海:同濟大學本科畢業設計論文,2006.

[5] 錢立虎,郭秀清. 企業設備管理系統設計與實現[D]. 上海:同濟大學本科畢業設計論文,2007.

[6] 莫會宇,郭秀清. 客戶關系管理系統設計與實現[D]. 上海:同濟大學本科畢業設計論文,2007.

[7] 沈被娜等. 計算機軟件技術基礎[M]. 北京:清華大學出版社,2000.

[8] 饒弛,郭秀清. 軟件技術基礎教學網站設計與實現[D]. 上海:同濟大學本科畢業設計論文,2008.

Research on Teaching Methods for Software Technology Foundation

GUO Xiu-qing

(College of Electronics Information Engineering, Tongji University, Shanghai 201804)

Abstract: In according with software technology foundation’s special characteristics and requirement, this paper summers writers’ direct teaching experience for many years, and provides three teaching methods for software technology foundation, they are based on cases-driven, based on abstract model and combining real class teaching with virtual class teaching. The result of teaching practice proves these methods are operative and effective.

Keywords: used cases, cases warehouse, cases-driven, abstract model, virtual class

注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文

主站蜘蛛池模板: 久久人人妻人人爽人人卡片av| 91www在线观看| 国产女人在线观看| 亚洲女同一区二区| 日韩毛片基地| 日韩欧美国产另类| 成人在线观看一区| 久久国产成人精品国产成人亚洲| 成人综合网址| 精品人妻AV区| 亚洲无码视频一区二区三区| 最新国产在线| 日韩不卡免费视频| 国产精品亚洲一区二区三区z| 99久久精品国产麻豆婷婷| 久久99热66这里只有精品一| 午夜精品国产自在| 日本福利视频网站| 亚洲福利视频网址| 伊人91视频| 欧美日韩国产综合视频在线观看| 久久天天躁狠狠躁夜夜躁| 国产天天色| 一区二区三区在线不卡免费| 免费国产无遮挡又黄又爽| 无码乱人伦一区二区亚洲一| 亚洲美女久久| 国产情侣一区二区三区| 久久婷婷六月| 亚洲成人在线免费| 成人av手机在线观看| 在线精品亚洲国产| 日本精品视频| 国产精品30p| 99re在线观看视频| 国产免费自拍视频| 亚洲成人精品| 亚洲无码精品在线播放| 国产精品无码作爱| 国产精品无码在线看| 伊人久久精品无码麻豆精品| 欧美日韩亚洲国产| 日韩无码黄色网站| 韩日免费小视频| 无套av在线| 亚洲久悠悠色悠在线播放| 亚洲成人www| 伊人成人在线| 精久久久久无码区中文字幕| 波多野结衣AV无码久久一区| 91久久青青草原精品国产| 国产精品成人观看视频国产 | 五月天综合网亚洲综合天堂网| 久久精品最新免费国产成人| 国产一在线| 色婷婷电影网| 欧美色香蕉| 一区二区日韩国产精久久| 国产手机在线ΑⅤ片无码观看| 国产成+人+综合+亚洲欧美| 伊人久久婷婷| 国产精品漂亮美女在线观看| 国产欧美日韩精品综合在线| 欧美一级一级做性视频| 国产97视频在线观看| a天堂视频| 国产精品女人呻吟在线观看| 国产91av在线| 精品国产一区91在线| 全部无卡免费的毛片在线看| 青青青草国产| 色综合中文字幕| 欧美天堂久久| 又粗又大又爽又紧免费视频| 国产va免费精品观看| 精品国产免费第一区二区三区日韩| 欧美在线伊人| 热re99久久精品国99热| 久久综合久久鬼| 亚洲成av人无码综合在线观看| 国产乱子伦视频在线播放| 97青草最新免费精品视频|