大學計算機學科評估范文

時間:2023-09-20 16:58:49

導語:如何才能寫好一篇大學計算機學科評估,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。

大學計算機學科評估

篇1

目前,學院設有計算機科學與技術一級學科博士點和博士后流動站,擁有計算機應用國家重點學科、計算機軟件與理論國家重點(培育)學科和浙江大學CAD&CG國家重點實驗室。截至2008年4月底,計算機學院現有教職工225名,其中中國工程院院士2人、“長江學者計劃”特聘教授2人、浙江省特級專家1人、國家杰出青年獲得者3人。學院在校生規模1854人,其中本科生為782人,碩士研究生653人,博士研究生419人,另還有軟件學院本科生774人,第二學士學位30人,軟件工程碩士研究生861人。計算機學院以及軟件學院在校生的總規模已達全校的9%以上。

從20世紀90年代中期以來,浙江大學計算機系(學院)進入了快速發展的軌道。在科學研究上,注重基礎理論研究、高技術研究和關系到國計民生的重大科技攻關,在人工智能與應用、計算機圖形學、計算機輔助設計與集成制造等主要研究領域基礎上,進一步凝煉學科方向,大力發展網絡與多媒體、產品創新設計、數據庫、嵌入式系統、網絡分布計算等具有特色的新型學科方向。科研經費大幅度增長,2006、2007連續兩年學院科研經費突破1億,名列全校前列。2004年潘云鶴院士負責的“面向區域經濟發展的高技術產品開發系統”成果獲國家科技進步二等獎;2007年,陳純教授負責的“紡織品數碼噴印系統及其應用”成果獲國家技術發明二等獎。

在人才培養上,學院目前設有計算機科學與技術、工業設計、數字媒體技術專業,軟件學院還設有軟件工程專業。目前,學院(包括軟件學院)已獲得國家精品課程4門,國家雙語示范課程1門,國家第二類特色專業4項,國家第一類特色專業2項,國家人才培養模式創新實驗區1項,另外還獲得大學生創新性實驗11項。學院學生注重工程創新實踐能力培養,近年來學生在各類國際重要競賽中頻頻獲獎。學院培養的學生以其扎實的專業基礎、良好的動手能力,在就業市場中廣受好評。每年都為Intel、Microsoft、IBM、Google、Autodesk、Nokia、State Street、華為、百度、網易、騰訊、網新等國內外著名IT企業提供一大批優秀畢業生,涌現了許多耀眼的“新星”,如浙江省十大“創業之星”、“手機備備”的發明人方毅,北京奧運會“祥云火炬”的核心設計師章俊,被美國商業周刊稱為TopCoder程序設計競賽“大贏家”并據此要重新評估中國軟件工業水平的吳嘉之等。

篇2

美國麻省大學(University of Massachusetts Amherst)阿默斯特校區(以下簡稱麻省大學)是馬薩諸塞州立大學系統五個校園中的主校園,是美國知名的研究型大學。該校創辦于1863年,坐落在美國東部美麗的新英格蘭地區。

麻省大學計算機系成立于1964年,其研究生教育也有超過40年的發展歷史。由最初的3名教授發展到現在擁有43名教授,其中包括9名ACM計算機學會(Association for Computing Machinery)院士(Fellow)、4名電子和電氣工程師協會(IEEE)院士、5名人工智能學會(AAAI)院士和2名美國科學促進協會(AAAS)院士。麻省大學計算機系在人工智能、網絡與分布式系統、計算理論等多個領域的研究處于世界領先水平。作為美國知名的計算機系,麻省大學計算機系的教育理念是“培養下一代能以創新的方法解決真實世界問題的計算機科學家”(cs.umass.edu/grads/msphd-requirements)。在這個核心思想的指導下,該系非常注重對博士研究生的培養,為了達到培養學生具備進行原創性科學研究(Original Research)的能力的教育宗旨,該系制定了一套非常嚴格的課程計劃,以培養學生堅實而廣博的基礎知識、良好的科學研究方法和思維習慣。麻省大學計算機系每年大約會收到1000份左右來自世界各國的優秀學生的申請,攻讀其博士學位,而錄取的人數一般保持在30名左右。完善和嚴格的博士研究生培養體系、開放而先進的教育理念,使麻省大學計算機系成為全美最具有競爭力的計算機院系之一。

麻省大學計算機系招收兩種形式的博士研究生:碩士/博士連讀研究生和直博研究生。只有在美國其他大學獲得相應計算機碩士學位,并修完麻省大學計算機系認可的相關課程的學生,才有資格申請直接攻讀博士學位;否則,學生在錄取后必須經過碩士/博士的連續培養才能獲得博士學位。

無論哪種形式,麻省大學計算機系博士生培養大體分為兩個階段:博士生資格學習階段和博士生研究階段。博士生資格學習階段主要是對學生進行基礎知識培養和基本研究能力訓練。學生只有在通過博士資格考試論證,成為正式博士候選(PhD Candidate)人后,才能進入下一步的博士論文研究階段學習。以下是麻省大學計算機系對碩士/博士研究生的培養要求:

(1)Actively participate in research under the guidance of an advisor(在導師的指導下,積極參與研究)

(2)Satisfy 6 Core Requirements (完成6門核心課程的要求)

(3)Complete 42 course credits (core courses taken to satisfy core requirements are included)(完成42個課程學分,其中包括核心課程的學分)

(4)Complete a 6-credit MS Project (完成6個學分的碩士研究項目)

(5)Graduate with an M.S. Degree(申請獲得碩士學位)

(6)Pass the Department Qualifying Exam- Portfolio(通過博士資格考試)

(7)Form a Committee(成立答辯委員會)

(8)Propose a Thesis(提交博士開題報告)

(9)Complete 18 Dissertation Credits (完成18個學分博士論文)

(10)Pass the Teaching Assistant Requirement(完成助教的工作要求)

(11)Pass the Residency Requirement (at least 9 credits in back-to-back semesters) (完成連續兩個學期修9個學分的要求)

(12)Defend and Submit a Thesis (博士答辯和提交博士論文)

本文將以麻省大學計算機系為例,探討美國計算機專業博士研究生培養的一個重要環節――博士研究生課程教育體系的特點,以期為提高我國的計算機專業博士生教育提供借鑒。

2掌握牢固的理論知識是培養優秀博士生的基礎

美國的計算機博士教育非常注重對學生基礎理論知識的培養,為了使學生掌握牢固而廣博的基礎知識,麻省大學計算機系要求每個碩士/博士研究生必須修完6門博士核心課程,而且成績必須達到B+以上。這些核心課程分別屬于計算機科學的三大領域:理論(Theory)、系統(Systems)和人工智能(Artificial Intelligence),課程設置具體如下:

(1) 理論核心課:計算理論(Computation Theory)、高級算法(Advanced Algorithms)

(2) 系統核心課:有三組課程,分別是:

編譯技術(Compiler Techniques)、現代計算機體系結構(Modern Computer Architecture)

數據庫設計和實現(Database Design and Implementation)、高級計算機網絡(Advanced Computer Networking)、操作系統(Operating Systems)

高級軟件工程I(Advanced Software Engineering: Synthesis and Development)、高級軟件工程II(Advanced Software Engineering: Analysis and Evaluation)、程序設計語言(Programming Languages)

(3) 人工智能核心課程:高級人工智能(Artificial Intelligence)、機器人學(Robotics)、信息檢索(Information Retrieval)、不確定環境下的推理(Reasoning and Acting under Uncertainty)、增強型學習(Reinforcement Learning)、機器學習(Machine Learning: Pattern Classification)

根據不同的研究方向,學生可以在六門核心課程的選擇上有所不同,但為了加強理論基礎和掌握知識的廣度,無論哪個研究方向的學生,都必須修完兩門理論核心課程和一門高級人工智能課程,同時,再根據自己的研究方向選修其他三門核心課程。例如,一個系統方向的博士研究生除了修完以上兩門理論和一門人工智能課程以外,還必須修完來自于系統方向不同組的三門系統方向的課程;而一個人工智能方向的博士生則必須修完另外兩門人工智能方向的核心課程和一門系統方向的核心課程。

每門核心課程由教師講授一學期,其中每星期2次課,每次2小時,3個學分。根據內容不同,每門課程一般要安排5~8次書面作業、1次期中考試和1次期末考試。其中,對系統方向的課程來說,每個章節完成后一般還有一次課程項目設計(Course Project),主要要求學生實現相應的算法和進行性能評價。由于核心課程要求高,課程學習內容多,導師和系里會建議學生每學期選學不超過一門的核心課程,所有6門核心課程則在三年內完成。如果成績沒有達到B+,麻省大學計算機系允許學生重修該核心課;但是,如果學生在規定的博士資格考試申請時間前沒有通過全部的6門核心課,則不再具備繼續攻讀博士的資格。

嚴格的核心課程作業、考試制度和淘汰制度,不但使學生牢固掌握了計算機科學各領域的基礎知識,培養了學生勤奮刻苦的專研精神,而且極大地豐富了學生的視野,為學生進入實際科學研究打下了堅實的基礎。

3靈活而完善的博士生選修課程體系是培養創新型人才的重要途徑

美國一流研究型大學博士生教育的目標是培養世界一流的科學家和拔尖創新型人才,為了實現這個目標,美國的博士生教育除了注重培養學生扎實和精深的基礎知識外,還非常注重培養學生的創新思維和發現新問題的探索精神及能力。

如果核心課程體系的設置是培養優秀博士生的基礎,是向學生傳授學科領域的重要基本知識和原理與技術,是學生全面掌握計算機基本理論與方法的重要途徑,那么,選修課的設置則是對學科基本知識的補充,是培養學生學習新的知識和了解并探索前沿研究方向,從而成為創新型人才的重要手段。

麻省大學計算機系的做法是,在博士研究階段,除了要求學生完成18個學分(6門)的核心課程學習以外,還要求完成24個學分(8門)的非核心課程(或稱為選修課)學習。這些選修課大多是關于本學科及相關專業前沿領域近3~5年的新研究方向、研究方法或新技術的相關內容的介紹,一般由教師在每學期開學前提出新的課程計劃,學生則根據自己的研究興趣和職業目標自由選課。通過課程的學習,學生能在最短的時間內了解本學科相關領域的最新研究現狀,更重要的是,在課程的學習過程中,教授會將許多新出現的問題在課堂上和學生討論,同時,通過2~3個課程項目培養學生獨立(或合作)解決新問題的能力,以及教會學生各種探索問題的研究方法。

在教學模式上,可以采用由教授主講的傳統方式,也可以采用以討論為主的方式。以教授為主講的教學模式在此就不再贅述,以下著重描述以討論為主的選修課教學模式。

以討論為主的Seminar是美國計算機院系的教授最常用的選修課教學模式。Seminar的課程設置沒有固定模式,但通常有以下幾方面的特點。

第一,課程的選題一般是近年新出現的有代表性的前沿研究課題。

第二,課程內容的選擇一般來自近年來該領域頂級國際會議的專題論文。

第三,課程內容的組織由教師完成。教師在確定題目后,一般會根據論文的情況將討論的內容分為多個子專題,每個子問題由3~4篇論文組成。課程的開始一般是綜述性的論文或在該領域出現的最早的學術論文,其目的是探討該研究方向出現的新的應用背景需求和所帶來的新的挑戰。其后的每個子專題則將對具體問題和方法進行深入探討。

第四,選課的學生人數一般在20~30人左右,而且通常是由學完了核心課程以后的高年級博士生組成。學生人數太少,論文的覆蓋面可能太小;學生太多,可能導致討論的深度不夠。同時,只有學完了基本理論后,學生才有可能具備較深入分析問題的能力。在Seminar的學習討論中,找到新的研究問題也是該課程設置的重要目的之一。

第五,課堂教學的模式基本上是教師和學生互動的教學方式。教師在第一節課引導學生對該領域的基本問題有了初步認識后,學生將對每篇論文進行評估(Review)、宣講(Presentation)和進行課堂討論。每篇論文的宣講時間是25~30分鐘,課堂討論時間是10~15分鐘。其中教師將引導學生對論文中所研究的問題和關鍵技術進行深入討論,學生參與討論的情況將作為課程考核的重要依據。

選擇合適的題目并對教學討論的內容(論文)進行篩選和組織對開課教師的要求非常高。為了準備一門新的Seminar課,教師一般需要預先通讀該研究方向所有重要國際會議的相關論文,然后根據不同的研究問題對論文分類,并將其中有代表性的論文提煉出來,作為課程學習的論文。在課程項目的設置上,教師會事先準備一些題目,如對某些算法的實現、評估和改進,實現原形系統等,同時也非常鼓勵學生在論文討論的過程中有針對性地提出自己的見解和新的解決問題的方法。

4合理的課程學習安排是培養高質量博士生的有效保證

美國的博士教育是以博士生的最終質量為評判標準,而不是以年限來規定學生的畢業時間。在美國計算機專業,培養一個碩士/博士生一般需要至少5年時間。由于強調博士生專業知識學習的深度和廣度,在整個博士學習階段,博士生都會積極參與課程的學習,并盡可能地將研究項目中的問題和課程學習聯系起來,用所學到的方法或思路來解決新問題。

以麻省大學計算機系為例,雖然學生的背景不同,但為了在保證質量的前提下幫助學生用最短的時間順利完成博士課程要求和博士論文要求,系里建議學生按如表1所示的時間表安排整個博士階段的學習計劃。

麻省大學計算機系不但在本系有完善的研究生課程體系,學生可以根據自己的研究興趣和職業規劃來自由選課,而且也鼓勵學生在其他相關院系選修本系沒有開設但對研究有用的課,如數學系或電子工程系的高級課程。總之,美國博士教育的一個重要特點是強調基礎知識的學習,鼓勵學生以積極的態度參與到課程的學習中,同時訓練學生在課程學習的過程中逐步學會發現問題和研究問題的方法。

5啟示和建議

美國的博士教育強調堅實的基礎理論知識、完善的知識體系和用于探索與創新的研究能力,而這些恰恰是決定博士畢業生日后發展潛力的關鍵。長期以來,我國計算機博士教育主要是通過參與科研項目的形式來對學生進行培養,這種“研究項目驅動型教育”在我國恢復研究生教育的初期起到了很好的推動作用,培養了大批科研人才。但隨著教育本質的回歸和創新型人才培養的需要,從總體來看,我國的這種單純強調研究項目的教育模式培養的博士生,質量與國際先進水平相比還有一定的差距。由于沒有嚴格的博士課程要求和淘汰制度,學生在學習階段往往會忽略對基礎知識的學習和對知識結構的完善。長此以往,必然會影響博士生的研究水平和發展潛力,最終將會影響國家的整體創新能力。

筆者建議,為了使學生掌握牢固的專業基礎知識,同時培養學生在某一學科領域的研究興趣和基本的研究能力,應該首先強調核心課程體系的建設,不論哪個方向的學生都必須通過一定數量的核心課程的學習,如算法、分布式操作系統、人工智能等,這些核心課程應由教師來講授;同時,應嚴格課程的考核制度和課程評價體系。對于選修課,由于其主要目的是擴展學生的視野,培養學生分析問題和研究問題的能力,所以應借鑒國內外Seminar課程的成功經驗,積極有效地激勵教師和學生共同上好Seminar課。

