国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

“編譯原理”綜合應(yīng)用型教學(xué)案例的設(shè)計(jì)

2014-10-21 20:16張妮嚴(yán)迪新陸衛(wèi)忠
關(guān)鍵詞:教學(xué)案例

張妮 嚴(yán)迪新 陸衛(wèi)忠

摘 要:針對(duì)“編譯原理”課程教學(xué)中缺乏實(shí)踐的問(wèn)題,設(shè)計(jì)了一個(gè)實(shí)踐強(qiáng)化的綜合應(yīng)用型教學(xué)案例。該案例以編譯原理課程為中心,綜合運(yùn)用了多門計(jì)算機(jī)專業(yè)課程的相關(guān)知識(shí),并具有相似性檢測(cè)的功能,能對(duì)學(xué)生提交的程序設(shè)計(jì)類作業(yè)進(jìn)行相似性檢測(cè),以發(fā)現(xiàn)學(xué)生作業(yè)的原創(chuàng)性。學(xué)生通過(guò)對(duì)給出知識(shí)點(diǎn)的組合和擴(kuò)展,完成案例的設(shè)計(jì)和程序?qū)崿F(xiàn)。彌補(bǔ)了課程教學(xué)中存在的不足,并具有一定的實(shí)用性。

關(guān)鍵詞:編譯原理;教學(xué)案例;相似性檢測(cè)

中圖分類號(hào):G64文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1673-9795(2014)04(A)-0000-00

Design of an Integrated Application-oriented Teaching Instance

in “Compiler Principle”

ZHANG Ni,YAN Di-xin,LU Wei-zhong

(School of Electronic and Information Engineering, USTS, Suzhou 215011)

Abstract: Facing to the practice problems of the lack of the "compiler principle" teaching,the paper designed an integrated application-oriented teaching instance . The instance make compiler principle course as center, and integrate using of the relations knowledge of other professional courses,and has a similar detection function which can detect similarity of the students project, and verify the originality of students project. The design and implementation of the instance are completed by different combinations and expansion of knowledge. The instance make up for the deficiencies in teaching process, and also has a certain practicality.

Key words: Compiling Principles; teaching instance; similarity detection

“卓越工程師教育培養(yǎng)計(jì)劃”是教育部于2010年6月啟動(dòng)的為期10年(2010—2020年)的重大改革項(xiàng)目。該計(jì)劃旨在培養(yǎng)一大批創(chuàng)新能力強(qiáng)、適應(yīng)社會(huì)經(jīng)濟(jì)發(fā)展需要的高質(zhì)量工程技術(shù)人才[1-3]。編譯原理課程作為計(jì)算機(jī)專業(yè)卓越工程師培養(yǎng)計(jì)劃中一門核心專業(yè)基礎(chǔ)課程,在新形勢(shì)下要求其教學(xué)過(guò)程必須以學(xué)生為中心,鞏固理論知識(shí),加強(qiáng)實(shí)踐教學(xué),注重學(xué)生創(chuàng)新意識(shí)的培養(yǎng)。

然而,由于編譯原理課程教學(xué)內(nèi)容不僅包含形式語(yǔ)言、有限自動(dòng)機(jī)、正規(guī)文法、正規(guī)表達(dá)式和LL(1)分析法等理論知識(shí),而且編譯的每個(gè)階段都包含大量的復(fù)雜算法,學(xué)生在學(xué)習(xí)過(guò)程中感到抽象和難以理解[4]。通過(guò)對(duì)國(guó)內(nèi)各高等院校教學(xué)現(xiàn)狀的調(diào)查,目前編譯原理課程教學(xué)過(guò)程中存在編譯教學(xué)難點(diǎn)較多[5],實(shí)踐環(huán)節(jié)缺少實(shí)際應(yīng)用背景和以及未與其他課程進(jìn)行有效的融合[6]等幾個(gè)方面問(wèn)題。為了達(dá)到“卓越計(jì)劃”培養(yǎng)目標(biāo),必須對(duì)現(xiàn)有的教學(xué)方法和手段進(jìn)行改革,探討如何將編譯原理課程的理論知識(shí)應(yīng)用于實(shí)踐或?qū)嶋H項(xiàng)目和如何加強(qiáng)編譯原理課程與其他計(jì)算機(jī)課程之間的聯(lián)系的問(wèn)題,更好地將理論知識(shí)點(diǎn)貫穿融合到實(shí)踐教學(xué)或?qū)嶋H項(xiàng)目中。

