潘欣 王鑫
摘 要:Java語言程序設(shè)計(jì)是計(jì)算機(jī)專業(yè)的核心課程之一,掌握該技術(shù)對(duì)于學(xué)生就業(yè)和自主創(chuàng)新十分重要。Java語言內(nèi)容龐大,如何在有限的課時(shí)范圍內(nèi)科學(xué)的安排各部分內(nèi)容對(duì)于廣大教學(xué)單位是一個(gè)較大的挑戰(zhàn)。針對(duì)這一問題,本研究提出了一種基于人工智能和OBE(outcomes-based education)的Java語言程序設(shè)計(jì)課程目標(biāo)和教學(xué)內(nèi)容調(diào)整方法,并通過本方法進(jìn)行了Java語言程序設(shè)計(jì)課程改革。通過對(duì)兩屆學(xué)生的學(xué)習(xí)情況對(duì)比表明,利用本方法進(jìn)行的Java語言程序設(shè)計(jì)課程改革可以有效提高學(xué)生對(duì)相關(guān)知識(shí)的掌握,并使得Java教學(xué)與企業(yè)需求更加契合。
關(guān)鍵詞:人工智能;OBE;Java;課程改革;網(wǎng)絡(luò)爬蟲
中圖分類號(hào):G642 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):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è)計(jì)是計(jì)算機(jī)專業(yè)的核心課程之一,基于Java語言可以進(jìn)行企業(yè)級(jí)軟件設(shè)計(jì)、建立Web應(yīng)用程序、訪問物聯(lián)網(wǎng)設(shè)備進(jìn)行大數(shù)據(jù)處理,所以Java編程技術(shù)對(duì)于學(xué)習(xí)就業(yè)和自主創(chuàng)新十分重要[1]。然而在大學(xué)的教學(xué)過程中,往往會(huì)遇到Java涉及的內(nèi)容十分廣泛而教學(xué)課時(shí)量相對(duì)有限,如何在有限的課時(shí)范圍內(nèi)安排科學(xué)的各部分內(nèi)容對(duì)于廣大教學(xué)單位是一個(gè)較大的挑戰(zhàn)[2]。
OBE(outcomes-based education)教學(xué)模式是在教學(xué)體系中,圍繞學(xué)生經(jīng)過教學(xué)過程應(yīng)該取得哪些關(guān)鍵成效而開展的相關(guān)教學(xué)工作[3];在教學(xué)過程中引入OBE可以強(qiáng)調(diào)教學(xué)的目標(biāo),切實(shí)提高教學(xué)質(zhì)量[4]。網(wǎng)絡(luò)爬蟲、自然語言理解、文本的數(shù)據(jù)統(tǒng)計(jì)分析等人工智能技術(shù),可以在Internet中大范圍的自動(dòng)搜索數(shù)據(jù),基于該技術(shù)可以對(duì)某一特定目標(biāo)的重要程度、關(guān)注程度加以度量[5]。針對(duì)當(dāng)前Java教學(xué)中存在的挑戰(zhàn),本研究提出了一種基于人工智能和OBE(outcomes-based education)的Java語言程序設(shè)計(jì)課程目標(biāo)和教學(xué)內(nèi)容調(diào)整方法,并通過本方法進(jìn)行了Java語言程序設(shè)計(jì)課程改革。通過對(duì)兩屆學(xué)生的學(xué)習(xí)和就業(yè)情況對(duì)比表明,利用本方法進(jìn)行的Java語言程序設(shè)計(jì)課程改革可以有效提高學(xué)生對(duì)相關(guān)知識(shí)的掌握,并使得Java教學(xué)與企業(yè)需求更加契合。
二、方法描述
(一)人工智能的網(wǎng)站信息抓取與分析
本研究以廣大用人單位在招聘過程中對(duì)Java程序員的具體要求為目標(biāo),利用人工智能程序進(jìn)行數(shù)據(jù)收集。收集的目標(biāo)包括:大型招聘網(wǎng)站的用人需求信息、招聘指導(dǎo)性網(wǎng)站的Java筆試試題兩類。本文研究使用虛擬瀏覽器方式來加載數(shù)據(jù)并抽取關(guān)鍵詞:
該方法可以獲得頁面數(shù)據(jù)流DocumentStream對(duì)象,通過該對(duì)象可以讀取到頁面中的文本信息。在獲得了頁面文本信息之后,需要建立Java關(guān)鍵詞分層結(jié)構(gòu)來逐步的對(duì)文本的關(guān)鍵詞進(jìn)行拆解和加權(quán)。Java關(guān)鍵詞分層結(jié)構(gòu)模板如圖1所示。
通過該算法可以在文本中抽取對(duì)應(yīng)的關(guān)鍵詞信息,獲得對(duì)應(yīng)詞的加權(quán)結(jié)果。
(二)一種基于人工智能和OBE的Java語言程序設(shè)計(jì)課程目標(biāo)和教學(xué)內(nèi)容調(diào)整方法
本文的一種基于人工智能和OBE的Java語言程序設(shè)計(jì)課程目標(biāo)和教學(xué)內(nèi)容調(diào)整方法的結(jié)構(gòu)如圖2所示。
如圖2所示該方法分為三個(gè)步驟:
1. 首先通過OBE設(shè)定Java語言程序設(shè)計(jì)課程的課程目標(biāo),對(duì)于每一個(gè)目標(biāo)抽取描述文本中的技術(shù)關(guān)鍵詞(如:類、數(shù)據(jù)流、DOM)。
2. 構(gòu)建人工智能程序,首先利用BrowserLoad算法從招聘網(wǎng)站的需求信息、Java的筆試信息中抽取文本數(shù)據(jù);然后引入Java關(guān)鍵詞的名稱層次模板使用JavaKeywordTemplateAlgorithm算法對(duì)關(guān)鍵詞進(jìn)行加權(quán),出現(xiàn)次數(shù)越多權(quán)值越高。對(duì)于每一個(gè)教學(xué)目標(biāo),其權(quán)值的計(jì)算公式為:
3. 將教學(xué)目標(biāo)對(duì)應(yīng)的課時(shí)量設(shè)定為:基礎(chǔ)課時(shí)+可調(diào)整課時(shí)兩個(gè)部分,可調(diào)整課時(shí)量根據(jù)關(guān)鍵詞的權(quán)值進(jìn)行計(jì)算,對(duì)于權(quán)值較低的教學(xué)目標(biāo)降低可調(diào)整課時(shí)量,對(duì)于權(quán)值較高的課程提高可調(diào)整課時(shí)量。
通過以上方法,可以根據(jù)企業(yè)對(duì)Java編程人才的需求調(diào)整Java教學(xué)過程中各個(gè)目標(biāo)的權(quán)重以及課時(shí)量,實(shí)現(xiàn)教學(xué)與實(shí)際工作、就業(yè)等目標(biāo)的對(duì)接。
(三)Java語言程序設(shè)計(jì)課程的教學(xué)目標(biāo)和教學(xué)進(jìn)程的設(shè)定
針對(duì)OBE的需求,本研究對(duì)Java語言程序設(shè)計(jì)課程的教學(xué)目標(biāo)設(shè)定為4個(gè)內(nèi)容:
1. 掌握J(rèn)ava程序設(shè)計(jì)基礎(chǔ)知識(shí)。了解Java的虛擬機(jī)安裝、設(shè)置和運(yùn)行方法,掌握J(rèn)ava程序的運(yùn)行框架,掌握J(rèn)ava程序的調(diào)用、編譯、存儲(chǔ)和發(fā)布方式,了解Java程序的版本迭代以及應(yīng)用領(lǐng)域,掌握J(rèn)ava的基本語法結(jié)構(gòu)。對(duì)于該目標(biāo),其目的是培養(yǎng)學(xué)生掌握計(jì)算機(jī)系統(tǒng)及網(wǎng)絡(luò)系統(tǒng)構(gòu)成,并能夠綜合運(yùn)用上述專業(yè)知識(shí)解決軟件工程及應(yīng)用領(lǐng)域的復(fù)雜工程問題。
2. 掌握基于Java的面向?qū)ο笏枷牒统绦?。掌握基于Java的類、接口的設(shè)計(jì),掌握類的繼承、抽象類、內(nèi)部類、匿名類的使用方式。掌握標(biāo)準(zhǔn)的Java模板類的構(gòu)建方式,掌握基于Java的數(shù)組、列表、字典、哈希表的構(gòu)建方式,掌握J(rèn)ava的字符串處理方式。對(duì)于該目標(biāo),其目的是培養(yǎng)學(xué)生掌握軟件生命周期要素,了解各種軟件開發(fā)過程管理模型。能夠適應(yīng)軟件研發(fā)企業(yè)的ISO國際質(zhì)量標(biāo)準(zhǔn)、CMMI軟件評(píng)價(jià)標(biāo)準(zhǔn)。
3. 掌握J(rèn)ava程序的結(jié)構(gòu)和運(yùn)行方式。掌握J(rèn)ava程序的調(diào)試方式,能夠單步運(yùn)行代碼并分析程序錯(cuò)誤。掌握異常處理、多線程處理的程序運(yùn)行和調(diào)用模式。掌握J(rèn)ava圖形界面程序的關(guān)鍵類結(jié)構(gòu)、繼承方式和運(yùn)行方式。對(duì)于該目標(biāo),其目的是培養(yǎng)學(xué)生面向中小型軟件、或較大型軟件開發(fā)中部分模塊,具有獨(dú)立設(shè)計(jì)與開發(fā)系統(tǒng)的能力,具備資料收集、分析、設(shè)計(jì)、編碼、測試和維護(hù)的能力。
4. 實(shí)現(xiàn)Java的數(shù)據(jù)處理。能夠基于流的結(jié)構(gòu),構(gòu)建二進(jìn)制、文本文件的訪問程序。能夠基于Socket套接字構(gòu)建基于TCP/IP協(xié)議的數(shù)據(jù)傳輸程序。能夠通過Java訪問數(shù)據(jù)庫,執(zhí)行相關(guān)SQL語句并獲得結(jié)果。對(duì)于該目標(biāo),其目的是培養(yǎng)學(xué)生了解現(xiàn)代軟件開發(fā)工具如開發(fā)平臺(tái)、測試平臺(tái)、配置管理軟件和項(xiàng)目管理軟件的使用方法。
三、方法應(yīng)用和教學(xué)改革的效果
通過本文提出的方法進(jìn)行了Java語言程序設(shè)計(jì)課程改革,以當(dāng)前Java教學(xué)當(dāng)中常用的目標(biāo)為例,利用本方法獲得的各個(gè)目標(biāo)的權(quán)值列表如下:
從表中可以看出在就業(yè)和招聘過程中,數(shù)據(jù)庫、網(wǎng)絡(luò)、多線程、數(shù)據(jù)流的知識(shí)所占比例較高說明廣大企業(yè)對(duì)Java該領(lǐng)域的應(yīng)用較為重視,而Windows設(shè)計(jì)、Applet設(shè)計(jì)由于近年來較為流行B/S架構(gòu)和云計(jì)算,所以這兩個(gè)領(lǐng)域的內(nèi)容較少。對(duì)于語言基礎(chǔ)、類與對(duì)象最為基礎(chǔ)的內(nèi)容出現(xiàn)的概率仍然較高。根據(jù)這一權(quán)值結(jié)果,對(duì)Java教學(xué)的內(nèi)容進(jìn)行改革。為了驗(yàn)證方法的有效性,本研究引入我校2015(未采用本方法進(jìn)行教學(xué)改革)和2016(采用本方法進(jìn)行教學(xué)改革)軟件專業(yè)兩屆同學(xué)進(jìn)行測試,引入15組當(dāng)前主流IT企業(yè)的筆試題進(jìn)行筆試測試,測試結(jié)果對(duì)比如圖3所示:
如圖3所示2016屆由于采用了本研究提出的改革方法,加大了相關(guān)目標(biāo)的課時(shí)量,使得同學(xué)對(duì)一些關(guān)鍵知識(shí)的掌握有所提高,2016屆對(duì)于15套筆試題的測試結(jié)果明顯高于2015屆同學(xué),這說明利用本方法進(jìn)行的教學(xué)改革可以Java教學(xué)與企業(yè)需求更加契合,提高教學(xué)水平。對(duì)于2015屆和2016屆學(xué)生的求職情況,本研究在企業(yè)軟件研發(fā)、網(wǎng)頁設(shè)計(jì)、移動(dòng)設(shè)備、物聯(lián)網(wǎng)、服務(wù)器管理和軟件維護(hù)等領(lǐng)域進(jìn)行了對(duì)比,采用本研究提出的教學(xué)改革之后,2016屆的同學(xué)獲得相關(guān)領(lǐng)域工作機(jī)會(huì)的的成功率明顯提高,說明本研究對(duì)于提高學(xué)生就業(yè)能力具有較好的作用。
四、結(jié)束語
Java語言程序設(shè)計(jì)課程是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)和軟件工程專業(yè)的學(xué)科基礎(chǔ)課,它是一種面向?qū)ο蟪绦蛟O(shè)計(jì)的設(shè)計(jì)語言,跨平臺(tái),代碼質(zhì)量較高,網(wǎng)絡(luò)軟件設(shè)計(jì)功能突出。該課的開設(shè)使同學(xué)們更好地理解面向?qū)ο蟮乃枷?,充分掌握程OOP的相關(guān)概念、理論及程序設(shè)計(jì)方法與技巧,養(yǎng)成良好的編程習(xí)慣,形成規(guī)范的編程風(fēng)格。當(dāng)前眾多企業(yè)均將掌握J(rèn)ava編程作為衡量學(xué)生編程能力、技術(shù)水平的重要;較好的掌握J(rèn)ava語言不但可以提高學(xué)生的就業(yè)能力,而且在學(xué)生進(jìn)行自主創(chuàng)業(yè)時(shí)也可以發(fā)揮重要作用。然而,Java語言程序設(shè)計(jì)這門課程所占課時(shí)量相對(duì)比較固定,如何在有效的時(shí)間范圍內(nèi)教給學(xué)生更具價(jià)值的內(nèi)容,掌握更有用的知識(shí)是一個(gè)較大的挑戰(zhàn)。本研究提出了一種基于人工智能和OBE(outcomes-based education)的Java語言程序設(shè)計(jì)課程目標(biāo)和教學(xué)內(nèi)容調(diào)整方法,并通過本方法進(jìn)行了Java語言程序設(shè)計(jì)課程改革。利用本文提出的方法,可以更加有效的設(shè)定教學(xué)目標(biāo)、調(diào)整各個(gè)目標(biāo)所占的課時(shí)量,使得教師可以充分利用有限的教學(xué)時(shí)間傳授學(xué)生與與企業(yè)需求更加契合的知識(shí),通過實(shí)際改革和對(duì)比表明,本方法Java語言程序設(shè)計(jì)課程改革十分有效。
參考文獻(xiàn):
[1]李東明,趙偉.Java語言課程實(shí)踐教學(xué)改革[J].計(jì)算機(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)+”時(shí)代基于OBE理念的在線開放課程資源結(jié)構(gòu)模型研究[J].中國電化教育,2017,360:64-70.
[5]劉愛琴,王友林,尚珊.基于爬蟲技術(shù)的關(guān)鍵詞關(guān)聯(lián)推薦算法優(yōu)化與實(shí)現(xiàn)[J].情報(bào)理論與實(shí)踐,2018,4:134-138.