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

計算機專業學生系統能力培養方法研究

2018-01-05 16:24:57楊興強劉翔鵬
軟件工程 2017年11期
關鍵詞:課程教學

楊興強+劉翔鵬

摘 要:以函數參數為例,本文探討了在一個知識點的教學中所包含的計算機系統能力培養問題。在計算機系統的背景下討論一個知識點的微觀教學過程,分析一個知識點在各種課程中的不同呈現形式的基礎上,論述了課程之間在計算機系統能力培養方面的相互合作關系。提出了在以知識點為單元的教學過程中如何利用不同課程的知識以及它們之間的相互關系來培養學生系統能力的方法,取得了明顯的實際教學效果。

關鍵詞:函數參數;知識點;系統能力;課程教學

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

Abstract:Taking the function parameter as an example,the paper explores computer system-level ability cultivation in the process of curriculum teaching based on knowledge points.The micro-teaching process is discussed under the background of computer systems.On the basis of analyzing the different presentation forms of one knowledge point in various courses,the paper expounds the cooperation relationship in computer system-level ability cultivation among courses,and presents a method to cultivate computer system-level ability by making full use of the knowledge and the interrelationship of different courses,achieving great practical teaching effects.

Keywords:function parameters;knowledge point;computer system-level ability;course teaching

1 引言(Introduction)

計算機系統能力是指在計算機系統的背景下理解計算機知識體系中的概念和方法,并能綜合運用系統中的各個部分,解決實際問題的能力。它強調了系統中各部分之間的關聯性,反映到教學中就是各課程之間的關聯性。然而,目前的計算機專業教學領域中,隨著各門課程自身的發展,課程內的結構和邏輯性日趨合理,而課程之間、課程與系統之間的隔離卻變得越來越嚴重。這導致對學生們的知識體系的完整性和系統能力的培養受到限制。為了彌補傳統課程之間業已形成的隔離,國內外計算機教育專家做了大量的教學研究工作。

20世紀末,美國卡內基-梅隆大學的R.E.Bryant提出了從程序員的角度、從系統的角度來進行計算機專業教學的觀點,并出版了《深入理解計算機系統》[1],在計算機教育領域產生了廣泛的影響。該書通過打破課程之間的界限,試圖對計算機系統進行完整而深入的剖析,已被國內外很多大學作為計算機系統能力培養的教材。2013年,教育部教執委系統研究組王志英等在文獻[2]中介紹了計算機系統能力培養的主要內涵及培養需求,闡述了系統能力培養和課程體系設置的總體思路。2014年,袁春風率先在南京大學和復旦大學開設了“計算機系統基礎”課程,編寫了系統論述和系統實驗相結合的教材[3]。隨后,南京大學提出了四縱三橫的課程體系建設方案,在系統能力培養方面做了深入而系統的工作[4]。清華大學劉衛東等[5]調整課程體系,統一規劃課程內容,并且在實驗教學中將操作系統和計算機組成等課程結合起來,實現了課程間的融合與貫通。在這樣的課程聯合中,學生可以在自己設計完成的CPU上,開發自己的操作系統,并運行自己的應用程序。另外北京大學、國防科技大學、北京航空航天大學在系統能力培養方面都做出了各具特色的探討。

以上研究是基于建立新的課程,或改革現有課程來構建計算機系統知識體系架構,為系統能力培養鋪平道路。他們都是從總體上構建系統教學實例,透過典型實例讓學生了解計算機系統內部的相互關聯。在實際教學過程中,雖然都取得了很好的效果,但也付出了很大的代價,對現有教學體系進行了不小的改動,并且需要更多的課時。本文認為,系統能力體現的不僅是對系統總體框架的把握水平,同時也表現為面對具體問題時的一種思維方式。因此,雖然系統能力涉及整個系統范圍,然而系統能力的培養卻體現在思維的細節。作為對目前教學研究的補充,本文將系統能力的培養放到課程的微觀方面,即在知識點一級的微觀教學過程中來研究如何培養系統能力。

下面將以函數參數為例,探討在一個知識點中所包含的系統能力培養素材以及如何利用這些素材提升學生的計算機系統能力。

2 函數參數教學實例(Teaching example of the

function parameter)

函數是程序的基本結構,參數傳遞是實現函數間調用的基本功能。在計算機專業本科課程中,一般情況下,學生們是在高級語言課程首先接觸這個知識點。本文通過分析這個知識點,發現它所蘊含的計算機系統能力培養的素材和背景,并且以這個知識點為例,闡述提高學生計算機系統能力的教學方法。

