潘欣 王鑫
摘 要:Java語言程序設(shè)計是計算機專業(yè)的核心課程之一,掌握該技術(shù)對于學(xué)生就業(yè)和自主創(chuàng)新十分重要。Java語言內(nèi)容龐大,如何在有限的課時范圍內(nèi)科學(xué)的安排各部分內(nèi)容對于廣大教學(xué)單位是一個較大的挑戰(zhàn)。針對這一問題,本研究提出了一種基于人工智能和OBE(outcomes-based education)的Java語言程序設(shè)計課程目標(biāo)和教學(xué)內(nèi)容調(diào)整方法,并通過本方法進行了Java語言程序設(shè)計課程改革。通過對兩屆學(xué)生的學(xué)習(xí)情況對比表明,利用本方法進行的Java語言程序設(shè)計課程改革可以有效提高學(xué)生對相關(guān)知識的掌握,并使得Java教學(xué)與企業(yè)需求更加契合。
關(guān)鍵詞:人工智能;OBE;Java;課程改革;網(wǎng)絡(luò)爬蟲
中圖分類號:G642 文獻標(biāo)志碼:A 文章編號:2096-000X(2018)18-0081-03
Abstract: Java Language Programming is one of the core courses for computer majors. Mastering this technology is very important for students' employment and independent innovation. The Java Language is huge in content, so how to arrange each part of contents in the limited class time scope is a great challenge for the general teaching unit. In order to solve this problem, this paper puts forward a method of Java Language Programming course goal and teaching content adjustment based on artificial intelligence and OBE (outcomes-based education), and carries on the Java Language Programming course reform through this method. The comparison of the two classes of students shows that the reform of Java Language Programming curriculum with this method can effectively improve the students' grasp of relevant knowledge and make the Java teaching more consistent with the needs of enterprises.
Keywords: artificial intelligence; OBE; Java; curriculum reform; web crawler
一、概述
Java語言程序設(shè)計是計算機專業(yè)的核心課程之一,基于Java語言可以進行企業(yè)級軟件設(shè)計、建立Web應(yīng)用程序、訪問物聯(lián)網(wǎng)設(shè)備進行大數(shù)據(jù)處理,所以Java編程技術(shù)對于學(xué)習(xí)就業(yè)和自主創(chuàng)新十分重要[1]。然而在大學(xué)的教學(xué)過程中,往往會遇到Java涉及的內(nèi)容十分廣泛而教學(xué)課時量相對有限,如何在有限的課時范圍內(nèi)安排科學(xué)的各部分內(nèi)容對于廣大教學(xué)單位是一個較大的挑戰(zhàn)[2]。
OBE(outcomes-based education)教學(xué)模式是在教學(xué)體系中,圍繞學(xué)生經(jīng)過教學(xué)過程應(yīng)該取得哪些關(guān)鍵成效而開展的相關(guān)教學(xué)工作[3];在教學(xué)過程中引入OBE可以強調(diào)教學(xué)的目標(biāo),切實提高教學(xué)質(zhì)量[4]。網(wǎng)絡(luò)爬蟲、自然語言理解、文本的數(shù)據(jù)統(tǒng)計分析等人工智能技術(shù),可以在Internet中大范圍的自動搜索數(shù)據(jù),基于該技術(shù)可以對某一特定目標(biāo)的重要程度、關(guān)注程度加以度量[5]。針對當(dāng)前Java教學(xué)中存在的挑戰(zhàn),本研究提出了一種基于人工智能和OBE(outcomes-based education)的Java語言程序設(shè)計課程目標(biāo)和教學(xué)內(nèi)容調(diào)整方法,并通過本方法進行了Java語言程序設(shè)計課程改革。通過對兩屆學(xué)生的學(xué)習(xí)和就業(yè)情況對比表明,利用本方法進行的Java語言程序設(shè)計課程改革可以有效提高學(xué)生對相關(guān)知識的掌握,并使得Java教學(xué)與企業(yè)需求更加契合。
二、方法描述
(一)人工智能的網(wǎng)站信息抓取與分析
本研究以廣大用人單位在招聘過程中對Java程序員的具體要求為目標(biāo),利用人工智能程序進行數(shù)據(jù)收集。收集的目標(biāo)包括:大型招聘網(wǎng)站的用人需求信息、招聘指導(dǎo)性網(wǎng)站的Java筆試試題兩類。本文研究使用虛擬瀏覽器方式來加載數(shù)據(jù)并抽取關(guān)鍵詞:
該方法可以獲得頁面數(shù)據(jù)流DocumentStream對象,通過該對象可以讀取到頁面中的文本信息。在獲得了頁面文本信息之后,需要建立Java關(guān)鍵詞分層結(jié)構(gòu)來逐步的對文本的關(guān)鍵詞進行拆解和加權(quán)。Java關(guān)鍵詞分層結(jié)構(gòu)模板如圖1所示。
通過該算法可以在文本中抽取對應(yīng)的關(guān)鍵詞信息,獲得對應(yīng)詞的加權(quán)結(jié)果。
(二)一種基于人工智能和OBE的Java語言程序設(shè)計課程目標(biāo)和教學(xué)內(nèi)容調(diào)整方法
本文的一種基于人工智能和OBE的Java語言程序設(shè)計課程目標(biāo)和教學(xué)內(nèi)容調(diào)整方法的結(jié)構(gòu)如圖2所示。
如圖2所示該方法分為三個步驟:
1. 首先通過OBE設(shè)定Java語言程序設(shè)計課程的課程目標(biāo),對于每一個目標(biāo)抽取描述文本中的技術(shù)關(guān)鍵詞(如:類、數(shù)據(jù)流、DOM)。
2. 構(gòu)建人工智能程序,首先利用BrowserLoad算法從招聘網(wǎng)站的需求信息、Java的筆試信息中抽取文本數(shù)據(jù);然后引入Java關(guān)鍵詞的名稱層次模板使用JavaKeywordTemplateAlgorithm算法對關(guān)鍵詞進行加權(quán),出現(xiàn)次數(shù)越多權(quán)值越高。對于每一個教學(xué)目標(biāo),其權(quán)值的計算公式為:
3. 將教學(xué)目標(biāo)對應(yīng)的課時量設(shè)定為:基礎(chǔ)課時+可調(diào)整課時兩個部分,可調(diào)整課時量根據(jù)關(guān)鍵詞的權(quán)值進行計算,對于權(quán)值較低的教學(xué)目標(biāo)降低可調(diào)整課時量,對于權(quán)值較高的課程提高可調(diào)整課時量。
通過以上方法,可以根據(jù)企業(yè)對Java編程人才的需求調(diào)整Java教學(xué)過程中各個目標(biāo)的權(quán)重以及課時量,實現(xiàn)教學(xué)與實際工作、就業(yè)等目標(biāo)的對接。
(三)Java語言程序設(shè)計課程的教學(xué)目標(biāo)和教學(xué)進程的設(shè)定
針對OBE的需求,本研究對Java語言程序設(shè)計課程的教學(xué)目標(biāo)設(shè)定為4個內(nèi)容:
1. 掌握Java程序設(shè)計基礎(chǔ)知識。了解Java的虛擬機安裝、設(shè)置和運行方法,掌握Java程序的運行框架,掌握Java程序的調(diào)用、編譯、存儲和發(fā)布方式,了解Java程序的版本迭代以及應(yīng)用領(lǐng)域,掌握Java的基本語法結(jié)構(gòu)。對于該目標(biāo),其目的是培養(yǎng)學(xué)生掌握計算機系統(tǒng)及網(wǎng)絡(luò)系統(tǒng)構(gòu)成,并能夠綜合運用上述專業(yè)知識解決軟件工程及應(yīng)用領(lǐng)域的復(fù)雜工程問題。
2. 掌握基于Java的面向?qū)ο笏枷牒统绦颉U莆栈贘ava的類、接口的設(shè)計,掌握類的繼承、抽象類、內(nèi)部類、匿名類的使用方式。掌握標(biāo)準的Java模板類的構(gòu)建方式,掌握基于Java的數(shù)組、列表、字典、哈希表的構(gòu)建方式,掌握Java的字符串處理方式。對于該目標(biāo),其目的是培養(yǎng)學(xué)生掌握軟件生命周期要素,了解各種軟件開發(fā)過程管理模型。能夠適應(yīng)軟件研發(fā)企業(yè)的ISO國際質(zhì)量標(biāo)準、CMMI軟件評價標(biāo)準。
3. 掌握Java程序的結(jié)構(gòu)和運行方式。掌握Java程序的調(diào)試方式,能夠單步運行代碼并分析程序錯誤。掌握異常處理、多線程處理的程序運行和調(diào)用模式。掌握Java圖形界面程序的關(guān)鍵類結(jié)構(gòu)、繼承方式和運行方式。對于該目標(biāo),其目的是培養(yǎng)學(xué)生面向中小型軟件、或較大型軟件開發(fā)中部分模塊,具有獨立設(shè)計與開發(fā)系統(tǒng)的能力,具備資料收集、分析、設(shè)計、編碼、測試和維護的能力。
4. 實現(xiàn)Java的數(shù)據(jù)處理。能夠基于流的結(jié)構(gòu),構(gòu)建二進制、文本文件的訪問程序。能夠基于Socket套接字構(gòu)建基于TCP/IP協(xié)議的數(shù)據(jù)傳輸程序。能夠通過Java訪問數(shù)據(jù)庫,執(zhí)行相關(guān)SQL語句并獲得結(jié)果。對于該目標(biāo),其目的是培養(yǎng)學(xué)生了解現(xiàn)代軟件開發(fā)工具如開發(fā)平臺、測試平臺、配置管理軟件和項目管理軟件的使用方法。
三、方法應(yīng)用和教學(xué)改革的效果
通過本文提出的方法進行了Java語言程序設(shè)計課程改革,以當(dāng)前Java教學(xué)當(dāng)中常用的目標(biāo)為例,利用本方法獲得的各個目標(biāo)的權(quán)值列表如下:
從表中可以看出在就業(yè)和招聘過程中,數(shù)據(jù)庫、網(wǎng)絡(luò)、多線程、數(shù)據(jù)流的知識所占比例較高說明廣大企業(yè)對Java該領(lǐng)域的應(yīng)用較為重視,而Windows設(shè)計、Applet設(shè)計由于近年來較為流行B/S架構(gòu)和云計算,所以這兩個領(lǐng)域的內(nèi)容較少。對于語言基礎(chǔ)、類與對象最為基礎(chǔ)的內(nèi)容出現(xiàn)的概率仍然較高。根據(jù)這一權(quán)值結(jié)果,對Java教學(xué)的內(nèi)容進行改革。為了驗證方法的有效性,本研究引入我校2015(未采用本方法進行教學(xué)改革)和2016(采用本方法進行教學(xué)改革)軟件專業(yè)兩屆同學(xué)進行測試,引入15組當(dāng)前主流IT企業(yè)的筆試題進行筆試測試,測試結(jié)果對比如圖3所示:
如圖3所示2016屆由于采用了本研究提出的改革方法,加大了相關(guān)目標(biāo)的課時量,使得同學(xué)對一些關(guān)鍵知識的掌握有所提高,2016屆對于15套筆試題的測試結(jié)果明顯高于2015屆同學(xué),這說明利用本方法進行的教學(xué)改革可以Java教學(xué)與企業(yè)需求更加契合,提高教學(xué)水平。對于2015屆和2016屆學(xué)生的求職情況,本研究在企業(yè)軟件研發(fā)、網(wǎng)頁設(shè)計、移動設(shè)備、物聯(lián)網(wǎng)、服務(wù)器管理和軟件維護等領(lǐng)域進行了對比,采用本研究提出的教學(xué)改革之后,2016屆的同學(xué)獲得相關(guān)領(lǐng)域工作機會的的成功率明顯提高,說明本研究對于提高學(xué)生就業(yè)能力具有較好的作用。
四、結(jié)束語
Java語言程序設(shè)計課程是計算機科學(xué)與技術(shù)專業(yè)和軟件工程專業(yè)的學(xué)科基礎(chǔ)課,它是一種面向?qū)ο蟪绦蛟O(shè)計的設(shè)計語言,跨平臺,代碼質(zhì)量較高,網(wǎng)絡(luò)軟件設(shè)計功能突出。該課的開設(shè)使同學(xué)們更好地理解面向?qū)ο蟮乃枷耄浞终莆粘蘋OP的相關(guān)概念、理論及程序設(shè)計方法與技巧,養(yǎng)成良好的編程習(xí)慣,形成規(guī)范的編程風(fēng)格。當(dāng)前眾多企業(yè)均將掌握Java編程作為衡量學(xué)生編程能力、技術(shù)水平的重要;較好的掌握Java語言不但可以提高學(xué)生的就業(yè)能力,而且在學(xué)生進行自主創(chuàng)業(yè)時也可以發(fā)揮重要作用。然而,Java語言程序設(shè)計這門課程所占課時量相對比較固定,如何在有效的時間范圍內(nèi)教給學(xué)生更具價值的內(nèi)容,掌握更有用的知識是一個較大的挑戰(zhàn)。本研究提出了一種基于人工智能和OBE(outcomes-based education)的Java語言程序設(shè)計課程目標(biāo)和教學(xué)內(nèi)容調(diào)整方法,并通過本方法進行了Java語言程序設(shè)計課程改革。利用本文提出的方法,可以更加有效的設(shè)定教學(xué)目標(biāo)、調(diào)整各個目標(biāo)所占的課時量,使得教師可以充分利用有限的教學(xué)時間傳授學(xué)生與與企業(yè)需求更加契合的知識,通過實際改革和對比表明,本方法Java語言程序設(shè)計課程改革十分有效。
參考文獻:
[1]李東明,趙偉.Java語言課程實踐教學(xué)改革[J].計算機教育,2011,13:122-125.
[2]史學(xué)梅,孟祥瑞.JAVA課程教學(xué)改革探索[J].信息系統(tǒng)工程,2011,7:98-99.
[3]楊毅剛,孟斌,王偉楠.基于OBE模式的技術(shù)創(chuàng)新能力培養(yǎng)[J].高等工程教育研究,2015,6:24-30.
[4]柏晶,謝幼如,李偉,等.“互聯(lián)網(wǎng)+”時代基于OBE理念的在線開放課程資源結(jié)構(gòu)模型研究[J].中國電化教育,2017,360:64-70.
[5]劉愛琴,王友林,尚珊.基于爬蟲技術(shù)的關(guān)鍵詞關(guān)聯(lián)推薦算法優(yōu)化與實現(xiàn)[J].情報理論與實踐,2018,4:134-138.