博士生教育是一項復雜而艱巨的系統工程,而其中的課程學習是研究生培養中非常重要的一個環節,如何通過嚴格的培養機制和靈活的培養方法,在給學生傳授基礎知識的同時培養學生分析問題和解決問題的能力;如何將合理的研究生課程體系和研究項目結合起來,嚴格博士生培養機制,完善博士生資格評估體系,從制度上保障博士研究生的質量;以及如何真正教會學生探索科學基本問題的方法,培養學生良好的科研習慣和勇于開拓創新的精神等,是我們在計算機學科建設中應該進一步思考的問題。

篇3

關鍵詞:計算思維;表述體系;計算;層次結構;教育;思維習慣

一、問題的提出

2006年3月,周以真(Jeannette M. Wing)教授在國際著名計算機雜志Communications of the ACM上發表了《計算思維》一文[1],并用3種技能定義了“計算思維”,該定義被國際學術界廣泛采用。然而人們仍然在問,計算思維是什么?計算思維的核心是什么?計算思維的組成元素是什么?計算思維會因學科的不同而不同嗎[2]?

顯然,要給出計算思維的一個內涵式的定義是困難的,周以真教授為此給出了一個外延式的定義,并請大家盡可能地補充。周以真教授希望人們不要將精力放在計算思維的定義上,而更多的是將精力放在計算思維的運用上,通過計算思維在各自學科領域創造性地進行科學發現與技術創新。周以真是成功的,她聯合美國國家科學基金會的各個學科部門,推動了美國兩個重大的國家科學基金研究計劃CDI和CPATH,促進了美國以計算思維引領的各學科的發展。在她退出美國國家基金會后不久,她又得到了微軟公司的邀請,擔任了微軟負責研發的副總裁職務。毫無疑問,周以真教授的建議是正確的,通過計算思維,可以在多學科的行動中,進行根本的、范式變化的研究與發現。

一般來說,一個好的研究“主題”在開始的時候,可以先用外延式的方式盡可能拓展開來,隨著研究的深入,人們希望建立一個框架,讓更多的人更容易理解這個“主題”,持續地發揮這個“主題”的作用,進一步拓展它的應用范圍。教育部高等學校大學計算機課程教學指導委員會遵循這樣的基本原則,鼓勵學校、教師先實踐[3-7]。在已有的大量實踐基礎上,教指委認為,目前很有必要盡快給出計算思維表述體系的一個基本框架,進一步推動這項改革。本文作者受教指委的委托,對此展開了研究工作。

二、計算思維教育的目的

在構建計算思維的表述體系之前,人們希望先明確計算思維的教育目的之所在。本文認為,計算思維教育的目的是培養一種思維習慣,一種像計算機科學家思考問題那樣的習慣。

在研究層面,對于一個問題的解決,著名計算機科學家、1998年圖靈獎獲得者詹姆士?格雷(James Gray)的思路(習慣)是這樣的:

(1)首先,對問題進行非常簡單的陳述,即要說明解決一個什么樣的問題。他認為,一個能夠清楚表述的問題,能夠得到周圍人的支持。雖然不清楚具體該怎么做,但對問題解決之后能夠帶來的益處非常清楚。

(2)其次,解決問題的方案和所取得的進步要有可測試性。

(3)最后,是整個研究和解決問題的過程能夠被劃分為一些小的步驟,這樣的話就可以看到中間每一個取得進步的過程。

在技術層面,美國華盛頓大學教授、美國國家研究立法委員會計算機文化協會主席史耐德(Snyder Lawrence)教授在其撰寫的《新編信息技術導論:技能、概念和能力》一書中指出,人們可以從抽象的角度來思考信息技術。他寫道,當你成為數字文人之后,你可以從抽象的角度來思考技術,而且更喜歡(習慣)提以下問題:

(1)對于這個軟件,我必須學會用哪些功能,才能幫助我完成任務?

(2)該軟件的設計者希望我知道些什么?

(3)該軟件的設計者希望我做些什么?

(4)該軟件向我展示了哪些隱喻?

(5)為完成指定任務,該軟件還需要其他哪些信息?

(6)我是否在其他軟件中見到過這個軟件中的操作?

在專業層面,對于一個專業的計算問題,筆者認為:從計算的手段來看,我們應當使計算機械化(如算盤、手搖計算機、模擬計算機、電子數字計算機);從計算的過程來看,我們應當使計算形式化(如圖靈機、計算理論);從計算的執行來看,我們應當使計算自動化(如馮?諾依曼機)。

在計算思維的研究中,教育部高等學校大學計算機課程教學指導委員會主任委員李廉教授認為,在傳統的教學中,計算思維是隱藏在能力培養內容中的,要靠學生“悟”出來,現在要把這些明白地講出來,讓學生自覺地去學習,提高培養質量,縮短培養的時間。從軟件開發的角度,他提出了抽象與綁定的研究思路,大致是,抽象是構建和理解復雜系統的工具,規范是現實世界到虛擬世界的抽象;而綁定是虛擬世界到現實世界的重現,所有的軟件開發,無非都是抽象與綁定的結果。

美國計算機科學技術教師協會則認為,計算思維的教育應存在于每一所學校的每一堂課程的教學中。他們認為衡量是否采用了計算思維,取決于對于一個要解決的問題,教師能否有意識(習慣)地提出以下問題[8]:

(1)人與計算機的計算能力有多大,各自的局限性是什么?

(2)研究的問題復雜性有多大?

(3)問題解決的判定條件是什么?

(4)什么樣的技術可以應用于當前的問題討論中?

(5)什么樣的計算策略更能有效地解決當前的問題?

以上是計算機科學家以及計算機教師協會關于問題解決的思維習慣。隨著研究的深入,人們不僅需要總的一般性的認識,人們還希望建立在某種合理框架上的認識,以便系統地、有步驟地、鮮明地培養這種習慣,最終全面提高人們的計算思維能力。

三、計算思維表述體系的框架

計算思維表述體系的框架,涉及計算思維的組成元素以及這些組成元素之間的相互關系。在美國CPATH計劃的支持下,經過幾年的努力,已取得一些成果。如在CPATH計劃的支持下,美國德保羅大學(DePaul University)的教授們就在ACM前主席Denning“偉大的計算原理”概念分類的基礎上構建了一個教學框架,把通識教育中的核心技能――邏輯推理、寫作和倫理聯系了起來[9]。Denning設想,在向各學科介紹計算原理時要力爭做到通俗易懂,通過大眾化的解讀來建立一種超越學科范疇的計算共識,由此構建不同學科之間的全新關系。他表示,計算原理可以被歸為7個類別,每個類別都從一個獨特的視角去看待計算本身。根據Denning的觀點,7個偉大的計算原理分別是:計算、通信、協作、記憶、自動化、評估和設計[10]。

1.基于“偉大的計算原理”計算思維表述體系框架

Denning的7項“偉大原理”奠定了一個基礎,這個基礎可以幫助人們認識和組織計算思維的實例,并將它們進行有效的分類。同時,這個基礎也可以認為是一個框架,這個框架可以幫助人們將計算思維運用到計算機科學以外的領域。在基于“偉大的計算原理”研究中,我們認為,“抽象”也是一個偉大的計算原理,應納入框架之中。另外,Denning劃分的概念之間沒有層次和邏輯關系,還需進一步完善。下表給出基于“偉大的計算原理”構建的計算思維表述體系框架。

2.計算思維表述體系中的基本概念

在周以真的文章中,計算思維指的是一種能力,這種能力通過熟練地掌握計算機科學的基礎概念而得到提高。周以真將這些基礎概念用外延的形式給出:約簡、嵌入、轉化、仿真、遞歸、并行、抽象、分解、建模、預防、保護、恢復、冗余、容錯、糾錯、啟發式推理、規劃、學習、調度等。周以真希望人們對這些基礎概念繼續補充,本文認為,這些基礎概念至少還應該包括CC1991 給出的12個核心概念:綁定、大問題的復雜性、概念模型和形式模型、一致性和完備性、效率、演化、抽象層次、按空間排序、按時間排序、重用、安全性、折中與結論。顯然,12個核心概念與周以真給出的基礎概念有些是重合的,如“建模”與“概念模型和形式模型”。下面,對以上概念進行分類,力求減少它們的交集。另外,我們希望更多的學者對這些概念(包括擴展的基礎概念)在研究的基礎上進行更有效的分類,以使該框架更加完善。

在本文給出的計算思維表述體系框架中,“計算”是一個中心詞,是第一層次的概念,其他7個概念以“計算”為中心并服務于“計算”;7個概念中的“抽象、自動化和設計”為第二層次的概念,是從不同方面對“計算”進行的描述;“通信、協作、記憶、評估”蘊含在“抽象、自動化和設計”三個概念之中,是計算機科學中僅次于“抽象、自動化和設計”的基礎概念,屬框架中第三層次的概念(如下圖所示)。對這些概念的理解,有助于加深人們對“計算”的認知。下面,分別對這些概念進行定義。

計算思維基本概念的層次關系圖

(1)計算(Computation)是執行一個算法的過程。從一個包含算法本身的初始狀態開始,輸入數據,然后經過一系列中間級狀態,直到達到最終也即目標狀態。計算不僅僅是數據分析的工具,它還是思想與發現的原動力。可以認為,計算學科及其所有相關學科的任務歸根結底都是“計算”,甚至還可以進一步地認為,都是符號串的轉換。效率是計算問題的核心,以計算思維為切入點的大學計算機教學改革最大的亮點在于充分地重視“計算復雜性”這個與“效率”有密切聯系的核心概念。一般來說,掌握一個概念往往需要舉出反映該概念本質的3個經典案例和3個反例。計算包含的核心概念有:大問題的復雜性、效率、演化、按空間排序、按時間排序;計算的表示、表示的轉換、狀態和狀態轉換;可計算性、計算復雜性理論等。

(2)抽象(Abstraction)是計算的“精神”工具。周以真認為,計算思維的本質是抽象化。至少在兩個方面,計算學科中的抽象往往比數學和物理學更加豐富和復雜。第一,計算學科中的抽象并不一定具有整潔、優美或輕松的可定義的數學抽象的代數性質,如物理世界中的實數或集合。例如,兩個元素堆棧就不能像物理世界中的兩個整數那樣進行相加,算法也是如此,不能將兩個串行執行的算法“交織在一起”實現并行算法。第二,計算學科中的抽象最終需要在物理世界的限制下進行工作,因此,必須考慮各種的邊緣情況和可能的失敗情況。抽象包含的核心概念有:概念模型與形式模型、抽象層次;約簡、嵌入、轉化、分解、數據結構(如隊列、棧、表和圖等)、虛擬機等。

(3)自動化(Automation)是計算在物理系統自身運作過程中的表現形式(鏡像)。什么能被(有效地)自動化是計算學科的根本問題。這里的“什么”通常是指人工任務,尤其是認知任務,可以用計算來執行的任務。我們能夠使用計算機來下棋嗎?能夠解決數學問題嗎?給出關鍵字能夠在因特網上搜索到我們頭腦中想要的東西嗎?能夠實時地將漢語和英語互譯嗎?能夠指引我們開車穿過偏僻地形的地區嗎?能夠準確地標記圖像嗎?能夠看到我們眼睛看到的東西嗎?在周以真的論文中,她認為,計算是抽象的自動化。自動化意味著需要某種計算機來解釋抽象。這種計算機是一個具有處理、存貯和通信能力的設備。計算機可以被認為是一臺機器,也可以是一個人,還可以是人類和機器的組合。自動化包含的核心概念有:算法到物理計算系統的映射,人的認識到人工智能算法的映射;形式化(定義、定理和證明)、程序、算法、迭代、遞歸、搜索、推理;強人工智能、弱人工智能等。

(4)設計(Design)是利用學科中的抽象、模塊化、聚合和分解等方法對一個系統、程序或者對象等進行組織。在軟件開發中,設計這個詞意味著兩件事:體系結構和處理過程。一個系統的體系結構可以劃分為組件以及組件之間的交互活動和它們的布局。處理過程意味著根據一系列步驟來構件一個體系結構。好的設計有正確性、速度、容錯性、適應性等4個標準。正確性意味著軟件能符合精確的規格。軟件的正確性是一項挑戰,因為對一個復雜系統來說精確的規格是很難達到的,而證明本身就是一個棘手的問題。速度意味著我們能夠預測系統在我們所期望的時間內完成任務。容錯性意味著盡管有一些小錯誤但軟件和它的主系統仍然能夠正確地運行。適應性意味著一個系統的動態行為符合其環境的使用。設計包含的核心概念有:一致性和完備性、重用、安全性、折中與結論;模塊化、信息隱藏、類、結構、聚合等。

(5)通信(Communication)是指信息從一個過程或者對象傳輸到另一個過程或者對象。通信包含的核心概念有:信息及其表示、香農定理、信息壓縮、信息加密、校驗與糾錯、編碼與解碼等。

(6)協作(Coordination)是為確保多方參與的計算過程(如多人會話)最終能夠得到確切的結論而對整個過程中各步驟序列先后順序進行的時序控制。協作包含的核心概念有:同步、并發、死鎖、仲裁;事件以及處理、流和共享依賴,協同策略與機制;網絡協議、人機交互、群體智能。

(7)記憶(Recollection)是指通過實現有效搜索數據的方法或者執行其他操作對數據進行編碼和組織。計算思維表述體系中的記憶是人們討論大數據背后的原理之所在,沒有“記憶”這個偉大原理,大數據就是空談。記憶包含的核心概念有:綁定;存儲體系、動態綁定(names、Handles、addresses、locations)、命名(層次、樹狀)、檢索(名字和內容檢索、倒排索引);局部性與緩存、trashing抖動、數據挖掘、推薦系統等。

(8)評估(Evaluation)是對數據進行統計分析、數值分析或者實驗分析。評估包含的核心概念有:可視化建模與仿真、數據分析、統計、計算實驗;模型方法、模擬方法、benchmark;預測與評價、服務網絡模型;負載、吞吐率、反應時間、瓶頸、容量規劃等。

四、計算思維的作用

計算思維表述體系的建立,有助于計算領域以外的人了解和運用計算思維,伴隨經典實例的計算概念講授,可以讓計算領域以外的人了解計算的美麗與愉悅,拓展計算思維的應用范圍。雖說計算作為一門學科存在的時間不長,但人們已經認識到計算在科學界的影響力。1982年,諾貝爾物理學獎得主Ken Wilson在他的獲獎演講中就提到計算在他的工作中扮演的重要角色。2013年的諾貝爾物理學獎、生理學或醫學獎都與“計算”有關,化學獎的主要成果“復雜化學系統多尺度模型的創立”,這更是一個典型的用計算思維的方式――結構和算法的過程得到科學新發現的實例。

在分子生物學領域取得的研究進展中,計算和計算思維已經成為其核心內容。如今在研究許多復雜的物理過程(如群鳥行為)時,最佳方式也是將其理解為一個計算過程,然后運用算法和復雜的計算工具對其進行分析。從計算金融學到電子貿易,計算思維已經滲透到整個經濟學領域。隨著越來越多的檔案文件歸入各種數據庫中,計算思維正在改變社會科學的研究方式。甚至音樂家和其他藝術家也紛紛將計算視為提升創造力和生產力的有效途徑。

總的來說,計算思維為人們提供了理解自然、社會以及其他現象的一個新視角,給出了解決問題的一種新途徑,強調了創造知識而非使用信息,提高了人們的創造和創新能力。

1.理解自然、社會等現象的新視角

在許多不同的科學領域,無論是自然科學還是社會科學,底層的基本過程都是可計算的,可以從計算思維的新視角進行分析。其中,“人類基因組計劃”就是一個典型案例。

