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

開源技術
——大學計算機專業的一門重要課程

2019-12-05 00:23:42寧,曾
計算機教育 2019年3期
關鍵詞:課程學生

李 寧,曾 錚

(北京信息科技大學 計算機學院,北京 100101)

1 為什么開源技術應作為大學計算機專業的一門課程

目前,世界上開源社區已有一百多萬個,開源項目有數十萬個,開源代碼已超過一億行。隨著開源軟件的迅速發展,開源軟件與我國軟件產業的融合日益加深。開源模式因其開放共享、社區協同、持續演化的特點,使得開源軟件種類豐富、質量穩定,成為我國構筑安全可控軟件體系的重要支撐,同時也成為信息技術創新發展的動力源泉。發展開源軟件因此成為我國信息產業發展的重要戰略舉措之一。《“十三五”國家戰略性新興產業發展規劃》提出要大力發展基礎軟件和高端信息技術服務,面向重點行業需求建立安全可靠的基礎軟件產品體系,支持開源社區發展。《“十三五”國家信息化規劃》和《國家信息化發展戰略綱要》都提出要支持開源社區創新發展,鼓勵企業、科研機構、社會組織和個人積極加入國際重大核心技術的開源組織。

盡管有國家政策和產業需求的推動,開源軟件在我國仍然遇到很多問題。人們對開源軟件存在種種誤解,如開源軟件意味著免費和安全、開源軟件經過修改就可以成為自主可控的國產軟件、集成開源軟件的產品可以作為商業產品來銷售等。不久前,在Chrome內核上開發的紅芯“自主可控瀏覽器”飽受社會質疑就是一個典型的案例。此外,長期以來,我國對開源軟件界的貢獻較少,但用得很多,與國際接軌的主流開源社區也寥寥無幾。據統計,我們有37%的企業通過修改開源軟件開發自己的產品,但有84.8%的企業從未打算將產品開源;有43.5%的技術人員不具備開發開源軟件的能力,有32%的人不知如何參與開源項目[1]。這些現象說明,一些行業主管、技術開發人員乃至普通用戶尚未樹立起正確的開源意識,急需開展開源人才的教育培養。

在計算機相關專業中提倡開設開源技術課程,主要有以下幾點理由。

1)社會需要。

目前,我國軟件產業仍處于方興未艾的發展階段,無論在產業規模還是技術水平方面都與先進國家存在相當大的差距。充分利用好開源資源是實現我國軟件產業跨越式發展的重要途徑。開源軟件凝聚了數十年世界范圍內大量開發者的成果,充分地學習、研究以及合理地利用這一資源寶庫,無疑對技術創新和加速提高我國軟件業的水平都具有重要作用。

2)產業公平競爭的需要。

20年前國外高校的計算機專業已經普遍使用開源軟件進行教學和實踐,很少使用商業軟件,而當前在我國高校還在普遍使用商業軟件[2],這樣必然導致學生就業之后仍然熱衷使用在校學過的或用過的商業軟件,對于未來軟件市場的公平競爭十分不利。應在大學教育階段,提倡學生使用開源軟件,以減少商業軟件的影響,打破壟斷,為振興民族軟件產業創造條件。

3)IT從業人員素質的需要。

今天,社會上一些人批評我們的大學培養了很多“精致的利己主義者”,其實不止大學,很多研究機構和企業也不能做到與社會共同分享研究成果。在很多科研項目結束之后,成果被束之高閣,浪費了大量的科研經費,對產業的貢獻十分有限。我們需要從大學開始培養未來IT從業者樂于奉獻的精神和開闊的胸襟。

4)人才培養的需要。

據統計,今天80%新出現的軟件產品含有開源代碼,98%的全球化企業在使用開源軟件,開源軟件的大規模應用,導致開源人才的匱乏。據《2018開源職業調查報告》,83%的企業急于招聘開源人才(2017年為76%),87%的企業難以招到足夠的開源人才[3]。大學畢業生是開源最重要的有生力量,我們需要及早預見這種趨勢,做好人才儲備。

5)開源的體系是軟件開發技術課程不可或缺的內容。

眾所周知,解決“復雜工程問題”能力是工程教育本科專業的本質要求,也是我國高等院校本科工程專業達成工程教育認證要求的重點和難點。開源軟件從理念到方法已經形成了成熟的體系,為培養學生解決“復雜工程問題”的能力提供了良好的條件。目前,凡是可以“從頭發明輪子”解決的問題已經不能算“復雜工程問題”了,開源軟件可以幫助學生在前人的成果上準確定位問題,尋找有效工具,獲得技術幫助以及評價實驗結果。