本文在“卓越計(jì)劃項(xiàng)目”的資助下,將案例教學(xué)法[7,12,13]引入編譯原理課程的教學(xué)過(guò)程中。通過(guò)選取恰當(dāng)?shù)睦碚撝R(shí)點(diǎn),結(jié)合數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο蟪绦蛟O(shè)計(jì)等計(jì)算機(jī)專業(yè)的相關(guān)課程,設(shè)計(jì)了一個(gè)能吸引學(xué)生興趣,實(shí)踐強(qiáng)化的綜合應(yīng)用型教學(xué)案例。

1 案例設(shè)計(jì)思想及意義

在計(jì)算機(jī)專業(yè)程序設(shè)計(jì)類課程的教學(xué)過(guò)程中,學(xué)生提交作業(yè)的形式是源程序的電子文檔,這為有些同學(xué)拷貝和抄襲提供了便利,不僅影響學(xué)生對(duì)課程的掌握度,還影響了老師判分的公正性。程序相似性檢測(cè)技術(shù)能夠?qū)W(xué)生提交的程序設(shè)計(jì)作業(yè)進(jìn)行檢測(cè),驗(yàn)證學(xué)生作業(yè)的原創(chuàng)性,幫助教師在大量的學(xué)生作業(yè)中找出相似性較高,即存在抄襲嫌疑的作業(yè)對(duì)象[11],也有利于發(fā)現(xiàn)學(xué)生的創(chuàng)新性成果。通常程序相似性檢測(cè)過(guò)程由程序源代碼預(yù)處理,源代碼轉(zhuǎn)化,相似性比較,結(jié)果檢測(cè)四個(gè)階段構(gòu)成。

在設(shè)計(jì)案例時(shí),我們用編譯原理課程中詞法分析和語(yǔ)法分析算法思想來(lái)完成代碼相似性檢測(cè)過(guò)程中的源代碼預(yù)處理和源代碼轉(zhuǎn)化兩個(gè)階段,使用數(shù)據(jù)結(jié)構(gòu)課程中學(xué)過(guò)的字符串比較算法(如最長(zhǎng)公共子序列算法等)作為相似性檢測(cè)算法,可以選擇案例開發(fā)環(huán)境有Eclipse,VC6.0和VS2010等。

此案例以編譯原理課程為中心,結(jié)合了數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο蟪绦蛟O(shè)計(jì)等計(jì)算機(jī)專業(yè)的相關(guān)課程,實(shí)現(xiàn)了具有程序相似性檢測(cè)功能的系統(tǒng)。大多數(shù)學(xué)生在理解和掌握案例中給出知識(shí)點(diǎn)的基礎(chǔ)上,通過(guò)對(duì)其進(jìn)行不同組合來(lái)完成案例的設(shè)計(jì)和程序?qū)崿F(xiàn),達(dá)到教學(xué)的基本要求,基礎(chǔ)好的學(xué)生在掌握已給出案例的基礎(chǔ)上選擇更難的知識(shí)點(diǎn)來(lái)設(shè)計(jì)和實(shí)現(xiàn)案例,學(xué)到更多知識(shí)。使學(xué)生通過(guò)一個(gè)綜合案例的設(shè)計(jì)和實(shí)現(xiàn),鞏固了多門課程的相關(guān)知識(shí)點(diǎn),彌補(bǔ)了課程教學(xué)中缺乏實(shí)踐的問(wèn)題,加強(qiáng)計(jì)算機(jī)相關(guān)課程之間的橫向聯(lián)系,培養(yǎng)學(xué)生的學(xué)以致用的實(shí)踐能力和創(chuàng)新能力。

