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

基于逆向的系統觀培養探討

2015-06-13 14:44:55韓宏
中國大學教學 2015年4期

摘? 要:在計算機技術飛速發展而工程教育水平亟待提高的背景下,培養學生可持續發展的工程技術核心競爭力成為一個重要課題。本文首先提出了以系統觀為關鍵核心競爭力的培養理念,然后給出了兩種不同培養方式——正向構建式和逆向析構式,最后提出系統觀原核,并以此為基礎給出了基于逆向的培養方法相關內容與經驗。相對于構建系統級軟件,該方法是輕量級的,對一般院校實施具有可操作性。

關鍵詞:系統觀;正向構建式;逆向析構式;疑證思維;系統觀原核;實證式教學

計算機領域技術發展極為迅速,給工程能力培養提出了嚴峻挑戰。我們一方面面臨不斷開設新課程的壓力,另一方面卻長期承受來自業界的批評。企業實訓不能解決根本問題,這根源于企業的生產特性本質上使其難以提供有深度、綜合性、可持續、系統化的訓練,且更難大規模實施。以電子科技大學為例,一個年級的學生有四五百人,這是任何一個真正的生產型企業都難以承受的。多個企業分擔卻難以保證培養的一致性。而培訓型機構并不能提供真正的生產環境。事實上,對員工有較高自主能力要求的企業并不愿意接受培訓式提供的學員[1]。

本文就這一問題提出了系統觀培養核心競爭力的解決思路,并分析了兩種培養方式,特別就逆向析構式方式進行了探討,最后給出了其實踐過程中的相關經驗。

一、計算機系統觀是可持續發展核心競爭力

文本框: 韓  宏,電子科技大學計算機科學與工程學院副教授。面對不斷變化的軟件技術,似乎只有不斷追新才能跟得上。而每種技術又必須通過撰寫大量代碼來了解、熟悉和掌握,可這又消耗了學生已經有限的學習時間。以電子科技大學為例,其計算機科學與技術專業2年級基本一學期接近十門課程,3年級一學期有十幾門課程。如一門軟件課程需要撰寫3000~4000行代碼,時間壓力可想而知。

筆者認為相對追新面臨的壓力,培養核心競爭力才是治本之道。筆者曾給出例子,一些長期只從事系統級軟件開發的“老”程序員卻在新軟件技術掌握的速度和深度上遠超越那些精力投入追新的“年輕”程序員[1]。其根源就是系統能力,筆者稱其為“系統觀”[2]

越來越多的研究者認識到系統能力的重要性,并進行了深入研究和系統性教學建設,如北京航空航天大學、浙江大學、清華大學、東南大學、國防科技大學等[3]。最近,東南大學的同仁也指出了“系統觀”培養的重要性,他們從計算機制造者、系統程序員、應用程序員和系統管理員的角度分析了“系統觀”的價值[4]

系統觀的內涵筆者尚未見非常正式的定義,有文獻稱其為“對計算機的深刻理解”[4]。下面筆者嘗試從另外一個角度給出系統觀的定義并分析為什么它是學生工程能力提升的可持續發展核心引擎。

筆者認為:計算機系統觀是計算機核心知識架構和對它們不斷運用所形成的思維方式的復合體,不可割裂。單純的通用思維訓練和僅僅攝取知識信息均無法形成系統觀。它是能自我生長,自我完善和成長的原核。在攝取新技術和面臨黑箱時,它具有極強的剖析、探索和學習能力。這賦予了高端計算機人才最重要的素質。

核心知識架構涵蓋計算機領域最本質部分的規律,筆者認為應包括:計算機組成原理、系統結構、操作系統、編譯和鏈接、算法、數據庫原理和實現。

為什么系統觀在學習技術和解決難題方面具有“以少勝多”和“一勞長逸”的特點呢?下面筆者試從系統觀的三個功能分析。

(1)類比。因為系統觀包含了核心知識架構,其涵蓋的計算機領域本質規律在所有計算機應用領域均可借鑒和舉一反三。應用領域的技術多是在老技術上不斷包裝、組合和抽象。一位云計算公司的CTO告訴筆者,他要解決存儲或并發的問題時,習慣找20世紀六七十年代最早的算法文章(因為它將根本性問題描述得非常清楚),在此基礎上就很容易適配到現在的問題中。筆者一位朋友很多年前做漢化DOS,后來他第一次做單片機破解,只花了一個月就將其破解并漢化。他明確指出DOS漢化經驗起了很大幫助。筆者第一次面對Linux驅動的C語言編程問題時,運用面向對象的經驗,花數分鐘即解決了學生因回調語義錯誤引起的bug。因為基于接口編程思想在整個軟件甚至硬件領域都是一致的,在面向對象是虛函數,在內核是回調函數。這三個例子均運用系統觀中存在的基本模式和知識去類比解決第一次面臨的難題,體現了系統觀“少即多、舊即新、基礎即先進、不變應萬變”的特點。