綜上,無論從上述哪個角度看,開源技術都應該作為大學計算機專業的一門重要課程。

2 開源技術課程的教學目標和內容

目前,開源教育普遍關注的是如何將開源軟件和開源社區的資源應用于教學和實踐環節[4-6]。筆者認為這是遠遠不夠的。文獻[1]認為開源人才的教育要注重開源文化的教育、開源意識教育和開源技能教育,這是很有見地的觀點。

北京信息科技大學自2007年開始設置“開源軟件開發技術”課程,該課程為計算機類專業任選課。經過10年的改進完善,該課程受到各年級學生的好評,積累了一定的經驗,筆者愿意在此與讀者分享,以期拋磚引玉。

“開源軟件開發技術”課程的目標定位是通過這門課程的學習,使學生了解開源軟件的理念、授權協議和開發方法,了解開源項目的特點,掌握開源軟件生命周期要素,了解開源軟件開發過程管理模型、系統分析與設計的原則和方法;善于吸取開源軟件成功的經驗和失敗的教訓,學會利用開源資源從事科學研究。從畢業要求的角度出發,學生應具備達到以下幾方面能力:能夠開發、選擇與使用恰當的開源技術、資源和工具,用于解決復雜軟件工程問題,并能夠理解其局限性;具備開源文化下的人文社會科學素養和社會責任感;具備組織與參與實際開源項目的能力,具有所需的溝通交流的基本技巧與能力,良好的口頭與書面表達能力,有效表達自己思想與意愿的能力、傾聽與理解他人需求和意愿的能力,適應工作與人際環境變化的能力。

1)課程理論部分的主要內容和基本要求。

(1)引論,包括開源軟件與自由軟件的概念,開放源代碼許可證的類型與含義,開源軟件的發展。通過本章的學習,學生應掌握開源軟件的定義,GPL和BSD等重要許可證的內涵,理解開源軟件的意義、優勢和局限性,了解重要的開源軟件發展過程。

(2)開源開發的動力,包括開源開發人員的年齡、職業和收入情況,開源開發者的地區分布和貢獻大小,開源開發的動機及其產生的影響。通過這部分的學習,學生應了解開源成功的內在因素。

(3)開源開發的模式,包括“大教堂模式”和“市集模式”的區別,開發團隊的組織和協作方式,開源項目管理方法,開源軟件開發、測試、維護和發布過程。通過這部分的學習,學生應了解開源開發的特點,開源社區的作用,以及傳統軟件開發方法與開源軟件開發方法的相互借鑒和影響。

(4)開源軟件的編碼規則,包括開源開發中用到的命名規則、編程風格、常用語言、工具和平臺,文檔編制規范,開源開發的注意事項。通過這部分的學習,學生應掌握開源開發的基本要領。

(5)開源開發的商業推動,包括商業公司參與開源的動機、策略、方法、現狀與前景。通過這部分的學習,學生應理解開源陣營與商業公司從對立、對抗到合作共贏的原因,了解開源的盈利模式。

(6)重要的開源資源,包括重要的開源產品、社區和托管網站,重要的開源活動,開源的現狀與發展趨勢。通過這部分的學習,學生應了解開源的熱點項目,學會如何發現和利用開源資源,并做好參與開源開發的準備。

2)課程實踐部分的主要內容和基本要求。

(1)分析一個典型的開源軟件及其開發過程,撰寫分析報告。通過這部分的學習,學生應學會如何了解和評價一個開源項目,掌握文檔和代碼的閱讀能力。

(2)設計、構建一個開源軟件項目解決實際問題,包括項目計劃、網站建設、資源庫設計、配置管理、編程開發和文檔編制等。通過這部分的學習,學生應初步具備通過開源實踐解決復雜工程問題的能力。