用數字編碼技術來解析DNA串結構的研究是計算思維的一個經典實例,其為分子生物學帶來了一場革命。將有機化學的復雜結構抽象成4個字符組合而成的序列后,研究人員就可以將DNA看作一長串信息編碼。DNA串結構實際就是控制有機體發育過程的指令集,而編碼是這一指令集的數據結構,基因突變就類似于隨機計算,細胞發育和細胞間的相互作用可視為協同通信的一種形式。沿著這一思路,研究人員已經在分子生物學領域取得了長足的進展,最具代表性成績就是“人類基因組計劃”中包括的人體內全部DNA解碼、基因測序并繪制人類基因圖譜、開發基因信息分析工具等一系列任務的圓滿完成。

2.解決問題的新方法

折紙又稱“工藝折紙”,是一種以紙張折成各種不同形狀的藝術活動。折紙發源于中國,在日本得到了很大的發展,歷經若干世紀,現在的日本折紙已成為一項集藝術審美、數學和計算機科學于一身的新藝術,而且還催生了名為“計算折紙”的新領域。該領域通過與折紙算法有關的理論來解答折紙過程中遇到的問題。如在折出某個物品之前事先將這一物品的外形抽象成一張圖,這就用到了圖論。一旦將某個物體抽象為圖的形式就可以得到描述整個折疊順序的算法,這就意味著該物品對應的折紙過程完全可以實現自動化,運用計算思維的這種抽象和自動化方法還可以做出更多更為復雜的折紙。折紙藝術家可以在完成折紙工序自動化的過程中,從折紙創新的角度向人們更為具體地介紹折紙的基本概念。在美國德保羅大學基于計算思維的教學改革中,已成功地將這種解決問題的新方法及其案例融入課程,特別是人文類課程的教學中[9]。

3.創造知識

采用計算思維還可以創造大量的新知識,比如,亞馬遜公司“網上購物推薦系統”創造的新知識。亞馬遜公司成立時間并不長,但通過客戶瀏覽網站的痕跡和購物的歷史記錄,該公司已經積累了大量的客戶信息。傳統的統計方法成為亞馬遜公司手中的有力杠桿,借力這些信息,公司得以及時跟蹤客戶的喜好和興趣以及公司的庫存產品。但是這些累積信息中可能包含一些無法基于視覺或者手動檢測的數據模式,而知識的創造過程就是發現并且明確地表述出那些藏而不露但意義深遠的數據模式。亞馬遜公司利用各種方法對這些數據進行深入挖掘并用于各項決策中,比如給某位顧客推薦某些書。亞馬遜的推薦系統正是建立在這些客戶留下的數據信息的基礎上,比如該客戶的歷史購物記錄以及購買了同一件商品的其他客戶的購物記錄。就是這些規則構成了亞馬遜的推薦系統,而它正是該公司商業模式的核心部分,也是Netflix prize算法競賽中列舉的在線商務系統的核心。

4.提高創造力和創新力

計算思維可以極大地提高人們的創造力。比如在音樂制作領域,依靠計算機的軟硬件可以產生大量的合成聲音,創作音樂。從最簡單到最復雜的任何聲音都可以通過計算機的軟件來合成。基于聲音物理特性的理解以及對這種特性在計算機中存儲的認識,人們可以采用計算思維了解聲音的合成過程與音樂的制作過程。通過音樂合成軟件的研制,人們可以很自然地將編程和作曲思維變成一種平行關系,并采用這些軟件產生大量的高質量音樂作品。實際上,鑒于這個目的,人們已經開發出不少功能強大的音樂制作編程語言,如Nyquist、JFugue、DarkWave Studio等。

參考文獻:

[1] Jeannette M. Wing. Computational Thinking[J]. Communications of the ACM, 2006, 49(3).

[2] National Research Council. Report of a workshop on the scope and nature of computational thinking[M]. National Academies Press, 2010.

[3] 教育部高等學校大學計算機課程教學指導委員會. 計算思維教學改革宣言[J]. 中國大學教學,2013(7).

[4] 九校聯盟(C9)計算機基礎教學發展戰略聯合聲明[J]. 中國大學教學,2010(9).

[5] 陳國良. 計算思維:大學計算教育的振興,科學工程研究的創新[J]. 中國計算機學會通信,2012,8(1).

[6] 陳國良,董榮勝. 計算思維與大學計算機基礎教育[J]. 中國大學教學,2011(1).

[7] 李廉. 以計算思維培養為導向深化大學計算機課程改革[J]. 中國大學教學,2013(4).

[8] Pat Philips. Computational Thinking: A problem-solving tool for every classroom[EB/OL]. http:///Resources/sub/ ResourceFiles/ComputationalThinking.pdf.

篇4

關鍵詞:計算機專業教育;教學改革;大類招生;地方普通大學

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

1引言

近年來計算機專業在規模上蓬勃發展,給更多的學子創造了接受高等教育的機會,為社會輸送了大批專業人才;但同時也存在著專業特色不明顯以及教育質量需要提高等問題。

教育部高等學校計算機科學與技術教學指導委員會(以下簡稱教指委)編制的《高等學校計算機科學與技術專業發展戰略研究報告暨專業規范(試行)》(以下簡稱《報告》)已于2006年9月通過高等教育出版社出版發行,這是指導我國地方普通高校計算機專業辦學的重要報告。

在目前的計算機專業發展形勢和專業規范的指導下,地方普通大學計算機專業如何調整培養模式,突出特色,適應地方和社會經濟發展,是一項具有重大意義的教學改革命題。

2目前形勢與問題

2.1辦學規模

從20世紀50年代末期哈爾濱工業大學等院校率先開辦計算裝置與儀器專業開始,早期計算機本科專業主要包括計算機軟件、計算機系統結構、計算機及應用等專業。20世紀90年代提出“寬口徑”人才培養思路,計算機本科專業合并為一個計算機科學與技術專業。20世紀末,由于計算機網絡、多媒體技術、通信技術和計算機軟件等迅速發展,國家又批準設置了一批新專業,在本科層次與計算機學科相關的專業有網絡工程、軟件工程、電子商務、信息安全等,還成立了35所示范性軟件學院。

2004年初,本科學校679中的505所開設有計算機科學與技術專業,是全國專業點數之首,其中368個是1994年后開辦的。僅僅經過短短的14年時間,2008年已有1180余所高校開設有計算機專業,在校生人數已超過80萬,專業的設點數和在校生人數仍然位居全國各專業之首。目前,從清華、北大的一流大學到規模很小的一些地方院校,幾乎都開設了計算機專業,計算機專業是全國規模最大的專業。

隨著計算機本科專業的招生高校數量和在校總人數的增加,地方普通高校的計算機專業招生規模卻呈現出波浪式發展態勢:開辦專業伊始,規模逐年擴大,學生人數劇增;至今,由于專業特色不明顯、學生競爭力優勢不強、就業狀況達不到期望值等原因,各地又開始紛紛壓縮招生規模。

2.2教學狀況

地方普通高校計算機專業在培養人才定位上有明顯偏差,教學內容設計存在明顯的盲目性等問題。

對學生的專業定位和發展缺乏統籌規劃,照搬其他學校的教學計劃。學生在專業學習期間,對計算機專業的自豪感和興趣喪失,選修外院系第二學位專業人數比例較大。

不遵守現有教學計劃,隨意更改教學內容和教學進程的情況較普遍,質量無監督控制。調整教學內容的現象嚴重,教學過程和質量處于失控狀態,無法達到應用的教學內容和難度要求,教師對專業基礎課把關不嚴,致使學生學習理解計算機課程的能力普遍不強,學生專業基礎知識薄弱。從專業基礎課程開始,后續課程的教學質量越來越差。

不重視計算機專業文化教育和專業基礎課程。很多從事計算機專業教學的教師是從外專業轉行過來,對計算機歷史和發展過程缺乏足夠的認識,對學生專業素質的培養和指導重視不夠。很多學習計算機專業的學生,到大學畢業時,對計算機認識和了解還是模糊的,在就業方向選擇和走向現代信息化社會時無所適從。

有的計算機專業學生急功近利,只重視眼前利益。普遍存在著忽視英語、數學等專業基礎課程的學習,多數學 生只重視就業需要的專業課,甚至只愿意學習軟件開發工具性的課程,其結果則表現為發展后勁不足現象。

專業課程特色不明顯,選修課的方向引導性作用弱化。專業課設置趨同現象嚴重,學校沒有自己的個性和專業特色。選修課的設置流于形式,幾乎都成為必選課,學生失去選擇權,方向引導作用不明顯,反映了現有教師的教學和研究水平不高。

2.3就業考研情況

2000年前,每年的計算機專業畢業生僅有5~9萬人,人才培養遠遠不能滿足社會經濟發展的需要,就業市場長期處于“賣方市場”。2000年以后,尤其是在高校擴大招生規模以后,各高校競相開設計算機專業,招生規模擴大,畢業生人數劇增,就業市場步入“買方市場”。

進入21世紀以來,中國IT產業的年增長率已遠低于20世紀90年代32%的年均增長速度,眾多IT企業不斷調整自身結構以適應行業發展和產業變革,對從業人員的素質要求不斷提高。計算機與通信工程、自動化、電子技術等相近專業間擠占和競爭就業崗位現象更為突出,IT人才市場競爭日趨激烈,社會需求愈來愈向名牌大學集中,就業格局逐漸明朗。近幾年重點大學計算機專業初次就業率在90%以上,地方大學就業率則為60%~90%。地方普通大學的計算機專業畢業生畢業后大多集中于學校當地與周邊地區的非IT性質的私營企業,從事著計算機相關工作,或者完全與計算機學科無關的工作。高校計算機專業初次就業率連年下滑,起薪大幅下降,成為就業市場上一大焦點。

許多計算機專業畢業生為了逃避就業壓力,使得報考研究生的人數大增,計算機學科報考碩士人數位于各學科之首。考慮到計算機專業考研學生人數巨大,生源和教學質量參差不一,從2009年研究生入學考試起,國家教育部把數據結構、操作系統、計算機組成原理和計算機網絡合并成計算機學科專業基礎綜合科目,實行聯合命題和統一考試,這將對地方普通大學計算機專業教學產生重大影響。

3教指委的專業方向建議

針對計算機專業的一些畢業生專業特色不明顯、競爭優勢不強的現狀,《報告》明確提出以“培養規格分類”為核心思想的計算機專業發展的建議,把計算機科學與技術專業人才培養規格歸納為三種類型、四個專業方向:科學型(計算機科學專業方向)、工程型(計算機工程專業方向和軟件工程專業方向)和應用型(信息技術專業方向)。對每個專業方向給出了專業規范,詳細描述了人才培養的規格、教育內容和知識體系,建議開設的核心課程。在目前的計算機科學與技術專業名稱下,鼓勵不同的學校根據社會的需求和自身的實際情況,為學生提供不同類型且達到本科水平的教學計劃和培養方案。一個學校在其中一種類型上通過評估合格,就被認為計算機科學與技術專業辦得合格。

3.1計算機科學與計算機工程

計算機科學是一門研究計算機和可計算系統的學科,包括它們的理論、設計、開發和應用技術。培養目標是培養德、智、體、美全面發展,掌握自然科學基礎知識,系統地掌握計算機科學理論、計算機軟硬件系統及應用知識,基本具備本領域分析問題解決問題的能力,具備實踐技能,并具備良好外語運用能力的計算機專業高級專門人才。著重于理論知識的教學和分析問題、解決問題能力的培養。知識與課程體系包含14個知識領域和15門核心課程,見計算機工程是研究計算機的理論、設計、實現、開發和應用的專業。培養目標是培養德、智、體、美全面發展,掌握自然科學基礎知識,系統地掌握計算機科學理論、計算機軟硬件系統及應用知識,基本具備本領域分析問題解決問題的能力,具備一定的工程實踐能力,并具備良好外語運用能力的計算機工程專業方向高級專門人才。著重于理論與工程知識的教學,使學生掌握較高層次的分析問題、解決問題的能力。知識與課程體系包含18個知識領域和16門核心課程,也見表1。

比較計算機科學與計算機工程兩個專業方向設置的核心課程,有11門課程是相同名稱,只是課程的執行學時和包含的知識單元略有不同。

計算機科學和計算機工程的實踐教學體系都包括課程實驗、綜合設計、教學實習、社會實踐、畢業設計等多種形式。

3.2軟件工程

軟件工程是一門用系統的、規范的、可度量的方法開發、運行和維護軟件的學科。培養目標是培養德、智、體、美全面發展,掌握自然科學和人文社科基礎知識、計算機科學基礎理論、軟件工程專業及應用知識,具有軟件開發能力,具有軟件開發實踐和項目組織的初步經驗,具有創新、創業意識,具有競爭和團隊精神,具有良好的外語運用能力,能適應技術進步和社會需求變化的高素質軟件工程專門人才。軟件工程教學既重視理論知識和較高層次分析問題、解決問題的方法,也重視軟件設計和工程實踐。包含10個知識領域:SE-CMP計算基礎,SE-FND數學和工程基礎,SE-PRF職業實踐,SE-MAA軟件建模與分析,SE-DES軟件設計,SE-VAV軟件驗證與確認,SE-EVO軟件進化,SE-PRO軟件過程,SE-QUA軟件質量,SE-MGT軟件管理。共設置了27門課程,如圖1所示,并分成A、B、C、D、E共五個模塊。

在模塊基礎上形成四個可選參考教學計劃,分別為A+C+D、A+C+E、B+C+D和B+C+E,每種計劃平均課程數目一樣,包含19門課程。制定具體教學計劃時可只選其中一組實施。實踐教學的形式包括:課程實驗、綜合設計、項目實踐、企業實踐、畢業設計等。

3.3信息技術

信息技術是一門針對社會與各種企事業單位的信息化需求,提供與實施技術解決方案的學科,涉及對計算機軟硬件、計算機網絡等相關技術與產品的選擇、評價、拓展、集成、應用與管理。培養具有如下特點的高級專門人才:德、智、體、美全面發展,掌握與信息技術相關的自然科學和數學知識,并具有創造性地將這些知識應用于信息系統構建和應用的潛力;掌握計算機學科的基本理論和信息系統的基本工作原理,熟練掌握計算機軟硬件系統的應用知識,對信息技術的效用和發展趨勢有深入理解和評估能力;有良好的組織管理和交流溝通能力,能根據不同組織和機構的需求,選擇相應的信息技術,并能有效地實施;具備良好的國際交流能力,能適應技術進步和社會需求的變化。該方向有12個知識領域:IT-ITF信息技術基礎,IT-HCI人機交互,IT-IAS信息保障和安全,IT-IM信息管理,IT-IPT集成程序設計及技術,IT-NET計算機網絡,IT-PF程序設計基礎,IT-PT平臺技術,IT-SA系統管理和維護,IT-SIA系統集成和體系結構,IT-SP信息技術與社會環境,IT-WS系統和技術。15門必修課程:信息技術導論,信息技術應用數學入門,程序設計與問題求解,數據結構與算法,計算機系統平臺,應用集成原理與工具,Web系統與技術,計算機網絡與互連網,數據庫與信息管理技術,人機交互,面向對象方法,信息保障和安全,社會信息學,信息系統工程與實踐,系統管理與維護。實踐教學包括實驗課程、專業實習和畢業設計。本專業方向的絕大多數必修課程都含有實驗環節,一部分知識與技能更適合通過實踐教學(而不是課堂教學)傳授給學生。