以C語言為例,普通的教科書[6]在講解這個知識點時,典型的內容如下:(1)形參的概念;(2)實參的概念;(3)形參與實參之間的關系;(4)演示類似圖1中程序的例子,讓學生獲得函數調用的體驗。

對于單純學習高級程序設計語言的學生來講,以上關于函數參數傳遞的內容就足夠了,完全可以應對一般的程序設計任務。然而,從計算機專業的角度看,僅從高級語言的角度理解函數參數是不夠的。例如,如果不清楚函數參數的傳遞過程,就無法理解緩沖區溢出的攻擊程序,無法設計出好的應用程序接口,也就無法提高參數傳遞的效率。endprint

參數傳遞依賴的是棧,棧是數據結構課程中的概念。如何利用棧來實現參數的傳遞和函數的返回,則是編譯原理課程的內容。圖2顯示了計算機在執行圖1中的程序時,進入子程序foo()后棧的狀態。當把參數按一定的順序逐個壓棧時,必須考慮參數的數據類型及它們在內存的放置。例如c、k和string所占的字節數,要解釋清楚需引入計算機組成和編譯原理中的知識。函數在遞歸調用時,參數被遞歸地壓入棧中,隨著遞歸的深入,棧空間會越來越少。程序員稍不注意,其編寫的程序就會導致棧溢出。棧空間為什么會溢出呢?棧所占用的存儲空間是如何分配的?這些問題涉及了操作系統中地址空間的概念以及內存分配問題。除了參數傳遞所涉及的各課程的這些基本概念之外,稍微深入一點就會延伸到參數個數可變的情況。例如,在C語言中有printf(...)的例子,Java中還有多態性。圖3說明函數參數涉及了多門課程,必須將這些課程的相關知識綜合起來理解,才能培養學生從計算機系統的角度全面把握函數參數這樣的知識點。在各項應用中,能夠從整個計算機系統的范圍內尋找解決方案,這正是目前大學所提倡培養的計算機系統能力。

國內外很多大學的計算機專業教學往往增加一門新課程,以縱向的視角審視計算機系統,打破課程之間的界限,從上而下地講解計算機系統的典型操作。例如,針對函數參數、文件的操作等,可以跨越高級語言、編譯程序、操作系統、計算機組成多門課程,深入闡釋其概念及實現細節。這種打破課程界限,從系統范圍思考問題的教學方法對于培養學生的計算機系統能力是非常重要的。

然而,單獨開設一門課程的方法也存在一些問題:(1)作為一門課程,僅能將一些典型的知識點在系統范圍內展開講授,而系統思維是針對計算機系統的所有方面的。只要計算機系統中的某個對象出現問題,我們一般都需要從系統的角度思考和解決。所以從培養系統能力的角度這樣的課程缺少一定的覆蓋度。(2)這樣的課程涉及現有課程的很多內容,要和現有課程有機融合,需要對目前的教學安排做較大的改動。

本文認為,計算機系統能力的培養不應該僅是一門課的任務,應該貫穿在和計算機系統相關的所有課程中。系統能力,一方面是一個長期、綜合培養的結果,另一方面幾乎在每個知識點上都存在系統能力培養的素材和背景,因此完全可以把系統能力的培養落實到教學的細節。在后面的兩節,我們將分別討論計算機系統觀的建立和計算機系統能力的培養方法,其著眼點都是基于知識點級的微觀教學。

3 計算機系統觀(Computer system-level

perspective )

在CSC2013[7]中非常明確地引入了計算機系統觀的教學思想:計算機科學專業的學生應當學會從細節到抽象的多個層次上去理解及思考問題。這種理解及思考應當超越計算機系統中各種不同部分的實現細節,包括鑒賞計算機系統的結構以及它的構造和分析過程。他們需要識別計算機系統發揮作用的環境,包括與人和物理世界的交互。

本文從兩個方面來詮釋上面關于計算機系統觀的要求:一是以聯系的觀點去觀察計算機系統中對象,這包括了計算機系統中的不同層次之間的關系和同一層次不同部分之間的關系;二是以抽象的觀點去理解計算機系統中的具體實現,從而發現它們中的共性,包括系統結構和實現方法。

