基本信息
- 項目名稱:
- 多功能自增長式ACM綜合訓練系統(tǒng)
- 小類:
- 信息技術
- 大類:
- 科技發(fā)明制作B類
- 簡介:
- “多功能自生長式ACM綜合訓練系統(tǒng)”,通過自生長和交互兩種方式,將網(wǎng)絡中搜集到的ACM相關代碼和用戶提交到各在線評判系統(tǒng)(Online Judge System)上的代碼,整合成共享代碼庫,為網(wǎng)絡社區(qū)中的其他用戶進行訓練提供參考。
- 詳細介紹:
- ACM國際大學生程序設計競賽是風靡我國高校的一項重大賽事。然而,雖然近年來ACM競賽無論是在影響力,還是在規(guī)模上有了長足的發(fā)展,但是其資源共享建設上卻遠遠沒有跟上。筆者發(fā)現(xiàn),國內(nèi)外ACM競賽(含信息學競賽)方面的網(wǎng)站資源比較少,尤其是作為ACM隊員日常訓練必不可缺少的代碼庫資源共享方面,更是鳳毛麟角。日前在國內(nèi),建設水平相對較好的有OIBH,以及Nocow,但是這兩個網(wǎng)站主要是針對中學生信息競賽而設置,其內(nèi)容和知識結構并不適合于以高校學生為主的各類大學生程序設計競賽。除此之外,與ACM競賽相關的網(wǎng)絡資源,就是一些零零散散的各ACM競賽者的博客。 基于上述原因,筆者希望能夠設計開發(fā)一個“多功能自生長式ACM綜合訓練系統(tǒng)”,通過自生長和交互兩種方式,將網(wǎng)絡中搜集到的ACM相關代碼和用戶提交到各在線評判系統(tǒng)上的代碼,整合成共享代碼庫,為網(wǎng)絡社區(qū)中的其他用戶進行訓練提供參考。經(jīng)過一段時間的積累后,代碼庫中將會收集到相當可觀的共享代碼資源,這對于各類信息學和ACM等以各種算法難題為考點的競賽,將歷年試題的正確編碼集中在一個共享網(wǎng)絡社區(qū)中供選手們參考,其具有的價值是非??捎^的?!岸喙δ茏陨L式ACM綜合訓練系統(tǒng)”的設計將為解決ACM參賽隊員日常訓練中普遍感到的參考資源缺少的問題提供了一個非常好的方法。 除此之外,“多功能自生長式ACM綜合訓練系統(tǒng)”的另一個重要功能是能夠為軟件開發(fā)企業(yè)挑選合適的專業(yè)技術人才提供一個客觀的、標準的參考數(shù)據(jù)庫。需要挑選軟件開發(fā)人才的企業(yè),能夠非常方便地通過本系統(tǒng)的代碼庫查詢到某個用戶所提交過的代碼量,以及通過查看題目的難易程度來判斷該用戶的算法水平,這將為企業(yè)挑選合適的人才提供了一個客觀的參考標準。 本系統(tǒng)采用PHP技術,并運行了先進的MVC模式進行實現(xiàn),采取了地址重寫(Rewrite)技術,大量地使用AJAX進行交互。同時,還實現(xiàn)了利用網(wǎng)絡爬蟲技術實時、動態(tài)地搜集站外ACM相關資源,以實現(xiàn)不但充實本站共享資料。
作品專業(yè)信息
設計、發(fā)明的目的和基本思路、創(chuàng)新點、技術關鍵和主要技術指標
- “多功能自生長式ACM綜合訓練系統(tǒng)”,通過自生長和交互兩種方式,將網(wǎng)絡中搜集到的ACM相關代碼和用戶提交到各在線評判系統(tǒng)上的代碼,整合成共享代碼庫,為網(wǎng)絡社區(qū)中的其他用戶進行訓練提供參考。經(jīng)過一段時間的積累后,代碼庫中將會收集到相當可觀的共享代碼資源,這對于各類信息學和ACM等以各種算法難題為考點的競賽,將歷年試題的正確編碼集中在一個共享網(wǎng)絡社區(qū)中供選手們參考,其具有的價值是非常可觀的?!岸喙δ茏陨L式ACM綜合訓練系統(tǒng)”的設計將為解決ACM參賽隊員日常訓練中普遍感到的參考資源缺少的問題提供了一個非常好的方法。 除此之外,“多功能自生長式ACM綜合訓練系統(tǒng)”的另一個重要功能是能夠為軟件開發(fā)企業(yè)挑選合適的專業(yè)技術人才提供一個客觀的、標準的參考數(shù)據(jù)庫。需要挑選軟件開發(fā)人才的企業(yè),能夠非常方便地通過本系統(tǒng)的代碼庫查詢到某個用戶所提交過的代碼量,以及通過查看題目的難易程度來判斷該用戶的算法水平,這將為企業(yè)挑選合適的人才提供了一個客觀的參考標準。 本系統(tǒng)采用PHP技術,并運行了先進的MVC模式進行實現(xiàn),采取了地址重寫(Rewrite)技術,大量地使用AJAX進行交互。同時,還實現(xiàn)了利用網(wǎng)絡爬蟲技術實時、動態(tài)地搜集站外ACM相關資源,以實現(xiàn)不但充實本站共享資料。
科學性、先進性
- “多功能自生長式ACM綜合訓練系統(tǒng)”采用了目前先進的,易于管理、擴展的MVC開發(fā)模式,并使用PHP進行開發(fā)實現(xiàn)。 MVC模式即“模型-視圖-控制器(Model View Conntroller)”模式。MVC有著低耦合性、高重用性和可適用性,以及較低的生命周期成本和快速的部署,有利于軟件工程化管理。而采用Java或者Asp.Net進行MVC模式開發(fā),其開發(fā)周期長,復雜度高。對于“多功能自生長式ACM綜合訓練系統(tǒng)”來說,采用輕量級的PHP語言以及優(yōu)秀的MVC模式是一種比較好的選擇。 “多功能自生長式ACM綜合訓練系統(tǒng)”還采用了一般網(wǎng)站比較罕見的地址重寫技術。利用地址重寫技術,不但能夠有效地保護系統(tǒng)中共享代碼庫的安全,還能夠防止對代碼庫的未經(jīng)授權的使用,同時,也保證了訓練系統(tǒng)的可靠性和安全性。
獲獎情況及鑒定結果
- “多功能自生長式ACM綜合訓練系統(tǒng)”經(jīng)過寧波工程學院“挑戰(zhàn)杯”初賽、復賽和決賽三次評審,得到評審專家組一致好評與推薦。 2011年3月與寧波凌翔網(wǎng)絡科技有限公司簽訂“員工培訓及考核”服務合同,為該公司提供在職員工的業(yè)務考核和水平測試服務。 “多功能自生長式ACM綜合訓練系統(tǒng)”可通過鏈接進行訪問和操作。
作品所處階段
- 測試使用階段
技術轉讓方式
- 無
作品可展示的形式
- 圖片、在線訪問。
使用說明,技術特點和優(yōu)勢,適應范圍,推廣前景的技術性說明,市場分析,經(jīng)濟效益預測
- 本作品的采用了目前先進的PHP+MVC開發(fā)模式,采用地址重寫等技術實現(xiàn)網(wǎng)絡系統(tǒng)的偽靜態(tài),使本系統(tǒng)輕便、便于管理和維護。同時,創(chuàng)新性地結合了用戶自主提交代碼、題解和爬蟲動態(tài)搜集代碼功能,實現(xiàn)了共享代碼庫的自生長特性。本系統(tǒng)不僅僅能夠為ACM參賽隊員提供訓練服務和交流,也為相關企業(yè)提供選拔合適人才提供了一個客觀的參考數(shù)據(jù)庫。 適用人群:參加OI(全國中小學生信息學奧林匹克競賽)、ACM(全國大學生程序設計大賽)等各類程序設計大賽的學生群體;對程序設計有興趣的廣大愛好者;各類軟件開發(fā)、設計企業(yè)等。 當“多功能自生長式ACM綜合訓練系統(tǒng)”注冊帳號達到一定數(shù)量時,將與相關企業(yè)進行接洽,通過為其提供廣告、人才分析數(shù)據(jù)報表、指定條件人才檢索等收費業(yè)務實現(xiàn)盈利。
同類課題研究水平概述
- 近年來,MVC的開發(fā)模式開始興起,PHP的MVC模式是一種先進的網(wǎng)站開發(fā)模式,集合了JAVA的MVC功能的強大和ASP的輕量級的優(yōu)秀于一體。在PHP的MVC模式方面,我國的水平也不亞于國外,擁有一些自主知識產(chǎn)權的MVC框架。本作品即是基于先進的國內(nèi)ThinkPHP框架來實現(xiàn)。ThinkPHP框架的采用,有力地保證了“多功能自生長式ACM綜合訓練系統(tǒng)”的可靠性和易操作性。 在設計開發(fā)本作品時,針對各Online Judge的解題源代碼庫作為競賽訓練參考的網(wǎng)站幾乎沒有,只有參賽隊員或愛好者們以個人博客形式發(fā)布的一些代碼片斷或心得。一個比較好的代碼庫就是,但是這個網(wǎng)站比較龐大,而且采用的是Wiki的形式,分類不明確,不利于參賽者進行針對性訓練和系統(tǒng)化學習,更缺少必要的學習記錄。杭州電子科技大學也擁有一個代碼庫,但是該庫僅能用于杭電校內(nèi)的Online Judge用戶,沒有杭電學生學號的校外用戶是無法使用。而采用PHP的MVC模式開發(fā),面向互聯(lián)網(wǎng)所有競賽愛好者的小巧輕便、功能清晰的“多功能自生長式ACM綜合訓練系統(tǒng)”目前尚未發(fā)現(xiàn)有其它相同或相似產(chǎn)品。 本系統(tǒng)擁有的題解系統(tǒng),可以在發(fā)表代碼的同時發(fā)布題解。CSDN等全國知名的程序員社區(qū),其有代碼下載和交流兩套平臺,在代碼下載平臺能夠將代碼下載到本機,但下載前無法在線瀏覽,而且沒有本系統(tǒng)這樣的索引結構;而交流平臺是發(fā)布心得、文章的一個平臺,其中雖然可以嵌入代碼,但其本身與下載平臺中提供的代碼下載之間是沒有關聯(lián)的,這種下載、交流分離結構并不便于學習和知識積累。國內(nèi)其它的類似平臺還有PUDN、Fayaa等也是與CSDN類似的。本系統(tǒng)則產(chǎn)用了代碼平臺和交流平臺相結合的設計方式,這樣使用戶在學習中能夠下載,下載中能夠查閱作者題解,從而在兩者之間產(chǎn)生了關聯(lián),便于用戶在看代碼的同時閱讀解題思路,但是又不像其它系統(tǒng)的交流平臺將代碼嵌入文章中,而是相對地獨立開來,在閱讀這兩塊的時候沒混亂的感覺。