2 案例相關(guān)的知識(shí)點(diǎn)

案例教學(xué)法的核心是案例的設(shè)計(jì),案例設(shè)計(jì)應(yīng)該與教學(xué)內(nèi)容、教學(xué)進(jìn)度相適宜,能恰當(dāng)?shù)厝谌胂嚓P(guān)的知識(shí)點(diǎn)。本案例的相關(guān)知識(shí)點(diǎn)有:與編譯原理課程相關(guān)的基于程序設(shè)計(jì)語(yǔ)言的詞法分析程序?qū)崿F(xiàn)方法(手工方式)和基于LEX的詞法分析程序?qū)崿F(xiàn)方法(自動(dòng)方式);與數(shù)據(jù)結(jié)構(gòu)課程相關(guān)的一些字符串比較算法,如最長(zhǎng)公共子序列(LCS)算法,Halstead算法和RKR-GST算法等;以及有一定的面向?qū)ο缶幊袒A(chǔ),能使用JAVA,C++,C#等其中一種語(yǔ)言編寫程序。學(xué)生在熟悉和掌握這些知識(shí)點(diǎn)的基礎(chǔ)上進(jìn)行案例的設(shè)計(jì)和實(shí)現(xiàn)。

2.1 詞法分析程序的實(shí)現(xiàn)方法

詞法分析程序的工作原理是,從左至右掃描源程序的字符串,按照詞法規(guī)則(正則文法規(guī)則)識(shí)別出一個(gè)個(gè)正確的單詞,并轉(zhuǎn)換成該單詞相應(yīng)的二元式(種別碼、屬性值),以數(shù)組、鏈表或文本文件等形式保存,交給后續(xù)模塊使用。通常構(gòu)造詞法分析程序有兩種方法。第一種是手工方式,即根據(jù)識(shí)別語(yǔ)言單詞的狀態(tài)轉(zhuǎn)換圖,使用某種高級(jí)程序設(shè)計(jì)語(yǔ)言,如C、C++、JAVA等,直接編寫詞法分析程序。第二種是自動(dòng)方式,即利用LEX工具自動(dòng)生成詞法分析程序。

2.1.1 基于程序設(shè)計(jì)語(yǔ)言的詞法分析程序

設(shè)計(jì)的主要思想就是構(gòu)造出目標(biāo)語(yǔ)言單詞符號(hào)的有窮自動(dòng)機(jī)(DFA)。手工方式實(shí)現(xiàn)詞法分析的程序的步驟分為四個(gè)階段,第一,定義目標(biāo)語(yǔ)言的可用符號(hào)表和構(gòu)詞規(guī)則,即目標(biāo)語(yǔ)言單詞的狀態(tài)轉(zhuǎn)換圖;第二,依次讀入源程序符號(hào),對(duì)源程序進(jìn)行單詞切分和識(shí)別,直到源程序結(jié)束;第三,對(duì)正確的單詞,按照它的種別以〈記號(hào)類別,屬性值〉的形式保存在符號(hào)表( 數(shù)組或鏈表)中;最后對(duì)不正確的單詞,做出錯(cuò)誤處理。

2.1.2 基于 LEX的詞法分析程序

LEX是一個(gè)詞法分析器[8]的自動(dòng)生成系統(tǒng),它的輸入是一個(gè)文本文件,文件的擴(kuò)展名習(xí)慣用.l表示,稱之為L(zhǎng)EX源文件,該文件包含了用戶定義的正規(guī)表達(dá)式以及每個(gè)正規(guī)表達(dá)式相對(duì)應(yīng)的處理動(dòng)作。LEX的工作原理是將源程序中的正規(guī)式轉(zhuǎn)換成相應(yīng)的DFA,而相應(yīng)的動(dòng)作則插入到輸出的詞法分析器中適當(dāng)?shù)牡胤?,控制流由該DFA的解釋器掌握。對(duì)不同的源程序,這個(gè)解釋器是相同的。LEX最常見的版本是Flex,可以免費(fèi)得到?;?LEX的詞法分析程序設(shè)計(jì)思路:編寫LEX源文件,按要求抽象出正規(guī)表達(dá)式,同時(shí)濾掉輸入串中所有的空格、Tab、回車及注釋,最終形成.l文件。最后使用Flex編譯器生成詞法分析程序。