可見,計算機系統觀是一種大局觀,但它絕不是空泛的理論和原理,而是面向具體問題的。它體現了學生認識問題的深度和廣度。要建立學生的計算機系統觀,教師和學生承擔的角色也是不同的。教師是不能將觀點強加給學生的,而要將背景和知識展現給學生,讓學生自己去認識和體驗。能否形成計算機系統觀,還要依賴于學生個人能否從教師構建的教學背景中抽象出自己的觀點。

計算機系統觀是獲得計算機系統能力的前提,也就是說我們只有用大的視角去看問題,才能在大的范圍內解決問題。

4 面向知識點的系統能力培養方法(Training of

computer sstem-level ability based on knowledge

points)

當學生要解決計算機系統中的某個問題時,需要分析和該問題相關的所有系統內技術方案,從中找出最優的,并評估該方案給系統帶來的各方面的影響。因此,學生獲得計算機系統能力的前提是從系統的角度了解問題。反映到教學中,就是從各門課程的多個角度,去理解并掌握一個知識點。

假如從某門課程的一個角度去講解一個知識點,稱為該知識點的一個知識片段,那么一個知識點的教學就是由若干個知識片段組成,在每門課程中有一個片段(也可能有若干個)。例如,在匯編語言中都會講到XCHG(intel)指令,用于實現兩個數據的交換。在操作系統課程中swap(XCHG)指令可以實現進程間的互斥。可見,數據交換指令這個知識點包含了兩個片段:一個在匯編語言中,一個在操作系統中。而在實際的計算機系統中,數據交換指令的這兩個功能是不會局限于課程的。傳統的教學中,每門課程僅介紹一個知識點在本課程內的知識片段,課程之間缺少有意識的融合。當然,有經驗的教師和主動性強的學生都會在知識點的一個片段的教學過程中,聯系到其他課程的相關知識片段。知識點—課程關系見表1。

教師現在要做的就是把這種課程之間的聯系以規范的形式固定下來,成為教學過程的一個環節,而不是依賴于個別教師或學生的經驗和主動性。具體做法如下:針對計算機系統中的每個知識點,定義它在各課程中的片段,形成知識點-課程關系表。當某門課的教師在教授一個知識點時,就去知識點-課程關系表中查找該知識點在其他課程中的片段。若學生已經在其他課程中學習了若干片段,那么教師就有責任將該課程的片段與其他課程的片段結合起來進行綜合講解。例如,在操作系統中講到線程切換時,需要保存和回復CPU的現場信息,包括CPU的各類寄存器,此時需要結合計算機組成中已講過的“CPU現場信息”;在操作系統中講到線程調度時,需要結合C語言中使用的win32線程和Java語言中的Java線程的相關知識,如圖4所示。endprint

顯然,建立知識點-課程關系表需要各門課程之間緊密的合作才能完成。

計算機課程的設置是為了適應學校的教學體制,而且機械地分割了計算機系統知識體系。上述知識片段概念的引入體現了各專業課程對知識體系分割的現實。而知識點-課程關系表的建立可以有助于重建課程之間在計算機系統知識領域內的聯系。通過這種聯系,學生可以從計算機系統的角度更全面地理解在課程中所學的知識,為系統觀的建立和獲得系統能力奠定基礎。

與系統觀的建立過程相一致,學生必須進行跨越學科的大量的實踐訓練,才能獲得真正解決問題的能力。

5 結論(Conclusion)

本文概述了為提高計算機系統能力目前各大學所做的教學研究和采取的措施,提出了系統能力的培養前提是建立系統觀,而建立系統觀的方法就是加強各課程知識點之間的聯系,構造學生完整的計算機系統知識體系。將計算機系統能力的培養這樣一個宏觀問題,落實到在微觀教學中,培養學生以聯系的觀點觀察、分析計算機系統中的對象,這樣具體、可行的教學過程是本文研究的核心問題。計算機系統能力的培養不僅僅是建立系統觀的問題,更重要的是如何訓練學生們解決實際問題的能力,這是我們將進一步繼續研究的課題。

參考文獻(References)

[1] R.E.Bryant,D.R.O'Hallaron.Computer Systems:A Programmer's Perspective(Third Edition)[M].Upper Saddle River:Prentice-Hall,2015:2-5.

[2] 王志英,周興社,袁春風,等.計算機專業學生系統能力培養和系統課程體系設置研究[J].計算機教育,2013(9):1-6.

[3] 袁春風.計算機系統基礎[M].北京:機械工業出版社,2014:2-4.

[4] 袁春風.計算機系統核心教學內容之關聯[J].中國計算機學會通訊,2016(9):54-57.

