• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      智能化C語(yǔ)言自學(xué)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      2019-11-30 10:55:03孫婷遼陽(yáng)職業(yè)技術(shù)學(xué)院
      數(shù)碼世界 2019年1期
      關(guān)鍵詞:源代碼智能化測(cè)試

      孫婷 遼陽(yáng)職業(yè)技術(shù)學(xué)院

      1 概述

      C語(yǔ)言是國(guó)內(nèi)外廣泛流行和推廣的一種計(jì)算機(jī)語(yǔ)言。C語(yǔ)言簡(jiǎn)潔、緊湊,使用方便靈活,功能強(qiáng)大,在計(jì)算機(jī)語(yǔ)言的發(fā)展進(jìn)程中,C語(yǔ)言一直保存著較強(qiáng)的生命力。作為計(jì)算機(jī)專業(yè)的一門(mén)基礎(chǔ)課程,掌握好C語(yǔ)言對(duì)于學(xué)生來(lái)說(shuō)十分重要。但是由于C語(yǔ)言本身的特點(diǎn),初學(xué)者理解C語(yǔ)言具有一定的難度。另外,每個(gè)學(xué)生的學(xué)習(xí)特點(diǎn)、理解能力、接受能力都不一樣,所以不同的學(xué)習(xí)者在C語(yǔ)言學(xué)習(xí)的過(guò)程會(huì)碰到不一樣的問(wèn)題。然而教師的講解是面對(duì)整體班級(jí)的教學(xué),對(duì)于不理解的問(wèn)題,學(xué)生需要自己課后進(jìn)行再學(xué)習(xí),使得學(xué)生學(xué)習(xí)效率得不到提高,教師的講課進(jìn)度也受到限制,最終導(dǎo)致學(xué)生學(xué)習(xí)積極性不高。

      目前,各種輔助學(xué)習(xí)系統(tǒng)在不斷的研究中,圖像處理在線輔助學(xué)習(xí)系統(tǒng),研究者采用ASP、VML、Web Services技術(shù)標(biāo)準(zhǔn)進(jìn)行設(shè)計(jì),計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)上輔助學(xué)習(xí)系統(tǒng)采用了ASP技術(shù)和Browse/Server模式來(lái)實(shí)現(xiàn)對(duì)計(jì)算機(jī)基礎(chǔ)的教學(xué),隨著人工智能技術(shù)的不斷發(fā)展,多媒體智能化教學(xué)系統(tǒng)的研究受到廣泛學(xué)者的關(guān)注,智能化C語(yǔ)言自學(xué)習(xí)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)采用云計(jì)算技術(shù)和統(tǒng)一認(rèn)證技術(shù)進(jìn)行設(shè)計(jì)一個(gè)平臺(tái)讓學(xué)生體驗(yàn)豐富的C語(yǔ)言編程,通過(guò)動(dòng)態(tài)測(cè)試和靜態(tài)分析的綜合技術(shù)智能化模擬教師對(duì)學(xué)生的行為作出客觀評(píng)價(jià)和反饋比較詳細(xì)的幫助信息。

      本系統(tǒng)主要以C語(yǔ)言課程為例,運(yùn)用智能化推理技術(shù),設(shè)計(jì)一個(gè)C/S模式的智能化個(gè)別化輔助學(xué)習(xí)系統(tǒng)。該系統(tǒng)可以篩選出每個(gè)學(xué)生學(xué)習(xí)知識(shí)過(guò)程的重點(diǎn)和難點(diǎn),然后根據(jù)學(xué)生的信息,提供適合學(xué)生學(xué)習(xí)的資料,再通過(guò)跟蹤記錄學(xué)生的學(xué)習(xí)過(guò)程,了解學(xué)生學(xué)習(xí)進(jìn)度,調(diào)整學(xué)生學(xué)習(xí)策略并對(duì)學(xué)生的學(xué)習(xí)進(jìn)行測(cè)試評(píng)價(jià)和建議,實(shí)現(xiàn)智能化個(gè)別化學(xué)習(xí)目的,使每個(gè)學(xué)生找到適合自己的學(xué)習(xí)方法。

      2 構(gòu)建智能化C語(yǔ)言自學(xué)系統(tǒng)的原則

      2.1 零基礎(chǔ)初學(xué)者原則。傳統(tǒng)學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì)需要預(yù)先學(xué)習(xí)計(jì)算機(jī)組成原理、計(jì)算機(jī)操作系統(tǒng)原理等課程,我們構(gòu)建的智能化C語(yǔ)言自學(xué)系統(tǒng)面對(duì)零基礎(chǔ)初學(xué)者的原則。

      2.2 交互式智能化原則。通過(guò)設(shè)置交互式智能化的教學(xué)模式,引領(lǐng)指導(dǎo)學(xué)生逐步實(shí)現(xiàn)C語(yǔ)言源程序檢查、分析、校核、不斷修正的C語(yǔ)言程序設(shè)計(jì)的學(xué)習(xí)實(shí)訓(xùn)過(guò)程。

      3 智能化C語(yǔ)言自學(xué)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      3.1 功能需求分析

      根據(jù)當(dāng)前學(xué)習(xí)c語(yǔ)言的一般過(guò)程和常見(jiàn)問(wèn)題,要求自學(xué)系統(tǒng)具有以下功能:首先,通過(guò)系統(tǒng)瀏覽,可以得到c理論的明確分類,包括基本語(yǔ)法、函數(shù)、以及相關(guān)的算法;二是為學(xué)習(xí)者提供相應(yīng)的例子練習(xí)和測(cè)試,并能正確判斷我們學(xué)生提交的答案;三是具有錯(cuò)誤的題庫(kù)功能,在我們的賬戶下收集我們的實(shí)踐和測(cè)試結(jié)果,形成一個(gè)錯(cuò)誤的問(wèn)題庫(kù),并進(jìn)行有針對(duì)性的指導(dǎo)練習(xí)。同時(shí),要求系統(tǒng)具有安全性、可靠性、穩(wěn)定性、可伸縮性等非功能性要求。

      3.2 設(shè)計(jì)與實(shí)現(xiàn)

      3.2.1 框架設(shè)計(jì)

      我們可以通過(guò)任何pc或移動(dòng)端口瀏覽器訪問(wèn)系統(tǒng)內(nèi)容,減少客戶端的開(kāi)發(fā)壓力,統(tǒng)一系統(tǒng)在服務(wù)器上的核心功能。瀏覽器使用網(wǎng)絡(luò)服務(wù)器連接到sql數(shù)據(jù)庫(kù)以完成數(shù)據(jù)交換。以實(shí)現(xiàn)多重編譯和運(yùn)行環(huán)境接觸,為我們提供AIX,NETBSD,WINDOWS等常見(jiàn)的操作系統(tǒng)通過(guò)云計(jì)算的方式運(yùn)行與虛擬機(jī)當(dāng)中,我們便可通過(guò)遠(yuǎn)程登錄進(jìn)行編寫(xiě)、運(yùn)行的練習(xí)。

      3.2.2 存儲(chǔ)設(shè)計(jì)

      根據(jù)學(xué)習(xí)需要,系統(tǒng)中需要存儲(chǔ)多種數(shù)據(jù),包括C語(yǔ)言理論知識(shí)數(shù)據(jù)、習(xí)題數(shù)據(jù)、測(cè)驗(yàn)數(shù)據(jù)以及編寫(xiě)程序的數(shù)據(jù)等內(nèi)容。系統(tǒng)按照模塊的方式分別將數(shù)據(jù)存儲(chǔ)于云端的SQL數(shù)據(jù)庫(kù)中,并根據(jù)命令語(yǔ)言完成數(shù)據(jù)的讀取和寫(xiě)入。同時(shí),在網(wǎng)絡(luò)條件下,實(shí)現(xiàn)知識(shí)的自學(xué)與自驗(yàn)功能,系統(tǒng)運(yùn)用NFS方式提供一個(gè)具有安全防護(hù)性的網(wǎng)絡(luò)空間進(jìn)行統(tǒng)一存放,創(chuàng)建唯一可識(shí)別的學(xué)生共享賬號(hào),我們學(xué)生在該賬號(hào)下的基于任何操作系統(tǒng)的相關(guān)數(shù)據(jù)都可以借助mount命令遠(yuǎn)程加載到該文件夾上。

      3.2.3 關(guān)鍵模塊實(shí)現(xiàn)

      根據(jù)智能自學(xué)習(xí)系統(tǒng)的功能要求,我們嘗試用模塊化結(jié)構(gòu)來(lái)設(shè)計(jì)該系統(tǒng)。系統(tǒng)包括基礎(chǔ)知識(shí)學(xué)習(xí)模塊、實(shí)例模塊、自測(cè)試與評(píng)價(jià)模塊、用戶模塊、系統(tǒng)模塊等?;局R(shí)學(xué)習(xí)模塊和示例模塊是C語(yǔ)言學(xué)習(xí)的基本模塊。他們?cè)敿?xì)分類了18大類的c語(yǔ)言學(xué)習(xí)和下面包含的70多個(gè)主要知識(shí)點(diǎn)。用戶可以通過(guò)點(diǎn)擊鼠標(biāo)來(lái)查看相應(yīng)列表下的知識(shí)內(nèi)容。設(shè)置搜索模塊。用戶輸入關(guān)鍵字,系統(tǒng)自動(dòng)識(shí)別并顯示相關(guān)的類別和知識(shí)點(diǎn)。示例模塊收集典型案例,并配合詳細(xì)的實(shí)例代碼和答案分析,以幫助用戶快速理解知識(shí)點(diǎn)。自我測(cè)試和評(píng)估模塊在整個(gè)系統(tǒng)中發(fā)揮著重要作用。他們可以幫助我們的學(xué)生改正錯(cuò)誤,在沒(méi)有指導(dǎo)的情況下提升自己。本系統(tǒng)引入了時(shí)下流行的網(wǎng)絡(luò)課程制作軟件包moodle。作為一個(gè)開(kāi)源軟件,我們可以在其基礎(chǔ)上根據(jù)自身需求進(jìn)行開(kāi)發(fā)。C語(yǔ)言測(cè)試與普通的測(cè)試相比具有特殊性,它要求系統(tǒng)能夠識(shí)別我們提交編程文件的語(yǔ)法錯(cuò)誤、邏輯錯(cuò)誤等內(nèi)容。因此結(jié)合moodle軟件包設(shè)計(jì)了動(dòng)態(tài)測(cè)試源代碼及靜態(tài)分析源代碼。我們提交的C語(yǔ)言源程序經(jīng)過(guò)測(cè)試源代碼功能進(jìn)行可執(zhí)行文件編譯,并產(chǎn)生進(jìn)程執(zhí)行,讀入若干組測(cè)試數(shù)據(jù),對(duì)輸出的結(jié)果進(jìn)行比較,我們的成績(jī)按照百分制進(jìn)行顯示,并對(duì)發(fā)生錯(cuò)誤的部分進(jìn)行顯著標(biāo)識(shí),列出相應(yīng)的知識(shí)點(diǎn)。對(duì)本系統(tǒng)進(jìn)行教學(xué)實(shí)踐可以發(fā)現(xiàn),大多數(shù)學(xué)習(xí)者都可以借助該學(xué)習(xí)系統(tǒng)完成基礎(chǔ)知識(shí)的學(xué)習(xí)和相關(guān)練習(xí),并根據(jù)系統(tǒng)測(cè)評(píng)反饋結(jié)果進(jìn)行自我調(diào)整和完善。

      3.3 靜態(tài)分析源代碼

      目前比較流行的靜態(tài)分析源代碼方法是程序切片方法。其基本思想由M.Weiser 于 1979 年在其博士論文中首次建立。對(duì)源程序進(jìn)行比較徹底的程序切片分析目前還是比較困難,因此本系統(tǒng)采用一種簡(jiǎn)化形式的簡(jiǎn)單切片方法,并使用開(kāi)源工具 ctool 進(jìn)行二次開(kāi)發(fā)實(shí)現(xiàn)。例如,同樣是闡述的平年閏年判定任務(wù),如果源代碼出現(xiàn)語(yǔ)法錯(cuò)誤,那么就不能采用前面的動(dòng)態(tài)測(cè)試方法而需要靜態(tài)分析。這里有一個(gè)前提,就是假定題目規(guī)定學(xué)生編寫(xiě)程序必須使用變量名year 保存待判定的年份。首先使用 ctool 把給定的 C 語(yǔ)言源程序轉(zhuǎn)化為抽象語(yǔ)法樹(shù),然后對(duì)該源程序關(guān)于變量 year 進(jìn)行切片,分析該切片是否包含 if 或 switch 等分支結(jié)構(gòu),是否包含 year%4==0、year%100 !=0或者 year%400 ==0等表達(dá)式,最后按照所包含的特征數(shù)量計(jì)算百分比并給出百分制分?jǐn)?shù)。

      3.4 統(tǒng)一認(rèn)證

      學(xué)生登錄到各個(gè)Unix/Linux系統(tǒng)一般都需要單獨(dú)使用不同的用戶名和密碼,另外登錄Moodle系統(tǒng)也需要一套用戶名和密碼,這種分散式單獨(dú)管理帳號(hào)的方式顯然不好。目前比較普遍使用的統(tǒng)一認(rèn)證方法是基于LDAP協(xié)議的單點(diǎn)統(tǒng)一認(rèn)證。本系統(tǒng)使用其中一個(gè)Linux發(fā)行版,安裝BerkeleyDB數(shù)據(jù)庫(kù)和OpenLDAP軟件充當(dāng)認(rèn)證服務(wù)器,其他所有操作系統(tǒng)作為客戶端訪問(wèn)。Moodle系統(tǒng)本身就已經(jīng)支持LDAP認(rèn)證,因此不需要額外改造。

      3.5 構(gòu)建用戶管理模塊實(shí)現(xiàn)用戶驗(yàn)證管理

      由于智能c語(yǔ)言自學(xué)系統(tǒng)包含多個(gè)作業(yè)系統(tǒng)及其他相關(guān)的應(yīng)用軟件,在學(xué)習(xí)過(guò)程中需要經(jīng)常輸入用戶名及密碼才能登入,并建立使用者驗(yàn)證的統(tǒng)一管理,以達(dá)到使用者驗(yàn)證的目的,這有利于提高學(xué)習(xí)效率。ldap目錄服務(wù)數(shù)據(jù)庫(kù)由分布式類型數(shù)據(jù)庫(kù)和一組優(yōu)化后用于查詢、瀏覽和搜索的訪問(wèn)協(xié)議組成。它適用于存儲(chǔ)課程信息、用戶身份信息、公共證書(shū)和安全密鑰。建立基于ldap目錄服務(wù)的分布式數(shù)據(jù)庫(kù)軟件平臺(tái),智能c語(yǔ)言自主學(xué)習(xí)系統(tǒng)用戶身份信息數(shù)據(jù)庫(kù),身份認(rèn)證機(jī)制和接口實(shí)現(xiàn)課程資源信息和學(xué)生身份信息的統(tǒng)一管理;并確保信息數(shù)據(jù)的一致性和完整性。通過(guò)智能c語(yǔ)言自學(xué)系統(tǒng)的設(shè)計(jì)和實(shí)施以及試運(yùn)行,基本達(dá)到了預(yù)期的教學(xué)效果。今后在教學(xué)實(shí)踐中,我們將繼續(xù)改進(jìn)和提高系統(tǒng)的功能和性能。

      結(jié)束語(yǔ):基于云計(jì)算技術(shù)的多種操作系統(tǒng)環(huán)境可以為學(xué)生提供豐富的c語(yǔ)言編程經(jīng)驗(yàn)。漫游網(wǎng)絡(luò)存儲(chǔ)空間可以讓學(xué)生隨時(shí)隨地訪問(wèn)自己的程序數(shù)據(jù)。基于動(dòng)態(tài)測(cè)試和靜態(tài)分析的綜合技術(shù)可以在一定的智能水平上模擬教師對(duì)學(xué)生語(yǔ)言源程序的客觀評(píng)價(jià)和反饋。統(tǒng)一認(rèn)證技術(shù)的應(yīng)用,為學(xué)生使用該自學(xué)系統(tǒng)取得了簡(jiǎn)單的效果。

      猜你喜歡
      源代碼智能化測(cè)試
      人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正
      智能化戰(zhàn)爭(zhēng)多維透視
      軍事文摘(2022年19期)2022-10-18 02:41:14
      基于TXL的源代碼插樁技術(shù)研究
      幽默大測(cè)試
      幽默大師(2020年11期)2020-11-26 06:12:12
      印刷智能化,下一站……
      “攝問(wèn)”測(cè)試
      “攝問(wèn)”測(cè)試
      “攝問(wèn)”測(cè)試
      軟件源代碼非公知性司法鑒定方法探析
      基于“物聯(lián)網(wǎng)+”的智能化站所初探
      原阳县| 邹平县| 庆安县| 沂源县| 清镇市| 穆棱市| 许昌市| 桂阳县| 二连浩特市| 祁阳县| 遵化市| 长葛市| 古田县| 文山县| 文登市| 永新县| 宁波市| 安图县| 吐鲁番市| 鄢陵县| 太仆寺旗| 台南县| 威信县| 宿迁市| 芮城县| 常德市| 北辰区| 万源市| 巴林右旗| 永德县| 恭城| 和林格尔县| 法库县| 遂宁市| 黄大仙区| 密云县| 天门市| 得荣县| 板桥市| 九龙城区| 霍州市|