2.2 字符串匹配算法

除了數(shù)據(jù)結(jié)構(gòu)課程已經(jīng)介紹的字符串匹配算法(KMP算法),本案例還可以使用其他的字符串匹配算法,如最長(zhǎng)公共子序列(LCS)算法,Halstead算法和RKR-GST算法等。依據(jù)詞法分析程序的輸出結(jié)果(單詞符號(hào)串),利用字符串匹配算法來(lái)度量?jī)蓚€(gè)標(biāo)記串的相似度。本案例提供這些算法的實(shí)現(xiàn)思想和源代碼,供學(xué)生參考和進(jìn)一步改進(jìn)。

2.2.1 最長(zhǎng)公共子序列(LCS)算法

LCS(Longest Common Subsequence)算法[9]即求兩個(gè)字符串的最長(zhǎng)公共子序列算法。算法的主要思想是用一個(gè)矩陣來(lái)記錄兩個(gè)字符串中所有位置的兩個(gè)字符之間的匹配情況,若是匹配則為1,否則為0。然后求出對(duì)角線最長(zhǎng)的1序列,其對(duì)應(yīng)的位置就是最長(zhǎng)公共子序列的位置。其算法由求最長(zhǎng)公共子序列的長(zhǎng)度Length(l,j)和最長(zhǎng)公共子序列LCS(A,B)兩步構(gòu)成。

2.2.2 Halstead算法

Halstead算法[10]以源代碼中出現(xiàn)的操作符和操作數(shù)為計(jì)數(shù)對(duì)象,以它們的出現(xiàn)次數(shù)作為計(jì)數(shù)目標(biāo)來(lái)測(cè)算程序容量和工作量。其基本原理是:統(tǒng)計(jì)每個(gè)程序段中用到的操作符和操作數(shù),最終生成一個(gè)特征向量。操作符包括所使用編程語(yǔ)言的關(guān)鍵字、運(yùn)算符和標(biāo)準(zhǔn)庫(kù)名稱。操作數(shù)是指程序段中所有由用戶自己定義的符號(hào)串。系統(tǒng)為每個(gè)待檢測(cè)相似性的源代碼生成一個(gè)特征向量之后,再計(jì)算每?jī)蓚€(gè)向量之間的歐幾里德距離,若兩個(gè)程序段的特征向量之間的距離很小,就可以認(rèn)為這兩段程序很相似。

2.2.3 RKR-GST算法

RKR-GST (Running Karp Rabin Greedy String Tiling)是一種貪婪式字符串匹配算法[14],循環(huán)求取兩個(gè)標(biāo)記串中未被匹配部分的最大公共子串,并根據(jù)相應(yīng)公式求出兩個(gè)字符串的相似度。對(duì)源程序代碼進(jìn)行相似性檢測(cè)的過(guò)程通??煞譃閮蓚€(gè)階段:第一階段,對(duì)源程序進(jìn)行詞法分析或語(yǔ)法分析,剔除與程序結(jié)構(gòu)無(wú)關(guān)的表面元素,產(chǎn)生標(biāo)準(zhǔn)化輸出。第二階段,采用字符串匹配技術(shù)兩兩比較各程序的標(biāo)準(zhǔn)化輸出,進(jìn)行相似度度量,求出其相似度。

3 案例設(shè)計(jì)與實(shí)現(xiàn)