“開源軟件開發技術”課程理論聯系實際,受到學生的普遍歡迎。課程中筆者融入了實際的開源開發經驗,例如,2007—2015年筆者與北航等高校在Source Forge上完成了一個大型的開源項目——UOF/OOXML文檔格式轉換器,被微軟評價為世界上最好的格式轉換器之一,類似成果被用在教學內容里。筆者還邀請了一些熱衷開源的學生擔任課程的助教。這門課各年度教學效果評價均為優秀,選課人數逐年增多,95%左右的學生認為課程很有收獲。以下是部分學生對課程的反饋,“在學習本課程之前,雖然也聽說過開源軟件,也在使用多款開源軟件,但我對開源軟件的了解也僅限于開放源代碼和免費。我學習本課程的最大收獲便是對開源軟件有了比較系統全面的認識,也讓我開始重新審視開源軟件”“這門課為我對就業的認識加深了一個層次。了解了開源的一些好處后,在以后的職業生涯中我也會參加一些開源程序的開發”“課程豐富了我的知識,增長了我的見識,尤為重要的是介紹給我開源的思想。開源思想對技術、知識的交流傳播起到重要的作用。”“開源軟件是一個新的名詞,在讀大學之前我對它從來都沒有接觸過,我覺得對于一個軟件工程的學生來說,選修這門課程是非常有必要的。希望能夠在將來更深入地學習編程,真正進入到開源的陣營中去,為開源的發展增添一份力量”。

由于精簡課時的原因,這門課課時很短,共16學時,其中講課10學時,實踐6學時。以往這門課主要以講授為主,學生在反饋中提出:希望課上有更多的機會讓他們深入實際的開源項目。筆者正在對課程進行改革:今后將通過問題引導的方式讓學生主動調研、學習關于開源的知識,以團隊形式匯報和講評;加大實踐的比重,以解決復雜工程問題作為目標,利用GitHub平臺讓學生完整地體驗一個實際的開源項目。這樣也會出現新的挑戰:如何在很有限的時間內組織團隊,完成一個適合的課題?這需要在實踐中不斷探索經驗。但無論如何,筆者相信新的授課方式將會帶來更好的教學效果。

3 對開源教育和課程教學的建議

1)加強頂層設計。

將開源技術納入計算機專業(特別是軟件工程專業)的教學體系。應通過教指委等主管機構明確開源技術課程在整個人才培養體系中的地位和作用,為課程大綱的設計給出指導性意見。

2)在高校中充分利用開源教育資源。

首先,應該在教學過程和管理平臺中優先使用開源軟件。其次,在計算機專業的核心課程中充分結合開源軟件,如操作系統課程采用Linux、Android,數據庫課程采用MySQL、PostgreSQL,并行計算課程采用Hadoop,云計算課程采用OpenStack,機器學習課程采用TensorFlow,軟件開發課程采用Eclipse、Tomcat等。此外,如用 OpenOf fi ce/LibreOf fi ce 替代 Microsoft Of fi ce、用Firefox替代IE。再者,還要用好開源實踐教學平臺。國際上優秀的開源項目管理平臺,如GitHub、Google Code、Source Forge等,都提供了項目/團隊管理、代碼審查、缺陷跟蹤、文檔編制等便利環境,國外許多課程直接在這些平臺上開設[7],值得我們借鑒。

3)篩選適合學生的開源軟件和開源項目。

目前,在一些大型的托管網站上,開源項目的數量有上千萬之多,然而這些項目大多并不適合教學使用。文獻[6]顯示,這個問題也是影響開源教育的主要障礙之一。教師應篩選一批具有生命力的、代碼規模和開發難度適當的項目進入課堂。在教育網中提供相應的資源鏡像(國內訪問GitHub曾一度被防火墻攔截),為學生鋪設通向開源軟件和開源社區的無障礙通路。此外,我們應該鼓勵學生參與開源社區的各項競賽和活動,鼓勵他們成為開源活動的積極分子。

4)在軟硬件采購、教學資源建設和專業評估中為開源教育開綠燈。

開源軟件并不意味著免費,很多開源軟件需要比商業軟件付出更多的維護代價,有時還需要付費購買軟件授權許可和咨詢服務。一些機構在審批采購申請的時候,因審核人員對此不理解,輕易地將這些預算核減掉,導致無法在關鍵業務中使用開源軟件,這對開源軟件的發展也是不利的。另外,還需要大力建設開源教育的課程資源,當前專門的開源技術教材還比較少。按照開源的理念,開源的研究資料一般也是開源的,這意味著這方面的教材不一定會按紙質圖書出版發行,我們是否能夠接受這樣的教材作為教研成果?再者,目前大學的各項考核評估都與開源無關,一些教學大綱中甚至規定學生要熟悉某些商業軟件,教學技能考核則要考察教師是否能夠熟練運用某些商業軟件開展教學活動,而且,實驗室中也充斥著大量的盜版商業軟件,這些狀況都應該盡快得到改變。