在計算機科學與技術專業名稱下四個專業方向的培養各有側重,計算機科學專業方向注重計算機的科學理論掌握,計算機工程偏向計算機的硬件實踐,軟件工程偏重計算機的軟件開發,信息技術則適宜計算機的系統集成。

4普通高校教改措施

本科計算機教育中,目前單一的計算機科學與技術專業設置下的單一的培養規格,難以滿足眾多領域的社會需求。計算機學科綜合交叉的發展態勢日趨明顯,高校計算機專業人才培養應體現寬口徑、分層次的模式,培養研究型、復合型、應用型等符合市場需求的人才。不同類型、不同層次的高校,其計算機專業的人才培養目標和規格要有一定的差異。

按大類招生是高校采取的新的人才選拔培養模式。在這種招生方式下,高校按院系或學科大類招生,而不是按專業招生。學生在本科階段前兩年統一學習基礎課,大三時根據自己的興趣和雙向選擇的原則再進行專業分流。按大類招生能減少考生填報專業志愿的盲目性,學生通過一段時間的大學學習和生活,了解大學、學科、專業,發現自己的興趣和特長,相對準確地預測和了解畢業時社會發展的趨勢,選擇符合自己實際情況和社會需求的專業方向。

地方普通科研教學型和教學型的大學計算機專業培養應瞄準IT人才市場變化,調整模式,突出特色,立足培養符合地方社會經濟發展的工程型或應用型計算機技術人才。可結合教指委計算機專業規范和大類招生,建立以平臺加模塊的“2+2”為主要教學形式的教學培養模式,開展涉及培養方案、教學計劃、課程大綱、教學管理、師資配備等一系列內容的計算機專業教學改革。

4.1培養目標與方案

在充分評估社會或地區對計算機人才目標需求的基礎上,有針對性地確定本校學生未來就業方向及其所需要的知識、能力和素質,據此制定學生培養方案與專業建設方案。

由于歷史原因,普通大學計算機院系一般設置有計算機科學與技術、軟件工程、網絡工程等計算機專業。依據教指委的計算機專業發展建議和專業規范,可有兩種方式改革已有的計算機專業培養方案。

方案一,把幾個專業進行合并形成一個大的計算機科學與技術專業,爭取在新的計算機科學與技術專業里設置計算機科學、計算機工程、軟件工程和信息技術等三到四個不同的專業方向。招生時在計算機科學與技術專業下統一招生,前兩年是統一培養,但到后兩年由學生根據自己興趣選擇不同的專業方向。

方案二,保留原來的專業名稱,但在計算機科學與技術專業里設置計算機科學和計算機工程兩個專業方向,軟件工程和網絡工程等專業修改為與專業規范大致相同。招生時,可按照各自專業招生,前兩年仍是統一培養,到大二學年末則允許學生重新自由選擇專業方向,在后兩年按專業方向培養。

兩種改革方式的核心就是要實現大類招生下的分類分層次培養,在高年級分流學生,使得每個人都有一個非常明確的求知思路和學習目標,充分發展學生的個性空間。

4.2教學計劃與課程設置

教學計劃與課程設置應實現兩個目標:合理組織知識體形成一門門課程;合理安排課程數量與課程學時,使學生能夠在規定的學制內完成所需知識的學習和能力、素質訓練。

為了配合培養方式的改變,必須制定拓寬專業面和增強適應性的教學計劃。把計算機專業學生所學課程分成公共基礎課程、專業基礎課程、專業方向課程,構建由基礎教育平臺課程、學科基礎平臺課程和專業方向模塊課程組成的課程體系。

基礎教育平臺課程是由普通教育(通識教育)和綜合教育類的課程組成,包括思想品德、政治法律、體育、外語、數學、物理、電工電子、經濟管理、某些跨專業選修課等理工類學生必修的課程,這類基礎教育平臺課程由學校教務部門統一安排管理,課程由相應的院系派教師教學完成。

學科基礎平臺課程主要指計算機學科的專業基礎課程,是由四個專業規范所建議設置的核心課程的基本和共有部分經過適當抽取和組合形成。根據本文第3部分分析,計算機科學和計算機工程的相同核心課程有11門,軟件工程不僅有計算機科學優先課程模塊A,在其他模塊也有與計算機科學相同或相近的課程,而且計算機科學專業方向是其他專業方向的理論基礎。因此,學科基礎平臺課程可由計算機科學專業方向的部分核心課程構成,具體的可在計算機導論、程序設計基礎、離散結構、算法與數據結構、計算機組成基礎、計算機體系結構、操作系統、數據庫系統原理、軟件工程、計算機網絡、數字邏輯、社會與職業道德等課程中選擇,并形成對應的實踐性教學內容。

專業方向模塊課程由代表各自專業方向的方向特色課程和高級課程組成,也包括專業的綜合設計、教學實習、社會實踐和畢業設計等。

采取“平臺+模塊”的教學模式,前兩學年按大類實行基礎平臺教學,后兩學年按方向實行模塊教學。基礎教育平臺課程安排在前兩學年,專業方向模塊課程安排在后兩學年。學科基礎平臺課程大部分安排在前兩年,少部分作為共同開設課程可在大三上學期完成。可以看出,這種教學模式的重點是學科基礎平臺課程和專業方向模塊課程的選擇與教學。在基礎平臺課程教學中,可實行以外語和計算機編程為試點分類施教;在專業方向學習上,根據學生的實際,因材施教,循序漸進,給優秀本科生選配導師,培養各類不同的人才。

4.3課程大綱與建設

在院系和專業教研室的兩級層面上,應組織教師認真研讀專業規范,學習體會專業規范中對知識領域、知識體系和課程體系的教學要求。教學計劃中所涉及的每門課程都要精心制定相應的課程大綱,并能根據專業發展進行適時調整。課程大綱應對每門課程的教學目標、教學內容、教學要求、教材選用、教學方法和考核方式作出明確規定,同時應對學習該課程所需的各種先決條件(比如先修課程)以及該課程和相關課程的知識銜接問題做出準確描述。

核心課程的大綱編寫教師應消化吸收規范中的課程描述,結合自己學校計算機專業學生的實際情況,制定合乎規范的詳細教學大綱。非核心專業方向課程的編寫老師宜結合學校的行業背景,調查本地區需求和畢業生流向,制定有針對性和特色的課程教學大綱。

要強調教學大綱的嚴肅性。專業基礎和專業方向課程的教學宜由相應的課程大綱編寫教師完成,非編寫大綱的其他授課教師也應嚴格按照課程大綱組織教學。

應有計劃地開展課程建設活動。學科基礎平臺課程盡量選擇國外典型教材和國內優秀教材,專業方向模塊課程應努力編寫適合本校特點的教材。能結合課程特點盡量采用先進的教學手段,如多媒體教學、網絡教學、互動式教學等,適當組織力量開發和利用多種類型的教學資源,能根據計算機發展情況適時調整授課內容,并強化學生的實踐動手能力培養。

4.4教學管理

計算機專業的大類招生與分類分層次培養對傳統的計算機專業教學管理提出了更高要求。在傳統的分管領導、教學秘書和專業教研室的教學行政管理基礎上,對分離出來的學科基礎平臺課程需要增加獨立的管理權限,從而形成相應的分類、分層次教學管理模式。建立執行嚴格的教學工作規范和完善的教學文檔管理制度。結合實際制訂切實可行的教學質量保障措施和考核辦法,確保科學規范、嚴格高效的教學質量保證和監控體系暢通,這樣將構成合理的教學管理架構――即為分管教學領導、教學秘書、教研室、課程組,再加上教學指導委員會和教學督導委員會。

分管教學的院系領導負責本科教學的宏觀管理。

教學秘書的人數根據在校計算機專業本科學生總人數而定,為1~2人,其主要任務是完成教學管理中的事務性工作。

教研室分為兩類,一是學科基礎教研室,二是專業方向教研室。學科基礎教研室由一批固定的經驗豐富的教師組成,其主要精力偏重于教學和教學研究,學科基礎教研室主任受院系委托全權負責學科基礎平臺課程的教學管理工作。專業方向教研室則由在這個方向有一點研究基礎的教師組成,可結合科研方向從事相應的專業方向課程教學,專業方向教研室主任負責專業方向建設及專業方向模塊課程的管理工作。專業方向教研室之間是一種合作與競爭的關系,既要共同支持學科基礎教研室的工作,又要努力提高本專業方向的教學質量,彰顯特色,吸引學生選擇本專業方向。

課程組是講授同一門課程的若干教師組成,一般隸屬于學科基礎教研室,共同完成全院系的專業基礎課程的建設和教學工作。課程組中應確定主講、輔講和助教人員,形成比較完善的教學隊伍。

教學指導委員會由分管教學領導、教學秘書、教研室主任組成,負責培養方案修訂、課程規劃與教學指導。教學督導委員會由教學經驗豐富的老教師組成,負責教學質量檢查、評估和評價。

4.5教師配備

教師配備得當將有利于發揮教師的潛能。適當分流教師,讓他們到各自的崗位各司其職非常必要。在地方普通高校,青年教師大多數都有研究生學歷,具有一定的科研要求和能力,多不安心于教學,在教學經驗和專業素質方面有欠缺,因此可發揮青年教師的激情和積極性,多在結合科研和專業方向教學上發展。中老教師職稱較高,比較缺乏科研的原動力,對計算機專業發展的敏感性略顯不足,掌握新知識的積極性也不高,往往只滿足于完成教學任務,但應該看到,他們具有很好的工作經驗和良好的工作態度,教學過程中認真負責,適合學科基礎平臺課程的教學,也比較適合主持教研項目。

加強青年教師的業務培訓與提高。青年教師已經成為一線教學的主力軍,但教學水平亟待提高,應安排有針對性、有相當規模和時間跨度的青年教師業務培訓計劃。

建立制度化的助教隊伍,安排專門的資金和相應的崗位。部分助教崗位應該安排計算機專業的研究生承擔,新進教師應在助教崗位上鍛煉半年到一年的時間。確定課程的主講教師和助教,各自遵守明確的崗位責任和職業規范。主講教師集中精力上課,助教講習題課、帶實驗、改作業,共同配合完成課程的教學內容、教學方法和課程建設,從而能上好、上精一門課。

在學生專業方向的把握上,可以借鑒研究生培養的模式,由專業方向教研室給一部分學有余力的學生配備導師,從全方位指導學生的專業發展。

5結論

計算機專業是全國招生和培養規模最大的本科專業,從清華、北大的一流大學到規模很小的一些地方院校,幾乎都開設了計算機專業,為國家培養了大批專業人才。隨著IT人才市場競爭日趨激烈,地方普通大學計算機專業的畢業生存在著專業特色不明顯、競爭優勢不強的問題。結合教指委的研究報告和專業規范,地方普通大學計算機專業應調整教學模式,加強教學質量管理,突出培養特色。在大類招生基礎上,建立以平臺加模塊的“2+2”為主要教學形式的分類分層次教學培養模式,是地方普通大學計算機專業教學改革的一條可行之路。

參考文獻:

[1] 教育部高等學校計算機科學與技術教學指導委員會. 高等學校計算機科學與技術專業發展戰略研究報告暨專業規范(試行)[M]. 北京:高等教育出版社,2006.

[2] 蔡啟先. CC2004計算學科教程體系分析與思考[J]. 高等工程教育研究,2006(5):77-81.

[3] 劉乃琦. 計算機專業(學科)面臨的挑戰與創新[J]. 計算機教育,2005(12):5-8.

[4] 李明江. CCC2002、CC2004與地方院校計算機專業教育的困惑[J]. 黔南民族師范學院學報,2006(6):43-47.

[5] 蔣宗禮,趙一夫. 試論我國計算機專業本科教育現狀及發展[J]. 計算機教育,2005(8):22-26.

[6] 徐子珊. 以計算學科多樣化應對IT 應用需求多樣性[J]. 計算機教育,2005(12):45-47.

Research of Computer Specialty Teaching Reform Based on Subject Enrolment

in Primarily Undergraduate Ranking

CHEN Yong-qiang, LI Guo-yong, PENG Li-hua

(School of Computer Science, Wuhan University of Science and Engineering, Wuhan 430073,China)

篇5

[關鍵詞]大學計算機基礎 教學方法 研究 探討

[中圖分類號]G642 [文獻標識碼]A [文章編號]1006-5962(2012)03(a)-0007-01

計算機現已成為時展的一種工具,是否具備一定的計算機操作能力已成為一種技能。計算機技術日新月異,計算機教學也隨之生機勃勃,同時給計算機一線教學的老師帶來了很多挑戰。大學計算機基礎是高校的公共基礎課,也是計算機專業的專業基礎課,如何提高學生的計算機應用能力,如何提高計算機基礎課程的教學質量,值得我們進行研究和探索。

1 大學計算機基礎教學中面臨的問題

1.1 學生計算機能力存在差異

目前,計算機基礎是高校大學生的一門必修課,不管是計算機專業的學生還是非計算機專業的學生都要在第一學期或第二學期開設計算機基礎課程。在實際教學中發現,剛入學的新生在計算機基礎能力方面存在較大差異,其中一部分學生來自職高,已經具備基本的操作能力,能熟練使用windows操作系統和office辦公軟件;還有一部分學生來自普通高中,很少接觸電腦,只會鍵盤、鼠標的使用,對系統一點也不熟悉,甚至有的連開機都不會。

講授計算機基礎相對其它計算機課程來說不算難事,但如何在教學中讓那些基本具備計算機能力的學生不感覺在重復已學過的知識,又讓沒學過計算機的學生學起來不覺得困難,成了一件讓教師們兩難的事情。

1.2 教師授課中存在的問題

1.2.1 教學目標不同

院系不同,計算機基礎的教學目標也有所不同。對于計算機專業和非計算機專業、本科和專科層次,高校人才培養方案中都設置了不同的教學目標和要求。一般來說計算機非專業學生需要掌握windows操作系統、office辦公軟件和計算機網絡;而計算機專業本科層次的學生除需具備這些要求外,還必須了解數據庫技術、多媒體技術,以及網頁設計方面的知識。

1.2.2 學生需求不同

隨著科技的發展,計算機技術已逐漸滲透到各個學科領域。這就要求學生不僅要學好本專業,還要具備計算機基礎知識和較強的計算機應用能力,以便將來能夠把計算機技術運用到自己的專業領域。

2 大學計算機基礎教學方法的研究和探討

2.1 注重“因材施教”,提高教學效果

由于新生計算機能力存在較大差異,因而教師在教學過程中應該注重“因材施教”。教師可以采取問卷調查,在學生第一堂課前對他們的計算機能力做一個初步評估,然后把學生分成幾個小組,讓不同小組的學生使用不同的授課方案。比如,對于計算機能力較弱的,教師應該著重對windows操作系統、office辦公軟件基礎知識進行講解;而對于計算機能力強的,基礎知識可以少講,主要放在應用上。

2.2 加強引導,培養學習興趣

對于大多數新生,計算機在他們頭腦中是個很模糊的概念,他們甚至感覺計算機很神秘。當真正接觸計算機之后,他們心中又有點落差,感覺計算機學起來太枯燥,不像高中語文和數學那樣接近生活,甚至懷疑計算機知識學了之后沒有用。因此,我們應該加強引導,培養他們的學習興趣。比如,在講解計算機二進制時可以介紹八卦與二進制的關系,能夠激發他們濃厚的學習興趣;講授計算機硬件結構時,可以帶學生到開放的實驗室觀摩計算機的各個部件,讓學生和計算機拉近距離,從而提高學習興趣。

2.3 采用案例法