本案例要求學(xué)生選擇一種熟悉的開發(fā)平臺(tái)(VC 6.0,Eclipse,VS 2010等),依照第二節(jié)中給出的基本知識(shí)點(diǎn)(學(xué)生需提前查閱相關(guān)資料,做好預(yù)習(xí)),通過(guò)對(duì)知識(shí)點(diǎn)的不同組合和擴(kuò)展,如基于程序設(shè)計(jì)語(yǔ)言的詞法分析程序+ LCS算法,基于 LEX的詞法分析程序+RKR-GST算法和基于程序設(shè)計(jì)語(yǔ)言的詞法分析程序+RKR-GST算法等,設(shè)計(jì)具有程序相似性檢測(cè)功能的系統(tǒng),然后編程實(shí)現(xiàn)綜合教學(xué)案例系統(tǒng)。

在此,將以采用基于 LEX的詞法分析程序(自動(dòng)方式)來(lái)完成代碼預(yù)處理及轉(zhuǎn)換,使用RKR-GST算法進(jìn)行代碼相似性檢測(cè)為例,給出設(shè)計(jì)和實(shí)現(xiàn)程序相似性檢測(cè)系統(tǒng)的過(guò)程。在學(xué)生設(shè)計(jì)和實(shí)現(xiàn)本案例前,教師先演示這個(gè)已事先設(shè)計(jì)好的案例供學(xué)生參考,讓學(xué)生對(duì)案例實(shí)現(xiàn)過(guò)程有一個(gè)直觀的認(rèn)識(shí)。本次設(shè)計(jì)具體分為代碼預(yù)處理及轉(zhuǎn)換、將源代碼轉(zhuǎn)化為標(biāo)記串、RKR-GST算法實(shí)現(xiàn)及結(jié)果分析四個(gè)階段。

3.1代碼預(yù)處理及轉(zhuǎn)換階段

在理解有窮自動(dòng)機(jī)知識(shí)點(diǎn)的基礎(chǔ)上,結(jié)合第二節(jié)中給出的設(shè)計(jì)思想,設(shè)計(jì)了LEX源文件——LexScanning.l,其中自定義了一些詞法規(guī)則、getToken()以及printToken()等函數(shù),實(shí)現(xiàn)了詞法分析功能,同時(shí)濾掉了用戶源程序中所有的空格、Tab、回車及注釋。如圖1所示。之后使用Flex編譯器將LexScanning.l文件編譯生成名為CiFa.exe詞法分析程序。

圖1 LexScanning.l文件

3.2將源代碼轉(zhuǎn)化為標(biāo)記串

在主程序中運(yùn)行時(shí),通過(guò)創(chuàng)建一個(gè)線程來(lái)調(diào)用CiFa.exe文件,進(jìn)行詞法分析,將用戶源代碼轉(zhuǎn)化為標(biāo)記串。

3.2.1參數(shù)設(shè)置

STARTUPINFO si;

memset(&si,0,sizeof(STARTUPINFO));

si.cb=sizeof(STARTUPINFO);

si.dwFlags=STARTF_USESHOWWINDOW;

si.wShowWindow = SW_HIDE;

PROCESS_INFORMATION pi;

3.2.2 創(chuàng)建線程

CString cmd = _T("CiFa.exe ")+m_file_path_1;

if(CreateProcess(_T("CiFa.exe"),(LPTSTR)(LPCTSTR)cmd,NULL,NULL,F(xiàn)ALSE,0,NULL,NULL,&si,π))

{ WaitForSingleObject(pi.hProcess,INFINITE);

CFile file(_T("C:\\temp.txt"),CFile::modeRead);

……

dwFileLen=file.GetLength();

pBuf=new CHAR[dwFileLen+1];

pBuf[dwFileLen]=0;

…… }

3.3 RKR-GST算法

兩個(gè)程序段之間的相似性即為它們對(duì)應(yīng)的標(biāo)記串之間的相似性。可將每個(gè)標(biāo)記串看成由若干個(gè)子串組成,那么兩個(gè)標(biāo)記串中相同的子串就是它們的公共子串,其相似性可用所有公共子串在整個(gè)串中所占的百分比表示。公式如下[14]:

其中: | A |、|B |為token串A、B的長(zhǎng)度。match(i,j,length ) : 在 A 中起始位置為i,在B中起始位置為j, 長(zhǎng)度為n 的子串。Matches為公共子串集合。

案例中設(shè)計(jì)了函數(shù)void Greedy_String_Tiling (tile_type *tiles, char *A, char *B, unsigned MML) 循環(huán)求取兩個(gè)標(biāo)記串中未被匹配部分的最大公共子串,并根據(jù)公式求出兩個(gè)token串A、B的相似度。其中參數(shù) *tiles存放求出的所有最長(zhǎng)公共子串,*A和*B分別來(lái)存放字符串A和字符串B,MML給出公共子串應(yīng)達(dá)到的最小長(zhǎng)度。

4 系統(tǒng)的測(cè)試及結(jié)果分析

準(zhǔn)備了三個(gè)C語(yǔ)言源程序作為測(cè)試用例,其中測(cè)試用例一(test1.c)和測(cè)試用例二(test2.c)有少數(shù)變量名不一樣和源程序的組織結(jié)構(gòu)稍有差別之外,其他的內(nèi)容幾乎一樣。測(cè)試用例三(test3.c)與測(cè)試用例一和測(cè)試用例二在內(nèi)容和結(jié)構(gòu)上則完全不一樣。

4.1 test1.c與test2.c的比較

運(yùn)行程序,點(diǎn)擊“瀏覽”按鈕選擇要比較的兩個(gè)源程序文件test1.c和test2.c,點(diǎn)擊“詞法分析”按鈕輸出test1.c和test2.c經(jīng)詞法分析后的結(jié)果,如圖2所示。

圖2 詞法分析結(jié)果

接下來(lái),設(shè)置相似閾值為5之后,點(diǎn)擊“比較”按鈕,則進(jìn)行兩個(gè)源程序的相似性比較,比較的結(jié)果如圖3所示。兩個(gè)文件的相似度為91.089112%,結(jié)果符合我們的預(yù)想。

圖3 相似性檢測(cè)結(jié)果

4.2 test1.c與test3.c的比較圖4給出了test1.c和test3.c的相似性檢測(cè)結(jié)果,過(guò)程與上面相類似。相似度為13.265306%,符合我們的預(yù)期。

圖4 相似性檢測(cè)結(jié)果

5 結(jié)語(yǔ)

本文給出了筆者在編譯原理教學(xué)過(guò)程中使用的一個(gè)案例。該案例以編譯原理課程為中心,結(jié)合數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο蟪绦蛟O(shè)計(jì)等計(jì)算機(jī)核心專業(yè)課程,將幾門課程的知識(shí)點(diǎn)聯(lián)系在一起,突出“編譯原理”課程的實(shí)用性。學(xué)生在實(shí)現(xiàn)綜合案例之前,教師通過(guò)對(duì)已實(shí)現(xiàn)案例的演示,讓學(xué)生有對(duì)實(shí)驗(yàn)過(guò)程及要求有了直觀的了解,促使學(xué)生設(shè)計(jì)實(shí)現(xiàn)出更好的具有程序的相似性檢測(cè)功能系統(tǒng),鞏固編譯原理和數(shù)據(jù)結(jié)構(gòu)等課程相關(guān)的知識(shí)點(diǎn),激發(fā)學(xué)習(xí)興趣,提高學(xué)生的學(xué)習(xí)質(zhì)量和效率。今后的教學(xué)研究中,我們將對(duì)該案例進(jìn)行擴(kuò)展,使之能分析如.net等高級(jí)語(yǔ)言編寫的源程序代碼,增加一些新的知識(shí)點(diǎn),進(jìn)而可供高年級(jí)學(xué)生在課程設(shè)計(jì)中使用。

參考文獻(xiàn)

[1] 林健.面向卓越工程師培養(yǎng)的研究性學(xué)習(xí)[J]. 高等工程教育研究,2011,(6):5-15.