[5] 劉衛東,張悠慧,向勇,等.面向系統能力培養的計算機專業課程體系建設實踐[J].中國大學教學,2014(8):48-52.

[6] 譚浩強.C語言程序設計[M].北京:清華大學出版社,2014:162-165.

[7] Joint Task Force on Computing Curricula,ACM and IEEE, Computer Science Curricula 2013:Curriculum Guidelines for Undergraduate Degree Programs in Computer Science, ACM, 2013:23-26.

作者簡介:

楊興強(1964-),男,博士,教授.研究領域:計算機圖形學,操作系統.

劉翔鵬(1980-),女,碩士,助教.研究領域:軟件開發.endprint

猜你喜歡
課程教學
美學概論課程教學中的“三創”教育
人間(2016年27期)2016-11-11 17:22:29
小學低段語文教學方式初探
人間(2016年28期)2016-11-10 00:11:38
淺析舞蹈表演專業課程教學的探索和創新
節奏訓練在初中音樂課程教學中的應用研究
課堂中如何培養學困生溝通能力
人間(2016年26期)2016-11-03 18:58:17
小學數學教學應注重培養學生的應用意識
人間(2016年26期)2016-11-03 17:23:08
淺談微課在PHOTOSHOP課程教學中的實踐
會計專業課程教學國際化的探索性研究
商業會計(2016年13期)2016-10-20 16:17:44
高職物流專業“物流費用結算實務”課程開發研究
中國市場(2016年36期)2016-10-19 04:54:40
高職院校醫學檢驗技術專業提高課程教學質量的探討
科技視界(2016年21期)2016-10-17 18:59:36
主站蜘蛛池模板: 亚洲伊人久久精品影院| 亚洲一区波多野结衣二区三区| 欧美午夜小视频| 国模沟沟一区二区三区| 久久99久久无码毛片一区二区 | 亚洲成人手机在线| 亚洲福利视频网址| 五月天在线网站| 国产91丝袜在线播放动漫| 国产91线观看| 日本高清成本人视频一区| 久久这里只有精品66| www精品久久| 国产人妖视频一区在线观看| 欧美在线视频a| 在线一级毛片| 亚洲精品动漫在线观看| 1级黄色毛片| 亚洲视频在线观看免费视频| 国产在线拍偷自揄观看视频网站| 狠狠综合久久久久综| 四虎综合网| 国产亚洲欧美在线人成aaaa| 一级毛片网| 日韩在线播放中文字幕| 直接黄91麻豆网站| 国产女人18水真多毛片18精品| 亚洲Av激情网五月天| 精品久久久久久中文字幕女| 欧美日韩在线国产| 国产在线无码av完整版在线观看| 久久久久人妻一区精品| 亚洲综合精品香蕉久久网| 亚洲免费福利视频| 免费Aⅴ片在线观看蜜芽Tⅴ | 波多野结衣一二三| 国产视频久久久久| 呦系列视频一区二区三区| 亚洲第一视频网站| 欧美高清日韩| 亚洲第一页在线观看| 99久久精品无码专区免费| 久久精品国产999大香线焦| 国产青青操| 成人噜噜噜视频在线观看| 18黑白丝水手服自慰喷水网站| 免费久久一级欧美特大黄| 不卡国产视频第一页| 国产成人亚洲欧美激情| 在线观看国产网址你懂的| 在线精品欧美日韩| 四虎精品黑人视频| 视频二区欧美| 在线看片中文字幕| 性视频久久| 国产日韩丝袜一二三区| 一级爆乳无码av| 中文无码毛片又爽又刺激| 亚洲第七页| 成人第一页| 亚洲精品无码久久久久苍井空| 小蝌蚪亚洲精品国产| 夜色爽爽影院18禁妓女影院| 日韩精品免费在线视频| 亚洲第一黄片大全| 日本国产精品一区久久久| 蝴蝶伊人久久中文娱乐网| 狠狠色婷婷丁香综合久久韩国| 久久精品一卡日本电影| 亚洲视频一区| 国产免费怡红院视频| 男人天堂亚洲天堂| 国产精品成人免费视频99| 朝桐光一区二区| 亚洲中文字幕久久无码精品A| 国产69精品久久久久妇女| 欧美精品v| 91九色最新地址| …亚洲 欧洲 另类 春色| 亚洲成av人无码综合在线观看| 国产亚洲高清视频| 国产美女精品在线|