4 結語

從1983年 Richard Stallman創建GNU項目至今,開源軟件已經走過了35個春秋,并且依然生命力旺盛,逐漸成為今天軟件產業的主流,這在信息技術的發展史上是少有的。開源軟件一方面為我們積累了大量的計算資源,另一方面給我們提供了大量的開發經驗,這些都是開源軟件留給我們的寶貴財富。然而,在我們的大學計算機教育中尚未給予開源軟件充分的重視:開源軟件內容未明確列入計算機專業教育的教學大綱之中;幾乎沒有這方面的課程介紹開源的歷史、開源的概念、開源的開發方法,以及幫助學生們分析開源成敗的原因和經驗;高校中也未能充分利用開源軟件作為教育資源,這是非常遺憾的。在大學開設開源技術課程既切合國家信息化建設對開源的迫切需要,也順應軟件產業對人才培養的要求,符合高等教育發展的規律。筆者將開設開源技術課程的點滴經驗與想法與讀者分享,相信開源教育一定能在IT教育工作者的共同努力下結出碩果。

猜你喜歡
課程學生
《無機化學》課程教學改革
云南化工(2021年6期)2021-12-21 07:31:42
快把我哥帶走
數字圖像處理課程混合式教學改革與探索
軟件設計與開發實踐課程探索與實踐
計算機教育(2020年5期)2020-07-24 08:53:38
為什么要學習HAA課程?
《李學生》定檔8月28日
電影(2018年9期)2018-11-14 06:57:21
趕不走的學生
學生寫話
學生寫的話
“學而時習之”的課程值得贊賞
教育與職業(2014年1期)2014-04-17 14:28:07
主站蜘蛛池模板: 国产日韩精品欧美一区喷| 欧美性久久久久| 欧美不卡视频在线观看| 5388国产亚洲欧美在线观看| 精品一区二区三区自慰喷水| 亚洲精品无码不卡在线播放| 欧美在线导航| 欧美日韩成人| 高清色本在线www| 18禁影院亚洲专区| 亚洲视频a| 亚洲啪啪网| 国产一线在线| 华人在线亚洲欧美精品| 538国产视频| av免费在线观看美女叉开腿| 国产真实乱了在线播放| 亚洲色婷婷一区二区| 亚洲国产成人久久77| 亚洲天堂免费在线视频| 亚洲午夜国产片在线观看| 亚洲AV无码乱码在线观看代蜜桃 | 色婷婷综合在线| 婷婷综合亚洲| 精品超清无码视频在线观看| 国产白浆视频| 天天综合天天综合| 亚洲欧美成人综合| 国产精品欧美在线观看| 伊人AV天堂| 亚洲 成人国产| 国产精品jizz在线观看软件| 精品三级在线| 人妻出轨无码中文一区二区| 亚洲免费毛片| 日韩第一页在线| 日韩国产亚洲一区二区在线观看| 亚洲无码高清一区二区| 中文字幕日韩丝袜一区| 欧洲在线免费视频| www.国产福利| 日韩天堂视频| 国产夜色视频| 精品自窥自偷在线看| 欧美www在线观看| 日韩成人高清无码| 99热这里只有成人精品国产| 日韩大乳视频中文字幕| 日韩欧美国产综合| 国产自在线拍| 亚洲精品在线观看91| 成人福利在线看| 青青青视频91在线 | 91免费片| 六月婷婷精品视频在线观看| 亚洲国产精品VA在线看黑人| 国产精品所毛片视频| 国产精品极品美女自在线看免费一区二区| 99热免费在线| 欧美亚洲国产一区| 亚洲乱码在线播放| 人妻无码中文字幕一区二区三区| 国内丰满少妇猛烈精品播| 国产美女自慰在线观看| 91麻豆精品国产91久久久久| 91青青在线视频| 久久青青草原亚洲av无码| AV不卡国产在线观看| 人妻免费无码不卡视频| 国产精品分类视频分类一区| 国产欧美日韩在线在线不卡视频| 精品国产免费观看| 全裸无码专区| 精品黑人一区二区三区| 青青久在线视频免费观看| 亚洲中久无码永久在线观看软件| 亚洲精品欧美日韩在线| 老熟妇喷水一区二区三区| 4虎影视国产在线观看精品| 日本国产在线| 国产乱子伦手机在线| 欧美日韩高清|