孫守卿 劉秋香 蘇晶
【摘 要】《計算機科學》(Computer Science )課程是中外合作辦學方向計算機科學專業的核心基礎課程,其理論性強,內容抽象。本文從如何搞好課堂教學,針對中外合作辦學生源的具體情況,在實際的教學過程中對原有的教學模式和教學內容作了調整,明確教學重點難點,很好地改善了教學效果。
【關鍵詞】計算機科學;程序證明;形式化方法;Hoare triple logic
【Abstract】" Computer Science "?is the core basic course of computer science major in the direction of Sino-foreign cooperatively. This course is full of theory and the content is abstract. In this paper, from how to improve the classroom teaching, according to the specific condition of Sino-foreign cooperative Education students, we have made some adjustments of teaching content, emphasized the key difficulty in the actual teaching process. It has improved the teaching effect very well.
【Key words】Computer science;Programming verification;Formal method; Hoare triple logic
0 前言
《計算機科學》(CS,Computer Science )這門課程是計算機科學與技術專業(中外合作辦學方向)的專業基礎課程之一,在專業課程中起到理論支撐作用。該門課程在外方愛爾蘭利莫瑞克大學(University of? limerick)第2學期同步開設。
《計算機科學》課程作為離散數學、數據結構、編譯原理課程的先導課程,其內容相對于其他專業課程而言具有一定的廣度和難度。課程的主要內容包括:程序正確性證明理論;集合論;形式化方法;棧的概念和操作等。
1 課程教學現狀
傳統的中外合作辦學的授課模式是,由來自愛爾蘭利莫瑞克大學的教授集中1到2周時間講授課程。而在學期中其余的授課階段,由中方教師負責講授課程及實驗教學。在這樣的混合授課模式下,由于學生英文基礎較差,很多的中方的講課學時就成為了對教學材料的英譯漢翻譯過程,老師忙著講翻譯的專業英語課。而當外教來授課時,學生對課程內容依然聽不懂、跟不上,授課效果不理想。課程考核時,很多學生對英文的題目似懂非懂,答題時不會用英文的方式進行答題,課程通過率較低。為了提高課程的授課效果,中方教師在講授《計算機科學》課程的過程中,對授課方式和授課內容做了探索和嘗試。
2 改變授課內容和授課方式
由于是雙語授課,采用的講義全部是英文,對學生的英文讀寫能力要求程度高。而大多數的中外合作辦學的學生基礎偏差,因此,在外教授課之前,根據學生的實際水平,授課方式和授課內容做了如下改變:
2.1 改變授課方式
原有的老師講學生聽的教學模式,導致學生學習主動性不強,學習依賴心理嚴重。很多學生上課忙著被動地記筆記,下課忙著抄例題。
為了提高學生的學習能力,在上課之初,將學生分組,把原始外文講義分給小組進行預習。讓學生利用課下時間查單詞的釋義,進行初步地翻譯學習。每組的學習筆記可以以作業的形式提交到網絡教學平臺。每節課,教師留出10分鐘時間,讓小組作報告。教師在剩余的時間里,針對小組的預習情況進行有針對性地講解。
2.2 精簡講義。
針對學生的語言障礙,中方教師在授課之前,不再將外方的講義全盤照本宣科。而是將外方提供的原始講義進行二次加工。保留主要知識點,重點突出邏輯性強的詞匯和專業術語,化長句為短句,引導學生通過梳理清楚各個知識點之間的邏輯關系,加深對概念的掌握和理解。同時也有助于學生掌握英文中常用的學術表達方式。
2.3 準確提煉專業術語單詞
《計算機科學》課程中存在很多專業性很強的詞匯。有些詞匯看上去很簡單,但是專業的翻譯和日常詞典的翻譯有很大的偏差。比如:assertion,百度翻譯成主張、聲稱,但是專業的參考文獻上都翻譯為斷言。如果只是生硬地翻譯,學生很難正確地理解和記憶這些概念。
因此,在授課過程中,中方教師要及時將專業術語進行歸納整理。對于概念性的單詞,要求學生直接記憶英文及其英文釋義,比如像程序證明知識模塊中的Hoare triple logic(霍爾三元式) ,invariables (不變量),assertion(斷言) 等。
2.4 及時總結學習技巧
有些專業詞匯因為知識點的內部聯系,中方教師在講解課程時,對于如下的概念: precondition(前置條件),postcondition(后置條件),prefix(前綴表達式),postfix(后綴表達式),infix(中綴表達式),injection(入射),surjection(滿射),bijection(雙射),這些概念非常重要,在給學生在講解概念定義的時候,可以花一些時間講解英文的詞綴,如:pre-,post-,in-,bi-,sur-,通過詞綴的歸納總結,讓學生既能夠充分理解概念本身,也能夠準確拼寫記憶單詞,而且,能夠起到事半功倍的教學效果。
3 調整教學內容的學時分配
《計算機科學》課程中主要的教學內容包括:集合、關系和函數;程序正確性證明理論;字母表、字符串、字符集的定義,短語的二義性;棧的概念和操作等內容。
(1)考慮到集合論的內容,比如集合的概念、集合的運算、函數的概念等,學生在初高中的數學學習中都有進行了初步的學習,而且在后續的“離散數學”課程中還會進行更深入地講解,所以,將該部分的學時由原來的14個學時刪減到8個學時。
(2)增加程序正確性驗證的課時。
程序正確性證明理論的內容抽象,屬于形式化方法的一種。包括:對于給定的編程語言能夠從語義分析其正確性。涵蓋了計算機程序和數學函數、以及程序變量和數學變量之間的關聯;如何構造對計算機程序的判定,并利用這些判定和條件證明計算機程序執行結果的正確性,能夠證明循環次數的正確性;如何正確分析循環和遞歸程序并用數學方法證明其正確性。
該知識模塊是《計算機科學》課程的核心模塊。旨在培養學生的計算機程序與數學具有緊密聯系的意識,培養學生如何利用數學方法和思維進行計算機編程分析的素質,對學生養成嚴謹的思維方式非常重要。
在實際的教學過程中,很多學生對該模塊沒有具體的概念,掌握起來太難。所以,根據學生對知識的接受能力,在授課過程中,中方教師將該模塊的學時由原來的18個學時,增加到24個學時,通過不斷強化訓練學生的證明推理的能力來加深學生對程序設計的理解。
調整后的程序驗證部分學時分配如圖所示:
4 總結
通過對《計算機科學》在教學內容、教學方式的調整和改變,很好地提高了課程的授課效果。通過對課程內容的學習,學生不僅對編寫的程序產生更為深刻的理解,能夠證明程序的正確性,而且養成了良好的編程習慣。在授課的過程中同時培養了學生的自主學習能力以及英文的書面表達能力。
【參考文獻】
[1]莫愿斌.凸顯計算機專業特色的離散數學教學研究與實踐[J].計算機教育,2010,14:111-113.
[2]何劍民,郭紅艷.離散數學課程教學實踐與探索———以校企合作形式下計算機專業為例[J].內蒙古師范大學學報(教育科學版),2016,29(10):188-189.endprint