時間:2022-10-14 17:59:46
序論:好文章的創作是一個不斷探索和完善的過程,我們為您推薦十篇計算機科學導論論文范例,希望它們能助您一臂之力,提升您的閱讀品質,帶來更深刻的閱讀感受。
[中圖分類號] G420 [文獻標識碼] A [文章編號] 2095-3437(2016)08-0017-03
一、前言
課程建設是專業建設中的重要組成部分,專業導論課往往在第一學年開設,是學生了解專業、建立專業概念和專業認同的重要課程,對學生的專業學習和發展有著重要的引領和指導作用。[1] [2] [3]
信息與計算科學專業是信息科學、計算科學、運籌與控制、計算機及應用等學科交叉而形成的專業,往往設置為理科專業。多種學科知識的交叉滲透,加上因專業名稱的望文生義,使學生容易產生簡單的認識――“信息與計算科學專業是數學與計算機結合的專業”。這樣籠統的認識可能會導致學生認為該專業“要么學數學,要么學計算機”,至于“怎么結合”搞不清,不重視專業的其他重要方面,甚至連信息與計算科學的專業特點和核心競爭力也模糊不清。
關于信息與計算科學專業課程體系建設的論述已有很多,然而關于該專業大導論課程的研究還不多見。針對上述存在的種種問題,本文認為信息與計算科學專業設置專業導論課程是極為必要的,而且在課程體系中應作為獨立的重要一環。因為作為信息與計算科學(信計)專業的導論課程,需要回答的問題多且必要:信計專業培養什么樣的人才?什么是信計專業?信計的核心競爭力是什么?如何實現?信息處理、應用開發中有哪些數學知識?信息挖掘、信息安全與算法設計的聯系如何?建模能力如何鑄就?計算分析能力怎樣打造?就業崗位對信計的現實要求有哪些?等等。
信計專業導論課的開設需要對信計專業的發展歷史,專業的研究應用進展和前沿有深入、廣泛的了解,通過精選教學內容,使教學內容形成體系,以達到解決學生關切問題、培養學生專業思想、建立學生專業認同、激發學生專業學習興趣的教學目標。教學過程中典型的教學案例對學習興趣的提高有明顯的促進作用,在專業學習中能夠激發學生對專業的興趣,促進學生對專業的理解,特別是有利于學生加深對專業的宏觀認識以及對專業的一些具體方向的感性認識。本文將結合教學典型案例深入剖析信息與計算科學專業導論教學中需要解決的問題。
二、信息與計算科學的直觀印象
信息與計算科學作為交叉學科,和其他一些專業的易混淆性,使得我們必須首先回答什么是信息與計算科學專業,更為緊要的是在大一階段應該如何從直觀的角度來闡述它。我們知道,隨著現代信息計算科學技術的發展,上班考勤甚至上課考勤都有系列的產品可供選擇,常見的考勤機為指紋考勤機器――這是一個很典型的利用信息與計算科學知識和方法進行應用開發的產品。在教學中,類似的案例可以體現信息與計算科學專業各學科之間的交叉滲透,為學生提供直觀的專業認識印象,具體闡述如下。
1.利用該例闡述科技應用開發中,信息與計算科學專業知識的使用流程和涉及的課程知識。指紋考勤機首先要采集被識別人的指紋信息,并以此作為樣本;預處理后把樣本信息存儲為向量或數據,通過建立樣本的特征提取模型,進行特征提取;之后輸入建立的識別模型,對待識別的指紋進行計算識別;接下來是針對硬件的編程實現和測試,最后再植入匹配的設備或者網絡傳入后臺系統,完成系統測試,投入使用。由于建立特征提取模型和識別模型的方法很多,快速計算的方法選擇有所不同,這涉及信息與計算科學中許多數學基礎知識和數學建模方法等。總的來說,考勤機的工作流程可以歸納為5步:(1)信息采集和預處理;(2)特征提取和識別模型;(3)識別、計算分析;(4)編程實現;(5)植入硬件。分別講述其中各個環節可涉及的專業課程:信息采集和預處理可涉及高等代數、概率統計等課程;特征提取和識別模型可涉及高等代數、數學分析、概率統計、運籌優化、數學建模等課程;識別、計算分析涉及高等代數、數學分析、運籌優化、數值分析等課程;編程實現可涉及程序設計語言、算法設計、軟件開發測試,等等。這樣結合專業課程知識與應用實例的詳細講解,易于讓學生了解信息與計算科學專業知識的應用流程,使學生對信息與計算科學專業知識有直觀的認識。
2.利用該例闡述科技應用開發中,信息與計算科學中各個學科的交叉滲透。如前所述,由于一個產品的開發可能涉及的知識點很多,可采取的模型方法也是多種多樣,這些知識之間的應用就會有交叉。例如,特征提取、識別模型的建立有可能用到信息處理的數學基礎,這時又需要考慮該模型是否能設計出快速的計算方法來滿足實際計算速度的要求;識別模型的實現最后需要計算機編程來完成,這又涉及合適的模型、快速的算法和良好的程序設計之間的協調融合。當然,完整的產品設計還需要考慮到采集設備的精度、程序植入等其他學科的知識。這樣講解,學生就會對信息與計算科學知識的交叉有較為宏觀的認識。
3.啟發學生對信息與計算科學中的相關問題進行思考。
(1)指紋樣本信息采集是很微妙的事,如果當采集一個樣本的次數太多,超出了很多人的承受范圍,比如一個手指的指紋采集超過了三次,這樣產品的便利性、應用性和競爭力就值得懷疑了。因為通常情況下,我們很自然的認為事不過三為好。那么,如何以最少的采集次數達到要求的識別效果?這就是值得考慮的問題。
(2)如何提高產品的識別效果(正確識別率),提升產品質量,這除了與團隊的專業知識相關以外,還與獲取知識的能力有很大關系。例如能不能利用已有的專業知識積累從現有的國內文獻中獲取最新的技術信息,能不能利用國外的技術文獻,等等。這些都是由典型案例所延伸出的值得思考的問題。這些問題有利于開拓思路,使學生對將來的工作和研究研發空間充滿期待。
三、信息與計算科學專業的核心競爭力
信息與計算科學是由多個學科專業合并和綜合而來的,其重視基礎能力,培養能解決實際中信息與科學工程計算應用問題的寬口徑專業人才。考慮到專業的名稱與計算機、信息工程等專業有相似之處,專業導論課程需要闡明該專業與其他專業,特別是一些計算機科學專業、信息工程專業和數學與應用數學專業之間的區別。因此,信息與計算科學專業課程的核心是什么?專業人才的核心競爭力是什么?這兩個問題是無法回避的。針對這些問題,除了上述案例,圖像(信息)的壓縮處理也是一個很直觀的例子。利用圖像壓縮,可以給學生展示壓縮編碼技術、壓縮的算法、軟件開發等,這涉及信息編碼、密碼學、算法設計能力、應用開發能力等。結合這些案例,我們信息與計算科學專業并不是單純的涉及數學基礎課程、建模能力、算法設計或者計算機科學其中的某一方面,它的核心競爭力在于“數學基礎與建模能力、計算分析與算法設計、程序語言與應用開發”這三者的有機融合。單單講某個方面還不足以稱之為專業的核心競爭力。因為專業人才的定位是解決信息與科學工程計算的應用問題,這些實際問題本身與這三方面多有緊密的聯系,單強調某一方面或重視某一模塊容易和上述一些類似名稱的專業混淆。因而,與這三方面相關的數學基礎課程有數學分析、高等代數、解析幾何、微分方程、概率統計等;與這三方面相關的一些專業課程需要凝聚成為專業的核心課程,如數值分析、離散數學、程序語言、數學建模等。
四、信息處理、應用開發中的數學知識
信息與計算科學專業的大一新生對就讀該專業充滿了憧憬。他們能發現數學基礎的老三樣(數分、高代、解幾)但看不到信息和計算的影子,看不出專業的特征和特色,這就需要專業導論課程加以引導。選取信息處理和應用開發中的相關案例來闡述數學基礎知識在解決這些問題中的重要作用,可以使學生對數學基礎知識與實際科學工程問題有直觀的印象,這對學生下決心打好基礎,投入前期課程學習有著重要的作用。如選擇圖像處理中的修補算法、游戲開發中憤怒的小鳥的技術含量為講述案例,則這些應用案例就可結合數學基礎知識來闡述。
1.圖像處理中的修補算法。圖形圖像的基本處理分析方法,如傅里葉分析可選擇進行更為全面的介紹,介紹其在工程領域、數字信號處理、醫學領域的廣泛應用。這樣來看,大一開始學習的分析類課程作為專業的基礎課程確實是名符其實。圖像圖像處理的修補涉及優化模型和優化算法、算法的復雜性等,而這些基本的模型形式――在一定約束要求的前提下,求目標函數的極小值,容易使學生對開始學的分析課程的導數與極值、矩陣等基本知識聯系起來。
2.憤怒的小鳥的技術含量。應用開發形式多種多樣,游戲開發是一種有趣生動的開發過程,許多游戲開發又與數學基礎知識有緊密聯系。因此,選取其中的典型案例進行介紹,容易激發學生的學習興趣,促進學生對數學知識在應用開發中作用的理解。如該例涉及的物體碰撞檢測和連續碰撞檢測與向量及運算、旋轉矩陣、線性變換等數學基礎知識,可以由此進一步介紹物體的移動、壁障和尋路等游戲開發中常見的智能化算法,這些都將和許多基礎知識緊密結合。
五、信息挖掘與算法設計
信息與計算科學專業人才應具有處理實際中信息與科學工程計算問題的能力。當前大數據處理涉及的信息挖掘的相關內容,與信計專業有天然的聯系,特別是挖掘目標的設置、隱含信息的挖掘模型的建立和使用、模型的求解、算法性能分析等,與信息與計算科學中的計算能力、建模能力、程序設計等核心能力模塊要求相連。這方面的熱點案例很多,如可選阿里巴巴大數據競賽、2012年和2015年深圳杯全國大學生數學建模夏令營B題進行展示,其中阿里巴巴大數據競賽可聯系到機器學習算法等。講述這些典型的熱點應用案例,對學生了解專業課程和專業的內涵有重要的指導作用。
綜上,通過梳理信息與計算科學專業導論教學中一些需要澄清的問題,根據教學實踐,從典型案例的視角對這些問題設置的必要性和解決方式進行了分析和探討,剖析了這對于促進學生對專業內涵的總體把握、了解專業應用領域、品味專業學習價值的有益作用。
[ 參 考 文 獻 ]
[1] 楊曉東,崔亞新,劉貴富.試論高等學校專業導論課的開設[J].黑龍江高教研究,2010(7):147-149.
[2] 王曉暉.大學專業導論課開設的目標探析[J].高教論壇,2013(12):69-71.
[3] 王利眾,朱麗平.工科專業導論課教學研究――以“通信技術導論與導學”為例[J].黑龍江教育:高教研究與評估,2015(9):29-30.
[4] 許峰,方賢文,許志才.信息與計算科學專業教學體系的實踐與探索[J].高等理科教育,2007(4):70-73.
[5] 龔日朝.“以特色取勝”建設信息與計算科學專業的新型思路與實踐[J].大學數學,2004(3):12-15.
[6] 蘇麗卿,黃民海.對信息與計算科學專業的認識與思考[J].河北師范大學學報(教育科學版),2008(6):107-109.
[7] 李學勇,王鑫,譚義紅.應用型本科院校信息與計算科學專業人才培養模式[J].長沙大學學報,2009(5):109-111.
[8] 汪富泉.信息與計算科學專業應用型人才培養模式研究與實踐[J].大學教育,2013(18):62-63.
0 引言
1989年,ACM攻關組提交了著名的“計算作為一門學科”報告,報告認為,“計算機導論”課程要培養學生面向科學的思維能力,是學生領會學科的力量,以及從事本學科工作的價值所在[1]。2001年,CC2001將計算機學科劃分為計算機科學、計算機工程、軟件工程、信息工程、信息技術五個分支[2]。2005年,CC2005進一步指出,該課程的關鍵是課程的結構設計問題,ACM和IEEE-CS分別為這五個分支學科設計了相對獨立的課程體系,要求“計算機導論”課程應該以面向計算學科的思維能力,即計算思維能力的培養為核心,為學生的大學課程打好基礎[3]。2002年中國計算機學會教育委員會和全國高等學校計算機教育研究會推出了《中國計算機科學與技術學科教程2002》(China Computing Curricula 2002,簡稱CCC2002),闡明了計算機科學與技術學科的教育思想,對學科的定義、學科方法論、學科知識體系和內容、教學計劃制定以及課程組織方法、畢業生應具備的能力等方面做了系統全面設計,并將計算機科學與技術學科的知識體系結構組織成知識領域、知識單元和知識點三個層次,其中知識領域是知識體系結構的最高層次,共14個領域,下設132個知識單元[4]。
目前,我國國內的學科分支及課程體系一直沿用CC2005和CCC2002,“計算機導論”設計5個知識領域,涵蓋12個核心知識單元,分別是信息技術史、程序設計語言概論、軟件工具和環境、語言翻譯簡介、人機交互基礎、軟件演化、通信與網絡、信息技術的社會環境、職業責任和道德責任、基于計算機的系統的風險和責任、知識產權、隱私權和公民自由。
“計算機導論”是一門計算機專業的引導性課程,開設在學生第一學年的第一個學期。本課程教學目標是:通過本課程學習,要求學生了解計算機科學的基本概念、計算機系統的組成、數據表示方法學和數據加工表示方法等,最終對本專業各個學科的核心內容、各個學科的關聯有全面、概要的認識,為后續的專業學習奠定入門的基礎。同時,“計算機導論”該課程也是一次對學生具體而詳盡的專業思想教育,對學生的專業學習具有啟蒙作用。因此,依托學科課程體系,對《計算機導論》課程進行改革,優化課程內容、打造精英團隊、改進教學方法,培養學生計算思維和實踐能力非常重要。
1 課程教學存在的問題
從計算機學科體系發展背景、計算機導論課程大綱設計、計算機專業的計算機導論實際教學效果等方面分析,計算機導論課程建設主要存在以下問題。
1.1 課程意義認識不足
隨著中學階段信息技術課程的普及,學生對網絡資源獲取日益增多的社會環境下,一些學生和教師對“計算機導論”課程的地位認識不足。學生將“計算機導論”課程與“計算機應用基礎”課程混為一談,在教學管理過程中,學生對大量的專業名詞感覺枯燥,理解困難,學生的學習積極性不高,處于被動接受狀態,缺乏自主學習和創新意識。學生學完后感覺不到這門課程的意義,沒有起到為后續課程打基礎的作用。
1.2 教師對計算機導論課程內容理解不夠,教學內容簡單化
“計算機導論”課程信息量大,教師很難做到每個章節分配合理,重難點掌握恰當,沒有潛移默化的培養學生的學習思維,不能很好地幫助學生系統的認識計算機學科體系結構。教師在面臨繁多的學科體系要求下,很難貫徹執行計算機學科體系的核心思想,在教學內容上只是對核心內容進行簡化和壓縮,生搬硬套教學大綱,完成基本的教學要求。
1.3 教學方式陳舊
在信息化高速發展的環境下,學生習慣了依賴網絡、依賴手機電腦,這時,教師還采用傳統的教學方法,只是簡單的將黑板的“人灌”簡單的改成了PPT的“電灌”,學生還是被動地接受,課堂氣氛沉悶,學生沒有激情,教學效果不理想。
2 課程改革的思路
2.1 依托學科課程體系,以培養學生計算思維為向導構建課程的教學大綱
計算思維是運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。基于計算思維的教學,是指通過建立一種合適的體系,以培養創新型人才為目標,激勵、引導和幫助學生主動發現問題、分析問題和解決問題。在課程教學是以教師為主導、學生為主體的“探究”過程,在教學過程中運用計算思維的方法獲取知識、訓練技能、培養能力、發展個性[5]。
2006年3月,美國卡內基?梅隆大學計算機科學系主任周以真(Jeannette M. Wing)教授在美國計算機權威期刊Communications of the ACM雜志上給出,并定義的計算思維(Computational Thinking)。周教授認為:計算思維是運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。2008年6月,ACM在網上公布的對CS2001(CC2001)進行中期審查的報告(CS2001 Interim Review)(草案),開始將美國卡內基?梅隆大學計算機科學系主任周以真(Jeannette M. Wing)教授倡導的“計算思維”與“計算機導論”課程綁定在一起,并明確要求該課程講授計算思維的本質。根據ACM和IEEE-CS的要求,“計算機導論”課程應該以面向計算學科的思維能力,即計算思維能力的培養為核心,為學生將來的大學課程打好基礎[6]。
“計算機導論”在課程大綱設計中,依托學科課程體系,以培養學生計算思維為向導,力求以嚴密的方式將學生引入計算學科各個富有挑戰性的領域之中,為學生正確認知計算學科提供方法,為學生今后深入學習計算機的課程做鋪墊。下面列出“計算機導論”課程教學大綱。如表1所示。
如表1所述,“計算機導論”課程的課程大綱中包含了學科的宏大視野和學科各分支領域具有的共性的核心概念、數學方法、系統科學方法、社會與問題,要求學生理解計算思維,認識學科形態,培養專業基礎素質。課程大綱體現了在不斷地提出問題、解決問題的過程中,加強學生運用計算思維進行問題求解能力的訓練以及邏輯思維能力的培養,結合專業特色,將計算思維應用到各個專業問題的解決方法中去。
2.2 教學內容模塊化,以培養學生實踐能力為目的改變教學表現形式
依據3.1中構建的課程大綱,將“計算機導論”的所有教學內容分模塊以不同的課堂形式表現。下面列出分模塊的“計算機導論”教學內容及教學表現形式。如表2所示。
2.3 打造可持續發展、創新型的教學團隊
“計算機導論”需要解決的主要問題是讓學生了解學科發展歷史,學科最新發展方向,職業基本行為規范和學科所要學習的內容,因此需要教師能夠融會貫通的對“計算機導論”所設計的計算機學科知識進行系統的講解,并能夠跟蹤學科的科研動態,了解目前的重大科研成果,通過對前沿科學內容的講解,開拓學生的視野。因此,“計算機導論”教師團隊的教師必須教學經驗豐富,“計算機導論”中所涉及的知識映射的單門課程需要有循環教學2-3遍的教學經驗,能夠非常清楚后續各課程之間的銜接關系,準確地把握各類課程的引導性內容和重要性內容,在教學過程中潛移默化的培養學生的計算思維能力。
教學團隊由教學經驗豐富的教學型專業人員擔任課程負責人,以中、青年骨干教師為主體,形成由教授、副教授、講師、助教組成梯次合理的隊伍。教學團隊中有教學效果優秀、教學經驗豐富的名師。
課程負責人熟悉各個教學環節教育改革趨勢,能夠協調和凝聚團隊成員的力量,實現優勢互補,指導團隊成員在課程建設、教材建設、教學內容、教學方法和手段或實驗、實踐教學等方面的教育教學改革中取得成果。
“計算機導論”教師團隊的教師要求掌握各種課堂技巧,根據不同的章節內容特色,靈活運用各種教學方法,用通俗易懂的語言描述繁雜的專業內容,調動課堂氛圍,激發學生學習“計算機導論”的興趣,讓學生正確認識本門課程的重要性。
教學團隊成員要求具有創新性思維,在間教學過程中進行專業學術探討與論爭、教學方法交流、教學經驗溝通等,產生教學實踐改革的創新思考,并在教學實踐中逐漸實施,形成通過教學團隊成員的創新精神來促進課程發展和培養具有創新意識教師的良性循環。
2.4 合理利用網絡資源,創造交互式課堂
根據上文所描述的模塊化的教學內容和教學形式,在課堂教學過程中,以學生為中心,采用理論、實踐(2:1)的形式組織課堂教學。理論課堂以講解基本理論知識為重點,幫助學生運用學科數學思想梳清整個學科脈絡,建立系統化的認知模型。實踐課堂以“任務驅動”的形式組織教學,以團隊小組的形式進行考核。課堂教學方式是:①教師引導組長運用關注點的計算思維指導組內的分工,將一個復雜的題目演變成一系列的子模塊;②各組員定期交流各自完成的情況,對于過程中遇到的問題;③教師引導學生運用計算思維的方法進行抽象、分析;④通過網絡等各種途徑進行自主檢索、探究、思考、討論;⑤最終形成問題的求解思路;⑥在學生完成任務后,教師引導學生進行知識的歸納和總結,并演示、講解和答辯相結合進行總結評價,加深學生對知識體系的理解。通過這種課堂組織方式,激發學生的求知欲,改變學生由被動學習為主動獲取知識,提高學生的學習主動性。
隨著互聯網的普及和學生對計算機技術的應用,學生可以通過互聯網去使用優質的教育資源,不再單純地依賴授課老師去教授知識。而課堂和老師的角色則發生了變化。老師更多的責任是去理解學生的問題和引導學生去運用知識。1/3的時間課程教學中,除去需要用實驗驗證計算機學科中的一些核心概念和學科形態外,如:計算機的體系結構在最新的計算機產品中的應用問題,第三次數學危機,職業道德,計算機未來的形態等問題均可以采用“任務驅動”的形式授課。學生需要課前根據老師布置的范圍了解和學習相關的知識,形成小組總結性文字,老師需要根據學生的實際水平和課前學習效果組織課堂討論,引導學生計算思維的方式構建學科脈絡,拓展學科視野。
理論教學與任務驅動實踐教學有機結合,充分調動了學生的學習積極性,促進了學對知識的理解,訓練了學生的計算思維,培養了學生的創造力。
3 小結
論文通過對“計算機導論”課程的課程大綱梳理、教學團隊建設、教學方法改革,在當前“計算機導論”教學中注入了新的思路,體現了以培養學生實踐能力的教育思想。
【參考文獻】
[1]Denning P J, et al. Computing as a discipline. Communications of the ACM, 1989,32(1)[J].
[2]ACM/IEEE Curriculum 2001 Task Force. Computing Curricula 2001, Computer Science. IEEE Computer Society Press and ACM Press,2001[J].
[3]The Join Task Force. Computing Curricula 2005. The Overview Report. A cooperative project of ACM, AIS, and IEEE-CS. Sept 2005[J].
0 引言
針對國內外計算機教育發展的新動向,教育部高等學校計算機專業教學指導分委員會聯合中國計算機學會教育專業委員會、全國高等學校計算機教育研究會,特別就計算思維能力的培養問題形成幾點認識。計算機專業教育應該在計算思維能力培養中做出表率,將系統化計算思維能力的培養貫穿在計算機專業的教育中。計算機導論是計算機專業的一門先導必修課程,是作為計算機專業學生進入大學后的第一門專業課程,其主要作用可以歸納為“五導”:導知識、導方法、導思維、導意識和導職業。我們認為“導思維”是首要的,也是最為核心的,同時也是最難做到的,“導思維”在引導培養學生計算思維能力的過程中,可以很好地、潛移默化地達到其他4項引導作用。
如何建立計算思維能力的培養要求、實施途徑、評測規范與方法一直是當前計算機教育者從事計算思維研究的一項重要課題。我們結合教學團隊多年的經驗積累,依據計算思維的本質和特征及計算機導論課程的構建目的,從教學內容、教學理念、教學方法及教學評價等方面探討如何在計算思維驅動下對計算機導論課程進行一系列的改革和探索。
1 計算思維與計算機導論
計算思維(Computational Thinking),籠統地講,是指受過良好訓練的計算機科學工作者面對問題所習慣采用的思維方法,體現為在過去半個多世紀以來成就計算機和信息技術輝煌發展過程中行之有效的若干分析問題與解決問題的典型手段與途徑。其具體內涵在近年來發表的文獻資料中均有豐富論述。而有關計算機導論課程的構建問題,在1989年ACM攻關組所提交的“計算作為一門學科”(Computing as a discipline)報告中認為,該課程要培養學生面向學科的思維能力,使學生領會學科的力量,以及從事本學科工作的價值所在。報告希望該課程能用類似于數學那樣嚴密的方式將學生引入到計算學科各個富有挑戰性的領域之中。
2008年6月在網上公布的ACM對CC2001(CS2001)進行的中期審查報告(CS2001 Imerim Review)(草案)中,開始將美國卡內基·梅隆大學計算機科學系教授周以真(Jeannette M.wing)倡導的“計算思維”與計算機導論課程綁定在一起,并明確要求該課程講授計算思維的本質。
綜上所述,計算機導論這門課程不是解決對計算機功能的工具性認識問題,而是要對學生進行專業引導和思維引導,應該以面向計算學科的思維能力,也即計算思維能力的培養為核心。學生如果有了良好的計算思維品質,不管環境、知識需求如何變化,都可以靈活應變,從而為今后的專業學習以及走上工作崗位打好堅實的基礎。
2 計算思維驅動下的課程改革
2.1 學目標,靈活教學內容
美國卡內基·梅隆大學周以真教授認為:計算思維是運用計算機科學的基本概念去求解問題、設計系統和理解人類的行為。它包括了涵蓋計算機科學之廣度的一系列思維活動。計算思維一大特征是數學和工程思維的互補與融合。計算機科學在本質上源自數學思維,其形式化基礎建筑于數學之上。計算機科學又從本質上源自工程思維,基本計算設備的限制迫使計算機學家必須計算性地思考,不能只是數學性地思考。所以計算思維的研究存在多維性,它緊密地同數學、科學和工程結合在一起。另一方面,計算思維建立在計算過程的能力和限制之上,由人和機器去執行,在求解問題時必須從人的認知、心理、思維活動和學科發展角度去入手,故存在研究角度的多態性。
因此,計算思維多維、多態的復雜特征決定了計算機導論課程當前培養方案的多樣性與差異性。當今計算機的理論和技術發展太快,新的知識大約每兩年就會增長一倍,教材根本無法實現實時地對新知識、新技術進行跟進。因此,我們主張教材為輔,“導思維”為主的原則,在統一的數學目標指導下靈活課程的講授內容,留給教師和學生最大的思考空間。沒有了教材的“束縛”,教師有了更多的掌控空間,學生也不會因教科書而將概念固定化,更不會出現臨考抱“教材”的現象。
我們確定計算機導論課程的教學目標是:在學生建立計算機專業學科知識體系框架的同時激發學生的學習興趣及學習的主動性,培養學生的計算思維能力、洞察問題及解決問題的能力,為后續學習相關專業課程、參與創新課題等打下堅實的基礎。在教學內容的劃分和安排上,由于課時有限,我們主張理論教學內容在劃分上盡可能地簡單分明,前后知識可以很好地呼應起來,這樣更有利于知識點的系統化,不會因為章節龐雜、知識點太多而導致學生難于消化。為此將課程的講授內容簡單劃分成3大部分:
(1)介紹計算學科各領域的發展史及前沿,揭示各主要領域的基本規律及相互之間的內在聯系;認識當前社會和職業問題等。
(2)介紹計算機學科中的經典科學問題,初步認識和理解抽象、理論和設計3種學科形態。
(3)講解計算機學科中的核心概念(如算法、數據結構、程序、軟件、硬件、信息表示等),探討研究學科中的數學方法和系統科學方法,培養計算思維能力。
在講授過程中,我們借助精心制作的多媒體課件,結合授課內容和計算思維的培養目標,隨時有針對性地調整和豐富自己的講授內容。例如,講解計算機學科各領域的發展史時,通過引薦吳軍老師的《浪潮之巔》,讓學生對整個信息產業有個整體了解,明鑒信息技術之興衰和發展;而王偉老師的《計算機科學前沿技術》則系統展示了計算機學科各領域中令人激動的前沿技術,揭示未來計算機的發展方向,很好地體現了計算思維及其重要性。
2.2 主張自由文理教育,突顯學生主體
作為國家建設未來的棟梁,需要的不是僅有技能的人才,重要的是有思想、精神、獨立思考能力和良好的身體。技能是容易學的,但一個人的素養和教養不是一蹴而就就能培養的。大學教育的目的應該在于培養學生終身學習的能力,比如閱讀、寫作、計算思維,而不是一時的某項職業技能。如果學生進入大學僅是為了將來的飯碗,那必然會羈絆他的頭腦,抑制他的求知欲。所以大學的專業學習需從“學什么”(內容)轉到“如何學”(過程),將“導思維”放置課程建設的首位。
我們主張自由文理(Liberal Arts)的教學理念,力爭引導一種自由的環境,激起學生主動學習的欲望,成為真正熱愛學習的人,即在沒有外界利益驅使下仍然在學習的人。對于自由的學生,他們的時間,他們的大腦和心靈在學習的時刻才真正受他們自己所支配,這樣的學習過程才可能專注且快樂。
在教學中,我們堅持以學生為本,打破傳統的教師講學生聽的單向模式,在課堂上采用提問式教學,注意引發學生學習的動機;嚴格地遵循計算機學科的發展規律,定期給出具有一定挑戰性的課題,通過分組合作的方式,以師生間討論、辯論的形式,自律地學習獲取知識的方法及分析問題的原則;利用平時的小論文,引導學生收集資料,增強自我學習的能力,建立抽象立體的概念;通過對科學大師的解讀沉淀一種學者的尊嚴和對真理的敬重和向往,培養學生的社會責任心。
2.3 遵從螺旋式組織方式,提升學生思維
若將教學比作爬山,通常的教學習慣是一口氣從山下直線攻頂,而布魯納在《教育過程》中所提出的螺旋式課程(Spiral curriculum)則是繞著山轉,在相同的角度看到的風景雖然都一樣,但每次繞回來時的高度不同,能看到的廣度和深度都不一樣。等到達山頂時學生不僅對山有具體認知,也能掌握四周環境全面性的關聯知識。計算機導論課程幾乎涵蓋了計算機領域所有的理論、技術和研究課題,內容太過廣泛,若前后不能很好地呼應起來,學生往往會因孤立地學習太多的知識點而導致前面學的內容到后面就忘記了,理解起來也相對困難。對于計算機科學這樣一個有機的、龐大的學科體系,教師應該引發學生對計算機學科知識結構的理解,精熟其基本原則、原理,以此產生類化的能力,而不是零碎概念、知識點的描述。
我們在課程實施中,遵循螺旋式課程的組織方式。首先結合教學團隊多年的教學經驗和團隊成員之間的合作討論對課程知識進行合理的結構化;然后從學生認知發展角度出發,沿認知發展的動作表象、形象表象、符號表象3個階段來組織課程內容。講授內容如2.1節所述,知識點在組織安排上前后呼應,螺旋式地擴展和加深,直至復雜、抽象的現代知識領域;最后在教學過程中我們采用合理的教學方式和緊密相連的學習節目來配合教學過程。比如教學中我們注重學習情境的安排,在講授算法時,注重引導學生感受其產生背景,摸索過程,走過什么道路,不同階段產生什么改變,將來的發展趨勢是什么,它還可以做什么改進等。引導學生主動參與學習活動,提供學生更多自行探索的機會,最終實現將“知識個人化”。為使學生站在同一角度看到更大的廣度和深度,我們主張采用團隊教學制。計算機學科發展迅速,應用領域廣,學科交叉和滲透十分突出,而計算機學科教師掌握和積累知識的廣度是有限的,往往限于個別研究方向,為了提高學生的學習興趣,拓展學生的思維和視野,在不同的知識領域會組織邀請相應有所“專”的教師來講授,這樣可以發揮團隊互補優勢,實現對學生全方位的指導,收到良好的人本教育的效果。
2.4 采用分級評價手段,有效監管教學過程
計算思維能力的培養是一個長期的過程,學習和思維不是彼此獨立的,是緊密而互補地聯系在一起的。所以為了內化學生的計算思維能力,我們必須有效監管整個教學過程,對每個個體在不同的教學環節中的表現做出正確評價,這樣才可以實施因材施教,兼顧那些因各種原因而落后的學生。
我們采用螺旋式教學法,非常注重引導學生課前進行預習。在講授新內容之前,我們要求學生課前收集相應的材料加以了解,課堂上通過實施提問式教學,引導學生積極討論,同時依據學生參與情況及時做出相應的評價,對未準備的學生要給予相應懲罰,并在下次課中加重對其進行考察。相應地,在平時作業中我們不會布置常識性的題目,而是根據授課內容布置一些能夠引發思考、對計算機學科整體認知有幫助的題目,這樣就避免了作業抄襲的現象,增加了學生主動思考的機會,教師也可及時捕獲學生思維能力的變化,調整和改進后續的講解內容。
我們所采用的團隊教學制為實施團隊合作式學習提供了很好的平臺。在整個課程結束后,教學團隊中的每個成員會給出一些具有挑戰性和合作性的題目,學生根據自身對學科分支的理解和把握情況來挑選導師,在導師的牽頭引領下開展以小組為單位的研究型學習。學生最終需按照要求提交論文或報告,并在小組內通過上臺演講的方式進行答辯,最終以個人和小組的共同表現綜合給出評定。
1 計算機科學與技術專業的定位與培養目標
我國高等院校早期的計算機學科教育注重學術研究性教育,也就是我們所說的精英化教育。隨著計算機應用的普及,需要大量實踐能力強且上手快的計算機專業人才,高等院校本科計算機科學與技術專業教育,就需要改變傳統的教育思維,應該研究培養體現職業特征的應用型人才的培養模式,我校計算機科學與技術專業以基礎適度、口徑適中、強化應用、提升能力、注重特色的人才培養規格為要求,以培養應用型人才為目標。
我校計算機科學與技術專業的培養目標是:培養德、智、體、美全面發展,知識、能力、素質相互協調,系統地學習掌握計算機科學與技術,能從事計算機應用軟件的開發、計算機系統軟件的分析和維護、計算機網絡的管理與維護,計算機硬件、嵌入式系統以及接口設計、調試、安裝與維修,獲得計算機科學和技術領域工程師基本訓練,具有安全意識、實踐能力、創業精神,適應社會發展需求的應用型高級專門人才。
2 計算機科學與技術專業應用型人才培養的原則
關于計算機應用型人才培養,是發展和建設專業所必需的。在應用型人才的培養過程中,需要以市場為導向、特色建設、創新的原則,對培養模式進行深化,進而達到教學改革與發展的需求。
2.1以市場為導向的原則
隨著信息技術的發展,計算機已成為社會發展的原動力。計算機具有實用性的特點,注重專業與市場的對接,這樣才能更好地發揮計算機科學與技術專業的教學目標。面對多元化的經濟市場,實現人才培養模式與市場相結合,以市場為導向,使得教學活動更具有針對性和職業性。基于市場需求,在專業課程的設計上,要具有實效性,以市場的需求面來確定教學的內容面,這樣在培養方式和內容上,有助于應用型人才的培養。
2.2 專業建設的特色化原則
隨著高校計算機科學與技術專業的開設增多,其競爭性加強,社會對于其的要求也增加。因而,在應用型人才的培養中,關于特色專業的建設非常重要。專業建設的特色化,可以更好地體現應用型,是高校學科建設的重要方面。在計算機專業的建設中,要體現學科的細化,教學方面進行明確。諸如,運行、系統建設、維護等相關技術的教學培養,是應用型人才培養的重要方面,這點也是專業細化下,專業特色化建設的重要方面。
2.3教學內容的創新性原則
計算機科學與技術發展迅猛,其課程內容具有技術新、變化快的特點。計算機教學內容的多變性,在于教學主體未變,其相關技術的創新性發展。在應用型人才的培養中,關于教學內容的創新非常重要,教學內容的創新,可以為專業培養提供多元化的平臺,進而實現綜合性的培養模式。同時,教學內容的創新,還需要體現市場的需求,在教學活動之中滲透職業教育,在掌握理論知識的同時提高實踐能力。這樣,學生的社會生存能力得到更好地培養,適合現代教學改革的需求。
3 理論課程體系的構建
計算機科學與技術專業要實現其人才培養目標,課程是其采取的重要手段,即課程是專業教學的重要載體。課程體系是課程及進程的總和,是同一專業不同課程門類按照門類順序排列,課程門類排列順序決定了學生通過學習將獲得怎樣的知識結構。課程體系是教學理念的重要體現,是培養目標的具體化和依托,它規定了培養目標實施的規劃方案。因此,構建專業的課程體系是人才培養的關鍵,它關系到學生獲得哪些方面的知識和能力、如何強化應用、怎樣體現專業特色。
3.1 通識教育課程
通識教育模塊分為必修模塊與選修模塊。必修模塊分為思想政治理論模塊、軍事理論模塊、公共體育模塊、公共外語模塊與數學模塊。它們是大學生知識結構和能力素質培養中的基礎部分。
通識部分選修模塊是根據當代大學生素質培養和知識結構自我構造的需要而設置的一系列課程,按課程的學科性質將選修通積教育分為人文素質模塊、自然科技模塊、經濟管理模塊、藝體健康模塊等四大模塊,目的是提高學生的文化品位、審美情趣、身心健康、人文素質和科學素養。
3.2 學科基礎課程
包括各相關專業的基礎知識、基本理論、基本技能的課程,其目的是夯實學科基礎。
具體課程包括計算機導論、C程序設計、線性代數、概率論與數理統計、電路與電子學、離散數學、數字邏輯與數字系統、數據結構。具體分為以下兩個課程群:①數理基礎:線性代數、概率論與數理統計、離散數學;②技術基礎:包括電路與電子學、數字邏輯與數字系統等硬件基礎課程群和計算機導論、C程序設計、數據結構等軟件基礎課程群。
3.3 專業基礎課程
專業基礎模塊是按社會需求和專業學科發展需要所開設的反映人才知識結構要求的若干門課程,主要包括該專業的基礎知識、基本理論、基本技能的課程,其目的是夯實專業基礎。分為軟件與硬件兩個課程群,包括必修和選修課程。
必修課程包括面向對象程序設計(C++)、匯編語言、計算機組成原理、操作系統、數據庫原理與應用、編譯原理、數據通信與計算機網絡、接口技術、軟件工程等。
選修課程包括計算機圖形學、網頁制作、JAVA程序設計、LINUX操作系統、JSP網絡編程和計算機系統結構。
3.4 專業方向及專業前沿課程
專業方向及專業前沿課程是根據社會上實際的人才崗位群需求,在專業基礎課程的基礎上從深度上體現該專業內涵和特色的一系列面向應用的課程,主要是指與某一特定的工作或某一類職業相關的課程,目的是為學生進一步擴充和強化專業相關知識和技能,進而培養學生解決實際問題的能力。包括計算機應用方向和嵌入式系統方向。
計算機應用方向包括必修課和選修課,其中必修課有.NET構架及應用和ASP.NET網絡編程兩門課程,選修課有J2EE技術、微機與外設維護維修技術、Delphi程序設計、多媒體技術、數字圖像處理、ORACLE數據庫、電子商務概論和UML建模技術等課程。
嵌入式系統方向包括必修課和選修課,其中必修課有嵌入式系統基礎和嵌入式Linux應用開發兩門課程,選修課有單片機原理及應用、嵌入式操作系統及其程序設計、嵌入式處理器體系結構、移動設備軟件開發、嵌入式系統測試技術、嵌入式網絡協議及應用、WinCE嵌入式軟件開發、嵌入式數據庫和通信網絡與總線技術。
4實踐教學環節
4.1實踐課程體系的構建
應用型本科實踐課程教學體系應包括普適基本技能層次、學科專業技能實驗層次、專業應用與綜合技能實踐訓練層次在內的三層次實驗課程體系。
1) 普適基本技能層次
普適基本技能層次開出預備性實驗基本技能課程實驗,使學生盡早進入實驗室,盡早轉變學習方式,盡早增強工程意識。這方面設置有物理實驗和認識實習。
2) 學科專業技能實驗層次
學科專業技能實驗層次開出二級學科及其相關專業實驗課程,通過基礎科學原理課程的實驗訓練,養成科學規范的研究習慣,掌握實驗設計、裝置準備、數據采集和處理、結果分析和報告的方法。包括計算機導論、C程序設計、數據結構等課程的上機編程、電路與電子學和數字邏輯與數字系統兩門課程的硬件實驗。
3) 專業應用與綜合技能實踐訓練層次
專業應用與綜合技能實踐訓練層次通過專業課程實驗、課程設計、生產實習、畢業實習和畢業設計等綜合實踐訓練,培養學生分析問題、解決問題的能力,達到學以致用的目的。
在生產實習和畢業實習實踐環節,廣泛開展校企合作,以項目實訓為主,著力提升本專業學生的就業能力和就業質量。例如,本專業與工信部人才交流中心簽署了合作共建協議,實施藍橋計劃,聯合培養JAVA程序高級開發人才。與北京達內科技有限公司合作培養C++程序設計高級開發人才。另外,與北京安卓易科技有限公司、京東翰林教育集團、匯眾益智(北京)教育科技有限公司等共建校內實習實訓基地,雙方教師共同指導學生的生產實習、畢業實習,取得良好效果,基本實現了應用型人才與工作崗位的無縫對接。
4.2課外素質拓展與創新實踐
課外素質拓展與創新實踐為鼓勵學生參加課外科研創新、專業技能訓練和社會實踐活動,培養學生實踐和創新能力,要求每個學生必須取得課外素質和創新項目4個學分,此類學分單獨記載,超過的學分可以替代相應選修課學分。
中圖分類號:G642 文獻標識碼:B
1引言
“算法設計與分析”是計算機科學與技術學科的核心課程之一,受到越來越多的重視。對于一個計算機專業的學生,學好算法課是必要且是必須的。“算法設計與分析”這門課程的主要目的不僅是講授計算領域中不同問題的標準算法,更重要的是分析其算法復雜度,并且在諸多可行算法中選擇一種時間或者空間效率最高的方法。美國著名算法大師Donld Knuth認為“計算機科學就是算法的研究”,他主持設計的TeX排版系統被譽為是“不存在Bug的系統”,這是以大師嚴密的算法設計基礎為保證的。前微軟高級副總裁李開復博士認為“計算機科學實質是人工智能”,而人工智能則是模擬人類思維的一種算法科學。計算機算法的應用已經遍及人類社會的各個領域,包括計算機軟硬件機器學習、電信及互聯網、一般制造業、經濟與金融業等。算法技術不僅在計算機領域,而且在其它理工及社會科學領域都有極其廣泛的應用。任何問題的求解,都離不開一般性的算法設計原則,在筆者執教的學校,數學和信息安全兩個非計算機專業已將該課程列為必修課程。因此,提高“算法設計與分析”課程教學水平有著極其深遠的意義和重要的作用。
2教材選擇
近年來,國內引進了一些優秀的國外教材,其中的《算法導論》是國際上被引用頻率最高而且知名度也最高的專著,但是由于它篇幅過長,在國外多用于兩個學期的教學課程,因此難以將該教材系統地用于學時有限的本科教學;《算法設計與分析》是美國工程院院士UIIman等三位大師合著的優秀教材,該書的目的是將算法領域的基礎研究結果進行綜合,重點在于對算法思想過程的理解,而不是算法的實現細節和具體的編程技巧。但是該書內容和習題難度都較大,因此更適合作為研究生教材。國內的專家王曉東和周培德所編寫的教材也很優秀。這些教材都被我們重點推薦給學生作為參考書。
出于上述考慮,我們最終選擇了沙特學者M.H.Alsuwaiyel所著的《算法設計技巧與分析》作為教材,該書基本覆蓋了傳統算法設計的主要內容,此外還包含了概率算法和近似算法等一些基本內容,這些內容在傳統教材中并不多見,是一些高端算法經常使用的方法。雖然該書不是歐美傳統名校教材,但作者在南加州大學攻讀獲得碩士和博士學位,因此該書吸收了歐美優秀教材的風格,且文筆簡潔流暢。該書的內容及習題難度適中,便于課堂教學及自學,是一本適合本科教學的好書。
如果一個本科生能夠學好本教材,并在后面的碩士階段,學好UIIman的《算法設計與分析》,之后再將《算法導論》學習好,則必將打下堅實的算法理論基礎,為終身的職業生涯所受用。
3興趣培養
本課程的教學對象是大學理工科三年級學生,要求他們不僅具備數學分析、概率及線性代數的基礎,而且具備離散數學和數據結構等計算機專業基礎知識。很多學生剛學過數據結構,翻開算法教材,有似曾相識的感覺。教材中確實有部分章節如數據結構,排序算法,圖的遍歷等取材于數據結構課程。因此會有些學生學習熱情不高,認為是在學習重復的課程。
針對這一情況,首先我們會教育學生兩課程的目的是不一樣的。數據結構的目的是教會學生如果對現實世界中的事物及對其信息處理過程建立數據模型;而算法設計課程的重點是算法的效率問題,其主題是算法的空間和時間復雜度,主要論述如何運用算法技術改進已有一些算法的效率,或者對復雜問題進行求解。
近年來,計算機硬件和軟件技術發展迅速,CPU、外存、內存的性能在持續提高,價格卻大幅度下跌。因此有很多人認為,軟件的效率已經不再重要了,只要提高計算機系統的配置就足夠了。這種觀點顯然是錯誤的。
我們在第一節的緒論課中引用《算法導論》的例子,深入淺出地闡明了算法效率的重要性。設有兩個排序算法:其一是插入排序,時間復雜度為c1 n*n, c1是一個不依賴于n的常數;其二是歸并排序,時間復雜度為c2 nlog n,c2是一個不依賴于n的常數,一般情況下c1< c2。n是待排序數列的長度。對于這兩個實質上屬于不同數量級的算法,很多人并未真正感覺到log n比n優化多少,甚至當n較小時,插入排序比歸并排序還要快速一些。但是我們必須認識到,當n逐漸增大到一定數值以后,無論c1比c2小多少,歸并排序均比插入排序快速。在大規模數據集上排序結果的對比,則效果更為顯著。假若在高性能計算機A(10億指令/秒)上運行插入排序,而在低速計算機B(1千萬指令/秒)上運行歸并排序。此時硬件條件是機器A比機器B快了近100倍;軟件先決條件是 c1值為2, c2值為50;數據集的規模n為100萬。
計算得到:
機器A運行時間為2*(100萬*100萬)/10億=2000秒
機器B運行時間為 50*100萬*lg(100萬)≈100秒
結果是驚人的,用了快100倍的機器處理相同的數據集,反而慢幾乎20倍。如果數據集大10倍為1000萬,那么機器A要算2.3天,機器B只要20分鐘,這一差距是令人震驚的。
事實上,算法技術的發展沒能跟上硬件的發展,其發展空間還很大,盲目崇尚硬件建設而忽視算法技術的觀點是錯誤的。
在電信應用中,雖然硬件和軟件技術發展很快,但是用戶的需求更是呈爆炸式增長。一個國家網內就可能有成百萬實時在線用戶,每秒幾十萬次用戶交互發生,夜間有成千萬的話單記錄要處理。當一臺內存中存放近百萬用戶資料,則浪費16個字節就是浪費16M空間。如果記錄的數據結構及處理算法設計不合理,則內存很容易不夠用,大量工作任務會被拋棄。要在這樣的平臺軟件上構建軟件,必須對每個字節空間、每個計算機指令的使用優化到位。否則,即便有先進的計算機系統,一般的軟件技術是無法承受高性能、高容量計算的需要的。算法技術能支持開發人員在軟件設計階段從理論層面保障系統的效率達到最優。
經首次引論性教學,絕大多數同學認識了算法課程重要性,明確了學習目的,獲得了較好的教學效果。
4理論教學
課程教學組在教材內容上選擇了以下內容:
(1) 算法分析基本概念,數學預備知識。這些都是本課程工具性方法。
(2) 堆和不相交理論。介紹了能有效實現優先隊列的數據結構。
(3) 歸納法、分治、動態規劃。介紹了計算機技術中十分重要的遞歸為主題的設計技術,遞歸要求能夠將待解問題抽象為遞推表達式,確定初試值和遞推終止條件后就能將復雜問題化解為嵌套的簡單問題。
(4) 貪心算法。介紹了如何求解最優化問題。
(5)NP完全問題。介紹不確定性圖靈機在P時間內能解決的問題,這類論題對于培養學生將來思考問題復雜度是個導論。
(6) 回朔法。介紹有組織的窮盡搜索算法,對一些問題尤其是解空間很大的問題有效。我們介紹了3著色、8皇后等經典問題。
(7) 概率算法和近似算法。一般性介紹近20年來算法研究迅猛發展的領域,以擴展學生知識面,但不做考核要求。
其他內容如數據結構、圖遍歷等是數據結構和圖論課的內容,本課程內不做講解,供學生預習課程時選讀;對于域指定問題的迭代改進和計算幾何技術等高級課題,推薦學生根據興趣自學。
近年,越來越多的國內高校主張雙語教學。我們也有這樣的規劃,但是考慮課程有一定深度,三年級本科生英語運用還有限,為此達到最好的教學效果,在教學中先采用中文教學。但是我們鼓勵學生同步閱讀英文版教材,以更好地適應未來科研和國際化軟件研發的需要。
5科研方法及實踐能力培養
科研式教育并不是新生事物。在二十年前,我國清華大學、中國科技大學等名校就對高年級學生講授研究生課程,并進行導師制研教結合型教學,使得很多學生讀研時就能取得優秀的成果。作者所執教的是重點工科院校,有很多有利的因素便于我們展開科研式教學:一是有超過60%的學生主觀上有本科畢業后繼續深造的愿望;二是學校有豐富的圖書館資源,能全文檢索CNKI、碩博士論文、IEEE、ACM、ELSERVIER、SPRINGER等中外優秀電子數據庫。在教學中,作者也將在科研中讀到的一些新穎實用且難度適中的論文摘錄下來介紹給學生,并將自己研究生階段的學習方法介紹給學生。除了閱讀教材,我們還鼓勵學生讀一些高端的雜志,例如計算機學科領域的四大學報,ACM期刊,Software Experience and Practice,Information Processing Letter等刊物,從其中檢索感興趣的論題。讀核心期刊有幾點好處:這些刊物審稿嚴格,文章無論是學術性、前瞻性、理論正確性及寫作水平都有保證;減少檢索的開銷。讀者可以先在這些高水平雜志中找到自己感興趣的主題后,再廣泛檢索與主題相關的其它刊物或會議文章。引導學有余力的本科生讀高水平論文并不是過高要求,算法設計及數據結構教材中大部分章節內容其實也都是來源于前二十至五十年的國際知名算法學術期刊,其中選擇ACM、IEEE及ISAM雜志內容的比例最高。現在的一些學術期刊中刊出的優秀算法,過幾年就會被大量的引用或實際應用,也許再過十至二十年后就會被引入未來的教材之中。
我們認為,在本科高年級展開研究式教學對學生長遠發展有好處。對打算深造的同學,可以潛移默化地引導他們思索自己未來的發展方向,有很多成功的學者就是在大學受到某門課程老師的影響而走上科研道路的。科學研究是一個漫長的過程,很多工科博士生學習到第三、四年后才開始發表一級論文,很多碩士生畢業前才急忙撰寫可發表成果。而同時有些博士生入學兩年就能取得豐碩的成果,很重要的因素是他們在本科高年級階段就培養了研究型思維,為以后深造明確了方向并作好了理論準備。如果本科階段就培養研究型學習方法,那么在日后深造過程中多出成果就是水到渠成的事。而如何培養學生良好的研究習慣,正是我們教師要不斷探索的論題。
重視理論而實踐不足,是我國高校普遍存在的問題。
在國際上,知名的軟件鮮有來自中國人的原創。所以我們要更加重視培養學生實踐能力。
實驗環節,我們布置了基本的排序、遞歸、貪心、回溯等論題的實驗,鼓勵學生用不同的編程語言實現,不僅僅是單純的算法實現,最好能夠編制出實用美觀的界面,將算法更友好地呈現出來。無論以后的工作或者深造,目標是可應用或者可發表的成果,都需要研發者具有較高的實踐能力。我們認為實踐與理論教育是并重的。
6結束語
通過四年的教學實踐,學生對此課程實踐的參與度越來越高。通過教育方法的不斷改進,學生的課程成績也一屆好于一屆。更為重要的是,通過啟發引導式教育,很多同學開始萌發研究型思維,課余經常向老師提問,有的問題有較高難度,老師都要回去研究資料才能解答。在來自本校新入學的碩士生中,不少同學反映受益于此課,有些同學讀研究生后不久就在一級學報上發表了算法類論文,這也正是我們當初所期待的。我們教師仍然要不斷提高自身科研水平,并將研究成果及方法引進課堂,提高教學效果和質量。
教學中,還發現一個現象,數學系的學生比計算機系的考試成績要高一些。最簡單的因素,是他們理論思維能力更強,如何因材施教,改進教學方法及增強工科學生學習本課程能力,是我們課程教學組今后要探索與研究的方向。
參考文獻:
1引言
隨著經濟和信息技術的發展,計算機科學與技術專業已經發展成為我國招生規模最大,培養學生最多的專業之一,計算機專業不僅需要高層次的計算機科學家和研究員,更多需要的是系統掌握計算機科學理論、計算機軟、硬件及網絡知識的應用型人才,計算機專業教育應以人才市場為的導向,融合在相關學科的知識,滿足經濟社會發展的對新型復合型人才的需求。在社會對計算機人才的需求呈現多元化的今天,對基礎扎實,具有過硬的技術背景,又有較強實踐能力和有較強市場意識的應用型計算機人才的需求旺盛。因此,從商科類院校的實際特點出發,探索商科類院校的計算機科學與技術專業人才培養及特色,突出特色和優勢,是值得認真研究和需要亟待解決的問題。
2明確人才培養目標,滿足人才市場需求
國家信息化的發展步伐在加快,信息產業對人才的需求在進一步增加,從人才就業形勢來看,一方面用人單位急需實踐能力強,學有所長的計算機人才,另一方面又存在計算機專業的畢業生找不到理想工作的問題。究其原因,主要是計算機專業畢業生的知識結構與用人單位的需求存在一定的距離。計算機專業培養的人才應該是熟練掌握計算機軟件開發技術,精通計算機程序設計;掌握計算機網絡軟硬件技術,能夠從事計算機網絡應用技術開發和網絡編程技術;掌握計算機硬件技術基礎,具備計算機硬件或產品開發的潛力;并且通過對上述三個方面知識的選修課程模塊使學生在某一個方面學有所長。商科類院校計算機科學與技術專業應該結合現代商科特色,與經濟、管理等學科結合,滲透和交叉,培養出特色鮮明并且有競爭優勢的學生。
3培養目標與專業特色
商科類院校計算機科學與技術專業要堅持為經濟建設和社會發展服務。人才培養目標可以確定為:本專業培養德、智、體、美全面發展,系統掌握計算機科學理論、計算機軟硬件及網絡理論及應用知識;基礎扎實,綜合素質高,實踐能力強,具有市場意識和創新精神,能夠在企事業、政府部門、學校等單位從事計算機軟件、硬件、網絡系統的研究、開發和管理等工作的應用型高級技術人才。
商科類院校的計算機專業,培養的是“應用型”人才,通過自身已經存在的商科人文環境,著重培養學生的學習、分析與解決問題、開展創新活動的能力,使學生不僅有計算機軟、硬件及網絡應用知識,又有經濟和管理的知識背景,使學生既懂計算機技術,又懂得一些經濟和管理方面的知識;當然,培養出來的學生首先應該符合計算機專業人才培養規格要求,學生學有所長;同時,和其他院校相比又應具有商科知識背景,能夠在相關專業領域從事信息技術服務、技術管理和市場開拓工作。使學生既懂技術,又會經營管理。
4商科特色的應用型計算機人才培養目標的實現
商科特色的應用型人才培養是由教師教學、學生學習、培養目標、培養模式、教學管理、教學計劃、教學內容、教學方法、教學手段等多個方面共同作用來實現的。2006年9月,教育部高等學校計算機科學與技術教學指導委員會編制了《高等學校計算機科學與技術專業戰略研究報告暨專業規范(試行)》,由高等教育出版社出版,其中提出了4個參考的專業方向,即計算機科學、計算機工程、軟件工程以及信息技術。商科類院校計算機科學與技術專業適合信息技術方向。
4.1課程體系的設置原則
在培養方案和教學內容安排時,即要注重基礎理論、基本知識、基本技能的培養,又要突出商科特色,還要注重實用技術與工程開發能力的培養。計算機科學與技術專業培養的學生首先應該滿足人才培養規格要求,在計算機軟硬件和網絡方面有較扎實的基礎和較寬的知識面;學生要熟練掌握軟件編程技術、計算機網絡及網絡設備的配置和使用和計算機硬件系統或產品的開發潛力,能夠解決生產、生活中的實際問題的能力;課程設置可以從計算機軟、硬件及網絡三類課程入手,構成課程體系和課程模塊。在商科特色的培養方面,要注重學生經管、管理知識和理念的培育。通過教學計劃設置商科課程,讓學生了解企業經營和管理的實際問題,通過講座或案例,讓學生了解現代企業經營管理模式,通過成功IT企業的案例作為現實教材,使學生在經營、管理和創業等方面能夠學以致用。通過實踐教學使學生具有較強的解決問題能力,獲得一技之長,能夠結合企業的實際情況,解決生產中的實際問題,縮短企業對人才需求的距離。
4.1.1專業的核心課程設置
為了滿足計算機科學與技術專業人才培養規格,在專業核心課程的設置方面要滿足人才培養規格的需要,開展與各有關課程配套的教學大綱、教材建設工作,把本學科領域前沿的優秀學術成果增加到教學內容中去。如下表所示。
4.1.2商科特色的建設
商科類院校計算機科學與技術專業,在培養方案中要體現商科背景的培養。主要通過六個層次的教學實現,首先,在公共基礎課中開設經濟學通論、管理學通論二門課程;第二,在人文科技選修課中,限制學生選修6個學分的經濟管理類課程;第三,在專業選修課中開設財稅實務、項目分析與策劃、行業營銷、企業登記運行等專題講座;第四,在獨立實踐教學環節中,設置計算機市場調研、電子及計算機產品營銷實踐等實習環節;第五,在專業課中,結合學科建設的優勢,開設電子商務技術、信息管理等方面的課程;第六,鼓勵學生參加經濟、管理類學術交流活動,輔修經濟管理類第二專業;發揮商科類院校的特色。
4.1.3實踐教學體系建設
實踐教學通過課程內實驗、獨立開課實驗、實習、課程設計、畢業設計、第二課堂、創新學分設置等實現。獨立的實踐教學環節,如計算機導論實驗、C語言程序設計實驗、大學物理實驗、面向對象程序設計實驗、計算機網絡工程實驗、大型數據庫系統實驗、計算機市場調研、電子及計算機產品營銷實踐、專業實習、畢業實習、面向對象程序課程設計、數據結構課程設計、網絡工程課程設計、軟件綜合課程設計、畢業設計等。實驗場地可以建設計算機專業軟件和計算機網絡實驗室,建立軟件技術校內實習基地,如建立軟件技術創新實驗室,程序設計基地等。利用社會資源,建設校外實習基地,滿足學生的實習、實踐需要。構建立體的實踐教學體系。
5綜述
商科類院校計算機科學與技術專業特色,通過培養方案開設商科類課程、實踐教學環節、第二課堂、學術交流活動、輔修專業、開設計算機在經濟管理學科領域的應用課程等方法,具體落實學生商科背景、經濟管理的知識培育,發揮商科院校專業教學、科研優勢。
通過建立穩定的校外實習基地,使學生盡早接觸社會,了解當地經濟建設和生產實際需求;提高學生實踐能力。建立軟件技術創新校內實習基地,鼓勵學生積極參加課外科技創新活動,形成良好的科技創新和專業學習氛圍,培養高水平的應用型人才。組織學生參加“大學生程序設計大賽”,全國“挑戰杯”課外學術科技作品競賽等活動,為學生提供更多的科技創新活動機會,提高學生專業學習的主動性和積極性,形成良好的科技創新和專業學習氛圍,促進專業建設和實踐教學工作,培養出高水平的具有商科特色的應用型高級技術人才。
參考文獻
[1]蔣宗禮,王志英,李曉明,孫吉貴,樊曉椏.構建計算機科學與技術專業公共核心課程[J].中國大學教學,2007,(11).
研究高端科學技術的人們,不僅要懂得電子計算機是如何工作的,而且還要知道它是如何制造出來的,要了解它從一個幾十噸重的龐然大物變成今天的筆記本電腦的演變過程;把它當工具使用的人,則只要了解電子計算機的基礎知識,學會編制程序的方法,就能得心應手地開展自已應用領域的工作,沒有必要去過問它是怎樣造出來的;把電腦當作玩具者,則只要知道計算機的操作命令就行了。當然興趣不一樣,玩的方法也就各有特色。科技產品、工具、玩具只是人們在各自使用范圍內對計算機的不同理解,但它顯現出來的本質仍然是一臺不折不扣的電子計算機。
鑒于電子計算機與人們是如此親密無間,電子計算機也就必然從高端科技演變成為人們的基礎知識。2006年3月,曾任美國卡內基?梅隆大學(CMU)計算機科學系主任,現任美國基金會(MSP)計算機和信息科學與工程部(CISE)主任的周以真Jearmette M.Wing教授,在美國計算機權威刊物《Communicatons of the ACM》上,首次提出了計算思維的觀念。計算思維這一觀念提出后,立即得到美國教育界的廣泛支持,并引起了歐洲的極大關注。2007年9月19日,歐洲科學界、工業界和政府的一些領導者還在布魯塞爾皇家科學院召開了一次名為“思維科學――歐洲的下一個政策挑戰”的會議。
在國內,為了緊跟國際學術動態,推動教學理念的更新,全國高等學校計算機教育研究會早在2003年10月31日,就在桂林電子工業學院主辦了全國“計算機科學與技術方法論”專題學術研討會,在熱烈的討論中,也萌發了計算思維的理念。本次會議有來自全國百余所高校的150余位代表參會,還吸引了哲學界、物理學界的學者參加,討論中不僅有相同的觀點共識,也有對立的論點交鋒,會議開得熱烈、成功。大會收到論文100余篇,其中64篇由核心刊物《計算機科學》雜志專輯發表。
5年之后的2008年10月31日,全國高等學校計算機教育研究會又在桂林電子科技大學召開了“計算思維與計算機導論”專題研討會,探討了科學思維與科學方法在計算機學科教學創新中的作用。來自全國80多所高校,包括70多位計算機學院院長、主管教學的副院長在內的近百名專家出席了會議。在本次會議上,桂林電子科技大學董榮勝教授、武漢大學費定舟教授、國防科大李婷婷博士、著名計算機教育家蘇運霖教授、中國人民大學趙總寬教授等分別就有關計算思維與計算機導論、計算思維與計算機方法論、哲學思維、計算思維及科技創新、歷史上重大科學發現與技術創新中蘊含的計算思維、中國古代科學中蘊含的計算思維――算法化思想、計算思維在各學科領域的應用、計算思維在計算機學科各門課程中講授的經驗和體會等內容作了大會報告,探討了在教學過程中如何以課程為載體講授面向學科的思維方法,以及這種講授對國家科學與教育事業發展的作用等。
這兩次會議的核心宗旨是期望促使我國計算機教育界的同行們要更新思維,盡快適應計算機科學領域發生的根本性變革。
2008年6月29日至7月14日,中國國家科學基金委員會組織了計算機科學代表團,訪問了美國的lO所大學和美國國家科學基金會。訪問成員對“計算思維”有了更強烈的感受:中國工程院院士、國家自然科學基金委員會副主任、清華大學孫家廣教授說:“最具有基礎性和長期性的思想是‘計算思維’。這也給中國計算機科學技術的學科建設工作提供了很好的參考”。中國計算機學會理事、國家自然科學基金委員會信息科學部二處(計算機學科)處長劉克教授說:“在大學中推進‘計算思維’這一基本理念的教育與傳播工作也非常必要”。中國計算機學會高級會員、2007年中國計算機學會王選獎獲得者、中國科學院計算技術研究所研究員徐志偉總工程師說:“‘計算思維’就本人了解而言,這可能是近十年來最具有基礎性、長期性的學術思想。這個思想由美國國家科學基金會主管計算機與信息科學與工程學部的副主任珍妮特?文(Jeannette Wing)博士提出。簡言之:計算思維是一種本質的、所有人都必須具備的思維方式,就像識字、做算術一樣;任務是在2050年以前,讓地球上每一個公民都具備‘計算思維’能力。換句話說,以前要‘掃盲’,是掃‘文盲’,在21世紀,要掃‘計算機盲’。當然,要做到這點,必須說清楚什么是計算思維。”他又說:“計算思維這一思想也部分地給出了初步理論,可用于解釋為什么美國正在發生各種學科、教育、科研活動和機構變革的實踐。這也給中國計算機科學技術的學科建設工作提供了一個很好的參考。這個思想還應該更正面地理解,即計算思維的普及可以從科學界、研究界開始,給予科技人員一種新的視角和思維方式。”徐志偉總工程師最后總結說:“計算使人們能夠發現與創新CDI(Cyber Enabled Discovery and Innovation),是實現計算思維的第一個美國國家科學基金會的重大計劃。它的目的是,通過計算思維的創新和進步(包括概念、方法、模型、算法、工具和系統等),對科學與工程領域產生新理解、新模式,創造革命性的研究成果。”
從以上這些論述來看,在2050年以前,要讓地球上每一個公民都具備“計算思維”能力,要掃“計算機盲”。因此,應把計算思維看成是一種本質的、所有人都必須具備的思維方式。國際上已經在大聲疾呼了,我們中國的計算機教育工作者豈能坐視不理,我們應該結合國情,奮起直追!
2010年7月19日至20日,北京大學、清華大學、浙江大學、復旦大學、上海交通大學、南京大學、中國科技大學、哈爾濱工業大學、西安交通大學九所知名高校在西安交通大學舉辦了“C9高校聯盟計算機基礎課程研討會”。教育部高等學校計算機基礎課程教學指導委員會主任陳國良院士親臨大會,作了“計算思維能力培養研究”的報告,并主持了該專題的討論,各有關高等學校計算機基礎課程教學負責人 及骨干教師出席了大會。經大會研究討論后就增強大學生計算思維能力的培養發表了“C9高校聯盟計算機基礎教學發展戰略聯合聲明”。這是個好兆頭,作為全國高等學校計算機教育研究會,我們在表示積極支持的前提下,還要力爭在促進建立“計算思維”的觀念上作出貢獻。
那么,什么是計算思維?
周以真教授指出:“計算思維代表著一種普遍的認識和一類普適的技能,每一個人,而不僅僅是計算機科學家,都應熱心于它的學習和應用。”他又說:“計算思維是每個人的基本技能,不僅僅是計算機科學家。我們應當使每個孩子在培養解析能力時不僅掌握閱讀、寫作和算術(Reading Writing and Arithmetic――3R),還要學會計算思維。”
中國科學院計算所李國杰院士說:“計算思維運用計算機科學的基礎概念求解問題、設計系統和理解人類行為,它選擇合適的方式陳述一個問題、對一個問題的相關方面建模,并用最有效的辦法實現問題求解。”李國杰院士還認為,計算機科學本質上源自數學思維和工程思維。然而,計算思維遠遠不只是為計算機編程,它是抽象的多個層次上的思維,與“讀寫能力”一樣,是人類的基本思維方式。他強調,“計算思維是每個人的基本技能,不僅僅屬于計算機科學家。”他建議,在培養孩子們的解析能力時,不僅要求其學會閱讀、寫作和算術,還要學會計算思維。
因此,我們可以這樣來認識計算思維:計算思維是運用計算機科學的基礎概念來進行問題的求解、系統的設計以及人類行為的理解等,它包括了涵蓋計算機科學廣度的一系列思維活動。計算思維是一種本質的、所有人都必須具備的思維方式,就像閱讀、寫字、做算術一樣,成為人們最基礎、最普遍、最適用和不可缺少的基礎思維方式。
計算思維的普及可以從科學界、研究界開始做起,它能給科技人員一種新的視覺和思維方式。
在大學里推進計算思維這一基本理念的教育和傳播工作是十分必要的,建議面向所有專業的大學新生開一門“怎么像計算機科學家一樣思維”的課程。還應當讓沒有進入大學之前的學生接觸計算的方法和模型。要培養具有“計算思維”能力的中國計算機本科大學生,就需要制定出具有“計算思維”能力特色的教學計劃。因此,對我國現行教學計劃的創新改革已經到了刻不容緩的時候了。我國計算機教育界同行已經在審時度勢地審定和修改現行的教學計劃,發掘新特色,尋找新亮點。
在全民中有計劃、有步驟地進行計算思維觀念的宣傳和普及工作,也應當提上議事日程。美國人已經提出,在2050年以前,要讓地球上每一個公民都具備“計算思維”能力,要掃“計算機盲”。因此,應該把計算思維看成是一種本質的、所有人都必須具備的思維方式,激發人們對計算機領域科學探索的興趣,使計算思維成為一種常識。周以真教授說,“我特別需要抓住尚未進入大學之前的聽眾,包括教師、父母和學生,向他們傳送下面兩個信息:智力上的挑戰和引人入勝的科學問題依舊亟待理解和解決。這些問題的解答僅僅受限于我們自己的好奇心和創造力。”
結論應當是:當計算思維面向所有的人,所有的地方,真正融入人類活動的整體,不再表現為一種顯式哲學的時候,計算思維就將成為一種現實。
綜上所述,不妨把計算思維看成是“基礎的回歸”,把學習計算機科學看成像學習數學或英語一樣的基礎知識。主修數學或英語的人,可以從事各種各樣的職業。主修計算機科學的人,當然也可以從事各種各樣的職業,比如,一個人在主修計算機科學以后,可以直接從事醫學、法律、商業、政治以及任何類型的科學和工程職業,甚至藝術工作。也就是說,在原來的數、理、化、天、生、物六大基礎學科的基礎上,加上計算機科學而成為七大基礎學科。
這里還要闡明幾個概念:
計算思維是概念化,而不是程序化。因為計算機科學不只是為計算機編制程序,而是要像計算機科學家那樣去思維,進而要求在抽象的多個層次上思維。
計算思維是人的思維,是人類求解問題的一條途徑。計算機的思維方式也決不是要人類像計算機那樣去思考。計算機的工作非常機械、枯燥、沉悶,人類則聰穎并富有想象力,是人類創造了計算機,給計算機賦以智能和激情。當人類為自己配置了計算機系統,人類就能夠用自己的智慧來解決那些在計算時代之前不敢嘗試的問題,進而實現“只有想不到,沒有做不到”的境界。
計算思維是數學思維和工程思維的互補與融合,和所有學科的形式化基礎都是建筑在數學之上一樣,計算機科學在本質上也來源于數學思維。又由于人類建造的計算機系統是一個能夠與實際世界互動的系統,計算機科學在本質上又來源于工程思維。由于基本的計算機系統受到的限制,迫使計算機科學家必須進行計算性思考,不能只是單純地進行數學思考,而要開拓視野,用構建虛擬世界的自由來使人類能夠設計出超物理世界的各種系統。
計算思維是人類的思想活動,不是人造的物品,它不只是以人類生產的軟件、硬件等人造物的物理形式到處呈現并時刻融入人們的生活,更重要的是,它是人類用以接近求解問題、管理日常生活、建立與他人交流和互動的計算概念。因此,不能把計算機科學只等同于為計算機編制程序,也不能把主修計算機科學局限于狹窄的就業范圍,更不能認為計算機科學的基礎研究已經完成,只剩下工程實現的問題了。當人們行動起來去改變這個領域的社會形象的時候,計算思維就是一個引導著計算機教育家、研究者和實踐者的宏大愿景了。
計算思維不僅是計算機科學家的思維,它已經不局限于計算機領域,計算機科學家對各種學科都產生了興趣。例如,他們堅信生物學家能夠從計算思維中獲益,計算機科學也確實對生物科學作出極大貢獻,它不僅具有能夠從海量的序列數據中搜索尋找模式規律的本領,最終還能用體現數據結構和算法(指計算抽象和方法)自身的功能方式來表示蛋白質的結構,計算生物學正在改變著生物學家的思考方式。類似的,計算博弈理論正在改變著經濟學家的思考方式:納米計算正在改變著化學家的思考方式;量子計算正在改變著物理學家的思考方式。當然,計算思維不僅僅限于科學家,計算思維應該成為每個人的技能組合成分。可以這樣認為:普適計算之于今天就如計算思維之于明天。普適計算讓今天實現了昨天的夢想,而計算思維將是明天的現實。
計算思維是利用啟發式的推理尋求解答,它可以在不能確定的情況下進行規劃、學習和調度。實質上就是搜索、搜索、再搜索。
計算思維是利用海量數據來加快計算,在時間和空間之間,在處理能力和存儲容量之間進行權衡。我們來看一些日常生活中的事例:當你的孩子早晨去上學時,他把當天所需的東西放進背包,這就是“預置和緩存”;當有人弄丟了自己的物品,你建議他沿著走過的路線去尋找,這就叫“回推”;在什么時候停止長期租用的物品而為自己買一個呢?這就是“在線算法”;在超市付費時,你應當去排哪一個隊呢?這就是“多服務器系統”的性能模型;為什么停電時你的電話仍然可以用呢?這就是“失敗的無關性”和“設計的冗余性。”當計算思維真正滲透到每一個人的生活之中的時候,“預置和緩存”、“回推”、“在線算法”、“多服務器系統”、“失敗的無關性”和“設計的冗余性”等專業詞匯也就成為人們的日常語言了。
計算思維既然與人們的工作和生活如此密切相關,計算思維理所當然地應當成為人類不可或缺的一種生存能力。當今的信息社會已經離不開計算機了,未來的社會一定更需要計算機來加速實現美好的愿景。從事計算機科學技術研究和計算機教育的同行們,我們有責任首先成為具有計算思維能力的先驅者和促進者,大家首先要齊心協力地用計算思維的觀念和能力把自己武裝起來,再用自己的切身體會去培育更多的人們具有計算思維的觀念,再把計算思維的觀念提升到計算思維的能力。我堅信:通過大家的共同努力,一定能把國際上流行的“2050年全世界的每一個公民都應具有計算思維能力”的預言變成現實!
參考文獻:
[1]裘宗燕.C++程序設計語言(特別版).北京機械工業出版社,2002.7.
[2]StandleyB.lippman.C++Primer中文版.人民郵電出版社,20006.3.
[3]譚浩強.C程序設計(第二版).清華大學出版社出版,2005.6.
[4]錢能.C++程序設計教程.清華大學出版社,2005.5.
[5]沈美明.IBMPC匯編語言程序設計.清華大學出版社,1993.9.
[6]錢曉捷.匯編語言程序設計.電子工業出版社,2003.
【參考文獻】
[1]翟乃強,隋樹林,匯編語言與C語言及VisualC++混合編程[J].青島科技大學學報,2003,24(B09):136~138.
[2]錢曉捷,匯編語言程序設計(第二版)[M],電子工業出版社,2003.6.
[3]錢春英,淺談C語言與匯編語言混合編程的一些技術[J].南通航運職業技術學院學報,2005,4(1):50~52,55.
[4]郭曉梅,匯編語言與C語言的混合編程及應用[J].南京農專學報,2002,18(4):49~52,62.
[5]普拉塔.CPrimerPlus(第五版)中文版[M].人民郵電出版社,2005.
[6]斯馬爾迪諾.教學技術與媒體[M].高等教育出版社,2008.
[7]教育部考試中心.全國計算機等級考試二級教程——C語言程序設計[M].2010年版.北京:高等教育出版社,2010.
參考文獻:
[1]周以真.計算思維[J].中國計算機學會通訊,2007,(3):77-79.
[2]董榮勝.計算思維與計算機導論[J].計算機科學,2009,(36):50-52.
一、計算思維與離散數學
根據周以真教授的定義,[1]計算思維是運用計算機科學的基本概念來求解問題、設計系統和理解人類行為,包括了一系列廣泛的計算機科學的思維方法。比如,在解釋一個看起來比較復雜的事物時,計算思維通常會采用約簡、轉化、仿真等思維方法;在處理復雜的問題時,通常會采用抽象以及分而治之的思維方法。計算思維采用多視角、最適合的表示方式來表述一個問題,或者對問題的某個特定方面進行建模,從而使問題易于理解和處理。周以真教授認為一個人具備計算思維能力體現在如下幾個方面:給定一個問題,能夠理解其哪些方面是可以計算的;能夠對計算工具或技術與需要解決的問題之間的匹配程度進行評估,能夠理解計算工具和技術所具備的能力以及其局限性;能夠識別出使用新的計算方法的機會;能夠在任何領域應用諸如分而治之等計算策略。
離散數學作為計算機相關專業的一門重要基礎課,它所研究的對象是離散量的結構以及相互間的關系,其內容對后續的數據結構、編譯原理、數據庫原理、人工智能等計算機核心課程都具有非常重要的作用。通過學習離散數學,可以培養和提高學生的抽象思維和邏輯推理能力。而抽象思維和邏輯推理恰恰是計算機科學最常用的思維方法,也可以說是計算思維的核心所在。因此,離散數學教學內容所蘊含的思維方法恰恰體現了計算思維,另一方面,也可以從計算思維所包括的思維方法角度重新審視和梳理離散數學的教學內容,從培養計算思維和解決實際問題兩個角度展開教學內容和教學方法方面的研究,更好地進行離散數學的教學,從根本上解決傳統離散數學教學中所面臨的問題。
二、基于計算思維培養的離散數學教學內容改革
在離散數學的教學中,講授的具體知識點基本都涵蓋了計算思維中其它基本概念和思維方法。比如數理邏輯部分就涵蓋了歸結推理、約簡等常用的思維方法,等價關系涵蓋了軟件測試中常用的樣本點選取的思維方法;代數結構涵蓋了抽象的思維方法。為了更好地展開教學,針對離散數學的教學內容進行了基本概念和思維方法的抽取,并在實際教學過程中將這些計算思維中的方法傳輸給學生。例如,在講解數理邏輯中的歸結推理方法后,將以偽代碼的形式表達其算法,并且鼓勵學生利用LISP語言完成命題邏輯的歸結推理算法。同時,在給出歸結推理算法后,對算法的復雜度、完備性、可終止性等問題進行簡單論述,從而告知學生謂詞邏輯本身是不可判定的。下面兩個表格(見表1、表2)列出了在教學過程中整理出來的部分教學知識點與計算思維的對應關系。限于篇幅,在此不一一闡述。
三、基于計算思維培養的離散數學教學手段改革
在對教學內容進行改革的基礎上,采用何種有效的教學手段展開教學,是能否培養學生計算思維能力的關鍵。在教學過程中,主要采用兩種方法:歸納學習法和案例驅動法。
所謂歸納學習法是通過歸納思維,形成 對知識的特點、中心、性質的認識、理解與運用。在教學過程中,講解完具體的教學內容后,都會將其蘊含的計算思維方法進行歸納總結,并利用其蘊含的計算思維方法去解決一個實際生活中的問題,比如:在講解完代數系統部分的內容后,其蘊含的主要計算思維方法就是抽象,從而可以將有理數四則混合運算、實數運算和復數運算等抽象為代數系統。然后,就可以引入面向對象程序語言中的抽象概念,包括類、對象等,很好地將離散數學中的教學內容與學生所熟悉的編程語言有效地結合起來。一方面,加深學生對教學內容的理解,另一方面,學生能夠靈活運用所學的計算思維解釋現實問題。
歸納學習法是從教學內容出發,提煉計算思維,解決現實問題的過程。而案例驅動教學法則是根據現實問題,使用計算思維引出教學內容的過程。在教學過程中,如果突兀地引入具體的教學內容,而不對其應用場景進行闡述,大部分學生都會感覺無法理解。為此,引入了案例驅動教學法。例如,在介紹最短路徑算法時,一般先引入旅行商問題,然后利用抽象的思維方法將一些無關的因素去掉,進而構建出一個抽象圖的形式呈現出來的模型,自然地引入了最短路徑算法。同時在算法介紹過程中,可以對權值所表示的含義進行解釋,既可以表示時間也可以表示路長,從而產生兩種不同的路徑。最后可以讓學生把這一問題推廣到軟件項目管理中關鍵路徑的處理,激發更深層次的思考。在講述歐拉圖的時候,可以類似地展開案例教學法。首先,給出著名的哥尼斯堡七橋問題,然后利用抽象的計算思維方法忽略橋的寬度、距離等無關的因素,從而對哥尼斯堡七橋問題進行建模,自然地得出歐拉圖的定義。
四、結束語
作為計算機相關專業的核心基礎課程,離散數學為計算思維能力的培養提供了一個很好的平臺,也為更好地展開離散數學教學內容的組織和教學方法的改革提供了思路。本文在分析離散數學教學內容和計算思維的內在關系基礎上,從教學內容和教學手段兩個方面進行了一定的探索,將計算思維的培養有機地結合到離散數學的教學過程中。從教學效果和學生反饋來說,都取得了顯著的成效。然而,在加強了計算思維的培養之后,還要求能夠應用新的思維方法解決具體的專業問題,能夠推陳出新,提出新的思維方法。這些方面僅僅依靠離散數學的教學還遠遠不夠,需要將計算思維的培養理念貫穿于各個專業課程的教學過程中。
參考文獻:
.Communications of ACM,2006,49 (3):33-35.
[2]周以真.計算思維[J].中國計算機學會通訊,2007,3(11).
[3]李國杰.計算思維不僅僅屬于計算機科學家[N].大眾科技報,2009-08-02(B01).
[4]孫家廣.計算機科學的變革[J].中國計算機學會通訊,2009,2.
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2010)17-4728-02
Discussion andResearch of Continuity Mode of Computer Professional English
XIAN Min, ZHOU Li-fen
(Qujing Normal University Computer Science and Engineering College, Qujing 655001, China)
Abstract: Computer professional English is one of the important courses in computer, which plays an important role in improving the computer science students to understand and absorb advanced knowledge in the computer field .Computer Professional English courses which has their specificity, combines computer technology, specialty English and public English. The traditional teaching model of education can not adapt to a new era of education. This paper combinated with the practice, discusses and researches the continuity mode of computer professional English and gives some suggestions and methods
Key words: computer professional English; continuity; teaching mode
隨著科學技術的發展,計算機技術已經滲透和融入到人們的工作生活與學習中。以計算機和通信技術為代表的科技技術已經對世界經濟,文化,軍事,教育,文化產生深遠影響。計算機科學發源于歐美國家,近幾年,我們國家的計算機科學也有一定的發展,但是由于最新的計算機科學技術仍然來自于歐美國家。做為計算機專業人才,必須掌握最新的科學技術,由于計算機技術具有更新較快等特點,一般是一年半就要更新,硬件平均三年半就要提升一檔,這樣的發展速度也就決定了要及時從國外接受先進的計算機技術知識[1]。由于受到語言環境的限制,如果將國外的最新的技術翻譯為中文,首先是時間較緩慢,另外由于翻譯以及計算機知識的固有特點,引進后的技術和文檔會影響技術的理解與應用。于是,計算機專業英語教學成為解決此類問題的一個突破口。計算機專業英語模式的改革與研究會直接影響教學效果。
目前國內的計算機專業英語課程開設在大三年級,大一大二主要學習公共英語,而且該課程是一門跨學科課程,它將計算機專業與英語有機地結合在一起,但又區別于某一具體的計算機專業課程或者一般的英語語言課。正是由于該課程的特點,計算機專業英語的教學模式有探討與研究的趨勢和必要。保留傳統的模式的優點,借鑒新模式,聯系實際,讓計算機專業英語課程成為提高學生英語和專業課程的文化修養的重要途徑。
1 傳統教學模式與連貫性教學模式的區別
計算機專業英語包括英語科技文獻的特點與常見表達方式,計算機專業知識的英語表述,計算機主干學科和研究領域的概論。一般的大學教學采用啟發式教學,在課堂中通過復習舊知識,學習新知識,對知識進行評價這三個教學過程完成基本教學。并且一般的高校在大三進行專業英語的教學,通常只有一學期,這樣對整體提高學生對科技英語和專業英語的能力有限。因此在魏元春,陳偉等人在《計算機專業英語的連貫性教學模式研究》中[2]提及到連貫性模式。受此啟發,在計算機專業英語的教學實踐中,對連貫性教學模式進行探討與研究。
1.1 傳統的教學模式
傳統的專業英語教學模式不僅有時間短,因為一般都在大三一學期進行,同時教師在課堂上一般采取課文教學模式。專業英語教材一般課后都有計算機專業詞匯,很多老師都花上不少的時間進行單詞講解,然后才回到課文進行課文講解,包括課文翻譯。在傳統的教學模式中,學生感到課堂枯燥,老師為如何讓這門課程上得更生動和精彩感到困惑。學生因為有大一大二的英語基礎了,如果再簡單地對專業英語用傳統的教學模式進行課堂教學則不合適。
1.2 連貫性教學模式
連貫性教學模式是指專業英語的教學需要貫穿在每個學生的整個大學過程中。連貫性教學模式旨在將專業英語的教學融入到學生的專業知識中。在此教學模式中,不是簡單的大三的一門專業課程,而是許多課程,教學方式的整體融合。
1.2.1 連貫性教學模式過程
在整個大學教學過程中,四個過程是相互連貫相互輔存,一環扣一環。在大一階段,著重打好公共英語的基礎,但是一般公共英語的老師不會在課堂中引入專業英語詞匯。這就要求專業基礎課程老師在平常的教學中引入一些簡單的專業英語詞匯。例如在大一的《計算機導論課程》中,會涉及到軟盤硬盤等詞匯,專業基礎課老師可以在此時引入floppy disk ,hard disk 簡單英語詞匯。同時對一詞多義的單詞進行強調,比如“block”單詞,即有“塊”的意思,也有“分程序”的意思。另外對專業英語中經常涉及到的縮寫詞進行引入。比如“CPU”,“AI”等詞匯。大二學生在上計算機專業課程的基礎上,增設專業英語課程,在這門課程中除了系統的介紹計算機專業詞匯,語法,特別是要強調科技英語。比如:Table and Graph, Document Conventions, Description and Listing ,Academic papers等,通過引入這些科技英語,讓學生知道科技英語的寫作與翻譯,在此階段,強調中英科技英語的互譯。大三學生即有了專業英語的基礎也有了專業知識的基礎,在此基礎上,增設雙語課程,原滋原味地吸收英文計算機課程與相關文檔,對其能力的提高有個質的飛躍。大四實踐階段,有了前面三年的積累,在這階段讓學生更多的接觸一些國外會議,國外文章,從畢業實踐到畢業答辯盡可能地用全英語進行。
1.2.2 連貫性教學過程實踐方法
通過前面的分析,以及傳統模式和連貫性教學模式的互相比較,取雙方之優點,在具體的連貫性教學過程實踐中,把握教學指導思想,注重實用性,針對性,連貫性,在整個教學過程中從感性認識到理性認識到質的飛躍。
1) 科技英語
加強科技英語的認識,在連貫模式中,不能忽視科技英語的重要作用,科技英語起到為學生打開世界之窗的作用,學生理解科技英語的知識點和寫作,才能看懂國外文章書籍,理解知識。
2) 加強學生中英互譯的能力
由于學生有公共英語的基礎,對普通的中英互譯不感到困難,但是對于計算機英語本身固有的特性,它不僅是計算機詞匯與公共英語的融合,更多的是科技英語的滲透。由于其特殊性,所以要特別加強學生中英互譯的能力。
3) 教師能力的提高
連貫性教學模式不僅要求教師有較強的專業基礎知識還要有深厚的英語功底,這樣才能在教學中潛移默化的把專業英語滲透給學生。學校應多提供機會給教師進修英語,提高口語表達的能力,同時也應當讓教師參加更多的計算機國際會議,了解最前沿知識。
4) 教學方法多樣性
教學方法是教學活動的靈魂,合理有效的靈活多變的教學方法能夠教好地組織教學活動,改善刻板的教學狀態,取得良好的教學效果[3]。在專業英語教學中,不能簡單地通過詞匯介紹,導讀翻譯,總結內容,布置作業等常規教學方法進行教學。可以通過因材施教,課堂上講解中等難度的文章,針對學有能力的同學可以布置一些較高難度的文章進行閱讀理解[4]。適當地引入多媒體教學,在多媒體教學中引導學生如何查閱國外最新成果的文章[5]。
5) 學生思維能力的轉變
通過在課堂上引入中外科技論文進行對比,讓學生比較中外科技論文寫作的區別與特點。英文科技論文一般是在文章中先給出推論或者結論,再一步步介紹原因。學生掌握這種思維方式后,無論是對寫科技論文還是閱讀外文文獻都有幫助。
6) 開設雙語課程
在適當的年級開設雙語課程,雙語課程是以中英文同時為講授語言,但是教材選用影印版國外文獻或原版文獻。通過雙語課程,讓學生不僅學到國外先進的知識,因為這部分知識不需要翻譯,直接理解,不會產生歧義,同時學會西方思維,進一步加深對科技文章的理解,最后學會自主式學習[6]。
2 結論
保持傳統教學模式的優點,借鑒連貫性模式的新理論,在此基礎上,對大學計算機專業英語進行新的教學模式的探討與研究。連貫性模式貫穿于大學四年,連續性很強,需要學校制定相應的教學大綱以促進該模式更好地被執行。該模式的實踐需要教師隊伍和學生隊伍的配合。本文分析了連貫性模式的過程,以及相應過程中應當把握的教學重點,并對教學實踐中的方法進行研究與分析。該連貫性模式不僅為學生打下良好的英文文獻閱讀能力,也為有能力進一步深造的同學提供了更好的平臺。
參考文獻:
[1] 崔玉寶.談計算機專業英語的學與教[J].華北航天工業學院學報,2003,13(4):60-62.
[2] 魏元春,陳偉.計算機專業英語的連貫性教學模式研究[J].科技信息,209(20):3-3,6.
[3] 姚越.淺談計算機專業英語的教學[J].福建電腦,2009(5):202.