(2)構建。系統觀思維具有構建式的特點。形象地說就是“我來做怎么做”這樣的思維方式,在學習新系統或技術時能首先從構建的角度分析,從而對關鍵點產生疑問。帶著疑問學習,效率就高。筆者一次尋找hibernate操控同結構多數據庫的方案時,從構建角度分析如果自己做怎么做出擴展性,假想出了可能的擴展點,然后帶著這些假設用調試去檢驗,雖第一次接觸hibernate,用了半天就解決了。筆者曾用“我來做怎么做”的思維模式訓練研究生,有學生反映這是其研究生期間學到的最有價值的東西。

(3)簡化。面臨復雜未知時,同時面臨太多未知點,人們必然無所適從,難以下手。如果能迅速化繁為簡,主動“忽略”過濾掉暫時無關大局的細節,那么就能尋找到癥結,從而快速擊破解決難題。系統觀的底層特點使其具有底層視角,再加上其反復淬煉出解析能力,使其能夠完成這一簡化和忽略的任務。能體現簡化和忽略特性的最直接例子即逆向工程。面對高級語言源代碼往往人們要找到下手點都無所適從,何況面對的是反匯編代碼?要完成任務必須快速找到關鍵點,一擊而破。在高層應用領域分析理解面向對象框架也是如此,往往從關鍵的虛函數入手,通過調試找到其調用關系,并最終找到可能的裝配邏輯。

綜上所述,因系統觀涵蓋計算機本質規律的掌握和運用,并具有類比、構建和簡化功能,所以有很強的自我學習、擴展、探索和長效性特點。這使得學生培養了系統觀后,可在其職業生涯中一直發揮核心競爭力的作用。而其覆蓋本質規律的簡約性,又使得其培養開銷相對經濟,性價比高。下圖給出了系統觀的概念結構。

文本框: 類比文本框: 構建文本框: 簡化文本框: 操作系統文本框: 編譯鏈接文本框: 數據庫原理和實現文本框: 組成原理和系統結構

計算機系統觀概念結構圖

二、如何培養計算機系統觀

依據系統觀的功能特性可形成兩種系統觀培養方法:(1)對應其構建和類比功能特性是正向構建式方法;(2)對應其簡化分析特性是逆向析構式方法。

(1)正向構建式方法。該方法的核心就是“構建”,并非構建簡單的應用軟件,而是構建系統級軟件。即撰寫操作系統、編譯器、鏈接器和數據庫(非數據庫應用軟件)。北京航空航天大學、清華大學、浙江大學均采用該方法。以清華大學為例,他們從MIPS指令設計開始,利用FPGA自制CPU,并在該CPU上實現操作系統、編譯器。該方案最大優勢是自底向上完全打通軟硬件,形成最完整和堅實的系統觀。其限制在于時間和個體能力。即使在“985工程”高校中,也只能是優秀學生才能完成。尋找階梯化方法普適到一般學生應該是這一方案最終成功的關鍵。馬里蘭大學操作系統的模塊化做法可以借鑒[5],但也有其問題。

該方案的變種是:CPU并不做到可實現操作系統的程度,相對簡單可行,而利用x86實現操作系統。其好處是難度低、耗時少,且所形成的知識集合和將來面臨的工作更貼近,能利用的資源也多。電子科技大學的構建式培養系統觀采用的是該方案。

(2)逆向析構式方法。該方法最大的特點是將逆向工程的剖析的特點融入整個培養中??突っ仿〈髮W的教材《深入理解計算機系統》的前三章是這一方法的最典型代表[6]。即從反匯編的角度,建立高層語言和底層匯編、機器碼與機器的映射。復旦大學在2003年引入這門課,但因其涵蓋的內容太廣泛,其實施難度依然很大。東南大學正在組織力量就“計算機系統基礎”這門課程撰寫更加適中的教材[4]

筆者在2012年出版的教材《老“碼”識途》實施了不同理念[2]。往下采用機器碼開始析構,到C語言反匯編、C++反匯編、對象模型、鏈接、面向對象設計、框架。整個用逆向反匯編分析為貫穿始終的線索,覆蓋了從操作系統、編譯鏈接、面向對象設計等領域,并采用實證式教學理念[7],以每個知識點可“玩”為驅動,形成了輕量級、易學以致用的系統觀培養模式。