通過案例教學,將計算機基礎的知識點恰當地融入案例的分析和制作過程中,實踐、理論一體化,使學生在學習過程中不但能掌握獨立的知識點,而且具備了綜合的分析問題和解決問題的能力。目前大多數高校都使用多媒體教室或計算機機房進行授課,教師可以把一些模板或優秀作品借助多媒體或局域網展現給學生,讓學生學會思考,從而提高學習能力。比如在講授word段落設置時,可以把設置好的段落樣本事先發給學生,再讓學生自己動手操作;講授powerpoint時可以拿上屆ppt大賽的一等獎作品給學生欣賞,激發學生學習興趣,再講授制作方法。

2.4 明確教學任務,鼓勵自學

大部分新生自學能力較差,教師在實踐教學中若不指定具體的實驗內容,他們往往不知道上機要做什么。因此,教師上實驗課時應該明確教學任務,而且內容要盡可能照顧到不同層次的學生,既能讓計算機能力不強的學生能完成一些學習任務,樹立學生自信心,提高學習積極性,也要讓能力較強的學生感覺有挑戰性,有意識的培養他們的自主學習、探索新知識的能力。教師在教學過程中僅僅起引導作用,應該把大部分時間留給學生自己去學習、思考和體會,還可以鼓勵他們多看些課外書,提高專業技能水平,培養他們自學能力。

2.5 講練結合,精講多練

計算機基礎課程是一門實踐性非常強的課程,提高學生的操作技能因而顯得尤為重要。實驗教學時教師講授一節課,學生再練習一節課,如果始終遵循這樣的方法教學效果肯定不好。教師可以選擇幾個比較典型的案例,分成兩到三個時間段來完成。比如,先把一個或兩個案例在一個時間段里給學生演示一遍,再讓學生練習-在第二個時間段里,教師可以對前面學生操作過程中出現的各類問題進行集體糾正和提醒,然后講授其余的案例,學生再練習,這樣通過講練結合、精講多練,提高了學生的學習積極性和操作技能。

3 結束語

時代在發展,計算機基礎的教學也要與時俱進,還有很多方面需要我們去研究和探索,需要不斷的調整以適應日益發展的計算機應用技術。

參考文獻

篇6

國際課程中最受歡迎和認可的就是國際文憑組織(IBO)提供的課程,就是我們常說的國際文憑(IB)課程。IB課程中獨立的信息技術課開設在高二和高三年級,它把信息技術類的知識劃分到兩門課程中,即著重和大學計算機科學或計算機軟件專業相銜接的“計算機科學”課以及以培養學生信息素養為目的的“全球社會中的信息科技”課。其中,“計算機科學”課走的是專業化的道路,覆蓋了大學計算機專業所需的基礎知識,嚴格按照學科體系開展教學。而“全球社會中的信息科技”課強調學生信息素養的培養,強調反思技術應用給人帶來的積極和消極的影響,因此,這門課被劃分到了人文科學組,更多地按照文科化的方式進行教育。在我國高中階段的信息技術課程中,一直存在著教學內容專業化還是普適化、著重面向精英還是面向大眾、培養信息素養還是專業知識的困惑與爭論。IB課程的這種設置方式應該對我們有所啟發。

這兩門課程也都特色鮮明,“全球社會中的信息科技”課不論從課程目標、教學方法到考試題目都一以貫之地在強調信息技術的“三位一體”:信息技術的知識、應用和倫理要融合在一起來思考。比如下面這樣一道考試樣例:糖尿病人需要測量并記錄自己的血糖水平,這些數據需要病人和醫生共同操作,現在用信息技術工具改進這一環節,病人使用網絡將自己的血糖數據上傳,醫生通過在線數據庫了解病人的血糖數據,專業公司提供相應的解決方案并進行數據管理。接下來,學生將從三個方面作出回答。第一個方面是從信息處理角度解釋該系統如何一步一步進行工作,第二個方面是從信息評價的角度給出該解決方案的評價范例,第三個方面是從信息倫理角度描述該系統中主要利益相關人所涉及的道德問題。

從這道考試題目不難看出“全球社會中的信息科技”課教學活動的特點:它一般提供給學生一個真實的情境,在情境中讓學生運用信息技術工具去解決應用中的問題,并隨時思索、考察信息技術可能帶來的倫理道德問題。

篇7

論文摘要:隨著計算機技術的飛速發展,使用計算機的能力已成為當代大學生知識結構的重要組成部分。本文主要分析了《大學計算機基礎》的教學現狀、教學定位和教學條件,探討適合現階段教學特點的教學設計模式和實施過程。

1課程基本信息

《大學計算機基礎》總學時為64學時,其中課堂教學32學時,上機實驗32學時。授課對象為全校非計算機專業的本科生和專科生,課程類別為公共基礎課,先修課程是高中信息技術課程。

2《大學計算機基礎》課程教學現狀

首先,學生在認識上存在誤區。學生普遍存在“重專業、輕基礎”的現象。學生的學習興趣不高,對學習內容不感興趣,不愿意投入太多精力去學習,認為會用計算機上網、娛樂就可以了。其次,我校《大學計算機基礎》只對本科和專科進行不同教學內容的安排,沒有針對不同的專業的設置不同的教學內容。教材缺乏解決專業問題的案例,學生很少學到與本專業有關的計算機知識。最后,由于各地區經濟發展的不平衡,客觀上學生的基礎差異也很大。很多學生對計算機已經有了一定程度的掌握,他們高中就學習了《計算機基礎》這門課,并且內容有很多與大學的《大學計算機基礎》課程重復。而一些落后地區的學生還基本上沒有接觸過計算機。這樣就造成了入學時,學生的計算機水平參差不齊的現象。

3 教學定位分析

計算機基礎教學是大學教育的基本內容,計算機不僅是一種工具,而且計算機學科還有一種獨特的分析問題、解決問題的思維方式,應把培養學生的“計算思維”能力作為計算機基礎教學的核心任務。

教育部高等學校計算機基礎課程教學指導委員會提出了大學計算機基礎教學四個方面的能力培養目標[1]:(1)對計算機的認知能力。(2)應用計算機解決問題的能力。(3)基于網絡的學習能力。(4)依托信息技術的共處能力。因此,計算機基礎教學在培養學生成為適應信息社會和經濟發展需求的新型人才中承擔著重要的職責。

本課程共8章,課程的重點是:計算機基礎知識、操作系統、office 2003。課程的難點是:計算機數制與轉換,計算機操作系統的原理和功能,網絡協議。

教師用通俗的實例和多媒體進行講解,同時理論聯系實際,觀察和分析實例。增添網上學習資料、加強上機輔導和答疑, 讓學生通過上機實踐來理解。鼓勵和引導同學通過互聯網學習,從而激發創造力、想象力,從實踐中理解并掌握本課程的重點與難點。

實踐環節極為重要,加強實踐教學環節的目的是培養學生的上機動手能力、解決實際問題的能力、以及知識綜合運用能力等。“大學計算機基礎”課程的實驗學時與講課學時之比為1:1。

4 教學條件分析

在授課環境方面,我們采用多媒體大屏幕授課,授課用計算機都能上網,同時配有白板,以便書寫方便;教師上課采用自行制作的電子課件,并配有授課的各種軟件,因此軟件和硬件都能滿足上課要求。

在實驗教學方面,我校的計算中心機房設備配置完好,2011年新配置400臺計算機已經投入使用,上機學習用的各種軟件齊全,完全可以滿足實驗教學的要求。未來設想是實現多媒體信息的采集、處理和制作。

5 教學實施設計

(1)直觀授課方法。目前課程的教學方法和手段是“教師+多媒體教室”的教學方式。由于《大學計算機基礎》課程信息量大,知識更新快,我們使用“計算機+大屏幕投影”的多媒體授課方式,教師邊講解邊演示,操作過程直觀的展現在學生面前。這種方式將抽象內容具體形象化,教學效果直觀,能多角度地向學生傳遞教學信息。但該方法也帶來一些問題,如上課信息量大,同學不易記筆記。為了便于學生學習,我們利用課程網站,并將課件和教學文件等放在網上,供學生下載,彌補了多媒體授課方式的不足。(2)在課堂教學中,引入靈活的教學方法,互動式、啟發式和引導式教學,充分激發學生求知的潛能和學習的主體作用。例如教師選取某些適合的章節(如計算機的輸出設備)在課前組織學生分組預習。同學們自行分工,利用網絡收集資料,然后對收集到的資料進行加工整理,用PowerPoint制作出課件,每組選出代表,在課堂上進行講解,最后由教師進行點評。學生通過教師所給予的評價和指導意見,可以調節自己的學習,啟發自己的思維;而通過與學生的交流溝通,教師能夠及時了解學生的學習現狀和需求,發現和掌握學生的情感和技能水平,為下一步教學和管理提供依據。讓學生帶著問題去學習,有利于學生主動探索知識,經過這種鍛煉,學生的綜合素質會獲得進一步的提高。(3)在實驗教學中,我們設計一些綜合應用性實驗,引導學生根據自己的實際水平選做,尤其是有一定基礎的學生,學習的重點應放在這一層次的綜合實驗練習上,滿足他們的求知欲。 這種設計旨在培養學生綜合應用計算機知識與技術的能力,讓學生獨立、系統地掌握軟件的使用。學期末,布置一個研究與創新型實驗,組織學生進行作品競賽,重在培養學生的自主能力與創新意識。(4)完善教學網站建設。本課程在我校Blackboard網絡教學平臺開設了教學網站,提供《大學計算機基礎》課程的教學大綱、教案、PPT課件、上機實驗指導以及一些網絡資源的鏈接等。學生可以登陸網站下載學習資料,使用信箱完成作業的下載上傳,教師可以進行作業批改、網上答疑等。網絡教學平臺的使用,有利于開拓學生的視野,實現優秀教學資源的共享。網絡教學促進了學生與教師之間的交流,并能充分發揮學生的主動性,提高學生學習的參與度,對學生的社會參與能力、協作能力、知識學習與實踐都具有重要的訓練作用。

6教學評價設計

總成績=平時成績*30%+期末成績*70%

平時成績滿分100分,教師將課堂提問、日常小考、階段測試以及和實驗作業相結合,綜合評估學生的學習效果,給出學生的平日成績。其中,出勤30分,實驗作業40分,其它(包括課堂提問、日常小考、階段測試等)30分。

期末成績滿分100分,考試在萬維全自動網絡考試系統上進行,試卷由考試系統隨機抽取,考試結束后系統自動評分。考試題型有選擇題、填空題和操作題。客觀的基礎知識和主觀的實踐操作均在計算機上進行。這種考試方式真正實現了教考分離,真實地考出了學生的計算機知識和技能水平,能較全面地反映出教學效果,并可為以后改進教學提供參考。

結語

總之,通過授課、上機實驗與教學網站的緊密結合,學習《大學計算機基礎》課程后,學生將具備熟練的信息獲取和處理能力,及在網絡環境下熟練掌握和應用計算機的基本技能。

當今,計算機基礎教學的核心任務是計算思維能力的培養,我們廣大一線教師要認真研究計算機基礎教學的特點, 改進計算機基礎課程體系和核心課程教學內容,研制豐富的教學案例,不斷學習,勇于實踐,提高計算機基礎課的教學水平,為國家培養更多創新型人才。

參考文獻

[1] 教育部高等學校計算機基礎課程教學指導委員會. 高等學校計算機基礎教學發展戰略研究報告暨計算機基礎課程教學基本要求[M]. 北京:高等教育出版社,2009.

篇8

關鍵詞:系統觀;能力培養;教學改革;計算機系統

從1946年第一臺電子計算機ENIAC(Electronic Numerical Integrator And Computer)誕生到現在,計算機的發展經過了大型機時代(Mainframe Era: 1950s-1960s)、小型機時代(Minicomputer Era: 1970s)、個人計算機時代(PC Era: Mid 1980s-Mid 2000s)和后PC時代(PostPC Era: Late 2000s)。計算機教學模型機也經歷了從大型機、小型機到PC的過程。通常,課堂教學內容比業界技術要滯后幾年。20世紀80年代初,基本以IBM 360/370或DJS 200系列等大型系列機為模型機;20世紀80年代中后期開始,則以VAX 11/780等小型機為模型機,并同時開設以IBM PC為模型機的“微機原理與接口技術”課程,到21世紀開始,基本上都轉入了以Intel x86或PowerPC或MIPS等微處理器為模型的教學模式。

隨著多核/眾核處理器、嵌入式和云計算技術的發展,以及大規模數據中心(WSC)的建立和個人移動設備(PMD)的大量普及使用,計算機發展進入了后PC時代。呈現出“人與信息世界及物理世界融合”的趨勢和網絡化、服務化、普適化和智能化的鮮明特征[1]。

那么,后PC時代的計算機專業教學應該如何改革?計算機專業教育的核心應該是什么?計算機課程的教學內容應該如何調整以適應新的發展需求?這些都是我們從事計算機專業教學的大學老師們應該思考的問題。本文將從計算機專業人才培養的目標、目前我國大學計算機專業教育存在的問題、南京大學在學生系統能力培養方面的新舉措等幾個方面闡述筆者的思考及初步探索。

一、計算機專業人才“系統觀”培養的重要性

圖1描述了計算機系統抽象層的轉換。從圖1可以看出,計算機系統由不同的抽象層構成,“計算”的過程就是不同抽象層轉換的過程,上層是下層的抽象,而下層則是上層的具體實現。計算機學科主要研究的是計算機系統各個不同抽象層的實現及其相互轉換的機制,計算機學科培養的應該主要是在計算機系統或在系統某些層次上從事相關工作的人才。

計算機系統由各種硬件和各類軟件采用層次化方式構建,不同用戶工作在不同的系統結構層,如圖2所示。

從圖2可看出,計算機用戶有最終用戶、系統管理員、應用程序員和系統程序員。顯然,計算機專業培養的主要應該是設計和研制計算機的計算機工程技術人員以及系統程序員、應用程序員和系統管理員。不管培養哪個層面的計算機技術人才,計算機專業教育都要重視學生“系統觀”的培養。

所謂“系統觀”,筆者認為,就是指對計算機系統的深刻理解。具有“系統觀”的人才,能夠站在系統的高度考慮和解決應用問題,具有系統層面的認知和設計能力,包括對軟、硬件功能進行合理劃分、對系統不同層次進行抽象和封裝、對系統整體性能進行分析和調優、對系統各層面的錯誤進行調試和修正、對用戶程序進行準確的性能評估和優化,以及根據不同的應用要求合理構建系統框架等能力。

圖2 計算機各類用戶所在層次

特別是在后PC時代,并行成為重要主題,培養具有系統觀的、能夠進行軟/硬件協同設計的軟/硬件貫通人才是關鍵。而且,后PC時代對于大量從事應用開發的應用程序員的要求也變得更高。首先,后PC時代的應用問題更復雜、應用領域更廣泛;其次,要想編寫出適合各類不同平臺的高效程序,應用開發人員必須對計算機系統具有全面的認識,必須了解不同系統平臺的底層結構,并掌握并行程序設計技術和工具。

只有具備“系統觀”,計算機工程技術人員才能夠設計研制出性價比高的適合特定應用需求或通用的計算機,系統程序員才能編寫出適合于底層硬件架構的易于上層應用程序員或系統管理員使用的系統軟件,應用程序員才能最合理地利用底層硬件實現機制和系統軟件提供的相應功能編寫出性能最優的應用軟件,系統管理員才能配置出最佳的系統環境并提供最好的系統維護和系統管理等方面的服務。