[2] 徐世軍,范偉,黃賢英.面向卓越工程師培養(yǎng)的專業(yè)課程教學(xué)實(shí)踐. 計(jì)算機(jī)教育.2013(13) 22-25.

[3] 李鋒,夏小玲.計(jì)算機(jī)軟件工程專業(yè)卓越計(jì)劃實(shí)踐教學(xué). 計(jì)算機(jī)教育.2013(13) 18-21.

[4] 李冬梅,施?;?"編譯原理"課程的教學(xué)研究與探索. 計(jì)算機(jī)教育.2008(08):10-12.

[5] 張昱,陳意云,鄭啟龍. 編譯原理課程的教學(xué)方法和教材建設(shè)[J]. 中國(guó)大學(xué)教學(xué),2005,(7):61-62.

[6] 計(jì)衛(wèi)星,陳英等.簡(jiǎn)析計(jì)算機(jī)專業(yè)知識(shí)在編譯課程教學(xué)中的滲透與融合.計(jì)算機(jī)教育. 2010(03):23-25.

[7] 秦艷琳,吳曉平.“信息安全數(shù)學(xué)基礎(chǔ)” 案例教學(xué)[J].計(jì)算機(jī)教育,2010(01):141-144.

[8] 陳火旺,劉春林,譚慶平等. 程序設(shè)計(jì)語(yǔ)言編譯原理[M].北京:國(guó)防工業(yè)出版社,2000.

[9] 于海英.字符串相似度度量中LCS和GST算法比較[J].電子科技,2011(3):101-103.

[10] Halstead, Howard M. Elements of Software Science[Z].Elsevier,1977.

[11] 張莉,周祖林.代碼相似性檢測(cè)在程序設(shè)計(jì)教學(xué)中的應(yīng)用.計(jì)算機(jī)教育.2009(13):116-118.

[12] 張?jiān)虑?,孫冰.案例教學(xué)法在“大學(xué)信息技術(shù)”課程中的應(yīng)用研究[J].中國(guó)電力教育,2012,(25):63-64.

[13] 范巖.案例教學(xué)法在計(jì)算機(jī)教學(xué)中的應(yīng)用[J].科技信息,2008,(8):35.

[14] Lutz Prechelt , Guido Malpohl, and Michael Phlippsen. JPlag:Finding plagiarisms among a set of programs. Technical Report 2000-1, Fakult?t für Informatik, Universit?t Karlsruhe , Germany, March 2000.

猜你喜歡
教學(xué)案例
外研社選修六Module 3 Roy’s story教學(xué)案例
程序設(shè)計(jì)課程的教學(xué)理念與教學(xué)方法探究
OOAD與MVC模式在軟件工程教學(xué)案例中的應(yīng)用
大學(xué)計(jì)算機(jī)基礎(chǔ)一體化教學(xué)改革實(shí)施和教學(xué)效果
教學(xué)案例的內(nèi)涵及其應(yīng)用意義
課堂因生成而精彩
生物教學(xué)中培養(yǎng)學(xué)生核心素養(yǎng)的四個(gè)對(duì)話視角
充分整合教材資源 優(yōu)化歷史課堂教學(xué)
小學(xué)數(shù)學(xué)課堂導(dǎo)入技巧及案例分析
反轉(zhuǎn)課堂模式與數(shù)學(xué)教學(xué)案例
库尔勒市| 海安县| 扶余县| 新野县| 无棣县| 万荣县| 易门县| 天全县| 浦城县| 建德市| 罗甸县| 朔州市| 绥宁县| 苏尼特左旗| 大厂| 扬州市| 新田县| 兴安县| 攀枝花市| 文水县| 临沂市| 望江县| 浙江省| 万荣县| 和政县| 盈江县| 靖安县| 晋中市| 晴隆县| 安陆市| 平顺县| 绥德县| 通山县| 富蕴县| 淮安市| 桐梓县| 抚州市| 昌都县| 武强县| 西丰县| 江永县|