相對于構建式,逆向析構式雖無構建式全面和系統,但通過逆向貫穿、銜接,也自底向上形成了一套實用可行的培養方法。其知識點相對較小,不會像撰寫系統一樣需花費很長且整塊的時間。學生便于安排和實踐。其知識點的前后依賴性沒有撰寫整個系統那樣強耦合,利于模塊化學習。

三、基于逆向析構式的輕量級培養

1.系統觀原核

教學內容方面,筆者雖采用自底向上方式,但未涵蓋程序員所有視角,這與文獻[6]不同。一方面因為文獻[6]的內容對多數學生依然是重量級,難以有效實施;另一方面因為筆者發現只要建立一個很小的“系統觀原核”,它就能幫助學生不斷攝取新知識,自動完善系統觀。原核至少由計算機形象思維與疑證思維組成。

(1)計算機形象思維。有句話生動地描述其重要性:“真正的黑客(原始意義上技術的狂熱探索者),在他腦袋里每一個字節是怎么流動的他都清楚”。另外,以下現象也反應了形象思維的重要性:描述算法時我們喜歡用圖,在描述程序結構時用UML圖,數據庫用E-R圖,描述設計意圖采用形象的設計模式名稱來暗喻。

形象思維需要直觀,計算機形象思維需要計算機領域的直觀感建立。在計算機領域分層是一個顯著特征,越高層的特征越抽象,比如面向對象就比結構化抽象。既然要建立直觀,那么就應該盡量減少抽象,所以將目標定在了軟件和硬件結合部位。筆者選取了程序員視角,從高級語言到匯編映射開始,并逐漸將這種映射(逆向反匯編)貫穿軟件開發的幾個典型部分。從C映射到匯編,從匯編映射到機器碼,并讓學生用機器碼構建程序。從此開始,該方式將在不同階段重復,最終建立起最形象的程序世界觀。

筆者選取軟件開發的典型相關部分包括:C語言到匯編映射,C++對象模型和映射,面向對象編程的底層機制支撐,動態鏈接和靜態鏈接的底層機制,框架構建和底層機制的運用,線程運用中的底層機制。它們輻射到多門系統級課,如:操作系統、編譯鏈接、計算機組成原理等。

(2)疑證思維。整個教學階段,每一個知識點的獲取幾乎都遵循猜測和實證的方式。讓學生自己猜測可能的答案,然后自主設計實驗驗證。不追求知識的系統性,在意的是所有知識點均能實證,可以“玩”。筆者稱其為實證式教學[7]。該方式建立了系統觀自我完善的思維引擎。

為了激發學生興趣,體現底層和系統思維的運用價值,逆向反匯編底調試不僅有專門的案例展示實際意義,它更完全滲透到每一部分的教學內容。

筆者發現認真錘煉C語言到匯編映射后,不少學生可較好自學面向對象部分。對比發現,上過與未上該課的學生,在未涉足領域研學表現出很大差異。未上該課的優秀學生,在老師幫助下也無法完成用戶級線程庫;上過該課的學生卻能較輕松完成。這說明系統觀原核可自完善與發展。

2.教學經驗

(1)實證式教學。在實驗室上課,實驗和課程融合??刹迦爰磁d實驗。課堂實驗需有補充題目,完成簡單實驗可做補充題目。引導學生自主設計實驗驗證知識點。一個班人數控制在30~50之間,否則效果難以保證。

(2)考核機制。完全以實踐為導向,平時占主要部分,期末考試為上機考試。如果不能保證平時環節的質量,結果難以保證。筆者采用了以下方法:對逆向分析類型題目要抽問。如組隊,成績按排名越后越低,抽問靠后者,如果答不上,小組分數受罰。對程序題,先布置課后作業,指出之后課堂考試從其中變化,允許考試攜帶作業。另外考試時盡量采用自動批改,為此,也開發了逆向底層作業自動生成和批改系統。題目必須分級,不能只有開放性的大題目,小題目很重要??己舜箢}目,而小題目作為自我練習不計分。

(3)效果。大量同學反映對本來枯燥的課程非常有興趣,筆者曾經在課程半期后不點名到課率達90%以上。有意思的是,從沒有人問學了何用。許多學生反饋對他們幫助很大,其中一個學生說法反映了系統觀的價值:“以前出了問題就找高人,現在敢坐下來自己做,且真的解決了?!?/p>

綜上所述,基于逆向析構式系統培養方法,選取了輕量級的原核建立方式,配合實證式教學和合理的考核方式,取得了較好的效果,能夠在更多學生中推廣。

參考文獻:

[1] 韓宏,周世杰. 計算機工程能力教育的思考[J]. 實驗科學與技術,2011(5).

[2] 韓宏,李林. 老“碼”識途——從機器碼到框架的系統觀逆向修煉之路[M]. 北京:電子工業出版社,2012.

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

[4] 袁春風,王帥. 大學計算機專業教育應重視“系統觀”培養[J]. 中國大學教學,2013(12).

[5] 黃廷輝. 計算機操作系統實踐教程[M]. 北京:清華大學出版社,2007.

[6] 布賴恩特等. 深入理解計算機系統[M]. 北京:中國電力出版社,2004.

[7] 韓宏. 一種面向計算機教育的實證式教學[J]. 實驗科學與技術,2013(6).

[責任編輯:余大品]

(上接第31頁)師生59名赴德國、瑞典進行了為期兩周的境外專業拓展與實踐研修,開拓了學生國際視野,加深了學生對工程師素養的認識與理解。

五、結束語

通過三年來的試點改革,“卓越計劃”試點班的各項教學管理工作順利推進,學生學習風氣良好,在學科競賽、開放實驗、大學生科技創新等方面逐步表現出理論基礎扎實,工程實踐能力突出的特點。在下一步的工作中,學校將繼續完善管理機制,為“卓越計劃”試點的順利實施提供人員、場地、經費和政策保障;逐步開展工程教育專業認證工作,并進一步推進卓越試點專業國際化,提升卓越工程人才培養的質量與水平。學校還將及時總結試點專業成功經驗,積極穩妥推進和帶動學校其他工科專業開展卓越試點工作,擴大工程教育改革受益面。

[資助項目:北京市哲學社會科學規劃重點項目“面向卓越工程人才培養的首都高校管理協同創新機制研究”(13JYA001);北京高等教育教學改革聯合項目“首都地方院校實施卓越工程師教育培養計劃的研究與實踐”(2013-lh20)]

[責任編輯:夏魯惠]

主站蜘蛛池模板: 无码精品福利一区二区三区| 久久久久亚洲精品成人网 | 久草热视频在线| YW尤物AV无码国产在线观看| 国产最爽的乱婬视频国语对白| 精品黑人一区二区三区| 亚洲美女高潮久久久久久久| yjizz视频最新网站在线| 亚洲欧美在线综合一区二区三区| 亚洲三级成人| 在线中文字幕网| www.99在线观看| 国产精品福利导航| 国产精品永久免费嫩草研究院| 亚洲无码日韩一区| 夜精品a一区二区三区| 91精品国产麻豆国产自产在线| 亚洲黄色高清| 国产日产欧美精品| 欧美午夜网| 一级毛片在线播放免费观看| 在线视频亚洲色图| 伊人久久大香线蕉影院| 在线免费亚洲无码视频| 国产色婷婷视频在线观看| 波多野一区| 久久久亚洲色| 欧美在线视频不卡| 国产真实乱了在线播放| 国产高潮流白浆视频| 日本午夜视频在线观看| 欧美另类精品一区二区三区| 国产精品专区第一页在线观看| 国产精品美乳| 99热这里只有精品免费国产| 一本视频精品中文字幕| 久久黄色一级视频| 天堂av综合网| 91无码人妻精品一区二区蜜桃| 日本黄色不卡视频| 亚洲欧美一区二区三区麻豆| www.精品国产| 高潮毛片免费观看| 在线精品视频成人网| 国产一区二区三区精品久久呦| 激情综合网址| 亚洲大学生视频在线播放| 免费国产高清精品一区在线| 中日韩一区二区三区中文免费视频| 国产a网站| 亚洲高清无码久久久| 久久综合九色综合97婷婷| 亚洲最大福利网站| 熟女成人国产精品视频| 精品综合久久久久久97超人该| 亚洲第一精品福利| 91极品美女高潮叫床在线观看| 日韩精品无码免费专网站| av尤物免费在线观看| 自拍偷拍一区| 色亚洲成人| 黄色免费在线网址| 国产午夜人做人免费视频中文| 99re视频在线| 不卡色老大久久综合网| 成年人久久黄色网站| 亚洲天堂日韩在线| 国产新AV天堂| 国产区免费| 亚洲日本www| www精品久久| 国产一级一级毛片永久| 国产日本欧美亚洲精品视| 国产大片喷水在线在线视频 | 99在线观看免费视频| 91精品国产情侣高潮露脸| 青青青视频免费一区二区| 国产美女视频黄a视频全免费网站| 国产美女久久久久不卡| 色爽网免费视频| 91视频日本| 日韩大片免费观看视频播放|