二、我國大學計算機人才“系統觀”培養的現狀

為了更好地了解國外大學計算機專業人才培養的情況,筆者對MIT、UC Berkeley、Stanford和CMU等4所美國一流大學在相關課程方面教學情況進行了跟蹤調查[2]。我們發現,中美大學在計算機專業人才培養及課程教學方面存在許多不同。

首先,從課程設置上來說,上述美國四校在學完編程語言及其程序設計課程后都開設了一門關于計算機系統的基礎課程,而且在課程內容上特別注重在計算機系統各個抽象層上的縱向關聯,沿著一條主線,把每個抽象層都串起來,從而使學生形成完整的計算機系統概念。而國內大學計算機專業課程設置,基本上是按計算機系統層次結構進行橫向切分,自下而上分解成數字邏輯電路、計算機組成原理、匯編程序設計、操作系統、編譯原理、程序設計等課程,而且每門課程都僅局限在本抽象層,相互之間幾乎沒有關聯,學生對整個計算機系統的認識過程就像“盲人摸象”一樣,很難形成一個對完整計算機系統的全面認識。雖然國內高校也有計算機系統概論、計算機系統入門或導論之類的課程,但內容廣而不深,什么都講一點,什么都講不透,基本上是計算機課程概論,而不是計算機系統概論。

其次,美國四校都采用了分流培養模式,都設置了偏硬件或計算機系統的專業或方向。例如,有電子工程(EE)、電子與計算機工程(ECE)、計算機工程(CE)和計算機系統等專業或方向。而目前國內大多數高校都只有一個專業,即計算機科學與技術,專門分出ECE、CE和計算機系統方向進行人才培養的學校很少。國內絕大多數高校只能培養應用程序員,而且是對計算機系統底層知之甚少的應用程序員。

最后,美國四校在計算機系統入門課后面都開設了關于數字系統設計的課程,課程內容涵蓋了數字邏輯電路和組成原理兩門課的基本內容,并要求學生用EDA方式設計相對完整的流水線CPU,而且都是由EE(ECE)部門開設,但并不要求所有學生都學,通常是偏硬件類的EE、ECE、CE和計算機系統方向的學生必學,其他方向學生選修。反觀國內絕大多數高校,基本上都是先上數字邏輯電路(有些合并了一些模電內容)課程,然后上組成原理課程(有些組成原理課程上的是微機原理與接口的內容),而且這兩門課程基本上都是所有學生的必修課程,并沒有考慮不同方向學生對于計算機底層硬件知識和硬件設計能力的不同需求。目前國內大多數學校的組成原理課程教學基本上還是沿用傳統的教學理念,教學內容還停留在計算機硬件的基本構成和基本設計原理層面,既不像國外的數字系統設計那種硬件設計課程,能夠讓學生真正了解如何用硬件描述語言通過FPGA來設計現代計算機硬件系統;也不是一門關于計算機系統的入門課程,能夠讓學生全面地理解整個計算機系統的實現機理。因此,目前國內絕大多數高校的組成原理課程的教學,既沒能達到培養學生利用現代化工具進行實際硬件設計的能力,也沒有讓學生學會運用機器底層硬件和系統結構知識來增強高效軟件開發和程序調試的能力,更沒有通過該課程讓學生建立起計算機軟、硬件系統的整體概念。

總之,國內大學計算機專業教育在“系統觀”培養方面還存在一些問題,這點從近五年來全國計算機專業研究生入學考試的抽樣結果可以得到印證。2009年開始,計算機專業的研究生入學考試采用全國統考方式,計算機專業基礎綜合統考科目包括數據結構、組成原理、操作系統和網絡四門課程,總分為150分。五年來的抽樣結果顯示,全卷平均分每年僅在60~78之間,試題統計難度(單選題的試題難度指答對人數/總人數,綜合應用題的試題難度指樣本平均分/該題總分,最終難度為加權平均值)僅在0.41~0.52之間,其中組成原理最低,特別是其綜合應用題的難度僅在0.181~0.440之間,五年共10個綜合應用題,只有兩題的難度達到了0.4以上,說明所有考生平均僅掌握所考內容的大約30%左右,有的方面只有20%不到,也即考生們對絕大部分綜合應用能力考核內容都沒有掌握。從抽樣省份來看,前三年抽樣的大多是高等教育水平比較高的地區,可想而知,全國的抽樣數據應該更差。近五年的綜合應用題抽樣數據表明,試題統計難度與解題涉及的知識點個數相關性較大,通常涉及的知識點越多得分越差,說明學生的綜合應用能力較弱,平時缺乏對相關知識和概念關聯性的思考。

根據近年來對全國研究生計算機專業基礎綜合統考科目考試成績的抽樣調查結果,可以看出國內大學計算機本科專業存在“輕應用、缺關聯、少綜合、無系統觀”的問題[3]。

三、國內大學相關教學改革概況

目前,越來越多的高校發現計算機專業基礎課程教學中的一些問題,開始注重學生的系統能力培養,強化學生的“系統觀”。

目前為止,已經有一些高校以MIPS為模型機,對數字系統設計的相關內容進行了深入的講解和實踐,也有一些高校同時把CPU設計與操作系統和編譯的內容融合起來進行實驗課程的開設。浙江大學多年來每年在暑假都會開設有關CPU及其計算機系統設計的選修課;東南大學也專門開設了面向所有學生的計算機系統綜合實驗課程;北京航空航天大學從2006年開始籌劃,花了5年時間實現了突破,在相關的數電和組原、OS及編譯原理課程中逐步讓學生完成一個完整計算機系統的設計;清華大學目前也已經完成了計算機綜合實驗平臺的所有軟、硬件部分的開發,準備在所有本科生中開設計算機系統綜合實驗課程。此外,中科大和國防科大等高校也一直在實施本科生的計算機系統設計能力培養計劃。可喜的是,一些非重點高校的任課老師也在組成原理課程的教學及其相關實驗中,引入了以MIPS為模型機的 CPU設計的教學和實驗內容。

另一方面,像復旦大學軟件學院和上海交大軟件學院等則開設了與CMU的CS 213類似的課程[4],北京大學也在去年全盤引入了CMU的CS 213課程教學內容。但是,總的來說,目前在國內全面開展像CMU的CS 213那樣的課程教學困難還不小,對任課教師和學生來說都是一個不小的挑戰。

四、南京大學相關教學改革思路和做法

根據對計算機相關領域目前發展情況的分析以及對國外一流大學計算機相關專業教學情況的調查,我系在新的2013版教學計劃中,實施分流培養機制,提供了計算機科學、計算機系統、計算機應用、軟件工程和信息安全五個方向。

在“系統觀”培養方面,其基本培養目標為:建立計算機系統完整概念,深刻理解計算機系統的層次化結構。包括:理解計算機系統中各個抽象層之間的相互轉換關系,了解計算機指令集體系結構的設計原則和設計原理,具備使用HDL進行計算機硬件設計的基本能力,深刻理解OS和硬件之間的分工和銜接關系,理解掌握從硬件角度出發進行編譯優化的基本技術,深刻理解從硬件角度出發編制高效程序的基本原理,提高利用硬件知識進行程序調試的能力。特別對于計算機系統方向的學生,在系統能力方面則要求更高,在CPU設計、體系結構、操作系統、編譯技術和并行處理技術等方面都有相應的實踐要求。

在2013版教學計劃中,重新規劃了相關的一系列課程,并采用以下思路對相關課程進行重新建設:(1)根據系統能力培養總體目標,規劃好相關課程各自涵蓋的知識結構和框架體系,合理定位各門課程的教學目標,把每個知識點落實到具體課程中。(2)根據相關知識點總體框架,擬定各個相關課程之間知識點銜接方案,并且在教學過程中明確各知識點在不同課程之間的關系。(3)根據規劃分頭編寫或修訂教材及教案,并在統一的框架下建設相關課程。(4)在保留各課程獨立實驗平臺的同時,構建一個公共實驗平臺,使相關課程的實驗內容按照一定的關系有機聯系起來。

2013版教學計劃中有一組課程是所有方向學生都必修的學科平臺準入和學科平臺準出課程。學科平臺準入課程是指轉系學生只有選讀并考試合格后才有資格轉入我系學習的最低門檻課程;學科平臺準出課程是指學生只有修讀合格后才能從我系畢業的最低門檻課程。

與系統能力培養密切相關的準入課程是“程序設計基礎”和“數字邏輯電路”;而與系統能力培養密切相關的準出課程是“計算機系統基礎”、“操作系統”和“計算機網絡”。

每個方向有幾門方向必修課程和方向指選課程。方向必修課程是該方向學生必選的方向基礎課程,方向指選課程是為該方向學生指定的選課范圍內的方向相關課程。例如,對于計算機系統方向,其方向必修課程是“計算機組成與設計”、“計算機體系結構”和“編譯原理”;而在方向指選課程中,與系統能力密切相關有“計算機系統綜合實驗”、“并行處理技術”、“LINUX分析”、“微機原理與接口”和“嵌入式系統”等課程,也即計算機系統方向學生必須在這些課程中選修一定數量的課程。

圖3給出了整個教學計劃中與“系統觀”培養密切相關的課程設置,圖中箭頭描述了課程的先后依賴關系。

從圖3可看出,所有相關課程中,“計算機系統基礎”是最核心的課程,其先行課程是“程序設計基礎”和“數字邏輯電路”,與其相關的后續課程有“計算機網絡”、“操作系統”、“計算機組成與設計”、“計算機體系結構”、“編譯原理”、“并行處理技術”、“微機原理與接口”、“嵌入式系統”、“LINUX分析”和“計算機系統綜合實驗”。

課程設置基本思路是“從兩頭到中間、從框架到細節”,即先開設頂層的程序設計課程和最底層的數字邏輯電路課程;然后再在“計算機系統基礎”課程中,從兩頭到中間,把頂層程序設計的內容和底層電路的內容,按照程序員視角串起來,以形成對計算機系統的全面的和系統的框架性整體認識;在此基礎上,再分別在其他后續課程中,介紹計算機系統底層的硬件以及操作系統和編譯器等層次的實現細節。

圍繞系統能力培養目標,根據課程之間的相互關系,我們確立了各課程定位如下:

(1)程序設計基礎。該課程是學科平臺準入課程,所有學生必修。它主要介紹高級語言編程技術的基礎內容,讓學生初步理解高級語言及高級語言程序設計涉及的概念,初步理解圖1所示的計算機系統中最上面三個抽象層(問題、算法和程序)及其相互轉換關系。學完該課程后,學生能夠了解到計算機解決應用問題首先必須將其轉換為算法,然后用某種編程語言將算法編寫成程序才能在計算機上運行。因而,學完本課程后,應該希望進一步了解為什么計算機能夠執行程序、計算機如何執行程序等問題。

(2)數字邏輯電路。該課程是學科平臺準入課程,所有學生必修。它主要圍繞組合邏輯和時序邏輯兩大核心內容,在邏輯門到功能部件這兩個層次展開,以后續課程中用到的功能部件(如半加器、全加器、加法器、比較器、編碼器、譯碼器、觸發器、寄存器、移位器、內存儲器等)作為數字邏輯電路設計實例進行介紹,初步掌握圖1所示的計算機系統中最下面的三層(功能部件、門電路和器件)相關內容。學完該課程后,學生能夠了解到目前主流計算機解決所有問題的最根本的基礎是布爾代數和數字邏輯電路,并了解到利用數字邏輯電路可以構建執行程序所需的所有功能部件。

(3)計算機系統基礎。該課程是學科平臺準出課程,所有學生必修。它是一門新開設課程,主要介紹高級語言程序中的數據類型及其運算、語句和過程調用等是如何在計算機系統中實現的,從宏觀上介紹計算機系統涉及的各個層次,使學生從整體上了解計算機系統全貌和相關知識體系,初步理解圖1所示的計算機系統中的每一個抽象層及其相互轉換關系。學完該課程后,學生能從程序員角度認識計算機系統;能夠建立高級語言程序、ISA、OS、編譯器、鏈接器等之間的相互關聯;對指令在硬件上的執行過程和指令的底層硬件執行機制有一定的認識和理解。從而增強學生在程序調試、性能提升、程序移植和健壯性等方面的能力,并為后續的“計算機組成與設計”、“操作系統”、“計算機體系結構”等課程打下堅實基礎。由此可見,該課程可以作為“程序設計基礎”課程的深入內容,能起到為其解惑答疑的作用,學完該課程,學生完全應該能夠回答為何計算機能夠執行程序以及計算機如何執行程序等問題。

(4)操作系統。該課程是學科平臺準出課程,所有學生必修。它將系統地講解操作系統的基本概念和方法、設計原理和實現技術。主要內容包括:處理器管理,同步、通信和死鎖,存儲管理,設備管理,文件管理,操作系統安全和保護,分布式操作系統和網絡操作系統。既闡述經典內容,又以當代主流操作系統作為實例介紹最新發展;既注重操作系統的理論知識,又重視操作系統的實踐和應用。操作系統是一門實踐性、應用性很強的課程,學習這門課程必須動手實踐。實驗將配合原理教學同步進行,課程實驗以設計性實驗為主,進行模擬類操作系統實驗,要求學生能夠基于虛擬機環境,實現一個可運行的操作系統。實驗通過對操作系統原理的剖析,輔助學生深入理解抽象原理,強化學生對操作系統總體結構的理解和認知,提高學生的動手實踐能力,并幫助學生對操作系統建立起理性、全面、完整和準確的概念。

(5)計算機組成與設計。該課程是計算機系統方向學生的必修課程。它主要從寄存器傳送級以上層次介紹單處理器計算機設計的基本原理和設計細節,重點在CPU設計和存儲器設計方面,使學生在理解高級語言程序與機器級代碼之間對應關系的基礎上,進一步理解機器級代碼如何在具體硬件系統中執行的過程以及如何構造計算機硬件系統。因而,該課程主要涉及圖1中的第5層(指令集體系結構)和第6層(微體系結構),并通過實現細節介紹這兩個層次與上層的操作系統/虛擬機以及與下層的功能部件/RTL之間的關系。通過該課程的學習,要求學生能夠利用硬件描述語言和FPGA開發板來設計基本的功能部件以及單周期CPU和流水線CPU。因而,在課程內容組織方面應該細化通用寄存器組、ALU和桶形移位器等功能部件設計的內容,細化單周期CPU和流水線CPU設計的內容,并講透流水線CPU設計中的各種冒險處理機制和基本的指令級并行處理的內容。

(6)計算機體系結構。該課程是計算機系統方向學生的必修課程。學生在完成單處理器計算機系統相關技術學習的基礎上,通過該課程進行多核處理器、眾核處理器、多處理機系統、集群系統等不同粒度和規模的并行計算機系統的工作原理、實現方式及其應用方面的深入學習。因為學生已經建立了單處理器計算機系統的完整概念,因而該課程重點應該更多地轉移到超標量流水線、多核/眾核系統、多處理器系統、多計算機系統等并行處理系統方面。此外,該課程還涵蓋了數據中心、云計算系統和虛擬機/虛擬化方面的部分內容。

(7)編譯原理。該課程是計算機系統方向學生的必修課程。學生在掌握了程序設計、數據結構、算法設計與分析、組成原理和操作系統的基礎上,進一步學習編譯器的設計原理和實現技術。它主要包括有限狀態自動機理論、形式語言分類以及詞法分析、語法分析、語義分析、中間代碼生成、中間代碼優化和目標代碼生成的作用和方法,還介紹屬性文法的基本概念和半形式化的中間代碼生成方法。該課程的各個知識模塊綜合起來對應的培養目標,是使每位學生掌握和編譯器設計相關的形式語言理論基礎、了解編譯器生成工具的使用方式以及實踐一個簡單編譯器的設計與實現過程。該課程的學習能為后續的形式語言和自動機等課程以及在軟件工程和自然語言處理等方面的研究工作打下良好的基礎。

(8)并行處理技術。該課程是計算機系統方向學生的指選課程。其主要內容包括并行環境、并行算法、并行程序設計、并行性能評價等部分的內容。課程總目標是通過并行計算和并行處理的基本概念、基本原理、基本方法與基本知識的講授與實踐,為計算機系統方向學生打下并行算法與并行處理方面的研究與應用基礎。通過簡單介紹并行計算機的體系結構、并行計算模型與并行算法的性能評價方法,掌握并行算法設計、編程實現與性能評價時涉及的基本知識與基本概念;通過介紹任務分解、任務調度、負載平衡、設計模式、設計技巧等知識,掌握并行算法設計的基本原理、基本方法與基本技術;通過對MPI與OpenMP等編程語言或編程模型的簡單介紹,使學生掌握并行算法程序實現的基本知識;通過幾類典型的數值與非數值并行算法介紹,加深學生對并行算法設計基本原理與常用方法的理解,并為實際應用問題的并行算法設計與并行處理打下堅實的基礎。

(9)微機原理與接口。該課程是計算機系統方向學生的指選課程。主要定位為在PC上的實例化教學課程,以目前流行的基于IA-32體系結構的PC為實例,主要介紹IA-32提供的存儲管理機制、異常/中斷機制以及總線和接口技術。實驗重點內容在PC的I/O接口技術,包括在FPGA實驗板上利用CPU軟核進行總線、中斷和DMA實驗,利用硬件描述語言(HDL)進行UART等I/O接口設計的實驗等。

(10)嵌入式系統。該課程是計算機系統方向學生的指選課程。主要定位為在嵌入式系統方面的實例化教學課程。主要介紹嵌入式系統概論、嵌入式處理器、存儲器及其總線互連,嵌入式系統集成接口,嵌入式操作系統,嵌入式硬件與軟件協同設計方法與工具,嵌入式應用系統開發及其工具,嵌入式系統功耗分析與優化設計等。實驗重點內容是基于ARM處理器和μCOS-Ⅱ操作系統的簡單嵌入式軟件開發技術。

(11)LINUX分析。該課程是計算機系統方向學生的指選課程。它是操作系統的后續課程,以剖析Linux內核實現技術為切入點,結合Linux內核代碼,從用戶層及內核層兩個層面,圍繞“原理、技術、應用”三個角度剖析Linux的內部結構與內核實現機制,幫助學生從系統實現角度理解現代操作系統的系統架構、實現機理及關鍵技術。課程以“技術專題”形式組織教學內容,每個專題由知識講授與課程實驗組成。核心知識模塊包括進程管理、進程調度、進程通信、存儲管理、系統調用與中斷處理、文件管理。每個知識模塊按“原理設計基本思想―實現相關技術問題―Linux內核實現途徑―用戶系統編程體驗”為主線組織具體內容。

(12)計算機系統綜合實驗。該課程是計算機系統方向學生的指選課程。主要目的在于將本科計算機教學中的基礎課程,如程序設計、數字邏輯電路、操作系統、計算機組成與設計等課程融會貫通,使學生從系統的角度對整個計算機有一個全面的認識和了解,并能夠設計和實現一個簡單的計算機系統。本綜合實驗區別于一般的基礎實驗課程從單個層面出發的設計局限性,它要求學生把計算機軟件和硬件相結合,并強調各個基礎課程之間的銜接與聯系。實驗要求學生能夠對于從高級程序語言開發到程序的系統管理、編譯與代碼轉換以及硬件運行的選擇與實現等有一個全面的掌握。實驗還強調學生的動手能力和對系統的設計能力,培養能夠獨立開發一套簡單系統并能對整個系統進行改進和優化的能力。

當然,除了上述課程以外,其他課程對學生系統能力培養也有一定的作用。除了學科平臺準入和準出課程以外,其他方向的學生還可以選修上述其他課程,有些課程還可能是某個方向的必修課和方向指選課,而計算機系統方向的學生除了上述給出的必修課和指選課以外,也還可以選擇一些偏理論或偏應用的課程進行修讀。

后PC時代WSC、PMD和PC等共存,使得原先基于PC而建立起來的專業教學內容已經遠遠不能反映現代社會對計算機專業人才的培養要求,原先計算機專業人才培養強調“程序”設計也變為更強調“系統”設計。這需要我們重新規劃教學體系,調整教學理念和教學內容,加強學生系統能力培養,使學生能夠深刻理解計算機系統整體概念,更好地掌握軟/硬件協同設計和程序開發技術,從而更多地培養出滿足業界需求的各類計算機專業人才。

參考文獻:

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

[2] 王帥,袁春風. 美國一流大學計算機組成與系統結構實驗課程研究[J]. 計算機教育,2011(17):121-124.

篇9

(復旦大學計算機科學技術學院,上海200433)

摘要:針對傳統計算機系統類課程群中多門課程知識點重復、有銜接漏洞的問題,按照系統能力培養的觀點,結合復旦大學計算機學院系統類課程的教學經驗,提出將ACM CS2013規范中相關的知識要點分解到數字邏輯部件、計算機組成原理、操作系統、計算機體系結構的課程中去,旨在指導本科計算機系統類課程的教學。

關鍵詞 :計算機系統能力培養;課程大綱;ACM CS2013

文章編號:1672-5913(2015)17-0029-06

中圖分類號:G642

第一作者簡介:張亮,男,教授,研究方向為服務計算、以數據為中心的業務流程管理、數字圖書館,Lzhang@fudan.edu.cn。

1 背景

應用和技術的進步驅動著計算機科學的迅猛發展。當前,計算機呈現出“人與信息世界及物理世界融合”的趨勢和網絡化、服務化、普適化、智能化的鮮明特征,計算機相關學科的研究重心正由算法和程序向系統層面轉移。

ACM/IEEE最新公布的CS2013( Computerscience Curricula 2013)調整和新增的4個知識域( Body of Knowledge,BoK)——系統基礎( SF)、并行和分布計算(PD)、基于平臺的開發( PBD)、信息保障和安全(IAS) 均涉及系統級內容;國內教育部計算機專業教學指導分委員會已經開始研究計算機專業學生能力培養和實踐教學體系,重點探討如何使學生增強系統能力,具備全局掌控一定規模系統的能力;南京大學、北京大學、北京航空航天大學、浙江大學、國防科技大學等高校進行了多年探索實踐,積極效果正在逐步體現。經驗表明,以系統觀為指導,強化系統類課程群的建設是一種行之有效的措施。

系統類課程群是與計算機系統密切相關的若干課程的統稱。以復旦大學計算機科學技術學院的教學實踐為例,系統類課程群包括數字邏輯部件、計算機組成原理、操作系統、計算機體系結構、編譯5門專業課程及相關配套實驗。這些課程從多層次(部件、系統)、多觀點(硬件、軟件)介紹同一個主體對象——計算機系統的核心知識,對學生理解計算機系統的內部運作機制起到至關重要的作用。

現階段,獨立建設的教學體制造成了多門課程知識點部分重疊、前導課/后繼課相互依賴,這一現象已為從事本領域教學管理和教學實踐的大部分教師所關注,并成為歷次教學研討會、導教班力圖解決的熱點問題。

2 核心要點及課程分解

我們以ACM CS2013為規范性藍本,抽取與系統類課程群關系最為密切的3個知識域( BoK) -Systems Fundamentals(SF,系統基礎)、Architecture and Organization(AR,體系結構及組成)、Operating Systems(OS,操作系統)——為研究對象,從系統觀的角度探索知識要點配置、共同知識要點在多門課程中的側重以及多門課程在相關知識體系上的銜接問題。

所謂“系統觀”,就是指對計算機系統的深刻理解。具有“系統觀”的人才,能夠站在系統的高度考慮和解決應用問題,具有系統層面的認知和設計能力,包括對軟、硬件功能進行合理劃分、對系統不同層次進行抽象和封裝、對系統整體性能進行分析和調優、對系統各層面的錯誤進行調試和修正、對用戶程序進行準確的性能評估和優化以及根據不同的應用要求合理構建系統框架等能力。

首先,我們分別列舉這3個知識域的各知識要點(其順序與ACM CS2013相同);然后,為各知識要點分配對應的課程名稱,重點關注多門課程在同一個知識要點上的側重點,探討橫跨多個知識域知識要點間的銜接問題。

為后續討論方便,我們為每個知識要點賦予了編號,其格式如下:知識域名/知識要點編號一序號。例如,操作系統知識域的并發知識要點下“中斷的作用”編號為:OS/3-4。同樣,4門系統類課程數字邏輯部件、計算機組成原理、操作系統、計算機體系結構也分別代以記號DL、CP、OS和AR,特殊的側重則標注在課程名稱之后)。

2.1 SF/System Fundamentals(系統基礎)

系統基礎域分為計算范型、跨層通信、狀態及狀態機、并行、評估、資源分配及調度、逼近、虛擬化及隔離、通過冗余增強可靠性、量化評估10個部分。

2.1.1 SF/1計算范型

①計算機的基本構造模塊和部件(門,觸發器,寄存器( DL,CP),互聯;數據通路+控制+存儲器(CP強調軟件,DL僅至單周期,AR多周期,強調硬件)。

②作為計算模型的硬件:基本邏輯構造模塊;邏輯表達式,最小化,積之和形式( DL,CP)。

③應用層序列處理:單線程(CP單個進程執行,不涉及切換,OS)。

④簡單應用層并行處理:請求層(網絡服務/客戶一服務器/分布式),每個服務器單線程,多服務器多線程(CP,OS應用)。

⑤流水線的基本概念,重疊處理階段( AR硬件實現,CP軟件實現,OS原理)。

⑥縮放基本概念:變快vs處理更大的問題( CP,OS)。

2.1.2 SF/2跨層通信

①抽象編程,接口,庫的使用(CP兩級抽象,OS)。

②應用、OS服務、RPC的區別(OS)。

③應用與虛擬機的交互(OS)。

④可靠性(OS,AR,CP冗余,糾錯,DL糾錯)。

2.1.3 SF/3狀態及狀態機

①數字和模擬/離散和連續系統( DL)。

②簡單邏輯門,邏輯表達式,布爾邏輯簡化( DL,CP)。

③時鐘,狀態,順序( DL,CP)。

④組合邏輯,時序邏輯,寄存器,存儲器( DL,CP)。

⑤狀態機的計算機和網絡協議樣例( CP,DL定義狀態機)。

2.1.4 SF/4并行

①串行處理與并行處理(CP介紹概念)。

②并行程序設計與并發程序設計( OS)。

③請求并行與任務并行(OS)。

④客戶/服務器模型,Web服務,線程的創建和運行,管道(OS)。

⑤多核結構和同步的硬件支持(AR原語,OS機制)。

2.1.5 SF/5評估

①性能圖( AR)。

②負載和代表性基準,以及采集和分析性能圖的方法( AR)。

③使用CPI(每條指令的執行周期)公式來理解指令集設計,處理器流水線和內存系統組織的權衡( CP,AR)。

④阿姆達爾定律( AR,CP)。

2.1.6 SF/6資源分配及調度

①資源的種類(例如,處理器分享,內存,磁盤,網絡帶寬)(OS)。

②調度的種類(例如,先來先服務,優先級調度)(OS)。

③公平調度的有點,搶占式調度(OS)。

2.1.7 SF/7逼近

①光速和計算機(每納秒一英尺和1G赫茲時鐘)(AR)。

②計算機系統中的延遲:內存vs磁盤延遲vs網絡存儲之間的延遲(CP,OS,AR)。

③處理器和系統的緩存以及時間空間局部性在性能上的影響( CP)。

④數據庫、操作系統、分布式系統和計算機體系結構的緩存和緩存一致性( CP,OS)。

⑤處理器存儲層次化和平均內存訪問時間公式的介紹(CP,OS提問,AR提問)。

2.1.8 SF/8虛擬化及隔離

①保護和可預測性能的基本原理( CP)。

②間接法的級別,以虛擬內存來管理物理存儲資源( CP,OS)。

③虛擬內存實現方法和虛擬機實現方法( OS)。

2.1.9 SF/9通過冗余增強可靠性

①軟件錯誤和故障的區別( OS)。

②基于檢查和重試的冗余( OS)。

③基于冗余編碼的冗余(錯誤修正碼ECC,CRC,FEC)(DL)。

④復制/鏡像/多重備份( OS)。

⑤增強容錯性和可用性的其他方法( OS)。

2.1.10 SF/10量化評估

①導出量化評價的分析工具( AR)。

②數量級分析(大O記法)(OS)。

③系統快速和慢速路徑分析(???)。

④事件及它們對性能的影響(比如指令阻塞,( AR),緩存未命中,頁錯誤)(CP,OS)。

⑤理解分層系統,工作量,平臺,表現隱含式,和它們對估值表示的挑戰(???)。

⑥微基準測試問題(???)。

2.2 AR/Architecture and Organization(體系結構及組成)

體系結構組成域分為數字邏輯和數字系統、數據的機器級表示、匯編級機器組成、存儲系統組織和體系結構、接口和通信、功能性組織、多道處理及候選架構、性能提升等8個部分。

2.2.1 AR/1數字邏輯和數字系統

①計算機體系結構的概述及歷史( AR)。

②組合邏輯和時序邏輯/作為基本組合+時序邏輯構造模塊的現場可編程門陣列( DL,CP)。

③多重表述/層的解釋(硬件只是另一個層)( DL,CP)。

④處理硬件和結構描述的計算機輔助設計工具( DL)。

⑤寄存器傳輸符號表示/硬件描述語言( Verilog/vHDL)(DL, CP).

⑥物理約束(門延時,扇入,扇出,能量/功耗)( DL)。

2,2.2 AR/2數據的機器級表示

①比特,字節和字( CP,DL)。

②數值數據表示和基數( CP,DL)。

③固定和浮點系統( CP)。

④有符號數和二進制補碼表示( CP,DL)。

⑤非數值數據表示(特征碼,圖形數據)( CP,DL)。

⑥記錄和數組表示( CP)。

2.2.3 AR/3匯編級機器組成

①馮·諾依曼機器的基本組成( AR,CP)。

②控制單元;取指,譯碼,執行( CP,AR)。

③指令集和類型(數據操作,控制器,讀/寫)(CP,AR強調RISC)。

④匯編/機器語言編程( CP)。

⑤指令格式(CP,AR強調RISC)。

⑥尋址方式( CP)。

⑦子程序調用和返回機構( CP)。

⑧讀/寫和中斷(CP,硬件機制,OS中斷處理及應用)。

⑨堆vs靜態vs棧vs代碼段(CP)。

⑩共享存儲多處理器/多核組織(CP介紹幾種形態,OS應用,AR重點)。

11介紹SIMD和MIMD以及Flynn分類法( AR)。

2.2.4 AR/4存儲系統組織和體系結構

①存儲系統和其技術( CP)。

②存儲層次:時間和空間局部性的重要性( CP)。

③主存儲器的組織和操作( CP)。

④延遲、時鐘周期、帶寬和交叉存取( CP)。

⑤緩存(地址映射,塊大小,替換和存儲規則)( CP)。

⑥多處理器緩存一致性/使用存儲系統來進行核間同步/原子內存操作( CP)。

⑦虛擬內存(頁表,TLB)(CP)。

⑧錯誤處理和可靠性(OS)。

⑨錯誤編碼,數據壓縮,數據完整性(???)。

2.2.5 AR/5接口和通信

①I/O基礎:握手,緩沖,輪訓,中斷驅動的I/O( OS)。

②中斷結構:向量化和優先化,中斷知識( CP,OS)。

③外部存儲,物理組織和驅動( CP)。

④總線:總線協議,仲裁,直接內存訪問( DMA)(CP)。

⑤網絡入門:通信網絡作為遠程訪問的另一層次( CP)。

⑥多媒體支持( CP)。

⑦RAID( OS)。

2.2.6 AR/6功能性組織

①簡單數據通路的實現,包括指令流水線,冒險檢測及消除(DL單周期,CP)。

②控制單元:硬接線和微程序實現(DL單周期,CP多周期)。

③流水線介紹(CP偏軟件實現,AR偏硬件實現)。

④介紹指令級并行( ILP)(AR)。

2.2.7 AR/7多道處理及候選架構

①功耗定理( AR)。

②SIMD和MIMD指令集和結構的例子( AR)。

③互聯網絡(超立方體,洗牌交換,mesh,crossbar)(AR)。

④共享存儲系統和存儲一致性( AR)。

⑤多處理器cache 一致性(AR)。

2.2.8 AR/8性能提升

①超標量結構( AR)。

②分支預測,前瞻執行,亂序執行( AR)。

③預取( AR)。

④向量處理器和GPUs( AR)。

⑤硬件支持多線程( AR)。

⑥可擴展性( AR)。

⑦其他結構,諸如VLIW/EPIC,以及加速器和其他類型的專門用途( AR)。

⑧處理器( AR)。

2.3 0S/Operating Systems(操作系統)

體系結構組成域分為操作系統概述、操作系統原理、并發、調度及分派、內存管理、安全與保護、虛擬機、設備管理、文件系統、實時和嵌入式系統、容錯、系統性能評估等12個部分。

2.3.1 0S/1操作系統概述

①操作系統的作用和目的(OS)。

②典型操作系統的功能( OS)。

③支持客戶/服務器模型和手持設備的機制( OS)。

④設計問題:效率、魯棒性、靈活性、可移植性、安全性、兼容性。

⑤安全性、聯網、多媒體、窗口系統與操作系統的關系(OS)。

2.3.2 0S/2操作系統原理

①操作系統體系結構(單體、分層、模塊、微內核)( OS)。

②抽象,進程,資源(OS)。

③應用程序接口API的概念(OS,CP)。

④軟硬件技術的發展和應用需求(OS)。

⑤設備組織( OS,CP)。

⑥中斷:方法及實現(OS)。

⑦用戶態/內核態及操作系統保護,轉入內核態方式( OS)。

2.3.3 0S/3并發

①進程的概念,狀態及狀態變遷圖(OS)。

②結構(就緒隊列,進程控制塊等)(OS)。

③調度及上下文切換(OS)。

④中斷的作用(OS)。

⑤對內核數據結構的原子性訪問( OS)。

⑥實現同步原語(OS)。

⑦多處理器相關問題(自旋鎖,重入)( OS,AR)。

2.3.4 0S/4調度及分派

①搶占與非搶占式調度( OS)。

②調度器和調度策略( OS)。

③進程及線程(OS)。

④時限及實施調度問題( OS)。

2.3.5 0S/5內存管理

①物理內存和內存管理硬件回顧( OS)。

②工作集和抖動(OS)。

③緩存( CP)。

2.3.6 0S/6安全與保護

①系統安全概論(OS)。

②機制與策略分離( OS)。

③安全方法和措施( OS)。

④保護,訪問控制,認證( OS)。

⑤備份與回復( OS)。

2.3.7 0S/7虛擬機

①虛擬機的類型(包括硬件、軟件、操作系統、服務器、服務、網絡)(OS)。

②分頁及虛擬內存( CP)。

③虛擬文件系統(OS)。

④虛擬機管理程序(OS)。

⑤可移植虛擬化,仿真和隔離(OS,強調 Container,Docker)。

⑥虛擬化的代價( OS)。

2.3.8 0S/8設備管理

①串行和并行設備的特性(OS)。

②抽象設備的差異性(OS)。

③緩存策略(OS)。

④DMA( OS)。

⑤失效恢復(OS)。

2.3.9 0S/9文件系統

①文件:數據,元數據,操作,組成,緩沖,順序文件與非順序文件(OS)。

②目錄:內容及結構(OS)。

③文件系統:分區、加載/卸載、虛擬文件系統(OS)。

④標準實現技術(OS)。

⑤內存映像文件( OS)。

⑥特殊文件系統( OS)。

⑦文件的命名,搜索,訪問,備份( OS)。

⑧日志文件結構(OS)。

2.3.10 0S/10實時和嵌入式系統

①實時進程及調度( OS)。

②實時環境中的內存/磁盤管理需求(OS)。

③失效,風險和恢復( OS)。

④實時系統的特有問題(OS)。

2.3.11 0S/11容錯

①基本概念:系統的可靠性和可用性( OS)。

②時間和空間冗余方法(OS)。

③冗余的實現方法(OS)。

④操作系統通過檢測、恢復、重啟實現冗余的案例分析,包括用于操作系統自身服務的技術(OS)。

2.3.12 0S/12系統性能評估

①系統評估的必要性( OS)。

②評估的要素( OS)。

③系統性能策略,如高速緩存,分頁,調度,內存管理,安全等( OS)。

④評估模型:確定型模型,分析性模型,仿真或特殊方法(OS)。

⑤如何收集評估數據(分析和跟蹤機制)(OS)。

2.4 知識要點分配中的注意事項

在上述知識要點分配方案中,有幾點值得注意。

(1)分配方案受到了課程先后次序的影響。例如,存儲管理內容(AR/4,SF/7-b,SF/7-e,SF/8-b)均交由CP講授,而OS和AR僅分別側重于軟件算法和性能評估,這是因為CP被安排在兩門課之前。類似的情況還有狀態機SF/3一e交由DL講授。

(2)系統能力的培養應關注學生的能力指標( Learning Outcomes)。當相關知識點(如SF/l-a)被多門課程(如CP,DL,AR)分別涉及時,排在第一位的課程( CP)擔負著主要職責,保證能力指標的達成,而后面各課程則根據其自我要求涉獵或補充必要的內容。

(3)各門課程在其課程大綱中,務必合理安排跨越多個知識域中的相關知識要點(如AR/3_h、AR/5-a,b、OS/2-f、OS/3-d)和對應的能力指標,負責它們在不同程度和不同場合的銜接。

(4) 一些要點(如SF/lO-c、SF/lO-e,f、AR/4-i)我們尚未有深刻的理解或成熟的經驗,因此留作討論,記以符號???。

3 結語

復旦大學計算機系統能力課程群建設正在逐步推進:①有必要調整各門課程的知識點分布,采取系統科學的方法,使學生奠定系統理論基礎,不僅能建立真實系統的模型,預測系統行為,而且通過強化系統實踐,培養學生有效地構造正確系統的能力;②培養學生如何從系統層面思考,重點關注系統的設計過程、上下文環境及環境與系統的交互;③圍繞知識點,在各門課上透徹分析原理,明確基本原則、架構、協議,強化跨課程的系統性的實踐教學培養過程和內容。

經驗表明,合理劃分相關知識域中的各知識要點,注重課程間關聯知識點的側重和銜接非常重要。從目前的教學情況來看,在內容上切實實現了課程間最少重復、各門課不留漏洞的既定目標。

在今后的工作中,我們將在強化內涵和拓展外延兩個方向進一步完善系統觀教學實踐,逐步貼近教育部計算機專業教學指導分委員會《以系統發展觀為主線的計算機專業課程體系改革的思路》,實現“學生的知識體系得以更新與擴展,其系統設計創新能力同步得到強化與提升”的目的。

參考文獻:

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

[2] JosephS.計算機科學的愿景:系統發展觀[J].中國計算機學會通訊,2012,8(3): 11-18.

[3] The joint task force on computi_ng curricula. Computer Science curricula 2013: Curriculum guidelines for undergraduate degreeprograms in Computer Science[EB/OL].(2013.12.20)[2015-06-30].acm.org/education/CS2013.final-report.pdf

篇10

Abstract:Achievement oriented education is an advanced, scientific and reasonable educational concept. It is of great practical significance to improve students' computer skills by applying it to the reform of computer courses. Based on the elaboration of the connotation of achievement oriented education, taking the course of university computer as an example, this paper puts forward curriculum reform and practice methods from revising course content, constructing platform suitable for independent learning and collaborative learning, reconstructing curriculum teaching, learning, examination and evaluation.

Key words:Achievement oriented Education;Curriculumreform;Modular teaching; platform

成果導向教育(OBE)理念發展于20世紀90年代,其教育理念得到廣泛的重視與應用,至今被認為是卓越工程教育的正確方向。因此用成果導向教育理念指導計算機類課程改革具有重要的現實意義。

1成果導向教育的內涵

成果導向教育(OBE)稱為基于學習產出的教育模式,是一種先進的、科學合理的教學理念。OBE指教學設計和教學實施的目標是學生通過教育過程最后取得的學習成果[1]。其強調對學生行為結果的測量,注重學生學完之后能真正做什么,而不是學了什么。美國學者SpadyW.D在其著作中對OBE的概念進行了界定,即“對資源和系統的調整,使之清晰聚焦于促使學生在未來生活中獲得成功的實質性經驗”。在成果導向教育下,成果決定過程,課程設置以最終成果為導向,在學習結束之后,?W生應當展示自己所學到的知識,它注重課程內容、教學方法、教學策略與教學評估之間的高度匹配[2]。成果導向教育強調4個問題:1、學生取得的學習成果是什么?2、為什么要讓學生取得這樣的學習成果?3、如何有效地幫助學生取得這些學習成果?4、如何知道學生已經取得了這些學習成果?

成果導向教育理念中的學習成果是學習者在順利完成某階段學習過程后所應知道、理解和掌握的方面。作為描述學生在某時間段結束后能被檢驗的學業成績,學習成果是具體的、可檢測的,可用于描述任何有效的學習形式。而學習成果的具體性指的是學習成果最終的表現形態,可以是知識、技能、素質等方面具體形態或其一系列組合。

可見,OBE強調成果導向、重視學生學習成效、明確確定畢業生能力,其教學質量的評估側重于教育的產出,即能力和成果、成績和效果上。因此在課程教學中應明確學習的成果,配合多元彈性的個性化學習要求,讓學生通過學習過程完成自我實現的挑戰[1]。

2 成果導向教育理念下的課程教學改革與實踐

以成果導向教育(OBE)理念貫穿到《大學計算機》課程教學全過程,提升課程對畢業要求達成評價的支撐度,實現教、學、考、評的有效銜接。在整個教學過程中,加強學生自主學習能力培養,在完成學生基本的學習需求上,培養學生利用課堂知識來解決在行業上的問題,滿足學生未來可能的需求。因此結合學校專業人才培養目標、學生的情況及計算機公共基礎課程的特點等方面因素,從以下幾個方面進行課程的改革與實踐。

2.1修訂課程教學內容

成果導向教學理念打破傳統的以教師為中心的教學模式,強調學生的主體地位,指出課程教學的目標是讓學生具備相應的能力,教師所從事的一切教學活動都是為達到教學目標而采取的手段。因此課程改革的首要任務就是打破思維定式,徹底轉變思想,認真反思過去的教學工作,明確高校計算機類課程人才培養要求,課程教學目標,重新整合課程教學內容,修訂課程考核方案。《大學計算機》是高等學校計算機公共基礎課程中的核心課程,是非計算機專業開設的第一門計算機公共課程。課程內容涉及計算機基礎知識、網絡與多媒體技術基礎、辦公自動化、程序設計與數據庫技術基礎等方面,突出實踐性與人文性,注重前沿知識的介紹。在《大學計算機》課程改革中根據不同專業需求,修訂課程大綱,以此更好實施課程面向專業、面向學生的教學目標。如下表1所示為化工專業《大學計算機》課程的教學安排表,課程教學內容共包含五個模塊。

其中,“拓展知識”模塊作為動態內容模塊,提供學科前沿知識與進行新的應用技術推廣。

2.3 建設適合自主學習和協作學習的平臺

成果導向教育要求學校和教師不應以同樣的方式在同一時間給所有學生提供相同的學習機會,而應以更加彈性的方式來配合學生的個性化學習要求。因此要求課程的學習資源要具有指導性及全面性。因此在《大學計算機》課程中采用混合式教學方式,把課程中涉及的教學資源進行數字化改造,并且結合課程網站、教學平臺與實驗測評三大平臺輔助開展課程的教與學。

1)課程資源的數字化改造

A、基本資源:反映課程教學思想、教學內容、教學方法、教學過程的核心資源,包括課程介紹、教學大綱、教學日歷、教案或演示文稿、重點難點指導、作業、參考資料目錄和課程教學視頻等反映教學活動必需的資源。

B、拓展資源:應用于各教學與學習環節、支持課程教學和學習過程的多樣性、交互性資源。如:案例庫、優秀學生作品、素材庫、在線自測、考試系統、課程學習網站鏈接、文獻規范檔案資料庫。

C、在線學習資源:對課程內容進行MOOC化改造,即把每一章的知識點進行分塊處理,制作成10分鐘左右的微視頻,供學生在線學習與鞏固。

2)構建課程教學平臺

成果導向教育理念構建的關鍵點在于通過整合各類教學資源、協調教學過程的各環節,構成一個在教學質量上能夠實現自我約束、自我激勵、自我改進以及自我發展的有效運行機制。因此在課程的實施中以課程網站、計算機實驗系統、網絡教學系統、課程QQ群等平臺為依托構建學生在線自主學習、交流協作、自我測試的環境,讓學生在此環境中達到“樂學”、“會學”、“學會”。以下圖為《大學計算機》課程網站。

2.3 重構課程教、學、考、評

成果導向教學要求以?W生為中心,以成果為導向,重視學生在取得成果的過程。因此需重構課程教、學、考、評內容,以此提升學生的學習能力、創新能力、溝通能力與團隊合作能力。在《大學計算機》課程中進行了如下的教學處理:

1)模塊化教學

課程實施模塊化教學,即進行課程內容、教學過程、課程考核、課程評價的模塊化,注重學習過程與實踐能力培養。

2)模塊化考核

在模塊化教學中,當某模塊教學結束后即利用考試系統對該模塊進行考核,這樣不但可以降低學生學習的壓力,提高教與學的效率,同時不同模塊可根據其具體目標要求,內容制定各自的考核策略,進行不同形式的考核、靈活性好、針對性強。

3)模塊化評價方法

成果導向教育理念下的教學評價是把以“教”為中心的評價轉換到以“學”為中心,在整個評價中體現出學生參與度、教師實時跟蹤、師生及學生間的合作交流。因此在課程中采用模塊化的評價方式,把各個模塊的考核成績及課程平臺記錄的學生學習狀態數據,按課程評價策略進行最后的評定,課程評價模塊化改變過去所沿用的期末考試“一刀切”的做法,注重學習過程與實際技能,科學、全面、公平及人性化。評價公式如下:課程總評100%=學習狀態30%+模塊考核70%,其中:學習狀態=考勤30%+作業30%+技能30%+狀態10%;模塊考核=基本模塊考核80%+拓展模塊考核20%。